:root{--ink:#27332e;--muted:#788179;--green:#365e4b;--green-dark:#254735;--line:#e8ebe5;--paper:#f7f8f4;--white:#fff;--rose:#c78783;--rose-light:#f9eeed;--shadow:0 18px 60px #2031270f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #7da98c}svg{flex:none;width:18px;height:18px}.app-shell{min-height:100dvh}.site-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,4.8vw,80px);display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:43px;height:43px;padding-bottom:6px;font-family:Georgia,serif;font-size:30px;line-height:1;display:grid}.brand-mark span{color:#dba9a2}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.04em;font-size:15px}.brand small{letter-spacing:.25em;color:#9aaba0;margin-top:4px;font-size:9px;font-weight:700}.header-right{align-items:center;gap:22px;display:flex}.demo-badge{color:#857758;background:#f5f0e4;border:1px solid #e9dfcb;border-radius:50px;padding:7px 11px;font-size:11px;font-weight:700}.guardian-label{color:#69756c;font-size:12px}.avatar{color:var(--green);background:#e5eadd;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.sign-out-button{color:var(--green);white-space:nowrap;background:#fff;border:1px solid #dce6dc;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:700}.sign-out-button:hover:not(:disabled){background:#eef5ee}.sign-out-control{gap:3px;display:grid}.sign-out-error{color:#ae5b54;font-size:9px}.main-layout{grid-template-columns:258px minmax(0,1fr);max-width:1440px;min-height:calc(100dvh - 82px);margin:auto;display:grid}.side-panel{border-right:1px solid var(--line);background:#fbfcf9;padding:47px 24px 32px 30px}.side-title{letter-spacing:.13em;color:#9aa39b;margin:0 0 25px 13px;font-size:11px;font-weight:700}.side-active{height:44px;color:var(--green);background:#e8efe9;border-radius:11px;align-items:center;gap:12px;padding:0 14px;font-size:13px;font-weight:700;display:flex}.side-active svg{width:17px}.side-divider{background:var(--line);height:1px;margin:30px 0}.side-subtitle{color:#a2aaa1;letter-spacing:.1em;margin:0 0 12px 13px;font-size:11px;font-weight:700}.student-list{gap:6px;display:grid}.student-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:11px 7px;display:flex}.student-item.selected{background:#fff;box-shadow:0 4px 15px #283b2f12}.student-avatar{color:#a96e69;background:#f2e3df;border-radius:50%;place-items:center;width:33px;height:33px;font-size:13px;font-weight:700;display:grid}.student-item:nth-child(2) .student-avatar{color:#817e56;background:#e9e8dc}.student-item strong,.student-item small{display:block}.student-item strong{font-size:12px}.student-item small{color:#99a29b;margin-top:3px;font-size:10px}.student-item svg{color:#adb7ae;width:15px;margin-left:auto}.side-help{background:#f1f3ec;border-radius:13px;margin-top:74px;padding:18px 17px 19px}.help-ornament{color:#b0bfa9;margin-bottom:9px;font-size:24px;display:block}.side-help strong{font-size:12px}.side-help p{color:#79857a;margin:8px 0 0;font-size:11px;line-height:1.9}.content-area{width:100%;max-width:1180px;padding:40px clamp(24px,4.6vw,70px) 60px}.breadcrumbs{color:#9ba59c;margin-bottom:36px;font-size:11px}.breadcrumbs span{color:#c5cec5;margin:0 11px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:31px;display:flex}.eyebrow{color:#a88478;letter-spacing:.19em;margin:0 0 9px;font-size:10px;font-weight:700}.page-heading h1{letter-spacing:.03em;margin:0 0 10px;font-size:31px;font-weight:700;line-height:1.3}.heading-description{color:#829087;margin:0;font-size:12px;line-height:1.6}.date-label{color:#78887b;white-space:nowrap;align-items:center;gap:8px;margin-bottom:3px;font-size:11px;display:flex}.date-label svg{width:14px}.notice{border-radius:11px;align-items:center;gap:12px;margin-bottom:22px;padding:15px 18px;font-size:12px;line-height:1.6;display:flex}.notice.success{color:var(--green);background:#eaf3eb;border:1px solid #d1e5d5}.notice-icon{background:#cfe4d1;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.notice-icon svg{width:15px}.notice small{color:#779080;font-size:10px;display:block}.notice button{color:#679078;background:0 0;border:0;margin-left:auto;font-size:21px}.overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:19px;display:grid}.next-card,.rule-card{border-radius:17px;min-height:228px;overflow:hidden}.next-card{background:var(--green);color:#fff;grid-template-rows:44px 1fr;grid-template-columns:155px 1fr;padding:20px 24px;display:grid;box-shadow:0 10px 24px #264f3721}.card-topline{letter-spacing:.06em;color:#dce9dd;grid-column:1/3;justify-content:space-between;align-items:flex-start;font-size:11px;display:flex}.small-dots{letter-spacing:2px;color:#9eb5a3}.next-date{border-right:1px solid #ffffff38;flex-direction:column;align-self:center;padding-bottom:3px;display:flex}.next-date span{letter-spacing:-.06em;font-size:38px;font-weight:500}.next-date small{color:#bbd1c0;margin-top:1px;font-size:11px}.next-info{align-self:center;padding:15px 0 0 27px}.next-info h2{margin:0 0 17px;font-size:18px;font-weight:700}.next-info p{color:#dce9dc;align-items:center;gap:8px;margin:9px 0 0;font-size:11px;display:flex}.next-info svg{width:14px;height:14px}.empty-next{grid-column:1/3;align-self:center;font-size:16px}.rule-card{background:#f6eee9;border:1px solid #f0e4dc;padding:27px 28px;position:relative}.rule-decoration{color:#ebd7cf;opacity:.44;pointer-events:none;font-family:Georgia,serif;font-size:185px;line-height:1;position:absolute;top:-41px;right:9px}.rule-content{position:relative}.rule-kicker{color:#a97871;letter-spacing:.13em;font-size:10px;font-weight:700}.rule-content h2{letter-spacing:.02em;margin:15px 0 13px;font-size:20px;line-height:1.5}.rule-content p{color:#887e78;max-width:300px;margin:0;font-size:11px;line-height:1.85}.schedule-section{margin-top:43px}.section-heading{justify-content:space-between;align-items:end;gap:15px;margin-bottom:21px;display:flex}.section-heading h2{margin:0 0 6px;font-size:20px}.section-heading p{color:#92a098;margin:0;font-size:11px}.week-controls{align-items:center;gap:12px;display:flex}.week-controls button{color:#718176;background:#fff;border:1px solid #e5ebe3;border-radius:8px;place-items:center;width:31px;height:31px;padding-bottom:4px;font-size:23px;line-height:1;display:grid}.week-controls span{color:#78887e;white-space:nowrap;font-size:10px}.calendar{border:1px solid var(--line);background:#fff;border-radius:14px 14px 0 0;grid-template-columns:repeat(7,1fr);padding:13px 13px 0;display:grid}.calendar-day{color:#91a096;background:0 0;border:0;border-radius:10px 10px 0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:81px;display:flex}.calendar-day span{font-size:10px}.calendar-day strong{color:#526156;font-size:19px;font-weight:500}.calendar-day i{background:0 0;border-radius:50%;width:4px;height:4px}.calendar-day i.has-lesson{background:#c98b83}.calendar-day.active{color:var(--green);background:#eaf1e9}.calendar-day.active strong{color:var(--green);font-weight:700}.calendar-day.active i{background:var(--green)}.day-detail{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 14px 14px;min-height:218px;padding:24px 27px 10px}.day-heading{border-bottom:1px solid #eff1eb;justify-content:space-between;align-items:center;padding:0 0 20px;display:flex}.day-heading strong{font-size:13px}.day-heading span{color:#9ba89b;font-size:10px}.lesson-row{border-bottom:1px solid #f0f1ed;align-items:center;gap:19px;padding:23px 0;display:flex}.lesson-row:last-child{border-bottom:0}.lesson-time{flex:none;gap:5px;width:55px;display:grid}.lesson-time strong{font-size:13px;font-weight:700}.lesson-time span{color:#99a59b;font-size:10px}.lesson-line{background:#c6dac6;border-radius:3px;align-self:stretch;width:3px;min-height:52px}.lesson-row.is-absent .lesson-line{background:#e5c8c5}.lesson-main{flex:1;min-width:0}.lesson-title{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.lesson-title strong{font-size:13px}.lesson-main p{color:#93a095;margin:7px 0 0;font-size:10px}.status-tag{color:#487459;white-space:nowrap;background:#e8f3e9;border-radius:50px;padding:5px 8px;font-size:9px;font-weight:700}.status-tag.absent{color:#bd817c;background:#f8ebea}.status-tag.makeup{color:#968654;background:#f4edda}.makeup-note{color:#a8796e;margin-top:7px;font-size:10px;display:block}.row-action{color:var(--green);white-space:nowrap;background:#fff;border:1px solid #d9e4da;border-radius:8px;align-items:center;gap:9px;padding:9px 11px;font-size:10px;font-weight:700;display:flex}.row-action:hover{background:#eaf3ec}.row-action svg{width:13px;height:13px}.empty-day{text-align:center;padding:29px 0 35px}.empty-day span{color:#bccfc0;margin-bottom:7px;font-size:28px;display:block}.empty-day strong{color:#68796c;font-size:12px}.empty-day p{color:#a0aaa0;margin:7px 0 0;font-size:10px}.preview-footnote{color:#a0aaa2;margin-top:28px;font-size:10px}.modal-backdrop{z-index:10;background:#19261e7a;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.dialog{background:#fff;flex-direction:column;width:min(100%,540px);padding:38px 39px 35px;display:flex;overflow:auto;box-shadow:-18px 0 60px #0000001f}.dialog-header{justify-content:space-between;align-items:start;display:flex}.dialog-header h2{margin:0;font-size:23px}.dialog-close{color:#829084;background:#f3f5f0;border:0;border-radius:50%;width:31px;height:31px;font-size:22px;line-height:1}.source-summary{background:#f5f8f3;border:1px solid #e8efe7;border-radius:11px;gap:7px;margin-top:32px;padding:17px 19px;display:grid}.source-summary span{color:#8c9b8c;font-size:10px}.source-summary strong{font-size:14px}.source-summary small{color:#849387;font-size:10px}.dialog-section-title{justify-content:space-between;align-items:baseline;margin:35px 0 14px;display:flex}.dialog-section-title strong{font-size:14px}.dialog-section-title span{color:#8f9b90;font-size:10px}.makeup-options{gap:9px;display:grid}.makeup-choice{cursor:pointer;border:1px solid #e5eae3;border-radius:10px;align-items:center;gap:13px;min-height:68px;padding:13px 16px;display:flex}.makeup-choice.chosen{background:#f2f8f2;border-color:#6e9a77;box-shadow:0 0 0 1px #6e9a77}.makeup-choice.absence-only{border-style:dashed}.makeup-choice input{opacity:0;width:1px;height:1px;position:absolute}.radio-indicator{border:1.5px solid #b5c1b5;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;display:grid}.chosen .radio-indicator{border-color:var(--green)}.chosen .radio-indicator:after{content:"";background:var(--green);border-radius:50%;width:9px;height:9px}.makeup-choice strong,.makeup-choice small{display:block}.makeup-choice strong{font-size:12px}.makeup-choice small{color:#89988c;margin-top:5px;font-size:10px}.absence-warning{color:#a66b63;background:#fff5f2;border:1px solid #f4e2db;border-radius:8px;margin:18px 0 0;padding:12px 13px;font-size:11px}.no-candidates{color:#a16d61;font-size:11px}.form-error{color:#ac534e;font-size:11px}.dialog-actions{gap:10px;margin-top:auto;padding-top:35px;display:flex}.dialog-actions button{border-radius:9px;min-height:45px;font-size:12px;font-weight:700}.secondary-button{color:#6f7d72;background:#fff;border:1px solid #dfe5de;flex:1}.primary-button{background:var(--green);border:1px solid var(--green);color:#fff;flex:2;justify-content:center;align-items:center;gap:12px;display:flex}.primary-button:hover{background:var(--green-dark)}.primary-button svg{width:16px}@media (max-width:1040px){.main-layout{grid-template-columns:215px minmax(0,1fr)}.side-panel{padding-left:18px;padding-right:18px}.content-area{padding:32px 30px}.overview-grid{grid-template-columns:1fr 1fr}.next-card{grid-template-columns:110px 1fr;padding:17px}.next-date span{font-size:27px}.next-info{padding-left:14px}.next-info h2{font-size:15px}.rule-card{padding:22px}.rule-content h2{font-size:17px}}@media (max-width:760px){.site-header{height:66px;padding:0 18px}.brand-mark{width:37px;height:37px;font-size:26px}.brand strong{font-size:12px}.brand small{font-size:8px}.header-right{gap:10px}.guardian-label{display:none}.avatar{width:29px;height:29px}.main-layout{display:block}.side-panel{display:none}.content-area{padding:26px 18px 50px}.breadcrumbs{margin-bottom:27px}.page-heading{align-items:start;margin-bottom:24px}.page-heading h1{font-size:26px}.date-label{display:none}.overview-grid{grid-template-columns:1fr;gap:12px}.next-card{grid-template-columns:115px 1fr;min-height:192px;padding:17px 19px}.next-info{padding-left:20px}.rule-card{min-height:auto;padding:19px 21px}.rule-content h2{margin:10px 0;font-size:17px}.rule-content h2 br{display:none}.rule-content p{max-width:none}.rule-decoration{font-size:135px;top:-25px;right:1px}.schedule-section{margin-top:34px}.section-heading{display:block}.week-controls{justify-content:space-between;margin-top:16px}.calendar{padding:8px 5px 0}.calendar-day{min-height:70px}.calendar-day strong{font-size:17px}.day-detail{padding:19px 16px 5px}.lesson-row{flex-wrap:wrap;gap:10px}.lesson-main{flex-basis:calc(100% - 80px)}.row-action{margin-left:69px}.dialog{padding:27px 20px 24px}.dialog-header h2{font-size:20px}.dialog-actions{background:#fff;padding:17px 0 24px;position:sticky;bottom:-24px}.demo-badge{padding:6px 8px;font-size:9px}}.auth-shell{background:radial-gradient(circle at 12% 12%,#edf1e9 0,transparent 32%),radial-gradient(circle at 90% 90%,#f5e9e4 0,transparent 34%),var(--paper);place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.auth-panel{background:#fff;border:1px solid #e7ece5;border-radius:20px;width:min(100%,440px);padding:42px 44px 36px;box-shadow:0 22px 75px #2a413014}.auth-mark{background:var(--green);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font:34px/1 Georgia,serif;display:flex}.auth-mark span{color:#dba9a2;align-self:flex-end;margin-bottom:9px;font-size:24px}.auth-eyebrow{letter-spacing:.22em;color:#ad8278;margin:30px 0 11px;font-size:10px;font-weight:700}.auth-panel h1{letter-spacing:.03em;margin:0 0 13px;font-size:27px}.auth-intro{color:#7f8b80;margin:0 0 30px;font-size:13px;line-height:1.9}.auth-form{gap:19px;display:grid}.auth-form label{color:#526256;gap:8px;font-size:12px;font-weight:700;display:grid}.auth-form input{width:100%;min-height:48px;color:var(--ink);background:#fbfcfa;border:1px solid #dce4dc;border-radius:9px;padding:0 13px;font-size:15px;font-weight:400}.auth-form button{background:var(--green);color:#fff;border:0;border-radius:9px;min-height:49px;margin-top:8px;font-size:13px;font-weight:700}.auth-form button:hover:not(:disabled){background:var(--green-dark)}.auth-form button:disabled{opacity:.55}.auth-error{color:#ae5b54;margin:0;font-size:12px;line-height:1.6}.auth-help{color:#9aa69b;margin:23px 0 0;font-size:11px;line-height:1.7}.auth-home-link{color:var(--green);margin-bottom:25px;font-size:11px;font-weight:700;text-decoration:none;display:inline-block}.auth-home-link:hover{text-underline-offset:4px;text-decoration:underline}.auth-home-link:focus-visible,.auth-choice-list a:focus-visible{outline-offset:3px;outline:3px solid #7da98c}.auth-choice-panel{width:min(100%,500px)}.auth-choice-list{gap:11px;display:grid}.auth-choice-list a{min-height:86px;color:var(--green);background:#f8fbf7;border:1px solid #dce7dc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;text-decoration:none;display:flex}.auth-choice-list a:hover{background:#eef5ed;border-color:#94b39a}.auth-choice-list strong,.auth-choice-list small{display:block}.auth-choice-list strong{font-size:15px}.auth-choice-list small{color:#7f9181;margin-top:6px;font-size:11px;line-height:1.5}.auth-choice-list a>span:last-child{font-size:20px}.account-message{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:560px;margin:14vh auto;padding:32px}.account-message h1{font-size:22px}.account-message p{color:var(--muted);font-size:13px;line-height:1.8}@media (max-width:520px){.auth-panel{padding:34px 25px 29px}.auth-shell{align-items:start;padding-top:65px}}.staff-shell{background:#f7f8f4;min-height:100dvh}.staff-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,72px);display:flex}.staff-brand{align-items:center;gap:13px;display:flex}.staff-brand-mark{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:39px;height:39px;font:25px Georgia,serif;display:grid}.staff-brand strong,.staff-brand small{display:block}.staff-brand strong{font-size:13px}.staff-brand small{color:#91a294;letter-spacing:.19em;margin-top:3px;font-size:9px;font-weight:700}.staff-main{max-width:1100px;margin:0 auto;padding:52px 28px 90px}.staff-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px;display:flex}.staff-heading h1{letter-spacing:.025em;margin:0 0 10px;font-size:31px}.staff-heading p:last-child{color:#77877b;margin:0;font-size:12px}.staff-summary{color:#577662;white-space:nowrap;background:#e7efe7;border-radius:99px;padding:9px 13px;font-size:11px}.staff-lessons{gap:15px;display:grid}.staff-lesson{background:#fff;border:1px solid #e5eae3;border-radius:14px;grid-template-columns:176px minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 10px 28px #233b2a09}.staff-lesson-head{background:#f1f5ef;border-right:1px solid #e5eae3;flex-direction:column;justify-content:space-between;gap:22px;padding:25px 23px;display:flex}.staff-lesson-head time,.staff-lesson-head strong{display:block}.staff-lesson-head time{color:#586e5e;font-size:12px;font-weight:700}.staff-lesson-head strong{margin-top:7px;font-size:16px}.staff-state{color:#416c4b;background:#dfece0;border-radius:99px;width:max-content;padding:5px 9px;font-size:10px;font-weight:700}.staff-state.cancelled{color:#ad6963;background:#f6e7e5}.staff-lesson-body{padding:22px 28px 19px}.staff-lesson-title{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.staff-lesson-title h2{margin:0;font-size:18px}.staff-lesson-title span{color:var(--green);white-space:nowrap;font-size:14px;font-weight:700}.staff-lesson-body>p{color:#87958a;margin:8px 0 20px;font-size:11px}.staff-roster{border-top:1px solid #edf0e9;padding-top:15px}.staff-roster h3{letter-spacing:.05em;color:#6b806e;margin:0 0 10px;font-size:11px}.staff-roster>p{color:#a0aaa0;font-size:11px}.staff-roster ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;margin:0;padding:0;list-style:none;display:grid}.staff-roster li{border-bottom:1px solid #f2f3ef;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.staff-roster-state{color:#69806d;white-space:nowrap;background:#edf4ed;border-radius:99px;padding:3px 7px;font-size:10px}.staff-roster-state.absent{color:#a96764;background:#f9eded}.staff-empty{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:45px}.staff-empty h2{margin:0 0 8px;font-size:17px}.staff-empty p{color:#7c8b80;margin:0;font-size:12px;line-height:1.7}@media (max-width:660px){.staff-header{height:66px;padding:0 18px}.staff-main{padding:32px 16px 70px}.staff-heading{align-items:start;display:block}.staff-heading h1{font-size:25px}.staff-summary{margin-top:18px;display:inline-block}.staff-lesson{display:block}.staff-lesson-head{border-bottom:1px solid #e5eae3;border-right:0;flex-direction:row;align-items:center;padding:15px 18px}.staff-lesson-head strong{font-size:13px}.staff-lesson-body{padding:18px}.staff-roster ul{grid-template-columns:1fr}.staff-empty{padding:36px 24px}}.staff-attendance{white-space:nowrap;font-size:10px}.staff-attendance.present{color:#397451}.staff-attendance.no_show{color:#a46c65}.staff-attendance-actions{gap:5px;display:flex}.staff-attendance-actions button{color:var(--green);background:#fff;border:1px solid #d8e3d8;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:700}.staff-attendance-actions button:hover{background:#edf4ed}.staff-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-heading-actions a{color:var(--green);background:#fff;border:1px solid #dce6dc;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:700;text-decoration:none}.staff-heading-actions a:hover{background:#eef5ee}.staff-export-form{background:#fff;border:1px solid #e4e9de;border-radius:12px;flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 20px;padding:14px 18px;display:flex}.staff-export-form>div{flex:240px}.staff-export-form strong{color:#2e4938;font-size:14px}.staff-export-form p{color:#627166;margin:4px 0 0;font-size:11px}.staff-export-form label{color:#627166;gap:6px;font-size:11px;font-weight:700;display:grid}.staff-export-form input{color:#304a38;font:inherit;background:#fff;border:1px solid #dce6da;border-radius:8px;padding:9px 10px}.staff-export-form button{color:#fff;cursor:pointer;background:#365e4b;border:0;border-radius:8px;padding:11px 16px;font-size:11px;font-weight:700}.teacher-announcement-form .manage-fields{grid-template-columns:1fr}.teacher-announcement-body textarea{resize:vertical;width:100%;min-height:120px;color:var(--ink);font:inherit;background:#fbfcfa;border:1px solid #dce5dc;border-radius:8px;padding:10px;font-size:13px;font-weight:400}.teacher-announcement-body textarea:focus-visible{outline-offset:3px;outline:3px solid #7da98c}.teacher-announcement-history{margin-top:24px}.teacher-announcement-history ul{margin:0;padding:12px 0 0;list-style:none}.teacher-announcement-history li{border-bottom:1px solid #edf1eb;justify-content:space-between;gap:12px;padding:11px 0;font-size:11px;display:flex}.teacher-announcement-history li:last-child{border-bottom:0}.teacher-announcement-history span{color:#78877b;text-align:right}@media (max-width:600px){.teacher-announcement-history li{gap:4px;display:grid}.teacher-announcement-history span{text-align:left}}.staff-attendance-mark{gap:5px;display:grid}.staff-attendance-mark span{max-width:210px;font-size:10px;line-height:1.5}.staff-attendance-mark span.error{color:#a9564e}.staff-attendance-mark span.success{color:#34724d}.staff-attendance-actions button:disabled{opacity:.5;cursor:wait}.manage-main{max-width:1180px}.manage-breadcrumb{color:#879488;align-items:center;gap:11px;margin-bottom:31px;font-size:11px;display:flex}.manage-breadcrumb a{color:var(--green);text-underline-offset:3px}.manage-back{color:var(--green);white-space:nowrap;background:#fff;border:1px solid #dce6dc;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700;text-decoration:none}.manage-back:hover{background:#eef5ee}.manage-studio{margin-top:36px}.manage-studio+.manage-studio{border-top:1px solid #dae4d9;padding-top:34px}.manage-studio-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.manage-studio-heading h2{margin:7px 0 0;font-size:22px}.manage-studio-heading p{color:#798a7d;margin:0;font-size:11px}.manage-role{color:var(--green);background:#e7efe7;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:700}.manage-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.manage-panel{background:#fff;border:1px solid #e3eae1;border-radius:14px;min-width:0;padding:25px 26px;box-shadow:0 10px 28px #233b2a09}.manage-panel-heading{border-bottom:1px solid #edf1eb;align-items:start;gap:14px;padding-bottom:18px;display:flex}.manage-panel-heading>span{width:28px;height:28px;color:var(--green);background:#eaf1e9;border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.manage-panel-heading h3{margin:2px 0 5px;font-size:17px}.manage-panel-heading p{color:#829087;margin:0;font-size:11px;line-height:1.5}.manage-form{padding-top:20px}.manage-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.manage-fields label{color:#516657;align-content:start;gap:7px;min-width:0;font-size:11px;font-weight:700;display:grid}.manage-fields label span{color:#8b9a8e;font-weight:400}.manage-fields input,.manage-fields select{width:100%;min-width:0;min-height:42px;color:var(--ink);font:inherit;background:#fbfcfa;border:1px solid #dce5dc;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:400}.manage-fields input::placeholder{color:#a0aba1}.manage-fields select:focus-visible{outline-offset:3px;outline:3px solid #7da98c}.manage-form-foot{justify-content:space-between;align-items:end;gap:14px;margin-top:18px;display:flex}.manage-form-foot button{background:var(--green);color:#fff;white-space:nowrap;border:0;border-radius:8px;min-height:41px;padding:0 17px;font-size:11px;font-weight:700}.manage-form-foot button:hover:not(:disabled){background:var(--green-dark)}.manage-form-foot button:disabled{opacity:.5}.manage-feedback{color:#8b998c;margin:0;font-size:10px;line-height:1.6}.manage-feedback.success{color:#34724d;font-weight:700}.manage-feedback.error:not(:empty){color:#a9564e}.manage-list{border-top:1px solid #edf1eb;margin-top:22px;padding-top:16px}.manage-list h4{color:#6d806e;margin:0 0 10px;font-size:11px}.manage-list p{color:#96a398;margin:0;font-size:11px}.manage-list ul{max-height:230px;margin:0;padding:0;list-style:none;overflow:auto}.manage-list li{border-bottom:1px solid #f0f3ed;justify-content:space-between;gap:12px;padding:9px 0;font-size:11px;display:flex}.manage-list li:last-child{border-bottom:0}.manage-list li strong{font-weight:700}.manage-list li span{color:#78877b;text-align:right}.manage-note{color:#839186;margin:18px 0 0;font-size:10px;line-height:1.7}@media (max-width:760px){.manage-grid{grid-template-columns:1fr}.manage-main .staff-heading{flex-wrap:wrap;align-items:start;display:flex}.manage-studio-heading{display:block}.manage-studio-heading p{margin-top:13px}.manage-panel{padding:20px}.manage-breadcrumb{margin-bottom:24px}}@media (max-width:430px){.manage-fields{grid-template-columns:1fr}.manage-form-foot{display:block}.manage-form-foot button{width:100%;margin-top:12px}.manage-list li{gap:4px;display:grid}.manage-list li span{text-align:left}}.manage-subsection{border-top:1px solid #edf1eb;margin-top:24px;padding-top:18px}.manage-subsection h4{margin:0;font-size:12px}.manage-subsection>p{color:#829087;margin:7px 0 0;font-size:10px;line-height:1.7}.manage-csv-preview{color:#405746;background:#f7faf6;border:1px solid #dce6dc;border-radius:9px;margin-top:14px;padding:14px;font-size:11px}.manage-csv-preview strong{margin-bottom:8px;display:block}.manage-csv-preview ul{margin:0 0 8px;padding-left:18px;line-height:1.8}.manage-csv-preview p{color:#6e8071;margin:6px 0}.manage-csv-preview label{align-items:center;gap:8px;margin-top:12px;font-weight:700;display:flex}.manage-csv-preview input{width:16px;height:16px;accent-color:var(--green)}.weekly-schedule-list li{display:block}.weekly-schedule-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.weekly-schedule-title span{white-space:nowrap}.weekly-schedule-controls{align-items:start;gap:10px;margin-top:8px;display:flex}.weekly-schedule-action button,.weekly-schedule-archive button{color:var(--green);background:#fff;border:1px solid #dce6dc;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:700}.weekly-schedule-action button:hover:not(:disabled){background:#eef5ee}.weekly-schedule-archive summary{cursor:pointer;color:#a26864;border:1px solid #e6d9d7;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:700;list-style:none}.weekly-schedule-archive summary::-webkit-details-marker{display:none}.weekly-schedule-archive form{background:#fff9f8;border:1px solid #eadbd8;border-radius:8px;margin-top:8px;padding:11px}.weekly-schedule-archive form p{color:#786e6a;margin:0 0 9px;line-height:1.7}.weekly-schedule-archive button{color:#fff;background:#a35e59;border-color:#a35e59}.weekly-schedule-action span,.weekly-schedule-archive span{text-align:left;margin-top:7px;font-size:10px;line-height:1.5;display:block}.weekly-schedule-action .error,.weekly-schedule-archive .error{color:#a9564e}.weekly-schedule-action .success,.weekly-schedule-archive .success{color:#34724d}.weekly-one-off summary{cursor:pointer;color:var(--green);font-size:11px;font-weight:700}.weekly-one-off summary:focus-visible,.weekly-schedule-archive summary:focus-visible{outline-offset:2px;outline:3px solid #7da98c}@media (max-width:600px){.weekly-schedule-title,.weekly-schedule-controls{flex-direction:column;align-items:start}.weekly-schedule-title span{text-align:left!important}}.preview-home{background:#f7f8f4;min-height:100dvh}.preview-home a{text-decoration:none}.preview-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:1330px;min-height:82px;margin:auto;padding:14px 40px;display:flex}.preview-brand{color:var(--ink);align-items:center;gap:12px;display:flex}.preview-brand span{background:var(--green);color:#fff;border-radius:10px;place-items:center;width:39px;height:39px;font:26px Georgia,serif;display:grid}.preview-brand strong{letter-spacing:.04em;font-size:13px}.preview-header nav{align-items:center;gap:26px;display:flex}.preview-header nav a{color:var(--green);white-space:nowrap;font-size:12px;font-weight:700}.preview-header nav a:hover{text-underline-offset:5px;text-decoration:underline}.preview-header nav .preview-nav-login{background:#fff;border:1px solid #d9e5d9;border-radius:8px;padding:9px 14px}.preview-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:8%;max-width:1230px;margin:0 auto;padding:94px 36px 102px;display:grid}.preview-kicker{letter-spacing:.18em;color:#9c746d;margin:0 0 19px;font-size:10px;font-weight:700}.preview-hero h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:clamp(35px,4.25vw,61px);line-height:1.34}.preview-lead{color:#65766b;max-width:530px;margin:25px 0 30px;font-size:14px;line-height:2}.preview-actions{flex-wrap:wrap;gap:11px;display:flex}.preview-actions a{white-space:nowrap;border-radius:9px;justify-content:space-between;align-items:center;gap:24px;min-height:51px;padding:0 18px;font-size:12px;font-weight:700;display:inline-flex}.preview-actions a:focus-visible,.preview-header a:focus-visible,.preview-path:focus-visible,.demo-topbar a:focus-visible{outline-offset:3px;outline:3px solid #7da98c}.preview-primary{background:var(--green);color:#fff}.preview-primary:hover{background:var(--green-dark)}.preview-secondary{color:var(--green);background:#fff;border:1px solid #dce6dc}.preview-secondary:hover{background:#eef5ee}.preview-hero-note{color:#92a096;margin:18px 0 0;font-size:10px;line-height:1.7}.preview-visual{background:var(--green);color:#fff;border-radius:18px;padding:32px clamp(23px,3vw,42px);box-shadow:0 24px 58px #22453029}.preview-visual-top{letter-spacing:.13em;color:#b9d1bc;justify-content:space-between;gap:12px;margin-bottom:39px;font-size:10px;display:flex}.preview-visual-top span:last-child{letter-spacing:0}.preview-visual-date{align-items:center;gap:27px;min-height:55px;display:flex}.preview-visual-date strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.preview-visual-date span{color:#e2ede2;font-size:12px}.preview-visual-line{border-left:1px solid #ffffff42;height:24px;margin-left:29px}.preview-visual-bottom{color:#c8dccb;border-top:1px solid #ffffff36;margin-top:38px;padding-top:21px;font-size:11px;line-height:1.8}.preview-paths{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:72px 36px 86px}.preview-section-heading,.preview-path-list{max-width:1120px;margin-left:auto;margin-right:auto}.preview-section-heading h2{letter-spacing:-.025em;margin:0 0 28px;font-size:31px}.preview-path{min-height:116px;color:var(--ink);border-top:1px solid #e8eee7;grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:20px;display:grid}.preview-path:last-child{border-bottom:1px solid #e8eee7}.preview-path:hover{background:#f7faf5}.preview-path-num{color:#91a293;font-size:12px}.preview-path strong,.preview-path small{display:block}.preview-path strong{margin-bottom:7px;font-size:19px}.preview-path small{color:#758679;font-size:12px;line-height:1.6}.preview-arrow{color:var(--green);font-size:24px}.preview-progress{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;max-width:1120px;margin:auto;padding:75px 36px 90px;display:grid}.preview-progress h2{margin:0;font-size:27px}.preview-progress p:not(.preview-kicker){color:#67796a;margin:0 0 13px;font-size:13px;line-height:2}.preview-footer{border-top:1px solid var(--line);color:#829085;justify-content:space-between;max-width:1230px;margin:auto;padding:26px 36px 36px;font-size:11px;display:flex}.preview-footer a{color:var(--green);font-weight:700}.demo-topbar{color:#58715e;background:#e9f0e8;justify-content:space-between;align-items:center;gap:10px;min-height:43px;padding:9px clamp(16px,4vw,60px);font-size:10px;display:flex}.demo-topbar a{color:var(--green);white-space:nowrap;font-weight:700}.demo-staff-foot{color:#718575;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;font-size:11px;display:flex}.demo-staff-foot a{color:var(--green);white-space:nowrap;font-weight:700}@media (max-width:760px){.preview-header{min-height:68px;padding:12px 18px}.preview-header nav{gap:10px}.preview-header nav a{font-size:10px}.preview-brand strong{display:none}.preview-header nav .preview-nav-login{padding:8px 10px}.preview-hero{grid-template-columns:1fr;gap:36px;padding:55px 20px 64px}.preview-hero h1{font-size:clamp(33px,8vw,49px)}.preview-lead{font-size:12px}.preview-visual{padding:25px}.preview-paths{padding:55px 20px 68px}.preview-section-heading h2{font-size:25px}.preview-path{grid-template-columns:29px minmax(0,1fr) 20px;gap:12px;min-height:103px}.preview-path strong{font-size:16px}.preview-path small{font-size:11px}.preview-progress{padding:60px 20px;display:block}.preview-progress>div+div{margin-top:25px}.preview-footer{padding:23px 20px}.demo-topbar{flex-wrap:wrap}.demo-topbar span{text-align:center;order:3;width:100%}.demo-staff-foot{flex-direction:column;align-items:start}}@media (max-width:360px){.preview-header nav a:first-child{display:none}.preview-actions a{width:100%}.preview-path{grid-template-columns:25px minmax(0,1fr) 17px}}.staff-roster li{position:relative}.staff-roster-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.staff-cancel{position:relative}.staff-cancel summary{cursor:pointer;color:#9d615d;white-space:nowrap;border:1px solid #e6d9d7;border-radius:6px;width:max-content;margin-left:auto;padding:5px 7px;font-size:10px;font-weight:700;list-style:none}.staff-cancel summary::-webkit-details-marker{display:none}.staff-cancel summary:focus-visible{outline-offset:2px;outline:3px solid #7da98c}.staff-cancel[open] form{background:#fff;border:1px solid #eadbd8;border-radius:9px;width:min(260px,80vw);margin-top:6px;padding:13px;box-shadow:0 12px 35px #2d282321}.staff-cancel form p{color:#786e6a;margin:0 0 10px;font-size:10px;line-height:1.7}.staff-cancel form button{color:#fff;background:#a35e59;border:0;border-radius:6px;padding:8px 10px;font-size:10px;font-weight:700}.staff-cancel form span{margin-top:8px;font-size:10px;line-height:1.5;display:block}.staff-cancel form span.error{color:#ab524c}.staff-cancel form span.success{color:var(--green)}.manage-list .manage-occurrence{display:block}.manage-occurrence>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.manage-cancel{margin-top:8px}.manage-cancel summary{cursor:pointer;color:#9d615d;border:1px solid #e6d9d7;border-radius:6px;width:max-content;padding:5px 8px;font-size:10px;font-weight:700;list-style:none}.manage-cancel summary::-webkit-details-marker{display:none}.manage-cancel summary:focus-visible{outline-offset:2px;outline:3px solid #7da98c}.manage-cancel form{background:#fff9f8;border:1px solid #eadbd8;border-radius:8px;margin-top:8px;padding:12px}.manage-cancel form p{color:#786e6a;margin:0 0 10px;font-size:11px;line-height:1.7}.manage-cancel form button{color:#fff;background:#a35e59;border:0;border-radius:6px;padding:8px 11px;font-size:11px;font-weight:700}.manage-cancel form button:disabled{opacity:.6}.manage-cancel form span{text-align:left;margin-top:8px;font-size:11px;line-height:1.5;display:block}.manage-cancel form span.error{color:#ab524c}.manage-cancel form span.success{color:var(--green)}.guardian-notifications{background:#fff;border:1px solid #e9e9e5;border-radius:14px;margin:0 0 24px;padding:20px}.guardian-notifications .section-heading{margin-bottom:12px}.guardian-notifications ul{margin:0;padding:0;list-style:none}.guardian-notifications li{border-top:1px solid #eeefeb;padding:13px 0}.guardian-notifications li>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.guardian-notifications strong{color:#244b34;font-size:13px}.guardian-notifications time{color:#888;font-size:11px}.guardian-notifications li p{color:#555;margin:6px 0 0;font-size:12px;line-height:1.7}.student-qr-link{color:#326947;margin:12px 15px;font-size:12px;font-weight:700;text-decoration:none;display:block}.student-qr-panel{text-align:center;overflow-wrap:anywhere}.student-qr-panel .auth-home-link{text-align:left}.student-qr-image{background:#fff;border-radius:18px;margin:10px auto 18px;padding:8px;display:inline-flex;box-shadow:0 8px 30px #163b2722}.student-qr-image img{width:min(100%,360px);height:auto}.student-qr-print{width:100%}.check-panel .auth-intro strong{color:#214b31}.check-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.check-actions button{color:#fff;cursor:pointer;background:#2d6744;border:0;border-radius:9px;flex:130px;min-height:48px;font-weight:700}.check-actions button:nth-of-type(2){background:#605b53}.check-actions button:disabled{opacity:.45;cursor:not-allowed}.check-actions p{flex-basis:100%;font-size:12px}.check-actions p.success{color:#2d6744}.check-actions p.error{color:#a35e59}.check-history{text-align:left;margin-top:24px}.check-history h2{font-size:17px}.check-history ul{padding:0;list-style:none}.check-history li{border-top:1px solid #e8e8e3;padding:10px 0}.check-history li strong{font-size:13px}.check-scanner{text-align:left;gap:15px;margin-top:22px;display:grid}.check-scanner-actions button,.check-scanner form button{color:#fff;cursor:pointer;background:#2d6744;border:0;border-radius:9px;min-height:48px;padding:0 18px;font-weight:700}.check-scanner-actions button{width:100%}.check-scanner-video{object-fit:cover;background:#17231b;border-radius:13px;width:100%;max-height:420px}.check-scanner .auth-help{margin:0}.check-scanner form{gap:10px;display:grid}.check-scanner form label{color:#526256;gap:7px;font-size:12px;font-weight:700;display:grid}.check-scanner form input{min-width:0;min-height:46px;color:var(--ink);background:#fbfcfa;border:1px solid #dce4dc;border-radius:9px;padding:0 12px;font-size:14px}.check-scanner .auth-error{margin:0}.check-next-link{color:#326947;margin-top:18px;font-size:13px;font-weight:700;display:inline-block}.staff-security-reminder{color:#654b25;background:#fff8ea;border:1px solid #e4cda3;border-radius:11px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;padding:14px 17px;font-size:13px;display:flex}.staff-security-reminder a{color:#285c3b;font-weight:700}.security-panel .auth-intro{margin-bottom:22px}.totp-setup{color:#526256;gap:17px;font-size:13px;line-height:1.7;display:grid}.totp-setup>img{background:#fff;border:1px solid #e1e7df;border-radius:12px;max-width:100%;height:auto;margin:auto;padding:8px}.totp-secret code{overflow-wrap:anywhere;color:#214b31;background:#f1f5ef;border-radius:7px;margin-top:8px;padding:10px;font-size:13px;display:block}.totp-success{color:#235739;background:#eaf4eb;border-radius:8px;padding:13px;font-weight:700}.totp-backup{background:#f8faf7;border:1px solid #e1e7df;border-radius:11px;padding:16px}.totp-backup h2{color:#263d2e;margin:0 0 7px;font-size:17px}.totp-backup p{margin:0 0 12px}.totp-backup ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none;display:grid}.totp-backup li{text-align:center;background:#fff;border:1px solid #e1e7df;border-radius:6px;padding:7px}.totp-backup code{font-size:12px}.totp-backup button{color:#fff;background:#2d6744;border:0;border-radius:8px;width:100%;min-height:45px;margin-top:10px;font-weight:700}.schedule-navigation{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.view-switch{background:#e9efe9;border-radius:8px;padding:3px;display:flex}.view-switch button{color:#4d6a56;cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:38px;padding:6px 9px;font-size:12px;font-weight:700}.view-switch button[aria-pressed=true]{color:#24513a;background:#fff;box-shadow:0 1px 4px #20432c20}.calendar.month-view{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar.month-view .calendar-day{border-radius:8px;min-height:54px}.calendar.month-view .calendar-day span{font-size:9px}.calendar.month-view .calendar-day strong{font-size:15px}.calendar.month-view .calendar-day.outside-month{opacity:.4}@media (max-width:600px){.schedule-navigation{justify-content:space-between;width:100%}.calendar.month-view .calendar-day{min-height:43px}.calendar.month-view .calendar-day strong{font-size:13px}}:is(.staff-roster li:has(.staff-correction[open]),.staff-roster li:has(.staff-cancel[open])){grid-column:1/-1}.staff-correction summary{cursor:pointer;width:max-content;color:var(--green);border:1px solid #d9e4d9;border-radius:6px;margin-left:auto;padding:5px 7px;font-size:10px;font-weight:700;list-style:none}.staff-correction summary::-webkit-details-marker{display:none}.staff-correction summary:focus-visible{outline-offset:2px;outline:3px solid #7da98c}.staff-correction[open] form{background:#fff;border:1px solid #d9e4d9;border-radius:9px;width:min(270px,80vw);margin-top:6px;padding:13px;box-shadow:0 12px 35px #2d28231c}.staff-correction form p{color:#617467;margin:0 0 10px;font-size:10px;line-height:1.7}.staff-correction form label{color:#526256;gap:5px;font-size:10px;font-weight:700;display:grid}.staff-correction form textarea{resize:vertical;width:100%;font:inherit;border:1px solid #dce4dc;border-radius:6px;padding:8px}.staff-correction form button{background:var(--green);color:#fff;border:0;border-radius:6px;margin-top:10px;padding:8px 10px;font-size:10px;font-weight:700}.staff-correction form span{margin-top:8px;font-size:10px;line-height:1.5;display:block}.staff-correction form span.error{color:#ab524c}.staff-correction form span.success{color:var(--green)}.manage-list .manage-student{display:block}.manage-list ul:has(.manage-invite-details[open]){max-height:none}.manage-student-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.manage-student>p{color:#617467;overflow-wrap:anywhere;margin:8px 0 0}.manage-pending-invites{background:#f4f7f2;border-radius:7px;margin-top:12px;padding:10px}.manage-pending-invites>strong{color:#526e57;margin-bottom:6px;font-size:10px;display:block}.manage-pending-invites>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.manage-pending-invites span{overflow-wrap:anywhere;font-size:10px;text-align:left!important}.revoke-invitation button{color:#a26864;white-space:nowrap;background:#fff;border:1px solid #e6d9d7;border-radius:5px;padding:4px 7px;font-size:10px}.revoke-invitation span{font-size:10px;display:block}.revoke-invitation span.error{color:#ab524c}.manage-invite-details{margin-top:11px}.manage-invite-details summary{cursor:pointer;width:max-content;color:var(--green);font-size:11px;font-weight:700;list-style:none}.manage-invite-details summary::-webkit-details-marker{display:none}.manage-invite-details summary:focus-visible{outline-offset:2px;outline:3px solid #7da98c}.manage-invite-details>p{color:#78877b;margin:10px 0;line-height:1.7}.guardian-invitation form{align-items:end;gap:9px;display:flex}.guardian-invitation form label{color:#526256;flex:1;gap:6px;min-width:0;font-size:10px;font-weight:700;display:grid}.guardian-invitation form input,.guardian-invitation-code input{width:100%;min-height:37px;color:var(--ink);background:#fbfcfa;border:1px solid #dce5dc;border-radius:7px;padding:7px 9px;font-size:12px}.guardian-invitation form button,.guardian-invitation-code button{background:var(--green);color:#fff;white-space:nowrap;border:0;border-radius:7px;min-height:37px;padding:0 10px;font-size:10px;font-weight:700}.guardian-invitation>p{margin-top:9px;line-height:1.6}.guardian-invitation>p.success{color:#34724d}.guardian-invitation>p.error{color:#a9564e}.guardian-invitation-code{background:#f6f9f5;border:1px solid #dce5dc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:11px;padding:11px;display:grid}.guardian-invitation-code label{color:#526256;gap:5px;font-size:10px;display:grid}.guardian-invitation-code small{color:#78877b;grid-column:1/-1;font-size:10px;line-height:1.6}.guardian-invitation-code input{font-family:ui-monospace,SFMono-Regular,monospace}.guardian-invite-link{color:var(--green);white-space:nowrap;font-size:11px;font-weight:700;text-decoration:none}.guardian-invite-link:hover{text-decoration:underline}.invite-back{color:var(--green);margin-bottom:18px;font-size:11px;font-weight:700;text-decoration:none;display:inline-block}.invite-current-email{color:#5a715e;overflow-wrap:anywhere;background:#f3f7f1;border-radius:7px;margin:-13px 0 24px;padding:10px 12px;font-size:11px}.invite-current-email strong{font-weight:700}.invite-success{color:#34724d;margin:0;font-size:12px;line-height:1.6}.invite-to-portal{color:var(--green);margin-top:12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.invite-to-portal:hover{text-decoration:underline}.invite-redeem-form input{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.account-message .sign-out-control{margin-top:24px}@media (max-width:520px){.guardian-invitation form{display:grid}.guardian-invitation form button{width:100%}.guardian-invite-link{font-size:10px}.site-header .demo-badge{display:none}}.status-tag.cancelled{color:#876e69;background:#eee8e6}.staff-calendar-panel{background:#fff;border:1px solid #e4e9e2;border-radius:16px;margin-bottom:26px;padding:25px;box-shadow:0 10px 30px #24432b0a}.staff-calendar-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.staff-calendar-head h2{margin:0 0 5px;font-size:21px}.staff-calendar-head p:last-child{color:#829087;margin:0;font-size:11px}.staff-calendar-controls{align-items:center;gap:12px;display:flex}.staff-calendar-controls strong{text-align:center;min-width:90px;font-size:13px}.staff-calendar-controls button{color:#365e4b;background:#fff;border:1px solid #dce6da;border-radius:7px;width:33px;height:33px;font-size:22px;line-height:1}.staff-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.staff-calendar-weekday{text-align:center;color:#758375;padding:7px;font-size:10px;font-weight:700}.staff-calendar-day{text-align:left;color:#4d5b50;background:#fbfcfa;border:1px solid #edf0eb;border-radius:8px;justify-content:space-between;align-items:start;min-height:53px;padding:8px;display:flex;position:relative}.staff-calendar-day:hover{background:#f1f6ef;border-color:#89a790}.staff-calendar-day.selected{color:#245234;background:#e7f1e7;border-color:#6c9774}.staff-calendar-day.outside{opacity:.36}.staff-calendar-day>span{font-size:13px;font-weight:700}.staff-calendar-day small{color:#647866;font-size:9px}.staff-calendar-day i{background:#bd7d77;border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px;left:8px}.staff-calendar-detail{border-top:1px solid #e9ece6;margin-top:20px;padding-top:18px}.staff-calendar-detail h3{margin:0 0 10px;font-size:14px}.staff-calendar-detail h3 span{color:#829087;margin-left:8px;font-size:11px;font-weight:400}.staff-calendar-detail ul{margin:0;padding:0;list-style:none}.staff-calendar-detail li{border-top:1px solid #eef0eb;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.staff-calendar-detail li:first-child{border-top:0}.staff-calendar-detail li strong{font-size:12px;display:block}.staff-calendar-detail li span{color:#8b968c;margin-top:4px;font-size:10px;display:block}.staff-calendar-detail li small{white-space:nowrap;color:#386747;font-weight:700}.staff-calendar-detail li small.cancelled{color:#a56d69}.staff-calendar-detail>p{color:#8b968c;font-size:11px}@media (max-width:700px){.staff-calendar-panel{padding:14px}.staff-calendar-head{display:block}.staff-calendar-controls{margin-top:15px}.staff-calendar-day{min-height:46px;padding:5px}.staff-calendar-day>span{font-size:11px}.staff-calendar-day small{font-size:8px}}.row-action-closed{color:#8f9990;white-space:nowrap;font-size:10px}@media (max-width:760px){.row-action-closed{margin-left:69px}}.staff-schedule-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 20px;display:flex}.staff-schedule-filters label{color:#627166;gap:6px;font-size:11px;font-weight:700;display:grid}.staff-schedule-filters select,.staff-schedule-filters input{color:#304a38;min-width:170px;font:inherit;background:#fff;border:1px solid #dce6da;border-radius:8px;padding:10px 12px}.staff-schedule-filters button{color:#fff;cursor:pointer;background:#365e4b;border:0;border-radius:8px;padding:11px 16px;font-size:11px;font-weight:700}.staff-schedule-filters>a{color:#365e4b;padding:10px;font-size:11px}.trial-requests-panel{margin:22px 0}.trial-requests-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.trial-requests-list article{background:#fff;border:1px solid #e4e9e2;border-radius:11px;padding:20px}.trial-request-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.trial-request-heading time{color:#879488;font-size:10px}.trial-status{color:#315741;background:#e9f0e7;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:700}.trial-status.contacted{color:#746534;background:#f5efdc}.trial-status.closed{color:#69776d;background:#edf0ec}.trial-requests-list h4{margin:16px 0 6px;font-size:15px}.trial-requests-list h4 small{color:#728273;font-size:10px;font-weight:400}.trial-requests-list article>p{color:#617166;font-size:11px;line-height:1.7}.trial-requests-list article>a{color:#365e4b;word-break:break-all;font-size:11px;font-weight:700}.trial-request-message{white-space:pre-wrap;background:#f7f8f4;border-radius:6px;padding:11px}.trial-request-control{margin-top:18px}.trial-request-control .manage-fields{grid-template-columns:1fr 2fr}@media (max-width:800px){.trial-requests-list,.trial-request-control .manage-fields{grid-template-columns:1fr}}.staff-operations{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px;display:grid}.staff-operations>div,.staff-operations>a{color:#314939;background:#fff;border:1px solid #e3e9e0;border-radius:12px;min-height:105px;padding:18px;text-decoration:none;display:block}.staff-operations>a{background:#eaf1e9;border-color:#d7e4d5}.staff-operations span{color:#65796b;font-size:10px;font-weight:700}.staff-operations strong{margin-top:9px;font-size:29px;line-height:1.1;display:block}.staff-operations strong small{margin-left:5px;font-size:11px}.staff-operations p{color:#87978a;margin:7px 0 0;font-size:10px}.staff-operations>a p{color:#456d50}@media (max-width:850px){.staff-operations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.staff-operations>div,.staff-operations>a{min-height:95px;padding:14px}.staff-operations strong{font-size:24px}}.email-delivery-panel{margin:22px 0}.email-delivery-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.email-delivery-counts span{color:#647668;background:#f7f9f5;border:1px solid #e6ece4;padding:13px;font-size:11px}.email-delivery-counts strong{color:#2e4b38;margin-top:5px;font-size:20px;display:block}.email-delivery-panel .manage-list{margin-top:20px}@media (max-width:650px){.email-delivery-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}.staff-heading-actions .staff-email-alert{color:#9b514b;background:#f8ebe8;border-color:#efcbc6}.email-retry-control{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.email-retry-control button{color:#365e4b;cursor:pointer;background:#f5f9f3;border:1px solid #d3e0d1;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:700}.email-retry-control button:disabled{opacity:.6;cursor:wait}.email-retry-control span{font-size:10px}.email-retry-control .error{color:#a5534b}.email-retry-control .success{color:#397049}.trial-requests-list article>.trial-request-alert{color:#9a4b2c;background:#fff1e8;border-radius:6px;padding:9px 11px;font-weight:700}.trial-requests-list article>.trial-request-followup{color:#3f674c;background:#eef4eb;border-radius:6px;padding:9px 11px;font-weight:700}.trial-conversion-enrollment{color:#405d48;cursor:pointer;align-items:center;gap:9px;margin-top:16px;font-size:11px;font-weight:700;line-height:1.5;display:flex}.trial-conversion-enrollment input{width:16px;height:16px;accent-color:var(--green);flex:none}.manage-enrollment-controls{gap:10px;min-width:0;max-width:520px;display:grid}.manage-transfer summary{color:var(--green);cursor:pointer;font-size:11px;font-weight:700}.manage-transfer[open]{background:#f7f9f5;border-radius:8px;padding:12px}.manage-transfer .manage-fields{grid-template-columns:1fr}.manage-transfer .manage-form{padding-top:12px}.manage-transfer .manage-note{margin-top:12px}.manage-announcement-content{flex:1;min-width:0}.manage-announcement-content summary{color:var(--green);cursor:pointer;margin-top:8px;font-size:10px}.manage-announcement-content details p{white-space:pre-wrap;overflow-wrap:anywhere;color:#516657;margin-top:8px;line-height:1.7}.studio-setup-panel{width:min(100%,550px)}.studio-setup-panel .auth-form select{width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fbfcfa;border:1px solid #dce4dc;border-radius:9px;padding:0 13px}.studio-setup-panel .auth-form small{color:#758679;font-weight:400;line-height:1.6}.studio-setup-checklist{background:#f3f7ef;border:1px solid #dce8d5;border-radius:12px;margin:20px 0;padding:20px}.studio-setup-checklist summary{cursor:pointer;color:#3d5d42;font-size:14px;font-weight:700}.studio-setup-checklist summary span{margin-left:12px;font-size:11px}.studio-setup-checklist>p{color:#657869;font-size:12px;line-height:1.7}.studio-setup-checklist ol{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:15px 0 0;padding:0;list-style:none;display:grid}.studio-setup-checklist a{color:var(--green);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:12px;text-decoration:none;display:flex}.studio-setup-checklist a>span{background:#e8f0e4;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.studio-setup-checklist small{white-space:nowrap;margin-left:auto;font-size:10px}.trial-requests-list article>.trial-receipt-status{color:#5d735f;margin:10px 0;font-size:11px}.staff-attention-note{color:#48644d;background:#eef4eb;border-radius:8px;margin:0 0 16px;padding:11px 14px;font-size:12px}.staff-attention-note a{color:#315a40;margin-left:8px;font-weight:700}.manage-export-links{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;display:flex}.manage-export-links a{color:#315d43;font-size:11px;font-weight:700}.manage-export-links small{color:#7a887d;font-size:10px}.manage-section-nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:thin;background:#f7f8f4f5;border:1px solid #e2eae0;border-radius:10px;gap:7px;margin:0 0 18px;padding:10px;display:flex;position:sticky;top:0;overflow-x:auto}.manage-section-nav a{color:#456550;white-space:nowrap;background:#fff;border:1px solid #e1e9df;border-radius:7px;flex:none;padding:8px 11px;font-size:11px;font-weight:700;text-decoration:none}.manage-section-nav a:hover,.manage-section-nav a:focus-visible{background:#edf4ed;border-color:#85a88c;outline:none}.manage-panel[id]{scroll-margin-top:72px}.attendance-note{color:#3a7050;margin-top:7px;font-size:10px;font-weight:700;display:block}.attendance-note.no_show{color:#a35e59}.check-delivery{color:#687a6b;margin-top:5px;font-size:11px;line-height:1.5;display:block}.check-delivery.failed{color:#a35e59;font-weight:700}.guardian-notifications li.read{opacity:.72}.guardian-notifications li.unread{border-left:3px solid #79a68a;padding-left:12px}.guardian-notifications li button{color:#325c40;cursor:pointer;background:#f2f8f2;border:1px solid #cfe0d1;border-radius:7px;margin-top:9px;padding:7px 11px;font-size:11px;font-weight:700}.guardian-notifications li button:disabled{opacity:.55;cursor:wait}.notification-error{color:#a35e59;font-size:12px}.auth-form .auth-alternative{color:var(--green);background:0 0;border:1px solid #dce4dc;margin-top:0;font-size:12px}.auth-form .auth-alternative:hover:not(:disabled){background:#f2f6ef}.auth-form .totp-replace-confirm{align-items:flex-start;gap:10px;line-height:1.6;display:flex}.auth-form .totp-replace-confirm input{width:17px;min-height:17px;accent-color:var(--green);flex:none}.waitlist-panel{width:min(100%,720px)}.waitlist-panel>p{color:#526256;font-size:13px;line-height:1.85}.waitlist-panel h2{margin-top:32px;font-size:20px}.waitlist-panel .auth-form select{width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;background:#fbfcfa;border:1px solid #dce4dc;border-radius:9px;padding:0 12px}.waitlist-panel .auth-form label:has(input[type=checkbox]){align-items:flex-start;gap:10px;font-weight:400;line-height:1.8;display:flex}.waitlist-panel .auth-form input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green);flex-shrink:0;margin:2px 0 0;padding:0}.waitlist-panel .auth-success{color:#2d6744;font-size:13px;line-height:1.7}.waitlist-entries{gap:16px;padding:0;list-style:none;display:grid}.waitlist-entries>li{background:#fbfcfa;border:1px solid #dce4dc;border-radius:12px;padding:20px}.waitlist-entries h3{margin:0 0 12px;font-size:16px}.waitlist-entries p{font-size:13px;line-height:1.8}.waitlist-entries .auth-form{margin-top:20px}.waitlist-panel select:focus-visible,.waitlist-panel button:focus-visible,.waitlist-panel input:focus-visible{outline-offset:3px;outline:3px solid #8caa91}.guardian-menu{flex-shrink:0;position:relative}.guardian-menu summary{min-height:44px;color:var(--green);cursor:pointer;border:1px solid #dce4dc;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:12px;font-weight:700;list-style:none;display:flex}.guardian-menu summary::-webkit-details-marker{display:none}.guardian-menu summary:after{content:"⌄"}.guardian-menu[open] summary:after{content:"⌃"}.guardian-menu nav{z-index:30;background:#fff;border:1px solid #dce4dc;border-radius:12px;width:min(280px,84vw);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #2a413024}.guardian-menu nav a{border-radius:7px;align-items:center;min-height:44px;padding:10px 14px;font-size:13px;display:flex}.guardian-menu nav a:hover{background:#f3f7ef;text-decoration:none}.guardian-menu nav .sign-out-control{border-top:1px solid #e7ece5;margin-top:6px;padding-top:6px;display:block}.guardian-menu nav .sign-out-button{text-align:left;width:100%;min-height:44px;padding:10px 14px}.guardian-menu summary:focus-visible,.guardian-menu nav a:focus-visible{outline-offset:2px;outline:3px solid #8caa91}.policy-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#526256;font-size:13px;line-height:1.9}.notice-filter-nav{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.notice-filter-nav a,.notice-next-link,.notice-read-control{color:#304f39;background:#fff;border:1px solid #d7e0d7;border-radius:10px;align-items:center;min-height:44px;padding:10px 16px;font-size:14px;text-decoration:none;display:inline-flex}.notice-filter-nav a[aria-current=page]{color:#fff;background:#304f39;border-color:#304f39}.notice-history{margin:20px 0;padding:0;list-style:none}.notice-history li{border-top:1px solid #e1e7df;padding:24px 0}.notice-history h2{overflow-wrap:anywhere;font-size:18px;line-height:1.6}.notice-history-meta{color:#657265;font-size:12px}.notice-read-control{cursor:pointer}.notice-read-control:disabled{opacity:.6;cursor:wait}.notice-filter-nav a:focus-visible,.notice-read-control:focus-visible,.notice-next-link:focus-visible{outline-offset:3px;outline:3px solid #b58434}.history-filter{flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0;display:flex}.history-filter label{font-size:13px;font-weight:700}.history-filter select{min-width:0;max-width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d7e0d7;border-radius:9px;flex:0 320px;padding:8px 12px}.history-filter button{background:var(--green);color:#fff;border:0;border-radius:9px;min-height:44px;padding:10px 18px;font-weight:700}.history-filter a{color:var(--green);font-size:13px}.history-filter select:focus-visible,.history-filter button:focus-visible,.history-filter a:focus-visible{outline-offset:3px;outline:3px solid #b58434}.teacher-announcement-history li{flex-wrap:wrap}.teacher-announcement-history details{flex-basis:100%;width:100%}.teacher-announcement-history summary{cursor:pointer;min-height:44px;color:var(--ink);align-content:center;font-size:13px}.teacher-announcement-history summary:focus-visible{outline-offset:3px;outline:3px solid #7da98c}.teacher-announcement-history details p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:14px;line-height:1.8}.guide-shell{color:var(--ink);background:#f6f7f3;min-height:100vh}.guide-header{border-bottom:1px solid #dfe5dc;justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:auto;padding:24px 28px;display:flex}.guide-brand{color:var(--ink);font-size:28px;font-weight:700;text-decoration:none}.guide-brand span{margin-left:12px;font-size:14px}.guide-header nav{flex-wrap:wrap;gap:8px 20px;display:flex}.guide-header nav a,.guide-footer a{color:#345640;align-content:center;min-height:44px;font-size:13px}.guide-main{max-width:1016px;margin:auto;padding:48px 28px 72px}.guide-intro{margin-bottom:32px}.guide-intro h1{letter-spacing:-.03em;margin:10px 0 18px;font-size:clamp(28px,4vw,44px);line-height:1.4}.guide-intro>p{max-width:760px;font-size:16px;line-height:1.9}.guide-intro .guide-version{color:#667569;margin-top:18px;font-size:12px}.guide-choice{grid-template-columns:1fr 1fr;gap:24px;margin:36px 0;display:grid}.guide-choice>a{color:var(--ink);background:#fff;border:1px solid #dfe5dc;border-radius:16px;padding:30px;text-decoration:none}.guide-choice span{letter-spacing:.1em;color:#637768;font-size:11px}.guide-choice h2{margin:20px 0 12px;font-size:24px}.guide-choice p{margin-bottom:24px;font-size:14px;line-height:1.9}.guide-choice strong{color:#345640;font-size:14px}.guide-toc{background:#fff;border:1px solid #dfe5dc;border-radius:14px;padding:20px 24px}.guide-toc ol{grid-template-columns:1fr 1fr;gap:8px 20px;margin:0;padding:0;list-style:none;display:grid}.guide-toc a{min-height:44px;color:var(--ink);align-items:center;gap:14px;font-size:14px;text-decoration:none;display:flex}.guide-toc span{color:#718774;font-variant-numeric:tabular-nums;font-size:12px}.guide-status{background:#eaf0e6;border-left:3px solid #698b70;margin:28px 0;padding:22px 24px}.guide-status h2{margin:0 0 12px;font-size:21px}.guide-status p,.guide-status li{font-size:14px;line-height:1.9}.guide-status a,.guide-step a{color:#345640}.guide-step{border-bottom:1px solid #dfe5dc;padding:44px 0;scroll-margin-top:24px}.guide-step>header{align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.guide-number{color:#4c6c52;border-top:2px solid #5f7d63;min-width:34px;padding-top:8px;font-size:14px}.guide-step h2{margin:0 0 8px;font-size:25px;line-height:1.5}.guide-action{align-content:center;min-height:44px;font-size:13px;display:inline-block}.guide-shot{margin:0 0 24px}.guide-shot img{border:1px solid #dfe5dc;border-radius:10px;width:100%;height:auto;display:block}.guide-shot figcaption{color:#667569;margin-top:9px;font-size:11px;line-height:1.7}.guide-instructions{padding-left:24px}.guide-instructions li,.guide-step>ul>li{margin-bottom:10px;padding-left:6px;font-size:15px;line-height:1.95}.guide-note{background:#fff;border:1px solid #dfe5dc;border-radius:8px;margin:22px 0;padding:18px 22px}.guide-note strong{color:#526d58;font-size:12px}.guide-note p{margin:8px 0 0;font-size:14px;line-height:1.9}.guide-top{align-content:center;min-height:44px;font-size:12px;display:inline-block}.guide-faq{padding-top:42px}.guide-faq h2{font-size:25px}.guide-faq details{border-bottom:1px solid #dfe5dc;padding:10px 0}.guide-faq summary{cursor:pointer;align-content:center;min-height:44px;font-size:15px;line-height:1.7}.guide-faq details p{max-width:800px;font-size:14px;line-height:1.9}.guide-footer{border-top:1px solid #dfe5dc;flex-wrap:wrap;gap:24px;max-width:1016px;margin:auto;padding:28px;display:flex}.guide-footer p{color:#667569;width:100%;margin:0;font-size:12px;line-height:1.8}.guide-shell a:focus-visible,.guide-shell summary:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #7da98c}.guide-table-wrap{background:#fff;border:1px solid #dfe5dc;border-radius:12px;overflow-x:auto}.guide-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px;line-height:1.8}.guide-table caption{text-align:left;padding:18px;font-size:14px;font-weight:600}.guide-table th,.guide-table td{vertical-align:top;border-top:1px solid #edf0e9;padding:14px 18px}.guide-table th{white-space:nowrap;background:#edf2e8}.guide-table a{color:#345640}.guide-table code{color:#68756b;overflow-wrap:anywhere;font-size:11px;display:block}.guide-step code{overflow-wrap:anywhere;font-size:12px}.guide-step ul,.guide-status ul{padding-left:22px}@media (max-width:700px){.guide-header{flex-direction:column;align-items:flex-start;gap:6px;padding:16px 20px}.guide-header nav{gap:6px 16px}.guide-main{padding:30px 20px 50px}.guide-choice{grid-template-columns:1fr;gap:16px}.guide-choice>a{padding:24px}.guide-toc{padding:16px}.guide-toc ol{grid-template-columns:1fr}.guide-step{padding:34px 0}.guide-step>header{gap:14px}.guide-step h2{font-size:22px}.guide-status{padding:18px}.guide-note{padding:16px}.guide-table th,.guide-table td{padding:12px 10px}.guide-table{min-width:520px}.guide-footer{padding:20px}.guide-instructions li{font-size:14px}.guide-shot img{border-radius:6px}}@media print{.guide-header nav,.guide-top,.guide-action,.guide-footer{display:none}.guide-shell{background:#fff}.guide-main{max-width:none;padding:0}.guide-step{break-inside:avoid}.guide-shot img{object-fit:contain;max-height:380px}.guide-toc,.guide-status,.guide-note{background:#fff}.guide-table-wrap{overflow:visible}}.recovery-message{margin-top:8vh}.recovery-retry{background:var(--green,#426451);color:#fff;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:12px 24px;font-weight:700}.recovery-retry:focus-visible,.recovery-message a:focus-visible{outline-offset:4px;outline:3px solid #426451}.recovery-note{background:#f6f8f3;border:1px solid #dfe5dd;border-radius:12px;margin:28px 0;padding:20px}.recovery-note p{margin-bottom:0}.recovery-message nav{flex-wrap:wrap;gap:12px 24px;display:flex}.recovery-message nav a{align-items:center;min-height:44px;display:inline-flex}.recovery-support{color:#66726a;font-size:13px;line-height:1.8}@media print{body:has(.student-qr-panel){color:#000;background:#fff}body:has(.student-qr-panel) .auth-shell{min-height:0;padding:0;display:block}.student-qr-panel{width:90mm;max-width:100%;box-shadow:none;break-inside:avoid;background:#fff;border:1px solid #999;border-radius:0;margin:8mm auto;padding:8mm}.student-qr-panel .auth-home-link,.student-qr-print,.student-qr-print-help,.student-qr-panel .auth-eyebrow{display:none}.student-qr-panel h1{color:#000;font-size:16pt;line-height:1.5}.student-qr-panel .auth-intro{color:#000;font-size:10pt}.student-qr-panel .auth-help{color:#000;font-size:8pt}.student-qr-image{width:60mm;box-shadow:none;border-radius:0;margin:4mm auto;padding:0}.student-qr-image img{width:60mm;max-width:100%;height:60mm}}.route-loading h1{font-size:clamp(20px,4vw,28px);line-height:1.6}.route-loading-lines{gap:14px;margin:28px 0;display:grid}.route-loading-lines span{background:var(--line);border-radius:5px;height:16px}.route-loading-lines span:nth-child(2){width:85%}.route-loading-lines span:nth-child(3){width:65%}.route-loading>a{color:var(--green);font-size:14px;line-height:1.8}.route-loading>a:focus-visible{outline:3px solid var(--green);outline-offset:5px}
