@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a25;--bg-elevated:#1e1e2a;--glass-bg:hsla(0,0%,100%,.03);--glass-bg-hover:hsla(0,0%,100%,.05);--glass-border:hsla(0,0%,100%,.08);--glass-border-hover:hsla(0,0%,100%,.12);--glass-highlight:hsla(0,0%,100%,.05);--gradient-primary:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.08));--gradient-accent:linear-gradient(135deg,#6366f1,#a855f7);--gradient-card:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02));--gradient-bg:radial-gradient(ellipse at top,rgba(99,102,241,.1) 0%,transparent 50%);--text-primary:#fff;--text-secondary:hsla(0,0%,100%,.7);--text-muted:hsla(0,0%,100%,.4);--text-placeholder:hsla(0,0%,100%,.3);--accent-primary:#6366f1;--accent-secondary:#a855f7;--accent-tertiary:#8b5cf6;--success:#10b981;--success-bg:rgba(16,185,129,.1);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.1);--error:#ef4444;--error-bg:rgba(239,68,68,.1);--info:#3b82f6;--info-bg:rgba(59,130,246,.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--shadow-glow:0 0 40px rgba(99,102,241,.15);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:var(--gradient-bg);pointer-events:none;z-index:-1}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-normal)}.glass-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.glass-card-elevated{background:var(--gradient-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);outline:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 16px rgba(99,102,241,.3)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px rgba(99,102,241,.4)}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary)}.btn-danger{background:var(--error-bg);color:var(--error);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.2)}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:16px}.btn-icon{padding:10px;border-radius:var(--radius-md)}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.input{width:100%;padding:12px 16px;font-size:14px;color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast)}.input::placeholder{color:var(--text-placeholder)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.input:disabled{opacity:.5;cursor:not-allowed}.input-error{border-color:var(--error)}.input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-full)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{color:var(--text-secondary)}.badge-neutral,.stat-card{background:var(--glass-bg)}.stat-card{padding:24px;border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.stat-card-value{font-size:32px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--glass-bg)}.table td,.table th{padding:14px 16px;border-bottom:1px solid var(--glass-border)}.table tr:last-child td{border-bottom:none}.table tr:hover{background:var(--glass-bg)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{padding:24px 24px 0}.modal-title{font-size:18px;font-weight:600}.modal-body{padding:24px}.modal-footer{padding:0 24px 24px;display:flex;gap:12px;justify-content:flex-end}.spinner{width:24px;height:24px;border:2px solid var(--glass-border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.3}.empty-state-title{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-description{color:var(--text-secondary);max-width:400px;margin:0 auto}.text-gradient{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.w-full{width:100%}.page-header{margin-bottom:32px}.page-title{font-size:28px;font-weight:700;margin-bottom:8px}.page-description{color:var(--text-secondary)}.grid{display:grid;grid-gap:20px;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;padding:2px 6px;background:var(--glass-bg);border-radius:var(--radius-sm)}pre{background:var(--bg-tertiary);padding:16px;border-radius:var(--radius-md);overflow-x:auto}pre code{background:none;padding:0}.fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}