:root{
  --bg:#0f0f0f; --panel:#161616; --muted:#bdbdbd; --text:#eaeaea;
  --brand:#00ff99; --brand-2:#00c483; --stroke:#262626;
  --ok:#123d2b; --err:#3d1b1b;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif}
.container{width:min(1100px, 90vw); margin:0 auto}
.row{display:flex;gap:12px;flex-wrap:wrap} .space-between{justify-content:space-between} .center{align-items:center}

/* Topbar */
.topbar{border-bottom:1px solid var(--stroke);background:rgba(0,0,0,.25);backdrop-filter:saturate(150%) blur(6px);position:sticky;top:0;z-index:10;padding:8px 0}
.brand img{height:38px;display:block}
.nav a{color:var(--text);text-decoration:none;margin-left:14px;opacity:.9}
.nav a:hover{opacity:1}

/* Cards / layout base */
.card{background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:16px;margin:18px 0}
.footer{border-top:1px solid var(--stroke);padding:18px 0;color:var(--muted);text-align:center}

/* Flashes */
.flashes{margin:10px auto}
.flash{border-radius:10px;padding:10px 12px;margin:8px 0;border:1px solid var(--stroke)}
.flash.success{background:var(--ok)} .flash.error{background:var(--err)}

/* Forms */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1 / -1}
label{font-size:.92rem;color:#d6d6d6}
input,textarea,select{background:#101010;border:1px solid var(--stroke);color:var(--text);border-radius:10px;padding:10px;outline:none}
input:focus,textarea:focus,select:focus{border-color:#2b2b2b;box-shadow:0 0 0 3px rgba(0,255,153,.08)}
.actions{grid-column:1 / -1;text-align:right}

/* Buttons */
.btn{appearance:none;border:none;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;background:#2b2b2b;color:#eee}
.btn:hover{filter:brightness(1.06)}
.btn-primary{color:#00110a;background:linear-gradient(180deg,var(--brand),var(--brand-2));box-shadow:0 8px 24px rgba(0,255,153,.12)}
.btn-danger{ background:#5a1f1f; color:#fff; }
.btn-danger:hover{ filter:brightness(1.1); }

/* Tabela */
.table{width:100%;border-collapse:collapse;font-size:0.95rem}
.table th,.table td{border-bottom:1px solid var(--stroke);padding:10px 8px;text-align:left}
.table thead th{color:#dcdcdc;font-weight:700}
.table tbody tr:hover{background:#121212}
.table-wrap{overflow:auto}

/* ---------- DASHBOARD ---------- */

/* cards com números */
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:10px;
}
.stat-card{
  background:#121212;
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:14px;
  box-shadow:0 4px 16px rgba(0,0,0,.18) inset;
}
.stat-number{font-size:1.8rem;font-weight:800;letter-spacing:.2px}
.stat-label{color:#c9c9c9;opacity:.9}

/* atalhos (botões) */
.shortcuts{
  display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 16px;
}
.shortcuts .shortcut{
  display:inline-block;
  padding:8px 14px;
  border-radius:10px;
  background:#1b1b1b;
  border:1px solid var(--stroke);
  color:#e8e8e8;
  text-decoration:none;
  font-weight:600;
}
.shortcuts .shortcut:hover{background:#222}

/* grid do gráfico + calendário */
.dashboard-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:16px;
}
.dashboard-grid .card{
  border-radius:12px;
  background:#141414;
  border:1px solid var(--stroke);
  min-height:260px;
}

/* ---------- HERO (Home) ---------- */
.hero{ text-align:center; margin:40px auto 20px; }
.hero-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:2.2rem;
  line-height:1.2;
  text-align:center;
}
.hero-logo-inline{
  height:60px;
  transform:scale(1.1);
  vertical-align:middle;
  margin-left:4px;
}

/* Links “normais” dentro do card (ex. texto auxiliar) */
a{color:#9fe7c6}

/* Responsivo */
@media(max-width:900px){
  .grid{grid-template-columns:1fr}
  .dashboard-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .hero-title{font-size:1.9rem}
  .hero-logo-inline{height:52px}
}
