/* Речь · mobile-first workspace. System typography keeps the interface native and offline. */
:root{font:100%/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#223a36;background:#f5f5f7;--accent:#176b61;--muted:#52635f;--line:#dce3df;--control:46px;--surface:#fff;--soft:#edf3f0;color-scheme:light}
html{-webkit-tap-highlight-color:transparent;scroll-padding-top:16px}
body{min-height:100dvh}
button,a,[role=button],summary{touch-action:manipulation}
button,summary,nav a{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button{font-size:.875rem;font-weight:600;min-height:46px;border-radius:10px;border-color:var(--line);padding:10px 14px;line-height:1.35}
button.primary{background:var(--accent);border-color:var(--accent);color:white}
button:active:not(:disabled),.pupil-call-link:active,nav a:active{filter:brightness(.89)}
button:disabled{opacity:.55;cursor:default}
input,textarea,select{font-size:1rem;min-height:46px;border-color:#b5c7bf;line-height:1.4;border-radius:10px;padding:11px 12px}
input[readonly]{background:#edf3f0;color:#223a36;font-weight:600}
label{font-size:.875rem;font-weight:500;gap:7px}
small{font-size:.8125rem;line-height:1.5;color:var(--muted)}
p{color:var(--muted);line-height:1.6}
h1{font-size:2rem;line-height:1.15;letter-spacing:-.03em;font-weight:700}
h2{font-size:1.1875rem;line-height:1.3;letter-spacing:-.015em;font-weight:650}
h3{font-size:1rem;line-height:1.4;font-weight:650}
::selection{background:#c4e4d8;color:#163e34}
:focus-visible{outline:3px solid #176b61;outline-offset:3px}
h1:focus,h2[tabindex]:focus{outline:none}
a,button,input,textarea,select{caret-color:var(--accent)}
body>aside{width:218px;background:#eaf0ec;border-right:1px solid var(--line);padding:32px 20px 24px}
.brand{font-size:2rem;letter-spacing:-.035em;font-weight:750;gap:10px}
.mark{height:40px;width:40px;border-radius:13px 13px 13px 4px;background:var(--accent);font-size:1.8rem;margin:0}
.brand-caption{font-size:.8125rem;margin:15px 0 32px;color:var(--muted)}
.owner{order:2;margin:auto 0 0;font-size:.875rem;font-weight:600;line-height:1.6}
.owner small{font-size:.8125rem}
.side-bottom{display:none}
nav{gap:8px}
nav a{font-size:.9375rem;font-weight:500;min-height:48px;padding:12px;border-radius:10px}
nav a.active{background:#d6e6de;color:#164c40;font-weight:650}
nav svg{height:21px;width:21px;stroke-width:1.8}
main{margin-left:218px;max-width:1620px;padding:18px 32px 28px}
.connection-status{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:#426257;min-height:28px;margin-bottom:14px}
.connection-status:empty{visibility:hidden}
.connection-status:before{content:'';height:7px;width:7px;flex-shrink:0;border-radius:50%;background:#45816a}
.connection-status[data-state=pending]:before{background:#a16916}
.connection-status[data-state=error]{color:#923b2b}
.connection-status[data-state=error]:before{background:#aa4b38}
header{margin:16px 0 28px;align-items:center;gap:16px}
#dateLabel{display:none}
.page-description{font-size:.9375rem;margin:10px 0 0;max-width:65ch}
header>.primary{font-size:.875rem;max-width:none;flex-shrink:0}
.panel,.pupils-wrap{background:var(--surface);border:0;border-radius:14px;overflow:hidden}
.panel-head{padding:20px 22px;gap:12px;border-bottom:1px solid var(--line)}
.panel-head small{font-size:.8125rem;white-space:normal}
.layout,.layout:has(.lesson),.layout:has(.today-panel){grid-template-columns:minmax(0,1fr);gap:24px}
.rail{display:block;padding:0}
.day-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin:0 0 26px}
.day-overview>h2{grid-column:1/-1;font-size:1rem;margin:0 0 10px}
.day-overview>.summary-line{display:block;border:0;padding:6px 0;font-size:.8125rem}
.day-overview>.summary-line strong{display:block;margin-top:4px;font-size:1.3125rem;font-weight:650}
.day-overview>.aside-caption{grid-column:1/-1;font-size:.8125rem;margin:8px 0 0}
.debt-link{font:inherit;color:var(--accent);border:0;background:transparent;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.day-overview .summary-line:has(.debt-link) strong{margin-top:-5px}
.today-panel>.panel-head{border:0;padding-bottom:16px}
.day-controls{display:grid;grid-template-columns:1fr 1.4fr 1fr;max-width:none;padding:0 22px 16px;margin:0;gap:8px}
.day-controls button,.date-control{min-height:44px;height:auto;font-size:.875rem;padding:9px 8px}
.date-control{border-color:var(--line);font-weight:600}
.day-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 22px 20px;border-bottom:1px solid var(--line)}
.day-week button{display:grid;justify-items:center;gap:4px;min-height:62px;min-width:0;border:0;background:var(--soft);font-size:1rem;padding:9px 2px;font-variant-numeric:tabular-nums}
.day-week small{font-size:.75rem}
.day-week .selected{background:var(--accent);color:white}
.day-week .selected small{color:white}
.lesson{position:relative;grid-template-columns:62px minmax(0,1fr);gap:16px;padding:20px 22px;background:white;border-bottom:1px solid #d8e1db;align-items:start}
.lesson>.time{display:block;font-size:1rem;font-weight:650;padding-top:2px;line-height:1.4}
.lesson .time small{font-size:.75rem;line-height:1.5;font-weight:400;margin-top:4px}
.lesson-heading{display:flex;flex-wrap:wrap;gap:6px 12px;min-height:0}
.lesson-heading h3{width:100%;font-size:1rem;line-height:1.4;margin:0}
.lesson-summary .pill{padding:0;background:transparent;font-size:.8125rem;font-weight:500;color:#475f56}
.lesson-summary .pill.due{color:#795316}
.lesson-summary .pill.done{color:#246044}
.lesson .lesson-meta{margin:0;gap:8px;font-size:.875rem;line-height:1.5}
.lesson-heading .lesson-toggle{position:static;display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;font:inherit;text-align:left;color:inherit}
.lesson-toggle:after{content:'';position:absolute;inset:0;z-index:1}
.lesson-toggle svg{height:18px;width:18px;flex-shrink:0;color:#52635f}
.lesson.actions-open .lesson-toggle svg{transform:rotate(180deg)}
.lesson-toggle:focus-visible{outline:none}
.lesson-toggle:focus-visible:after{outline:3px solid var(--accent);outline-offset:-3px;border-radius:8px}
.lesson .actions,.lesson .attendance{position:relative;z-index:2}
.lesson .lesson-heading .actions{display:flex;width:100%;flex-wrap:wrap;gap:8px;margin-top:12px;order:3}
.lesson .lesson-heading .actions button{min-height:46px;font-size:.875rem;padding:10px 12px;margin:0;order:initial;background:white;border:1px solid #b5c7bf;color:#264d41}
.lesson .lesson-heading .actions button.primary{background:var(--accent);color:white;border-color:var(--accent)}
.lesson .lesson-heading .actions button[data-action=cancel]{color:#923b2b;border-color:#d7bcb4}
.lesson:not(.actions-open) .lesson-heading .actions,.lesson .actions:empty,.group-lesson:not(.actions-open) .attendance,.group-lesson:not(.actions-open) .history-note{display:none}
.lesson .attendance{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:14px 0 0;max-width:640px}
.lesson .attendance>div{display:grid;grid-template-columns:minmax(0,1fr) 62px 76px;gap:6px;padding:8px 0;font-size:.875rem;border-bottom:1px solid #cbd8d1}
.lesson .attendance button{height:auto;min-height:44px;font-size:.8125rem;padding:8px 4px}
.lesson .attendance button[aria-pressed=true]{background:#176b61;border-color:#176b61;color:white}
.lesson .attendance button[aria-pressed=true][data-status=absent]{background:#934d35;border-color:#934d35;color:white}
.lesson .history-note{font-size:.8125rem;margin:10px 0 0}
.lesson.speech-event{background:white}.lesson.prep-event{background:#f3edf8}.lesson.neuro-event{background:#edf4fa}.lesson.math-event{background:#faf5e5}.lesson.club-event{background:#fcf0e9}
.lesson.is-completed{background:#edf5ef}.lesson.is-cancelled{background:#f1f3f1}
.lesson.is-cancelled h3{color:#52635f;text-decoration:line-through}
.lesson-help{margin:24px 0;border-top:1px solid var(--line);padding-top:16px}
.lesson-help>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:12px;list-style:none;cursor:pointer;font-size:.875rem;font-weight:600}
.lesson-help>summary::-webkit-details-marker{display:none}.lesson-help summary svg{height:18px;width:18px}.lesson-help[open] summary svg{transform:rotate(180deg)}
.lesson-help-body{max-width:70ch;font-size:.875rem}
.lesson-help-body p,.lesson-help-body dd{font-size:.875rem;line-height:1.65}
.lesson-help-body dl{display:grid;gap:18px;margin:18px 0}.lesson-help-body dt{font-weight:650}.lesson-help-body dd{margin:5px 0 0;color:var(--muted)}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.tabs button{font-size:.875rem;min-height:46px}
.tabs button.selected{background:#d6e6de;border-color:#b9d1c4;color:#164c40}
.finance-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px}
.finance-tabs button{flex:0 1 auto}
.month-filter{max-width:280px;margin-bottom:18px}
.finance-report .panel-head strong{font-size:1.5rem;font-weight:650;white-space:nowrap}
.finance-lines{padding:4px 22px}
.finance-lines>div{font-size:.9375rem;padding:16px 0;gap:16px;align-items:baseline}
.finance-lines strong{font-weight:650;white-space:nowrap}
.finance-lines .finance-sub{font-size:.875rem;padding:8px 0 8px 14px}
.finance-explanation{font-size:.875rem;line-height:1.7;max-width:70ch}
.receipt-row,.report-day{font-size:.9375rem;padding:16px 22px;line-height:1.5}
.receipt-row small,.receipt-row span,.history-note{font-size:.8125rem}
.debtor{padding:20px 22px;border-bottom:1px solid var(--line)}
.debtor-heading{display:flex;justify-content:space-between;gap:12px}.debtor-name{border:0;background:transparent;padding:0;text-align:left;font-size:1rem}.debtor-total{font-weight:650;white-space:nowrap;color:#795316}
.debtor-lessons{padding:0;list-style:none}.debtor-lessons li{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;line-height:1.6;margin:8px 0}.debtor-actions{display:flex;flex-wrap:wrap;gap:12px}.debtor-call{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
.pupils-table th{font-size:.8125rem;background:#edf3f0;color:#475f56;padding:14px}
.pupils-table td{font-size:.875rem;padding:12px 14px}
.pupils-table small{font-size:.8125rem}
.pupil-open{font-size:1rem;font-weight:650;min-height:44px}
.pupil-call-link{width:44px;height:44px;background:#eaf2ed;color:var(--accent)}
.pupil-price{font-variant-numeric:tabular-nums}
.detail{padding:24px}.detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.detail-heading h2{font-size:1.5rem;margin:0}.detail-heading button{font-size:.875rem;flex-shrink:0}
.detail p,.detail>.summary-line{font-size:.9375rem}.detail>.tabs .pill{font-size:.875rem}.parent-contact{font-size:1rem}
.recurring-card{margin-top:26px;border-top:1px solid var(--line);padding-top:22px}.recurring-heading,.recurring-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.recurring-heading h2{margin:0;font-size:1.125rem}.recurring-row{padding:16px 0;border-bottom:1px solid var(--line)}.recurring-row strong{font-size:.9375rem}.recurring-row small{display:block;margin-top:5px}.recurring-row>div{min-width:0}.recurring-row button{flex-shrink:0}.recurring-shared{background:#dcece3;padding:14px;border-radius:10px}.recurring-intro,.recurring-stop{grid-column:1/-1}.recurring-intro p{font-size:.875rem;max-width:70ch}
.form-panel{background:white;border:0;border-radius:14px;padding:24px;margin-bottom:24px;scroll-margin-top:16px}
.form-panel h2{font-size:1.375rem}.form-fields{gap:20px;margin:22px 0}.form-panel p{font-size:.875rem}.form-panel .actions{gap:10px}.form-panel .actions button{min-height:46px}.form-panel [data-action=discard-draft]{background:transparent;border-color:transparent;color:#923b2b}
#draftNotice{background:#e5efe9;color:#224b3c;width:100%;text-align:left;border:1px solid #b9d1c4;margin:0 0 20px}
[hidden],#draftNotice[hidden],header>#add[hidden]{display:none!important}
.account-tools{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:30px 0 0;padding:20px 0;border-top:1px solid var(--line)}
.account-tools button,#export,#logout,#exportDevice{font-size:.8125rem;min-height:44px;background:transparent;color:#52635f;border:0;padding:10px;margin:0;text-decoration:underline;text-underline-offset:4px}
#logout{margin-left:auto}
.sync-warning{padding:20px;background:#fff0df;color:#6d4218;border-radius:12px;margin-bottom:20px;font-size:.9375rem}
.sync-warning h2{font-size:1.125rem}.sync-warning p{color:inherit;font-size:.9375rem;max-width:70ch}.sync-warning .actions{gap:10px}
#toast{background:#223e36;color:white;font-size:.9375rem;border-radius:12px;padding:14px 18px;line-height:1.5;max-width:min(90vw,540px);box-shadow:0 8px 28px rgba(0,0,0,.15);z-index:30}
.week-wrap{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:14px}
.week,.week:has(.week-day-heading){grid-template-columns:repeat(var(--week-columns,5),minmax(210px,1fr));gap:12px}
.week-day{padding:12px;background:#e8eeea;border-radius:12px}
.week-day>h3.week-day-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px;font-size:.875rem;line-height:1.5;padding:4px 0 14px;white-space:normal}
.week-day-heading small{font-size:.8125rem}
.week .week-event{border:0;display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;padding:12px;text-align:left;min-height:70px}
.week .event-time,.week .event-title,.week .event-primary-person{font-size:.9375rem;line-height:1.5;min-height:44px;display:inline-flex;align-items:start;padding:0;margin:0}
.week .event-time{font-weight:650}.week .event-info{min-width:0}.week .event-names{display:flex;flex-wrap:wrap;gap:0 4px;padding:0;line-height:1.5}.week .event-join{font-size:.9375rem;line-height:1.5}
.week .event-title{display:flex;width:100%}.week .event-members{display:flex;flex-wrap:wrap;gap:0 10px;margin-top:0}.event-members .event-person{font-size:.8125rem;min-height:44px;line-height:1.5;padding:8px 0}
.auth-page{background:#eaf0ec;min-height:100dvh}.login-box{padding:32px;border-radius:16px;max-width:420px}.login-box h1{font-size:2rem}.login-box p{font-size:1rem}.login-box label{font-size:.9375rem}.login-box small{font-size:.875rem}.login-mark{background:var(--accent);border-radius:13px 13px 13px 4px}
@media(min-width:701px) and (max-width:1250px){.week,.week:has(.week-day-heading){grid-template-columns:repeat(2,minmax(0,1fr))}.week-wrap{overflow:visible}}
@media(max-width:700px){
 body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 body>aside{inset:auto 0 0;width:100%;height:calc(76px + env(safe-area-inset-bottom,0px));padding:5px max(8px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#fff;border:0;border-top:1px solid var(--line);z-index:10}
 .brand,.brand-caption,.owner{display:none}nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}nav a{min-height:64px;font-size:.75rem;padding:8px 2px;gap:5px;flex-direction:column;justify-content:center;border-radius:12px;line-height:1.4}nav a.active{background:#e5f0ea}nav svg{height:23px;width:23px}
 main{margin:0;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(100px + env(safe-area-inset-bottom,0px))}
 .connection-status{font-size:.75rem;min-height:24px;margin-bottom:14px}
 header{display:flex;align-items:start;flex-wrap:wrap;gap:16px;margin:8px 0 24px}header>div{width:100%}h1{font-size:1.875rem}.page-description{font-size:.9375rem;margin-top:8px}header>.primary{width:100%;height:auto;max-width:none;font-size:.9375rem;min-height:46px}
 .day-overview{margin-bottom:24px;gap:0 10px}.day-overview>.summary-line{font-size:.8125rem}.day-overview>.summary-line strong{font-size:1.25rem}.day-overview>.aside-caption{font-size:.75rem;line-height:1.6}
 .panel-head{padding:18px 16px;align-items:start}.panel-head h2{font-size:1.125rem}.panel-head small{font-size:.8125rem}
 .day-controls{padding:0 14px 14px;gap:6px}.day-controls button,.date-control{font-size:.8125rem}.date-control{min-width:0}.day-week{padding:0 12px 16px;gap:4px}.day-week button{min-height:62px;font-size:1rem}.day-week small{font-size:.75rem}
 .lesson{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:18px 14px}.lesson>.time{font-size:.9375rem}.lesson .time small{font-size:.75rem;white-space:normal}.lesson-heading h3{font-size:1.0625rem}.lesson .lesson-meta{font-size:.875rem}.lesson .lesson-heading .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lesson .lesson-heading .actions button{grid-row:auto;grid-column:auto;font-size:.8125rem;min-height:46px;padding:10px 6px;order:initial}.lesson .lesson-heading .actions button:only-child{grid-column:1/-1}
 .lesson .attendance>div{grid-template-columns:minmax(0,1fr) 50px 64px;font-size:.875rem;gap:5px}.lesson .attendance button{font-size:.75rem}.lesson:has(.attendance) .actions button{flex:initial}
 .finance-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tabs button{font-size:.875rem;padding:10px}.finance-tabs button:last-child{grid-column:1/-1}.month-filter{max-width:none}.finance-report .panel-head{flex-wrap:wrap}.finance-report .panel-head strong{font-size:1.375rem}.finance-lines{padding:4px 16px}.finance-lines>div{font-size:.875rem;padding:15px 0;gap:12px}.finance-lines .finance-sub{font-size:.8125rem}.finance-explanation{font-size:.875rem}.receipt-row,.report-day{font-size:.875rem;padding:16px}.debtor{padding:18px 16px}.debtor-lessons li{font-size:.8125rem}
 .pupils-table tbody tr{padding:14px 12px;gap:5px 8px;grid-template-columns:minmax(0,1fr) auto 44px}.pupils-table td{padding:0}.pupil-open{font-size:1rem;min-height:44px}.pupils-table .pupil-slot,.pupils-table .pupil-balance,.pupils-table .pupil-parent,.pupils-table small{font-size:.8125rem}.pupils-table .pupil-price{font-size:.875rem;white-space:normal}.pupils-table .pupil-parent{max-width:110px}.pupil-parent small{display:none}.pupil-slot small{font-size:.8125rem}.pupil-call-link{height:44px;width:44px}
 .week,.week:has(.week-day-heading){grid-template-columns:minmax(0,1fr)}.week-wrap{overflow:visible;padding:0}.week-day{padding:12px}.week-day>h3.week-day-heading{font-size:.9375rem}.week .event-time,.week .event-title,.week .event-primary-person{font-size:1rem}.week .event-members .event-person{font-size:.875rem;min-height:44px}.week .event-join{font-size:1rem}
 .form-panel{padding:22px 16px}.form-fields{grid-template-columns:minmax(0,1fr);gap:18px}.form-panel input,.form-panel select,.detail textarea{font-size:1rem}.form-panel label{font-size:.875rem}.form-panel .actions button{flex:1}.form-panel [data-action=discard-draft]{flex-basis:100%}
 .detail{padding:22px 16px}.detail-heading{flex-wrap:wrap}.detail-heading h2{font-size:1.5rem}.detail p,.detail>.summary-line{font-size:.875rem}.detail .parent-contact{font-size:1rem}.detail-heading button{font-size:.8125rem}.detail>.tabs{flex-wrap:wrap}.recurring-heading{flex-wrap:wrap}.recurring-heading h2{font-size:1.125rem}.recurring-row{gap:8px}.recurring-row strong{font-size:.875rem}.recurring-row button{font-size:.8125rem;padding:9px}
 .sync-warning{padding:18px 16px}.sync-warning .actions button{width:100%;min-height:46px}#toast{bottom:calc(91px + env(safe-area-inset-bottom,0px));width:max-content;font-size:.875rem;max-width:calc(100vw - 32px)}
 .account-tools{margin-top:24px;gap:4px}.account-tools button{font-size:.8125rem}.login-box{padding:28px 22px}
}
@media(max-width:370px){main{padding-left:12px;padding-right:12px}.lesson{grid-template-columns:48px minmax(0,1fr);gap:8px;padding:16px 12px}.pupils-table tbody tr{grid-template-columns:minmax(0,1fr) 70px 44px}.pupils-table .pupil-parent{max-width:90px;overflow-wrap:anywhere}.lesson .attendance>div{grid-template-columns:minmax(0,1fr) 46px 60px;gap:4px}}
@media(prefers-reduced-motion:reduce){#content{animation:none}*{scroll-behavior:auto!important}}
@media(prefers-contrast:more){:root{--muted:#304b40;--line:#64766d}button,input,select,textarea{border-color:#64766d}.panel,.pupils-wrap{outline:1px solid #64766d}}

.form-panel .actions button[data-action=discard-draft]{flex:0 0 100%}
#toast{pointer-events:none}
/* Resilient layouts: text size determines control height, the nav reports its actual size. */
.text-scale-probe{position:absolute;width:1rem;height:1rem;overflow:hidden;visibility:hidden;pointer-events:none}
.load-panel{background:var(--surface);border-radius:14px;padding:24px;margin-bottom:24px}
.load-panel h2{font-size:1.25rem}.load-panel p{max-width:55ch;font-size:1rem}
.directory-tools{margin:0 0 20px}.directory-tools label{max-width:520px;font-size:.875rem}
.directory-tools input{margin-top:3px;min-height:48px}
.directory-empty{background:white;border-radius:14px;text-align:left}.directory-empty h2{margin:0 0 10px}.directory-empty p{max-width:55ch}.directory-empty button{margin-top:8px}
.day-return{padding:0 22px 14px}.day-return button{background:var(--soft);border-color:transparent;color:var(--accent)}
.finance-lines>div{flex-wrap:wrap}.finance-lines>div>strong{margin-inline-start:auto}
.skip-link{position:absolute;top:8px;left:8px;z-index:100;background:white;color:var(--accent);padding:12px 16px;transform:translateY(-200%);border-radius:8px}
.skip-link:focus{transform:none}
@media(max-width:700px){
 body>aside{height:auto;min-height:calc(76px + env(safe-area-inset-bottom,0px))}
 nav a{min-width:0;height:auto;overflow-wrap:anywhere}nav .nav-label{max-width:100%;text-align:center}
 main{padding-bottom:calc(var(--mobile-nav-height,76px) + 24px)}
 #toast{bottom:calc(var(--mobile-nav-height,76px) + 12px)}
 .finance-tabs{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
 .pupils-table tbody tr{grid-template-columns:minmax(0,1fr) max-content 44px}
 .pupils-table .pupil-price{white-space:nowrap}
 .day-return{padding:0 14px 14px}
 .large-text nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .large-text nav a{min-height:64px;flex-direction:row;gap:10px;padding:10px 8px}
 .large-text .pupils-table tbody tr{grid-template-columns:minmax(0,1fr) 44px;gap:8px}
 .large-text .pupils-table .pupil-name{grid-column:1;grid-row:1}
 .large-text .pupils-table .pupil-price{grid-column:1;grid-row:2}
 .large-text .pupils-table .pupil-call{grid-column:2;grid-row:1/3;align-self:start}
 .large-text .pupils-table .pupil-slot{grid-column:1/-1;grid-row:3}
 .large-text .pupils-table .pupil-balance{grid-column:1/-1;grid-row:4}
 .large-text .pupils-table .pupil-parent{grid-column:1/-1;grid-row:5;max-width:none;text-align:left}
 .large-text .form-panel .actions button{flex:1 0 100%}
}
