:root{--color-primary:#6366f1;--color-primary-light:#818cf8;--color-primary-dark:#4f46e5;--color-primary-glow:#6366f126;--color-success:#10b981;--color-success-light:#34d399;--color-warning:#f59e0b;--color-warning-light:#fbbf24;--color-danger:#ef4444;--color-danger-light:#f87171;--color-bg:#0f1117;--color-bg-elevated:#1a1d2e;--color-bg-card:#1e2235;--color-bg-input:#252940;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-text-heading:#f8fafc;--color-border:#94a3b81f;--color-border-hover:#94a3b840;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -4px #0003;--shadow-glow:0 0 20px var(--color-primary-glow);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}a{color:var(--color-primary-light);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary)}.app-layout{min-height:100vh;display:flex}.app-sidebar{background:var(--color-bg-elevated);border-right:1px solid var(--color-border);width:260px;padding:var(--space-6);gap:var(--space-2);z-index:100;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.app-logo{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);margin-bottom:var(--space-6);display:flex}.app-logo-icon{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-radius:var(--radius-lg);width:40px;height:40px;box-shadow:var(--shadow-glow);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.app-logo-text{font-size:var(--font-size-lg);color:var(--color-text-heading);letter-spacing:-.02em;font-weight:700}.app-main{padding:var(--space-8);flex:1;max-width:1200px;margin-left:260px}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--font-size-sm);transition:all var(--transition-fast);cursor:pointer;font-weight:500;display:flex}.nav-link:hover{color:var(--color-text);background:#ffffff0a}.nav-link.router-link-active,.nav-link.active{color:var(--color-primary-light);background:var(--color-primary-glow)}.nav-link .nav-icon{text-align:center;width:22px;font-size:1.1rem}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-lg);color:var(--color-text-heading);font-weight:600}.stat-grid{gap:var(--space-5);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--stat-color,var(--color-primary)), transparent);opacity:.8;height:3px;position:absolute;top:0;left:0;right:0}.stat-card.success{--stat-color:var(--color-success)}.stat-card.warning{--stat-color:var(--color-warning)}.stat-card.danger{--stat-color:var(--color-danger)}.stat-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:500}.stat-value{font-size:var(--font-size-2xl);color:var(--color-text-heading);font-weight:700}.table-wrap{border-radius:var(--radius-lg);overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);font-weight:600}tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;font-weight:500;line-height:1.5;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 3px #6366f14d}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #6366f159}.btn-secondary{color:var(--color-text);border-color:var(--color-border);background:0 0}.btn-secondary:hover{border-color:var(--color-border-hover);background:#ffffff0a}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#0ea572}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.btn-danger:hover{background:#ef44441a}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md)}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:500;display:block}.form-input,.form-select{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.form-input::placeholder{color:var(--color-text-muted);opacity:.6}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);border-radius:9999px;font-weight:600;line-height:1;display:inline-flex}.badge-success{color:var(--color-success-light);background:#10b98126}.badge-warning{color:var(--color-warning-light);background:#f59e0b26}.badge-danger{color:var(--color-danger-light);background:#ef444426}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn var(--transition-fast);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8);width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-base)}.modal-title{font-size:var(--font-size-xl);color:var(--color-text-heading);margin-bottom:var(--space-6);font-weight:600}.modal-actions{gap:var(--space-3);margin-top:var(--space-6);justify-content:flex-end;display:flex}.text-success{color:var(--color-success-light)}.text-warning{color:var(--color-warning-light)}.text-danger{color:var(--color-danger-light)}.text-muted{color:var(--color-text-muted)}.text-right{text-align:right}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,monospace}.font-bold{font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--font-size-3xl);color:var(--color-text-heading);letter-spacing:-.02em;font-weight:700}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.menu-toggle{color:var(--color-text);cursor:pointer;padding:var(--space-2);background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=768px){.app-sidebar{width:280px;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-main{padding:var(--space-4);margin-left:0}.menu-toggle{display:block}.stat-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.stat-grid{grid-template-columns:1fr}}
