:root{--navy:#1F3A5F;--navy2:#2B4C77;--bg:#F2F5F9;--card:#fff;--line:#D9E1EA;--txt:#1d2733;--mut:#5f6b7a;
--verde:#1E8E3E;--amarelo:#F29900;--vermelho:#D93025;--azul:#1A73E8;--cinza:#80868B;
--critica:#F4CCCC;--alta:#FCE5CD;--media:#FFF2CC;--baixa:#D9EAD3;--r:10px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif}
a{color:#1A5CA8}
.hidden{display:none!important}
h1,h2,h3{color:var(--navy);margin:.2em 0 .4em}
h1{font-size:1.45rem}h2{font-size:1.15rem}h3{font-size:1rem}
.mut{color:var(--mut)}.small{font-size:.85rem}.xs{font-size:.76rem}
.btn{display:inline-flex;align-items:center;gap:.35em;border:1px solid var(--line);background:#fff;color:var(--navy);padding:.5em .9em;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{border-color:var(--navy)}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.warn{background:var(--amarelo);color:#1d1300;border-color:var(--amarelo)}
.btn.danger{background:var(--vermelho);color:#fff;border-color:var(--vermelho)}
.btn.ok{background:var(--verde);color:#fff;border-color:var(--verde)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn.small{padding:.3em .6em;font-size:.82rem}
.btn.block{width:100%;justify-content:center}
.btn:disabled{opacity:.5;cursor:not-allowed}
.icon-btn{background:none;border:0;color:#fff;font-size:1.3rem;cursor:pointer;padding:.3em;position:relative}
input,select,textarea{font:inherit;padding:.5em .6em;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--txt);width:100%}
textarea{min-height:80px;resize:vertical}
label{display:block;font-weight:600;font-size:.88rem;color:var(--navy);margin:.55em 0}
label input,label select,label textarea{margin-top:.25em;font-weight:400}
.erro{color:var(--vermelho);font-weight:600;min-height:1.2em}
/* login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1F3A5F,#13263f);padding:1rem}
.login-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);padding:2rem 1.6rem;border-radius:16px;width:100%;max-width:380px;color:#fff;backdrop-filter:blur(4px)}
.login-card label{color:#dce6f2}
.login-logo{display:block;width:260px;height:auto;max-width:75%;margin:0 auto .9rem;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.login-card h1{color:#fff;text-align:center;letter-spacing:.18em;margin:.2em 0 0}
.login-sub{text-align:center;color:#c8d4e3;margin:.2em 0 1.2em;font-size:.9rem}
.login-card .btn.primary{background:#fff;color:var(--navy);margin-top:.8em}
.login-card .erro{color:#ffb4ab}
.login-dest{color:#c8d4e3;font-size:.8rem;text-align:center}
/* topo */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.6rem;background:var(--navy);color:#fff;padding:.45rem .9rem;padding-top:max(.45rem,env(safe-area-inset-top));box-shadow:0 2px 6px rgba(0,0,0,.15)}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.14em}
.brand img{height:38px;width:38px}
.brand span{display:flex;flex-direction:column;line-height:1.05}
.brand small{font-size:.6rem;font-weight:700;letter-spacing:.2em;color:#C9A227;margin-top:.15em}
.brand .brand-m{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.spacer{flex:1}
.badge{position:absolute;top:-2px;right:-4px;background:var(--vermelho);color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;padding:1px 6px;min-width:18px;text-align:center}
.badge.pulse{animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,48,37,.7)}70%{box-shadow:0 0 0 8px rgba(217,48,37,0)}100%{box-shadow:0 0 0 0 rgba(217,48,37,0)}}
.user-chip{font-size:.82rem;text-align:right;line-height:1.15;cursor:pointer}
.user-chip b{display:block}
.layout{display:flex;min-height:calc(100vh - 56px)}
.nav{width:230px;flex:none;background:#fff;border-right:1px solid var(--line);padding:.7rem .5rem;position:sticky;top:56px;height:calc(100vh - 56px);overflow:auto}
.nav a{display:flex;align-items:center;gap:.55em;padding:.55em .7em;border-radius:8px;color:var(--txt);text-decoration:none;font-weight:500}
.nav a:hover{background:#EEF2F7}
.nav a.ativo{background:var(--navy);color:#fff}
.nav .sec{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin:.9em .7em .2em}
.nav .cnt{margin-left:auto;background:var(--amarelo);color:#1d1300;border-radius:999px;font-size:.72rem;padding:0 .5em;font-weight:700}
.view{flex:1;min-width:0;padding:1.1rem 1.3rem 4rem;outline:none}
.only-mobile{display:none}
@media (max-width:860px){
  .only-mobile{display:inline-block}
  .nav{position:fixed;left:0;top:52px;bottom:0;z-index:40;transform:translateX(-105%);transition:transform .2s;box-shadow:4px 0 16px rgba(0,0,0,.2);height:auto}
  .nav.aberto{transform:none}
  .view{padding:.8rem .7rem 4rem}
  .brand span{display:none}
  .brand .brand-d{display:none}.brand .brand-m{display:block}
  .user-chip span{display:none}
}
/* cartões */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin-bottom:.9rem}
.grid{display:grid;gap:.8rem}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.g2{grid-template-columns:1fr}}
.kpi{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:var(--r);padding:.75rem .9rem}
.kpi .v{font-size:1.7rem;font-weight:800;color:var(--navy)}
.kpi .l{font-size:.82rem;color:var(--mut)}
.kpi.amarelo{border-left-color:var(--amarelo)}.kpi.amarelo .v{color:#b86e00}
.kpi.vermelho{border-left-color:var(--vermelho)}.kpi.vermelho .v{color:var(--vermelho)}
.kpi.verde{border-left-color:var(--verde)}.kpi.verde .v{color:var(--verde)}
.kpi.azul{border-left-color:var(--azul)}.kpi.azul .v{color:var(--azul)}
/* símbolos de status: forma + cor */
.sym{display:inline-flex;vertical-align:middle;position:relative;cursor:help;flex:none}
.sym svg{display:block}
.sym[data-tip]:hover::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);background:#1d2733;color:#fff;font-size:.78rem;font-weight:500;line-height:1.3;padding:.45em .6em;border-radius:6px;width:max-content;max-width:280px;white-space:normal;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.82rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.5rem .8rem;margin-bottom:.9rem}
.legend span.it{display:inline-flex;align-items:center;gap:.35em}
.st{display:inline-flex;align-items:center;gap:.35em;font-weight:600;font-size:.85rem;white-space:nowrap}
.st.verde{color:var(--verde)}.st.amarelo{color:#a35f00}.st.vermelho{color:var(--vermelho)}.st.azul{color:var(--azul)}.st.cinza{color:#5f6368}.st.cancelada{color:#5f6368;text-decoration:line-through}.acao-item.cancelada{opacity:.7}.banner.cancelada{background:#f1f3f4;border:1px solid #9aa0a6}
/* lista de ações */
.acao-item{display:flex;gap:.75rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:6px solid var(--cinza);border-radius:var(--r);padding:.75rem .9rem;margin-bottom:.6rem;text-decoration:none;color:inherit}
.acao-item:hover{box-shadow:0 2px 10px rgba(31,58,95,.12)}
.acao-item.verde{border-left-color:var(--verde)}.acao-item.amarelo{border-left-color:var(--amarelo);background:#FFFBF2}.acao-item.vermelho{border-left-color:var(--vermelho)}.acao-item.azul{border-left-color:var(--azul)}
.acao-item.atrasada{box-shadow:inset 0 0 0 2px rgba(217,48,37,.35)}
.acao-item .corpo{flex:1;min-width:0}
.acao-item .tit{font-weight:700;color:var(--navy)}
.acao-item .meta{display:flex;flex-wrap:wrap;gap:.35rem .6rem;font-size:.8rem;color:var(--mut);margin-top:.3rem;align-items:center}
.acao-item .motivo{font-size:.85rem;margin-top:.3rem}
.chip{display:inline-block;border-radius:999px;padding:.08em .6em;font-size:.76rem;font-weight:700;background:#EEF2F7;color:var(--navy);white-space:nowrap}
.chip.crítica,.chip.Crítica{background:var(--critica);color:#7a1d16}.chip.alta,.chip.Alta{background:var(--alta);color:#7a3d00}
.chip.média,.chip.Média{background:var(--media);color:#6b5300}.chip.baixa,.chip.Baixa{background:var(--baixa);color:#21562b}.chip.prevenção{background:#E3ECF7}
.count{font-weight:700;border-radius:6px;padding:.1em .5em;font-size:.8rem;white-space:nowrap}
.count.ok{background:#E6F4EA;color:var(--verde)}.count.hoje{background:#FEF7E0;color:#a35f00}.count.atraso{background:#FCE8E6;color:var(--vermelho)}.count.neutro{background:#EEF2F7;color:var(--mut)}
.progress{height:8px;background:#E8EDF3;border-radius:999px;overflow:hidden;min-width:60px}
.progress>i{display:block;height:100%;background:var(--navy)}
.progress.verde>i{background:var(--verde)}
table.t{width:100%;border-collapse:collapse;background:#fff;font-size:.86rem}
table.t th{background:var(--navy);color:#fff;text-align:left;padding:.45em .55em;font-weight:600;position:sticky;top:0}
table.t td{border-bottom:1px solid var(--line);padding:.45em .55em;vertical-align:top}
table.t tr.atrasada td{background:#FDF0EF}
.tbl-wrap{position:relative;overflow:auto;border:1px solid var(--line);border-radius:var(--r)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}
.filters select,.filters input{width:auto;min-width:150px}
.etapa-h{display:flex;align-items:center;gap:.8rem;margin:1.1rem 0 .5rem}
.etapa-h h2{margin:0;font-size:1.02rem}
.etapa-h .progress{flex:1;max-width:240px}
/* detalhe */
.det-head{display:flex;gap:.8rem;align-items:flex-start}
.det-head h1{margin:0}
.banner{border-radius:var(--r);padding:.8rem 1rem;margin-bottom:.9rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.banner.amarelo{background:#FEF7E0;border:1px solid #F9D67A}
.banner.vermelho{background:#FCE8E6;border:1px solid #F3B0AA}
.banner.verde{background:#E6F4EA;border:1px solid #A8D5B5}
.banner .txt{flex:1;min-width:200px}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.cmp>div{padding:.7rem .9rem}
.cmp .prev{background:#F6F8FB;border-right:1px solid var(--line)}
.cmp h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
.cmp dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem;font-size:.88rem}
.cmp dt{color:var(--mut)}.cmp dd{margin:0;font-weight:600}
.cmp .dif{color:#a35f00}
@media (max-width:700px){.cmp{grid-template-columns:1fr}.cmp .prev{border-right:0;border-bottom:1px solid var(--line)}}
.doc-box{background:#EAF1FB;border:1px solid #7FA3CC;border-radius:var(--r);padding:.8rem 1rem;margin:.6rem 0}
.doc-box h3{margin-top:.2em}
.doc-box ul,.doc-box ol,.card ol,.card ul{padding-left:1.3em;margin:.3em 0}
.doc-box li,.card li{margin:.25em 0}
.doc-ref{font-size:.8rem;color:var(--mut);border-left:3px solid var(--navy);padding-left:.6em;margin:.4em 0}
.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line);margin-left:.4rem}
.timeline li{position:relative;padding:.1rem 0 .8rem 1rem}
.timeline li::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--navy);border:2px solid #fff}
.timeline li.Concluída::before{background:var(--verde)}.timeline li.entrave::before{background:var(--vermelho)}.timeline li.escalonamento::before{background:var(--amarelo)}
.timeline .q{font-size:.8rem;color:var(--mut)}
.timeline .c{background:#F6F8FB;border-radius:8px;padding:.4rem .6rem;margin-top:.25rem;white-space:pre-wrap}
.entrave-box{background:#FCE8E6;border:1px solid #F3B0AA;border-radius:8px;padding:.6rem .8rem;margin:.5rem 0}
/* notificações */
.notif-panel{position:fixed;right:.6rem;top:58px;width:min(420px,calc(100vw - 1.2rem));max-height:75vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:60}
.notif-panel .hd{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.notif{display:block;padding:.6rem .8rem;border-bottom:1px solid #eef1f5;text-decoration:none;color:inherit}
.notif.nova{background:#F1F6FD}
.notif.urg.nova{background:#FFF4E5;border-left:4px solid var(--amarelo)}
.notif b{display:block;font-size:.88rem;color:var(--navy)}
.notif span{font-size:.82rem}
.notif small{display:block;color:var(--mut);font-size:.74rem;margin-top:.15rem}
/* cadeia */
.chain{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.chain .nivel{width:min(640px,100%);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.7rem .9rem}
.chain .nivel.travado{border-color:var(--vermelho);box-shadow:0 0 0 2px rgba(217,48,37,.15)}
.chain .nivel.pend{border-color:var(--amarelo)}
.chain .seta{color:var(--mut);font-size:1.2rem;line-height:1}
.chain .row2{display:flex;gap:.6rem;width:min(640px,100%)}
.chain .row2 .nivel{flex:1}
.chain .cnts{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0}
.chain .cnts .c{display:inline-flex;align-items:center;gap:.3em;font-weight:700}
.chain details{font-size:.84rem}
@media (max-width:700px){.chain .row2{flex-direction:column}}
.charts canvas{max-height:300px}
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);background:#1d2733;color:#fff;padding:.7rem 1rem;border-radius:10px;z-index:90;max-width:min(560px,92vw);box-shadow:0 6px 20px rgba(0,0,0,.3);font-size:.9rem}
.toast.erro{background:var(--vermelho)}
.pre{white-space:pre-wrap}
.wa{color:#128C7E;font-weight:700}
/* relatório imprimível */
.report{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;max-width:1050px}
.rep-head{display:flex;gap:1rem;align-items:center;border-bottom:2px solid var(--navy);padding-bottom:.6rem;margin-bottom:.8rem}
.rep-head img{height:64px;width:auto;flex:none}
.rep-head .t1{font-weight:800;color:var(--navy);letter-spacing:.04em}
.rep-head .t2{font-size:.78rem;color:var(--mut)}
.report table.t{font-size:.8rem}
.report h2{margin-top:1rem}
.report .charts{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff;font-size:11px}
  .no-print,.topbar,.nav,.notif-panel,.toast,.legend-actions{display:none!important}
  .layout,.view{display:block;padding:0;margin:0}
  .report{border:0;padding:0;max-width:none}
  .card,.kpi,.acao-item{break-inside:avoid;box-shadow:none}
  table.t th{background:var(--navy)!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  table.t tr{break-inside:avoid}
  a{color:#000;text-decoration:none}
  .report .charts{grid-template-columns:1fr 1fr}
  .report .charts>div{min-width:0;overflow:hidden}
  .report canvas{width:100%!important;height:auto!important;max-height:none!important}
  .g4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .kpi{padding:.4rem .6rem}.kpi .v{font-size:1.2rem}
}
.doc-box,.card,.cmp dd,.timeline .c,table.t td{overflow-wrap:anywhere}

/* ajuda: dicas "?" e tutorial */
.hint{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;padding:0;margin:0 .3em;border-radius:50%;border:1.5px solid #7FA3CC;background:#EAF1FB;color:var(--navy);font:700 12px/1 system-ui,sans-serif;cursor:help;vertical-align:middle;position:relative}
.hint::after{content:"";position:absolute;inset:-8px}
.hint:hover,.hint[aria-expanded=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.hint:focus-visible{outline:3px solid #F29900;outline-offset:2px}
.topbar .hint,.login .hint{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.topbar .hint:hover,.topbar .hint[aria-expanded=true],.login .hint:hover,.login .hint[aria-expanded=true]{background:#fff;color:var(--navy)}
.sem-dicas .hint{display:none!important}
.dica-tip{position:fixed;z-index:100;background:#13263F;color:#fff;font-size:.84rem;line-height:1.35;padding:.55rem .7rem;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.3);pointer-events:auto}
.dica-tip b{color:#FFD27A}
.nav-it{display:flex;align-items:center}
.nav-it>a{flex:1;min-width:0}
.nav-it .hint{width:18px;height:18px;font-size:11px;opacity:.75}
.nav-it .hint:hover,.nav-it .hint:focus-visible{opacity:1}
.como-usar{background:#F3F7FC;border:1px solid #C9D8EA;border-radius:var(--r);margin:.2rem 0 .9rem;padding:.1rem .9rem}
.como-usar summary{cursor:pointer;font-weight:700;color:var(--navy);padding:.5rem 0;display:flex;align-items:center;gap:.2rem}
.como-usar[open] summary{border-bottom:1px solid #C9D8EA;margin-bottom:.4rem}
.como-usar ol{margin:.3rem 0 .4rem 1.1rem;padding:0}
.hint-demo{display:inline-flex;width:16px;height:16px;border-radius:50%;border:1.5px solid #7FA3CC;background:#EAF1FB;color:var(--navy);font:700 10px/1 system-ui;align-items:center;justify-content:center}
.aj-indice{line-height:1.9}
.aj-botoes{display:grid;grid-template-columns:minmax(140px,30%) 1fr;gap:.25rem .9rem;margin:.3rem 0}
.aj-botoes dt{font-weight:700}
.aj-botoes dd{margin:0}
@media (max-width:600px){.aj-botoes{grid-template-columns:1fr}.aj-botoes dd{margin-bottom:.4rem}}
@media print{.hint,.como-usar,.dica-tip{display:none!important}}
@media (max-width:860px){.topbar .hint{width:16px;height:16px;font-size:10px;margin:0 .05em}.topbar{gap:.35rem}}
.chip.master{background:#1F3A5F;color:#FFD27A;font-weight:700;letter-spacing:.04em}

/* ===== Avatares, Documentos, Assinaturas, Organograma ===== */
.avatar{border-radius:50%;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;background:#DCE6F2;color:var(--navy);font-weight:700;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.user-chip{display:flex;align-items:center;gap:.45rem}.user-chip .uc-t{display:block}
.u-cel{display:flex;gap:.55rem;align-items:center}
.nivel{display:inline-block;padding:.1em .5em;border-radius:6px;font-size:.78rem;font-weight:600;background:#EEF2F7;color:#38475a;white-space:nowrap}
.nivel.n0{background:#F1F1F1;color:#888}.nivel.n1{background:#E8F0FE;color:#1A56B8}.nivel.n2{background:#E3F2FD;color:#0D5A9E}.nivel.n3{background:#FFF4D6;color:#7A5300}.nivel.n4{background:#FCE8E6;color:#A3271D}.nivel.n5{background:#1F3A5F;color:#FFD27A}
.matriz td,.matriz th{text-align:center}.matriz td:first-child,.matriz th:first-child{text-align:left}
.chip.gov{background:#E6F4EA;color:#14692F}.chip.ass{background:#E8F0FE;color:#1A3E9E}.chip.amarelo-chip{background:#FFF4D6;color:#7A5300}
.acoes-doc{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.acoes-doc label{margin:0}
.btn-off{position:relative;display:inline-flex;cursor:help}.btn-off .btn[disabled]{opacity:.5;pointer-events:none}.btn-off .por-que{position:absolute;top:-.45em;right:-.35em;font-size:.72rem}
.btn-off:focus-visible{outline:3px solid #1A73E8;outline-offset:2px;border-radius:8px}
label.btn{margin:0;font-size:inherit}label.btn:focus-within,label.btn:focus-visible{outline:3px solid #1A73E8;outline-offset:2px}
dialog.modal{border:0;border-radius:14px;padding:1.2rem 1.3rem;width:calc(100% - 1.5rem);box-shadow:0 12px 40px rgba(0,0,0,.3);max-height:90vh;overflow:auto}
dialog.modal::backdrop{background:rgba(15,25,40,.55)}
dialog.modal .fechar{position:absolute;top:.5rem;right:.6rem;border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--mut);min-width:44px;min-height:44px}
.passos{padding-left:1.2rem}.passos li{margin:.35rem 0}
.prev-ass{display:flex;gap:1rem;align-items:center;border:1px dashed var(--line);border-radius:10px;padding:.6rem}.prev-ass img{max-height:70px;max-width:220px}
.cod{font-family:ui-monospace,monospace;font-size:1.2rem;letter-spacing:.05em}
.lista-ass{padding-left:1rem}.lista-ass li{margin:.4rem 0}
label.chk{display:flex;gap:.5rem;align-items:center;font-weight:400}label.chk input{width:auto}
.pad-wrap{position:relative;border:1.5px solid var(--line);border-radius:12px;background:#fff;margin:.6rem 0;background-image:linear-gradient(#fff,#fff)}
#padAss{display:block;width:100%;height:190px;touch-action:none;cursor:crosshair;border-radius:12px}
.pad-linha{position:absolute;left:6%;right:6%;bottom:42px;border-top:1px solid #9AA7B6;font-size:.72rem;color:#9AA7B6;padding-top:2px;pointer-events:none}
@media (max-width:600px){#padAss{height:220px}}
.ass-atual{max-height:80px;max-width:100%;border:1px dashed var(--line);border-radius:8px;padding:.3rem;background:#fff}
.crop-wrap{display:flex;justify-content:center}#cropC{width:min(320px,80vw);height:min(320px,80vw);border-radius:8px;background:#111;touch-action:none;cursor:grab}
.sit-head{display:flex;gap:1rem;align-items:center;margin-bottom:.6rem}.sit{list-style:none;padding:0}.sit li{padding:.4rem 0;border-bottom:1px solid #EEF2F7}.sit a{text-decoration:none;color:inherit;display:inline-flex;gap:.35rem;align-items:center}
/* Organograma: árvore horizontal no computador, vertical no celular */
.org{overflow-x:auto;padding:.5rem 0 1rem}
.org ul{display:flex;justify-content:center;padding-top:22px;position:relative;margin:0;padding-left:0;list-style:none}
.org li{position:relative;padding:22px .4rem 0;display:flex;flex-direction:column;align-items:center}
.org li::before,.org li::after{content:'';position:absolute;top:0;right:50%;width:50%;height:22px;border-top:2px solid #9AB0C8}
.org li::after{right:auto;left:50%;border-left:2px solid #9AB0C8}
.org li:only-child::before,.org li:only-child::after{display:none}.org li:only-child{padding-top:0}
.org li:first-child::before,.org li:last-child::after{border:0 none}
.org li:last-child::before{border-right:2px solid #9AB0C8;border-radius:0 6px 0 0}.org li:first-child::after{border-radius:6px 0 0 0}
.org ul ul::before{content:'';position:absolute;top:0;left:50%;height:22px;border-left:2px solid #9AB0C8}
.org > ul{padding-top:0}.org > ul > li{padding-top:0}.org > ul > li::before,.org > ul > li::after{display:none}
.pessoa{display:flex;gap:.55rem;align-items:center;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.5rem .65rem;min-width:200px;max-width:240px;cursor:pointer;font:inherit;color:inherit;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.pessoa:hover,.pessoa:focus-visible{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(26,115,232,.25)}
.pessoa.tem-amarelo{border-color:#F29900}
.pessoa .pn{display:flex;flex-direction:column;gap:.1rem;min-width:0}.pessoa .pn b{font-size:.88rem;line-height:1.15}.pessoa .pn .xs{line-height:1.2}
.conts{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.15rem}.mini{display:inline-flex;align-items:center;gap:.15rem;font-size:.75rem;font-weight:700}
.socios{border:2px solid var(--navy);border-radius:14px;padding:.4rem .6rem .6rem;background:#F5F8FC}
.socios-tit{text-align:center;font-weight:800;color:var(--navy);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;margin-bottom:.4rem}
.socios-row{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.org-print-head{display:none}
@media (max-width:760px){
 .org ul{display:block;padding-top:0;padding-left:1.1rem;border-left:2px solid #9AB0C8;margin-left:.6rem}
 .org > ul{border-left:0;padding-left:0;margin-left:0}
 .org li{display:block;padding:.45rem 0 0 .2rem}.org li::before{display:block;top:1.6rem;left:-1.1rem;right:auto;width:1rem;height:0;border:0;border-top:2px solid #9AB0C8;border-radius:0}.org li::after,.org ul ul::before{display:none}
 .org > ul > li::before{display:none}
 .pessoa{max-width:none;width:100%}.socios-row{flex-direction:column}
}
@media print{
 .org-print-head{display:flex!important;gap:1rem;align-items:center;border-bottom:2px solid #1F3A5F;padding-bottom:.4rem;margin-bottom:.6rem}
 .org{overflow:visible}.pessoa{box-shadow:none;min-width:150px;max-width:180px;padding:.35rem;break-inside:avoid}.pessoa .avatar{width:38px!important;height:38px!important}
 dialog{display:none!important}
}

/* Primeiro acesso / Criar minha senha */
.login-tabs{display:flex;gap:.3rem;background:rgba(255,255,255,.08);border-radius:10px;padding:.25rem;margin-bottom:.8rem}
.login-tabs button{flex:1;border:0;background:transparent;color:#dce6f2;font:inherit;font-weight:700;padding:.55rem;border-radius:8px;cursor:pointer;min-height:44px}
.login-tabs button[aria-selected=true]{background:#fff;color:var(--navy)}
.login-tabs button:focus-visible{outline:3px solid #FFD27A;outline-offset:1px}
.primeiro-info{background:rgba(255,210,122,.12);border:1px solid rgba(255,210,122,.45);border-radius:10px;padding:.7rem .8rem;font-size:.88rem;color:#f2f5f9;margin-bottom:.4rem}
.primeiro-info ol{margin:.4rem 0 .3rem;padding-left:1.1rem}.primeiro-info li{margin:.15rem 0}
.login-link{text-align:center;margin:.6rem 0 0;font-size:.86rem}.login-link a{color:#FFD27A}
.login-card.largo{max-width:440px}
.forca{height:10px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden;margin:.35rem 0 .2rem}.forca i{display:block;height:100%;width:0;transition:width .2s,background .2s}
.forca-txt{font-size:.82rem;color:#dce6f2;min-height:1.2em}
.regras{list-style:none;padding:0;margin:.5rem 0;font-size:.86rem;color:#dce6f2}.regras li{margin:.2rem 0}.regras li.ok{color:#9BE7A9}.regras li.ok::before{content:"✔ "}.regras li:not(.ok)::before{content:"○ "}
.mostrar-senha{display:flex;gap:.4rem;align-items:center;font-weight:400;font-size:.85rem}.mostrar-senha input{width:auto}
.chip.aguardando{background:#FFF4D6;color:#7A5300;font-weight:700}.chip.expirada{background:#FCE8E6;color:#A3271D;font-weight:700}
.convite{white-space:pre-wrap;background:#F5F8FC;border:1px solid var(--line);border-radius:10px;padding:.7rem;font-size:.9rem}

.campo-cargo{display:flex;gap:.4rem;align-items:flex-end}.campo-cargo label{flex:1}.campo-cargo .btn{white-space:nowrap;margin-bottom:.1rem}

.campo-cargo{display:flex;flex-direction:column;gap:.25rem}.campo-cargo .lbl{font-weight:600;font-size:.9rem}
.sel-cargo{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;text-align:left;min-height:44px;background:#fff;border:1px solid var(--line);font-weight:500}
.cg-lista{max-height:40vh;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:.5rem 0;padding:.25rem}
.cg-item{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .6rem;border-radius:8px;cursor:pointer;font-weight:400}
.cg-item:hover{background:#F5F8FC}.cg-item.on{background:#E8F0FB;outline:2px solid var(--navy)}.cg-item input{width:auto;margin-top:.25rem}
.cg-novo{border:1px dashed var(--line);border-radius:10px;padding:.5rem .7rem;margin-top:.5rem}.cg-novo summary{cursor:pointer;font-weight:700;color:var(--navy)}
tr.inativo td{color:#888}
/* Assinatura pela foto do papel */
.ass-foto{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--line)}
.ass-foto h4{margin:.2rem 0 .3rem;color:#1F3A5F}
.dica-foto{background:#FFF8E1;border:1px solid #F1D58A;border-radius:8px;padding:.45rem .6rem;margin:.5rem 0}
.ass-prev{min-height:120px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:12px;padding:.6rem;margin:.6rem 0;
  background-color:#fff;background-image:linear-gradient(45deg,#E9EDF2 25%,transparent 25%),linear-gradient(-45deg,#E9EDF2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#E9EDF2 75%),linear-gradient(-45deg,transparent 75%,#E9EDF2 75%);
  background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
.ass-prev img{max-width:100%;max-height:220px;height:auto}
.af-lim{display:block;margin:.4rem 0}.af-lim input{width:100%;min-height:32px}
/* Tarefas: impedimento, linha do tempo, conversa */
.imp-box{border:2px solid var(--vermelho,#D93025);background:#FDECEA;border-radius:12px;padding:.8rem 1rem;margin:.6rem 0;box-shadow:0 0 0 4px rgba(217,48,37,.12)}
.imp-tit{font-weight:800;color:#B3261E;font-size:1.15rem;letter-spacing:.02em;margin-bottom:.4rem}
.imp-dl{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:.25rem .8rem;margin:.3rem 0 .6rem}
.imp-dl dt{font-weight:700;color:#5b1a14}.imp-dl dd{margin:0}.imp-dl dd.venc{color:#B3261E;font-weight:700}
@media (max-width:560px){.imp-dl{grid-template-columns:1fr}.imp-dl dd{margin-bottom:.35rem}}
.chip.ok{background:#E6F4EA;color:#1E8E3E}
.chip-imp{background:#B3261E;color:#fff;font-weight:700}.chip-venc{background:#FCE8E6;color:#B3261E;font-weight:700}.chip-vencendo{background:#FEF7E0;color:#7a4b00;font-weight:700}
.acao-item.impedida{border-left:6px solid #B3261E;background:#FFF5F4}
.acoes-tarefa{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 .8rem}
.btn.danger{background:#B3261E;color:#fff;border-color:#B3261E}.btn.danger:hover{background:#8C1D18}
.btn.wa{background:#1E8E3E;color:#fff;border-color:#1E8E3E}
.tl-status{list-style:none;padding:0;margin:0}.tl-status li{border-left:3px solid var(--line);padding:.2rem 0 .55rem .7rem;margin-left:.3rem}
.tl-status .c{background:#F6F8FA;border-radius:6px;padding:.25rem .45rem;margin-top:.2rem}
.cv-lista{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:.5rem;background:#FAFBFC;display:flex;flex-direction:column;gap:.4rem}
.cv-msg{background:#fff;border:1px solid #E3E8EE;border-radius:10px;padding:.4rem .6rem;max-width:88%}
.cv-msg.minha{align-self:flex-end;background:#E8F0FE;border-color:#C6D7F7}.cv-msg.me-mencionou{border-color:#F1D58A;box-shadow:0 0 0 2px #FFF1C2}
.cv-t{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere}mark.mencao{background:#FFF1C2;color:#1F3A5F;border-radius:4px;padding:0 .15rem;font-weight:700}
.cv-form{position:relative;display:flex;gap:.5rem;align-items:flex-end;margin-top:.5rem}.cv-form textarea{flex:1;min-height:2.6rem}
.cv-sug{position:absolute;bottom:100%;left:0;right:5rem;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:5;display:flex;flex-direction:column;max-height:220px;overflow:auto}
.cv-sug button{border:0;background:none;text-align:left;padding:.5rem .7rem;font:inherit;cursor:pointer;min-height:40px}.cv-sug button:hover,.cv-sug button:focus{background:#F2F5F9}
.atalhos{display:flex;gap:.5rem;flex-wrap:wrap;margin:.2rem 0 .8rem}
.atalho{display:inline-flex;gap:.35rem;align-items:center;padding:.45rem .8rem;border-radius:999px;text-decoration:none;font-weight:600;min-height:40px}
.atalho.imp{background:#FDECEA;color:#B3261E;border:1px solid #F3B0AA}.atalho.venc{background:#FEF7E0;color:#7a4b00;border:1px solid #F1D58A}
a.kpi-link{text-decoration:none;color:inherit}
.span2{grid-column:1/-1}
@media (max-width:560px){.cv-form{flex-direction:column;align-items:stretch}.cv-form textarea{width:100%}.cv-sug{right:0}.cv-msg{max-width:96%}}

/* ---------- Projetos ---------- */
.pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .9rem; align-items: stretch; }
.pj-card { display: flex; flex-direction: column; gap: .35rem; margin: 0; }
.pj-card h2 { font-size: 1.05rem; margin: 0; }
.pj-card h2 a { color: inherit; text-decoration: none; }
.pj-programa { border-left: 4px solid var(--azul, #1A73E8); }
.pj-top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; }
.pj-top h1 { margin: 0; }
.pj-desc { margin: 0; color: #444; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pj-prog { display: flex; align-items: center; gap: .5rem; }
.pj-prog .progress { flex: 1; }
.pj-st { font-size: .75rem; font-weight: 700; padding: .15rem .55rem; border-radius: 999px; background: #eef1f4; color: #3c4043; white-space: nowrap; }
.pj-st.azul { background: #E8F0FE; color: #174ea6; } .pj-st.verde { background: #E6F4EA; color: #137333; }
.pj-st.amarelo { background: #FEF7E0; color: #7a4b00; } .pj-st.vermelho { background: #FCE8E6; color: #a50e0e; }
.pj-resp { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.chip.pj-r.cargo { background: #F3E8FD; color: #5b2a86; }
.pj-bts { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; padding-top: .3rem; }
.pj-sel fieldset { border: 1px solid #dadce0; border-radius: 8px; margin: .5rem 0; padding: .3rem .6rem; max-height: 220px; overflow: auto; }
.pj-sel legend { font-weight: 700; font-size: .85rem; padding: 0 .3rem; }
.pj-op { display: flex !important; align-items: center; gap: .5rem; font-weight: 400 !important; padding: .35rem 0; min-height: 40px; }
.pj-op input { width: auto !important; margin: 0; }
.pj-op.hidden { display: none !important; }
@media (max-width: 600px) { .pj-grid { grid-template-columns: 1fr; } .pj-bts .btn { flex: 1 1 auto; text-align: center; } }
/* ---------- Sub-ações, subprojetos e corresponsáveis ---------- */
.banner.azul { background: #E8F0FE; border: 1px solid #AECBFA; }
.sub-caminho { background: #F1F3F4; border-radius: 8px; padding: .45rem .7rem; margin: 0 0 .6rem; line-height: 1.6; overflow-wrap: anywhere; }
.sub-leitura, #caminhoBox .banner { margin-bottom: .6rem; }
.sub-grid { margin-top: .9rem; }
.sub-arv, .sub-arv ul { list-style: none; margin: 0; padding: 0; }
.sub-arv ul { padding-left: 1.1rem; border-left: 2px solid #DADCE0; margin-left: .55rem; }
.sub-arv li { margin: .3rem 0; }
.sub-it { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .45rem; padding: .45rem .55rem; border-radius: 8px; background: #fff; border: 1px solid #E0E3E7; text-decoration: none; color: inherit; min-height: 44px; }
.sub-it:hover, .sub-it:focus-visible { background: #F8F9FA; }
.sub-tit { flex: 1 1 12rem; }
.sub-meta { flex: 1 1 100%; color: #5F6368; }
.sub-corr { list-style: none; padding: 0; margin: .3rem 0; }
.sub-corr li { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; padding: .35rem 0; border-bottom: 1px solid #EEE; }
.sub-chip { background: #E8F0FE; color: #174EA6; }
.aviso-prazo { background: #FEF7E0; color: #7a4b00; }
.aviso-txt { color: #9a5b00; }
.acao-item.sub-item { border-left-style: dashed; margin-left: min(calc(var(--nivel, 1) * 1.1rem), 4.4rem); }
.acao-item.so-leitura { opacity: .85; }
.pj-card.pj-sub { border-left: 4px solid #AECBFA; margin-left: min(calc(var(--nivel, 1) * 1.2rem), 4.8rem); }
.pj-pai { margin: 0; }
.pj-arv li > a { font-weight: 600; }
@media (max-width: 600px) {
  .sub-arv ul { padding-left: .6rem; margin-left: .3rem; }
  .acao-item.sub-item { margin-left: min(calc(var(--nivel, 1) * .55rem), 2.2rem); }
  .pj-card.pj-sub { margin-left: min(calc(var(--nivel, 1) * .55rem), 2.2rem); }
  .sub-corr .btn { margin-left: auto; }
}
/* ---------- Módulo Manutenção ---------- */
.mn-st { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-weight: 700; font-size: .85rem; white-space: nowrap; }
.mn-st.lib { background: #E6F4EA; color: #137333; } .mn-st.bloq { background: #FCE8E6; color: #B3261E; }
.mn-card.bloq { border-left: 6px solid #D93025; }
.mn-mot { margin: .2rem 0; padding-left: 1.1rem; color: #8C1D18; }
.mn-dl { display: grid; grid-template-columns: minmax(8rem, 40%) 1fr; gap: .25rem .6rem; margin: 0; } .mn-dl dt { color: #5F6368; } .mn-dl dd { margin: 0; overflow-wrap: anywhere; }
.mn-lista { list-style: none; padding: 0; margin: .3rem 0; } .mn-lista li { padding: .45rem 0; border-bottom: 1px solid #EEE; } .mn-lista li.fechada { opacity: .7; }
.mn-chk { display: flex; align-items: center; gap: .4rem; }
@media (max-width: 600px) { .mn-dl { grid-template-columns: 1fr; } .mn-dl dt { font-size: .8rem; margin-top: .3rem; } }
/* Operacional */
.op-abas{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .8rem}
.op-recursos{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0 .8rem}
.op-val.vencida{color:#b00020;font-weight:600}.op-val.vencendo{color:#a15c00;font-weight:600}.op-val.ok{color:#1b7f3b}.op-val.a_confirmar{color:#777}
.barra{height:.6rem;background:#e6e9ef;border-radius:.3rem;overflow:hidden}.barra>div{height:100%;background:#2d6cdf}

/* Financeiro */
.fn-neg{color:#b00020;font-weight:700}tr.fn-atraso td{background:#fff4f4}
.card[style*="overflow-x"] > table.t{min-width:620px}

/* Integrações */
.span3{grid-column:1/-1}
.int-st{display:inline-block;font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:1rem;vertical-align:middle;background:#eef0f4;color:#4a5160}
.int-st-manual{background:#fff6dd;color:#8a5a00}.int-st-ok{background:#e3f6e8;color:#17663a}.int-st-nao{background:#eef0f4;color:#4a5160}
.int-card h2{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.int-card h3{margin:.8rem 0 .3rem}
.int-aguarda{background:#f6f7fa;border-left:3px solid #9aa3b5;padding:.4rem .6rem;border-radius:.3rem}
.int-trava{background:#fff8e6;border:1px solid #f0d9a0;border-radius:.4rem;padding:.5rem .7rem}
.int-orig{display:inline-block;font-size:.68rem;font-weight:600;padding:.05rem .4rem;border-radius:.8rem;background:#e8f0fe;color:#1a4fb8;vertical-align:middle}
table.int-previa td{white-space:nowrap;max-width:14rem;overflow:hidden;text-overflow:ellipsis}
tr.int-l-erro td{background:#fff4f4}tr.int-l-duplicada td{color:#666}tr.int-l-aviso td{background:#fffbea}

/* ANAC (RAB aberto) */
ul.anac-alertas{margin:.2rem 0;padding-left:1rem}ul.anac-alertas li{margin:.1rem 0}
.anac-vencido{color:#b00020;font-weight:600}.anac-vencendo{color:#8a5a00;font-weight:600}.anac-div{color:#1a4fb8}.anac-aviso{color:#5a5f6b}.anac-ok{color:#17663a;font-weight:600}
/* Aviso amarelo RAB (20/10/2026) */
.aviso-rab{background:#FFE14D;border:2px solid #E0A800;border-left:8px solid #E0A800;color:#3d2e00;border-radius:var(--r);padding:.55rem .8rem;margin:.45rem 0 .7rem}
.aviso-rab.indisponivel{background:#FFD60A;border-color:#B88600}
.aviso-rab b{font-size:1rem}.aviso-rab ul{margin:.25rem 0 0 1.1rem;padding:0;font-size:.85rem}
.aviso-rab-painel{margin:.3rem 0 1rem}.aviso-rab-link{display:block;text-decoration:none;color:inherit}
.kpi.amarelo-rab{background:#FFF3B0;border:1px solid #E0A800}
