*,*::before,*::after{box-sizing:border-box}
:root{--lime:#A6FF00;--bg:#000;--s1:#0B0B0B;--s2:#111;--s3:#161616;
 --br:#232323;--br2:#2E2E2E;--tx:#EDEDED;--tx2:#9A9A9A;--tx3:#6E6E6E;
 --warn:#FF9A1F;--r:10px}
body{margin:0;background:var(--bg);color:var(--tx);font-size:14px;line-height:1.5;
 font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
 -webkit-font-smoothing:antialiased}
.mono{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
 font-variant-numeric:tabular-nums}
button{font:inherit;cursor:pointer}
svg{flex:none}



.k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);
 font-weight:500}
.lime{color:var(--lime)}

/* ---------- login ---------- */
.login{min-height:calc(100vh - 44px);display:flex;flex-direction:column;
 align-items:center;justify-content:center;padding:40px 20px}
.card{width:100%;max-width:396px;background:var(--s1);border:1px solid var(--br);
 border-radius:16px;padding:36px 34px}
.lockup{display:flex;justify-content:center;margin-bottom:26px}
.lockup img{height:52px;display:block}
.card h1{font-size:19px;font-weight:600;margin:0 0 4px;text-align:center}
.card p.sub{margin:0 0 26px;color:var(--tx2);font-size:13.5px;text-align:center}

