:root{--bg:#f6f7f5;--surface:#fff;--ink:#202f2b;--muted:#8a9390;--green:#1e6754;--light-green:#eaf3e9;--line:#e7ebe7;--sidebar:#173b35;--accent:#cbedb2;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a3cdb8;outline-offset:3px}svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button svg{flex-shrink:0}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--sidebar);color:#b2c6be;padding:34px 22px 24px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:23px;letter-spacing:1px;font-weight:650}.brand-icon{height:42px;width:42px;border-radius:12px;background:#305149;color:var(--accent);display:grid;place-items:center}.brand-icon svg{width:28px;height:28px;stroke-width:1.5}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.5px;margin-top:0;color:#a5bdb0}.sidebar-label{margin:48px 14px 15px;font-size:11px;color:#809f92;letter-spacing:1.1px}.sidebar nav{display:grid;gap:8px}.nav-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;color:#b7cbc1;border-radius:8px;padding:13px 14px;font-size:14px}.nav-item:hover{background:#254a41}.nav-item.active{color:var(--accent);background:#2d5147;font-weight:600}.nav-item svg{width:18px;height:18px}.nav-count{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums;color:#96b0a1}.active .nav-count{color:var(--accent);background:#3a6050;padding:0 6px;border-radius:4px}.sidebar-season{margin:48px 3px 24px;padding:24px 18px 20px;background:linear-gradient(140deg,#2d5146,#21463b);border:1px solid #3c5c4d;border-radius:12px;position:relative;overflow:hidden}.sidebar-season .eyebrow{font-size:10px;color:#a5be9b;letter-spacing:1.5px;display:block;margin-top:11px}.sidebar-season h3{color:#e2e9d9;font-size:17px;font-weight:550;margin:9px 0}.sidebar-season p{font-size:11px;color:#a7bfb0;line-height:1.9}.season-link{color:#d5e7bb;background:transparent;border:0;font-size:11px;padding:10px 0 0}.season-link span{margin-left:16px}.season-orbit{width:52px;height:36px;border:1px solid #7a9776;border-radius:50%;transform:rotate(-24deg);margin-left:5px}.season-orbit span{position:absolute;inset:5px 9px;background:#bdd4a2;border-radius:50%;box-shadow:0 0 22px #9dbf7e22}.season-orbit i{width:7px;height:7px;background:#e0e8b7;border-radius:50%;position:absolute;right:0;top:0}.sidebar-bottom{margin-top:auto;padding:13px 10px 0;border-top:1px solid #36584c;font-size:11px;color:#a7bfb0}.sidebar-bottom small{font-size:10px;color:#75988a;display:block;padding-left:13px;margin-top:5px}.live-dot{display:inline-block;background:#79a47c;width:6px;height:6px;border-radius:50%;vertical-align:middle;margin-right:5px}.workspace{margin-left:232px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#ffffff99}.breadcrumb{font-size:12px;color:#8a958d}.breadcrumb span{padding:0 13px;color:#c3c9c1}.breadcrumb strong{font-weight:450;color:#4d5c52}.topbar-right{display:flex;align-items:center;gap:24px;font-size:11px}.snapshot{display:flex;gap:6px;align-items:center;color:#8d978e}.snapshot svg{width:13px;height:13px}.top-year{border:1px solid #d9e2d6;background:#f0f5ed;padding:5px 10px;border-radius:5px;color:#54714c;font-weight:550}main{padding:36px 44px 20px;max-width:1680px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{letter-spacing:1.5px;font-size:10px}.heading-eyebrow{color:#8c9d8d;margin-bottom:10px;font-size:9px;letter-spacing:1.7px}h1{font-size:30px;line-height:1.4;font-weight:650;letter-spacing:-.8px;margin:0 0 10px}h1 span{color:#6a9e70}.page-heading p{color:#839085;font-size:12px;margin:0}.button{border:1px solid #dce3db;background:#fff;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;font-size:12px;font-weight:500;white-space:nowrap}.button:hover{background:#f0f4ec}.button svg{width:16px;height:16px}.button-primary{background:var(--green);border-color:var(--green);color:#fff}.button-primary:hover{background:#185744}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{padding:20px 22px;border:1px solid var(--line);background:#fff;border-radius:10px;position:relative;overflow:hidden}.stat-label{font-size:11px;color:#7d897f}.stat-icon{position:absolute;right:20px;top:19px;color:#739078;background:#f1f5ee;padding:8px;border-radius:8px}.stat-icon svg{width:17px;height:17px}.stat-number{font-size:32px;font-weight:600;line-height:1.5;margin-top:10px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.stat-number small{font-size:11px;color:#929c91;font-weight:400;letter-spacing:0;margin-left:7px}.stat-foot{font-size:10px;color:#95a091;margin-top:4px}.stat-card.featured{background:#eaf2e3;border-color:#dce7d3}.featured .stat-number{color:#35563c}.featured .stat-icon{background:#dae7cd;color:#547447}.information-note{display:flex;gap:10px;align-items:flex-start;border:1px solid #e4e9df;background:#f0f3ec;border-radius:7px;padding:12px 15px;color:#818b76;margin-bottom:32px}.info-symbol{color:#849976;margin-top:2px}.info-symbol svg{width:15px;height:15px}.information-note p{font-size:11px;line-height:1.9;margin:0;flex:1}.information-note strong{font-weight:550;color:#57664f}.information-note button{font-size:10px;color:#667b56;background:transparent;border:0;padding:3px 0;white-space:nowrap}.information-note button span{margin-left:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-title{display:flex;align-items:center;gap:9px}.section-marker{width:3px;height:15px;border-radius:3px;background:#497a59}h2{font-size:16px;font-weight:600;margin:0}.muted{font-size:11px;color:#9ba399;margin-left:4px}.small-meta{font-size:10px;color:#9aa395}.small-meta .live-dot{width:5px;height:5px;background:#9ab68d}.filter-panel{border:1px solid var(--line);border-radius:10px 10px 0 0;background:#fff;padding:18px 20px 0}.filter-top{display:flex;gap:12px}.search-box{border:1px solid #e4e8e0;display:flex;align-items:center;gap:10px;background:#fafbf8;border-radius:6px;padding:0 12px;flex:1;min-width:100px;height:41px}.search-box svg{width:16px;height:16px;color:#8d9a8b}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:11px;color:#52624e}.search-box input::placeholder{color:#a1a99b}.search-box kbd{font-family:var(--font);font-size:10px;color:#a9b1a1;border:1px solid #e0e5d9;border-radius:3px;white-space:nowrap;line-height:1.6;padding:0 4px}.select-wrap{display:flex;gap:8px;align-items:center;border:1px solid #e4e8e0;border-radius:6px;padding:0 10px;font-size:11px;color:#8d9789;min-width:120px}.select-wrap select,.status-select select{border:0;background:transparent;color:#59694f;font-size:11px;outline:none;cursor:pointer;max-width:100%;padding-right:8px;min-height:35px}.select-wrap select{flex:1}.filter-bottom{display:flex;align-items:center;gap:15px;margin-top:15px;height:49px;border-top:1px solid #f0f2ed}.chip-group{display:flex;align-items:center;gap:6px}.chip{border:0;background:transparent;font-size:11px;border-radius:5px;padding:5px 12px;color:#899280}.chip:hover{background:#f1f5ec}.chip.active{background:#eaf1e3;color:#4b6c3d;font-weight:600}.filter-divider{height:15px;width:1px;background:#e4e8df}.status-select select{font-size:10px;color:#828d77;max-width:140px}.reset-button{margin-left:auto;background:transparent;border:0;display:flex;gap:5px;align-items:center;color:#9aa38e;font-size:10px}.reset-button svg{height:12px;width:12px}.table-container{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;overflow:hidden}table{border-collapse:collapse;width:100%;text-align:left}thead{background:#f7f9f4}th{font-size:10px;font-weight:450;color:#88917d;height:43px;padding:0 16px;white-space:nowrap}.favorite-col{width:42px;padding-left:20px;padding-right:0}.favorite-col svg{width:13px;height:13px;color:#acb69e}.table-hint{font-size:9px;color:#b3b9ac;margin-left:8px;font-weight:400}td{border-top:1px solid #eef0e9;padding:16px;font-size:12px;vertical-align:middle}tbody tr{transition:background .15s;cursor:pointer}tbody tr:hover{background:#fafcf6}.favorite-cell{padding-left:20px;padding-right:0}.favorite-button{background:transparent;border:0;color:#c4ccbb;padding:5px;margin-left:-5px}.favorite-button svg{width:16px;height:16px}.favorite-button:hover{color:#8d9f61}.favorite-button.saved{color:#a2ac57}.favorite-button.saved svg{fill:#a2ac5722}.school-identity{display:flex;gap:11px;align-items:center}.school-monogram{width:36px;height:36px;border-radius:9px;background:var(--mono-bg,#edf2e8);border:1px solid #617a4611;color:var(--mono-color,#5e7950);display:grid;place-items:center;font-size:13px;letter-spacing:0;font-weight:600;flex-shrink:0}.school-name{font-size:12px;font-weight:550;white-space:nowrap;line-height:1.6}.school-location{font-size:10px;color:#a0a894;margin-top:4px;display:flex;align-items:center;gap:6px}.school-tag{font-size:8px;padding:0 4px;line-height:15px;background:#f3f0e5;color:#9e8a4b;border:1px solid #eee8d5;border-radius:3px}.school-tag.tag211{background:#f0f2ee;color:#919c87;border-color:#e8ece2}.date-range{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#5d6b52;line-height:1.6}.date-range .date-separator{color:#b2bba5;padding:0 5px}.date-caption{font-size:9px;color:#a3ac96;margin-top:4px;display:flex;align-items:center;gap:5px;max-width:290px}.date-caption span:last-child{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.date-caption .reference-mark{color:#b49558}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:3px 8px;border-radius:4px;font-size:10px;background:#f4f5f1;color:#8f9884}.badge::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge.open{background:#eaf4e5;color:#67864e}.badge.upcoming{background:#eaf0f6;color:#6b8da8}.badge.reference{background:#fbf5e8;color:#aa935e}.badge.closed{background:#f1f3ed;color:#919c83}.deadline-small{font-size:9px;color:#9ca78f;margin-top:5px;padding-left:2px}.source-link{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#81946e;white-space:nowrap}.source-link:hover{color:#3e6945;text-decoration:underline}.source-link svg{height:11px;width:11px}.row-more{color:#aeb8a1;font-size:16px;white-space:nowrap}.row-arrow{background:transparent;border:0;color:#aeb8a1;padding:5px}.row-arrow svg{width:15px;height:15px}.table-footer{border-top:1px solid var(--line);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;color:#9fa78f;font-size:10px}.pagination{display:flex;align-items:center;gap:13px}.pagination button{height:25px;width:27px;border:1px solid #e3e8da;background:#fff;color:#869577;border-radius:5px;font-size:12px}.pagination span{font-size:10px;min-width:35px;text-align:center}.footnote{display:flex;gap:7px;align-items:center;color:#a7af9c;font-size:10px;margin:17px 0 30px}.footnote svg{height:13px;width:13px}.site-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e6eadf;padding-top:19px;margin-top:32px;font-size:9px;color:#a1aa95}.footer-brand{color:#88977c}.footer-brand span{margin:0 10px;color:#c1c8b7}.empty-state{padding:65px 20px;text-align:center;color:#89947f}.empty-state svg{width:35px;height:35px;margin:0 auto 15px;color:#b4c1a7}.empty-state h3{font-size:15px;color:#6e7d60}.empty-state p{font-size:12px}.empty-state button{margin-top:10px}
.drawer-backdrop{position:fixed;inset:0;background:#0e211b55;backdrop-filter:blur(2px);z-index:40}.school-drawer{position:fixed;right:0;top:0;bottom:0;width:min(550px,100%);background:#f9faf7;z-index:50;overflow:auto;box-shadow:-10px 0 50px #10251922;padding:28px}.drawer-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9ba48f}.icon-button{border:0;background:#edf1e8;color:#738563;border-radius:7px;padding:8px}.drawer-school{display:flex;align-items:center;gap:15px;margin:26px 0 22px}.drawer-school .school-monogram{width:56px;height:56px;font-size:20px;border-radius:13px}.drawer-school h2{font-size:23px}.drawer-school p{margin:5px 0;font-size:11px;color:#929c86}.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.drawer-summary{padding:15px 18px;border:1px solid #e2e8d8;background:#f0f5e9;border-radius:8px;font-size:12px;color:#6f815e}.drawer-section-title{font-size:13px;margin:27px 0 12px;color:#586a47}.interval-card{border:1px solid #e2e7da;background:white;border-radius:9px;padding:17px;margin:10px 0}.interval-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.interval-year{font-size:11px;font-weight:600;color:#5c714b}.interval-card h4{font-size:15px;font-weight:550;margin:0 0 8px;font-variant-numeric:tabular-nums}.interval-card p{font-size:11px;color:#929d86;margin:7px 0;line-height:1.9}.interval-card .source-link{max-width:100%;white-space:normal;display:block;margin-top:12px;word-break:break-word;font-size:10px}.interval-note{padding:10px;background:#f7f9f3;border-radius:4px}.drawer-no-dates{font-size:12px;color:#8b977e;padding:25px 0}.drawer-footer{font-size:10px;color:#a3ac97;line-height:1.9;margin-top:26px;border-top:1px solid #e5e9dd;padding-top:15px}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:80;background:#234b3b;color:#f3f6e9;padding:12px 23px;border:1px solid #5a795c;border-radius:8px;box-shadow:0 6px 20px #10231922;font-size:12px}
.calendar-toolbar{display:flex;align-items:center;gap:12px;margin:5px 0 20px}.calendar-toolbar h2{font-size:21px;margin-right:auto}.calendar-toolbar .icon-button{background:#fff;border:1px solid var(--line)}.calendar-toolbar label{font-size:11px;color:#839275}.calendar-toolbar input{accent-color:var(--green)}.calendar-key{font-size:11px;color:#8a957c;margin-bottom:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #e0e6d8;border-top:1px solid #e0e6d8;background:white;border-radius:9px;overflow:hidden}.calendar-weekday{padding:12px;text-align:center;background:#eef3e8;font-size:10px;color:#829370;border-right:1px solid #e0e6d8;border-bottom:1px solid #e0e6d8}.calendar-day{min-height:120px;padding:10px 7px;border-right:1px solid #e0e6d8;border-bottom:1px solid #e0e6d8;min-width:0}.calendar-day.other{background:#f5f7f1}.calendar-day.today{background:#f3f9ed}.day-number{font-size:10px;color:#9ca68d;display:inline-flex;justify-content:center;align-items:center;width:21px;height:21px;margin-bottom:6px}.today .day-number{background:#63894f;color:#fff;border-radius:50%}.calendar-event{display:block;text-align:left;width:100%;border:0;background:#eef4e7;color:#6e8c58;border-radius:3px;padding:4px 5px;margin-bottom:4px;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.end{background:#fcf1e2;color:#ae8b51}.calendar-more{font-size:9px;color:#95a483;padding:4px}.calendar-none{font-size:12px;color:#89967c;padding:20px 0}.calendar-event-list{margin-top:24px}.event-row{display:flex;gap:18px;align-items:center;border-bottom:1px solid #e4e9dc;padding:14px 0}.event-row time{font-variant-numeric:tabular-nums;font-size:12px;color:#82936e;width:45px}.event-row button{border:0;background:transparent;text-align:left;color:#546945;font-size:12px}.event-row small{color:#9aa58d;font-size:10px;margin-left:auto}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px}.guide-card.full{grid-column:1/-1}.guide-card h3{font-size:16px;margin:0 0 15px;font-weight:550}.guide-card p,.guide-card li{font-size:12px;color:#8b977e;line-height:2}.guide-card strong{font-weight:550;color:#637652}.guide-card a{color:#648952;text-decoration:underline;text-underline-offset:3px}.guide-card ul{padding-left:18px}.guide-card .badge{margin-right:8px}.guide-card table{margin-top:10px}.guide-card th,.guide-card td{padding:10px;font-size:11px;white-space:normal}.guide-card .version-label{font-size:10px;background:#eff3e9;display:inline-block;padding:3px 8px;border-radius:4px;color:#82946b;margin-bottom:10px}
.school-name-button{display:block;text-align:left;border:0;background:none;padding:0;color:inherit;font-family:inherit;cursor:pointer}.school-name-button:hover{color:var(--green)}
@media(min-width:1500px){main{padding-top:42px}.stat-card{padding:23px 26px}td{padding-top:18px;padding-bottom:18px}}
@media(max-width:1250px){.sidebar{width:208px;padding-left:17px;padding-right:17px}.workspace{margin-left:208px}.topbar{padding:0 28px}main{padding:30px 28px}.table-hint{display:none}th,td{padding-left:11px;padding-right:11px}.school-monogram{width:32px;height:32px;font-size:12px}.school-identity{gap:8px}.school-name{font-size:11px}.date-range{font-size:11px}.date-caption{max-width:230px}.stats-grid{gap:12px}.stat-card{padding:17px}.stat-icon{right:15px;top:16px}.stat-foot{font-size:9px}.information-note button{display:none}.school-location{font-size:9px}}
@media(max-width:1050px){.sidebar{width:178px;padding:28px 13px 20px}.brand{font-size:20px;gap:8px}.brand-icon{width:34px;height:38px}.brand small{font-size:8px}.brand-icon svg{width:25px}.workspace{margin-left:178px}.nav-item{font-size:12px;padding:11px;gap:9px}.nav-count{font-size:9px}.sidebar-label{margin-top:40px;font-size:10px}.sidebar-season{padding:20px 13px}.sidebar-season h3{font-size:15px}.sidebar-bottom{font-size:9px;padding-left:5px;padding-right:0}.sidebar-bottom small{font-size:9px}main{padding:28px 22px}.topbar{padding:0 22px}.school-monogram{display:none}.date-caption{max-width:210px}.date-caption span:last-child{max-width:130px}.stat-number{font-size:28px}.stat-icon{padding:6px;right:12px}.stat-icon svg{height:15px;width:15px}.stats-grid{gap:10px}.stat-card{padding:16px 14px}.stat-foot{max-width:145px}.information-note{margin-bottom:25px}.calendar-day{min-height:100px}h1{font-size:27px}}
@media(max-width:800px){.sidebar{position:static;width:auto;height:auto;padding:17px 22px;flex-direction:row;align-items:center;gap:22px}.brand{font-size:19px}.brand small{font-size:8px}.brand-icon{width:33px;height:35px}.sidebar-label,.sidebar-season,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:2px;margin-left:auto}.nav-item{width:auto;padding:9px 10px;font-size:11px;gap:6px}.nav-count{display:none}.nav-item svg{width:15px;height:15px}.workspace{margin-left:0}.topbar{height:49px}.topbar-right{gap:12px}.breadcrumb{font-size:10px}.snapshot{font-size:9px}.snapshot svg{width:11px;height:11px}.top-year{font-size:9px;padding:3px 7px}.stats-grid{gap:10px}.stat-card{padding:17px}.stat-foot{font-size:9px}.school-monogram{display:grid}main{padding:25px 22px}.school-name{font-size:12px}.date-range{font-size:11px}.date-caption{font-size:9px;max-width:220px}th,td{padding-left:10px;padding-right:10px}.favorite-cell,.favorite-col{padding-left:16px}.information-note p{font-size:10px}.page-heading{margin-bottom:23px}.school-location{font-size:9px}.guide-grid{gap:13px}.guide-card{padding:20px}}
@media(max-width:600px){.sidebar{padding:14px 16px;gap:10px;flex-wrap:wrap}.brand{font-size:19px}.brand small{display:none}.brand-icon{width:31px;height:32px}.sidebar nav{gap:1px}.nav-item{font-size:0;padding:9px 11px;gap:0}.nav-item svg{width:17px;height:17px}.sidebar .nav-item.active{background:#355849}.topbar{padding:0 16px}.snapshot{display:none}main{padding:25px 16px 18px}.page-heading{align-items:flex-start;gap:9px}h1{font-size:24px}.heading-eyebrow{font-size:7px;letter-spacing:1px}.page-heading p{font-size:10px;max-width:235px}.page-heading .button{font-size:0;padding:10px;margin-top:22px;gap:0}.page-heading .button svg{width:17px;height:17px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:15px 17px}.stat-number{font-size:27px;margin-top:7px}.stat-label{font-size:10px}.stat-foot{font-size:9px;max-width:none}.stat-icon{right:15px;top:13px}.information-note{padding:10px 12px;margin-bottom:26px;gap:8px}.information-note p{font-size:9px}.information-note svg{width:13px;height:13px}.section-heading{gap:8px;margin-bottom:14px}.section-title{gap:6px}h2{font-size:14px}.small-meta{font-size:8px}.muted{font-size:9px;margin-left:0}.filter-panel{padding:13px 12px 0}.filter-top{flex-wrap:wrap;gap:8px}.search-box{flex-basis:100%;height:37px}.search-box kbd{display:none}.select-wrap{flex:1;min-width:100px;height:35px;font-size:10px}.select-wrap select{font-size:10px}.filter-bottom{gap:6px;height:46px;margin-top:10px}.chip-group{gap:1px}.chip{font-size:9px;padding:5px 7px}.filter-divider{margin:0 3px}.status-select select{font-size:9px;max-width:88px;min-height:30px;padding:0}.reset-button{font-size:0;gap:0;padding:5px 0 5px 5px}.reset-button svg{height:14px;width:14px}.table-container{overflow-x:auto}table{min-width:0}thead th{font-size:9px;height:38px}.favorite-col{width:28px;padding-left:9px}.favorite-cell{padding-left:9px}.favorite-button svg{width:13px;height:13px}.school-monogram{display:none}.school-name{font-size:10px;white-space:normal;min-width:83px;max-width:115px;line-height:1.7}.school-location{font-size:8px;gap:4px}.school-tag{font-size:7px;padding:0 3px;line-height:13px}td{padding:14px 6px}th{padding:0 6px}.date-range{font-size:9px;white-space:normal;min-width:103px}.date-range .date-separator{padding:0 2px}.date-caption{font-size:8px;max-width:126px;gap:3px;flex-wrap:wrap;line-height:1.5}.date-caption span:last-child{max-width:115px}.badge{font-size:8px;padding:3px 5px;gap:3px}.badge::before{width:3px;height:3px}.deadline-small{font-size:8px}.source-link{font-size:8px;gap:1px}.source-link svg{width:9px;height:9px}.row-arrow{display:none}th:last-child,td:last-child{display:none}.table-footer{padding:13px 12px;font-size:9px}.pagination{gap:8px}.pagination button{height:24px;width:25px}.footnote{font-size:8px;align-items:flex-start;line-height:1.9}.footnote svg{margin-top:2px;flex-shrink:0}.site-footer{font-size:8px;gap:15px;align-items:flex-start}.site-footer>span:last-child{text-align:right;max-width:100px}.footer-brand span{margin:0 5px}.school-drawer{padding:23px 20px}.drawer-school h2{font-size:21px}.drawer-school .school-monogram{display:grid}.calendar-toolbar{gap:8px;flex-wrap:wrap}.calendar-toolbar h2{font-size:18px}.calendar-toolbar label{width:100%;margin-top:7px}.calendar-day{min-height:75px;padding:5px 2px}.calendar-weekday{padding:9px 2px;font-size:9px}.calendar-event{font-size:7px;padding:3px 2px}.day-number{font-size:9px;width:17px;height:17px}.calendar-more{font-size:7px;padding:2px}.calendar-key{font-size:9px}.guide-grid{grid-template-columns:1fr}.guide-card.full{grid-column:auto}.guide-card{padding:20px}.guide-card p,.guide-card li{font-size:11px}.event-row{gap:10px}.event-row button{font-size:10px}.event-row small{font-size:8px;max-width:100px}.drawer-summary{font-size:11px}.toast{font-size:11px;width:max-content;max-width:90%;text-align:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.graduation-note{display:flex;align-items:flex-start;gap:15px;padding:20px 22px;margin:-12px 0 30px;border:1px solid #dbe6d3;border-radius:10px;background:linear-gradient(115deg,#eaf2e3,#f6f8f1)}.graduation-icon{padding:9px;border:1px solid #d4e1ca;border-radius:10px;background:#e1ecd7;color:#64814f;flex-shrink:0;margin-top:3px}.graduation-icon svg{width:23px;height:23px}.graduation-label{font-size:10px;letter-spacing:1px;color:#8c9f79}.graduation-note h2{font-size:16px;color:#486339;margin:4px 0 8px;line-height:1.8}.graduation-note h2 span{margin:0 8px;color:#9ab088}.graduation-note p{font-size:11px;color:#7b8c6c;margin:4px 0;line-height:1.9}.graduation-note .graduation-sources{font-size:10px;margin-top:9px;color:#82946e}.graduation-sources a{color:#63844d;text-decoration:underline;text-underline-offset:3px}.graduation-sources span{color:#b2bf9f}
@media(max-width:600px){.graduation-note{padding:15px 13px;gap:10px;margin:-9px 0 24px}.graduation-icon{padding:6px;border-radius:7px}.graduation-icon svg{width:18px;height:18px}.graduation-note h2{font-size:12px}.graduation-note h2 span{margin:0 3px}.graduation-note p{font-size:9px}.graduation-note .graduation-sources{font-size:8px;line-height:2}}
