@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar: #0f1117;--sidebar-hover: #1a1d28;--sidebar-active: #1e2230;--bg: #f4f6fa;--surface: #ffffff;--surface2: #f8f9fb;--border: #e2e5ec;--border2: #cdd1da;--text: #1a1d26;--text2: #6b7280;--text3: #9ca3af;--accent: #2463eb;--accent-hover: #1a4fc9;--accent-light: rgba(36, 99, 235, .08);--danger: #dc2626;--danger-hover: #b91c1c;--success: #16a34a;--success-light: #dcfce7;--warning: #f59e0b;--warning-light: #fef3c7;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-lg: 0 8px 32px rgba(0,0,0,.1)}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.layout{display:flex;min-height:100vh}.sidebar{width:256px;background:var(--sidebar);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}.sidebar-header{padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-header h2{font-size:1rem;font-weight:600;letter-spacing:-.2px;color:#fff;margin-bottom:2px}.sidebar-header p{font-size:.75rem;color:#ffffff59}.nav{flex:1;padding:8px 0}.nav a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#ffffff8c;text-decoration:none;font-size:.85rem;font-weight:500;transition:all .15s ease;border-left:3px solid transparent}.nav a:hover{background:var(--sidebar-hover);color:#ffffffd9}.nav a.active{background:var(--sidebar-active);color:#fff;border-left-color:var(--accent)}.nav a span:first-child{font-size:1.1rem;width:20px;text-align:center}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.06)}.main{flex:1;margin-left:256px;padding:32px;min-height:100vh;max-width:1400px}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.3px;color:var(--text)}h2{font-size:1.15rem;font-weight:600;letter-spacing:-.2px;color:var(--text);margin-bottom:16px}h3{font-size:1rem;font-weight:600;color:var(--text)}.card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--border)}.stat-card{cursor:pointer;transition:all .2s ease;padding:20px}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.stat-card h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text2);margin-bottom:8px}.stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--text);line-height:1.2}.stat-card .stat-sub{font-size:.8rem;color:var(--text3);margin-top:4px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:12px 16px;text-align:left;font-weight:600;font-size:.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);background:var(--surface2)}td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:.88rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:.9rem;font-family:Inter,sans-serif;transition:border-color .15s ease;background:var(--surface);color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text3)}.form-group textarea{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-decoration:none;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px #2463eb4d}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border);border-color:var(--border2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);box-shadow:0 4px 12px #dc26264d}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-sm{padding:5px 12px;font-size:.78rem}.badge{display:inline-block;padding:3px 10px;border-radius:100px;font-size:.72rem;font-weight:600;letter-spacing:.2px}.badge-success{background:var(--success-light);color:#15803d}.badge-warning{background:var(--warning-light);color:#d97706}.badge-danger{background:#fef2f2;color:var(--danger)}.badge-info{background:var(--accent-light);color:var(--accent)}.badge-secondary{background:var(--surface2);color:var(--text2)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.text-muted{color:var(--text2)}.text-sm{font-size:.85rem}.code{background:var(--sidebar);color:#e8eaed;padding:16px;border-radius:var(--radius-sm);font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.6;overflow-x:auto;white-space:pre}.empty-state{text-align:center;padding:48px 20px;color:var(--text3);font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal{background:var(--surface);border-radius:var(--radius);padding:28px;max-width:560px;width:90%;box-shadow:var(--shadow-lg);max-height:80vh;overflow-y:auto}.modal h3{margin-bottom:12px;font-size:1.1rem}.modal p{color:var(--text2);font-size:.9rem;line-height:1.6}.toast{position:fixed;top:20px;right:20px;z-index:9999;padding:12px 20px;border-radius:var(--radius-sm);color:#fff;box-shadow:var(--shadow-lg);animation:slideIn .2s ease;font-size:.9rem;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.landing-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.landing-content{max-width:900px;width:100%}.landing-header{text-align:center;margin-bottom:40px}.landing-logo{font-size:3rem;display:block;margin-bottom:12px}.landing-header h1{color:#fff;font-size:2.2rem;font-weight:700;margin-bottom:8px}.landing-subtitle{color:#fff9;font-size:1.05rem}.landing-features{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px}.landing-feature{display:flex;align-items:flex-start;gap:12px;background:#ffffff14;padding:16px;border-radius:10px}.landing-feature span{font-size:1.3rem;margin-top:2px}.landing-feature strong{display:block;color:#fff;font-size:.95rem;margin-bottom:2px}.landing-feature p{color:#ffffff80;font-size:.85rem}.landing-login-card{background:var(--surface);border-radius:var(--radius);padding:32px;max-width:380px;margin:0 auto;box-shadow:0 8px 32px #0000004d}.landing-footer{text-align:center;padding:20px}.landing-footer p{color:#ffffff4d;font-size:.85rem}.login-error{background:#fef2f2;color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:.88rem;border:1px solid #fecaca}@media(max-width:768px){.grid-3,.grid-4,.grid-2,.landing-features{grid-template-columns:1fr}.landing-header h1{font-size:1.6rem}.sidebar{width:200px}.main{margin-left:200px;padding:16px}}