@keyframes vt-fade{from{opacity:0}to{opacity:1}}
@keyframes vt-sweep{0%{top:0;opacity:0}12%{opacity:1}86%{opacity:1}100%{top:100%;opacity:0}}
.login .card{position:relative;overflow:hidden;animation:vt-fade .3s ease both}
.login .card::after{content:'';position:absolute;left:0;right:0;top:0;height:1.5px;
 background:linear-gradient(90deg,transparent,#A6FF00 22%,#A6FF00 78%,transparent);
 animation:vt-sweep 1.05s cubic-bezier(.42,0,.25,1) .12s forwards;pointer-events:none}

label{display:block;font-size:12.5px;color:var(--tx2);margin:0 0 6px}
.field{position:relative;margin-bottom:16px}
.field svg{position:absolute;left:12px;top:33px;color:var(--tx3)}
.field input{width:100%;height:42px;background:var(--s2);border:1px solid var(--br2);
 border-radius:var(--r);color:var(--tx);padding:0 12px 0 40px;font:inherit;font-size:14px}
.field input:focus{outline:none;border-color:var(--lime)}
.btn{width:100%;height:44px;background:var(--lime);border:0;border-radius:var(--r);
 color:#0A1400;font-weight:600;font-size:14.5px;display:flex;align-items:center;
 justify-content:center;gap:8px}
.btn:hover{background:#B6FF2E}
.btn.ghost{background:transparent;border:1px solid var(--br2);color:var(--tx);width:auto;
 height:36px;padding:0 16px;font-weight:500;font-size:13px}
.btn.ghost:hover{border-color:#3E3E3E;background:var(--s2)}
.card .foot{margin-top:20px;padding-top:18px;border-top:1px solid var(--br);
 font-size:12.5px;color:var(--tx3);display:flex;justify-content:space-between;gap:10px}
.card .foot a{color:var(--tx2);text-decoration:none}

@media (prefers-reduced-motion:reduce){
 .login .card{animation:none;opacity:1}
 .login .card::after{display:none}}
/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}
/* O menu acompanha a rolagem: em lista de 60 arquivos, sair do sistema não
   pode exigir rolar a página inteira de volta. */
.side{background:var(--s1);border-right:1px solid var(--br);padding:20px 14px;
 display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
 overflow-y:auto;overscroll-behavior:contain}
.side::-webkit-scrollbar{width:6px}
.side::-webkit-scrollbar-thumb{background:var(--br2);border-radius:99px}
.side img{height:46px;width:auto;align-self:flex-start;
 margin:2px 0 24px 8px;flex:none}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;
 color:var(--tx2);text-decoration:none;font-size:13.5px}
.nav a:hover{background:var(--s3);color:var(--tx)}
.nav a.on{background:rgba(166,255,0,.11);color:var(--lime)}
.nav a.on svg{color:var(--lime)}
.nav a svg{color:var(--tx3)}
.who{margin-top:auto;padding-top:16px;border-top:1px solid var(--br);
 display:flex;align-items:center;gap:10px}
.av{width:32px;height:32px;border-radius:50%;background:var(--s3);border:1px solid var(--br2);
 display:flex;align-items:center;justify-content:center;font-size:12px;
 font-weight:600;color:var(--lime)}
.who b{display:block;font-size:13px;font-weight:500}
.who span{font-size:11.5px;color:var(--tx3)}

.main{padding:22px 28px 60px;min-width:0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
 flex-wrap:wrap;margin-bottom:22px}
.bar h1{font-size:20px;font-weight:600;margin:0}
.bar p{margin:2px 0 0;font-size:13px;color:var(--tx2)}
.actions{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- upload ---------- */
.drop{border:1.5px dashed var(--br2);border-radius:14px;padding:38px 24px;text-align:center;
 background:var(--s1)}
.drop.hot{border-color:var(--lime);background:rgba(166,255,0,.04)}
.drop svg{color:var(--lime);margin-bottom:10px}
.drop b{display:block;font-size:15px;font-weight:500;margin-bottom:4px}
.drop p{margin:0 0 16px;color:var(--tx2);font-size:13px}
.files{margin-top:16px;border:1px solid var(--br);border-radius:12px;overflow:hidden}
.f{display:grid;grid-template-columns:28px minmax(0,1fr) 96px 104px 24px;gap:12px;
 align-items:center;padding:12px 14px;border-bottom:1px solid var(--br);background:var(--s1)}
.f:last-child{border-bottom:0}
.f svg{color:var(--tx3)}
.f .nm{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f .mt{font-size:11.5px;color:var(--tx3);margin-top:1px}
.pill{font-size:11px;padding:3px 9px;border-radius:99px;text-align:center;font-weight:500}
.pill.ok{background:rgba(166,255,0,.13);color:var(--lime)}
.pill.wait{background:var(--s3);color:var(--tx2)}
.pill.warn{background:rgba(255,154,31,.14);color:var(--warn)}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;
 margin-top:18px}
.opt{background:var(--s1);border:1px solid var(--br);border-radius:12px;padding:14px 16px}
select{width:100%;height:38px;background:var(--s2);border:1px solid var(--br2);
 border-radius:8px;color:var(--tx);padding:0 10px;font:inherit;font-size:13.5px;margin-top:7px}
select:focus{outline:none;border-color:var(--lime)}
.note{display:flex;gap:11px;align-items:flex-start;background:rgba(255,154,31,.07);
 border:1px solid rgba(255,154,31,.3);border-radius:12px;padding:13px 16px;margin-top:18px;
 font-size:13px;color:#F0C48A}
.note svg{color:var(--warn);margin-top:1px}
.note b{color:#fff;font-weight:600}

/* ---------- processando ---------- */
@keyframes vt-spin{to{transform:rotate(360deg)}}
@keyframes vt-flow{to{background-position:38px 0}}
@keyframes vt-blink{0%,100%{opacity:1}50%{opacity:.45}}
.pcard{background:var(--s1);border:1px solid var(--br);border-radius:14px;
 padding:20px 22px;margin-bottom:22px}
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.phead b{display:block;font-size:19px;font-weight:600;margin-top:3px}
.pct{font-size:34px;font-weight:600;color:var(--lime);line-height:1;
 font-variant-numeric:tabular-nums}
.pct small{font-size:16px;margin-left:1px}
.track{height:6px;background:#1A1A1A;border-radius:99px;margin:16px 0 10px;overflow:hidden}
.track i{display:block;height:100%;width:62%;border-radius:99px;background:var(--lime);
 background-image:linear-gradient(115deg,rgba(0,0,0,.16) 25%,transparent 25%,
  transparent 50%,rgba(0,0,0,.16) 50%,rgba(0,0,0,.16) 75%,transparent 75%);
 background-size:38px 38px;animation:vt-flow 1s linear infinite}
.pmeta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
 font-size:12.5px;color:var(--tx3)}
.tl{list-style:none;margin:0;padding:0}
.tl li{position:relative;display:flex;align-items:center;gap:14px;
 padding:13px 0 13px 44px;min-height:56px}
.tl li::before{content:'';position:absolute;left:13px;top:34px;bottom:-6px;
 width:1px;background:var(--br)}
.tl li:last-child::before{display:none}
.tl .dot{position:absolute;left:0;top:16px;width:27px;height:27px;border-radius:50%;
 border:1px solid var(--br2);background:var(--s2);display:flex;align-items:center;
 justify-content:center;color:var(--tx3)}
.tl li.done .dot{background:rgba(166,255,0,.13);border-color:rgba(166,255,0,.45);color:var(--lime)}
.tl li.run .dot{border-color:var(--lime);color:var(--lime)}
.tl li.run .dot svg{animation:vt-spin .9s linear infinite}
.tl li.done::before{background:rgba(166,255,0,.3)}
.tl b{display:block;font-size:14.5px;font-weight:500}
.tl span.sub{font-size:12.5px;color:var(--tx3)}
.tl li.idle b{color:var(--tx2);font-weight:400}
.tl li.idle span.sub{color:#4E4E4E}
.tl em{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--tx2);
 font-family:ui-monospace,Menlo,Consolas,monospace;white-space:nowrap}
.tl li.run em{color:var(--lime);animation:vt-blink 1.4s ease-in-out infinite}
.tl li.idle em{color:#3E3E3E}

.pgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
 gap:20px;align-items:start}
.panel{background:var(--s1);border:1px solid var(--br);border-radius:14px;overflow:hidden}
.panel .ph{display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:12px 16px;border-bottom:1px solid var(--br);background:var(--s2)}
.panel .ph b{font-size:13px;font-weight:600}
.live{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;
 text-transform:uppercase;color:var(--lime)}
.live i{width:6px;height:6px;border-radius:50%;background:var(--lime);
 animation:vt-blink 1.2s ease-in-out infinite}
.feed{list-style:none;margin:0;padding:0;max-height:298px;overflow:hidden;
 -webkit-mask-image:linear-gradient(#000 78%,transparent);
 mask-image:linear-gradient(#000 78%,transparent)}
.feed li{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 74px;
 gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid #151515;
 font-size:12.5px;font-family:ui-monospace,Menlo,Consolas,monospace}
.feed li:first-child{background:rgba(166,255,0,.05)}
.feed li:last-child{border-bottom:0}
.feed .nf{color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed .ar{color:var(--tx3);text-align:center}
.feed .vl{text-align:right;color:var(--lime)}
.mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:1px;
 background:var(--br);border:1px solid var(--br);border-radius:14px;overflow:hidden;
 margin-bottom:20px}
.mini div{background:var(--s1);padding:12px 16px}
.mini .k{margin-bottom:4px}
.mini .n{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}
.mini .n.lime{color:var(--lime)}
@media (max-width:1080px){.pgrid{grid-template-columns:1fr}.feed{max-height:240px}}

/* ---------- dashboard ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px}
.c{background:var(--s1);border:1px solid var(--br);border-radius:12px;padding:15px 17px}
.c .hd{display:flex;align-items:center;gap:8px;color:var(--tx3)}
.c .n{font-size:26px;font-weight:600;margin-top:10px;line-height:1.15}
.c .n.lime{color:var(--lime)}
.c .d{font-size:12px;color:var(--tx3);margin-top:3px}
h2.sec{font-size:14px;font-weight:600;margin:28px 0 12px;display:flex;
 align-items:center;gap:8px}
h2.sec svg{color:var(--tx3)}
table{width:100%;border-collapse:collapse;font-size:13.5px;
 border:1px solid var(--br);border-radius:12px;overflow:hidden}
th{text-align:left;background:var(--s2);padding:10px 14px;font-weight:500;
 font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
td{padding:12px 14px;border-top:1px solid var(--br);background:var(--s1)}
td.r,th.r{text-align:right}
tr:hover td{background:var(--s2)}
.chart{display:flex;align-items:flex-end;justify-content:flex-start;gap:9px;
 height:132px;padding:12px 14px;
 background:var(--s1);border:1px solid var(--br);border-radius:12px}
.chart div{flex:1 1 0;max-width:96px;display:flex;flex-direction:column;
 justify-content:flex-end;align-items:center;gap:6px;height:100%}
.chart i{display:block;width:100%;background:var(--lime);border-radius:4px 4px 0 0;
 min-height:3px}
.chart i.mut{background:#2F3F14}
.chart b{font-size:10.5px;color:var(--tx3);font-weight:400}

/* ---------- detalhe ---------- */
.vinc{border:1px solid var(--br);border-radius:12px;background:var(--s1);
 margin-bottom:10px;overflow:hidden}
.vt{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:stretch}
.vl{padding:14px 16px;display:flex;gap:12px;min-width:0}
.vl svg{color:var(--tx3);margin-top:2px}
.vl .t{font-size:14px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vl .s{font-size:12px;color:var(--tx3);margin-top:4px}
.vm{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
 background:#070707;border-left:1px solid var(--br);border-right:1px solid var(--br)}
.vm b{font-size:14px;font-weight:600;color:var(--lime)}
.vm span{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.vb{display:flex;gap:34px;justify-content:flex-end;padding:11px 16px;
 background:var(--s2);border-top:1px solid var(--br)}
.vb .v{font-size:16px;font-weight:600;margin-top:1px}
.vb .st2 .v{color:var(--lime)}

@media (max-width:860px){
 .shell{grid-template-columns:1fr}
 .side{flex-direction:row;align-items:center;gap:14px;overflow-x:auto;
  overflow-y:visible;position:sticky;top:0;height:auto;z-index:30;
  border-right:0;border-bottom:1px solid var(--br);padding:12px 14px}
 .side img{height:34px;margin:0;align-self:center}.nav{flex-direction:row}.who{margin:0;padding:0;border:0}
 .vt{grid-template-columns:1fr}
 .vm{flex-direction:row;border:0;border-top:1px solid var(--br);padding:8px}
 .f{grid-template-columns:24px minmax(0,1fr) 90px;row-gap:6px}
}

/* ---------- adições da aplicação ---------- */
.flash{display:flex;align-items:center;gap:11px;border-radius:12px;padding:12px 16px;
 margin-bottom:16px;font-size:13.5px}
.flash.ok{background:rgba(166,255,0,.08);border:1px solid rgba(166,255,0,.35);color:#DCF7A8}
.flash.erro{background:rgba(255,154,31,.08);border:1px solid rgba(255,154,31,.4);color:#FFD3A0}
.vazio{border:1.5px dashed var(--br2);border-radius:14px;padding:34px 24px;
 text-align:center;color:var(--tx2);font-size:14px;background:var(--s1)}
.form-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
 gap:12px;align-items:end}
.form-linha .campo{min-width:0}
.form-linha label{display:block;font-size:12.5px;color:var(--tx2);margin:0 0 6px}
.form-linha input{width:100%;height:38px;background:var(--s2);border:1px solid var(--br2);
 border-radius:8px;color:var(--tx);padding:0 12px;font:inherit;font-size:13.5px}
.form-linha input:focus{outline:none;border-color:var(--lime)}
.side form{margin:0}
.linkbtn{background:none;border:0;color:var(--tx3);cursor:pointer;padding:0;font-size:12.5px}
.linkbtn:hover{color:var(--warn)}
a.tlink{color:var(--tx2);font-size:12.5px;text-decoration:none}
a.tlink:hover{color:var(--lime)}
.erro-box{background:rgba(255,154,31,.07);border:1px solid rgba(255,154,31,.35);
 border-radius:12px;padding:16px 18px;font-size:13.5px;color:#FFD3A0;
 white-space:pre-wrap;font-family:ui-monospace,Menlo,Consolas,monospace}

/* ---------- busca ---------- */
.busca{position:relative;display:inline-flex;align-items:center;margin:0}
.busca > svg{position:absolute;left:12px;color:var(--tx3);pointer-events:none;z-index:1}
.busca input[type=search]{
 -webkit-appearance:none;appearance:none;   /* o padrão do WebKit ignora o tema */
 height:36px;width:290px;background:var(--s2);border:1px solid var(--br2);
 border-radius:99px;color:var(--tx);padding:0 34px 0 36px;
 font-family:inherit;font-size:13.5px;line-height:36px;
 transition:border-color .15s, background .15s}
.busca input[type=search]:hover{border-color:#3E3E3E}
.busca input[type=search]:focus{outline:none;border-color:var(--lime);
 background:var(--s3);box-shadow:0 0 0 3px rgba(166,255,0,.1)}
.busca input[type=search]::placeholder{color:var(--tx3);opacity:1}
.busca input[type=search]::-webkit-search-decoration,
.busca input[type=search]::-webkit-search-cancel-button,
.busca input[type=search]::-webkit-search-results-button{-webkit-appearance:none;display:none}
.busca a.limpar{position:absolute;right:12px;color:var(--tx3);text-decoration:none;
 font-size:17px;line-height:1;z-index:1}
.busca a.limpar:hover{color:var(--warn)}
.resultado{font-size:12.5px;color:var(--tx3);margin:-4px 0 16px}
.resultado b{color:var(--lime);font-weight:500}

/* selects da barra superior, no mesmo tom da busca */
.actions select{-webkit-appearance:none;appearance:none;height:36px;
 background:var(--s2) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E6E6E' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center;
 border:1px solid var(--br2);border-radius:99px;color:var(--tx);
 padding:0 34px 0 16px;font-family:inherit;font-size:13.5px;margin:0;cursor:pointer}
.actions select:hover{border-color:#3E3E3E}
.actions select:focus{outline:none;border-color:var(--lime)}

/* ---------- escolha de cliente ---------- */
.escolha{display:grid;gap:10px}
.escolha .alvo{display:flex;align-items:center;gap:18px;padding:18px 22px;
 background:var(--s1);border:1px solid var(--br);border-radius:14px;
 text-decoration:none;transition:border-color .15s, background .15s}
.escolha .alvo:hover{border-color:var(--lime);background:var(--s2)}
.escolha .ic{width:44px;height:44px;border-radius:11px;background:var(--s2);
 border:1px solid var(--br2);display:flex;align-items:center;justify-content:center;
 color:var(--tx3);flex:none}
.escolha .alvo:hover .ic{color:var(--lime);border-color:rgba(166,255,0,.35)}
.escolha .txt{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.escolha .txt b{font-size:15.5px;font-weight:500;color:var(--tx)}
.escolha .txt span{font-size:12.5px;color:var(--tx3)}
.escolha .txt span.nums{color:var(--tx2)}
.escolha .seta{color:var(--tx3);flex:none}
.escolha .alvo:hover .seta{color:var(--lime)}

/* botão com ação principal e variante ao lado */
.duplo{display:inline-flex;align-items:stretch;border:1px solid var(--br2);
 border-radius:8px;overflow:hidden;height:36px}
.duplo a{display:flex;align-items:center;padding:0 14px;color:var(--tx);
 text-decoration:none;font-size:13px;font-weight:500}
.duplo a:hover{background:var(--s2)}
.duplo a:last-child{border-left:1px solid var(--br2);color:var(--tx3);font-size:12.5px;
 font-weight:400;padding:0 12px}
.duplo a:last-child:hover{color:var(--lime)}

/* ---------- sugestões da busca ---------- */
.busca{position:relative}
.sugestoes{position:absolute;top:calc(100% + 6px);right:0;width:380px;max-width:90vw;z-index:60;
 background:var(--s1);border:1px solid var(--br2);border-radius:12px;
 box-shadow:0 12px 32px rgba(0,0,0,.55);overflow:hidden;padding:5px}
.sugestoes .sg{display:grid;grid-template-columns:16px minmax(0,1fr) max-content;
 align-items:center;gap:12px;width:100%;padding:9px 12px;
 background:transparent;border:0;border-radius:8px;color:var(--tx);cursor:pointer;
 text-align:left;font:inherit;font-size:13.5px}
.sugestoes .sg svg{position:static;color:var(--tx3);display:block}
.sugestoes .sg:hover,.sugestoes .sg.on{background:var(--s3)}
.sugestoes .sg:hover svg,.sugestoes .sg.on svg{color:var(--lime)}
.sugestoes .sg .t{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;
 white-space:nowrap;display:block}
.sugestoes .sg .d{color:var(--tx3);font-size:11.5px;font-family:ui-monospace,Menlo,monospace;
 flex:none}

/* ---------- painel da fila ---------- */
.fila{background:var(--s1);border:1px solid var(--br2);border-radius:14px;
 padding:18px 22px 16px;margin-bottom:20px}
.fila .cab{display:flex;align-items:flex-start;justify-content:space-between;
 gap:20px;flex-wrap:wrap;margin-bottom:14px}
.fila .alvo{font-size:16px;color:var(--tx);margin-top:5px;font-weight:500}
.fila .etapa{font-size:13px;color:var(--tx2);margin-top:3px}
.fila .dir{display:flex;align-items:center;gap:14px}
.fila .restam{font-size:13px;color:var(--tx2);white-space:nowrap}
.fila .restam b{color:var(--lime);font-size:19px;font-weight:600;
 font-family:ui-monospace,Menlo,monospace}
.fila .trilho{height:8px;background:var(--s3);border-radius:99px;overflow:hidden}
.fila .trilho i{display:block;height:100%;background:var(--lime);border-radius:99px;
 transition:width .5s ease;
 background-image:linear-gradient(45deg,rgba(0,0,0,.14) 25%,transparent 25%,
  transparent 50%,rgba(0,0,0,.14) 50%,rgba(0,0,0,.14) 75%,transparent 75%);
 background-size:22px 22px;animation:listras 1s linear infinite}
@keyframes listras{from{background-position:0 0}to{background-position:22px 0}}
.fila .pct{font-size:12.5px;color:var(--tx3);margin-top:8px}
.fila .pct b{color:var(--tx2);font-family:ui-monospace,Menlo,monospace}

/* ---------- seleção em massa ---------- */
.massa-barra{display:flex;align-items:center;gap:16px;background:var(--s2);
 border:1px solid var(--br2);border-radius:11px;padding:10px 16px;margin-bottom:12px;
 font-size:13.5px;color:var(--tx2)}
.massa-barra b{color:var(--lime);font-family:ui-monospace,Menlo,monospace;font-size:15px}
input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;
 border:1.5px solid var(--br2);border-radius:4px;background:var(--s2);cursor:pointer;
 display:grid;place-content:center;margin:0;vertical-align:middle}
input[type=checkbox]:hover{border-color:var(--tx3)}
input[type=checkbox]:checked{background:var(--lime);border-color:var(--lime)}
input[type=checkbox]:checked::after{content:'';width:9px;height:5px;
 border:2px solid #0A0A0A;border-top:0;border-right:0;transform:rotate(-45deg);
 margin-top:-2px}

/* ---------- inventário de documentos do cliente ---------- */
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:14px}
.doc{background:var(--s1);border:1px solid var(--br);border-radius:14px;padding:18px 20px}
.doc.falta{border-color:rgba(255,154,31,.32)}
.doc .topo{display:flex;align-items:center;gap:9px;color:var(--tx3);margin-bottom:12px}
.doc .n{font-size:30px;font-weight:600;color:var(--tx);line-height:1;
 font-family:ui-monospace,Menlo,monospace}
.doc.falta .n{color:var(--warn)}
.doc .d{font-size:12.5px;color:var(--tx2);margin-top:7px;line-height:1.5}
.doc .faixa{font-size:12px;color:var(--tx3);margin-top:9px;padding-top:9px;
 border-top:1px solid var(--br);word-break:break-word}
.doc .alerta{font-size:12px;color:var(--warn);margin-top:9px;line-height:1.5}

/* ---------- exportações agrupadas por cliente ---------- */
.grupo{background:var(--s1);border:1px solid var(--br);border-radius:14px;
 margin-bottom:12px;overflow:hidden}
.grupo[open]{border-color:var(--br2)}
.grupo summary{display:flex;align-items:center;gap:14px;padding:16px 20px;
 cursor:pointer;list-style:none;user-select:none}
.grupo summary::-webkit-details-marker{display:none}
.grupo summary:hover{background:var(--s2)}
.grupo .ico{color:var(--tx3);display:flex;flex:none}
.grupo[open] .ico{color:var(--lime)}
.grupo .nome{flex:1;min-width:0;font-size:15px;color:var(--tx);font-weight:500;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grupo .nome .cnpj{display:block;font-size:12px;color:var(--tx3);font-weight:400;
 margin-top:2px}
.grupo .meta{font-size:12.5px;color:var(--tx3);white-space:nowrap}
.grupo .val{font-size:15px;white-space:nowrap;min-width:118px;text-align:right}
.grupo summary::after{content:'';width:8px;height:8px;flex:none;
 border-right:1.6px solid var(--tx3);border-bottom:1.6px solid var(--tx3);
 transform:rotate(45deg);margin-left:4px;margin-top:-4px;transition:transform .2s}
.grupo[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.grupo table{border:0;border-radius:0;margin:0}
.grupo table th{background:var(--s2)}
.grupo table td{background:transparent}
