/* ============================================================
   Auditoria Fiscal VMF — identidade VMF Turbinas (dark + light)
   ============================================================ */
:root{
  --bg:#0c0d0f; --card:#16181c; --card-2:#1c1f24; --line:#2a2d33; --black:#000;
  --gold:#e8b454; --gold-ink:#16181c;
  --ink:#f5f5f5; --ink-2:#d6d8db; --ink-3:#9aa0a6; --ink-4:#5d6168;
  --ok:#3ccf8e; --warn:#e8b454; --bad:#e26d6d; --info:#6fa8dc;
  --font:'Helvetica Neue',Arial,sans-serif; --mono:ui-monospace,Consolas,monospace;
  --grad-gold:var(--gold);
  --r:10px; --r-sm:7px; --sh:0 8px 28px rgba(0,0,0,.35);
}
[data-theme="light"]{
  --bg:#f3f4f6; --card:#ffffff; --card-2:#f7f7f9; --line:#e2e4e8;
  --gold:#b07a1a; --gold-ink:#fff;
  --ink:#111318; --ink-2:#3a3f48; --ink-3:#6b717c; --ink-4:#9aa0a6;
  --ok:#1f9d63; --warn:#b07a1a; --bad:#c84f4f; --sh:0 6px 20px rgba(17,19,24,.08);
  --g1:#c58f2a;--g2:#b07a1a;--g3:#8a5e10;--lvl:#b07a1a;
}
/* ---- gradiente dourado das barras e anéis (g1 escuro -> g3 claro) ---- */
:root{--g1:#8a6a2a;--g2:#e8b454;--g3:#ffd98a;--lvl:#e8b454}
*{box-sizing:border-box}
html{color-scheme:dark}                /* selects, datas e scrollbars nativos em escuro */
html[data-theme="light"]{color-scheme:light}
html,body{margin:0;background:var(--bg);color:var(--ink-2);font-family:var(--font);font-size:14px;line-height:1.5}
select{background-color:var(--card-2);color:var(--ink)}
select option{background-color:var(--card-2);color:var(--ink)}
select option:checked{background-color:var(--gold);color:var(--gold-ink)}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;color:var(--ink);font-weight:700;letter-spacing:-.01em}
h1{font-size:24px} h2{font-size:16px} h3{font-size:13.5px;margin-top:14px}
.muted{color:var(--ink-3)} .small{font-size:12px} .warn{color:var(--warn)} .grow{flex:1}
button,input,select{font-family:inherit;font-size:inherit}
[hidden]{display:none!important}

