@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Mono:wght@400;500&family=Outfit:wght@300;400;500;600&display=swap";:root{--bg: #f6f5f0;--bg2: #eceae4;--white: #ffffff;--navy: #0f1a2e;--navy2: #1a2d4a;--gold: #d4880a;--gold2: #f0a820;--gold-bg: #fdf3e0;--green: #0d7a4e;--green-bg: #e6f7f0;--red: #c0392b;--red-bg: #fdecea;--blue: #1a56a0;--blue-bg: #e8f0fb;--border: #dddbd4;--text: #1a1a2e;--muted: #7a7a8a;--sidebar-w: 220px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.font-syne{font-family:Syne,sans-serif}.font-mono{font-family:DM Mono,monospace}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-arrive{background:var(--green-bg);color:var(--green)}.badge-course{background:var(--gold-bg);color:var(--gold)}.badge-dns{background:var(--bg2);color:var(--muted)}.badge-dnf,.badge-dsq{background:var(--red-bg);color:var(--red)}.badge-cat{background:var(--blue-bg);color:var(--blue)}.badge-doss{background:var(--navy);color:var(--gold2);font-family:DM Mono,monospace;font-size:12px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;border:none;cursor:pointer;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .18s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy2)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover:not(:disabled){background:var(--gold2)}.btn-outline{background:none;border:1px solid var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){border-color:var(--navy)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid rgba(192,57,43,.3)}.btn-sm{padding:5px 12px;font-size:12px}.btn-xs{padding:3px 9px;font-size:11px;border-radius:6px}.card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-family:Syne,sans-serif;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}.form-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.form-input,.form-select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:10px 13px;font-size:14px;font-family:Outfit,sans-serif;color:var(--text);outline:none;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--navy)}.form-group{margin-bottom:14px}.table-wrap{overflow-x:auto}.fl-table{width:100%;border-collapse:collapse;font-size:13px}.fl-table th{text-align:left;padding:9px 12px;background:var(--bg);border-bottom:2px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.fl-table td{padding:10px 12px;border-bottom:1px solid var(--bg2);vertical-align:middle}.fl-table tr:last-child td{border-bottom:none}.fl-table tbody tr:hover td{background:var(--bg)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{padding:12px 18px;border-radius:11px;font-size:13px;font-weight:600;box-shadow:0 4px 20px #00000026;animation:toastIn .25s ease;pointer-events:all}.toast-success{background:var(--green-bg);color:var(--green);border:1px solid rgba(13,122,78,.2)}.toast-error{background:var(--red-bg);color:var(--red);border:1px solid rgba(192,57,43,.2)}.toast-warn{background:var(--gold-bg);color:var(--gold);border:1px solid rgba(212,136,10,.2)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none!important}}
