:root{
  --teal-900:#00353b;--teal-800:#00464d;--teal-700:#00555e;--teal-600:#0b6b73;--teal-500:#13858c;--teal-400:#2aa3a6;--teal-300:#6cc5c4;--teal-100:#d8efef;--teal-50:#eef7f7;
  --accent:#118dff;--amber:#f0a202;--red:#d64545;--green:#2a9d6b;
  --bg:#f3f6f7;--card:#fff;--text:#1c2a2d;--muted:#5f7478;--line:#e2eaeb;
  --sidebar-w:220px;--radius:12px;--shadow:0 1px 2px rgba(0,53,59,.06),0 6px 20px -8px rgba(0,53,59,.18);
  font-size:15px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--teal-600)}
h1,h2,h3{margin:0;font-weight:700;color:var(--teal-700)}
.ico{width:22px;height:22px;flex:none}
button{font:inherit}

/* ---------- estrutura ---------- */
.app{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);flex:none;background:linear-gradient(180deg,var(--teal-600) 0%,var(--teal-700) 45%,var(--teal-900) 100%);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;transition:width .2s}
.sidebar a,.sidebar button{display:flex;align-items:center;gap:12px;padding:11px 18px;color:rgba(255,255,255,.88);text-decoration:none;border:0;background:none;width:100%;text-align:left;cursor:pointer;border-left:3px solid transparent;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar a:hover,.sidebar button:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar a.ativo{background:rgba(255,255,255,.14);border-left-color:#fff;color:#fff;font-weight:600}
.brand{padding:18px 18px 14px!important;font-size:1.05rem!important;font-weight:700;letter-spacing:.2px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand .ico{width:28px;height:28px}
.menu{padding:8px 0;flex:1}
.sidebar-rodape{border-top:1px solid rgba(255,255,255,.12);padding:6px 0 14px}
.sidebar-rodape form{margin:0}
.conteudo{flex:1;min-width:0;display:flex;flex-direction:column}
.topo{display:flex;align-items:center;gap:14px;padding:12px 22px;background:#fff;border-bottom:3px solid var(--teal-300);position:sticky;top:0;z-index:20;min-height:62px}
.topo h1{font-size:1.35rem;border-left:3px solid var(--teal-400);padding-left:12px;line-height:1.2;flex:none}
.topo-direita{margin-left:auto;display:flex;align-items:center}
.btn-menu{display:none;border:0;background:none;color:var(--teal-700);padding:4px;cursor:pointer}
.principal{padding:18px 22px 40px}
.sidebar-fundo{display:none}

/* ---------- filtros ---------- */
.filtros{position:relative;display:flex;align-items:center;gap:10px}
.btn-filtros{display:none;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px;color:var(--teal-700);cursor:pointer}
.btn-filtros b{background:var(--teal-600);color:#fff;border-radius:10px;font-size:.72rem;padding:1px 6px}
.btn-filtros b:empty{display:none}
.filtros-lista{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.filtro{display:flex;flex-direction:column;gap:3px;position:relative;min-width:120px}
.filtro>label{font-size:.72rem;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:4px}
.filtro>label .ico{width:14px;height:14px}
.filtro-botao{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 28px 6px 10px;text-align:left;cursor:pointer;min-width:120px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;font-size:.88rem;color:var(--text)}
.filtro-botao::after{content:"";position:absolute;right:10px;top:50%;width:7px;height:7px;border-right:2px solid var(--teal-600);border-bottom:2px solid var(--teal-600);transform:translateY(-70%) rotate(45deg)}
.filtro-botao.ativo{border-color:var(--teal-500);box-shadow:0 0 0 2px var(--teal-100)}
.filtro input[type=text]{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.88rem;min-width:160px}
.filtro-menu{display:none;position:absolute;top:100%;left:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:220px;max-height:320px;overflow:auto;padding:6px;margin-top:4px}
.filtro.aberto .filtro-menu{display:block}
.filtro-menu label{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:.88rem}
.filtro-menu label:hover{background:var(--teal-50)}
.filtro-menu .acoes-filtro{display:flex;gap:6px;padding:4px 6px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.filtro-menu .acoes-filtro button{border:0;background:var(--teal-50);color:var(--teal-700);border-radius:6px;padding:3px 8px;font-size:.78rem;cursor:pointer}
.filtro-menu input[type=search]{width:100%;border:1px solid var(--line);border-radius:6px;padding:5px 8px;margin-bottom:4px}

/* ---------- grelha e visuais ---------- */
.grelha{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.visual{grid-column:span var(--span);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;border-top:3px solid var(--teal-300)}
.visual-titulo{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}
.visual-titulo h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;color:var(--teal-700)}
.btn-recolher{border:0;background:none;color:var(--muted);cursor:pointer;font-size:1rem;transition:transform .2s}
.visual.recolhido .btn-recolher{transform:rotate(-90deg)}
.visual.recolhido .visual-corpo{display:none}
.visual-corpo{padding:8px 16px 16px;flex:1;min-width:0;position:relative}
.a-carregar{color:var(--muted);font-size:.85rem;padding:12px 0}
.erro-visual{color:var(--red);font-size:.85rem}
.tipo-card{border-top-color:var(--teal-600)}
.tipo-card .visual-titulo{padding-bottom:0}
.card-valor{font-size:1.9rem;font-weight:700;color:var(--teal-800);line-height:1.1;letter-spacing:-.5px}
.card-sub{font-size:.8rem;color:var(--muted);margin-top:4px}
.card-sub .pos{color:var(--green);font-weight:600}.card-sub .neg{color:var(--red);font-weight:600}
.grafico-wrap{position:relative;height:var(--altura,280px);width:100%}
.tipo-pizza .grafico-wrap,.tipo-donut .grafico-wrap{height:var(--altura,280px)}

/* ---------- tabelas ---------- */
.tabela-wrap{overflow:auto;max-height:560px;border:1px solid var(--line);border-radius:8px}
.tabela{width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem}
.tabela th,.tabela td{padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tabela th{position:sticky;top:0;background:var(--teal-50);color:var(--teal-800);text-align:left;font-weight:600;z-index:2;cursor:pointer;user-select:none}
.tabela th.num,.tabela td.num{text-align:right;font-variant-numeric:tabular-nums}
.tabela th.ordenado::after{content:" ▴";font-size:.7em}.tabela th.ordenado.desc::after{content:" ▾"}
.tabela tbody tr:hover td{background:#f8fbfb}
.tabela tr.total td{font-weight:700;background:var(--teal-50);position:sticky;bottom:0;border-top:2px solid var(--teal-300)}
.tabela tr.nivel-0>td:first-child{font-weight:600}
.tabela tr.nivel-1>td:first-child{padding-left:28px}
.tabela tr.nivel-2>td:first-child{padding-left:46px}
.tabela tr.grupo td{cursor:pointer}
.tabela .seta{display:inline-block;width:14px;color:var(--teal-500);transition:transform .15s}
.tabela tr.aberto .seta{transform:rotate(90deg)}
.tabela.compacta th,.tabela.compacta td{padding:5px 8px;font-size:.82rem}
.tabela td.neg{color:var(--red)}
.classe{display:inline-block;min-width:22px;text-align:center;border-radius:6px;padding:1px 6px;font-weight:700;font-size:.78rem;color:#fff}
.classe-A{background:var(--green)}.classe-B{background:var(--amber)}.classe-C{background:var(--red)}
.tabela-ferramentas{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.tabela-ferramentas input[type=search]{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.85rem;min-width:200px}
.tabela-ferramentas .info{font-size:.78rem;color:var(--muted);margin-left:auto}
.mostrar-mais{display:block;margin:8px auto 0;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 14px;cursor:pointer;color:var(--teal-700)}

/* ---------- genéricos ---------- */
.cartao{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}
.cartao h2{font-size:1rem;margin-bottom:12px}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--teal-700);border-radius:8px;padding:8px 14px;cursor:pointer;text-decoration:none;font-weight:600;font-size:.88rem}
.btn:hover{background:var(--teal-50)}
.btn.primario{background:var(--teal-600);border-color:var(--teal-600);color:#fff}.btn.primario:hover{background:var(--teal-700)}
.btn.perigo{color:var(--red)}.btn.pequeno{padding:4px 10px;font-size:.8rem}.btn.largo{width:100%;justify-content:center;padding:11px}
.alerta{padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:.9rem}
.alerta.ok{background:#e4f5ec;color:#1d6b45;border:1px solid #bfe6cf}.alerta.erro{background:#fdeaea;color:#8f2525;border:1px solid #f3c4c4}
.alerta ul{margin:0;padding-left:18px}
.ajuda{color:var(--muted);font-size:.85rem}
.form-vertical label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--teal-800);margin-bottom:10px}
.form-vertical input[type=text],.form-vertical input[type=email],.form-vertical input[type=password],.form-vertical input[type=url],.form-vertical input[type=number],.form-vertical input[type=time],.form-vertical select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-weight:400}
.form-vertical fieldset{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 12px}
.form-vertical legend{font-size:.85rem;font-weight:600;color:var(--teal-800)}
label.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:400!important}
.form-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.acoes{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.acoes-linha{display:flex;gap:6px}.acoes-linha form{margin:0}
.linha-erro td{color:var(--red)}
code{background:var(--teal-50);padding:1px 5px;border-radius:4px;font-size:.85em}

/* admin layout */
.pagina-cfg summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;flex-wrap:wrap}
.pagina-cfg summary::-webkit-details-marker{display:none}
.pagina-cfg .ordem{width:64px;border:1px solid var(--line);border-radius:6px;padding:5px}
.pagina-cfg .titulo{flex:1;min-width:180px;border:1px solid var(--line);border-radius:6px;padding:6px 8px}
.pagina-cfg small{color:var(--muted);width:100%}
.pagina-cfg[data-oculta]{opacity:.7}
.visuais-cfg{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px dashed var(--line);display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.visuais-cfg label{display:flex;gap:8px;align-items:center;font-size:.88rem}
.switch{position:relative;width:40px;height:22px;flex:none}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:#c9d6d8;border-radius:22px;transition:.2s}
.switch span::before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+span{background:var(--teal-500)}.switch input:checked+span::before{transform:translateX(18px)}

/* login */
.pagina-login{background:linear-gradient(135deg,var(--teal-600),var(--teal-900))}
.login-fundo{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-caixa{background:#fff;border-radius:16px;padding:32px 30px;width:100%;max-width:380px;box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}
.login-logo{width:56px;height:56px;border-radius:14px;background:var(--teal-700);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.login-logo .ico{width:30px;height:30px}
.login-caixa h1{text-align:center;font-size:1.4rem}.login-sub{text-align:center;color:var(--muted);margin:4px 0 20px;font-size:.9rem}
.login-caixa label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--teal-800);margin-bottom:12px}
.login-caixa input[type=text],.login-caixa input[type=password]{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit}

/* ---------- responsivo ---------- */
@media (max-width:1100px){
  .visual{grid-column:span calc(var(--span) * 2)}
  .visual[style*="--span: 3"]{grid-column:span 6}
  .visual[style*="--span: 4"],.visual[style*="--span: 5"]{grid-column:span 12}
  .visual[style*="--span: 7"],.visual[style*="--span: 8"]{grid-column:span 12}
  .duas-colunas{grid-template-columns:1fr}
}
@media (max-width:760px){
  :root{--sidebar-w:250px}
  .sidebar{position:fixed;left:calc(-1 * var(--sidebar-w));z-index:50;transition:left .2s;height:100dvh}
  body.menu-aberto .sidebar{left:0}
  body.menu-aberto .sidebar-fundo{display:block;position:fixed;inset:0;background:rgba(0,30,34,.45);z-index:45}
  .btn-menu{display:inline-flex}
  .topo{padding:10px 14px;flex-wrap:wrap;gap:8px}
  .topo h1{font-size:1.1rem;flex:1}
  .topo-direita{margin-left:0;width:100%}
  .principal{padding:12px 12px 90px}
  .grelha{gap:12px}
  .visual{grid-column:span 12!important}
  .visual[style*="--span: 3"]{grid-column:span 6!important}
  .card-valor{font-size:1.4rem}
  .btn-filtros{display:inline-flex}
  .filtros{width:100%;flex-wrap:wrap}
  .filtros-lista{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:8px}
  .filtros.aberto .filtros-lista{display:flex}
  .filtro,.filtro-botao{max-width:none;width:100%}
  .filtro-menu{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-height:60vh}
  .tabela-wrap{max-height:70vh}
}
@media print{.sidebar,.topo .filtros,.btn-menu{display:none}.visual{break-inside:avoid}}

/* ---------- dashboards pessoais (GridStack) ---------- */
.oculto{display:none!important}
.menu-sep{padding:14px 18px 4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.12);margin-top:6px}
.sidebar a.novo-dashboard{color:rgba(255,255,255,.7);font-size:.86rem}
.dash-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.dash-acoes{display:flex;gap:6px;flex-wrap:wrap}
.dash-acoes form.inline{margin:0;display:inline}
.dash-acoes .btn .ico{width:16px;height:16px}
.etiqueta{display:inline-block;background:var(--teal-100);color:var(--teal-800);border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:600;margin-right:4px}
.etiqueta.pessoal{background:#eef0ff;color:#4b3fb8}.etiqueta.inicial{background:#fff3d6;color:#8a5a00}
.grid-stack{margin:0 -6px}
.grid-stack-item-content{inset:6px!important}
.grid-stack .visual{height:100%;overflow:hidden}
.grid-stack .visual .visual-corpo{overflow:auto;display:flex;flex-direction:column}
.grid-stack .visual .grafico-wrap{flex:1;height:auto!important;min-height:120px}
.grid-stack .visual .tabela-wrap{max-height:none;flex:1}
.grid-stack .visual.tipo-card .visual-corpo{justify-content:center}
body.a-editar .grid-stack .visual{border:1px dashed var(--teal-400);cursor:move}
body.a-editar .grid-stack .visual .visual-titulo{background:var(--teal-50);cursor:move}
.visual-ferramentas{display:none;gap:4px}
body.a-editar .visual-ferramentas{display:flex}
.visual-ferramentas button{border:0;background:#fff;border-radius:6px;width:26px;height:26px;cursor:pointer;color:var(--teal-700);display:inline-flex;align-items:center;justify-content:center}
.visual-ferramentas button:hover{background:var(--teal-100)}
.visual-ferramentas .ico{width:15px;height:15px}
.grid-stack-placeholder>.placeholder-content{background:var(--teal-100)!important;border:1px dashed var(--teal-400)!important;border-radius:var(--radius)}
.dash-editor{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;margin-bottom:14px;border-left:4px solid var(--teal-500)}
.dash-editor-cab{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.dash-editor-cab input[type=search]{border:1px solid var(--line);border-radius:8px;padding:6px 10px;flex:1;min-width:180px}
.catalogo{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:260px;overflow:auto;padding:2px}
.catalogo-grupo{grid-column:1/-1;font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:6px}
.catalogo-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#fff;cursor:grab;font-size:.85rem}
.catalogo-item:hover{border-color:var(--teal-400);background:var(--teal-50)}
.catalogo-item .tipo{font-size:.68rem;color:var(--muted);background:var(--bg);border-radius:4px;padding:1px 5px;margin-left:auto;flex:none}
.catalogo-item .ico{width:16px;height:16px;color:var(--teal-600);flex:none}
.catalogo-item button{border:0;background:var(--teal-600);color:#fff;border-radius:6px;width:24px;height:24px;cursor:pointer;flex:none;font-weight:700}
.dash-vazio{text-align:center;color:var(--muted);padding:40px}
.modal{display:none;position:fixed;inset:0;background:rgba(0,30,34,.5);z-index:100;align-items:center;justify-content:center;padding:16px}
.modal.aberto{display:flex}
.modal-caixa{background:#fff;border-radius:14px;padding:22px 24px;width:100%;max-width:440px;max-height:92vh;overflow:auto;box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}
.modal-caixa.larga{max-width:980px}
.modal-caixa h2{font-size:1.05rem;margin-bottom:12px}
.modal-caixa label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--teal-800);margin-bottom:10px}
.modal-caixa input[type=text],.modal-caixa input[type=number],.modal-caixa select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-weight:400}
.modal-caixa fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 10px}
.modal-caixa legend{font-size:.82rem;font-weight:600;color:var(--teal-800)}
.construtor{display:grid;grid-template-columns:360px 1fr;gap:18px}
.construtor-preview .visual{min-height:320px;height:100%}
.lista-medidas{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;max-height:190px;overflow:auto}
.lista-medidas label{font-weight:400;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:.82rem}
.lista-medidas label.desativada{opacity:.4}
.dash-toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--teal-800);color:#fff;padding:10px 16px;border-radius:10px;font-size:.88rem;z-index:120;box-shadow:var(--shadow)}
@media (max-width:760px){
  .construtor{grid-template-columns:1fr}
  .dash-barra .btn span{display:none}
  .dash-barra .btn{padding:6px 8px}
  .grid-stack .visual{min-height:220px}
  .lista-mobile{display:flex;flex-direction:column;gap:12px;margin:0}
  .item-mobile .visual{height:100%}
  #btn-editar,#dash-editor{display:none!important}
}

/* ---------- auditoria, alertas, ferramentas ---------- */
.alerta.aviso{background:#fff7e0;color:#7a4e00;border:1px solid #f2dc9a}
.etiqueta.dev{background:#fff3d6;color:#8a5a00;font-size:.68rem;margin-left:6px}
.sidebar a.dev span small{font-size:.62rem;background:rgba(255,255,255,.18);border-radius:4px;padding:1px 4px;margin-left:4px;vertical-align:middle}
.filtros-auditoria input[type=text],.filtros-auditoria input[type=date],.filtros-auditoria select{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font:inherit}
.tabela.auditoria td{white-space:normal;vertical-align:top}
.tabela.auditoria pre{margin:4px 0 0;font-size:.72rem;background:var(--bg);padding:6px 8px;border-radius:6px;max-width:520px;overflow:auto;white-space:pre-wrap}
.tabela.auditoria details summary{cursor:pointer;color:var(--teal-600);font-size:.8rem}
.acao{display:inline-block;border-radius:6px;padding:2px 7px;font-size:.75rem;font-weight:600;background:var(--teal-100);color:var(--teal-800)}
.acao-ver{background:#eef2f3;color:var(--muted)}.acao-erro{background:#fdeaea;color:#8f2525}.acao-perigo{background:#fff3d6;color:#8a5a00}
.paginacao{margin-top:12px;font-size:.85rem}
.paginacao nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.paginacao svg{width:18px;height:18px}
.paginacao .relative.z-0.inline-flex{display:flex;gap:4px}
.paginacao .relative.z-0.inline-flex a,.paginacao .relative.z-0.inline-flex span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--teal-700);font-size:.8rem;background:#fff}
.paginacao .relative.z-0.inline-flex span[aria-current] span{background:var(--teal-600);color:#fff;border-radius:5px;padding:0 6px}
.paginacao .hidden{display:none}.paginacao .sm\:flex-1{flex:1}
.lista-simples{margin:0;padding-left:20px;line-height:1.7}
/* consulta de histórico */
.pesquisa-grande input{width:100%;border:2px solid var(--teal-300);border-radius:12px;padding:14px 16px;font-size:1.05rem;font:inherit}
.pesquisa-grande input:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100)}
.resultados{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.col-res h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}
.res-item{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;margin-bottom:6px;cursor:pointer;font:inherit}
.res-item:hover{border-color:var(--teal-400);background:var(--teal-50)}
.res-item small{display:block;color:var(--muted);font-size:.78rem}
.hist-cab{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.hist-cab h2{font-size:1.15rem;margin:4px 0}
.cards-hist{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.card-h{background:var(--teal-50);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.card-h small{color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.card-h strong{font-size:1.4rem;color:var(--teal-800);letter-spacing:-.3px}
.card-h span{font-size:.8rem;color:var(--muted)}
.card-h.destaque{background:var(--teal-700);color:#fff;min-width:220px}.card-h.destaque small,.card-h.destaque span{color:rgba(255,255,255,.8)}.card-h.destaque strong{color:#fff}
.grelha-hist{display:grid;grid-template-columns:1fr 1fr;gap:16px}
button.link{border:0;background:none;color:var(--teal-600);cursor:pointer;padding:0;font:inherit;text-decoration:underline}
@media (max-width:900px){.cards-hist{grid-template-columns:1fr 1fr}.grelha-hist,.resultados{grid-template-columns:1fr}}
/* alertas de estoque */
.cards-alertas{margin-bottom:14px}
.cards-alertas .card-h{text-decoration:none;border:2px solid transparent}
.cards-alertas .card-h.selecionado{border-color:var(--teal-500)}
.card-h.estado-rutura{background:#fdeaea}.card-h.estado-rutura strong{color:#8f2525}
.card-h.estado-minimo{background:#fff3d6}.card-h.estado-minimo strong{color:#8a5a00}
.card-h.estado-cobertura{background:#fff9e6}.card-h.estado-cobertura strong{color:#7a5a00}
.card-h.estado-parado{background:#eef2f3}.card-h.estado-parado strong{color:#3f5559}
.estado{display:inline-block;border-radius:6px;padding:2px 7px;font-size:.74rem;font-weight:700;white-space:nowrap}
.estado-rutura{background:#fdeaea;color:#8f2525}.estado-minimo{background:#fff3d6;color:#8a5a00}.estado-cobertura{background:#fff9e6;color:#7a5a00}.estado-parado{background:#eef2f3;color:#3f5559}.estado-ok{background:#e4f5ec;color:#1d6b45}
.tabela td .desc{color:var(--muted);font-size:.8rem}
.form-minimo input{width:70px;border:1px solid var(--line);border-radius:6px;padding:3px 6px;text-align:right}
.input{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font:inherit}
.input.curto{width:70px}
