:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#193e3a;background:#f7f4ed;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #193e3a;--green: #244e49;--green-soft: #e5efec;--clay: #b7653e;--paper: #ffffff;--line: #dce4e1;--muted: #637671;--danger: #a33d3d;--shadow: 0 18px 48px rgb(25 62 58 / 9%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;max-width:100%;overflow-x:hidden;background:radial-gradient(circle at 80% 0%,#e8eee5 0,transparent 34rem),#f7f4ed}#root{width:100%;max-width:100%;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d79261;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.08;letter-spacing:-.04em}h2{color:var(--ink)}p{line-height:1.6}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.eyebrow{margin:0 0 8px;color:var(--clay);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.uid{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.center-page,.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-layout{grid-template-columns:minmax(280px,520px) minmax(320px,460px);gap:clamp(48px,8vw,120px)}.auth-intro{max-width:540px}.auth-intro h1{font-size:clamp(3rem,7vw,5.5rem)}.auth-intro>p:last-child{max-width:46ch;color:var(--muted);font-size:1.1rem}.auth-card{width:min(100%,480px);padding:clamp(28px,5vw,46px);border:1px solid rgb(255 255 255 / 80%);border-radius:28px;background:#ffffffeb;box-shadow:var(--shadow)}.auth-card h1,.auth-card h2{margin-bottom:8px}.auth-card__header{display:block}.auth-form{display:grid;visibility:visible;opacity:1}.auth-switch{margin:2px 0 0;color:var(--muted);text-align:center}.auth-switch button{padding:0;border:0;background:transparent;color:var(--green);cursor:pointer;font-weight:850;text-decoration:underline;text-underline-offset:3px}.auth-card--registration{width:min(100%,640px)}.auth-layout--registration{grid-template-columns:minmax(260px,460px) minmax(440px,640px);gap:clamp(34px,6vw,90px)}.registration-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;padding:0;list-style:none}.registration-steps li{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border-radius:12px;background:#f2f4f2;color:var(--muted);font-size:.78rem;font-weight:800}.registration-steps span{display:grid;flex:0 0 auto;place-items:center;width:27px;height:27px;border-radius:50%;background:#dfe6e3}.registration-steps .registration-step--active{background:var(--green-soft);color:var(--green)}.registration-steps .registration-step--active span{background:var(--green);color:#fff}.registration-steps .registration-step--complete span{background:#2f7755;color:#fff}.registration-form .alert ul,.auth-card--registration .alert ul{margin:0;padding-left:20px}.registration-privacy-note{margin:0;padding:12px 14px;border-radius:12px;background:#f4f7f5;color:var(--muted);font-size:.88rem}.registration-children{display:grid;gap:16px}.registration-child{position:relative;margin:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fafbf9}.registration-child legend{padding:0 8px;font-size:1rem}.registration-child__remove{position:absolute;top:8px;right:10px;color:var(--danger)}.registration-add-child{justify-self:start}.registration-success{text-align:center}.registration-success>svg{margin-bottom:18px;color:#2f7755}.registration-success .alert{display:block;text-align:left}.brand-mark{display:grid;flex:0 0 auto;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--green);color:#fff;font-weight:900;letter-spacing:-.05em}.brand-mark--large{width:72px;height:72px;margin-bottom:34px;border-radius:22px;font-size:1.35rem}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;display:flex;flex-direction:column;width:268px;padding:24px 16px;background:#173d39;color:#eef6f3}.sidebar__brand{display:flex;align-items:center;gap:12px;padding:0 8px 32px}.sidebar__brand .brand-mark{background:#f6f1e8;color:var(--green)}.sidebar__brand .brand-mark{width:56px;height:56px;border-radius:18px;font-size:1.05rem}.sidebar__brand div:nth-child(2){display:grid}.sidebar__brand span,.sidebar__profile span{color:#a9c1bc;font-size:.82rem}.sidebar__nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:13px;color:#c7d9d5;text-decoration:none;font-weight:700}.nav-link:hover{background:#ffffff12;color:#fff}.nav-link--active{background:#f5f1e8;color:var(--green)}.sidebar__profile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:18px 8px 0;border-top:1px solid rgb(255 255 255 / 12%)}.sidebar__profile>div{display:grid;min-width:0}.sidebar__profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-logo,.mobile-global-search{display:none}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d99469;color:#fff!important;font-weight:850}.main-content{min-height:100vh;margin-left:268px}.mobile-header{display:none}.sidebar__close{display:none!important}.menu-backdrop{display:none}.page{width:min(100%,1380px);margin:0 auto;padding:clamp(28px,5vw,68px)}.page-header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:36px}.page-header>div:first-child{max-width:760px}.page-header p:last-child{margin-bottom:0;color:var(--muted)}.page-header__actions,.button-row{display:flex;flex-wrap:wrap;gap:10px}.panel,.table-panel{border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 10px 32px #193e3a0d}.panel--inactive,.person-card--inactive{opacity:.63}.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.section-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:150px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--paper);text-decoration:none;box-shadow:0 10px 32px #193e3a0d;transition:transform .2s,box-shadow .2s}.section-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.section-card h2{margin-bottom:5px}.section-card p{margin:0;color:var(--muted)}.section-card__icon,.location-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--green-soft);color:var(--green)}.button--large{min-height:54px;padding-right:22px;padding-left:22px;font-size:1rem}.operations-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.operation-card{display:grid;grid-template-columns:auto 1fr;gap:13px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 26px #193e3a0d}.operation-card--pending{background:#fafbf9}.operation-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--green)}.operation-card__icon--green{background:#e3f1e9;color:#247149}.operation-card__icon--blue{background:#e7eef7;color:#42658f}.operation-card__icon--amber{background:#fff0d7;color:#93611d}.operation-card__icon--clay{background:#f8e7de;color:#9d5533}.operation-card__icon--purple{background:#eee8f7;color:#6e5393}.operation-card>div{display:grid;min-width:0}.operation-card span{color:var(--muted);font-size:.78rem;font-weight:750}.operation-card strong{margin:5px 0 2px;font-size:1.8rem;line-height:1}.operation-card small{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.next-appointment-panel{display:flex;align-items:center;gap:20px;margin-top:18px;padding:26px;border-radius:20px;background:var(--green);color:#fff}.next-appointment-panel__icon{display:grid;flex:0 0 auto;place-items:center;width:58px;height:58px;border-radius:18px;background:#ffffff21}.next-appointment-panel .eyebrow{color:#e4b490}.next-appointment-panel h2{margin-bottom:4px;color:#fff}.next-appointment-panel p:last-child{margin:0;color:#c5d8d4}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 17px;border:1px solid transparent;border-radius:13px;cursor:pointer;font-weight:800;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:var(--green);color:#fff}.button--secondary{border-color:#abc3be;background:var(--green-soft);color:var(--green)}.button--ghost{border-color:var(--line);background:#fff;color:var(--ink)}.button--danger{border-color:#edc6c6;background:#fff5f5;color:var(--danger)}.button--text{background:transparent;color:var(--green)}.button--full{width:100%}.icon-button{display:inline-grid;flex:0 0 auto;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer}.icon-button:hover{background:#244e491a}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.person-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 10px 32px #193e3a0d}.person-card--focused{border-color:var(--clay);box-shadow:0 0 0 3px #b7653e2e,var(--shadow)}.person-card__top{display:flex;align-items:center;justify-content:space-between}.student-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--green);color:#fff;font-weight:900}.person-card h2{margin:20px 0 4px}.person-card>p{min-height:48px;color:var(--muted)}.person-card--student-summary{display:flex;min-height:310px;flex-direction:column}.person-card--student-summary>p{min-height:42px}.student-last-appointment{min-height:0!important;margin:0 0 18px;padding:10px 12px;border-radius:12px;background:#eef4f2;color:var(--muted);font-size:.8rem;line-height:1.45}.student-last-appointment strong{color:var(--ink)}.person-card--student-summary .card-actions{margin-top:auto}.student-overview{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}.student-overview span{padding:5px 8px;border-radius:999px;background:#eef4f2;color:var(--muted);font-size:.72rem;line-height:1.25;white-space:nowrap}.student-overview strong{color:var(--ink)}.mini-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.mini-details div{min-width:0;padding:12px;border-radius:12px;background:#f6f8f6}.mini-details dt{color:var(--muted);font-size:.75rem;font-weight:700}.mini-details dd{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;font-weight:800;white-space:nowrap}.family-status{font-size:.8rem}.family-status--linked{color:#247149}.family-status--missing{color:var(--danger)}.student-family-card{display:grid;gap:10px;margin:0 0 16px;padding:15px;border:1px solid #b9d7ca;border-radius:15px;background:#f1f8f4}.student-family-card--missing{border-color:#e5aaaa;background:#fff3f3}.student-family-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-family-card>header span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.student-family-card>p{margin:0;font-weight:750}.student-family-card>div{display:flex;flex-wrap:wrap;gap:8px}.student-family-card .button{min-height:40px;padding:8px 11px;font-size:.78rem}.student-register-card{display:grid;gap:10px;margin-bottom:16px;padding:15px;border:1px solid #cbd7e4;border-radius:15px;background:#f5f8fc}.student-register-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-register-card>header>div{display:flex;align-items:center;gap:8px}.student-register-card>header .button{min-height:36px;padding:6px 10px;font-size:.76rem}.student-register-card>p{margin:0;color:var(--muted);font-size:.84rem}.student-register-card>.student-register-card__summary{display:flex;flex-wrap:wrap;gap:6px 12px}.student-register-card>.student-register-card__summary small{overflow:visible;white-space:normal}.student-register-card>div{display:grid}.student-register-card>div>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;border:0;border-top:1px solid #dce4ec;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.student-register-card>div>button>span{display:grid;min-width:0}.student-register-card>div>button>span:nth-child(2){text-align:right}.student-register-card small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.student-filter-notice{align-items:center;justify-content:space-between}.student-filter-notice .button{flex:0 0 auto}.card-actions{display:flex;gap:8px}.card-actions .button{flex:1}.student-detail-sheet{display:grid;gap:16px}.student-detail-section{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfcfb}.student-detail-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-detail-section h3{margin:0;font-size:1rem}.student-detail-section>header .button{min-height:38px;padding:7px 10px;font-size:.78rem}.student-detail-data{margin:0}.student-detail-data__full{grid-column:1 / -1}.student-detail-data__full dd{white-space:normal}.student-detail-records{display:grid}.student-detail-records>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;border:0;border-top:1px solid #dce4ec;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.student-detail-records>button>span{display:grid;min-width:0}.student-detail-records>button>span:nth-child(2){text-align:right}.student-detail-records small{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.student-detail-metrics{display:flex;flex-wrap:wrap;gap:8px}.student-detail-metrics span{padding:7px 10px;border-radius:999px;background:#eef4f2;color:var(--muted);font-size:.8rem}.student-detail-metrics strong{color:var(--ink)}.student-detail-empty{margin:0;color:var(--muted)}.student-details-modal{width:min(calc(100vw - 40px),860px);max-height:min(88dvh,900px)}.student-details-modal .modal__header{position:sticky;z-index:2;top:0;padding:20px 28px;background:var(--paper);border-bottom-color:#d6dfdc;box-shadow:0 5px 12px #193e3a0a}.student-details-modal .modal__header h2{padding-right:10px;font-size:clamp(1.1rem,2.4vw,1.45rem)}.student-details-modal .modal__header .icon-button{width:40px;height:40px;border:1px solid var(--line);background:#fff;color:var(--green)}.student-details-modal .modal__header .icon-button:hover{border-color:#9eb9b2;background:var(--green-soft)}.student-details-modal .modal__header .icon-button:focus-visible{outline:3px solid rgb(47 111 104 / 30%);outline-offset:2px}.student-details-modal .modal__body{max-height:calc(min(88dvh,900px) - 81px);padding:22px 18px 30px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-details-modal .student-detail-sheet{padding-right:8px}.student-details-modal .student-register-card__summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 9px;color:var(--muted);line-height:1.5}.student-details-modal .student-register-card__summary small{overflow:visible;white-space:normal}.student-details-modal .student-register-card__summary>span{color:var(--muted);font-weight:800}.student-details-modal .student-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-details-modal .student-detail-metrics span{display:grid;gap:3px;min-width:0;padding:12px;border:1px solid #d7e4df;background:#f2f8f5;line-height:1.35}.student-details-modal .student-detail-metrics strong{font-size:1rem}.status,.role-badge{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eee;color:#63706d;font-size:.75rem;font-weight:850}.status--active{background:#e3f1e9;color:#247149}.role-badge{background:#e8eef6;color:#3f6089}.table-panel{overflow:hidden}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:17px 20px;border-bottom:1px solid #e9eeec;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}td small{display:block;margin-top:3px;color:var(--muted)}.guardians-table{min-width:1080px}.guardians-table__actions{width:88px;min-width:88px;text-align:center;white-space:nowrap}.guardians-table td.guardians-table__actions{padding-right:14px;padding-left:14px}.guardians-table__actions .icon-button{display:inline-grid}.location-list{display:grid;gap:18px}.location-card{padding:24px}.location-card>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.location-card h2{margin-bottom:4px}.location-card header p{margin:0;color:var(--muted)}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.room-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:78px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fafbf9;color:var(--ink);text-align:left}.room-card:not(:disabled){cursor:pointer}.room-card span{display:grid}.room-card small{margin-top:3px;color:var(--muted)}.room-card--inactive{opacity:.55}.form-stack,.form-grid{display:grid;gap:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-span{grid-column:1 / -1}label,fieldset{display:grid;gap:7px;color:var(--ink);font-size:.9rem;font-weight:750}label small{color:var(--muted);font-weight:500}input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #bdcbc7;border-radius:11px;background:#fff;color:var(--ink)}.password-field{position:relative;display:block}.password-field>input{padding-right:3.1rem}.password-field__toggle{position:absolute;top:50%;right:.35rem;display:inline-grid;width:2.35rem;min-height:2.35rem;height:2.35rem;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:#47615c;cursor:pointer}.password-field__toggle:hover{background:#edf4f1;color:var(--green)}.password-field__toggle:focus-visible{outline:3px solid #d79261;outline-offset:1px}textarea{resize:vertical}input:disabled,select:disabled{background:#edf0ef;color:#687773}.check-row{display:flex;align-items:center;gap:9px}.check-row input{width:21px;min-height:21px;accent-color:var(--green)}.service-type-selector{min-width:0;margin:0;padding:14px;border:1px solid #bdcbc7;border-radius:13px;background:#fff}.service-type-selector legend{padding:0 5px;font-weight:800}.service-type-selector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-type-selector label{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#f8faf9;cursor:pointer}.service-type-selector input{flex:0 0 auto;width:21px;min-height:21px;padding:0;accent-color:var(--green)}.service-type-selector small{color:var(--muted);font-weight:500}.service-type-selector--compact{padding:9px 10px}.service-type-selector--compact>div{gap:6px}.service-type-selector--compact label{min-height:40px;padding:6px 8px;font-size:.78rem}.service-type-selector--compact input{width:19px;min-height:19px}.agenda-filters__fields .service-type-selector{grid-column:span 2}.duplicate-week-item>.service-type-selector{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.color-choice--selected{box-shadow:0 0 0 3px var(--ink)}.modal{width:min(calc(100% - 28px),720px);max-height:min(90vh,860px);padding:0;overflow:hidden;border:0;border-radius:24px;color:var(--ink);box-shadow:0 28px 90px #0c242147}.modal::backdrop{background:#0e242194;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}.modal__header h2{margin:0}.modal__body{max-height:calc(90vh - 78px);padding:24px;overflow-y:auto}.guardian-form-modal{display:grid;grid-template-rows:max-content minmax(0,1fr) max-content;height:min(90dvh,860px);max-height:calc(100dvh - 24px);min-block-size:0}.guardian-form-modal .modal__header{position:relative;z-index:1;flex:0 0 auto;background:var(--paper)}.guardian-form-modal .modal__body{min-height:0;min-block-size:0;max-height:none;padding:24px 16px max(40px,env(safe-area-inset-bottom)) 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block-end:24px}.guardian-form-modal .modal__footer{position:relative;z-index:2;flex:0 0 auto;padding:14px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.guardian-form-modal .modal__footer .form-actions{margin:0}.alert{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px 16px;border-radius:13px;line-height:1.5}.alert--error{background:#fff0f0;color:#8c3030}.alert--success{background:#e8f5ed;color:#22643f}.alert--info{background:#eaf2f1;color:#285d57}.alert--warning{background:#fff4df;color:#7a541d}.state-card{display:grid;place-items:center;min-height:220px;padding:32px;border:1px dashed #b9c9c5;border-radius:20px;color:var(--muted);text-align:center}.state-card h3{margin-bottom:5px}.state-card p{margin-bottom:0}.placeholder-panel{display:flex;align-items:center;gap:18px;max-width:760px;padding:28px;border:1px dashed #b9c9c5;border-radius:20px;background:#ffffffb3}.placeholder-panel>span{display:grid;flex:0 0 auto;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--green-soft);color:var(--green)}.placeholder-panel h2{margin-bottom:4px}.placeholder-panel p{margin:0;color:var(--muted)}.loader{width:38px;height:38px;border:4px solid #d6e1de;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link-add,.filters{display:flex;align-items:end;gap:10px}.link-add select{flex:1}.stack-list{display:grid;gap:12px;margin-top:20px}.link-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:14px}.link-row>div{display:grid}.link-row span{color:var(--muted);font-size:.86rem}.guardian-modal-section{display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f8faf9}.guardian-modal-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.guardian-modal-section>header h3,.guardian-modal-section>header p,.guardian-account-status p{margin:0}.guardian-modal-section>header p{margin-top:3px;color:var(--muted);font-size:.86rem}.guardian-modal-section>header>svg{color:var(--green)}.guardian-linked-students{display:grid;gap:8px}.guardian-linked-students>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.guardian-linked-students article>div,.guardian-account-status{display:grid;gap:4px;min-width:0}.guardian-linked-students article span:not(.status),.guardian-account-status small{color:var(--muted);font-size:.82rem}.guardian-linked-students .button{min-height:36px;padding:7px 10px;font-size:.8rem}.guardian-link-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.guardian-link-add fieldset{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.guardian-link-add legend{padding:0 4px;color:var(--muted);font-size:.8rem;font-weight:800}.guardian-link-add .check-row{gap:7px;font-size:.87rem}.guardian-account-status code{display:inline-block;max-width:100%;overflow:auto;padding:2px 5px;border-radius:5px;background:#edf1f0;color:var(--ink);font-size:.78rem}.guardian-account-status .button{width:max-content;margin-top:5px}.operator-technical-details{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}.operator-technical-details header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operator-technical-details h3,.operator-technical-details p{margin:0}.operator-technical-details p{margin-top:3px;color:var(--muted);font-size:.84rem}.operator-technical-details .button{min-height:38px;padding:7px 10px;white-space:nowrap}.operator-technical-details code{overflow-x:auto;padding:8px 10px;border-radius:9px;background:#edf1f0;color:var(--ink);font-size:.8rem}.filters{flex-wrap:wrap;margin-bottom:22px;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.filters label,.filters .date-picker-field{min-width:170px}.timeline{position:relative;display:grid;gap:14px;padding-left:20px}.timeline:before{content:"";position:absolute;inset:0 auto 0 7px;width:2px;background:#cfdbd7}.timeline-item{position:relative}.timeline-dot{position:absolute;z-index:1;top:25px;left:-19px;width:14px;height:14px;border:3px solid #f7f4ed;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px #bdcbc7}.timeline-card{padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.timeline-card header{display:flex;justify-content:space-between;gap:20px}.timeline-card header>div{display:grid}.timeline-card header span,.timeline-card time,.timeline-card footer{color:var(--muted);font-size:.83rem}.timeline-card p{margin:14px 0}.timeline-card footer{padding-top:12px;border-top:1px solid #edf0ef}.timeline-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.timeline-actions{display:flex;gap:8px}.timeline-actions button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--green);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.timeline-actions button:first-child{color:#a84d38}.communication-publication-date{display:block;color:var(--muted)}.communication-history-filters{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.recipient-mode,.recipient-list{display:grid;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:13px}.recipient-mode legend,.recipient-list legend{padding:0 5px;color:var(--green);font-weight:850}.recipient-list{max-height:215px;overflow:auto}.family-communication-card__button{width:100%;display:grid;gap:4px;padding:14px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer}.family-communication-card__button:hover,.family-communication-card__button:focus-visible{border-color:var(--green);background:var(--green-soft)}.family-communication-card__button time{font-size:.86rem;color:var(--muted)}.family-communication-card__button span{width:fit-content;font-size:.84rem;font-weight:800;color:var(--green)}.communication-ack-summary{display:grid;gap:4px;margin-top:10px;padding:9px 11px;border-left:3px solid var(--green);background:var(--green-soft);font-size:.88rem}.family-nav-badge{display:inline-grid;min-width:1.35rem;height:1.35rem;padding:0 4px;place-items:center;border-radius:999px;background:var(--orange);color:#fff;font-size:.72rem;font-weight:850}.family-communication-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.family-communication-filters button{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--surface);color:var(--ink);font:inherit;font-weight:750;cursor:pointer}.family-communication-filters .segmented__active{background:var(--green);border-color:var(--green);color:#fff}.family-communications-list{display:grid;gap:10px}.family-communications-list article button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:start;padding:16px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer}.family-communications-list article button:hover,.family-communications-list article button:focus-visible{border-color:var(--green);background:var(--green-soft)}.family-communications-list article svg{grid-row:span 2;color:var(--green)}.family-communications-list article button>span{display:grid;min-width:0;gap:4px}.family-communications-list article button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-communications-list article small,.family-communications-list article em{color:var(--muted);font-style:normal;font-size:.88rem}.family-communications-list article em{grid-column:2;color:var(--green);font-weight:800}.communication-preview{display:grid;gap:4px;padding:14px;border:1px solid #c7d8d4;border-radius:13px;background:#f1f7f5;color:var(--green)}.communication-preview small{color:#8a592e}.page--agenda{width:100%;max-width:1680px;padding:clamp(22px,3vw,42px) clamp(20px,2.4vw,42px) 38px}.page--agenda .page-header{align-items:center;gap:20px;margin-bottom:18px}.page--agenda .page-header h1{margin-bottom:5px;font-size:clamp(1.9rem,3vw,2.65rem)}.page--agenda .page-header .eyebrow{margin-bottom:5px}.page--agenda .page-header__actions .button--large{min-height:46px;padding-right:16px;padding-left:16px;font-size:.9rem}.agenda-toolbar{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;margin-bottom:12px}.agenda-toolbar h2{margin:0;color:var(--green);font-size:1.05rem;text-align:right;text-transform:capitalize}.agenda-filters{margin-bottom:12px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.agenda-filters__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.agenda-filters__heading>div{display:flex;align-items:center;gap:8px}.agenda-filters__badge{padding:4px 8px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.75rem;font-weight:850}.agenda-filters__count{color:var(--muted);font-size:.78rem;font-weight:700}.agenda-filters__fields{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(330px,1.45fr) auto;align-items:end;gap:9px}.agenda-filters__fields label{min-width:0}.agenda-filters__fields .service-type-selector{grid-column:auto}.agenda-filters .service-type-selector--compact{padding:6px 8px;border-radius:11px}.agenda-filters .service-type-selector--compact legend{font-size:.78rem}.agenda-filters .service-type-selector--compact>div{gap:5px}.agenda-filters .service-type-selector--compact label{min-height:34px;padding:5px 7px;font-size:.73rem}.agenda-filters .service-type-selector--compact input{width:16px;min-height:16px}.agenda-filters__reset{min-height:38px;padding:7px 11px;font-size:.8rem}.agenda-filters__reset:disabled{cursor:default;opacity:.45}@media(min-width:761px){.page--agenda{display:flex;height:100dvh;min-height:0;flex-direction:column;overflow:hidden}.page--agenda>:not(.agenda-scroll){flex:0 0 auto}.page--agenda>.agenda-scroll{flex:1 1 auto;min-height:0}.page--agenda--month>.month-calendar{display:grid;height:100%;min-height:0;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr)}.page--agenda--month>.month-calendar .month-grid{height:100%;min-height:0}}@media(min-width:761px)and (max-height:760px){.page--agenda--month>.month-calendar{overflow:auto}.page--agenda--month>.month-calendar .month-weekdays{position:sticky;z-index:2;top:0}}.appointment-color-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line);border-radius:13px;background:#ffffffbd;color:var(--muted);font-size:.72rem}.appointment-color-legend strong{color:var(--ink);font-size:.75rem}.appointment-color-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.appointment-color-swatch{display:inline-block;flex:0 0 auto;width:18px;height:10px;border-radius:4px;background:var(--legend-primary)}.appointment-color-swatch--combined{background:linear-gradient(to right,var(--legend-primary) 0 50%,var(--legend-secondary) 50% 100%)}.segmented{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:14px;background:#fff}.segmented button{min-height:40px;padding:7px 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800}.segmented .segmented__active{background:var(--green);color:#fff}.agenda-navigation{display:flex;align-items:center;gap:4px}.agenda-scroll{position:relative;isolation:isolate;min-height:0;overflow:auto;border:1px solid #cfdcd8;border-radius:18px;background:#fff;box-shadow:0 8px 24px #193e3a0f;overscroll-behavior:contain}.agenda-calendar{width:100%;min-width:0}.agenda-calendar__header,.agenda-calendar__body{display:grid;grid-template-columns:var(--agenda-grid-columns, 64px repeat(7, minmax(0, 1fr)))}.agenda-calendar__header{position:sticky;z-index:6;top:0;border-bottom:1px solid #c8d7d2;background:#fff;box-shadow:0 2px 7px #193e3a0d}.agenda-calendar__body{position:relative}.agenda-corner{display:grid;place-items:center;min-height:56px;border-right:1px solid #c8d7d2;color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.agenda-corner{position:sticky;z-index:8;left:0;background:#f7f9f8}.agenda-day-heading{display:flex;align-items:center;justify-content:center;gap:7px;min-height:56px;border-right:1px solid #d5e0dd;text-transform:capitalize}.agenda-day-heading span{color:var(--muted);font-size:.8rem;font-weight:800}.agenda-day-heading strong{display:grid;place-items:center;width:32px;min-width:32px;height:32px;padding:0;border-radius:50%;font-size:.9rem;white-space:nowrap}.agenda-day-heading--today strong{background:var(--clay);color:#fff}.agenda-hours{position:sticky;z-index:3;left:0;border-right:1px solid #c8d7d2;background:#f8fbfa}.agenda-hours span{position:absolute;right:9px;transform:translateY(-8px);color:#506762;font-size:.72rem;font-weight:800}.agenda-hours span:first-child{transform:translateY(7px)}.agenda-current-time{position:absolute;z-index:4;right:0;left:0;height:0;border-top:2px solid #b7653e;pointer-events:none}.agenda-current-time span{position:absolute;top:-12px;left:5px;min-width:51px;padding:2px 5px;border-radius:7px;background:#b7653e;color:#fff;font-size:.64rem;font-weight:850;line-height:1.1;text-align:center}.agenda-day-column{position:relative;border-right:1px solid #d9e4e1;background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-height) - 1px),#e5edeb calc(var(--hour-height) - 1px),#e5edeb var(--hour-height))}.agenda-day-column--today{background-color:#f9f6ee}.agenda-event{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;min-height:36px;padding:8px 10px;overflow:hidden;border:0;border-left:5px solid var(--appointment-accent);border-radius:10px;background:var(--appointment-surface);color:#173d39;cursor:pointer;text-align:left;box-shadow:0 3px 10px #193e3a21}.agenda-event.appointment-appearance--combined{padding-left:17px;border-left:0;background:linear-gradient(to right,var(--appointment-accent) 0 5px,var(--appointment-accent-secondary) 5px 10px,#fff 10px 100%)}.agenda-event:hover,.agenda-event:focus-visible{z-index:4;filter:saturate(1.12);box-shadow:0 7px 20px #193e3a33}.agenda-event{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.agenda-event:active{cursor:grabbing}.agenda-event--interacting{z-index:8;opacity:.82;box-shadow:0 12px 28px #193e3a47}.agenda-event strong{max-width:100%;overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.agenda-event span{font-size:.7rem;font-weight:800}.agenda-event small{max-width:100%;overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.agenda-event__notes{opacity:.78}.agenda-event--compact{min-height:40px;padding:8px 9px;border-left-width:4px;border-radius:9px}.agenda-event--compact.appointment-appearance--combined{padding-left:12px;background:linear-gradient(to right,var(--appointment-accent) 0 4px,var(--appointment-accent-secondary) 4px 8px,#fff 8px 100%)}.agenda-event--compact{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:4px}.agenda-event--compact .agenda-event__student-name{display:block;width:100%;min-width:0;overflow:hidden;font-size:.72rem;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow-wrap:normal}.agenda-event--compact.agenda-event--lanes-3{min-height:36px;padding-right:4px;padding-left:4px;border-left-width:3px}.agenda-event--compact.agenda-event--lanes-3.appointment-appearance--combined{padding-left:8px;background:linear-gradient(to right,var(--appointment-accent) 0 3px,var(--appointment-accent-secondary) 3px 6px,#fff 6px 100%)}.agenda-event--compact .agenda-event__time{display:block;width:100%;min-width:0;overflow:hidden;font-size:.64rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow-wrap:normal}.agenda-event--compact.agenda-event--lanes-2 .agenda-event__student-name,.agenda-event--compact.agenda-event--lanes-3 .agenda-event__student-name,.agenda-event--compact.agenda-event--lanes-2 .agenda-event__time,.agenda-event--compact.agenda-event--lanes-3 .agenda-event__time{font-size:0}.agenda-event--compact.agenda-event--lanes-2 .agenda-event__student-name:after,.agenda-event--compact.agenda-event--lanes-3 .agenda-event__student-name:after{content:attr(data-compact-name);font-size:.68rem;line-height:1.12}.agenda-event--compact.agenda-event--lanes-2 .agenda-event__time:after,.agenda-event--compact.agenda-event--lanes-3 .agenda-event__time:after{content:attr(data-compact-time);font-size:.6rem;line-height:1.1}.agenda-event--compact.agenda-event--lanes-3 .agenda-event__student-name:after{font-size:.62rem}.agenda-event--compact.agenda-event--lanes-3 .agenda-event__time:after{font-size:.55rem}.agenda-event--compact .agenda-resize-handle{height:10px;padding-bottom:2px}.agenda-event--compact .agenda-resize-handle span{width:18px;height:2px}.agenda-event--calendar-bar{min-height:28px;padding:0;overflow:visible;border:0;border-radius:8px;background:transparent;box-shadow:none}.agenda-event--calendar-bar.appointment-appearance--combined{padding-left:0;background:transparent}.agenda-event--calendar-bar:before{position:absolute;z-index:0;top:0;right:0;left:0;height:30px;border-left:4px solid var(--appointment-accent);border-radius:8px;background:var(--appointment-surface);box-shadow:0 3px 9px #193e3a1f;content:""}.agenda-event--calendar-bar.appointment-appearance--combined:before{border-left:0;background:linear-gradient(to right,var(--appointment-accent) 0 4px,var(--appointment-accent-secondary) 4px 8px,#fff 8px 100%)}.agenda-event--calendar-bar:hover,.agenda-event--calendar-bar:focus-visible{z-index:5;filter:none;box-shadow:none}.agenda-event--calendar-bar:hover:before,.agenda-event--calendar-bar:focus-visible:before{box-shadow:0 6px 15px #193e3a33;filter:saturate(1.12)}.agenda-event--calendar-bar .agenda-event__student-name{position:relative;z-index:1;align-self:stretch;height:30px;padding:7px 9px;overflow:hidden;color:var(--ink);font-size:.72rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.agenda-event--calendar-bar.agenda-event--lanes-2 .agenda-event__student-name,.agenda-event--calendar-bar.agenda-event--lanes-3 .agenda-event__student-name{padding-right:4px;padding-left:5px}.agenda-event--calendar-bar .agenda-resize-handle{z-index:2;opacity:0;transition:opacity .14s ease}.agenda-event--calendar-bar .agenda-resize-handle span{opacity:0;transition:opacity .14s ease}.agenda-event--calendar-bar:hover .agenda-resize-handle,.agenda-event--calendar-bar:focus-within .agenda-resize-handle,.agenda-event--calendar-bar.agenda-event--interacting .agenda-resize-handle,.agenda-event--calendar-bar .agenda-resize-handle:focus-visible{opacity:1}.agenda-event--calendar-bar:hover .agenda-resize-handle span,.agenda-event--calendar-bar:focus-within .agenda-resize-handle span,.agenda-event--calendar-bar.agenda-event--interacting .agenda-resize-handle span,.agenda-event--calendar-bar .agenda-resize-handle:focus-visible span{opacity:1}.agenda-current-time{z-index:4}.agenda-event--calendar-bar{z-index:5}.agenda-event--calendar-bar.agenda-event--interacting{z-index:8}.agenda-event--calendar-bar.agenda-overflow-trigger{display:grid;min-height:28px;padding:0;border:0;background:transparent;color:var(--green)}.agenda-event--calendar-bar.agenda-overflow-trigger:before{border:1px dashed #7b918c;background:#f2f5f4;box-shadow:none}.agenda-event--calendar-bar.agenda-overflow-trigger:hover:before,.agenda-event--calendar-bar.agenda-overflow-trigger:focus-visible:before{border-color:#5f7d75;background:#e5efec;box-shadow:none;filter:none}.agenda-event--calendar-bar.agenda-overflow-trigger strong{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;align-self:stretch;height:30px;padding:7px 6px;overflow:hidden;font-size:.68rem;font-weight:850;line-height:1;text-overflow:ellipsis;white-space:nowrap}.agenda-overflow-layer{position:fixed;z-index:60;inset:0;background:#0a1f1d6b}.agenda-overflow-panel{position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(420px,calc(100% - 32px));padding:22px;overflow-y:auto;background:#fbfcfb;box-shadow:-18px 0 48px #0a1f1d3d}.agenda-overflow-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.agenda-overflow-panel>header p{margin:0 0 3px;color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.agenda-overflow-panel>header h2{margin:0;font-size:1.3rem}.agenda-overflow-panel__time{margin:14px 0;color:var(--muted);font-size:.84rem;font-weight:800}.agenda-overflow-list{display:grid;gap:9px}.agenda-overflow-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.agenda-overflow-row:hover,.agenda-overflow-row:focus-visible{border-color:var(--appointment-accent);box-shadow:0 5px 16px #193e3a1f}.agenda-overflow-row__color{width:7px;height:36px;border-radius:99px;background:var(--appointment-accent)}.agenda-overflow-row.appointment-appearance--combined .agenda-overflow-row__color{background:linear-gradient(to bottom,var(--appointment-accent) 0 50%,var(--appointment-accent-secondary) 50% 100%)}.agenda-overflow-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow-wrap:normal}.agenda-overflow-row time{color:var(--muted);font-size:.75rem;font-weight:800;white-space:nowrap}.agenda-resize-handle{position:absolute;z-index:3;right:0;bottom:0;left:0;display:grid;place-items:end center;width:100%;height:15px;padding:0 0 3px;border:0;background:transparent;cursor:ns-resize;touch-action:none}.agenda-resize-handle span{width:24px;height:3px;border-radius:99px;background:color-mix(in srgb,var(--appointment-accent) 72%,#173d39)}.form-actions--spread{justify-content:space-between}.form-actions--spread>div,.delete-confirm>div{display:flex;gap:10px}.delete-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #edc6c6;border-radius:14px;background:#fff5f5}.delete-confirm p{margin:0;color:var(--danger);font-weight:800}.month-calendar{display:grid;min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 32px #193e3a0d}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{border-bottom:1px solid var(--line);background:#f7f9f8}.month-weekdays span{padding:13px;color:var(--muted);font-size:.75rem;font-weight:850;text-align:center;text-transform:uppercase}.month-grid{height:100%;min-height:0;grid-template-rows:repeat(var(--month-week-count, 6),minmax(0,1fr))}.month-day{display:flex;min-width:0;min-height:0;flex-direction:column;padding:6px;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .15s,box-shadow .15s}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.month-day--outside{background:#f7f8f7;color:#8d9a97}.month-day--drop-target{position:relative;z-index:2;background:#e5f1ed;box-shadow:inset 0 0 0 2px var(--green)}.month-day__number{display:grid;flex:0 0 auto;place-items:center;width:26px;height:26px;margin:0 0 3px auto;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font-size:.82rem;font-weight:850}.month-day__number:hover{background:var(--green-soft)}.month-day--today .month-day__number{background:var(--clay);color:#fff}.month-events{--month-event-row-height: 20px;display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:2px;overflow:hidden}.month-event{display:block;flex:0 0 var(--month-event-row-height);min-width:0;min-height:var(--month-event-row-height);padding:4px 6px;border:0;border-left:4px solid var(--appointment-accent);border-radius:7px;background:var(--appointment-surface);color:var(--ink);cursor:grab;text-align:left;touch-action:none}.month-event.appointment-appearance--combined{padding-left:12px;border-left:0;background:linear-gradient(to right,var(--appointment-accent) 0 4px,var(--appointment-accent-secondary) 4px 8px,#fff 8px 100%)}.month-event:active{cursor:grabbing}.month-event--dragging{opacity:.48}.month-event strong{display:block;min-width:0;overflow:hidden;font-size:.66rem;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.month-event span{grid-column:2;overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.month-event>span:not(.recurrence-icon):not(.lesson-record-icon){display:none}.month-more{display:block;flex:0 0 var(--month-event-row-height);min-height:var(--month-event-row-height);padding:3px 6px;overflow:hidden;border:0;border-radius:7px;background:#f2f5f4;color:var(--green);cursor:pointer;font-size:.66rem;font-weight:850;line-height:1;text-align:left;text-overflow:ellipsis;white-space:nowrap}.month-overflow-layer{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;background:#0a1f1d6b}.month-overflow-panel{width:min(100%,440px);max-height:min(78dvh,640px);overflow:auto;padding:18px;border-radius:18px;background:#fff;box-shadow:0 24px 60px #0a1f1d40}.month-overflow-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.month-overflow-panel>header p{margin:0 0 3px;color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.month-overflow-panel>header h2{margin:0;font-size:1.25rem}.month-overflow-panel>div{display:grid;gap:8px;padding-top:12px}.month-overflow-panel>div>button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.month-overflow-panel>div>button:hover,.month-overflow-panel>div>button:focus-visible{border-color:#8eafa7;background:#f7faf8}.month-overflow-panel time{grid-row:1 / 3;align-self:center;color:var(--green);font-size:.75rem;font-weight:850}.month-overflow-panel strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-overflow-panel span{color:var(--muted);font-size:.76rem}.agenda-fallback{width:min(100%,650px);margin:10vh auto 0;padding:clamp(28px,6vw,54px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.agenda-fallback p:not(.eyebrow){color:var(--muted)}.agenda-fab{display:none}.appointment-actions{display:grid;gap:9px}.appointment-actions__summary{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;padding:14px;border-radius:13px;background:#f4f7f5}.appointment-actions__summary span{color:var(--muted);font-weight:800}.appointment-actions__summary small{color:var(--muted)}.appointment-actions>button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;width:100%;min-height:66px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.appointment-actions>button:hover{border-color:#a9c0bb;background:#f8faf9}.appointment-actions>button>span{display:grid}.appointment-actions>button small{margin-top:2px;color:var(--muted)}.appointment-actions>.appointment-actions__delete{border-color:#edc6c6;color:var(--danger)}.appointment-actions__confirm{padding:16px;border:1px solid #edc6c6;border-radius:14px;background:#fff5f5}.appointment-actions__confirm p{margin-bottom:12px;color:var(--danger);font-weight:800}.appointment-actions__confirm>div{display:flex;justify-content:flex-end;gap:9px}.appointment-mode{display:flex;width:100%;margin-bottom:20px}.appointment-mode button{flex:1}.recurrence-editor{display:grid;gap:18px;padding:18px;border:1px solid #bfd0cc;border-radius:17px;background:#f8faf9}.recurrence-editor>header,.recurrence-preview>header,.recurrence-conflicts>header{display:flex;align-items:center;gap:10px}.recurrence-editor>header>div,.recurrence-conflicts>header>div{display:grid}.recurrence-editor header small,.recurrence-conflicts header small{color:var(--muted);font-weight:550}.recurrence-editor__dates{gap:12px}.recurrence-weekdays{margin:0;padding:0;border:0}.recurrence-weekdays>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday-toggle{min-height:42px;padding:7px;border:1px solid #bdcbc7;border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;font-weight:850}.weekday-toggle--selected{border-color:var(--green);background:var(--green);color:#fff}.recurrence-slots{display:grid;gap:9px}.recurrence-slot{display:grid;grid-template-columns:minmax(110px,1fr) repeat(2,minmax(120px,.8fr));align-items:end;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.recurrence-slot>strong{align-self:center}.recurrence-slot label{gap:4px}.recurrence-slot label span{color:var(--muted);font-size:.75rem}.recurrence-editor__validation{margin:0;color:#8b5b1d;font-size:.88rem;font-weight:700}.recurrence-preview{display:grid;gap:13px;padding:15px;border-radius:14px;background:#eaf2f1}.recurrence-preview dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.recurrence-preview dl>div{display:grid;gap:3px}.recurrence-preview dt,.recurrence-preview>small{color:var(--muted);font-size:.75rem}.recurrence-preview dd{margin:0;font-weight:850}.recurrence-preview ul,.recurrence-conflicts ul{display:grid;gap:6px;margin:0;padding-left:20px}.recurrence-preview li{display:flex;align-items:center;gap:7px}.recurrence-conflicts{display:grid;gap:13px;padding:16px;border:1px solid #e3bc77;border-radius:14px;background:#fff7e8;color:#6e4c19}.recurrence-conflicts>div{display:flex;justify-content:flex-end;gap:9px}.series-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.series-progress progress{width:100%;accent-color:var(--green)}.series-result{display:grid;gap:8px;padding:20px;border-radius:16px;background:var(--green-soft);color:var(--green-dark)}.series-result strong{font-size:1.2rem}.series-result p{margin:0}.series-scope-choices{display:grid!important;gap:9px}.series-scope-choices>p{margin:0 0 3px;color:var(--muted)!important}.series-scope-choices>button{display:grid;gap:3px;width:100%;min-height:66px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.series-scope-choices>button:hover{border-color:var(--green);background:#f3f8f6}.series-scope-choices small{color:var(--muted)}.recurrence-icon{display:inline-flex;align-items:center;gap:3px;color:var(--green)}.agenda-event>.recurrence-icon{position:absolute;top:5px;right:25px}.agenda-event>.lesson-record-icon{position:absolute;top:5px;right:5px;color:#225d50}.month-event>.recurrence-icon{grid-column:1;grid-row:2;color:var(--green)}.month-event>.lesson-record-icon{grid-column:1;grid-row:2;margin-left:17px;color:#225d50}.recurrence-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;color:var(--green)!important;font-weight:800}.duplicate-week-summary{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:14px;border-radius:14px;background:var(--green-soft)}.duplicate-week-summary>div{display:grid;gap:2px}.duplicate-week-summary small{color:var(--muted)}.duplicate-week-list{display:grid;gap:12px;max-height:min(55vh,620px);margin:16px 0;overflow-y:auto}.duplicate-week-item{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.duplicate-week-item--conflict{border-color:#d7a650;background:#fffaf0}.duplicate-week-item>header{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between}.duplicate-week-item label{gap:4px}.week-review{display:grid;gap:18px}.week-review>header{display:flex;align-items:center;gap:13px;padding:16px;border-radius:15px;background:var(--green-soft);color:var(--green-dark)}.week-review--blocked>header{background:#fff2e0;color:#805318}.week-review>header>div{display:grid;gap:3px}.week-review__summary{display:grid;gap:2px}.week-review__summary span{line-height:1.4}.week-review__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.week-review__metrics article{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.week-review__metrics strong{font-size:1.45rem}.week-review__metrics span{color:var(--muted);font-size:.75rem;font-weight:750}.week-review__issues{display:grid;gap:10px}.week-review__issues h3{margin:0}.review-issue{padding:13px;border:1px solid #e3c98d;border-radius:13px;background:#fffbef}.review-issue--critical{border-color:#e2a4a4;background:#fff3f3}.review-issue>header{display:flex;justify-content:space-between;gap:12px}.review-issue>header>div{display:grid;gap:2px}.review-issue>header small{color:var(--muted);font-size:.78rem}.review-issue>header span{color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.review-issue>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid rgb(45 68 65 / 10%)}.review-issue>.review-issue__items{display:grid;justify-content:stretch;gap:5px}.review-issue__action{margin-top:10px}.review-issue p{margin:0}.review-issue .button{min-height:36px;white-space:nowrap}.publication-dialog__message{margin:0 0 24px;color:var(--muted);font-size:1rem;line-height:1.65}.publication-success{display:grid;gap:18px}.publication-success__message{display:flex;align-items:center;gap:11px;padding:15px;border-radius:14px;background:var(--green-soft);color:var(--green-dark)}.publication-success__message p{margin:0;font-weight:800}.publication-success ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.publication-success li{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.publication-success li:last-child{border-bottom:0}.publication-success li span{color:var(--muted)}.publication-success li strong{text-align:right}.family-page{min-height:100vh;background:#f5f2ea}.family-header{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(18px,4vw,52px);border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.family-header>div,.family-brand{display:flex;align-items:center;gap:11px}.family-brand>div{display:grid}.family-header small{color:var(--muted)}.family-content{width:min(1050px,calc(100% - 32px));margin:0 auto;padding:clamp(28px,5vw,58px) 0 70px}.family-hero{max-width:700px;margin-bottom:28px}.family-hero h1{margin:4px 0 9px;font-size:clamp(2rem,5vw,3.4rem)}.family-hero>p:last-child{color:var(--muted);line-height:1.65}.family-agenda-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#fff}.family-agenda-tabs button,.family-history-quick-filters button{min-height:38px;padding:7px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:800;cursor:pointer}.family-agenda-tabs .segmented__active,.family-history-quick-filters .segmented__active{background:var(--green);color:#fff}.family-week-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.family-week-toolbar label{min-width:250px}.family-week-navigation{display:flex;align-items:end;gap:6px}.family-view-progress{display:grid;min-width:70px;text-align:center}.family-view-progress strong{font-size:1.25rem}.family-view-progress span{color:var(--muted);font-size:.72rem}.family-student-tabs{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto}.family-student-tab{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;font-weight:800;white-space:nowrap}.family-student-tab--active{border-color:var(--green);background:var(--green);color:#fff}.button--success{background:var(--green-soft);color:var(--green-dark)}.family-appointments{display:grid;gap:13px}.family-appointments>article{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 24px #193e3a0d}.family-appointments article>header,.family-appointments article>footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.family-appointments h2{margin:3px 0 0}.family-appointment__day{color:var(--muted);font-size:.8rem;font-weight:850;text-transform:capitalize}.family-appointment__details{display:flex;align-items:center;gap:18px;padding:13px;border-radius:12px;background:#f7f9f8}.family-appointment__details span{display:inline-flex;align-items:center;gap:6px}.family-appointment__actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.family-appointment__actions>span{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:800}.family-appointment--tutor{border-color:color-mix(in srgb,var(--green) 34%,var(--line))!important}.family-appointment--tutor .family-appointment__details{background:#eef7f5}.tutor-lesson-views{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f7f9f8}.tutor-lesson-views ul{display:grid;gap:4px;margin:0;padding-left:20px}.family-options{display:grid;gap:10px;padding:16px;border-radius:14px;background:#f2f6f5}.family-options h3{margin:0 0 4px}.family-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.family-option input{width:21px;min-height:21px}.family-option>span{display:grid;gap:3px}.family-option small{color:var(--muted)}.family-options__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}.family-appointments footer>span{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:850}.family-appointments footer small{max-width:520px;color:var(--muted);text-align:right}.family-appointment-history{display:grid;gap:15px}.family-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.family-history-heading .eyebrow{margin:0 0 3px}.family-history-heading h2,.family-history-heading p{margin:0}.family-history-heading p:last-child{margin-top:4px;color:var(--muted)}.family-history-heading>svg{color:var(--green)}.family-history-quick-filters{display:flex;flex-wrap:wrap;gap:7px}.family-history-quick-filters button{border:1px solid var(--line);border-radius:999px;background:#fff}.family-history-filters{display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(4,minmax(130px,.8fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.family-history-list{display:grid;gap:9px}.family-history-item{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(150px,.9fr) minmax(130px,.8fr) auto;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.family-history-item:hover,.family-history-item:focus-visible{border-color:var(--green);background:var(--green-soft)}.family-history-item>span{min-width:0}.family-history-item>span:nth-child(2){display:grid;gap:3px}.family-history-item small,.family-history-item__operator{color:var(--muted);font-size:.82rem}.family-history-item__service{font-size:.86rem;font-weight:750}.family-history-item__operator{display:inline-flex;align-items:center;gap:5px}.family-history-item__status{display:inline-flex;width:max-content;max-width:220px;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:850;line-height:1.25}.family-history-item__status--completed{background:#e3f1e9;color:#247149}.family-history-item__status--on-time{background:#edf0ef;color:#5d6c67}.family-history-item__status--late{background:var(--appointment-surface, #f3e4dc);color:var(--appointment-accent, #8a592e)}.family-history-item__status--no-show{background:#fff0d7;color:#a25b00}.family-history-item__status--cancelled{background:#eceff1;color:#62716d}.family-history-item__status--missing{background:#fff7ce;color:#876900}.family-history-detail{display:grid;gap:16px}.family-history-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.family-history-detail dl div,.family-history-detail section{padding:12px;border-radius:12px;background:#f7f9f8}.family-history-detail dt{color:var(--muted);font-size:.75rem;font-weight:750}.family-history-detail dd{margin:4px 0 0;font-weight:800}.family-history-detail section h3,.family-history-detail section p{margin:0}.family-history-detail section p{margin-top:5px;line-height:1.5}.family-history-detail section ul{margin:7px 0 0;padding-left:20px}.family-school-meetings{display:grid;gap:14px;margin-top:22px;padding:20px;border:1px solid #b8d8da;border-radius:18px;background:#f3fafa}.family-school-meetings>header{display:flex;align-items:flex-start;gap:10px}.family-school-meetings h2,.family-school-meetings h3,.family-school-meetings p{margin:0}.family-school-meetings>header p{margin-top:3px;color:var(--muted)}.family-school-meetings>div{display:grid;gap:10px}.family-school-meetings article{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,1.45fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.family-school-meetings article>div{display:grid;gap:4px;min-width:0}.family-school-meetings article time{color:var(--muted)}.family-school-meetings article span:not(.status){display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.family-history{display:grid;gap:8px;margin-top:30px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.family-history>header{display:flex;align-items:center;gap:9px}.family-history h2{margin:0}.family-history article{display:flex;justify-content:space-between;gap:16px;padding-top:10px;border-top:1px solid var(--line)}.family-history article p{margin:0}.family-history time{color:var(--muted);font-size:.78rem;white-space:nowrap}.studio-requests-panel{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.studio-requests-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.studio-requests-panel h2{margin:3px 0 0}.studio-request-list{display:grid;gap:12px}.studio-request-list>article{display:grid;gap:13px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fbfcfb}.studio-request-list article>header,.studio-request-list article>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.studio-request-list article>header>div{display:grid}.studio-request-list article>header span{color:var(--muted)}.studio-request-list dl{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0}.studio-request-list dl div{padding:10px;border-radius:10px;background:#f0f4f2}.studio-request-list dt{color:var(--muted);font-size:.72rem;font-weight:750}.studio-request-list dd{margin:3px 0 0;font-weight:800}.studio-request-list article>p{margin:0;padding-left:12px;border-left:3px solid var(--clay)}.availability-editor{display:grid;gap:13px}.availability-row{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbf9}.availability-row>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.availability-row>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.date-picker-field{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:.9rem;font-weight:750}.date-picker-field__hint{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.4}.date-picker__constraint{position:absolute;width:1px;min-height:1px;padding:0;overflow:hidden;border:0;opacity:0;pointer-events:none}.date-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:1px solid #bdcbc7;border-radius:11px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.date-picker__trigger:hover{border-color:#799f96;background:#fbfdfc}.date-picker__trigger:focus-visible,.date-picker__navigation:focus-visible,.date-picker__day:focus-visible{outline:3px solid rgb(47 111 104 / 28%);outline-offset:2px}.date-picker__trigger svg{flex:0 0 auto;color:var(--green)}.date-picker__placeholder{color:var(--muted);font-weight:500}.date-picker__dialog{width:min(calc(100% - 48px),420px);max-width:420px;max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border:1px solid #cbd8d4;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 28px 90px #0c242152}.date-picker__dialog::backdrop{background:#0e242152;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.date-picker__header{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;padding:18px 20px 16px;border-bottom:1px solid var(--line);background:#f7faf8}.date-picker__header>div{display:grid;gap:3px;min-width:0;text-align:center}.date-picker__header small{color:var(--muted);font-size:.75rem;font-weight:700}.date-picker__header strong{font-size:1.22rem;line-height:1.2;text-transform:capitalize}.date-picker__navigation{display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #cbd8d4;border-radius:14px;background:#fff;color:var(--green);cursor:pointer}.date-picker__navigation:hover{border-color:#799f96;background:var(--green-soft)}.date-picker__weekdays,.date-picker__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.date-picker__weekdays{padding:16px 18px 8px}.date-picker__weekdays span{display:grid;place-items:center;min-height:30px;color:var(--muted);font-size:.79rem;font-weight:850;text-transform:uppercase}.date-picker__days{gap:3px;padding:0 18px 18px}.date-picker__day{display:grid;place-items:center;min-width:0;min-height:47px;padding:0;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--ink);cursor:pointer;font-size:1rem;font-weight:800}.date-picker__day:hover{border-color:#aac8c0;background:var(--green-soft)}.date-picker__day--outside{color:#9aa9a5;font-weight:650}.date-picker__day:disabled{cursor:not-allowed;opacity:.32}.date-picker__day:disabled:hover{border-color:transparent;background:transparent}.date-picker__day--today{border-color:#c3845e}.date-picker__day--selected,.date-picker__day--selected:hover{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 4px 12px #244e4938}.date-picker__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px 18px;border-top:1px solid var(--line)}.date-picker__footer .button{min-height:42px;padding:8px 13px;font-size:.82rem}.availability-preview{display:grid;gap:8px;padding:14px;border:1px solid #a9cfbc;border-radius:14px;background:#f1f8f4}.availability-preview--error{border-color:#e2a4a4;background:#fff3f3}.availability-preview h3{margin:0}.availability-preview article{display:grid;padding-top:8px;border-top:1px solid rgb(45 68 65 / 12%)}.availability-preview span{color:var(--muted)}.availability-preview small{color:var(--danger)}.lesson-record-modal{display:grid;grid-template-rows:max-content minmax(0,1fr) max-content;width:min(calc(100vw - 32px),820px);height:min(88dvh,900px);max-height:min(88dvh,900px);box-sizing:border-box}.lesson-record-modal .modal__header{position:relative;z-index:1;padding:18px 22px;background:var(--paper)}.lesson-record-modal .modal__header .icon-button{border:1px solid var(--line);background:#fff;color:var(--green)}.lesson-record-modal .modal__header .icon-button:hover{border-color:#8eafa7;background:var(--green-soft)}.lesson-record-modal .modal__header .icon-button:focus-visible{outline:3px solid rgb(47 111 104 / 30%);outline-offset:2px}.lesson-record-modal .modal__body{min-height:0;min-block-size:0;max-height:none;box-sizing:border-box;padding:18px 12px 34px 22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.lesson-record-modal .modal__footer{flex:0 0 auto;padding:14px 22px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.lesson-record{display:grid;gap:12px;padding-bottom:8px}.lesson-record__version{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #b9d7ca;border-radius:13px;background:#f1f8f4;color:var(--green);font-weight:800}.lesson-record__version .button{min-height:38px;margin-left:auto;padding:7px 11px}.lesson-record__section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff}.lesson-record__section>header{display:flex;align-items:flex-start;gap:12px}.lesson-record__section>header>span{display:grid;flex:0 0 auto;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--green-soft);color:var(--green);font-weight:900}.lesson-record__section>header h3{margin:0 0 3px}.lesson-record__section>header p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}.lesson-record__information{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin:0}.lesson-record__information div{padding:11px 12px;border-radius:11px;background:#f5f7f6}.lesson-record__information dt{color:var(--muted);font-size:.72rem;font-weight:750}.lesson-record__information dd{margin:3px 0 0;font-weight:850}.lesson-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lesson-choice{display:flex;grid-template-columns:none;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.lesson-choice--selected{border-color:#7ba99e;background:var(--green-soft)}.lesson-choice input{width:20px;min-height:20px;accent-color:var(--green)}.lesson-topics{display:grid;gap:9px}.lesson-topics>div{display:grid;grid-template-columns:1fr auto;gap:8px}.lesson-topic-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.lesson-topic-list li{padding:7px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:750}.lesson-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lesson-rating{display:grid;place-items:center;gap:4px;min-height:78px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);cursor:pointer;font-weight:800}.lesson-rating>span{font-size:1.55rem}.lesson-rating--selected{border-color:#7ba99e;background:var(--green-soft);box-shadow:inset 0 0 0 1px #7ba99e}.lesson-record__read-value{margin:0;font-weight:800}.lesson-record__read-value--multiline{white-space:pre-wrap}.lesson-record__empty{margin:0;color:var(--muted);font-style:italic}.lesson-record__time{grid-template-columns:1fr auto;align-items:center}.lesson-record__time>strong{padding:12px 16px;border-radius:12px;background:var(--green);color:#fff;font-size:1.1rem;white-space:nowrap}.lesson-homework-status{display:grid;gap:.65rem;margin-top:.85rem;padding:.85rem;border-radius:14px;background:var(--green-soft)}.lesson-homework-status>div{display:flex;flex-wrap:wrap;gap:.5rem}.lesson-record__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0}.lesson-record-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:13px;margin-bottom:20px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.lesson-record-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px}.lesson-record-filters__heading{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:16px}.lesson-record-filters__title{display:flex;align-items:center;gap:8px}.lesson-record-filters__count{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.8rem;font-weight:850}.lesson-record-filters__checkbox{display:inline-flex;align-items:center;align-self:end;gap:8px;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;white-space:nowrap}.lesson-record-filters__checkbox input{width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--green)}.lesson-record-filters__reset{justify-self:start;min-height:40px;padding:7px 11px;font-size:.8rem;white-space:nowrap}.lesson-record-list{display:grid;gap:10px}.lesson-record-row{display:grid;grid-template-columns:auto minmax(0,1.25fr) minmax(150px,.55fr) auto;align-items:center;gap:13px;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);cursor:pointer;text-align:left;box-shadow:0 7px 22px #193e3a0a}.lesson-record-row:hover{border-color:#a9c0bb}.lesson-record-row__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--green-soft);color:var(--green)}.lesson-record-row__main,.lesson-record-row__meta{display:grid;gap:4px;min-width:0}.lesson-record-row__main span,.lesson-record-row__main small,.lesson-record-row__meta{color:var(--muted)}.lesson-record-row__student{overflow:hidden;font-size:.98rem;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.lesson-record-row__lesson{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.82rem}.lesson-record-row__lesson time{color:var(--muted)}.lesson-record-row__lesson span{color:var(--ink);font-weight:800}.lesson-record-row__main>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-record-row__meta{justify-items:end;font-size:.78rem}.family-lesson-records{display:grid;gap:15px;margin-top:30px}.family-lesson-records>header{display:flex;align-items:flex-start;gap:11px}.family-lesson-records>header h2{margin:0 0 3px}.family-lesson-records>header p{margin:0;color:var(--muted)}.family-lesson-records>div{display:grid;gap:12px}.family-lesson-records article{padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff}.family-lesson-records article>header time{color:var(--muted);font-size:.78rem;font-weight:750}.family-lesson-records article>header h3{margin:4px 0 14px;font-size:1.2rem}.family-lesson-records article>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.family-lesson-records article section{padding:14px;border-radius:13px;background:#f6f8f6}.family-lesson-records article section p{margin:7px 0 0;white-space:pre-wrap}.family-lesson-records article ul{margin:7px 0 0;padding-left:20px}.desktop-notification{position:fixed;z-index:31;top:22px;right:28px}.desktop-global-search{position:fixed;z-index:30;top:18px;right:86px;width:min(360px,calc(100vw - 390px))}@media(min-width:761px){.page--agenda .agenda-scroll{z-index:31}}.global-search-trigger{display:flex;width:100%;min-height:42px;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);cursor:pointer;text-align:left;box-shadow:0 5px 18px #1f39350d}.global-search-trigger span{flex:1}.global-search-trigger kbd{padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--cream);font:inherit;font-size:.72rem}.global-search-backdrop{position:fixed;z-index:100;inset:0;display:grid;align-items:start;justify-items:center;padding:9vh 18px 18px;background:#1827256b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.global-search-dialog{width:min(720px,100%);max-height:78vh;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 28px 80px #142b273d}.global-search-dialog>header{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}.global-search-dialog>header input{flex:1;min-width:0;border:0;outline:0;font-size:1.05rem}.global-search-results{display:grid;gap:4px;max-height:calc(78vh - 70px);overflow-y:auto;padding:10px}.global-search-results>p,.global-search-error{margin:0;padding:24px;color:var(--muted);text-align:center}.global-search-results button{display:grid;grid-template-columns:100px 1fr;gap:2px 12px;padding:12px;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer;text-align:left}.global-search-results button:hover,.global-search-results button:focus-visible{background:var(--cream)}.global-search-results button>span{grid-row:1 / 3;align-self:center;color:var(--green);font-size:.72rem;font-weight:850;text-transform:uppercase}.global-search-results button small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.notification-center-actions{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.notification-center-actions label{min-width:190px}.studio-settings__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.studio-working-days{display:grid;gap:10px;margin-top:16px;padding:0;border:0}.studio-working-days legend{width:100%;margin-bottom:6px;font-weight:800}.studio-working-days>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.studio-working-days label{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:46px;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fafbf9;cursor:pointer}.studio-working-days input{flex:0 0 auto;width:19px;min-height:19px;margin:0;accent-color:var(--green)}.studio-working-days label span{min-width:0;font-size:.82rem;text-align:center}.studio-logo-setting{display:grid;grid-template-columns:1fr 110px;align-items:end;gap:16px}.studio-logo-setting img{width:110px;height:74px;object-fit:contain;border:1px solid var(--line);border-radius:12px}.settings-links{display:flex;flex-wrap:wrap;gap:10px}.notification-bell{position:relative}.notification-bell__button{border:1px solid var(--line);background:#fff;box-shadow:0 7px 22px #193e3a17}.notification-bell__badge{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#b53b3b;color:#fff;font-size:.68rem;font-weight:900}.notification-panel-backdrop{position:fixed;z-index:39;inset:0;border:0;background:#0c24212e;cursor:default}.notification-panel{position:fixed;z-index:40;top:72px;right:20px;display:flex;flex-direction:column;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 92px);overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 24px 70px #0c24213d}.notification-panel>header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.notification-panel>header>div{display:grid}.notification-panel>header span{color:var(--muted);font-size:.78rem}.notification-panel__toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f7f9f8}.notification-panel__toolbar .button{min-height:36px;padding:5px 8px;font-size:.76rem}.notification-panel__list{overflow-y:auto}.notification-panel__section-title{padding:12px 16px 7px;color:var(--muted);font-size:.74rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.notification-panel__empty{display:grid;place-items:center;gap:5px;min-height:240px;padding:28px;color:var(--muted);text-align:center}.notification-item{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:14px 16px;border-bottom:1px solid #edf1ef}.notification-item--unread{background:#f3f8f6}.notification-item__priority{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf2f4;color:#477084}.notification-item--attention .notification-item__priority{background:#fff0d8;color:#8b5d19}.notification-item--urgent .notification-item__priority{background:#ffe5e5;color:#a43a3a}.notification-item>div>header{display:grid;grid-template-columns:1fr auto;gap:8px}.notification-item time{color:var(--muted);font-size:.68rem;white-space:nowrap}.notification-item p{margin:5px 0 9px;color:var(--muted);font-size:.82rem;line-height:1.45}.notification-item footer{display:flex;flex-wrap:wrap;gap:8px}.notification-item footer button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--green);cursor:pointer;font-size:.7rem;font-weight:800}.communication-sections{display:flex;gap:8px;margin-bottom:20px;padding:6px;border:1px solid var(--line);border-radius:15px;background:#fff}.communication-section{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 14px;border:0;border-radius:11px;background:transparent;color:var(--muted);cursor:pointer;font-weight:850}.communication-section--active{background:var(--green);color:#fff}.notification-page-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:20px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.notification-page-filters .segmented{grid-column:1 / -1;justify-self:start}.notification-page-list{display:grid;gap:11px}.notification-page-card{padding:18px;border:1px solid var(--line);border-left:5px solid #6e8ca0;border-radius:16px;background:#fff}.notification-page-card--attention{border-left-color:#c3832d}.notification-page-card--urgent{border-left-color:#b43f3f}.notification-page-card--unread{background:#f4f9f7;box-shadow:0 8px 24px #193e3a0f}.notification-page-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.notification-page-card>header>div{display:grid;gap:3px}.notification-page-card>header span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.notification-page-card time{color:var(--muted);font-size:.76rem;white-space:nowrap}.notification-page-card>p{margin:10px 0 14px;color:var(--muted)}.notification-page-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.notification-page-card>footer>span{color:var(--muted);font-size:.76rem}.notification-page-card>footer>div{display:flex;flex-wrap:wrap;gap:9px}.notification-page-card>footer button{display:inline-flex;align-items:center;gap:5px;padding:5px;border:0;background:transparent;color:var(--green);cursor:pointer;font-size:.76rem;font-weight:800}.notification-settings{display:grid;gap:18px}.notification-settings>section{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.notification-settings>section>header{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.notification-settings>section>header>svg{color:var(--green)}.notification-settings h2{margin:0 0 4px}.notification-settings header p{margin:0;color:var(--muted)}.notification-settings__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.notification-settings__actions .button{min-height:38px;padding:7px 10px;font-size:.8rem}.notification-settings__groups{display:grid;gap:16px}.notification-settings__group{display:grid;gap:9px;padding-top:2px}.notification-settings__group h3,.notification-settings__deadline h3{margin:0;font-size:.94rem}.notification-settings__types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.notification-setting-toggle{display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fafbf9}.notification-setting-toggle>span{display:grid}.notification-setting-toggle input{width:22px;min-height:22px;accent-color:var(--green)}.notification-settings__deadline{display:grid;gap:12px;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}.notification-settings__deadline>div>p{margin:4px 0 0;color:var(--muted);font-size:.85rem}.notification-settings__timing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.studio-request--focused{border-color:var(--clay)!important;box-shadow:0 0 0 3px #b7653e2e}.table-row--focused{background:#fff4eb;box-shadow:inset 4px 0 var(--clay)}.dashboard-filters{display:grid;grid-template-columns:auto repeat(3,minmax(150px,1fr));align-items:end;gap:12px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}.dashboard-filters>div{display:flex;align-items:center;align-self:center;gap:8px;padding-right:8px;color:var(--green)}.dashboard-filters label{font-size:.76rem}.dashboard-filters select{min-height:42px}.dashboard-metrics .operation-card{width:100%;color:var(--ink);cursor:pointer;text-align:left}.dashboard-metrics .operation-card small{display:flex;align-items:center;gap:3px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);align-items:start;gap:18px;margin-top:20px}.dashboard-layout__primary,.dashboard-layout__secondary{display:grid;gap:18px;min-width:0}.dashboard-layout .studio-requests-panel{margin-top:0}.dashboard-section{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 28px #193e3a0a}.dashboard-section>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:19px 21px;cursor:pointer;list-style:none}.dashboard-section>summary::-webkit-details-marker{display:none}.dashboard-section>summary>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--green-soft);color:var(--green)}.dashboard-section>summary h2{margin:0 0 3px;font-size:1.05rem}.dashboard-section>summary p{margin:0;color:var(--muted);font-size:.78rem}.dashboard-section>summary>strong{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#edf2f0;color:var(--green)}.dashboard-section__chevron{color:var(--muted);transition:transform .18s}.dashboard-section[open] .dashboard-section__chevron{transform:rotate(90deg)}.dashboard-section__body{padding:0 21px 21px;border-top:1px solid #edf1ef}.dashboard-section__footer{display:flex;justify-content:flex-end;margin-top:14px}.dashboard-mini-metrics,.dashboard-outcomes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px 0}.dashboard-mini-metrics span,.dashboard-outcomes span{display:grid;gap:3px;min-width:0;padding:10px;border-radius:12px;background:#f5f8f6;color:var(--muted);font-size:.7rem}.dashboard-mini-metrics strong,.dashboard-outcomes strong{color:var(--ink);font-size:1.12rem}.outcome-form{display:grid;gap:18px}.outcome-form fieldset{border:0;padding:0;margin:0}.outcome-form legend{margin-bottom:9px;font-weight:800}.outcome-communication{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);gap:12px;align-items:end}.outcome-communication>small{grid-column:1 / -1;color:var(--muted)}.outcome-summary{display:grid;gap:4px;padding:14px;border-radius:14px;background:#f5f8f6}.outcome-summary span,.outcome-summary small,.outcome-history span,.outcome-history small{color:var(--muted)}.outcome-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.outcome-history{border:1px solid var(--line);border-radius:14px;padding:12px}.outcome-history summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800}.outcome-history article{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line)}.outcome-history article:first-of-type{margin-top:10px}.attendance-filters{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}.attendance-filters summary{display:flex;align-items:center;gap:8px;padding:15px 18px;cursor:pointer;font-weight:800}.attendance-filters[open] summary svg{transform:rotate(180deg)}.attendance-filters>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 18px}.attendance-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:18px 0}.attendance-metrics article{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.attendance-metrics strong{font-size:1.45rem}.attendance-metrics span{color:var(--muted);font-size:.78rem}.attendance-top{padding:16px;margin-bottom:18px;border-radius:18px;background:#f5f8f6}.attendance-top h2{margin:0 0 10px;font-size:1rem}.attendance-top>div{display:flex;flex-wrap:wrap;gap:8px}.attendance-top button{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink)}.attendance-list{display:grid;gap:10px}.attendance-list>article{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(280px,auto) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.attendance-list__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff1eb;color:#a34d2c}.attendance-list article>div{display:grid;gap:3px}.attendance-list article>div span,.attendance-list article>div small,.attendance-list article>div p{color:var(--muted);margin:0}.attendance-list dl{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px;margin:0}.attendance-list dl div{display:grid;gap:2px}.attendance-list dt{color:var(--muted);font-size:.7rem}.attendance-list dd{margin:0;font-size:.8rem;font-weight:800}.attendance-formula{display:flex;gap:9px;align-items:flex-start;padding:14px;border-radius:14px;background:#eef6f3;color:var(--muted);font-size:.82rem}.lesson-record__privacy{display:flex;gap:12px;align-items:center;padding:13px 16px;border-radius:14px;background:#fff7e8;color:#704f14}.lesson-record__privacy span{font-size:.88rem}.lesson-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:8px}.lesson-checkbox-grid label{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer}.lesson-checkbox-grid input{flex:0 0 auto;width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--green)}.lesson-tag-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.lesson-tag-list li{padding:7px 11px;border-radius:999px;background:#edf5f3;color:var(--primary);font-weight:700;font-size:.82rem}.lesson-indicators{display:grid;grid-template-columns:1fr;gap:8px}.lesson-indicators fieldset{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);align-items:center;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:14px}.lesson-indicators legend{padding:0;font-weight:800}.lesson-indicators fieldset>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.lesson-indicator{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:40px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;color:var(--ink);font-size:.84rem;line-height:1.2;text-align:center}.lesson-indicator input{flex:0 0 auto;width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--green)}.lesson-indicator span{min-width:0;font-weight:750}.lesson-indicator:focus-within{outline:3px solid rgb(47 111 104 / 30%);outline-offset:2px}.lesson-indicator--selected{border-color:var(--primary);background:#e8f3f0;color:var(--primary);font-weight:700}.lesson-next-reminder{display:flex;gap:9px;padding:12px;margin-bottom:10px;border-radius:12px;background:#eef3fb;color:#365a84}.lesson-materials{display:grid;gap:8px}.lesson-materials article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:12px}.lesson-materials article>button:not(.icon-button){display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:0;background:none;text-align:left}.lesson-materials article strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-material-add{display:grid;gap:10px;margin-top:12px;padding:12px;border-radius:14px;background:var(--surface-alt)}.lesson-file-button{position:relative;width:fit-content;overflow:hidden}.lesson-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.lesson-link-add{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px}.lesson-record-row__flags{display:flex;flex-wrap:wrap;gap:8px}.lesson-record-row__flags span{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--primary)}.lesson-record-row__flags svg{width:14px}.family-main-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.family-main-nav a{display:inline-flex;align-items:center;gap:7px;min-height:46px;padding:9px 16px;border-radius:12px;color:var(--muted);font-weight:700;text-decoration:none}.family-main-nav a.active{background:#e7f1ef;color:var(--primary)}.family-main-nav svg{width:19px}.family-child-selector{display:flex;align-items:center;gap:10px;width:min(100%,420px);margin:0 auto 20px;font-weight:700}.family-child-selector select{flex:1}.family-diary-list{display:grid;gap:16px}.family-diary-list>article{padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.family-diary-list>article>header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.family-diary-list h2{margin:2px 0 7px}.family-diary-list details{padding:10px 0;border-top:1px solid var(--border)}.family-diary-list summary{display:flex;align-items:center;gap:7px;min-height:42px;font-weight:800;cursor:pointer}.family-progress-indicators{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px 0;border-top:1px solid var(--border)}.family-progress-indicators div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:12px;background:var(--surface-alt)}.family-progress-indicators span{color:var(--muted);font-size:.78rem;font-weight:700}.family-progress-indicators strong{color:var(--primary);font-size:.95rem}.multiline-text{white-space:pre-wrap}.family-material-list{display:flex;flex-wrap:wrap;gap:8px}.family-material-list button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--primary)}.family-homework-groups{display:grid;gap:20px}.family-homework-groups>section>header{display:flex;align-items:center;gap:9px;margin-bottom:10px}.family-homework-groups>section>header span{margin-left:auto;padding:4px 9px;border-radius:999px;background:#e7f1ef;font-weight:800}.family-homework-groups>section>div{display:grid;gap:12px}.homework-card{padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}.homework-card--overdue{border-color:#d98879;background:#fff8f6}.homework-card>header{display:flex;justify-content:space-between;gap:12px}.homework-card h3{margin:0 0 4px}.homework-card ul{padding-left:22px}.homework-card footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.family-hero--with-action{display:flex;align-items:end;justify-content:space-between;gap:22px;max-width:none}.family-hero--with-action>div{max-width:700px}.family-hero--with-action>div>p:last-child{color:var(--muted);line-height:1.65}.school-diary-groups{display:grid;gap:26px}.school-diary-groups>section>header,.school-diary-staff-list>header{display:flex;align-items:center;gap:9px;margin-bottom:11px}.school-diary-groups>section>header h2,.school-diary-staff-list>header h2{margin:0}.school-diary-groups>section>header span{margin-left:auto;padding:4px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:850}.school-diary-groups>section>div,.school-diary-staff-list>div,.school-diary-history>div{display:grid;gap:13px}.school-diary-history{padding:16px;border:1px solid var(--line);border-radius:17px;background:#fff9}.school-diary-history>summary{min-height:42px;color:var(--green);cursor:pointer;font-weight:850}.school-diary-history>div{padding-top:12px}.school-diary-card{display:grid;gap:13px;padding:19px;border:1px solid var(--line);border-left:6px solid #6f8a84;border-radius:17px;background:#fff;box-shadow:0 8px 24px #193e3a0d}.school-diary-card--homework{border-left-color:#42658f}.school-diary-card--oral_test{border-left-color:#a15f35}.school-diary-card--written_test{border-left-color:#76558f}.school-diary-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.school-diary-card>header>div{display:grid;min-width:0}.school-diary-card__student{margin-bottom:6px;color:var(--green);font-size:.94rem}.school-diary-card__kind{color:var(--muted);font-size:.76rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.school-diary-card h3{margin:5px 0 0;overflow-wrap:anywhere;font-size:1.05rem;white-space:pre-wrap}.school-diary-card time{flex:0 0 auto;color:var(--muted);font-size:.8rem;font-weight:750;text-align:right}.school-diary-status{display:inline-flex;align-items:center;gap:6px;justify-self:start}.school-diary-status svg{width:16px;height:16px}.school-diary-status--completed{background:#e3f1e9;color:#247149}.school-diary-status--todo{background:#eef2f7;color:#42658f}.school-diary-card__audit{display:grid;gap:2px;padding:11px 13px;border-radius:11px;background:#f6f8f6}.school-diary-card__audit strong{color:var(--green);font-size:.78rem}.school-diary-card__audit span{color:var(--muted);font-size:.75rem}.school-diary-card>footer{display:flex;flex-wrap:wrap;gap:8px}.school-diary-card>footer .button{min-height:40px;padding:7px 12px;font-size:.78rem}.school-diary-card>footer svg{width:16px}.school-diary-filters{display:grid;grid-template-columns:1.2fr repeat(4,minmax(130px,.8fr)) auto;align-items:end;gap:12px;margin-bottom:24px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.school-diary-filters__title{display:flex;align-items:center;gap:8px;grid-column:1 / -1}.school-diary-filters>span{grid-column:1 / -1;color:var(--muted);font-size:.8rem;font-weight:800}.school-diary-modal textarea{resize:vertical}@media(max-width:760px){.auth-layout--registration{grid-template-columns:1fr}.auth-card--registration{width:100%}.registration-child{padding:16px 14px}.registration-child .form-grid{grid-template-columns:1fr}.registration-child .form-span{grid-column:auto}.desktop-global-search{display:none}.mobile-global-search{display:block;margin-left:auto}.mobile-global-search .global-search-trigger{width:44px;min-height:44px;height:44px}.global-search-trigger{justify-content:center;width:44px;height:42px;padding:0}.global-search-trigger span,.global-search-trigger kbd{display:none}.global-search-backdrop{padding:0;align-items:stretch}.global-search-dialog{width:100%;max-height:100dvh;border:0;border-radius:0}.global-search-results{max-height:calc(100dvh - 70px)}.global-search-results button{grid-template-columns:80px minmax(0,1fr)}.notification-center-actions{align-items:stretch;flex-direction:column}.notification-center-actions label,.notification-center-actions .button{width:100%}.studio-settings__grid,.studio-logo-setting{grid-template-columns:1fr}.studio-logo-setting img{width:100%;max-width:180px}.studio-working-days>div{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-record-modal{width:min(calc(100vw - 20px),820px);height:min(92dvh,900px);max-height:min(92dvh,900px)}.lesson-record-modal .modal__header,.lesson-record-modal .modal__footer{padding-inline:16px}.lesson-record-modal .modal__body{padding:14px 8px 30px 16px}.guardian-form-modal{width:min(calc(100vw - 20px),720px)}.guardian-form-modal .modal__header,.guardian-form-modal .modal__footer{padding-inline:16px}.guardian-form-modal .modal__body{padding:16px 8px 28px 16px}.lesson-record__actions .button{flex:1 1 132px;justify-content:center}.lesson-checkbox-grid,.lesson-indicators,.lesson-link-add,.family-progress-indicators{grid-template-columns:1fr}.lesson-indicators fieldset{grid-template-columns:1fr;gap:8px;padding:10px}.lesson-record__section{padding:14px}.lesson-record__section>header{align-items:flex-start}.lesson-materials article{grid-template-columns:auto minmax(0,1fr) auto}.lesson-materials article select{grid-column:2 / -1;width:100%}.family-main-nav{bottom:0;top:auto;position:fixed;inset-inline:0;padding-bottom:max(10px,env(safe-area-inset-bottom))}.family-main-nav a{flex:1;flex-direction:column;gap:2px;padding:5px;font-size:.75rem}.family-content{padding-bottom:88px}.family-diary-list>article,.homework-card,.school-diary-card{padding:14px}.homework-card>header{flex-direction:column}.homework-card footer .button{width:100%;justify-content:center}.family-hero--with-action,.school-diary-card>header{align-items:stretch;flex-direction:column}.family-hero--with-action .button,.school-diary-card>footer .button{width:100%}.school-diary-card time{text-align:left}.school-diary-filters{grid-template-columns:1fr}.school-diary-filters__title,.school-diary-filters>span{grid-column:auto}}@media(min-width:761px)and (max-width:1180px){.school-diary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.school-diary-filters__title,.school-diary-filters>span{grid-column:1 / -1}}.student-attendance-link{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f5f8f6;color:var(--ink);text-align:left}.student-attendance-link span{display:grid;gap:2px;flex:1}.student-attendance-link small{color:var(--muted)}.student-school-meetings-link{background:#eef7f7}.school-meeting-fields{display:grid;gap:14px;padding:16px;border:1px solid #b8d8da;border-radius:16px;background:#f3fafa}.school-meeting-fields fieldset{min-width:0;margin:0;padding:0;border:0}.school-meeting-fields fieldset>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.school-meeting-fields small{color:var(--muted)}.school-meeting-history{display:grid;gap:10px}.school-meeting-history article{display:grid;grid-template-columns:minmax(125px,.55fr) minmax(0,1.45fr) auto;gap:14px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.school-meeting-history article>div{display:grid;gap:3px;min-width:0}.school-meeting-history span,.school-meeting-history p{margin:0;color:var(--muted)}.student-attendance-period{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-metrics--student{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-appointment-list{display:grid}.dashboard-appointment-list>article{display:grid;grid-template-columns:70px 10px minmax(180px,1fr) auto;align-items:center;gap:11px;padding:14px 0;border-top:1px solid #edf1ef}.dashboard-appointment-list>article:first-child{border-top:0}.dashboard-appointment-time,.dashboard-appointment-main{display:grid;min-width:0}.dashboard-appointment-time strong{font-size:1.05rem}.dashboard-appointment-time small,.dashboard-appointment-main small,.dashboard-appointment-main span{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-appointment-main small{display:flex;align-items:center;gap:4px;margin-top:4px}.dashboard-appointment-marker{width:9px;height:38px;border-radius:999px;background:var(--appointment-accent)}.dashboard-appointment-marker.appointment-appearance--combined{background:linear-gradient(to bottom,var(--appointment-accent) 0 50%,var(--appointment-accent-secondary) 50% 100%)}.dashboard-appointment-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--green)}.dashboard-row-actions{grid-column:3 / -1;display:flex;flex-wrap:wrap;gap:12px}.dashboard-row-actions button{padding:0;border:0;background:transparent;color:var(--green);cursor:pointer;font-size:.72rem;font-weight:850}.dashboard-compact-list{display:grid}.dashboard-compact-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #edf1ef}.dashboard-compact-list article:last-child{border-bottom:0}.dashboard-compact-list article>div{display:grid;min-width:0}.dashboard-compact-list span,.dashboard-compact-list small{color:var(--muted);font-size:.76rem}.dashboard-week-grid{display:grid;gap:12px;padding-top:16px}.dashboard-week-card{padding:17px;border:1px solid var(--line);border-left:5px solid #839591;border-radius:15px;background:#fafbf9}.dashboard-week-card--ready{border-left-color:#247149}.dashboard-week-card--preparing{border-left-color:#c3832d}.dashboard-week-card--sent,.dashboard-week-card--partially_viewed{border-left-color:#42658f}.dashboard-week-card--fully_viewed{border-left-color:#247149;background:#f3faf6}.dashboard-week-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-week-card>header>div{display:grid}.dashboard-week-card>header span:first-child{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.dashboard-week-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:13px 0}.dashboard-week-metrics span{display:grid;padding:8px;border-radius:9px;background:#fff;color:var(--muted);font-size:.66rem}.dashboard-week-metrics strong{color:var(--ink);font-size:1rem}.dashboard-week-card footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-week-card footer .button{min-height:38px;padding:7px 10px;font-size:.72rem}.dashboard-family-view-list{display:grid}.dashboard-family-view-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.dashboard-family-view-list article>div{display:grid}.dashboard-family-view-list span,.dashboard-family-view-list small{color:var(--muted);font-size:.76rem}.dashboard-view-state{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff0e2;color:#a85f32}.dashboard-view-state--partial{background:#e8eef6;color:#42658f}.dashboard-view-state--complete{background:#e3f1e9;color:#247149}.dashboard-issue-list{display:grid;padding-top:8px}.dashboard-issue-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:12px 0;border-bottom:1px solid #edf1ef;color:#9b5d24}.dashboard-issue-list article>div{display:grid;color:var(--ink)}.dashboard-issue-list article span{color:var(--muted);font-size:.74rem}.dashboard-issue-list article .button{grid-column:2;justify-self:start;min-height:34px;padding:5px 9px;font-size:.7rem}.dashboard-notification-list{display:grid;padding-top:8px}.dashboard-notification-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:12px 0;border:0;border-bottom:1px solid #edf1ef;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.dashboard-notification-list>button>div{display:grid;min-width:0}.dashboard-notification-list span,.dashboard-notification-list time{color:var(--muted);font-size:.68rem}.dashboard-priority{width:8px;height:34px;border-radius:999px;background:#6e8ca0}.dashboard-priority--attention{background:#c3832d}.dashboard-priority--urgent{background:#b43f3f}.dashboard-empty{display:flex;align-items:center;justify-content:center;gap:9px;min-height:92px;color:var(--muted);text-align:center}.dashboard-empty--positive{color:#247149}.next-appointment-panel>div{flex:1;min-width:0}.next-appointment-panel small{color:#c5d8d4}.next-appointment-panel .button--secondary{border-color:#ffffff59;background:#ffffff1f;color:#fff}@media(pointer:coarse){.agenda-resize-handle{height:25px;padding-bottom:6px}.agenda-resize-handle span{width:34px;height:4px}.month-day__number{width:40px;height:40px}}@media(max-width:1050px){.card-grid,.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{grid-template-columns:1fr}.auth-intro{display:none}.operations-grid,.agenda-filters__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-filters__fields .service-type-selector{grid-column:1 / -1}.agenda-filters__reset{justify-self:start}.week-review__metrics,.lesson-record-filters,.notification-page-filters,.notification-settings__timing{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:1fr}.dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters>div{grid-column:1 / -1}}@media(min-width:761px)and (max-width:1100px){.sidebar{width:88px;padding-right:10px;padding-left:10px}.sidebar__brand{justify-content:center;padding-right:0;padding-left:0}.sidebar__brand>div:nth-child(2),.nav-link__label,.sidebar__profile>div{display:none}.sidebar__brand .brand-mark{width:54px;height:54px}.nav-link{justify-content:center;padding-right:10px;padding-left:10px}.sidebar__profile{grid-template-columns:1fr;justify-items:center;padding-right:0;padding-left:0}.avatar{width:44px;height:44px}.main-content{margin-left:88px}}@media(max-width:760px){.app-shell{display:flex;height:100dvh;min-height:0;flex-direction:column;overflow:hidden}.mobile-header{position:relative;z-index:15;display:flex;flex:0 0 calc(60px + env(safe-area-inset-top));align-items:center;gap:8px;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#f7f4edeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-header>.icon-button,.notification-bell--mobile .notification-bell__button{width:44px;min-width:44px;min-height:44px;height:44px}.mobile-brand{overflow:hidden;min-width:0;font-size:.88rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.notification-bell--mobile{margin-left:0}.desktop-notification{display:none}.mobile-logo{display:grid;width:34px;height:34px;border-radius:10px;font-size:.72rem}.sidebar{transform:translate(-105%);width:min(88vw,320px);transition:transform .2s ease}.sidebar--open{transform:translate(0)}.sidebar__close{display:inline-grid!important;margin-left:auto}.menu-backdrop{position:fixed;z-index:19;inset:0;display:block;width:100%;border:0;background:#0a1f1d7f}.main-content{min-height:0;margin-left:0;overflow-y:auto;overscroll-behavior-y:contain}input,select,textarea{font-size:16px}.modal{width:min(calc(100vw - 24px),720px);max-width:calc(100vw - 24px);max-height:min(90dvh,860px)}.page{width:100%;max-width:100%;padding:20px 16px calc(32px + env(safe-area-inset-bottom))}.page-header{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:18px}.page-header__actions .button,.button-row,.button-row .button{width:100%}.section-grid,.card-grid,.room-grid,.form-grid,.operations-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.section-card{min-height:120px;padding:20px}.person-card>p{min-height:auto}.person-card--student-summary{min-height:0}.student-details-modal{width:min(calc(100vw - 24px),860px);max-height:90dvh}.student-details-modal .modal__header{padding:16px 18px}.student-details-modal .modal__body{max-height:calc(90dvh - 72px);padding:16px 10px 24px 18px}.student-details-modal .student-detail-sheet{padding-right:6px;gap:14px}.student-details-modal .student-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-section>header{align-items:stretch;flex-direction:column}.student-detail-section>header .button{width:100%}.student-detail-records>button{grid-template-columns:minmax(0,1fr) auto}.student-detail-records>button>svg{display:none}.student-filter-notice{align-items:stretch;flex-direction:column}.student-filter-notice .button{width:100%}.student-family-card>div{align-items:stretch;flex-direction:column}.student-family-card .button{width:100%}.lesson-record-filters{grid-template-columns:1fr;gap:10px;padding:15px}.lesson-record-filters__heading{align-items:flex-start;flex-direction:column;gap:8px}.lesson-record-filters__checkbox,.lesson-record-filters__reset{justify-self:stretch;width:100%}.lesson-record-filters__reset{min-height:42px}.lesson-record-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px}.lesson-record-row__meta{grid-column:2 / -1;justify-items:start;grid-auto-flow:column;justify-content:start;gap:9px}.lesson-record-row>svg{display:none}.publication-success li{align-items:flex-start;flex-direction:column;gap:4px}.publication-success li strong{text-align:left}.family-week-toolbar,.family-week-navigation{align-items:stretch;flex-direction:column}.family-week-navigation label{min-width:0;width:100%}.family-view-progress{grid-template-columns:auto auto;justify-content:center;gap:5px}.family-appointment__actions,.family-options__actions,.studio-request-list article>footer{align-items:stretch;flex-direction:column}.family-appointment__actions .button,.family-options__actions .button,.studio-request-list article>footer .button{width:100%}.studio-request-list dl,.availability-row>div{grid-template-columns:1fr}.date-picker__dialog{width:min(calc(100% - 32px),420px);max-height:calc(100dvh - 32px);border-radius:19px}.date-picker__header{grid-template-columns:46px minmax(0,1fr) 46px;gap:8px;padding:14px}.date-picker__navigation{width:46px;height:46px;border-radius:12px}.date-picker__header strong{font-size:1.08rem}.date-picker__weekdays{padding:12px 12px 6px}.date-picker__weekdays span{font-size:.7rem}.date-picker__days{gap:2px;padding:0 12px 12px}.date-picker__day{min-height:42px;border-radius:11px;font-size:.95rem}.date-picker__footer{flex-wrap:wrap;padding:12px}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{padding:12px 16px;border-bottom:1px solid var(--line)}.responsive-table tr:last-child{border-bottom:0}.responsive-table td{display:grid;grid-template-columns:120px 1fr;padding:8px 0;border:0}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.responsive-table td:not([data-label]){display:flex;justify-content:flex-end}.guardians-table{min-width:0}.responsive-table td.guardians-table__actions{display:grid;grid-template-columns:120px 1fr;padding:8px 0}.guardians-table__actions .icon-button{justify-self:start}.link-row{grid-template-columns:1fr;align-items:start}.link-add{align-items:stretch;flex-direction:column}.guardian-linked-students>article,.guardian-link-add{grid-template-columns:1fr;align-items:stretch}.guardian-linked-students .button,.guardian-link-add .button,.guardian-account-status .button{width:100%}.operator-technical-details header{flex-direction:column}.operator-technical-details .button{width:100%}.timeline-card header{flex-direction:column;gap:5px}.agenda-toolbar{grid-template-columns:1fr auto}.agenda-toolbar h2{grid-column:1 / -1;grid-row:1;text-align:left}.agenda-filters__heading{align-items:flex-start;flex-direction:column;gap:5px}.page--agenda{display:block;height:auto;min-height:0;padding-top:20px;padding-bottom:calc(108px + env(safe-area-inset-bottom));overflow:visible}.page--agenda .page-header{margin-bottom:14px}.page--agenda .page-header__actions .agenda-header-create{display:none}.agenda-toolbar{gap:8px;margin-bottom:10px}.agenda-toolbar h2{font-size:.98rem}.agenda-filters{margin-bottom:10px;padding:10px}.agenda-filters__fields{grid-template-columns:1fr;gap:8px}.agenda-filters__fields .service-type-selector{grid-column:auto}.agenda-filters__reset{justify-self:start;width:auto}.appointment-color-legend{align-items:flex-start;gap:5px 10px;margin-bottom:10px;padding:8px 10px}.appointment-color-legend strong{flex-basis:100%}.agenda-calendar--week{width:760px;min-width:760px}.agenda-overflow-panel{width:min(100%,390px);padding:18px 16px}.agenda-overflow-row{grid-template-columns:7px minmax(0,1fr)}.agenda-overflow-row time{grid-column:2}.segmented{grid-column:1}.agenda-navigation{grid-column:2}.delete-confirm{align-items:stretch;flex-direction:column}.agenda-scroll{margin-bottom:76px}.agenda-fab{position:fixed;z-index:12;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));display:inline-flex;min-height:48px;padding-inline:16px;box-shadow:0 12px 32px #193e3a47}.appointment-actions__summary{align-items:flex-start;flex-direction:column}.recurrence-slot{grid-template-columns:1fr 1fr}.recurrence-slot>strong{grid-column:1 / -1}.recurrence-conflicts>div{align-items:stretch;flex-direction:column}.duplicate-week-item{grid-template-columns:repeat(2,minmax(0,1fr))}.service-type-selector>div{grid-template-columns:1fr}.review-issue>div,.family-week-toolbar,.family-appointments article>footer{align-items:stretch;flex-direction:column}.family-week-toolbar .button{width:100%}.family-appointments footer small{text-align:left}.family-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.family-history-item{grid-template-columns:auto minmax(0,1fr) auto}.family-history-item__service,.family-history-item__operator{grid-column:2}.month-calendar{overflow-x:auto}.month-weekdays,.month-grid{min-width:840px}.lesson-record-filters{grid-template-columns:1fr}.lesson-record-filters__title{grid-column:auto}.lesson-record-filters__count{justify-self:start}.lesson-record-row{grid-template-columns:auto minmax(0,1fr) auto}.lesson-record-row__meta{grid-column:2 / -1;grid-row:2;align-items:start;justify-items:start}.family-lesson-records article>div{grid-template-columns:1fr}.notification-panel{inset:70px 8px 8px;width:auto;max-height:none;border-radius:18px}.notification-page-filters,.notification-settings__timing{grid-template-columns:1fr}.studio-working-days>div{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-settings>section>header{flex-wrap:wrap}.notification-settings__actions{width:100%;margin-left:0}.notification-settings__actions .button{flex:1 1 150px}.notification-page-filters .segmented{grid-column:auto;width:100%}.notification-page-card>header,.notification-page-card>footer{align-items:flex-start;flex-direction:column}.notification-settings__types{grid-template-columns:1fr}.dashboard-page .page-header h1{margin-bottom:4px;font-size:clamp(1.7rem,8vw,2rem);line-height:1.05}.dashboard-page .page-header .eyebrow{margin-bottom:5px;font-size:.68rem}.dashboard-page .page-header p:last-child{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.88rem;line-height:1.4}.dashboard-page .page-header__actions{width:100%}.dashboard-page .page-header__actions .button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:12px 16px}.dashboard-page .page-header__actions .button svg{width:19px;height:19px}.dashboard-filters{grid-template-columns:1fr;gap:9px;margin-bottom:14px;padding:12px;border-radius:15px}.dashboard-filters>div{grid-column:auto;padding:0;font-size:.9rem}.dashboard-filters label{gap:5px;font-size:.72rem}.dashboard-filters select{min-height:44px;font-size:16px}.dashboard-metrics{gap:12px}.dashboard-metrics .operation-card{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:88px;padding:14px;border-radius:16px}.dashboard-metrics .operation-card__icon{width:34px;height:34px;border-radius:10px}.dashboard-metrics .operation-card__icon svg{width:18px;height:18px}.dashboard-metrics .operation-card>div{grid-column:2;grid-row:1;gap:1px}.dashboard-metrics .operation-card span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.76rem;line-height:1.2}.dashboard-metrics .operation-card strong{margin:2px 0 0;font-size:1.55rem}.dashboard-metrics .operation-card small{grid-column:3;grid-row:1;align-self:center;padding:5px 0;font-size:0}.dashboard-metrics .operation-card small svg{width:17px;height:17px}.next-appointment-panel{align-items:flex-start;flex-direction:column}.next-appointment-panel .button{width:100%}.dashboard-section>summary{grid-template-columns:auto minmax(0,1fr) auto;padding:16px}.dashboard-section>summary>strong{grid-column:3;grid-row:1}.dashboard-section__chevron{grid-column:3;grid-row:2}.dashboard-section__body{padding:0 16px 16px}.dashboard-mini-metrics,.dashboard-outcomes,.dashboard-week-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-appointment-list>article{grid-template-columns:58px 8px minmax(0,1fr);align-items:start}.dashboard-appointment-status{grid-column:3;justify-content:flex-start}.dashboard-row-actions{grid-column:3}.dashboard-compact-list article{align-items:stretch;flex-direction:column}.dashboard-week-card>header{flex-direction:column}.dashboard-week-card footer .button{width:100%}.dashboard-notification-list>button{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-notification-list time{grid-column:2}.outcome-options,.student-attendance-period{grid-template-columns:1fr}.attendance-filters>div{grid-template-columns:1fr}.attendance-metrics,.attendance-metrics--student{grid-template-columns:repeat(2,minmax(0,1fr))}.school-meeting-fields fieldset>div{grid-template-columns:1fr}.school-meeting-history article{grid-template-columns:1fr}.family-school-meetings article{grid-template-columns:1fr}.attendance-list>article{grid-template-columns:auto minmax(0,1fr);align-items:start}.attendance-list dl,.attendance-list>article>button{grid-column:1 / -1}.attendance-list dl{grid-template-columns:1fr;padding-left:56px}.attendance-list>article>button{width:100%;justify-content:center}}@media(max-width:440px){.app-shell{display:block;height:auto;min-height:100dvh;overflow:visible}.mobile-header{position:relative;top:auto;flex:none;height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);transform:none;margin-top:0}.main-content{min-height:auto;overflow:visible;overscroll-behavior-y:auto}.mobile-brand{display:none}.mobile-header{gap:7px}.mobile-global-search{margin-left:auto}.card-actions,.form-actions{align-items:stretch;flex-direction:column}.form-actions--spread>div,.delete-confirm>div{align-items:stretch;flex-direction:column}.mini-details{grid-template-columns:1fr}.auth-card{padding:26px 20px}.appointment-mode,.recurrence-preview dl{display:grid;grid-template-columns:1fr}.recurrence-weekdays>div{grid-template-columns:repeat(4,1fr)}.recurrence-slot{grid-template-columns:1fr}.recurrence-slot>strong{grid-column:auto}.duplicate-week-item,.week-review__metrics{grid-template-columns:1fr}.family-header>div>span{display:none}.family-content{width:min(100% - 24px,1050px)}.family-appointments article>header,.family-appointment__details,.family-history article{align-items:flex-start;flex-direction:column}.family-history-filters,.family-history-detail dl{grid-template-columns:1fr}.family-history-item{grid-template-columns:auto minmax(0,1fr);align-items:start}.family-history-item>svg{grid-column:2;grid-row:1;justify-self:end}.family-history-item__service,.family-history-item__operator{grid-column:2}.family-week-toolbar label{min-width:0;width:100%}.lesson-record__information,.lesson-outcomes,.lesson-ratings,.lesson-record__time{grid-template-columns:1fr}.lesson-record__time>strong{justify-self:stretch;text-align:center}.lesson-record__version{align-items:stretch;flex-direction:column}.lesson-record__version .button{width:100%;margin-left:0}.lesson-record-row{grid-template-columns:auto minmax(0,1fr)}.lesson-record-row>svg{display:none}.lesson-record-row__meta{grid-column:1 / -1}.student-register-card>div>button{grid-template-columns:minmax(0,1fr) auto}.student-register-card>div>button>svg{display:none}.communication-sections{flex-direction:column}.notification-item>div>header{grid-template-columns:1fr}.notification-item time{white-space:normal}}@media(max-width:440px)and (display-mode:browser){.mobile-header{position:relative;top:auto}}@media(max-width:440px)and (display-mode:standalone){.app-shell{display:flex;height:100dvh;min-height:0;flex-direction:column;overflow:hidden}.mobile-header{position:sticky;z-index:15;top:0;flex:0 0 calc(60px + env(safe-area-inset-top,0px));height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.main-content{min-height:0;overflow-y:auto;overscroll-behavior-y:contain}}@media(max-height:620px){.auth-layout{align-items:start}.auth-card--login{margin:auto 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.tutor-main-tabs,.tutor-lessons-tabs{margin-bottom:1rem;width:fit-content}.tutor-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.tutor-card{background:var(--surface, #fff);border:1px solid var(--line, #d7e2df);border-top-width:4px;border-radius:18px;padding:1rem;display:grid;gap:.7rem}.tutor-card header{display:flex;align-items:center;gap:.75rem}.tutor-card h3,.tutor-card p{margin:0}.tutor-color{width:1rem;height:2.5rem;border-radius:999px;flex:0 0 auto}.card-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto}.tutor-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.tutor-calendar{display:grid;border:1px solid #cfddda;border-radius:18px;overflow:hidden;background:#fff}.tutor-calendar--week,.tutor-calendar--month{grid-template-columns:repeat(7,minmax(0,1fr))}.tutor-calendar--day{grid-template-columns:1fr}.tutor-calendar__day{min-width:0;min-height:150px;padding:.55rem;border-right:1px solid #e0e9e7;border-bottom:1px solid #e0e9e7}.tutor-calendar--month .tutor-calendar__day{min-height:110px}.tutor-calendar__day>header{margin-bottom:.45rem;text-transform:capitalize}.tutor-calendar__lesson{display:flex;align-items:stretch;background:#f5f9f8;border-left:4px solid;border-radius:9px;margin-bottom:.35rem;overflow:hidden}.tutor-calendar__lesson>button:first-child{min-width:0;flex:1;border:0;background:transparent;text-align:left;padding:.45rem;display:grid;gap:.1rem;cursor:pointer}.tutor-calendar__lesson strong,.tutor-calendar__lesson span,.tutor-calendar__lesson small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-calendar__lesson>.icon-button{margin:auto .2rem}.tutor-absence-requests{margin-top:1.2rem;display:grid;gap:.6rem}.tutor-absence-requests article{background:#fff9ef;border:1px solid #ead7ae;border-radius:14px;padding:.8rem;display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem}.tutor-absence-requests article div{display:grid}.tutor-absence-requests article p{grid-column:1 / -1;margin:.3rem 0 0}.tutor-shell{min-height:100dvh;background:#f5f3ec;color:#173f3a}.tutor-shell__header{min-height:76px;padding:.8rem clamp(1rem,4vw,3rem);background:#fff;border-bottom:1px solid #dce5e2;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:20}.tutor-shell__header>div:last-child{display:flex;align-items:center;gap:.7rem}.tutor-shell__nav{padding:.65rem clamp(1rem,4vw,3rem);background:#174b45}.tutor-shell__nav a{color:#fff;display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .9rem;border-radius:10px;text-decoration:none}.tutor-shell__nav a.active{background:#ffffff2b}.tutor-shell__content{max-width:1180px;margin:0 auto;padding:1.4rem clamp(1rem,4vw,3rem) 3rem}.tutor-area-heading{margin-bottom:1rem}.tutor-area-heading h1{margin:.15rem 0}.tutor-next-lesson{display:flex;align-items:center;gap:1rem;padding:1rem;margin-bottom:1rem;color:#fff;background:#1f615a;border-radius:17px;box-shadow:0 10px 24px #173f3a24}.tutor-next-lesson div{display:grid;gap:.15rem}.tutor-lesson-list,.family-tutor-list{display:grid;gap:.7rem}.tutor-lesson-list__item,.family-tutor-list>article{border:1px solid #d8e3e0;border-left:5px solid #28777a;border-radius:14px;background:#fff}.tutor-lesson-list__item{width:100%;padding:.8rem 1rem;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;text-align:left;cursor:pointer}.tutor-lesson-list__item div{display:grid;gap:.15rem}.tutor-lesson--no-show{border-left-color:#dc7600!important}.tutor-lesson--cancelled{border-left-color:#87928f!important;background:#f1f3f2!important}.tutor-lesson--completed{border-left-color:#318a62!important}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.detail-list div{border:1px solid #dce6e3;border-radius:12px;padding:.7rem}.detail-list dt{color:#62746f;font-size:.82rem}.detail-list dd{margin:.2rem 0 0;font-weight:700}.family-tutor-lessons-page{display:grid;gap:1rem}.family-tutor-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:.9rem;border:1px solid #d8e3e0;border-radius:16px;background:#fff}.family-tutor-filters label{display:grid;gap:.3rem;font-weight:700}.family-tutor-list>article{padding:.65rem;display:flex;align-items:center;gap:.7rem}.family-tutor-list__main{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.8rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.family-tutor-list__main>div{display:grid}.policy-badge{border-radius:999px;padding:.28rem .55rem;font-size:.78rem;font-weight:800;white-space:nowrap}.policy-badge--due_by_policy{color:#78420b;background:#ffead2}.policy-badge--not_due_by_policy{color:#245b45;background:#dbf1e5}.agenda-tutor-toggle{border:1px solid #d8e3e0;border-radius:12px;background:#fff;padding:.55rem .75rem;margin-bottom:.55rem}.agenda-tutor-toggle>label{display:inline-flex;align-items:center;gap:.5rem;font-weight:800}.agenda-tutor-toggle input{width:1rem;height:1rem}.agenda-tutor-overlay{display:flex;gap:.45rem;overflow-x:auto;padding-top:.5rem}.agenda-tutor-overlay>button{flex:0 0 auto;max-width:320px;border:1px solid #cadbd7;border-left:4px solid #28777a;border-radius:9px;background:#f5f9f8;color:inherit;padding:.4rem .6rem;text-align:left;display:grid;cursor:pointer}.agenda-tutor-overlay span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.tutor-calendar--week,.tutor-calendar--month{overflow-x:auto;grid-template-columns:repeat(7,minmax(150px,1fr))}.family-tutor-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.family-tutor-list__main{grid-template-columns:minmax(0,1fr) auto}.family-tutor-list__main>.status,.family-tutor-list__main>.policy-badge{justify-self:start}}@media(max-width:620px){.tutor-shell__header>div:last-child>span{display:none}.tutor-lesson-list__item{grid-template-columns:1fr;gap:.35rem}.family-tutor-filters{grid-template-columns:1fr}.family-tutor-list>article{align-items:stretch;flex-direction:column}.family-tutor-list__main,.detail-list{grid-template-columns:1fr}}.auth-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin:0 0 18px;border:1px solid var(--line, #d9e1df);border-radius:12px;background:#f5f8f7}.auth-mode-toggle button{min-height:42px;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.auth-mode-toggle button.is-active{background:var(--green, #20594f);color:#fff}.credential-box{display:grid;gap:6px;padding:14px;border-radius:12px;background:#f4f7f6}.credential-box code{overflow-wrap:anywhere;font-size:1rem}img,svg,video,canvas{max-width:100%}html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}.page,.panel,.table-panel,.modal,.modal__body,.main-content,.family-content,.tutor-shell__content{min-width:0}.modal{display:grid;grid-template-rows:max-content minmax(0,1fr) max-content}.modal__header,.modal__footer{position:relative;z-index:2;flex:0 0 auto;background:var(--paper)}.modal__body{min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}.modal__footer{padding:14px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}@media(max-width:1024px){.page:not(.page--agenda){padding:32px clamp(22px,4vw,42px) 48px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-table{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.guardians-table{min-width:940px}.school-diary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.school-diary-filters__title,.school-diary-filters>span{grid-column:1 / -1}.tutor-calendar-toolbar{align-items:stretch}.tutor-calendar-toolbar>*{min-width:0}}@media(max-width:760px){html,body,#root{width:100%;max-width:100%;overflow-x:clip}body{min-height:100dvh}.app-shell,.main-content,.page,.family-page,.family-content,.tutor-shell,.tutor-shell__content{max-width:100%}.page:not(.page--agenda){width:100%;padding:22px 16px calc(88px + env(safe-area-inset-bottom))}.page-header{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:22px}.page-header>div:first-child{max-width:100%}.page-header h1{overflow-wrap:anywhere;font-size:clamp(1.75rem,8vw,2.25rem);line-height:1.08}.page-header__actions,.button-row{width:100%}.page-header__actions>.button,.button-row>.button{flex:1 1 180px}.sidebar{top:0;bottom:0;display:flex;width:min(88vw,320px);max-width:calc(100vw - 24px);height:100dvh;max-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));overflow:hidden}.sidebar__brand{flex:0 0 auto;padding:0 6px 18px}.sidebar__nav{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.sidebar__profile{flex:0 0 auto;padding-bottom:max(2px,env(safe-area-inset-bottom))}.menu-backdrop{height:100dvh}.icon-button,.modal__header .icon-button,.sidebar__close,.family-header .icon-button,.tutor-shell__header .icon-button{min-width:44px;width:44px;min-height:44px;height:44px}button,a,summary,input,select,textarea{touch-action:manipulation}input,select,textarea{max-width:100%;font-size:16px}.button{min-height:44px}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid rgb(47 111 104 / 34%);outline-offset:2px}.modal{width:calc(100vw - 20px);max-width:720px;height:auto;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));margin:auto;border-radius:18px}.modal__header{padding:14px 14px 14px 16px;border-bottom:1px solid var(--line)}.modal__header h2{min-width:0;overflow-wrap:anywhere;font-size:clamp(1.08rem,5vw,1.35rem)}.modal__body{max-height:none;padding:16px 10px 24px 16px;overflow-x:hidden;overflow-y:auto}.modal__body>:last-child{margin-bottom:0}.modal__footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.modal__footer .form-actions{margin:0}.modal__body>.form-actions:last-child,.modal__body>form>.form-actions:last-child,.modal__body>.form-stack>.form-actions:last-child{position:sticky;z-index:2;bottom:-24px;margin:16px -10px -24px -16px;padding:12px 10px max(12px,env(safe-area-inset-bottom)) 16px;border-top:1px solid var(--line);background:var(--paper)}.form-grid,.studio-settings__grid,.school-diary-filters,.notification-page-filters,.family-history-filters,.family-tutor-filters,.detail-list{grid-template-columns:minmax(0,1fr)}.form-span,.school-diary-filters__title,.school-diary-filters>span{grid-column:auto}.form-actions{flex-wrap:wrap}.form-actions>.button{flex:1 1 150px}.filters,.agenda-filters,.attendance-filters,.lesson-record-filters,.school-diary-filters,.family-tutor-filters,.notification-page-filters{max-width:100%;padding:13px}.filters label,.filters .date-picker-field{min-width:0;width:100%}.card-grid,.section-grid,.operations-grid,.room-grid,.dashboard-mini-metrics,.dashboard-outcomes,.dashboard-week-metrics{grid-template-columns:minmax(0,1fr)}.person-card,.section-card,.panel,.table-panel,.school-diary-card,.notification-page-card{min-width:0;overflow-wrap:anywhere}.person-card{padding:18px}.person-card--student-summary{min-height:0}.section-card{min-height:0;padding:18px}.student-detail-section>header,.guardian-modal-section>header,.school-diary-card>header,.homework-card>header{align-items:flex-start;flex-direction:column}.student-detail-section>header .button{width:100%}.responsive-table{width:100%;margin-inline:0;overflow-x:auto;border-radius:inherit}.responsive-table table{min-width:680px}.responsive-table td,.responsive-table th{white-space:normal;overflow-wrap:anywhere}.responsive-table td.guardians-table__actions{grid-template-columns:96px minmax(0,1fr)}.guardians-table__actions .icon-button{min-width:44px}.global-search-backdrop{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.global-search-dialog{width:100%;height:100%;max-height:none;border-radius:16px}.global-search-results{max-height:none;min-height:0;overflow-y:auto}.notification-panel{inset:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));width:auto;max-height:none;border-radius:18px}.notification-panel__toolbar{align-items:stretch;flex-direction:column;gap:8px}.notification-panel__toolbar .button{min-height:44px}.family-header,.tutor-shell__header{min-width:0;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.family-header>div:last-child,.tutor-shell__header>div:last-child{min-width:0}.family-main-nav{justify-content:flex-start;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.family-main-nav::-webkit-scrollbar{display:none}.family-main-nav a{flex:0 0 72px;min-width:72px;min-height:52px;padding:5px 4px;text-align:center}.family-content{width:calc(100% - 24px);padding-top:22px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.family-hero,.family-hero--with-action{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:20px}.family-hero h1{font-size:clamp(1.75rem,8vw,2.35rem)}.family-hero--with-action .button{width:100%}.family-week-toolbar,.family-history-heading,.family-appointments article>header,.family-appointments article>footer,.family-appointment__details,.family-appointment__actions{align-items:stretch;flex-direction:column}.family-week-navigation{align-items:stretch;width:100%}.family-week-navigation .button{flex:1}.family-progress-indicators{grid-template-columns:minmax(0,1fr)}.family-communications-list article button{grid-template-columns:auto minmax(0,1fr)}.tutor-shell__content{width:100%;padding:20px 16px calc(32px + env(safe-area-inset-bottom))}.tutor-shell__header{min-height:64px}.tutor-shell__nav{display:flex;overflow-x:auto;padding:8px 12px}.tutor-shell__nav a{min-height:44px;white-space:nowrap}.tutor-next-lesson{align-items:flex-start}.tutor-directory,.family-tutor-filters{grid-template-columns:minmax(0,1fr)}.tutor-card,.tutor-lesson-list__item,.family-tutor-list__main{min-width:0}.tutor-calendar-toolbar>.segmented{width:100%;overflow-x:auto}.tutor-calendar{width:100%;max-width:100%}.tutor-calendar--week,.tutor-calendar--month{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));width:max-content;min-width:100%;overflow:visible}.tutor-admin-page .tutor-calendar-toolbar+.tutor-calendar,.tutor-lessons-page .tutor-calendar-toolbar+.tutor-calendar{overflow-x:auto;overscroll-behavior-inline:contain}.page--agenda{width:100%;max-width:100%;padding-right:12px;padding-left:12px}.page--agenda .page-header{align-items:stretch}.page--agenda .page-header__actions{display:grid;grid-template-columns:minmax(0,1fr)}.agenda-toolbar{grid-template-columns:minmax(0,1fr) auto;max-width:100%}.agenda-toolbar .segmented{max-width:100%;overflow-x:auto}.agenda-navigation{justify-self:end}.agenda-toolbar h2{overflow-wrap:anywhere}.agenda-filters__fields{grid-template-columns:minmax(0,1fr)}.appointment-color-legend{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.appointment-color-legend strong,.appointment-color-legend span{flex:0 0 auto}.agenda-scroll{width:100%;max-width:100%;max-height:min(66dvh,650px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.agenda-calendar--day{min-width:100%}.agenda-calendar--week{width:760px;min-width:760px}.page--agenda--month>.month-calendar,.month-calendar{width:100%;min-width:0;max-height:min(68dvh,680px);overflow-y:auto;overflow-x:hidden}.month-weekdays,.month-grid{width:100%;min-width:0}.month-weekdays span{min-width:0;padding:8px 2px;font-size:.65rem}.month-day{min-width:0;padding:3px}.month-day__number{width:24px;height:24px;margin-bottom:2px}.month-event,.month-more{padding-right:3px;padding-left:4px}.month-overflow-layer{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.month-overflow-panel{max-height:calc(100dvh - 20px)}.agenda-fab{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}.lesson-checkbox-grid,.lesson-indicators fieldset,.lesson-materials article,.lesson-link-add{grid-template-columns:minmax(0,1fr)}.lesson-indicators fieldset>div{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-materials article>.icon-button{justify-self:start}.attendance-metrics,.attendance-metrics--student{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-list dl{padding-left:0}.communication-sections{overflow-x:auto;flex-direction:row}.communication-section{flex:0 0 auto;min-width:160px}}@media(max-width:440px)and (display-mode:browser){.family-header,.tutor-shell__header{position:relative;top:auto;transform:none;margin-top:0}}@media(max-width:440px)and (display-mode:standalone){.family-header,.tutor-shell__header{position:sticky;top:0;padding-top:max(12px,env(safe-area-inset-top))}}@media(max-width:390px){.page:not(.page--agenda){padding-right:12px;padding-left:12px}.modal{width:calc(100vw - 12px);border-radius:15px}.modal__body{padding-left:13px}.family-content{width:calc(100% - 20px)}.family-main-nav a{flex-basis:68px;min-width:68px;font-size:.68rem}.attendance-metrics,.attendance-metrics--student,.lesson-indicators fieldset>div{grid-template-columns:minmax(0,1fr)}.agenda-toolbar{grid-template-columns:minmax(0,1fr)}.agenda-navigation{justify-self:stretch}.agenda-navigation .button{flex:1}}@media(max-width:760px){.modal,.guardian-form-modal,.lesson-record-modal,.student-details-modal{max-height:min(90dvh,760px)}.guardian-form-modal,.lesson-record-modal{height:auto}.modal__header,.guardian-form-modal .modal__header,.lesson-record-modal .modal__header,.student-details-modal .modal__header{padding:12px 14px}.modal__body,.guardian-form-modal .modal__body,.lesson-record-modal .modal__body,.student-details-modal .modal__body{padding:14px 10px 18px 14px;scroll-padding-block-end:18px}.modal__footer,.guardian-form-modal .modal__footer,.lesson-record-modal .modal__footer{padding:10px 14px max(10px,env(safe-area-inset-bottom))}.form-stack,.form-grid{gap:12px}label,fieldset{gap:5px}.form-actions,.card-actions,.form-actions--spread,.form-actions--spread>div,.delete-confirm>div{align-items:center;flex-direction:row;gap:8px}.form-actions>.button,.form-actions--spread>div>.button,.delete-confirm>div>.button{flex:1 1 140px;min-height:48px;padding-block:9px}.modal__body>.form-actions:last-child,.modal__body>form>.form-actions:last-child,.modal__body>.form-stack>.form-actions:last-child{bottom:-18px;margin:12px -10px -18px -14px;padding:9px 10px max(9px,env(safe-area-inset-bottom)) 14px}.guardian-modal-section,.student-detail-section,.lesson-record__section,.lesson-material-add{gap:9px;padding:12px}.attendance-filters summary{padding:12px 14px}.attendance-filters>div{gap:9px;padding:0 14px 14px}.attendance-metrics{gap:8px;margin:12px 0}.attendance-metrics article{gap:2px;min-height:0;padding:11px;border-radius:13px}.attendance-metrics strong{font-size:1.25rem}.attendance-top{margin-bottom:12px;padding:12px;border-radius:14px}.attendance-top h2{margin-bottom:7px}.attendance-list{gap:8px}.attendance-list>article{padding:12px;border-radius:14px}.state-card{min-height:128px;padding:20px 16px;border-radius:16px}.state-card h3{margin:0 0 4px}.notification-panel__empty{min-height:144px;padding:20px 16px}.lesson-record__empty,.student-detail-empty{line-height:1.4}}@media(max-width:359px){.form-actions,.card-actions,.form-actions--spread,.form-actions--spread>div,.delete-confirm>div{align-items:stretch;flex-direction:column}.attendance-metrics,.attendance-metrics--student{grid-template-columns:minmax(0,1fr)}}@media(max-width:440px){.modal,.guardian-form-modal,.lesson-record-modal,.student-details-modal{width:calc(100vw - 12px);max-height:min(90dvh,calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom))))}.modal__header,.guardian-form-modal .modal__header,.lesson-record-modal .modal__header,.student-details-modal .modal__header{min-height:52px;padding:8px 10px 8px 12px}.modal__body,.guardian-form-modal .modal__body,.lesson-record-modal .modal__body,.student-details-modal .modal__body{min-height:0;padding:12px 8px 14px 12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:58px 78px;-webkit-overflow-scrolling:touch}.modal__footer,.guardian-form-modal .modal__footer,.lesson-record-modal .modal__footer{min-height:0;padding:2px 10px max(2px,env(safe-area-inset-bottom))}.modal :is(.form-stack,.form-grid){gap:12px}.modal :is(label,fieldset){gap:4px;margin-block:0}.modal :is(input,select){min-height:46px;font-size:16px}.modal textarea{min-height:88px;font-size:16px}.modal :is(input,select,textarea,.date-picker-field){scroll-margin-block:60px 82px}.modal :is(.form-actions,.card-actions,.lesson-record__actions),.modal .form-actions--spread,.modal .form-actions--spread>div,.modal .delete-confirm>div{align-items:center;gap:8px;margin-top:4px}.modal__footer :is(.form-actions,.lesson-record__actions)>.button,.modal__body>.form-actions:last-child>.button,.modal__body>form>.form-actions:last-child>.button,.modal__body>form>.form-actions:last-child>div>.button,.modal__body>.form-stack>.form-actions:last-child>.button,.modal .form-actions--spread>.button,.modal .form-actions--spread>div>.button,.modal .delete-confirm>div>.button{box-sizing:border-box;height:48px;min-height:48px;max-height:48px;flex:0 1 auto;align-self:center;padding:0 12px;overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.modal__footer :is(.form-actions,.lesson-record__actions){display:flex;flex-wrap:wrap;margin:0}.modal__footer :is(.form-actions,.lesson-record__actions)>.button{flex:0 1 auto}.modal__body>.form-actions:last-child,.modal__body>form>.form-actions:last-child,.modal__body>.form-stack>.form-actions:last-child{bottom:-14px;margin:10px -8px -14px -12px;padding:7px 8px max(7px,env(safe-area-inset-bottom)) 12px}}@media(max-width:359px){.modal :is(.form-actions,.card-actions,.lesson-record__actions),.modal .form-actions--spread,.modal .form-actions--spread>div,.modal .delete-confirm>div{align-items:stretch;flex-direction:column}.modal__footer :is(.form-actions,.lesson-record__actions)>.button,.modal__body>.form-actions:last-child>.button,.modal__body>form>.form-actions:last-child>.button,.modal__body>form>.form-actions:last-child>div>.button,.modal__body>.form-stack>.form-actions:last-child>.button,.modal .form-actions--spread>.button,.modal .form-actions--spread>div>.button,.modal .delete-confirm>div>.button{width:100%;flex-basis:auto}}