/* ---- topo ---- */
.topbar{display:flex;align-items:center;gap:22px;padding:10px 24px;background:var(--black);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px}
.brand__logo{background:#000;display:inline-flex;border-radius:6px}
.brand__logo img{height:38px;display:block}
.brand__txt{display:flex;flex-direction:column;line-height:1.15;color:#f5f5f5}
.brand__txt small{color:#9aa0a6;font-size:11px;letter-spacing:.5px}
.topbar__nav{display:flex;gap:14px;align-items:center;margin-left:8px}
.topbar__nav a{color:#d6d8db;padding:6px 10px;border-radius:var(--r-sm)}
.topbar__nav a.is-active{background:#1c1f24;color:#e8b454}
.topbar__right{margin-left:auto;display:flex;align-items:center;gap:12px}
.who{display:flex;flex-direction:column;font-size:10px;color:#9aa0a6;text-transform:uppercase;letter-spacing:1.2px}
.who input{background:#16181c;border:1px solid #2a2d33;color:#f5f5f5;border-radius:var(--r-sm);padding:5px 9px;width:160px;font-size:13px;text-transform:none;letter-spacing:0}
.icon-btn{background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:var(--r-sm);width:34px;height:34px;cursor:pointer}
.topbar .icon-btn{color:#d6d8db;border-color:#2a2d33}
.icon-btn:hover{border-color:var(--gold);color:var(--gold)}

.wrap{max-width:1680px;margin:0;padding:20px 28px 60px;min-width:0;flex:1}

/* ---- layout com menu lateral ---- */
.layout{display:flex;align-items:flex-start}
:root{--nav-w:310px}
.sidenav{width:var(--nav-w);min-width:220px;max-width:520px;flex:none;position:sticky;top:59px;height:calc(100vh - 59px);display:flex;flex-direction:column;
  background:var(--card);border-right:1px solid var(--line)}
.sidenav__resize{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:5}
.sidenav__resize::after{content:"";position:absolute;left:3px;top:0;width:2px;height:100%;background:transparent;transition:background .15s}
.sidenav__resize:hover::after,.sidenav__resize.is-drag::after{background:var(--gold)}
body.is-resizing{cursor:col-resize;user-select:none}
body.is-resizing iframe{pointer-events:none}
.sidenav__scroll{overflow-y:auto;flex:1;padding:10px 10px 16px}

/* item de menu (nível 1): ícone · nome · seta */
.navitem{display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:var(--r-sm);color:var(--ink-2);
  font-size:13.5px;font-weight:500;cursor:pointer;list-style:none;user-select:none}
.navitem::-webkit-details-marker{display:none}
.navitem:hover{background:var(--card-2);color:var(--ink)}
.navitem.is-current{background:var(--card-2);color:var(--gold)}
.navitem__ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.navitem__label{flex:1}
.navitem__badge{font-size:10.5px;color:var(--ink-3);background:var(--line);border-radius:10px;padding:1px 7px;font-variant-numeric:tabular-nums}
.navitem__chev{width:16px;height:16px;flex:none;fill:none;stroke:var(--ink-3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.navgroup[open]>.navitem .navitem__chev{transform:rotate(180deg)}
.navgroup[open]>.navitem{color:var(--ink)}

/* submenu (nível 2): indentado, com linha-guia à esquerda */
.submenu{margin:2px 0 6px 20px;padding-left:12px;border-left:1px solid var(--line)}
.submenu__filter{width:100%;margin:4px 0 6px;padding:5px 9px;font-size:12px;background:var(--bg)}
.submenu__list{list-style:none;margin:0;padding:0}
.subitem{display:flex;align-items:flex-start;gap:8px;padding:6px 9px;border-radius:var(--r-sm);color:var(--ink-3);font-size:12.5px;line-height:1.3}
.subitem:hover{background:var(--card-2);color:var(--ink)}
.subitem.is-current{background:var(--card-2);color:var(--gold);font-weight:600}
.subitem__label{flex:1;font-variant-numeric:tabular-nums;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.subitem__bar{flex:0 0 64px;height:5px;border-radius:3px;background:var(--line);overflow:hidden;align-self:center;position:relative}
.subitem__bar i{display:block;height:100%;border-radius:3px;min-width:3px;background:var(--gold);transition:width .4s ease}
.subitem:hover .subitem__bar i{filter:brightness(1.12)}
.subitem__plus{font-style:normal;color:var(--info);font-weight:700;margin-left:3px}
.subitem__pct{--p:0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-3);min-width:32px;text-align:right}
.subitem.is-current .subitem__bar{background:color-mix(in srgb,var(--gold) 25%,var(--line))}
.legend-lvl{display:inline-flex;gap:10px;align-items:center;font-size:11.5px;color:var(--ink-3)}
.legend-lvl i{display:inline-block;width:26px;height:6px;border-radius:3px;background:var(--gold);vertical-align:middle;margin-right:4px}
.subitem.is-current .subitem__pct{color:var(--gold)}
body.nav-hidden .sidenav{display:none}
@media (max-width:960px){.sidenav{display:none} body.nav-open .sidenav{display:flex;position:fixed;left:0;z-index:30;box-shadow:var(--sh)}}

.sidenav__bottom{border-top:1px solid var(--line);padding:8px 10px}
.subitem__pct.is-ok{color:var(--ok)}

/* ---- Intimação ---- */
.hero__actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.kpi--alert .kpi__n{color:var(--warn)}
.sec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin-bottom:16px}
.sec-card{display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}
.sec-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.sec-card__head{display:flex;gap:12px;align-items:flex-start}
.sec-card__head h2{font-size:15px} .sec-card__head p{margin:2px 0 0}
.sec-card__list{list-style:none;margin:0;padding:0;font-size:12.5px;color:var(--ink-3)}
.sec-card__list li{display:flex;gap:7px;align-items:baseline;padding:3px 0;border-top:1px solid var(--line)}
.sec-card__list b{color:var(--ink);min-width:26px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ink-4);flex:none;position:relative;top:-1px}
.dot--em_andamento{background:var(--info)} .dot--respondida{background:var(--ok)} .dot--revisada{background:var(--gold)}
.chip--respondida{color:var(--ok)} .chip--revisada{color:var(--gold)}
.quote{margin:0 0 14px;padding:12px 16px 12px 18px;background:var(--card-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-sm);color:var(--ink-2);font-size:13px;line-height:1.6}
.quote__tag{display:block;font-size:9.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:4px}
.quote--q{background:transparent;border-left-color:var(--ink-4)} .quote--q .quote__tag{color:var(--ink-3)}
.dica{margin:-6px 0 14px;font-size:12.5px;color:var(--ink-3);padding:8px 12px;border:1px dashed var(--line);border-radius:var(--r-sm)}
.dica b{color:var(--gold)}
.pergunta{margin-top:14px}
.pergunta__head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.pergunta__head h2{font-size:16px;margin-bottom:4px}
.pergunta__head .circle{width:auto;min-width:26px;padding:0 7px;height:24px;border-radius:12px}
.pergunta__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
@media (max-width:1100px){.pergunta__grid{grid-template-columns:1fr}}
.pergunta__col{display:flex;flex-direction:column;gap:12px;min-width:0}
.pergunta__foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:4px;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3)}
.field__label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3)}
.field textarea{background:var(--card-2);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);padding:9px 11px;font-size:13.5px;font-family:inherit;line-height:1.55;resize:vertical;text-transform:none;letter-spacing:0}
.field textarea:focus{outline:none;border-color:var(--gold)}
.field input,.field select{text-transform:none;letter-spacing:0}
.field-row{display:flex;gap:8px;align-items:end} .field-row .field{flex:1}
.field-row input{min-width:0}
.dis-tags{display:flex;gap:6px;flex-wrap:wrap;min-height:6px}
.tag{display:inline-flex;align-items:center;gap:4px;background:var(--card-2);border:1px solid var(--line);color:var(--gold);font-size:11.5px;font-weight:700;padding:3px 4px 3px 9px;border-radius:20px;text-transform:none;letter-spacing:0}
.tag:hover{border-color:var(--gold)}
.tag__x{border:0;background:none;color:var(--ink-4);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}
.tag__x:hover{color:var(--bad)}
.add-di{margin-top:6px;text-transform:none;letter-spacing:0;font-size:12px}
.anexos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.anexo{display:flex;align-items:center;gap:6px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px;text-transform:none;letter-spacing:0}
.anexo__open{all:unset;cursor:pointer;display:flex;gap:9px;align-items:center;flex:1;min-width:0}
.anexo__ico{font-size:18px;flex:none}
.anexo__txt{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.anexo__txt b{color:var(--ink);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anexo__txt small{color:var(--ink-3);font-size:10.5px}
.anexo__dl{color:var(--ink-3);padding:0 6px;font-size:14px} .anexo__dl:hover{color:var(--gold)}
.anexo__x{border:0;background:none;color:var(--ink-4);cursor:pointer;font-size:16px} .anexo__x:hover{color:var(--bad)}
.dropzone{display:block;margin-top:8px;border:1.5px dashed var(--line);border-radius:var(--r-sm);padding:14px;text-align:center;color:var(--ink-3);font-size:12.5px;cursor:pointer;text-transform:none;letter-spacing:0;transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone.is-over{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--ink)}
.dropzone.is-busy{opacity:.5;pointer-events:none}
.dropzone input{display:none}
.link-list--col{grid-template-columns:1fr;margin-bottom:8px}
.link-list--col .link-card{text-transform:none;letter-spacing:0}
.link-card .lnk{all:unset;cursor:pointer;color:var(--gold);font-weight:700;flex:1;font-size:12.5px}
.di-head__r--col{flex-direction:column;align-items:flex-end;gap:8px}
.di-nav--inline{border:0;padding:0;gap:14px}
.btn.small{padding:4px 10px;font-size:12px}
.bullets{margin:6px 0;padding-left:20px;color:var(--ink-2);line-height:1.6}
.banner{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r);padding:12px 16px;margin-bottom:16px}
.banner b{color:var(--ink)} .banner .grow{min-width:0}
.banner .bar{width:160px}
.di-related{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:12px;color:var(--ink-3)}
.tr-new td{background:var(--card-2)}

/* ---- botão Receita Federal (exportar) ---- */
.btn--rf{background:#1b4f9c;border-color:#1b4f9c;color:#fff;padding:5px 12px 5px 8px;gap:9px;line-height:1.15}
.btn--rf:hover{background:#2560b8;border-color:#2560b8}
.btn--rf .rf-logo{height:30px;width:auto;display:block}
.btn--rf span{display:flex;flex-direction:column}
.btn--rf b{font-size:13px} .btn--rf small{font-size:10px;font-weight:400;opacity:.85;letter-spacing:.3px}
.btn--rf .rf-dl{font-size:15px;margin-left:2px}
.btn--add{background:transparent;border-color:var(--gold);color:var(--gold);padding:5px 12px 5px 8px;gap:8px;line-height:1.15}
.btn--add:hover{background:color-mix(in srgb,var(--gold) 12%,transparent)}
.btn--add__plus{width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--gold-ink);display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;flex:none}
.btn--add span:not(.btn--add__plus){display:flex;flex-direction:column}
.btn--add b{font-size:13px} .btn--add small{font-size:10px;font-weight:400;opacity:.8}
.topbar .btn--add{color:#e8b454;border-color:#e8b454} .topbar .btn--add__plus{background:#e8b454;color:#16181c}
.dropdown{position:relative}
.dropdown__menu{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:6px;z-index:40}
.dropdown.is-open .dropdown__menu{display:block}
.dropdown__menu a{display:flex;flex-direction:column;padding:9px 12px;border-radius:var(--r-sm);color:var(--ink);line-height:1.25}
.dropdown__menu a:hover{background:var(--card-2)} .dropdown__menu a b{font-size:13px} .dropdown__menu a small{color:var(--ink-3);font-size:11px}
.dropdown__menu a.is-main{border-top:1px solid var(--line);margin-top:4px;padding-top:11px} .dropdown__menu a.is-main b{color:var(--gold)}
.modal__box--form{width:min(680px,100%);height:auto;max-height:90vh}
.modal__body{padding:14px 16px;overflow:auto}
.modal__actions{display:flex;justify-content:flex-end;margin-top:10px}
.extras{display:flex;flex-direction:column;gap:6px;margin:10px 0 14px}
.extra{display:flex;align-items:center;gap:10px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px}
.extra__txt{display:flex;flex-direction:column;flex:1;line-height:1.25} .extra__txt b{color:var(--ink)} .extra__txt small{color:var(--ink-3);font-size:11px}
.add-manual summary{cursor:pointer;color:var(--gold);font-weight:600;margin-bottom:8px}
.grupo-checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-top:10px;font-size:12px;color:var(--ink-2)}
.grupo-checks label{display:flex;gap:6px;align-items:flex-start;cursor:pointer} .grupo-checks input{accent-color:var(--gold);margin-top:3px}
.chip--incluida{color:var(--info);border-color:color-mix(in srgb,var(--info) 55%,transparent)}
/* tema claro: botão branco com borda azul e a logo original da Receita */
[data-theme="light"] .btn--rf{background:#fff;border-color:#1b4f9c;color:#1b4f9c}
[data-theme="light"] .btn--rf:hover{background:#eef3fb}
[data-theme="light"] .btn--rf .rf-logo{content:url("../img/logo-receita.png")}
.footer{border-top:1px solid var(--line);color:var(--ink-4);font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px;text-align:center;padding:18px}

/* ---- componentes VMF ---- */
.eyebrow{display:inline-block;background:var(--line);color:var(--gold);font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 11px;border-radius:20px}
.badge{display:inline-block;background:var(--card-2);border:1px solid var(--line);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:20px}
.chip{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;border:1px solid var(--line);color:var(--ink-3);text-transform:lowercase}
.chip--fisco{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}
.chip--warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,transparent)}
.chip--ok{color:var(--ok)} .chip--manual{color:var(--info)}
.chip--status.chip--concluida{color:var(--ok)} .chip--status.chip--em_andamento{color:var(--info)} .chip--status.chip--conferir{color:var(--warn)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.card + .card{margin-top:14px}
.grid>.card,.sec-grid>.card,.link-list>.card{margin-top:0}
.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-sm);padding:7px 14px;border:1px solid var(--line);background:var(--card-2);color:var(--ink);cursor:pointer;font-weight:600;font-size:13px}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.btn--gold:hover{filter:brightness(1.08)}
.btn--ghost{background:transparent}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.circle{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--gold-ink);font-size:11px;font-weight:700;align-items:center;justify-content:center;flex:none}
.steps{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.step{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.step:last-child{border-bottom:0} .step__txt{flex:1;color:var(--ink)}
.step input{width:18px;height:18px;accent-color:var(--gold)}
.link-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}
.link-card{display:flex;gap:8px;align-items:center;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 13px;text-align:left;color:var(--ink);cursor:pointer;font-size:12.5px}
.link-card:hover{border-color:var(--gold)}
.link-card .label{color:var(--ink-3);font-size:10px;text-transform:uppercase;letter-spacing:1px;flex:none;min-width:70px}
.link-card .lnk{color:var(--gold);font-weight:700;flex:1}
.link-card .del{color:var(--ink-4);border:0;background:none;cursor:pointer}
.link-card .del:hover{color:var(--bad)}
.bar{height:6px;background:var(--line);border-radius:4px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--gold);border-radius:4px;transition:width .3s}

/* ---- index ---- */
.hero{margin-bottom:18px} .hero h1{margin:8px 0 4px} .hero p{max-width:820px;margin:0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.kpi__n{font-size:28px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi__n--warn{color:var(--warn)}
.kpi__l{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:1px}
.toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end} .filters label:first-child{flex:1;min-width:260px} .filters select{width:100%}
.filters label{display:flex;flex-direction:column;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3);gap:3px}
select,input[type=text],input[type=search],input[type=date],input[type=number],input:not([type]){background:var(--card-2);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);padding:7px 10px;font-size:13px;min-width:0}
input:focus,select:focus{outline:none;border-color:var(--gold)}
.filters select{min-width:180px}
.legend{font-size:12px;color:var(--ink-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:28px}
.di-card{display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}
.di-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.di-card__head{display:flex;justify-content:space-between;align-items:flex-start}
.di-card__num{display:block;font-size:19px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.di-card__date{font-size:11.5px;color:var(--ink-3)}
.di-card__groups{display:flex;gap:6px;flex-wrap:wrap}
.di-card__meta{display:flex;gap:12px;font-size:11.5px;color:var(--ink-3)}
.di-card__foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}
.di-card__foot .small{margin-left:auto}
.avatar{width:26px;height:26px;border-radius:50%;background:var(--card-2);border:1px solid var(--line);color:var(--gold);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.mini-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.mini-bars span{height:5px;background:var(--line);border-radius:3px;overflow:hidden;display:block}
.mini-bars i{display:block;height:100%;background:var(--gold)}
.ring{--p:0;width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;
  background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--line) 0);position:relative}
.ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--card)}
.ring b{position:relative;font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}
.ring--lg{width:96px;height:96px;flex-direction:column}
.ring--lg::before{inset:8px} .ring--lg b{font-size:20px} .ring--lg small{position:relative;font-size:9.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:1px}
.library h2{margin-bottom:4px} .library p{margin:0 0 10px}

