:root{
  --bg:#f8fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e2e8f0;
  --shadow:0 10px 30px rgba(15, 23, 42, .08);
  --shadow2:0 6px 16px rgba(15, 23, 42, .08);
  --accent:#1a73e8;
  --accent2:#34a853;
  --warn:#fbbc05;
  --danger:#ea4335;
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color:var(--text);
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.container{
  max-width:1120px;
  margin:0 auto;
  padding:16px 16px 44px;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  background:rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:240px;
}
.logo{width:64px;height:64px;object-fit:contain}

.brand h1{
  margin:0;
  font-size:18px;
  letter-spacing:.2px;
  font-weight:900;
  line-height:1.1;
}
.brand small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-weight:700;
  font-size:12px;
}

.nav{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-weight:850;
  font-size:13px;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.pill:hover{
  text-decoration:none;
  border-color:#cbd5e1;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.pill.secondary{
  background:#f1f5f9;
}
.pill.danger{
  background:rgba(234,67,53,.10);
  border-color:rgba(234,67,53,.25);
  color:#b42318;
}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:14px}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
}
.card h2{
  margin:0 0 10px 0;
  font-size:16px;
  font-weight:950;
}

.hr{
  height:1px;
  background:var(--border);
  margin:14px 0;
}

.kpi{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.kpi .lbl{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.kpi .val{
  font-size:22px;
  font-weight:1000;
  letter-spacing:.2px;
}

label{
  display:block;
  font-weight:850;
  font-size:12px;
  color:var(--muted);
  margin:0 0 6px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
input, select{
  width:100%;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:14px;
  font-size:14px;
  outline:none;
  background:#fff;
}
input:focus, select:focus{
  border-color:rgba(26,115,232,.45);
  box-shadow:0 0 0 4px rgba(26,115,232,.12);
}

.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.col-12{grid-column:span 12}
.col-4{grid-column:span 4}
.col-6{grid-column:span 6}
@media (max-width:800px){
  .col-4{grid-column:span 12}
  .col-6{grid-column:span 12}
  .brand{min-width:auto}
  .logo{width:64px;height:64px;object-fit:contain}

}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid rgba(26,115,232,.25);
  background:var(--accent);
  color:#fff;
  font-weight:950;
  font-size:14px;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(26,115,232,.20);
}
.btn:hover{filter:brightness(.98);transform:translateY(-1px);text-decoration:none}
.btn.secondary{
  background:#fff;
  color:var(--text);
  border-color:var(--border);
  box-shadow:0 6px 14px rgba(15,23,42,.08);
}
.btn.danger{
  background:var(--danger);
  border-color:rgba(234,67,53,.3);
  box-shadow:0 10px 20px rgba(234,67,53,.18);
}
.btn.small{
  padding:8px 10px;
  border-radius:12px;
  font-size:12px;
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:16px;
}
.table th, .table td{
  text-align:left;
  padding:12px 12px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
  font-size:13px;
}
.table th{
  background:#f1f5f9;
  color:#334155;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
}
.table tr:nth-child(even) td{background:#fbfdff}
.table tr:last-child td{border-bottom:none}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:950;
  font-size:11px;
  letter-spacing:.08em;
  border:1px solid transparent;
}
.badge.good{
  background:rgba(52,168,83,.12);
  border-color:rgba(52,168,83,.25);
  color:#0f7b39;
}
.badge.warn{
  background:rgba(251,188,5,.16);
  border-color:rgba(251,188,5,.30);
  color:#8a5b00;
}
.badge.bad{
  background:rgba(234,67,53,.12);
  border-color:rgba(234,67,53,.25);
  color:#b42318;
}

.msg{
  padding:12px 12px;
  border-radius:14px;
  font-weight:850;
  border:1px solid var(--border);
}
.msg.ok{
  background:rgba(52,168,83,.10);
  border-color:rgba(52,168,83,.25);
}
.msg.err{
  background:rgba(234,67,53,.08);
  border-color:rgba(234,67,53,.25);
}

.help{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.actions{display:flex;gap:8px;flex-wrap:wrap}

.footer{
  margin-top:18px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  text-align:center;
}

.login-wrap{
  max-width:520px;
  margin:0 auto;
  padding-top:18px;
}
.login-title{
  font-size:18px;
  font-weight:1000;
  margin:0 0 6px 0;
  letter-spacing:.2px;
}
.login-sub{
  color:var(--muted);
  font-weight:750;
  font-size:13px;
  margin:0 0 14px 0;
}

/* Botões sólidos por intenção */
.btn{box-shadow:none}
.btn:hover{transform:translateY(-1px);text-decoration:none;filter:none;opacity:.94}
.btn:active{transform:translateY(0px);opacity:.90}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.success{background:var(--accent2);border-color:var(--accent2);color:#fff}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.secondary{background:#fff;border-color:rgba(0,0,0,.14);color:var(--text)}

/* Termômetro */
.meter{height:12px;background:#eef2f7;border-radius:999px;overflow:hidden;border:1px solid rgba(0,0,0,.06)}
.meter>span{display:block;height:100%;width:0%}
.meter.ok>span{background:var(--accent2)}
.meter.warn>span{background:var(--warn)}
.meter.bad>span{background:var(--danger)}
.meterline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.meterpct{font-weight:950;font-size:12px;color:var(--muted)}

/* Ajustes de layout para ficar mais clean */
.topbar{background:#fff}
.card{box-shadow:0 10px 26px rgba(15,23,42,.06)}


/* Dashboard refinado */
.page-title{margin:18px 0 14px}
.page-title h1{margin:0 0 6px;font-size:28px;letter-spacing:-0.02em}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width: 980px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.cards-grid{grid-template-columns:1fr}}
.card.danger{border:1px solid rgba(239,68,68,.35)}
.card-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.card-title{font-weight:700}
.card-sub{font-size:12px;color:var(--muted)}
.big-money{font-size:34px;letter-spacing:-0.03em;font-weight:800}
@media (max-width: 640px){.big-money{font-size:30px}}
.text-danger{color:var(--danger)}
.small{font-size:12px}
.tiny{font-size:11px}
.nowrap{white-space:nowrap}
.row-danger{background:rgba(239,68,68,.06)}
.row-warn{background:rgba(245,158,11,.08)}
.notice{margin-top:14px;background:var(--card);border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px 14px}
.ym-picker{display:flex;flex-direction:column;gap:6px;min-width:220px}
.ym-picker select{padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.16);background:#fff}


/* Login clean */
.login-wrap{max-width:520px;margin:22px auto}
.login-logo{display:flex;justify-content:center;margin-bottom:10px}
.login-logo img{height:26px;width:auto;opacity:.95}
.login-title{text-align:center}
.login-sub{text-align:center}
