@import url('/fonts.css');
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2939;background:#f4f6fa;font-size:16px;line-height:1.5;--blue:#254cbb;--border:#dce2ec;--muted:#5e6d81}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}button,.button{border:0;border-radius:9px;background:var(--blue);color:white;padding:11px 19px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.6;cursor:wait}.secondary{background:#edf1f9;color:#294365;border:1px solid var(--border)}.text-button{background:none;color:var(--muted);padding:7px 5px;font-size:.875rem}input,select{width:100%;padding:11px 13px;border:1px solid #c9d2df;border-radius:8px;background:white;color:inherit;min-width:0}input:focus,select:focus{outline:3px solid #254cbb25;border-color:var(--blue)}label{display:block;font-weight:600;font-size:.875rem;margin:15px 0}label input,label select{margin-top:6px}header{height:86px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1200px)/2));gap:38px}.brand{display:flex;align-items:center;gap:12px;color:inherit;white-space:nowrap;font-size:1.05rem}.brand-mark{background:#254cbb;color:white;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;font-size:1.9rem;font-weight:750;line-height:1}.brand b{font-weight:450;color:var(--muted)}nav{display:flex;gap:26px;flex:1}nav a{font-size:.95rem;color:#40516a}nav a:hover{color:var(--blue)}.account{display:flex;gap:15px;align-items:center;font-size:.875rem}.header-school{margin-left:auto;color:var(--muted);font-size:.875rem}main{max-width:1140px;margin:0 auto;padding:42px 24px;min-height:calc(100vh - 165px)}footer{max-width:1140px;margin:0 auto;padding:24px;color:var(--muted);font-size:.8125rem;border-top:1px solid var(--border);display:flex;justify-content:space-between}h1{font-size:2.35rem;line-height:1.12;letter-spacing:-1.1px;margin:10px 0 18px}h2{font-size:1.2rem;margin:0 0 12px;letter-spacing:-.25px}p{margin:8px 0 18px}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:1.7px;color:var(--blue)}.muted{color:var(--muted)}.small{font-size:.875rem}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}.page-title h1{margin-bottom:0}.panel{background:white;border:1px solid var(--border);border-radius:14px;padding:26px;margin-bottom:20px;box-shadow:0 3px 10px #21334d04}.narrow{max-width:640px;margin:20px auto}.login-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;min-height:65vh;max-width:960px;margin:auto}.login-intro h1{font-size:3.7rem;line-height:1.07;letter-spacing:-2px;color:#193879;margin:20px 0 28px}.login-intro p{max-width:340px;color:var(--muted);font-size:1.05rem}.login-intro .small{font-size:.875rem}.intro-rule{width:52px;height:4px;background:#4475eb;margin:40px 0 22px}.login-card{padding:36px;box-shadow:0 16px 50px #2346740a}.login-card h2{font-size:1.4rem}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:50px}.eye{position:absolute;right:4px;top:10px;height:40px;width:42px;padding:8px;background:none;color:var(--muted)}.eye-slash{display:none}.eye[aria-pressed=true] .eye-slash{display:block}.check{display:flex;align-items:center;gap:9px;font-weight:450}.check input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.wide{width:100%;margin-top:10px}.notice{padding:15px 20px;border-radius:10px;background:#eaf0ff;border:1px solid #ccd9ff;color:#274680;margin-bottom:22px}.error{background:#fff3f3;border-color:#f4c7c7;color:#922f3a}.error-text{color:#a82438}.controls{display:flex;align-items:end;gap:18px;padding:20px 24px}.controls label{margin:0;flex:1}.controls label:first-child{flex:1.5}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin:28px 0 22px}.tabs button{border-radius:0;background:none;color:var(--muted);padding:0 2px 13px;border-bottom:3px solid transparent}.tabs button[aria-selected=true]{color:var(--blue);border-color:var(--blue)}.pill,.badge{font-size:.8125rem;white-space:nowrap;padding:5px 10px;border-radius:6px;background:#edf1f6;color:#52647d}.pill.online,.good{background:#e7f5ef;color:#22634b}.day{padding:0;overflow:hidden}.day-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#f9fafe;border-bottom:1px solid var(--border);gap:12px}.day-heading h2{margin:0}.day-heading span{font-size:.875rem}.lesson{display:flex;align-items:center;gap:22px;padding:16px 24px;border-bottom:1px solid #edf0f5}.lesson:last-child{border:0}.lesson-time{font-variant-numeric:tabular-nums;font-size:.9375rem;min-width:50px;font-weight:650}.lesson-time span{display:block;color:var(--muted);font-size:.8125rem;font-weight:400}.lesson-main{flex:1}.lesson-main strong{display:block}.lesson-main>span{display:block;font-size:.875rem;color:var(--muted);margin-top:3px}.room{font-size:.875rem;color:var(--muted)}.lesson.cancelled .lesson-main strong{text-decoration:line-through;color:#8d5660}.badge.cancelled{background:#fce9ed;color:#a0374c}.badge.changed{background:#fff0cf;color:#815700}.empty{text-align:center;padding:55px 24px}.empty p{max-width:560px;margin:10px auto;color:var(--muted)}.empty-symbol{display:block;font-size:2rem;color:#788cba}.list-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:18px 0;gap:20px}.list-row:last-child{border:0}.list-row p{margin:5px 0 0}.row-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.copy-row{display:flex;gap:12px}.copy-row input{margin:0}.examples{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.examples span{padding:12px 15px;background:#f4f6fc;border-radius:9px;font-size:.9375rem}.inline-form{display:flex;align-items:end;gap:16px}.inline-form label{margin:0}.inline-form input{max-width:180px}.audit-row{display:flex;gap:12px;justify-content:space-between;font-size:.8125rem;padding:10px 0;border-bottom:1px solid #edf0f5}.audit-row span:first-child{flex:1}.audit-row time{color:var(--muted)}dialog{border:1px solid var(--border);border-radius:16px;padding:28px;width:min(620px,94vw);max-height:90vh;overflow:auto;color:inherit}dialog::backdrop{background:#14223f66;backdrop-filter:blur(3px)}.dialog-title{display:flex;justify-content:space-between;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}fieldset{border:1px solid var(--border);border-radius:9px;margin:12px 0;padding:14px}legend{font-size:.875rem;font-weight:650}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173463;color:white;padding:12px 24px;border-radius:10px;box-shadow:0 8px 30px #0002;opacity:0;pointer-events:none;transition:opacity .15s}#toast.show{opacity:1}@media(max-width:760px){header{height:auto;min-height:76px;padding:16px 20px;gap:16px;flex-wrap:wrap}.brand{flex:1}.header-school{display:none}nav{order:3;flex-basis:100%;gap:26px}.account>span{display:none}main{padding:28px 18px}.page-title{align-items:start;flex-wrap:wrap}h1{font-size:2rem}.login-grid{display:block;min-height:0}.login-intro{padding:15px 6px 22px}.login-intro h1{font-size:2.6rem;margin:12px 0 18px}.login-intro p{max-width:none}.intro-rule,.login-intro .small{display:none}.login-card{padding:26px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.controls label:first-child{grid-column:1/-1}.controls button{grid-column:1/-1}.panel{padding:20px}.day{padding:0}.lesson{padding:14px;gap:12px;flex-wrap:wrap}.lesson-main{min-width:130px}.day-heading{padding:16px;align-items:start;flex-direction:column}.list-row{flex-direction:column;align-items:start}.audit-row{flex-wrap:wrap}.audit-row time{width:100%}.form-grid{grid-template-columns:1fr;gap:0}footer{gap:12px;flex-wrap:wrap}.copy-row{flex-direction:column}.row-actions{gap:6px}.badge{font-size:.8125rem}.room{margin-left:auto}}
.archive-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat{display:flex;flex-direction:column;gap:8px}.stat b{font-size:32px;color:var(--accent,#327064)}.stat small,.archive-meta{color:#61706d}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.management-grid .panel{margin:0}.management-grid code{word-break:break-all}.timeline{border-left:2px solid #c5d8d1;padding-left:24px;margin:24px 0}.timeline-entry{position:relative}.timeline-entry:before{content:'';position:absolute;left:-32px;top:26px;width:12px;height:12px;border-radius:50%;background:#398271;border:2px solid #f5f7f4}.timeline-date,.archive-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.archive-meta{font-size:12px;border-top:1px solid #e4ebe6;padding-top:14px;margin-top:14px}.version-block,.sync-job{padding:16px 0;border-top:1px solid #dfe8e2}progress{width:100%;accent-color:#327064;height:14px;margin-top:14px}.controls{flex-wrap:wrap}.controls label{min-width:125px}nav{flex-wrap:wrap}.tabs{flex-wrap:wrap}dialog{max-height:85vh;overflow:auto}#archive-asof{max-width:230px}@media(max-width:760px){.management-grid{grid-template-columns:1fr}.archive-meta{align-items:flex-start;flex-direction:column}.timeline{padding-left:14px}.timeline-entry:before{left:-22px}header{flex-wrap:wrap}header nav{order:3;width:100%;overflow:auto;gap:12px;font-size:13px}.controls label{flex:1;min-width:130px}}