/* ---- página da DI ---- */
.di-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px;flex-wrap:wrap}
.crumb{color:var(--ink-3);font-size:12px} .crumb:hover{color:var(--gold)}
.di-head__title h1{margin:6px 0 6px} .di-head__title h1 small{font-size:13px;font-weight:400}
.di-head__badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.di-head__r{display:flex;align-items:center;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.kpi-mini{display:grid;gap:5px;min-width:260px}
.kpi-mini>div{display:grid;grid-template-columns:70px 1fr 38px;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3)}
.kpi-mini b{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.di-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:14px}
.di-controls label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3)}
.di-controls__actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.di-nav{width:100%;display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:8px}
.di-nav a:hover{color:var(--gold)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}
.tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-3);padding:9px 14px;cursor:pointer;font-weight:600;white-space:nowrap}
.tab.is-active{color:var(--gold);border-bottom-color:var(--gold)}
.tab .count{background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:0 7px;font-size:10.5px;margin-left:4px}
.panel{display:none} .panel.is-active{display:block}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.form-grid label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm)}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th{background:var(--card-2);color:var(--ink-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;text-align:left;padding:8px 9px;position:sticky;top:0;border-bottom:1px solid var(--line)}
.tbl td{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-2)}
.tbl tfoot td{font-weight:700;color:var(--ink)}
.tbl input{width:100%;padding:5px 7px;font-size:12.5px;background:transparent;border-color:transparent}
.tbl select{width:100%;padding:5px 7px;font-size:12.5px;background-color:var(--card);border-color:transparent;cursor:pointer}
.tbl input:hover,.tbl select:hover{border-color:var(--line)} .tbl input:focus,.tbl select:focus{background-color:var(--card-2);border-color:var(--gold)}
.tbl input[type=date]{min-width:130px} .tbl--narrow input{min-width:80px}
.tbl--dense td{padding:2px 5px;font-size:12px} .tbl--dense input{padding:3px 5px;font-size:12px}
.tbl tr.conferir td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.tbl tr.ok td:first-child{box-shadow:inset 3px 0 0 var(--ok)}
.tbl .del{border:0;background:none;color:var(--ink-4);cursor:pointer} .tbl .del:hover{color:var(--bad)}
.desc-list{margin:6px 0 0;padding-left:18px;color:var(--ink-2)}
.log{list-style:none;margin:0;padding:0;font-size:12px;color:var(--ink-3)} .log li{padding:5px 0;border-bottom:1px solid var(--line)} .log b{color:var(--ink)}
.add-doc{margin-top:12px;color:var(--ink-3)} .add-doc summary{cursor:pointer;color:var(--gold);font-weight:600} .add-doc .form-grid{margin-top:10px}

