:root{--navy:#284062;--yellow:#f9b041;--paper:#f5f7fa;--ink:#21334b;--muted:#586a80;--line:#dfe5ed;--radius:14px;--control-radius:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--shadow:0 2px 8px #172d4905}@media screen{body{line-height:1.55;-webkit-text-size-adjust:100%}:where(h1,h2,h3,p,li,dt,dd,label,legend){overflow-wrap:anywhere}:where(fieldset){min-inline-size:0}:where(img,video){max-inline-size:100%}:where(form,section,article,nav,header,main){min-inline-size:0}:where(button,.btn,.button-link,input,select,textarea){max-inline-size:100%}:where(input,select,textarea){min-inline-size:0}:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--navy);outline-offset:3px;box-shadow:0 0 0 3px white}.app-shell :is(.student-profile-options,.student-profile-option-group)>summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px;box-shadow:0 0 0 3px white}.app-shell .student-profile-options>summary{min-height:44px}:is(button,.btn,.button-link){min-height:44px;border-radius:var(--control-radius);white-space:normal;text-align:center}:is(.app-shell,.learner) .icon-btn{min-inline-size:44px;min-block-size:44px}input,select,textarea{border-radius:var(--control-radius)}:is(button.secondary,.btn:not(.yellow)):hover:not(:disabled){background:#f0f4f8;color:var(--ink)}.content,.learner .learner-body{max-width:1440px}.content{padding:32px}:where(.content,.learner-body)>*+:is(.card,.management,.booking-section){margin-top:24px}.page-title{align-items:flex-start;margin-bottom:24px}.page-title>div{min-width:0}.page-title h1{font-size:clamp(25px,2.3vw,32px);letter-spacing:-.7px}.page-title p{max-width:76ch;font-size:14px;line-height:1.65}.section-heading{align-items:flex-start;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:1.3px}:is(.card,.booking-section,.management,.session-card,.booking-card){border-radius:var(--radius);border-color:var(--line);box-shadow:var(--shadow)}.card-head{padding:24px 24px 16px}.card-body{padding:24px}.card-head+.card-body{padding-top:0}:where(.card-head,.section-heading,.page-title,.actions,.form-buttons){row-gap:12px}.notice{border-radius:var(--control-radius);padding:16px;font-size:13px}.notice p{color:inherit}:is(.badge,.pill){white-space:normal;max-width:100%;line-height:1.4;overflow-wrap:anywhere}:is(.agenda-form,.student-form,.paper-form){gap:12px}:where(.form-grid,.booking-selection,.calendar-layout,.dashboard-grid,.session-grid)>*{min-width:0}:is(.form-grid){column-gap:20px;row-gap:16px}:is(.form-buttons,.actions){gap:10px}:is(.management,.booking-section){padding:24px}.management>summary{min-height:44px;display:flex;align-items:center;gap:12px}.management>summary:after{content:"+";margin-left:auto;font-size:20px;font-weight:400}.management[open]>summary:after{content:"−"}:is(.date-filter,.report-filters,.day-filter) label{display:grid;gap:8px;min-width:0}:is(.date-filter,.report-filters,.day-filter) label input{margin-top:0}.table-wrap{max-inline-size:100%}.table-wrap table{margin:0}:where(.calendar-tools,.calendar-service,.calendar-selection,.learner-review){border-radius:var(--radius)}.calendar-layout{gap:24px}.calendar-heading{min-height:44px;gap:12px}.calendar-heading h3{text-align:center}.calendar-sessions{border:1px solid var(--line);background:#f8fafc}.calendar-session{align-items:flex-start;gap:16px}.calendar-session>div{min-width:0}.calendar-selection{background:white;padding:20px}.calendar-selected-list li{gap:16px;padding:12px 0}.booking-month{background:white}.circuit-month{background:var(--navy)}.booking-day{min-height:58px;border-radius:10px}.booking-day.selected{background:var(--navy);color:white}.circuit-month .booking-day.selected{background:white;color:var(--navy);border-color:white}.calendar-day[aria-pressed=true]{outline:2px solid var(--navy);outline-offset:1px;font-weight:750}.topbar{min-height:72px;height:auto;padding:12px 32px}.top-actions{gap:12px;min-width:0}.portal-account-menu{position:relative}.portal-account-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--navy);background:white;font-size:13px;font-weight:650;cursor:pointer;list-style:none}.portal-account-menu>summary::-webkit-details-marker{display:none}.portal-account-menu[open]>summary{background:#eef3f8}.portal-account-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:min(288px,calc(100vw - 32px));max-height:calc(100dvh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:white;color:var(--ink);box-shadow:0 12px 32px #172d491a;display:grid;gap:12px}.portal-account-identity{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--line)}.portal-account-identity strong{font-size:14px;overflow-wrap:anywhere}.portal-account-identity span{font-size:12px;color:var(--muted)}.portal-account-panel>:is(form,a,details){margin:0;width:100%}.portal-account-panel :is(button,.btn,.profile-test-selector>summary){width:100%;min-height:44px;justify-content:flex-start;text-align:left;font-size:13px;padding:10px 12px}.portal-account-panel .profile-test-selector>summary{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--control-radius);list-style:none;cursor:pointer}.portal-account-panel .profile-test-menu{position:static;min-width:0;max-width:100%;margin-top:8px;padding:8px;box-shadow:none;background:#f8fafc}.portal-account-panel .profile-test-menu form{margin:0}.portal-account-panel .profile-test-menu button{white-space:normal}.portal-account-panel .top-action-label{display:inline}.portal-account-panel .top-action-short{display:none}.sidebar .nav{gap:4px}.sidebar .nav a{min-height:44px;align-items:flex-start;line-height:1.5}.sidebar .nav a .icon{margin-top:1px}.recovery-shortcut{margin:0 0 24px}.recovery-shortcut a{font-size:12px;color:var(--muted)}@media (max-width:760px){:is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,[contenteditable=true]){font-size:16px;min-height:44px}.content{padding:24px max(16px,env(safe-area-inset-right)) 32px max(16px,env(safe-area-inset-left))}.app-shell{--portal-mobile-header-height:calc(56px + max(12px,env(safe-area-inset-top)))}.topbar{display:flex;flex-wrap:nowrap;gap:12px;min-height:68px;height:auto;z-index:140;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}.topbar .menu-button{display:inline-flex;width:44px;min-width:44px;height:44px}.topbar .mobile-title{display:block;font-size:17px;min-width:0;white-space:normal;line-height:1.2}.topbar .top-actions{display:flex;width:auto;margin-left:auto;flex:0 0 auto;gap:0}.topbar .role-badge{display:none}.topbar .top-actions>.portal-account-menu{flex:0 0 auto}.topbar .portal-account-menu>summary{padding:10px}.portal-account-menu .account-caption{display:none}.sidebar{inset:var(--portal-mobile-header-height) 0 auto;z-index:130;width:100%;max-height:calc(100svh - var(--portal-mobile-header-height));padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.app-shell .profile-test-banner{top:var(--portal-mobile-header-height)}.sidebar .nav{grid-template-columns:minmax(0,1fr)}.sidebar .nav-label{display:block;margin:16px 0 8px;padding-left:12px}.sidebar .nav a{font-size:14px;padding:12px}.page-title,.section-heading{gap:16px;margin-bottom:20px}.page-title p{font-size:14px}.page-title .actions{width:100%}.card-head{padding:20px 16px 12px}.card-body{padding:20px 16px}.card-head+.card-body{padding-top:0}:is(.management,.booking-section,.booking-card,.session-card,.student-form){padding:16px}:is(.metrics,.session-grid,.booking-list,.dashboard-grid){gap:16px}:is(.form-grid){grid-template-columns:minmax(0,1fr)}:is(.actions,.form-buttons){align-items:stretch}:where(.actions,.form-buttons)>:is(button,a){min-height:44px}:is(.date-filter,.report-filters,.control-filters,.day-filter){display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%}:is(.date-filter,.report-filters,.control-filters,.day-filter) label{width:100%;min-width:0;max-width:none}:is(.date-filter,.report-filters,.control-filters,.day-filter) button{width:100%}.booking-selection,.calendar-layout,.learner .calendar-layout,.profile-training-editor .booking-selection{grid-template-columns:minmax(0,1fr);gap:20px}.calendar-tools,.learner .calendar-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.calendar-jump,.learner .calendar-jump{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.calendar-session{flex-wrap:wrap}.calendar-session>button{width:100%}.calendar-selection{padding:16px}.cartilla-table-wrap{max-inline-size:100%}.cartilla-table-wrap>table{min-inline-size:540px}.cartilla-sheet .cartilla-check{min-height:44px;align-items:center}.booking-month-grid{gap:3px}.booking-month{padding:8px}.booking-day{min-height:52px}.booking-day small{font-size:9px;overflow-wrap:anywhere}.calendar-heading h3{font-size:15px}.learner .learner-header{align-items:center;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}.learner .learner-body{padding:24px max(16px,env(safe-area-inset-right)) 32px max(16px,env(safe-area-inset-left))}.learner h1{font-size:28px;letter-spacing:-.6px}.learner-section{margin:20px 0;padding:16px}.learner-hero{padding:20px;border-radius:var(--radius)}.learner-balances{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.learner-balances>div{min-width:0;padding:16px}.learner-balances strong{font-size:28px}.learner-dialog,.service-review-dialog{padding:20px 16px;max-width:calc(100vw - 32px)}}@media (max-width:380px){.topbar{gap:8px}.topbar .mobile-title{font-size:16px}.balance-grid,.calendar-jump,.cartilla-sheet .cartilla-groups,.learner .calendar-jump{grid-template-columns:minmax(0,1fr)}.calendar-heading{gap:6px}}}