/* Plataforma AXIS, fase 3: sino, usuários e perfis, Áxia, orçamento, estrutura da DRE, contratos, cobrança e lembretes.
   Usa os tokens do app-glow.css. */

/* ---------- sino ---------- */
.topo{position:sticky}
.sino{position:relative;padding:7px 9px}
.sino .n{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--roxo);color:#fff;font:600 10.5px/18px var(--m);text-align:center;box-shadow:0 0 0 2px var(--bg)}
.avisos-painel{position:absolute;right:max(24px,env(safe-area-inset-right,0px));top:58px;width:min(400px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:var(--card);border-radius:14px;box-shadow:var(--anel),var(--sombra-2);z-index:30}
.av-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--linha);position:sticky;top:0;background:var(--card)}
.av-lista{display:flex;flex-direction:column}
.av-it{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-bottom:1px solid var(--linha);text-decoration:none;color:var(--fg)}
.av-it:hover{background:var(--roxo-s)}
.av-it.novo{box-shadow:inset 3px 0 0 var(--roxo)}
.av-it.novo .av-t{font-weight:650}
.av-x{font-size:12.5px;color:var(--fg-2)}
.av-q{font:500 10.5px var(--m);color:var(--mudo)}

/* ---------- só leitura: o perfil pode ver, não gravar ---------- */
.so-leitura .cab .acoes .btn:not(.sec),.so-leitura #novo,.so-leitura .del,.so-leitura .rat,.so-leitura .ed,.so-leitura .lib,.so-leitura .ver{display:none!important}
.so-leitura table select,.so-leitura table input{pointer-events:none;opacity:.8}

/* ---------- peças comuns ---------- */
.chip{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--bg-2);color:var(--fg-2);text-decoration:none;margin:1px 0;white-space:nowrap}
a.chip:hover{background:var(--roxo-s);color:var(--roxo)}
.h3{font-size:13px;font-weight:650;margin:16px 0 8px;color:var(--fg)}
tr.inativo td{opacity:.55}
.pessoa{display:flex;gap:10px;align-items:center}
.dif{display:block;font-size:12px;line-height:1.5}
.dif s{color:var(--mudo)}
.bp{height:8px;border-radius:5px;background:var(--bg-2);overflow:hidden;margin:3px 0}
.bp i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8F47FF,#A777FF)}
.bp i.am{background:#E5B25C}.bp i.at{background:#E08A2E}.bp i.cr{background:var(--cr)}
.dias{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:4px}
.dias label{display:flex;align-items:center;gap:5px;font-size:13px}
fieldset.campo{border:0;padding:0;margin:0}
fieldset.campo legend{font-size:12px;font-weight:550;color:var(--fg-2);margin-bottom:4px}
.passos{margin:0 0 10px;padding-left:20px;display:grid;gap:6px;font-size:13.5px}
.it-arq{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--linha)}

/* ---------- usuários e perfis ---------- */
.perfis{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.perfil-card{background:var(--card);border-radius:var(--r);box-shadow:var(--anel),var(--sombra);padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.pc-t{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pc-t b{font-size:15px;margin-right:4px}
.perfil-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}
.perfil-card dt{color:var(--mudo)}
.perfil-card .acoes{margin-top:auto}
.matriz{max-height:52vh}
.matriz td.c,.matriz th.c{text-align:center;width:90px}
.matriz input[type=radio]{accent-color:var(--roxo);width:16px;height:16px;box-shadow:none}
.emp-check{border:0;padding:0;margin:8px 0 0}
.emp-check legend{font-size:12px;font-weight:550;color:var(--fg-2);margin-bottom:6px}
.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 12px;max-height:200px;overflow:auto;padding:10px;border-radius:10px;background:var(--bg)}
.emp-grid label{display:flex;gap:6px;align-items:center;font-size:13px}
.senha-box{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--roxo-s);margin:6px 0 12px}
.senha-box code{font:600 20px var(--m);letter-spacing:.06em;color:var(--fg);flex:1}

