@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--accent-400:#a78bfa;--accent-500:#8b5cf6;--accent-600:#7c3aed;--primary-color:var(--primary-500);--primary-dark:var(--primary-600);--primary-light:var(--primary-100);--primary:var(--primary-color);--danger:#ef4444;--danger-bg:#ef44441f;--success:#22c55e;--success-bg:#22c55e1f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--bg-base:#080c18;--bg-900:#0d1221;--bg-800:#111827;--bg-700:#1a2236;--bg-600:#1e2d45;--bg-gradient:linear-gradient(160deg, #080c18 0%, #0d1221 60%, #111827 100%);--surface-1:#111827f0;--surface-2:#1a2236eb;--surface-3:#1e2d45d9;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff2e;--text-100:#f8fafc;--text-200:#e2e8f0;--text-400:#94a3b8;--text-500:#64748b;--text-color:var(--text-100);--text-main:var(--text-100);--text-muted:var(--text-400);--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #00000059;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 15px 35px -5px #0006, 0 8px 15px -8px #0006;--shadow-xl:0 25px 55px -10px #00000080, 0 12px 25px -12px #00000080;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.75rem;--radius-xl:2.25rem;--radius-2xl:3rem;--radius-full:9999px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-spring:.35s cubic-bezier(.175, .885, .32, 1.275)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-gradient);background-attachment:fixed;background-color:var(--bg-base);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.02em;font-weight:700;line-height:1.25}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.25rem}h4{font-size:1.0625rem}p{color:var(--text-muted);line-height:1.7}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-400)}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.hidden{display:none}.md\:block{display:block}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}}.card{background:var(--surface-1);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-md);transition:transform var(--transition-spring), box-shadow var(--transition-normal), border-color var(--transition-normal);padding:2.25rem;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:#ffffff26;transform:translateY(-2px)}.glass-panel{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);background:#0d1221f0}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);letter-spacing:.01em;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--transition-fast);background:#fff0;position:absolute;inset:0}.btn:hover:after{background:#ffffff0f}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #3b82f633}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f64d}.btn-accent{background:var(--accent-500);color:#fff}.btn-accent:hover{background:var(--accent-600);transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf64d}.btn-outline{border:1px solid var(--border-default);color:var(--text-200);background:#ffffff0a}.btn-outline:hover{border-color:var(--primary-500);color:var(--primary-400);background:#ffffff14}.btn-secondary{color:var(--text-200);border:1px solid var(--border-subtle);background:#ffffff0f}.btn-secondary:hover{border-color:var(--border-default);background:#ffffff1a}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ef444473}.btn-ghost{color:var(--text-muted);background:0 0;border:1px solid #0000}.btn-ghost:hover{color:var(--text-200);border-color:var(--border-subtle);background:#ffffff0d}.btn-sm{padding:.375rem .875rem;font-size:.8125rem}.btn-lg{padding:.875rem 2rem;font-size:1rem}.input{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;transition:all var(--transition-normal);color:var(--text-color);background:#080c1899;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;box-shadow:inset 0 1px 3px #0003}.input::placeholder{color:var(--text-500)}.input:focus,.focus-ring:focus{border-color:var(--primary-500);background:#080c18d9;outline:none;box-shadow:0 0 0 3px #3b82f633,inset 0 1px 3px #0003}.label{color:var(--text-400);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.4rem;font-size:.8125rem;font-weight:600;display:block}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.badge{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.25rem;padding:.2rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-bg);color:#4ade80;border:1px solid #22c55e40}.badge-primary{color:var(--primary-400);background:#3b82f626;border:1px solid #3b82f640}.badge-danger{background:var(--danger-bg);color:#f87171;border:1px solid #ef444440}.badge-warning{background:var(--warning-bg);color:#fbbf24;border:1px solid #f59e0b40}.badge-accent{color:var(--accent-400);background:#8b5cf626;border:1px solid #8b5cf640}.table-container{background:var(--surface-1);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);border:1px solid var(--border-default);width:100%;box-shadow:var(--shadow-md);overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--text-500);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-default);white-space:nowrap;background:#080c1880;padding:.875rem 1.25rem;font-size:.7rem;font-weight:700}td{border-bottom:1px solid var(--border-subtle);color:var(--text-200);padding:1rem 1.25rem;font-size:.9375rem}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:#3b82f60a}tbody tr:last-child td{border-bottom:none}.stat-card{background:var(--surface-1);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0f;transition:transform var(--transition-spring), box-shadow var(--transition-normal);padding:1.5rem;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{color:var(--text-100);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex}.logo-glow{box-shadow:var(--shadow-glow), 0 0 40px #3b82f633}.shadow-glow-sm:hover{box-shadow:var(--shadow-glow-sm)}.hover-scale:hover{transform:scale(1.03)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:var(--primary-400)}.text-muted{color:var(--text-muted)}.text-success{color:#4ade80}.text-danger{color:#f87171}.text-warning{color:#fbbf24}.text-white{color:#fff}.w-full{width:100%}.h-full{height:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.divider{background:var(--border-subtle);height:1px;margin:1.25rem 0}.empty-state{color:var(--text-500);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3.5rem 2rem;display:flex}.empty-state svg{opacity:.3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #3b82f666}50%{box-shadow:0 0 24px #3b82f6b3}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.45s cubic-bezier(.22,1,.36,1) both fadeInUp}.animate-spin{animation:1s linear infinite spin}.animate-fade-in>*{animation:.4s cubic-bezier(.22,1,.36,1) both fadeInUp}.animate-fade-in>:first-child{animation-delay:50ms}.animate-fade-in>:nth-child(2){animation-delay:.1s}.animate-fade-in>:nth-child(3){animation-delay:.15s}.animate-fade-in>:nth-child(4){animation-delay:.2s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:50;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-800);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), inset 0 1px 0 #ffffff12;width:100%;max-width:520px;padding:2rem;animation:.3s cubic-bezier(.22,1,.36,1) both fadeInUp}.form-group{flex-direction:column;margin-bottom:2rem;padding:2.5rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.alert{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:.75rem;padding:.875rem 1.125rem;font-size:.875rem;font-weight:500;display:flex}.alert-error{background:var(--danger-bg);color:#fca5a5;border-color:#ef444440}.alert-success{background:var(--success-bg);color:#86efac;border-color:#22c55e40}.alert-info{color:var(--primary-200);background:#3b82f61f;border-color:#3b82f640}.page-header{margin-top:1rem;margin-bottom:4.5rem;position:relative}.page-title{color:var(--text-100);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.2}.page-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.9375rem}.glass{background:var(--surface-2);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-default)}
