:root{--bg:#0a0e14;--surface-1:#10151f;--surface-2:#161c28;--surface-3:#1e2635;--border:#232c3d;--border-strong:#2f3a4f;--text:#e8ecf2;--text-muted:#94a3b8;--text-dim:#5b6675;--primary:#3b82f6;--primary-hover:#2563eb;--primary-soft:rgba(59,130,246,0.12);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5);--ease:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;font-size:14px;letter-spacing:-.006em}h1{font-size:1.6rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.15rem;font-weight:650;letter-spacing:-.015em}h3{font-size:1rem;font-weight:600}a{color:var(--primary);text-decoration:none;transition:color .15s}a:hover{color:var(--primary-hover)}code{font-family:JetBrains Mono,ui-monospace,monospace;background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:.85em}::selection{background:var(--primary-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}body,html{min-height:100vh;max-width:100%;overflow-x:hidden}.mobile-topbar{display:none}.app-sidebar{position:fixed;top:0;left:0;width:232px;height:100vh;height:100dvh;background:var(--surface-1);border-right:1px solid var(--border);padding:1.5rem .875rem calc(1.25rem + env(safe-area-inset-bottom, 0px));overflow-y:auto;overscroll-behavior:contain;z-index:40}.app-main{margin-left:232px;min-height:100vh;background:var(--bg)}.app-main,.list-card{min-width:0}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:39;animation:fadeIn .2s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:860px){.mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;height:54px;padding:0 .75rem;background:var(--surface-1);border-bottom:1px solid var(--border);z-index:30}.app-sidebar{transform:translateX(-100%);transition:transform .28s var(--ease);box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.page{padding:1.25rem 1.1rem}}@media (max-width:560px){.filter-bar{flex-direction:column;align-items:stretch}.filter-bar>*{width:100%!important;min-width:0!important}}.schedule-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:900px){.schedule-layout{grid-template-columns:1fr}}@media (max-width:620px){.schedule-form-grid{grid-template-columns:1fr!important}}.container{max-width:960px;margin:0 auto;padding:2rem}.page{padding:2rem 2.5rem;max-width:1040px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.page-header h1{margin:0}.page-subtitle{color:var(--text-muted);font-size:.875rem;margin-top:.25rem}.breadcrumb-link{color:var(--text-dim);font-size:.8125rem;display:inline-flex;align-items:center;gap:.25rem;transition:color .15s}.breadcrumb-link:hover{color:var(--text-muted)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.5rem}.card-sm{padding:1rem 1.25rem}.card-title{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:650;margin-bottom:1rem}.list-card{display:block;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:1rem 1.25rem;color:inherit;transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.list-card:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-1px);color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--r-sm);background:var(--primary);color:#fff;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap}.btn:hover{background:var(--primary-hover);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.25)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}.btn-ghost:hover{border-color:var(--text-dim);box-shadow:none}.btn-ghost:hover,.btn-subtle{background:var(--surface-2);color:var(--text)}.btn-subtle{border:1px solid var(--border)}.btn-subtle:hover{background:var(--surface-3);color:var(--text);box-shadow:none}.btn-sm{padding:.35rem .7rem;font-size:.8125rem}.btn-icon{padding:.35rem;width:30px;height:30px}.input,.select,.textarea{width:100%;padding:.6rem .8rem;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-size:.875rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input::placeholder,.textarea::placeholder{color:var(--text-dim)}.textarea{resize:vertical;min-height:60px}.label{display:block;margin-bottom:.4rem;font-size:.8125rem;color:var(--text-muted);font-weight:500}.field{margin-bottom:1.25rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:2px 9px;border-radius:var(--r-full);font-size:.7rem;font-weight:650;letter-spacing:.02em;white-space:nowrap;line-height:1.5}.badge-dot{width:6px;height:6px;border-radius:50%}.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.4rem;transition:border-color .18s,transform .18s var(--ease)}.stat:hover{border-color:var(--border-strong);transform:translateY(-1px)}.stat-value{font-size:2rem;font-weight:750;letter-spacing:-.03em;line-height:1}.stat-label{font-size:.8125rem;color:var(--text-muted);margin-top:.5rem}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}@media (max-width:720px){.two-col{grid-template-columns:1fr}}.split-row{justify-content:space-between;gap:1rem}.split-row,.split-row-actions{display:flex;align-items:center}.split-row-actions{gap:.75rem;flex-shrink:0}@media (max-width:560px){.split-row{flex-direction:column;align-items:stretch;gap:.85rem}.split-row-actions{justify-content:space-between}}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.grid{display:grid}.flex{display:flex}.divider{height:1px;background:var(--border);border:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .4s var(--ease) both}.progress-track{height:5px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--r-full);transition:width .5s var(--ease)}.empty{text-align:center;padding:3rem 1rem;color:var(--text-dim)}.empty-icon{font-size:2rem;opacity:.4;margin-bottom:.5rem}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;padding:.5rem .6rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:.6rem;vertical-align:middle;color:var(--text)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-2)}.table .r,.table td.r,.table th.r{text-align:right}@media (max-width:720px){.card>.table{display:block;overflow-x:auto;white-space:nowrap}}@keyframes skelPulse{0%,to{opacity:.45}50%{opacity:.85}}.skel{display:block;background:linear-gradient(90deg,var(--surface-2) 0,var(--surface-3) 50%,var(--surface-2) 100%);border-radius:var(--r-sm);animation:skelPulse 1.25s var(--ease) infinite}.skel-row{height:44px;border-bottom:1px solid var(--border)}@media (prefers-reduced-motion:reduce){.skel{animation:none;opacity:.6}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}