:root{
  --azul:#2D5BFF; --azul-hover:#2249D6; --azul-suave:#EEF2FF;
  --tinta:#0F1115; --grafite:#5A6170; --grafite-2:#8A93A3;
  --papel:#FFFFFF; --superficie:#F5F6F8; --linha:#E6E9F0; --linha-2:#EFF1F6;
  --ok:#1F9D6B; --ok-bg:#E6F6EF; --aten:#E08600; --aten-bg:#FCF1DE;
  --crit:#E5484D; --crit-bg:#FCE9EA;
  --sombra:0 1px 2px rgba(15,17,21,.04),0 4px 16px rgba(15,17,21,.05);
}
*{box-sizing:border-box}
body{margin:0;background:var(--superficie);color:var(--tinta);
  font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;margin:0;text-wrap:balance}
a{color:var(--azul);text-decoration:none}
.tab-nums{font-variant-numeric:tabular-nums}

/* ---- app shell ---- */
.app{display:grid;grid-template-columns:236px 1fr;grid-template-rows:auto 1fr;
  grid-template-areas:"top top" "side main";min-height:100vh}
.topbar{grid-area:top;display:flex;align-items:center;gap:14px;padding:11px 20px;
  background:var(--papel);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:10px}
.brand svg{width:30px;height:30px;flex:none}
.brand .nome{font-family:Poppins;font-weight:800;font-size:18px;letter-spacing:-.01em;color:var(--tinta)}
.brand .tag{font-size:11px;color:var(--grafite-2);font-weight:500;padding-left:11px;
  margin-left:2px;border-left:1px solid var(--linha)}
.top-dir{margin-left:auto;display:flex;align-items:center;gap:12px}
.plano{font-size:11.5px;font-weight:700;color:var(--azul);background:var(--azul-suave);
  padding:4px 10px;border-radius:20px;letter-spacing:.02em}
.eu{display:flex;align-items:center;gap:9px}
.eu .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2D5BFF,#7B4BFF);
  color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}
.eu .q{font-size:12.5px;font-weight:600;line-height:1.2;color:var(--tinta)}
.eu .q small{display:block;color:var(--grafite-2);font-weight:500;font-size:11px}
.sair-form{margin:0;display:inline}
.sair{font-size:12px;color:var(--grafite-2);font-weight:600;background:none;border:none;
  padding:0;cursor:pointer;font-family:inherit}
.sair:hover{color:var(--crit)}
.sair:focus-visible{outline:2px solid var(--azul);outline-offset:2px;border-radius:4px}

.side{grid-area:side;background:var(--papel);border-right:1px solid var(--linha);
  padding:14px 12px;display:flex;flex-direction:column;gap:2px}
.side .grp{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grafite-2);padding:12px 10px 6px}
.nav{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;
  font-weight:500;color:var(--grafite);font-size:13.5px}
.nav:hover{background:var(--superficie);color:var(--tinta)}
.nav.on{background:var(--azul-suave);color:var(--azul);font-weight:600}
.nav .ic{width:18px;text-align:center;flex:none;font-size:15px}
.nav .n{margin-left:auto;font-size:11px;font-weight:700;color:var(--grafite-2)}
.uso{margin-top:auto;padding:12px 10px;font-size:11.5px;color:var(--grafite-2)}
.uso .barra{height:6px;border-radius:6px;background:var(--linha);margin-top:7px;overflow:hidden}
.uso .barra i{display:block;height:100%;background:var(--azul);border-radius:6px}

