:root { --brand:#465fff; --brand-dark:#3641d5; --ink:#182230; --muted:#667085; --line:#eaecf0; --surface:#f8fafc; --card:#fff; --success:#12b76a; --warning:#f79009; }
* { box-sizing:border-box; }
body { margin:0; background:var(--surface); color:var(--ink); font:14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { min-height:100vh; display:grid; grid-template-columns:252px 1fr; }
.sidebar { background:#111928; color:#d0d5dd; padding:28px 16px; }
.brand { display:flex; gap:10px; align-items:center; color:#fff; font-size:16px; font-weight:750; margin:0 8px 34px; }
.brand-mark { background:var(--brand); width:32px; height:32px; display:grid; place-items:center; border-radius:9px; }
.nav-label { color:#667085; font-size:11px; font-weight:700; letter-spacing:.08em; margin:22px 12px 8px; text-transform:uppercase; }
.nav a { display:block; padding:10px 12px; border-radius:8px; margin:3px 0; }
.nav a:hover,.nav a.active { background:#1d2939; color:#fff; }
.main { min-width:0; }
.topbar { height:74px; background:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 36px; border-bottom:1px solid var(--line); }
.eyebrow { color:var(--muted); font-size:12px; }.user { color:var(--muted); }
.content { padding:32px 36px 56px; max-width:1480px; }.page-title { margin:0; font-size:25px; letter-spacing:-.03em; }.page-subtitle { color:var(--muted); margin:5px 0 25px; }
.grid { display:grid; gap:18px; }.cards { grid-template-columns:repeat(4,minmax(0,1fr)); }.two-col { grid-template-columns:1.35fr .65fr; align-items:start; }
.card { background:var(--card); border:1px solid var(--line); border-radius:13px; padding:20px; box-shadow:0 1px 2px rgba(16,24,40,.02); }.metric { color:var(--muted); font-weight:600; }.metric-value { font-size:30px; font-weight:750; margin-top:8px; letter-spacing:-.04em; }
.card h2,.card h3 { margin:0 0 14px; font-size:16px; }.card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.button { display:inline-flex; align-items:center; justify-content:center; background:var(--brand); color:#fff; border:0; border-radius:8px; padding:9px 13px; font:inherit; font-weight:650; cursor:pointer; }.button:hover { background:var(--brand-dark); }.button.secondary { background:#fff; color:#344054; border:1px solid #d0d5dd; }.button.small { padding:6px 10px; font-size:12px; }
.table-wrap { overflow:auto; }.table { border-collapse:collapse; width:100%; }.table th { text-align:left; color:var(--muted); font-size:12px; font-weight:650; padding:10px 12px; border-bottom:1px solid var(--line); }.table td { padding:13px 12px; border-bottom:1px solid var(--line); vertical-align:middle; }.table tr:last-child td { border-bottom:0; }
.badge { display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:650; background:#eef4ff; color:#3538cd; }.badge.approved,.badge.done { background:#ecfdf3; color:#027a48; }.badge.review,.badge.in_progress { background:#fffaeb; color:#b54708; }.badge.blocked { background:#fef3f2; color:#b42318; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.field { display:grid; gap:6px; }.field.full { grid-column:1 / -1; } label { font-weight:650; font-size:13px; } input, textarea, select { width:100%; border:1px solid #d0d5dd; border-radius:8px; padding:10px 11px; color:var(--ink); font:inherit; background:#fff; } textarea { min-height:118px; resize:vertical; }.actions { display:flex; gap:9px; margin-top:20px; flex-wrap:wrap; }
.detail-label { color:var(--muted); display:block; font-size:12px; font-weight:650; margin-bottom:4px; }.prose { white-space:pre-line; color:#344054; }.empty { color:var(--muted); padding:20px 0; }.notice { background:#eef4ff; border:1px solid #c7d7fe; color:#3538cd; padding:12px; border-radius:8px; }.login { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,#eef2ff,#f8fafc 50%,#eef4ff); }.login-card { width:min(100%,430px); background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px; box-shadow:0 18px 45px rgba(16,24,40,.1); }.login-card h1 { margin:0 0 7px; }.error { background:#fef3f2; color:#b42318; border-radius:8px; padding:10px; margin-bottom:14px; }
@media (max-width:900px) { .shell { grid-template-columns:1fr; }.sidebar { display:none; }.content,.topbar { padding-left:20px; padding-right:20px; }.cards,.two-col { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .cards,.two-col,.form-grid { grid-template-columns:1fr; }.field.full { grid-column:auto; }.topbar { height:auto; min-height:64px; }.content { padding-top:24px; } }
