/* Paleta e tipografia herdadas do site público (mesmo padrão de UX) */
:root{
  --navy-950:#0f2647;
  --navy-900:#153564;
  --navy-800:#1c4179;
  --navy-700:#25529a;
  --navy-100:#e7edf7;
  --navy-50:#f4f7fc;
  --gold:#c8973f;
  --gold-light:#e9c988;
  --cream:#faf7f1;
  --icon-bg:#f4eee2;
  --ink:#1a2130;
  --ink-soft:#4a5468;
  --line:#e3e7ef;
  --red-bg:#fdeceb;
  --red-line:#f3c8c4;
  --red-ink:#a3352c;
  --green-ink:#2f8f5b;
  --radius:14px;
  --shadow:0 12px 30px -14px rgba(15,38,71,.25);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--navy-50);
  line-height:1.5;
}
h1,h2,h3,h4{font-family:'Source Serif 4',Georgia,serif;color:var(--navy-950);margin:0}
a{color:inherit;text-decoration:none}

/* ---------- LAYOUT ---------- */
.admin-shell{display:flex;min-height:100vh}

.sidebar{
  width:230px;flex-shrink:0;background:var(--navy-950);color:#fff;
  padding:26px 18px;display:flex;flex-direction:column;gap:4px;
}
.sidebar .brand{font-family:'Source Serif 4',serif;font-size:19px;font-weight:700;margin-bottom:28px;color:#fff}
.sidebar .brand span{color:var(--gold)}
.sidebar a{
  display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;
  font-size:14px;font-weight:600;color:#cdd7ec;
}
.sidebar a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar a.active{background:var(--gold);color:#2a1b06}

.main{flex:1;display:flex;flex-direction:column;min-width:0}

.topbar{
  background:#fff;border-bottom:1px solid var(--line);
  padding:14px 28px;display:flex;align-items:center;justify-content:space-between;
}
.topbar h1{font-size:19px}
.topbar-right{display:flex;align-items:center;gap:18px}

.bell{position:relative;cursor:pointer}
.bell svg{width:21px;height:21px;stroke:var(--navy-900);fill:none;stroke-width:1.8}
.bell-count{
  position:absolute;top:-6px;right:-8px;background:var(--red-ink);color:#fff;
  font-size:10.5px;font-weight:800;border-radius:999px;min-width:17px;height:17px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
}
.bell-dropdown{
  position:absolute;top:32px;right:0;width:320px;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);z-index:40;display:none;max-height:380px;overflow-y:auto;
}
.bell-dropdown.open{display:block}
.bell-dropdown .item{padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px}
.bell-dropdown .item:last-child{border-bottom:none}
.bell-dropdown .item .t{color:var(--ink-soft);font-size:11px;margin-top:2px}
.bell-dropdown .empty{padding:20px;text-align:center;color:var(--ink-soft);font-size:13px}

.user-chip{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--navy-900)}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--icon-bg);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy-900);font-size:12px}

.content{padding:28px;flex:1}

/* ---------- CARDS / TABLES ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.card + .card{margin-top:20px}

.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.stat .num{font-family:'Source Serif 4',serif;font-size:30px;color:var(--navy-950);font-weight:700}
.stat .label{font-size:12.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-top:4px}

table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:10px 12px;border-bottom:2px solid var(--line)}
td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:hover td{background:var(--navy-50)}

.badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.badge-novo{background:var(--red-bg);color:var(--red-ink)}
.badge-em_acompanhamento{background:#fff3d6;color:#8a6416}
.badge-concluido{background:#e2f0ec;color:var(--green-ink)}

.btn{
  display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:9px;
  font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid transparent;
}
.btn-primary{background:var(--navy-950);color:#fff}
.btn-primary:hover{background:var(--navy-800)}
.btn-gold{background:var(--gold);color:#2a1b06}
.btn-outline{background:#fff;border-color:var(--line);color:var(--navy-900)}
.btn-outline:hover{border-color:var(--navy-900)}
.btn-sm{padding:6px 12px;font-size:12px}

.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-field label{font-size:13px;font-weight:700;color:var(--navy-900)}
.form-field input,.form-field select,.form-field textarea{
  border:1.5px solid var(--line);border-radius:9px;padding:11px 13px;font-size:14px;
  font-family:inherit;background:#fcfdff;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--navy-700);background:#fff}

.flash{padding:13px 16px;border-radius:10px;font-size:13.5px;font-weight:600;margin-bottom:18px}
.flash-success{background:#e2f0ec;color:var(--green-ink)}
.flash-error{background:var(--red-bg);color:var(--red-ink)}

.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy-950)}
.login-card{background:#fff;border-radius:var(--radius);padding:40px 38px;width:360px;box-shadow:var(--shadow)}
.login-card h1{font-size:22px;margin-bottom:6px;text-align:center}
.login-card p.sub{text-align:center;color:var(--ink-soft);font-size:13.5px;margin-bottom:24px}