/* ---------- Áxia ---------- */
.ia-g{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;min-height:62vh}
.ia-hist{display:flex;flex-direction:column;gap:4px;background:var(--card);border-radius:var(--r);box-shadow:var(--anel);padding:12px;max-height:70vh;overflow:auto}
.ia-hist h6{font:500 10px var(--m);letter-spacing:.18em;text-transform:uppercase;color:var(--mudo);margin:2px 4px 6px}
.ia-c{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:0;background:none;padding:8px 10px;border-radius:9px;cursor:pointer;color:var(--fg);font:500 13px var(--f)}
.ia-c span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ia-c small{font:500 10.5px var(--m);color:var(--mudo)}
.ia-c:hover{background:var(--bg-2)}.ia-c.atual{background:var(--roxo-s)}
.ia-chat{display:flex;flex-direction:column;background:var(--card);border-radius:var(--r);box-shadow:var(--anel),var(--sombra);overflow:hidden;min-width:0}
.ia-msgs{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:14px;max-height:62vh;min-height:360px}
.ia-m{display:flex;gap:10px;align-items:flex-start;max-width:86%}
.ia-m.user{align-self:flex-end}
.ia-m.user .ia-b{background:linear-gradient(180deg,#8F47FF,#7A2FF2);color:#fff;border-radius:16px 16px 4px 16px}
.ia-b{background:var(--bg);border-radius:4px 16px 16px 16px;padding:11px 15px;font-size:14px;line-height:1.55;min-width:0;overflow-wrap:anywhere}
.ia-b p{margin:0 0 6px}.ia-b p:last-child{margin:0}
.ia-b ul,.ia-b ol{margin:4px 0 6px;padding-left:20px}
.ia-b.erro{background:var(--cr-s);color:var(--cr)}
.ia-av{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(140deg,#9A5BFF,#6E25E0);box-shadow:0 4px 12px rgba(132,54,254,.35)}
.ia-av svg{width:16px;height:16px;fill:#fff}
.ia-av.grande{width:54px;height:54px;border-radius:16px}.ia-av.grande svg{width:28px;height:28px}
.ia-cons{margin-top:8px;font:500 10.5px var(--m);color:var(--mudo);letter-spacing:.02em}
.ia-vazio{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:560px}
.ia-vazio b{font-size:17px}
.ia-sug{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}
.chip-b{border:0;background:var(--bg);box-shadow:var(--anel);padding:8px 13px;border-radius:999px;font:500 13px var(--f);color:var(--fg-2);cursor:pointer}
.chip-b:hover{box-shadow:0 0 0 1px var(--roxo-m);color:var(--roxo)}
.ia-form{display:flex;gap:10px;align-items:flex-end;padding:14px;border-top:1px solid var(--linha)}
.ia-form textarea{flex:1;resize:none;min-height:46px;max-height:160px}
.ia-aviso{padding:0 16px 12px;margin:0}
.ia-dots{display:inline-flex;gap:3px;margin-right:6px}
.ia-dots i{width:6px;height:6px;border-radius:50%;background:var(--roxo);animation:iaPulsa 1s infinite ease-in-out}
.ia-dots i:nth-child(2){animation-delay:.15s}.ia-dots i:nth-child(3){animation-delay:.3s}
@keyframes iaPulsa{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.ia-dots i{animation:none;opacity:.7}}
@media (max-width:900px){.ia-g{grid-template-columns:minmax(0,1fr)}.ia-hist{max-height:none;flex-direction:row;overflow-x:auto}.ia-m{max-width:100%}}

/* ---------- orçamento ---------- */
.orc-grade td.v{padding:4px 4px}
.orc-grade input.oc{width:86px;padding:5px 6px;text-align:right;font:500 12px var(--m)}
.orc-grade small{display:block;text-align:right;font:500 10px var(--m);color:var(--mudo);margin-top:2px;min-height:12px}
.orc-grade td.tot b{font:600 12.5px var(--m)}
.orc-grade td:first-child{position:sticky;left:0;background:var(--card);z-index:1;min-width:200px}

/* ---------- conquistas ---------- */
.pill.br{background:#F7E3D4;color:#8A4A1F}.pill.pr{background:#E8EBF1;color:#4F5868}.pill.ou{background:#FCEFC4;color:#7A5408}.pill.di{background:var(--roxo-s);color:var(--roxo)}
.cq-topo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.cq-nivel{display:flex;gap:18px;align-items:center;padding:20px 22px;border-radius:var(--r);color:#fff;background:radial-gradient(500px 220px at 0% 0%,rgba(167,119,255,.55),transparent 60%),linear-gradient(135deg,#1B1A4A,#0F1030);box-shadow:var(--sombra-2)}
.cq-nivel small{display:block;font:500 10px var(--m);letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.cq-nivel b{display:block;font-size:20px;letter-spacing:-.02em;margin:2px 0 8px}
.cq-nivel>div{flex:1;min-width:0}
.cq-nivel .nota{color:rgba(255,255,255,.7)}
.cq-n{flex:none;width:68px;height:68px;border-radius:20px;display:grid;place-items:center;font:700 32px var(--m);background:linear-gradient(140deg,#B48CFF,#6E25E0);box-shadow:0 10px 30px rgba(132,54,254,.55),inset 0 1px 0 rgba(255,255,255,.35)}
.bp.grande{height:10px;background:rgba(255,255,255,.15)}
.cq-resumo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;background:var(--card);border-radius:var(--r);box-shadow:var(--anel),var(--sombra);padding:16px}
.cq-resumo div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cq-resumo b{font:650 24px var(--m)}
.cq-resumo small{font-size:11.5px;color:var(--mudo)}
.cq-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.cq-card{display:flex;gap:14px;align-items:flex-start;background:var(--card);border-radius:var(--r);box-shadow:var(--anel),var(--sombra);padding:16px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.cq-card.tem::before{content:"";position:absolute;inset:0;background:radial-gradient(260px 160px at 0% 0%,var(--roxo-s),transparent 70%);pointer-events:none}
.cq-card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--roxo-m),var(--sombra-2)}
.cq-med{flex:none;perspective:600px}
.cq-med .medalha{display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cq-card:hover .medalha:not(.bloq){transform:rotateY(18deg) rotateX(-6deg) scale(1.04)}
.medalha.bloq{opacity:.75}
.medalha.diamante{animation:cqBrilho 4s ease-in-out infinite}
@keyframes cqBrilho{0%,100%{filter:drop-shadow(0 0 0 rgba(167,119,255,0))}50%{filter:drop-shadow(0 0 12px rgba(167,119,255,.55))}}
@media (prefers-reduced-motion:reduce){.medalha.diamante{animation:none}.cq-card:hover .medalha{transform:none}}
.cq-tx{flex:1;min-width:0;position:relative}
.cq-tx h3{margin:6px 0 2px;font-size:15.5px;letter-spacing:-.01em}
.cq-tx .nota{display:block}
.cq-val{margin:8px 0 2px;font-size:13px}
.cq-degraus{display:flex;gap:5px;margin-top:8px}
.cq-degraus span{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font:600 10.5px var(--m);background:var(--bg-2);color:var(--mudo)}
.cq-degraus span.ok:nth-child(1){background:#E7B48D;color:#5E2E12}.cq-degraus span.ok:nth-child(2){background:#CDD3DE;color:#3A4250}
.cq-degraus span.ok:nth-child(3){background:#F5CF5C;color:#5E3F04}.cq-degraus span.ok:nth-child(4){background:var(--roxo);color:#fff}
.cq-faixa{display:flex;justify-content:space-between;align-items:center;gap:16px;text-decoration:none;color:var(--fg);flex-wrap:wrap}
.cq-faixa small{display:block;font:500 10px var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--mudo)}
.cq-faixa b{display:block;font-size:16px;margin:2px 0}
.cq-mini{display:flex;gap:6px}
@media (max-width:900px){.cq-topo{grid-template-columns:minmax(0,1fr)}.cq-resumo{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- estrutura da DRE e documentos ---------- */
.estrutura td.desc{max-width:520px}
.termo{grid-template-columns:150px 1fr!important}
.doc{align-items:flex-start}
.doc .acoes{flex:none}
.vers{margin-top:6px;font-size:12px}
.vers summary{cursor:pointer;color:var(--roxo)}
.vers a{display:block;padding:2px 0}
