/* Design system Mecanizou -- nav azul solido, fundo cinza, cards brancos, verde p/ dinheiro.
   Compartilhado por todas as telas (servido em /mecanizou.css). */
:root{
  --azul:#0b4dd6; --azul-escuro:#0838a8; --azul-claro:#eaf1ff;
  --verde:#0d9b6c; --verde-bg:#e6f7ef;
  --amarelo:#e8f600;
  --vermelho:#e5484d; --vermelho-bg:#fdecec;
  --texto:#1a2433; --muted:#6b7280;
  --bg:#f4f5f7; --card:#fff; --borda:#eceef2; --surface:#f8f9fb;
  --r:14px; --r-sm:9px; --r-pill:999px;
  --sombra:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);
  --sombra-hover:0 8px 24px rgba(11,77,214,.10);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--texto);
  font:400 14px/1.55 ui-sans-serif,Inter,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Poppins,sans-serif;font-weight:600;letter-spacing:-.4px;margin:0}
a{color:var(--azul);text-decoration:none}

/* ---- topbar azul + dropdown estilo "Minha Area" ---- */
.topbar{display:flex;justify-content:space-between;align-items:center;
  background:var(--azul);color:#fff;padding:0 28px;height:60px;position:sticky;top:0;z-index:20}
.topbar .logo{display:flex;align-items:baseline;gap:9px;color:#fff;font-family:Poppins;
  font-weight:700;font-size:19px;letter-spacing:2px}
.topbar .logo span{font-size:12px;font-weight:500;letter-spacing:.3px;opacity:.8}
.menu{position:relative}
.menu-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);color:#fff;
  border:0;border-radius:var(--r-sm);padding:8px 14px;font:inherit;font-weight:500;cursor:pointer}
.menu-btn:hover{background:rgba(255,255,255,.22)}
.menu-btn .chev{transition:transform .15s}
.menu.open .menu-btn .chev{transform:rotate(180deg)}
.menu-drop{position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--borda);
  border-radius:var(--r);box-shadow:0 12px 32px rgba(16,24,40,.16);min-width:210px;padding:8px;
  display:none;flex-direction:column}
.menu.open .menu-drop{display:flex}
.menu-drop a{color:var(--texto);padding:10px 14px;border-radius:var(--r-sm);font-weight:500}
.menu-drop a:hover{background:var(--azul-claro);color:var(--azul-escuro)}
.menu-drop a.active{color:var(--azul);font-weight:600}
.menu-drop .sep{height:1px;background:var(--borda);margin:6px 4px}
.menu-drop a.sair{color:var(--muted)}

/* ---- layout ---- */
.wrap{max-width:1140px;margin:0 auto;padding:30px 28px}
h1{font-size:27px;margin-bottom:4px}
.sub{color:var(--muted);margin:0 0 22px;font-size:15px}
.sec{font-size:12px;color:var(--muted);font-weight:600;margin:30px 0 14px;
  text-transform:uppercase;letter-spacing:.6px}

/* ---- cards ---- */
.card{background:var(--card);border:1px solid var(--borda);border-radius:var(--r);
  padding:20px 22px;box-shadow:var(--sombra)}
a.card{display:block;color:inherit;transition:box-shadow .14s,border-color .14s,transform .14s}
a.card:hover{border-color:#cfe0ff;box-shadow:var(--sombra-hover);transform:translateY(-1px)}
.card.lead{background:var(--azul);color:#fff;border-color:var(--azul)}
.card.lead .sub,.card.lead p{color:#dce7ff}
.card h3{font-size:18px;margin-bottom:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}

/* ---- kpis ---- */
.kpis{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 4px}
.kpi{background:var(--surface);border:1px solid var(--borda);border-radius:var(--r);
  padding:14px 18px;min-width:140px}
.kpi .n{font-family:Poppins;font-size:23px;font-weight:600;letter-spacing:-.5px}
.kpi .n.verde{color:var(--verde)} .kpi .n.azul{color:var(--azul)}
.kpi .l{font-size:12px;color:var(--muted);margin-top:3px}

/* ---- tabela ---- */
table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;
  border:1px solid var(--borda);border-radius:var(--r);overflow:hidden;margin-top:8px}
th,td{text-align:right;padding:10px 14px;border-bottom:1px solid var(--borda)}
th:first-child,td:first-child{text-align:left}
th{background:var(--surface);font-weight:600;color:var(--muted);font-size:12px;
  text-transform:uppercase;letter-spacing:.4px}
tr:last-child td{border-bottom:0}

/* ---- pills / badges / botoes ---- */
.pill{font-size:11px;padding:2px 10px;border-radius:var(--r-pill);
  background:var(--azul-claro);color:var(--azul-escuro);font-weight:600}
.badge-verde{background:var(--verde-bg);color:var(--verde);font-weight:600;
  padding:4px 12px;border-radius:var(--r-pill);font-size:13px}
.fecha{color:var(--verde);font-weight:700}
.naofecha{color:var(--vermelho);font-weight:700}
button,.btn{font:inherit;font-weight:600;background:var(--azul);color:#fff;border:0;
  border-radius:var(--r-sm);padding:9px 16px;cursor:pointer}
button:hover,.btn:hover{background:var(--azul-escuro)}
button:disabled{opacity:.5;cursor:default}
.btn-ghost{background:var(--azul-claro);color:var(--azul-escuro)}
.empty{color:var(--muted);padding:20px;border:1px dashed var(--borda);
  border-radius:var(--r);text-align:center;background:#fff}
.foot{color:var(--muted);font-size:12px;max-width:1140px;margin:0 auto;padding:8px 28px 40px}
