/* Layout novo (D-06/11-8, 04/11): SIGE por dentro (campos, ordem, faixas "Pesquisar" e "Listagem", paginacao numerica),
   Cidade 360 por fora (corpo claro, azul-600, barra fixa com chip do usuario, cartoes, pilulas de status, Figtree) e acabamento
   da Base (hierarquia de texto, sombras, acento dourado no "Pesquisar"). Proposta: SCRUM/PROPOSTA_LAYOUT_NOVO_2026-11-02.md.
   Sem logotipo, marca ou imagem de nenhum dos sistemas. Tema claro = padrao; escuro = html[data-tema="escuro"] (tokens de 6f70fb4). */
@font-face{font-family:"Figtree";src:url(fonts/figtree-var.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{--fundo:#f3f5f8;--sup:#fff;--sup2:#f1f5f9;--bd:#e5e7eb;--bd2:#cbd5e1;
  --tx:#0f172a;--tx2:#475569;--tx3:#64748b;--tx4:#94a3b8;
  --topo-a:var(--cli-pri,#1e3a8a);--topo-b:#0f172a;--pri:var(--cli-pri,#2563eb);--pri2:var(--cli-pri2,#1d4ed8);--pri-suave:var(--cli-pri-suave,#dbeafe);--pri-grad:linear-gradient(135deg,var(--pri),var(--cli-pri-claro,#0ea5e9));
  --acento:var(--cli-dest,#f7ac29);--acento-faixa:var(--cli-dest-faixa,#fff4dc);--acento-filtros:var(--cli-dest-filtros,#fffaf0);--acento-tx:var(--cli-dest-tx,#5c3d00);
  --faixa:#1e293b;--th:#f1f5f9;--linha:#eef2f6;--hover:#eff6ff;
  --ok:#15803d;--ok-s:#dcfce7;--aviso:#b45309;--aviso-s:#fef3c7;--erro:#b91c1c;--erro-s:#fee2e2;--info:#1d4ed8;--info-s:#dbeafe;
  --raio:8px;--raio-cartao:14px;--elev1:0 1px 2px rgba(15,23,42,.06);--elev2:0 6px 18px -6px rgba(15,23,42,.18);--elev3:0 18px 44px -14px rgba(15,23,42,.28);
  --fonte:"Figtree","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--fundo)}
body{margin:0;font:13px/1.4 var(--fonte);background:var(--fundo);color:var(--tx)}

/* Topo fixo: marca a esquerda, modulos do SIGE a direita (menu suspenso), chip do usuario por ultimo */
.topo{background:linear-gradient(90deg,var(--topo-a),var(--topo-b));color:#fff;display:flex;align-items:stretch;justify-content:space-between;padding:0 16px;min-height:56px;position:sticky;top:0;z-index:10;box-shadow:var(--elev2);flex-wrap:wrap}
.topo .marca{font-weight:800;font-size:20px;letter-spacing:-.3px;align-self:center;padding:10px 0;display:flex;align-items:center;gap:9px;color:#fff}
/* Identidade (D-05/11-8): velocimetro da Carbon fixo + logo (ou nome) do cliente ao lado; cores do cliente pelas variaveis --cli-* (identidade.js) */
.topo .marca img.veloc{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.topo .cli{display:inline-flex;align-items:center;gap:8px;margin-left:6px;padding-left:12px;border-left:1px solid rgba(255,255,255,.28);font-size:14px;font-weight:600;letter-spacing:0;color:rgba(255,255,255,.92)}
.topo .cli img{height:30px;max-width:150px;object-fit:contain;background:#fff;border-radius:6px;padding:2px 6px}
nav{display:flex;flex-wrap:wrap;align-items:stretch}
nav .modulo{position:relative;display:flex}
nav .mod-tit{display:flex;align-items:center;color:rgba(255,255,255,.86);padding:0 12px;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;user-select:none;outline:none;border-bottom:2px solid transparent}
nav .mod-tit::after{content:"\25BE";font-size:9px;margin-left:5px;opacity:.7}
nav .modulo.on>.mod-tit{border-bottom-color:#60a5fa;color:#fff}
nav .mod-tit:hover,nav .mod-tit:focus,nav .modulo.aberto>.mod-tit{background:rgba(255,255,255,.1);color:#fff}
nav .sub{display:none;position:absolute;right:0;top:100%;background:var(--sup);color:var(--tx);border:1px solid var(--bd);border-radius:12px;box-shadow:var(--elev3);min-width:250px;padding:6px 0;z-index:20;max-height:80vh;overflow:auto}
nav .modulo:hover>.sub,nav .modulo:focus-within>.sub,nav .modulo.aberto>.sub{display:block}
nav .sub a{display:block;padding:6px 16px;color:var(--tx);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:13px;border-left:3px solid transparent}
nav .sub a:hover{background:var(--hover)}
nav .sub a.on{background:var(--pri-suave);border-left-color:var(--pri);color:var(--pri2);font-weight:600}
nav .sub .grupo{margin:6px 12px 2px;padding:6px 4px 3px;font-weight:700;color:var(--pri);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--bd);cursor:default}
nav .usuario .sub span{display:block;padding:6px 16px;color:var(--tx3);font-size:12px}
/* chip do usuario (Cidade 360): circulo com a inicial, nome, seta */
nav .usuario .mod-tit{margin:10px 0 10px 8px;height:36px;border-radius:999px;background:rgba(255,255,255,.12);padding:0 12px 0 4px;gap:8px;border-bottom:0}
nav .usuario .mod-tit::before{content:attr(data-inicial);width:28px;height:28px;border-radius:50%;background:var(--pri-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}

/* Linha de saudacao ("Ola X, voce esta logado(a) desde as"), empresa ativa e tema */
.saudacao{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;background:var(--sup);border-bottom:1px solid var(--bd);flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--tx2)}
.saudacao strong{color:var(--tx)}
.saudacao select{width:auto;min-width:220px;height:28px;padding:2px 8px}
button.tema{height:24px;padding:0 10px;font-size:11px;border-radius:999px;box-shadow:none}

/* Corpo: faixa-titulo escura (SIGE) em cada tela, com marcador dourado */
main{padding:12px 16px 28px;max-width:1440px;margin:0 auto}
main>div>h2:first-child,main>div>div:first-child>h2:first-child{background:var(--faixa);color:#fff;font-size:13px;font-weight:700;padding:9px 14px;margin:0 0 10px;border-radius:10px;display:flex;align-items:center;gap:9px;box-shadow:var(--elev1);border:0}
main>div>h2:first-child::before,main>div>div:first-child>h2:first-child::before{content:"";width:4px;height:14px;border-radius:2px;background:var(--acento)}
h2{margin:12px 0 8px;font-size:13px;font-weight:700;color:var(--tx)}
main>div>p,main>div>div:first-child>p{padding:0 4px}
.card{background:var(--sup);border:1px solid var(--bd);border-radius:var(--raio-cartao);padding:12px 14px;margin:0 0 12px;box-shadow:var(--elev1)}
/* titulos de secao dentro do cartao (blocos do SIGE: Dados Principais, Endereco, Contato...) */
.card h2,.grid>h3.secao{grid-column:1/-1;margin:10px 0 8px;padding:0 0 5px;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--pri);border-bottom:1px solid var(--bd)}
.card>h2:first-child{margin-top:0}
.card>p:only-child{margin:0}
/* Base (04/11, secao 6.4 da proposta): trilha acima da faixa-titulo; linha de 3px no cartao principal da ficha; estado vazio com moldura; entrada curta dos blocos */
.trilha{margin:0 0 6px;padding:0 4px;font-size:12px;color:var(--tx3)}
.card.destaque{position:relative;overflow:hidden}
.card.destaque::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--pri-grad)}
p.vazio{border:1px dashed var(--bd2);border-radius:var(--raio-cartao);padding:16px;text-align:center;margin:8px 0}
@keyframes entra{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.card,main>div>h2:first-child{animation:entra .18s ease-out both}
.card:nth-of-type(2){animation-delay:40ms}.card:nth-of-type(3){animation-delay:80ms}.card:nth-of-type(4){animation-delay:120ms}.card:nth-of-type(5){animation-delay:160ms}
@media (prefers-reduced-motion:reduce){.card,main>div>h2:first-child{animation:none}}
.grid>p.secao-nota{grid-column:1/-1;margin:0 0 4px;font-size:11px}

/* Pesquisar (faixa dourada suave), filtros e Listagem (escura): mesmos campos e ordem do SIGE */
.card>[data-busca]{margin:0 -14px 8px}
.card>[data-busca]:first-child{margin-top:-12px;border-radius:var(--raio-cartao) var(--raio-cartao) 0 0;overflow:hidden}
.pesquisar{background:var(--acento-faixa);border-left:4px solid var(--acento);color:var(--acento-tx);font-weight:700;font-size:12px;padding:7px 12px}
.filtros{background:var(--acento-filtros);border-left:4px solid var(--acento);padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:center}
.filtros label{display:inline;margin:0 4px 0 0;color:var(--tx2);font-size:12px;font-weight:500}
.filtros input,.filtros select{width:auto;height:28px}
.filtros input[type=search]{min-width:250px;padding-left:28px;background:var(--sup) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") no-repeat 9px center/14px}
.filtros [data-busca-conta]{font-size:11.5px}
.listagem{background:var(--faixa);color:#fff;font-weight:700;font-size:12px;padding:7px 12px}

/* Tabela densa (SIGE) com acabamento do Cidade 360: cabecalho cinza-claro, linhas finas, hover, status em pilula */
table{width:100%;border-collapse:collapse}
.card table{margin:0 -14px;width:calc(100% + 28px)}
details table{margin:0;width:100%}
th{background:var(--th);color:var(--tx2);text-align:left;font-weight:600;padding:6px 10px;font-size:12px;border-bottom:1px solid var(--bd);white-space:nowrap}
td{padding:5px 10px;border-bottom:1px solid var(--linha);font-size:12.5px;vertical-align:middle}
tbody tr:hover td{background:var(--hover)}
td button{height:24px;padding:0 9px;font-size:11.5px}
.pilula{display:inline-block;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap;background:var(--sup2);color:var(--tx2);border:1px solid var(--bd)}
.pilula[data-status=ATIVO],.pilula[data-status=ATIVA],.pilula[data-status=APROVADO],.pilula[data-status=ACEITO],.pilula[data-status=CONCLUIDO],.pilula[data-status=CONCLUIDA],.pilula[data-status=CONFIRMADA],.pilula[data-status=QUITADA],.pilula[data-status=PARAMETRIZADO]{background:var(--ok-s);color:var(--ok);border-color:transparent}
.pilula[data-status=PENDENTE],.pilula[data-status=AGUARDANDO],.pilula[data-status=EM_ABERTO],.pilula[data-status=ABERTA],.pilula[data-status=ABERTO],.pilula[data-status=PENDENTE_DEFINICAO]{background:var(--aviso-s);color:var(--aviso);border-color:transparent}
.pilula[data-status=EM_FILA],.pilula[data-status=ENVIADO],.pilula[data-status=EM_ANDAMENTO],.pilula[data-status=EM_PRODUCAO],.pilula[data-status=INICIADO],.pilula[data-status=INICIADA],.pilula[data-status=EM_EXPEDICAO]{background:var(--info-s);color:var(--info);border-color:transparent}
.pilula[data-status=RECUSADO],.pilula[data-status=REPROVADO],.pilula[data-status=CANCELADO],.pilula[data-status=CANCELADA],.pilula[data-status=BLOQUEADO],.pilula[data-status=INATIVO],.pilula[data-status=VENCIDO],.pilula[data-status=FALHOU],.pilula[data-status=REJEITADO]{background:var(--erro-s);color:var(--erro);border-color:transparent}

/* Formularios: rotulo acima do campo, campos compactos, foco azul; botoes Concluir/Inicio no mesmo lugar */
label{display:block;margin:8px 0 3px;color:var(--tx2);font-size:12px;font-weight:500}
input,select,textarea{width:100%;height:30px;padding:4px 8px;border:1px solid var(--bd2);border-radius:var(--raio);background:var(--sup);color:var(--tx);font:12.5px var(--fonte)}
textarea{height:auto;min-height:60px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-suave)}
input::placeholder{color:var(--tx4)}
button{height:30px;padding:0 12px;border:1px solid var(--bd2);border-radius:var(--raio);background:var(--sup);color:var(--tx);font:600 12.5px var(--fonte);cursor:pointer;box-shadow:var(--elev1);transition:background .15s,border-color .15s}
button:hover{background:var(--sup2);border-color:var(--tx4)}
button.pri{background:var(--pri);color:#fff;border-color:var(--pri)}
button.pri:hover{background:var(--pri2);border-color:var(--pri2)}
button:disabled{opacity:.55;cursor:not-allowed}
/* Paginacao numerica (SIGE): pagina atual em pilula azul */
.paginacao{text-align:center;margin:10px 0 0;font-size:12px}
button.pag{min-width:28px;height:26px;padding:0 6px;box-shadow:none;border-color:transparent;background:transparent}
button.pag.on{background:var(--pri);color:#fff;border-color:var(--pri);opacity:1;cursor:default}
.lacuna{font-size:11px;background:var(--aviso-s);color:var(--aviso);border-left:3px solid var(--aviso);border-radius:6px;padding:5px 10px;margin:6px 0 8px}
.err{background:var(--erro-s);color:var(--erro);border:1px solid var(--erro);border-radius:var(--raio);padding:8px 10px;margin:8px 0;font-size:12.5px}
.ok{color:var(--ok)}
.mut{color:var(--tx3)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
.inline select,.inline input{width:auto;display:inline-block;margin:2px 0}.inline label{display:inline-block;margin-right:6px}
td input,input[type=checkbox]{width:auto;height:auto}
details{margin:8px 0}
summary{cursor:pointer;color:var(--pri);font-weight:600;font-size:12.5px}
/* Icones de linha ao lado do texto dos botoes (Heroicons, MIT, em icones.js); excluir em vermelho como no SIGE */
button .ico{width:14px;height:14px;margin-right:5px;vertical-align:-3px}
td button .ico{width:13px;height:13px;margin-right:4px;vertical-align:-2px}
button.tema .ico{width:12px;height:12px;margin-right:4px;vertical-align:-2px}
button.perigo{color:var(--erro);border-color:#f1b8b8}
button.perigo:hover{background:var(--erro-s);border-color:var(--erro)}
/* Login (05/11, formato do CB Meet): pagina azul-marinho com brilho sutil; cartao a esquerda, mensagem de impacto a direita.
   Laranja da Carbon so no destaque (botao Entrar e marcadores); as cores do cliente entram depois do login. */
.login-pagina{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;
  background:radial-gradient(900px 520px at 72% 18%,#1b3a6b 0%,#0e2042 42%,#081528 75%,#060f1f 100%);color:#e8edf5}
.login-grade{display:grid;grid-template-columns:400px minmax(0,1fr);gap:48px;align-items:center;width:100%;max-width:1040px}
.login{margin:0;max-width:none;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:26px 26px 18px;background:var(--sup);color:var(--tx);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.85),0 0 70px -24px rgba(232,124,39,.45)}
.login h2{display:flex;align-items:center;gap:10px;margin:0 0 4px;padding:0;background:none;color:var(--tx);font-size:22px;font-weight:800;letter-spacing:-.3px;border:0}
.login h2 img.veloc{width:46px;height:46px;object-fit:contain;background:none;padding:0}
.login h2 .cli{margin-left:auto;display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--tx2)}
.login h2 .cli img{height:32px;max-width:130px;object-fit:contain;background:#fff;border-radius:6px;padding:2px 5px}
.login .login-sub{margin:0 0 14px;color:var(--tx3);font-size:12.5px}
.login label{margin-top:10px}
.login input{height:42px;border-radius:10px}
.login button.pri{width:100%;height:44px;margin-top:4px;border-radius:10px;font-size:14px;font-weight:700;background:#e87c27;border-color:#e87c27;color:#fff;box-shadow:0 8px 20px -10px rgba(232,124,39,.9)}
.login button.pri:hover{background:#d96f1c;border-color:#d96f1c}
.login .login-tema{text-align:right;margin:12px 0 0}
.login-impacto{padding:8px 0}
.login-impacto .rotulo{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f0a35c}
.login-impacto h1{margin:0 0 18px;font-size:34px;line-height:1.15;font-weight:700;letter-spacing:-.4px;color:#fff}
.login-impacto ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:520px}
.login-impacto li{position:relative;padding-left:22px;font-size:15px;line-height:1.45;color:rgba(232,237,245,.86)}
.login-impacto li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:#e87c27;box-shadow:0 0 12px rgba(232,124,39,.8)}
.login-impacto .assinatura{margin:22px 0 0;font-size:12px;color:rgba(232,237,245,.5)}
@media (max-width:900px){.login-grade{grid-template-columns:1fr;gap:28px;max-width:440px}.login-impacto{order:2;padding:0 4px}.login-impacto h1{font-size:26px}}
@media (max-width:720px){nav .sub{left:0;right:auto}.topo{padding:0 8px}main{padding:8px 8px 24px}}

/* Painel inicial (05/11, item 3): numeros grandes, barras simples, "O que fazer agora"; menu lateral fica para a segunda */
nav .mod-tit.direto::after{content:none}
.topo .marca{cursor:pointer}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 12px}
.kpi{background:var(--sup);border:1px solid var(--bd);border-radius:var(--raio-cartao);padding:14px 16px;box-shadow:var(--elev1);position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--pri-grad)}
.kpi .rot{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}
.kpi .num{display:block;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1.1;margin:6px 0 4px;color:var(--tx)}
.kpi .sub{display:block;font-size:12px;color:var(--tx2)}
.kpi .var{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:600;color:var(--ok);background:var(--ok-s);border-radius:999px;padding:2px 8px}
.painel-grade{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px}
.barras{display:grid;gap:8px;margin-top:6px}
.barra{display:grid;grid-template-columns:170px 1fr 40px;align-items:center;gap:10px;font-size:12.5px}
.barra i{display:block;height:14px;border-radius:7px;background:var(--pri-grad);min-width:6px}
.barra b{text-align:right}
.fazer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fazer li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--bd);border-radius:10px;background:var(--sup2)}
.fazer li .n{font-weight:700;font-size:16px;min-width:28px;text-align:center;color:var(--pri2)}
.fazer li .t{flex:1;font-size:12.5px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.painel-grade{grid-template-columns:1fr}.barra{grid-template-columns:120px 1fr 36px}}

/* TEMA ESCURO, opcional: so com html[data-tema="escuro"] (botao na saudacao e no login; escolha guardada no navegador).
   Tokens reaproveitados de 6f70fb4 (video v3), o minimo: so as variaveis mudam. */
html[data-tema="escuro"]{--fundo:#151b24;--sup:#1c2430;--sup2:#2b3442;--bd:#2b3442;--bd2:#3a4556;--tx:#e6e9ef;--tx2:#a3adbd;--tx3:#8a95a6;--tx4:#6b7689;
  --topo-a:var(--cli-pri2,#1c2430);--topo-b:#0f1722;--pri:var(--cli-pri,#3b82c4);--pri2:var(--cli-pri2,#2d6ca2);--pri-suave:var(--cli-pri-suave,rgba(59,130,196,.25));
  --acento:var(--cli-dest,#c99a00);--acento-faixa:var(--cli-dest-faixa,#5a4a14);--acento-filtros:var(--cli-dest-filtros,#2e2a1c);--acento-tx:var(--cli-dest-tx,#f1e6c0);
  --faixa:#0f1722;--th:#2b3442;--linha:#2b3442;--hover:#243043;
  --ok:#6fcf97;--ok-s:rgba(111,207,151,.15);--aviso:#e0b94d;--aviso-s:rgba(224,185,77,.15);--erro:#ff8a8a;--erro-s:#3a1d1d;--info:#8fb4e6;--info-s:rgba(143,180,230,.15);
  --elev1:0 1px 2px rgba(0,0,0,.4);--elev2:0 6px 12px rgba(0,0,0,.5);--elev3:0 18px 44px -14px rgba(0,0,0,.7);color-scheme:dark}
html[data-tema="escuro"] .grid>h3.secao,html[data-tema="escuro"] .card h2{color:#8fb4e6;border-bottom-color:#4a6aa6}
