@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap");:root{--font-display:"Outfit","Inter","Segoe UI",sans-serif;--font-body:"Inter","Segoe UI",sans-serif;--background:#f8f9fa;--surface:#ffffff;--surface-muted:#fff5f5;--text:#1d2939;--muted:#667085;--border:#f2f4f7;--accent:#E53935;--accent-support:#b71c1c;--shadow-soft:0 10px 30px rgba(0,0,0,0.03),0 1px 3px rgba(0,0,0,0.01);--shadow-hover:0 20px 40px rgba(229,57,53,0.06),0 1px 3px rgba(229,57,53,0.02);--radius-lg:16px;--radius-md:12px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(229,57,53,.05),transparent 25%),#f8f9fa;color:var(--text);font-family:var(--font-body),sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.admin-shell{width:min(1200px,calc(100vw - 32px));margin:0 auto;padding:32px 0 64px}.auth-shell{max-width:920px}.auth-main{display:grid;place-items:center;min-height:calc(100vh - 220px)}.login-panel{width:min(480px,90vw);padding:40px;border-radius:var(--radius-lg);background:#ffffff;box-shadow:var(--shadow-soft);display:grid;grid-gap:20px;gap:20px;border:1px solid var(--border)}.login-panel h1{margin:0;font-family:var(--font-display),sans-serif;font-size:2.2rem;font-weight:700;color:var(--text)}.login-panel p{margin:0;color:var(--muted);line-height:1.5}.login-status{padding:14px;border-radius:var(--radius-md);background:rgba(229,57,53,.06);color:var(--accent-support);font-size:.9rem;font-weight:500}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.admin-header h1{margin:6px 0 0;font-family:var(--font-display),sans-serif;font-size:2.2rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.header-actions{display:flex;gap:12px}.pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:6px;background:var(--surface-muted);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:8px;border:0;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .15s ease}.primary-button{background:var(--accent);color:#ffffff;box-shadow:0 4px 14px rgba(229,57,53,.2)}.primary-button:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 6px 18px rgba(229,57,53,.3)}.secondary-button{background:#ffffff;color:var(--text);border:1px solid var(--border)}.secondary-button:hover{background:#fafafa;border-color:#d0d5dd}.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:32px;gap:32px}.admin-sidebar,.metric-card,.panel,.stack-card,.table-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}.admin-sidebar{align-self:start;position:-webkit-sticky;position:sticky;top:32px;padding:16px}.admin-sidebar nav{display:grid;grid-gap:6px;gap:6px}.sidebar-link{display:block;padding:10px 14px;border-radius:8px;color:var(--muted);font-weight:500;font-size:.95rem;transition:all .16s ease}.sidebar-link:hover{background:#fafafa;color:var(--text)}.sidebar-link--active{background:var(--accent);color:#ffffff!important;font-weight:600}.sidebar-link--active:hover{background:var(--accent-deep)}.admin-main,.dashboard-grid,.two-column{display:grid;grid-gap:24px;gap:24px}.dashboard-grid,.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card,.panel,.stack-card,.table-card{padding:24px}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.metric-card span,.panel-eyebrow{display:block;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.metric-card strong,.panel h2{display:block;margin-top:8px;font-family:var(--font-display),sans-serif;font-size:1.8rem;font-weight:700;color:var(--text)}.metric-card strong{font-size:2.2rem;letter-spacing:-.03em;margin-top:4px}.metric-card p,.panel p,.stack-row span,td{color:var(--muted);font-size:.9rem;line-height:1.5}.panel h2{margin:10px 0;font-size:1.8rem;line-height:1.3}.stack-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.stack-row{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radius-md);background:#fcfcfd;border:1px solid var(--border);transition:all .15s ease}.stack-row:hover{background:#ffffff;border-color:#d0d5dd}.stack-row strong{margin:0;font-size:.95rem;color:var(--text)}.table-card h2{font-family:var(--font-display),sans-serif;font-size:1.4rem;font-weight:700;margin:8px 0 16px}.table-card table{width:100%;border-collapse:collapse}.table-card th{padding:12px 16px;border-bottom:2px solid var(--border);text-align:left;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#fafafa}.table-card td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left;font-size:.9rem;color:var(--text)}.table-card tr:hover td{background:#fcfcfd}.table-card tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 14px;border-radius:999px;background:var(--surface-muted);color:var(--accent);font-size:.8rem;font-weight:600;margin-top:16px;transition:all .15s ease;border:1px solid rgba(229,57,53,.1)}.badge:hover{background:var(--accent);color:#ffffff;border-color:var(--accent)}pre{overflow-x:auto;padding:16px;border-radius:var(--radius-md);background:#0c111d;color:#f3f4f6;font-size:.8rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:1.5;border:1px solid #1f2937;max-height:300px}input[type=file],select{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:#ffffff;font-size:.9rem;color:var(--text);outline:none;cursor:pointer;transition:all .15s ease}input[type=file]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(229,57,53,.1)}@media (max-width:980px){.admin-layout,.dashboard-grid,.two-column{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-header{flex-direction:column;align-items:flex-start}.header-actions{flex-wrap:wrap;width:100%}}