:root{--line:#d9e8ef;--ink:#13233b;--muted:#718198;--turq:#3a9fbf;--blue:#2f6fa8;--weekend:#fff3f0}
[x-cloak]{display:none!important}.nav-link{display:flex;align-items:center;gap:.75rem;height:2.75rem;border-radius:.8rem;padding:0 .75rem;color:#526178;transition:.18s ease}.nav-link svg{width:1.05rem;height:1.05rem;stroke-width:1.8}.nav-link:hover{background:rgba(223,245,251,.72);color:#2f6fa8;transform:translateX(2px)}.nav-link.active{background:linear-gradient(135deg,#eaf7fb,#e7f1fb);color:#2f6fa8;box-shadow:inset 2px 0 #3a9fbf,0 7px 18px rgba(47,111,168,.08)}.dark .nav-link{color:#9eafc4}.dark .nav-link:hover,.dark .nav-link.active{background:rgba(58,159,191,.13);color:#79cce0}.theme-btn{display:grid;place-items:center;gap:.25rem;border-radius:.7rem;padding:.45rem .15rem;color:#7b899d;font-size:9px;font-weight:700;transition:.15s}.theme-btn svg{width:15px}.theme-btn.active{background:white;color:#2f6fa8;box-shadow:0 4px 12px rgba(30,60,90,.1)}.dark .theme-btn.active{background:#142238;color:#79cce0}.liquid-card{border:1px solid rgba(217,232,239,.9);background:rgba(255,255,255,.82);box-shadow:0 20px 60px rgba(30,60,90,.08),inset 0 1px rgba(255,255,255,.85);backdrop-filter:blur(20px)}.dark .liquid-card{border-color:rgba(255,255,255,.08);background:rgba(13,27,45,.76);box-shadow:0 20px 60px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.04)}.glass-button{height:2.35rem;border:1px solid rgba(217,232,239,.9);border-radius:.75rem;background:rgba(255,255,255,.75);padding:0 .85rem;color:#41536d;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:.15s}.glass-button:hover{border-color:#b7dbe7;background:#f1fafc;color:#2f6fa8;box-shadow:0 7px 20px rgba(47,111,168,.1);transform:translateY(-1px)}.glass-button svg{width:15px}.dark .glass-button{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#b4c2d3}.period-tab{height:2.35rem;padding:0 .9rem;border-radius:.7rem;color:#6f7d90;font-size:11px;font-weight:750}.period-tab.active{background:linear-gradient(135deg,#e7f5fa,#e7f0fb);color:#2f6fa8;box-shadow:0 5px 14px rgba(47,111,168,.08)}.dark .period-tab.active{background:rgba(58,159,191,.15);color:#7ad0e4}.current-pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #bce7d6;background:#eaf9f2;color:#177a55;border-radius:999px;padding:.35rem .65rem;font-size:10px;font-weight:800}.current-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#22a66f;box-shadow:0 0 0 4px rgba(34,166,111,.1)}.right-widget{border:1px solid rgba(217,232,239,.85);border-radius:1.1rem;background:rgba(255,255,255,.7);padding:1rem;box-shadow:0 14px 35px rgba(30,60,90,.055);backdrop-filter:blur(16px)}.dark .right-widget{border-color:rgba(255,255,255,.08);background:rgba(18,33,52,.68)}.widget-heading{font-size:12px;font-weight:850;color:#24364e}.dark .widget-heading{color:#dce7f5}.info-row{display:flex;gap:.7rem;padding:.75rem 0;border-top:1px solid rgba(217,232,239,.7)}.dark .info-row{border-color:rgba(255,255,255,.07)}.info-dot{margin-top:.25rem;width:7px;height:7px;flex:none;border-radius:50%;background:#4fb7d3;box-shadow:0 0 0 4px rgba(79,183,211,.1)}.info-row strong{display:block;font-size:10.5px}.info-row span{display:block;margin-top:2px;color:#7b899b;font-size:9.5px}.action-row{display:flex;align-items:center;gap:.55rem;width:100%;border-top:1px solid rgba(217,232,239,.7);padding:.65rem 0;color:#53647b;font-size:10.5px;font-weight:700}.action-row svg{width:14px;color:#3a9fbf}.dark .action-row{border-color:rgba(255,255,255,.07);color:#a8b8ca}
.schedule-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.schedule-table th{position:sticky;top:0;z-index:3;height:38px;border-right:1px solid rgba(217,232,239,.75);border-bottom:1px solid var(--line);background:rgba(249,252,253,.96);color:#41536c;font-size:11px;font-weight:800;backdrop-filter:blur(12px)}
.dark .schedule-table th{border-color:rgba(255,255,255,.08);background:rgba(15,30,49,.96);color:#9dafc4}
.schedule-table td{height:27px;border-right:1px solid rgba(217,232,239,.65);border-bottom:1px solid rgba(217,232,239,.65);text-align:center}
.dark .schedule-table td{border-color:rgba(255,255,255,.055)}
.schedule-table tbody tr:hover td{background:#edf8fc!important}
.dark .schedule-table tbody tr:hover td{background:rgba(58,159,191,.12)!important}
.schedule-wrap{overflow:auto}
@media(max-width:1250px){.right-column{display:none}.schedule-layout{grid-template-columns:minmax(0,1fr)!important}}
