@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,500;1,400&family=Work+Sans:wght@400;500;600;700&display=swap');
:root{
  --ink-950:#0D1020; --ink-900:#141833; --paper-100:#FBF8F1;
  --gold-400:#DDB979; --gold-500:#C99A4A; --gold-600:#B27F32;
  --rose-500:#B8697A; --success:#6E9B6B; --danger:#C15B4A; --danger-strong:#A8412F;
  --surface:#fff; --text:#1B1F2E; --text-muted:#6B6F80; --border:#E6E2D8;
  --bg:#F6F3EC; --bg-sunken:#EFEAE0;
  --radius-sm:8px; --radius-md:14px; --radius-lg:22px;
  --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px;
  --font-display:'Fraunces',serif; --font-body:'Work Sans',sans-serif;
  --shadow-md: 0 6px 18px rgba(13,16,32,0.12);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.55}
h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0}
a{color:inherit}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:250px;flex-shrink:0;background:var(--ink-900);color:var(--paper-100);padding:var(--sp-5) var(--sp-3);position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar__brand{font-family:var(--font-display);color:var(--gold-400);padding:0 var(--sp-3) var(--sp-5);font-size:16px}
.nav-group__label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#736F82;padding:10px 12px 4px}
.nav-link{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:#9A96A8;text-decoration:none;font-size:14px}
.nav-link:hover{background:rgba(251,248,241,.06);color:#fff}
.nav-link.active{background:rgba(201,154,74,.15);color:var(--gold-400)}
.main{flex:1;min-width:0}
.page{max-width:900px;margin:0 auto;padding:var(--sp-7) var(--sp-6)}
.page__head{margin-bottom:var(--sp-6)}
.eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-600);font-weight:600}
.lede{color:var(--text-muted);max-width:65ch}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none}
.btn--primary{background:var(--gold-500);color:var(--ink-950)}
.btn--primary:hover{background:var(--gold-400)}
.btn--ghost{background:var(--bg-sunken);border-color:var(--border);color:var(--text)}
.btn--danger{background:rgba(193,91,74,.12);color:var(--danger-strong);border-color:rgba(193,91,74,.3)}
.btn--sm{padding:6px 12px;font-size:12px}
.btn--icon{width:32px;height:32px;padding:0;justify-content:center;background:none;color:var(--text-muted)}
.btn--icon:hover{background:var(--bg-sunken)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-4);transition:box-shadow .15s ease,transform .15s ease}
.card:hover{box-shadow:var(--shadow-md)}
.card--lg{padding:var(--sp-6)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:var(--sp-5);overflow-x:auto}
.tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s ease,border-color .15s ease}
.tab:hover{color:var(--text)}
.tab--active{color:var(--gold-600);border-bottom-color:var(--gold-500)}
.grid{display:grid;gap:var(--sp-4)}
.grid--auto{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.row{display:flex;align-items:center;gap:var(--sp-3)}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-5);flex-wrap:wrap;gap:12px}
.field{margin-bottom:var(--sp-4)}
.field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}
.input,.select,textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);font-family:inherit;font-size:14px}
textarea{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.badge{display:inline-flex;padding:3px 10px;border-radius:99px;font-size:11px;background:var(--bg-sunken);color:var(--text-muted)}
.badge--rose{background:rgba(184,105,122,.14);color:var(--rose-500)}
.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,var(--gold-400),var(--rose-500));color:var(--ink-950);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;flex-shrink:0;background-size:cover;background-position:center}
.avatar--xl{width:96px;height:96px;font-size:28px}
.alert{display:flex;gap:10px;padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:var(--sp-4)}
.alert--warn{background:rgba(201,154,74,.1);border:1px solid rgba(201,154,74,.3);color:var(--gold-600)}
.alert--danger{background:rgba(193,91,74,.1);border:1px solid rgba(193,91,74,.3);color:var(--danger-strong)}
.alert--success{background:rgba(110,155,107,.1);border:1px solid rgba(110,155,107,.3);color:var(--success)}
.progress{height:8px;border-radius:4px;background:var(--bg-sunken);overflow:hidden}
.progress__fill{height:100%;background:var(--gold-500)}
.empty{text-align:center;padding:var(--sp-7);color:var(--text-muted)}
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink-900);padding:20px}
.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-6)}
.topbar-mobile{display:none}
@media (max-width:860px){
  .app-shell{flex-direction:column}
  .sidebar{width:100%;height:auto;position:static;padding:12px}
  .page{padding:var(--sp-5) var(--sp-4)}
  .form-row{grid-template-columns:1fr}
  .tabs{margin-left:calc(var(--sp-4) * -1);margin-right:calc(var(--sp-4) * -1);padding:0 var(--sp-4)}
}
