@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f7f8fb;--surface:#fff;--ink:#202538;--muted:#7c8193;--line:#eceef4;--accent:#6554d9;--purple-bg:#eeebff;--sidebar:238px;--font:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a79aff;outline-offset:3px}svg{width:18px;height:18px;display:block;flex-shrink:0}button{border:0}h1,h2,h3,p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:34px 22px 24px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;font-family:Manrope,var(--font);font-size:29px;font-weight:800;letter-spacing:-1.5px;padding-left:8px}.brand-mark{width:33px;height:35px;border-radius:11px;background:var(--accent);color:white;font-size:34px;line-height:30px;text-align:center;position:relative;letter-spacing:-2px;font-family:Arial}.brand-mark span{font-size:17px;position:absolute;top:-7px;right:-7px;color:#a99cee}.brand-period{color:var(--accent)}.workspace{margin-top:37px;padding:14px 10px;background:#f8f8fc;border:1px solid #efeff5;border-radius:10px;display:flex;gap:10px;align-items:center}.workspace-icon{color:#696481}.workspace strong,.profile strong{display:block;font-size:11px;font-weight:650}.workspace div>span,.profile div>span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.workspace-dot{margin-left:auto;height:5px;width:5px;border-radius:50%;background:#a5a2ba}.nav-label{font-size:9px;color:#989bac;font-weight:650;letter-spacing:1.4px;margin:33px 12px 12px}.nav-item{display:flex;width:100%;align-items:center;gap:11px;font-size:12px;padding:13px 12px;margin-bottom:6px;border-radius:8px;background:none;color:#777b8d;text-align:left}.nav-item.active{background:#f0edff;color:#6554cd;font-weight:650}.nav-item>svg:last-child:not(:first-child){width:13px;margin-left:auto}.nav-indicator{width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:auto}.sidebar-bottom{margin-top:auto}.small-note{padding:20px 16px 12px;margin-bottom:28px;background:linear-gradient(135deg,#f4f2ff,#faf9ff);border:1px solid #eeebfb;border-radius:12px;position:relative;overflow:hidden}.note-symbol{font-size:28px;color:#a497e5;display:block;margin-bottom:14px}.small-note strong{font-size:15px;line-height:1.7;font-weight:550;letter-spacing:-.3px}.small-note p{font-size:11px;line-height:1.8;color:#9290a8;margin-top:8px}.note-line{height:36px;width:120px;border-top:1px solid #dcd5f5;border-radius:50%;transform:rotate(-15deg);margin:22px -5px -25px auto;box-shadow:0 -9px 0 -8px #dcd5f5,0 -18px 0 -17px #dcd5f5}.profile{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:10px}.avatar{width:33px;height:33px;border-radius:50%;background:#eeebfc;color:#7565b5;display:grid;place-items:center;font-size:11px;font-weight:600}.shell{margin-left:var(--sidebar)}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#ffffff80}.breadcrumb{font-size:11px;color:#9296a5;display:flex;gap:13px}.breadcrumb strong{font-weight:500;color:#606679}.breadcrumb>span{color:#c8cad3}.top-semester{font-size:10px;color:#8b90a0;display:flex;gap:13px;align-items:center}.pill{padding:6px 9px;border:1px solid #e7e5f2;border-radius:5px;color:#7c739d;background:#faf9ff}.mobile-brand{display:none}main{max-width:1740px;margin:auto;padding:34px 38px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;color:#9697aa}h1{font-family:Manrope,var(--font);font-size:32px;font-weight:750;letter-spacing:-1.3px;margin-top:8px}h1>span{color:#9387d8}.page-heading p{font-size:12px;color:#8c90a0;margin-top:9px}.source-link{display:flex;align-items:center;gap:8px;font-size:11px;background:#fff;border:1px solid #e4e6ed;box-shadow:0 2px 2px #18213c03;padding:10px 13px;border-radius:7px}.source-link svg{width:14px;height:14px;color:#9294a2}.overview{display:grid;grid-template-columns:minmax(260px,1.75fr) 1fr 1fr 1.2fr;align-items:center;background:#fff;border:1px solid #e8eaf2;border-radius:12px;padding:23px 24px;margin-bottom:27px;box-shadow:0 3px 8px #20253a02;gap:20px}.overview-main{display:flex;align-items:center;gap:15px}.overview-icon{background:#f0edff;color:#7966d6;border-radius:12px;width:47px;height:47px;display:grid;place-items:center;flex-shrink:0}.overview-icon svg{width:22px;height:22px}.overline{font-size:8px;letter-spacing:1.2px;font-weight:650;color:#9195a5;display:block}.overview h2{font-size:14px;font-weight:650;margin:7px 0 5px}.overview-main div>span:last-child{font-size:10px;color:#9598a8}.board-number{font-size:9px;padding:5px 6px;border-radius:4px;color:#7c6cc0;background:#f4f1ff;align-self:flex-start;margin-top:13px}.overview-stat{padding-left:21px;border-left:1px solid #eeeff5}.overview-stat strong{font-family:Manrope,var(--font);font-size:24px;font-weight:650;display:block;margin:6px 0 3px;letter-spacing:-.8px}.overview-stat>span:last-child{font-size:9px;color:#989cab}.overview-status{display:flex;align-items:center;gap:8px;justify-self:end;font-size:10px;color:#8b8fa0}.overview-status strong{display:block;color:#5b6175;font-size:10px;font-weight:500;margin-top:5px}.status-dot{width:6px;height:6px;background:#8c82ba;border-radius:50%;align-self:flex-start;margin-top:4px}.icon-button{background:none;display:grid;place-items:center;width:29px;height:30px;border-radius:6px;color:#8c90a0;padding:0}.icon-button:hover{background:#f0eef9;color:#6554cd}.icon-button svg{width:15px;height:15px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:25px;align-items:start}.schedule-panel{background:#fff;border:1px solid #e7e9f1;border-radius:12px;overflow:hidden;min-width:0;box-shadow:0 4px 9px #20253a02}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;gap:10px}.date-nav{display:flex;align-items:center;gap:11px}.arrows{display:flex;border:1px solid #e9eaf1;border-radius:6px;padding:1px}.arrows .icon-button{width:24px;height:27px}.arrows .icon-button+button{border-left:1px solid #eeeef4;border-radius:0}.date-nav h2{font-size:14px;font-weight:650;letter-spacing:-.3px;white-space:nowrap}.today-button{background:#fff;border:1px solid #e6e7ef;border-radius:5px;padding:6px 9px;font-size:10px;color:#7f8393}.today-button:hover{border-color:#9b8ce7;color:var(--accent)}.date-input-label{position:relative;width:22px;height:24px;display:grid;place-items:center;color:#8c91a2}.date-input-label svg{width:14px;height:14px}.date-input-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:0}.date-input-label input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.view-switch{display:flex;background:#f5f5f9;border:1px solid #eeeef4;padding:3px;border-radius:7px;gap:2px}.view-switch button{display:flex;gap:6px;align-items:center;font-size:10px;background:none;border-radius:5px;padding:7px 10px;color:#9698a9}.view-switch button svg{width:12px;height:12px}.view-switch button[aria-pressed=true]{background:white;color:#6d5bce;box-shadow:0 1px 4px #2421390d;font-weight:550}.filterbar{padding:0 20px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.filter-left{display:flex;align-items:center;gap:13px}.group-select{display:flex;gap:6px;align-items:center;color:#9093a4}.group-select>svg{width:13px;height:13px}.group-select select{border:0;outline-offset:0;background:#fff;color:#6c7185;font-size:10px;max-width:114px;padding:6px 2px;cursor:pointer}.filter-divider{height:13px;width:1px;background:#e6e8f0}.free-toggle{display:flex;gap:6px;align-items:center;font-size:9px;color:#9397a7;cursor:pointer;white-space:nowrap;position:relative}.free-toggle input{position:absolute;opacity:0;width:25px;height:16px;margin:0}.free-toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:3px}.switch{display:block;width:24px;height:14px;border-radius:10px;background:#d9dce5;padding:2px;transition:background .2s}.switch:after{content:'';display:block;width:10px;height:10px;background:white;border-radius:50%;transition:transform .2s}.free-toggle input:checked+.switch{background:#b0a6dd}.free-toggle input:checked+.switch:after{transform:translateX(10px)}.search-field{display:flex;align-items:center;gap:7px;color:#a3a6b5;min-width:0}.search-field svg{width:13px;height:13px}.search-field input{width:132px;padding:6px 0;border:0;outline-offset:2px;background:transparent;font-size:10px;color:#626a80;min-width:0}.search-field input::placeholder{color:#a3a7b6}.calendar-viewport{overflow:auto;position:relative;max-height:720px;scrollbar-width:thin;scrollbar-color:#dcdde8 transparent}.week-grid{display:grid;min-width:610px;position:relative}.week-head{display:contents}.time-header,.day-header{height:69px;position:sticky;top:0;background:#fff;z-index:3;border-bottom:1px solid var(--line)}.time-header{display:flex;align-items:center;justify-content:center;font-size:8px;color:#a7abba}.day-header{padding:13px 0;text-align:center;border-left:1px solid var(--line)}.day-header button{background:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;width:100%;color:#8f93a5}.day-header .day-name{font-size:9px;font-weight:500}.day-number{font-family:Manrope,var(--font);font-size:18px;font-weight:650;line-height:25px;height:27px;width:27px;display:grid;place-items:center;color:#596078}.day-header.selected{background:#fcfbff}.day-header.today .day-number{background:var(--accent);border-radius:8px;color:white;box-shadow:0 3px 7px #6554d922}.day-header.today .day-name{color:var(--accent)}.time-axis{position:relative;background:#fff}.time-tick{position:absolute;left:0;right:0;text-align:center;font-size:8px;color:#a2a7b7;transform:translateY(-50%)}.time-tick:first-child{transform:translateY(5px)}.day-column{position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 67px,#f0f1f6 67px,#f0f1f6 68px);background-size:100% 68px}.day-column.selected{background-color:#fdfcff}.day-column.weekend{background-color:#fbfcfe}.day-column.weekend .weekend-label{position:absolute;top:27px;width:100%;text-align:center;font-size:9px;color:#bbbfc9}.event-card{--event:#6d62bb;--event-bg:#efedfb;--event-line:#e6e1f7;position:absolute;left:5px;right:5px;top:var(--top);height:var(--height);background:var(--event-bg);color:var(--event);border:1px solid var(--event-line);border-left:2px solid var(--event);border-radius:5px;padding:7px 7px 5px;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:4px;transition:filter .15s,box-shadow .15s,transform .15s;width:calc(100% - 10px)}.event-card:hover{filter:brightness(.98);box-shadow:0 3px 9px #36305f18;transform:translateY(-1px);z-index:2}.event-card .event-time{font-size:8px;font-weight:550;letter-spacing:-.1px;white-space:nowrap;opacity:.8}.event-card .event-title{font-size:10px;line-height:1.4;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.event-card .event-teacher{font-size:8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:.75}.event-card .event-label{font-size:7px;opacity:.72;margin-top:auto}.event-card.free{--event:#a0a4b3;--event-bg:#f8f9fb;--event-line:#eff0f5;border-left:1px dashed #d9dde6;border-style:dashed;padding-top:9px}.event-card.free .event-title{font-weight:400;font-size:9px}.event-card.free .event-time{font-size:7px;opacity:.7}.event-card.biochemistry{--event:#98723d;--event-bg:#fbf3e4;--event-line:#f3e7d0}.event-card.biology{--event:#44816f;--event-bg:#eaf5f0;--event-line:#d9ece3}.event-card.behaviour{--event:#8c688a;--event-bg:#f5edf5;--event-line:#eddfed}.event-card.practical{--event:#397d9b;--event-bg:#eaf4fb;--event-line:#d8eaf5}.event-card.exam{--event:#b2656b;--event-bg:#fcedee;--event-line:#f4dade}.event-card.holiday{--event:#6b7a8e;--event-bg:#eef1f6;--event-line:#e0e4ec}.calendar-footer{padding:15px 18px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}.legend{display:flex;gap:12px;font-size:8px;color:#9297a7;align-items:center}.legend>span{display:flex;gap:5px;align-items:center;white-space:nowrap}.legend-dot{height:5px;width:5px;display:inline-block;border-radius:50%}.legend-dot.theory{background:#9a8bd4}.legend-dot.practical{background:#77afc5}.legend-dot.free{background:#c4cad6}.legend-dot.exam{background:#cc9298}.timezone{font-size:8px;color:#b0b4c0;white-space:nowrap}.context-panel{display:flex;flex-direction:column;gap:21px}.day-summary,.week-balance{background:#fff;border:1px solid #e7e9f1;border-radius:11px;padding:19px 17px}.aside-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.aside-heading h2{font-size:12px;font-weight:650;letter-spacing:-.2px}.aside-heading>svg{width:14px;height:14px;color:#aaa8bc}.tiny-badge{font-size:8px;color:#a1a4b2;background:#f6f6fa;border:1px solid #eeeef5;border-radius:4px;padding:4px 6px}.aside-caption{font-size:10px;color:#9a9eac;margin-top:10px;line-height:1.7}.preview-list{margin-top:22px;position:relative}.preview-list:before{content:'';position:absolute;left:4px;top:7px;bottom:18px;border-left:1px solid #eae8f3}.preview-event{position:relative;margin-bottom:21px;padding-left:22px;width:100%;text-align:left;background:none;display:block}.preview-event:before{content:'';position:absolute;top:3px;left:1px;width:7px;height:7px;border:2px solid white;background:#bcb1e2;border-radius:50%;box-shadow:0 0 0 1px #e5e0f3}.preview-event .preview-time{font-size:9px;color:#999db0}.preview-event strong{display:block;font-size:11px;line-height:1.55;font-weight:550;margin:5px 0 4px}.preview-event .preview-meta{font-size:9px;line-height:1.6;color:#9398aa}.preview-event:hover strong{color:var(--accent)}.preview-more{font-size:10px;color:#8b7bc8;background:#f7f5ff;display:block;border-radius:5px;padding:8px 10px;text-align:center;margin-top:3px}.day-quote{background:#f8f9fc;border:1px solid #f0f1f5;border-radius:7px;padding:12px;font-size:10px;line-height:1.8;color:#979bad;margin-top:12px}.balance-track{height:6px;width:100%;display:flex;gap:3px;margin:22px 0 17px;border-radius:5px;overflow:hidden;background:#f2f2f7}.balance-track span{height:100%;background:#b1a3df}.balance-track .practical{background:#7fb2c6}.balance-track .free{background:#e0e4ed}.balance-track .exam{background:#d29ba2}.balance-row{display:flex;align-items:center;font-size:10px;color:#8b91a3;margin:12px 0}.balance-row .legend-dot{margin-right:8px}.balance-row strong{margin-left:auto;color:#737b90;font-size:10px;font-weight:500}.source-card{background:#efedf9;border:1px solid #e5e0f4;border-radius:11px;padding:19px 18px;position:relative;overflow:hidden}.source-symbol{width:31px;height:34px;display:grid;place-items:center;color:#9e91c6;background:#e6e0f5;border:1px solid #ddd4f0;border-radius:7px;margin-bottom:18px;transform:rotate(-7deg)}.source-symbol svg{width:17px;height:17px}.source-card-eyebrow{font-size:7px;letter-spacing:1.3px;color:#a397bf;font-weight:600}.source-card h3{font-family:Manrope,var(--font);font-size:18px;letter-spacing:-.5px;font-weight:600;line-height:1.5;margin-top:9px;color:#61557f}.source-card p{font-size:10px;line-height:1.8;color:#a197b2;margin-top:10px}.quality-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 0 0;font-size:10px;font-weight:550;background:none;color:#776498;margin-top:8px}.quality-button svg{width:14px;height:14px}.snapshot-label{font-size:8px;line-height:1.7;display:block;color:#a89cb9;margin-top:16px;border-top:1px solid #e1dcef;padding-top:11px}.page-footer{display:flex;justify-content:space-between;align-items:center;padding:24px 1px;color:#aaaebb;font-size:9px;gap:10px}.page-footer>span:first-child{font-size:11px;font-weight:550;letter-spacing:-.1px}.footer-separator{font-weight:400;padding:0 9px;color:#d0d2db}.page-footer>span:first-child{color:#9ba0b0}.loading,.empty-state{padding:70px 24px;text-align:center;color:#8b90a4;font-size:13px;line-height:1.8}.empty-state h3{font-size:18px;color:#596176;margin:12px 0 8px}.empty-state svg{margin:auto;width:30px;height:30px;color:#b4a7df}.day-list{padding:19px 24px;min-height:400px}.day-list-heading{font-size:11px;font-weight:500;color:#9b9eac;margin-bottom:22px}.day-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:15px;margin-bottom:12px}.day-time{font-size:12px;font-weight:600;color:#73788b;padding-top:16px}.day-time small{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#a9acb9}.day-event{position:relative;left:auto;right:auto;top:auto;height:auto;min-height:100px;width:100%;padding:14px 18px;border-radius:8px;gap:7px}.day-event .event-title{font-size:15px;-webkit-line-clamp:unset;font-weight:550}.day-event .event-teacher{font-size:11px}.day-event .event-time{font-size:10px}.day-event .event-label{font-size:9px}.day-event.free .event-title{font-size:13px}.day-event.free{min-height:70px}.day-row .event-card:hover{transform:none}dialog{width:min(510px,calc(100vw - 28px));max-height:85vh;border:1px solid #e4e1ef;border-radius:17px;padding:25px;color:var(--ink);box-shadow:0 24px 90px #1a173333;background:white}dialog::backdrop{background:#23213b55;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}dialog h2{font-family:Manrope,var(--font);font-size:23px;line-height:1.5;font-weight:650;letter-spacing:-.6px;margin-bottom:14px}.detail-tag{display:inline-block;background:#f0edfc;color:#7f6baa;border-radius:5px;padding:6px 8px;font-size:10px;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:100px 1fr;gap:13px;font-size:12px;line-height:1.6}.detail-grid dt{color:#9799ab}.detail-grid dd{margin:0;overflow-wrap:anywhere}.dialog-note{font-size:11px;line-height:1.8;color:#9699a9;background:#f8f8fc;padding:13px;border-radius:7px;margin-top:20px}.dialog-link{font-size:12px;display:inline-flex;gap:8px;align-items:center;color:var(--accent);margin-top:19px}.quality-notice{background:#fff6e7;border:1px solid #f3e4c7;padding:13px;border-radius:7px;color:#9b7d49;font-size:11px;line-height:1.8;margin:15px 0}.warning-list{max-height:180px;overflow:auto;padding:0;margin:15px 0;list-style:none;font-size:10px;color:#8e8195;line-height:1.8}.warning-list li{border-bottom:1px solid #f0edf4;padding:8px 0}.error-box{margin:30px;padding:25px;border:1px solid #e7c7cb;background:#fff2f3;border-radius:10px;color:#a15c65;line-height:1.8}.error-box button{padding:8px 12px;border-radius:6px;background:white;margin-top:12px;border:1px solid #e0ccd0}.week-empty-note{grid-column:1/-1;padding:10px 18px;font-size:11px;color:#969bad;border-bottom:1px solid var(--line);background:#fafafe}.source-card.has-warning .quality-button{color:#89733d}.source-card.has-warning .quality-button:before{content:'';height:5px;width:5px;background:#c0a269;border-radius:50%;margin-right:-5px}.current-line{position:absolute;left:0;right:0;top:var(--top);height:1px;background:#9b8cdd;z-index:1;pointer-events:none}.current-line:before{content:'';position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#9b8cdd}@media(min-width:1550px){main{padding-top:42px}.calendar-toolbar{padding:21px 24px}.event-card .event-title{font-size:11px}.content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:28px}.sidebar{padding-top:38px}.calendar-viewport{max-height:790px}}@media(max-width:1270px){:root{--sidebar:205px}.sidebar{padding-left:15px;padding-right:15px}.topbar{padding:0 25px}main{padding:28px 25px 0}.content-layout{gap:17px;grid-template-columns:minmax(0,1fr) 205px}.overview{padding:20px;gap:12px;grid-template-columns:1.7fr .8fr 1fr}.overview-status{display:none}.overview-main{gap:10px}.overview-stat{padding-left:15px}.calendar-toolbar{padding:16px 14px}.date-nav{gap:7px}.date-nav h2{font-size:12px}.view-switch button{padding:7px}.filterbar{padding:0 14px 14px}.filter-left{gap:7px}.filter-divider{display:none}.search-field input{width:113px}.free-toggle{font-size:8px}.calendar-footer{padding:13px 10px}.timezone{display:none}.legend{gap:9px}.overview h2{font-size:12px}.brand{font-size:27px}.source-card,.day-summary,.week-balance{padding:16px 14px}}@media(max-width:1060px){.content-layout{grid-template-columns:minmax(0,1fr)}.context-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.source-card{display:none}.day-summary{min-height:150px}.preview-list{display:grid;grid-template-columns:1fr 1fr;margin-top:15px}.preview-list:before{display:none}.preview-event{margin:0 0 10px}.preview-event strong{font-size:10px}.preview-more{grid-column:1/-1}.day-quote{grid-column:1/-1}.calendar-viewport{max-height:none}.calendar-toolbar{padding:19px}.filterbar{padding:0 19px 15px}.view-switch button{padding:7px 12px}.date-nav{gap:12px}.date-nav h2{font-size:14px}.search-field input{width:140px}.free-toggle{font-size:10px}.calendar-footer{padding:15px 19px}.timezone{display:block}.legend{font-size:9px;gap:16px}.event-card .event-title{font-size:11px}}@media(max-width:760px){:root{--sidebar:0px}.sidebar{display:none}.topbar{height:58px;padding:0 20px;background:#fff}.breadcrumb{display:none}.mobile-brand{display:block;font-family:Manrope,var(--font);font-size:23px;font-weight:800;letter-spacing:-1px;color:#5e4cd1}.top-semester{order:1;font-size:9px}.shell{margin:0}main{padding:26px 18px 0}.page-heading{margin-bottom:22px}.eyebrow{font-size:7px;letter-spacing:1.2px}h1{font-size:28px;letter-spacing:-1px}.page-heading p{font-size:11px;margin-top:7px}.source-link{font-size:0;padding:9px;background:#fff}.source-link svg{width:17px;height:17px}.overview{grid-template-columns:1fr 1fr;margin-bottom:20px;padding:18px;row-gap:20px;column-gap:0}.overview-main{grid-column:1/-1;gap:12px}.overview h2{font-size:15px}.overview-main div>span:last-child{font-size:10px}.overview-icon{width:40px;height:40px;border-radius:9px}.board-number{margin-left:auto;margin-top:7px}.overview-stat{padding-left:0;border:0}.overview-stat:nth-child(3){padding-left:20px;border-left:1px solid var(--line)}.overview-stat strong{font-size:23px;margin-top:6px}.overline{font-size:8px}.overview-stat>span:last-child{font-size:9px}.calendar-toolbar{flex-wrap:wrap;padding:16px;gap:15px}.date-nav{width:100%;gap:10px}.date-nav h2{font-size:14px}.date-input-label{margin-left:auto}.today-button{margin-left:auto;font-size:11px}.view-switch{width:100%}.view-switch button{width:50%;justify-content:center;font-size:11px;padding:9px}.view-switch button svg{height:14px;width:14px}.filterbar{padding:0 16px 14px;flex-wrap:wrap;gap:12px}.filter-left{width:100%;justify-content:space-between}.group-select select{font-size:11px;max-width:none}.group-select>svg{width:15px;height:15px}.free-toggle{font-size:10px}.search-field{width:100%;background:#f8f8fc;border:1px solid #eeeef4;border-radius:6px;padding:3px 10px}.search-field input{width:100%;font-size:11px;padding:7px 0}.calendar-footer{padding:13px 12px;justify-content:center}.legend{font-size:8px;gap:12px}.timezone{display:none}.context-panel{display:none}.day-list{padding:18px 14px;min-height:250px}.day-row{grid-template-columns:58px minmax(0,1fr);gap:9px}.day-time{font-size:10px;padding-top:14px}.day-time small{font-size:9px}.day-event{padding:13px;min-height:105px}.day-event .event-title{font-size:13px}.day-event .event-teacher{font-size:10px}.day-event .event-time{font-size:9px}.day-event .event-label{font-size:8px}.day-event.free .event-title{font-size:12px}.page-footer{font-size:8px;padding:23px 0;align-items:flex-start;line-height:1.7}.page-footer>span:first-child{font-size:9px}.page-footer>span:last-child{max-width:145px;text-align:right}.week-grid{min-width:650px}.time-header,.day-header{height:65px}.calendar-viewport{max-height:650px}.day-header .day-name{font-size:9px}.event-card .event-title{font-size:10px}.day-event .event-title{font-size:13px}.page-heading .source-link{width:36px;height:36px;justify-content:center}.date-nav .arrows .icon-button{width:28px;height:29px}.calendar-footer{flex-wrap:wrap}.content-layout{gap:0}.loading,.empty-state{padding:45px 20px}.day-summary{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

