@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,system-ui,sans-serif;color:#172036;background:#f6f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.primary,.secondary{border:0;border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:#3157d5;color:#fff;box-shadow:0 8px 20px #3157d52b}.primary:hover{background:#284cc5}.secondary{background:#fff;color:#27324a;border:1px solid #dfe4ee}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#607095;font-size:11px;font-weight:800}.logo-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#4168e8,#6c42cb);color:#fff;font-weight:800;box-shadow:0 12px 30px #3157d548}.logo-mark.small{width:38px;height:38px;border-radius:11px;font-size:13px}.brand-inline{display:flex;align-items:center;gap:11px}.brand-inline b{font-size:20px}.brand-inline b span{display:block;color:#7253d4;font-size:12px}.brand-inline.white b{color:#fff}.brand-inline.white b span{color:#aebdf7}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{background:radial-gradient(circle at 20% 15%,#5173eb,transparent 28%),linear-gradient(145deg,#182860,#29226f);color:#fff;padding:10vw;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:48px;margin:24px 0 10px}.login-brand h1 span{color:#aebdf7}.login-brand>p{font-size:19px;line-height:1.7;max-width:520px;color:#dbe2ff}.brand-feature{display:flex;gap:14px;margin-top:38px;padding:20px;background:#ffffff12;border:1px solid #ffffff20;border-radius:16px;max-width:520px}.brand-feature span,.summary-box span,.school span,.teacher-row span{display:block;color:#73809a;font-size:13px;margin-top:4px}.brand-feature span{color:#cbd5ff}.login-panel{display:grid;place-items:center;padding:32px}.login-card{width:min(440px,100%);background:#fff;border:1px solid #e4e8f0;border-radius:20px;padding:36px;box-shadow:0 24px 70px #1e2a4a14}.login-card h2,.wizard-card h2{font-size:29px;margin:7px 0}.login-card>p:not(.eyebrow),.wizard-card>p:not(.eyebrow){color:#6c7890;line-height:1.6}.login-card label,.form-grid label{display:grid;gap:7px;font-size:13px;font-weight:700;margin-top:18px}.login-card input,.form-grid input,.form-grid select{border:1px solid #dce2ec;border-radius:10px;padding:12px;outline:none;background:#fff}.login-card input:focus,.form-grid input:focus,.form-grid select:focus{border-color:#3157d5;box-shadow:0 0 0 3px #3157d517}.login-card .primary{width:100%;margin-top:24px}.login-card small{display:block;text-align:center;color:#8490a5;margin-top:17px}.error{background:#fff0f0;color:#ad2f2f;border-radius:9px;padding:11px;margin-top:15px;font-size:13px}.loading{min-height:100vh;display:grid;place-items:center;color:#3157d5;font-weight:800}.onboarding{min-height:100vh}.onboarding>header{height:74px;background:#fff;border-bottom:1px solid #e5e9f1;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#6d7890}.wizard-shell{width:min(1180px,92vw);margin:52px auto;display:grid;grid-template-columns:340px 1fr;gap:45px}.wizard-shell>aside{padding:28px 10px}.wizard-shell>aside h1{font-size:34px;margin:9px 0}.wizard-shell>aside>p:not(.eyebrow){color:#748099;line-height:1.7}.steps{margin-top:35px;display:grid;gap:11px}.step{display:flex;align-items:center;gap:13px;padding:13px;border-radius:12px;color:#8792a5}.step i{font-style:normal;width:31px;height:31px;border-radius:50%;border:1px solid #dce2ec;display:grid;place-items:center}.step span b{display:block;font-size:11px;text-transform:uppercase}.step.active{background:#fff;color:#1e2940;box-shadow:0 7px 25px #1c2b4c10}.step.active i,.step.done i{background:#3157d5;color:#fff;border-color:#3157d5}.wizard-card{background:#fff;border:1px solid #e3e7ef;border-radius:20px;padding:38px;min-height:570px;box-shadow:0 20px 60px #27355610;position:relative}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:25px}.form-grid .full{grid-column:1/3}.wizard-card footer,.modal-card footer{position:absolute;bottom:30px;left:38px;right:38px;display:flex;justify-content:space-between;border-top:1px solid #edf0f5;padding-top:24px}.summary-box{margin-top:28px;border:1px solid #e3e8f1;border-radius:15px;padding:18px;display:flex;align-items:center;gap:14px}.summary-box strong{margin-left:auto;color:#3157d5;background:#eef2ff;padding:7px 10px;border-radius:999px;font-size:12px}.avatar{width:42px;height:42px;border-radius:12px;background:#eef2ff;color:#3157d5;display:grid;place-items:center;font-weight:800}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:27px}.choice-grid button{text-align:left;background:#fff;border:1px solid #e0e5ee;border-radius:15px;padding:20px;min-height:190px;color:#263149}.choice-grid button svg{color:#3157d5;margin-bottom:24px}.choice-grid button b,.choice-grid button span{display:block}.choice-grid button b{font-size:16px;margin-bottom:9px}.choice-grid button span{color:#738098;font-size:12px;line-height:1.6}.choice-grid button.selected{border:2px solid #3157d5;background:#f8faff;box-shadow:0 10px 28px #3157d518}.notice{margin-top:18px;background:#f1f5ff;color:#52617d;border-radius:10px;padding:12px;font-size:13px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#17234f;color:#fff;padding:22px 15px;display:flex;flex-direction:column;position:fixed;width:250px;inset:0 auto 0 0}.sidebar nav{display:grid;gap:5px;margin-top:38px}.sidebar nav button,.sidebar-bottom>button{border:0;background:transparent;color:#aeb8d7;padding:11px 13px;border-radius:9px;display:flex;align-items:center;gap:11px;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff12;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff17;padding-top:16px}.school{display:flex;align-items:center;gap:10px;margin-bottom:12px}.school .avatar{background:#ffffff17;color:#fff}.school b{font-size:13px}.school span{color:#99a5c7}.content{grid-column:2;padding:0 36px 60px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.search-box{background:#fff;border:1px solid #e2e7ef;border-radius:10px;padding:11px 15px;color:#9aa4b6;width:420px}.heading{display:flex;justify-content:space-between;align-items:flex-end;margin:24px 0}.heading h1{font-size:31px;margin:6px 0}.heading p:not(.eyebrow){color:#728099;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats article,.panel{background:#fff;border:1px solid #e2e7ef;border-radius:15px;padding:22px;box-shadow:0 8px 30px #2432520b}.stats article span,.stats article small{display:block;color:#768299}.stats article b{font-size:32px;display:block;margin:12px 0 5px}.panel{margin-top:20px}.empty{text-align:center;padding:65px 25px}.empty>svg{width:48px;height:48px;color:#3157d5;background:#eef2ff;padding:11px;border-radius:14px}.empty h2{margin:17px 0 7px}.empty p{color:#77839b;max-width:570px;margin:0 auto 22px;line-height:1.6}.actions{display:flex;gap:10px;justify-content:center}.teacher-list{display:grid}.teacher-row{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid #edf0f5}.teacher-row:last-child{border-bottom:0}.teacher-row em{font-style:normal;color:#24845c;background:#e9f8f1;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.toast{position:fixed;right:25px;top:88px;background:#182442;color:#fff;padding:13px 18px;border-radius:10px;z-index:5;box-shadow:0 15px 40px #111a2d38}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#13203a80;display:grid;place-items:center;z-index:10;padding:25px}.modal-card{width:min(650px,100%);min-height:520px;background:#fff;border-radius:19px;padding:34px;position:relative}.modal-card h2{font-size:27px;margin:7px 0}.modal-card>div>p:not(.eyebrow){color:#748098}.modal-card footer{position:absolute}.modal-card footer .primary{margin-left:auto}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.wizard-shell{grid-template-columns:1fr}.wizard-shell>aside{display:none}.choice-grid,.stats,.app{grid-template-columns:1fr}.sidebar{display:none}.content{grid-column:1;padding:0 18px}.search-box{width:auto}.heading{align-items:flex-start;gap:20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.wizard-card{padding:25px}.wizard-card footer{left:25px;right:25px}.teacher-row{grid-template-columns:42px 1fr auto}.teacher-row .secondary{grid-column:2/4}.topbar{gap:10px}.topbar .primary{white-space:nowrap}.choice-grid{grid-template-columns:1fr}.choice-grid button{min-height:auto}}.setup-placeholder{margin-top:55px;text-align:center;padding:55px;background:#f8faff;border:1px dashed #cbd5ef;border-radius:16px}.setup-placeholder svg{color:#3157d5}.search-box{display:flex;align-items:center;gap:9px}.search-box svg{width:18px}.stats article{cursor:default}.stats article:nth-child(2){cursor:pointer}.directory{padding:0;overflow:hidden}.directory-tools{display:grid;grid-template-columns:1fr 210px 170px;gap:12px;padding:18px;border-bottom:1px solid #edf0f5}.input-icon{position:relative}.input-icon svg{position:absolute;left:13px;top:12px;width:18px;color:#8a96aa}.input-icon input,.directory-tools select{width:100%;border:1px solid #dfe5ef;border-radius:10px;padding:11px 12px;background:#fff;color:#27324a}.input-icon input{padding-left:40px}.directory-summary{display:flex;justify-content:space-between;padding:16px 20px;background:#fbfcff;border-bottom:1px solid #edf0f5}.directory-summary span{color:#7c879b;font-size:13px}.teacher-table{width:100%}.table-head,.teacher-row{display:grid;grid-template-columns:1.35fr 1fr 1.35fr 90px 90px;gap:16px;align-items:center}.table-head{padding:12px 20px;background:#f8f9fc;color:#7b879b;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}.teacher-row{padding:16px 20px}.teacher-person{display:flex;align-items:center;gap:12px}.teacher-person b,.teacher-row>div>b{font-size:13px}.teacher-row span{display:flex;align-items:center;gap:5px;line-height:1.45}.teacher-row em.active{color:#24845c;background:#e9f8f1}.teacher-row em.inactive{color:#8a6470;background:#f4eef0}.row-actions{display:flex;justify-content:flex-end;gap:5px}.icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid #e1e6ee;background:#fff;border-radius:9px;color:#62708a}.icon svg{width:16px}.icon:hover{border-color:#3157d5;color:#3157d5}.icon.danger:hover{border-color:#d84a4a;color:#d84a4a}.icon.close{position:absolute;right:24px;top:24px}.teacher-modal{width:min(780px,100%);min-height:760px;max-height:92vh;overflow:auto}.teacher-modal footer,.import-modal footer{position:sticky;bottom:-34px;background:#fff;margin:28px -34px -34px;padding:20px 34px;left:auto;right:auto}.tabs{display:flex;justify-content:space-between;margin:18px 0 5px;border-bottom:1px solid #e7ebf2;padding-bottom:12px}.tabs b{color:#3157d5}.tabs span{color:#9aa4b5;font-size:12px}.form-grid.dense label{margin-top:12px}.form-grid label small{font-weight:500;color:#909bad;margin-left:5px}.form-grid textarea,.form-grid select{border:1px solid #dce2ec;border-radius:10px;padding:12px;background:#fff}.import-modal{width:min(680px,100%);min-height:570px}.dropzone{position:relative;margin-top:25px;border:2px dashed #cfd7e7;border-radius:16px;padding:36px;text-align:center;background:#fafbfe}.dropzone svg,.dropzone b,.dropzone span{display:block;margin:auto}.dropzone svg{color:#3157d5;margin-bottom:12px}.dropzone span{color:#8a95a8;font-size:12px;margin-top:6px}.dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.preview-title{font-weight:800;margin:22px 0 8px}.preview-table{border:1px solid #e3e8f1;border-radius:12px;overflow:hidden}.preview-table>div{padding:11px 14px;border-bottom:1px solid #edf0f5}.preview-table>div:last-child{border-bottom:0}.preview-table b,.preview-table span{display:block}.preview-table span{color:#7c879b;font-size:12px;margin-top:3px}.success{background:#e9f8f1;color:#237456;padding:12px;border-radius:10px;margin-top:15px}.modal-card .error{margin-bottom:12px}@media(max-width:1100px){.table-head{display:none}.teacher-row{grid-template-columns:1.4fr 1fr 1fr auto}.teacher-row .row-actions{grid-column:4}.directory-tools{grid-template-columns:1fr 170px 150px}}@media(max-width:760px){.directory-tools,.teacher-row{grid-template-columns:1fr}.teacher-row .row-actions{grid-column:1;justify-content:flex-start}.directory-summary{gap:10px}.heading{flex-direction:column}.heading .actions{flex-wrap:wrap;justify-content:flex-start}.teacher-modal{min-height:90vh}.form-grid.dense{grid-template-columns:1fr}.form-grid.dense .full{grid-column:1}}.topbar .search-box{display:flex;align-items:center;gap:10px;padding:0 14px;overflow:hidden}.topbar .search-box input{flex:1;border:0;outline:0;background:transparent;font:inherit;color:inherit;min-width:0;padding:14px 0}.topbar .search-box button{border:0;background:transparent;color:#315be8;font-weight:700;cursor:pointer;padding:10px 2px}.topbar .search-box button:hover{text-decoration:underline}.directory-tools.filters-only{justify-content:flex-end}.directory-tools.filters-only select{min-width:190px}.availability-modal{width:min(1120px,96vw);max-height:92vh;overflow:auto}.availability-grid{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:22px}.availability-head,.availability-row{display:grid;grid-template-columns:130px 80px 125px 125px minmax(250px,1fr) 130px;gap:12px;align-items:center;padding:12px 16px}.availability-head{background:#f7f9fd;color:#687493;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.availability-row{border-top:1px solid var(--line)}.availability-row.disabled{background:#fafbfe;color:#98a1b8}.availability-row input[type=time],.availability-row input[type=number],.unavailable-add input{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.availability-row input[type=checkbox]{width:19px;height:19px}.break-times{display:flex;align-items:center;gap:7px}.break-times input{min-width:0}.unavailable-box{margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:18px}.unavailable-box h3{margin:3px 0 14px}.unavailable-add{display:grid;grid-template-columns:180px 1fr auto;gap:10px}.unavailable-list{margin-top:14px;display:grid;gap:8px}.unavailable-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:#f7f9fd;border-radius:12px}.unavailable-list span{display:flex;align-items:center;gap:9px}.unavailable-list small{color:#77819a}.muted{color:#7b849c}@media(max-width:1000px){.availability-grid{overflow-x:auto}.availability-head,.availability-row{min-width:900px}.unavailable-add{grid-template-columns:1fr}}.availability-modal{width:min(1080px,96vw);min-height:0;max-height:92vh;overflow:auto;padding:30px 32px 0;border:1px solid #e4e8f0;box-shadow:0 28px 80px #15213d33}.availability-modal>p:not(.eyebrow){color:#6f7b93;margin:8px 0 0}.availability-modal .availability-grid{border:1px solid #e2e7ef;border-radius:16px;overflow:hidden;margin-top:22px;background:#fff}.availability-modal .availability-head,.availability-modal .availability-row{grid-template-columns:132px 78px 132px 132px minmax(255px,1fr) 128px;gap:12px;padding:13px 16px}.availability-modal .availability-head{background:#f5f7fb;color:#667492;font-size:11px;letter-spacing:.08em}.availability-modal .availability-row{min-height:66px;border-top:1px solid #edf0f5;background:#fff}.availability-modal .availability-row:nth-child(odd){background:#fcfdff}.availability-modal .availability-row.disabled{background:#f8f9fc;color:#9aa4b8}.availability-modal .availability-row b{font-size:14px}.availability-modal .availability-row input[type=time],.availability-modal .availability-row input[type=number],.availability-modal .unavailable-add input{height:42px;padding:9px 11px;border:1px solid #dfe5ef;border-radius:10px;color:#263149;background:#fff;outline:none}.availability-modal .availability-row input:focus,.availability-modal .unavailable-add input:focus{border-color:#3157d5;box-shadow:0 0 0 3px #3157d516}.availability-modal .availability-row input:disabled{color:#98a2b5;background:#f4f6f9;border-color:#edf0f5;cursor:not-allowed}.availability-modal .availability-row input[type=checkbox]{width:20px;height:20px;accent-color:#3157d5;justify-self:start}.availability-modal .break-times{display:grid;grid-template-columns:1fr auto 1fr;gap:7px}.availability-modal .break-times span{color:#9aa4b6;text-align:center}.availability-modal .unavailable-box{margin-top:22px;padding:20px;border:1px solid #e2e7ef;border-radius:16px;background:#fbfcff}.availability-modal .unavailable-box h3{font-size:18px;margin:4px 0 16px}.availability-modal .unavailable-add{grid-template-columns:190px minmax(240px,1fr) auto}.availability-modal .unavailable-list>div{background:#fff;border:1px solid #e7ebf2}.availability-modal footer{position:sticky;z-index:2;bottom:0;left:auto;right:auto;margin:24px -32px 0;padding:18px 32px;background:#fff;border-top:1px solid #e7ebf2;box-shadow:0 -10px 28px #1e2a4a0d}.availability-modal footer .primary{margin-left:auto}@media(max-width:1050px){.availability-modal .availability-grid{overflow-x:auto}.availability-modal .availability-head,.availability-modal .availability-row{min-width:920px}}@media(max-width:700px){.availability-modal{padding:24px 20px 0}.availability-modal .unavailable-add{grid-template-columns:1fr}.availability-modal footer{margin:22px -20px 0;padding:16px 20px}}.premium-availability{width:min(1040px,96vw);max-height:94vh;padding:30px 30px 0;overflow:auto}.availability-title{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.availability-title h2{margin:4px 0 6px}.availability-title p{margin:0;color:var(--muted)}.schedule-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.day-cards{display:grid;gap:10px;margin-top:24px}.day-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.day-card.closed{background:#fafbfe}.day-summary{min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.day-summary>div{display:grid;gap:4px}.day-summary>div span{font-size:13px;color:var(--muted)}.availability-toggle{display:flex!important;align-items:center;gap:9px;font-weight:700!important}.availability-toggle input{width:20px;height:20px}.day-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;padding:18px;border-top:1px solid var(--line);background:#fbfcff}.day-fields label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#66718e}.day-fields select,.exception-editor-card input{width:100%;padding:11px 12px;border:1px solid #dce2ed;border-radius:11px;background:#fff;font:inherit;color:var(--text)}.break-toggle{display:flex!important;align-items:center;justify-content:space-between;border:1px solid #dce2ed;border-radius:11px;padding:11px 12px;background:#fff}.break-toggle input{width:19px;height:19px}.exceptions-card{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfcff}.exceptions-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.exceptions-heading h3{margin:4px 0 0}.exception-list{display:grid;gap:9px;margin-top:16px}.exception-list>div{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}.exception-list>div>div{display:flex;align-items:center;gap:12px}.exception-list span{display:grid;gap:3px}.exception-list small{color:var(--muted)}.exception-editor{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e18325c;display:grid;place-items:center;z-index:20;padding:20px}.exception-editor-card{width:min(480px,96vw);background:#fff;border-radius:20px;padding:24px;box-shadow:0 25px 70px #111e423d;display:grid;gap:16px}.exception-editor-title{display:flex;justify-content:space-between;align-items:flex-start}.exception-editor-title h3{margin:4px 0}.exception-editor-card label{display:grid;gap:7px;font-weight:700}.exception-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.professional-error{margin-top:16px}.premium-availability footer{position:sticky;bottom:0;z-index:5;margin:24px -30px 0;padding:16px 30px;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;align-items:center}.premium-availability footer .primary{margin-left:auto}@media(max-width:760px){.availability-title{display:grid}.day-fields{grid-template-columns:1fr 1fr}.schedule-shortcuts{width:100%}.schedule-shortcuts button{flex:1}.premium-availability{padding:22px 18px 0}.premium-availability footer{margin:20px -18px 0;padding:14px 18px}}@media(max-width:520px){.day-fields{grid-template-columns:1fr}.day-summary{align-items:flex-start;gap:12px}.availability-toggle span{display:none}.exceptions-heading{align-items:flex-start;display:grid}.exceptions-heading button{width:100%}}.event-modal{width:min(980px,96vw);max-height:94vh;overflow:auto;padding-bottom:0}.event-modal>p.muted{max-width:780px}.event-form{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:20px}.event-form .full{grid-column:1/-1}.event-form label,.event-rules label{display:grid;gap:7px;font-weight:700;font-size:13px}.event-form input,.event-form select,.event-form textarea,.event-rules select,.event-date-row input,.event-date-row select,.teacher-override select{border:1px solid #dfe5ef;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.event-section{margin-top:22px;padding:20px;border:1px solid #e3e8f1;border-radius:16px;background:#fbfcff}.event-section h3{margin:3px 0 5px}.mode-picker{display:flex;gap:8px;margin:16px 0}.mode-picker button{border:1px solid #dfe5ef;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;color:#59657d}.mode-picker button.selected{background:#eef3ff;color:#3157d5;border-color:#9eb3f7}.event-dates{display:grid;gap:9px}.event-date-row{display:grid;grid-template-columns:170px 150px auto 150px 38px;gap:8px;align-items:center}.event-rules{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.event-teachers{display:grid;gap:8px;margin-top:14px;max-height:310px;overflow:auto}.event-teachers>div{border:1px solid #e4e8ef;border-radius:12px;background:#fff;padding:12px}.event-teachers>div.selected{border-color:#a9baf2;background:#f7f9ff}.event-teachers label{display:flex;align-items:center;gap:11px}.event-teachers label input{width:18px;height:18px;accent-color:#3157d5}.event-teachers label span{display:grid}.event-teachers small{color:#7d879b}.teacher-override{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:11px 0 0 29px}.event-modal footer{position:sticky;bottom:0;margin:24px -34px 0;padding:18px 34px;background:#fff;border-top:1px solid #e7ebf2;display:flex;justify-content:space-between}.event-modal footer>div{display:flex;gap:10px}.event-list{display:grid;gap:14px}.event-card{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px;background:#fff;border:1px solid #e3e8f1;border-radius:16px;box-shadow:0 8px 28px #1e2a4a0a}.event-card-icon{width:48px;height:48px;border-radius:14px;background:#eef3ff;color:#3157d5;display:grid;place-items:center}.event-card-title{display:flex;justify-content:space-between;align-items:center}.event-card h3{margin:0}.event-card p{color:#66738c;margin:7px 0}.event-card em{font-style:normal;font-size:11px;font-weight:800;padding:5px 9px;border-radius:999px}.event-card em.draft{background:#fff5da;color:#9a6b00}.event-card em.published{background:#e7f8ef;color:#208259}.event-meta{display:flex;gap:8px;flex-wrap:wrap}.event-meta span{font-size:12px;background:#f5f7fb;color:#5d6981;padding:6px 9px;border-radius:8px}.schedule-shortcuts:empty{display:none}@media(max-width:760px){.event-form,.event-rules,.teacher-override{grid-template-columns:1fr}.event-date-row{grid-template-columns:1fr 1fr}.event-date-row span{display:none}.event-modal footer{flex-direction:column;gap:10px}.event-modal footer>div{display:grid}.mode-picker{display:grid}}.daily-schedule-modal{width:min(1120px,97vw);max-height:95vh;overflow:auto;padding:30px 30px 0}.schedule-explanation{display:flex;gap:12px;align-items:flex-start;margin:22px 0;padding:15px 17px;border:1px solid #dbe7ff;background:#f4f8ff;border-radius:14px;color:#53617d}.schedule-explanation svg{flex:0 0 auto;color:var(--primary)}.daily-schedule-list{display:grid;gap:12px}.daily-schedule-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.daily-schedule-card.closed{background:#fafbfe}.daily-schedule-card>header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px}.daily-schedule-card>header>div{display:grid;gap:4px}.daily-schedule-card>header span{font-size:13px;color:var(--muted)}.daily-schedule-body{padding:18px;border-top:1px solid var(--line);background:#fcfdff;display:grid;gap:18px}.working-rules{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.working-rules label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#64708a}.working-rules select,.busy-row input,.busy-row select{width:100%;padding:10px 11px;border:1px solid #dce2ed;border-radius:10px;background:#fff;font:inherit;color:var(--text)}.busy-section{border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px}.busy-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.busy-heading>div{display:grid;gap:3px}.busy-heading span,.free-periods>div>span{font-size:13px;color:var(--muted)}.busy-list{display:grid;gap:8px;margin-top:13px}.busy-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto 150px 40px;gap:9px;align-items:center}.free-periods{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px;border:1px solid #cfe8da;background:#f4fbf7;border-radius:14px}.free-periods>div:first-child{display:grid;gap:3px}.free-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.free-chips em{font-style:normal;font-weight:800;font-size:12px;color:#21704a;background:#fff;border:1px solid #bfe0ce;padding:7px 10px;border-radius:999px}.daily-schedule-modal>footer{position:sticky;bottom:0;z-index:5;margin:24px -30px 0;padding:16px 30px;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex}.daily-schedule-modal>footer .primary{margin-left:auto}@media(max-width:900px){.working-rules{grid-template-columns:1fr 1fr}.busy-row{grid-template-columns:1fr 1fr auto}.busy-row input{grid-column:1/-1}.busy-row>span{display:none}.free-periods{align-items:flex-start;display:grid}.free-chips{justify-content:flex-start}}@media(max-width:560px){.daily-schedule-modal{padding:22px 17px 0}.working-rules{grid-template-columns:1fr}.busy-heading{align-items:flex-start;display:grid}.busy-heading button{width:100%}.busy-row{grid-template-columns:1fr 1fr 40px}.daily-schedule-modal>footer{margin:20px -17px 0;padding:14px 17px}}.meeting-builder .teacher-picker{display:grid;gap:8px;max-width:460px;font-weight:800}.meeting-builder .teacher-picker select{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.event-date-row.simplified{grid-template-columns:minmax(220px,320px) 40px}.add-date{margin-top:10px}.calendar-empty{padding:30px;text-align:center;border:1px dashed #ccd5e3;border-radius:14px;color:var(--muted);background:#fff}.meeting-calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px;margin-top:16px}.teacher-day-calendar,.slot-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:50%}.busy-dot{background:#e05663}.free-dot{background:#42a675}.booked-dot{background:#e8b62e}.calendar-summary{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}.calendar-summary span,.calendar-summary small{color:var(--muted)}.timeline{display:grid;padding-top:10px}.timeline-row{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;padding:10px;border-left:5px solid transparent;border-bottom:1px solid #f0f2f6}.timeline-row time{font-weight:800}.timeline-row>div{display:grid;gap:2px}.timeline-row span{font-size:12px;color:var(--muted)}.timeline-row.busy{background:#fff4f5;border-left-color:#e05663}.timeline-row.free{background:#f2fbf6;border-left-color:#42a675}.timeline-row.booked{background:#fff9e8;border-left-color:#e8b62e}.slot-panel h4{margin:0 0 5px}.slot-panel p{color:var(--muted);font-size:13px}.slot-grid{display:grid;gap:8px;margin-top:14px}.slot-grid span{padding:10px;border-radius:10px;background:#eff9f3;color:#21704a;border:1px solid #cce7d6;font-weight:800;text-align:center}.booking-link-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.booking-link-row code{flex:1;min-width:280px;padding:10px 12px;border-radius:9px;background:#f5f7fb;color:#44506a;overflow:hidden;text-overflow:ellipsis}.public-booking{min-height:100vh;background:#f3f6fb;padding:36px 18px}.public-card{width:min(850px,100%);margin:auto;background:#fff;border:1px solid #e0e6ef;border-radius:22px;padding:30px;box-shadow:0 18px 60px #20305b17}.public-card h1{margin:10px 0 4px}.public-card h2{margin:0 0 10px;color:#42506b}.public-dates{display:grid;gap:18px;margin-top:28px}.public-dates section{border:1px solid var(--line);border-radius:15px;padding:18px}.public-dates h3{margin:0 0 14px}.public-slots{display:flex;gap:9px;flex-wrap:wrap}.public-slots button{padding:11px 14px;border:1px solid #bcd9ca;background:#f3fbf6;color:#216f4a;border-radius:10px;font-weight:800}.public-slots button.selected{background:#3157d5;color:#fff;border-color:#3157d5}.parent-form{margin-top:24px;padding:20px;border-radius:16px;background:#f8faff;border:1px solid #dbe3f3}.parent-form>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parent-form label{display:grid;gap:6px;font-weight:700}.parent-form label.full{grid-column:1/-1}.parent-form input,.parent-form textarea{padding:11px;border:1px solid #dce3ee;border-radius:10px;font:inherit;background:#fff}.parent-form .primary{margin-top:16px}.success-message{display:flex;gap:8px;align-items:center;margin-top:18px;padding:13px;border-radius:11px;background:#eaf8f0;color:#21704a;font-weight:800}@media(max-width:820px){.meeting-calendar-layout{grid-template-columns:1fr}.parent-form>div{grid-template-columns:1fr}.parent-form label.full{grid-column:auto}.public-card{padding:22px}.booking-link-row code{min-width:100%}}.meeting-mode-picker{display:flex;gap:8px;margin:14px 0}.meeting-mode-picker button{padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700}.meeting-mode-picker button.selected{border-color:#3157d5;background:#eef3ff;color:#3157d5}.multi-teacher-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.multi-teacher-toolbar input{flex:1;min-width:220px;padding:11px;border:1px solid var(--line);border-radius:10px}.multi-teacher-toolbar span{color:var(--muted);font-size:13px}.multi-teacher-toolbar button{border:0;background:none;color:#3157d5;font-weight:700}.public-teacher-picker{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:15px}.public-teacher-picker>input{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px}.public-teacher-picker>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:12px}.public-teacher-picker button{display:grid;text-align:left;gap:3px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.public-teacher-picker button.selected{border-color:#3157d5;background:#eef3ff}.public-teacher-picker small,.selected-teacher-heading span,.appointment-summary small{color:var(--muted)}.selected-teacher-heading{margin-top:24px}.selected-teacher-heading h3{margin-bottom:3px}.add-appointment{margin-top:16px}.appointment-summary,.confirmation-list{display:grid;gap:9px;margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:15px}.appointment-summary>div,.confirmation-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:#f7f9fc;border-radius:10px}.appointment-summary span{display:grid;gap:3px}.appointment-summary>div button{border:0;background:none;color:#b83b49}.confirmation-list span{color:var(--muted);font-size:13px}@media(max-width:620px){.multi-teacher-toolbar{align-items:stretch}.multi-teacher-toolbar input{min-width:100%}.public-teacher-picker>div{grid-template-columns:1fr}.confirmation-list>div{align-items:flex-start;flex-direction:column}}.student-booking{width:min(980px,100%)}.student-step{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:17px}.step-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.step-heading>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#3157d5;color:#fff;font-weight:800;flex:none}.step-heading h2,.step-heading p{margin:0}.step-heading p{color:var(--muted);font-size:13px;margin-top:3px}.student-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-fields label{display:grid;gap:6px;font-size:13px;font-weight:700}.student-fields input,.student-fields select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;font:inherit}.student-card{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}.student-card>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.student-card h3,.student-card p{margin:0}.student-card header small{color:var(--muted)}.find-teachers{margin-top:14px}.add-student{display:flex;align-items:center;gap:7px;margin-top:14px;border:0;background:none;color:#3157d5;font-weight:800}.eligible-teachers{display:grid;gap:10px;margin-top:18px}.eligible-teachers>h4{margin:0}.eligible-teachers>article{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.eligible-teachers>article>div:first-child{display:grid}.eligible-teachers span,.eligible-teachers small{color:var(--muted)}.eligible-slots{display:flex;gap:7px;justify-content:flex-end;overflow-x:auto;padding:2px}.eligible-slots button{display:grid;gap:2px;min-width:92px;padding:8px;border:1px solid #bcd9ca;border-radius:9px;background:#f3fbf6;color:#216f4a;font-weight:800}.teacher-added{display:flex;gap:5px;justify-self:end;align-items:center;color:#21704a!important;font-weight:800}.student-summary{display:grid;gap:12px}.student-summary>article{padding:15px;border:1px solid var(--line);border-radius:12px}.student-summary h3{margin:0}.student-summary>article>small{color:var(--muted)}.student-summary article>div{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px;background:#f7f9fc;border-radius:9px}.student-summary article>div>span{display:grid;grid-template-columns:auto 1fr;gap:3px 7px;align-items:center}.student-summary article>div small{grid-column:2;color:var(--muted)}.student-summary article>div button{border:0;background:none;color:#b83b49}.confirm-family-booking{margin-top:16px}.student-confirmation>svg{width:44px;height:44px;padding:9px;border-radius:50%;background:#eaf8f0;color:#21704a;margin-top:22px}.student-confirmation section{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:13px}.student-confirmation section h2{margin-bottom:10px}.student-confirmation section>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.student-confirmation section span{color:var(--muted)}.booking-reference{display:grid;gap:4px;margin-top:20px;padding:16px;border-radius:12px;background:#eef3ff}.booking-reference span{color:var(--muted);font-size:12px}.booking-reference b{font-size:20px;letter-spacing:.08em}@media(max-width:760px){.student-fields{grid-template-columns:1fr 1fr}.eligible-teachers>article{grid-template-columns:1fr}.eligible-slots{justify-content:flex-start}.teacher-added{justify-self:start}}@media(max-width:520px){.student-fields{grid-template-columns:1fr}.student-step{padding:16px}.student-confirmation section>div{flex-direction:column}.student-summary article>div{align-items:flex-start}}.eligible-teachers>article{grid-template-columns:minmax(135px,.45fr) minmax(0,1.55fr) auto}.slot-browser{display:grid!important;grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;align-items:center}.slot-browser>.icon{width:34px;height:34px}.eligible-slots{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:7px;overflow:visible}.eligible-slots button{min-width:0}.eligible-slots button.selected,.eligible-slots button.selected:disabled{background:#3157d5;color:#fff;border-color:#3157d5;opacity:1}.teacher-added{font-size:12px}@media(max-width:840px){.eligible-teachers>article{grid-template-columns:1fr}.teacher-added{justify-self:start}.eligible-slots{grid-template-columns:repeat(4,minmax(64px,1fr))}}@media(max-width:520px){.eligible-slots{grid-template-columns:repeat(2,minmax(70px,1fr))}.slot-browser{grid-template-columns:30px minmax(0,1fr) 30px}.slot-browser>.icon{width:30px;height:30px}}.student-fields .field-invalid{border-color:#c83f4d;box-shadow:0 0 0 3px #c83f4d1a}.student-fields .field-error{color:#b52f3d;font-size:12px;font-weight:650}.eligible-slots button{line-height:1.25}.eligible-slots button small{margin-bottom:2px}.dashboard-operations{display:grid;gap:20px}.dashboard-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.dashboard-card-head h2{font-size:17px;margin:0 0 5px}.dashboard-card-head p{font-size:12px;color:#7a869c;margin:0}.live-pill{display:flex;align-items:center;gap:6px;background:#ecfaf5;color:#147a55;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.live-pill i{width:7px;height:7px;border-radius:50%;background:#20bf82}.schedule-rows{display:grid}.schedule-row{display:grid;grid-template-columns:58px 42px minmax(210px,1.1fr) minmax(260px,1fr) auto 56px;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0f5}.schedule-row:first-child{border-top:0}.schedule-row time{font-size:16px;font-weight:800;color:#172036}.schedule-row time small{display:block;font-size:8px;color:#69758c}.dash-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eaf0ff;color:#3157d5;font-weight:800}.schedule-person{display:grid;gap:4px}.schedule-person b{font-size:13px}.schedule-person span,.event-summary span{font-size:10px;color:#73809a}.schedule-progress{display:grid;gap:6px}.schedule-progress>div{display:flex;justify-content:space-between;font-size:10px;color:#53617a}.schedule-progress strong{color:#3157d5}.schedule-progress progress,.event-progress progress{width:100%;height:5px;border:0;border-radius:99px;overflow:hidden;background:#edf1f6}.schedule-progress progress::-webkit-progress-bar,.event-progress progress::-webkit-progress-bar{background:#edf1f6}.schedule-progress progress::-webkit-progress-value,.event-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#5578f0,#31b7d3);border-radius:99px}.schedule-row em{font-style:normal;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#eaf8f2;color:#1c835e;font-size:9px;font-weight:800}.schedule-row em.full{background:#fff0f1;color:#c24250}.dash-action{border:0;background:#f4f6fa;color:#40506f;border-radius:9px;padding:8px 10px;font-weight:800}.dashboard-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:16px}.upcoming-events-card,.activity-card{margin-top:0}.text-link{border:0;background:transparent;color:#3157d5;font-weight:800}.upcoming-event-row{display:grid;grid-template-columns:42px minmax(220px,1.2fr) minmax(220px,.9fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf0f5}.upcoming-event-row:first-child{border-top:0}.date-tile{width:38px;height:42px;border-radius:11px;background:#eef2ff;display:grid;place-items:center;color:#3157d5;padding:5px}.date-tile b{font-size:15px;line-height:1}.date-tile span{font-size:8px;text-transform:uppercase;font-weight:800}.event-summary{display:grid;gap:4px}.event-summary b{font-size:13px}.event-progress{display:grid;gap:6px}.event-progress span{font-size:9px;color:#66738c}.activity-list{display:grid;gap:14px}.activity-row{display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:start}.activity-row>i{width:7px;height:7px;border-radius:50%;margin-top:5px}.activity-row>i.green{background:#42c89a}.activity-row>i.red{background:#ef8b66}.activity-row>i.blue{background:#8aa6ff}.activity-row div{display:grid;gap:3px}.activity-row b{font-size:11px;line-height:1.35}.activity-row span{font-size:9px;color:#8792a5}.dashboard-empty{padding:34px;text-align:center;color:#7b879d;border-top:1px solid #edf0f5}.dashboard-empty.compact{padding:24px 8px}@media(max-width:1150px){.schedule-row{grid-template-columns:54px 42px 1fr auto}.schedule-progress{grid-column:3/5}.schedule-row em{grid-column:3}.schedule-row .dash-action{grid-column:4;grid-row:2}.dashboard-lower{grid-template-columns:1fr}.upcoming-event-row{grid-template-columns:42px 1fr auto}.event-progress{grid-column:2/4}}@media(max-width:700px){.schedule-row{grid-template-columns:52px 38px 1fr}.schedule-progress,.schedule-row em,.schedule-row .dash-action{grid-column:2/4}.schedule-row .dash-action{grid-row:auto}.upcoming-event-row{grid-template-columns:40px 1fr}.event-progress,.upcoming-event-row .dash-action{grid-column:2}.dashboard-card-head{align-items:flex-start}.live-pill{display:none}}.setup-filter{display:flex;gap:14px;align-items:end;margin-bottom:18px;padding:18px}.setup-filter label{display:grid;gap:7px;font-weight:700;min-width:180px}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.setup-card{background:#fff;border:1px solid #e3e8ef;border-radius:16px;padding:20px;box-shadow:0 8px 24px #0f172a0d}.setup-card.full{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-card.full p{grid-column:1/-1}.setup-card label{display:grid;gap:7px;font-weight:700}.chip-input{display:flex;gap:8px;margin:14px 0}.chip-input input{flex:1}.setup-chips{display:flex;flex-wrap:wrap;gap:8px}.setup-chips span{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eef4ff;color:#234b84;font-weight:700}.setup-chips button{border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.setup-tabs{margin-bottom:18px}.setup-tabs button{border:0;background:transparent;padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer}.setup-tabs button.active{background:#e9f1ff;color:#1757a6}.working-hours{padding:20px}.heading.compact{margin-bottom:16px}.hours-row{display:grid;grid-template-columns:180px 130px 30px 130px 170px 160px;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf0f4}.hours-row>label:first-child{display:flex;align-items:center;gap:8px;font-weight:800}.hours-row label{font-size:13px}.hours-row label input[type=number]{width:70px;margin-left:5px}.checkbox-line{display:flex!important;align-items:center;gap:8px}.qr-code-text{display:block;margin:12px 0;padding:14px;background:#fff;border:1px dashed #5b7fa8;border-radius:10px;word-break:break-all}.parent-form select,.setup-card select,.setup-filter select{width:100%}@media(max-width:1000px){.setup-grid,.setup-card.full{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr}.setup-filter{flex-wrap:wrap}}.hierarchy-card{padding:24px}.hierarchy-card>header{margin-bottom:16px}.tree-add{display:flex;gap:8px;margin:10px 0}.tree-add input{flex:1}.tree-branch{border:1px solid #e3e9f2;border-radius:14px;padding:16px;margin:14px 0;background:#fbfcff}.tree-program{border-left:3px solid #d8e5ff;margin:14px 0 8px 18px;padding-left:16px}.tree-grade{border:1px solid #e7ebf2;border-radius:10px;margin:10px 0;padding:12px;background:#fff}.tree-title{display:flex;align-items:center;gap:8px}.tree-title b{flex:1}.tree-title button{border:0;background:transparent;color:#7b8798;cursor:pointer}.setup-profile{display:grid;grid-template-columns:2fr 1fr;gap:18px}.booking-layout{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:20px}.booking-form{padding:24px}.booking-form>label{display:block;margin:14px 0}.busy-note{background:#fff8e8;border:1px solid #f4d88a;border-radius:10px;padding:12px;margin:12px 0;display:grid;gap:5px}.busy-note span{font-size:13px}.heading-actions{display:flex;gap:10px}.status.pending{background:#fff4cf;color:#8a6400}.status.confirmed{background:#dff7e7;color:#16713a}td small{display:block;color:#7b8798;margin-top:3px}@media(max-width:900px){.booking-layout,.setup-profile{grid-template-columns:1fr}}.academic-assignment-picker{margin-top:18px;padding:16px;border:1px solid var(--border,#dbe3ef);border-radius:14px;background:#f8fafc}.academic-assignment-picker h3{margin:0 0 4px}.assignment-branch{margin-top:14px;padding:12px;background:#fff;border-radius:10px}.assignment-branch>div{margin:10px 0 0 14px}.assignment-grade{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:start;margin-top:8px}.chips.selectable button{border:1px solid #cad5e3;background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.chips.selectable button.selected{background:#e8f0ff;border-color:#4776e6;color:#1746a2;font-weight:700}.setup-profile button{align-self:end}.guest-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0}.guest-options>b{width:100%}.guest-options label{display:flex;align-items:center;gap:7px}.guest-options input[type=number]{max-width:120px}.qr-option{position:relative;z-index:2;margin-bottom:18px}.booking-timetable-modal{max-height:88vh;overflow:auto}.timetable-profile-card{margin-top:14px}.timetable-profile-card small{display:block;margin:6px 0 10px}.qr-option{display:grid!important;grid-template-columns:20px 1fr;align-items:start;column-gap:10px;line-height:1.4}.qr-option input{margin:2px 0 0;width:16px;height:16px}.modal-card footer{display:flex!important;align-items:center;justify-content:space-between}.single-class-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f1f5ff;color:#52617d;font-size:13px}.booking-timetable-modal .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.school-logo-field{display:grid;gap:10px}.school-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.school-logo-preview{width:104px;height:104px;border:1px dashed var(--border,#d6dbe5);border-radius:14px;display:grid;place-items:center;overflow:hidden;background:#fff;color:#7b8494}.school-logo-preview img{width:100%;height:100%;object-fit:contain}.school-logo-row>div:last-child{display:grid;gap:8px;justify-items:start}.upload-logo-button{display:inline-flex;cursor:pointer}.upload-logo-button input{display:none}.text-button{border:0;background:transparent;padding:0;color:var(--primary,#2563eb);cursor:pointer}.event-qr-image{display:block;width:220px;height:220px;max-width:100%;margin:14px auto;border:10px solid #fff;border-radius:14px;box-shadow:0 8px 24px #0f172a1f}.dashboard-event-panel{margin-top:20px}.dashboard-event-list{display:grid;gap:10px}.dashboard-event-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.dashboard-event-row small{display:block;margin-top:3px}.dashboard-event-row>span{font-size:.86rem;color:var(--muted);text-align:right}.dashboard-event-row .event-card-icon{width:40px;height:40px}.timetable-apply-bar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:16px}.timetable-apply-bar>div{display:flex;flex-direction:column;gap:4px}.timetable-apply-bar select{min-width:220px}.school-timetable-setup{display:flex;flex-direction:column;gap:18px}.timetable-legend{display:flex;gap:10px;align-items:center}.timetable-legend span{padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px}.timetable-legend .free{background:#dcfce7;color:#166534}.timetable-legend .busy{background:#fee2e2;color:#991b1b}.timetable-entry-form,.timetable-preview-filters{align-items:end}.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:14px}.period-cell{display:flex;flex-direction:column;gap:4px;border-radius:12px;padding:12px;border:1px solid transparent}.period-cell.free{background:#dcfce7;border-color:#86efac;color:#166534}.period-cell.busy{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.period-cell.break{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.period-cell span{font-size:12px}.school-timetable-setup .timetable-profile-card{margin:0}.error span{display:block;margin-top:4px}.teacher-row .row-actions .secondary{white-space:nowrap}@media(max-width:900px){.timetable-apply-bar{align-items:stretch;flex-direction:column}.timetable-apply-bar select{min-width:0}.period-grid{grid-template-columns:1fr 1fr}}.period-status-tabs{display:flex;gap:6px;min-width:170px}.period-status-tabs button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 12px;font-weight:700}.period-status-tabs button.active.free{background:#e8f8ef;border-color:#34a853;color:#137333}.period-status-tabs button.active.occupied{background:#fdecec;border-color:#d93025;color:#b3261e}.weekday-picker{grid-column:1/-1}.weekday-picker.compact{margin:14px 0}.weekday-picker .chips{margin-top:8px}.weekday-picker .chips button{white-space:nowrap}.daily-schedule-modal{width:min(1180px,96vw);max-width:1180px}.period-status-tabs{display:grid;grid-template-columns:minmax(82px,1fr) minmax(110px,1fr);min-width:210px}.period-status-tabs button{white-space:nowrap;padding:.65rem .75rem}.applied-timetable-groups{display:grid;gap:.65rem;margin:.75rem 0}.applied-timetable-card{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem}.applied-timetable-card div{display:grid}.danger-text{color:#b42318}.weekday-schedule-grid{display:grid;gap:1rem;margin-top:1rem}.weekday-schedule{border:1px solid var(--border);border-radius:14px;padding:1rem}.weekday-schedule h4{margin:0 0 .75rem}.additional-classes{display:grid;gap:.75rem}.additional-class-card{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem}.additional-class-card .panel-title,.additional-class-card .chips{grid-column:1/-1}.chips button.booked-period{background:#fee4e2!important;border-color:#f04438!important;color:#912018!important;opacity:1!important}.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem;margin:1rem 0 1.5rem}.booking-calendar button{min-height:68px;border:1px solid var(--border);border-radius:10px;background:var(--surface);display:grid;align-content:space-between;text-align:left;padding:.55rem}.booking-calendar button.has-booking{background:#fee4e2;border-color:#f04438}.booking-calendar button.selected{outline:2px solid var(--primary)}.booking-calendar button.outside{opacity:.45}.booking-calendar small{font-size:.68rem}.event-filter{min-width:240px}.event-reservation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1rem}.event-reservation-card{overflow:hidden}.event-reservation-card header{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.reservation-badges{display:flex;gap:.4rem;align-items:flex-start}.reservation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1rem 0}.reservation-summary div{display:grid}.reservation-summary small{color:var(--muted)}.reservation-students{border-top:1px solid var(--border);padding-top:1rem;display:grid;gap:.55rem}.reservation-students>div{display:grid;padding:.6rem;border-radius:10px;background:var(--soft)}@media(max-width:760px){.reservation-summary{grid-template-columns:repeat(2,1fr)}.additional-class-card{grid-template-columns:1fr}.booking-calendar button{min-height:52px;padding:.35rem}.period-status-tabs{min-width:190px}}.timetable-source-badge{grid-column:1/-1;font-size:.72rem;font-weight:700;color:var(--primary);background:var(--soft);border-radius:999px;padding:.25rem .55rem;width:max-content}.parent-reservation-note{display:block;margin-top:5px;font-size:12px;line-height:1.35;color:var(--muted);font-style:italic;max-width:320px}.booking-report-table .teacher-row{grid-template-columns:1.05fr 1.25fr 1fr 1.45fr .7fr}.report-title{margin-top:24px;gap:16px}.report-title .heading-actions{flex-wrap:wrap}.report-title select{min-width:120px}@media print{body *{visibility:hidden!important}.print-report-scope,.print-report-scope *{visibility:visible!important}.print-report-scope{position:absolute!important;left:0!important;top:0!important;width:100%!important}.app-sidebar,.topbar,.no-print,.toast,.modal{display:none!important}.app-shell,.app-main{display:block!important}.app-content{padding:0!important}.panel{box-shadow:none!important;break-inside:avoid}.event-reservation-card{border:1px solid #bbb!important}.booking-calendar{display:none!important}body{background:#fff!important}}.event-modal .checkbox-line{border:0!important;box-shadow:none!important;padding:6px 0;min-height:34px;position:relative;z-index:1}.event-modal .checkbox-line input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#3157d5}.event-modal .form-grid{padding-bottom:6px}.event-modal>footer{position:sticky!important;left:auto!important;right:auto!important;bottom:0!important;margin:24px -34px 0!important;padding:18px 34px!important;z-index:4}.event-modal>footer .secondary,.event-modal>footer .primary{white-space:nowrap}@media(max-width:560px){.event-modal>footer{align-items:stretch;gap:10px}.event-modal>footer button{width:100%}}.admin-tabs{display:flex;gap:8px;margin:18px 0}.admin-tabs button{display:flex;align-items:center;gap:8px;border:1px solid #dfe5ef;background:#fff;border-radius:10px;padding:10px 16px;font-weight:700;color:#59657a}.admin-tabs button.active{background:#edf2ff;color:#3157d5;border-color:#bfcdf7}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:13px 14px;border-bottom:1px solid #e7ebf2;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.admin-table td{padding:14px;border-bottom:1px solid #edf0f5;vertical-align:middle}.admin-table td small{display:block;color:#8a94a6;margin-top:4px}.role-pill,.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.role-pill{background:#eef2ff;color:#3449a5}.status-pill.good{background:#e9f8ef;color:#18794e}.status-pill.off{background:#f2f4f7;color:#667085}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-actions button{border:1px solid #e3e7ee;background:#fff;border-radius:8px;padding:7px}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.role-card-head{display:flex;justify-content:space-between;align-items:flex-start}.role-card-head>div{display:flex;align-items:center;gap:10px}.role-card-head h3{margin:0}.role-card-head>span{font-size:11px;background:#f2f4f7;border-radius:999px;padding:5px 8px}.permission-summary{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.permission-summary span,.permission-summary b{font-size:11px;background:#f7f8fb;padding:5px 8px;border-radius:6px}.role-actions{display:flex;gap:8px}.danger-ghost{display:flex;align-items:center;gap:6px;border:1px solid #f1c7cb;background:#fff;color:#b42318;border-radius:8px;padding:8px 11px}.activity-list{padding:4px 22px}.activity-row{display:grid;grid-template-columns:10px 1fr auto;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #edf0f5}.activity-dot{width:9px;height:9px;border-radius:50%;background:#3157d5}.activity-row p{margin:3px 0 0;color:#667085;text-transform:capitalize}.activity-row time{font-size:12px;color:#8a94a6}.admin-modal{width:min(760px,94vw)}.role-modal{width:min(900px,95vw);max-height:90vh;overflow:auto}.permission-matrix{border:1px solid #e2e7ef;border-radius:12px;overflow:hidden;margin-top:18px}.permission-row{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:13px 15px;border-bottom:1px solid #edf0f5;align-items:center}.permission-row:last-child{border-bottom:0}.permission-row.header{background:#f7f8fb}.permission-check{display:flex!important;flex-direction:row!important;align-items:center;gap:5px;border:1px solid #dfe5ef;border-radius:8px;padding:6px 8px;text-transform:capitalize;font-size:12px}.permission-check input{width:auto!important;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.add-user-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.add-user-heading h1{margin:7px 0 4px;font-size:30px}.add-user-heading p{margin:0;color:var(--muted)}.back-users{display:flex;align-items:center;gap:7px;white-space:nowrap}.add-user-layout{display:grid;grid-template-columns:minmax(500px,.95fr) minmax(600px,1.05fr);gap:18px;align-items:start}.user-information-card,.add-user-list-card{padding:0;overflow:hidden}.card-section-title{display:flex;align-items:center;gap:10px;padding:20px 22px;border-bottom:1px solid #e8edf4}.card-section-title h2{font-size:18px;margin:0}.add-user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;padding:18px 22px 20px}.add-user-form-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;color:#17243e}.add-user-form-grid label em{font-style:normal;color:#e02424}.add-user-form-grid input,.add-user-form-grid select{width:100%;height:44px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;padding:0 12px;font:inherit;color:#17243e;outline:none}.add-user-form-grid input:focus,.add-user-form-grid select:focus{border-color:#3157d5;box-shadow:0 0 0 3px #3157d51a}.password-field{position:relative;display:block}.password-field input{padding-right:42px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:6px;color:#526078;display:grid;place-items:center}.password-help{align-self:end;min-height:44px;border:1px solid #b9cef9;background:#edf4ff;border-radius:8px;padding:9px 11px;display:flex;gap:9px;align-items:flex-start;color:#2352b8;font-size:11px;line-height:1.45}.password-help span{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:17px;height:17px;font-weight:900;flex:0 0 auto}.password-help p{margin:0}.field-error{font-weight:600;color:#b42318;line-height:1.35}.add-user-actions{border-top:1px solid #e8edf4;padding:17px 22px;display:flex;justify-content:flex-end;gap:10px}.add-user-actions button{display:flex;align-items:center;gap:7px}.add-user-list-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e8edf4;padding-right:18px}.add-user-list-card>header .card-section-title{border:0;flex:0 0 auto}.user-list-tools{display:flex;gap:10px;align-items:center}.user-list-tools label{height:38px;min-width:210px;border:1px solid #d7dfeb;border-radius:8px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#8190a5}.user-list-tools input{border:0;outline:0;width:100%;font:inherit}.user-list-tools select{height:38px;border:1px solid #d7dfeb;border-radius:8px;padding:0 30px 0 11px;background:#fff}.compact-users th,.compact-users td{padding:13px 12px}.compact-users th{white-space:nowrap}.user-cell{display:flex;align-items:center;gap:10px;min-width:165px}.user-initials{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#3157d5;color:#fff;font-size:12px;font-weight:900;flex:0 0 auto}.user-cell small{margin-top:2px!important}.compact-users td:nth-child(4){font-size:12px;min-width:125px}.users-list-footer{padding:15px 18px;border-top:1px solid #e8edf4;color:#667085;font-size:12px}@media(max-width:1250px){.add-user-layout{grid-template-columns:1fr}.add-user-list-card{order:2}}@media(max-width:720px){.add-user-heading{flex-direction:column}.add-user-form-grid{grid-template-columns:1fr}.add-user-list-card>header{align-items:flex-start;flex-direction:column;padding:0 14px 14px}.user-list-tools{width:100%;flex-wrap:wrap}.user-list-tools label{flex:1}.add-user-layout{display:block}.add-user-list-card{margin-top:16px}}.selected-role-access{margin-top:9px;padding:10px;border:1px solid #dbe6ff;border-radius:10px;background:#f7faff}.selected-role-access>b{display:block;font-size:12px;margin-bottom:7px;color:#172554}.selected-role-access>div{display:flex;gap:6px;flex-wrap:wrap}.selected-role-access span{font-size:11px;font-weight:700;color:#1d4ed8;background:#eaf1ff;padding:4px 7px;border-radius:999px}.role-access-help{display:flex;flex-direction:column;gap:6px;margin:14px 0;padding:12px 14px;background:#f7faff;border:1px solid #dbe6ff;border-radius:12px}.role-access-help>b{color:#172554}.role-access-help>span{font-size:13px;color:#52627a}.role-access-help>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.secondary.small{padding:7px 10px;font-size:12px}.permission-row>div{display:flex;gap:8px;flex-wrap:wrap}.permission-check span{text-transform:none}.role-modal{width:min(920px,94vw);max-height:90vh;overflow:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#121e3a9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:hidden}.modal.role-modal{position:relative;inset:auto;z-index:1001;display:flex;flex-direction:column;place-items:initial;width:min(1120px,96vw);height:min(900px,92vh);min-height:0;max-width:none;max-height:92vh;padding:0;overflow:auto;background:#fff;color:#172036;border:1px solid #dfe5ef;border-radius:18px;box-shadow:0 28px 90px #12203f47}.role-modal>.modal-title{position:sticky;top:0;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 18px;background:#fffffffa;border-bottom:1px solid #e8ecf3}.role-modal>.modal-title h2{margin:4px 0 0;font-size:27px;line-height:1.2}.role-modal>.modal-title p{margin:0}.role-modal>.modal-title>button{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #dfe5ef;border-radius:10px;background:#fff;color:#344054}.role-modal>.form-grid,.role-modal>.role-access-help,.role-modal>.permission-matrix{margin-left:28px;margin-right:28px}.role-modal>.form-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;margin-top:4px}.role-modal>.form-grid label{min-width:0}.role-modal>.form-grid input{width:100%;min-width:0}.role-modal .role-access-help{margin-top:20px;margin-bottom:16px;padding:15px 16px}.role-modal .role-access-help>div{gap:10px}.role-modal .permission-matrix{flex:0 0 auto;margin-top:0;margin-bottom:0;overflow:hidden;border-radius:12px}.role-modal .permission-row{grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:22px;min-height:60px;padding:12px 16px}.role-modal .permission-row>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;align-items:center}.role-modal .permission-row.header>span{font-weight:700;color:#475467}.role-modal .permission-check{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;min-height:36px;margin:0!important;padding:7px 8px;min-width:0;white-space:normal;overflow-wrap:anywhere}.role-modal .permission-check input{flex:0 0 auto;width:15px!important;height:15px!important}.role-modal .permission-check.report-permission{grid-column:span 2;min-width:190px}.role-modal .permission-check span{min-width:0;line-height:1.25}.role-modal>.modal-actions{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:10px;margin:24px 0 0;padding:16px 28px 20px;background:#fffffffa;border-top:1px solid #e8ecf3}.google-signin{min-height:44px;margin-top:22px;display:flex;justify-content:center}.login-divider{display:flex;align-items:center;gap:12px;color:#8490a5;font-size:12px;margin:20px 0 2px}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e4e8f0;flex:1}.login-divider span{white-space:nowrap}.microsoft-signin{width:100%;min-height:44px;margin-top:12px;border:1px solid #8c8c8c;background:#fff;color:#1f1f1f;border-radius:2px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600}.microsoft-signin:hover{background:#f7f7f7}.microsoft-signin:disabled{opacity:.6;cursor:not-allowed}.microsoft-mark{display:grid;grid-template-columns:repeat(2,8px);gap:2px}.microsoft-mark i{width:8px;height:8px;background:#f35325}.microsoft-mark i:nth-child(2){background:#81bc06}.microsoft-mark i:nth-child(3){background:#05a6f0}.microsoft-mark i:nth-child(4){background:#ffba08}@media(max-width:900px){.modal-backdrop{padding:12px}.modal.role-modal{width:100%;height:94vh;max-height:94vh;border-radius:14px}.role-modal>.form-grid.two{grid-template-columns:1fr}.role-modal .permission-matrix{overflow:visible}.role-modal .permission-row{grid-template-columns:1fr;gap:9px}.role-modal .permission-row>div{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}}@media(max-width:560px){.role-modal>.modal-title{padding:18px}.role-modal>.form-grid,.role-modal>.role-access-help,.role-modal>.permission-matrix{margin-left:18px;margin-right:18px}.role-modal>.modal-actions{padding:14px 18px}.role-modal>.modal-actions button{flex:1}}.tree-add-wrap{margin:10px 0}.tree-add-wrap .tree-add{margin:0}.comma-entry-note{display:block;margin-top:6px;color:var(--muted,#667085);font-size:.78rem;line-height:1.35}.booking-period-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.booking-period-legend{display:flex;gap:8px}.booking-period-legend span{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700}.booking-period-legend span:before{content:"";width:10px;height:10px;border-radius:50%}.available-key:before{background:#22a06b}.booked-key:before{background:#e5484d}.booking-period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:14px}.booking-period{min-height:92px;border-radius:12px;padding:12px;display:grid;gap:4px;align-content:center;text-align:left}.booking-period b{font-size:.92rem}.booking-period span{font-size:.82rem}.booking-period small{font-size:.72rem;font-weight:700}.booking-period.available-period{border:1px solid #22a06b;background:#e9f8f0;color:#12633f;cursor:pointer}.booking-period.available-period:hover{border-color:#178252;background:#dcf4e7}.booking-period.available-period.selected{outline:3px solid rgba(37,99,235,.22);border-color:#2563eb;background:#e8f0ff;color:#1746a2}.booking-period.available-period.booked-period{border-color:#e5484d!important;background:#feeceb!important;color:#9f252b!important;cursor:not-allowed;opacity:1!important}.booking-period.break-period{border:1px dashed #98a2b3;background:#f2f4f7;color:#475467}.booking-period-picker .muted{margin:12px 0 0}.booking-page-shell{max-width:1680px;margin:0 auto}.booking-page-heading{align-items:flex-end;margin-bottom:22px;padding:4px 2px}.booking-page-heading h1{font-size:32px;margin:5px 0 6px}.booking-page-heading>div>p:last-child{max-width:720px}.booking-page-heading .primary{min-height:42px;padding-inline:17px;box-shadow:0 8px 20px #3157d52e}.booking-page-shell .booking-layout{grid-template-columns:minmax(520px,.9fr) minmax(620px,1.1fr);gap:22px;align-items:start}.booking-page-shell .booking-form{padding:0;overflow:hidden;border-radius:18px}.booking-form-intro{padding:24px 26px 21px;background:linear-gradient(135deg,#172554,#2949a8);color:#fff}.booking-form-intro h2{margin:8px 0 5px;font-size:24px;color:#fff}.booking-form-intro p{margin:0;color:#ffffffc2;font-size:13px}.booking-step-badge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.24);background:#ffffff1f;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.booking-form-section{padding:21px 24px 23px;border-bottom:1px solid #e8edf5;background:#fff}.booking-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}.booking-section-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#edf2ff;color:#3157d5;font-size:12px;font-weight:900;flex:0 0 auto}.booking-section-title>div{display:grid;gap:3px}.booking-section-title b{font-size:14px;color:#17243e}.booking-section-title small{font-size:11px;color:#7a879b}.booking-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-field-grid>label,.booking-form-section>label{display:grid;gap:7px;margin:0;font-size:12px;font-weight:800;color:#263550}.booking-page-shell .booking-form input,.booking-page-shell .booking-form select,.booking-page-shell .booking-form textarea{width:100%;border:1px solid #d7dfeb;border-radius:9px;background:#fbfcfe;padding:11px 12px;font:inherit;color:#17243e;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.booking-page-shell .booking-form select,.booking-page-shell .booking-form input{min-height:43px}.booking-page-shell .booking-form input:focus,.booking-page-shell .booking-form select:focus,.booking-page-shell .booking-form textarea:focus{background:#fff;border-color:#3157d5;box-shadow:0 0 0 3px #3157d51a}.booking-page-shell .academic-assignment-picker{margin-top:15px;padding:14px;border:1px solid #e1e7f0;border-radius:12px;background:#f8faff}.booking-page-shell .academic-assignment-picker>b{display:block;margin-bottom:10px;font-size:12px;color:#34425c}.booking-page-shell .chips.selectable{gap:7px}.booking-page-shell .chips.selectable button{border-radius:8px;padding:8px 11px;background:#fff}.booking-page-shell .additional-classes{margin-top:13px}.booking-add-class{width:100%;justify-content:center;border-style:dashed!important;background:#fbfcff!important}.booking-page-shell .additional-class-card{margin-top:10px;padding:14px;border-radius:12px;box-shadow:none;background:#fbfcff}.booking-date-grid{align-items:end}.booking-page-shell .booking-method{height:100%;min-height:69px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:11px 13px;border:1px solid #dfe5ef;border-radius:10px;background:#f8faff}.booking-page-shell .booking-method>b{width:100%;font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.04em}.booking-page-shell .booking-method label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:800}.booking-page-shell .booking-method input{width:16px;min-height:16px;height:16px;margin:0;accent-color:#3157d5}.booking-page-shell .booking-period-picker{margin-top:15px;background:#fbfcff}.booking-page-shell .booking-period-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.booking-page-shell .booking-period{min-height:82px}.booking-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#f8faff}.booking-submit-row small{max-width:320px;color:#7a879b;line-height:1.45}.booking-submit-row .primary{min-width:160px;justify-content:center}.booking-page-shell .booking-reports{padding:22px;border-radius:18px;position:static;max-height:none;overflow:visible;min-width:0}.booking-page-shell .booking-reports>.panel-title:first-child{padding-bottom:14px;border-bottom:1px solid #e7ecf3}.booking-page-shell .booking-calendar{gap:7px;margin:18px 0 24px}.booking-page-shell .booking-calendar button{min-height:72px;border-radius:11px;padding:8px;background:#fbfcfe}.booking-page-shell .booking-calendar button:hover{border-color:#9db1e8;background:#f5f8ff}.booking-page-shell .booking-calendar button.selected{outline:0;border-color:#3157d5;box-shadow:0 0 0 3px #3157d51f;background:#edf2ff}.booking-page-shell .booking-calendar button.has-booking{background:#fff1f1;border-color:#efaaaa}.booking-page-shell .report-title{margin-top:8px;padding-top:20px;border-top:1px solid #e7ecf3}.booking-page-shell .report-title .heading-actions{align-items:center}.booking-page-shell .report-title select{height:38px;border-radius:8px}.booking-page-shell .reservation-table{width:100%;min-width:0;border:1px solid #e4e9f1;border-radius:12px;overflow:visible}.booking-page-shell .reservation-table .table-head{background:#f7f9fc}.booking-page-shell .teacher-row:last-child{border-bottom:0}@media(max-width:1320px){.booking-page-shell .booking-layout{grid-template-columns:minmax(470px,.92fr) minmax(520px,1.08fr)}.booking-page-shell .booking-reports{position:static;max-height:none}}@media(max-width:1050px){.booking-page-shell .booking-layout{grid-template-columns:1fr}.booking-page-shell .booking-reports{order:2}.booking-page-heading{align-items:flex-start}}@media(max-width:680px){.booking-page-heading{gap:15px}.booking-page-heading .heading-actions,.booking-page-heading .primary{width:100%}.booking-field-grid{grid-template-columns:1fr}.booking-form-section{padding:19px 17px}.booking-form-intro{padding:21px 19px}.booking-submit-row{align-items:stretch;flex-direction:column;padding:16px 17px}.booking-submit-row .primary{width:100%}.booking-page-shell .booking-reports{padding:16px}.booking-page-shell .report-title{align-items:flex-start}.booking-page-shell .report-title .heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.booking-page-shell .report-title .heading-actions select{grid-column:1/-1;width:100%}.booking-page-shell .report-title .heading-actions button{justify-content:center}.booking-page-shell .booking-calendar button{min-height:56px}}.booking-page-shell .booking-period.available-period{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none}.booking-page-shell .booking-period.available-period>*{pointer-events:none}.booking-page-shell .booking-period.available-period:focus-visible{outline:3px solid rgba(49,87,213,.28);outline-offset:2px}.school-setup-page{max-width:1380px;margin:0 auto;padding-bottom:36px}.school-setup-heading{align-items:flex-start;margin-bottom:22px}.school-setup-heading h1{font-size:34px;line-height:1.12;margin:2px 0 7px}.school-setup-heading>div>p:last-child{font-size:15px;color:#6f7f93}.school-setup-save{min-height:46px;padding:0 20px;border-radius:11px;box-shadow:0 8px 18px #24579f2e}.setup-tabs-modern{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:5px;background:#eef2f7;border:1px solid #e2e8f0;border-radius:14px;overflow-x:auto;margin-bottom:28px}.setup-tabs-modern button{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 17px;border-radius:10px;color:#677489;white-space:nowrap}.setup-tabs-modern button:hover{background:#ffffffb8;color:#35465f}.setup-tabs-modern button.active{background:#fff;color:#245ca8;box-shadow:0 2px 8px #192d4b17}.school-setup-content{display:grid;gap:24px}.school-details-card{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);padding:0;overflow:hidden;border-radius:18px;box-shadow:0 10px 30px #1b2b4812}.school-details-form{padding:28px 30px}.school-details-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);gap:20px;margin-top:24px}.school-details-fields label{display:grid;gap:8px;font-weight:750;color:#324359}.school-details-fields label>span{font-size:13px}.school-details-fields input,.school-details-fields select{min-height:45px;border-radius:10px;background:#fff}.new-academic-year-btn{margin-top:18px;min-height:40px;border-radius:9px}.school-details-visual{position:relative;min-height:210px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eff6ff,#f3f0ff 48%,#eefbf8);border-left:1px solid #e7edf6}.school-visual-building{position:relative;z-index:2;width:136px;height:136px;border-radius:38px;display:grid;place-items:center;color:#376eb2;background:linear-gradient(145deg,#fffffffa,#ebf3ffe6);box-shadow:0 22px 42px #3958902b;transform:rotate(-4deg)}.school-visual-building svg{transform:rotate(4deg)}.school-visual-orbit{position:absolute;border:1px solid rgba(96,130,183,.22);border-radius:50%}.orbit-one{width:250px;height:135px;transform:rotate(-18deg)}.orbit-two{width:190px;height:250px;transform:rotate(24deg)}.visual-dot{position:absolute;border-radius:50%;box-shadow:0 7px 14px #435f9126}.dot-one{width:18px;height:18px;background:#f2b662;top:33px;right:50px}.dot-two{width:13px;height:13px;background:#6ec4ad;left:46px;bottom:42px}.dot-three{width:10px;height:10px;background:#8d7ed5;right:82px;bottom:30px}.setup-section-heading{display:flex;align-items:center;gap:13px}.setup-section-heading h2{margin:0;font-size:20px;color:#26364b}.setup-section-heading p{margin:4px 0 0;color:#78869a;font-size:13px}.setup-heading-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;flex:0 0 auto}.setup-heading-icon.blue{background:#e9f3ff;color:#2d69b5}.setup-heading-icon.violet{background:#f0ebff;color:#6f58c9}.compact-heading .setup-heading-icon{width:40px;height:40px}.hierarchy-card-modern{padding:28px 30px;border-radius:18px;box-shadow:0 10px 30px #1b2b480f}.academic-structure-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:23px!important}.academic-header-add{width:min(520px,48%)}.academic-header-add .tree-add-wrap,.academic-header-add .tree-add{margin:0}.academic-header-add .comma-entry-note{display:none}.program-card-list{display:grid;gap:18px}.program-structure-card{position:relative;border:1px solid #e2e8f0;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 7px 18px #24344e0b}.program-structure-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2f78d4}.program-structure-card.accent-1:before{background:#7b61d8}.program-structure-card.accent-2:before{background:#39a082}.program-structure-card.accent-3:before{background:#df8d3d}.program-card-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 17px 22px;background:linear-gradient(90deg,#fbfdff,#fff);border-bottom:1px solid #edf1f6}.program-identity{display:flex;align-items:center;gap:13px}.program-letter{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#eaf3ff;color:#2666b4;font-weight:900;font-size:17px}.accent-1 .program-letter{background:#f0ebff;color:#7054c8}.accent-2 .program-letter{background:#e6f7f1;color:#278266}.accent-3 .program-letter{background:#fff1e3;color:#bd6d25}.program-identity h3{font-size:17px;margin:0;color:#27364b}.program-identity p{margin:3px 0 0;color:#8491a3;font-size:12px}.program-card-actions{display:flex;align-items:center;gap:8px}.program-count-badge{padding:6px 10px;border-radius:999px;background:#edf5ff;color:#326bac;font-size:11px;font-weight:800}.program-card-actions .icon,.grade-actions .icon{width:32px;height:32px}.icon.subtle{background:transparent;border:0;color:#9aa5b4}.icon.subtle:hover{background:#fff0f0;color:#c34f4f}.program-grade-list{padding:12px 18px 4px}.grade-structure-row{border-bottom:1px solid #edf1f5;padding:10px 3px 12px}.grade-structure-row:last-child{border-bottom:0}.grade-row-main{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px}.grade-title-block{display:flex;align-items:center;gap:8px}.grade-chevron{width:25px;height:25px;display:grid;place-items:center;color:#66758a}.grade-title-block>div{display:flex;align-items:baseline;gap:10px}.grade-title-block b{color:#334258;font-size:14px}.grade-title-block small{color:#95a0af;font-size:11px}.grade-sections-area{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 0 0 34px}.section-chip-list{display:flex;flex-wrap:wrap;gap:7px;padding-top:7px;min-width:100px}.section-chip{display:inline-flex;align-items:center;gap:7px;min-height:29px;padding:4px 9px 4px 11px;border-radius:8px;background:#f0f4f8;border:1px solid #e2e8ef;color:#47566a;font-size:12px;font-weight:750}.section-chip button{border:0;background:transparent;color:#8e99a8;cursor:pointer;font-size:16px;line-height:1;padding:0}.section-chip button:hover{color:#c84d4d}.inline-section-add{width:min(470px,58%)}.inline-section-add .tree-add-wrap,.program-add-grade .tree-add-wrap{margin:0}.inline-section-add .tree-add,.program-add-grade .tree-add{margin:6px 0}.inline-section-add .comma-entry-note,.program-add-grade .comma-entry-note{display:none}.inline-section-add input,.program-add-grade input,.academic-header-add input{min-height:38px;border-radius:9px}.inline-section-add button,.program-add-grade button,.academic-header-add button{min-height:38px;border-radius:9px;white-space:nowrap}.program-add-grade{padding:8px 21px 17px;background:#fbfcfe;border-top:1px solid #edf1f5}.program-add-grade .tree-add{max-width:600px}.empty-academic-structure{display:grid;justify-items:center;text-align:center;padding:46px 20px;border:1px dashed #d7e0eb;border-radius:14px;background:#fbfcfe}.empty-academic-structure h3{margin:12px 0 4px}.empty-academic-structure p{margin:0;color:#7e8b9c}.school-setup-subpage{margin-top:0}.school-setup-subpage.panel,.school-setup-subpage>.panel{border-radius:18px}.school-setup-subpage.working-hours{padding:28px 30px}.working-hours-list{margin-top:22px;border-top:1px solid #edf1f5}@media(max-width:1100px){.school-details-card{grid-template-columns:1fr}.school-details-visual{min-height:150px;border-left:0;border-top:1px solid #e7edf6}.academic-structure-header{display:grid}.academic-header-add{width:100%}.inline-section-add{width:55%}}@media(max-width:760px){.school-setup-page{padding-bottom:22px}.school-setup-heading{gap:16px}.school-setup-heading h1{font-size:29px}.school-setup-save{width:100%;justify-content:center}.setup-tabs-modern{width:100%}.school-details-form,.hierarchy-card-modern,.school-setup-subpage.working-hours{padding:21px 18px}.school-details-fields{grid-template-columns:1fr}.school-details-visual{display:none}.academic-structure-header{gap:17px}.program-card-header{align-items:flex-start}.program-count-badge{display:none}.grade-sections-area{display:grid;padding-left:33px}.inline-section-add{width:100%}.grade-title-block>div{display:grid;gap:1px}.program-grade-list{padding-inline:13px}.program-add-grade{padding-inline:16px}.tree-add{align-items:stretch}.tree-add button{padding-inline:12px}.hours-row{grid-template-columns:1fr 1fr!important}.hours-row>label:first-child{grid-column:1/-1}}.settings-page{max-width:1420px;margin:0 auto}.settings-heading{align-items:center;margin-bottom:24px}.settings-save:disabled,.settings-footer-actions button:disabled{opacity:.48;cursor:not-allowed;transform:none}.settings-shell{display:grid;grid-template-columns:286px minmax(0,1fr);gap:24px;align-items:start}.settings-nav{padding:14px;position:sticky;top:88px;overflow:hidden}.settings-account{display:flex;align-items:center;gap:12px;padding:12px 10px 18px;border-bottom:1px solid #e7edf5}.settings-account-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2369d8,#4d8df1);color:#fff;font-weight:800;box-shadow:0 8px 20px #2369d829}.settings-account b,.settings-account span{display:block;min-width:0}.settings-account b{font-size:14px;color:#17243b}.settings-account span{font-size:12px;color:#718096;margin-top:3px;max-width:185px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-nav nav{display:grid;gap:6px;padding:14px 0}.settings-nav nav button{width:100%;border:0;background:transparent;border-radius:13px;padding:11px 10px;display:grid;grid-template-columns:20px 1fr 16px;gap:10px;align-items:center;text-align:left;color:#65738a;cursor:pointer;transition:.18s ease}.settings-nav nav button:hover{background:#f3f7fd;color:#244a86}.settings-nav nav button.active{background:#eaf2ff;color:#185ac1;box-shadow:inset 3px 0 #2a6dd5}.settings-nav nav button span{display:grid;gap:2px}.settings-nav nav button b{font-size:13px}.settings-nav nav button small{font-size:11px;color:#8a97aa}.settings-nav nav button.active small{color:#5f82b7}.settings-school{display:flex;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e9eef5;border-radius:13px;padding:12px;color:#5c6e87}.settings-school div{display:grid;gap:2px}.settings-school span{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.settings-school b{font-size:12px;color:#253550}.settings-content{min-width:0}.settings-card{padding:0;overflow:hidden;min-height:480px}.settings-card-head{display:flex;gap:14px;align-items:center;padding:24px 26px;border-bottom:1px solid #e8eef6;background:linear-gradient(180deg,#fff,#fbfdff)}.settings-section-icon{width:46px;height:46px;border-radius:15px;background:#eaf2ff;color:#2368cf;display:grid;place-items:center}.settings-card-head h2{margin:0;color:#17243b;font-size:20px}.settings-card-head p{margin:5px 0 0;color:#748197;font-size:13px}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:28px}.settings-form-grid label{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:700}.settings-form-grid select{width:100%;height:44px;border-radius:11px;border:1px solid #dce4ef;background:#fff;padding:0 12px;color:#26364f;font:inherit;font-weight:500}.settings-form-grid select:focus{outline:3px solid #2b6fd320;border-color:#2b6fd3}.settings-form-grid small{font-weight:400;color:#8793a5;line-height:1.45}.settings-option-list{display:grid;padding:10px 28px 28px}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 4px;border-bottom:1px solid #edf1f6;cursor:pointer}.settings-toggle-row:last-child{border-bottom:0}.settings-toggle-row>div{display:flex;align-items:flex-start;gap:13px;color:#5f718c}.settings-toggle-row span{display:grid;gap:4px}.settings-toggle-row b{font-size:14px;color:#25344e}.settings-toggle-row small{font-size:12px;color:#7d899a;line-height:1.45}.settings-toggle-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:.2s;flex:0 0 auto}.settings-toggle-row input:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0002;transition:.2s}.settings-toggle-row input:checked{background:#2b6fd3}.settings-toggle-row input:checked:after{transform:translate(20px)}.settings-profile-card{margin:28px;display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #e4eaf2;background:#fbfdff;border-radius:16px}.settings-profile-avatar{width:52px;height:52px;border-radius:16px;background:#eaf2ff;color:#2368cf;display:grid;place-items:center}.settings-profile-card>div:nth-child(2){flex:1}.settings-profile-card span,.settings-profile-card h3,.settings-profile-card p{margin:0}.settings-profile-card>div:nth-child(2)>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a96a7}.settings-profile-card h3{font-size:17px;color:#1f2e46;margin-top:4px}.settings-profile-card p{font-size:13px;color:#728098;margin-top:3px}.settings-security-note{margin:0 28px 28px;display:flex;gap:13px;padding:17px;border-radius:14px;background:#f4f8fe;color:#2860a8}.settings-security-note b{font-size:13px}.settings-security-note p{margin:4px 0 0;color:#667a96;font-size:12px;line-height:1.55}.settings-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px 0;color:#7b8799;font-size:12px}.settings-footer-actions button{display:flex;align-items:center;gap:7px}.settings-footer-actions .primary:disabled{display:none}html[data-compact-sidebar=true] .sidebar{width:220px}html[data-reduced-motion=true] *,html[data-reduced-motion=true] *:before,html[data-reduced-motion=true] *:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(max-width:980px){.settings-shell{grid-template-columns:1fr}.settings-nav{position:static}.settings-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-school{display:none}.settings-account{padding-bottom:14px}.settings-card{min-height:auto}}@media(max-width:680px){.settings-heading{align-items:flex-start}.settings-heading .settings-save{width:100%;justify-content:center}.settings-nav nav{grid-template-columns:1fr}.settings-form-grid{grid-template-columns:1fr;padding:21px}.settings-card-head{padding:20px}.settings-option-list{padding:6px 20px 20px}.settings-profile-card,.settings-security-note{margin:20px}.settings-profile-card{align-items:flex-start;flex-wrap:wrap}.settings-profile-card .role-pill{margin-left:67px}.settings-footer-actions{align-items:flex-start;flex-direction:column}.settings-footer-actions button{width:100%;justify-content:center}}.help-nav nav button{padding-top:10px;padding-bottom:10px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:28px}.tutorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.help-info-card{border:1px solid #e4eaf2;background:#fbfdff;border-radius:16px;padding:20px;color:#5f718c;transition:.18s ease}.help-info-card:hover{border-color:#cfdced;box-shadow:0 8px 22px #1e3a5f0b;transform:translateY(-1px)}.help-info-card h3{margin:0;color:#1f2e46;font-size:15px}.help-info-card ul{margin:14px 0 0;padding-left:18px;display:grid;gap:8px;font-size:12px;line-height:1.4}.help-info-card li::marker{color:#2b6fd3}.sample-card{display:flex;flex-direction:column;align-items:flex-start}.sample-card>svg{color:#2b6fd3;margin-bottom:13px}.sample-card p{font-size:13px;line-height:1.55;flex:1;margin:9px 0 18px}.sample-card button,.help-actions button,.button-link{display:flex;align-items:center;gap:7px}.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:17px 28px}.contact-details>div{display:flex;gap:14px;padding:20px 4px;border-bottom:1px solid #edf1f6;color:#2b6fd3}.contact-details span{display:grid;gap:5px}.contact-details b{font-size:13px;color:#25344e}.contact-details p,.contact-details a{margin:0;color:#667a96;font-size:13px;line-height:1.5;text-decoration:none}.contact-details a:hover{color:#185ac1}.help-actions{display:flex;gap:10px;padding:20px 28px 28px}.button-link{text-decoration:none;width:max-content}.license-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 28px 4px}.license-details>div{display:grid;gap:6px;padding:18px 4px;border-bottom:1px solid #edf1f6}.license-details>div:nth-child(odd){margin-right:22px}.license-details span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8793a5}.license-details b{font-size:14px;color:#25344e;min-height:20px}.license-key{display:flex;align-items:center;gap:9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.copy-button{border:0;background:#eaf2ff;color:#185ac1;border-radius:7px;padding:5px 8px;display:flex;align-items:center;gap:4px;font:inherit;font-family:inherit;font-size:10px;cursor:pointer}.license-status{width:max-content;border-radius:999px;padding:4px 9px;font-size:12px!important}.license-status.active{background:#e9f8ef;color:#18794e}.license-status.trial{background:#fff6df;color:#9a6700}.license-status.expired,.license-status.disabled{background:#fff0f0;color:#b42318}.license-actions button:disabled{opacity:.48;cursor:not-allowed}.spin{animation:help-spin .8s linear infinite}@keyframes help-spin{to{transform:rotate(360deg)}}.tutorial-guide>h3{font-size:17px;padding-bottom:13px;border-bottom:1px solid #e7edf5}.tutorial-section{margin-top:16px}.tutorial-section h4{margin:0 0 6px;color:#25344e;font-size:12px;text-transform:uppercase;letter-spacing:.045em}.tutorial-section p{margin:0;font-size:12px;line-height:1.6}.tutorial-guide ol,.tutorial-guide ul{margin:8px 0 0;padding-left:19px;display:grid;gap:8px;font-size:12px;line-height:1.55}.tutorial-guide ol li::marker{color:#2b6fd3;font-weight:800}.tutorial-note{margin-top:16px;padding:12px 13px;border:1px solid #cfe0f7;border-left:3px solid #2b6fd3;border-radius:10px;background:#f4f8fe;color:#385778;font-size:12px;line-height:1.55}.tutorial-warning{padding:12px 13px;border-radius:10px;background:#fff9ed;border:1px solid #f4dfad}.tutorial-warning h4{color:#8a5b00}.help-page{scroll-behavior:smooth}.help-nav{max-height:calc(100vh - 104px);overflow-y:auto}.help-nav nav button:focus-visible,.tutorial-toc a:focus-visible{outline:3px solid #2b6fd340;outline-offset:2px}.tutorial-single{padding:28px}.tutorial-single>.tutorial-guide{max-width:920px;margin:0 auto}.tutorial-toc{max-width:920px;margin:0 auto 18px;padding:14px 16px;border:1px solid #e4eaf2;border-radius:14px;background:#f8fbff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tutorial-toc b{color:#25344e;font-size:12px;margin-right:4px}.tutorial-toc a{color:#2860a8;background:#fff;border:1px solid #dce7f4;border-radius:999px;padding:6px 9px;text-decoration:none;font-size:11px;font-weight:700}.tutorial-toc a:hover{background:#eaf2ff;border-color:#c7daf3}.tutorial-section[id]{scroll-margin-top:96px}.welcome-content{max-width:920px;margin:0 auto;padding:28px;color:#5f718c;font-size:13px;line-height:1.65}.welcome-content>p:first-child{font-size:16px;font-weight:800;color:#25344e}.welcome-content section{padding:20px 0;border-bottom:1px solid #edf1f6}.welcome-content h3{margin:0 0 10px;color:#1f2e46;font-size:15px}.welcome-content p{margin:8px 0}.welcome-content ul,.welcome-content ol{margin:10px 0 0;padding-left:20px;display:grid;gap:7px}.welcome-content li::marker{color:#2b6fd3;font-weight:800}.welcome-content footer{display:grid;gap:4px;padding:22px 0 4px;color:#65738a}.welcome-content footer b{color:#25344e}@media(max-width:1180px){.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.help-grid,.tutorial-grid,.sample-grid,.contact-details,.license-details{grid-template-columns:1fr}.help-grid,.contact-details,.license-details{padding:20px}.license-details>div:nth-child(odd){margin-right:0}.help-actions,.license-actions{padding:18px 20px 22px;flex-direction:column}.help-actions button,.help-actions .button-link{width:100%;justify-content:center}}@media(max-width:680px){.help-nav{max-height:none}.tutorial-single,.welcome-content{padding:20px}.tutorial-toc{align-items:flex-start}.tutorial-toc b{width:100%}.tutorial-guide{overflow-wrap:anywhere}}.booking-saved-locations{margin-top:16px;padding:16px;border:1px solid var(--border, #dfe6ee);border-radius:14px;background:#f8fafc}.booking-saved-locations-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.booking-saved-locations-heading b{color:#172033}.booking-saved-locations-heading small{color:#667085}.booking-location-list{display:flex;flex-wrap:wrap;gap:9px}.booking-location-list button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #d6deea;border-radius:10px;background:#fff;color:#344054;font:inherit;font-weight:650;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.booking-location-list button:hover{border-color:#8ea7ff;box-shadow:0 3px 10px #334c961a}.booking-location-list button.selected{border-color:#4568dc;background:#eef2ff;color:#2f4bb5;box-shadow:0 0 0 3px #4568dc1a}.booking-page-shell .booking-form{overflow:visible}.booking-page-shell .booking-form-intro{border-radius:18px 18px 0 0}.booking-form-section:first-of-type{position:relative;z-index:3}.booking-teacher-select{min-width:0}.booking-teacher-select .reservation-filter-select{gap:7px}.booking-teacher-select .reservation-filter-label{font-size:12px;font-weight:800;color:#263550}.booking-teacher-select .reservation-filter-trigger{height:43px;background:#fbfcfe}.booking-teacher-select .reservation-filter-options{top:calc(100% + 6px);bottom:auto;z-index:100;max-height:min(260px,42vh)}.booking-page-shell .report-title{align-items:flex-start;margin-bottom:18px}.booking-page-shell .report-title .heading-actions{margin-left:auto;justify-content:flex-end;align-items:center;gap:10px;padding-bottom:2px}.booking-page-shell .report-title .heading-actions button:last-child{text-transform:capitalize}.booking-page-shell .booking-report-table{margin-top:4px}@media(max-width:680px){.booking-page-shell .report-title .heading-actions{margin-left:0}.booking-teacher-select .reservation-filter-options{max-height:min(240px,40vh)}}@media(max-width:720px){.booking-saved-locations-heading{align-items:flex-start;flex-direction:column;gap:3px}.booking-location-list button{flex:1 1 140px;justify-content:center}}.timetable-profile-editor{display:flex;flex-direction:column;gap:16px}.timetable-profile-editor>label{max-width:520px}.timetable-grade-picker{border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#f8fafc);padding:16px}.grade-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.grade-picker-heading>div{display:flex;flex-direction:column;gap:4px}.grade-picker-heading small,.program-grade-group small{color:var(--muted)}.grade-picker-heading>span{white-space:nowrap;border-radius:999px;padding:6px 10px;background:var(--primary-soft,#e0e7ff);color:var(--primary,#4338ca);font-size:12px;font-weight:800}.program-grade-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.program-grade-group{border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);padding:13px}.program-grade-group header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.program-grade-group header>div{display:flex;flex-direction:column;gap:2px}.compact-button{padding:7px 10px!important;font-size:12px!important}.grade-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px}.grade-choice{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid var(--border);background:var(--surface,#fff);border-radius:10px;padding:9px 10px;color:inherit}.grade-choice:hover{border-color:var(--primary,#4f46e5)}.grade-choice.selected{border-color:var(--primary,#4f46e5);background:var(--primary-soft,#eef2ff);color:var(--primary,#3730a3);font-weight:700}.grade-check{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1.5px solid currentColor;border-radius:5px;font-size:12px}.compact-editor{margin-top:16px}.booking-timetable-modal .timetable-grade-picker{max-height:390px;overflow:auto}@media(max-width:700px){.grade-picker-heading{flex-direction:column}.program-grade-groups{grid-template-columns:1fr}.grade-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reservation-summary.without-visitors{grid-template-columns:repeat(3,1fr)}.school-visual-logo{position:relative;z-index:2;width:150px;height:150px;border-radius:30px;display:grid;place-items:center;padding:16px;background:#fffffff5;box-shadow:0 22px 42px #3958902b}.school-visual-logo img{max-width:100%;max-height:100%;object-fit:contain}.school-logo-empty{position:relative;z-index:2;width:190px;min-height:145px;border:2px dashed #9db5d6;border-radius:24px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;padding:18px;color:#376eb2;background:#ffffffc7;cursor:pointer}.school-logo-empty small{font-size:11px;color:#65758b}.school-logo-empty input,.school-logo-replace input{display:none}.school-logo-replace{position:absolute;z-index:3;bottom:17px;padding:7px 12px;border-radius:9px;background:#fff;border:1px solid #cad6e7;color:#31547c;font-size:12px;font-weight:750;cursor:pointer}.school-logo-error{position:absolute;z-index:4;left:12px;right:12px;bottom:10px}.school-details-visual:has(.school-logo-error) .school-logo-replace{bottom:58px}@media(max-width:760px){.reservation-summary.without-visitors{grid-template-columns:repeat(2,1fr)}}.modal-card{max-height:92vh;overflow-y:auto}.academic-header-actions{width:min(650px,58%);display:flex;align-items:flex-start;justify-content:flex-end;gap:10px}.academic-header-actions .academic-header-add{width:auto;flex:1}.academic-import-button{min-height:38px;white-space:nowrap}.academic-import-modal{min-height:650px}.academic-import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.academic-import-summary>div{padding:15px;border:1px solid #e1e7f0;border-radius:12px;background:#f8faff}.academic-import-summary b,.academic-import-summary span{display:block}.academic-import-summary b{font-size:25px;color:#3157d5}.academic-import-summary span{margin-top:4px;color:#68758b;font-size:12px}.academic-import-summary .has-errors{background:#fff8f7;border-color:#f4cfcb}.academic-import-summary .has-errors b{color:#b42318}.academic-import-errors{max-height:130px;overflow:auto;margin-top:12px;border:1px solid #f0d2cf;border-radius:10px;background:#fff9f8}.academic-import-errors>div{display:grid;grid-template-columns:75px 1fr;gap:10px;padding:9px 12px;border-bottom:1px solid #f5e2df;font-size:12px}.academic-import-errors>div:last-child{border-bottom:0}.academic-import-errors span{color:#7a4b47}.import-note,.import-status{font-size:12px;line-height:1.5}.import-status{text-align:center;margin-top:15px}@media(max-width:1100px){.academic-header-actions{width:100%}}@media(max-width:650px){.academic-header-actions{display:grid}.academic-import-button{width:100%}.academic-import-summary{grid-template-columns:1fr}.academic-import-modal{min-height:600px}}.school-print-header{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.school-print-header img{width:70px;height:70px;object-fit:contain}.school-print-header div{display:grid;gap:2px}.school-print-header b{font-size:1.15rem}.school-print-header span{color:var(--muted);font-size:.82rem}.public-school-logo{width:54px;height:54px;object-fit:contain;border-radius:10px}.exact-time-picker input[type=time]{width:100%;min-height:42px}.holiday-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.holiday-list{max-height:240px;overflow-y:auto;padding-right:5px}.holiday-import-layer{z-index:12}.holiday-import-modal{min-height:650px}.holiday-import-summary{grid-template-columns:repeat(4,1fr)}.academic-import-summary .has-warnings{background:#fffaf0;border-color:#f0d6a5}.academic-import-summary .has-warnings b{color:#a15c00}.holiday-import-details{display:grid;gap:9px;max-height:190px;overflow-y:auto;margin-top:12px}.holiday-import-details section{border:1px solid #e1e7f0;border-radius:10px;overflow:hidden}.holiday-import-details section>b{display:block;padding:9px 12px;background:#f8faff;color:#34435a;font-size:12px}.holiday-import-details section>div{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:8px 12px;border-top:1px solid #edf1f5;font-size:12px}.holiday-import-details section>div span:first-child{font-weight:700;color:#536178}.holiday-import-details section.overlap{border-color:#f0d6a5}.holiday-import-details section.overlap>b{background:#fffaf0;color:#8a5208}.holiday-import-details section.invalid{border-color:#f0d2cf}.holiday-import-details section.invalid>b{background:#fff8f7;color:#a33a31}@media(max-width:650px){.holiday-actions>*{width:100%}.holiday-import-modal{min-height:600px}.holiday-import-summary{grid-template-columns:1fr}}.teacher-import-modal{min-height:650px}.teacher-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.teacher-import-summary>div{padding:13px;border:1px solid #e1e7f0;border-radius:11px;background:#f8faff}.teacher-import-summary b,.teacher-import-summary span{display:block}.teacher-import-summary b{font-size:22px;color:#3157d5}.teacher-import-summary span{margin-top:4px;color:#68758b;font-size:11px}.teacher-import-summary .has-errors{background:#fff8f7;border-color:#f4cfcb}.teacher-import-summary .has-errors b{color:#b42318}.teacher-import-details{display:grid;gap:9px;max-height:190px;overflow-y:auto;margin-top:12px}.teacher-import-details section{border:1px solid #e1e7f0;border-radius:10px;overflow:hidden}.teacher-import-details section>b{display:block;padding:9px 12px;background:#f8faff;color:#34435a;font-size:12px}.teacher-import-details section>div{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:8px 12px;border-top:1px solid #edf1f5;font-size:12px}.teacher-import-details section>div span:first-child{font-weight:700;color:#536178}.teacher-import-details section.invalid{border-color:#f0d2cf}.teacher-import-details section.invalid>b{background:#fff8f7;color:#a33a31}@media(max-width:650px){.teacher-import-summary{grid-template-columns:1fr}.teacher-import-modal{min-height:600px}}.booking-report-table .table-head,.booking-report-table .teacher-row{width:100%;min-width:0;grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) minmax(0,.85fr) minmax(0,1.4fr) minmax(82px,.65fr) 76px}@media print{.school-print-header{display:flex!important}.school-print-header,.school-print-header *{visibility:visible!important}}.booking-period.available-period{border-color:#22a06b!important;background:#e9f8f0!important;color:#12633f!important}.booking-period.available-period:hover{border-color:#178252!important;background:#dcf4e7!important}.booking-period.available-period:focus-visible{outline:3px solid rgba(34,160,107,.28)!important;outline-offset:2px}.booking-period.available-period.selected{border-color:#2563eb!important;background:#e8f0ff!important;color:#1746a2!important}.booking-period.available-period.booked-period,.booking-period.available-period.booked-period:disabled{border-color:#e5484d!important;background:#feeceb!important;color:#9f252b!important;opacity:1!important}.booking-calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}.booking-calendar-toolbar b{min-width:155px;text-align:center}.booking-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:14px}.booking-weekdays span{text-align:center;color:#667085;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis}.booking-page-shell .booking-calendar{margin-top:7px}.booking-page-shell .booking-calendar button:not(.has-booking){background:#e9f8f0;border-color:#9ed8ba;color:#12633f}.booking-page-shell .booking-calendar button:not(.has-booking):hover{background:#dcf4e7;border-color:#55b987}.booking-page-shell .booking-calendar button.has-booking{background:#feeceb;border-color:#ef9a9e;color:#92272d}.booking-page-shell .booking-calendar button:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:1px}.booking-page-shell .booking-calendar button.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.booking-page-shell .booking-calendar button.outside{opacity:.48}.booking-location-modal{width:min(700px,100%);min-height:570px}.booking-location-editor{margin-top:22px}.booking-location-editor>label{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.booking-location-editor>div{display:flex;gap:8px}.booking-location-editor input{flex:1;min-width:0;border:1px solid #dce2ec;border-radius:10px;padding:11px 12px}.booking-location-management-list{display:grid;max-height:255px;overflow:auto;margin-top:18px;border:1px solid #e3e8f1;border-radius:12px}.booking-location-management-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #edf0f5}.booking-location-management-list>div:last-child{border-bottom:0}.booking-location-management-list>div>div:first-child{display:grid;gap:3px}.booking-location-management-list small{color:#7c879b}.booking-location-management-list>div>div:last-child{display:flex;gap:6px}.booking-location-management-list>p{padding:20px;text-align:center}@media(max-width:680px){.booking-weekdays{gap:3px}.booking-weekdays span{font-size:9px}.booking-location-editor>div{display:grid}.booking-location-editor button{width:100%}}.booking-location-modal{display:flex;flex-direction:column;overflow:hidden}.booking-location-modal>.eyebrow,.booking-location-modal>h2,.booking-location-modal>p,.booking-location-modal>.booking-location-editor{flex:0 0 auto}.booking-location-modal .booking-location-management-list{flex:1 1 auto;min-height:110px;max-height:none;overflow-y:auto;margin-bottom:18px}.booking-location-modal>footer{position:static;flex:0 0 auto;inset:auto;margin:0;padding-top:18px;background:#fff}.booking-location-modal>footer:before{content:none}.booking-form-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.booking-form-intro>div{min-width:0}.booking-report-table .teacher-row{align-items:start}.booking-report-table .teacher-row>div,.booking-report-table .teacher-row>span{min-width:0}.booking-report-table .teacher-row b,.booking-report-table .teacher-row span{overflow-wrap:anywhere}.booking-report-table .row-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:nowrap;min-width:76px}.booking-report-table .row-actions .icon{flex:0 0 34px;width:34px;height:34px}.booking-report-table .status{white-space:nowrap;align-self:start;max-width:100%;overflow:visible}@media(max-width:900px){.booking-report-table .table-head{display:none}.booking-report-table .teacher-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-report-table .teacher-row>div:before,.booking-report-table .teacher-row>.status:before{display:block;margin-bottom:4px;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase}.booking-report-table .teacher-row>div:nth-child(1):before{content:"Date & Time"}.booking-report-table .teacher-row>div:nth-child(2):before{content:"Teacher & Location"}.booking-report-table .teacher-row>div:nth-child(3):before{content:"Class"}.booking-report-table .teacher-row>div:nth-child(4):before{content:"Booking Purpose & Supplies"}.booking-report-table .teacher-row>.status:before{content:"Status"}.booking-report-table .teacher-row>.row-actions:before{content:"Actions";display:block;flex-basis:100%;margin-bottom:4px;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase}.booking-report-table .teacher-row>.status,.booking-report-table .teacher-row>.row-actions{justify-self:start}.booking-report-table .row-actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:560px){.booking-form-intro{display:grid}.booking-report-table .teacher-row{grid-template-columns:1fr}}@media print{@page{size:portrait;margin:12mm}.booking-page-shell .booking-reports>.panel-title:first-of-type,.booking-page-shell .booking-reports .booking-calendar-toolbar,.booking-page-shell .booking-reports .booking-weekdays,.booking-page-shell .booking-reports .booking-calendar,.booking-page-shell .booking-reports .report-title p,.booking-page-shell .booking-reports .report-title .heading-actions,.booking-page-shell .booking-reports .row-actions{display:none!important}.booking-page-shell .booking-reports{position:static;max-height:none;border:0;padding:0;overflow:visible}.booking-page-shell .booking-reports .report-title{margin:0 0 16px;padding:0;border:0}.booking-page-shell .booking-report-table{overflow:visible;border-radius:0}.booking-page-shell .booking-report-table .table-head{display:grid}.booking-page-shell .booking-report-table .table-head,.booking-page-shell .booking-report-table .teacher-row{grid-template-columns:1.05fr 1.2fr .85fr 1.45fr .7fr;font-size:10px}.booking-page-shell .booking-report-table .teacher-row{break-inside:avoid;page-break-inside:avoid}.booking-page-shell .booking-report-table .status{white-space:nowrap;font-size:9px}.school-print-header img{max-width:90px;max-height:70px;width:auto;height:auto;object-fit:contain}}.add-user-form-grid .password-help{grid-column:1/-1}.user-heading-actions{display:flex;gap:10px;flex-wrap:wrap}.user-heading-actions button{display:flex;align-items:center;gap:7px}.user-import-layer{z-index:1100}.modal.user-import-modal{position:relative;inset:auto;z-index:1101;width:min(1040px,calc(100vw - 48px));max-width:1040px;max-height:88vh;display:flex;flex-direction:column;place-items:initial;padding:0;overflow:hidden;opacity:1;background:var(--surface,#fff);color:var(--text,#172036);border:1px solid var(--border,#dfe5ef);border-radius:18px;box-shadow:0 28px 90px #12203f52}.modal.user-import-modal.has-import-content{height:min(760px,88vh)}.user-import-modal>.modal-title{position:relative;flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 26px 18px;background:var(--surface,#fff);border-bottom:1px solid var(--border,#e8ecf3)}.user-import-modal>.modal-title h2{margin:4px 0 0}.user-import-modal>.modal-title p{margin:0}.user-import-modal>.modal-title>button{position:static;inset:auto;flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border,#dfe5ef);border-radius:10px;background:var(--surface,#fff);color:var(--text,#344054)}.user-import-modal>.muted,.user-import-modal>.user-import-file,.user-import-modal>.user-import-alert,.user-import-modal>.import-status,.user-import-modal>.user-import-file-name,.user-import-modal>.user-import-summary,.user-import-modal>.user-import-success,.user-import-modal>.user-import-errors{margin-left:26px;margin-right:26px}.user-import-modal>.muted{margin-top:18px;margin-bottom:0}.user-import-file{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;border:1.5px dashed #aebbd0;border-radius:12px;background:#f8faff;color:#3157d5;cursor:pointer}.user-import-file span{display:grid;gap:3px;flex:1}.user-import-file small{color:#68758b}.user-import-file input{position:absolute;width:1px;height:1px;opacity:0}.user-import-alert{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;border:1px solid #f0c7c3;border-radius:10px;background:#fff7f6;color:#9d2921;font-size:13px;line-height:1.5}.user-import-file-name{display:flex;align-items:center;gap:8px;margin:4px 0 12px;color:#34435a}.user-import-file-name span{margin-left:auto;color:#68758b;font-size:12px}.user-import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.user-import-summary>div{padding:12px 14px;border:1px solid #e1e7f0;border-radius:11px;background:#f8faff}.user-import-summary b,.user-import-summary span{display:block}.user-import-summary b{font-size:22px;color:#3157d5}.user-import-summary span{margin-top:3px;color:#68758b;font-size:11px}.user-import-summary .has-errors{background:#fff8f7;border-color:#f4cfcb}.user-import-summary .has-errors b{color:#b42318}.user-import-table{flex:1 1 auto;min-height:0;margin:0 26px;overflow:auto;border:1px solid #e1e7f0;border-radius:11px}.user-import-table table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px}.user-import-table th{position:sticky;top:0;z-index:1;background:#f4f7fb;text-align:left;color:#526078}.user-import-table th,.user-import-table td{padding:9px 10px;border-bottom:1px solid #e8edf4;vertical-align:top}.user-import-table td small{display:block;max-width:280px;margin-top:5px;color:#a33a31;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.user-import-errors{flex:1 1 auto;min-height:150px;max-height:430px;overflow:auto;border:1px solid #f0d2cf;border-radius:11px;background:#fff9f8}.user-import-errors>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:11px 13px;border-bottom:1px solid #f5e2df;font-size:13px}.user-import-errors>div:last-child{border-bottom:0}.user-import-errors span{overflow-wrap:anywhere;color:#7a4b47}.user-import-success{display:flex;align-items:center;gap:8px;padding:14px;border-radius:10px;background:#edf9f2;color:#12633f}.user-import-modal .modal-actions{position:relative;flex:0 0 auto;margin:16px 0 0;padding:16px 26px 20px;background:var(--surface,#fff);border-top:1px solid var(--border,#e8ecf3)}@media(max-width:680px){.user-heading-actions{width:100%;display:grid;grid-template-columns:1fr}.user-heading-actions button{justify-content:center}.modal.user-import-modal{width:calc(100vw - 24px);max-height:94vh;border-radius:14px}.user-import-modal>.modal-title{padding:18px}.user-import-modal>.muted,.user-import-modal>.user-import-file,.user-import-modal>.user-import-alert,.user-import-modal>.import-status,.user-import-modal>.user-import-file-name,.user-import-modal>.user-import-summary,.user-import-modal>.user-import-success,.user-import-modal>.user-import-errors{margin-left:18px;margin-right:18px}.user-import-table{margin-left:18px;margin-right:18px}.user-import-summary{grid-template-columns:1fr}.user-import-file-name{align-items:flex-start;flex-wrap:wrap}.user-import-file-name span{width:100%;margin-left:25px}.user-import-errors>div{grid-template-columns:1fr;gap:4px}.user-import-modal .modal-actions{padding:14px 18px}.user-import-modal .modal-actions button{flex:1}}@media(max-width:680px){.modal.user-import-modal.has-import-content{height:94vh}.user-import-modal .user-import-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.user-import-modal .user-import-summary>div{padding:10px}.user-import-modal .user-import-summary b{font-size:19px}}.users-directory{padding:0;overflow:hidden}.user-select-column{width:46px!important;min-width:46px;padding-left:15px!important;padding-right:8px!important;text-align:center!important}.user-select-checkbox{width:16px;height:16px;margin:0;accent-color:#3157d5;cursor:pointer}.user-select-checkbox:disabled{cursor:not-allowed;opacity:.45}.user-select-checkbox:focus-visible{outline:3px solid rgba(49,87,213,.25);outline-offset:2px}.bulk-delete-layer{z-index:1200}.modal.bulk-delete-modal{position:relative;inset:auto;z-index:1201;width:min(620px,calc(100vw - 32px));display:flex;flex-direction:column;place-items:initial;padding:0;overflow:hidden;background:var(--surface,#fff);color:var(--text,#172036);border:1px solid var(--border,#dfe5ef);border-radius:18px;box-shadow:0 28px 90px #12203f52}.bulk-delete-modal>.modal-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 17px;border-bottom:1px solid var(--border,#e8ecf3)}.bulk-delete-modal>.modal-title h2{margin:4px 0 0}.bulk-delete-modal>.modal-title p{margin:0}.bulk-delete-modal>.modal-title>button{position:static;display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;padding:0;border:1px solid var(--border,#dfe5ef);border-radius:10px;background:var(--surface,#fff);color:inherit}.bulk-delete-content{padding:20px 24px}.bulk-delete-content>p{margin:0 0 8px;line-height:1.55}.bulk-delete-content .user-import-summary{margin:0}.bulk-delete-skipped{max-height:230px;margin-top:14px;overflow:auto;border:1px solid #f0d2cf;border-radius:10px}.bulk-delete-skipped>div{display:grid;gap:4px;padding:10px 12px;border-bottom:1px solid #f5e2df}.bulk-delete-skipped>div:last-child{border-bottom:0}.bulk-delete-skipped span{color:#7a4b47;font-size:12px;overflow-wrap:anywhere}.bulk-delete-modal>.modal-actions{margin:0;padding:16px 24px 20px;border-top:1px solid var(--border,#e8ecf3)}.bulk-delete-confirm{background:#b42318;color:#fff;border-color:#b42318}.bulk-delete-confirm:hover{background:#951d14}.bulk-delete-confirm:disabled{cursor:not-allowed;opacity:.6}@media(max-width:680px){.user-heading-actions .danger-ghost{justify-content:center}.bulk-delete-modal>.modal-title,.bulk-delete-content{padding-left:18px;padding-right:18px}.bulk-delete-modal>.modal-actions{padding:14px 18px}.bulk-delete-modal>.modal-actions button{flex:1}}.dashboard-heading-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.dashboard-heading-brand>.logo-mark{flex:0 0 42px;width:42px;height:42px;margin:0}.dashboard-school-logo{width:44px;height:44px;flex:0 0 44px;margin:0;border-radius:11px;object-fit:contain;background:var(--surface,#fff);border:1px solid var(--border,#e2e7ef)}.dashboard-heading-brand h1{margin:0 0 7px}.dashboard-heading-brand p+p{margin-top:4px}.stat-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:38px}.stats article .stat-card-title span{color:#768299;line-height:1.35}.stat-card-title svg{width:18px;height:18px;flex:0 0 18px;color:#68758d;stroke-width:1.8}.dashboard-lower{grid-template-columns:1fr}.booking-progress-row{display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(260px,1fr) 92px;align-items:center;gap:12px}.booking-row-details{display:flex;align-items:center;gap:12px;min-width:0}.booking-progress{display:grid;gap:6px;min-width:0}.booking-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#53617a}.booking-progress strong{color:#3157d5}.booking-progress progress{width:100%;height:5px;border:0;border-radius:99px;overflow:hidden;background:#edf1f6}.booking-progress progress::-webkit-progress-bar{background:#edf1f6}.booking-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#5578f0,#31b7d3);border-radius:99px}.booking-status{justify-self:start;font-style:normal;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#eaf8f2;color:#1c835e;font-size:9px;font-weight:800}.booking-status.full{background:#fff0f1;color:#c24250}.dashboard-event-panel .dashboard-card-head{margin-bottom:14px}.dashboard-event-panel .dashboard-card-head h3{margin:0}.dashboard-event-panel .dashboard-card-head .eyebrow{margin:0 0 5px}.dashboard-event-row{padding:12px}.dashboard-event-row.booking-progress-row{grid-template-columns:minmax(210px,1.1fr) minmax(260px,1fr) 92px}.dashboard-event-row.compact-event-row{grid-template-columns:minmax(0,1fr)}.event-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:6px 22px;margin-top:7px}.dashboard-event-row .event-metrics span{color:var(--muted,#768299);font-size:12px;white-space:nowrap}.dashboard-event-row .event-metrics strong{margin-right:3px;color:inherit}@media(max-width:850px){.booking-progress-row,.dashboard-event-row.booking-progress-row{grid-template-columns:minmax(0,1fr) auto}.booking-progress-row>.booking-progress{grid-column:1/-1}.booking-progress-row>.booking-status{grid-column:2;grid-row:1}.event-metrics{gap:6px 14px}}@media(max-width:700px){.dashboard-heading-brand{gap:10px}.dashboard-heading-brand>.logo-mark,.dashboard-school-logo{width:40px;height:40px;flex-basis:40px;margin:0}.stat-card-title{min-height:0}}.dashboard-heading{align-items:flex-start}.dashboard-heading-brand{min-width:0}.dashboard-school-brand{display:flex;align-items:center;gap:11px;max-width:100%;min-width:0}.dashboard-school-brand b{font-size:31px;line-height:1.15;overflow-wrap:anywhere}.booking-progress progress{height:7px}.booking-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#2f6df6,#169fe5)}.booking-progress progress::-moz-progress-bar{background:linear-gradient(90deg,#2f6df6,#169fe5);border-radius:99px}.dashboard-event-progresses{display:grid;gap:9px;min-width:0}.dashboard-event-progress-line{display:grid;grid-template-columns:minmax(260px,1fr) 92px;align-items:center;gap:12px}.attendance-empty{color:var(--muted,#768299);font-size:11px}.dashboard-schedule .dashboard-card-head p{margin:4px 0 0;color:var(--muted,#768299);font-size:12px}@media(max-width:700px){.dashboard-school-brand>.logo-mark,.dashboard-school-logo{width:40px;height:40px;flex-basis:40px;margin:0}.dashboard-school-brand b{max-width:min(72vw,480px);font-size:clamp(22px,7vw,31px)}.dashboard-event-progress-line{grid-template-columns:minmax(0,1fr) auto}}.dashboard-event-row.booking-progress-row{grid-template-columns:minmax(210px,1.1fr) minmax(260px,1fr)}@media(max-width:850px){.dashboard-event-row.booking-progress-row{grid-template-columns:minmax(0,1fr)}.dashboard-event-row.booking-progress-row>.dashboard-event-progresses{grid-column:1/-1}}.selectable-teachers .table-head,.selectable-teachers .teacher-row{grid-template-columns:36px minmax(220px,1.35fr) minmax(150px,1fr) minmax(150px,1.35fr) 90px 120px}.selectable-teachers .user-select-column{width:36px!important;min-width:36px;padding:0!important;display:grid;place-items:center}.teacher-heading-actions{flex-wrap:wrap}.busy-row .busy-delete{width:36px;height:36px;padding:0;justify-self:center}.busy-heading>div{min-width:0}.schedule-default-setting{margin:18px 0 6px;padding:14px 16px;border:1px solid var(--border,#dfe5ef);border-radius:12px;background:var(--surface-soft,#f8fafc)}.schedule-default-setting label{display:flex;align-items:center;gap:10px;font-weight:800;cursor:pointer}.schedule-default-setting input{width:18px;height:18px;margin:0;accent-color:#3157d5}.schedule-default-setting input:focus-visible{outline:3px solid rgba(49,87,213,.25);outline-offset:2px}.schedule-default-setting small{display:block;margin:7px 0 0 28px;color:var(--muted,#73809a);line-height:1.45}.daily-schedule-card input:disabled,.daily-schedule-card select:disabled{cursor:not-allowed;opacity:.7;background:var(--surface-soft,#f4f6fa)}@media(max-width:1100px){.selectable-teachers .teacher-row{grid-template-columns:36px minmax(190px,1.4fr) minmax(130px,1fr) minmax(130px,1fr) 80px auto}.selectable-teachers .teacher-row .row-actions{grid-column:6}}@media(max-width:760px){.selectable-teachers .teacher-row{grid-template-columns:36px minmax(0,1fr)}.selectable-teachers .teacher-row>.user-select-column{grid-column:1;grid-row:1}.selectable-teachers .teacher-row>.teacher-person{grid-column:2;grid-row:1}.selectable-teachers .teacher-row>div:not(.user-select-column):not(.teacher-person),.selectable-teachers .teacher-row>em{grid-column:2}.selectable-teachers .teacher-row .row-actions{grid-column:2;justify-content:flex-start}.teacher-heading-actions{justify-content:flex-start}}.meeting-schedule-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.meeting-schedule-modes>label{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #dfe5ef;border-radius:12px;background:#fff;cursor:pointer}.meeting-schedule-modes>label.selected{border-color:#3157d5;background:#f4f7ff;box-shadow:0 0 0 2px #3157d51a}.meeting-schedule-modes input{margin-top:3px;accent-color:#3157d5}.meeting-schedule-modes span,.meeting-schedule-modes small{display:block}.meeting-schedule-modes small{margin-top:4px;color:#73809a;font-weight:500;line-height:1.4}.custom-meeting-schedule{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 18px;padding:15px;border:1px solid #dce3ef;border-radius:13px;background:#f8faff}.custom-meeting-schedule label{display:grid;align-content:start;gap:7px;font-size:12px;font-weight:800;color:#34425c}.custom-meeting-schedule input,.custom-meeting-schedule select{width:100%;min-height:42px;padding:10px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;color:#17243e}.custom-meeting-schedule small{color:#73809a;font-weight:500}@media(max-width:760px){.meeting-schedule-modes{grid-template-columns:1fr}.custom-meeting-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.custom-meeting-schedule{grid-template-columns:1fr}}.booking-page-shell .booking-calendar button.closed-date:not(.has-booking){background:#e5e7eb;border-color:#9ca3af;color:#374151}.booking-page-shell .booking-calendar button.closed-date:not(.has-booking):hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.booking-page-shell .booking-calendar button.past-date:not(.has-booking){background:#fee2e2;border-color:#fca5a5;color:#991b1b}.booking-page-shell .booking-calendar button.past-date:not(.has-booking):hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.booking-page-shell .booking-calendar button.has-booking{background:#feeceb;border-color:#ef9a9e;color:#92272d;box-shadow:inset 0 0 0 2px #2563eb}.booking-page-shell .booking-calendar button.selected:not(:disabled){outline:3px solid #3157d5;outline-offset:-3px;box-shadow:inset 0 0 0 2px #fff}.booking-page-shell .booking-calendar button:disabled{cursor:not-allowed}.school-holidays-modal.modal-card{display:flex;flex-direction:column;width:min(650px,calc(100vw - 32px));height:min(760px,calc(100vh - 50px));min-height:0;max-height:92vh;overflow:hidden}.school-holidays-modal .school-holidays-scroll{flex:1 1 auto;min-height:80px;max-height:none;overflow-y:auto;margin-top:16px;padding:0 6px 28px 0}.school-holidays-modal>.school-holidays-footer{position:static!important;inset:auto!important;flex:0 0 auto;margin:0 -34px -34px!important;padding:18px 34px!important;background:#fff;border-top:1px solid #edf0f5}.school-holidays-modal>.school-holidays-footer .secondary{margin-left:auto}@media(max-width:650px){.school-holidays-modal.modal-card{width:min(650px,calc(100vw - 20px));height:calc(100vh - 30px);padding:24px}.school-holidays-modal>.school-holidays-footer{margin:0 -24px -24px!important;padding:15px 24px!important}.school-holidays-modal .school-holidays-scroll{padding-bottom:24px}}.booking-page-shell{display:flex;flex-direction:column}.booking-page-shell>.booking-page-heading{order:1}.booking-page-shell>.booking-calendar-card{order:2}.booking-page-shell>.booking-layout{order:3}.booking-calendar-card{margin-bottom:18px}.booking-layout .booking-reports>.panel-title:first-child,.booking-layout .booking-reports>.booking-calendar-toolbar,.booking-layout .booking-reports>.booking-weekdays,.booking-layout .booking-reports>.booking-calendar{display:none}.booking-calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0;color:#657189;font-size:12px}.booking-calendar-legend span{display:flex;align-items:center;gap:6px}.booking-calendar-legend i{width:12px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.12)}.booking-calendar-legend .past-key,.booking-calendar .past-date{background:#fee2e2;color:#991b1b}.booking-calendar-legend .closed-key,.booking-calendar .closed-date{background:#e5e7eb;color:#374151;border-color:#9ca3af}.booking-calendar-legend .booked-key{background:#dbeafe;border-color:#2563eb}.booking-calendar-legend .selected-key{background:#fff;border:3px solid #3157d5}.booking-calendar button:disabled{cursor:not-allowed;opacity:.82}.booking-calendar button.closed-date b,.booking-calendar button.closed-date small,.booking-calendar button.past-date b,.booking-calendar button.past-date small{color:inherit}.booking-calendar button.closed-date{background:#e5e7eb;border-color:#9ca3af}.booking-calendar button.past-date{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.booking-calendar button.has-booking{background:#feeceb;border-color:#ef9a9e;color:#92272d;box-shadow:inset 0 0 0 2px #2563eb}.booking-calendar button.selected{outline:3px solid #3157d5;outline-offset:-3px;box-shadow:inset 0 0 0 2px #fff}.booking-calendar button.outside{opacity:.55}.selectable-teachers .table-head,.selectable-teachers .teacher-row{grid-template-columns:36px minmax(220px,1.35fr) minmax(150px,1fr) minmax(150px,1.35fr) minmax(100px,.7fr) 90px 120px}@media(max-width:1100px){.selectable-teachers .teacher-row{grid-template-columns:36px minmax(190px,1.4fr) minmax(130px,1fr) minmax(130px,1fr) minmax(90px,.7fr) 80px auto}.selectable-teachers .teacher-row .row-actions{grid-column:7}}.reservations-report .setup-filter label,.reservations-report .reservation-filter-select{flex:1 1 145px;min-width:145px}.reservations-report .setup-filter>button{flex:0 0 auto;white-space:nowrap}.reservation-filter-select{position:relative;display:grid;gap:7px;font-weight:700}.reservation-filter-label{font-size:13px;color:inherit}.reservation-filter-trigger{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;border:1px solid #dfe5ef;border-radius:10px;background:#fff;color:#27324a;text-align:left}.reservation-date-filter input[type=date]{width:100%;height:42px;margin:0;padding:0 11px;border:1px solid #dfe5ef;border-radius:10px;background:#fff;color:#27324a;font:inherit;font-weight:inherit;text-align:left;outline:0;color-scheme:light}.reservation-filter-trigger:hover,.reservation-date-filter input[type=date]:hover{border-color:#c5cedc}.reservation-filter-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-filter-trigger svg{flex:0 0 auto}.reservation-filter-trigger:focus-visible,.reservation-date-filter input[type=date]:focus,.reservation-date-filter input[type=date]:focus-visible{outline:3px solid rgba(49,87,213,.2);outline-offset:0;border-color:#3157d5}.reservation-filter-trigger:disabled{cursor:not-allowed;opacity:.65;background:#f3f4f6}.reservation-date-filter input[type=date]::-webkit-datetime-edit{padding:0;font:inherit}.reservation-date-filter input[type=date]::-webkit-calendar-picker-indicator{margin:0;padding:2px;cursor:pointer;align-self:center}.reservation-filter-options{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:5px;border:1px solid #dfe5ef;border-radius:10px;background:#fff;box-shadow:0 14px 34px #16223f2e}.reservation-filter-options button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;color:#27324a;text-align:left;white-space:normal}.reservation-filter-options button:hover,.reservation-filter-options button.active{background:#f1f4fb}.reservation-filter-options button.selected{color:#3157d5;font-weight:800}.reservation-filter-options button:focus-visible{outline:2px solid #3157d5;outline-offset:-2px}.reservations-table{overflow-x:auto}.reservations-table .table-head,.reservations-table .teacher-row{grid-template-columns:36px minmax(115px,.8fr) minmax(125px,.9fr) minmax(160px,1.15fr) minmax(160px,1.15fr) minmax(285px,1.7fr) minmax(125px,.8fr) 42px;min-width:1160px;gap:12px}.reservations-table .reservation-select{display:grid;place-items:center;min-width:0}.reservations-table .academic-heading{white-space:nowrap}.reservations-table .table-head>span:nth-last-child(2){white-space:nowrap}.reservations-table .reference-number{justify-self:start;font-weight:700}.reservations-table .reservation-action{justify-self:end}@media(max-width:760px){.reservations-table{overflow:visible}.reservations-table .teacher-row{min-width:0;grid-template-columns:36px minmax(0,1fr)}.reservations-table .teacher-row>.reservation-select{grid-column:1;grid-row:1}.reservations-table .teacher-row>*:not(.reservation-select){grid-column:2}.reservations-table .reference-number:before{content:attr(data-label);display:block;margin-bottom:4px;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase}.reservations-table .reservation-action{justify-self:start}}@media print{@page reservations{size:auto;margin:12mm}.app:has(.reservations-report){display:block!important;width:100%!important;max-width:none!important}.content:has(>.reservations-report){display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;grid-column:auto!important}.reservations-report{page:reservations;position:static!important;width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important}.reservations-report .school-print-header,.reservations-report .heading,.reservations-report .reservations-directory{width:100%!important;max-width:none!important}.reservations-report .heading{margin:0 0 12px!important;display:block!important}.reservations-report .heading .eyebrow{display:none!important}.reservations-report .reservations-directory{break-inside:auto!important;page-break-inside:auto!important;border:0!important;padding:0!important;margin:0!important;overflow:visible!important}.reservations-report .reservations-table{display:table!important;width:100%!important;min-width:0!important;overflow:visible!important;border-collapse:collapse!important;table-layout:fixed!important}.reservations-report .reservations-table .table-head{display:table-header-group!important}.reservations-report .reservations-table .teacher-row{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important;min-width:0!important}.reservations-report .reservations-table .table-head>span:not(.no-print),.reservations-report .reservations-table .teacher-row>div:not(.no-print),.reservations-report .reservations-table .teacher-row>span:not(.no-print){display:table-cell!important;padding:7px!important;border:1px solid #dfe4ee!important;vertical-align:top!important;overflow-wrap:anywhere!important;font-size:9px!important}.reservations-report .reservations-table .table-head>span:not(.no-print){font-weight:800!important;background:#f5f7fb!important}.reservations-report .reservations-table .table-head>span:nth-of-type(2){width:14%}.reservations-report .reservations-table .table-head>span:nth-of-type(3){width:14%}.reservations-report .reservations-table .table-head>span:nth-of-type(4){width:18%}.reservations-report .reservations-table .table-head>span:nth-of-type(5){width:18%}.reservations-report .reservations-table .table-head>span:nth-of-type(6){width:25%}.reservations-report .reservations-table .table-head>span:nth-of-type(7){width:11%}.reservations-report .school-print-header{margin-bottom:10px!important}}.schedule-default-setting{margin-bottom:18px}.meeting-builder,.public-booking{--meeting-control-border:#d1d5db;--meeting-control-border-hover:#9ca3af;--meeting-control-focus:#3157d5}.meeting-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.public-booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid var(--meeting-control-border);background-color:#fff}.meeting-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not(:disabled):not(.field-invalid):hover,.public-booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not(:disabled):not(.field-invalid):hover{border-color:var(--meeting-control-border-hover)}.meeting-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,.meeting-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus-visible,.public-booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,.public-booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus-visible{border-color:var(--meeting-control-focus);outline:0;box-shadow:0 0 0 3px #3157d52e}.meeting-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea):disabled,.public-booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea):disabled{border-color:#d7dbe2;background-color:#f3f4f6;color:#737b89;cursor:not-allowed;opacity:1}.meeting-builder :is(input,select,textarea).field-invalid,.meeting-builder :is(input,select,textarea).field-invalid:hover,.meeting-builder :is(input,select,textarea).field-invalid:focus,.public-booking :is(input,select,textarea).field-invalid,.public-booking :is(input,select,textarea).field-invalid:hover,.public-booking :is(input,select,textarea).field-invalid:focus{border-color:#c83f4d;box-shadow:0 0 0 3px #c83f4d1a}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message)){width:min(980px,100%)}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>.brand-inline{padding-bottom:18px;border-bottom:1px solid var(--line)}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>.brand-inline b{min-width:0;font-size:18px;overflow-wrap:anywhere}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>.eyebrow{margin:24px 0 5px}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>h1{font-size:32px;line-height:1.18;overflow-wrap:anywhere}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>h1+p{max-width:720px;margin:10px 0 0;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>h1+p+p{margin:18px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#f8faff;color:#42506b}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form{display:grid;gap:20px;margin-top:24px;padding:22px;border-radius:17px;background:#fff;border:1px solid var(--line)}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3{margin:0;padding-bottom:15px;border-bottom:1px solid var(--line);font-size:20px;color:#42506b}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>div:first-of-type{gap:14px}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form label{gap:7px;font-size:13px;color:#263550}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form :is(input:not([type=checkbox]),select){width:100%;min-height:43px;padding:11px 12px;border-radius:10px;font:inherit;color:#17243e}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list{display:grid;gap:14px;padding-top:2px}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel{margin:0;padding:18px;border-radius:14px;background:#fbfcff;box-shadow:none}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel>.panel-title{margin-bottom:15px}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list+.secondary{justify-self:start;border:0;background:transparent;color:#3157d5;padding:0;font-weight:800}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>.error{margin:0;border:1px solid #f1c9ce}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>button.primary{width:100%;min-height:46px;margin:0;border-radius:10px;font-weight:800}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message)>.success-message{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px 12px;align-items:start;margin-top:24px;padding:22px;border:1px solid #cce7d6;border-radius:17px;background:#f3fbf6;color:#21704a;font-weight:700;overflow-wrap:anywhere}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message)>.success-message>svg{grid-row:1/6;width:42px;height:42px;padding:9px;border-radius:50%;background:#e0f4e8}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message) .booking-reference{background:#fff;border:1px solid #d7e2f4}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message) .event-qr-image{display:block;width:220px;height:220px;max-width:100%;object-fit:contain;margin:12px 0;border-radius:10px;background:#fff}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message)>.success-message>div{min-width:0}@media(max-width:760px){.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>h1{font-size:27px}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel>div:last-child{grid-template-columns:1fr 1fr}}@media(max-width:520px){.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel>div:last-child{grid-template-columns:1fr}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message)>.success-message{grid-template-columns:1fr}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.success-message)>.success-message>svg{grid-row:auto}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>.brand-inline{align-items:flex-start;flex-wrap:wrap}}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>.eyebrow{font-size:0}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+:is(.parent-form,.success-message))>.eyebrow:before{content:"EVENT REGISTRATION";font-size:11px}.public-card:has(>.brand-inline+.eyebrow+h1+p:empty+p+:is(.parent-form,.success-message))>h1+p:before{content:"Complete the details below to register for this event."}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form{counter-reset:event-registration-step}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;align-items:center;font-size:0}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3:before,.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list:before,.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label:before{counter-increment:event-registration-step;content:counter(event-registration-step);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#3157d5;color:#fff;font-size:14px;font-weight:800}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3:after{content:"Your details\a Enter the parent contact information for this registration.";white-space:pre-line;font-size:20px;line-height:1.25;color:#42506b}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3:after{grid-column:2}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3{color:transparent}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3:after{background:linear-gradient(#42506b,#42506b) top left/100% 24px no-repeat;color:transparent;position:relative}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3:after{text-shadow:0 29px 0 var(--muted)}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>div:first-of-type{grid-template-columns:repeat(3,minmax(0,1fr))}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>div:first-of-type>label:has(input[type=number]){grid-column:1/-1;margin-top:6px;padding-top:20px;border-top:1px solid var(--line);grid-template-columns:42px minmax(180px,320px);align-items:end}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>div:first-of-type>label:has(input[type=number]):before{counter-increment:event-registration-step;content:counter(event-registration-step);width:30px;height:30px;display:grid;place-items:center;align-self:start;border-radius:50%;background:#3157d5;color:#fff;font-size:14px;font-weight:800}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list{grid-template-columns:42px minmax(0,1fr);padding-top:20px;border-top:1px solid var(--line)}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list:before{grid-column:1;grid-row:1;align-self:start}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel{grid-column:2}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label{display:grid;grid-template-columns:42px minmax(0,1fr);padding-top:20px;border-top:1px solid var(--line)}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label:before{grid-column:1;grid-row:1/4;align-self:start}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label>select,.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label>small{grid-column:2}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>button.primary{margin-top:2px}@media(max-width:760px){.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>div:first-of-type{grid-template-columns:1fr 1fr}}@media(max-width:520px){.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>div:first-of-type{grid-template-columns:1fr}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list{grid-template-columns:1fr}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel{grid-column:1}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label{grid-template-columns:1fr}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label>select,.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>label>small{grid-column:1}}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form)>.parent-form>h3:after{content:"Your details";font-size:20px;line-height:1.25;color:#42506b;background:none;text-shadow:none}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list:after{content:"Student details";grid-column:2;grid-row:1;align-self:center;color:#42506b;font-size:20px;font-weight:800}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel:first-of-type{grid-row:2}@media(max-width:520px){.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list:after{grid-column:1;grid-row:auto}.public-card:has(>.brand-inline+.eyebrow+h1+p+p+.parent-form) .student-registration-list>.panel:first-of-type{grid-row:auto}}.event-public-card{width:min(980px,100%)}.event-public-card>.brand-inline{padding-bottom:18px;border-bottom:1px solid var(--line)}.event-public-card>.brand-inline b{font-size:18px;overflow-wrap:anywhere}.event-public-card>.eyebrow{margin:24px 0 5px}.event-public-card>h1{font-size:32px;line-height:1.18;overflow-wrap:anywhere}.event-public-card>h1+p{max-width:720px;margin:10px 0 0;color:var(--muted);line-height:1.6}.event-public-meta{margin:18px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#f8faff;color:#42506b}.event-registration-form{display:grid;gap:0}.event-registration-form .student-step{margin-top:24px}.event-registration-form .step-heading{align-items:flex-start}.event-registration-form .step-heading>span{margin-top:0}.event-registration-form .step-heading h2{line-height:30px}.event-contact-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.event-student-entry{padding:16px 0 20px;border-bottom:1px solid var(--line)}.event-student-entry:first-of-type{padding-top:0}.event-student-entry:last-of-type{padding-bottom:0;border-bottom:0}.event-student-entry>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.event-student-entry h3,.event-student-entry p{margin:0}.event-student-entry .eyebrow{margin-bottom:4px}.event-students-section>.add-student{padding:0}.event-confirm-section .confirm-family-booking{width:100%;min-height:46px}.event-public-confirmation{width:min(850px,100%)}.event-public-confirmation>.eyebrow{margin-top:22px}.event-public-confirmation>.event-confirmation-qr{display:grid;justify-items:start}.event-public-confirmation .event-qr-image{width:220px;height:220px;max-width:100%;object-fit:contain}.event-registration-form :is(input:not([type=checkbox]),select){min-height:43px}.event-registration-form .error{margin:0 0 14px}@media(max-width:760px){.event-public-card>h1{font-size:27px}.event-contact-fields{grid-template-columns:1fr 1fr}}@media(max-width:520px){.event-contact-fields{grid-template-columns:1fr}.event-public-card>.brand-inline{align-items:flex-start;flex-wrap:wrap}.event-registration-form .student-step{padding:16px}}.event-student-entry .student-fields>label:nth-child(1),.student-card .student-fields>label:nth-child(1){font-size:0}.event-student-entry .student-fields>label:nth-child(1):before,.student-card .student-fields>label:nth-child(1):before{content:"Student Name";font-size:13px}.event-student-entry .student-fields>label:nth-child(2),.student-card .student-fields>label:nth-child(2){font-size:0}.event-student-entry .student-fields>label:nth-child(2):before,.student-card .student-fields>label:nth-child(2):before{content:"Student Family Name";font-size:13px}.event-student-entry .student-fields>label:nth-child(-n+2)>input,.student-card .student-fields>label:nth-child(-n+2)>input{font-size:16px}.event-student-entry .student-fields>label:nth-child(-n+2)>.field-error,.student-card .student-fields>label:nth-child(-n+2)>.field-error{font-size:12px}.event-student-entry .checkbox-line{display:inline-flex!important;align-items:center;justify-content:flex-start;justify-self:start;gap:8px;width:auto;min-height:43px;white-space:nowrap;font-size:13px}.event-student-entry .checkbox-line input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;margin:0}@media(max-width:520px){.event-student-entry .checkbox-line{white-space:normal}}.student-booking .student-card{margin-top:0;padding:18px 0;border:0;border-radius:0;background:transparent}.student-booking .student-card+.student-card{margin-top:18px;padding-top:32px;border-top:1px solid var(--line)}.student-confirmation .confirmation-parent{margin:12px 0 0;overflow-wrap:anywhere}.student-confirmation .confirmation-student-groups{display:grid;margin-top:18px}.student-confirmation .confirmation-student-group{margin:0;padding:16px 0;border:0;border-radius:0}.student-confirmation .confirmation-student-group+.confirmation-student-group{border-top:1px solid var(--line)}.student-confirmation .confirmation-student-group h2{margin:0 0 10px;overflow-wrap:anywhere}.student-confirmation .confirmation-student-group>div{margin-left:12px}@media(max-width:520px){.student-confirmation .confirmation-student-group>div{margin-left:0}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.help-search{width:min(720px,100%);margin:-6px 0 20px;display:flex;align-items:center}.help-search input{height:44px;padding-right:118px!important}.help-search input:focus{outline:0;border-color:#3157d5;box-shadow:0 0 0 3px #3157d517}.help-search>button{position:absolute;right:10px;border:0;background:transparent;color:#3157d5;font-weight:800;padding:8px}.settings-content.help-search-active>:not(.help-search-results){display:none}.help-search-results{margin-top:0}.help-search-results>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.help-search-results>header h2,.help-search-results>header p{margin:0}.help-search-results>header p{margin-top:4px;color:var(--muted);font-size:13px}.help-search-results>div:not(.help-search-empty){display:grid;gap:10px}.help-search-results>div>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text)}.help-search-results>div>button:hover,.help-search-results>div>button:focus-visible{border-color:#3157d5;box-shadow:0 0 0 3px #3157d517;outline:0}.help-search-results>div>button>span,.help-search-results>div>button>b,.help-search-results>div>button>small{grid-column:1;overflow-wrap:anywhere}.help-search-results>div>button>span{color:#3157d5;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.help-search-results>div>button>small{color:var(--muted);line-height:1.45}.help-search-results>div>button>em{grid-column:2;grid-row:1/4;align-self:center;display:flex;align-items:center;gap:4px;color:#3157d5;font-style:normal;font-size:12px;font-weight:800;white-space:nowrap}.help-search-empty{padding:38px 16px;text-align:center;color:var(--muted)}@media(max-width:620px){.help-search-results>header{display:grid}.help-search-results>header .secondary{width:100%}.help-search-results>div>button{grid-template-columns:1fr}.help-search-results>div>button>em{grid-column:1;grid-row:auto;justify-self:start;margin-top:5px}.help-search input{padding-right:105px!important}}.event-consent-group{margin:16px 0 0;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}.event-consent-group legend{padding:0 6px;font-weight:800;color:#42506b}.event-consent-group>p{margin:0 0 12px;color:var(--muted);font-size:13px}.event-consent-group>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-consent-group label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #dfe5ef;border-radius:10px;line-height:1.4;cursor:pointer}.event-consent-group input{flex:0 0 auto;margin-top:3px;accent-color:#3157d5}.event-consent-group label:focus-within{border-color:#3157d5;box-shadow:0 0 0 3px #3157d517}.event-consent-lines{display:grid;gap:4px}.event-consent-lines span{overflow-wrap:anywhere}.event-confirmation-consent span{font-weight:700;color:#53617d}@media(max-width:620px){.event-consent-group>div{grid-template-columns:1fr}}.teacher-modal-layer{overflow:hidden;overscroll-behavior:contain}.teacher-modal.modal-card{display:flex;flex-direction:column;width:min(780px,calc(100vw - 32px));height:auto;min-height:0;max-height:90vh;padding:0;overflow:hidden}.teacher-modal-header{position:relative;flex:0 0 auto;padding:28px 34px 18px;border-bottom:1px solid #edf0f5;background:#fff}.teacher-modal-header .eyebrow{margin:0}.teacher-modal-header h2{margin-bottom:0}.teacher-modal-content{flex:1 1 auto;min-height:0;padding:0 34px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-modal.modal-card>footer{position:static!important;inset:auto!important;flex:0 0 auto;margin:0!important;padding:18px 34px!important;border-top:1px solid #edf0f5;background:#fff}@media(max-width:760px){.teacher-modal.modal-card{width:min(780px,calc(100vw - 20px));max-height:90vh}.teacher-modal-header{padding:22px 22px 16px}.teacher-modal-content{padding:0 22px 20px}.teacher-modal.modal-card>footer{padding:15px 22px!important}}.event-check-in-page{display:grid;gap:20px}.check-in-selectors{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.check-in-selectors label{flex:1;min-width:240px}.check-in-selectors select{width:100%}.check-in-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.check-in-stats article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;display:grid;gap:8px}.check-in-stats span{color:var(--muted);font-size:13px}.check-in-stats b{font-size:28px}.check-in-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:start}.check-in-entry,.check-in-result{min-height:320px}.check-in-form{display:flex;align-items:end;gap:12px;margin-top:18px}.check-in-form label{flex:1}.check-in-form input{width:100%;font-size:22px;letter-spacing:.08em;text-transform:none}.camera-area{display:grid;gap:12px}.camera-area video{width:100%;min-height:230px;max-height:420px;background:#101828;border-radius:12px;object-fit:cover}.camera-actions{display:flex;gap:10px;flex-wrap:wrap}.camera-actions button{min-height:44px}.result-outcome{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:#ecfdf3;color:#067647}.check-in-result.already .result-outcome{background:#fffaeb;color:#b54708}.result-outcome svg{flex:none}.result-outcome div{display:grid;gap:3px}.check-in-result dl{display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:9px 16px;margin-top:18px}.check-in-result dt{color:var(--muted)}.check-in-result dd{margin:0;font-weight:600}.recent-check-in-table .table-head,.recent-check-in-table .teacher-row{display:grid;grid-template-columns:90px 110px 1fr 1fr 100px 100px;gap:12px;align-items:center}.recent-check-in-table .teacher-row{padding:12px 0;border-top:1px solid var(--border)}.recent-check-in-table em{font-style:normal;color:#067647;font-weight:700;font-size:12px}.event-qr-image{display:block;max-width:220px;width:100%;height:auto;margin:12px auto}@media(max-width:900px){.check-in-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.check-in-workspace{grid-template-columns:1fr}.recent-check-in-table{overflow-x:auto}.recent-check-in-table .table-head,.recent-check-in-table .teacher-row{min-width:720px}}@media(max-width:560px){.check-in-stats{grid-template-columns:1fr 1fr}.check-in-stats article{padding:14px}.check-in-stats b{font-size:23px}.check-in-selectors{display:grid}.check-in-selectors label{min-width:0}.check-in-form{display:grid}.check-in-form button{min-height:48px}.camera-actions{display:grid;grid-template-columns:1fr 1fr}.camera-area video{min-height:280px}.check-in-result dl{grid-template-columns:1fr}.check-in-result dd{margin-bottom:7px}}.check-in-print-root{display:none}.recent-check-ins>.panel-title{display:flex;align-items:center;justify-content:space-between;width:100%;gap:24px;margin-bottom:18px}.recent-check-ins>.panel-title>div:first-child{min-width:0}.recent-check-ins>.panel-title .heading-actions{display:flex;gap:10px;margin-left:auto;flex:0 0 auto}.recent-check-in-table{overflow-x:auto}.recent-check-in-table .table-head,.recent-check-in-table .teacher-row{grid-template-columns:90px 110px minmax(150px,1.1fr) minmax(150px,1.1fr) minmax(130px,.9fr) 130px 130px minmax(160px,1.2fr) 110px 110px;min-width:1380px;gap:12px;padding:12px;text-align:left;align-items:start}.recent-check-in-table .table-head>*,.recent-check-in-table .teacher-row>*{min-width:0;margin:0;padding:0;justify-self:stretch;text-align:left}.recent-check-in-table .teacher-row>span,.recent-check-in-table .teacher-row>b{overflow-wrap:anywhere}.recent-check-in-table .teacher-row>em{justify-self:start}@media(max-width:760px){.recent-check-ins>.panel-title{align-items:flex-start;flex-wrap:wrap}.recent-check-ins>.panel-title .heading-actions{margin-left:0}.recent-check-ins>.panel-title .heading-actions button{min-height:44px}}@page checkInReport{size:auto;margin:10mm}@media print{#root{display:none!important}html,body{width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}.check-in-print-root,.check-in-print-root *{visibility:visible!important}.check-in-print-root{display:block!important;page:checkInReport;position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0 0 8mm!important;overflow:visible!important;transform:none!important;background:#fff!important;color:#172036!important}.check-in-print-root .school-print-header{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;margin:0 0 10px!important;padding:0 0 10px!important;border-bottom:1px solid #dfe4ee!important}.check-in-print-root .school-print-header img{display:block!important;width:auto!important;height:auto!important;max-width:70px!important;max-height:70px!important;object-fit:contain!important;transform:none!important}.check-in-print-root .check-in-print-heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important;margin:0 0 14px!important;padding:0!important}.check-in-print-root .check-in-print-heading h1{margin:0!important;font-size:20px!important}.check-in-print-root .check-in-print-heading span{font-size:10px!important;color:#657189!important;white-space:nowrap!important}.check-in-print-root .recent-check-in-table{display:table!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;border-collapse:collapse!important;table-layout:fixed!important}.check-in-print-root .recent-check-in-table .table-head{display:table-header-group!important}.check-in-print-root .recent-check-in-table .teacher-row{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important;min-width:0!important;margin:0!important;padding:0!important}.check-in-print-root .recent-check-in-table .table-head>span,.check-in-print-root .recent-check-in-table .teacher-row>*{display:table-cell!important;margin:0!important;padding:5px!important;border:1px solid #dfe4ee!important;vertical-align:top!important;text-align:left!important;overflow-wrap:anywhere!important;font-size:7.5px!important}.check-in-print-root .recent-check-in-table .table-head>span{font-weight:800!important;background:#f5f7fb!important}.check-in-print-root .recent-check-in-table em{font-size:7px!important;background:#e9f8f1!important}.check-in-print-root>footer{display:flex!important;justify-content:space-between!important;margin:8px 0 0!important;padding:5px 0 0!important;border-top:1px solid #dfe4ee!important;font-size:8px!important;color:#657189!important;break-inside:avoid!important}.check-in-print-root .print-page-number:after{content:"Page " counter(page)}}.event-reservation-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px}.event-reservation-tools label{display:grid;gap:6px;min-width:135px;font-size:12px;font-weight:700}.event-reservation-tools input,.event-reservation-tools select{width:100%;min-height:40px}.event-reservation-search{flex:1 1 280px}.event-reservation-search input{padding-right:92px}.event-reservation-search button{position:absolute;right:8px;top:7px;border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:800}.event-reservation-bulk{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;border:1px solid #dce5f5;border-radius:12px;background:#f7f9fc}.event-reservation-bulk b{margin-right:auto}.event-reservations-table-wrap{width:100%;overflow-x:auto}.event-reservations-table{width:100%;min-width:1960px;border-collapse:collapse;table-layout:fixed}.event-reservations-table th,.event-reservations-table td{padding:12px;border-bottom:1px solid #edf0f5;vertical-align:top;text-align:left;overflow-wrap:anywhere;color:#27324a;font-size:12px;line-height:1.45}.event-reservations-table th{background:#f8f9fc;color:#7b879b;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}.event-reservations-table th.select-column,.event-reservations-table td.select-column{width:44px;text-align:center}.event-reservations-table th:nth-child(4),.event-reservations-table td.reference-number{white-space:nowrap}.event-reservations-table td>span,.event-reservations-table td>small{display:block}.event-reservations-table td>small{margin-top:3px;color:var(--muted)}.event-reservations-table em{display:inline-block;padding:4px 7px;border-radius:999px;font-style:normal;font-size:10px;font-weight:800;white-space:nowrap}.event-reservations-table em.active{background:#e9f8f1;color:#24845c}.event-reservations-table em.inactive{background:#f4eef0;color:#8a6470}.event-reservations-table td:last-child .icon{margin:0}.event-reservations-directory{break-inside:auto}@media(max-width:760px){.event-reservation-tools{display:grid;grid-template-columns:1fr}.event-reservation-search,.event-reservation-tools label{min-width:0}.event-reservation-bulk{align-items:stretch;flex-wrap:wrap}.event-reservation-bulk b{width:100%}.event-reservations-table-wrap{overflow:visible}.event-reservations-table{display:block;min-width:0}.event-reservations-table thead{display:none}.event-reservations-table tbody{display:grid;gap:12px;padding:12px}.event-reservations-table tr{display:grid;grid-template-columns:36px minmax(0,1fr);padding:12px;border:1px solid var(--border);border-radius:12px}.event-reservations-table td{display:block;grid-column:2;padding:7px 0;border:0}.event-reservations-table td.select-column{grid-column:1;grid-row:1;width:auto;padding:7px 0}.event-reservations-table td:not(.select-column):before{content:attr(data-label);display:block;margin-bottom:3px;color:#667085;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.event-reservations-table td:last-child .icon{margin-top:3px}}@media print{.event-reservations-report{position:static!important;width:100%!important}.event-reservations-report .event-reservations-directory{border:0!important;overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}.event-reservations-report .event-reservations-table-wrap{overflow:visible!important}.event-reservations-report .event-reservations-table{display:table!important;width:100%!important;min-width:0!important;border-collapse:collapse!important;table-layout:fixed!important}.event-reservations-report .event-reservations-table thead{display:table-header-group!important}.event-reservations-report .event-reservations-table tbody{display:table-row-group!important}.event-reservations-report .event-reservations-table tr{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important}.event-reservations-report .event-reservations-table th,.event-reservations-report .event-reservations-table td{display:table-cell!important;padding:5px!important;border:1px solid #dfe4ee!important;font-size:7px!important;overflow-wrap:anywhere!important}.event-reservations-report .event-reservations-table th{font-size:6.5px!important}.event-reservations-report .event-reservations-table td:before{display:none!important}.event-reservations-report .event-reservations-table em{font-size:6.5px!important;white-space:normal!important}}.event-reservations-table{min-width:1780px}.event-reservations-table .academic-heading{white-space:nowrap}.event-academic-lines{display:grid;gap:3px}.event-academic-lines span{display:block}.event-reservations-print-root{display:none}@page eventReservationsReport{size:auto;margin:10mm}@media print{.event-reservations-print-root,.event-reservations-print-root *{visibility:visible!important}.event-reservations-print-root{display:block!important;page:eventReservationsReport;position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0 0 8mm!important;overflow:visible!important;transform:none!important;background:#fff!important;color:#172036!important}.event-reservations-print-root .school-print-header{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;margin:0 0 10px!important;padding:0 0 10px!important;border-bottom:1px solid #dfe4ee!important}.event-reservations-print-root .school-print-header img{display:block!important;width:auto!important;height:auto!important;max-width:70px!important;max-height:70px!important;object-fit:contain!important;transform:none!important}.event-reservations-print-heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important;margin:0 0 14px!important}.event-reservations-print-heading h1{margin:0!important;font-size:20px!important}.event-reservations-print-heading span{font-size:10px!important;color:#657189!important;white-space:nowrap!important}.event-reservations-print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.event-reservations-print-table thead{display:table-header-group!important}.event-reservations-print-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.event-reservations-print-table th,.event-reservations-print-table td{padding:5px!important;border:1px solid #dfe4ee!important;vertical-align:top!important;text-align:left!important;white-space:pre-line!important;overflow-wrap:anywhere!important;font-size:7px!important}.event-reservations-print-table th{background:#f5f7fb!important;font-size:6.5px!important;font-weight:800!important}.event-reservations-print-root>footer{display:flex!important;justify-content:space-between!important;margin:8px 0 0!important;padding:5px 0 0!important;border-top:1px solid #dfe4ee!important;font-size:8px!important;color:#657189!important;break-inside:avoid!important}.event-reservations-print-root .print-page-number:after{content:"Page " counter(page)}}.event-reservations-table{min-width:0;table-layout:fixed}.event-reservations-table th,.event-reservations-table td{padding:9px 7px;overflow-wrap:anywhere;word-break:break-word}.event-reservations-table th:nth-child(1){width:3%}.event-reservations-table th:nth-child(2){width:8%}.event-reservations-table th:nth-child(3){width:8%}.event-reservations-table th:nth-child(4){width:7%}.event-reservations-table th:nth-child(5){width:8%}.event-reservations-table th:nth-child(6){width:9%}.event-reservations-table th:nth-child(7){width:8%}.event-reservations-table th:nth-child(8){width:11%}.event-reservations-table th:nth-child(9){width:8%}.event-reservations-table th:nth-child(10){width:6%}.event-reservations-table th:nth-child(11){width:4%}.event-reservations-table th:nth-child(12){width:8%}.event-reservations-table th:nth-child(13){width:8%}.event-reservations-table th:nth-child(14){width:4%}.event-reservations-table td.reference-number{overflow-wrap:normal;word-break:normal}.event-student-lines,.event-academic-lines{display:grid;gap:6px;min-width:0}.event-student-lines span{display:block}.event-academic-entry{display:block;min-width:0;white-space:pre-line;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}.event-two-line-cell{display:grid;gap:4px;min-width:0;align-content:start}.event-two-line-cell span{display:block;overflow-wrap:anywhere}.event-reservation-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.event-reservations-table .actions-column{white-space:nowrap;word-break:normal;overflow-wrap:normal}@media(min-width:1101px){.event-reservations-table{width:100%;min-width:0;table-layout:fixed}.event-reservations-table th,.event-reservations-table td{font-size:11px;padding-left:6px;padding-right:6px}.event-reservations-table th:nth-child(1){width:3%}.event-reservations-table th:nth-child(2){width:8%}.event-reservations-table th:nth-child(3){width:8%}.event-reservations-table th:nth-child(4){width:7%}.event-reservations-table th:nth-child(5){width:8%}.event-reservations-table th:nth-child(6){width:8%}.event-reservations-table th:nth-child(7){width:7%}.event-reservations-table th:nth-child(8){width:11%}.event-reservations-table th:nth-child(9){width:7%}.event-reservations-table th:nth-child(10){width:6%}.event-reservations-table th:nth-child(11){width:7%}.event-reservations-table th:nth-child(12){width:8%}.event-reservations-table th:nth-child(13){width:8%}.event-reservations-table th:nth-child(14){width:4%}.event-reservations-table th:nth-child(10),.event-reservations-table td:nth-child(10){padding-right:11px}.event-reservations-table th:nth-child(11),.event-reservations-table td:nth-child(11){padding-left:11px;text-align:center}.event-reservations-table th:nth-child(10){white-space:normal;overflow-wrap:normal;word-break:normal}.event-reservations-table th:nth-child(11){min-width:0}}@media(min-width:761px)and (max-width:1100px){.event-reservations-table{min-width:1120px}.event-reservations-table th,.event-reservations-table td{padding-left:6px;padding-right:6px}}.event-heading-lines,.event-attendance-lines{display:grid;justify-items:start;text-align:left}.event-heading-lines{gap:1px}.event-attendance-lines{gap:3px;line-height:1.4}.event-reservations-table th:nth-child(14),.event-reservations-table .visitors-column{white-space:nowrap}.event-reservations-table th:nth-child(14){min-width:58px}.event-reservations-table .visitors-column{word-break:normal;overflow-wrap:normal}.legal-document-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 26px;border-bottom:1px solid #e8eef6}.legal-document-tabs button{border:1px solid #dce4ef;border-radius:999px;background:#fff;color:#52627a;padding:9px 14px;font-weight:700;cursor:pointer}.legal-document-tabs button.active{border-color:#2b6fd3;background:#eaf2ff;color:#185ac1}.legal-document-tabs button:focus-visible,.legal-checkbox input:focus-visible,.legal-document-body:focus-visible{outline:3px solid #2b6fd340;outline-offset:2px}.legal-document{min-width:0;padding:26px;color:#334155}.legal-document>header{border-bottom:1px solid #e8eef6;padding-bottom:18px}.legal-document h2{margin:4px 0 12px;color:#17243b}.legal-document-meta{display:flex;gap:18px;flex-wrap:wrap;color:#65738a;font-size:12px}.legal-document-body{max-height:58vh;margin-top:20px;padding:0 18px 18px 0;overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere;line-height:1.65}.legal-document-body h3{margin:24px 0 10px;color:#1f2e46;font-size:16px}.legal-document-body p{margin:8px 0}.legal-document-body ul{margin:5px 0;padding-left:22px}.legal-document-body .legal-lead{margin-top:14px;font-weight:700}.legal-space{display:block;height:3px}.legal-document-footer{margin-top:22px;padding:20px;border:1px solid #dce7f4;border-radius:14px;background:#f8fbff}.legal-document-footer h3{margin:0 0 12px}.legal-document-footer dl{display:grid;gap:6px;margin:0}.legal-document-footer dl div{display:grid;grid-template-columns:150px 1fr;gap:8px}.legal-document-footer dt{font-weight:700}.legal-document-footer dd{margin:0}.legal-acceptance-page{min-height:100vh;padding:28px;background:#f4f7fb;overflow-x:hidden}.legal-acceptance-shell{width:min(1040px,100%);margin:auto}.legal-acceptance-shell>header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:20px}.legal-acceptance-shell>header h1{margin:2px 0 5px}.legal-acceptance-shell>header p{margin:0}.legal-acceptance-shell>.legal-document{border:1px solid var(--border);border-radius:0 0 16px 16px;background:#fff}.legal-acceptance-shell>.legal-document-tabs{border:1px solid var(--border);border-radius:16px 16px 0 0;background:#fff}.legal-confirmations{display:grid;gap:13px;margin-top:20px;padding:24px}.legal-confirmations h2{margin:0 0 4px}.legal-checkbox{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid #e4eaf2;border-radius:12px;cursor:pointer}.legal-checkbox input{width:18px;height:18px;flex:none;margin-top:2px}.legal-continue{justify-self:end;margin-top:5px}.legal-continue:disabled{opacity:.48;cursor:not-allowed;transform:none}@media(max-width:700px){.legal-acceptance-page{padding:16px}.legal-acceptance-shell>header{grid-template-columns:46px 1fr}.legal-acceptance-shell>header>button{grid-column:1/-1;justify-self:start}.legal-document{padding:18px}.legal-document-tabs{padding:14px}.legal-document-tabs button{flex:1 1 100%;text-align:left}.legal-document-footer dl div{grid-template-columns:1fr;gap:2px}.legal-continue{width:100%;justify-content:center}.legal-document-body{max-height:52vh;padding-right:8px}}.email-delivery-page{display:grid;gap:18px}.email-delivery-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px}.email-delivery-filters label{display:grid;gap:5px;min-width:130px;font-size:12px;font-weight:700}.email-delivery-filters label:first-child{flex:1 1 280px}.email-delivery-filters input,.email-delivery-filters select{width:100%;min-height:40px}.email-delivery-table-wrap{overflow-x:auto}.email-delivery-table{width:100%;min-width:1120px;border-collapse:collapse;table-layout:fixed}.email-delivery-table th,.email-delivery-table td{padding:10px 8px;border-bottom:1px solid #edf0f5;vertical-align:top;text-align:left;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.email-delivery-table th{background:#f8f9fc;color:#7b879b;text-transform:uppercase;font-size:10px;letter-spacing:.06em}.email-delivery-table th:nth-child(1){width:12%}.email-delivery-table th:nth-child(2){width:16%}.email-delivery-table th:nth-child(3){width:18%}.email-delivery-table th:nth-child(4){width:10%}.email-delivery-table th:nth-child(5){width:11%}.email-delivery-table th:nth-child(6){width:8%}.email-delivery-table th:nth-child(7){width:8%}.email-delivery-table th:nth-child(8){width:17%}.email-delivery-table td>span,.email-delivery-table td>small{display:block}.email-delivery-table td>small{color:var(--muted)}.email-status{display:inline-block;padding:4px 8px;border-radius:999px;font-style:normal;font-size:10px;font-weight:800}.email-status.sent{background:#e9f8f1;color:#24845c}.email-status.failed{background:#fff0f0;color:#b42318}.email-status.skipped{background:#fff8e7;color:#9a6700}.email-status.disabled{background:#eef1f6;color:#53617d}.email-delivery-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.email-delivery-pagination>span:first-child{margin-right:auto}@media(max-width:760px){.email-delivery-filters{display:grid;grid-template-columns:1fr}.email-delivery-filters label{min-width:0}.email-delivery-table-wrap{overflow:visible}.email-delivery-table{display:block;min-width:0}.email-delivery-table thead{display:none}.email-delivery-table tbody{display:grid;gap:12px}.email-delivery-table tr{display:block;padding:12px;border:1px solid var(--border);border-radius:12px}.email-delivery-table td{display:block;padding:7px 0;border:0}.email-delivery-table td:before{content:attr(data-label);display:block;margin-bottom:3px;color:#667085;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.email-delivery-pagination{justify-content:center}.email-delivery-pagination>span:first-child{width:100%;margin:0;text-align:center}}.user-role-picker{border:1px solid #d8deea;border-radius:10px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px 14px;min-width:0}.user-role-picker legend{font-weight:700;padding:0 5px}.user-role-picker label{display:inline-flex;align-items:center;gap:7px;margin:0}.user-role-picker input{width:auto}.user-role-picker small{flex-basis:100%}.outgoing-email-settings{display:grid;gap:16px;margin:18px 0 10px;padding:20px;border:1px solid #dfe7f2;border-radius:16px;background:#f9fbff}.outgoing-email-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.outgoing-email-heading h3{margin:0;color:#1f2e46}.outgoing-email-heading p{margin:5px 0 0;color:#718096;font-size:12px;line-height:1.5}.mail-connection-status{flex:none;padding:6px 9px;border-radius:999px;background:#eef1f6;color:#5d6878;font-size:10px;font-weight:800;text-transform:uppercase}.mail-connection-status.connected{background:#e8f7ef;color:#18744e}.mail-connection-status.needs_attention{background:#fff1e8;color:#a14914}.connected-mailbox{display:flex;align-items:center;gap:10px;padding:12px;border-radius:11px;background:#fff;border:1px solid #e4eaf3;color:#2864b5}.connected-mailbox div{display:grid;gap:2px}.connected-mailbox small{color:#7a8799}.connected-mailbox b{color:#22344f;overflow-wrap:anywhere}.mail-provider-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mail-provider-options article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid #e0e7f0;border-radius:13px;background:#fff}.mail-provider-options article.selected{border-color:#7aa5e5;box-shadow:inset 0 0 0 1px #7aa5e5}.mail-provider-options article>div{display:grid;gap:4px}.mail-provider-options article small{color:#748197;line-height:1.4}.mail-provider-options .provider-unavailable{grid-column:1/-1;color:#a14914}.outgoing-email-actions{display:flex;gap:10px;flex-wrap:wrap}.outgoing-email-actions button{display:inline-flex;align-items:center;gap:7px}@media(max-width:680px){.mail-provider-options{grid-template-columns:1fr}.outgoing-email-heading{display:grid}.outgoing-email-actions button{flex:1 1 100%;justify-content:center}}
