*,:before,:after{box-sizing:border-box}:root{--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f8fafc;--card:#fff;--border:#e2e8f0;--border-subtle:#f1f5f9;--text:#0f172a;--text-2:#64748b;--text-3:#94a3b8;--primary:#0f172a;--accent:#6366f1;--accent-light:#eef2ff;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 16px #0f172a14, 0 1px 4px #0f172a0d;--shadow-lg:0 12px 40px #0f172a1f, 0 4px 12px #0f172a12;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--sidebar-width:260px}body{background:var(--bg);color:var(--text);margin:0}#root{min-height:100svh}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.card-grid-sm{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}@media (width<=480px){.card-grid,.card-grid-sm{grid-template-columns:1fr}}.sidebar-backdrop{z-index:49;-webkit-backdrop-filter:blur(2px);background:#0f172a80;position:fixed;inset:0}@media (width>=769px){.sidebar-backdrop{display:none!important}}@media (width<=768px){.admin-sidebar-spacer{display:none!important}}.admin-topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg);z-index:10;flex-shrink:0;align-items:center;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.grid-cols-1{grid-template-columns:1fr;gap:12px;display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-cols-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=900px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.admin-main{padding:28px}@media (width<=768px){.admin-main{padding:16px}}.admin-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-width:0;transition:box-shadow .2s,border-color .2s;overflow:hidden}.admin-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.admin-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;font-size:14px;font-family:var(--font-sans);color:var(--text);background:var(--card);outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}.admin-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.search-wrap{flex:1;position:relative}.search-wrap svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-wrap input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;font-size:14px;font-family:var(--font-sans);color:var(--text);background:var(--card);outline:none;padding:0 14px 0 42px;transition:border-color .15s,box-shadow .15s}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header h1{color:var(--text);letter-spacing:-.3px;margin:0 0 2px;font-size:22px;font-weight:800}.page-header p{color:var(--text-2);margin:0;font-size:13px}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.btn{border-radius:var(--radius-sm);height:40px;font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:0 16px;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#1e293b}.btn-ghost{background:var(--card);color:var(--text-2);border:1.5px solid var(--border)}.btn-ghost:hover{background:var(--bg);border-color:#cbd5e1}.btn-icon{background:var(--card);width:36px;height:36px;color:var(--text-2);border:1.5px solid var(--border);border-radius:10px;justify-content:center;padding:0}.btn-icon:hover{background:var(--bg)}.badge{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.empty-state{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 20px;display:flex}.loading-state{color:var(--text-3);justify-content:center;align-items:center;gap:10px;padding:60px;font-size:14px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.anim-fade-in{animation:.25s both fade-in}.toast{z-index:9999;box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:13px;font-weight:600;animation:.2s fade-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width>=769px){.toast{inset:20px 20px auto auto;transform:none}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-overlay{align-items:center;padding:24px}}.modal-box{background:var(--card);border-radius:24px 24px 0 0;width:100%;max-height:92svh;padding:24px;animation:.25s modal-up;overflow-y:auto}@media (width>=640px){.modal-box{border-radius:var(--radius-lg);max-width:520px;box-shadow:var(--shadow-lg)}}@keyframes modal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{color:var(--text);margin:0;font-size:17px;font-weight:700}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-2);font-size:13px;font-weight:600}
