@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select-all{-webkit-user-select:all;user-select:all}}:root{--ink:#20231f;--muted:#6c746d;--paper:#f4f1e9;--green:#264d3e;--green-2:#183b2e;--line:#d9d4c8;--white:#fff;--danger:#a84438;--amber:#b56e22}.help-page{width:min(1040px,100% - 32px);margin:0 auto;padding:48px 0 64px}.help-hero{max-width:720px;margin-bottom:34px}.help-hero>a{color:var(--green);font-weight:700;text-decoration:none}.help-hero>p{color:var(--muted);letter-spacing:.12em;margin:34px 0 8px;font-size:11px;font-weight:800}.help-hero h1{margin:0 0 12px;font:500 clamp(36px,6vw,60px)/1.02 Georgia,serif}.help-hero>span,.help-contact p{color:var(--muted)}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.help-grid>article,.help-contact{border:1px solid var(--line);background:#fbfaf7;border-radius:18px;padding:22px}.help-grid h2,.help-contact h2{margin:0 0 16px;font:500 25px Georgia,serif}.help-grid details{border-top:1px solid var(--line);padding:13px 0}.help-grid summary{cursor:pointer;font-weight:750}.help-grid details p{color:var(--muted);margin:9px 0 0;line-height:1.55}.help-contact{justify-content:space-between;align-items:center;gap:20px;margin-top:18px;display:flex}.help-contact h2,.help-contact p{margin-block:0 5px}.help-contact a{color:#fff;background:var(--green);border-radius:10px;flex:none;padding:12px 16px;font-weight:750;text-decoration:none}@media (max-width:700px){.help-page{padding-top:24px}.help-grid{grid-template-columns:1fr}.help-contact{flex-direction:column;align-items:stretch}.help-contact a{text-align:center}}.availability-editor{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:16px}@supports (color:color-mix(in lab, red, red)){.availability-editor{background:color-mix(in srgb, var(--paper) 92%, var(--green) 8%)}}.availability-editor>header,.server-version-section>header,.storage-action-section,.storage-danger-section{justify-content:space-between;align-items:center;gap:16px;display:flex}.availability-editor>header div{gap:4px;display:grid}.availability-editor>header span,.availability-editor>p,.storage-action-section p,.storage-danger-section p{color:var(--muted);margin:0}.availability-row{grid-template-columns:minmax(150px,1fr) 130px auto 130px 42px;align-items:center;gap:10px;margin-top:12px;display:grid}.availability-row select,.availability-row input{min-width:0}.availability-remove,.admin-delete-event{border-radius:10px;width:38px;height:38px}.server-version-list article,.calendar-link-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.server-version-list article div{gap:3px;display:grid}.server-version-list article{border-top:1px solid var(--line);padding:10px 0}.server-version-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.server-version-list{max-height:260px;margin-top:10px;overflow:auto}.storage-action-section,.storage-danger-section{border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:16px}.storage-action-section>div:first-child,.storage-danger-section>div:first-child{min-width:0}.storage-action-section h3,.storage-danger-section h3{margin:0 0 5px}.calendar-subscription-section,.delete-account-section{flex-direction:column;align-items:stretch}.calendar-subscription-actions{flex-wrap:wrap;gap:10px;display:flex}.calendar-link-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.storage-danger-section{border-color:#a33}@supports (color:color-mix(in lab, red, red)){.storage-danger-section{border-color:color-mix(in srgb, #a33 35%, var(--line))}}.storage-danger-section{background:#fdf3f3}.delete-account-section>label{gap:6px;display:grid}.delete-account-section .password-input input{min-height:44px;color:var(--ink);background:#fff;border:1px solid #c9857c;border-radius:9px;outline:none;padding-left:11px;box-shadow:inset 0 0 0 1px #fff4f2}.delete-account-section .password-input input:focus{border-color:#a84d42;box-shadow:0 0 0 3px #a84d4218}.privacy-link{text-decoration:none}.privacy-page{background:var(--paper);min-height:100vh;padding:48px 20px}.privacy-page>article{border:1px solid var(--line);background:var(--paper);border-radius:28px;width:min(940px,100%);margin:0 auto;padding:clamp(24px,5vw,56px)}.privacy-page h1{margin:8px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,6vw,58px);font-weight:500}.privacy-intro{color:var(--muted);font-size:18px;line-height:1.55}.privacy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:30px 0;display:grid}.privacy-grid section{border:1px solid var(--line);border-radius:16px;padding:18px}.privacy-grid h2{margin:0 0 8px;font-size:16px}.privacy-grid p{color:var(--muted);margin:0;line-height:1.55}.privacy-page footer{justify-content:space-between;align-items:end;gap:20px;display:flex}.privacy-page footer div{gap:4px;display:grid}.privacy-page a{color:var(--green);font-weight:700}@media (max-width:700px){.availability-editor>header,.storage-action-section,.storage-danger-section{flex-direction:column;align-items:stretch}.availability-row{grid-template-columns:1fr 1fr auto}.availability-row select{grid-column:1/-1}.availability-row>span{display:none}.calendar-link-row,.privacy-page footer{flex-direction:column;align-items:stretch}.privacy-grid{grid-template-columns:1fr}.privacy-page{padding:16px}}@media print{@page{size:landscape;margin:10mm}body,.app-shell{background:#fff!important}.topbar,.calendar-primary,.calendar-secondary,.student-sidebar,.mobile-bottom-nav,.mobile-more-panel,.mobile-issues-panel,.toast,.card-actions,.drag-ghost{display:none!important}.workspace,.workspace.with-sidebar,.workspace.with-issues,.workspace.with-sidebar.with-issues{display:block!important}.calendar-area,.schedule-wrap{width:100%!important;max-width:none!important;box-shadow:none!important;margin:0!important}.schedule-wrap{height:auto!important;max-height:none!important;overflow:visible!important}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.4}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{-webkit-user-select:none;user-select:none;min-height:100vh;padding:26px 28px 55px}.topbar,.tool-row,.workspace,.warnings-panel{max-width:1680px;margin-left:auto;margin-right:auto}.topbar{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.eyebrow{letter-spacing:.21em;color:#718076;font-size:11px;font-weight:800}h1{margin:7px 0 0;font-family:Georgia,serif;font-size:38px;font-weight:500;line-height:1}.top-actions{align-items:center;gap:8px;display:flex}.desktop-language-select{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:5px;height:36px;padding:0 5px 0 9px;display:flex}.desktop-language-select span{color:#727c75;font-size:11px}.desktop-language-select select{color:#31483b;background:0 0;border:0;outline:none;height:30px;font-size:12px;font-weight:800}.save-state{color:var(--muted);white-space:nowrap;margin-right:5px;font-size:12px}.save-state i{background:#67a482;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.save-state.dirty i{background:#d19a4d}.icon-btn{border:1px solid var(--line);color:#343934;background:#fff;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;font-size:19px;display:inline-grid}.icon-btn:hover:not(:disabled),.soft-btn:hover{background:#fafbf9;border-color:#9da89f}.icon-btn:disabled{opacity:.35;cursor:default}.soft-btn,.settings-btn,.warning-btn{border:1px solid var(--line);color:#333a35;white-space:nowrap;background:#fff;border-radius:9px;height:40px;padding:0 13px;font-size:13px;font-weight:650}.primary-btn{background:var(--green);color:#fff;white-space:nowrap;border:0;border-radius:9px;height:42px;padding:0 17px;font-weight:700}.primary-btn:hover{background:var(--green-2)}.danger-btn{height:40px;color:var(--danger);background:#fff5f3;border:1px solid #e3b8b2;border-radius:9px;padding:0 14px;font-weight:700}.search-input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#547966;box-shadow:0 0 0 3px #54796618}.tool-row{align-items:center;gap:8px;min-height:57px;display:flex;position:relative}.week-switch{background:#e9e5dc;border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex}.week-switch span{color:#727871;margin:0 7px;font-size:11px}.week-switch button{color:#646a65;background:0 0;border:0;border-radius:7px;height:33px;padding:0 12px;font-size:12px;font-weight:700}.week-switch button.active{color:var(--green);background:#fff;box-shadow:0 1px 6px #423b2925}.warning-btn{color:#50705f;margin-left:auto}.warning-btn.has-warnings{color:#965c18;background:#fff8ec;border-color:#e1bd86}.settings-btn{background:var(--green);color:#fff;border-color:var(--green)}.autosave-toggle{align-items:center;gap:9px;padding:8px 10px;font-size:12px;line-height:1.35;display:flex}.autosave-toggle input{accent-color:var(--green)}.warnings-panel{color:#7c511a;background:#fff8ec;border:1px solid #e4c38f;border-radius:11px;gap:5px;margin-bottom:12px;padding:11px 15px;font-size:12px;display:grid}.warnings-panel.clear{color:#446452;background:#f0f7f2;border-color:#b9d2c1}.workspace{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.workspace.with-sidebar{grid-template-columns:var(--students-panel-width,330px) minmax(0, 1fr)}.workspace.with-issues{grid-template-columns:minmax(0, 1fr) var(--issues-panel-width,340px)}.workspace.with-sidebar.with-issues{grid-template-columns:var(--students-panel-width,330px) minmax(0, 1fr) var(--issues-panel-width,340px)}.student-sidebar{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;max-height:calc(100vh - 24px);display:flex;position:sticky;top:10px;overflow:hidden}.sidebar-title{justify-content:space-between;align-items:center;padding:15px 15px 11px;display:flex}.sidebar-title h2{margin:0 0 4px;font:500 21px/1.1 Georgia,serif}.sidebar-title span{color:var(--muted);font-size:11px}.mobile-close{display:none}.planner-sidebar-btn{color:#315544;text-align:left;background:#eef5f1;border:1px solid #b9c9bf;border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;margin:0 12px 10px;padding:9px 11px;display:grid}.planner-sidebar-btn>span:first-child{background:#d9e8df;border-radius:9px;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.planner-sidebar-btn>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.planner-sidebar-btn strong{font-size:12px}.planner-sidebar-btn small{color:#60766a;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.25;overflow:hidden}.search-input{border:1px solid var(--line);border-radius:8px;outline:none;height:39px;margin:0 12px 8px;padding:0 11px}.search-input:disabled{color:inherit;opacity:1}.filter-row{border-bottom:1px solid #ebe7df;grid-template-columns:1fr 1fr;gap:6px;padding:0 12px 11px;display:grid}.filter-row select{border:1px solid var(--line);color:#555e57;background:#faf9f6;border-radius:7px;min-width:0;height:35px;padding:0 5px;font-size:11px}.student-list{padding:7px;overflow-y:auto}.list-student{border:1px solid #0000;border-radius:9px;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 7px;display:grid;position:relative}.list-student:hover{background:#f8f6f0;border-color:#e7e2d8}.list-student.unassigned{background:#fffbf2}.list-student>i{border-radius:5px;width:7px;height:40px}.list-main{min-width:0}.list-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.list-main span,.list-main small{color:#737a74;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;display:block;overflow:hidden}.list-main small{color:#9a6e37}.list-actions{gap:2px;display:flex}.list-actions button{background:0 0;border:0;border-radius:6px;width:25px;height:27px;padding:0;font-size:12px}.list-actions button:hover{background:#eae6dd}.list-actions .place{color:#2c6449;background:#e3efe7;font-weight:900}.list-empty{text-align:center;color:#8b8f8b;padding:30px 10px;font-size:12px}.calendar-area{min-width:0}.schedule-wrap{background:#fff;border:1px solid #d7d2c6;border-radius:14px;max-height:calc(100vh - 45px);overflow:auto;box-shadow:0 8px 35px #51482f10}.schedule-inner{margin-inline:auto;position:relative}.day-head{z-index:25;background:#fbfaf7;border-bottom:1px solid #d7d2c6;align-items:stretch;height:64px;display:grid;position:sticky;top:0}.day-head>div{text-align:center;border-right:1px solid #e7e3db;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.day-head strong{font:500 14px Georgia,serif}.day-head span{color:#737a74;margin-top:3px;font-size:11px}.day-head small{color:#9a7040;text-overflow:ellipsis;white-space:nowrap;max-width:92%;margin-top:2px;font-size:10px;overflow:hidden}.board{touch-action:none;position:relative}.time-column{z-index:5;background:#fbfaf7;border-right:1px solid #d7d2c6;width:70px;position:absolute;inset:0 auto 0 0}.time-column span{color:#858a84;font-size:11px;position:absolute;right:11px;transform:translateY(-50%)}.grid,.cards{position:absolute;inset:0 0 0 70px}.grid{overflow:hidden}.day-col{border-right:1px solid #e7e3db;position:absolute;top:0;bottom:0}.inactive{background:repeating-linear-gradient(135deg,#f3f1ec,#f3f1ec 5px,#eeece6 5px 10px);position:absolute;left:0;right:0}.inactive.top{top:0}.inactive.bottom{bottom:0}.line{pointer-events:none;border-top:1px solid #f0eee9;position:absolute;left:0;right:0}.line.major{border-color:#dcd8cf}.student-card,.break-card{cursor:grab;z-index:8;border:1px solid #00000018;border-radius:8px;justify-content:space-between;padding:7px;transition:box-shadow .12s,transform .12s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 7px #443b2725}.student-card:active,.break-card:active{cursor:grabbing;z-index:20;transform:scale(1.008);box-shadow:0 10px 25px #443b2740}.student-card.locked{cursor:default}.student-card.locked:active{transform:none;box-shadow:0 2px 7px #443b2725}.student-card>div:first-child,.break-card>div:first-child{min-width:0}.student-card strong,.break-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.student-card span,.break-card span{color:#343a35cc;white-space:nowrap;margin-top:3px;font-size:11px;display:block}.student-card small{color:#6c5c46;margin-top:2px;font-size:10px;display:block}.card-actions{align-items:flex-start;gap:2px;display:flex}.card-actions button,.break-card>button{background:#ffffff80;border:0;border-radius:50%;flex:none;width:20px;height:20px;padding:0;font-size:11px;line-height:20px}.student-card.conflict,.break-card.conflict{z-index:10;outline:2px solid #c44b3e}.student-card em{color:#9a3329;font-size:9px;font-style:normal;font-weight:700;position:absolute;bottom:3px;right:7px}.break-card{color:#555d57;background:repeating-linear-gradient(135deg,#e3e2dd,#e3e2dd 6px,#f0efeb 6px 12px);border-style:dashed}.break-card strong{font-size:11px}.no-days{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:70px 20px}.no-days h2{margin:0;font:500 26px Georgia,serif}.no-days p{color:var(--muted);font-size:13px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f271f88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.app-shell.embedded-account-mode{background:#f4f2ec;min-height:100dvh}.app-shell.embedded-account-mode>:not(.modal-backdrop){display:none!important}.app-shell.embedded-account-mode>.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f4f2ec;padding:0}.app-shell.embedded-account-mode>.modal-backdrop>.modal{width:min(680px,100%);max-height:100dvh;box-shadow:none;border:0;border-radius:0}.modal{background:#fbfaf7;border:1px solid #ffffff80;border-radius:17px;width:min(570px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 25px 80px #161b1645}.modal.wide{width:min(960px,100%)}.modal-head{z-index:2;background:#fbfaf7;border-bottom:1px solid #e5e1d8;justify-content:space-between;align-items:center;padding:18px 20px 13px;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font:500 25px Georgia,serif}.modal-note{color:var(--muted);margin:15px 20px 4px;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;padding:18px 20px;display:grid}.form-grid>label,.form-grid>div{min-width:0}.form-grid label,.day-setting label,.semester-settings label{text-transform:uppercase;letter-spacing:.06em;color:#677069;flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.form-grid input,.form-grid select,.form-grid textarea,.day-setting input,.semester-settings input{border:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff;border-radius:8px;outline:none;padding:0 10px;font-weight:400}.form-grid input,.form-grid select{height:40px}.form-grid input[type=date],.form-grid input[type=time]{min-width:0;max-width:100%}.form-grid textarea{resize:vertical;padding:10px}.form-grid .span-2{grid-column:span 2}.form-grid .checkbox-line{text-transform:none;letter-spacing:0;flex-direction:row;align-self:end;align-items:center;height:40px}.checkbox-line input{width:17px;height:17px;accent-color:var(--green)}.color-row{align-items:center;gap:9px;display:flex}.color-row span{text-transform:uppercase;letter-spacing:.06em;color:#677069;margin-right:6px;font-size:11px;font-weight:800}.color-row button{border:2px solid #0000;border-radius:50%;width:27px;height:27px}.color-row button.selected{border-color:#33483d;box-shadow:inset 0 0 0 2px #fff}.modal-actions{background:#fbfaf7;border-top:1px solid #e5e1d8;flex-wrap:wrap;align-items:center;gap:8px;padding:13px 20px;display:flex;position:sticky;bottom:0}.modal-actions>span{flex:1}.modal-actions button{font-size:13px;font-weight:700}.days-settings{padding:10px 20px}.day-setting{border-bottom:1px solid #e8e4db;grid-template-columns:155px 110px 110px minmax(170px,1fr);align-items:end;gap:10px;padding:9px 0;display:grid}.day-setting.disabled{opacity:.48}.day-setting .day-toggle{text-transform:none;letter-spacing:0;flex-direction:row;align-self:center;align-items:center;font-size:12px}.day-toggle input{width:17px;height:17px;accent-color:var(--green)}.day-setting input{height:36px}.semester-settings{background:#fff;border:1px solid #ddd8cd;border-radius:11px;grid-template-columns:minmax(230px,1fr) 190px 190px;align-items:end;gap:14px;margin:8px 20px 18px;padding:15px;display:grid}.semester-settings h3{margin:0 0 5px;font:500 17px Georgia,serif}.semester-settings p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.semester-settings input{height:37px}.toast{z-index:150;color:#fff;text-align:center;background:#21392f;border-radius:10px;max-width:min(92vw,600px);padding:11px 17px;font-size:12px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #18241d50}@media (max-width:1440px){.tool-row{flex-wrap:wrap;padding:9px 0}.warning-btn{margin-left:0}.settings-btn{margin-left:auto}.workspace.with-sidebar{grid-template-columns:var(--students-panel-width,290px) minmax(0, 1fr)}.workspace.with-issues{grid-template-columns:minmax(0, 1fr) var(--issues-panel-width,310px)}.workspace.with-sidebar.with-issues{grid-template-columns:var(--students-panel-width,290px) minmax(0, 1fr) var(--issues-panel-width,310px)}.workspace.with-sidebar.with-issues .day-head.dated strong{font-size:12px}}@media (max-width:850px){.app-shell{padding:18px 12px 40px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.save-state{text-align:right;flex-basis:100%}h1{font-size:30px}.tool-row{align-items:center}.week-switch{order:1}.settings-btn{margin-left:0}.workspace.with-sidebar{display:block}.student-sidebar{z-index:80;border-radius:0;max-height:none;position:fixed;inset:0 12% 0 0;box-shadow:12px 0 50px #20282050}.mobile-close{display:grid}.schedule-wrap{max-height:calc(100vh - 20px)}.day-setting{grid-template-columns:1fr 1fr 1fr}.day-setting .address{grid-column:1/-1}.semester-settings{grid-template-columns:1fr 1fr}.semester-settings>div{grid-column:1/-1}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px)}.form-grid{gap:10px;padding:14px}.modal-actions{padding:11px 14px}}@media (max-width:570px){.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:13px}.save-state{text-align:left;flex-basis:auto}.tool-row{gap:6px}.tool-row .soft-btn,.settings-btn,.warning-btn{padding:0 9px;font-size:11px}.week-switch{order:0;width:100%}.week-switch button{flex:1}.warning-btn{margin-left:0}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.days-settings{padding:8px 14px}.day-setting{grid-template-columns:1fr 1fr}.day-setting .day-toggle,.day-setting .address{grid-column:1/-1}.semester-settings{grid-template-columns:1fr;margin:8px 14px 15px}.semester-settings>div{grid-column:auto}.modal-head{padding:15px}.modal-actions{flex-wrap:wrap}.modal-actions>span{display:none}.modal-actions button{flex:1}.danger-btn{flex-basis:100%!important}}.calendar-tools{gap:7px}.week-nav{background:#e9e5dc;border-radius:11px;align-items:center;height:44px;padding:3px;display:flex}.week-nav>button{color:#38433d;background:0 0;border:0;border-radius:8px;min-width:34px;height:36px;font-size:20px}.week-nav>button:hover{background:#fff}.week-nav>div{text-align:center;min-width:195px;padding:0 8px}.week-nav strong{font:500 14px Georgia,serif;display:block}.week-nav span{color:#757c76;margin-top:2px;font-size:11px;display:block}.week-nav .today-btn{background:#fff;margin-left:4px;padding:0 10px;font-size:11px;font-weight:800}.week-actions{gap:5px;display:flex}.outside-semester{color:#87591e;background:#fff7e9;border:1px solid #dfc08d;border-radius:9px;max-width:1680px;margin:0 auto 11px;padding:9px 13px;font-size:11px}.day-head.dated{height:90px}.day-head.dated>div{padding:6px 4px}.day-head.dated strong{font:600 14px Arial,sans-serif}.day-head.dated strong,.day-head.dated b,.day-head.dated span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.day-head.dated b{margin-top:2px;font:500 14px Georgia,serif}.day-head.dated em{color:#8e4335;text-overflow:ellipsis;white-space:nowrap;background:#f5d8ce;border-radius:5px;max-width:96%;margin-top:3px;padding:2px 5px;font-size:9px;font-style:normal;display:block;overflow:hidden}.day-head.dated .holiday-head{background:#fff4f0}.day-col.holiday-day:after{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#f7e9e4aa,#f7e9e4aa 7px,#fbf4f1aa 7px 14px);position:absolute;inset:0}.student-card.cancelled{filter:grayscale(.55);opacity:.55;cursor:default;border-style:dashed}.student-card.cancelled strong{text-decoration:line-through}.student-card.cancelled small{color:#8d4137;font-weight:800}.manual-dates{background:#fff;border:1px solid #e1ddd3;border-radius:10px;padding:11px}.manual-dates label>div{gap:7px;display:flex}.manual-dates label input{flex:1}.date-chips{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.date-chips button{background:#f5f2eb;border:1px solid #d7d2c6;border-radius:7px;padding:6px 8px;font-size:11px}.date-chips span{color:#858a85;font-size:11px}.plan-summary{color:#50645a;background:#eef4f0;border-radius:8px;padding:9px 11px;font-size:11px}.holiday-exception{background:#fff4ed;border:1px solid #ebc7b4;border-radius:8px;padding:9px;align-items:flex-start!important;height:auto!important}.modal-note-inline{color:#727a74;margin:0;font-size:11px}.semester-top{grid-template-columns:190px 190px 1fr;align-items:end;gap:12px;padding:17px 20px 7px;display:grid}.semester-top label{text-transform:uppercase;letter-spacing:.06em;color:#677069;flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.semester-top input{border:1px solid var(--line);background:#fff;border-radius:8px;height:38px;padding:0 9px}.semester-top p{color:#727a74;margin:0 0 5px;font-size:11px;line-height:1.45}.holiday-settings{background:#fff;border:1px solid #ddd8cd;border-radius:12px;margin:10px 20px 18px;overflow:hidden}.holiday-settings>header{border-bottom:1px solid #e7e2d8;align-items:center;gap:7px;padding:13px;display:flex}.holiday-settings>header>div{flex:1}.holiday-settings h3{margin:0 0 3px;font:500 18px Georgia,serif}.holiday-settings p{color:#727a74;margin:0;font-size:11px}.holiday-settings>div{max-height:210px;padding:6px;overflow:auto}.holiday-settings>div>button{text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;padding:8px;display:grid}.holiday-settings>div>button:hover{background:#f7f3ed}.holiday-settings>div strong{font-size:11px}.holiday-settings>div span{color:#737a74;font-size:11px}.holiday-settings>div em{color:#9a7040;font-size:10px;font-style:normal}.holiday-empty{text-align:center!important;padding:22px!important}.ical-preview{max-height:55vh;padding:7px 20px 17px;overflow:auto}.ical-preview label{border-bottom:1px solid #ebe7df;align-items:center;gap:10px;padding:9px;font-size:12px;display:flex}.ical-preview input{width:17px;height:17px;accent-color:var(--green)}.ical-preview span{flex-direction:column;gap:3px;display:flex}.ical-preview small{color:#737a74}.ical-preview .select-all{z-index:2;background:#fbfaf7;font-weight:800;position:sticky;top:0}@media (max-width:1450px){.week-actions{display:none}.calendar-tools .warning-btn{margin-left:auto}}@media (max-width:1000px){.calendar-tools{align-items:center}.week-nav{order:-2}.week-nav>div{min-width:170px}.calendar-tools .settings-btn{margin-left:0}.semester-top{grid-template-columns:1fr 1fr}.semester-top p{grid-column:1/-1}}@media (max-width:650px){.week-nav{width:100%}.week-nav>div{flex:1}.calendar-tools .warning-btn{margin-left:0}.day-head.dated{height:96px}.holiday-settings>header{flex-wrap:wrap}.holiday-settings>header>div{flex-basis:100%}.semester-top{grid-template-columns:1fr}.semester-top p{grid-column:auto}.holiday-settings{margin:8px 14px 15px}.holiday-settings>div>button{grid-template-columns:1fr}.holiday-settings>div span,.holiday-settings>div em{display:block}}.admin-overview-head{background:#f6f4ee;border-bottom:1px solid #e7e3da;grid-template-columns:150px 150px minmax(210px,1fr) auto;align-items:center;gap:10px;padding:16px 20px;display:grid}.admin-overview-head>div{background:#fff;border:1px solid #ded9cf;border-radius:10px;padding:11px 13px}.admin-overview-head span,.admin-overview-head strong{display:block}.admin-overview-head span{color:#7a837c;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800}.admin-overview-head strong{color:var(--green);margin-top:4px;font:500 22px Georgia,serif}.admin-overview-head>button{justify-self:end}.admin-retention{gap:5px;display:grid}.admin-retention select{color:#33463b;background:#fff;border:1px solid #ded9cf;border-radius:9px;width:100%;min-height:36px;padding:0 10px}.admin-loading{color:#747d76;text-align:center;padding:60px 20px}.admin-overview-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;padding:14px 20px 22px;display:grid}.admin-overview-grid>section{background:#fff;border:1px solid #ddd8ce;border-radius:12px;overflow:hidden}.admin-overview-grid>section>header{background:#faf9f6;border-bottom:1px solid #e9e5dc;padding:13px 14px}.admin-overview-grid h3{margin:0;font-size:13px}.admin-overview-grid header span{color:#7a817c;margin-top:3px;font-size:11px;display:block}.admin-user-list,.admin-event-list{max-height:52vh;overflow:auto}.admin-user-list article{border-bottom:1px solid #eeeae2;padding:12px 13px}.admin-user-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-user-title>div{min-width:0}.admin-user-title>button{flex:none;height:32px;padding:0 9px}.admin-user-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-user-actions .soft-btn{min-height:32px;padding:0 9px}.admin-user-list article:last-child,.admin-event-list article:last-child{border-bottom:0}.admin-user-list strong,.admin-user-list span{display:block}.admin-user-list strong{font-size:12px}.admin-user-list span{color:#66716a;margin-top:3px;font-size:11px}.admin-user-list dl{grid-template-columns:1fr 1fr 70px;gap:7px;margin:9px 0 0;display:grid}.admin-user-list dt,.admin-user-list dd{margin:0}.admin-user-list dt{color:#858d87;text-transform:uppercase;font-size:10px}.admin-user-list dd{color:#3e4942;margin-top:2px;font-size:11px}.admin-event-list article{border-bottom:1px solid #eeeae2;grid-template-columns:8px minmax(0,1fr) auto 28px;align-items:center;gap:9px;padding:11px 13px;display:grid}.admin-events-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-events-header>button{height:32px;padding:0 9px}.admin-delete-event{color:#8f6e68;background:0 0;border:0;border-radius:7px;width:28px;height:28px;padding:0;font-size:18px}.admin-delete-event:hover{color:#a33f34;background:#fff1ef}.admin-user-editor{padding-top:18px}.admin-verification-row{background:#faf9f6;border:1px solid #ddd8ce;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.admin-verification-row>span{color:#747e77}.admin-verification-row>button{height:34px}.admin-owner-note{color:#6e7771;margin:0;font-size:12px}.admin-event-list article>i{background:#6b9c7f;border-radius:50%;width:8px;height:8px}.admin-event-list article.warning>i{background:#d1943e}.admin-event-list article.error>i{background:#c75549}.admin-event-list strong,.admin-event-list span{display:block}.admin-event-list strong{font-size:11px}.admin-event-list span,.admin-event-list time{color:#788079;margin-top:3px;font-size:11px}.admin-event-list time{white-space:nowrap}.admin-event-list>p{color:#7b827d;text-align:center;padding:30px 14px;font-size:11px}@media (max-width:700px){.admin-overview-head{grid-template-columns:1fr 1fr;padding:12px 14px}.admin-overview-head>button{grid-column:1/-1;width:100%}.admin-retention{grid-column:1/-1}.admin-overview-grid{grid-template-columns:1fr;padding:12px 14px 30px}.admin-user-list,.admin-event-list{max-height:none}.admin-event-list article{grid-template-columns:8px minmax(0,1fr) 28px}.admin-event-list time{grid-column:2}.admin-delete-event{grid-area:1/3/3}}button,input,select,textarea{font-size:max(14px,1em)}.eyebrow,.form-grid label,.day-setting label,.semester-settings label,.academic-settings label,.section-head,.time-hint,.input-error,.modal-note,.modal-note-inline,.plan-summary,.drag-hint{font-size:12px}.list-main span,.list-main small,.student-card span,.student-card small,.break-card span,.day-head span,.day-head small,.sidebar-title span{font-size:12px;line-height:1.35}.day-head strong{font-size:14px}.settings-tabs button,.autosave-toggle{font-size:13px}.year-switcher{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;height:42px;padding:3px;display:flex}.year-switcher button,.year-switcher select{color:#33423a;background:0 0;border:0;height:34px;font-size:13px;font-weight:750}.year-switcher button{border-radius:7px;min-width:32px}.year-switcher button:hover:not(:disabled){background:#eef2ee}.year-switcher button:disabled{opacity:.3}.year-switcher select{outline:none;min-width:82px;padding:0 5px}.year-switcher .add-year{color:var(--green);border-left:1px solid #e4e0d7;padding:0 9px}.year-create-options{gap:10px;padding:18px 20px;display:grid}.year-create-options button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;padding:16px}.year-create-options button:hover{background:#f6faf7;border-color:#769081}.year-create-options strong,.year-create-options span{display:block}.year-create-options strong{color:#29493a;font-size:14px}.year-create-options span{color:#6d756f;margin-top:6px;font-size:12px;line-height:1.45}.modal-copy{color:var(--muted);margin:0;padding:16px 20px 0;font-size:12px;line-height:1.55}.planner-import-summary{gap:10px;padding:16px 20px 8px;display:flex}.planner-import-summary span{color:#456052;background:#edf4ef;border-radius:10px;align-items:baseline;gap:5px;padding:9px 12px;font-size:12px;display:flex}.planner-import-summary strong{color:#29493a;font-size:18px}.planner-import-warning,.planner-import-issues{color:#7a5324;background:#fff5e5;border:1px solid #e5c18b;border-radius:10px;margin:10px 20px;padding:11px 13px;font-size:12px;line-height:1.5}.planner-import-issues ul{margin:7px 0 0;padding-left:18px}.planner-import-replace-note{color:var(--muted);margin:4px 20px 0;font-size:11px;line-height:1.5}.planner-period-picker{gap:14px;padding:18px 20px 8px;display:grid}.planner-period-picker .field{padding:0}.planner-period-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.planner-period-options button{border:1px solid var(--line);min-height:76px;color:var(--ink);text-align:left;background:#fff;border-radius:11px;padding:13px}.planner-period-options button.active{background:#edf4ef;border-color:#65816e;box-shadow:inset 0 0 0 1px #65816e}.planner-period-options strong,.planner-period-options span,.planner-period-selected span,.planner-period-selected strong{display:block}.planner-period-options span{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.4}.planner-period-selected{color:#456052;background:#edf4ef;border-radius:10px;padding:12px 14px}.planner-period-selected span{letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800}.planner-add-year-btn{justify-self:start}.planner-review-modal.wide{width:min(1040px,100%)}.planner-import-target{color:#456052;background:#f2f7f3;border:1px solid #cbd9cf;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:15px 20px 0;padding:11px 13px;font-size:12px;display:grid}.planner-import-target>span{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.planner-import-target small{color:var(--muted)}.planner-review-section{border:1px solid var(--line);background:#f6f4ef;border-radius:12px;margin:16px 20px 0;overflow:hidden}.planner-review-section>header{border-bottom:1px solid var(--line);background:#efede7;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.planner-review-section>header strong,.planner-review-section>header span{display:block}.planner-review-section>header span{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4}.planner-review-select-actions{flex:none;gap:6px;display:flex}.planner-review-select-actions button{color:#456052;background:#fff;border:1px solid #bdc9c0;border-radius:8px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700}.planner-review-rows{gap:8px;padding:10px;display:grid}.planner-review-row{background:#fff;border:1px solid #dcd8ce;border-radius:10px;padding:12px}.planner-review-row.is-selected{border-color:#9bb1a1;box-shadow:inset 0 0 0 1px #dbe6dd}.planner-review-row.has-problems{border-color:#dfb67a}.planner-review-row-check{align-items:flex-start;gap:9px;display:flex}.planner-review-row-check input{width:17px;height:17px;accent-color:var(--green);margin-top:1px}.planner-review-row-check span,.planner-review-row-check strong,.planner-review-row-check small{display:block}.planner-review-row-check small{color:var(--muted);margin-top:3px;font-size:10px}.planner-review-row-grid{grid-template-columns:1.35fr 1.55fr .85fr 1fr;gap:10px;margin:11px 0 0 26px;display:grid}.planner-review-row-grid>span{background:#f5f5f1;border-radius:8px;min-width:0;padding:8px 9px}.planner-review-row-grid small,.planner-review-row-grid strong{display:block}.planner-review-row-grid small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:800}.planner-review-row-grid strong{font-size:11px;line-height:1.4}.planner-review-members{color:var(--muted);margin:9px 0 0 26px;line-height:1.4;display:block}.planner-inline-matches{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0 26px;display:grid}.planner-inline-match{background:#f4f8f4;border:1px solid #cbd8ce;border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.planner-inline-match.unresolved{background:#fff7ee;border-color:#dfb67a}.planner-inline-match>span,.planner-inline-match strong,.planner-inline-match small{min-width:0;display:block}.planner-inline-match strong,.planner-inline-match small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-inline-match small{color:#52715f;margin-top:3px;font-size:10px}.planner-inline-match.unresolved small{color:#985128}.planner-inline-match select{width:100%;min-width:0;min-height:38px}.planner-unplaced-students>.planner-inline-matches{margin:0;padding:10px}.planner-matching-summary{margin:14px 20px 0}.planner-review-note{border-radius:8px;margin:9px 0 0 26px;padding:8px 10px;font-size:11px;line-height:1.45}.planner-review-note.success{color:#3e654d;background:#edf5ef}.planner-review-note.warning{color:#7a5324;background:#fff5e5}.planner-review-note.error{color:#924b2d;background:#fff0e8}.planner-review-row.compact{padding:10px 12px}.planner-first-date-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.planner-first-date-grid label{color:#677069;gap:5px;font-size:11px;font-weight:800;display:grid}.planner-first-date-grid input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:0 9px}.planner-first-date-grid label.has-error input{border-color:#ca7b55}.planner-first-date-grid label small{color:#9a522b;font-weight:600;line-height:1.35}.planner-review-actions{margin-top:14px}.planner-review-actions button,.planner-review-row-check,.planner-review-select-actions button{touch-action:manipulation}.planner-transfer-resume{z-index:90;color:#fff;touch-action:manipulation;background:#315a45;border:1px solid #315a45;border-radius:12px;min-height:44px;padding:0 16px;font-size:13px;font-weight:800;position:fixed;bottom:22px;right:18px;box-shadow:0 12px 32px #18241d45}@media (max-width:700px){.planner-period-options,.planner-first-date-grid,.planner-import-target{grid-template-columns:1fr}.planner-review-section>header{flex-direction:column;align-items:flex-start}.planner-review-row-grid{grid-template-columns:1fr 1fr}.planner-inline-matches,.planner-inline-match{grid-template-columns:1fr}.planner-inline-match{gap:7px}.planner-review-modal{overscroll-behavior:contain}.planner-review-actions{z-index:3}.planner-transfer-resume{width:calc(100% - 20px);bottom:12px;left:10px;right:10px}}@media (max-width:460px){.planner-review-row-grid{grid-template-columns:1fr}.planner-review-select-actions{width:100%}.planner-review-select-actions button{flex:1}.planner-inline-matches{margin-left:0}}.student-import-empty-btn{color:#456052;background:#f7faf7;border:1px dashed #aebbb2;border-radius:9px;width:100%;min-height:38px;margin:2px 0 10px;font-size:12px;font-weight:700}.student-import-age-option{padding:0 4px}.student-import-summary{flex-wrap:wrap;gap:8px;padding:16px 20px 8px;display:flex}.student-import-summary span{color:#365344;background:#e8f1eb;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}.student-import-summary span.has-problems{color:#8a5924;background:#fff0dc}.student-import-group-warning,.year-copy-warning,.year-copy-holiday-note{color:#725226;background:#fff8e9;border:1px solid #e6c894;border-radius:10px;margin:8px 20px;padding:12px 14px;font-size:12px;line-height:1.45}.student-import-group-warning p{margin:6px 0}.student-import-group-warning label{align-items:flex-start;gap:8px;font-weight:700;display:flex}.student-import-group-warning input,.year-copy-settings input{accent-color:var(--green)}.student-import-rows{gap:10px;padding:10px 20px 18px;display:grid}.student-import-row{border:1px solid var(--line);background:#fff;border-radius:11px;padding:13px}.student-import-row.has-problems{border-color:#dfb67a}.student-import-row.is-skipped{opacity:.68}.student-import-row>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.student-import-row>header select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:34px;padding:0 9px}.student-import-row-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.student-import-row-grid>label{color:#677069;letter-spacing:.05em;text-transform:uppercase;flex-direction:column;gap:5px;min-width:0;font-size:10px;font-weight:800;display:flex}.student-import-row-grid input,.student-import-row-grid select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);letter-spacing:0;text-transform:none;background:#fff;border-radius:8px;padding:0 9px;font-weight:400}.student-import-inline-check{letter-spacing:0;text-transform:none;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.student-import-inline-check input{width:15px;min-height:15px}.student-import-source{color:var(--muted);margin-top:9px;line-height:1.4;display:block}.student-import-problems{color:#9a522b;margin:9px 0 0;padding-left:18px;font-size:11px;line-height:1.45}.year-copy-settings{gap:9px;padding:15px 20px 8px;display:grid}.year-copy-source{color:#677069;gap:6px;font-size:11px;font-weight:800;display:grid}.year-copy-source select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:40px;padding:0 10px}.year-copy-check{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.year-copy-check>input{width:17px;height:17px;margin-top:1px}.year-copy-check span,.year-copy-check strong,.year-copy-check small{display:block}.year-copy-check small{color:var(--muted);margin-top:3px;line-height:1.4}.year-copy-students{border-left:2px solid #cad8cf;margin-left:28px;padding:10px 12px}.year-copy-students>label,.year-copy-students>div label{align-items:center;gap:8px;font-size:12px;display:flex}.year-copy-students>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:210px;margin-top:10px;display:grid;overflow:auto}.year-copy-warning strong,.year-copy-warning span{display:block}.year-copy-warning span{margin-top:4px}.year-copy-holiday-note{color:#466052;background:#f2f7f3;border-color:#cbd9cf}.settings-tabs{background:#f4f1ea;border-bottom:1px solid #e5e1d8;gap:5px;padding:12px 20px;display:flex}.settings-tabs button{color:#646d66;background:0 0;border:1px solid #0000;border-radius:9px;min-height:40px;padding:0 14px;font-size:12px;font-weight:750}.settings-tabs button.active{color:var(--green);background:#fff;border-color:#d7d2c8;box-shadow:0 2px 8px #3b332216}.time-hint{color:#717a73;font-size:11px;line-height:1.4;display:block}.list-student.locked-row{background:#e8ede9;border-color:#aab7ae;box-shadow:inset 3px 0 #667c6d}.list-student.locked-row>i{filter:grayscale(.8);opacity:.55}.list-actions{align-items:center}.list-actions button{color:#344039}.list-actions button:disabled{opacity:.3;cursor:default}.list-actions .drag-handle{color:#356048;cursor:grab;touch-action:none;background:#edf3ee;font-size:16px}.list-actions .drag-handle:active{cursor:grabbing}.student-card.locked{filter:saturate(.35);border:2px solid #536b5c;box-shadow:inset 4px 0 #405b4b,0 2px 7px #443b2725}.student-card.locked:after{content:"📌";color:#355042;background:#ffffffb8;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:800;position:absolute;bottom:3px;left:7px}.schedule-preview-summary{grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 20px 10px;display:grid}.schedule-preview-summary>div{background:#fff;border:1px solid #ddd8cd;border-radius:10px;padding:12px}.schedule-preview-summary span,.schedule-preview-summary strong{display:block}.schedule-preview-summary span{color:#747c76;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.schedule-preview-summary strong{color:#294839;margin-top:6px;font:500 20px Georgia,serif}.schedule-preview-list{background:#fff;border:1px solid #ddd8cd;border-radius:11px;max-height:52vh;margin:5px 20px 18px;overflow:auto}.schedule-preview-list>div{border-bottom:1px solid #ebe7df;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 13px;display:grid}.schedule-preview-list>div:last-child{border-bottom:0}.schedule-preview-list strong,.schedule-preview-list small{display:block}.schedule-preview-list strong{font-size:13px}.schedule-preview-list small{color:#69716b;margin-top:4px;font-size:11px}.schedule-preview-list em{color:#557061;font-size:11px;font-style:normal}.mobile-day-tabs{display:none}.calendar-tools{justify-content:space-between;gap:14px;padding:9px 0}.calendar-primary,.calendar-secondary{align-items:center;gap:8px;display:flex}.calendar-primary{min-width:0}.calendar-secondary{margin-left:auto}.calendar-secondary .warning-btn{margin-left:0}.year-picker-wrap{position:relative}.year-picker-button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:9px;grid-template-columns:auto auto 14px;align-items:center;gap:8px;height:40px;padding:0 10px 0 12px;display:grid}.year-picker-button span{color:#778078;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:800}.year-picker-button strong{color:#2f4438;font-size:12px;font-weight:800}.year-picker-button i{color:#728078;font-size:11px;font-style:normal}.year-picker-menu{z-index:55;border:1px solid var(--line);background:#fff;border-radius:12px;width:min(310px,100vw - 24px);padding:7px;position:absolute;top:46px;right:0;box-shadow:0 16px 42px #302b2030}.year-picker-menu button{color:#34433a;text-align:left;white-space:normal;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:39px;padding:0 10px;font-size:12px;line-height:1.3;display:flex}.year-picker-menu button:hover,.year-picker-menu button.active{background:#edf3ef}.year-picker-menu hr{border:0;border-top:1px solid #ebe7df;margin:6px 3px}.year-picker-menu .add-year-menu-item{color:var(--green);font-weight:800}.year-picker-menu button:disabled,.mobile-year-row button:disabled{cursor:not-allowed;opacity:.58}.schedule-action{font-weight:700;background:var(--green)!important;color:#fff!important;font-size:17px!important}.mobile-new-student,.mobile-agenda,.mobile-bottom-nav,.mobile-more-panel,.mobile-add-backdrop{display:none}.account-btn{text-overflow:ellipsis;max-width:210px;overflow:hidden}.auth-intro{padding:17px 20px 0}.auth-intro p{color:#647068;margin:0;font-size:13px;line-height:1.5}.auth-form{padding-top:14px}.auth-error{color:#9a3f35;background:#fff4f2;border:1px solid #e2b7b1;border-radius:8px;margin:0;padding:10px 12px;font-size:12px}.auth-notice{color:#315d47;background:#eef7f1;border:1px solid #b8d3c2;border-radius:8px;margin:0;padding:11px 12px;font-size:13px;line-height:1.45}.auth-link-btn{color:var(--green);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-size:12px;font-weight:700;text-decoration:underline}.auth-actions .primary-btn:disabled{opacity:.45;cursor:default}.password-input{margin-top:6px;position:relative}.password-input input{width:100%;margin-top:0!important;padding-right:92px!important}.password-input>button{height:32px;color:var(--green);background:#eef2ef;border:0;border-radius:7px;padding:0 9px;font-size:11px;font-weight:750;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.autofill-decoys{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-10000px;overflow:hidden}.auth-resend-btn{width:100%}.account-summary{background:#f1f6f3;border:1px solid #dbe3dd;border-radius:12px;margin:18px 20px 0;padding:16px}.account-summary span,.account-summary strong,.account-summary small,.account-summary em{display:block}.storage-summary{background:#fff;border:1px solid #ddd8ce;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:16px;margin:12px 20px 0;padding:15px 16px;display:grid}.storage-summary span,.storage-summary strong,.storage-summary small{display:block}.storage-summary span,.storage-summary dt{color:#78827b;text-transform:uppercase;font-size:11px;font-weight:800}.storage-summary strong{margin-top:5px;font-size:14px}.storage-summary small{color:#69736c;max-width:360px;margin-top:5px;font-size:12px;line-height:1.45}.storage-summary dl{gap:9px;margin:0;display:grid}.storage-summary dt,.storage-summary dd{margin:0}.storage-details-btn{grid-column:1/-1;width:100%}.storage-transparency{margin:18px 20px 0}.storage-transparency header{background:#f1f6f3;border:1px solid #dbe3dd;border-radius:12px;padding:15px 16px}.storage-transparency header span,.storage-transparency header strong,.storage-transparency header small{display:block}.storage-transparency header span{color:#718078;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800}.storage-transparency header strong{margin-top:5px;font-size:14px}.storage-transparency header small{color:#67736b;margin-top:3px;font-size:11px}.storage-transparency h3{margin:18px 0 8px;font-size:13px}.storage-transparency ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.storage-transparency li{color:#59645d;border:1px solid #e2ded5;border-radius:9px;padding:11px 12px 11px 34px;font-size:12px;line-height:1.45;position:relative}.storage-transparency li:before{content:"✓";color:#4d765f;font-weight:800;position:absolute;left:12px}.storage-summary dd{color:#34453b;margin-top:3px;font-size:12px;font-weight:700}@media (max-width:570px){.storage-summary{grid-template-columns:1fr;margin:12px 14px 0}.storage-transparency{margin:14px 14px 0}}.account-summary span{color:#718078;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.account-summary strong{margin-top:5px;font:500 22px Georgia,serif}.account-summary small{color:#67736b;margin-top:3px;font-size:11px}.account-summary em{color:#39634e;margin-top:11px;font-size:11px;font-style:normal;font-weight:700}.account-password-form{padding-top:15px}.account-password-form h3{margin:0;font-size:13px}.encryption-dialog{gap:18px;padding:20px;display:grid}.encryption-dialog>p{color:var(--muted);margin:0;line-height:1.55}.encryption-dialog label{color:#536159;gap:8px;font-size:12px;font-weight:700;display:grid}.encryption-dialog .password-input{margin-top:0}.encryption-dialog .password-input input{min-height:46px;color:var(--ink);background:#fff;border:1.5px solid #9aaca1;border-radius:10px;outline:none;padding-left:12px;box-shadow:inset 0 0 0 1px #f2f5f3}.encryption-dialog .password-input input:focus{border-color:#39705a;box-shadow:0 0 0 3px #39705a1c}.encryption-error{color:#7e4b20;background:#fff8ee;border:1px solid #ddb998;border-radius:10px;margin:0;padding:11px 12px;font-size:12px;line-height:1.45}.recovery-warning{color:#6d5422;background:#fff9e9;border:1px solid #dfc686;border-radius:10px;margin:0;padding:11px 12px;font-size:12px;line-height:1.45}.encryption-dialog textarea{resize:vertical;border:1px solid var(--line);width:100%;font:inherit;border-radius:12px;padding:12px}.recovery-code-dialog code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#f4f8fd;border:1px solid #c9d9ef;border-radius:14px;padding:16px;font-size:14px;line-height:1.5;display:block}.recovery-code-actions{flex-wrap:wrap;gap:10px;display:flex}.encryption-status-card{background:#edf7f1;border:1px solid #bcd6c6;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:12px 20px 0;padding:14px 16px;display:grid}.encryption-status-icon{color:#fff;background:#3e735c;border-radius:50%;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid}.encryption-status-card span,.encryption-status-card strong,.encryption-status-card small{display:block}.encryption-status-card span{color:#65756b;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.encryption-status-card strong{margin-top:3px;font-size:14px}.encryption-status-card small{color:#617068;margin-top:3px;font-size:11px;line-height:1.4}.auth-security-warning{background:#fff9ed;border:1px solid #e2c99e;border-radius:10px;padding:11px 12px;color:#6e5226!important;margin-top:12px!important;font-size:12px!important}@media (max-width:700px){.encryption-dialog{padding:18px 14px}.encryption-status-card{grid-template-columns:38px minmax(0,1fr);margin:12px 14px 0;padding:14px}.encryption-status-card>button{grid-column:1/-1;width:100%}.encryption-actions{grid-template-columns:1fr}.encryption-actions>span{display:none}.encryption-actions button,.recovery-code-actions button{width:100%}}.account-actions .primary-btn:disabled{opacity:.45;cursor:default}.history-intro{padding:16px 20px 8px}.history-intro strong{color:#304c3d;font-size:15px;display:block}.history-intro p{color:#68736c;margin:5px 0 0;font-size:12px;line-height:1.5}.history-list{background:#fff;border:1px solid #ddd8ce;border-radius:12px;max-height:36vh;margin:8px 20px 16px;overflow:auto}.history-list article{border-bottom:1px solid #ece8df;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:13px;padding:13px 14px;display:grid}.history-list article:last-child{border-bottom:0}.history-entry-mark{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.history-entry-mark i,.history-entry-mark em{color:#557063;background:#e8f0ea;border-radius:999px;place-items:center;min-width:24px;min-height:24px;font-size:11px;font-style:normal;font-weight:800;display:inline-grid}.history-entry-mark em{color:#fff;background:#315845;padding:0 7px;font-size:9px}.history-entry-copy header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.history-entry-copy strong{font-size:13px}.history-entry-copy time{color:#7b847e;flex:none;font-size:11px}.history-entry-copy ul{color:#5f6963;gap:3px;margin:7px 0 0;padding-left:17px;font-size:11px;line-height:1.4;display:grid}.history-list>p{color:#7b847e;text-align:center;margin:0;padding:30px 15px;font-size:13px}.server-version-section{background:#fff;border:1px solid #d9d4c8;border-radius:12px;margin:0 20px 18px;padding:16px}.server-version-section>header div{min-width:0}.server-version-section>header h3,.server-version-section>header p{margin:0}.server-version-section>header h3{color:#304c3d;font-size:15px}.server-version-section>header p{color:#68736c;max-width:690px;margin-top:5px;font-size:11px;line-height:1.45}.server-version-list{border-top:1px solid #e7e2d9;max-height:310px;margin-top:12px}.server-version-list article{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 2px;display:grid}.server-version-list article.is-current{background:#f3f8f4}.server-version-copy header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.server-version-copy header strong{color:#2f493b;font-size:13px}.server-version-copy header span,.server-version-copy p,.server-version-copy small{color:#6f7972;font-size:11px}.server-version-copy p{margin:4px 0}.server-version-copy small{display:block}.current-version-btn{color:#3c5c4b;opacity:1!important}.server-version-error{color:#93473d;background:#fff5f2;border:1px solid #e2b3a9;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.history-actions{grid-template-columns:1fr;display:grid}.history-action-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.history-action-row button,.history-close-btn{width:100%;min-height:42px}.history-actions button:disabled{opacity:.4}.list-main strong,.student-card strong,.break-card strong{font-size:12px}.list-main span,.list-main small,.student-card span,.break-card span,.modal-note,.modal-note-inline,.plan-summary,.form-grid label,.day-setting label,.academic-settings label{font-size:11px}@media (max-width:1360px){.year-switcher .add-year{display:none}.calendar-tools{flex-direction:column;align-items:stretch}.calendar-primary,.calendar-secondary{width:100%}.calendar-secondary{margin-left:0}}@media (max-width:700px){body{background:#f7f5ef}.app-shell{padding:14px 12px 104px}.topbar{align-items:center;margin-bottom:12px;display:flex}h1{font-size:27px}.eyebrow{font-size:11px}.top-actions{margin:0 0 0 auto}.top-actions .icon-btn,.top-actions .soft-btn,.top-actions .account-btn,.top-actions .desktop-language-select{display:none}.save-state{margin:0;font-size:11px}.tool-row.calendar-tools{min-height:0;margin-bottom:8px;padding:0;display:block}.calendar-primary{display:block}.week-nav{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;min-height:64px;padding:5px}.week-nav>div{flex:1;min-width:0}.week-nav>button:not(.today-btn){width:42px;height:48px;font-size:25px}.week-nav .today-btn{height:44px;padding:0 11px}.calendar-primary>.students-toggle,.calendar-primary>.semester-switch,.calendar-primary>.year-picker-wrap,.calendar-secondary{display:none}.mobile-day-tabs{scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;width:calc(100% + 24px);margin:0 -12px 10px;padding:0 12px 4px;display:flex;overflow-x:auto}.mobile-day-tabs::-webkit-scrollbar{display:none}.mobile-day-tabs button{scroll-snap-align:center;border:1px solid var(--line);color:#68716a;background:#fff;border-radius:12px;flex:0 0 54px;height:58px;padding:4px 1px}.mobile-day-tabs span,.mobile-day-tabs strong{display:block}.mobile-day-tabs span{text-transform:uppercase;font-size:11px}.mobile-day-tabs strong{margin-top:3px;font-size:17px}.mobile-day-tabs button.active{border-color:var(--green);background:var(--green);color:#fff}.mobile-day-tabs button.working:not(.active){color:#315844;background:#eef6f1;border-color:#9cb8a7}.mobile-day-tabs button.non-working{color:#8a908c}.mobile-day-tabs button.active.non-working{color:#fff;background:#737b76;border-color:#737b76}.workspace.with-sidebar{display:block}.student-sidebar{z-index:80;width:100%;max-height:none;padding-top:env(safe-area-inset-top);background:#fbfaf7;border:0;border-radius:0;position:fixed;inset:0 0 82px}.sidebar-title{padding:19px 18px 12px}.sidebar-title h2{font-size:28px}.mobile-close{display:none}.mobile-new-student{background:var(--green);color:#fff;border:0;border-radius:11px;min-height:48px;margin:0 16px 12px;font-weight:750;display:block}.student-sidebar .search-input{height:48px;margin:0 16px 9px;font-size:16px}.student-sidebar .filter-row{padding:0 16px 13px}.student-sidebar .filter-row select{height:44px;font-size:12px}.student-list{padding:8px 10px 24px}.list-student{grid-template-columns:7px minmax(0,1fr) auto;min-height:76px;padding:11px 9px}.list-main strong{font-size:15px}.list-main span,.list-main small{font-size:12px}.list-actions button{width:36px;height:38px;font-size:15px}.list-actions .drag-handle{display:none}.calendar-area{width:100%}.mobile-agenda{border:1px solid var(--line);background:#fff;border-radius:16px;display:block;overflow:hidden;box-shadow:0 7px 26px #463d2810}.mobile-agenda-head{background:#eaf2ee;border-bottom:1px solid #d6e0da;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;min-height:92px;display:grid}.mobile-agenda-head>button{height:58px;color:var(--green);background:0 0;border:0;font-size:30px}.mobile-agenda-head>div{text-align:center}.mobile-agenda-head span,.mobile-agenda-head strong,.mobile-agenda-head small{display:block}.mobile-agenda-head span{color:#607168;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.mobile-agenda-head strong{margin-top:4px;font:500 20px Georgia,serif}.mobile-agenda-head small{color:#748078;margin-top:5px;font-size:11px}.mobile-holiday{background:#fff1ec;border-bottom:1px solid #ead2c7;padding:13px 16px}.mobile-holiday span,.mobile-holiday strong,.mobile-holiday small{display:block}.mobile-holiday span{color:#a14f3b;text-transform:uppercase;font-size:11px;font-weight:800}.mobile-holiday strong{margin-top:3px;font-size:14px}.mobile-holiday small{color:#87685e;margin-top:4px;font-size:11px}.mobile-agenda-list{padding:8px 0}.mobile-agenda-chunk{display:block}.mobile-lesson{background:#fff;border-top:0;border-bottom:1px solid #ebe7df;border-left:6px solid #8cc;border-right:0;grid-template-columns:58px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:78px;padding:13px 14px;display:grid}.mobile-lesson time{color:#2e3c34;align-self:start;padding-top:2px;font-size:15px;font-weight:800}.mobile-lesson strong,.mobile-lesson span,.mobile-lesson small{display:block}.mobile-lesson strong{font-size:16px}.mobile-lesson span{color:#66716a;margin-top:6px;font-size:12px}.mobile-lesson small{color:#a14d3b;margin-top:6px;font-size:11px}.mobile-lesson>b{color:#89928c;font-size:22px}.mobile-lesson.locked{background:#eef1ee}.mobile-lesson.blocked{opacity:.72;background:#fff0ec}.mobile-lesson.conflict{box-shadow:inset 0 0 0 2px #d26a5d}.mobile-break{background:#f7f3e9;border-left-color:#c3aa79}.mobile-free-slot{color:#718077;background:#f8faf8;border:0;border-bottom:1px dashed #d9ddd9;justify-content:space-between;align-items:center;width:100%;min-height:45px;padding:0 16px 0 20px;display:flex}.mobile-free-slot span{font-size:11px}.mobile-free-slot b{color:#35634d;font-size:12px}.mobile-free-slot.last{border-bottom:0}.mobile-empty-day{text-align:center;padding:48px 24px 54px}.mobile-empty-day span,.mobile-empty-day strong{display:block}.mobile-empty-day span{color:#7a857e;text-transform:uppercase;font-size:11px;font-weight:800}.mobile-empty-day strong{margin-top:7px;font:500 24px Georgia,serif}.mobile-empty-day p{color:#6f7772;max-width:280px;margin:10px auto 18px;font-size:13px;line-height:1.45}.mobile-empty-day button{background:var(--green);color:#fff;border:0;border-radius:10px;min-height:46px;padding:0 20px;font-weight:750}.mobile-bottom-nav{z-index:100;min-height:82px;padding:6px 7px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfcfaee;border-top:1px solid #d8ddd9;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{color:#768078;overflow-wrap:normal;white-space:nowrap;text-align:center;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;font-size:11px;font-weight:700;line-height:1.1;display:flex}.mobile-bottom-nav .mobile-nav-icon{flex:0 0 24px;width:24px;height:24px;display:block}.mobile-bottom-nav button.active{color:var(--green);background:#eaf1ed}.mobile-bottom-nav .mobile-add-main .mobile-nav-icon{box-sizing:border-box;background:var(--green);color:#fff;border-radius:50%;flex-basis:38px;width:38px;height:38px;margin-top:-18px;padding:8px;box-shadow:0 5px 16px #254d3e45}.mobile-add-backdrop{z-index:110;padding:16px 12px calc(94px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17251e73;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-add-sheet{background:#fff;border-radius:18px;width:100%;overflow:hidden;box-shadow:0 22px 65px #17251e45}.mobile-add-sheet>header{border-bottom:1px solid #ece8df;justify-content:space-between;align-items:center;padding:17px 17px 12px;display:flex}.mobile-add-sheet header span,.mobile-add-sheet h2{display:block}.mobile-add-sheet header span{color:#78847c;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}.mobile-add-sheet h2{margin:4px 0 0;font:500 23px Georgia,serif}.mobile-add-sheet header button{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;font-size:22px}.mobile-add-sheet>div{grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.mobile-add-sheet>div>button{text-align:left;background:#f5f8f6;border:1px solid #dce3de;border-radius:12px;min-height:82px;padding:12px}.mobile-add-sheet>div>button:nth-child(3){grid-column:1/-1;min-height:70px}.mobile-add-sheet>div b,.mobile-add-sheet>div span{display:block}.mobile-add-sheet>div b{color:#284a3a;font-size:14px}.mobile-add-sheet>div span{color:#738078;margin-top:5px;font-size:11px;line-height:1.35}.mobile-more-panel{z-index:85;padding-top:env(safe-area-inset-top);background:#f7f5ef;flex-direction:column;display:flex;position:fixed;inset:0 0 82px;overflow:auto}.mobile-issues-panel{z-index:85;padding-top:env(safe-area-inset-top);background:#f7f5ef;flex-direction:column;display:flex;position:fixed;inset:0 0 82px;overflow:hidden}.mobile-issues-panel>header{grid-template-columns:1fr auto;align-items:end;padding:20px 18px 14px;display:grid}.mobile-issues-panel>header span{color:#78847c;letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:800}.mobile-issues-panel>header h2{margin:4px 0 0;font:500 30px Georgia,serif}.mobile-issues-panel>header b{min-width:30px;height:30px;color:var(--green);background:#e8eee9;border-radius:15px;place-items:center;font-size:12px;display:grid}.mobile-issues-panel .issue-toolbar{border:1px solid var(--line);background:#fff;border-radius:14px 14px 0 0;margin:0 14px;padding:12px}.mobile-issues-panel .issue-list{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 14px 14px;flex:1;max-height:none;margin:0 14px 18px;padding:0 10px 14px}.mobile-issues-panel .empty-check{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 14px}.mobile-more-panel>header{justify-content:space-between;align-items:center;padding:20px 18px 14px;display:flex}.mobile-more-panel header span{color:#78847c;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.mobile-more-panel h2{margin:4px 0 0;font:500 30px Georgia,serif}.mobile-more-panel header button{border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px;font-size:24px}.mobile-more-content{gap:13px;padding:0 14px 28px;display:grid}.mobile-more-content>section,.mobile-more-content>details{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.mobile-more-content h3{margin:0;padding:14px 15px 7px;font-size:12px}.mobile-year-row,.mobile-history-row{gap:8px;padding:7px 12px 13px;display:grid}.mobile-year-row{grid-template-columns:1fr 1fr}.mobile-year-row select,.mobile-year-delete-hint{grid-column:1/-1}.mobile-history-row{grid-template-columns:1fr 1fr}.mobile-year-row select,.mobile-year-row button,.mobile-history-row button{border:1px solid var(--line);background:#faf9f6;border-radius:9px;height:44px;padding:0 10px;font-weight:700}.mobile-year-row button{white-space:normal;grid-column:1/-1;width:100%;height:auto;min-height:48px;line-height:1.25}.mobile-year-delete-hint{color:#7c837e;font-size:11px;line-height:1.35}.mobile-menu-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #ece8df;justify-content:space-between;gap:12px;width:100%;min-height:53px;padding:0 15px;display:flex}.mobile-menu-list button:last-child{border-bottom:0}.mobile-menu-list button span,.mobile-menu-list button b{align-self:center;font-size:13px}.mobile-menu-list button span{flex:58%;min-width:0}.mobile-menu-list button b{overflow-wrap:anywhere;text-align:right;flex:0 42%;line-height:1.25}.language-switcher{grid-template-columns:repeat(3,1fr);gap:7px;padding:7px 12px 13px;display:grid}.language-switcher button{border:1px solid var(--line);color:#657169;background:#faf9f6;border-radius:9px;height:42px;font-weight:800}.language-switcher button.active{color:var(--green);background:#e9f1ec;border-color:#537665}.mobile-language-section summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:53px;padding:0 15px;list-style:none;display:flex}.mobile-language-section summary::-webkit-details-marker{display:none}.mobile-language-section summary span{font-size:13px}.mobile-language-section summary b{color:#628071;font-size:11px}.mobile-language-section[open] summary{border-bottom:1px solid #ece8df}.mobile-menu-list button b{color:#628071;font-size:11px}.schedule-wrap{max-height:none}.day-head.dated{height:82px}.modal-backdrop{height:100dvh;padding:0}.modal,.modal.wide{overscroll-behavior:contain;border:0;border-radius:0;width:100%;height:100dvh;min-height:100dvh;max-height:100dvh}.modal-head{padding:17px 15px}.modal-head h2{font-size:22px}.settings-tabs{padding:8px;overflow-x:auto}.settings-tabs button{flex:none}.academic-settings{grid-template-columns:1fr;padding:14px}.semester-card{grid-template-columns:1fr 1fr}.semester-card>strong{grid-column:1/-1}.days-settings{padding:8px 14px}.day-setting{grid-template-columns:1fr 1fr;padding:12px 0}.day-setting .day-toggle{grid-column:1/-1}.schedule-preview-summary{grid-template-columns:1fr 1fr;padding:14px}.schedule-preview-list{margin:5px 14px 15px}.schedule-preview-list>div,.member-picker{grid-template-columns:1fr}.modal-actions{z-index:30;padding-bottom:calc(20px + env(safe-area-inset-bottom));margin-top:auto;position:sticky;bottom:0;box-shadow:0 -10px 24px #f7f5efef}.modal-actions>span{display:none}.modal-actions button{white-space:normal;flex:140px;height:auto;min-height:46px;padding-block:8px;line-height:1.25}}@media (max-width:760px){@supports (-webkit-touch-callout:none){.modal-actions{bottom:calc(18px + env(safe-area-inset-bottom));padding-bottom:16px;box-shadow:0 -10px 24px #f7f5efef,0 20px #fbfaf7}.modal:after{content:"";height:calc(18px + env(safe-area-inset-bottom));flex:none;display:block}.modal-actions.onboarding-target-actions{bottom:calc(18px + env(safe-area-inset-bottom))}}}.day-head.dated .non-working-head{color:#777e79;background:repeating-linear-gradient(135deg,#f1f1ed 0 7px,#ecece7 7px 14px);position:relative}.day-head.dated .non-working-head strong,.day-head.dated .non-working-head b{color:#767d78}.day-head.dated .non-working-caption{color:#7c827e;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.day-col.non-working-day .inactive{display:none}.non-working-overlay{z-index:1;pointer-events:none;background:repeating-linear-gradient(135deg,#eff0ecba 0 9px,#e8e9e4ba 9px 18px);place-items:start center;padding-top:16px;display:grid;position:absolute;inset:0}.non-working-overlay span{color:#858b87;letter-spacing:.05em;text-transform:uppercase;background:#f6f6f3de;border:1px solid #d7d9d4;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.student-card.non-working-lesson{filter:saturate(.62);opacity:.88;box-shadow:inset 0 0 0 1px #6f777255}.credential-username{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:fixed!important;left:-10000px!important}@media (max-width:700px){.desktop-break-toggle{display:none!important}}.student-unschedule-pending{color:#315744;background:#eef6f1;border:1px solid #bfd2c5;border-radius:11px;grid-column:1/-1;align-items:center;gap:11px;min-width:0;padding:12px 14px;display:flex}.student-unschedule-pending>span{background:#d9e9df;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.student-unschedule-pending strong{font-size:13px;display:block}.student-unschedule-pending p{color:#62766a;margin:2px 0 0;font-size:12px;line-height:1.35}html,body{max-width:100%;overflow-x:hidden}.app-shell,.workspace,.calendar-area,.student-sidebar,.modal,.modal form,.modal label{min-width:0;max-width:100%}.planner-import-target{grid-template-columns:1fr;align-items:stretch}.planner-target-controls{grid-template-columns:minmax(160px,.8fr) minmax(340px,1.5fr) auto;align-items:center;gap:10px;display:grid}.planner-target-controls select,.planner-target-controls button{min-height:42px}.planner-target-scope{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.planner-target-scope button{min-width:0;padding-inline:10px}.planner-student-match-list{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.planner-student-match{background:#fff;grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.planner-student-match>span{min-width:0}.planner-student-match strong,.planner-student-match small{text-overflow:ellipsis;display:block;overflow:hidden}.planner-student-match small{color:#52715f;margin-top:3px;font-size:11px}.planner-student-match.unresolved{background:#fff7ee}.planner-student-match.unresolved small{color:#985128}.planner-student-match select{width:100%;min-width:0}@media (max-width:820px){input,select,textarea{font-size:16px!important}.modal-backdrop{align-items:end;padding:10px;overflow:hidden}.modal{overscroll-behavior:contain;width:100%;max-height:calc(100dvh - 10px);overflow:hidden auto}.planner-target-controls,.planner-student-match-list,.planner-student-match{grid-template-columns:1fr}.planner-target-scope{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-student-match{gap:8px}}.day-head.dated .today-head{background:#eef6f1;box-shadow:inset 0 3px #35715a}.day-head.dated .today-head.holiday-head{background:#f8eee9}.drag-hint{color:#7a817b;white-space:nowrap;font-size:11px}.list-student.draggable{cursor:grab}.list-student.draggable:active{cursor:grabbing}.drag-ghost{z-index:180;pointer-events:none;opacity:.92;border:1px solid #0002;border-radius:9px;min-width:150px;max-width:230px;padding:9px 11px;position:fixed;box-shadow:0 12px 35px #1f271f45}.drag-ghost strong,.drag-ghost span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.drag-ghost strong{font-size:12px}.drag-ghost span{color:#39413b;margin-top:3px;font-size:11px}.student-drop-preview{color:#244b3a;z-index:30;pointer-events:none;opacity:.9;border:2px dashed #2d6b52;border-radius:8px;padding:7px;position:absolute;background-color:#dbeadf!important}.student-drop-preview strong,.student-drop-preview span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.student-drop-preview strong{font-size:11px}.student-drop-preview span{margin-top:3px;font-size:11px}.student-card.holiday-blocked{filter:grayscale(.55);opacity:.55;cursor:default;border-style:dashed}.student-card.holiday-blocked strong{text-decoration:line-through}.student-card.holiday-blocked small{color:#8d4137;font-weight:800}.lesson-student-label{background:#fff;border:1px solid #d9d4c8;border-radius:9px;padding:12px}.lesson-student-label span,.lesson-student-label strong{display:block}.lesson-student-label span{text-transform:uppercase;letter-spacing:.08em;color:#737b74;font-size:11px}.lesson-student-label strong{margin-top:4px;font:500 20px Georgia,serif}.delete-choices{grid-template-columns:repeat(3,1fr);gap:9px;padding:18px 20px 8px;display:grid}.delete-choices>label{cursor:pointer;background:#fff;border:1px solid #ddd8cd;border-radius:10px;align-items:flex-start;gap:9px;padding:12px;display:flex}.delete-choices>label.selected{background:#fff7f5;border-color:#a8584d;box-shadow:0 0 0 2px #a8584d18}.delete-choices input,.delete-date-list input{accent-color:#a84438}.delete-choices span,.delete-choices strong,.delete-choices small,.delete-date-list span,.delete-date-list strong,.delete-date-list small{display:block}.delete-choices strong{font-size:11px}.delete-choices small{color:#747b75;margin-top:4px;font-size:11px;line-height:1.4}.delete-date-list{background:#fff;border:1px solid #ddd8cd;border-radius:10px;max-height:330px;margin:8px 20px 16px;padding:5px;overflow:auto}.delete-date-list label{cursor:pointer;border-bottom:1px solid #eeeae2;align-items:center;gap:10px;padding:9px;display:flex}.delete-date-list label:last-child{border-bottom:0}.delete-date-list input{width:17px;height:17px}.delete-date-list strong{font-size:11px}.delete-date-list small{color:#737a74;margin-top:3px;font-size:11px}.danger-btn:disabled{opacity:.45;cursor:default}@media (max-width:800px){.drag-hint{display:none}.delete-choices{grid-template-columns:1fr}.list-student.draggable{cursor:default}}.semester-switch{background:#eeebe4;border-radius:9px;padding:3px;display:flex}.semester-switch button{color:#69716b;white-space:nowrap;background:0 0;border:0;border-radius:7px;height:34px;padding:0 10px;font-size:11px}.semester-switch button.active{color:var(--green);background:#fff;font-weight:800;box-shadow:0 1px 5px #3b33221c}.grouped-list{padding:0 7px 10px}.student-section{border-bottom:1px solid #ebe7df;padding:6px 0}.student-section:last-child{border-bottom:0}.section-head{text-align:left;color:#4b554e;background:0 0;border:0;grid-template-columns:1fr auto 18px;align-items:center;width:100%;height:35px;padding:0 7px;display:grid}.section-head:hover{background:#f6f3ed;border-radius:7px}.section-head span{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.section-head b{color:#3a5a49;background:#e8eee9;border-radius:11px;place-items:center;min-width:23px;height:21px;font-size:11px;display:grid}.section-head i{text-align:right;color:#7a817b;font-style:normal}.list-empty.compact{padding:15px 8px}.add-group-btn{color:#35634d;background:#f5faf6;border:1px dashed #b9c8bd;border-radius:8px;width:100%;height:34px;margin-top:5px;font-size:11px;font-weight:750}.group-card{border-style:double}.student-card-tools{gap:8px;display:flex}.time-field-wrap{gap:7px;width:100%;min-width:0;display:grid}.time-field-wrap>label:first-child{text-transform:uppercase;letter-spacing:.06em;color:#677069;flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.time-field-wrap input[type=time]{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.inline-check{align-items:center;text-transform:none!important;letter-spacing:0!important;color:#737a74!important;flex-direction:row!important;gap:7px!important;font-size:11px!important;font-weight:500!important;display:flex!important}.inline-check input{accent-color:var(--green);width:15px!important;height:15px!important}.multi-calendar{background:#fff;border:1px solid #ddd8cd;border-radius:12px;padding:13px}.calendar-nav{grid-template-columns:35px 1fr 35px;align-items:center;margin-bottom:8px;display:grid}.calendar-nav button{background:#f1eee8;border:0;border-radius:7px;height:32px;font-size:20px}.calendar-nav strong{text-align:center;font:500 17px Georgia,serif}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-grid>span,.calendar-grid>button,.calendar-grid>i{height:34px}.calendar-weekday{color:#7a817b;text-transform:uppercase;place-items:center;font-size:10px;font-weight:800;display:grid}.calendar-grid>button{background:#f8f6f1;border:1px solid #0000;border-radius:7px;font-size:11px;position:relative}.calendar-grid>button:hover{border-color:#8ba698}.calendar-grid>button.selected{color:#fff;background:#2f6a51;font-weight:800}.calendar-grid>button.existing:after{content:"";background:#5d6dc4;border-radius:50%;width:5px;height:5px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.calendar-grid>button.holiday{box-shadow:inset 0 -3px #d48d7e}.calendar-grid>button.outside{opacity:.42}.calendar-legend{color:#69716b;flex-wrap:wrap;gap:12px;margin:10px 1px;font-size:11px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.calendar-legend i{border-radius:3px;width:9px;height:9px}.legend-selected{background:#2f6a51}.legend-existing{background:#5d6dc4}.legend-holiday{background:#d48d7e}.calendar-select-hint{color:#365947;margin:0 0 10px;font-size:13px;font-weight:800}.manual-fallback-toggle{color:#5e6d65;letter-spacing:0;text-transform:none;border-top:1px solid #ebe7df;align-items:center;gap:8px;margin-top:11px;padding-top:11px;font-size:11px;font-weight:750;display:flex}.manual-fallback-toggle input{width:16px;height:16px;accent-color:var(--green)}.manual-fallback{grid-template-columns:1fr auto;align-items:end;gap:8px;padding-top:9px;display:grid}.manual-fallback label{text-transform:uppercase;letter-spacing:.05em;color:#69716b;flex-direction:column;gap:5px;font-size:11px;font-weight:800;display:flex}.manual-fallback textarea{border:1px solid var(--line);resize:vertical;text-transform:none;letter-spacing:0;border-radius:8px;min-height:58px;padding:8px;font-weight:400}.member-picker{background:#fff;border:1px solid #ddd8cd;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:230px;padding:10px;display:grid;overflow:auto}.member-picker>span{text-transform:uppercase;letter-spacing:.07em;color:#68716a;grid-column:1/-1;margin-bottom:5px;font-size:11px;font-weight:800}.member-picker label{background:#f8f6f1;border-radius:7px;align-items:center;height:34px;padding:0 8px;text-transform:none!important;letter-spacing:0!important;flex-direction:row!important;gap:8px!important;font-size:11px!important;display:flex!important}.member-picker input{accent-color:var(--green);width:16px!important;height:16px!important}.academic-settings{grid-template-columns:145px 1fr 1fr;align-items:end;gap:12px;padding:17px 20px 8px;display:grid}.academic-settings>label,.semester-card label{text-transform:uppercase;letter-spacing:.06em;color:#68716a;flex-direction:column;gap:5px;font-size:11px;font-weight:800;display:flex}.academic-settings input{border:1px solid var(--line);text-transform:none;letter-spacing:0;background:#fff;border-radius:8px;height:37px;padding:0 8px;font-weight:400}.semester-card{background:#fff;border:1px solid #ddd8cd;border-radius:10px;grid-template-columns:auto 1fr 1fr;align-items:end;gap:8px;padding:10px;display:grid}.semester-card>strong{align-self:center;font:500 14px Georgia,serif}.extend-btn{grid-column:2/-1}.academic-year-add,.academic-year-danger{background:#fff7f5;border:1px solid #e4c3bd;border-radius:11px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;margin-top:8px;padding:14px;display:flex}.academic-year-add{background:#f3f8f4;border-color:#cbd9cf}.academic-year-add strong,.academic-year-add span{display:block}.academic-year-add strong{color:#365344;font-size:13px}.academic-year-add span{color:#617269;max-width:680px;margin-top:4px;font-size:11px;line-height:1.45}.academic-year-add button{flex:none}.academic-year-danger strong,.academic-year-danger span{display:block}.academic-year-danger strong{color:#873f36;font-size:13px}.academic-year-danger span{color:#806964;max-width:680px;margin-top:4px;font-size:11px;line-height:1.45}.academic-year-danger .danger-btn{flex:none}.day-setting{grid-template-columns:1fr 130px 130px}.bulk-actions{gap:8px;padding:12px 20px 5px;display:flex}.excel-issues{background:#fff;border:1px solid #ddd8cd;border-radius:11px;max-height:52vh;margin:8px 20px 17px;overflow:auto}.excel-issues>div{border-bottom:1px solid #ece8e0;grid-template-columns:1fr minmax(210px,auto);align-items:center;gap:12px;padding:10px 12px;display:grid}.excel-issues>div:last-child{border-bottom:0}.excel-issues span,.excel-issues strong,.excel-issues small{display:block}.excel-issues strong{font-size:11px}.excel-issues small{color:#7a817b;margin-top:3px;font-size:11px}.excel-issues select{border:1px solid var(--line);background:#faf9f6;border-radius:7px;height:35px;padding:0 7px;font-size:11px}.empty-check{color:#456452;text-align:center;background:#f1f8f3;border:1px solid #bfd2c4;border-radius:11px;margin:20px;padding:30px;font-size:13px}.issue-toolbar{border-bottom:1px solid #e7e2d9;align-items:center;gap:12px;padding:14px 20px;display:flex}.issue-toolbar p{color:#717972;flex:1;margin:0;font-size:11px}.issue-list{max-height:65vh;padding:8px 20px 18px;overflow:auto}.issue-list article{border-bottom:1px solid #ebe7df;align-items:center;gap:12px;padding:11px;display:flex}.issue-list article>div:first-child{flex:1;min-width:0}.issue-list article>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.issue-list article span{text-transform:uppercase;letter-spacing:.08em;color:#9a6c36;font-size:10px;font-weight:800;display:block}.issue-list article strong{margin-top:3px;font-size:11px;line-height:1.4;display:block}.issue-list .soft-btn{height:34px;font-size:11px}.issue-holiday{background:#fffaf5}.issue-overlap{background:#fff7f5}.issue-grid{background:#f7f7ff}.desktop-issues-panel{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;max-height:calc(100vh - 24px);display:flex;position:sticky;top:10px;overflow:hidden;box-shadow:0 8px 35px #51482f10}.desktop-issues-panel>header{background:#fbfaf7;border-bottom:1px solid #e7e2d9;justify-content:space-between;align-items:center;min-height:58px;padding:10px 12px 10px 15px;display:flex}.desktop-issues-panel>header div{align-items:center;gap:8px;display:flex}.desktop-issues-panel>header span{text-transform:uppercase;letter-spacing:.08em;color:#566159;font-size:12px;font-weight:800}.desktop-issues-panel>header strong{min-width:24px;height:24px;color:var(--green);background:#e8eee9;border-radius:12px;place-items:center;font-size:11px;display:grid}.desktop-issues-panel .issue-toolbar{padding-inline:12px}.desktop-issues-panel .issue-list{max-height:none;padding:6px 10px 14px}.desktop-issues-panel .issue-list article{flex-direction:column;align-items:stretch}.desktop-issues-panel .issue-list article>div:last-child{justify-content:flex-start}.desktop-issues-panel .empty-check{margin:auto 0}.input-error{color:#a84438;text-transform:none;letter-spacing:0;font-size:11px;font-weight:600;line-height:1.35}.auth-field-hint{color:var(--muted);letter-spacing:0;text-transform:none;margin-top:7px;font-size:11px;font-weight:400;line-height:1.45;display:block}.onboarding-guide{padding:22px 26px 18px}.onboarding-guide>p{color:var(--muted);margin:18px 0;font-size:12px;line-height:1.5}.onboarding-progress{background:#e9ede9;border-radius:999px;height:28px;position:relative;overflow:hidden}.onboarding-progress span{z-index:2;color:#33483d;place-items:center;height:100%;font-size:11px;font-weight:800;display:grid;position:relative}.onboarding-progress i{border-radius:inherit;background:#cfe2d7;transition:width .18s;position:absolute;inset:0 auto 0 0}.onboarding-guide article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;min-height:132px;padding:22px;display:grid}.onboarding-guide article strong{color:var(--text);font:600 23px/1.15 Georgia,serif}.onboarding-guide article span{color:var(--muted);font-size:13px;line-height:1.55}.onboarding-resume{z-index:90;background:var(--green);color:#fff;border:0;border-radius:999px;min-height:44px;padding:0 18px;font-size:12px;font-weight:800;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 30px #1f493b4d}@media (max-width:1050px){.semester-switch{display:none}.academic-settings{grid-template-columns:1fr 1fr}.academic-settings>label,.extend-btn{grid-column:1/-1}.semester-card{grid-template-columns:1fr 1fr}.semester-card>strong{grid-column:1/-1}.day-setting{grid-template-columns:1fr 1fr 1fr}}@media (max-width:650px){.onboarding-guide{padding:16px 14px 10px}.onboarding-guide article{min-height:150px;padding:20px}.onboarding-actions .soft-btn:first-child{flex:140px}.onboarding-resume{right:14px;bottom:calc(94px + env(safe-area-inset-bottom));z-index:110}.member-picker,.manual-fallback{grid-template-columns:1fr}.academic-settings{grid-template-columns:1fr;padding:12px 14px}.academic-year-add,.academic-year-danger{flex-direction:column;align-items:stretch}.student-import-row-grid,.year-copy-students>div{grid-template-columns:1fr}.student-import-summary,.student-import-rows{padding-left:14px;padding-right:14px}.student-import-group-warning,.year-copy-warning,.year-copy-holiday-note{margin-left:14px;margin-right:14px}.semester-card{grid-template-columns:1fr}.semester-card>strong,.extend-btn{grid-column:auto}.excel-issues>div{grid-template-columns:1fr}.issue-toolbar,.issue-list article{flex-direction:column;align-items:stretch}.issue-list article>div:last-child{justify-content:flex-start}.calendar-grid>span,.calendar-grid>button,.calendar-grid>i{height:30px}}.issue-list article span,.issue-list article strong,.issue-list .soft-btn,.input-error,.issue-toolbar p,.holiday-settings p,.holiday-settings>div em,.holiday-settings>div span,.delete-date-list small,.delete-date-list strong{font-size:12px}@media (min-width:701px) and (max-width:1180px){.workspace.compact-desktop.with-issues{grid-template-columns:minmax(0,1fr)}.workspace.compact-desktop.with-sidebar.with-issues{grid-template-columns:290px minmax(0,1fr)}.desktop-issues-panel{z-index:95;border-radius:14px 0 0 14px;width:min(370px,92vw);height:100dvh;max-height:100dvh;position:fixed;inset:0 0 0 auto;box-shadow:-14px 0 55px #20282045}}@media (max-width:850px){.student-sidebar .drag-handle{display:none}}@media (max-width:650px){.history-entry-copy header,.server-version-section>header,.server-version-error{flex-direction:column;align-items:stretch}.history-list article,.server-version-list article{grid-template-columns:1fr}.server-version-list article>button{width:100%}}.student-import-preview{border:1px solid var(--line);background:#fff;border-radius:12px;margin:14px 20px 2px;overflow:hidden}.student-import-preview>header{border-bottom:1px solid var(--line);background:#f7f6f1;justify-content:space-between;align-items:end;gap:16px;padding:12px 14px;display:flex}.student-import-preview>header div,.student-import-preview>header label{gap:4px;display:grid}.student-import-preview>header span,.student-import-preview>header label{color:var(--muted);font-size:11px;line-height:1.4}.student-import-preview>header select{border:1px solid var(--line);min-width:180px;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:0 9px}.student-import-preview-table{max-height:280px;overflow:auto}.student-import-preview table{border-collapse:collapse;white-space:nowrap;min-width:100%;font-size:11px}.student-import-preview th,.student-import-preview td{text-overflow:ellipsis;border-bottom:1px solid #ece9e1;border-right:1px solid #ece9e1;max-width:260px;padding:8px 10px;overflow:hidden}.student-import-preview th{z-index:1;background:#f7f6f1;position:sticky;left:0}.student-import-preview th label{align-items:center;gap:6px;display:flex}.student-import-preview tr.selected th,.student-import-preview tr.selected td{color:#294b3a;background:#eaf3ed;font-weight:750}.availability-editor{background:#faf9f5}.availability-editor>header strong{font-size:14px}.availability-editor>header span{font-size:11px;line-height:1.45}.availability-editor>header .soft-btn{flex:none;min-height:40px}.availability-row{background:#fff;border:1px solid #e2ded4;border-radius:11px;grid-template-columns:minmax(155px,1fr) 125px auto 125px 40px;padding:11px}.availability-row label{gap:5px;min-width:0;display:grid}.availability-row label>span{color:#6b746d;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.availability-row select,.availability-row input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:0 9px}.availability-separator{color:var(--muted);align-self:end;padding-bottom:9px}.availability-remove{color:var(--danger);background:#fff7f5;border:1px solid #e1c5c0;align-self:end}.storage-management-head{margin:22px 2px 8px}.storage-management-head span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.storage-management-head h3{margin:4px 0 0;font:500 20px/1.2 Georgia,serif}.storage-card{background:#fff;margin-top:10px;padding:17px 18px}.storage-card>div:first-child h3,.storage-card>div:first-child p{max-width:680px}.storage-card>div:first-child p{font-size:12px;line-height:1.5}.storage-card-restore{background:#f7faf7;border-color:#cbd9cf}.calendar-subscription-section{background:#fbfaf6;border-color:#d8d4c8}.calendar-subscription-disclosure{background:#fff6e7;border-left:3px solid #c38a42;border-radius:0 7px 7px 0;padding:9px 11px;color:#745326!important;margin-top:9px!important}.calendar-subscription-actions button,.storage-card>button{min-height:40px}.storage-delete-auth{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.storage-delete-auth>label{gap:6px;display:grid}.storage-delete-auth>button{min-height:44px}.storage-footer .privacy-link{justify-content:center;align-items:center;min-height:40px;display:inline-flex}.academic-year-add button,.academic-year-delete-btn{min-width:220px;min-height:40px}.academic-year-delete-btn{color:#91453b;border-color:#d9aaa3}.academic-year-delete-btn:hover:not(:disabled){background:#fff0ed;border-color:#b86c62}.year-copy-subcheck{background:#f5f8f5;border-left:3px solid #9eb3a5;margin-left:28px}.onboarding-student-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.onboarding-student-actions button{color:#294b3a;text-align:left;background:#f5f9f6;border:1px solid #bfcfc4;border-radius:10px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-height:54px;padding:8px 12px;display:grid}.onboarding-student-actions button:hover{background:#edf5ef;border-color:#7f9c89}.onboarding-student-actions button strong{background:#dceae1;border-radius:8px;place-items:center;width:32px;height:32px;font:800 18px/1 system-ui,sans-serif;display:grid}.onboarding-student-actions button span{color:#294b3a;font-size:12px;font-weight:800}@media (max-width:700px){.student-import-preview{margin-left:14px;margin-right:14px}.student-import-preview>header{grid-template-columns:1fr;align-items:stretch;display:grid}.student-import-preview>header select{width:100%}.availability-editor{padding:13px}.availability-editor>header .soft-btn{width:100%}.availability-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.availability-day-field{grid-column:1/-1}.availability-separator{display:none}.availability-remove{grid-column:3}.storage-card{padding:15px}.storage-card>button,.calendar-subscription-actions button,.storage-delete-auth>button{width:100%}.storage-delete-auth{grid-template-columns:1fr}.academic-year-add button,.academic-year-delete-btn{width:100%;min-width:0}.year-copy-subcheck{margin-left:20px}.onboarding-student-actions{grid-template-columns:1fr}}.admin-overview-head>button{align-self:end;min-height:36px}.storage-management-head,.storage-card{margin-left:20px;margin-right:20px}@media (min-width:1051px){.academic-settings{grid-template-columns:minmax(190px,.7fr) repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}.academic-year-label-field,.semester-card{background:#fff;border:1px solid #d8d4ca;border-radius:12px;padding:14px}.academic-year-label-field{justify-content:center}.academic-settings .semester-card{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:11px}.academic-settings .semester-card>strong{color:#355143;border-bottom:1px solid #ece8df;grid-column:1/-1;padding-bottom:9px;font-size:16px}.academic-settings input{height:42px}.academic-settings .extend-btn{grid-column:1/-1;justify-self:end;min-height:40px}}.academic-year-add button,.academic-year-delete-btn{justify-content:center;align-items:center;gap:7px;display:inline-flex}.academic-year-add button span,.academic-year-danger button span{display:inline}.academic-year-action-icon{flex:0 0 15px;place-items:center;width:15px;font-size:16px;line-height:1;display:inline-grid!important}.issue-toolbar>div{flex:1;min-width:0}.issue-toolbar small{color:#8a6332;margin-top:5px;font-size:10px;line-height:1.4;display:block}.desktop-issues-panel .issue-toolbar{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.desktop-issues-panel .issue-toolbar>button{white-space:normal;width:100%;min-height:40px}@media (max-width:700px){.storage-management-head,.storage-card{margin-left:14px;margin-right:14px}.admin-overview-head>button{align-self:stretch}}@media (min-width:701px){.desktop-issues-panel .issue-toolbar>button{height:36px;min-height:36px;padding:0 10px;font-size:11px;line-height:1.15}.admin-overview-head{grid-template-columns:150px 150px minmax(210px,1fr) minmax(210px,1fr)}.admin-retention select,.admin-overview-head>button{width:100%;height:40px;min-height:40px;padding-left:12px;padding-right:12px}.admin-overview-head>button{justify-self:stretch}}@media (max-width:700px){.storage-footer{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.storage-footer>span{display:none}.storage-footer .privacy-link,.storage-footer .storage-close-btn{white-space:normal;width:100%;height:44px;min-height:44px;padding:0 10px}.storage-footer .storage-download-btn{white-space:normal;grid-column:1/-1;width:100%;height:auto;min-height:48px;padding:10px 12px;line-height:1.2}}.student-editor-modal{overscroll-behavior-x:none;contain:inline-size;max-width:100%;overflow-x:hidden}.student-editor-modal .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:100%}.student-editor-modal .form-grid>*,.student-editor-modal .time-field-wrap,.student-editor-modal .student-card-tools,.student-editor-modal .color-row{min-width:0;max-width:100%}.student-editor-modal .form-grid input:not([type=checkbox]):not([type=radio]),.student-editor-modal .form-grid select,.student-editor-modal .form-grid textarea,.student-editor-modal .time-field-wrap input[type=time]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;display:block}.student-editor-modal .form-grid input[type=date],.student-editor-modal .form-grid input[type=time],.student-editor-modal .time-field-wrap input[type=time]{-webkit-min-logical-width:0}.student-editor-modal input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.student-editor-modal input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.student-editor-modal .student-card-tools,.student-editor-modal .color-row{flex-wrap:wrap}.student-editor-modal .student-card-tools>button{white-space:normal;max-width:100%}.student-record-actions{border-top:1px solid #e5e1d8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;margin-top:4px;padding-top:16px;display:grid}.student-record-actions-head{gap:3px;min-width:0;display:grid}.student-record-actions-head strong{color:#35483e;font-size:14px;line-height:1.25}.student-record-actions-head span{color:#737a74;font-size:12px;line-height:1.4}.student-record-action-buttons{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.student-unschedule-trigger,.student-unschedule-confirm{color:#355947;background:#f3f8f4;border:1px solid #b9cbbf;border-radius:9px;font-weight:750}.student-unschedule-trigger{white-space:normal;min-height:40px;padding:8px 13px;line-height:1.2}.student-unschedule-confirm{min-height:40px;padding:8px 14px}.student-delete-trigger{min-height:40px;color:var(--danger);white-space:normal;background:0 0;border:1px solid #0000;border-radius:9px;padding:8px 10px;font-weight:750;line-height:1.2}.student-delete-trigger:hover{background:#fff7f5;border-color:#ead0cc}.student-action-confirmation{background:#fff;border:1px solid #d8ddd8;border-radius:12px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:14px;display:grid}.student-action-confirmation-soft{background:#f7faf8;border-color:#cbd8cf}.student-action-confirmation-danger{background:#fff8f6;border-color:#e4c3bd}.student-action-confirmation>div:first-child{min-width:0}.student-action-confirmation strong{color:#33483d;margin-bottom:3px;font-size:14px;display:block}.student-action-confirmation-danger strong{color:var(--danger)}.student-action-confirmation p{color:#69716b;margin:0;font-size:12px;line-height:1.45}.student-action-confirmation-buttons{justify-content:flex-end;align-items:center;gap:8px;display:flex}.student-action-confirmation-buttons button{white-space:normal;min-height:40px;line-height:1.2}.student-delete-acknowledgement{grid-column:1/-1;min-width:0;line-height:1.4;color:#5d625e!important;letter-spacing:0!important;text-transform:none!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;height:auto!important;font-size:12px!important;font-weight:650!important;display:flex!important}.student-delete-acknowledgement input{accent-color:var(--danger);flex:0 0 18px;margin:0;width:18px!important;height:18px!important}.student-delete-acknowledgement span{min-width:0}@media (max-width:570px){.student-editor-modal .form-grid{grid-template-columns:minmax(0,1fr)}.student-editor-modal .form-grid .span-2{grid-column:auto}}@media (max-width:760px){.student-editor-modal{touch-action:pan-y;width:100%;min-width:0;max-width:100vw}.student-editor-modal .form-grid{overflow:visible}.student-editor-modal .form-grid input[type=date],.student-editor-modal .form-grid input[type=time],.student-editor-modal .time-field-wrap input[type=time]{appearance:none}.student-record-actions{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:11px}.student-record-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.student-record-action-buttons button{width:100%;min-width:0}.student-action-confirmation{grid-template-columns:minmax(0,1fr)}.student-action-confirmation-buttons{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.student-action-confirmation-buttons button{width:100%;min-width:0}.student-editor-modal .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;display:grid}.student-editor-modal .modal-actions>span{display:none}.student-editor-modal .modal-actions button{width:100%;min-width:0;max-width:100%}}@media (max-width:380px){.student-record-action-buttons,.student-action-confirmation-buttons{grid-template-columns:minmax(0,1fr)}}.balanced-actions>button{white-space:normal;flex:0 0 200px;width:200px;max-width:100%;min-height:44px;padding:8px 14px;line-height:1.2}.student-editor-modal .form-grid input[type=date],.student-editor-modal .form-grid input[type=time],.student-editor-modal .time-field-wrap input[type=time]{height:42px;min-height:42px;padding-top:0;padding-bottom:0;line-height:42px}.student-editor-modal input[type=date]::-webkit-date-and-time-value{align-items:center;height:100%;line-height:normal;display:flex}.student-editor-modal input[type=time]::-webkit-date-and-time-value{align-items:center;height:100%;line-height:normal;display:flex}@media (min-width:701px){.admin-overview-head{grid-template-columns:150px 150px minmax(260px,1fr) 290px}.admin-retention select,.admin-overview-head>button{height:44px;min-height:44px}.admin-overview-head>button{justify-self:end;width:290px}.storage-footer .privacy-link,.storage-footer .storage-close-btn,.storage-footer .storage-download-btn{justify-content:center;align-items:center;height:40px;min-height:40px;padding:0 14px;font-size:13px;line-height:1.2;display:inline-flex}}@media (min-width:1051px){.academic-settings .extend-btn{grid-column:2/-1;justify-self:stretch;width:100%;min-height:44px}}.student-import-guide{gap:16px;padding:18px 20px 20px;display:grid}.student-import-guide header span{color:#354c40;margin-bottom:5px;font-size:15px;font-weight:800;display:block}.student-import-guide header p,.student-import-guide li{color:#68716b;font-size:13px;line-height:1.5}.student-import-guide header p{margin:0}.student-import-guide ul{gap:7px;margin:0;padding-left:20px;display:grid}.student-import-example{gap:8px;display:grid}.student-import-example>strong{color:#354c40;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.student-import-example>div{background:#fff;border:1px solid #ddd8ce;border-radius:10px;grid-template-columns:1fr 1fr 1.7fr 1fr;display:grid;overflow:hidden}.student-import-example span,.student-import-example b{overflow-wrap:anywhere;border-right:1px solid #ebe7df;min-width:0;padding:9px 10px;font-size:11px}.student-import-example span{color:#617068;background:#f4f2ec;font-weight:800}.student-import-example b{color:#34453c;border-top:1px solid #ebe7df;font-weight:600}.student-import-example span:nth-child(4),.student-import-example b:nth-child(8){border-right:0}.student-import-guide-actions>button{min-height:44px}@media (max-width:700px){.balanced-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.balanced-actions>span{display:none}.balanced-actions>button{flex:none;width:100%;min-width:0;min-height:44px}.storage-footer .privacy-link,.storage-footer .storage-close-btn,.storage-footer .storage-download-btn{height:44px;min-height:44px;padding:0 10px;line-height:1.2}.student-import-guide{padding:15px 14px 18px}.student-import-example{overflow-x:auto}.student-import-example>div{min-width:590px}.student-import-guide-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.student-import-guide-actions>span{display:none}.student-import-guide-actions>button{width:100%;min-width:0}.student-import-guide-actions>button:first-child{grid-column:1/-1}}.student-editor-modal input[type=date]::-webkit-datetime-edit{align-items:center;height:100%;min-height:100%;padding:0;line-height:normal;display:flex}.student-editor-modal input[type=time]::-webkit-datetime-edit{align-items:center;height:100%;min-height:100%;padding:0;line-height:normal;display:flex}.student-editor-modal input[type=date]::-webkit-date-and-time-value{margin:0}.student-editor-modal input[type=time]::-webkit-date-and-time-value{margin:0}.student-record-actions{box-sizing:border-box;background:#f8f7f2;border:1px solid #ddd8ce;border-radius:14px;justify-self:center;width:min(100%,760px);max-width:760px;margin:10px auto 2px;padding:16px}.student-record-action-buttons{grid-template-columns:repeat(2,minmax(150px,190px));justify-content:end;gap:8px;display:grid}.student-record-action-buttons>button,.student-action-confirmation-buttons>button{box-sizing:border-box;height:42px;min-height:42px;padding:0 13px}.student-record-action-buttons>button:only-child{grid-column:2}.student-action-confirmation{padding:14px 15px}.student-action-confirmation-danger{grid-template-columns:minmax(0,1fr) auto}.student-action-confirmation-danger .student-delete-acknowledgement{grid-column:1}.student-action-confirmation-danger .student-action-confirmation-buttons{grid-area:1/2/3;align-self:center}.availability-remove{box-sizing:border-box;align-self:end;place-items:center;width:38px;min-width:38px;height:38px;min-height:38px;margin:0;padding:0;font-size:20px;line-height:1;display:grid}.availability-empty-state{border-top:1px dashed #d9d4c8;align-items:center;gap:8px;padding:12px 2px 1px;font-size:12px;line-height:1.45;display:flex;color:#68716b!important;margin:12px 0 0!important}.availability-empty-state:before{content:"✓";color:#356047;background:#e9f2ec;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:grid}.lesson-validation-panel{background:#faf8f2;border:1px solid #dfd8ca;border-radius:13px;gap:10px;min-width:0;padding:14px 15px;display:grid}.lesson-validation-head strong{color:#33483d;font-size:14px}.lesson-validation-group{gap:7px;min-width:0;display:grid}.lesson-validation-group>b{color:#5f665f;font-size:12px}.lesson-validation-group ul{color:#626a64;gap:5px;margin:0;padding-left:18px;font-size:12px;line-height:1.45;display:grid}.lesson-validation-blocking,.lesson-validation-blocking>b{color:var(--danger)}.lesson-validation-blocking li::marker{color:var(--danger)}.lesson-validation-restrictions{border-top:1px solid #e5dfd3;padding-top:9px}.restriction-override-check{background:#fffaf0;border:1px solid #decba7;border-radius:10px;grid-template-columns:18px minmax(0,1fr);min-width:0;margin-top:3px;padding:10px 11px;color:#4e554f!important;text-transform:none!important;letter-spacing:0!important;align-items:start!important;gap:9px!important;height:auto!important;display:grid!important}.restriction-override-check input{accent-color:#9a661f;margin:1px 0 0;width:18px!important;height:18px!important}.restriction-override-check span{gap:2px;min-width:0;display:grid}.restriction-override-check strong{font-size:12px;line-height:1.35}.restriction-override-check small{color:#73766f;font-size:11px;line-height:1.4}.mobile-menu-group{border-top:1px solid #e8e4da;gap:2px;margin:7px 0 0;padding-top:8px;display:grid}.mobile-menu-group-heading{color:#7a827c;letter-spacing:.07em;text-transform:uppercase;padding:4px 2px 5px;font-size:10px;font-weight:850}.mobile-menu-group>button{height:auto!important;min-height:62px!important;padding-top:9px!important;padding-bottom:9px!important}.mobile-menu-copy{text-align:left;gap:2px;min-width:0;display:grid}.mobile-menu-copy strong{color:#34483d;font-size:13px;line-height:1.25}.mobile-menu-copy small{color:#737b75;font-size:10.5px;line-height:1.35}.mobile-menu-group>button>b{flex:none;align-self:center}.student-import-guide-actions>button:first-of-type{grid-column:auto}@media (max-width:760px){.student-record-actions{gap:12px;width:100%;max-width:100%;margin-top:8px;padding:14px}.student-record-actions-head{gap:4px}.student-record-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.student-record-action-buttons>button:only-child{grid-column:1/-1}.student-action-confirmation,.student-action-confirmation-danger{grid-template-columns:minmax(0,1fr);gap:11px;padding:13px}.student-action-confirmation-danger .student-delete-acknowledgement,.student-action-confirmation-danger .student-action-confirmation-buttons{grid-area:auto/1}.student-action-confirmation-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.availability-empty-state{align-items:flex-start;padding-top:11px}.lesson-validation-panel{padding:13px}.student-import-guide-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:380px){.student-record-action-buttons,.student-action-confirmation-buttons{grid-template-columns:minmax(0,1fr)}}.recovery-manager-actions{align-items:stretch}.recovery-manager-actions>button{align-self:stretch}.delete-account-section{margin-bottom:20px}.search-input{height:44px;min-height:44px;padding:0 13px;line-height:normal}.week-nav>div{box-sizing:border-box;flex:0 0 220px;width:220px;min-width:220px}.week-nav strong,.week-nav span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.academic-settings{row-gap:14px;padding-bottom:20px}.academic-year-add,.academic-year-danger{margin-top:0}.student-record-actions{justify-self:stretch;width:100%;max-width:none;margin:10px 0 2px}.availability-editor{gap:12px;min-width:0;padding:16px;display:grid}.availability-editor>header{display:block}.availability-column-headings{grid-template-columns:minmax(0,1.45fr) minmax(250px,.8fr) 40px;gap:12px;padding:0 11px;display:grid}.availability-column-headings span{color:#6c746d;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:850}.availability-row{grid-template-columns:minmax(0,1.45fr) minmax(250px,.8fr) 40px;align-items:stretch;gap:12px;min-width:0;margin:0;padding:12px;display:grid}.availability-mobile-heading{display:none}.availability-when-fields,.availability-preference-fields{gap:8px;min-width:0;display:grid}.availability-when-fields{grid-template-columns:minmax(125px,1.1fr) minmax(105px,.9fr) minmax(100px,.75fr) minmax(100px,.75fr)}.availability-preference-fields{grid-template-columns:minmax(120px,1fr) minmax(105px,.85fr);align-content:start}.availability-row label{min-width:0}.availability-row select,.availability-row input[type=time]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:40px;min-height:40px;display:block}.availability-preference-fields.is-disabled select,.availability-preference-fields.is-disabled input[type=time]{opacity:.56}.availability-no-preference{grid-column:1/-1;min-height:28px;color:#66706a!important;letter-spacing:0!important;text-transform:none!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:11px!important;font-weight:650!important;display:flex!important}.availability-no-preference input{accent-color:var(--green);flex:0 0 17px;margin:0;width:17px!important;height:17px!important}.availability-remove{align-self:center;width:40px;min-width:40px;height:40px;min-height:40px}.availability-add-btn{color:#315a45;background:0 0;border:0;border-radius:8px;justify-self:start;min-height:38px;padding:0 3px;font-size:12px;font-weight:800}.availability-add-btn:hover{text-decoration:underline}.availability-empty-state{background:0 0;border:0;padding:5px 2px 0;color:#737b75!important;margin:0!important}.availability-empty-state:before{background:#edf3ef}.group-editor-modal,.group-editor-modal .form-grid,.group-editor-modal .form-grid>*{box-sizing:border-box;min-width:0;max-width:100%}.group-editor-modal .form-grid input:not([type=checkbox]):not([type=radio]),.group-editor-modal .form-grid select,.group-editor-modal .form-grid textarea,.group-editor-modal .time-field-wrap input[type=time]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;display:block}.group-editor-modal .form-grid input[type=date],.group-editor-modal .form-grid input[type=time],.group-editor-modal .time-field-wrap input[type=time]{-webkit-min-logical-width:0}.group-editor-modal input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.group-editor-modal input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.recovery-manager-actions>button{flex:0 0 200px;width:200px;min-height:44px}@media (max-width:1000px) and (min-width:761px){.week-nav>div{flex-basis:205px;width:205px;min-width:205px}}@media (max-width:760px){.student-sidebar .search-input{height:50px;min-height:50px;padding:0 14px;line-height:normal}.week-nav>div{flex:1 1 0;width:auto;min-width:0}.mobile-day-tabs{scroll-snap-type:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;margin:0 0 10px;padding:0 0 4px;display:grid;overflow:visible}.mobile-day-tabs button{flex:none;width:100%;min-width:0;height:56px;padding:4px 0}.mobile-day-tabs span{font-size:10px}.mobile-day-tabs strong{font-size:16px}.academic-settings{gap:12px;padding-bottom:18px}.student-record-actions{gap:12px;width:100%;max-width:100%;margin:8px 0 2px;padding:14px}.student-record-action-buttons,.student-action-confirmation-buttons{gap:9px}.balanced-actions{box-sizing:border-box;min-height:82px;padding:6px 14px calc(6px + env(safe-area-inset-bottom))}.balanced-actions>button{min-height:48px}@supports (-webkit-touch-callout:none){.balanced-actions{box-shadow:0 -10px 24px #f7f5efef;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important;bottom:0!important}.student-editor-modal:after,.group-editor-modal:after{height:0}}.days-settings{gap:9px;padding:12px 14px 18px;display:grid}.day-setting{background:#fff;border:1px solid #e0dcd2;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.day-setting .day-toggle{grid-column:1/-1;min-height:28px}.day-setting input[type=time]{box-sizing:border-box;min-width:0;max-width:100%;height:44px}.mobile-menu-group-heading{padding-left:14px;padding-right:14px}.availability-editor{gap:11px;padding:13px}.availability-column-headings{display:none}.availability-row{grid-template-columns:minmax(0,1fr) 40px;gap:10px;padding:11px}.availability-when-fields,.availability-preference-fields{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.availability-preference-fields{border-top:1px solid #ece8df;margin-top:2px;padding-top:10px}.availability-mobile-heading{color:#6c746d;letter-spacing:.07em;text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:850;display:block}.availability-remove{grid-area:1/2;align-self:start}.availability-add-btn{background:#f7faf8;border:1px dashed #b9cbbf;justify-self:stretch;width:100%;min-height:42px}.availability-empty-state{align-items:flex-start;padding:3px 1px 0}.group-editor-modal{touch-action:pan-y;width:100%;min-width:0;max-width:100vw;overflow-x:clip}.group-editor-modal .form-grid{grid-template-columns:minmax(0,1fr);overflow-x:clip}.group-editor-modal .form-grid .span-2{grid-column:auto}.group-editor-modal .form-grid input[type=date],.group-editor-modal .form-grid input[type=time],.group-editor-modal .time-field-wrap input[type=time]{appearance:none;height:42px;min-height:42px}.group-editor-modal input[type=date]::-webkit-date-and-time-value{align-items:center;height:100%;line-height:normal;display:flex}.group-editor-modal input[type=time]::-webkit-date-and-time-value{align-items:center;height:100%;line-height:normal;display:flex}.recovery-manager-actions>button{flex:none;width:100%;min-width:0}}@media (max-width:390px){.mobile-day-tabs{gap:3px}.mobile-day-tabs button{border-radius:10px;height:54px}.availability-when-fields,.availability-preference-fields{grid-template-columns:minmax(0,1fr)}}.field-invalid>input,.field-invalid>select,.field-invalid>textarea{box-shadow:0 0 0 2px #b84c431a;background:#fff8f7!important;border-color:#b84c43!important}.field-error{color:#a43f37;letter-spacing:0;text-transform:none;margin-top:1px;font-size:11px;font-weight:700;line-height:1.35;display:block}@media (min-width:761px){.student-editor-modal .availability-editor{gap:14px;padding:18px}.student-editor-modal .availability-column-headings,.student-editor-modal .availability-row{grid-template-columns:minmax(0,1.45fr) minmax(300px,.78fr) 40px;column-gap:16px}.student-editor-modal .availability-column-headings{padding:0 14px}.student-editor-modal .availability-row{background:#fff;border:1px solid #e4e0d7;border-radius:12px;align-items:start;padding:14px}.student-editor-modal .availability-when-fields{grid-template-columns:minmax(145px,1.15fr) minmax(125px,.92fr) minmax(115px,.8fr) minmax(115px,.8fr);gap:10px}.student-editor-modal .availability-preference-fields{border-left:1px solid #ece8df;grid-template-columns:minmax(145px,1fr) minmax(120px,.88fr);gap:10px;padding-left:16px}.student-editor-modal .availability-row label>span:not(.availability-mobile-heading){white-space:nowrap;min-height:14px}.student-editor-modal .availability-remove{align-self:start;margin-top:20px}.student-editor-modal .availability-add-btn{margin-top:1px;padding-left:5px}}@media (max-width:760px){.student-editor-modal .student-name-field input,.student-editor-modal .student-age-field input{min-height:44px;line-height:1.25;font-size:16px!important}.days-settings{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow-x:clip}.day-setting{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;width:100%;min-width:0;max-width:100%}.day-setting>label{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.day-setting .day-toggle{grid-column:1/-1;width:100%;min-width:0}.day-setting input[type=time]{box-sizing:border-box;-webkit-min-logical-width:0;width:100%;min-width:0;max-width:100%;inline-size:100%;font-size:16px;line-height:normal;display:block}.day-setting input[type=time]::-webkit-date-and-time-value{text-align:left;align-items:center;min-width:0;height:100%;display:flex}}@media (min-width:1280px){.student-editor-modal .availability-column-headings,.student-editor-modal .availability-row{grid-template-columns:minmax(0,5fr) minmax(0,3fr) 44px;column-gap:18px}.student-editor-modal .availability-when-fields{grid-template-columns:minmax(170px,1.2fr) minmax(150px,1fr) minmax(145px,.82fr) minmax(145px,.82fr);gap:12px;min-width:0;max-width:100%}.student-editor-modal .availability-preference-fields{grid-template-columns:minmax(170px,1fr) minmax(155px,.9fr);gap:12px;min-width:0;max-width:100%;padding-left:18px}.student-editor-modal .availability-row label,.student-editor-modal .availability-row select,.student-editor-modal .availability-row input[type=time]{box-sizing:border-box;-webkit-min-logical-width:0;min-width:0;max-width:100%;inline-size:100%}}@media (min-width:761px) and (max-width:1279px){.student-editor-modal .availability-column-headings{display:none}.student-editor-modal .availability-row{grid-template-columns:minmax(0,1fr) 44px;gap:12px}.student-editor-modal .availability-when-fields,.student-editor-modal .availability-preference-fields{grid-column:1;min-width:0;max-width:100%}.student-editor-modal .availability-when-fields{grid-template-columns:minmax(150px,1.15fr) minmax(135px,1fr) minmax(130px,.85fr) minmax(130px,.85fr)}.student-editor-modal .availability-preference-fields{border-top:1px solid #ece8df;border-left:0;grid-template-columns:minmax(150px,1fr) minmax(140px,.9fr);margin-top:2px;padding:12px 0 0}.student-editor-modal .availability-remove{grid-area:1/2/span 2;margin-top:20px}.student-editor-modal .availability-row label,.student-editor-modal .availability-row select,.student-editor-modal .availability-row input[type=time]{box-sizing:border-box;-webkit-min-logical-width:0;min-width:0;max-width:100%;inline-size:100%}}@media (max-width:760px){.student-editor-modal .availability-row,.student-editor-modal .availability-when-fields,.student-editor-modal .availability-preference-fields{min-width:0;max-width:100%}.student-editor-modal .availability-row select,.student-editor-modal .availability-row input[type=time]{box-sizing:border-box;-webkit-min-logical-width:0;min-width:0;max-width:100%;inline-size:100%}}.add-without-planning-toggle{background:#f4f8f5;border:1px solid #d7e1da;border-radius:11px;min-height:54px;padding:12px 14px;color:#344b3e!important;text-transform:none!important;letter-spacing:0!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;display:flex!important}.add-without-planning-toggle input{accent-color:var(--green);flex:0 0 19px;margin:1px 0 0;width:19px!important;height:19px!important}.add-without-planning-toggle span,.add-without-planning-toggle strong,.add-without-planning-toggle small{min-width:0;display:block}.add-without-planning-toggle strong{font-size:13px;line-height:1.3}.add-without-planning-toggle small{color:#6c786f;text-transform:none;letter-spacing:0;margin-top:3px;font-size:11px;font-weight:500;line-height:1.4}@media (max-width:760px){input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea{font-size:16px!important}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not([type=hidden]),select{min-height:44px;line-height:1.25}textarea{line-height:1.45}input[type=date],input[type=time]{line-height:normal}input[type=date]::-webkit-date-and-time-value{align-items:center;height:100%;min-height:100%;padding:0;line-height:normal;display:flex}input[type=time]::-webkit-date-and-time-value{align-items:center;height:100%;min-height:100%;padding:0;line-height:normal;display:flex}input[type=date]::-webkit-datetime-edit{align-items:center;height:100%;min-height:100%;padding:0;line-height:normal;display:flex}input[type=time]::-webkit-datetime-edit{align-items:center;height:100%;min-height:100%;padding:0;line-height:normal;display:flex}.add-without-planning-toggle{min-height:62px;padding:13px}.add-without-planning-toggle strong{font-size:16px}.add-without-planning-toggle small{font-size:13px}.days-settings .day-setting{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;overflow:hidden}.days-settings .day-setting>label:not(.day-toggle){grid-template-rows:auto 44px;min-width:0;max-width:100%;display:grid;overflow:hidden}.days-settings .day-setting input[type=time]{width:100%;inline-size:100%;min-width:0;min-inline-size:0;box-sizing:border-box;appearance:none;-webkit-min-logical-width:0;max-width:100%;max-inline-size:100%;height:44px;padding:0 12px;display:block}.settings-modal-holidays{flex-direction:column;display:flex;overflow:hidden}.settings-modal-holidays .modal-head,.settings-modal-holidays .settings-tabs,.settings-modal-holidays .modal-actions{flex:none}.settings-modal-holidays .holiday-settings{flex-direction:column;flex:auto;min-height:0;margin:10px 14px 0;display:flex}.settings-modal-holidays .holiday-settings>header{flex-wrap:wrap;flex:none}.settings-modal-holidays .holiday-settings>header>div{flex-basis:100%}.settings-modal-holidays .holiday-settings>div{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none;overflow-y:auto}.settings-modal-holidays .modal-actions{min-height:82px;padding:6px 14px calc(6px + env(safe-area-inset-bottom));margin-top:10px;position:relative;bottom:auto!important}.settings-modal-holidays:after{display:none!important}}@media (max-width:700px){body:has(.mobile-agenda){overflow:hidden}.app-shell:has(.mobile-agenda){box-sizing:border-box;flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}:is(.app-shell:has(.mobile-agenda)>.topbar,.app-shell:has(.mobile-agenda)>.calendar-tools,.app-shell:has(.mobile-agenda)>.mobile-day-tabs){flex:none}.app-shell:has(.mobile-agenda)>.workspace{flex:auto;min-height:0;overflow:hidden}.app-shell:has(.mobile-agenda) .calendar-area{height:100%;min-height:0;overflow:hidden}.app-shell:has(.mobile-agenda) .mobile-agenda{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.app-shell:has(.mobile-agenda) .mobile-agenda-head{flex:none}.app-shell:has(.mobile-agenda) .mobile-agenda-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-bottom:18px;overflow-y:auto}.app-shell:has(.mobile-agenda)>.workspace{align-items:stretch}}.break-validation-panel{margin:0 20px 14px}.group-editor-modal .add-without-planning-toggle{width:100%;min-width:0}.group-editor-modal .color-row{min-width:0;max-width:100%}@media (max-width:700px){:is(.app-shell:has(.mobile-agenda)>.topbar,.app-shell:has(.mobile-agenda)>.calendar-tools,.app-shell:has(.mobile-agenda)>.mobile-day-tabs,.app-shell:has(.mobile-agenda)>.workspace,.app-shell:has(.mobile-agenda) .calendar-area,.app-shell:has(.mobile-agenda) .mobile-agenda){width:100%;min-width:0;max-width:none;margin-left:0;margin-right:0}.app-shell:has(.mobile-agenda)>.workspace{place-self:stretch stretch}:is(.app-shell:has(.mobile-agenda) .mobile-agenda-list,.app-shell:has(.mobile-agenda) .mobile-agenda-head){width:100%;min-width:0}.mobile-menu-list>.mobile-menu-group:first-of-type{border-top:0;padding-top:0}.break-validation-panel{margin:0 14px 12px}.group-editor-modal .add-without-planning-toggle{grid-column:auto}}@media (min-width:1280px){.student-editor-modal .availability-column-headings,.student-editor-modal .availability-row{grid-template-columns:minmax(0,1.72fr) minmax(0,1fr) 44px;column-gap:18px}.student-editor-modal .availability-when-fields{grid-template-columns:minmax(0,1.28fr) minmax(0,1.12fr) minmax(0,.86fr) minmax(0,.86fr);gap:12px;overflow:hidden}.student-editor-modal .availability-preference-fields{border-left:1px solid #e4dfd4;grid-template-columns:minmax(0,1.18fr) minmax(0,.95fr);gap:12px;padding-left:18px;overflow:hidden}.student-editor-modal .availability-when-fields>label,.student-editor-modal .availability-preference-fields>label{min-width:0;overflow:hidden}.student-editor-modal .availability-row select,.student-editor-modal .availability-row input[type=time]{width:100%;min-width:0;max-width:100%;overflow:hidden}.student-editor-modal .availability-remove{place-self:center end}}@media (max-width:760px){.group-editor-actions:has(.danger-btn){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.group-editor-actions:has(.danger-btn)>span{display:none}:is(.group-editor-actions:has(.danger-btn) .danger-btn,.group-editor-actions:has(.danger-btn) .soft-btn,.group-editor-actions:has(.danger-btn) .primary-btn){width:100%;min-width:0;min-height:48px;margin:0}.group-editor-actions:has(.danger-btn) .danger-btn{grid-area:1/1;flex-basis:auto!important}.group-editor-actions:has(.danger-btn) .soft-btn{grid-area:1/2}.group-editor-actions:has(.danger-btn) .primary-btn{grid-area:2/1/auto/-1}.onboarding-modal{flex-direction:column;min-height:0;display:flex}.onboarding-modal .onboarding-guide{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.onboarding-actions{z-index:40;box-sizing:border-box;background:#fbfaf7;flex-wrap:nowrap;align-items:stretch;gap:8px;width:100%;min-height:82px;display:flex;position:sticky;box-shadow:0 -10px 24px #f7f5efef;padding:6px 14px calc(6px + env(safe-area-inset-bottom))!important;bottom:0!important}.onboarding-actions>span{display:none}.onboarding-actions button{white-space:normal;flex:1 1 0;min-width:0;min-height:48px;padding:7px 8px;line-height:1.2}@supports (-webkit-touch-callout:none){.onboarding-actions{bottom:0!important}.onboarding-modal:after{height:0}}}