/* ---- modal e toast ---- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}
.modal__box{width:min(1100px,100%);height:min(86vh,900px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;box-shadow:var(--sh);overflow:hidden}
.modal__head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink)}
.modal__head>div{display:flex;gap:8px;align-items:center}
.modal iframe{flex:1;border:0;background:#fff}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--card-2);border:1px solid var(--gold);color:var(--ink);padding:9px 16px;border-radius:20px;font-size:13px;z-index:60;box-shadow:var(--sh)}
@media (max-width:760px){.topbar{flex-wrap:wrap} .topbar__right{margin-left:0;width:100%;flex-wrap:wrap} .di-head__r{width:100%}}
.topbar__right .btn--rf{margin-right:6px}

/* ---- ícone "abrir documento da D.I." ao lado do número ---- */
.doc-ico{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;color:var(--ink-3);vertical-align:middle;margin-left:4px;flex:none}
.doc-ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.doc-ico:hover{background:var(--card-2);color:var(--gold)}
.doc-ico.is-folder{color:var(--ink-4)}
.subitem .doc-ico{width:18px;height:18px;margin-left:2px} .subitem .doc-ico svg{width:13px;height:13px}
.di-card__num{display:inline-flex;align-items:center}
h1 .doc-ico{width:28px;height:28px} h1 .doc-ico svg{width:19px;height:19px}