.main{grid-area:main;padding:24px 26px 40px;overflow-x:hidden}
.titulo{font-size:20px;font-weight:700}
.sub{color:var(--grafite);font-size:13px;margin-top:2px}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 22px}
.kpi{background:var(--papel);border:1px solid var(--linha);border-radius:12px;padding:14px 16px}
.kpi .v{font-family:Poppins;font-weight:700;font-size:27px;letter-spacing:-.02em}
.kpi .l{font-size:12px;color:var(--grafite);margin-top:2px}
a.kpi{color:inherit;display:block}
a.kpi:hover{border-color:#BFCBFF}
a.kpi:focus-visible{outline:2px solid var(--azul);outline-offset:2px}

.secao{display:flex;align-items:baseline;gap:10px;margin:24px 0 10px}
.secao h2{font-size:15px;font-weight:700}
.secao .obs{font-size:12px;color:var(--grafite-2);font-weight:500}
.card{background:var(--papel);border:1px solid var(--linha);border-radius:12px;
  box-shadow:var(--sombra);overflow:hidden}
.vazio{padding:48px 20px;text-align:center;color:var(--grafite)}
.vazio .em{font-size:38px;margin-bottom:10px}
.vazio b{font-size:15px;color:var(--tinta)}
.vazio p{margin:8px auto 0;max-width:460px;font-size:13px}
.rodape{margin-top:26px;font-size:11.5px;color:var(--grafite-2);text-align:center}

/* kpi com foco (algo exige atenção) */
.kpi.foco{border-color:#BFCBFF;background:linear-gradient(0deg,var(--azul-suave),var(--papel) 70%)}
.kpi.foco .v{color:var(--azul)}
.kpi.aten{border-color:#F1D79A;background:linear-gradient(0deg,var(--aten-bg),var(--papel) 70%)}
.kpi.aten .v{color:var(--aten)}

/* ---- mensagens (django messages) ---- */
.msgs{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.msg{border-radius:10px;padding:11px 14px;font-size:13px;font-weight:500;border:1px solid}
.msg.success{background:var(--ok-bg);color:#12724D;border-color:#BEE7D4}
.msg.error{background:var(--crit-bg);color:#B4272B;border-color:#F4C4C6}
.msg.warning{background:var(--aten-bg);color:#9A5B00;border-color:#F1D79A}
.msg.info{background:var(--azul-suave);color:#1F3FB8;border-color:#BFCBFF}

/* ---- cabeçalho de página com ação ---- */
.cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.btn-inline{background:var(--azul);color:#fff;font-weight:700;font-size:13px;padding:9px 15px;
  border-radius:9px;white-space:nowrap;box-shadow:var(--sombra)}
.btn-inline:hover{background:var(--azul-hover);color:#fff}
.btn-inline.off{background:var(--linha);color:var(--grafite-2);cursor:not-allowed;box-shadow:none}
.voltar{font-size:13px;font-weight:600;color:var(--grafite);align-self:center}
.voltar:hover{color:var(--azul)}
.nota{margin-top:12px;font-size:12.5px;color:var(--aten);font-weight:500}

/* ---- agenda de prazos (o radar) ---- */
.card.ag{padding:4px}
.ag-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:9px;
  color:var(--tinta)}
.ag-item + .ag-item{border-top:1px solid var(--linha-2)}
.ag-item:hover{background:var(--superficie)}
.ag-item .dias{flex:none;width:56px;text-align:center;line-height:1;padding:6px 0;
  border-radius:8px;background:var(--superficie)}
.ag-item .dias b{display:block;font-family:Poppins;font-weight:700;font-size:20px}
.ag-item .dias small{display:block;font-size:9px;font-weight:700;letter-spacing:.05em;
  color:var(--grafite-2);margin-top:1px}
.ag-item .dias.crit{background:var(--crit-bg)}.ag-item .dias.crit b{color:var(--crit)}
.ag-item .dias.aten{background:var(--aten-bg)}.ag-item .dias.aten b{color:var(--aten)}
.ag-item .dias.ok{background:var(--ok-bg)}.ag-item .dias.ok b{color:var(--ok)}
.ag-item .corpo{flex:1;min-width:0}
.ag-item .tt{display:block;font-weight:600;font-size:13.5px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.ag-item .meta{display:block;font-size:12px;color:var(--grafite-2);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:4px 9px;
  border-radius:20px;background:var(--superficie);color:var(--grafite)}
.pill.renovacao{background:var(--azul-suave);color:var(--azul)}
.pill.condicionante{background:#F0ECFF;color:#6A45D8}

/* ---- tabela de licenças ---- */
.tab{width:100%;border-collapse:collapse;font-size:13.5px}
.tab th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--grafite-2);padding:12px 16px;border-bottom:1px solid var(--linha)}
.tab td{padding:13px 16px;border-bottom:1px solid var(--linha-2);vertical-align:middle}
.tab tr:last-child td{border-bottom:none}
.tab tbody tr:hover{background:var(--superficie)}
.tab .dir{text-align:right}
.tab .forte{font-weight:600}
.tab .num{color:var(--grafite-2);font-weight:500}
.st{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px}
.st.ok{background:var(--ok-bg);color:#12724D}
.st.aten{background:var(--aten-bg);color:#9A5B00}
.st.crit{background:var(--crit-bg);color:#B4272B}
.st.neutro{background:var(--superficie);color:var(--grafite-2)}
.vazio .btn-inline{display:inline-block;margin-top:16px}

/* ---- formulário de licença ---- */
.form{padding:20px 22px 22px}
.grp-form{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grafite-2);margin:6px 0 10px}
.grp-form + .linha{margin-bottom:6px}
.grp-form .obs{text-transform:none;letter-spacing:0;font-weight:500;font-size:12px;margin-left:8px}
.tab-rolagem{overflow-x:auto}
.linha{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:4px}
.linha .campo{flex:1;min-width:150px}
.linha .campo.lg{flex:2;min-width:220px}
.campo input,.campo textarea,.campo select{width:100%;border:1px solid var(--linha);
  border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;color:var(--tinta);
  background:var(--papel);resize:vertical}
.campo input:focus,.campo textarea:focus,.campo select:focus{border-color:var(--azul);
  outline:2px solid var(--azul-suave)}
.acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;
  padding-top:16px;border-top:1px solid var(--linha-2)}
.btn.compacto{display:inline-block;width:auto;margin:0;padding:11px 22px}
.btn-sec{display:inline-block;font-weight:700;font-size:14px;padding:11px 18px;border-radius:10px;
  color:var(--grafite);background:var(--superficie)}
.btn-sec:hover{background:var(--linha)}

/* ---- Sessão 3: envio, conferência, ficha do cliente, checklist ---- */
.cab-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cab-acoes .btn-sec{padding:9px 15px;font-size:13px;border-radius:9px}
.nav .n.alerta{background:var(--crit-bg);color:#B4272B;padding:1px 7px;border-radius:20px}
.tab-link tbody tr{cursor:pointer}
.tab-link tbody tr:focus-visible{outline:2px solid var(--azul);outline-offset:-2px}
.tab-link td a{color:inherit}
.tab-link tbody tr:hover .forte a{color:var(--azul)}
.num-tit{color:var(--grafite-2);font-weight:500}
.nota-neutra{font-size:12.5px;color:var(--grafite-2);margin:4px 0 0}
.ajuda{font-size:11.5px;color:var(--grafite-2);margin-top:4px}

/* drop-zone de envio */
.drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;
  padding:38px 20px 30px;border:2px dashed #C9D2F5;border-radius:14px;cursor:pointer;
  background:linear-gradient(0deg,var(--azul-suave),var(--papel) 85%);color:var(--tinta);
  transition:border-color .15s,background .15s}
.drop:hover,.drop.sobre{border-color:var(--azul);background:var(--azul-suave)}
.drop:focus-within{outline:2px solid var(--azul);outline-offset:2px}
.drop.tem{border-style:solid;border-color:var(--ok);background:var(--ok-bg)}
.drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.drop-ic{font-size:34px;line-height:1;color:var(--azul);margin-bottom:4px}
.drop b{font-size:15px;font-family:Poppins;font-weight:600}
.drop-dica{font-size:12px;color:var(--grafite)}
.drop-nome{font-size:13px;font-weight:600;color:#12724D;margin-top:6px;word-break:break-all}
.drop-aviso{font-size:12.5px;color:var(--aten);font-weight:500;margin:12px 0 0;
  display:flex;align-items:center;gap:6px}
.drop-aviso::before{content:"◔";font-size:14px}
.form.lendo{opacity:.75;pointer-events:none}
.form.lendo .drop{border-color:var(--azul);animation:pulsar 1.2s ease-in-out infinite}
@keyframes pulsar{0%,100%{box-shadow:0 0 0 0 rgba(45,91,255,.18)}50%{box-shadow:0 0 0 8px rgba(45,91,255,0)}}
.btn:disabled,.btn-mini:disabled{opacity:.6;cursor:progress}

/* banners (não é licença / bloqueio) */
.banner{border-radius:12px;padding:14px 18px;margin:18px 0 0;font-size:13.5px;border:1px solid;
  display:flex;flex-direction:column;gap:3px}
.banner b{font-family:Poppins;font-weight:600;font-size:14px}
.banner ul{margin:4px 0 0;padding-left:18px}
.banner.aviso{background:var(--aten-bg);color:#7A4800;border-color:#F1D79A}
.banner.bloqueio{background:var(--crit-bg);color:#B4272B;border-color:#F4C4C6}

/* conferência: formulário + painel lateral "Como foi lido" */
.conferir{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:18px;
  align-items:start}
.leitura{background:var(--papel);border:1px solid var(--linha);border-radius:12px;
  box-shadow:var(--sombra);padding:18px 18px 16px;position:sticky;top:76px}
.leitura h2{font-size:14px;font-weight:700;margin-bottom:10px}
.leitura h3{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--grafite-2);margin:14px 0 6px}
.leitura h3.crit{color:var(--crit)}
.leitura h3.aten{color:var(--aten)}
.leitura dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:12.5px}
.leitura dt{color:var(--grafite-2);font-weight:600;white-space:nowrap}
.leitura dd{margin:0;min-width:0;overflow-wrap:anywhere}
.leitura dd small{color:var(--grafite-2);display:block;font-size:11.5px}
.leitura .lst{margin:0;padding-left:16px;font-size:12.5px;color:var(--grafite)}
.leitura .lst.crit{color:#B4272B}
.leitura .lst.aten{color:#9A5B00}
.leitura .lst li+li{margin-top:4px}
.leitura-pe{font-size:11.5px;color:var(--grafite-2);margin:14px 0 0;padding-top:12px;
  border-top:1px solid var(--linha-2)}

/* badge de método de leitura */
.metodo{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--superficie);
  color:var(--grafite)}
.metodo.texto_nativo{background:var(--ok-bg);color:#12724D}
.metodo.ocr_suave{background:var(--azul-suave);color:var(--azul)}
.metodo.ocr_agressivo{background:var(--aten-bg);color:#9A5B00}
.metodo.sem_texto{background:var(--crit-bg);color:#B4272B}
.metodo.manual{background:var(--superficie);color:var(--grafite-2)}
.metodo.mini{font-size:9.5px;padding:2px 6px;vertical-align:middle}

/* formset de condicionantes candidatas */
.conds{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.cond{display:grid;grid-template-columns:auto 64px minmax(0,1fr) 170px 150px auto;gap:10px;
  align-items:start;padding:12px;border:1px solid var(--linha);border-radius:10px;
  background:var(--papel)}
.cond.fora{opacity:.5;background:var(--superficie)}
.cond label{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--grafite-2);display:block;margin-bottom:3px}
.cond input,.cond textarea{width:100%;border:1px solid var(--linha);border-radius:8px;
  padding:7px 9px;font:inherit;font-size:13px;color:var(--tinta);background:var(--papel)}
.cond input:focus,.cond textarea:focus{border-color:var(--azul);outline:2px solid var(--azul-suave)}
.cond textarea{resize:vertical;min-height:52px}
.cond-inc,.cond-ent{display:flex;align-items:center;gap:6px;padding-top:8px;
  font-size:12px;font-weight:600;color:var(--grafite);text-transform:none;letter-spacing:0}
.cond-inc input,.cond-ent input{width:16px;height:16px;accent-color:var(--azul);margin:0}
.cond-prazo input[type=text]{margin-top:6px;font-size:12px}
.cond-freq .meses{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:11.5px;
  color:var(--grafite-2)}
.cond-freq .meses input{width:64px}

/* ficha (licença e cliente) */
.card.ficha{padding:18px 22px;margin-top:18px}
.ficha-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 22px}
.ficha-grid dt{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--grafite-2);margin-bottom:3px;display:block}
.ficha-grid dd{margin:0;font-size:14px;font-weight:500;display:flex;align-items:center;
  gap:8px;flex-wrap:wrap}
.ficha-grid .neutro{color:var(--grafite-2);font-weight:400}
.ficha-obs{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--linha-2);
  font-size:13px;color:var(--grafite);white-space:pre-line}
.tab-conds .desc{max-width:520px}
.tab-conds .desc small{display:block;color:var(--grafite-2);font-size:11.5px;margin-top:2px}
.tab-conds .origem{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--azul);background:var(--azul-suave);
  padding:1px 6px;border-radius:5px;vertical-align:middle}
.tab-conds tr.entregue td{color:var(--grafite-2)}
.tab-conds tr.entregue .desc{text-decoration:line-through}
.tab-conds tr.vencida .desc{color:#B4272B}
.tab-conds .meses-nota{display:block;font-size:11px;color:var(--grafite-2);margin-top:2px}
.tab input.mini{border:1px solid var(--linha);border-radius:7px;padding:6px 8px;font:inherit;
  font-size:12.5px;color:var(--tinta);background:var(--papel);width:100%;min-width:110px}
.tab input.mini:focus{border-color:var(--azul);outline:2px solid var(--azul-suave)}
.chk-ent input{width:16px;height:16px;accent-color:var(--ok)}
.btn-mini{display:inline-block;border:none;background:var(--azul);color:#fff;font-weight:700;
  font-size:12px;padding:7px 12px;border-radius:8px;cursor:pointer;font-family:inherit;
  white-space:nowrap;line-height:1.2}
.btn-mini:hover{background:var(--azul-hover);color:#fff}
.btn-mini:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.btn-mini.sec{background:var(--superficie);color:var(--grafite)}
.btn-mini.sec:hover{background:var(--linha);color:var(--tinta)}
details.nova-cond{margin-top:14px}
details.nova-cond summary{cursor:pointer;padding:14px 22px;font-weight:700;font-size:13.5px;
  color:var(--azul);list-style:none}
details.nova-cond summary::-webkit-details-marker{display:none}
details.nova-cond summary:hover{background:var(--superficie)}
details.nova-cond[open] summary{border-bottom:1px solid var(--linha-2)}
details.nova-cond .form{padding-top:16px}

/* ficha do cliente: dados + checklist lado a lado */
.ficha-cliente{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
.ficha-cliente .secao{margin-top:18px}
.ficha-cliente .secao:first-child{margin-top:0}
.ramo-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ramo-form label{font-size:12px;font-weight:600;color:var(--grafite)}
.ramo-form select{border:1px solid var(--linha);border-radius:9px;padding:8px 10px;font:inherit;
  font-size:13.5px;color:var(--tinta);background:var(--papel)}
.ramo-form select:focus{border-color:var(--azul);outline:2px solid var(--azul-suave)}
.ramo-form .ajuda{margin:0;flex-basis:100%}
.pill.ramo{background:var(--azul-suave);color:var(--azul)}

/* checklist de documentos */
.chk{display:flex;flex-direction:column}
.chk-item{display:flex;align-items:center;gap:12px;padding:12px 16px}
.chk-item+.chk-item{border-top:1px solid var(--linha-2)}
.chk-st{flex:none;width:10px;height:10px;border-radius:50%;background:var(--crit)}
.chk-item.tem .chk-st{background:var(--aten)}
.chk-item.enviado .chk-st{background:var(--ok)}
.chk-item.falta{background:linear-gradient(90deg,var(--crit-bg) 0,transparent 3px)}
.chk-corpo{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.chk-corpo b{font-size:13.5px;font-weight:600}
.chk-sit{font-size:12px;color:var(--grafite-2);display:flex;align-items:center;gap:8px;
  flex-wrap:wrap}
.chk-sit a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.chk-acoes{display:flex;gap:6px;flex:none}
.chk-acoes form{margin:0}
.chk-envio label{cursor:pointer;position:relative}
.chk-envio label:focus-within{outline:2px solid var(--azul);outline-offset:2px}
/* input de arquivo visualmente oculto mas alcançável por teclado (hidden = display:none tirava do tab) */
.chk-envio input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.vazio form.inline{display:inline}

/* documentos pendentes (agregado) */
.card.pend{padding:4px}
.pend-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:9px;
  color:var(--tinta)}
.pend-item+.pend-item{border-top:1px solid var(--linha-2)}
.pend-item:hover{background:var(--superficie)}
.pend-n{flex:none;width:56px;text-align:center;line-height:1;padding:6px 0;border-radius:8px;
  background:var(--crit-bg)}
.pend-n b{display:block;font-family:Poppins;font-weight:700;font-size:20px;color:var(--crit)}
.pend-n small{display:block;font-size:9px;font-weight:700;letter-spacing:.05em;
  color:var(--grafite-2);margin-top:1px}
.pend-corpo{flex:1;min-width:0}
.pend-corpo .tt{display:block;font-weight:600;font-size:13.5px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.pend-corpo .meta{display:block;font-size:12px;color:var(--grafite-2);margin-top:2px}
.vazio.compacto{padding:26px 16px}
.vazio.compacto .btn-inline{margin-top:12px}
.vazio .btn-sec{display:inline-block;margin:16px 0 0 8px}

@media(max-width:1080px){.conferir,.ficha-cliente{grid-template-columns:1fr}
  .leitura{position:static}
  .cond{grid-template-columns:auto 64px minmax(0,1fr);grid-auto-rows:auto}
  .cond-prazo,.cond-freq,.cond-ent{grid-column:2/-1}}
@media(max-width:820px){.kpis{grid-template-columns:1fr 1fr}
  .app{grid-template-columns:1fr;grid-template-areas:"top" "main"}.side{display:none}
  .ag-item .pill,.pend-item .pill{display:none}}

/* ---- auth (login / cadastro) ---- */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{background:var(--papel);border:1px solid var(--linha);border-radius:16px;
  box-shadow:var(--sombra);width:min(420px,100%);padding:30px 30px 26px}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.auth-brand svg{width:34px;height:34px}
.auth-brand .nome{font-family:Poppins;font-weight:800;font-size:20px}
.auth h1{font-size:18px;margin-top:16px}
.auth .sub{margin-bottom:18px}
.campo{margin-bottom:14px}
.campo label{display:block;font-size:12px;font-weight:600;color:var(--grafite);
  margin-bottom:5px}
.campo input{width:100%;border:1px solid var(--linha);border-radius:9px;padding:10px 12px;
  font:inherit;font-size:14px;color:var(--tinta);background:var(--papel)}
.campo input:focus{border-color:var(--azul);outline:2px solid var(--azul-suave)}
.erro{color:var(--crit);font-size:12px;margin-top:5px}
.erro-geral{background:var(--crit-bg);color:var(--crit);border-radius:9px;padding:10px 12px;
  font-size:12.5px;font-weight:500;margin-bottom:14px}
.btn{display:block;width:100%;border:none;background:var(--azul);color:#fff;font-weight:700;
  font-size:14px;padding:12px;border-radius:10px;cursor:pointer;font-family:inherit;margin-top:4px}
.btn:hover{background:var(--azul-hover)}
.troca{text-align:center;font-size:13px;color:var(--grafite);margin-top:18px}
.endosso{font-size:10px;color:var(--grafite-2);line-height:1.3;padding:12px 10px;letter-spacing:.03em;text-transform:uppercase}
.endosso img{display:block;width:100%;max-width:158px;height:auto;margin-top:7px;opacity:.92}
.auth .endosso{text-align:center;margin-top:18px;padding:0}
.auth .endosso img{margin:7px auto 0}


/* ---- ações destrutivas (editar/excluir) ---- */
.btn-sec.perigo,.btn-mini.perigo{color:var(--crit);background:var(--crit-bg);border-color:#F4C4C6}
.btn-sec.perigo:hover,.btn-mini.perigo:hover{background:#F8D7D9;color:#B4272B}
.cab-acoes form{display:inline}
.acoes-linha{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.acoes-linha form{display:inline}
.ramo-form label{display:block;font-size:12px;font-weight:600;color:var(--grafite);margin:10px 0 4px}
.ramo-form input,.ramo-form select{width:100%}

/* ---- equipe e convites ---- */
.convite-novo{padding:18px 20px;margin-top:16px;border-color:#BFCBFF;background:linear-gradient(0deg,var(--azul-suave),var(--papel) 60%)}
.convite-novo h2{font-size:15px;font-weight:700}
.linha-copiar{display:flex;gap:10px;margin-top:12px;align-items:center;flex-wrap:wrap}
.linha-copiar input{flex:1;min-width:240px;border:1px solid var(--linha);border-radius:9px;
  padding:10px 12px;font:inherit;font-size:13px;background:var(--papel);color:var(--tinta)}
.linha-copiar .btn-inline{border:none;cursor:pointer;font-family:inherit}
.mini.link{width:100%;min-width:200px;font-size:11.5px;color:var(--grafite)}
.acao-campo{display:flex;align-items:flex-end;min-width:150px}
.acao-campo .btn{margin:0}
