:root{color-scheme:light;--bg:#f6f1e7;--bg-accent:#edf2f7;--surface:#fff;--surface-alt:#fbf8f1;--text:#1f2937;--muted:#6b7280;--accent:#0f766e;--accent-strong:#0c5f59;--accent-2:#c2410c;--border:#e2e8f0;--shadow:0 18px 45px rgba(15,23,42,.12);--radius:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Space Grotesk,Sora,Poppins,sans-serif;color:var(--text);background:radial-gradient(circle at top,#fff8eb 0,var(--bg) 45%,#e7eef1 100%)}body:before{content:"";position:fixed;inset:0;background:radial-gradient(600px 260px at 85% 10%,rgba(15,118,110,.15),transparent 60%),radial-gradient(520px 300px at 10% 20%,rgba(194,65,12,.12),transparent 60%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;background:hsla(0,0%,100%,.85);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-weight:700;font-size:20px;letter-spacing:.4px}.subtle{color:var(--muted);font-size:14px}.shell-body{display:grid;grid-template-columns:240px 1fr;grid-gap:24px;gap:24px;padding:24px 28px 40px}.sidebar{position:-webkit-sticky;position:sticky;top:88px;align-self:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.nav-section{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:8px}.nav-item{padding:10px 12px;border-radius:12px;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-item.active{background:rgba(15,118,110,.12);color:var(--accent-strong);font-weight:600}.main{gap:20px}.main,.page-header{display:flex;flex-direction:column}.page-header{gap:6px}.page-title{font-size:32px;font-weight:700;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;background:rgba(15,118,110,.12);color:var(--accent-strong);font-weight:600}.badge.alt{background:rgba(194,65,12,.14);color:#a34115}.tag{font-size:12px;color:var(--muted);background:var(--surface-alt);padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid transparent;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.button.secondary{background:transparent;color:var(--accent-strong);border-color:var(--accent)}.button.ghost{background:var(--surface-alt);color:var(--text);border-color:var(--border)}.button-row{display:flex;flex-wrap:wrap;gap:12px}.input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;font-family:inherit}.notice{border-left:4px solid var(--accent-2);background:#fff7ed;padding:12px 14px;border-radius:12px;color:#7c2d12}.list{display:flex;flex-direction:column;gap:10px}.list-item{justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-alt)}.auth-shell,.list-item{display:flex;align-items:center}.auth-shell{min-height:100vh;justify-content:center;padding:40px 20px}.auth-card{width:min(480px,100%);background:var(--surface);border-radius:var(--radius);padding:28px;border:1px solid var(--border);box-shadow:var(--shadow)}@media (max-width:960px){.shell-body{grid-template-columns:1fr}.sidebar{position:static;flex-direction:row;flex-wrap:wrap}.nav-item{flex:1 1 180px}}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start}.page-title{font-size:26px}}