:root{--cghs-red:#B4282E;--cghs-red-dark:#8f1e23;--cghs-red-lighter:#f0c8ca;--cghs-red-bg:#fdf3f3;--cghs-gray:#929496;--cghs-gray-dark:#6b6d6f;--cghs-gray-bg:#f8f8f8;--cghs-ink:#2d2d2d;--cghs-border:#e2e2e2;--cghs-border-strong:#c8c8c8;--cghs-font:"Gotham",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--cghs-font);color:var(--cghs-ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:var(--cghs-red);text-decoration:none}a:hover{color:var(--cghs-red-dark)}:focus-visible{outline:2px solid var(--cghs-red);outline-offset:2px}.label{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--cghs-gray-dark);margin:0}.btn,.label{text-transform:uppercase}.btn{border-radius:4px;border:2px solid transparent;font:inherit;font-size:13px;font-weight:500;letter-spacing:.04em;padding:13px 24px;line-height:1;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn-primary{background:var(--cghs-red);border-color:var(--cghs-red);color:#fff}.btn-primary:hover{background:var(--cghs-red-dark);border-color:var(--cghs-red-dark)}.btn-outline{background:#fff;border-color:var(--cghs-red);color:var(--cghs-red)}.card{background:#fff;border:1px solid var(--cghs-border);border-radius:8px;padding:26px}table{border-collapse:collapse;width:100%;font-size:13px}thead tr{background:var(--cghs-gray-bg);border-bottom:2px solid var(--cghs-border-strong)}th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--cghs-gray-dark)}td,th{padding:11px 16px}td{border-bottom:1px solid var(--cghs-border)}tbody tr:last-child td{border-bottom:none}.more-menu>summary::-webkit-details-marker{display:none}.more-menu>summary::marker{content:""}.home-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-gap:34px;gap:34px;align-items:start}@media (max-width:900px){.home-grid{grid-template-columns:minmax(0,1fr)}}.block-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 270px}.block-row.four{grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.8fr) 300px}@media (max-width:720px){.block-row,.block-row.four{grid-template-columns:minmax(0,1fr)}}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px;padding:20px 26px 24px}@media (max-width:560px){.topbar{padding:0 12px!important;gap:8px!important}.topbar .brand-text{display:none}}@media (max-width:820px){.cal-layout,.cols{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:640px){.tile-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page{padding:22px 16px 48px!important}.page h1{font-size:30px!important}main{overflow-wrap:anywhere}.card{padding:18px}td,th{padding:9px 10px}}@media (max-width:640px){main :is(div,section):has(>table){overflow-x:auto!important}main table{min-width:560px}.cal-grid{gap:3px!important}.cal-grid .cal-day,.cal-grid>div[title]{min-height:46px!important;padding:5px!important}.cal-detail{display:none!important}.cal-dot{display:block!important}.cal-legend{font-size:12px!important;gap:10px!important}}@media (max-width:760px){.topbar{flex-wrap:wrap;row-gap:0!important}.topbar .brand{order:0}.topbar .bar-right{order:1;margin-left:auto}.topbar nav{order:2;flex-grow:1!important;flex-basis:calc(100% - 100px)!important;padding:2px 0 8px}.topbar .more-menu{order:3;padding:2px 0 8px}.topbar .signout-text{font-size:13px!important}}.faq>summary::-webkit-details-marker{display:none}.faq[open]>summary span[aria-hidden]{transform:rotate(45deg);display:inline-block}.room-sheet{background:#fff;border:1px solid var(--cghs-border);border-radius:12px;padding:40px 36px 28px;max-width:640px;margin:0 auto 28px;text-align:center}.room-sheet-head{margin:0 0 28px;font-size:34px;font-weight:700;line-height:1.2;color:var(--cghs-red)}.room-sheet-qr{width:70%;max-width:420px;margin:0 auto}.room-sheet-qr svg{width:100%;height:auto;display:block}.room-sheet-room{margin:26px 0 6px;font-size:56px;font-weight:700;letter-spacing:-.02em}.room-sheet-help{margin:0 0 30px;font-size:16px;color:var(--cghs-gray-dark)}.room-sheet-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:2px solid var(--cghs-ink);padding-top:14px}.room-sheet-teacher{font-size:26px;font-weight:700;text-align:left}.room-sheet-brand{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cghs-gray-dark)}@media print{.no-print{display:none!important}body{background:#fff!important}.page{padding:0!important;max-width:none!important}.room-sheet{border:none;border-radius:0;margin:0 auto;padding:.4in .3in;max-width:none;page-break-after:always;break-after:page}.room-sheet:last-child{page-break-after:auto;break-after:auto}@page{size:letter;margin:.5in}}.cal-dot{display:none;position:absolute;bottom:4px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:999px;background:currentColor}.day-pop{padding:0;border:none;border-radius:14px;width:min(440px,calc(100% - 32px));max-height:85vh;box-shadow:0 20px 50px rgba(0,0,0,.3);color:var(--cghs-ink)}.day-pop::-webkit-backdrop{background:rgba(0,0,0,.45)}.day-pop::backdrop{background:rgba(0,0,0,.45)}.day-pop-inner{padding:22px 22px 20px}@media (max-width:640px){.day-pop{margin:auto 0 0;width:100%;max-width:100%;border-radius:16px 16px 0 0}}.tl-line{display:none}@media (max-width:640px){.tl-pos{display:none!important}.tl-line{display:block}}