:root{--navy:#1b4f8a;--navy-dark:#163d6e;--navy-light:#2563a8;--accent:#2e86c1;--accent-light:#d6e4f7;--accent-dark:#1a5a8a;--dark:#2c3e50;--gray-700:#3d5166;--gray-600:#4a6080;--gray-500:#5d6d7e;--gray-400:#85929e;--gray-300:#aeb6bf;--gray-200:#d5d8dc;--gray-100:#ebf0f5;--gray-50:#f4f6f8;--white:#fff;--success:#1a6b3c;--success-bg:#d5f0e0;--warning:#7d6608;--warning-bg:#fef9e7;--danger:#c0392b;--danger-bg:#fdecea;--info:#2e86c1;--info-bg:#d6e4f7;--font-family:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--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;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #00000014, 0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a, 0 10px 10px #0000000a;--shadow-navy:0 4px 14px #1b4f8a40;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--navbar-height:64px;--sidebar-width:260px;--content-max:1280px}body{color:#e2e8f0;background-color:#0f1117}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family);font-size:var(--text-base);color:#e2e8f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f1117;line-height:1.6}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--navy)}img,video{max-width:100%;display:block}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-family);font-size:var(--text-base);outline:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{color:var(--dark);line-height:1.3;font-weight:var(--font-semibold)}.container{width:100%;max-width:var(--content-max);padding:0 var(--space-6);margin:0 auto}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content: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)}.gap-6{gap:var(--space-6)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-navy{color:var(--navy)}.text-accent{color:var(--accent)}.text-gray{color:var(--gray-500)}.text-white{color:var(--white)}.text-dark{color:var(--dark)}.w-full{width:100%}.h-full{height:100%}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;border:1.5px solid #0000;line-height:1;display:inline-flex}.btn-primary{background:var(--navy);color:var(--white);border-color:var(--navy);box-shadow:var(--shadow-navy)}.btn-primary:hover{background:var(--navy-dark);border-color:var(--navy-dark);transform:translateY(-1px);box-shadow:0 6px 16px #1b4f8a59}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--white);color:var(--navy);border-color:var(--gray-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--navy)}.btn-accent{background:var(--accent);color:var(--white);border-color:var(--accent)}.btn-accent:hover{background:var(--accent-dark)}.btn-danger{background:var(--danger);color:var(--white);border-color:var(--danger)}.btn-danger:hover{background:#a93226}.btn-ghost{color:var(--gray-600);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--gray-100);color:var(--dark)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md);width:36px;height:36px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--dark)}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--dark);background:var(--white);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-input.error{border-color:var(--danger);box-shadow:0 0 0 3px #c0392b1f}.form-select{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--dark);background:var(--white);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235D6D7E' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.form-select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2e86c126}.form-error{font-size:var(--text-xs);color:var(--danger);margin-top:var(--space-1)}.form-hint{font-size:var(--text-xs);color:var(--gray-400);margin-top:var(--space-1)}.form-input{color:#e2e8f0;background:#1a1d27;border-color:#ffffff1a}.form-input::placeholder{color:#4a5568}.form-input:focus{border-color:var(--accent);background:#1a1d27;box-shadow:0 0 0 3px #2e86c133}.form-select{color:#e2e8f0;background:#1a1d27;border-color:#ffffff1a}.form-select:focus{border-color:var(--accent);background:#1a1d27}.form-label{color:#94a3b8}.form-hint{color:#4a5568}.form-error{color:#f87171}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);overflow:hidden}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;display:flex}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--gray-100);background:var(--gray-50)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-navy{background:var(--navy);color:var(--white)}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.live-dot{align-items:center;gap:var(--space-1);display:inline-flex}.live-dot:before{content:"";border-radius:var(--radius-full);background:#22c55e;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-live}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.spinner{border:2.5px solid var(--gray-200);border-top-color:var(--navy);border-radius:var(--radius-full);width:24px;height:24px;animation:.7s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-lg{border-width:3px;width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{justify-content:center;align-items:center;gap:var(--space-4);min-height:100vh;color:var(--gray-500);flex-direction:column;display:flex}.divider{align-items:center;gap:var(--space-3);color:var(--gray-400);font-size:var(--text-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);box-shadow:var(--shadow-lg);font-weight:var(--font-medium)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}:root{--navbar-height:56px}}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.3s forwards fadeIn}.animate-slide-in{animation:.25s forwards slideIn}.page-enter{animation:.25s forwards fadeIn}