.source-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-12px 2px 20px;font-size:9px;color:#9a9eae}.source-strip>span{display:flex;align-items:center;gap:6px}.snapshot-dot{width:4px;height:4px;background:#b0a6ce;border-radius:50%}.source-strip button{font-size:9px;background:transparent;color:#9b8456;padding:5px 0;text-align:right}.source-strip button:hover{text-decoration:underline}@media(max-width:760px){.source-strip{font-size:8px;margin:-6px 2px 14px}.source-strip button{font-size:8px;max-width:165px}}

.event-card.unknown{--event:#8b8893;--event-bg:#f5f4f7;--event-line:#e7e5ec;border-style:dashed}.legend-dot.unknown,.balance-track .unknown,.legend-dot.holiday,.balance-track .holiday{background:#c6c5ce}

.brand{gap:11px;letter-spacing:0}.brand-logo{width:36px;height:36px;border-radius:11px;display:block}.brand-wordmark{font-size:11px;letter-spacing:2px;color:#9290a6;line-height:1.1}.brand-wordmark>span{display:block;font-size:25px;letter-spacing:-1.1px;color:#262a3e;font-weight:800;margin-top:2px}.mobile-brand{align-items:baseline;gap:6px;font-size:13px;letter-spacing:.5px}.mobile-brand>span{font-size:22px;letter-spacing:-1px}@media(max-width:760px){.mobile-brand{display:flex}.source-strip{gap:8px}}
