/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.table{display:table}.table-row{display:table-row}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--surface:#fff;--canvas:#f8fafc;--sidebar:#0f172a;--green:#2563eb;--green-soft:#eff6ff;--blue:#0284c7;--blue-soft:#e0f2fe;--coral:#c9634f;--coral-soft:#f8e8e3;--yellow:#b48228;--yellow-soft:#f7eed5}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--canvas);scrollbar-gutter:stable;width:100%;max-width:100%;overflow-x:clip}body,#root{width:100%;min-width:0;min-height:100dvh}body{min-height:100dvh;color:var(--ink);background:var(--canvas);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}img,video,canvas{max-width:100%}button,input,select,textarea{min-width:0;font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.app-shell{width:100%;max-width:none;min-height:100dvh}.sidebar{z-index:30;color:#e2e8f0;background:var(--sidebar);flex-direction:column;width:244px;padding:20px 14px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand-row{align-items:center;gap:11px;padding:2px 7px 22px;display:flex}.brand-mark{background:#fff;border-radius:6px;place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%}.brand-row strong,.brand-row span{letter-spacing:0;display:block}.brand-row strong{font-size:17px;line-height:18px}.brand-row span{color:#8e9f96;text-transform:uppercase;letter-spacing:.1em;margin-top:2px;font-size:13px}.sidebar-close{margin-left:auto;color:#cbd5e1!important;background:0 0!important;border-color:#334155!important;display:none!important}.role-switcher{background:#111827;border:1px solid #334155;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:3px;margin:0 2px 24px;padding:3px;display:grid}.role-switcher button{color:#94a3b8;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:4px;height:31px;padding:0;font-size:13px;font-weight:700}.role-switcher button.active{color:#172554;background:#bfdbfe}.preview-mode{background:#111827;border:1px solid #334155;border-radius:6px;margin:0 2px 22px;padding:11px}.preview-mode>span,.preview-mode>strong{display:block}.preview-mode>span{color:#718178;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:750}.preview-mode>strong{color:#edf5f0;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 9px;font-size:13px;overflow:hidden}.preview-mode select{color:#e2e8f0;background:#1e293b;border-color:#475569;height:31px}.preview-mode button{color:#93c5fd;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;width:100%;min-height:31px;margin-top:7px;padding:0;font-size:11px;font-weight:700;display:flex}.main-nav{flex-direction:column;gap:5px;display:flex}.nav-label{color:#718178;text-transform:uppercase;letter-spacing:.12em;padding:0 12px 7px;font-size:12px;font-weight:700}.main-nav button,.sidebar-bottom>button{color:#9eada5;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:12px;width:100%;min-height:42px;padding:0 12px;font-size:15px;font-weight:600;transition:background .18s,color .18s;display:flex}.main-nav button:hover,.sidebar-bottom>button:hover{color:#f8fafc;background:#1e293b}.main-nav button.active{color:#f8fafc;background:#1e293b;box-shadow:inset 3px 0 #60a5fa}.main-nav button b{color:#172554;background:#93c5fd;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:12px;display:grid}.sidebar-bottom{flex-direction:column;gap:2px;margin-top:auto;display:flex}.profile-block{border-top:1px solid #334155;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-width:0;margin-top:10px;padding:15px 8px 2px;display:grid}.profile-block div{min-width:0}.profile-block strong,.profile-block small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-block strong{color:#edf3ef;font-size:14px}.profile-block small{color:#77887e;margin-top:3px;font-size:12px}.main-area{width:auto;min-width:0;min-height:100dvh;margin-left:244px}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;align-items:center;gap:20px;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.search-box{border:1px solid var(--line);color:#77817b;background:#fafbfa;border-radius:5px;align-items:center;gap:9px;width:min(430px,48vw);height:38px;padding:0 10px;display:flex;position:relative}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.search-box input::placeholder{color:#9ba39e}.search-box kbd{color:#9aa39d;background:#fff;border:1px solid #dde2de;border-radius:3px;padding:2px 5px;font-family:inherit;font-size:11px}.profile-search-results{z-index:45;width:min(500px,100vw - 28px);max-height:390px;color:var(--ink);background:#fff;border:1px solid #dce2de;border-radius:6px;padding:6px;position:absolute;top:44px;left:0;overflow-y:auto;box-shadow:0 16px 42px #12241a29}.profile-search-results>button{width:100%;min-height:54px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:7px 9px;display:grid}.profile-search-results>button:hover{background:#eff6ff}.profile-search-results>button>span{min-width:0}.profile-search-results strong,.profile-search-results small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-search-results strong{font-size:12px}.profile-search-results small{color:#7d8781;text-transform:capitalize;margin-top:4px;font-size:10px}.profile-search-results>button>svg{color:#87928b}.profile-search-empty{color:#8a938d;justify-content:center;align-items:center;gap:8px;min-height:72px;font-size:11px;display:flex}.topbar-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.sync-status{color:#758079;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.sync-status i{background:#78a88d;border-radius:50%;width:6px;height:6px}.sync-status.saving i,.sync-status.loading i{background:#c79a48}.sync-status.offline,.sync-status.error{color:#9f5144}.sync-status.offline i,.sync-status.error i{background:#c9634f}.icon-button{border:1px solid var(--line);color:#66706a;cursor:pointer;background:#fff;border-radius:5px;flex:none;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.icon-button:hover{color:var(--ink);background:#f7f9f7}.danger-button{color:#a55749}.danger-button:hover{color:#9d3e31;background:#fff5f2;border-color:#ecc9c2}.mobile-menu{display:none}.primary-button,.secondary-button{cursor:pointer;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:var(--green);border:1px solid #1d4ed8;box-shadow:0 1px 2px #2563eb33}.primary-button:hover{background:#1d4ed8}.secondary-button{color:#34413a;background:#fff;border:1px solid #d9dfdb}.secondary-button:hover{background:#f8faf8}.page-content{width:100%;max-width:1540px;margin:0 auto;padding:30px 32px 48px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;min-height:71px;margin-bottom:24px;display:flex}.page-heading h1{letter-spacing:0;margin:3px 0 4px;font-size:25px;font-weight:720;line-height:32px}.page-heading p{color:var(--muted);margin:0;font-size:14px;line-height:18px}.page-heading>button{margin-top:20px}.heading-actions{align-items:center;gap:8px;margin-top:20px;display:flex}.eyebrow{color:#77827c;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:750;line-height:14px;display:block}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;align-items:center;gap:14px;min-height:112px;padding:18px;display:flex}.metric-icon{border-radius:6px;flex:none;place-items:center;width:42px;height:42px;display:grid}.metric-card.green .metric-icon{color:var(--green);background:var(--green-soft)}.metric-card.blue .metric-icon{color:var(--blue);background:var(--blue-soft)}.metric-card.yellow .metric-icon{color:var(--yellow);background:var(--yellow-soft)}.metric-card.coral .metric-icon{color:var(--coral);background:var(--coral-soft)}.metric-copy span,.metric-copy strong,.metric-copy small{display:block}.metric-copy span{color:#69726d;font-size:13px;font-weight:650}.metric-copy strong{margin:2px 0;font-size:25px;line-height:29px}.metric-copy small{color:#919a94;font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(330px,.9fr);gap:16px;display:grid}.panel,.data-panel{border:1px solid var(--line);background:var(--surface);border-radius:7px}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:14px 18px;display:flex}.panel-header h2{margin:0 0 3px;font-size:16px;line-height:18px}.panel-header p{color:#89918c;margin:0;font-size:12px}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:5px 0;font-size:12px;font-weight:750;display:inline-flex}.lesson-list{padding:4px 18px 8px}.lesson-row{border-bottom:1px solid #edf0ee;grid-template-columns:58px 36px minmax(135px,1fr) minmax(135px,.8fr) auto 36px;align-items:center;gap:11px;min-height:74px;display:grid}.lesson-row:last-child{border-bottom:0}.time-rail{flex-direction:column;justify-content:center;align-self:stretch;display:flex;position:relative}.time-rail strong{font-size:13px}.time-rail span{color:#9aa19d;margin-top:2px;font-size:11px}.time-rail i{border-left:1px dashed #d7dcd9;height:14px;position:absolute;bottom:-8px;left:8px}.avatar{border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:inline-grid}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.avatar.small{width:25px;height:25px;font-size:10px}.avatar.dark{color:#cfebe0;background:#34483d;width:34px;height:34px}.avatar.blue{color:#295873;background:#dbeaf3}.avatar.mint{color:#24634b;background:#d9efe5}.avatar.coral{color:#954b3c;background:#f5dfd9}.avatar.yellow{color:#7b5d22;background:#f4e7be}.avatar.purple{color:#66507d;background:#e8dff0}.avatar.pink{color:#8c5067;background:#f3e0e8}.lesson-main,.tutor-inline,.assignment-row>div,.person-cell>div{min-width:0}.lesson-main strong,.lesson-main span,.tutor-inline span,.assignment-row strong,.assignment-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lesson-main strong{font-size:13px}.lesson-main span,.assignment-row span{color:#858e88;margin-top:3px;font-size:11px}.tutor-inline{color:#5d6761;align-items:center;gap:7px;font-size:12px;display:flex}.profile-avatar-button{width:max-content;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.profile-avatar-button.compact{width:25px;height:25px}.profile-avatar-button:hover .avatar{box-shadow:0 0 0 2px #60a5fa}.profile-name-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.profile-name-button:hover strong,.profile-inline-button:hover span,.profile-text-button:hover,.profile-subtext-button:hover,.calendar-profile-button:hover{color:var(--green)}.profile-inline-button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.profile-text-button{color:#1d4ed8;font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750;display:inline}.profile-subtext-button{color:#1d4ed8;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:10px;font-weight:750;display:block}.profile-row-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.mode-badge,.status-pill{white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.mode-badge.online{color:#356984;background:#e5f0f6}.mode-badge.in-person{color:#8a5d25;background:#f7edd5}.assignment-list{padding:5px 16px 8px}.assignment-row{border-bottom:1px solid #edf0ee;grid-template-columns:36px minmax(95px,1fr) minmax(120px,.8fr);align-items:center;gap:10px;min-height:68px;display:grid}.assignment-row:last-child{border-bottom:0}.assignment-row strong{font-size:12px}select,input{color:#36413a;background:#fff;border:1px solid #dce1de;border-radius:5px;width:100%;height:38px;padding:0 10px;font-size:13px}.assignment-row select{height:32px;font-size:11px}.capacity-panel{grid-area:2/1/auto/-1}.capacity-table{padding:5px 18px 9px}.capacity-row{border-bottom:1px solid #edf0ee;grid-template-columns:34px minmax(160px,1fr) minmax(150px,.85fr) 62px;align-items:center;gap:10px;min-height:65px;display:grid}.capacity-row:last-child{border-bottom:0}.capacity-person strong,.capacity-person span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.capacity-person strong{font-size:12px}.capacity-person span{color:#89918c;margin-top:3px;font-size:11px}.capacity-meter>span,.mini-capacity>span{background:#e8ece9;border-radius:3px;height:5px;display:block;overflow:hidden}.capacity-meter i,.mini-capacity i{background:#3b82f6;border-radius:3px;height:100%;display:block}.capacity-meter small{color:#8a938d;text-align:right;margin-top:5px;font-size:10px;display:block}.capacity-row>b{color:var(--green);text-align:right;font-size:11px}.capacity-row>b.full{color:var(--coral)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:170px;padding:24px;display:flex}.empty-state>div{width:40px;height:40px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;margin-bottom:9px;display:grid}.empty-state strong{font-size:14px}.empty-state span{color:var(--muted);margin-top:5px;font-size:12px}.content-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:48px;display:flex}.tabs{align-self:stretch;gap:25px;display:flex}.tabs button{color:#7a837e;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 2px;font-size:13px;font-weight:700;display:flex;position:relative}.tabs button.active{color:var(--ink)}.tabs button.active:after{content:"";background:var(--green);height:2px;position:absolute;inset:auto 0 -1px}.tabs button span{color:#6c756f;background:#e9edeb;border-radius:9px;place-items:center;min-width:19px;height:18px;padding:0 5px;font-size:10px;display:grid}.filter-button,.today-button{color:#606a64;cursor:pointer;background:#fff;border:1px solid #dde2de;border-radius:5px;align-items:center;gap:7px;height:32px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.status-filter .filter-button{min-width:132px}.data-panel{margin-top:14px;overflow:hidden}.table-head,.table-row{align-items:center;gap:16px;padding:0 18px;display:grid}.student-columns{grid-template-columns:minmax(180px,1.2fr) minmax(100px,.7fr) minmax(150px,1fr) minmax(155px,1fr) 75px 110px}.tutor-columns{grid-template-columns:minmax(200px,1.2fr) minmax(190px,1fr) minmax(90px,.5fr) minmax(120px,.65fr) 75px 72px}.table-head{color:#8b938e;text-transform:uppercase;letter-spacing:.08em;background:#f7f9f7;min-height:38px;font-size:10px;font-weight:750}.table-row{border-top:1px solid #edf0ee;min-height:72px;font-size:12px}.person-cell{align-items:center;gap:10px;min-width:0;display:flex}.person-cell>div strong,.person-cell>div span{min-width:0;display:block}.person-cell>div span{color:#8a938d;margin-top:3px;font-size:10px}.person-profile-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.person-profile-button:hover strong{color:var(--green)}.table-row strong,.table-row span{display:block}.person-cell strong,.person-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-row strong{font-size:12px}.table-row span:not(.avatar):not(.status-pill){color:#8a938d;margin-top:3px;font-size:10px}.table-row select{height:32px;font-size:11px}.status-pill.active{color:#246749;background:#e2f2e9}.status-pill.trial{color:#8a641e;background:#f6eccf}.status-pill.paused,.status-pill.away{color:#6f7772;background:#ecefed}.subject-tags{flex-wrap:wrap;gap:4px;display:flex}.subject-tags span{background:#edf3ef;border-radius:3px;padding:4px 6px;color:#4b6154!important;margin:0!important}.mini-capacity{grid-template-columns:minmax(60px,1fr) auto;align-items:center;gap:8px;display:grid}.mini-capacity small{color:#78817c;font-size:10px}.mobile-label{display:none!important}.row-actions{gap:4px;display:flex}.row-actions .icon-button{width:34px;height:34px}.assign-button{color:#2d7353;background:#f3faf6;border-color:#cfe2d7}.view-profile-button{color:#3f6281;background:#f4f8fa;border-color:#d4e0e8}.profile-layer{place-items:stretch end;padding:0}.profile-drawer{background:#fff;width:min(500px,100%);height:100vh;position:relative;overflow-y:auto;box-shadow:-18px 0 55px #0a171033}.profile-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:18px 22px;display:flex}.profile-drawer>header h2{margin:3px 0 0;font-size:19px}.profile-header-actions{align-items:center;gap:7px;display:flex}.profile-drawer-hero{grid-template-columns:76px 1fr auto;align-items:center;gap:15px;min-height:128px;padding:24px 22px;display:grid}.profile-drawer-hero .avatar{width:76px;height:76px;font-size:19px}.profile-drawer-hero h3{margin:0;font-size:20px}.profile-drawer-hero>div span{color:#7c8780;margin-top:5px;font-size:11px;font-weight:700;display:block}.admin-profile-photo-actions{align-items:center;gap:6px;margin-top:11px;display:flex}.admin-profile-photo-actions input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.admin-profile-photo-actions label,.admin-profile-photo-actions button{color:#356d52;cursor:pointer;background:#fff;border:1px solid #d3dfd8;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:29px;padding:0 8px;font-size:10px;font-weight:750;display:inline-flex}.admin-profile-photo-actions button{color:#995043;border-color:#ead7d2}.profile-stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f9f7;grid-template-columns:repeat(3,1fr);display:grid}.profile-stat-strip>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:77px;padding:14px 18px;display:flex}.profile-stat-strip>div:last-child{border-right:0}.profile-stat-strip strong{font-size:19px}.profile-stat-strip span{color:#7e8882;margin-top:3px;font-size:10px}.profile-detail-section{border-bottom:1px solid var(--line);padding:22px}.profile-detail-section h4{margin:0 0 13px;font-size:13px}.profile-detail-section dl{grid-template-columns:1fr 1fr;gap:14px 18px;margin:0;display:grid}.profile-detail-section dl>div{min-width:0}.profile-detail-section dt{color:#849089;font-size:10px}.profile-detail-section dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;font-weight:700}.profile-class-list{gap:5px;display:grid}.profile-class-list>div{border-bottom:1px solid #edf0ee;grid-template-columns:26px 1fr;align-items:center;gap:9px;min-height:51px;display:grid}.profile-class-list p,.profile-class-list strong,.profile-class-list span{margin:0;display:block}.profile-class-list strong{font-size:11px}.profile-class-list span{color:#808a84;margin-top:3px;font-size:10px}.profile-empty-line{color:#8a938d;padding:18px 0;font-size:11px;display:block}.profile-drawer>footer,.profile-edit-form>footer{justify-content:flex-end;gap:8px;padding:18px 22px 26px;display:flex}.profile-edit-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.profile-edit-grid label{color:#525e57;gap:6px;font-size:11px;font-weight:750;display:grid}.profile-edit-grid .wide{grid-column:1/-1}.profile-edit-error{margin-top:14px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:48px;margin-bottom:12px;display:flex}.calendar-nav{align-items:center;gap:6px;display:flex}.calendar-nav .icon-button{width:32px;height:32px}.calendar-nav strong{margin-left:10px;font-size:13px}.schedule-legend{color:#77817b;gap:14px;font-size:11px;display:flex}.schedule-legend span{align-items:center;gap:5px;display:flex}.schedule-legend i{border-radius:2px;width:8px;height:8px}.legend-online{background:#5d95b5}.legend-person{background:#c28b3b}.calendar-shell{border:1px solid var(--line);background:#fff;border-radius:7px;overflow-x:auto}.week-grid{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:850px;display:grid}.day-column{border-right:1px solid var(--line);min-height:560px}.day-column:last-child{border-right:0}.day-column.today{background:#fbfdfb}.day-header{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;height:63px;display:flex}.day-header span{color:#818a85;text-transform:uppercase;font-size:11px}.day-header strong{border-radius:50%;place-items:center;width:28px;height:28px;margin-top:3px;font-size:14px;display:grid}.today .day-header strong{color:#fff;background:var(--green)}.day-body{min-height:497px;padding:8px}.calendar-event{border-left:3px solid;border-radius:5px;min-height:104px;margin-bottom:7px;padding:10px}.calendar-event.online{background:#edf5f9;border-color:#5d95b5}.calendar-event.person{background:#fbf4e7;border-color:#c28b3b}.calendar-event.completed{background:#eff7f2;border-color:#65a17e}.calendar-event.cancelled{opacity:.7;background:#f3f5f4;border-color:#a3aaa6}.calendar-event.postponed{background:#fff8ea;border-color:#c69343}.calendar-event>span,.calendar-event>strong,.calendar-event>small{display:block}.calendar-event>span{color:#65706a;font-size:10px}.calendar-event-header{color:#65706a;justify-content:space-between;align-items:center;gap:6px;min-height:26px;font-size:10px;display:flex}.calendar-edit-button{color:#356d53;background:#ffffffb8;flex:none;width:26px;height:26px}.calendar-event-actions{align-items:center;gap:4px;display:flex}.calendar-delete-button{color:#a55749;background:#ffffffb8;flex:none;width:26px;height:26px}.calendar-event>strong{text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:12px;overflow:hidden}.calendar-profile-button{width:100%;color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-size:12px;font-weight:750;display:block;overflow:hidden}.calendar-event>small{color:#6e7872;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.calendar-event-meta{color:#77807b;align-items:center;gap:6px;margin-top:10px;font-size:10px;display:flex}.event-join-link{color:#2c6d50;background:#ffffffc2;border-radius:4px;align-items:center;gap:4px;height:24px;margin-top:8px;padding:0 7px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.no-lessons{color:#b1b7b3;text-align:center;margin-top:18px;font-size:10px;display:block}.lesson-accountability-panel{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:14px;overflow-x:auto}.lesson-accountability-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-width:980px;min-height:96px;padding:16px 18px;display:flex}.lesson-accountability-panel h2{margin:4px 0 0;font-size:16px}.lesson-accountability-panel header p{color:#758078;max-width:560px;margin:4px 0 0;font-size:10px;line-height:15px}.accountability-metrics{border:1px solid #e0e6e2;border-radius:6px;grid-template-columns:repeat(5,minmax(76px,1fr));display:grid}.accountability-metrics>span{color:#77827b;border-left:1px solid #e6ebe8;min-width:78px;padding:9px 11px;font-size:9px}.accountability-metrics>span:first-child{border-left:0}.accountability-metrics strong{color:#27332d;margin-bottom:3px;font-size:15px;display:block}.accountability-metrics .attention{color:#985140;background:#fff7f4}.accountability-metrics .attention strong{color:#a44f3d}.accountability-table{min-width:1050px}.accountability-head,.accountability-row{grid-template-columns:minmax(145px,.8fr) minmax(155px,.9fr) minmax(160px,.9fr) minmax(210px,1.2fr) minmax(170px,1fr) 36px;align-items:center;gap:12px;padding:0 16px;display:grid}.accountability-head{color:#7e8982;text-transform:uppercase;background:#f8faf9;min-height:41px;font-size:9px;font-weight:800}.accountability-row{border-top:1px solid #edf0ee;min-height:76px}.accountability-person,.accountability-class{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.accountability-person{align-items:center;gap:9px;display:flex}.accountability-person>span{min-width:0}.accountability-person strong,.accountability-person small,.accountability-class strong,.accountability-class span,.accountability-row>div>strong,.accountability-row>div>span,.accountability-row>div>small{min-width:0;display:block}.accountability-person strong,.accountability-class strong,.accountability-row>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.accountability-person small,.accountability-class span,.accountability-row>div>span,.accountability-row>div>small{color:#7c8780;margin-top:4px;font-size:9px;line-height:13px}.punctuality{color:#2f7051;background:#e3f1e9;border-radius:4px;width:fit-content;padding:4px 7px;font-size:9px!important}.punctuality.late,.punctuality.very-late,.punctuality.no-join-logged{color:#8b4e40;background:#f8eae6}.punctuality.awaiting,.punctuality.not-required{color:#6e7772;background:#edf0ee}.session-history-state.completed{color:#2f7051;background:#e1f1e8}.session-history-state.scheduled{color:#356b86;background:#e5f0f6}.session-history-state.needs-review{color:#914c3c;background:#f8e8e4}.session-history-panel{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:14px;overflow:hidden}.session-history-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:16px 18px;display:flex}.session-history-panel h2{margin:4px 0 0;font-size:16px}.session-history-panel p{color:#77827b;margin:4px 0 0;font-size:10px;line-height:15px}.session-history-panel>header label{color:#647068;text-transform:uppercase;gap:5px;min-width:190px;font-size:10px;font-weight:800;display:grid}.session-history-table{min-width:920px}.session-history-head,.session-history-row{grid-template-columns:minmax(160px,1fr) minmax(150px,.9fr) minmax(145px,.8fr) 100px minmax(210px,1.3fr) 72px;align-items:center;gap:12px;padding:0 16px;display:grid}.session-history-head{color:#7f8983;text-transform:uppercase;background:#f8faf9;min-height:42px;font-size:9px;font-weight:800}.session-history-row{border-top:1px solid var(--line);min-height:72px}.history-person{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.history-person>span,.session-history-row>div>strong,.session-history-row>div>span{min-width:0;display:block}.history-person strong,.session-history-row>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.history-person small,.session-history-row>div>span{color:#7d8781;margin-top:3px;font-size:9px}.session-history-state{border-radius:4px;width:fit-content;padding:5px 8px;font-size:9px;font-weight:800}.session-history-state.cancelled{color:#83564e;background:#f5eae7}.session-history-state.postponed{color:#795d23;background:#fff2d6}.session-history-row>p{overflow-wrap:anywhere;color:#59665f;margin:0;font-size:10px;line-height:14px}.session-history-actions{justify-content:flex-end;gap:5px;display:flex}.session-history-empty{color:#7e8982;justify-content:center;align-items:center;gap:8px;min-height:86px;font-size:11px;display:flex}.session-history-panel{overflow-x:auto}.portal-hero{color:#f8fafc;background:#111827;border-radius:7px;grid-template-columns:1.25fr 1fr;align-items:center;gap:40px;min-height:220px;padding:34px 38px;display:grid}.portal-hero>div>span{color:#93c5fd;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}.portal-hero h2{margin:10px 0 5px;font-size:27px}.portal-hero p{color:#cbd5e1;margin:0 0 22px;font-size:13px}.portal-hero .primary-button{color:#fff;background:#2563eb}.portal-actions,.student-actions{flex-wrap:wrap;gap:8px;display:flex}.light-button{color:#f8fafc;background:#1e293b;border:1px solid #475569;border-radius:5px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.portal-hero-stats{grid-template-columns:repeat(3,1fr);display:grid}.portal-hero-stats div{border-left:1px solid #334155;padding:12px 18px}.portal-hero-stats strong,.portal-hero-stats span{display:block}.portal-hero-stats strong{font-size:22px}.portal-hero-stats span{color:#cbd5e1;margin-top:5px;font-size:10px}.portal-list{margin-top:16px}.student-card-grid{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.student-mini{background:#fff;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:76px;padding:14px 18px;display:grid}.student-mini strong,.student-mini span{display:block}.student-mini strong{font-size:12px}.student-mini span{color:#828b85;margin-top:4px;font-size:10px}.student-mini>svg{color:#4e886b}.student-portal-grid{grid-template-columns:1.2fr .8fr 1fr;gap:14px;display:grid}.next-lesson-block,.tutor-profile-block,.progress-block{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:300px;padding:28px}.next-lesson-block{background:#eff6ff;position:relative}.date-tile{color:#fff;background:var(--green);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:60px;height:64px;margin:28px 0 18px;display:flex}.date-tile strong{font-size:23px;line-height:25px}.date-tile span{text-transform:uppercase;font-size:11px}.next-lesson-block h2,.tutor-profile-block h2,.progress-block h2{margin:0 0 5px;font-size:19px}.next-lesson-block p,.tutor-profile-block p{color:#6f7973;margin:0 0 20px;font-size:12px}.tutor-profile-block{text-align:center;flex-direction:column;align-items:center;display:flex}.tutor-profile-block .eyebrow{align-self:flex-start}.tutor-profile-block .avatar{width:70px;height:70px;margin:32px 0 15px;font-size:18px}.progress-block h2{margin:18px 0 23px}.progress-line{grid-template-columns:1fr auto;gap:8px;margin-bottom:17px;font-size:11px;display:grid}.progress-line strong{font-size:12px}.progress-line i{background:#e9eeeb;border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.progress-line b{background:#2563eb;border-radius:3px;height:100%;display:block}.progress-note{border-top:1px solid var(--line);grid-template-columns:26px 1fr;gap:2px 8px;padding-top:17px;display:grid}.progress-note svg{color:var(--coral);grid-row:1/3}.progress-note span{color:#87908a;font-size:10px}.progress-note strong{font-size:12px}.curriculum-stack{gap:14px;display:grid}.curriculum-library-panel{border:1px solid var(--line);background:#fff;border-radius:7px;margin-bottom:14px;overflow:hidden}.curriculum-library-stats{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.curriculum-library-stats>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:75px;padding:13px 18px;display:flex}.curriculum-library-stats>div:last-child{border-right:0}.curriculum-library-stats strong{font-size:20px}.curriculum-library-stats span,.curriculum-results span{color:#7c8780;margin-top:3px;font-size:10px}.curriculum-library-filters{background:#f7f9f7;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(135px,1fr));gap:10px;padding:12px 16px;display:grid}.curriculum-library-filters label{color:#657169;gap:5px;min-width:0;font-size:10px;font-weight:750;display:grid}.curriculum-search{position:relative}.curriculum-search svg{color:#7d8982;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.curriculum-search input{width:100%;padding-left:33px}.curriculum-results{border-top:1px solid var(--line);justify-content:flex-end;align-items:baseline;gap:5px;min-height:34px;padding:8px 16px;display:flex}.curriculum-results strong{font-size:13px}.curriculum-card{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.curriculum-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:94px;padding:18px 20px;display:flex}.curriculum-title{align-items:center;gap:13px;min-width:0;display:flex}.curriculum-title-button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.curriculum-title-button:hover h2{color:var(--green)}.curriculum-icon{color:#1d4ed8;background:#dbeafe;border-radius:6px;flex:none;place-items:center;width:42px;height:42px;display:grid}.curriculum-title>div:last-child{min-width:0}.curriculum-title span,.curriculum-title p{color:#7d8781;font-size:10px;display:block}.curriculum-title h2{margin:4px 0;font-size:16px}.curriculum-title p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.curriculum-controls{align-items:center;gap:8px;display:flex}.curriculum-controls select{min-width:170px}.curriculum-allocate-button{white-space:nowrap;gap:6px;min-height:36px}.curriculum-toggle{flex:none}.curriculum-class-map{border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.curriculum-class-map button{min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px 12px;display:grid}.curriculum-class-map button:hover{background:#f8fbff}.curriculum-class-map button.active{background:#eff6ff;box-shadow:inset 3px 0 #2563eb}.curriculum-class-map button>span,.curriculum-class-map strong,.curriculum-class-map small{min-width:0;display:block}.curriculum-class-map strong,.curriculum-class-map small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-class-map strong{font-size:11px}.curriculum-class-map small{color:#7d8781;margin-top:3px;font-size:9px}.curriculum-class-map button>svg{color:#7b8780}.curriculum-summary{background:#f8faf8;grid-template-columns:165px minmax(160px,1fr) auto;align-items:center;gap:17px;min-height:66px;padding:12px 20px;display:grid}.curriculum-summary>div:first-child{align-items:baseline;gap:8px;display:flex}.curriculum-summary strong{font-size:18px}.curriculum-summary span{color:#7c8580;font-size:10px}.curriculum-source{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#5f6f66;background:#fbfcfb;align-items:center;gap:7px;min-height:38px;padding:8px 20px;font-size:10px;display:flex}.curriculum-source svg{color:#3b7a5c}.curriculum-source a{color:#2f7253;align-items:center;gap:4px;margin-left:auto;font-weight:750;text-decoration:none;display:inline-flex}.wide-progress{background:#e2e8e4;border-radius:4px;height:7px;overflow:hidden}.wide-progress i{background:#2563eb;border-radius:4px;height:100%;display:block}.module-list{padding:2px 20px 8px}.module-group{border-bottom:1px solid #edf0f4}.module-group:last-child{border-bottom:0}.module-row{border-bottom:1px solid #edf0ee;grid-template-columns:30px minmax(180px,1.3fr) minmax(120px,.65fr) minmax(120px,.7fr);align-items:center;gap:14px;min-height:72px;display:grid}.module-group>.module-row{border-bottom:0}.module-index{color:#718079;background:#edf1ee;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:grid}.module-index.complete{color:#fff;background:var(--green)}.module-copy strong,.module-copy span{display:block}.module-copy strong{font-size:12px}.module-copy span{color:#858e88;margin-top:4px;font-size:10px}.module-copy small{color:#2563eb;margin-top:6px;font-size:10px;font-weight:750;display:block}.module-copy-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.module-copy-button:disabled{cursor:default}.module-progress{grid-template-columns:1fr 30px;align-items:center;gap:8px;display:grid}.module-progress>div{background:#e6ebe8;border-radius:3px;height:5px;overflow:hidden}.module-progress i{background:#2563eb;border-radius:3px;height:100%;display:block}.module-progress strong{text-align:right;font-size:10px}.module-row input[type=range]{height:auto;accent-color:var(--green);border:0;padding:0}.module-subtopic-toggle{justify-self:end}.curriculum-subtopic-list{background:#f8fbff;border:1px solid #dbe5f1;border-radius:6px;margin:0 0 10px 43px;overflow:hidden}.curriculum-subtopic-row{border-bottom:1px solid #e7edf5;grid-template-columns:22px minmax(180px,1.35fr) minmax(120px,.65fr) minmax(120px,.7fr);align-items:center;gap:14px;min-height:54px;padding:8px 12px;display:grid}.curriculum-subtopic-row:last-child{border-bottom:0}.curriculum-subtopic-row>span:first-child{color:#94a3b8;background:#e2e8f0;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.curriculum-subtopic-row>span:first-child.complete{color:#fff;background:#2563eb}.curriculum-subtopic-row>strong{font-size:11px;font-weight:700}.curriculum-subtopic-row input[type=range]{accent-color:#2563eb;border:0;height:auto;padding:0}.topic-state{border-radius:10px;justify-self:end;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.topic-state.done{color:#26694d;background:#e1f1e8}.topic-state.active{color:#355f78;background:#e4eef4}.topic-state.upcoming{color:#7b827e;background:#edf0ee}.curriculum-modal,.curriculum-allocation-modal,.curriculum-editor-modal{width:min(900px,100%)}.curriculum-allocation-modal .modal-header p{color:#78827c;margin:5px 0 0;font-size:11px}.curriculum-editor-modal .modal-header p{color:#78827c;max-width:590px;margin:5px 0 0;font-size:11px}.curriculum-editor-details{gap:13px;display:grid}.curriculum-topic-editor{border:1px solid var(--line);border-radius:6px;overflow:hidden}.curriculum-topic-editor>header{border-bottom:1px solid var(--line);background:#f7f9f7;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:9px 12px 9px 15px;display:flex}.curriculum-topic-editor>header strong,.curriculum-topic-editor>header span{display:block}.curriculum-topic-editor>header strong{font-size:12px}.curriculum-topic-editor>header span{color:#7d8781;margin-top:3px;font-size:10px}.curriculum-topic-list{max-height:390px;padding:4px 10px;overflow-y:auto}.curriculum-topic-edit-row{border-bottom:1px solid #edf0ee;grid-template-columns:25px minmax(0,1fr) 34px;align-items:start;gap:9px;min-height:92px;padding:9px 0;display:grid}.curriculum-topic-edit-row:last-child{border-bottom:0}.curriculum-topic-edit-row>span{color:#66736c;background:#edf1ee;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.curriculum-topic-edit-row>div:nth-child(2){gap:6px;display:grid}.curriculum-topic-edit-row textarea{resize:vertical;min-height:46px}.subtopic-editor-label{gap:5px;padding-top:3px;display:grid}.subtopic-editor-label>span{color:#64748b;font-size:10px;font-weight:750}.subtopic-editor-label textarea{background:#f8fafc;min-height:72px}.curriculum-topic-edit-row>div:last-child{gap:3px;display:grid}.curriculum-topic-edit-row .icon-button{width:31px;height:27px}.curriculum-topic-edit-row .icon-button:disabled{opacity:.35;cursor:default}.allocation-grid{grid-template-columns:1fr 1fr;gap:12px;padding:20px 22px;display:grid}.create-allocation-grid{padding:0}.allocation-picker{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;overflow:hidden}.allocation-picker>header{border-bottom:1px solid var(--line);background:#f7f9f7;justify-content:space-between;align-items:center;gap:10px;min-height:51px;padding:8px 10px 8px 13px;display:flex}.allocation-picker>header>div:first-child strong,.allocation-picker>header>div:first-child span{display:block}.allocation-picker>header>div:first-child strong{font-size:12px}.allocation-picker>header>div:first-child span{color:#7d8781;margin-top:3px;font-size:10px}.allocation-picker>header>div:last-child{justify-content:flex-end;align-items:center;gap:4px;display:flex}.allocation-picker>header button{color:#4c6758;cursor:pointer;background:#fff;border:1px solid #d5dfd9;border-radius:4px;min-height:27px;padding:0 7px;font-size:9px;font-weight:750}.allocation-picker>header button:disabled{color:#a4aca7;cursor:default}.allocation-options{max-height:255px;padding:5px 9px;overflow-y:auto}.allocation-options label{cursor:pointer;border-bottom:1px solid #edf0ee;border-radius:4px;grid-template-columns:18px 30px minmax(0,1fr);align-items:center;gap:8px;min-height:50px;padding:5px 7px;display:grid}.allocation-options label:last-of-type{border-bottom:0}.allocation-options label.selected{background:#eff6ff}.allocation-options input{width:15px;height:15px;accent-color:var(--green);padding:0}.allocation-options label>span strong,.allocation-options label>span small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.allocation-options label>span strong{color:var(--ink);font-size:11px}.allocation-options label>span small{color:#7f8983;margin-top:3px;font-size:9px}.allocation-empty{color:#88918c;text-align:center;padding:22px 10px;font-size:10px;display:block}.allocation-footer{border-top:1px solid var(--line);background:#fafbfa;justify-content:space-between;align-items:center;gap:15px;min-height:70px;padding:12px 22px;display:flex}.allocation-footer>div{align-items:baseline;gap:5px;display:flex}.allocation-footer>div:last-child{gap:8px}.allocation-footer strong{font-size:17px}.allocation-footer span{color:#7d8781;margin-right:10px;font-size:10px}.allocation-explainer{color:#347153;background:#f3f9f5;border:1px solid #d7e6dc;border-radius:5px;align-items:flex-start;gap:10px;margin:18px 22px 0;padding:12px 14px;display:flex}.allocation-explainer.compact,.allocation-explainer p{margin:0}.allocation-explainer strong,.allocation-explainer span{display:block}.allocation-explainer strong{color:#2d5f49;font-size:11px}.allocation-explainer span{color:#718079;margin-top:3px;font-size:10px;line-height:13px}.class-allocation-wrap{padding:12px 22px 20px}.class-allocation-picker{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;overflow:hidden}.class-allocation-picker>header{border-bottom:1px solid var(--line);background:#f7f9f7;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:9px 11px 9px 14px;display:flex}.class-allocation-picker>header>div:first-child strong,.class-allocation-picker>header>div:first-child span{display:block}.class-allocation-picker>header>div:first-child strong{font-size:12px}.class-allocation-picker>header>div:first-child span{color:#7d8781;margin-top:3px;font-size:10px}.class-allocation-picker>header>div:last-child{justify-content:flex-end;align-items:center;gap:5px;display:flex}.class-allocation-picker>header button{color:#3f6753;cursor:pointer;background:#fff;border:1px solid #d5dfd9;border-radius:4px;min-height:28px;padding:0 8px;font-size:10px;font-weight:750}.class-allocation-picker>header button:disabled{color:#a0aaa4;cursor:default}.class-allocation-search{background:#fbfcfb;border-bottom:1px solid #edf0ee;padding:8px 9px;position:relative}.class-allocation-search svg{color:#7d8982;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.class-allocation-search input{padding-left:34px}.class-allocation-options{max-height:300px;padding:5px 9px;overflow-y:auto}.class-allocation-options label{cursor:pointer;border-bottom:1px solid #edf0ee;border-radius:4px;grid-template-columns:18px 30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:55px;padding:6px 8px;display:grid}.class-allocation-options label:last-of-type{border-bottom:0}.class-allocation-options label.selected{background:#eff6ff}.class-allocation-options input{width:15px;height:15px;accent-color:var(--green);padding:0}.class-allocation-options label>span:not(.avatar),.class-allocation-options strong,.class-allocation-options small{min-width:0;display:block}.class-allocation-options strong,.class-allocation-options small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-allocation-options strong{font-size:11px}.class-allocation-options small{color:#78837c;margin-top:3px;font-size:10px}.class-match-state{color:#356d51;background:#dff0e6;border-radius:9px;width:max-content;padding:4px 6px;font-size:9px;font-weight:750}.class-allocation-options label.different-subject .class-match-state{color:#8a651e;background:#f7edcf}.settings-layout{grid-template-columns:190px minmax(0,1fr);gap:14px;display:grid}.settings-nav{border:1px solid var(--line);background:#fff;border-radius:7px;flex-direction:column;align-self:start;gap:4px;padding:8px;display:flex}.settings-nav button{color:#6e7972;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;min-height:39px;padding:0 10px;font-size:12px;font-weight:700;display:flex}.settings-nav button.active{color:#1d4ed8;background:#eff6ff}.settings-content{gap:14px;display:grid}.settings-section{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.settings-form{gap:15px;padding:18px 20px 20px;display:grid}.settings-form.compact-form{border-top:1px solid var(--line)}.settings-form label{color:#56615a;gap:6px;font-size:11px;font-weight:750;display:grid}.saved-note{color:#3f795d;align-items:center;gap:6px;font-size:10px;display:flex}.integration-list{padding:2px 20px 8px}.integration-row{border-bottom:1px solid #edf0ee;grid-template-columns:38px minmax(170px,.9fr) minmax(230px,1.2fr) 58px;align-items:center;gap:12px;min-height:86px;display:grid}.integration-row:last-child{border-bottom:0}.integration-logo{color:#3f708d;background:#e4eef4;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.integration-row>div:nth-child(2) strong,.integration-row>div:nth-child(2) span{display:block}.integration-row>div:nth-child(2) strong{font-size:12px}.integration-row>div:nth-child(2) span{color:#818a84;margin-top:4px;font-size:10px}.integration-row label{align-items:center;display:flex;position:relative}.integration-row label svg{color:#829089;position:absolute;left:10px}.integration-row input{padding-left:32px}.connection-pill{color:#777f7a;text-align:center;background:#edf0ee;border-radius:10px;padding:5px 7px;font-size:10px;font-weight:750}.connection-pill.connected{color:#24694c;background:#e0f1e7}.integration-help{color:#7f8983;margin:0;font-size:10px;line-height:14px}.link-policy{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.link-policy>div{color:#367356;background:#fff;align-items:flex-start;gap:11px;min-height:125px;padding:22px;display:flex}.link-policy p{margin:0}.link-policy strong,.link-policy span{display:block}.link-policy strong{color:var(--ink);font-size:12px}.link-policy span{color:#758079;margin-top:5px;font-size:10px;line-height:14px}.access-summary{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.access-summary>div{color:#3c765a;background:#fff;justify-content:center;align-items:center;gap:10px;min-height:90px;padding:15px;display:flex}.access-summary span,.access-summary strong{display:block}.access-summary span{color:#7e8781;font-size:10px}.access-summary strong{color:var(--ink);font-size:19px}.access-note{border-top:1px solid var(--line);color:#397257;background:#f6faf7;gap:10px;padding:16px 20px;display:flex}.access-note p{margin:0}.access-note strong,.access-note span{display:block}.access-note strong{font-size:11px}.access-note span{color:#6f7c74;margin-top:4px;font-size:10px;line-height:14px}.profile-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-section-heading h4{margin:0}.profile-section-heading a{color:var(--green);align-items:center;gap:5px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.portal-credential-row,.temporary-password{background:#f8faf8;border:1px solid #e0e6e2;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:11px 12px;display:flex}.portal-credential-row span,.portal-credential-row strong,.temporary-password span,.temporary-password strong,.temporary-password small{display:block}.portal-credential-row span,.temporary-password span{color:#7c8780;font-size:10px}.portal-credential-row strong,.temporary-password strong{margin-top:4px;font-size:13px}.temporary-password{background:#f1f8f4;border-color:#cfe3d7}.temporary-password strong{color:#276344;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.temporary-password small{color:#748078;margin-top:4px;font-size:10px}.portal-reset-button{margin-top:10px}.access-directory{border-top:1px solid var(--line)}.access-directory>header{background:#fafbfa;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.access-directory>header strong{font-size:11px}.access-directory>header span{color:#7d8781;font-size:10px}.access-directory>div{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.access-directory button{min-height:55px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:8px 13px;display:grid}.access-directory button:hover{background:#f1f8f4}.access-directory button>span,.access-directory button strong,.access-directory button small{min-width:0;display:block}.access-directory button strong,.access-directory button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-directory button strong{font-size:11px}.access-directory button small{color:#7d8781;margin-top:3px;font-size:10px}.access-directory button>svg{color:#397357}.portal-access-manager{border-top:1px solid var(--line)}.portal-access-toolbar{background:#fafbfa;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:8px 16px;display:flex}.portal-access-tools{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portal-access-tools>span{color:#77827b;font-size:10px}.portal-access-tools .secondary-button{white-space:nowrap;gap:6px;min-height:34px}.portal-access-table{overflow-x:auto}.portal-access-head,.portal-access-row{grid-template-columns:minmax(180px,1.15fr) minmax(135px,.8fr) minmax(150px,.9fr) 120px 170px;align-items:center;gap:12px;min-width:850px;padding:0 16px;display:grid}.portal-access-head{color:#818b85;text-transform:uppercase;background:#f6f8f6;min-height:36px;font-size:10px;font-weight:750}.portal-access-row{border-top:1px solid #edf0ee;min-height:68px}.portal-access-person{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:grid}.portal-access-person>span,.portal-access-person strong,.portal-access-person small{min-width:0;display:block}.portal-access-person strong,.portal-access-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-access-person strong{font-size:11px}.portal-access-person small{color:#7f8983;margin-top:3px;font-size:10px}.credential-cell{align-items:center;gap:6px;min-width:0;display:flex}.credential-cell strong{color:#34443b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.credential-cell .visible-password{color:#286548}.credential-cell .hidden-password{color:#8a938e;font-family:inherit;font-weight:650}.access-state{border-radius:10px;width:max-content;padding:5px 7px;font-size:10px;font-weight:750}.access-state.active{color:#27694c;background:#e0f1e7}.access-state.temporary{color:#805f20;background:#f7edcf}.access-state.missing{color:#7d8580;background:#ecefed}.generate-credentials-button{white-space:nowrap;justify-self:end;gap:6px;min-height:34px}.generate-credentials-button:disabled{opacity:.62;cursor:wait}.access-error{margin:12px 16px}.portal-access-loading{color:#7b8580;text-align:center;padding:32px 16px;font-size:11px}.credential-security-note{border-top:1px solid var(--line);color:#3b7358;background:#f7faf8;align-items:flex-start;gap:8px;padding:13px 16px;display:flex}.credential-security-note span{color:#707d75;font-size:10px;line-height:13px}.confirm-panel{text-align:center;background:#fff;border-radius:7px;width:min(430px,100%);padding:28px;position:relative;box-shadow:0 20px 60px #0a171040}.danger-icon{color:#a84f40;background:#f9e7e2;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 13px;display:grid}.confirm-panel h2{margin:0;font-size:19px}.confirm-panel p{color:#737d77;max-width:330px;margin:9px auto 22px;font-size:12px;line-height:16px}.confirm-panel .modal-actions{justify-content:center}.delete-button{color:#fff;cursor:pointer;background:#b65041;border:1px solid #a94638;border-radius:5px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:13px;font-weight:750;display:inline-flex}.modal-panel textarea{resize:vertical;color:#36413a;width:100%;font:inherit;background:#fff;border:1px solid #dce1de;border-radius:5px;padding:10px;font-size:13px;line-height:17px}.modal-panel select[multiple]{height:auto;padding:5px}.modal-panel select[multiple] option{padding:5px}.field-help{color:#89928c;font-size:10px;font-weight:500}.meeting-inherited{color:#347153;background:#f4faf6;border:1px solid #dce8e1;border-radius:5px;align-items:flex-start;gap:10px;padding:11px;display:flex}.meeting-inherited strong,.meeting-inherited span{display:block}.meeting-inherited strong{font-size:11px}.meeting-inherited span{color:#78847d;margin-top:3px;font-size:10px;line-height:13px}.session-pattern-field{border:0;min-width:0;margin:0;padding:0}.session-pattern-field legend{color:#525e57;margin-bottom:6px;font-size:12px;font-weight:700}.session-pattern-control{background:#f4f7f5;border:1px solid #dce2de;border-radius:5px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.session-pattern-control button{color:#6e7972;cursor:pointer;background:0 0;border:0;border-radius:3px;min-height:34px;font-size:12px;font-weight:750}.session-pattern-control button.active{color:#fff;background:#34785a;box-shadow:0 1px 3px #1636262e}.recurring-days-field{border:0;min-width:0;margin:0;padding:0}.recurring-days-field legend{color:#525e57;margin-bottom:7px;font-size:12px;font-weight:700}.recurring-days-field>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.recurring-days-field button{color:#6d7871;cursor:pointer;background:#fff;border:1px solid #d7dfda;border-radius:4px;min-height:34px;padding:0 4px;font-size:11px;font-weight:750}.recurring-days-field button.active{color:#fff;background:#34785a;border-color:#34785a}.schedule-timezone,.recurrence-summary{color:#617169;align-items:center;gap:7px;font-size:11px;display:flex}.schedule-timezone{margin-top:-7px}.recurrence-summary{background:#f8faf8;border:1px solid #e1e7e3;border-radius:5px;padding:10px 12px}.recurrence-summary strong{color:#2f6048}.schedule-form-error{color:#983f34;background:#fff3f0;border:1px solid #efc7be;border-radius:5px;padding:9px 11px;font-size:12px;font-weight:650}.timezone-conversion-preview{color:#315f79;background:#f3f8fb;border:1px solid #c9dceb;border-radius:5px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.timezone-conversion-preview strong,.timezone-conversion-preview span{display:block}.timezone-conversion-preview strong{font-size:11px}.timezone-conversion-preview span{color:#637984;margin-top:3px;font-size:10px;line-height:13px}.billing-fields{background:#f8faf8;border:1px solid #e1e6e3;border-radius:5px;grid-template-columns:1fr 1fr;gap:10px;padding:12px;display:grid}.billing-fields>div{min-width:0}.billing-fields>div>span{color:#347153;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.rate-row{grid-template-columns:minmax(0,1fr) 96px;gap:7px;display:grid}.class-assignment-head,.class-assignment-row{grid-template-columns:1.1fr .8fr 1fr 1.1fr 80px;align-items:center;gap:16px;padding:0 18px;display:grid}.class-assignment-head{color:#89928c;text-transform:uppercase;letter-spacing:.08em;background:#f7f9f7;min-height:38px;font-size:10px;font-weight:750}.class-assignment-row{border-top:1px solid #edf0ee;min-height:76px}.class-assignment-row strong,.class-assignment-row span{display:block}.class-assignment-row strong{font-size:12px}.class-assignment-row span:not(.avatar):not(.provider-pill){color:#838c86;margin-top:3px;font-size:10px}.meeting-cell{align-items:center;gap:9px;display:flex}.meeting-cell a{color:var(--green);align-items:center;gap:4px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.class-assignment-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.provider-pill{white-space:nowrap;background:#e5f0f6;border-radius:10px;align-items:center;gap:5px;width:max-content;padding:5px 7px;font-weight:750;color:#356b86!important;font-size:10px!important;display:inline-flex!important}.student-subjects-block{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:300px;padding:28px}.student-subject-row{border-bottom:1px solid #edf0ee;grid-template-columns:28px 1fr 28px;align-items:center;gap:8px;min-height:54px;display:grid}.student-subject-row strong,.student-subject-row span{display:block}.student-subject-row strong{font-size:12px}.student-subject-row span{color:#848d87;margin-top:3px;font-size:10px}.student-subject-row a{color:var(--green)}.no-subjects{color:#8a938d;margin-top:35px;font-size:11px}.notification-admin-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:14px;display:grid}.notification-composer,.notification-delivery-summary,.notification-log{border:1px solid var(--line);background:#fff;border-radius:7px}.notification-composer>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:68px;padding:14px 18px;display:flex}.notification-composer>header h2,.notification-log>header h2{margin:4px 0 0;font-size:17px}.notification-compose-icon{color:#1d4ed8;background:#e8f1ff;border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.notification-compose-icon.reminder{color:#267052;background:#e3f3ea}.notification-form-grid{grid-template-columns:1fr 1fr;gap:13px;padding:18px;display:grid}.notification-form-grid label{color:#525e57;gap:6px;font-size:12px;font-weight:750;display:grid}.notification-form-grid label.wide{grid-column:1/-1}.notification-form-grid textarea{min-height:112px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #d8ded9;border-radius:5px;padding:10px;line-height:1.5}.notification-recipient-picker{border:1px solid #dce3de;border-radius:6px;margin:0 18px 18px;overflow:hidden}.notification-recipient-picker>header{background:#f7f9f7;border-bottom:1px solid #e4e9e6;justify-content:space-between;align-items:center;gap:12px;min-height:49px;padding:8px 12px;display:flex}.notification-recipient-picker>header strong,.notification-recipient-picker>header span{display:block}.notification-recipient-picker>header strong{font-size:12px}.notification-recipient-picker>header span{color:#7e8882;margin-top:2px;font-size:10px}.notification-recipient-picker>header button{color:#1d4ed8;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:750}.notification-recipient-picker>div{background:#e9eeeb;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-height:245px;display:grid;overflow-y:auto}.notification-recipient-picker label{color:#4f5b54;cursor:pointer;background:#fff;grid-template-columns:18px 30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:9px 10px;display:grid}.notification-recipient-picker label.selected{background:#eff6ff}.notification-recipient-picker input{width:16px;height:16px}.notification-recipient-picker label strong,.notification-recipient-picker label small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.notification-recipient-picker label strong{font-size:11px}.notification-recipient-picker label small{color:#849089;margin-top:2px;font-size:9px}.notification-composer>.login-error{margin:0 18px 14px}.notification-composer>footer{border-top:1px solid var(--line);background:#fafbfa;justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.notification-delivery-summary{padding:18px}.notification-delivery-summary>div{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;min-height:65px;display:flex}.notification-delivery-summary>div strong{font-size:24px}.notification-delivery-summary>div span{color:#738078;font-size:11px;font-weight:700}.notification-delivery-summary p{color:#76827a;margin:16px 0 0;font-size:11px;line-height:17px}.notification-log{margin-top:14px;overflow:hidden}.notification-log>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;min-height:66px;padding:13px 18px;display:flex}.notification-log>header>span{color:#7d8881;font-size:11px}.notification-log>div>article{border-bottom:1px solid #e9eeeb;grid-template-columns:38px minmax(0,1fr) 72px auto;align-items:center;gap:14px;min-height:112px;padding:15px 18px;display:grid}.notification-log>div>article:last-child{border-bottom:0}.notification-log>div>article.important{box-shadow:inset 3px 0 #d4664f}.notification-log-icon,.portal-notification-icon{color:#1d4ed8;background:#e8f1ff;border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.notification-log-copy>div{align-items:center;gap:6px;display:flex}.notification-log-copy>div span,.notification-log-copy>div b,.notification-log-copy>div i{text-transform:uppercase;border-radius:3px;padding:3px 6px;font-size:9px;font-style:normal}.notification-log-copy>div span{color:#2f7152;background:#e8f4ed}.notification-log-copy>div b{color:#9b4b3e;background:#fff0ec}.notification-log-copy>div i{color:#56645c;background:#eef1ef}.notification-log-copy h3{margin:7px 0 4px;font-size:14px}.notification-log-copy p{color:#59655e;white-space:pre-wrap;max-width:850px;margin:0 0 7px;font-size:12px;line-height:18px}.notification-log-copy small{color:#89938d;font-size:10px}.notification-read-state{text-align:center}.notification-read-state strong,.notification-read-state span{display:block}.notification-read-state strong{font-size:17px}.notification-read-state span{color:#808b84;text-transform:uppercase;margin-top:3px;font-size:9px}.notification-log-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.delete-button.compact{min-height:34px;padding:0 9px}.notification-preview-summary{color:#2f7152;background:#f3faf6;border:1px solid #cfe0d6;border-radius:7px;align-items:center;gap:11px;min-height:70px;margin-bottom:12px;padding:14px 17px;display:flex}.notification-preview-summary strong,.notification-preview-summary span{display:block}.notification-preview-summary strong{font-size:14px}.notification-preview-summary span{color:#6f7c74;margin-top:3px;font-size:11px}.portal-notification-toolbar{border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;min-height:69px;margin-bottom:12px;padding:13px 16px;display:flex}.portal-notification-toolbar p{color:#68756d;margin:4px 0 0;font-size:12px}.portal-notification-toolbar>div:last-child{gap:8px;display:flex}.portal-alert-status{color:#2f7152;background:#f3faf6;border:1px solid #cfe0d6;border-radius:6px;align-items:center;gap:7px;min-height:38px;margin-bottom:10px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.portal-notification-error{margin-bottom:10px}.portal-notification-list{gap:10px;display:grid}.portal-notification-list>article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:14px;min-height:112px;padding:17px;display:grid}.portal-notification-list>article.unread{border-color:#b9cffd;box-shadow:inset 3px 0 #2563eb}.portal-notification-list>article.important{border-color:#edc9c1;box-shadow:inset 3px 0 #d4664f}.portal-notification-list>article.read{opacity:.78}.portal-notification-list>article>div:nth-child(2)>header{align-items:center;gap:6px;display:flex}.portal-notification-list>article>div:nth-child(2)>header span,.portal-notification-list>article>div:nth-child(2)>header b,.portal-notification-list>article>div:nth-child(2)>header i{text-transform:uppercase;font-size:9px;font-style:normal}.portal-notification-list>article>div:nth-child(2)>header span{color:#2f7152}.portal-notification-list>article>div:nth-child(2)>header b{color:#9b4b3e;background:#fff0ec;padding:2px 5px}.portal-notification-list>article>div:nth-child(2)>header i{color:#1d4ed8;background:#eff6ff;padding:2px 5px}.portal-notification-list h2{margin:7px 0 5px;font-size:16px}.portal-notification-list p{color:#57645c;white-space:pre-wrap;margin:0 0 8px;font-size:12px;line-height:19px}.portal-notification-list small{color:#88928c;font-size:10px}.portal-notification-list>article>button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #cbd9ff;border-radius:5px;align-items:center;gap:5px;min-height:33px;padding:0 10px;font-size:10px;font-weight:750;display:inline-flex}.portal-notification-list>article>button:disabled{opacity:.5;cursor:not-allowed}.portal-notification-list.embedded{margin-bottom:30px}.activity-summary{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid;overflow:hidden}.activity-summary>article{border-left:1px solid #e5eae7;flex-direction:column;justify-content:center;min-width:0;min-height:96px;padding:16px 19px;display:flex}.activity-summary>article:first-child{border-left:0}.activity-summary span,.activity-summary strong,.activity-summary small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.activity-summary span{color:#77837b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:750}.activity-summary strong{color:#1d2a22;margin:6px 0 4px;font-size:20px;line-height:24px}.activity-summary small{color:#7a857e;font-size:11px}.activity-log-layout{grid-template-columns:minmax(230px,270px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.activity-user-list,.activity-stream-panel{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.activity-user-list>header,.activity-stream-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:14px 17px;display:flex}.activity-user-list h2,.activity-stream-panel h2{margin:4px 0 0;font-size:17px}.activity-user-list>header>span,.activity-stream-panel>header>span{color:#7c8880;font-size:11px;font-weight:750}.activity-user-search{color:#7b867f;background:#fafcfb;border:1px solid #dce3de;border-radius:5px;align-items:center;gap:7px;min-height:43px;margin:12px;padding:0 10px;display:flex}.activity-user-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.activity-user-options{border-top:1px solid #edf0ee;max-height:min(620px,100vh - 320px);overflow-y:auto}.activity-user-options>button{color:#455149;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:61px;padding:9px 13px;display:grid}.activity-user-options>button:hover,.activity-user-options>button.selected{background:#f1f8f4}.activity-user-options>button.selected{box-shadow:inset 3px 0 #267052}.activity-user-options span{min-width:0}.activity-user-options strong,.activity-user-options small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.activity-user-options strong{color:#2a362e;font-size:12px}.activity-user-options small{color:#7b877f;margin-top:3px;font-size:10px}.activity-user-options i{color:#2f7152;background:#e1f2e8;border-radius:50%;place-items:center;min-width:26px;height:26px;font-size:10px;font-style:normal;font-weight:800;display:grid}.activity-user-options i.admin{color:#1d4ed8;background:#e8f0ff}.activity-user-options i.tutor{color:#9a4b38;background:#fff0ea}.activity-stream-panel>header{align-items:flex-start;min-height:82px}.activity-stream-panel>header p{color:#758078;margin:4px 0 0;font-size:11px;line-height:16px}.activity-error{margin:12px}.activity-stream>article{border-bottom:1px solid #edf0ee;grid-template-columns:38px minmax(0,1fr) minmax(120px,180px);align-items:center;gap:13px;min-height:94px;padding:14px 17px;display:grid}.activity-event-icon{color:#286f51;background:#e2f3e9;border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.activity-event.admin .activity-event-icon{color:#1d4ed8;background:#e8f0ff}.activity-event.tutor .activity-event-icon{color:#a34d39;background:#fff0ea}.activity-event.system .activity-event-icon{color:#6b7280;background:#eef1f0}.activity-event-copy{min-width:0}.activity-event-copy>div{align-items:center;gap:6px;display:flex}.activity-event-copy>div b{color:#334139;font-size:11px}.activity-event-copy>div span{color:#65716a;text-transform:uppercase;background:#f0f3f1;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:750}.activity-event-copy h3{color:#1f2c24;margin:5px 0 3px;font-size:13px}.activity-event-copy p{color:#667269;white-space:pre-wrap;margin:4px 0 0;font-size:11px;line-height:16px}.activity-target{color:#267052;min-height:22px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:11px;font-weight:750;display:inline-flex}button.activity-target{cursor:pointer}.activity-target.static{color:#5f6b63}.activity-event time{color:#7c8780;text-align:right;font-size:10px;line-height:15px}.activity-stream-panel>footer{background:#fafcfb;justify-content:center;padding:13px;display:flex}.activity-empty{color:#7b867f;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:180px;padding:22px;font-size:12px;display:flex}.activity-empty strong{color:#435047;font-size:14px}.activity-empty span{max-width:360px;line-height:18px}.activity-refresh:disabled{cursor:wait}.activity-refresh.refreshing svg{animation:.8s linear infinite activity-refresh-spin}@keyframes activity-refresh-spin{to{transform:rotate(360deg)}}.portal-loading{color:#76807a;background:#f5f7f5;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:100dvh;font-size:13px;display:flex}.portal-loading img{object-fit:cover;border-radius:8px;width:58px;height:58px}.portal-login-shell{background:#f6f8f6;grid-template-columns:minmax(420px,1fr) minmax(360px,.85fr);min-height:100dvh;display:grid}.portal-login-shell.single{grid-template-columns:minmax(320px,560px);justify-content:center}.portal-login-panel{border:1px solid var(--line);background:#fff;border-radius:7px;place-self:center;width:min(440px,100% - 48px);padding:36px;box-shadow:0 18px 50px #1a2c2214}.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding-bottom:28px;display:flex}.login-brand img{object-fit:cover;border-radius:6px;width:42px;height:42px}.login-brand span{color:#717c75;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:750}.login-copy{padding:30px 0 22px}.login-copy h1{margin:5px 0 8px;font-size:25px;line-height:32px}.login-copy p{color:#768079;margin:0;font-size:12px;line-height:17px}.portal-login-panel form{gap:15px;display:grid}.portal-login-panel form>label{color:#4e5b53;gap:6px;font-size:11px;font-weight:750;display:grid}.password-field{position:relative}.password-field input{padding-right:42px}.password-field button{color:#718079;cursor:pointer;background:0 0;border:0;place-items:center;width:39px;display:grid;position:absolute;inset:1px 1px 1px auto}.portal-login-button{color:#fff;cursor:pointer;background:#4f6ff4;border:1px solid #294fc9;border-radius:5px;min-height:42px;margin-top:3px;font-size:13px;font-weight:750}.portal-login-secondary{color:#53605a;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:13px;font-weight:700;display:inline-flex}.login-error{color:#9b4135;background:#fbeae6;border-radius:4px;padding:9px 10px;font-size:11px}.login-help{border-top:1px solid var(--line);color:#78847d;align-items:center;gap:7px;margin-top:22px;padding-top:17px;font-size:10px;display:flex}.login-aside{color:#eef2ff;background:#202a59;flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-aside>span{color:#9faee9;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:750}.login-aside h2{max-width:460px;margin:13px 0 37px;font-size:34px;line-height:43px}.login-aside>div{color:#c7d0f5;align-items:center;gap:10px;margin-bottom:16px;font-size:12px;display:flex}.standalone-portal{background:#f8fafc;grid-template-columns:220px minmax(0,1fr);width:100%;max-width:none;min-height:100dvh;display:grid}.portal-preview-toolbar{z-index:55;background:#fffffff7;border-bottom:1px solid #d9e1dc;align-items:center;gap:12px;min-height:58px;padding:9px 170px 9px 18px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0f172a0f}.portal-preview-toolbar>div:first-child{color:#2f7152;white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.portal-preview-role{background:#f5f7f5;border:1px solid #d8e0db;border-radius:6px;padding:3px;display:inline-flex}.portal-preview-role button{color:#65716a;cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:30px;padding:0 11px;font-size:11px;font-weight:750}.portal-preview-role button.active{color:#fff;background:#1d4ed8}.portal-preview-toolbar label{color:#728078;text-transform:uppercase;align-items:center;gap:7px;min-width:210px;margin-left:auto;font-size:10px;font-weight:750;display:flex}.portal-preview-toolbar select{color:#26332c;min-width:150px;height:34px;font:inherit;text-transform:none;background:#fff;border:1px solid #d8e0db;border-radius:5px;flex:1;font-size:12px}.portal-preview-return{color:#1d4ed8;cursor:pointer;white-space:nowrap;background:#eff6ff;border:1px solid #c9d9ff;border-radius:5px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:11px;font-weight:750;display:inline-flex}.portal-preview-toolbar+.standalone-portal{min-height:calc(100vh - 58px)}.portal-preview-toolbar+.standalone-portal .portal-sidebar{height:calc(100vh - 58px);top:58px}.portal-sidebar{color:#e2e8f0;background:#0f172a;flex-direction:column;height:100dvh;padding:18px 13px 14px;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:10px;padding:3px 7px 27px;display:flex}.portal-brand img{object-fit:cover;border-radius:6px;width:38px;height:38px}.portal-brand strong,.portal-brand span{display:block}.portal-brand strong{font-size:16px}.portal-brand span{color:#84948b;text-transform:uppercase;margin-top:3px;font-size:10px}.portal-sidebar nav{flex-direction:column;gap:4px;display:flex}.portal-sidebar nav button{color:#9daba3;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:11px;min-height:42px;padding:0 11px;font-size:13px;font-weight:650;display:flex}.portal-sidebar nav button b{color:#172554;background:#93c5fd;border-radius:10px;place-items:center;min-width:19px;height:19px;margin-left:auto;font-size:10px;display:grid}.portal-sidebar nav button.active{color:#fff;background:#1e293b;box-shadow:inset 3px 0 #60a5fa}.portal-account{border-top:1px solid #2c3a33;grid-template-columns:34px 1fr 30px;align-items:center;gap:9px;margin-top:auto;padding:14px 7px 2px;display:grid}.portal-account>span{color:#d8ece2;background:#33473c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.profile-image{color:#d8ece2;background:#33473c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:inline-grid;overflow:hidden}.profile-image.large{color:#2d634a;background:#dcefe5;width:92px;height:92px;font-size:21px}.profile-image img{object-fit:cover;width:100%;height:100%}.portal-account strong,.portal-account small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-account strong{font-size:12px}.portal-account small{color:#809087;margin-top:3px;font-size:10px}.portal-account button{color:#9daba3;cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;display:grid}.portal-main{min-width:0;padding:32px}.portal-main>header{justify-content:space-between;align-items:flex-start;gap:20px;min-height:65px;margin-bottom:23px;display:flex}.portal-main>header span{color:#78837c;text-transform:uppercase;letter-spacing:.09em;font-size:11px}.portal-main>header h1{margin:5px 0 0;font-size:25px}.secure-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;align-items:center;gap:6px;padding:7px 9px;font-size:10px;font-weight:750;display:flex;text-transform:none!important;letter-spacing:0!important}.portal-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.portal-metrics.tutor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-metrics article{border:1px solid var(--line);color:#2563eb;background:#fff;border-radius:7px;align-items:center;gap:12px;min-height:88px;padding:17px;display:flex}.portal-metrics strong,.portal-metrics span{display:block}.portal-metrics strong{color:var(--ink);font-size:20px}.portal-metrics span{color:#7e8882;margin-top:2px;font-size:10px}.portal-next{color:#f8fafc;background:#111827;border-radius:7px;grid-template-columns:1fr 180px;align-items:center;gap:30px;min-height:230px;padding:35px;display:grid}.portal-next h2{margin:10px 0 6px;font-size:27px}.portal-next p{color:#cbd5e1;margin:0 0 21px;font-size:12px}.portal-next a{color:#fff;background:#2563eb;border-radius:5px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.portal-next-time{border-left:1px solid #334155;flex-direction:column;align-items:center;padding:25px;display:flex}.portal-next-time strong{margin:10px 0 2px;font-size:26px}.portal-next-time span{color:#cbd5e1;font-size:10px}.portal-card-list,.portal-calendar-list,.portal-progress-list{gap:10px;display:grid}.portal-timezone-banner{color:#607169;background:#f7faf8;border:1px solid #d7e3dc;border-radius:6px;align-items:center;gap:8px;min-height:40px;margin-bottom:10px;padding:0 13px;font-size:11px;display:flex}.portal-timezone-banner strong{color:#2f654c}.portal-card-list>article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1fr auto 130px;align-items:center;gap:18px;min-height:76px;padding:13px 17px;display:grid}.class-subject{color:#387457;align-items:center;gap:11px;display:flex}.class-subject strong,.class-subject span{display:block}.class-subject strong{color:var(--ink);font-size:13px}.class-subject span{color:#818a85;margin-top:4px;font-size:10px}.portal-card-list>article>a,.portal-calendar-list>article>a{color:#2f7152;background:#f3faf6;border:1px solid #cce0d4;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:33px;padding:0 10px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.portal-link-pending{color:#8a938e;font-size:10px;font-weight:700}.meeting-link-pending{color:#8a938e;font-size:10px;font-weight:750}.portal-student-directory{gap:12px;display:grid}.portal-student-directory>article{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.portal-student-directory>article>header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:78px;padding:12px 17px;display:grid}.portal-student-identity,.portal-progress-person{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:0;display:grid}.portal-student-identity>span:nth-child(2),.portal-student-identity strong,.portal-student-identity small,.portal-progress-person>span:nth-child(2),.portal-progress-person strong,.portal-progress-person small{min-width:0;display:block}.portal-student-identity strong,.portal-progress-person strong{font-size:14px}.portal-student-identity small,.portal-progress-person small{color:#77827c;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.portal-student-identity>svg,.portal-progress-person>svg{color:#698078}.portal-progress-button{color:#2f7152;cursor:pointer;white-space:nowrap;background:#f3faf6;border:1px solid #cce0d4;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:11px;font-weight:750;display:inline-flex}.portal-student-classes{border-top:1px solid var(--line);background:#fafbfa}.portal-student-classes>div{border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:16px;min-height:53px;padding:9px 17px 9px 66px;display:flex}.portal-student-classes>div:first-child{border-top:0}.portal-student-classes>div>div strong,.portal-student-classes>div>div span{display:block}.portal-student-classes>div>div strong{font-size:12px}.portal-student-classes>div>div span{color:#71847a;margin-top:4px;font-size:10px}.portal-student-classes>div>div span svg{vertical-align:-2px;margin-right:4px}.portal-student-classes a,.portal-calendar-route{color:#2f7152;cursor:pointer;background:#fff;border:1px solid #d4e4da;border-radius:5px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.portal-calendar-list>article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:48px 1fr 80px;align-items:center;gap:14px;min-height:75px;padding:12px 17px;display:grid}.portal-calendar-groups{gap:18px;display:grid}.portal-calendar-groups>section>header{justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 3px;display:flex}.portal-calendar-groups>section>header strong,.portal-calendar-groups>section>header span{display:block}.portal-calendar-groups>section>header strong{font-size:14px}.portal-calendar-groups>section>header span{color:#7e8882;margin-top:3px;font-size:10px}.portal-calendar-groups>section>header b{color:#2e6d4f;background:#e1f1e8;border-radius:13px;place-items:center;min-width:25px;height:25px;font-size:10px;display:grid}.portal-date-tile{color:#fff;background:#4d6bed;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:44px;height:48px;display:flex}.portal-date-tile strong{font-size:16px}.portal-date-tile span{text-transform:uppercase;font-size:9px}.portal-calendar-list article>div:nth-child(2) strong,.portal-calendar-list article>div:nth-child(2) span{display:block}.portal-calendar-list article>div:nth-child(2) strong{font-size:12px}.portal-calendar-list article>div:nth-child(2) span{color:#7d8781;margin-top:4px;font-size:10px}.portal-accountability-note{color:#346c51;background:#f3faf6;border:1px solid #cfe0d6;border-radius:6px;align-items:center;gap:11px;min-height:58px;margin-bottom:10px;padding:10px 14px;display:flex}.portal-accountability-note>svg{flex:none}.portal-accountability-note strong,.portal-accountability-note span{display:block}.portal-accountability-note strong{font-size:11px}.portal-accountability-note span{color:#6f7d75;margin-top:3px;font-size:10px;line-height:14px}.portal-action-notice{color:#2f7051;background:#edf8f2;border:1px solid #cbe0d4;border-radius:5px;align-items:center;gap:7px;min-height:38px;margin-bottom:10px;padding:0 12px;font-size:10px;font-weight:750;display:flex}.portal-lesson-error{margin-bottom:10px}.portal-calendar-list>article.tutor-lesson-row{grid-template-columns:48px minmax(190px,1fr) minmax(280px,1.15fr);min-height:112px}.portal-lesson-copy{min-width:0}.portal-attendance-note{background:#edf0ee;border-radius:4px;width:fit-content;padding:4px 7px;font-weight:750;color:#68736d!important;margin-top:8px!important;font-size:9px!important}.portal-attendance-note.on-time{background:#e2f1e8;color:#2f7051!important}.portal-attendance-note.late,.portal-attendance-note.very-late,.portal-attendance-note.no-join-logged{background:#f8e9e5;color:#934d3d!important}.portal-lesson-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.portal-lesson-actions>button,.portal-lesson-actions>a{color:#2f7051;cursor:pointer;background:#f5faf7;border:1px solid #cbded3;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:31px;padding:0 9px;font-size:9px;font-weight:800;text-decoration:none;display:inline-flex}.portal-lesson-actions>button.complete{color:#fff;background:#2f7757;border-color:#2f7757}.portal-lesson-actions>button.exception{color:#745c25;background:#fffaf0;border-color:#e2d7b8}.portal-lesson-actions>button.exception:last-child{color:#984d3c;background:#fff7f4;border-color:#ead1ca}.portal-lesson-actions>button:disabled{opacity:.45;cursor:not-allowed}.portal-checkin-pending{color:#7d8781;background:#f2f4f3;border-radius:5px;align-items:center;gap:5px;min-height:31px;padding:0 8px;font-size:9px;font-weight:750;display:inline-flex}.portal-lesson-action-dialog{width:min(520px,100vw - 28px)}.portal-lesson-action-dialog .modal-header p{color:#77817b;margin:4px 0 0;font-size:10px}.portal-completion-confirm{color:#347153;background:#f4faf6;border:1px solid #cfe1d7;border-radius:6px;align-items:flex-start;gap:11px;padding:13px;display:flex}.portal-completion-confirm>svg{flex:none}.portal-completion-confirm p{margin:0}.portal-completion-confirm strong,.portal-completion-confirm span{display:block}.portal-completion-confirm strong{font-size:11px}.portal-completion-confirm span{color:#6e7b73;margin-top:4px;font-size:10px;line-height:15px}.portal-progress-list>article{border:1px solid var(--line);background:#fff;border-radius:7px;padding:19px}.portal-progress-list article>header{justify-content:space-between;align-items:center;display:flex}.portal-progress-list header span{color:#78827c;font-size:10px}.portal-progress-list header h2{margin:4px 0 0;font-size:16px}.portal-progress-list header>strong{font-size:20px}.portal-progress-bar{background:#e6ebe8;border-radius:4px;height:7px;margin:15px 0 9px;overflow:hidden}.portal-progress-bar i{background:#2563eb;border-radius:4px;height:100%;display:block}.portal-topic{border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;min-height:41px;font-size:11px;display:flex}.portal-topic strong{color:#3b7659}.portal-progress-directory{gap:10px;display:grid}.portal-progress-directory>article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(90px,.55fr)) 118px;align-items:center;gap:14px;min-height:82px;padding:12px 16px;display:grid}.portal-progress-directory>article>div span,.portal-progress-directory>article>div strong{display:block}.portal-progress-directory>article>div span{color:#818b85;font-size:10px}.portal-progress-directory>article>div strong{margin-top:5px;font-size:13px}.portal-student-workspace-header{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:minmax(280px,1fr) minmax(360px,1fr);gap:18px 26px;margin-bottom:12px;padding:22px;display:grid}.portal-student-workspace-person{align-items:center;gap:17px;min-width:0;display:flex}.portal-student-workspace-person>div{min-width:0}.portal-student-workspace-person>div>span{color:#377557;text-transform:uppercase;font-size:10px;font-weight:800}.portal-student-workspace-person h2{margin:5px 0 3px;font-size:21px}.portal-student-workspace-person p{color:#758079;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.portal-student-workspace-metrics{border:1px solid #e1e7e3;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid;overflow:hidden}.portal-student-workspace-metrics>div{border-left:1px solid #e6eae7;flex-direction:column;justify-content:center;min-width:0;padding:13px;display:flex}.portal-student-workspace-metrics>div:first-child{border-left:0}.portal-student-workspace-metrics span,.portal-student-workspace-metrics strong{overflow-wrap:anywhere;display:block}.portal-student-workspace-metrics span{color:#818b85;font-size:9px}.portal-student-workspace-metrics strong{margin-top:5px;font-size:17px}.portal-student-workspace-actions{border-top:1px solid #edf0ee;grid-column:1/-1;justify-content:flex-end;align-items:flex-end;gap:8px;padding-top:16px;display:flex}.portal-progress-switcher{border:1px solid var(--line);background:#fff;border-radius:7px;margin:-1px 0 12px;display:flex;overflow-x:auto}.portal-progress-switcher>button{border:0;border-right:1px solid var(--line);min-width:220px;min-height:64px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;flex:1 0 220px;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:9px 13px;display:grid}.portal-progress-switcher>button:last-child{border-right:0}.portal-progress-switcher>button:hover{background:#f6faf7}.portal-progress-switcher>button.active{background:#eff6ff;box-shadow:inset 0 -3px #2563eb}.portal-progress-switcher>button>span,.portal-progress-switcher strong,.portal-progress-switcher small{min-width:0;display:block}.portal-progress-switcher strong,.portal-progress-switcher small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-progress-switcher strong{font-size:12px}.portal-progress-switcher small{color:#77827c;margin-top:4px;font-size:10px}.portal-progress-switcher svg{color:#718078}.portal-progress-error{margin-bottom:10px}.portal-curriculum-modules{margin-top:6px}.portal-topic-group{border-top:1px solid #edf0ee}.portal-topic-group:first-child{border-top:0}.portal-topic-group>summary{cursor:pointer;border-top:0;list-style:none}.portal-topic-group>summary::-webkit-details-marker{display:none}.portal-topic-group[open]>summary{background:#f8fbff}.portal-curriculum-modules .portal-topic{grid-template-columns:28px minmax(190px,1fr) minmax(130px,.55fr) minmax(190px,.85fr);gap:12px;min-height:78px;padding:10px 0;display:grid}.portal-topic-group .portal-topic{padding-left:10px;padding-right:10px}.portal-topic-index{color:#68756d;background:#edf1ee;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;font-weight:800;display:grid}.portal-topic-index.complete{color:#fff;background:#2563eb}.portal-curriculum-modules .portal-topic>div:nth-child(2) strong,.portal-curriculum-modules .portal-topic>div:nth-child(2) small{display:block}.portal-curriculum-modules .portal-topic>div:nth-child(2) strong{color:var(--ink);font-size:12px}.portal-curriculum-modules .portal-topic>div:nth-child(2) small{color:#7f8983;margin-top:4px;font-size:10px;line-height:14px}.portal-curriculum-modules .portal-topic>div:nth-child(2) small b{color:#2563eb;margin-top:5px;font-size:9px;display:block}.portal-topic-chevron{color:#64748b;justify-self:end;transition:transform .18s}.portal-topic-group[open] .portal-topic-chevron{transform:rotate(180deg)}.portal-topic-progress{grid-template-columns:1fr 38px;align-items:center;gap:8px;min-width:0;display:grid}.portal-topic-progress>i{background:#e5ebe7;border-radius:3px;height:6px;overflow:hidden}.portal-topic-progress>i>b{background:#2563eb;border-radius:3px;height:100%;display:block}.portal-topic-progress>strong{color:#1d4ed8;text-align:right;font-size:11px}.portal-progress-control{color:#557064;grid-template-columns:44px minmax(120px,1fr);align-items:center;gap:9px;min-width:0;font-size:10px;font-weight:800;display:grid}.portal-progress-control>span{text-align:right}.portal-progress-control input[type=range]{accent-color:#2563eb;cursor:pointer;border:0;width:100%;height:20px;padding:0}.portal-progress-control input[type=range]:disabled{opacity:.62;cursor:wait}.portal-subtopic-list{background:#f8fbff;padding:0 10px 10px 48px}.portal-subtopic{border-top:1px solid #e2e8f0;grid-template-columns:20px minmax(180px,1fr) minmax(130px,.55fr) minmax(190px,.85fr);align-items:center;gap:12px;min-height:54px;padding:7px 10px;display:grid}.portal-subtopic>span:first-child{color:#94a3b8;background:#e2e8f0;border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.portal-subtopic>span:first-child.complete{color:#fff;background:#2563eb}.portal-subtopic>strong{color:#1e293b;font-size:11px;font-weight:700}.portal-topic-state{border-radius:13px;justify-content:center;align-items:center;min-height:25px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.portal-topic-state.complete{color:#2d6d4d;background:#e0f1e7}.portal-topic-state.active{color:#765c24;background:#f6edcf}.portal-topic-state.upcoming{color:#737e77;background:#edf0ee}.month-picker{color:#657169;gap:6px;min-width:168px;font-size:10px;font-weight:750;display:grid}.month-picker span{text-transform:uppercase}.month-picker input{min-height:38px}.assessment-summary{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid;overflow:hidden}.assessment-summary>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:88px;padding:17px 22px;display:flex}.assessment-summary>div:last-child{border-right:0}.assessment-summary strong,.assessment-summary span{display:block}.assessment-summary strong{color:var(--ink);font-size:23px}.assessment-summary span{color:#7c8780;margin-top:4px;font-size:11px}.assessment-summary .attention{background:#fff7f3}.assessment-summary .attention strong{color:#b7523f}.assessment-summary .complete{background:#f1f9f4}.assessment-summary .complete strong{color:#327251}.assessment-register{overflow:hidden}.assessment-register-head,.assessment-register-row{grid-template-columns:minmax(190px,1.25fr) minmax(160px,1fr) 95px 100px 112px;align-items:center;gap:15px;display:grid}.assessment-register-head{border-bottom:1px solid var(--line);color:#7d8781;text-transform:uppercase;background:#f7f9f7;min-height:40px;padding:0 18px;font-size:9px;font-weight:800}.assessment-register-row{border-bottom:1px solid var(--line);min-height:72px;padding:10px 18px}.assessment-register-row:last-of-type{border-bottom:0}.assessment-register-row>div:nth-child(2) strong,.assessment-register-row>div:nth-child(2) span,.assessment-result strong,.assessment-result span{display:block}.assessment-register-row>div:nth-child(2) strong,.assessment-result strong{color:var(--ink);font-size:12px}.assessment-register-row>div:nth-child(2) span,.assessment-result span{color:#7c8780;margin-top:4px;font-size:10px}.assessment-result strong{font-size:15px}.assessment-state{border-radius:12px;align-items:center;width:max-content;min-height:24px;padding:0 9px;font-size:10px;font-weight:750;display:inline-flex}.assessment-state.published{color:#2f6f50;background:#e1f1e8}.assessment-state.due{color:#a34737;background:#fae9e4}.assessment-add-button{justify-content:center;gap:6px;min-height:34px;padding:0 10px}.assessment-unassigned{color:#934b3d;background:#fff8f5;border-top:1px solid #efd9d3;gap:4px;padding:15px 18px;display:grid}.assessment-unassigned strong{font-size:11px}.assessment-unassigned span{color:#9a756e;font-size:10px}.assessment-report-grid{gap:14px;display:grid}.assessment-report-card{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.assessment-report-card>header{color:#edf6f1;background:#274538;grid-template-columns:1fr 155px;align-items:center;gap:25px;min-height:130px;padding:24px 28px;display:grid}.assessment-report-card>header>div:first-child>span{color:#98c8ae;text-transform:uppercase;font-size:10px;font-weight:750}.assessment-report-card h2{color:#fff;margin:6px 0 5px;font-size:21px}.assessment-report-card>header p{color:#b8cec2;margin:0;font-size:11px}.assessment-score{border-left:1px solid #476357;flex-direction:column;justify-content:center;align-items:center;min-height:78px;display:flex}.assessment-score strong{font-size:30px}.assessment-score span{color:#b8cec2;margin-top:2px;font-size:11px}.assessment-report-body{grid-template-columns:1fr 1fr;display:grid}.assessment-report-body section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:125px;padding:21px 25px}.assessment-report-body section:nth-child(2n){border-right:0}.assessment-report-body h3{color:#377557;margin:0 0 8px;font-size:12px}.assessment-report-body p{color:#5f6b64;white-space:pre-wrap;margin:0;font-size:12px;line-height:17px}.assessment-report-body .assessment-next{background:#f1f4ff}.assessment-report-body .assessment-next h3{color:#4963c6}.assessment-report-card>footer{color:#818b85;background:#fafbfa;padding:11px 25px;font-size:10px}.assessment-editor{width:min(650px,100%)}.assessment-editor .modal-header p{color:#78827c;margin:5px 0 0;font-size:11px}.portal-assessment-toolbar{border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:22px;min-height:76px;margin-bottom:13px;padding:14px 18px;display:flex}.portal-assessment-toolbar p{color:#768079;margin:5px 0 0;font-size:11px}.portal-assessment-toolbar label{color:#657169;gap:5px;min-width:170px;font-size:10px;font-weight:750;display:grid}.portal-assessment-filters{align-items:flex-end;gap:9px;display:flex}.portal-assessment-filters label{min-width:170px}.portal-assessment-roster,.portal-assessment-reports{gap:10px;display:grid}.portal-assessment-roster>article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:38px minmax(140px,1fr) 90px 112px;align-items:center;gap:13px;min-height:74px;padding:12px 16px;display:grid}.portal-assessment-roster article>div:nth-child(2) strong,.portal-assessment-roster article>div:nth-child(2) span,.portal-assessment-result strong,.portal-assessment-result span{display:block}.portal-assessment-roster article>div:nth-child(2) strong{font-size:12px}.portal-assessment-roster article>div:nth-child(2) span,.portal-assessment-result span{color:#7d8781;margin-top:4px;font-size:10px}.portal-assessment-result strong{font-size:16px}.portal-assessment-roster button{color:#316f51;cursor:pointer;background:#f3faf6;border:1px solid #cadfd3;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 9px;font-size:10px;font-weight:750;display:inline-flex}.portal-assessment-report{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.portal-assessment-report>header{color:#eef6f1;background:#274538;grid-template-columns:1fr 140px;align-items:center;gap:20px;min-height:120px;padding:22px 25px;display:grid}.portal-assessment-report>header>div:first-child>span{color:#98c8ae;text-transform:uppercase;font-size:10px;font-weight:750}.portal-assessment-report h2{color:#fff;margin:6px 0 5px;font-size:20px}.portal-assessment-report>header p{color:#b8cec2;margin:0;font-size:11px}.portal-assessment-report>header>div:last-child{border-left:1px solid #476357;flex-direction:column;align-items:center;padding:14px;display:flex}.portal-assessment-report>header>div:last-child strong{font-size:28px}.portal-assessment-report>header>div:last-child span{color:#b8cec2;margin-top:2px;font-size:11px}.portal-assessment-sections{grid-template-columns:1fr 1fr;display:grid}.portal-assessment-sections section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:116px;padding:19px 22px}.portal-assessment-sections section:nth-child(2n){border-right:0}.portal-assessment-sections h3{color:#397758;margin:0 0 7px;font-size:12px}.portal-assessment-sections p{color:#5f6b64;white-space:pre-wrap;margin:0;font-size:12px;line-height:17px}.portal-assessment-sections .next{background:#f1f4ff}.portal-assessment-sections .next h3{color:#4963c6}.portal-assessment-report>footer{color:#818b85;background:#fafbfa;padding:10px 22px;font-size:10px}.portal-empty{border:1px solid var(--line);color:#3e795c;text-align:center;background:#fff;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:30px;display:flex}.portal-empty strong{color:var(--ink);margin-top:10px;font-size:13px}.portal-empty span{color:#7e8882;margin-top:5px;font-size:11px}.portal-profile-card{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.portal-profile-hero{border-bottom:1px solid var(--line);background:#f8faf8;grid-template-columns:92px 1fr auto;align-items:center;gap:20px;min-height:150px;padding:26px 28px;display:grid}.portal-profile-hero>div:nth-child(2)>span{color:#3f785b;text-transform:uppercase;font-size:10px;font-weight:750}.portal-profile-hero h2{margin:5px 0 3px;font-size:21px}.portal-profile-hero p{color:#7c8780;margin:0;font-size:11px}.profile-photo-actions{align-items:center;gap:7px;display:flex}.profile-photo-actions input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.profile-photo-actions label,.profile-photo-actions button{color:#366f53;cursor:pointer;background:#fff;border:1px solid #d3dfd8;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 11px;font-size:11px;font-weight:750;display:inline-flex}.profile-photo-actions button{color:#995043;border-color:#ead7d2}.profile-photo-actions label.disabled,.profile-photo-actions button:disabled{opacity:.5;cursor:not-allowed}.portal-profile-card>form{gap:18px;padding:25px 28px 28px;display:grid}.portal-profile-fields,.profile-readonly-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.portal-profile-fields label{color:#4d5a52;gap:7px;font-size:11px;font-weight:750;display:grid}.portal-profile-fields label>span{align-items:center;gap:6px;display:flex}.portal-profile-fields label.wide{grid-column:1/-1}.profile-readonly-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.profile-readonly-grid span,.profile-readonly-grid strong{display:block}.profile-readonly-grid span{color:#818b85;font-size:10px}.profile-readonly-grid strong{margin-top:4px;font-size:12px}.profile-success{color:#327151;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.portal-profile-save{color:#fff;cursor:pointer;background:#357b5b;border:1px solid #2f7354;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:max-content;min-height:40px;padding:0 14px;font-size:12px;font-weight:750;display:inline-flex}.portal-profile-save:disabled{opacity:.65;cursor:wait}.portal-earnings-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:54px;margin-bottom:13px;display:flex}.portal-earnings-heading p{color:#758179;margin:5px 0 0;font-size:11px}.portal-earnings-heading label{color:#66736b;text-transform:uppercase;gap:6px;min-width:180px;font-size:10px;font-weight:800;display:grid}.portal-earnings-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.portal-earnings-metrics article{border:1px solid var(--line);color:#3d7559;background:#fff;border-radius:7px;align-items:flex-start;gap:12px;min-height:91px;padding:17px;display:flex}.portal-earnings-metrics strong,.portal-earnings-metrics span,.portal-earnings-metrics small{display:block}.portal-earnings-metrics strong{color:var(--ink);font-size:19px}.portal-earnings-metrics span{color:#647068;margin-top:2px;font-size:11px;font-weight:750}.portal-earnings-metrics small{color:#8a938e;margin-top:5px;font-size:9px}.portal-earnings-currencies{grid-template-columns:1fr;gap:10px;margin-bottom:10px;display:grid}.portal-earnings-currencies>article{background:#f7fbf8;border:1px solid #d7e4dc;border-radius:7px;grid-template-columns:1fr 1fr;gap:14px;padding:17px 18px 14px;display:grid}.portal-earnings-currencies>article:nth-child(2){background:#f6f9fc;border-color:#d7e0eb}.portal-earnings-currencies header,.portal-earnings-currencies footer{grid-column:1/-1}.portal-earnings-currencies header{border-bottom:1px solid #dce7e0;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.portal-earnings-currencies header div{color:#377255;align-items:center;gap:7px;display:flex}.portal-earnings-currencies header span{font-size:11px;font-weight:800}.portal-earnings-currencies header>strong{font-size:19px}.portal-earnings-currencies>article>div span,.portal-earnings-currencies>article>div strong{display:block}.portal-earnings-currencies>article>div span{color:#7c8780;font-size:10px}.portal-earnings-currencies>article>div strong{margin-top:5px;font-size:13px}.portal-earnings-currencies .due{color:#a2553e}.portal-earnings-currencies .settled{color:#347354}.portal-earnings-currencies footer{color:#78837c;border-top:1px solid #e2e9e5;padding-top:10px;font-size:10px}.portal-rate-warning{color:#795d23;background:#fffaf0;border:1px solid #eadcb7;border-radius:6px;align-items:center;gap:9px;min-height:42px;margin-bottom:10px;padding:0 13px;font-size:10px;display:flex}.portal-earnings-layout{grid-template-columns:1.1fr .9fr;gap:10px;display:grid}.portal-earnings-section{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;overflow:hidden}.portal-earnings-section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:65px;padding:0 17px;display:flex}.portal-earnings-section>header h2{margin:4px 0 0;font-size:15px}.portal-earnings-section>header>span{color:#758078;font-size:10px}.portal-student-hours>article{border-top:1px solid #edf0ee;grid-template-columns:minmax(130px,1.2fr) .65fr .65fr 1fr;align-items:center;gap:12px;min-height:62px;padding:0 17px;display:grid}.portal-student-hours>article:first-child{border-top:0}.portal-student-hours article strong,.portal-student-hours article span{display:block}.portal-student-hours article>div:first-child strong{font-size:12px}.portal-student-hours article>div:first-child span{color:#818b85;margin-top:3px;font-size:9px}.portal-student-hours article>div:not(:first-child) span{color:#8a938e;font-size:9px}.portal-student-hours article>div:not(:first-child) strong{margin-top:4px;font-size:11px}.portal-payment-log>article{border-top:1px solid #edf0ee;grid-template-columns:1fr auto;gap:8px 12px;min-height:77px;padding:13px 17px;display:grid}.portal-payment-log>article:first-child{border-top:0}.portal-payment-log article strong,.portal-payment-log article span{display:block}.portal-payment-log article>div:first-child strong{font-size:14px}.portal-payment-log article>div:first-child span,.portal-payment-log article>div:nth-child(3) span,.portal-payment-log article>small{color:#818b85;margin-top:3px;font-size:9px}.portal-payment-log article>div:nth-child(3) strong{font-size:10px}.portal-payment-log article>small{grid-column:1/-1}.portal-payment-status{border-radius:12px;justify-content:center;align-items:center;min-width:49px;height:23px;font-size:9px;font-weight:800;display:inline-flex!important}.portal-payment-status.paid{color:#2f7051;background:#e0f1e7}.portal-payment-status.due{color:#765c24;background:#f6edcf}.finance-heading{margin-bottom:14px}.finance-month{color:#657169;gap:6px;min-width:175px;margin-top:4px;font-size:11px;font-weight:750;display:grid}.finance-month span{text-transform:uppercase}.finance-summary{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1fr 1fr;margin-bottom:14px;display:grid;overflow:hidden}.finance-summary>article{border-right:1px solid var(--line);min-width:0;padding:18px 20px 15px}.finance-summary>article:last-child{border-right:0}.finance-summary article>header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.finance-summary article>header span{color:#6f7a73;text-transform:uppercase;font-size:11px;font-weight:800}.finance-summary article>header strong{color:#347153;background:#e8f4ed;border-radius:5px;place-items:center;width:29px;height:29px;font-size:16px;display:grid}.finance-metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 0;display:grid}.finance-metric-row>div{border-right:1px solid #edf0ee;min-width:0;padding:0 12px}.finance-metric-row>div:first-child{padding-left:0}.finance-metric-row>div:last-child{border-right:0;padding-right:0}.finance-metric-row span,.finance-metric-row strong{overflow-wrap:anywhere;display:block}.finance-metric-row span{color:#869089;font-size:10px}.finance-metric-row strong{margin-top:5px;font-size:15px}.finance-summary footer{border-top:1px solid #edf0ee;align-items:center;gap:5px;margin-top:14px;padding-top:13px;font-size:10px;display:flex}.finance-summary footer span{color:#7b8580}.finance-summary .positive{color:#2c7653}.finance-summary .negative{color:#b04f40}.exchange-rate-bar{color:#315d49;background:#f5faf7;border:1px solid #d7e3dc;border-radius:7px;grid-template-columns:34px minmax(260px,1fr) minmax(180px,auto) 34px;align-items:center;gap:11px;min-height:58px;margin:-1px 0 14px;padding:9px 13px;display:grid}.exchange-rate-icon{background:#e1f1e8;border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.exchange-rate-bar>div:nth-child(2) strong,.exchange-rate-bar>div:nth-child(2) span,.exchange-rate-bar>div:nth-child(3) span,.exchange-rate-bar>div:nth-child(3) small{display:block}.exchange-rate-bar>div:nth-child(2) strong{font-size:12px}.exchange-rate-bar>div:nth-child(2) span{color:#66766d;margin-top:4px;font-size:10px}.exchange-rate-bar>div:nth-child(3){text-align:right}.exchange-rate-bar>div:nth-child(3) span{font-size:10px;font-weight:750}.exchange-rate-bar>div:nth-child(3) small{color:#77847d;margin-top:3px;font-size:9px}.exchange-rate-bar.loading .exchange-rate-icon svg{animation:1.2s linear infinite rate-spin}.exchange-rate-bar.error,.exchange-rate-bar.stale{color:#8b5d25;background:#fffaf0;border-color:#eadbb9}.exchange-rate-bar.error .exchange-rate-icon,.exchange-rate-bar.stale .exchange-rate-icon{background:#f7ebcf}@keyframes rate-spin{to{transform:rotate(360deg)}}.finance-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:50px;display:flex}.finance-toolbar .tabs{min-height:50px}.finance-toolbar .primary-button{min-height:34px}.finance-table-panel{margin-top:12px;overflow:hidden}.finance-table-head,.finance-table-row{align-items:center;gap:15px;padding:0 18px;display:grid}.quote-columns{grid-template-columns:minmax(175px,1.25fr) 112px 105px 105px 105px 82px 110px}.receipt-columns{grid-template-columns:minmax(175px,1.2fr) 112px minmax(130px,.9fr) minmax(135px,.9fr) 110px 76px}.payment-columns{grid-template-columns:minmax(170px,1.2fr) 82px 112px minmax(130px,.9fr) 110px 68px 42px}.rate-columns{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) 130px 130px 42px}.finance-table-head{color:#849089;text-transform:uppercase;background:#f7f9f7;min-height:39px;font-size:10px;font-weight:800}.finance-table-row{border-top:1px solid #edf0ee;min-height:72px;font-size:11px}.finance-person{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.finance-person>span{min-width:0}.finance-person strong,.finance-person small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.finance-person strong{font-size:12px}.finance-person small{color:#828c86;margin-top:3px;font-size:10px}.finance-status{border-radius:13px;justify-content:center;align-items:center;gap:4px;width:max-content;min-width:62px;min-height:25px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.finance-status.draft,.finance-status.due{color:#765c24;background:#f6edcf}.finance-status.sent{color:#356b86;background:#e5f0f6}.finance-status.part-paid{color:#795628;background:#f7e7ce}.finance-status.paid{color:#2f7051;background:#e0f1e7}.finance-status select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.finance-row-actions{justify-content:flex-end;gap:5px;display:flex}.finance-row-actions .icon-button{width:32px;height:32px}.money-positive{color:#2f7051}.money-negative{color:#b04f40}.finance-empty{color:#397558;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;display:flex}.finance-empty>div{background:#e7f3ec;border-radius:6px;place-items:center;width:42px;height:42px;margin-bottom:10px;display:grid}.finance-empty strong{color:var(--ink);font-size:13px}.finance-empty span{color:#808a84;max-width:380px;margin-top:5px;font-size:11px}.finance-editor{width:min(960px,100vw - 32px);max-width:100%;overflow-x:hidden}.finance-editor .modal-header p{color:#78827c;max-width:610px;margin:5px 0 0;font-size:11px}.finance-editor form,.finance-editor fieldset,.finance-editor .form-row,.finance-editor label{min-width:0}.quote-family-picker{border:0;min-width:0;margin:0;padding:0}.quote-family-picker>legend{color:#525e57;margin-bottom:7px;font-size:12px;font-weight:700}.quote-family-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:170px;padding:2px;display:grid;overflow-y:auto}.quote-family-picker label{cursor:pointer;background:#fff;border:1px solid #dde4e0;border-radius:5px;grid-template-columns:16px 30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:49px;padding:6px 8px;display:grid}.quote-family-picker label.selected{background:#edf7f1;border-color:#acd1bc}.quote-family-picker input{accent-color:#28785b;width:15px;height:15px;padding:0}.quote-family-picker label>span:not(.avatar),.quote-family-picker strong,.quote-family-picker small{min-width:0;display:block}.quote-family-picker strong,.quote-family-picker small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quote-family-picker strong{font-size:11px}.quote-family-picker small{color:#7c8780;margin-top:3px;font-size:9px;font-weight:500}.quote-lines{border:0;min-width:0;margin:0;padding:0}.quote-lines>legend{color:#525e57;margin-bottom:7px;font-size:12px;font-weight:700}.quote-lines>div{background:#fff;border:1px solid #e1e6e3;border-bottom:0;grid-template-columns:minmax(180px,1fr) 80px 105px 100px;align-items:center;gap:10px;min-height:69px;padding:9px 11px;display:grid}.quote-lines>div:first-of-type{border-radius:5px 5px 0 0}.quote-lines>div:last-of-type{border-bottom:1px solid #e1e6e3;border-radius:0 0 5px 5px}.quote-lines>div.selected{background:#f5faf7}.quote-line-check{grid-template-columns:16px minmax(0,1fr);align-items:center;gap:9px!important;display:grid!important}.quote-line-check input{accent-color:#28785b;width:15px;height:15px}.quote-line-check strong,.quote-line-check small{display:block}.quote-line-check small{color:#818b85;margin-top:4px;font-size:10px;font-weight:500}.quote-lines>div>label:not(.quote-line-check){font-size:10px}.quote-lines>div>label input{min-width:0;height:33px}.quote-lines>div>strong{justify-self:end;font-size:12px}.quote-line-editor>div{border-bottom:1px solid #e1e6e3;border-radius:5px;grid-template-columns:minmax(105px,.8fr) minmax(135px,1.1fr) minmax(105px,.85fr) 65px 82px 88px 34px;grid-template-areas:"student subject tutor hours rate amount remove";align-items:end;margin-bottom:7px}.quote-line-editor>div>label{min-width:0;font-size:10px}.quote-line-editor>div>label input,.quote-line-editor>div>label select{width:100%;min-width:0;max-width:100%;height:33px}.quote-line-editor>div>label:nth-child(2){align-content:end;align-self:stretch}.quote-line-editor>div>label:nth-child(2) input{margin-top:5px}.quote-line-editor>div>.icon-button{width:32px;height:32px}.quote-line-editor>div>.icon-button:disabled{opacity:.35;cursor:not-allowed}.quote-student{grid-area:student}.quote-subject{grid-area:subject}.quote-tutor{grid-area:tutor}.quote-hours{grid-area:hours}.quote-rate{grid-area:rate}.quote-line-amount{overflow-wrap:anywhere;grid-area:amount;align-self:center}.quote-line-remove{grid-area:remove}.quote-quick-add{background:#f6faf8;border:1px solid #dce8e1;border-radius:5px;gap:7px;padding:11px;display:grid}.quote-quick-add>span{color:#65746c;text-transform:uppercase;font-size:10px;font-weight:800}.quote-quick-add>div{flex-wrap:wrap;gap:6px;display:flex}.quote-quick-add button{color:#347153;cursor:pointer;background:#fff;border:1px solid #cfe0d6;border-radius:4px;align-items:center;gap:4px;min-height:29px;padding:0 8px;font-size:10px;font-weight:750;display:inline-flex}.add-quote-line{width:max-content;min-height:34px;font-size:11px}.quote-editor-total{background:#f4faf6;border:1px solid #d5e2da;border-radius:5px;justify-content:space-between;align-items:center;min-height:55px;padding:0 14px;display:flex}.quote-editor-total span{color:#547063;font-size:11px;font-weight:750}.quote-editor-total strong{color:#265f47;font-size:17px}.finance-inline-empty{color:#7d8781;text-align:center;border:1px solid #e2e7e4;border-radius:5px;margin:0;padding:18px;font-size:11px}.tutor-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px;display:grid}.tutor-analytics-grid>article{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;overflow:hidden}.tutor-analytics-grid>article>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:0 16px;display:flex}.tutor-analytics-grid>article>header>div{text-align:right}.tutor-analytics-grid>article>header>div span,.tutor-analytics-grid>article>header>div strong{display:block}.tutor-analytics-grid>article>header>div span{color:#89928c;font-size:9px}.tutor-analytics-grid>article>header>div strong{margin-top:3px;font-size:13px}.tutor-analytics-money{background:#f8faf9;border-bottom:1px solid #edf0ee;grid-template-columns:repeat(3,minmax(0,1fr));padding:13px 16px;display:grid}.tutor-analytics-money>div{border-right:1px solid #e3e8e5;min-width:0;padding:0 10px}.tutor-analytics-money>div:first-child{padding-left:0}.tutor-analytics-money>div:last-child{border-right:0;padding-right:0}.tutor-analytics-money span,.tutor-analytics-money strong{overflow-wrap:anywhere;display:block}.tutor-analytics-money span{color:#859089;font-size:9px}.tutor-analytics-money strong{margin-top:4px;font-size:11px}.tutor-student-head,.tutor-student-row{grid-template-columns:minmax(120px,1fr) 65px 65px;align-items:center;gap:10px;padding:0 16px;display:grid}.tutor-student-head{color:#8a938e;text-transform:uppercase;background:#fbfcfb;min-height:29px;font-size:9px;font-weight:800}.tutor-student-row{border-top:1px solid #edf0ee;min-height:48px;font-size:10px}.tutor-student-row span strong,.tutor-student-row span small{display:block}.tutor-student-row span small{color:#87918b;margin-top:3px;font-size:9px}.tutor-student-breakdown>p{color:#7e8982;margin:0;padding:20px 16px;font-size:10px}.tutor-analytics-grid>article>footer{color:#795d23;background:#fffaf0;border-top:1px solid #ebdfc1;padding:10px 16px;font-size:9px}.payment-estimate{color:#347153;background:#f4faf6;border:1px solid #dce8e1;border-radius:5px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;min-height:64px;padding:11px 13px;display:grid}.payment-estimate span,.payment-estimate strong{display:block}.payment-estimate span{color:#77847d;font-size:10px}.payment-estimate strong{margin-top:3px;font-size:15px}.payment-estimate .secondary-button{min-height:32px;font-size:11px}.finance-warning-panel{background:#fff;border:1px solid #e5dfcf;border-radius:7px;margin-top:12px;overflow:hidden}.finance-warning-panel>header{background:#fffaf0;align-items:center;min-height:49px;padding:0 15px;display:flex}.finance-warning-panel>header>div{color:#7b6027;align-items:center;gap:9px;display:flex}.finance-warning-panel>header span,.finance-warning-panel>header strong,.finance-warning-panel>header small{display:block}.finance-warning-panel>header strong{font-size:12px}.finance-warning-panel>header small{color:#8a7955;margin-top:2px;font-size:10px}.finance-warning-list{border-top:1px solid #eee7d8;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.finance-warning-list>div{border-bottom:1px solid #edf0ee;border-right:1px solid #edf0ee;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:7px;min-width:0;padding:10px 14px;display:grid}.finance-warning-list>div:nth-child(2n){border-right:0}.finance-warning-list>div.danger{color:#a34e42;background:#fff8f6}.finance-warning-list>div.warning{color:#806223;background:#fffdf8}.finance-warning-list span,.finance-warning-list strong,.finance-warning-list small{min-width:0;display:block}.finance-warning-list strong{font-size:11px}.finance-warning-list small{color:#7d827f;margin-top:3px;font-size:10px;line-height:1.35}.family-account-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:49px;margin-top:12px;display:flex}.family-account-toolbar>label{color:#77827b;background:#fff;border:1px solid #d9dfdc;border-radius:5px;align-items:center;gap:8px;width:min(350px,100%);min-height:35px;padding:0 10px;display:flex}.family-account-toolbar input{border:0;outline:0;width:100%;height:32px;padding:0;font-size:11px}.family-account-panel{margin-top:0;overflow-x:auto}.family-account-panel>.finance-table-head,.family-account-group{min-width:1280px}.family-columns{grid-template-columns:minmax(170px,1.05fr) minmax(185px,1.15fr) minmax(145px,.9fr) minmax(130px,.8fr) minmax(225px,1.25fr) 105px 72px 76px}.family-account-group{border-top:1px solid #edf0ee}.family-account-group:first-of-type,.family-account-group .finance-table-row{border-top:0}.family-stack,.family-stack strong,.family-stack small{min-width:0;display:block}.family-stack strong,.family-stack small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-stack strong{font-size:11px}.family-stack small{color:#818c85;margin-top:4px;font-size:9px}.family-methods{flex-wrap:wrap;gap:4px;display:flex}.family-methods small{color:#326d51;background:#e9f4ee;border-radius:4px;padding:4px 6px;font-size:9px;font-weight:750}.family-methods small.missing{color:#8a6528;background:#faf0d7}.family-status{color:#2f7051;background:#e0f1e7;border-radius:12px;width:max-content;padding:5px 8px;font-size:9px;font-weight:800}.family-status.on-hold{color:#7b6027;background:#f6edcf}.family-status.closed{color:#727b76;background:#ecefed}.family-account-detail{background:#f8faf9;border-top:1px solid #e5eae7;padding:12px 18px 18px}.family-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-bottom:10px;display:flex}.family-detail-actions .secondary-button{min-height:32px;font-size:10px}.family-subject-table,.family-package-list,.family-ledger{background:#fff;border:1px solid #dfe5e1;border-radius:6px;overflow:hidden}.family-subject-table>div{border-top:1px solid #edf0ee;grid-template-columns:120px minmax(150px,1fr) minmax(180px,1.1fr) minmax(150px,.95fr) minmax(150px,.9fr) 210px;align-items:center;gap:12px;min-height:58px;padding:0 13px;font-size:10px;display:grid}.family-subject-table>div:first-child{color:#859089;text-transform:uppercase;background:#f7f9f7;border-top:0;min-height:32px;font-size:9px;font-weight:800}.family-subject-table button:not(.icon-button):not(.secondary-button){color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:750}.family-subject-table span,.family-subject-table strong,.family-subject-table small{min-width:0;display:block}.family-subject-table small{color:#818b85;margin-top:3px;font-size:9px}.compact-button{min-height:30px;padding:0 8px;font-size:9px}.family-package-list{margin-top:10px}.family-package-list>header{color:#59665f;background:#f7f9f7;justify-content:space-between;align-items:center;min-height:38px;padding:0 13px;display:flex}.family-package-list>header span{text-transform:uppercase;font-size:10px;font-weight:800}.family-package-list>header small{color:#849089;font-size:9px}.family-package-list>div{border-top:1px solid #edf0ee;grid-template-columns:minmax(220px,1fr) 100px 100px 100px;align-items:center;gap:12px;min-height:52px;padding:0 13px;font-size:10px;display:grid}.family-package-list span,.family-package-list strong,.family-package-list small{min-width:0;display:block}.family-package-list small{color:#818b85;margin-top:3px;font-size:9px}.family-ledger{margin-top:10px}.family-ledger>header{color:#59665f;background:#f7f9f7;justify-content:space-between;align-items:center;min-height:38px;padding:0 13px;display:flex}.family-ledger>header span{text-transform:uppercase;font-size:10px;font-weight:800}.family-ledger>header small{color:#849089;font-size:9px}.family-ledger>div{border-top:1px solid #edf0ee;grid-template-columns:minmax(0,1fr) 130px 70px;align-items:center;gap:10px;min-height:48px;padding:0 13px;font-size:10px;display:grid}.family-ledger>div span,.family-ledger>div strong,.family-ledger>div small{min-width:0;display:block}.family-ledger>div small{color:#818b85;margin-top:3px;font-size:9px}.family-ledger>p{color:#7e8982;margin:0;padding:18px 13px;font-size:10px}.ledger-locked{color:#89928d;text-align:right;font-size:9px}.family-finance-modal{width:min(610px,100%)}.family-student-picker,.payment-allocation-editor{border:0;min-width:0;margin:0;padding:0}.family-student-picker legend,.payment-allocation-editor legend{color:#525e57;margin-bottom:7px;font-size:12px;font-weight:700}.family-student-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:225px;display:grid;overflow-y:auto}.family-student-picker>div>label{cursor:pointer;border:1px solid #dfe5e1;border-radius:5px;grid-template-columns:16px 30px minmax(0,1fr);align-items:center;gap:7px;min-height:49px;padding:6px 8px;display:grid}.family-student-picker>div>label.selected{background:#eef7f2;border-color:#abd0bb}.family-student-picker input{accent-color:#28785b;width:15px;height:15px;padding:0}.family-student-picker label>span:not(.avatar),.family-student-picker strong,.family-student-picker small{min-width:0;display:block}.family-student-picker small{color:#818b85;margin-top:3px;font-size:9px;font-weight:500}.billing-rate-note{color:#337153;background:#f4faf6;border:1px solid #dbe7df;border-radius:5px;align-items:center;gap:9px;min-height:57px;padding:9px 11px;display:flex}.billing-rate-note span,.billing-rate-note strong,.billing-rate-note small{display:block}.billing-rate-note strong{font-size:11px}.billing-rate-note small{color:#748179;margin-top:3px;font-size:9px}.billing-method-explainer,.balance-action-note{color:#3159bd;background:#f5f8ff;border:1px solid #d8e3ff;border-radius:5px;align-items:flex-start;gap:9px;min-height:61px;padding:10px 11px;display:flex}.billing-method-explainer>svg,.balance-action-note>svg{flex:none;margin-top:1px}.billing-method-explainer span,.billing-method-explainer strong,.billing-method-explainer small,.balance-action-note span,.balance-action-note strong,.balance-action-note small{min-width:0;display:block}.billing-method-explainer strong,.balance-action-note strong{color:#233d7c;font-size:11px}.billing-method-explainer small,.balance-action-note small{color:#667697;margin-top:4px;font-size:10px;line-height:15px}.balance-action-note{color:#3b7057;background:#f6faf7;border-color:#dce5df}.balance-action-note strong{color:#2e654c}.balance-action-note small{color:#6f7d75}.balance-scope-note{background:#fafbfa;border:1px solid #e0e6e2;border-radius:5px;justify-content:space-between;align-items:center;gap:16px;min-height:53px;padding:9px 11px;display:flex}.balance-scope-note strong,.balance-scope-note span{display:block}.balance-scope-note strong{color:#3f4c45;font-size:11px}.balance-scope-note span{color:#77827b;text-align:right;max-width:330px;font-size:10px;line-height:14px}.family-payment-editor{width:min(790px,100%)}.family-payment-editor .modal-header p{color:#77827c;max-width:540px;margin:5px 0 0;font-size:10px}.payment-allocation-editor>div{border:1px solid #e0e6e2;border-bottom:0;grid-template-columns:minmax(145px,.9fr) minmax(180px,1.15fr) 105px 34px;align-items:end;gap:8px;min-height:60px;padding:8px 10px;display:grid}.payment-allocation-editor>div:first-of-type{border-radius:5px 5px 0 0}.payment-allocation-editor>div:last-of-type{border-bottom:1px solid #e0e6e2;border-radius:0 0 5px 5px}.payment-allocation-editor>.secondary-button{width:max-content;min-height:32px;margin-top:8px;font-size:10px}.payment-allocation-total{background:#f5faf7;border:1px solid #d8e4dc;border-radius:5px;justify-content:flex-end;align-items:center;gap:34px;min-height:55px;padding:0 13px;display:flex}.payment-allocation-total span,.payment-allocation-total small,.payment-allocation-total strong{text-align:right;display:block}.payment-allocation-total small{color:#748179;font-size:9px}.payment-allocation-total strong{color:#2d6a4e;margin-top:3px;font-size:14px}.payment-allocation-total.invalid{background:#fff6f4;border-color:#e5b6ae}.payment-allocation-total.invalid strong{color:#a3483b}.quote-preview-layer{place-items:start center;overflow-y:auto}.quote-preview{z-index:1;background:#fff;border-radius:7px;width:min(940px,100%);margin:20px 0;position:relative;overflow:hidden;box-shadow:0 20px 60px #0a171040}.quote-preview-actions{border-bottom:1px solid var(--line);color:#66716a;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:58px;padding:0 18px;font-size:11px;font-weight:800;display:flex}.quote-preview-actions>div{gap:7px;display:flex}.quote-document{color:#111;background:#fff;min-height:690px;padding:48px 42px 60px;font-family:Arial,Helvetica,sans-serif}.quote-document-brand{border-bottom:2px solid #111;grid-template-columns:60px 1fr auto;align-items:center;gap:14px;margin-bottom:30px;padding-bottom:24px;display:grid}.quote-document-brand img{object-fit:contain;width:56px;height:56px}.quote-document-brand>div:nth-child(2) strong,.quote-document-brand>div:nth-child(2) span,.quote-document-brand>div:last-child span,.quote-document-brand>div:last-child strong{display:block}.quote-document-brand>div:nth-child(2) strong{font-size:20px}.quote-brand-tagline{color:#343a36;margin:5px 0 0;font-size:12px;font-weight:700;line-height:16px}.quote-brand-tagline span{margin:0!important}.quote-document-brand>div:last-child{text-align:right}.quote-document-brand>div:last-child span{color:#4f5753;letter-spacing:.08em;font-size:12px;font-weight:800}.quote-document-brand>div:last-child strong{margin-top:6px;font-size:14px}.quote-document h1{margin:0 0 8px;font-size:30px}.quote-document>p{margin:0 0 30px;font-size:18px;line-height:22px}.quote-document table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:15px}.quote-document th,.quote-document td{overflow-wrap:anywhere;text-align:left;border:2px solid #222;padding:10px 9px}.quote-document th{background:#e8e8e8}.quote-grand-total{border-top:1px solid #b9b9b9;margin-top:34px;padding-top:16px;font-size:19px;display:block}.modal-layer{z-index:60;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#0f181394;border:0;width:100%;height:100%;position:absolute;inset:0}.modal-panel{overscroll-behavior:contain;background:#fff;border-radius:7px;width:min(520px,100%);max-height:calc(100dvh - 40px);position:relative;overflow:auto;box-shadow:0 20px 60px #0a171040}.modal-panel.finance-editor{width:min(960px,100vw - 32px);overflow-x:hidden}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px 24px 17px;display:flex}.modal-header h2{margin:4px 0 0;font-size:19px}.modal-panel form{gap:15px;padding:20px 24px 24px;display:grid}.modal-panel label{color:#525e57;gap:6px;font-size:12px;font-weight:700;display:grid}.modal-panel label>small{color:#818c85;font-size:10px;font-weight:500;line-height:14px}.optional-field{color:#89938d;text-transform:uppercase;font-size:9px;font-weight:700;display:inline}.status-note-field textarea{min-height:84px}.lesson-delete-confirm label{color:#59645e;text-align:left;gap:6px;margin:0 auto 18px;font-size:11px;font-weight:750;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.toast{z-index:80;color:#fff;background:#214c39;border-radius:5px;align-items:center;gap:9px;min-height:44px;padding:0 15px;font-size:13px;font-weight:700;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #12312338}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1120px){.panel,.data-panel,.settings-content,.finance-table-panel,.portal-main>*,.portal-earnings-section{min-width:0}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.capacity-panel{grid-row:auto}.student-columns{grid-template-columns:minmax(180px,1.2fr) minmax(100px,.7fr) minmax(150px,1fr) minmax(155px,1fr) 70px 110px}.people-table{overflow-x:auto}.table-head,.table-row{min-width:920px}.student-portal-grid{grid-template-columns:1fr 1fr}.progress-block{grid-column:1/-1;min-height:250px}.module-row{grid-template-columns:30px minmax(180px,1fr) minmax(100px,.6fr)}.module-row input[type=range],.topic-state{grid-column:2/-1;justify-self:stretch;margin-bottom:10px}.module-group .module-row{grid-template-columns:30px minmax(180px,1fr) minmax(100px,.6fr) 36px}.module-group .module-subtopic-toggle{grid-area:1/4;margin:0}.curriculum-subtopic-row{grid-template-columns:22px minmax(180px,1fr) minmax(100px,.6fr)}.curriculum-subtopic-row input[type=range],.curriculum-subtopic-row .topic-state{grid-column:2/-1;justify-self:stretch;margin-bottom:7px}.integration-row{grid-template-columns:38px 1fr 62px;padding:12px 0}.integration-row label{grid-column:2/-1}.assessment-register{overflow-x:auto}.assessment-register-head,.assessment-register-row{min-width:840px}.curriculum-class-map{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary{grid-template-columns:1fr}.finance-summary>article{border-right:0;border-bottom:1px solid var(--line)}.finance-summary>article:last-child{border-bottom:0}.finance-table-panel{overflow-x:auto}.finance-table-head,.finance-table-row{min-width:850px}.tutor-analytics-grid,.notification-admin-layout{grid-template-columns:1fr}.notification-delivery-summary{grid-template-columns:repeat(3,1fr);gap:0 16px;display:grid}.notification-delivery-summary>.eyebrow,.notification-delivery-summary>p{grid-column:1/-1}.notification-delivery-summary>div{min-height:58px}}@media (width<=820px){.sidebar{height:100dvh;padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom));transition:transform .22s;transform:translate(-100%);box-shadow:12px 0 40px #05110a40}.sidebar.open{transform:translate(0)}.sidebar-close,.mobile-menu{display:inline-grid!important}.sidebar-scrim{z-index:25;background:#0c140f61;border:0;position:fixed;inset:0}.main-area{width:100%;margin-left:0}.topbar{padding-right:max(18px, env(safe-area-inset-right));padding-left:max(18px, env(safe-area-inset-left))}.search-box{width:min(430px,55vw)}.page-content{padding:24px 18px 40px}.lesson-row{grid-template-columns:52px 34px 1fr auto 34px}.tutor-inline{display:none}.portal-hero{grid-template-columns:1fr;gap:28px}.link-policy,.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow-x:auto}.curriculum-summary{grid-template-columns:140px 1fr}.curriculum-summary>span{grid-column:1/-1}.class-assignment-panel{overflow-x:auto}.class-assignment-head,.class-assignment-row{min-width:850px}.portal-login-shell{grid-template-columns:1fr}.login-aside{display:none}.standalone-portal{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-content:start}.portal-preview-toolbar{flex-wrap:wrap;padding:9px 72px 9px 12px;position:relative}.portal-preview-toolbar>div:first-child{flex:1 0 auto}.portal-preview-toolbar label{order:3;width:100%;min-width:0;margin-left:0}.portal-preview-return{order:2}.portal-preview-toolbar+.standalone-portal .portal-sidebar{height:auto;top:0}.portal-sidebar{z-index:45;width:100%;height:auto;min-height:0;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));align-self:start;position:sticky;top:0;overflow:hidden}.portal-brand{min-height:42px;padding:2px 48px 10px 2px}.portal-sidebar nav{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;border-top:1px solid #26354b;flex-direction:row;gap:5px;padding-top:7px;overflow-x:auto}.portal-sidebar nav::-webkit-scrollbar{display:none}.portal-sidebar nav button{scroll-snap-align:start;flex:none;min-height:40px}.portal-sidebar nav button.active{box-shadow:inset 0 -3px #60a5fa}.portal-account{top:max(11px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));border:0;width:40px;height:40px;padding:0;display:block;position:absolute}.portal-account>span,.portal-account>div{display:none}.portal-account button{border:1px solid #334155;border-radius:5px;width:40px;height:40px}.portal-main{width:100%}.lesson-accountability-panel>header{flex-direction:column;align-items:stretch;gap:13px;min-width:0}.accountability-metrics{grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.accountability-metrics>span{min-width:0}.assessment-report-card>header,.portal-assessment-report>header{grid-template-columns:1fr 120px}.curriculum-library-stats{grid-template-columns:repeat(2,1fr)}.curriculum-library-stats>div:nth-child(2){border-right:0}.curriculum-library-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.curriculum-library-filters{grid-template-columns:1fr 1fr}.allocation-grid{grid-template-columns:1fr}.finance-metric-row{grid-template-columns:1fr 1fr;gap:13px 0}.finance-metric-row>div:nth-child(2n){border-right:0}.finance-metric-row>div:nth-child(odd){padding-left:0}.finance-warning-list{grid-template-columns:1fr}.finance-warning-list>div{border-right:0}.portal-earnings-layout{grid-template-columns:1fr}.portal-progress-directory>article{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(82px,.45fr))}.portal-progress-directory>article>.portal-progress-button{grid-column:1/-1;justify-self:start}.portal-student-workspace-header{grid-template-columns:1fr}.portal-student-workspace-actions{grid-column:auto}.portal-curriculum-modules .portal-topic{grid-template-columns:28px minmax(180px,1fr) minmax(130px,.5fr)}.portal-progress-control,.portal-topic-state{grid-column:2/-1;justify-self:end}.portal-subtopic{grid-template-columns:20px minmax(180px,1fr) minmax(130px,.5fr)}.portal-subtopic .portal-progress-control,.portal-subtopic .portal-topic-state{grid-column:2/-1}.quote-family-picker>div{grid-template-columns:1fr 1fr}.quote-line-editor>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"student subject""tutor tutor""hours rate""amount remove"}.quote-line-editor>div>.quote-line-amount{grid-column:auto;justify-self:start}.quote-line-editor>div>.quote-line-remove{grid-column:auto;justify-self:end}.notification-recipient-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-log>div>article{grid-template-columns:38px minmax(0,1fr) 70px}.notification-log-actions{grid-column:2/-1;justify-content:flex-end}}@media (width<=560px){.topbar{height:60px;padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left));gap:8px}.mobile-menu{width:40px;height:40px}.search-box{flex:1;width:auto}.search-box kbd{display:none}.topbar-actions .primary-button{width:36px;padding:0;font-size:0}.sync-status{display:none}.page-content{padding:20px 12px 32px}.page-heading{flex-direction:column;gap:13px;min-height:0;margin-bottom:18px}.page-heading h1{font-size:22px;line-height:28px}.page-heading>button{margin-top:0}.heading-actions{width:100%;margin-top:0}.heading-actions button{flex:1}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{flex-direction:column;align-items:flex-start;gap:8px;min-height:116px;padding:13px}.metric-icon{width:32px;height:32px}.metric-copy strong{font-size:21px;line-height:24px}.dashboard-grid{gap:10px}.panel-header{padding:13px 14px}.panel-header .text-button{font-size:0}.panel-header .text-button svg{width:18px;height:18px}.lesson-list{padding:3px 12px 7px}.lesson-row{grid-template-columns:46px 32px minmax(0,1fr) 32px;gap:8px}.lesson-row .mode-badge{display:none}.assignment-list,.capacity-table{padding-left:12px;padding-right:12px}.assignment-row{grid-template-columns:32px minmax(0,1fr);padding:9px 0}.assignment-row select{grid-column:2}.assignment-row .secondary-button{grid-column:2;width:100%}.capacity-row{grid-template-columns:32px 1fr 60px;padding:9px 0}.capacity-meter{grid-column:2/-1}.capacity-row>b{grid-area:1/3}.content-toolbar{height:auto;min-height:48px}.student-portal-grid{grid-template-columns:1fr}.progress-block{grid-column:auto}.portal-hero{padding:26px 22px}.portal-hero-stats{grid-template-columns:1fr;gap:8px}.portal-hero-stats div{border:0;border-top:1px solid #334155;align-items:baseline;gap:7px;padding:8px 0;display:flex}.student-card-grid{grid-template-columns:1fr}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-nav{width:100%}.calendar-nav strong{min-width:0;margin-left:auto;font-size:11px}.schedule-legend{flex-wrap:wrap;width:100%}.calendar-shell{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}.week-grid{grid-template-columns:repeat(7,minmax(240px,calc(100vw - 78px)));min-width:max-content}.day-column{scroll-snap-align:start;min-height:480px}.day-body{min-height:417px}.lesson-accountability-panel>header{padding:15px}.accountability-metrics{grid-template-columns:1fr 1fr}.accountability-metrics>span{border-top:1px solid #e6ebe8;border-left:0;min-height:57px}.accountability-metrics>span:nth-child(odd){border-right:1px solid #e6ebe8}.accountability-metrics>span:nth-child(-n+2){border-top:0}.accountability-metrics>span:last-child{border-right:0;grid-column:1/-1}.session-history-panel>header{flex-direction:column;align-items:stretch}.session-history-panel>header label{min-width:0}.form-row,.billing-fields{grid-template-columns:1fr}.balance-scope-note{flex-direction:column;align-items:flex-start;gap:4px}.balance-scope-note span{text-align:left}.modal-layer{padding:6px;padding-bottom:max(6px, env(safe-area-inset-bottom));align-items:end}.profile-layer{padding:0}.modal-panel,.modal-panel.finance-editor{border-radius:7px 7px 0 0;width:100%;max-height:calc(100dvh - 12px)}.modal-header,.modal-panel form{padding:18px}.modal-panel form>.modal-actions{z-index:4;padding:12px 18px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffffa;margin:3px -18px -18px;position:sticky;bottom:0}.modal-actions>button{min-height:42px}.toast{top:max(72px, calc(env(safe-area-inset-top) + 12px));justify-content:center;bottom:auto;left:12px;right:12px}.curriculum-head{flex-direction:column;align-items:flex-start;padding:15px}.curriculum-controls{flex-wrap:wrap;width:100%}.curriculum-controls select{flex:1;min-width:0}.curriculum-allocate-button{flex:1 0 auto}.curriculum-summary{grid-template-columns:1fr;padding:12px 15px}.curriculum-summary>span{grid-column:auto}.curriculum-library-stats>div{min-height:68px;padding:11px 14px}.curriculum-library-filters{grid-template-columns:1fr;padding:11px}.allocation-grid{padding:12px}.create-allocation-grid{padding:0}.allocation-picker>header{flex-direction:column;align-items:flex-start}.allocation-picker>header>div:last-child{flex-wrap:wrap;justify-content:flex-start;width:100%}.allocation-footer{flex-direction:column;align-items:stretch}.allocation-footer>div:last-child{justify-content:flex-end}.curriculum-allocation-modal .allocation-footer{z-index:4;padding-bottom:max(12px, env(safe-area-inset-bottom));background:#fffffffa;position:sticky;bottom:0}.curriculum-class-map{grid-template-columns:1fr}.class-allocation-wrap{padding:10px 12px 16px}.allocation-explainer{margin:12px 12px 0}.allocation-explainer.compact{margin:0}.class-allocation-picker>header{flex-direction:column;align-items:flex-start}.class-allocation-picker>header>div:last-child{flex-wrap:wrap;justify-content:flex-start;width:100%}.class-allocation-options label{grid-template-columns:18px 30px minmax(0,1fr)}.class-match-state{grid-column:3}.portal-access-toolbar{flex-direction:column;align-items:flex-start}.portal-access-tools{justify-content:space-between;align-items:flex-start;width:100%}.module-list{padding:2px 15px 8px}.module-row{grid-template-columns:28px 1fr;gap:9px;padding:11px 0}.module-progress,.module-row input[type=range],.topic-state{grid-column:2}.module-group .module-row{grid-template-columns:28px minmax(0,1fr) 34px}.module-group .module-progress{grid-column:2/-1}.module-group .module-subtopic-toggle{grid-area:1/3}.curriculum-subtopic-list{margin-left:37px}.curriculum-subtopic-row{grid-template-columns:20px minmax(0,1fr);gap:9px;padding:9px}.curriculum-subtopic-row .module-progress,.curriculum-subtopic-row input[type=range],.curriculum-subtopic-row .topic-state{grid-column:2;width:100%}.curriculum-source{padding:9px 15px}.curriculum-topic-edit-row{grid-template-columns:24px minmax(0,1fr)}.curriculum-topic-edit-row>div:last-child{grid-column:2;display:flex}.integration-list{padding:2px 15px 8px}.integration-row{grid-template-columns:36px 1fr}.integration-row label,.integration-row .connection-pill{grid-column:1/-1}.access-summary{grid-template-columns:1fr}.access-summary>div{justify-content:flex-start;min-height:70px;padding-left:24px}.student-actions,.portal-actions{flex-direction:column;align-items:stretch}.portal-login-panel{width:calc(100% - 24px);padding:24px}.login-copy h1{font-size:22px;line-height:28px}.portal-sidebar{padding-bottom:7px}.portal-brand{padding-bottom:8px}.portal-sidebar nav{margin:0 -12px;padding:7px 12px 0}.portal-sidebar nav button{min-height:42px;padding:0 10px}.portal-main{padding:22px max(12px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.portal-main>header{flex-direction:column;gap:10px}.portal-profile-hero{grid-template-columns:78px 1fr;padding:21px 18px}.portal-profile-hero .profile-image.large{width:78px;height:78px}.profile-photo-actions{grid-column:1/-1}.portal-profile-card>form{padding:20px 18px 22px}.portal-profile-fields,.profile-readonly-grid{grid-template-columns:1fr}.profile-drawer-hero{grid-template-columns:64px 1fr}.profile-drawer-hero .avatar{width:64px;height:64px}.profile-drawer-hero>.status-pill{grid-column:2;justify-self:start}.profile-stat-strip{grid-template-columns:1fr 1fr}.profile-stat-strip>div:nth-child(2){border-right:0}.profile-stat-strip>div:last-child{border-top:1px solid var(--line);grid-column:1/-1}.profile-detail-section dl,.profile-edit-grid{grid-template-columns:1fr}.profile-edit-grid .wide{grid-column:auto}.portal-metrics{grid-template-columns:1fr}.portal-next{grid-template-columns:1fr;padding:25px 20px}.portal-next-time{border-top:1px solid #334155;border-left:0;align-items:flex-start;padding:18px 0 0}.portal-card-list>article{grid-template-columns:1fr auto}.portal-card-list>article>a{grid-column:1/-1}.portal-student-directory>article>header{grid-template-columns:1fr}.portal-student-directory>article>header>.portal-progress-button{justify-self:stretch}.portal-student-classes>div{flex-direction:column;align-items:flex-start;padding-left:17px}.portal-student-classes a,.portal-calendar-route{justify-content:center;align-self:stretch}.portal-calendar-list>article{grid-template-columns:48px 1fr}.portal-calendar-list>article>a{grid-column:1/-1}.portal-calendar-list>article.tutor-lesson-row{grid-template-columns:48px minmax(0,1fr)}.portal-lesson-actions{grid-column:1/-1;justify-content:flex-start}.portal-lesson-actions>button,.portal-lesson-actions>a,.portal-checkin-pending{flex:140px}.portal-progress-directory>article{grid-template-columns:1fr 1fr;gap:13px}.portal-progress-directory .portal-progress-person,.portal-progress-directory>article>.portal-progress-button{grid-column:1/-1}.portal-progress-directory>article>.portal-progress-button{justify-self:stretch}.portal-student-workspace-header{padding:18px}.portal-student-workspace-person{align-items:flex-start}.portal-student-workspace-person .profile-image.large{flex:none;width:68px;height:68px}.portal-student-workspace-metrics{grid-template-columns:1fr 1fr}.portal-student-workspace-metrics>div:nth-child(3){border-top:1px solid #e6eae7;border-left:0;grid-column:1/-1}.portal-student-workspace-actions{flex-direction:column;align-items:stretch}.portal-progress-switcher>button{flex-basis:190px;min-width:190px}.portal-curriculum-modules .portal-topic{grid-template-columns:28px minmax(0,1fr)}.portal-topic-progress,.portal-progress-control,.portal-topic-state{grid-column:2;justify-self:stretch;width:100%}.portal-topic-group .portal-topic{grid-template-columns:28px minmax(0,1fr) 26px}.portal-topic-group .portal-topic>div:nth-child(2){grid-column:2}.portal-topic-group .portal-topic-progress{grid-column:2/-1}.portal-topic-group .portal-topic-chevron{grid-area:1/3}.portal-subtopic-list{padding-left:34px}.portal-subtopic{grid-template-columns:20px minmax(0,1fr)}.portal-subtopic .portal-topic-progress,.portal-subtopic .portal-progress-control,.portal-subtopic .portal-topic-state{grid-column:2;width:100%}.portal-topic-state{width:max-content}.portal-earnings-heading{flex-direction:column;align-items:stretch}.portal-earnings-heading label{min-width:0}.portal-earnings-metrics,.portal-earnings-currencies{grid-template-columns:1fr}.portal-student-hours{overflow-x:visible}.portal-student-hours>article{grid-template-columns:1fr 1fr;gap:10px;min-width:0;padding:13px 17px}.portal-student-hours>article>div:first-child{border-bottom:1px solid #edf0ee;grid-column:1/-1;padding-bottom:7px}.month-picker{width:100%}.assessment-summary{grid-template-columns:1fr}.assessment-summary>div{border-right:0;border-bottom:1px solid var(--line);min-height:68px}.assessment-summary>div:last-child{border-bottom:0}.assessment-report-card>header,.portal-assessment-report>header{grid-template-columns:1fr;gap:17px;padding:21px 19px}.assessment-score,.portal-assessment-report>header>div:last-child{border-top:1px solid #476357;border-left:0;align-items:flex-start;min-height:auto;padding:15px 0 0}.assessment-report-body,.portal-assessment-sections{grid-template-columns:1fr}.assessment-report-body section,.portal-assessment-sections section{border-right:0;min-height:auto}.portal-assessment-toolbar{flex-direction:column;align-items:stretch}.portal-assessment-toolbar label{min-width:0}.portal-assessment-filters{flex-direction:column;align-items:stretch}.portal-assessment-roster>article{grid-template-columns:38px 1fr auto}.portal-assessment-result{grid-column:2}.portal-assessment-roster button{grid-column:1/-1}.finance-heading{align-items:stretch}.finance-month{min-width:0}.finance-summary{scroll-snap-type:x mandatory;scrollbar-width:thin;display:flex;overflow-x:auto}.finance-summary>article{border-right:1px solid var(--line);scroll-snap-align:start;border-bottom:0;flex:0 0 calc(100vw - 24px);min-width:calc(100vw - 24px)}.finance-toolbar{flex-direction:column;align-items:stretch;padding-bottom:10px}.finance-toolbar .tabs{gap:15px;width:100%;overflow-x:auto}.finance-toolbar .tabs button{flex:none;min-height:46px}.finance-summary>article{padding:15px}.exchange-rate-bar{grid-template-columns:34px 1fr 34px}.exchange-rate-bar>div:nth-child(3){text-align:left;grid-column:2}.exchange-rate-bar>button{grid-area:1/3}.finance-editor{width:calc(100vw - 20px)}.family-account-toolbar{flex-direction:column;align-items:stretch}.family-account-toolbar>label{width:100%}.family-account-toolbar>.primary-button{justify-content:center}.family-student-picker>div{grid-template-columns:1fr}.payment-allocation-editor>div{grid-template-columns:1fr 1fr;align-items:end}.payment-allocation-editor>div>label:nth-child(2){grid-column:1/-1}.payment-allocation-total{justify-content:space-between;gap:12px}.quote-family-picker>div{grid-template-columns:1fr}.quote-line-editor>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"student student""subject subject""tutor tutor""hours rate""amount remove";gap:11px;padding:13px}.quote-line-editor>div>.quote-line-amount{grid-column:auto;place-self:center start}.quote-line-editor>div>.quote-line-remove{grid-column:auto;justify-self:end}.quote-document{min-height:600px;padding:30px 20px 45px}.quote-document-brand{grid-template-columns:48px 1fr}.quote-document-brand img{width:44px;height:44px}.quote-document-brand>div:last-child{text-align:left;grid-column:1/-1;padding-top:12px}.quote-document h1{font-size:24px}.quote-document>p{font-size:14px}.quote-document table{font-size:11px}.quote-document th,.quote-document td{padding:6px 4px}.quote-preview{border-radius:7px 7px 0 0;margin:6px 0}.quote-preview-actions{z-index:3;background:#fff;gap:8px;min-height:54px;padding:8px 12px;position:sticky;top:0}.quote-preview-actions>div{flex-wrap:wrap;justify-content:flex-end}.notification-form-grid{grid-template-columns:1fr;padding:15px}.notification-form-grid label.wide{grid-column:auto}.notification-recipient-picker{margin:0 15px 15px}.notification-recipient-picker>div{grid-template-columns:1fr}.notification-composer>footer{flex-direction:column-reverse;align-items:stretch;padding:13px 15px}.notification-delivery-summary{grid-template-columns:1fr}.notification-delivery-summary>.eyebrow,.notification-delivery-summary>p{grid-column:auto}.notification-log>header{align-items:flex-start}.notification-log>div>article{grid-template-columns:38px minmax(0,1fr);padding:14px}.notification-read-state{grid-area:2/1}.notification-log-actions{grid-column:2}.portal-notification-toolbar{flex-direction:column;align-items:stretch}.portal-notification-toolbar>div:last-child{flex-direction:column}.portal-notification-list>article{grid-template-columns:38px minmax(0,1fr);padding:14px}.portal-notification-list>article>button{grid-column:2;justify-self:start}.people-table,.class-assignment-panel,.assessment-register,.portal-access-table,.finance-table-panel,.lesson-accountability-panel,.session-history-panel{overscroll-behavior-x:contain;scrollbar-width:thin}.people-table .table-head>:first-child,.people-table .table-row>:first-child,.class-assignment-head>:first-child,.class-assignment-row>:first-child,.assessment-register-head>:first-child,.assessment-register-row>:first-child,.portal-access-head>:first-child,.portal-access-row>:first-child,.finance-table-head>:first-child,.finance-table-row>:first-child{z-index:2;background:#fff;position:sticky;left:0;box-shadow:8px 0 12px -12px #0f172a73}.people-table .table-head>:first-child,.class-assignment-head>:first-child,.assessment-register-head>:first-child,.portal-access-head>:first-child,.finance-table-head>:first-child{z-index:3;background:#f7f9f7}}@media (width<=360px){.page-content,.topbar{padding-left:10px;padding-right:10px}.search-box{padding:0 8px}.metric-card{min-height:112px;padding:11px}.heading-actions{flex-direction:column;align-items:stretch}.portal-profile-hero{grid-template-columns:64px minmax(0,1fr)}.portal-profile-hero .profile-image.large{width:64px;height:64px}.quote-line-editor>div{grid-template-columns:1fr;grid-template-areas:"student""subject""tutor""hours""rate""amount""remove"}.quote-line-editor>div>.quote-line-remove{justify-self:stretch}.quote-line-editor>div>.quote-line-remove button{width:100%}}@media (hover:none),(pointer:coarse){.icon-button{width:40px;height:40px}.primary-button,.secondary-button,.text-button,.portal-progress-button,.portal-calendar-route,.portal-student-classes a,.portal-card-list>article>a,.portal-calendar-list>article>a{min-height:42px}.calendar-edit-button,.calendar-delete-button{width:34px;height:34px}}@media print{body *{visibility:hidden!important}.quote-document,.quote-document *{visibility:visible!important}.quote-document{width:100%;min-height:0;padding:24px;position:absolute;inset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=760px){.activity-summary{grid-template-columns:1fr}.activity-summary>article{border-top:1px solid #e5eae7;border-left:0;min-height:76px}.activity-summary>article:first-child{border-top:0}.activity-log-layout{grid-template-columns:1fr}.activity-user-options{max-height:260px}.activity-stream>article{grid-template-columns:38px minmax(0,1fr);align-items:start}.activity-event time{text-align:left;grid-column:2}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.admin-login-shell{background:#f8fafc;place-items:center;width:100%;min-width:0;min-height:100vh;padding:24px;display:grid;overflow-x:hidden}.admin-login-panel{background:#fff;border:1px solid #e2e8f0;border-radius:7px;width:min(460px,100%);min-width:0;padding:38px;box-shadow:0 24px 64px #0f172a1a}.google-admin-signin{place-items:center;gap:8px;min-height:58px;margin-top:26px;transition:opacity .15s;display:grid}.google-admin-signin.is-submitting{opacity:.65;pointer-events:none}.google-admin-signin>span{color:#64748b;font-size:13px;font-weight:650}.google-admin-button{place-items:center;width:min(360px,100%);min-width:0;min-height:44px;display:grid;overflow:hidden}.google-admin-button>div,.google-admin-button iframe{width:100%!important;max-width:100%!important}.admin-login-panel .login-error{margin-top:14px}.production-admin-logout{z-index:60;color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;align-items:center;gap:7px;min-height:36px;padding:0 11px;font-size:12px;font-weight:750;display:inline-flex;position:fixed;top:16px;right:20px}@media (width<=720px){.admin-login-shell{padding:12px}.admin-login-panel{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:25px 21px}.production-admin-logout{font-size:0;top:15px;right:61px}}