/* acertos de layout mantidos */
.di-card__num{display:flex}
.mini-bars span{background:color-mix(in srgb,var(--line) 70%,transparent)}

/* ---- números sempre neutros: preto no tema claro, branco no escuro ---- */
:root{--num:#f5f5f5}
[data-theme="light"]{--num:#000}
.kpi__n,.kpi__n--warn,.ring b,.subitem__pct,.kpi-mini b,.di-card__num,.di-card__meta,.di-card__meta .warn,
.sec-card__list b,.navitem__badge,.tab .count,#adic-total{color:var(--num)}

/* ---- topo: usuário conectado ---- */
.who{display:flex;flex-direction:column;font-size:10px;color:#9aa0a6;text-transform:uppercase;letter-spacing:1.2px;line-height:1.2}
.who b{color:#f5f5f5;font-size:13px;text-transform:none;letter-spacing:0}
.who a{color:#e8b454;text-transform:none;letter-spacing:0;font-size:11px}

/* ---- página de login (mesmo desenho do portal financeiro: imagem à esquerda, cartão à direita) ---- */
.login-body{margin:0;min-height:100vh;background:var(--bg)}
.login{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,520px);min-height:100vh}
.login-hero{position:relative;background:#000 center/cover no-repeat;min-height:320px}
.login-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.05) 40%,rgba(0,0,0,.75) 100%)}
.login-hero__caption{position:absolute;left:clamp(24px,5vw,64px);bottom:clamp(28px,6vh,64px);right:24px;z-index:1;display:flex;flex-direction:column;gap:10px;color:#f5f5f5}
.login-hero__caption strong{font-size:clamp(22px,2.6vw,34px);line-height:1.15;max-width:520px;letter-spacing:-.01em}
.login-hero__caption small{color:#d6d8db;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase}
.login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,5vw,56px);border-left:1px solid var(--line);background:var(--card)}
.login-card{max-width:400px;width:100%;margin:0 auto}
.login-logo{display:inline-flex;background:#000;border-radius:8px;padding:6px 10px;margin-bottom:22px}
.login-logo img{height:44px;display:block}
.login-card h1{font-size:26px;margin:10px 0 4px}
.login-card .sub{color:var(--ink-3);margin:0 0 20px}
.login-form{display:flex;flex-direction:column;gap:14px}
.login-form .field input{padding:11px 12px;font-size:14.5px}
.input-wrap{position:relative;display:flex} .input-wrap input{flex:1;padding-right:46px!important}
.toggle-senha{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:16px;color:var(--ink-3)}
.login-btn{justify-content:center;padding:11px 16px;font-size:14.5px;margin-top:6px;width:100%}
.alerta{background:color-mix(in srgb,var(--bad) 14%,transparent);border:1px solid color-mix(in srgb,var(--bad) 55%,transparent);color:var(--ink);border-radius:var(--r-sm);padding:9px 12px;font-size:13px;margin-bottom:12px}
.login-footer{display:flex;justify-content:space-between;align-items:center;max-width:400px;width:100%;margin:28px auto 0;color:var(--ink-4);font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px}
@media (max-width:900px){.login{grid-template-columns:1fr}.login-hero{min-height:220px}.login-panel{border-left:0;border-top:1px solid var(--line)}}

/* ---- visão geral: blocos x lista ---- */
.view-toggle{display:inline-flex;margin-left:auto;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.view-btn{all:unset;cursor:pointer;width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-3)}
.view-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.view-btn:hover{color:var(--ink)} .view-btn.is-active{background:var(--card-2);color:var(--gold)}
.di-list{padding:0;margin-bottom:28px;overflow:hidden}
.di-list .table-wrap{border:0;border-radius:0}
.tbl--list td{padding:8px 10px;white-space:nowrap} .tbl--list th{white-space:nowrap}
.tbl--list .num{text-align:right;font-variant-numeric:tabular-nums}
.tbl--list th.num{text-align:right}
.tbl--list th[data-sort]{cursor:pointer;user-select:none} .tbl--list th[data-sort]:hover{color:var(--gold)}
.tbl--list th.sort-asc::after{content:" ▲";font-size:9px} .tbl--list th.sort-desc::after{content:" ▼";font-size:9px}
.di-row__num{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.di-row__num:hover{color:var(--gold)}
.td-kpi{min-width:150px} .td-kpi .bar{display:inline-block;width:90px;vertical-align:middle;margin-right:8px} .td-kpi b{font-variant-numeric:tabular-nums}
.tbl--list tr:hover td{background:var(--card-2)}

.login-hero__caption .eyebrow{align-self:flex-start}

/* ---- menu lateral: realce ao passar o mouse ---- */
.navitem,.subitem{transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}
.navitem:hover{background:color-mix(in srgb,var(--gold) 14%,var(--card-2));color:var(--ink);box-shadow:inset 3px 0 0 var(--gold)}
.navitem.is-current{box-shadow:inset 3px 0 0 var(--gold)}
.subitem:hover{background:color-mix(in srgb,var(--gold) 12%,var(--card-2));color:var(--ink);box-shadow:inset 2px 0 0 var(--gold)}
.subitem:hover .subitem__pct{color:var(--ink)}
.subitem.is-current{box-shadow:inset 2px 0 0 var(--gold)}
.navitem:active,.subitem:active{transform:translateX(1px)}
.sidenav__scroll{padding:8px 8px 16px}
.navitem{padding:9px 10px}

.td-senha{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.td-senha .chip,.td-senha .btn{font-size:10.5px}
