@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-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow,.shadow\/lift\.{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}}:root{--screen-scale:1;--ui-scale:var(--screen-scale);--layout-vw:1vw;--viewport-width:calc(100vw / var(--ui-scale));--viewport-height:calc(100dvh / var(--ui-scale));--viewport-stable-height:calc(100svh / var(--ui-scale));--ink:#1d1d19;--muted:#65635b;--paper:#eaeaea;--surface:#fff;--line:#ded9cd;--soft:#f4f1ea;--detail-surface:#dfe2e5;--contractor-facts:var(--detail-surface);--nav:#151719;--filter:#151719;--filter-field:#2b2d30;--surface-shadow:0 8px 24px #2e261414, 0 2px 3px #2e26140d;--button-shadow:0 2px 1px #1d1d198c, 0 4px 8px #1d1d1914;--yellow:#ffcc24;--control-border-active:#00b8d4;--danger:#9b2825;--success:#315b3c;--font-body:"Archivo Variable", sans-serif;--font-display:"Big Shoulders Display Variable", sans-serif;--font-level:"Bebas Neue", sans-serif;--workspace-sidebar-width:300px;--workspace-max-width:1500px;--field-max-width:380px;--table-row-height:60px;--font-form:"Inter Variable", sans-serif;--font-form-heading:"Barlow Condensed", sans-serif;--form-label-size:13px;--form-text-size:13px;--form-section-size:15px;--form-weight:700;--panel-gap:16px;--form-section-gap:16px;--form-section-label-gap:12px;--form-control-size:13px;--form-control-height:40px;--form-row-gap:14px;--form-column-gap:18px;--form-border:#c8cacc;--form-dialog-width:720px;--form-dialog-height:760px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media screen{:root{--screen-scale:1.21;zoom:var(--ui-scale)}}@media screen and (min-width:761px) and (hover:hover) and (pointer:fine){:root{--ui-scale:.8712;--layout-vw:calc(1vw * 1.089 / var(--ui-scale));--workspace-max-width:clamp(1500px, calc(1200px + 20.8333vw), 2000px)}}@supports (zoom:calc(1px / 1px)){@media screen and (min-width:761px) and (hover:hover) and (pointer:fine){:root{--ui-scale:clamp(.8712, calc(.8712 + (100vw - 1440px) / 2400px * .17424), 1.04544)}}}@media screen{:root:has(>body>:is(.login-page,.password-page)){zoom:1}body>:is(.login-page,.password-page){zoom:var(--ui-scale)}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:15px/1.5 var(--font-body);margin:0}::selection{background:var(--yellow);color:var(--ink)}a{color:inherit;text-underline-offset:4px;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a,button,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--control-border-active)}input,textarea{caret-color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1{font:850 54px/1.04 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:10px}h2{margin-bottom:18px;font-size:18px}h3{margin-bottom:10px;font-size:17px}p{max-width:75ch;margin-bottom:16px}small,.muted{color:var(--muted)}small{display:block}.brand{align-items:center;gap:12px;font-size:28px;font-weight:750;line-height:1;display:flex}.brand small{color:inherit;font-size:11px;font-weight:450;line-height:1.8}.brand-mark{background:var(--yellow);width:44px;height:44px;color:var(--ink);border-radius:4px;place-items:center;display:grid}.sidebar{width:var(--workspace-sidebar-width);background:var(--nav);color:#f4f3ed;z-index:40;flex-direction:column;padding:0 12px;display:flex;position:fixed;inset:0 auto 0 0;overflow:visible}.sidebar-content{scrollbar-color:#57544b var(--nav);flex:1;min-height:0;padding-top:24px;overflow-y:auto}.combined-logo{width:100%;height:auto;display:block}.sidebar nav{gap:5px;padding-bottom:24px;display:grid}.nav-group{color:#aaa79b;letter-spacing:.08em;text-transform:uppercase;margin:20px 14px 4px;font-size:11px;font-weight:700}.sidebar nav a{box-sizing:border-box;color:#dedcd3;border-radius:8px;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 14px;font-weight:550;display:flex}.sidebar nav a:hover{color:#fff;background:#2b2d30;text-decoration:none}.sidebar nav a.active{background:var(--yellow);color:var(--ink)}.workspace-brand{align-items:center;gap:10px;width:fit-content;padding:0 12px;display:flex}.workspace-brand:hover{text-decoration:none}.sidebar-content>.workspace-brand{width:100%;padding:12px 14px}.sidebar-account{border-top:1px solid #302e27;flex-shrink:0;padding:12px 0;position:relative}.account-trigger{color:#f4f3ed;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px;display:flex}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:#292821}.account-trigger>svg{color:#aaa79b;flex-shrink:0;margin-left:auto}.account-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.account-trigger:focus-visible,.sidebar a:focus-visible{outline-color:var(--control-border-active);outline-offset:-3px}.account-popover{width:100%;max-height:calc(var(--viewport-height) - 110px);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:16px 8px 8px;position:absolute;bottom:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0000003d}.account-details{gap:2px;min-width:0;line-height:1.4;display:grid}.account-details strong{overflow-wrap:anywhere;font-size:14px;font-weight:650}.account-details>span{color:#aaa79b;font-size:12px}.account-actions{border-top:1px solid var(--line);gap:2px;padding-top:8px;display:grid}.account-actions a,.account-actions button{width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:12px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.account-actions a:hover,.account-actions button:hover{background:var(--soft);text-decoration:none}.account-actions a:focus-visible,.account-actions button:focus-visible{outline-color:var(--control-border-active);outline-offset:-3px}.account-actions svg{flex-shrink:0}.account-identity{margin-bottom:12px;padding:0 12px;font-size:12px;line-height:1.4;display:grid}.account-identity>span{color:var(--muted)}.account-identity strong{overflow-wrap:anywhere}.account-avatar{background:var(--yellow);width:40px;height:40px;color:var(--ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:750;line-height:1;display:grid}.mobile-navigation-control{display:none}.sidebar nav svg{flex-shrink:0}.workspace{margin-left:var(--workspace-sidebar-width);min-height:var(--viewport-stable-height);flex-direction:column;display:flex}.main-content{padding:44px clamp(28px, calc(var(--layout-vw) * 4), 72px);min-width:0;max-width:var(--workspace-max-width);flex:1;width:100%;margin:0 auto}.workspace-footer{border-top:1px solid var(--line);color:var(--muted);padding:16px 36px;font-size:11px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding-top:12px;display:flex}.page-heading p{color:var(--muted);margin:0}.heading-actions{flex-shrink:0}.back{color:var(--muted);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;display:inline-flex}.button{font:700 15px/1.5 var(--font-form);text-transform:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 17px;transition:background-color .15s,border-color .15s;display:inline-flex}.button,.pagination-button,.directory-view-button,.directory-export-button{box-shadow:var(--button-shadow);border-radius:8px;transition:background-color .15s,border-color .15s}.button:hover{text-decoration:none}.button.primary{background:var(--yellow);color:#111;box-shadow:var(--button-shadow)}.button.primary:hover:not(:disabled){background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--yellow) 94%, #000)}}.button.secondary{background:var(--surface);color:#222;border-color:var(--form-border)}.button.secondary:hover:not(:disabled){border-color:#777}.button:disabled,.pagination-button:disabled,.directory-view-button:disabled,.directory-export-button:disabled{box-shadow:none}.button>svg{flex-shrink:0}.icon-button{border:1px solid var(--line);background:0 0;border-radius:8px;place-items:center;min-width:44px;min-height:44px;display:inline-grid;box-shadow:0 2px 4px #1d1d1914}.panel{background:var(--surface);border:1px solid var(--line);width:100%;box-shadow:var(--surface-shadow);border-radius:12px;min-width:0;margin-bottom:24px;padding:24px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.panel-heading h2{margin:0}.panel-heading a,.empty a{text-decoration:underline}form{font:400 var(--form-text-size) / 1.5 var(--font-form)}.form-grid{grid-template-columns:repeat(2, minmax(0, var(--field-max-width)));gap:var(--form-row-gap) var(--form-column-gap);display:grid}.full,.form-actions{grid-column:1/-1}.field{width:100%;max-width:var(--field-max-width);min-width:0;font:var(--form-weight) var(--form-label-size) / 1.4 var(--font-form);flex-direction:column;gap:6px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--form-border);width:100%;min-width:0;max-width:100%;min-height:var(--form-control-height);color:var(--ink);font:var(--form-weight) var(--form-control-size) / 1.4 var(--font-form);background:#fff;border-radius:4px;padding:8px 11px}.field select{appearance:none;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2365686c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px;overflow:hidden}.field select:disabled{color:var(--muted);background-color:var(--soft)}.date-control{width:100%;min-width:0;display:block;position:relative}.date-control input{appearance:none;padding-right:44px;display:block}.date-control input::-webkit-date-and-time-value{text-align:left;min-width:0}.date-control input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:44px;height:100%;margin:0;padding:0;position:absolute;inset:0 0 0 auto}.date-control svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field textarea{resize:vertical;min-height:120px}.field input::placeholder{color:var(--muted);opacity:1}.check{font-size:var(--form-label-size);min-height:var(--form-control-height);align-items:center;gap:10px;display:flex}.check input{accent-color:var(--ink);flex-shrink:0;width:18px;height:18px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.program-grid{background:var(--paper);border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;padding:20px;list-style:none;display:grid}.program-card{background:var(--surface);border-radius:20px;align-items:center;gap:24px;min-width:0;min-height:152px;padding:24px 22px 24px 24px;display:flex;box-shadow:0 2px 6px #0000000f}.program-code-plate{background:var(--yellow);width:104px;min-height:104px;color:var(--ink);text-align:center;border-radius:14px;flex-direction:column;flex:0 0 104px;justify-content:center;align-items:center;padding:12px 6px;display:flex}.program-code-plate.is-courses{background:var(--nav);color:#fff}.program-plate-label{letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:800}.is-courses .program-plate-label{color:var(--yellow)}.program-code-plate strong{max-width:100%;font:700 46px/.95 var(--font-display);overflow-wrap:anywhere;margin-top:6px;display:block}.program-code-plate strong.is-long{font-size:26px;line-height:1.1}.program-code-plate.is-courses strong{font-size:54px}.program-card-content{flex:1;min-width:0}.program-card-category{color:var(--muted);letter-spacing:2px;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;font-weight:800;display:flex}.program-card-category .badge{letter-spacing:0;text-transform:none}.program-card h2{font:700 21px/1.25 var(--font-body);white-space:nowrap;text-overflow:ellipsis;margin:6px 0 0;overflow:hidden}.program-level-track{flex-wrap:wrap;gap:6px;max-width:300px;margin:16px 0 0;padding:0;list-style:none;display:flex}.program-level-track li{min-width:0;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;overflow-wrap:anywhere;flex:64px;font-size:12px;font-weight:700}.program-level-bar{background:var(--yellow);border-radius:4px;height:6px;margin-bottom:7px;display:block}.program-card-summary{color:var(--muted);align-items:center;gap:10px;margin:14px 0 0;font-size:15px;font-weight:600;display:flex}.program-card-summary svg{flex-shrink:0}.program-card-code{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.program-card .program-card-edit{border-radius:10px;flex-shrink:0;align-self:start;width:48px;height:48px}@media (max-width:1300px){.program-grid{grid-template-columns:minmax(0,1fr)}}.program-dialog{width:min(var(--form-dialog-width), calc(100% - 40px));max-width:none;height:min(var(--form-dialog-height), calc(var(--viewport-height) - 32px));max-height:calc(var(--viewport-height) - 32px);background:var(--surface);color:var(--ink);font-family:var(--font-form);border:0;border-radius:8px;margin:auto;padding:0;overflow:hidden;box-shadow:0 16px 46px #00000038}.program-dialog[open]{flex-direction:column;display:flex}.program-dialog::backdrop{background:#15171999}.program-dialog-heading{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:20px 22px;display:flex;position:relative}.form-dialog-body{flex:1;grid-template-rows:minmax(0,1fr) 36px;min-height:0;display:grid}.form-dialog-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;outline-offset:-3px;min-height:0;padding:20px 22px;scroll-padding-block:16px;overflow:auto}.form-dialog-content{display:flow-root}.form-dialog-scroll-hint{border-top:1px solid var(--line);color:var(--muted);font:500 12px/1.5 var(--font-form);visibility:hidden;justify-content:center;align-items:center;gap:6px;display:flex}.form-dialog-scroll-hint[data-visible=true]{visibility:visible}.program-dialog-heading h2{font:700 25px/1.2 var(--font-form-heading);margin:0}.program-dialog-heading .icon-button{background:#f3f3f2;flex-shrink:0;min-width:30px;min-height:30px;padding:0}.program-dialog-heading .icon-button svg{width:16px;height:16px}.form-actions>.primary{flex:1}.program-form{--level-gap:var(--form-column-gap);grid-template-columns:minmax(0,1fr);max-width:none}.program-form>.field{max-width:calc(100% - 44px - var(--level-gap))}.record-management{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.button.danger{color:#fff;background:#c73a3a;border-color:#c73a3a}.button.danger:hover:not(:disabled){background:#a92f2f;border-color:#a92f2f}.notice{border-radius:4px;margin:0;padding:14px 16px}.notice.error{color:var(--danger);background:#fff0ed}.save-error-dialog{width:min(440px,100% - 32px);max-height:calc(var(--viewport-height) - 32px);background:var(--surface);color:var(--ink);border:0;border-radius:12px;margin:auto;padding:24px;overflow:auto;box-shadow:0 24px 64px #0000004d}.save-error-dialog::backdrop{background:#00000073}.save-error-dialog h2{font:700 28px/1.15 var(--font-form-heading);margin:0 0 12px}.save-error-dialog p{font:400 15px/1.5 var(--font-form);margin:0}.save-error-actions{justify-content:flex-end;margin-top:24px;display:flex}.empty{color:var(--muted);padding:30px 0;line-height:1.6}.table-wrap{position:relative;overflow-x:auto}.table-wrap:focus-visible{outline:2px solid var(--control-border-active);outline-offset:2px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:left;width:100%}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:14px 12px;font-size:12px;font-weight:700}tbody tr{height:var(--table-row-height)}td{border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere;padding:7px 12px;font-size:15px}th:first-child,td:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}td:first-child{min-width:180px}td small{margin-top:4px;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8f7f3}.badge{color:#3b4432;white-space:nowrap;background:#eef0e9;border-radius:3px;padding:4px 8px;font-size:12px;display:inline-block}.pagination{font:400 14px/1.5 var(--font-body);font-variant-numeric:tabular-nums;color:#5a5d62;background:#fff;border:1px solid #dcdcd7;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px 12px 12px 20px;display:flex}.pagination-top{margin:0 0 16px}.pagination nav{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.pagination-button{color:#16171a;height:32px;min-height:32px;font:600 14px/1 var(--font-body);box-shadow:none;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.pagination-number{min-width:32px;padding:0;font-weight:400}.pagination-next{background:#fff;border:1px solid #c9cac4;margin-left:4px;padding:0 14px}.pagination-button:hover:not(:disabled){background:#f1f1ee;text-decoration:none}.pagination-button[aria-current=page]{color:#fff;background:#16171a;font-weight:700}.pagination-button:disabled{color:#a3a6aa;opacity:1;pointer-events:none}.pagination-gap{text-align:center;color:#5a5d62;min-width:24px}.pagination-page{display:inline-flex}@media (max-width:700px){.pagination{flex-direction:column;align-items:flex-start;gap:9px}.pagination nav{justify-content:space-between;width:100%}}.record-list>a,.record-list>.record-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.record-list>a:first-child,.record-list>.record-item:first-child{border-top:0}.record-list>a:hover{text-decoration:none}.record-list>a:hover strong{text-decoration:underline}.record-list small{margin-top:5px;font-size:13px}.dashboard-overview{background:var(--filter);color:#f4f1e9;border-color:var(--filter)}.dashboard-overview>.panel-heading{flex-wrap:wrap}.dashboard-shortcuts{flex-wrap:wrap;gap:12px;display:flex}.dashboard-shortcuts .button.secondary{color:inherit;background:0 0;border-color:#777164;text-decoration:none}.dashboard-shortcuts .button.secondary:hover{background:var(--filter-field)}.dashboard-overview :focus-visible{outline-color:var(--control-border-active)}.dashboard-overview .empty{color:inherit}.workspace-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.workspace-summary a{background:var(--filter-field);min-width:0;color:inherit;border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.workspace-summary a:hover{color:var(--yellow);text-decoration:none}.workspace-summary a>span{overflow-wrap:anywhere;flex:1;font-size:14px;font-weight:600}.workspace-summary strong{color:var(--yellow);font-variant-numeric:tabular-nums;font-size:24px}.workspace-summary svg{flex-shrink:0}.dashboard-section-title{align-items:center;gap:16px;min-width:0;display:flex}.dashboard-section-icon{background:var(--nav);width:48px;height:48px;color:var(--yellow);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.dashboard-classes-heading{flex-wrap:wrap}.dashboard-classes-heading .button{text-decoration:none}.dashboard-class-list{margin:0;padding:0;list-style:none}.dashboard-class-list li+li{border-top:1px solid var(--line)}.dashboard-class-list a{color:var(--ink);grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:24px;padding:20px 0;display:grid}.dashboard-class-list a:hover{text-decoration:none}.dashboard-class-list a:hover h3{text-underline-offset:3px;text-decoration:underline}.dashboard-class-copy{overflow-wrap:anywhere;min-width:0}.dashboard-class-copy h3{margin:0 0 4px;font-size:18px;font-weight:750}.dashboard-class-copy p{color:var(--muted);margin:0;font-size:13px}.dashboard-class-date{background:var(--detail-surface);border-radius:8px;gap:4px;padding:12px 16px;display:grid}.dashboard-class-date>span{color:var(--muted);font-size:12px}.dashboard-class-date time{font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;display:grid}.details-grid dt{color:var(--muted);margin-bottom:5px;font-size:12px}.details-grid dd{overflow-wrap:anywhere;margin:0}.notes{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.notes p{white-space:pre-wrap}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{border-top:1px solid var(--line);padding:12px 0}.level-editor{border:0;min-width:0;margin:4px 0 0;padding:0}.level-editor legend,.permission-editor legend,.student-fieldset>legend{border-top:1px solid var(--line);width:100%;padding:var(--form-section-gap) 0 0;margin-bottom:var(--form-section-label-gap);font-size:var(--form-section-size);font-weight:var(--form-weight)}.level-row .field{max-width:none}.level-row{align-items:end;gap:var(--level-gap,16px);max-width:none;margin-bottom:var(--form-row-gap);grid-template-columns:100px minmax(0,1fr) 44px;display:grid}.enroll-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.enroll-form .field{flex:1;min-width:200px}.enroll-form .notice{flex-basis:100%}.inline-form .notice{margin-bottom:10px}.user-identity{align-items:center;gap:12px;display:flex}.user-avatar{background:#eeede9;border-radius:4px;padding:10px;font-size:13px}.row-actions{gap:7px;display:flex}.access-note{color:var(--muted);font-size:13px}.login-page{min-height:var(--viewport-stable-height);align-content:center;max-width:1040px;margin-inline:auto;padding:48px;display:grid}.login-panel{background:var(--filter);color:#f4f1e9;border-radius:16px;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);align-items:center;gap:32px;padding:48px;display:grid;box-shadow:0 10px 24px #231e1229}.login-identity{min-width:0}.login-form{gap:var(--form-row-gap);display:grid}.login-panel .login-form{border-left:1px solid #35383b;padding-left:32px}.mobile-menu-button,.nav-backdrop{display:none}.skip-link{z-index:100;background:var(--yellow);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}@media (max-width:1100px){.login-page{padding:32px}.login-panel{gap:32px;padding:32px}.page-heading{align-items:flex-start}.main-content{padding:28px}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){h1{font-size:40px}.mobile-navigation-control{z-index:45;background:var(--nav);color:#f4f3ed;grid-template-columns:1fr minmax(0,144px) 1fr;align-items:center;gap:12px;height:84px;padding:10px 18px;display:grid;position:sticky;top:0}.mobile-navigation-control>.workspace-brand{width:100%;min-width:0;max-width:144px;padding:0}.mobile-menu-button{background:var(--nav);color:#f4f3ed;border-color:#0000;flex-shrink:0;justify-content:center;justify-self:start;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.sidebar{width:min(var(--workspace-sidebar-width), calc(var(--viewport-width) - 56px));padding-top:84px;display:none}.sidebar.is-open{display:flex}.sidebar-content>.workspace-brand{display:none}.nav-backdrop{z-index:35;background:#0008;border:0;display:block;position:fixed;inset:0}.workspace{min-height:calc(var(--viewport-stable-height) - 84px);margin-left:0}.main-content{padding:24px 18px}.workspace-footer{padding:16px 18px}.page-heading{margin-bottom:24px;display:block}.heading-actions{margin-top:18px}.heading-actions:empty{display:none}.panel{padding:18px}.form-grid,.details-grid{grid-template-columns:1fr}:root{--form-control-size:16px;--form-control-height:44px}.program-grid,.workspace-summary{grid-template-columns:minmax(0,1fr)}.program-grid{gap:12px;padding:12px}.program-card{grid-template-columns:72px minmax(0,1fr) 44px;gap:12px;padding:16px;display:grid}.program-code-plate{border-radius:10px;width:72px;min-height:80px}.program-plate-label{letter-spacing:1px;font-size:10px}.program-code-plate strong{font-size:34px}.program-code-plate strong.is-long{font-size:20px}.program-code-plate.is-courses strong{font-size:40px}.program-card-content{grid-area:2/1/auto/-1}.program-card h2{white-space:normal;overflow-wrap:anywhere}.program-card .program-card-edit{grid-area:1/3;width:44px;height:44px}.program-dialog{width:calc(100% - 16px);height:min(var(--form-dialog-height), calc(var(--viewport-height) - 16px));max-height:calc(var(--viewport-height) - 16px)}.program-dialog-heading,.form-dialog-scroll{padding:16px}.program-dialog-heading .icon-button{min-width:44px;min-height:44px}.program-form{--level-gap:10px}.level-row{grid-template-columns:64px minmax(0,1fr) 44px;gap:10px}.level-row .icon-button{justify-self:end}.record-list>a,.record-list>.record-item{flex-wrap:wrap;align-items:flex-start;gap:16px}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{min-width:0;display:block}.responsive-table tr{border-bottom:1px solid var(--line);padding:12px 0}.responsive-table tr:last-child{border-bottom:0}.responsive-table td{border:0;padding:7px 0}.responsive-table td[data-label]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.responsive-table td[data-label]:before{content:attr(data-label);color:var(--muted);flex-shrink:0;font-size:12px}.responsive-table td:first-child{font-size:16px}.login-page{padding:28px 20px}.login-panel{grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 24px}.login-identity{width:100%;max-width:400px;margin-inline:auto}.login-panel .login-form{border-top:1px solid #35383b;border-left:0;padding:28px 0 0}.dashboard-class-list a{grid-template-columns:minmax(0,1fr) 18px;gap:12px}.dashboard-class-copy{grid-column:1}.dashboard-class-list a>svg{grid-area:1/2}.dashboard-class-date{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:12px;display:flex}.form-actions .button{flex:1}.enroll-form{flex-direction:column;align-items:stretch}.enroll-form .field{min-width:0}.enroll-form .notice{flex-basis:auto}}@media (prefers-reduced-motion:no-preference){.button,.pagination-button,.directory-view-button,.directory-export-button{transition:background-color .15s,border-color .15s,transform .15s}.button:hover:not(:disabled),.pagination-button:hover:not(:disabled),.directory-view-button:hover:not(:disabled),.directory-export-button:hover:not(:disabled){transform:translateY(-1px)}.sidebar.is-open{animation:.2s cubic-bezier(.16,1,.3,1) nav-enter}@keyframes nav-enter{0%{opacity:.85;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}}.seat-boxes{grid-template-columns:repeat(auto-fill,22px);gap:6px;max-width:440px;display:grid}.seat-boxes>span{aspect-ratio:1;border-radius:2px}.seat-map .occupied{background:var(--yellow);border:1px solid #d8a40e}.seat-map .available{background:0 0;border:1px dashed #a8aaac}.seat-legend{color:var(--muted);flex-wrap:wrap;gap:10px 16px;margin-top:18px;font-size:11px;display:flex}.seat-legend>span{align-items:center;gap:6px;display:flex}.seat-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.seat-map{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.seat-overflow{color:var(--muted);font-size:12px}.password-page{max-width:570px;margin:0 auto;padding:40px 20px}.password-page>.brand{margin-bottom:28px}.password-page h1{font-size:40px}.password-page .login-form{margin-bottom:24px}.password-page form:last-child{margin-top:20px}.error-page{max-width:800px;margin:0 auto;padding:60px 28px}.student-fieldset{border:0;min-width:0;margin:0;padding:0}.student-fieldset>div+div{margin-top:var(--form-row-gap)}.student-type-controls{gap:var(--form-column-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-choice{border:0;min-width:0;margin:0;padding:0}.student-choice legend{font-size:var(--form-label-size);font-weight:var(--form-weight);margin-bottom:6px;padding:0}.student-choice-buttons{gap:8px;display:flex}.student-choice-buttons button{min-height:var(--form-control-height);font-size:var(--form-label-size);border:1px solid var(--form-border);background:var(--surface);color:var(--ink);font-weight:var(--form-weight);cursor:pointer;border-radius:4px;flex:1;padding:8px 11px}.student-choice-buttons button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--surface)}.student-choice-buttons button:disabled{background:var(--soft);color:var(--muted);border-color:var(--line);cursor:not-allowed}.student-choice-buttons button:disabled[aria-pressed=true]{border-color:var(--muted)}.student-three-columns{gap:var(--form-row-gap) var(--form-column-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-three-columns{grid-template-columns:minmax(0,1fr)}}.permission-editor{border:0;min-width:0;margin:4px 0 0;padding:0}.permission-editor small{margin-top:6px;font-size:12px}.placeholder-copy{margin-top:20px}.filter-actions,.import-match-actions,.import-sections,.import-footer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-actions{grid-column:1/-1}.contractor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.contractor-card-edit{flex-shrink:0;justify-self:end;width:44px;height:44px}.contractor-card-edit:hover{background:#f3f3f2;border-color:#c8cacc}.contractor-dialog .full>.field{max-width:none}.contractor-dialog .field{width:100%}.contractor-upload-heading{align-items:center;gap:20px;margin-bottom:16px;display:flex}.contractor-upload-heading h2{font:650 25px/1.3 var(--font-body);margin:0}.contractor-upload-icon{background:var(--ink);width:56px;height:56px;color:var(--yellow);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.import-upload{gap:14px;display:grid}.import-file-picker{background:#f5f5f3;border:1px dashed #c5c5c0;border-radius:6px;align-items:center;gap:18px;min-width:0;padding:16px;display:flex}.import-file-picker>svg{color:#986600;flex-shrink:0}.import-file-description{flex:1;min-width:0}.import-file-description strong{overflow-wrap:anywhere;font-size:18px;font-weight:650;display:block}.import-file-description small{color:var(--muted);margin-top:4px;display:block}.import-file-picker .button{flex-shrink:0;min-height:48px;padding-inline:22px}:is(.import-file-picker:focus-within,.import-upload:has(input:focus-visible) .import-file-picker){outline:2px solid var(--control-border-active);outline-offset:3px}.import-file-picker.is-disabled .import-file-description{color:var(--muted)}.import-prepare{width:100%;min-height:52px;font-size:17px}.import-progress{margin:16px 0 0}.import-filename{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.import-filename svg{flex-shrink:0}.import-sections{margin:24px 0}.import-row{border-top:1px solid var(--line);padding:24px 0}.import-row h3{overflow-wrap:anywhere;margin:0}.import-row>p{margin-top:8px}.import-comparison{table-layout:fixed;width:100%}.import-comparison th,.import-comparison td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.import-comparison th:first-child{width:24%}.import-match-actions [aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.import-match-actions small{flex-basis:100%}.import-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.contractor-import-history{padding:0;overflow:hidden;container-type:inline-size}.import-history-heading{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.import-history-heading h2{font:650 21px/1.35 var(--font-body);align-items:center;gap:12px;margin:0;display:flex}.import-history-heading h2 svg{flex-shrink:0}.import-history-toggle{color:#145ec4;background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;min-height:44px;font-weight:650;display:flex}.import-history-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.contractor-import-records{margin:0;padding:0;list-style:none}.contractor-import-records>li{border-top:1px solid var(--line);grid-template-columns:24px minmax(0,1fr);gap:14px 16px;padding:24px;display:grid;position:relative}.import-record-icon{color:#986600;margin-top:4px}.import-record-main h3{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:650}.import-record-open{text-align:left;max-width:100%;color:inherit;font-weight:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.import-record-open:after{content:"";position:absolute;inset:0}.import-record-open:hover{text-underline-offset:4px;text-decoration:underline}.import-record-main p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.import-record-counts{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.import-record-counts dt{color:var(--muted);font-size:12px}.import-record-counts dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:18px;font-weight:650}.import-record-status{color:#4f5358;background:#eeede9;border-radius:24px;grid-column:2;justify-self:start;padding:7px 12px;font-size:12px;font-weight:650}.import-record-status-completed{color:#24643d;background:#dff1e4}.import-record-status-review_ready{color:#6e5000;background:#fff0b2}.import-history-empty{text-align:center;color:var(--muted);border-top:1px solid var(--line);flex-direction:column;align-items:center;padding:36px 24px;display:flex}.import-history-empty p{color:var(--ink);margin:12px 0 4px;font-weight:600}.import-history-limit{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:16px 24px;font-size:13px}@container (min-width:950px){.import-record-counts{grid-template-columns:repeat(6,minmax(0,1fr))}}@container (max-width:380px){.import-record-counts{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.import-record-status{grid-column:1/-1}}@media (max-width:600px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.import-history-heading{flex-wrap:wrap;gap:6px;padding:16px}.import-history-heading h2{font-size:18px}.contractor-import-records>li{gap:12px;padding:20px 16px}.contractor-upload-heading{gap:14px}.contractor-upload-heading h2{font-size:21px}.contractor-upload-icon{width:48px;height:48px}.import-file-picker{flex-wrap:wrap;gap:12px;padding:14px}.import-file-description{flex-basis:calc(100% - 44px)}.import-file-description strong{font-size:16px}.import-file-picker .button{width:100%}.import-prepare{font-size:15px}}@media (max-width:700px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.contractor-grid{grid-template-columns:minmax(0,1fr)}.import-comparison th,.import-comparison td{padding:10px 6px;font-size:13px}}@media (max-width:600px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.import-comparison thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.import-comparison,.import-comparison tbody{display:block}.import-comparison tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0;display:grid}.import-comparison th:first-child{grid-column:1/-1;width:auto}.import-comparison th,.import-comparison td{border:0;padding:4px 6px;display:block}.import-comparison td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:12px;display:block}}.contractor-import-records>li:has(.import-record-open:focus-visible){outline:2px solid var(--control-border-active);outline-offset:-3px}.import-record-open:focus-visible{outline:none}.contractor-import-records>li:has(.import-record-open:enabled):hover{background:#fafaf8}.program-structure-field{width:100%;max-width:calc(100% - 44px - var(--level-gap));grid-column:1/-1}.course-row{grid-template-columns:minmax(0,1fr) 44px}.student-sensitive-field{min-width:0;max-width:var(--field-max-width)}.student-sensitive-field .check{margin-top:12px}.student-filter-search{min-width:0}.application-management{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}.lookup-categories{gap:6px;display:grid}.lookup-categories a{color:var(--ink);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.lookup-categories a[aria-current=page]{background:var(--yellow);font-weight:700}.lookup-categories a span{font-size:12px}.lookup-panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.lookup-panel-heading h2{margin:0;font-size:20px}.lookup-list{margin:0;padding:0;list-style:none}.lookup-list li{border-top:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.lookup-list li>div{overflow-wrap:anywhere;flex:1;min-width:0}.lookup-list small{color:var(--muted);margin-top:4px;display:block}.lookup-list .icon-button{flex-shrink:0}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.application-management{grid-template-columns:minmax(0,1fr)}.lookup-panel-heading{flex-direction:column;align-items:flex-start}.lookup-list li{flex-wrap:wrap}.lookup-list li>div{flex-basis:calc(100% - 60px)}}.filter-surface{gap:var(--form-row-gap) var(--form-column-gap);background:var(--filter);color:#f4f1e9;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;margin-bottom:28px;padding:24px;display:grid;box-shadow:0 10px 24px #231e1229}.filter-surface .field{max-width:none}:is(.filter-surface:has(+.pagination-top),.filter-surface:has(+div>.pagination-top:first-child)){margin-bottom:16px}.directory-panel>.program-grid{margin-block:0;padding:0}.filter-surface.instructor-class-filter{grid-template-columns:minmax(0,1fr);width:360px;max-width:100%;margin-bottom:0}@media (max-width:1100px){.filter-surface{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.filter-surface{grid-template-columns:minmax(0,1fr)}}.filter-surface .field,.login-panel .field{color:#ded9cb}.filter-surface .field input,.filter-surface .field select,.login-panel .field input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--filter-field);color:#f4f1e9;caret-color:var(--yellow);border-color:#514d42;border-radius:8px;min-height:44px}.filter-surface .field input::placeholder,.login-panel .field input::placeholder{color:#bcb6a6}.filter-surface .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ded9cb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.filter-surface .button.secondary{color:#f4f1e9;background:0 0;border-color:#777164}.filter-surface :focus-visible,.login-panel :focus-visible{outline-color:var(--control-border-active)}.filter-surface .filter-actions{grid-column:1/-1;width:100%}.panel.directory-panel,.panel.filter-panel{box-shadow:none;background:0 0;border:0;padding:0}.filter-select{position:relative}.filter-select.is-disabled{opacity:.5}.filter-select-trigger:disabled{cursor:not-allowed}.filter-select:has([aria-expanded=true]){z-index:40}.filter-select-trigger{background:var(--filter-field);color:#f4f1e9;width:100%;min-height:44px;font:inherit;text-align:left;border:1px solid #777164;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.filter-select-trigger>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.filter-select-trigger>svg{flex-shrink:0}.filter-select-trigger[aria-expanded=true]{border-color:var(--yellow)}.filter-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.filter-select-menu{background:var(--filter-field);color:#f4f1e9;border-radius:12px;width:100%;min-width:0;padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 14px 32px #00000059}.filter-select-all,.filter-select-option{width:100%;min-height:44px;font:inherit;text-align:left;overflow-wrap:anywhere;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.filter-select-all{background:var(--yellow);color:var(--ink);justify-content:center;margin-bottom:8px}.filter-select-options{overscroll-behavior:contain;scrollbar-color:#777164 var(--filter-field);flex-direction:column;gap:3px;max-height:min(300px,40dvh);display:flex;overflow-y:auto}.filter-select-option{color:inherit;background:0 0;flex-shrink:0}.filter-select-option[aria-selected=true]{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.filter-select-option[aria-selected=true]{background:color-mix(in srgb, var(--yellow) 14%, var(--filter-field))}}.filter-select-option:hover{background:#45474a}.filter-select-check{border:1px solid #a4a4a0;border-radius:3px;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}[aria-selected=true]>.filter-select-check{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.filter-select-check.is-single{border-radius:50%}.filter-select-footer{color:#d0cec7;border-top:1px solid #64615a;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:10px 4px 2px;font-size:12px;display:flex}.filter-select-footer .button{min-height:36px;padding:6px 12px;font-size:13px}.filter-select-empty{margin:0;padding:10px}.directory-panel>.table-wrap,.directory-panel>.record-list,.directory-panel>.empty{background:var(--surface);border:1px solid var(--line);box-shadow:var(--surface-shadow);border-radius:12px;padding:16px 24px}.lookup-categories{background:var(--filter);border-radius:12px;padding:12px}.lookup-categories a{color:#f4f1e9;border-radius:8px;text-decoration:none}.lookup-categories a:hover{text-decoration:none}.lookup-categories a:not([aria-current=page]):hover{background:#2e2e31}.lookup-categories a[aria-current=page]{color:var(--ink)}.lookup-categories a:focus-visible{outline-color:var(--control-border-active)}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.filter-surface{padding:18px}.directory-panel>.table-wrap,.directory-panel>.record-list,.directory-panel>.empty{padding:12px 18px}.directory-panel>.table-wrap{box-shadow:none;background:0 0;border:0;padding:0}.directory-panel .responsive-table tr{border:1px solid var(--line);background:var(--surface);box-shadow:var(--surface-shadow);border-radius:12px;margin-bottom:14px;padding:16px 18px}}.student-card,.contractor-card{background:var(--surface);min-width:0;min-height:220px;box-shadow:var(--surface-shadow);border-radius:18px;grid-template-columns:92px minmax(0,1fr);display:grid;overflow:hidden}.student-card-rail,.contractor-card-rail{color:#fff;background:#232427;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;padding:20px 8px 18px;display:flex}.student-card-avatar,.contractor-card-icon{border:2px solid var(--yellow);text-transform:uppercase;border-radius:50%;place-items:center;width:46px;height:46px;font-size:14px;font-weight:700;display:grid}.contractor-card-local{text-align:center;max-width:100%;margin:0}.contractor-card-local dt,.contractor-card-facts dt{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.contractor-card-local dt{color:#bdbdbd}.contractor-card-local dd{font:700 30px/1 var(--font-display);overflow-wrap:anywhere;margin:2px 0 0}.student-card-body,.contractor-card-body{flex-direction:column;gap:12px;min-width:0;padding:18px 16px 16px 22px;display:flex}.student-card-heading,.contractor-card-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.student-card-heading>div,.contractor-card-heading>div{min-width:0}.student-card-heading h2,.contractor-card-heading h2{font:700 18px/1.3 var(--font-body);overflow-wrap:anywhere;margin:0}.student-card-heading .contractor-card-edit{flex:0 0 44px}.contractor-card-status{margin-top:8px}.student-card-inactive{color:var(--danger);margin:6px 0 0;font-size:12px;font-weight:600}.contractor-card-facts{background:var(--detail-surface);border-radius:12px;grid-template-columns:minmax(60px,auto) minmax(0,1fr);gap:16px;margin:0;padding:10px 14px;display:grid}.contractor-card-facts dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:15px;font-weight:700}.student-card,.contractor-card{border-radius:14px;grid-template-columns:84px minmax(0,1fr);min-height:208px}.student-card-rail,.contractor-card-rail{padding:18px 8px}.student-card-avatar,.contractor-card-icon{width:44px;height:44px;font-size:13px}.student-card-body,.contractor-card-body{gap:0;padding:0;container-type:inline-size}.student-card-heading,.contractor-card-heading{gap:12px;padding:18px 18px 14px 20px}.student-card-heading h2,.contractor-card-heading h2{font-size:17px}.contractor-card-heading>div{width:100%}.contractor-card-heading h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-card-heading .contractor-card-edit svg{width:16px;height:16px}.student-card-heading .contractor-card-edit{border-radius:8px}.student-card-level,.contractor-card-local{text-align:center;max-width:100%;margin:auto 0 0}.student-card-level dt,.contractor-card-local dt{color:#a3a3a3;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.student-card-level dd,.contractor-card-local dd{color:var(--yellow);font:800 32px/1 var(--font-body);overflow-wrap:anywhere;margin:3px 0 0}.student-card-level dd>span,.contractor-card-local dd>span{color:#77787c}.contractor-card-local dd{color:#fff;white-space:nowrap;overflow-wrap:normal;font-size:20px}.student-card-level dd:has(svg){color:#8ec6f6;justify-content:center;align-items:center;height:32px;margin-top:8px;display:flex;position:relative;top:-2px}.student-card-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.student-card-membership,.student-card-local,.contractor-table-status,.contractor-card-status{color:#2f5f92;overflow-wrap:anywhere;background:#f2f7fd;border:1px solid #afcdee;border-radius:6px;align-items:center;max-width:100%;min-height:28px;padding:0 10px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.student-card-badges :is(.student-card-membership,.student-card-local),.contractor-card-status{border-radius:5px;padding:4px 9px;font-size:12px}:is(.student-card-info-band,.contractor-card-info-band){background:#f3f4f5;border-top:1px solid #e4e6e9;grid-template-columns:minmax(0,1fr) repeat(3,112px);gap:0;margin:auto 0 0;padding:13px 16px 14px 20px;display:grid}:is(.student-card-info-band,.contractor-card-info-band):not(:has(>div:nth-child(4))){grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,2fr)}:is(.student-card-info-band,.contractor-card-info-band)>div{min-width:0}:is(.student-card-info-band,.contractor-card-info-band)>div:first-child{padding-right:12px}:is(.student-card-info-band,.contractor-card-info-band)>div+div{border-left:1px solid #dadce0;padding-left:12px}:is(.student-card-info-band,.contractor-card-info-band) dt{letter-spacing:.14em;color:#555960;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}:is(.student-card-info-band,.contractor-card-info-band) dd{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:13px;font-weight:700;line-height:1.4;overflow:hidden}:is(.student-card-contact-link,.contractor-card-contact-link){color:var(--ink);text-decoration:none;display:inline-block}button:is(.student-card-contact-link,.contractor-card-contact-link){max-width:100%;box-shadow:none;font:inherit;text-align:left;vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;overflow:hidden;transform:none}:is(.student-card-contact-link,.contractor-card-contact-link).is-missing{color:#555960;font-weight:500}:is(a,button):is(.student-card-contact-link,.contractor-card-contact-link):hover{text-decoration:underline}:is(a,button):is(.student-card-contact-link,.contractor-card-contact-link):focus-visible{outline:2px solid var(--control-border-active);outline-offset:-2px;border-radius:3px}@container (max-width:480px){:is(.student-card-info-band,.contractor-card-info-band):has(>div:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}:is(.student-card-info-band,.contractor-card-info-band):has(>div:nth-child(4))>div:nth-child(odd){border-left:0;padding-left:0}}@media (pointer:coarse){:is(.student-card-contact-link,.contractor-card-contact-link){min-height:24px}}.student-detail-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.directory-card-missing{color:var(--muted);font-style:italic;font-weight:500}.directory-card-contacts{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.directory-card-contacts>:is(a,span){max-width:100%;min-height:44px;font:600 13px/1.4 var(--font-form);overflow-wrap:anywhere;border:1px solid #dcdcda;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.directory-card-contacts svg{flex-shrink:0}.directory-card-contacts a,.directory-card-contacts a:hover{text-decoration:none}.directory-card-contacts a:hover{background:var(--soft);border-color:var(--muted)}.directory-card-contacts .directory-card-contact-missing{color:var(--muted);border-style:dashed}.contractor-card-icon{color:var(--yellow)}.contractor-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-card-facts dt{color:var(--muted)}.contractor-card-facts>div:last-child{border-left:1px solid #e4e4e2;padding-left:14px}.contractor-card-address{color:#555960;overflow-wrap:anywhere;align-items:flex-start;gap:6px;margin-top:8px;font-size:12px;font-weight:500;display:flex}.contractor-card-address svg{color:var(--muted);flex-shrink:0;margin-top:2px}.contractor-card-address a{min-width:0;color:inherit}@media (max-width:760px){.student-card,.contractor-card{grid-template-columns:68px minmax(0,1fr)}.student-card-heading,.contractor-card-heading{padding:18px 12px 14px}:is(.student-card-info-band,.contractor-card-info-band){padding:13px 12px 14px}}.student-edit-fields{border:0;min-width:0;margin:0;padding:0}.student-dialog{--form-dialog-width:1040px;--form-control-height:48px;--form-label-size:14px;--form-text-size:16px;--form-control-size:16px;--form-weight:600;--form-row-gap:22px;--form-column-gap:24px;--form-border:#c4c4bd;background:#fff;border-radius:16px;padding:0;box-shadow:0 24px 64px #0006}.student-editor-layout{flex:1;grid-template-columns:264px minmax(0,1fr);min-height:0;display:grid}.class-create-dialog{height:min(920px, calc(var(--viewport-height) - 48px));max-height:calc(var(--viewport-height) - 32px)}.student-editor-rail{color:#f2f2ee;background:#141414;flex-direction:column;min-height:0;padding:24px 14px 18px;display:flex;overflow-y:auto}.student-editor-identity{padding:0 10px 20px}.student-editor-mobile-close{display:none}.student-editor-identity h2{font:700 30px/1 var(--font-form-heading);color:#fff;margin:0}.student-editor-identity p{color:#bdbdb6;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px}.student-editor-identity .class-editor-code{color:var(--yellow);font-weight:700}.student-editor-sections{flex-direction:column;gap:4px;display:flex}.student-editor-sections button{appearance:none;width:100%;min-height:62px;color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.student-editor-sections button:hover{background:#2e2e31}.student-editor-sections button[aria-current=step]{background:var(--yellow);color:#141414}.student-editor-sections strong{font-size:14px;font-weight:600;display:block}.student-section-number{height:28px;font:700 15px/1 var(--font-form-heading);background:#2e2e31;border-radius:6px;flex:0 0 28px;place-items:center;display:grid}[aria-current=step]>.student-section-number{color:var(--yellow);background:#141414}.student-editor-delete-link{color:#ff9b91;text-align:left;background:0 0;border:1px solid #3a3a3d;border-radius:8px;flex:0 0 44px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;width:auto;height:44px;min-height:44px;margin-top:auto;padding:0 12px;font-size:14px;font-weight:600;line-height:1;display:flex}.student-editor-delete-link>svg{flex-shrink:0}.student-editor-delete-link:hover,.student-editor-delete-link[aria-current=page]{background:#2a1614;border-color:#ff9b91}.student-editor-main{flex-direction:column;min-width:0;min-height:0;display:flex}.student-editor-heading{border-bottom:1px solid #e2e2dc;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 18px;display:flex}.student-editor-heading h3{font:700 34px/1 var(--font-form-heading);text-transform:uppercase;letter-spacing:.02em;margin:6px 0 0}.student-editor-heading p{color:#5e5e57;margin:8px 0 0;font-size:14px}.student-editor-heading .student-editor-step{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.student-editor-heading .icon-button{background:#fff;border:1px solid #d6d6d0;border-radius:8px;flex-shrink:0;width:44px;height:44px}.student-editor-heading .icon-button:hover{background:#efefeb}.student-form,.student-editor-deletion{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.student-editor-layout [hidden],.student-editor-layout .student-form-hidden{display:none!important}.student-editor-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:24px 28px;scroll-padding-block:24px;overflow-y:auto}.student-editor-pane{min-width:0;margin:0}.class-form .student-editor-pane:not([hidden])+.student-editor-pane:not([hidden]){margin-top:var(--form-row-gap)}.student-editor-pane .form-grid,.student-name-grid,.student-editor-pane[data-student-section="0"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;display:grid}.student-editor-pane[data-student-section="0"]>.student-fieldset{grid-column:1}.student-form .field{width:100%;min-width:0;max-width:none}.student-form .field>span{font-weight:600}.student-form .field>span>span[aria-hidden=true],.student-form .student-choice legend>span{color:#b42318}.student-form .field input,.student-form .field select{background-color:#fff;border-radius:6px;min-width:0;font-size:16px;font-weight:400}.student-form .field input:not([type=checkbox]),.student-form .field select{height:48px}.student-form .student-choice-buttons{background:#efefeb;border:1px solid #d6d6d0;border-radius:8px;gap:4px;padding:4px}.student-form .student-choice-buttons button{background:0 0;border:0;border-radius:5px;min-height:40px;padding:8px;font-size:15px;font-weight:600}.student-form .student-choice-buttons button:hover{background:#e0e0d9}.student-form .student-choice-buttons button[aria-pressed=true]{color:#fff;background:#141414}.student-form .student-choice-buttons button:disabled{cursor:not-allowed}.student-form .student-fieldset>legend.sr-only{border:0;width:1px;margin:-1px;padding:0}.student-address-grid{border-top:1px solid #e2e2dc;gap:22px;padding-top:20px;display:grid}.student-address-grid h4{color:#5e5e57;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px;font-weight:600}.student-address-locality{grid-template-columns:2fr 1fr 1fr;gap:24px;display:grid}.student-section-empty{border:1px dashed #c4c4bd;border-radius:10px;padding:28px}.student-section-empty p{margin:0 0 18px;font-size:15px}.student-editor-actions{background:#fff;border-top:1px solid #e2e2dc;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 28px;display:flex}.student-editor-pagination,.student-editor-save{flex-wrap:wrap;gap:10px;display:flex}.student-editor-save{margin-left:auto}.student-editor-actions .button,.student-section-empty .button{min-height:44px;box-shadow:none;border-radius:6px;padding:10px 14px;font-size:14px;font-weight:600}.student-editor-actions .primary{flex:none}.student-next-label{display:none}.student-form>.notice{flex-shrink:0;margin:12px 28px 0}.student-editor-deletion .record-management{border:0;margin:0;padding:0}.student-editor-deletion .record-management h2{color:var(--danger)}.student-editor-deletion .record-management .muted{line-height:1.65}.student-editor-loading{padding:28px}:is(.program-editor-dialog,.class-editor-dialog) .form-dialog-scroll{padding:24px 28px}.class-editor-heading{border:0;justify-content:flex-end;padding:12px 18px 0}.class-editor-summary{background:#23231f;border-radius:10px;align-items:center;gap:12px;padding:18px 14px;display:flex}.class-editor-summary-icon{background:var(--yellow);height:44px;color:var(--ink);border-radius:8px;flex:0 0 44px;place-items:center;display:grid}.class-editor-summary>div{min-width:0}.class-editor-summary strong{overflow-wrap:anywhere;font-size:16px}.class-editor-summary p{color:#bdbdb6;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px}.class-editor-facts{margin:12px 0 24px;font-size:13px}.class-editor-facts>div{border-bottom:1px solid #45453f;justify-content:space-between;gap:12px;padding:16px 0;display:flex}.class-editor-facts>div:last-child{border-bottom:0}.class-editor-facts dt{color:#bdbdb6}.class-editor-facts dd{text-align:right;overflow-wrap:anywhere;max-width:60%;margin:0;font-weight:600}.class-editor-rail>.class-editor-required{color:#bdbdb6;margin:auto 0 0;padding-top:24px;font-size:13px}.class-editor-required span{color:#ff9b91}.class-editor-delete{margin-top:16px}.class-editor-delete>.button{text-align:center;justify-content:center;width:100%}.class-editor-delete-hint{color:#bdbdb6;margin:13px 0 0;font-size:13px}@media (max-width:760px),(hover:none) and (pointer:coarse){.class-editor-delete{grid-column:1/-1;margin-top:0}}.class-editor-schedule{border-top:1px solid #e2e2dc;margin-top:24px;padding-top:24px}.program-editor-dialog .program-editor-availability h2{color:var(--ink)}@media (min-width:1050px){.student-next-label{display:inline}}@media (max-width:760px),(hover:none) and (pointer:coarse){.student-dialog{width:calc(100% - 16px);height:calc(var(--viewport-height) - 16px);max-height:calc(var(--viewport-height) - 16px);border-radius:16px}.student-editor-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.student-editor-rail{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 14px 12px;display:grid;overflow:visible}.student-editor-identity{padding:0}.student-editor-identity h2{font-size:25px}.student-editor-identity p{font-size:12px}.student-editor-sections{scrollbar-width:thin;scrollbar-color:#62625b #141414;grid-area:2/1/auto/-1;grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start;min-width:0;padding-bottom:4px;display:grid;overflow-x:auto}.student-editor-sections button{grid-template-columns:24px max-content;gap:8px;width:max-content;min-width:max-content;min-height:44px;display:grid}.student-editor-sections strong{white-space:nowrap;font-size:13px}.student-section-number{width:24px;height:24px}.student-editor-mobile-close{color:#f2f2ee;border-color:#3a3a3d;grid-area:1/2;align-self:start;width:44px;height:44px;display:inline-grid}.student-editor-desktop-close{display:none}.student-editor-delete-link{grid-column:1/-1;margin-top:0}.student-editor-heading{gap:12px;padding:16px 18px}.student-editor-heading h3{font-size:28px}.student-editor-heading p{font-size:13px}.student-editor-scroll,:is(.program-editor-dialog,.class-editor-dialog) .form-dialog-scroll{padding:20px 18px}.class-editor-heading{display:none}.class-editor-summary{background:0 0;grid-column:1/-1;padding:0}.class-editor-summary-icon,.class-editor-facts,.class-editor-required{display:none}.class-editor-summary strong{font-size:13px}.class-editor-summary p{margin-top:2px;font-size:12px}.student-editor-actions{padding:12px 18px max(12px, env(safe-area-inset-bottom));gap:10px}.student-form>.notice{margin:12px 18px 0}.student-address-locality{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.student-address-locality>.field:first-child{grid-column:1/-1}}@media (max-width:480px){.student-editor-pane .form-grid,.student-name-grid,.student-editor-pane[data-student-section="0"],.student-form .student-type-controls{grid-template-columns:minmax(0,1fr)}.student-form .student-type-controls{gap:20px}.student-editor-save,.student-editor-pagination{width:100%}.student-editor-actions .button{flex:1;justify-content:center}.student-editor-heading .student-editor-step{font-size:11px}.student-section-empty{padding:20px}}.apprenticeship-level-choice .student-choice-buttons{flex-wrap:wrap}.field input.student-sin-input,.student-sin-value{font-family:var(--font-form);letter-spacing:.09em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.field input.student-sin-input::placeholder{color:var(--muted);opacity:1}.student-sin-value{white-space:nowrap}.student-sin-toggle{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0}.student-sin-toggle.is-revealed .student-sin-value{font:inherit;letter-spacing:normal;font-variant-numeric:tabular-nums}.student-profile-back{margin-bottom:24px}.student-profile-hero{background:var(--nav);color:#fff;border-radius:20px;align-items:center;gap:26px;margin-bottom:24px;padding:28px 32px;display:flex}.student-profile-avatar{background:var(--yellow);width:96px;height:96px;color:var(--ink);font:800 42px/1 var(--font-display);text-transform:uppercase;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.student-profile-heading{min-width:0}.student-photo{flex-shrink:0;position:relative}.student-photo-button{cursor:pointer;border:0;padding:0;position:relative;overflow:hidden}.student-photo-button:disabled{cursor:default;opacity:1}.student-photo-button img{object-fit:cover;width:100%;height:100%}.student-photo-overlay{color:#fff;opacity:0;background:#0000008c;place-items:center;display:grid;position:absolute;inset:0}.student-photo-button:not(:disabled):hover .student-photo-overlay,.student-photo-button:not(:disabled):focus-visible .student-photo-overlay{opacity:1}.student-photo-button:focus-visible{outline-offset:4px;outline:3px solid #fff}.student-photo-remove{color:#fff;width:28px;height:28px;box-shadow:0 0 0 3px var(--nav);cursor:pointer;opacity:0;pointer-events:none;background:#dc2626;border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .15s,transform .1s;display:grid;position:absolute;top:-4px;right:-4px}.student-photo-remove:before{content:"";border-radius:50%;position:absolute;inset:-8px}.student-photo:hover .student-photo-remove,.student-photo:focus-within .student-photo-remove{opacity:1;pointer-events:auto}.student-photo-remove:hover{box-shadow:0 0 0 3px var(--nav);background:#b91c1c}.student-photo-remove:focus-visible{outline-offset:4px;outline:2px solid #fff}.student-photo-remove:active{background:#991b1b;transform:scale(.92)}.student-photo-remove-tooltip{z-index:2;color:#18181b;white-space:nowrap;opacity:0;pointer-events:none;background:#f4f4f5;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:500;line-height:16px;transition:opacity .15s;position:absolute;top:-38px;right:-32px}.student-photo-remove:hover+.student-photo-remove-tooltip,.student-photo-remove:focus-visible+.student-photo-remove-tooltip{opacity:1}@media (prefers-reduced-motion:reduce){.student-photo-remove,.student-photo-remove-tooltip{transition:none}.student-photo-remove:active{transform:none}}.student-photo-progress{width:100%;max-width:96px;margin-top:8px;display:block}.student-photo-feedback{z-index:2;background:var(--ink);color:#fff;border-radius:6px;width:230px;padding:10px;font-size:13px;position:absolute;top:100%;left:0}@media (hover:none){.student-photo-remove{opacity:1;pointer-events:auto}.student-photo-button:not(:disabled) .student-photo-overlay{opacity:1;height:30%;inset:auto 0 0}.student-photo-overlay svg{width:15px;height:15px}}.student-profile-heading h1{font:850 clamp(36px, calc(var(--layout-vw) * 3.3), 60px) / 1.05 var(--font-display);text-transform:uppercase;overflow-wrap:anywhere;margin:0 0 10px}.student-profile-tags{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.student-profile-tags>span,.student-profile-status{background:var(--filter-field);color:#e5e6e7;border-radius:4px;padding:3px 9px;font-size:13px;font-weight:650;line-height:1.4;display:inline-block}.student-profile-tags .student-profile-number{font-variant-numeric:tabular-nums}.student-profile-status.is-active{color:#fff;background:#1d7748}.student-profile-tags .student-profile-trade{background:var(--yellow);color:var(--ink)}.student-profile-layout{grid-template-columns:minmax(0,.94fr) minmax(0,2.06fr);align-items:start;gap:24px;display:grid}.student-profile-sidebar,.student-profile-main{gap:24px;min-width:0;display:grid}.student-profile-card{background:var(--surface);min-width:0;box-shadow:var(--surface-shadow);border-radius:16px}.student-contact-body,.student-additional-card{padding:24px}.student-profile-card h2{font:750 22px/1.2 var(--font-body);margin:0}.student-course-summary{padding:24px}.student-course-summary>.student-section-heading{flex-wrap:wrap;align-items:flex-start;padding:0}.student-invitation-statuses{flex-wrap:wrap;gap:5px;display:inline-flex}.student-hs-result.is-dropped{color:#505050;background:#e4e4e4}.student-hs-result.is-invited{color:#665000;background:#fff2bd}.student-course-counts{margin:16px 0}.student-course-counts>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.student-course-counts dt{font-weight:600}.student-course-counts dd{font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:750}.student-course-summary>p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.student-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.student-contact-actions>:is(a,button){border:1px solid var(--line);min-height:68px;color:var(--ink);background:#fafaf9;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.student-contact-actions>:is(a,button):not(:disabled):hover{background:var(--soft);border-color:var(--muted)}.student-contact-details{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:14px;margin:0;padding-top:18px;display:grid}.student-contact-details dt,.student-id-details dt{color:var(--muted);font-size:13px;line-height:1.4}.student-contact-details dd,.student-id-details dd,.student-union-details dd,.student-contract-date dd{overflow-wrap:anywhere;margin:0;font-weight:650;line-height:1.35}.student-contact-body>.button{width:100%;margin-top:20px}.student-email-detail,.student-address-detail{align-items:center;gap:8px;display:flex}.student-email-detail>a{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.student-address-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.student-detail-copy{flex-shrink:0;margin-left:auto}.student-card-band{border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.student-card-band h2,.student-profile-card .student-card-band h2{font:800 13px/1.3 var(--font-body);letter-spacing:.09em;text-transform:uppercase;margin:0}.student-card-band>span{font-size:12px;line-height:1.4}.student-ids-card{container-type:inline-size}.student-ids-card .student-card-band,.student-contact-card .student-card-band{background:var(--nav);color:#fff}.student-id-details{gap:14px;margin:0;padding:20px;display:grid}.student-id-details>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.student-id-details dd{text-align:right;font-variant-numeric:tabular-nums;min-width:0}.student-id-details .student-id-sin{flex-wrap:wrap;align-items:center}.student-id-sin dd{margin-left:auto}.student-id-sin .student-sin-display{flex-direction:column;display:flex}.student-id-sin .student-sin-toggle{align-items:center;height:1lh;min-height:0;display:inline-flex;position:relative}.student-id-sin .student-sin-toggle:after{content:"";position:absolute;inset:-12px 0}.student-additional-card .student-contact-details{margin-top:18px}.student-membership-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.student-union-card,.student-apprenticeship-card{min-width:0;box-shadow:var(--surface-shadow);border-radius:16px;overflow:hidden}.student-membership-empty-card{color:#fff;min-width:0;height:280px;min-height:280px;box-shadow:var(--surface-shadow);background:#18191a;border-radius:16px;flex-direction:column;padding:0 20px 20px;display:flex}.student-membership-empty-card .student-card-band{flex-wrap:wrap;padding:20px 0 16px}.student-membership-empty-card .student-card-band h2{color:var(--yellow)}.student-membership-empty-body{text-align:center;border:1px dashed #494c4f;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:16px 18px;display:flex}.student-membership-empty-body h3{color:#fff;font:700 20px/1.3 var(--font-body);margin:0}.student-membership-empty-message{flex-shrink:0}.student-membership-empty-hours{flex-shrink:0;justify-content:center;align-items:center;min-height:44px;margin-top:12px;display:flex}.student-membership-empty-message>p{color:#c4c6c8;max-width:42ch;margin:8px 0 0;font-size:13px;line-height:1.5}.student-union-card{color:#fff;background:#18191a;flex-direction:column;display:flex}.student-union-card .student-card-band,.student-apprenticeship-card{background:var(--nav);color:#fff}.student-union-card .student-card-band h2,.student-apprenticeship-card .student-card-band h2{color:var(--yellow)}.student-union-body,.student-apprenticeship-body{gap:12px;padding:18px 20px 22px;display:grid}.student-union-card .student-card-band,.student-apprenticeship-card .student-card-band{height:54px}.student-union-body{grid-template-rows:minmax(75px,auto) auto}.student-local>span{font-size:13px;line-height:1.2;display:block}.student-local strong{font:800 58px/1 var(--font-display);overflow-wrap:anywhere;display:block}.student-union-details{grid-template-rows:repeat(2,minmax(39px,auto));grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.student-union-details dt{font-size:11px;line-height:1.4}.student-apprenticeship-card .student-card-band{border-bottom:1px solid #35373a}.student-apprenticeship-card .student-card-band>span,.student-apprenticeship-summary>div:first-child>span,.student-contract-date dt{color:#c4c6c8;font-size:12px}.student-apprenticeship-body{grid-template-rows:minmax(75px,auto) minmax(39px,auto) minmax(39px,auto)}.student-level-progress-row{align-items:center;display:grid}.student-apprenticeship-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-apprenticeship-summary>div:first-child{min-width:0}.student-apprenticeship-summary strong{font:800 clamp(26px, calc(var(--layout-vw) * 2.5), 38px) / 1.05 var(--font-display);text-transform:uppercase;overflow-wrap:anywhere;display:block}.student-level-stamp{background:var(--yellow);min-width:64px;max-width:45%;color:var(--ink);text-align:center;border-radius:10px;flex-shrink:0;padding:8px 10px}.student-level-stamp>span{letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.student-level-stamp strong{font-family:var(--font-level);font-size:40px;font-weight:400}.student-level-stamp strong:not(:has(svg)){position:relative;top:2px}.student-completed-levels{gap:5px;display:flex}.student-completed-levels>span{background:#434548;border-radius:4px;flex:1;height:6px}.student-completed-levels>.is-completed{background:var(--yellow)}.student-contract-date{margin:0}.student-section-heading{justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.student-section-heading p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.4}.student-health-safety-card .student-section-heading{flex-wrap:wrap}.student-hs-body{padding:0 24px 16px}.student-hs-sample-notice{color:#554510;background:#fff5cf;border-radius:4px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.5}.student-hs-table{min-width:560px}.student-hs-table tbody th{border-bottom:1px solid var(--line);min-width:180px;max-width:290px;color:var(--ink);font:600 14px/1.5 var(--font-body);text-transform:none;letter-spacing:normal;white-space:normal;background:0 0}.student-hs-table td{white-space:nowrap;vertical-align:middle;font-size:13px}.student-hs-table time{font-variant-numeric:tabular-nums}.student-hs-result,.student-hs-expiry{align-items:center;gap:5px;font-size:13px;line-height:1.4;display:inline-flex}.student-hs-result{border-radius:3px;padding:4px 8px;font-weight:700}.student-hs-result.is-passed{color:var(--success);background:#e7f0e8}.student-hs-result.is-failed{color:var(--danger);background:#fae9e7}.student-hs-expiry.is-current{color:var(--success)}.student-hs-expiry.is-expired{color:var(--danger);font-weight:700}.student-hs-expiry:is(.is-unconfirmed,.is-not-applicable){color:var(--muted)}.student-hs-dialog{width:min(1040px,100% - 32px);height:auto}.student-hs-log-body{min-height:0;padding:20px 22px;overflow:auto}.student-hs-log-summary{color:var(--muted);margin:0 0 16px;font-size:13px}.student-hs-history-table{min-width:760px}.student-hs-attempt-note{color:var(--muted);margin-top:4px;font-size:13px;font-weight:400;display:block}.student-hs-log-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;padding:16px 22px;display:flex}.student-hs-table-wrap:focus-visible{outline-offset:2px;outline:2px solid #858580}@media (max-width:760px){.student-hs-body{padding-inline:18px}.student-hs-log-body{padding:18px}}.student-documents-table{table-layout:fixed;width:100%;min-width:900px}.student-documents-table th:first-child{width:28%}.student-documents-table th:nth-child(2){width:17%}.student-documents-table th:nth-child(3){width:20%}.student-documents-table th:nth-child(4){width:17%}.student-documents-table th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.05em;background:#f7f6f3;padding:12px 20px;font-size:11px}.student-documents-table td{border-bottom:1px solid #f0efec;padding:16px 20px;font-size:14px}.student-documents-table tbody tr:last-child td{border-bottom:0}.student-documents-table td:first-child strong,.student-documents-table td:first-child small{display:block}.student-documents-table small{color:var(--muted);font-size:12px;line-height:1.4}.student-document-planned{color:var(--muted);font-size:13px}.student-documents-card .table-wrap{border-radius:0 0 16px 16px}.student-profile-enrollments{padding:0 24px 16px}.student-enrollments-limit{color:var(--muted);margin:0;padding:0 24px 22px;font-size:13px}@media (max-width:1200px){.student-profile-layout{grid-template-columns:minmax(270px,.9fr) minmax(0,1.6fr)}.student-membership-cards{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-profile-hero{gap:16px;padding:22px}.student-profile-avatar{width:64px;height:64px;font-size:30px}.student-profile-layout{grid-template-columns:minmax(0,1fr)}.student-profile-heading h1{font-size:34px}.student-profile-tags>span{font-size:12px}.student-card-band,.student-contact-body,.student-additional-card,.student-section-heading{padding:18px}.student-documents-table th,.student-documents-table td{padding:14px 18px}.student-section-heading{flex-wrap:wrap}}.student-apprenticeship-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;display:grid}.student-hours-summary{background:#282a2d;border:1px solid #434548;border-radius:12px;gap:8px;min-width:0;padding:12px 14px;display:grid}.student-hours-summary dl{margin:0}.student-hours-summary dt{color:#c4c6c8;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;font-size:12px;font-weight:400;display:flex}.student-hours-summary small{color:#c4c6c8;font-size:10px}.student-hours-summary dd{font:800 36px/1 var(--font-display);white-space:nowrap;align-items:baseline;gap:6px;margin:4px 0 0;display:flex}.student-hours-summary .student-hours-unit{color:#c4c6c8;font:600 14px/1 var(--font-body)}.student-hours-link{width:100%;min-height:32px;color:var(--yellow);text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #434548;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 0;font-size:13px;font-weight:700;line-height:1.3;display:flex}.student-hours-link svg{flex-shrink:0}.student-hours-link:hover span{text-underline-offset:3px;text-decoration:underline}.student-hours-dialog{width:min(960px,100% - 40px);height:auto}.student-hours-dialog-body{min-height:0;padding:20px 22px;overflow:auto}.student-hours-name{overflow-wrap:anywhere;margin-top:0;font-weight:700}.student-hours-empty{text-align:center;color:var(--muted);white-space:normal;padding-block:32px}.student-hours-dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;padding:16px 22px;display:flex}.student-apprenticeship-card.is-journeyman .student-level-stamp{color:#112a3d;background:#86c5f4}.student-apprenticeship-card.is-journeyman .student-level-stamp strong{justify-content:center;display:flex}.student-apprenticeship-card.is-journeyman .student-completed-levels>.is-completed{background:#86c5f4}.student-document-actions{flex-wrap:wrap;gap:8px;margin:0;display:flex}.student-document-filename{overflow-wrap:anywhere;margin-top:6px;font-size:12px;display:block}.student-document-feedback{padding:0 24px}.student-document-feedback p:empty{display:none}.student-documents-table progress{max-width:100%;margin-top:6px;display:block}@media (max-width:700px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-document-feedback{padding:0 16px}}.student-documents-scroll{overscroll-behavior-x:contain;max-width:100%}.student-documents-table tr.is-missing{background:#fffaf4}.student-document-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-weight:700;display:inline-flex}.student-document-status.is-uploaded{color:#225d43;background:#def1e7}.student-document-status.is-missing{color:#8d381d;background:#fae8dc}.student-document-uploader{align-items:center;gap:8px;display:flex}.student-document-uploader>span:last-child{min-width:0}.student-document-avatar{background:var(--nav);width:30px;height:30px;color:var(--yellow);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.student-document-row-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.student-document-manage .student-document-actions{margin-top:8px}.student-document-manage summary{cursor:pointer}:is(.field input,.field select,.field textarea,.level-row input,.level-row select):enabled:hover{border-color:var(--control-border-active)}:is(.field input,.field select,.field textarea,.level-row input,.level-row select):enabled:focus{border-color:var(--control-border-active);box-shadow:inset 0 0 0 2px var(--control-border-active);outline:none}.student-documents-card{position:relative;container-type:inline-size}.student-documents-heading{background:var(--nav);color:#fff}.student-document-count{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:12px;display:flex}.student-document-count meter{appearance:none;background:#3a3b3d;border-radius:8px;width:70px;height:7px;overflow:hidden}.student-document-count meter::-webkit-meter-bar{background:#3a3b3d;border:0;height:7px}.student-document-count meter::-webkit-meter-optimum-value{background:var(--yellow)}.student-document-count meter::-moz-meter-bar{background:var(--yellow)}.student-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:18px 18px 0;list-style:none;display:grid}.student-document-tile{border:1px solid #e6e3df;border-radius:12px;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:8px;min-width:0;height:6rem;padding:12px;display:grid;position:relative}.student-document-tile.is-missing{background:#fffaf6;border-color:#f0d5c8}.student-document-copy{min-width:0}.student-document-copy h3{-webkit-line-clamp:2;font:750 14px/1.25 var(--font-body);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.student-document-state{color:#18704c;align-items:center;gap:5px;margin-top:3px;font-size:12px;display:flex}.is-missing .student-document-state{color:#a53a17}.student-document-copy small{color:var(--muted);margin-top:4px;display:block}.student-document-tile-actions{justify-content:flex-end;align-items:center;gap:0;display:flex}.student-document-icon{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.student-document-icon:hover{background:var(--soft);text-decoration:none}.student-document-upload{background:var(--yellow);width:44px}.student-document-upload:hover:not(:disabled){background:#e9b818}.student-document-menu{position:relative}.student-document-menu summary{list-style:none}.student-document-menu summary::-webkit-details-marker{display:none}.student-document-menu[open]{z-index:5}.student-document-menu-content{border:1px solid var(--line);background:var(--surface);width:210px;max-width:75cqw;box-shadow:var(--surface-shadow);border-radius:8px;padding:12px;position:absolute;top:100%;right:0}.student-document-menu-content p{overflow-wrap:anywhere;margin:0 0 4px;font-size:12px}.student-document-menu-content small{color:var(--muted);font-size:11px;display:block}.student-document-menu-content :is(a,button){width:100%;min-height:44px;color:var(--ink);text-align:left;font:inherit;background:0 0;border:0;border-radius:4px;align-items:center;padding:8px;display:flex}.student-document-menu-content :is(a,button):hover{background:var(--soft)}.student-document-progress{z-index:6;border-radius:inherit;color:var(--ink);background:#fffffff5;align-content:center;gap:8px;padding:16px;font-size:12px;display:grid;position:absolute;inset:0}.student-document-progress progress{width:100%;display:block}.student-document-help{color:var(--muted);margin:16px 0 18px;padding:0 18px;font-size:12px;line-height:1.5}@container (max-width:440px){.student-document-grid{grid-template-columns:minmax(0,1fr)}}.student-apprenticeship-identifiers{gap:12px;margin:0;display:grid}.student-apprenticeship-identifiers dt{color:#c4c6c8;font-size:12px;line-height:1.4}.student-apprenticeship-identifiers dd{overflow-wrap:anywhere;margin:0;font-weight:650;line-height:1.35}.access-denied-message h1{color:var(--yellow);margin:0;font-size:30px}.access-denied-message p{margin:0;line-height:1.6}.student-document-feedback-overlay{z-index:10;border-radius:inherit;color:var(--ink);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:700;animation:2.8s ease-out forwards document-feedback-fade;display:flex;position:absolute;inset:0}.student-document-feedback-overlay.is-success{background:#ade9b8d9;background:lab(87.2573% -26.7853 17.251/.85)}.student-document-feedback-overlay.is-removed{background:#ffc7c1d9;background:lab(85.23% 27.8458 15.2533/.85)}.student-document-feedback-overlay.is-error{background:#eed592d9;background:lab(86.4074% 2.17065 36.6728/.85)}@keyframes document-feedback-fade{0%,72%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.student-document-feedback-overlay{animation:none}}.student-document-feedback-overlay svg{flex-shrink:0}.student-profile-heading-actions{flex-shrink:0;align-self:flex-start;margin-left:auto}.student-profile-heading-actions>:is(.button,.icon-button){color:var(--ink);border:1px solid var(--line);background:#fff}.student-profile-heading-actions>:is(.button,.icon-button):hover{background:#f3f3f2}.student-contact-body{padding:20px}.student-contact-details{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-top:0}.student-contact-details>div{border-bottom:1px solid #ececea;min-width:0;padding:12px 0}.student-contact-details>div:last-child{border-bottom:0;padding-bottom:0}.student-contact-details>div:first-child{padding-top:0}.student-contact-details .full{grid-column:1/-1}.student-contact-details dd{font-size:14px}.student-contact-details dt{margin-bottom:3px;font-size:12px}.student-contact-details .student-id-sin dd{margin-left:0}.student-contact-card .student-card-band{padding:14px 20px}.student-membership-cards{align-items:stretch;gap:20px}.student-union-card .student-card-band{color:#fff;background:0 0;height:auto;padding:18px 20px 10px}.student-union-card .student-card-band h2{color:var(--yellow)}.student-union-membership{margin:3px 0 0;font-size:13px;font-weight:650}.student-union-body{flex:1;grid-template-rows:auto 1fr;gap:12px;padding:0 20px 18px}.student-company{color:#fff;background:#27282a;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;min-height:100px;padding:18px 20px;display:flex}.student-company>div{min-width:0}.student-company h3{color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:12px}.student-company strong{overflow-wrap:anywhere;font-size:21px;line-height:1.2;display:block}.student-company p{color:#c4c6c8;margin:6px 0 0;font-size:12px}.student-company svg{color:var(--yellow);flex-shrink:0}.student-union-footer{justify-content:space-between;align-self:end;align-items:end;gap:20px;display:flex}.student-union-footer .student-local{min-width:0}.student-union-footer .student-local strong{font-size:48px}.student-union-details{grid-template-rows:auto;gap:16px}.student-union-details dd{overflow-wrap:anywhere;font-size:13px}.student-apprenticeship-body{grid-template-rows:auto auto auto 1fr;gap:14px;height:100%;min-height:260px;padding:18px 20px}.student-apprenticeship-summary h2{color:var(--yellow);font:800 13px/1.3 var(--font-body);letter-spacing:.09em;text-transform:uppercase;margin:0 0 4px}.student-apprenticeship-summary strong{font-size:34px}.student-level-stamp{min-width:66px;padding:6px 12px}.student-level-progress-row{min-height:5px}.student-completed-levels span{height:5px}.student-apprenticeship-identifiers{grid-template-columns:repeat(4,minmax(0,1fr));align-self:end;gap:12px;padding-top:16px}.student-apprenticeship-identifiers dd{font-size:13px}.student-apprenticeship-identifiers dt{font-size:11px}.student-hours-summary{border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.student-hours-summary dl{flex-flow:row-reverse wrap;align-items:baseline;gap:8px;display:flex}.student-hours-summary dd{margin:0;font-size:30px}.student-hours-link{white-space:nowrap;border:0;width:auto;min-height:44px;padding:0;font-size:12px}.student-document-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 16px 0}.student-document-tile{height:148px;padding:44px 12px 12px;display:block}.student-document-tile.is-missing{background:#fafaf8;border:1px dashed #b9bbb8}.student-document-file-icon{position:absolute;top:14px;left:12px}.is-missing .student-document-file-icon{color:#777b7b}.student-document-copy h3{font-size:14px;line-height:1.25}.student-document-copy h3 a{color:inherit;min-height:36px;text-decoration:none;display:block}.student-document-copy h3 a:hover{color:#17764c}.student-document-state{font-size:11px;font-weight:650;line-height:1.25;display:block;position:absolute;bottom:12px;left:12px;right:10px}.student-document-state svg{display:none}.student-document-state time{display:block}.is-missing .student-document-state{font-size:10px;inset:16px 6px auto 38px}.student-document-tile-actions{display:contents}.student-document-tile .student-document-menu{position:absolute;top:0;right:0}.student-document-menu-content{width:210px;max-width:75cqw}.student-document-tile .student-document-upload{background:0 0;justify-content:start;width:calc(100% - 16px);min-height:44px;padding:4px;font-size:12px;font-weight:700;position:absolute;bottom:4px;left:8px}.student-document-tile .student-document-upload:hover:not(:disabled){background:var(--soft)}.student-document-progress{border:1px solid var(--yellow);background:#fff5cc;gap:6px;font-size:12px}.student-document-progress strong{position:absolute;top:18px;right:12px}.student-document-progress progress{accent-color:var(--ink)}.student-document-help{margin:12px 0 16px;padding:0 16px;font-size:10px}.student-document-feedback-overlay{flex-direction:column;gap:6px;font-size:12px}@container (max-width:320px){.student-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1250px){.student-profile-layout{grid-template-columns:minmax(290px,1fr) minmax(0,1.7fr)}.student-membership-cards{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-profile-layout,.student-membership-cards{grid-template-columns:minmax(0,1fr)}.student-apprenticeship-identifiers{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:16px}.student-apprenticeship-body{min-height:0}}.student-document-uploaded-mark{color:#18704c;position:absolute;top:16px;left:38px}.student-profile-hero{grid-template-columns:100px minmax(0,1fr) minmax(330px,.95fr) 32px;gap:22px;padding:20px 28px;display:grid}.student-profile-hero .student-profile-avatar{width:100px;height:100px}.student-profile-hero .student-profile-heading-actions{margin-left:0}.student-profile-hero .student-profile-heading-actions>:is(.button,.icon-button){color:#fff;background:#292929;border-color:#353535;width:32px;min-width:32px;height:32px;min-height:32px;padding:7px}.student-profile-hero .student-profile-heading-actions>:is(.button,.icon-button):hover{background:#393939}.student-hero-contact{border-left:1px solid #303030;min-width:0;padding-left:24px}.student-hero-contact-list{gap:0;margin:0;display:grid}.student-hero-contact-list>div{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:10px;min-height:24px;display:grid}.student-hero-contact-list dt{color:var(--yellow);display:flex}.student-hero-contact-list dd{align-items:center;gap:6px;min-width:0;margin:0;font-size:12px;font-weight:700;line-height:1.4;display:flex}.student-hero-contact-list a{color:#fff;text-decoration:none}.student-hero-contact-list a:hover{text-decoration:underline}.student-hero-contact-value{overflow-wrap:anywhere;min-width:0}.student-hero-contact .student-detail-copy{color:#c4c6c8;width:20px;min-width:20px;height:20px;min-height:20px;box-shadow:none;background:0 0;border:0;flex-shrink:0;margin-left:0;padding:3px;position:relative;transform:none}.student-hero-contact .student-detail-copy:before{content:"";position:absolute;inset:-6px}.student-hero-contact .student-detail-copy:hover{color:#fff;box-shadow:none;background:0 0;transform:none}.student-hero-contact .student-detail-copy svg{width:12px;height:12px}.student-hero-personal{border-top:1px solid #303030;flex-wrap:wrap;align-items:center;gap:0 16px;margin:4px 0 0;padding-top:2px;font-size:11px;line-height:1.5;display:flex}.student-hero-personal>div{align-items:center;gap:4px;min-height:32px;display:flex}.student-hero-personal dt{color:#c4c6c8}.student-hero-personal dd{margin:0}.student-hero-sin .student-sin-toggle{color:#fff;align-items:center;gap:10px;min-height:32px;padding:0 4px;display:inline-flex}.student-hero-sin .student-sin-value{font:inherit;letter-spacing:.03em}.student-hero-sin .student-sin-toggle:after{content:"Show";color:var(--yellow);font-weight:700}.student-hero-sin .student-sin-toggle.is-revealed:after{content:"Hide"}.student-hero-sin .form-error{color:#ffb4ad;max-width:32ch}@container student-profile (max-width:720px){.student-profile-hero{grid-template-columns:100px minmax(0,1fr) 32px}.student-hero-contact{border-top:1px solid #303030;border-left:0;grid-area:2/1/auto/-1;padding:14px 0 0}.student-profile-heading-actions{grid-area:1/3}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-profile-hero{grid-template-columns:64px minmax(0,1fr) 32px;gap:16px;padding:22px}.student-profile-hero .student-profile-avatar{width:64px;height:64px}}.main-content:has(.student-profile-layout){container:student-profile/inline-size}.student-profile-layout{grid-template-columns:minmax(290px,1fr) minmax(448px,2.9fr)}.student-membership-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.student-membership-card-frame{aspect-ratio:66/35;width:100%;max-width:528px;position:relative}.student-membership-card-frame>:is(.student-union-card,.student-apprenticeship-card,.student-membership-empty-card){width:528px;max-width:none;height:280px;min-height:0;transform:scale(var(--membership-card-scale,1));transform-origin:0 0;position:absolute;inset:0 auto auto 0;overflow:auto}@container student-profile (max-width:780px){.student-profile-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-membership-cards{grid-template-columns:minmax(0,1fr)}.student-membership-card-frame .student-apprenticeship-identifiers{padding-top:4px}}.student-document-tile.is-pending .student-document-state{inset:auto 12px 48px}.student-contact-details>.student-contact-copy-row{padding-right:44px;position:relative}.student-contact-copy-row .student-detail-copy{width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:none;padding:6px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.student-union-footer .student-local>span{font-size:12px}.student-documents-card{padding:18px}.student-folder-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.student-profile-card .student-folder-heading h2,.student-profile-card .student-section-heading h2{font:800 13px/1.3 var(--font-body);letter-spacing:2px;text-transform:uppercase;margin:0}.student-folder-heading>span{color:var(--muted);white-space:nowrap;font-size:13px}.student-folder-heading strong{color:var(--ink)}.student-folder-meter{appearance:none;background:#eeeeec;border:0;border-radius:2px;width:100%;height:4px;margin:10px 0 18px;display:block;overflow:hidden}.student-folder-meter::-webkit-meter-bar{background:#eeeeec;border:0;height:4px}.student-folder-meter::-webkit-meter-optimum-value{background:var(--yellow)}.student-folder-meter::-moz-meter-bar{background:var(--yellow)}.student-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px;margin:0;padding:0;list-style:none;display:grid}.student-folder-tile{border-radius:8px;min-width:0;height:78px;position:relative}.student-folder-action{width:100%;height:100%;color:var(--ink);text-align:left;font-family:var(--font-body);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:6px;padding:0;text-decoration:none;display:flex}.student-folder-action:hover{color:var(--ink);text-decoration:none}.student-folder-action:disabled{opacity:1;cursor:not-allowed}.student-folder-tab{background:var(--yellow);border-radius:6px 6px 0 0;flex-shrink:0;width:46%;height:10px;display:block}.student-folder-face{background:var(--yellow);border-radius:0 8px 8px;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:6px;height:62px;padding:10px;display:flex;position:relative;overflow:hidden}.student-folder-title{font:850 20px/1 var(--font-display);text-transform:uppercase;white-space:nowrap;position:relative}.student-folder-title.is-long{white-space:normal;max-width:60px;font-size:16px}.student-folder-face>svg{flex-shrink:0;position:relative}.student-folder-caption{color:#1f6a37;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:20px;left:10px;right:10px}.is-missing .student-folder-tab{background:0 0;border:1.5px dashed #c9c9c6;border-bottom:0}.is-missing .student-folder-face{background:0 0;border:1.5px dashed #c9c9c6}.is-missing .student-folder-title{color:#77797a}.is-missing .student-folder-caption{color:#a3361e}.is-working .student-folder-tab,.is-working .student-folder-face{background:#f1f1ef;border:0}.is-working .student-folder-title{color:var(--ink)}.is-working .student-folder-caption{color:#6b5300}.student-folder-fill{background:#ffe58a;position:absolute;inset:auto 0 0}.student-folder-percentage{font-size:12px;font-weight:800;position:relative}.student-folder-action:hover .student-folder-face{filter:brightness(.97)}.student-folder-tile:has(.student-document-menu[open]){z-index:6}.student-folder-actions .student-document-menu{position:static}.student-folder-actions .student-document-icon{width:32px;height:28px;position:absolute;top:-12px;right:-5px}.student-folder-actions .student-document-menu-content{border-radius:14px;width:250px;max-width:80cqw;padding:8px;top:16px}.student-folder-tile:nth-child(3n+1) .student-document-menu-content{left:0;right:auto}.student-folder-tile:nth-child(3n+2) .student-document-menu-content{left:50%;right:auto;transform:translate(-50%)}.student-document-menu-meta{border-bottom:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;margin:0 4px 4px;padding:8px 10px 12px;font-size:13px;line-height:1.4}.student-document-menu-meta span{display:block}.student-document-menu-meta strong{color:var(--ink)}.student-folder-actions .student-document-menu-content :is(a,button){border-radius:10px;gap:14px;padding:10px 12px;font-size:15px;font-weight:600;text-decoration:none}.student-document-menu-content :is(a,button) svg{flex-shrink:0}.student-folder-actions .student-document-menu-content :is(a,button):is(:hover,:focus-visible){background:#fff5c6}.student-folder-actions .student-document-menu-content .student-document-menu-remove{border-top:1px solid var(--line);color:#b83219;border-radius:0 0 10px 10px;margin-top:6px}.student-documents-card>.student-document-help{margin:10px 0 0;padding:0}@container (max-width:280px){.student-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-folder-tile:nth-child(n) .student-document-menu-content{left:auto;right:0;transform:none}.student-folder-tile:nth-child(odd) .student-document-menu-content{left:0;right:auto}}.contractor-upload-panel{border-top:4px solid var(--yellow)}.contractor-upload-panel .import-prepare{width:100%}.import-feedback{color:#205f33;background:#e9f6ed;border:1px solid #9fcfac;border-radius:8px;align-items:flex-start;gap:12px;margin:18px 0;padding:16px;display:flex}.import-feedback.error{color:var(--danger);background:#fff0f0;border-color:#e5abab}.import-feedback>svg{flex:none;width:22px}.import-feedback>div{overflow-wrap:anywhere;flex:1;min-width:0}.import-feedback p{margin:4px 0 0}.import-feedback progress{width:100%;height:10px;accent-color:var(--yellow);margin:12px 0 6px;display:block}.import-spin{animation:.8s linear infinite import-spin}@keyframes import-spin{to{transform:rotate(360deg)}}.contractor-import-review{min-width:0;margin:24px 0}.import-review-heading,.import-conflict-section>header,.import-apply-bar{justify-content:space-between;align-items:center;gap:18px;display:flex}.import-review-heading{margin:20px 0 16px}.import-review-heading>div{min-width:0}.import-review-heading h2{overflow-wrap:anywhere;font-size:22px}.import-review-heading p,.import-conflict-section>header p{color:var(--muted);margin:6px 0 0}.import-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.import-summary-grid>div{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:8px;padding:15px}.import-summary-grid dt{color:var(--muted);font-size:12px;font-weight:650}.import-summary-grid dd{font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:25px;font-weight:750}.import-summary-grid .import-count-newCount{border-top-color:var(--success)}.import-summary-grid .import-count-changedCount{border-top-color:#245aaf}.import-summary-grid .import-count-unchangedCount{border-top-color:var(--muted)}.import-summary-grid .import-count-conflictCount{border-top-color:var(--yellow)}.import-summary-grid .import-count-invalidCount{border-top-color:var(--danger)}.import-no-changes-banner{border:1px solid var(--yellow);background:#fff7d6;border-radius:8px;gap:12px;margin:18px 0;padding:16px;display:flex}.import-no-changes-banner>svg{flex:none}.import-no-changes-banner p{margin:4px 0 0}.import-detail-panel{margin:18px 0}.import-detail-panel .panel-heading h2{align-items:center;gap:8px;display:flex}.import-detail-panel .panel-heading svg{width:18px}.import-detail-panel .panel-heading small{color:var(--muted)}.import-change-table{table-layout:fixed;width:100%;min-width:0}.import-change-table td,.import-change-table th{overflow-wrap:anywhere;vertical-align:top}.import-change-table th:first-child{width:13%}.import-change-table th:nth-child(2){width:23%}.import-change-table th:nth-child(3){width:16%}.import-change-table .import-change-after{background:#fff9e5;font-weight:650}.import-review-pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;font-size:13px;display:flex}.import-conflict-section{margin-top:28px}.import-conflict-section>header{align-items:flex-start;margin-bottom:16px}.import-match-count{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.import-match-count svg{width:18px;color:var(--success)}.import-conflict-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.import-conflict-card{flex-direction:column;min-width:0;margin:0;padding:0;display:flex;overflow:hidden}.import-conflict-card>header{background:var(--ink);color:var(--surface);overflow-wrap:anywhere;justify-content:space-between;gap:12px;padding:12px 16px;font-size:13px;display:flex}.import-match-reason{color:#805400;background:#fff7d6;margin:0;padding:12px 16px;font-weight:650}.import-match-reason.blocked{color:var(--danger);background:#fff0f0}.import-match-snapshots{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;display:grid}.import-match-snapshots h3{color:var(--muted);margin:0 0 6px;font-size:12px}.import-match-snapshots strong{overflow-wrap:anywhere;display:block}.import-match-snapshots dl{margin:12px 0 0}.import-match-snapshots dl>div{margin-top:10px}.import-match-snapshots dt{color:var(--muted);font-size:11px}.import-match-snapshots dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:13px}.import-match-note{padding:0 16px;font-size:13px}.import-conflict-card>footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding:14px 16px;display:flex}.import-conflict-card>footer .button{min-height:36px;padding:7px 10px;font-size:13px}.import-decision-saved{color:var(--success);align-items:center;gap:5px;font-size:12px;display:inline-flex}.import-decision-saved svg,.import-apply-actions svg,.import-conflict-card footer svg{width:17px;height:17px}.import-apply-bar{background:var(--ink);color:var(--surface);border-radius:8px;margin-top:22px;padding:18px}.import-apply-bar p{color:#d2d3d3;margin:4px 0 0;font-size:13px}.import-apply-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}@media (max-width:1100px){.import-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.import-conflict-list{grid-template-columns:1fr}.import-apply-bar{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-review-heading,.import-conflict-section>header{flex-direction:column;align-items:flex-start}.import-review-pagination{justify-content:space-between;gap:6px}.import-apply-actions,.import-apply-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){.import-spin{animation:none}}.management-results{background:var(--surface);min-width:0;box-shadow:var(--surface-shadow);border-radius:14px;overflow:hidden}.class-directory-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.class-directory-tabs{background:#f0f0ee;border-radius:10px;gap:6px;padding:4px;display:flex}.class-directory-tabs a{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.class-directory-tabs a:hover{background:#dededb}.class-directory-tabs a[aria-current=page]{background:var(--nav);color:#fff}.class-directory-tabs a span{min-width:22px;color:var(--ink);text-align:center;background:#e3e3df;border-radius:10px;padding:1px 6px;font-size:12px}.class-directory-tabs a[aria-current=page] span{background:var(--yellow)}.class-directory-sort{color:var(--muted);font-size:14px}.class-directory-table{min-width:1040px}.class-directory-name{width:20%}.class-directory-name>a{font-weight:700;display:block}.class-directory-code{color:var(--muted);margin-top:3px;font-size:13px;font-weight:400;display:block}.class-management-table{min-width:0}.class-management-table .class-directory-name{white-space:nowrap;overflow-wrap:normal;width:auto}.class-directory-seat-count{white-space:nowrap;font-variant-numeric:tabular-nums}.class-directory-no-level{color:var(--muted)}.class-directory-date{white-space:nowrap}.class-directory-seats{--seat-fill:var(--yellow);min-width:120px}.class-directory-seats>div{white-space:nowrap;justify-content:space-between;gap:12px;font-size:14px;display:flex}.class-directory-seats span{color:var(--muted)}.class-directory-seats.is-full{--seat-fill:#d48500}.class-directory-seats.is-past,.class-directory-seats.is-closed{--seat-fill:#7b7d82}.class-directory-seats meter{appearance:none;background:#e6e6e3;border:0;border-radius:3px;width:100%;height:6px;margin-top:7px;display:block}.class-directory-seats meter::-webkit-meter-bar{background:#e6e6e3;border:0;border-radius:3px;height:6px}.class-directory-seats meter::-webkit-meter-optimum-value{background:var(--seat-fill);border-radius:3px}.class-directory-seats meter::-moz-meter-bar{background:var(--seat-fill);border-radius:3px}.management-status{white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.management-status.is-open{color:#665000;background:#fff3bd}.management-status.is-full{color:#835200;background:#ffecd0}.management-status.is-past,.management-status.is-closed{color:#55575b;background:#eeeeec}.class-directory-actions>div{justify-content:flex-end;align-items:center;gap:6px;width:max-content;margin-left:auto;display:flex}.class-directory-actions .button{white-space:nowrap;flex-shrink:0;min-height:40px;padding:8px 14px;font-size:14px}.class-directory-edit{flex-shrink:0;min-width:40px;min-height:40px}.class-directory-edit:hover{background:#eeeeec}.management-results>.empty{padding:30px 20px}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.class-directory-toolbar{padding:14px 16px}.class-directory-tabs{gap:2px;width:100%}.class-directory-tabs a{flex:1;gap:5px;padding:0 6px}}.user-table{min-width:1040px}.user-table .user-identity{min-width:260px}.user-table td[data-label=Role],.user-table td[data-label=Status]{min-width:140px}.user-table td[data-label=Email],.user-table td[data-label=Last\ login],.user-table td[data-label=Created]{white-space:nowrap}.user-table .row-actions{justify-content:flex-end;width:max-content;margin-left:auto}.user-table .icon-button{flex-shrink:0;min-width:40px;min-height:40px}.user-table .icon-button:hover{background:#eeeeec}.user-table small{color:var(--muted);display:block}.workflow-context{background:var(--nav);color:#fff;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 24px;padding:22px 24px;display:grid}.workflow-context dt{color:#c6c4bd;margin-bottom:6px;font-size:12px}.workflow-context dd{overflow-wrap:anywhere;margin:0;font-weight:600}.workflow-preview-notice{color:#544100;background:#fff3bd;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:18px 22px;display:flex}.workflow-preview-notice p{max-width:78ch;margin:6px 0 0;font-size:14px;line-height:1.5}.workflow-preview-notice .button{flex-shrink:0}.workflow-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.workflow-nav button,.workflow-nav>span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px 20px;font-weight:700}.workflow-nav button[aria-pressed=true],.workflow-nav>span{background:var(--nav);color:var(--yellow);border-color:var(--nav)}.workflow-nav button:hover{color:#fff;background:#2e2e31}.workflow-nav>a{margin-left:auto;font-size:14px;text-decoration:underline}.workflow-summary,.workflow-table-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.workflow-summary p{color:var(--muted);margin:6px 0 16px}.class-workflow-preview h2{margin:0 0 14px}.workflow-table-heading{border-bottom:1px solid var(--line);padding:22px 24px}.workflow-table-heading h2{margin-bottom:6px}.workflow-table-heading p{color:var(--muted);max-width:60ch;margin:0;font-size:14px;line-height:1.5}.workflow-tools{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.workflow-tools .field{width:150px}.workflow-enroll-form{flex-wrap:wrap;align-items:end;gap:16px;margin-top:20px;display:flex}.workflow-table{min-width:800px}.workflow-table .button{white-space:nowrap}.workflow-table td:first-child{min-width:200px}.workflow-table .field{max-width:220px}.workflow-table-footer{border-top:1px solid var(--line);color:var(--muted);padding:16px 24px;font-size:14px}.workflow-field-error{color:#a32121;display:block}.workflow-endnote{color:var(--muted);margin:22px 0;font-size:14px}.workflow-endnote a{text-decoration:underline}@media (max-width:760px){.workflow-context{grid-template-columns:1fr;gap:16px;padding:18px}.workflow-preview-notice,.workflow-summary,.workflow-table-heading{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.workflow-nav>a{width:100%;margin:8px 0 0}.workflow-nav button{padding:12px 14px}.workflow-table-footer{padding:16px 18px}.workflow-enroll-form .button{width:100%}}.roster-workspace{--roster-panel-gap:16px;gap:var(--roster-panel-gap);grid-template-columns:minmax(0,1fr);margin:24px 0;display:grid}.class-roster-candidates{margin-top:calc(24px - var(--roster-panel-gap))}.roster-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.roster-section-heading h2{margin:0}.roster-section-heading p,.roster-help{color:var(--muted);max-width:85ch;margin:8px 0 0;font-size:14px}.roster-class-details{background:0 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:20px 0;padding:0}.roster-group-title{align-items:center;gap:10px;margin:28px 0 12px;font-size:16px;display:flex}.roster-group-title span{color:var(--muted);font-size:13px}.roster-table{min-width:760px}.roster-table small,.roster-additions small{color:var(--muted);margin-top:4px;display:block}.roster-table select{min-width:160px;min-height:36px;font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px}.roster-small-button{white-space:nowrap;min-height:36px;padding:7px 12px}.roster-empty{color:var(--muted);margin:0;padding:16px 0}.roster-removing td:first-child strong{text-decoration:line-through}.roster-removing{background:#f3f3f3}.roster-save-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.roster-save-row>span{color:var(--muted);font-size:14px}.roster-additions{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.roster-additions li{background:#fff5cb;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.roster-candidate-selected{background:#fff8df}.roster-seat-grid{flex-wrap:wrap;gap:7px;display:flex}.roster-seat-grid>span{border-radius:3px;width:26px;height:26px;padding:0}.roster-seat-grid .saved,.roster-seat-legend .saved{background:#91979d;border:1px solid #747a80}.roster-seat-grid .pending,.roster-seat-legend .pending{background:var(--yellow);border:1px solid #b78d00}.roster-seat-grid .empty,.roster-seat-legend .empty{background:0 0;border:1px dashed #8b9197}.roster-seat-legend{color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:18px;font-size:13px;display:flex}.roster-seat-legend span{align-items:center;gap:7px;display:flex}.roster-seat-legend i{border-radius:2px;width:16px;height:16px;padding:0}.roster-filter-fields{border:0;grid-column:1/-1;grid-template-columns:2fr 1fr 1fr;gap:18px;min-width:0;margin:0;padding:0;display:grid}.invitation-preview-controls{margin:24px 0}.invitation-preview-controls textarea{min-height:110px}.invitation-letter{color:#151719;border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;width:min(100%,816px);min-height:1000px;margin:24px auto;padding:64px;font:16px/1.6 Arial,sans-serif}.invitation-letter header{border-bottom:2px solid #151719;margin-bottom:28px;padding-bottom:18px}.invitation-letter header strong{font-size:28px}.invitation-letter h2{margin:26px 0 18px;font-size:21px}.invitation-letter address{white-space:pre-line;margin:28px 0;font-style:normal}.invitation-letter dl{grid-template-columns:125px 1fr;gap:8px 18px;margin:24px 0;display:grid}.invitation-letter dt{font-weight:700}.invitation-letter dd{margin:0}.invitation-letter .letter-notes{white-space:pre-line}@media (max-width:700px){.roster-filter-fields{grid-template-columns:1fr}.roster-save-row .actions{flex-wrap:wrap;width:100%}.invitation-letter{min-height:auto;padding:24px}}@media print{body:has(.invitation-print-preview){background:#fff}.invitation-print-preview .no-print{display:none!important}body:has(.invitation-print-preview) .sidebar{display:none!important}body:has(.invitation-print-preview) .mobile-header{display:none!important}body:has(.invitation-print-preview) .workspace-footer{display:none!important}body:has(.invitation-print-preview) .skip-link{display:none!important}:is(body:has(.invitation-print-preview) .workspace,body:has(.invitation-print-preview) .main-content){width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.invitation-letter{break-after:page;border:0;width:auto;min-height:0;margin:0;padding:0;font-size:11pt}.invitation-letter:last-child{break-after:auto}.invitation-letter header,.invitation-letter p,.invitation-letter dl,.invitation-letter address{break-inside:avoid}@page{size:letter;margin:.7in}}.invitation-accepted-toggle{align-items:center;gap:8px;margin:20px 0;display:flex}.invitation-accepted-toggle input{width:auto}.invitation-preview-controls .actions{margin-top:20px}@media print{:is(body:has(.invitation-print-preview) .mobile-navigation-control,body:has(.invitation-print-preview) .nav-backdrop){display:none!important}}.roster-workspace .table-wrap{position:relative}.roster-workspace .directory-panel>.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px}.hours-import-help{color:var(--muted);margin-top:18px;font-size:13px}.hours-import-history{margin:14px 0 0;padding:0;list-style:none}.hours-import-history li+li{border-top:1px solid var(--line)}.hours-import-history button{text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;gap:6px;width:100%;padding:14px 0;display:grid}.hours-import-history span{color:var(--muted);font-size:12px}.hours-pagination{justify-content:space-between;align-items:center;gap:12px;margin:18px 0;display:flex}.student-hours-note{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:13px;display:flex}.student-hours-note .student-hours-link{font-size:inherit;margin:0}.hours-entry-context{color:var(--muted);margin-top:4px;display:block}.hours-entry-actions{justify-content:flex-end;gap:8px;display:flex}.hours-entry-description{font-weight:700;display:block}.hours-entry-inline-form{margin:0}.hours-entry-inline-input{border:1px solid var(--form-border);background:var(--surface);width:100%;min-width:0;min-height:36px;color:var(--ink);border-radius:4px;padding:6px 8px}.hours-cell .hours-entry-inline-input{text-align:right;font-variant-numeric:tabular-nums}.hours-entry-inline-input:focus-visible{outline-offset:2px;outline:2px solid #858580}.hours-entry-error{white-space:normal;margin:8px 0 0;font-size:13px}.hours-description-picker{white-space:normal;gap:6px;display:grid}.hours-description-picker label{font-size:12px;font-weight:600}.hours-description-options{border:1px solid var(--form-border);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:4px;padding:6px;font-size:13px}.hours-description-options:focus-visible{outline-offset:2px;outline:2px solid #858580}.hours-description-help{color:var(--muted);font-size:12px}.student-hours-dialog button:disabled{color:#777;box-shadow:none;background:#eee;border-color:#d5d5d5}.student-membership-empty-hours>.student-hours-note{justify-content:center;margin:0}.student-hours-note .student-hours-link{color:var(--yellow);text-underline-offset:3px;text-decoration:underline}.student-hours-dialog[open]{height:auto;min-height:0;max-height:calc(var(--viewport-height) - 40px);grid-template-rows:auto minmax(0,1fr) auto}.student-hours-dialog-footer{gap:8px}.hours-import-review h2{font-size:20px;font-weight:700}.hours-import-review .table-wrap:focus-visible,.student-hours-dialog .table-wrap:focus-visible{outline:2px solid var(--control-border-active);outline-offset:2px}.hours-import-review>p{overflow-wrap:anywhere}.hours-import-review{gap:18px;min-width:0;display:grid}.hours-review-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hours-review-header>div{flex:220px;min-width:0}.hours-review-header h2{margin:0}.hours-review-header p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0}.hours-import-review>.import-status{justify-self:start}.hours-review-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.hours-review-summary dd{overflow-wrap:anywhere}.hours-review-notice{border:1px solid var(--yellow);background:#fff7d6;border-radius:8px;align-items:flex-start;gap:12px;padding:16px;display:flex}.hours-review-notice>svg{flex:none;margin-top:2px}.hours-review-notice h3{margin:0;font-size:15px;font-weight:700}.hours-review-notice p{margin:6px 0 0;font-size:13px}.hours-review-notice ul{margin:8px 0;padding-left:18px;font-size:13px}.hours-review-notice.is-ready{color:#205b33;background:#e8f5eb;border-color:#aad1b4}.hours-import-review .hours-review-section,.hours-import-review .hours-review-actions{margin:0;padding:0}.hours-review-section>header{border-bottom:1px solid var(--line);padding:18px}.hours-review-section h3{margin:0;font-size:16px;font-weight:700}.hours-review-section header p{color:var(--muted);margin:6px 0 0;font-size:13px}.hours-card-updates{margin:0;padding:0;list-style:none}.hours-card-updates li{padding:18px}.hours-card-updates li+li{border-top:1px solid var(--line)}.hours-card-updates h4{overflow-wrap:anywhere;margin:0 0 14px;font-size:14px;font-weight:700}.hours-card-updates dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.hours-card-updates dt{color:var(--muted);font-size:12px}.hours-card-updates dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:14px}.hours-card-contractor{grid-column:1/-1}.hours-review-empty{color:var(--muted);margin:0;padding:18px;font-size:13px}.hours-review-transactions{min-width:0;padding:0 18px}.hours-review-transactions table{table-layout:fixed;width:100%;min-width:0}.hours-review-transactions th,.hours-review-transactions td{white-space:normal;vertical-align:middle;overflow-wrap:anywhere;padding-inline:8px}.hours-review-transactions th:first-child,.hours-review-transactions td:first-child{font-variant-numeric:tabular-nums;width:12%;padding-left:0}.hours-review-transactions th:nth-child(2){width:44%}.hours-review-transactions th:nth-child(3){width:24%}.hours-review-transactions th:last-child,.hours-review-transactions td:last-child{text-align:right;font-variant-numeric:tabular-nums;width:20%;padding-right:0}.hours-review-transactions td strong{font-weight:600;display:block}.hours-review-transactions td small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.hours-row-result{color:var(--success);margin-top:6px;font-size:12px;display:block}.hours-row-result.needs-attention{color:var(--danger)}.hours-review-section .hours-pagination{margin:18px 0 0;padding:0 18px 18px}.hours-import-review .hours-review-actions{gap:12px;padding:18px;display:grid}.hours-review-actions p{color:var(--muted);margin:0;font-size:13px}.hours-review-actions>div{flex-wrap:wrap;gap:10px;display:flex}.hours-review-actions>div>button{flex:140px}.pagination-tools{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.directory-view-toggle{display:inline-flex}.directory-view-button{justify-content:center;align-items:center;display:inline-flex}.grouped-filter-fields{display:contents}.student-directory-table,.user-directory-results,.student-hours-table,.student-contract-table,.directory-panel>.student-directory-table,.directory-panel>.contractor-directory-results{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0}.class-directory-results,.user-directory-results{border:1px solid var(--line);box-shadow:none;border-radius:12px}.student-table-name,.user-name-edit,.contractor-table-name{font-weight:700}.student-list-level{color:#3f3f46;white-space:nowrap;align-items:center;gap:10px;font-size:14px;font-weight:500;line-height:1.4;display:inline-flex}.student-list-level-pips{flex:none;gap:3px;display:flex}.student-list-level-pips>span{background:#e4e4e7;border-radius:2.5px;width:9px;height:9px;display:block}.student-list-level-pips>.is-filled{background:#e3a500}.student-list-level.is-journeyman .is-filled{background:#6fa8dc}.student-list-level.is-journeyman{color:#3b82c4}.hours-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.student-hours-table table{table-layout:fixed;min-width:680px}.student-hours-table th:first-child{width:22%}.student-hours-table td:first-child{white-space:nowrap;min-width:0}.student-hours-table th.hours-cell{width:120px}.student-hours-table th:last-child{width:128px}.contractor-directory-table{table-layout:auto;min-width:0}.contractor-directory-table th:first-child,.contractor-directory-table td:first-child{width:28%;min-width:0;max-width:0}.contractor-directory-table th:nth-child(2){width:22%}.contractor-directory-table th:nth-child(4){width:9%}.contractor-directory-table th:nth-child(5){width:1%}.contractor-directory-table td:nth-child(5),.contractor-table-status{white-space:nowrap;overflow-wrap:normal}.contractor-table-status{max-width:none}@media (max-width:700px){.contractor-directory-table{min-width:640px}}.contractor-table-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.contractor-table-name:focus-visible{outline:2px solid var(--control-border-active);outline-offset:2px}.roster-table th,.roster-table td{white-space:nowrap}.student-directory-table table{table-layout:fixed;min-width:1040px}.student-directory-table th:first-child{width:20%}.student-directory-table th:nth-child(2){width:13%}.student-directory-table th:nth-child(3){width:14%}.student-directory-table th.student-table-membership{width:17%}.student-directory-table th.student-table-local{width:7%}.student-directory-table th.student-table-status{width:14%}.student-directory-table th.hours-cell{width:6%}.student-directory-table th:last-child{width:64px}.student-directory-table table:not(:has(th.hours-cell)) th.student-table-status{width:20%}.student-directory-table td:not(.hours-cell):not(:last-child){white-space:normal}.student-directory-table .student-table-name{white-space:normal;overflow-wrap:anywhere;display:block}.student-table-actions{text-align:right}@media (max-width:700px){.pagination-tools{gap:10px;width:100%}.pagination-tools nav{flex-wrap:wrap;flex:1;width:auto}}.import-description{color:var(--muted);margin:16px 0 0;font-size:13px}.status-import-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.status-import-summary dt{color:var(--muted);font-size:12px}.status-import-summary dd{margin:4px 0 0;font-size:22px;font-weight:700}.status-import-review .table-wrap{max-height:480px;margin-block:20px}.status-import-review table{table-layout:fixed;width:100%;min-width:0}.status-import-review th,.status-import-review td{overflow-wrap:anywhere;padding-inline:6px}.status-import-review th:first-child{width:56px}.status-import-review td small,.status-import-review td strong{display:block}.status-import-review td small{color:var(--muted);margin-bottom:4px}.status-import-review .actions{flex-wrap:wrap;gap:10px;display:flex}.status-import-review .status-comparison-table{table-layout:fixed;min-width:0}.status-comparison-table th:nth-child(2){width:30%}.status-comparison-table th:nth-child(3),.status-comparison-table th:nth-child(4){width:18%}.import-field-changes{table-layout:fixed}.import-field-changes th:first-child,.import-field-changes td:first-child{width:25%;min-width:0}.import-field-changes th,.import-field-changes td{overflow-wrap:anywhere;padding-inline:8px}.import-field-changes tbody th{text-transform:none;letter-spacing:normal}.import-change-after{background:#fff9e5;font-weight:650}.import-review-order,.hours-card-month{color:var(--muted);font-size:13px}:is(.status-import-review,.hours-import-review,.contractor-import-review) table{table-layout:fixed;width:100%;min-width:0}:is(.status-import-review,.hours-import-review,.contractor-import-review) :is(th,td){white-space:normal;overflow-wrap:anywhere;min-width:0;padding-inline:6px}.import-invalid-table thead th:first-child{width:56px}.import-invalid-table thead th:nth-child(2){width:16%}.import-invalid-table thead th:nth-child(3){width:30%}.class-detail-toolbar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;font-size:13px;display:flex}.class-detail-toolbar a{color:inherit;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.class-detail-toolbar a:hover{color:var(--ink);text-decoration:underline}.class-management-overview{grid-template-columns:minmax(0, 1fr) max(300px, calc((100% - 2 * var(--roster-panel-gap,16px)) / 3));gap:var(--roster-panel-gap,16px);align-items:stretch;display:grid}.class-detail-pane{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-width:0;display:flex}.class-detail-column{min-width:0;color:var(--ink);flex-direction:column;flex:1;display:flex}.class-spec-heading{border-left:10px solid var(--yellow);border-radius:15px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:24px 28px 20px;display:grid}.class-detail-column .class-spec-title{min-width:0;font-family:var(--font-display);color:var(--ink);letter-spacing:normal;text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:36px;font-weight:800;line-height:1.04}.class-detail-column h2,.class-spec-instructor h2{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:800}.class-detail-schedule{border-block:1px solid #eeede9;flex-wrap:wrap;align-items:center;gap:18px;margin:0 28px;padding:24px 0;display:flex}.class-schedule-icon{background:var(--yellow);height:52px;color:var(--ink);border-radius:12px;flex:0 0 52px;justify-content:center;align-items:center;display:flex}.class-schedule-dates{flex:300px;min-width:0}.class-schedule-label{color:var(--muted);font-size:13px}.class-schedule-range{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:4px;font-size:20px;font-weight:800;line-height:1.3;display:flex}.class-schedule-range time{max-width:100%}.class-schedule-range>svg{color:var(--muted);flex-shrink:0}.class-spec-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:12px 28px 16px;display:grid}.class-spec-facts dl,.class-spec-facts dd{margin:0}.class-spec-facts dl>div{align-items:baseline;gap:8px;padding:4px 0;display:flex}.class-spec-facts dl>div:after{content:"";border-bottom:2px dotted #c9c8c3;flex:1;order:1;min-width:12px}.class-spec-facts dt{color:var(--muted);flex-shrink:0;font-size:14px}.class-spec-facts dd{text-align:right;overflow-wrap:anywhere;order:2;min-width:0;font-size:14px;font-weight:700}.class-spec-instructor{background:#f7f7f5;border-radius:0 0 15px 15px;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:auto;padding:16px 28px;display:flex}.class-instructor-actions{margin-left:auto}.class-instructor-actions>.button{white-space:nowrap;font-size:13px}.class-detail-instructor{align-items:center;gap:12px;min-width:0;display:flex}.class-detail-instructor>span{background:var(--yellow);height:40px;color:var(--ink);border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.class-detail-instructor strong{overflow-wrap:anywhere;min-width:0}.class-detail-edit{justify-content:flex-end;align-items:center;gap:8px;display:flex}.class-detail-edit>.button{white-space:nowrap;font-size:13px}.class-detail-edit>:is(button,a).icon-button{width:40px;height:40px;color:var(--ink);box-shadow:var(--button-shadow);background:#fff;border-radius:8px;padding:0}.class-detail-edit>:is(button,a).icon-button:hover:not(:disabled){background:#eeeeec}.class-detail-edit>:is(button,a).icon-button:disabled{box-shadow:none}@media (prefers-reduced-motion:no-preference){.class-detail-edit>:is(button,a).icon-button{transition:background-color .15s,transform .15s}.class-detail-edit>:is(button,a).icon-button:hover:not(:disabled){transform:translateY(-1px)}}.class-management-dashboard{gap:var(--roster-panel-gap,16px);flex-direction:column;min-width:0;display:flex}.class-status-panel{color:#ededea;background:#1b1c1e;border-radius:16px;padding:20px 24px}.class-status-panel h2,.class-enrollment-summary h2{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:800}.class-status-panel h2{color:#b7b8bb}.class-enrollment-action{flex-direction:column;align-items:stretch;gap:8px;display:flex}.class-status-options{flex-direction:column;gap:8px;display:flex}.class-status-option{color:#f2f2f3;cursor:pointer;background:#26272a;border-radius:12px;align-items:center;gap:14px;min-height:44px;padding:4px 12px;line-height:1.2;display:flex}.class-status-option[data-selected=false]:hover:not(:has(input:disabled)){background:#303135}.class-status-option[data-selected=true],.class-status-option[data-selected=true]:hover{background:var(--yellow);color:var(--ink);box-shadow:0 2px #b38700}.class-status-option>input{appearance:none;width:22px;height:22px;cursor:inherit;background:0 0;border:2px solid #8a8b8e;border-radius:50%;flex:0 0 22px;margin:0;padding:0}.class-status-option[data-selected=true]>input{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 4px var(--yellow)}.class-status-option>input:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.class-status-option>span{flex-direction:column;gap:2px;min-width:0;display:flex}.class-status-option strong{font-size:15px;font-weight:800}.class-status-option>span>span{color:#a5a6a9;font-size:13px;font-weight:400}.class-status-option[data-selected=true]>span>span{color:#4a3b00}.class-status-option:has(input:disabled){cursor:not-allowed}.class-status-option:has(input:disabled):not([data-selected=true]){opacity:.5}.management-status:is(.is-draft,.is-finalized,.is-postponed){border:1px solid;border-radius:6px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.management-status.is-draft{color:#2f5f92;background:#f2f7fd;border-color:#afcdee}.management-status.is-finalized{color:#306540;background:#edf7ef;border-color:#b8d8c0}.management-status.is-postponed{color:#8d3935;background:#fcefee;border-color:#e9bebb}.class-enrollment-summary{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;flex:1;gap:12px;padding:16px 24px;display:flex}.class-enrollment-summary h2{text-align:left;color:#454545;letter-spacing:.14em;margin-bottom:0;font-size:14px}.class-seats-layout{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;place-items:start center;gap:42px 20px;padding:4px 0 10px;display:grid}.class-seat-map{flex-direction:column;gap:14px;min-width:0;display:flex}.class-seat-squares{grid-template-columns:repeat(6,18px);grid-auto-rows:18px;align-content:start;gap:5px;max-height:240px;display:grid;overflow-y:auto}.class-overflow-squares{border-top:1px solid var(--line);padding-top:14px}.class-seat-squares>span{border:1px solid;border-radius:3px;width:18px;height:18px}.class-seats-total{font:800 64px/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;align-items:baseline;margin:-5px 0 0;display:flex}.class-seats-total strong{color:#1b1c1e;font-weight:inherit}.class-seats-total>span{color:#8b8b8b}.class-seats-legend{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;width:100%;min-width:0;font-size:14px;font-weight:400;line-height:18px;display:grid}.class-seats-legend>span{align-items:center;gap:8px;min-width:0;display:flex}.class-seats-legend :is(.class-seat-count-accepted,.class-seat-count-awaiting){text-align:right;flex-direction:row-reverse}.class-seats-legend i{border:1px solid;border-radius:3px;flex:0 0 12px;width:12px;height:12px}.class-enrollment-summary .seat-accepted{background:#1e7d47;border-color:#1e7d47}.class-enrollment-summary .seat-awaiting{background:var(--yellow);border-color:var(--yellow)}.class-enrollment-summary .seat-empty{background:#e7e7e5;border-color:#c7c7c4}.class-enrollment-summary .seat-declined{background:#df754a;border-color:#df754a}@media (min-width:1400px){.class-seats-layout{column-gap:24px}.class-seat-squares{grid-template-columns:repeat(6,22px);grid-auto-rows:22px}.class-seat-squares>span{width:22px;height:22px}.class-seats-total{font-size:76px}}.class-roster-board .roster-section-heading h2{font-size:24px}.class-roster-board .roster-section-heading h2 span{color:var(--muted);font-weight:500}.class-roster-lanes{gap:var(--roster-panel-gap,16px);scrollbar-color:#92938e #eaeaea;grid-template-columns:repeat(3,minmax(300px,1fr));margin-top:0;display:grid;overflow-x:auto}.class-roster-lane{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;overflow:hidden}.class-roster-lane h3{min-height:52px;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:12px 15px 12px 16px;font-size:15px;font-weight:800;display:flex}.class-roster-lane h3 span{font-variant-numeric:tabular-nums;letter-spacing:normal;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;display:inline-flex}.lane-accepted h3{color:#225737;background:#dcecdf}.lane-awaiting h3{color:#665019;background:#f7edc8}.lane-declined h3{color:#a32821;background:#f8dedb}.class-roster-lane ul{scrollbar-color:#b7b8bb white;height:290px;margin:0;padding:0;list-style:none;overflow-y:auto}.class-roster-lane li{border-bottom:1px solid #eeede9;align-items:center;gap:10px;min-height:45px;padding:5.5px 14px;display:flex}.class-roster-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--ink);text-underline-offset:3px;font-size:15px;font-weight:700;display:block;overflow:hidden}.class-roster-student{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.class-roster-eligibility-alert{color:#94600b;cursor:help;border-radius:3px;flex-shrink:0;display:inline-flex}.class-roster-eligibility-alert:focus-visible{outline:2px solid var(--control-border-active);outline-offset:3px}.class-roster-entry-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.class-roster-response-controls,.directory-view-toggle{background:#fff;border:1px solid #d8d8d5;border-radius:10px;align-items:center;gap:0;padding:0;display:flex}.class-roster-entry-actions .icon-button,.directory-view-toggle>.directory-view-button{width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:none;color:#60615e;background:#fff;border:0;border-radius:0;flex-shrink:0;padding:0;transition:background-color .15s}.class-roster-response-controls>.icon-button+.icon-button,.directory-view-button+.directory-view-button{border-left:1px solid #d8d8d5}.class-roster-response-controls>.icon-button:first-child,.directory-view-button:first-child{border-radius:9px 0 0 9px}.class-roster-response-controls>.icon-button:last-child,.directory-view-button:last-child{border-radius:0 9px 9px 0}.class-roster-response-controls>.icon-button:focus-visible,.directory-view-button:focus-visible{z-index:1;position:relative}.directory-view-toggle>.directory-view-button:is([aria-current=true],[aria-pressed=true],:hover:not(:disabled)){color:#765900;background:#fff1bf}.class-roster-entry-actions .roster-action-accepted:is([aria-pressed=true],:hover:not(:disabled)){color:#195e40;background:#dcefe3}.class-roster-entry-actions .roster-action-awaiting:is([aria-pressed=true],:hover:not(:disabled)){color:#765900;background:#fff1bf}.class-roster-entry-actions .roster-action-declined:is([aria-pressed=true],:hover:not(:disabled)){color:#a32821;background:#f8dedb}.class-roster-entry-actions .roster-action-remove{color:#7a7b78;background:0 0;border-radius:8px}.class-roster-entry-actions .roster-action-remove:hover:not(:disabled){color:var(--danger);background:#f3f0e9}.class-roster-lane-empty{color:var(--muted);font-size:14px}.class-activity-footer{color:var(--muted);border-top:1px solid #eeede9;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-top:10px;font-size:13px;line-height:1.4;display:grid}.class-activity-entry{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.class-activity-entry+.class-activity-entry{border-left:1px solid #eeede9;padding-left:12px}.class-activity-entry>strong{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}@media (max-width:1200px){.class-spec-facts{grid-template-columns:minmax(0,1fr);gap:0}}@media (max-width:900px){.class-management-overview{grid-template-columns:minmax(0,1fr)}.class-spec-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (max-width:600px){.class-spec-heading{grid-template-columns:minmax(0,1fr);padding:20px 18px}.class-detail-column .class-spec-title{font-size:30px}.class-detail-schedule{gap:14px;margin-inline:18px}.class-schedule-range{font-size:16px}.class-schedule-icon{flex-basis:44px;height:44px}.class-schedule-dates{flex-basis:calc(100% - 58px)}.class-spec-facts{grid-template-columns:minmax(0,1fr);gap:0;padding:12px 18px}.class-spec-instructor{padding:16px 18px}}.class-detail-level{margin-top:8px;font-size:26px;display:block}.filter-select-option:disabled,.filter-select-all:disabled{opacity:.4;cursor:not-allowed;background:0 0}.roster-eligibility-override{align-items:center;gap:8px;font-size:13px;display:inline-flex}.roster-eligibility-override input{width:16px;height:16px;accent-color:var(--yellow);padding:0}.class-instructor-actions .class-activity-footer{border-top:0;padding-top:0}.class-editor-field-pair{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.class-editor-field-pair>*,.class-editor-field-pair input{min-width:0}@media (max-width:600px){.class-editor-assignment .field>span{min-height:3em}}.date-range-trigger[aria-expanded=true]>svg{transform:none}.date-range-filter>.notice{margin:0}.date-range-popover{overscroll-behavior:contain;background:var(--filter-field);color:#f4f1e9;font:13px/1.5 var(--font-form);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:#777164 var(--filter-field);border:0;border-radius:12px;margin:0;padding:14px;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 14px 32px #00000059}.date-range-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.date-range-heading strong{font-size:15px;font-weight:650}.date-range-heading button{width:40px;height:40px;color:inherit;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.date-range-heading button:hover:not(:disabled){background:#45474a}.date-range-hint{color:#d0cec7;text-align:center;min-height:20px;margin:8px 0 12px;font-size:12px}.date-range-calendar{table-layout:fixed;border-collapse:collapse;color:#f4f1e9;width:100%;min-width:0}.date-range-calendar tbody tr{height:42px}.date-range-calendar th{color:#d0cec7;text-align:center;font:inherit;background:0 0;border:0;padding:4px 0 8px}.date-range-calendar td{text-align:center;min-width:0;height:42px;color:inherit;border:0;padding:0}.date-range-calendar tbody tr:hover{background:0 0}.date-range-calendar td.is-in-range{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.date-range-calendar td.is-in-range{background:color-mix(in srgb, var(--yellow) 16%, var(--filter-field))}}.date-range-calendar td.is-range-start{border-radius:50% 0 0 50%}.date-range-calendar td.is-range-end{border-radius:0 50% 50% 0}.date-range-calendar td.is-range-start.is-range-end{border-radius:50%}.date-range-calendar button{width:40px;max-width:100%;height:40px;color:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:14px;display:inline-grid}.date-range-calendar button:hover{background:#45474a}.date-range-calendar button[aria-current=date]{text-underline-offset:5px;text-decoration:underline}.date-range-calendar button.is-endpoint{background:var(--yellow);color:var(--ink);font-weight:750}.date-range-calendar button:focus-visible{outline-offset:-3px;outline-color:var(--control-border-active);position:relative}.date-range-footer{border-top:1px solid #64615a;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;display:flex}.date-range-footer .button{min-height:36px;padding:6px 12px;font-size:13px}.directory-export-control{flex-shrink:0;gap:8px;display:inline-flex;position:relative}.pagination-tools>.directory-view-toggle{margin-right:17px;position:relative}.pagination-tools>.directory-view-toggle:after{content:"";pointer-events:none;background:#dcdcd7;width:1px;height:28px;position:absolute;top:50%;left:calc(100% + 16px);transform:translateY(-50%)}button.directory-export-button{color:#16171a;height:32px;min-height:32px;font:600 14px/1 var(--font-body);white-space:nowrap;background-color:#fff;border:1px solid #c9cac4;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.pagination :is(.pagination-button,.directory-view-button,.directory-export-button){box-shadow:none}.pagination :is(.pagination-button,.directory-view-button,.directory-export-button):hover:not(:disabled){transform:none}.pagination :is(.pagination-button,.directory-view-button,.directory-export-button):focus-visible{outline-offset:2px;box-shadow:none;outline:3px solid #f5c518}button.directory-export-button:hover:not(:disabled){background:#f1f1ee;border-color:#c9cac4}.directory-export-button:disabled{opacity:.5;cursor:wait}.directory-export-error{z-index:10;width:min(260px, calc(var(--layout-vw) * 80));border:1px solid var(--danger);color:var(--danger);background:#fff;border-radius:4px;padding:10px 12px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0}.icon-button.alert-contact-edit,.hours-entry-actions>.icon-button{box-shadow:var(--button-shadow);border-radius:8px;transition:background-color .15s,border-color .15s}:is(button,a):is(.button,.icon-button):has(>.lucide-pencil){box-shadow:var(--button-shadow);border-radius:8px;transition:background-color .15s,border-color .15s}.icon-button.alert-contact-edit:disabled,.hours-entry-actions>.icon-button:disabled{box-shadow:none}:is(button,a):is(.button,.icon-button):has(>.lucide-pencil):disabled{box-shadow:none}@media (prefers-reduced-motion:no-preference){.icon-button.alert-contact-edit,.hours-entry-actions>.icon-button{transition:background-color .15s,border-color .15s,transform .15s}:is(button,a):is(.button,.icon-button):has(>.lucide-pencil){transition:background-color .15s,border-color .15s,transform .15s}.icon-button.alert-contact-edit:hover:not(:disabled),.hours-entry-actions>.icon-button:hover:not(:disabled){transform:translateY(-1px)}:is(button,a):is(.button,.icon-button):has(>.lucide-pencil):hover:not(:disabled){transform:translateY(-1px)}}.user-name-edit{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;text-align:left;background:0 0;border:0;padding:0}.user-name-edit:hover{text-decoration:underline}.user-form .permission-editor{border:0;margin:0;padding:0}.user-form .permission-editor>legend{margin-bottom:12px}.filter-surface.grouped-filters{--yellow:#f5c518;--control-border-active:#f5c518;--filter-field:#2a2d31;--font-form:"Archivo Variable", sans-serif;color:#f2f2f0;font-family:var(--font-form);box-shadow:none;background:#1e2023;border-radius:18px;flex-direction:column;align-items:stretch;gap:16px;padding:20px;display:flex;container:grouped-filter-panel/inline-size}.grouped-filters :is(fieldset,legend){border:0;margin:0;padding:0}.grouped-filters .grouped-filter-fields{grid-template-columns:minmax(0,.84fr) minmax(0,1fr) minmax(0,1.17fr);gap:32px;width:100%;min-width:0;display:grid}.grouped-filters .grouped-filter-fields-paired{grid-template-columns:repeat(2,minmax(0,1fr))}.grouped-filters .grouped-filter-section{min-width:0}.grouped-filters .grouped-filter-section>legend{color:#f5c518;font:700 12px/1.4 var(--font-form);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.grouped-filter-section-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.grouped-filter-find .grouped-filter-section-fields{grid-template-columns:minmax(0,1fr)}.grouped-filter-wide{grid-column:1/-1;min-width:0}.grouped-filters .field,.student-filter-choice{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.grouped-filters .field>label,.student-filter-label{font:600 13px/1.4 var(--font-form);color:#d5d8dc}.grouped-filters .field input,.grouped-filters .filter-select-trigger{color:#f2f2f0;height:46px;min-height:46px;font:400 15px/1.4 var(--font-form);background:#2a2d31;border:1px solid #3a3e44;border-radius:10px;padding:0 14px}.grouped-filters .field input::placeholder{color:#b3b7bd}.grouped-filters .filter-select-trigger>svg{width:16px;height:16px}.grouped-filters .filter-select[data-filtered=true]>.filter-select-trigger,.grouped-filters .filter-select-trigger[aria-expanded=true]{color:#fff;border-color:#f5c518;font-weight:600}.student-filter-minimums{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.student-filter-hours{min-width:0;position:relative}.student-filter-hours .field input{appearance:textfield;padding-right:48px}.student-filter-hours input::-webkit-inner-spin-button{appearance:none}.student-filter-hours input::-webkit-outer-spin-button{appearance:none}.student-filter-hours>span{color:#b3b7bd;height:46px;font:400 14px/1 var(--font-form);pointer-events:none;align-items:center;display:flex;position:absolute;bottom:0;right:14px}.student-filter-segments{background:#2a2d31;border:1px solid #3a3e44;border-radius:10px;gap:4px;height:46px;padding:4px;display:grid}.student-filter-segments button{color:#d5d8dc;min-width:0;height:36px;font:500 14px/1 var(--font-form);box-shadow:none;background:0 0;border:0;border-radius:7px;padding:0}.student-filter-segments button[aria-pressed=true]{color:#16171a;background:#f2f2f0;font-weight:600}.student-filter-chips{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:46px;display:flex}.student-filter-chips button{color:#d5d8dc;min-width:42px;height:40px;font:500 14px/1 var(--font-form);box-shadow:none;white-space:nowrap;background:#2a2d31;border:1px solid #3a3e44;border-radius:8px;flex:none;padding:0 12px}.student-filter-chips button:first-child,.student-filter-chips button.student-filter-journeyman{flex:none;min-width:42px;padding:0 12px}.student-filter-chips button[aria-pressed=true]{color:#16171a;background:#f5c518;border-color:#0000;font-weight:700}.grouped-filters :is(.student-filter-chips,.student-filter-segments) button[aria-pressed=false]:hover:not(:disabled){color:#fff;background:#41464d}.grouped-filters :is(.student-filter-chips,.student-filter-segments) button:disabled{opacity:.4;cursor:not-allowed}.grouped-filters .filter-actions{border-top:1px solid #3a3e44;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.grouped-filters .filter-actions>.button{height:46px;min-height:46px;font:600 15px/1 var(--font-form);box-shadow:var(--button-shadow);border-radius:8px;padding:0 20px}.grouped-filters .filter-actions>.secondary{color:#f2f2f0;background:0 0;border:1px solid #4a4f56}.grouped-filters .filter-actions>.primary{color:#16171a;background:#f5c518;border:0;padding:0 24px;font-weight:700}.grouped-filters .roster-eligibility-override{color:#f2f2f0;font:500 15px/1.4 var(--font-form);align-items:center;gap:12px;margin:0 auto 0 0;display:flex}.grouped-filters .roster-eligibility-override input{appearance:none;cursor:pointer;background:#555a61;border:0;border-radius:12px;flex:0 0 40px;width:40px;height:24px;min-height:24px;margin:0;padding:0;position:relative}.grouped-filters .roster-eligibility-override input:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:3px}.grouped-filters .roster-eligibility-override input:checked{background:#f5c518}.grouped-filters .roster-eligibility-override input:checked:after{background:#16171a;left:19px}.grouped-filters .filter-select-menu{background:#2a2d31;border:1px solid #3a3e44;border-radius:14px;padding:10px;box-shadow:0 18px 40px #0a0b0c73}.grouped-filters .filter-select-all{color:#f2f2f0;height:46px;min-height:46px;font:700 15px/1 var(--font-form);background:0 0;border:1px solid #4a4f56;border-radius:10px;margin-bottom:4px;padding:0 14px}.grouped-filters .filter-select-all[aria-pressed=true]{color:#16171a;background:#f5c518;border-color:#f5c518}.grouped-filters .filter-select-options{scrollbar-color:#6b7078 #2a2d31;gap:2px}.grouped-filters .filter-select-option{color:#f2f2f0;height:42px;min-height:42px;font:600 15px/1 var(--font-form);border-radius:8px;gap:14px;padding:0 14px}.grouped-filters .filter-select-option[aria-selected=true]{background:#33363b}.grouped-filters .filter-select-check{border:1.5px solid #6b7078;border-radius:5px;flex-basis:22px;width:22px;height:22px}.grouped-filters .filter-select-option[aria-selected=true]>.filter-select-check{color:#16171a;background:#f5c518;border-color:#f5c518}.grouped-filters .filter-select-footer{border-top:1px solid #44484e;margin-top:8px;padding:12px 4px 2px 6px}.grouped-filters .filter-select-footer>span{color:#b3b7bd;font:600 14px/1.4 var(--font-form)}.grouped-filters .filter-select-footer>.button{color:#16171a;height:42px;min-height:42px;font:700 15px/1 var(--font-form);box-shadow:none;background:#f5c518;border:0;border-radius:10px;padding:0 20px;transform:none}.grouped-filters :focus-visible{outline-offset:2px;outline:2px solid #f5c518}@container grouped-filter-panel (max-width:1050px){.grouped-filters .grouped-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grouped-filter-fields>.grouped-filter-section:last-child{grid-column:1/-1}.grouped-filter-fields-paired>.grouped-filter-section:last-child{grid-column:auto}}@container grouped-filter-panel (max-width:540px){.grouped-filters .grouped-filter-fields,.grouped-filter-section-fields{grid-template-columns:minmax(0,1fr)}.grouped-filters .roster-eligibility-override{width:100%}.grouped-filters .filter-actions>.button{flex:1}}dialog[class] :is(button,a).button,.contacts-inline-table .icon-button,.program-items-table .icon-button,.student-hours-table .icon-button,.user-table :is(button,a).icon-button{box-shadow:var(--button-shadow);border-radius:8px;transition:background-color .15s,border-color .15s}dialog[class] .icon-button:has(>.lucide-x){box-shadow:var(--button-shadow);border-radius:8px;transition:background-color .15s,border-color .15s}dialog[class] :is(button,a).button:disabled,.contacts-inline-table .icon-button:disabled,.program-items-table .icon-button:disabled,.student-hours-table .icon-button:disabled,.user-table :is(button,a).icon-button:disabled{box-shadow:none}dialog[class] .icon-button:has(>.lucide-x):disabled{box-shadow:none}@media (prefers-reduced-motion:no-preference){dialog[class] :is(button,a).button,.contacts-inline-table .icon-button,.program-items-table .icon-button,.student-hours-table .icon-button,.user-table :is(button,a).icon-button{transition:background-color .15s,border-color .15s,transform .15s}dialog[class] .icon-button:has(>.lucide-x){transition:background-color .15s,border-color .15s,transform .15s}dialog[class] :is(button,a).button:hover:not(:disabled),.contacts-inline-table .icon-button:hover:not(:disabled),.program-items-table .icon-button:hover:not(:disabled),.student-hours-table .icon-button:hover:not(:disabled),.user-table :is(button,a).icon-button:hover:not(:disabled){transform:translateY(-1px)}dialog[class] .icon-button:has(>.lucide-x):hover:not(:disabled){transform:translateY(-1px)}}body :is(button,[role=button],a.button,a.icon-button,a.pagination-button,a.directory-view-button){--control-border-active:#858580}body :is(button,[role=button],a.button,a.icon-button,a.pagination-button,a.directory-view-button):focus-visible{outline-offset:3px;outline:2px solid #858580}.student-contracts-card .student-section-heading{align-items:center}.student-contracts-card>.empty{margin:0;padding:24px}.student-contract-table table{table-layout:auto;min-width:100%}.student-contract-table th:last-child{width:48px}.student-contract-table td:first-child{min-width:0}.student-contract-table th,.student-contract-table td{white-space:nowrap;overflow-wrap:normal;padding-inline:6px}.student-contract-table th{white-space:nowrap;overflow-wrap:normal}.student-contract-table th:first-child,.student-contract-table td:first-child{padding-left:24px}.student-contract-table th:last-child,.student-contract-table td:last-child{text-align:center}@media (max-width:760px){.student-contract-table table{min-width:680px}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-contract-table th:first-child,.student-contract-table td:first-child{padding-left:18px}.student-contracts-card>.empty{padding:18px}}.hours-total-breakdown{color:var(--muted);font-size:13px;line-height:1.6}@media (max-width:600px){.student-contracts-card .student-section-heading{flex-wrap:wrap}}.student-contract-mobile-delete{margin-top:0;display:none}@media (max-width:760px),(hover:none) and (pointer:coarse){.student-contract-mobile-delete{color:var(--danger);border-color:var(--line);background:var(--surface);display:flex}}.student-contract-credit-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.invitation-preview-controls{margin:0;padding:0;overflow:hidden}.invitation-setup-layout,.invitation-editor{grid-template-columns:260px minmax(0,1fr);display:grid}.invitation-summary{background:var(--navigation,#151719);color:#fff;overflow-wrap:anywhere;padding:28px 24px}.invitation-summary h2{color:#fff;margin:0 0 12px;font-size:26px}.invitation-summary p,.invitation-summary dt{color:#c6c8cb}.invitation-summary dl{margin:24px 0}.invitation-summary dt{margin-top:18px;font-size:12px}.invitation-summary dd{margin:4px 0 0}.invitation-setup-fields,.invitation-editor-main{min-width:0;padding:28px}.invitation-setup-fields h2{margin:0 0 20px}.invitation-setup-fields .form-grid{grid-template-columns:1fr}.invitation-recipient-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.invitation-recipient-summary summary,.email-copy-options summary,.email-message-preview summary{cursor:pointer;padding:8px 0;font-weight:650}.invitation-recipient-summary ul{max-height:320px;padding:0;list-style:none;overflow:auto}.invitation-recipient-summary li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.invitation-recipient-summary li span:last-child{color:var(--muted)}.invitation-pages{display:none}@media print{.invitation-pages{display:block}}.email-workspace>.notice{margin:0 0 16px}.invitation-editor{align-items:stretch;padding:0;overflow:hidden}.email-step-rail ol{gap:12px;margin:28px 0;padding:0;list-style:none;display:grid}.email-step-rail button{text-align:left;color:#fff;width:100%;box-shadow:var(--button-shadow);background:#2b2d30;border:1px solid #626467;border-radius:8px;padding:12px}.email-step-rail button[aria-current=step]{color:var(--ink);background:var(--yellow);border-color:var(--yellow);font-weight:700}.email-step-rail button:disabled{opacity:.55;box-shadow:none}.invitation-editor-heading{margin-bottom:24px}.invitation-editor-heading h2{margin:0 0 6px}.invitation-editor-heading p{color:var(--muted);margin:0}.email-recipient-tools,.email-recipient-pagination,.invitation-editor-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.email-recipient-tools{margin-bottom:16px}.email-recipient-list{border-top:1px solid var(--line);margin-top:20px}.email-recipient-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:24px;padding:20px 0;display:grid}.email-recipient-identity{overflow-wrap:anywhere;flex-direction:column;gap:6px;display:flex}.email-recipient-identity>span{color:var(--muted);margin-left:24px;font-size:13px}.email-recipient-fields,.email-message-fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.email-recipient-row.is-excluded .email-recipient-fields{opacity:.55}.email-copy-options{min-width:0}.email-copy-options .check{margin:10px 0}.email-copy-options .field{margin-top:16px}.email-copy-options small,.email-review-table small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;display:block}.email-message-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;padding:10px 0}.email-message-preview p{white-space:pre-wrap;overflow-wrap:anywhere;max-width:70ch;line-height:1.65}.email-recipient-pagination{margin-top:20px}.invitation-editor-actions{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.email-review-summary{grid-template-columns:90px minmax(0,1fr);gap:12px;margin:0;display:grid}.email-review-summary dt{color:var(--muted)}.email-review-summary dd{overflow-wrap:anywhere;margin:0}.email-review-table{table-layout:fixed;min-width:540px}.email-review-table td{overflow-wrap:anywhere}.email-review-table th:last-child{width:24%}.contact-editor-list{padding:24px}.contact-editor-row{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:24px}.contact-editor-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.contacts-dialog .student-editor-rail>*{flex-shrink:0}.contacts-contractor-info{overflow-wrap:anywhere;gap:16px;margin:0 10px;font-size:14px;display:grid}.contacts-contractor-info dt{color:#bdbdb6;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:600}.contacts-contractor-info dd{margin:0}.contacts-contractor-info a{color:inherit}.contacts-contractor-info a:hover{text-decoration:underline}.contacts-contractor-info a:focus-visible{outline-offset:3px;outline:2px solid #bdbdb6}.contacts-imported{color:#d5d7da;overflow-wrap:anywhere;border-top:1px solid #626467;margin:20px 10px 0;padding-top:20px}.contacts-imported span{font-weight:650}.contractor-contacts-control{flex-shrink:0}.contractor-contacts-control>.icon-button{box-shadow:var(--button-shadow);padding:0}.contractor-contacts-control>.icon-button:disabled{box-shadow:none}@media (prefers-reduced-motion:no-preference){.contractor-contacts-control>.icon-button{transition:background-color .15s,border-color .15s,transform .15s}.contractor-contacts-control>.icon-button:hover:not(:disabled),.email-step-rail button:not(:disabled):hover{transform:translateY(-1px)}}@media (max-width:900px){.invitation-setup-layout,.invitation-editor{grid-template-columns:1fr}.email-step-rail ol{flex-wrap:wrap;margin:18px 0;display:flex}.email-step-rail dl{display:none}}@media (max-width:600px){.invitation-setup-fields,.invitation-editor-main,.invitation-summary{padding:20px}.email-recipient-row{grid-template-columns:1fr;gap:16px}.invitation-editor-actions>.button{flex:1}.contacts-dialog .student-editor-rail{max-height:35vh;display:flex;overflow-y:auto}.contacts-contractor-info{grid-template-columns:repeat(2,minmax(0,1fr))}}.contacts-imported small{color:#c6c8cb}.contact-editor-heading .actions{align-items:center;gap:8px;display:flex}@media (max-width:600px){.invitation-editor-actions>.button{flex-basis:100%}}.contractor-card-heading>.contractor-contacts-control{width:auto}body .icon-button.alert-contact-edit,body .hours-entry-actions>.icon-button,body .class-detail-edit>:is(button,a).icon-button,body .contractor-contacts-control>.icon-button,body .user-table .icon-button,body .button.roster-invite-button{flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}body :is(button,a).icon-button:has(>.lucide-pencil){flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}body :is(button,a).icon-button>.lucide-pencil,body .icon-button.alert-contact-edit>svg,body .hours-entry-actions>.icon-button>svg,body .user-table .icon-button>svg,body .contractor-contacts-control>.icon-button>svg{width:16px;height:16px}.import-match-table th:first-child{width:48px}.import-match-table td{vertical-align:top}.other-student-documents{border-top:1px solid var(--line,#d8d8d0);margin-top:1.5rem;padding-top:1.25rem}.other-documents-header,.other-documents-pagination,.other-documents-pagination nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.other-documents-header h3{margin:0}.other-document-list{margin:16px 0;padding:0;list-style:none}.other-document-list>li{border-bottom:1px solid var(--line,#d8d8d0);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 0;display:grid}.other-document-description{min-width:0;color:var(--muted);gap:4px;font-size:12px;line-height:1.5;display:grid}.other-document-description strong{color:var(--ink);font-size:14px;font-weight:600}.document-filename{overflow-wrap:anywhere}.other-documents-pagination button{color:#292923;box-shadow:var(--button-shadow);background:#fff;border:1px solid #c8c8bf;border-radius:8px;padding:6px 10px;font-size:13px}.other-documents-pagination button:disabled{box-shadow:none;opacity:.55}.other-documents-pagination button:focus-visible{outline-offset:3px;outline:2px solid #77776d}.other-document-menu-trigger{cursor:pointer;border:1px solid var(--line);background:var(--surface);width:32px;min-width:32px;height:32px;min-height:32px;color:var(--ink);box-shadow:var(--button-shadow);border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.other-document-menu-trigger>svg{width:16px;height:16px}.other-document-menu-trigger:is(:hover,:focus-visible),.other-document-menu[open]>summary{background:var(--soft)}.other-document-menu-trigger:focus-visible{outline-offset:3px;outline:2px solid #77776d}.other-document-menu .student-document-menu-content{width:220px;max-width:calc(calc(var(--layout-vw) * 100) - 64px);gap:6px;padding:8px;display:grid;top:calc(100% + 8px)}.other-document-menu .student-document-menu-content :is(a,button){border-radius:8px;gap:10px;font-size:13px;font-weight:600;text-decoration:none}.other-document-menu .student-document-menu-remove{color:var(--danger)}.document-category-dialog{width:min(460px, calc(calc(var(--layout-vw) * 100) - 32px));max-height:calc(100dvh - 32px);color:var(--ink);background:var(--surface);font-family:var(--font-form);border:0;border-radius:12px;margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 16px 46px #00000038}.document-category-dialog::backdrop{background:#1414108c}.document-category-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.document-category-dialog h2{font:700 24px/1.2 var(--font-form-heading);margin:0}.document-category-body{padding:24px}.document-category-file{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.document-category-file>svg{color:var(--muted);flex-shrink:0;margin-top:2px}.document-category-file p{margin:0 0 4px;font-weight:600;line-height:1.5}.document-category-file span{color:var(--muted);font-size:13px}.document-category-dialog select{background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border:1px solid #c8cacc;border-radius:8px;margin-top:8px;padding:10px 12px}.document-category-dialog select:focus-visible{outline-offset:3px;outline:2px solid #858580}.document-category-dialog .document-category-preservation{background:var(--soft);overflow-wrap:anywhere;border-radius:8px;margin:16px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.document-category-dialog .notice{margin-top:16px}.document-category-footer{border-top:1px solid var(--line);background:var(--soft);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@media (prefers-reduced-motion:no-preference){.other-document-menu-trigger:hover,.other-documents-pagination button:not(:disabled):hover{transform:translateY(-1px)}}.other-documents-header{flex-wrap:nowrap}.other-documents-header>.button{flex-shrink:0}.document-upload-progress{gap:8px;margin-top:20px;font-size:13px;display:grid}.document-upload-progress progress{width:100%;accent-color:var(--ink)}.module-library-table{width:100%;min-width:620px}.module-library-table th:first-child{width:44%}.module-library-table th:last-child{width:64px}.module-library-table small{color:var(--muted);margin-top:4px;display:block}.module-editor-dialog{width:min(1100px, calc(calc(var(--layout-vw) * 100) - 32px))}.module-editor-form{flex-direction:column;flex:1;min-height:0;display:flex}.module-editor-fields{border:0;min-width:0;margin:0;padding:0}.module-editor-fields .form-grid{margin-bottom:20px}.module-editor-footer{border-top:1px solid var(--line);background:var(--soft);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.marking-scheme-editor{border:0;min-width:0;margin-top:24px;padding:0}.marking-scheme-editor legend{font:700 18px/1.3 var(--font-form);margin-bottom:16px}.module-assessment-scroll{margin:16px 0;overflow-x:auto}.module-assessment-editor{width:100%;min-width:720px}.module-assessment-editor th{white-space:nowrap}.module-assessment-editor td{padding:10px 6px}.module-assessment-editor input:not([type=checkbox]),.module-assessment-editor select{background:var(--surface);border:1px solid #c8cacc;border-radius:8px;width:100%;min-height:40px;padding:7px 9px}.module-assessment-editor th:first-child{width:28%}.module-assessment-editor input[type=number]{min-width:80px}.module-picker-search{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.module-picker-search>.field{flex:1;max-width:380px}.module-picker-columns{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;display:grid}.module-picker-transfer{flex-direction:column;justify-content:center;gap:12px;display:flex}.module-picker-transfer>.button{width:44px;height:44px;padding:0}.module-picker-selected{min-width:0}.module-picker-sortable{overscroll-behavior:contain;background:var(--surface);border:1px solid #c8cacc;border-radius:8px;height:280px;margin:0;padding:8px;scroll-padding-block:8px;list-style:none;overflow-y:auto}.module-picker-row{min-height:48px;font:400 13px/1.5 var(--font-form);border-radius:4px;align-items:center;gap:8px;padding:4px 6px;display:flex}.module-picker-row[data-selected]{background:var(--yellow);color:var(--ink)}.module-picker-row[data-dragging]{background:var(--soft);outline:1px dashed var(--ink);outline-offset:-1px}.module-picker-row[data-dragging]>*{opacity:0}.module-picker-drag-preview{z-index:100;background:var(--yellow);color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;margin:0;position:fixed;inset:0 auto auto 0;box-shadow:0 8px 20px #1d1d193d}.module-picker-drag-label{overflow-wrap:anywhere;flex:1;min-width:0;padding:0 2px}.module-picker-sortable:has([data-dragging]){cursor:grabbing;-webkit-user-select:none;user-select:none}body .module-picker button.module-picker-choice{min-width:0;min-height:40px;color:inherit;box-shadow:none;text-align:left;font:inherit;overflow-wrap:anywhere;background:0 0;border:0;border-radius:4px;flex:1;padding:0 2px;transform:none}body .module-picker button.module-picker-choice:focus:not(:focus-visible){outline:none}body .module-picker button.module-picker-choice:focus-visible{outline-offset:-2px;outline:2px solid #858580}.module-picker-position{font-variant-numeric:tabular-nums}.module-picker-handle{touch-action:none;cursor:grab;flex:0 0 36px;width:36px;height:36px;min-height:36px}.module-picker-handle:active{cursor:grabbing}.module-picker-handle:disabled{cursor:default}.module-picker .muted,.module-editor-fields>.muted,.marking-scheme-editor>.muted{font-size:13px;line-height:1.5}.module-editor-fields h3{margin:24px 0 16px}@media (max-width:700px){.module-picker-columns{grid-template-columns:minmax(0,1fr)}.module-picker-transfer{flex-direction:row}.module-picker-transfer svg{transform:rotate(90deg)}.module-picker-sortable{height:280px}.module-picker-handle{flex-basis:44px;width:44px;height:44px}.module-picker-search{flex-wrap:wrap}}.class-modules-editor h3{margin:0 0 12px}.class-module-package{align-items:flex-end;gap:12px;margin:20px 0;display:flex}.class-module-package>.field{flex:1}.class-module-package>.button{flex-shrink:0}.class-module-customisation{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.class-module-customisation>summary{cursor:pointer;margin-bottom:16px;font-weight:600}.training-history-record-table{table-layout:auto;min-width:680px}.training-history-record-table.is-modules{min-width:1320px}.training-history-record-table th:first-child{min-width:200px}.training-history-record-table th:not(:first-child),.training-history-record-table td:not(:first-child){white-space:nowrap}.class-editor-modules{grid-column:1/-1}@media (max-width:600px){.class-module-package{flex-wrap:wrap}}.teaching-workspace-tabs{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.teaching-records-panel{margin-top:24px}.teaching-records-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.teaching-records-heading h2{margin:0 0 8px;font-size:20px}.teaching-records-heading p{color:var(--muted);max-width:65ch;margin:0;font-size:13px}.teaching-records-heading>.button{flex-shrink:0}.teaching-entry-table{min-width:760px}.teaching-entry-table th:first-child{min-width:200px}.teaching-entry-table td{vertical-align:middle}.teaching-entry-table small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.teaching-entry-table input,.teaching-entry-table select{background:var(--surface);border:1px solid #c8cacc;border-radius:8px;width:100%;min-width:100px;min-height:40px;padding:8px}.teaching-entry-table input[type=number]{max-width:110px}.teaching-result-confirmation{margin:24px 0;font-size:13px}.teaching-result-confirmation label{align-items:flex-start;gap:10px;font-weight:600;display:flex}.teaching-module-list details{border-top:1px solid var(--line);padding:18px 0}.teaching-module-list summary{cursor:pointer;justify-content:space-between;gap:16px;font-weight:600;display:flex}.teaching-module-list summary span{color:var(--muted);font-size:13px}.student-class-awards{border-top:1px solid var(--line);margin:20px 0;padding-top:16px}.student-class-awards h3{margin:0 0 8px;font-size:16px}@media (max-width:700px){.teaching-records-heading{flex-wrap:wrap}}:is(.module-editor-dialog,.class-modules-editor,.saved-teaching-workspace) :is(input,select,textarea):focus-visible{outline-offset:2px;outline:2px solid #858580}:is(.module-editor-dialog,.class-modules-editor,.saved-teaching-workspace) input[type=checkbox]{accent-color:var(--ink)}.pagination-page-count{white-space:nowrap;align-self:center;padding:0 8px;font-size:13px}:is(.module-editor-dialog,.class-modules-editor,.saved-teaching-workspace){--control-border-active:#858580}:is(.module-editor-dialog,.class-modules-editor,.saved-teaching-workspace) :is(input,select,textarea):enabled:focus{box-shadow:none;outline-offset:2px;border-color:#858580;outline:2px solid #858580}.class-editor-modules .class-modules-editor>h3{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.module-editor-dialog .marking-scheme-editor{margin-top:0}.module-editor-dialog .student-editor-scroll{scroll-padding-block:24px}.module-editor-dialog .module-editor-fields .form-grid{margin-bottom:0}@media (max-width:760px){.module-editor-dialog{width:calc(100% - 16px)}}.student-document-browser{width:min(1200px, calc(var(--viewport-width) - 32px));height:min(900px, calc(var(--viewport-height) - 32px))}.student-document-browser>.student-editor-layout{grid-template-columns:280px minmax(0,1fr);height:100%}.student-document-browser .student-editor-rail{gap:32px;padding:32px 28px}.student-document-browser .student-editor-identity{padding:0}.student-document-browser .student-editor-identity h2{text-transform:uppercase;font-size:34px}.student-document-browser .student-editor-main{min-width:0}.student-document-browser .student-editor-heading{align-items:center;padding:28px 32px 20px}.student-document-browser .student-editor-scroll{flex-direction:column;gap:28px;padding:20px 32px 28px;display:flex;container-type:inline-size}.document-library-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.document-library-columns>*{min-width:0;container-type:inline-size}.document-library-slots>.document-library-section-title{align-items:center;min-height:32px;display:flex}.document-library-details{border-top:1px solid #2e2e2b;margin:0}.document-library-details div{border-bottom:1px solid #2e2e2b;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;font-size:14px;display:flex}.document-library-details dt{color:#bdbdb8}.document-library-details dd{color:#fff;margin:0;font-weight:600}.document-library-section-title{color:#5e5e5a;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:700}.document-library-checklist{border:1px solid #e6e5e1;border-radius:10px;margin:0;padding:0;list-style:none}.document-library-slot{box-sizing:border-box;grid-template-columns:28px 96px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:64px;padding:10px 12px 10px 16px;display:grid;position:relative}.document-library-slot+.document-library-slot{border-top:1px solid #e6e5e1}.document-library-slot:has(details[open]){z-index:6}.document-library-slot-status{box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.document-library-slot-status.is-on-file{background:var(--yellow);color:#161616}.document-library-slot-status.is-on-file svg{stroke-width:2.6px}.document-library-slot-status.is-missing{border:1.5px dashed #8a8a86}.document-library-slot-status.is-pending{color:#665000;background:#fff2bd}.document-library-slot-code{font:700 20px/1.1 var(--font-form-heading);text-transform:uppercase}.document-library-slot-description{flex-direction:column;gap:2px;min-width:0;display:flex}.document-library-slot-description>strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.document-library-slot-description>span{text-overflow:ellipsis;white-space:nowrap;color:#5e5e5a;font-size:13px;line-height:1.4;overflow:hidden}.document-library-slot-actions,.document-library-file-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.document-library-menu{position:relative}.document-library-menu .student-document-menu-content{box-sizing:border-box;width:250px;max-width:85cqw;top:calc(100% + 6px);left:auto;right:0;transform:none}body .student-document-browser :is(.document-library-action,.document-browser-close,.student-editor-mobile-close,.other-document-menu-trigger){box-sizing:border-box;color:#161616;background:#fff;border:1px solid #d3d2cd;border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;display:inline-flex}.student-document-browser :is(.document-library-action,.document-browser-close,.student-editor-mobile-close,.other-document-menu-trigger)>svg{width:16px;height:16px}body .student-document-browser .student-editor-mobile-close{display:none}.student-document-browser .other-student-documents{border:0;margin:0;padding:0}.student-document-browser .other-documents-header h3{margin:0;font-size:13px}.student-document-browser .other-document-list{margin:10px 0 0}.student-document-browser .other-document-list:not(:empty){border:1px solid #e6e5e1;border-radius:10px}.student-document-browser .other-document-list>li{box-sizing:border-box;border-bottom:0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:64px;padding:10px 12px 10px 16px}.student-document-browser .other-document-list>li+li{border-top:1px solid #e6e5e1}.document-library-file-icon{color:#161616;background:#f2f2ef;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.student-document-browser .other-document-description{font-size:13px}.student-document-browser .other-document-description strong{font-size:15px}.document-library-other{scroll-margin-top:20px}.student-document-browser .other-documents-pagination button{min-height:32px}@container (max-width:720px){.document-library-columns{grid-template-columns:minmax(0,1fr)}}@container (max-width:600px){.document-library-slot{grid-template-columns:28px minmax(0,1fr) auto;gap:4px 12px;padding:12px}.document-library-slot-status{grid-area:1/1/span 2}.document-library-slot-code{grid-area:1/2}.document-library-slot-description{grid-area:2/2}.document-library-slot-description>strong{font-size:13px}.document-library-slot-actions{grid-area:1/3/span 2}.student-document-browser .other-document-list>li{grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:12px}.document-library-file-icon{width:28px;height:28px}.student-document-browser .other-document-description strong{font-size:13px}.student-document-browser .other-document-description{font-size:12px}}@media (max-width:760px),(hover:none) and (pointer:coarse){.student-document-browser{width:calc(100% - 16px);height:calc(var(--viewport-height) - 16px);max-height:calc(var(--viewport-height) - 16px)}.student-document-browser>.student-editor-layout{grid-template-columns:minmax(0,1fr)}.student-document-browser .student-editor-rail{gap:16px;padding:16px}.student-document-browser .student-editor-identity h2{font-size:28px}body .student-document-browser .document-browser-close{display:none}body .student-document-browser .student-editor-mobile-close{display:inline-flex}.student-document-browser .student-editor-heading{padding:16px}.student-document-browser .student-editor-scroll{padding:20px 16px}.document-library-details{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.document-library-details div{gap:8px;font-size:12px}}.student-records-card .student-hs-body{padding:0 0 16px}.student-records-card .student-hs-body>p{padding-inline:24px}.student-records-card .table-wrap{border:0;border-radius:0}.student-records-table{table-layout:auto;width:max-content;min-width:100%;font-family:var(--font-body)}.student-records-table :is(thead,tbody) :is(th,td){white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:none}.student-records-table thead tr{height:40px}.student-records-table thead th{color:var(--muted);font:700 12px/1.3 var(--font-body);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-bottom:1px solid var(--line);background:0 0;padding:8px 10px}.student-records-table tbody tr{height:44px}.student-records-table tbody :is(th,td){color:var(--ink);font:400 14px/1.4 var(--font-body);letter-spacing:normal;text-transform:none;vertical-align:middle;border-bottom:1px solid var(--line);background:0 0;padding:6px 10px}.student-records-table :is(th,td):first-child{padding-left:24px}.student-records-table :is(th,td):last-child{padding-right:24px}.student-records-table tbody :is(th,td):first-child{font-weight:600}.student-records-table tbody :is(a,strong){font:inherit;color:inherit}.student-records-table tbody tr:last-child :is(th,td){border-bottom:0}.student-records-table tbody tr.is-expired{background:#ffedeb}.student-records-table tbody tr.is-expired:hover{background:#ffe4e1}.student-enrollments-card{container:student-class-history/inline-size}.student-course-history-table{table-layout:fixed;width:100%;min-width:850px}.student-course-history-table col:first-child{width:32%}.student-course-history-table col:nth-child(2),.student-course-history-table col:nth-child(3){width:12%}.student-course-history-table col:nth-child(4){width:14%}.student-course-history-table col:nth-child(5){width:18%}.student-course-history-table col:nth-child(6){width:120px}.student-course-history-table :is(thead,tbody) :is(th,td){white-space:normal;overflow-wrap:anywhere}.student-course-history-table .student-list-level{white-space:normal;flex-wrap:wrap;gap:4px}.student-course-history-table :is(.badge,.management-status){white-space:normal;overflow-wrap:anywhere;max-width:100%}.student-course-history-table .student-hs-result{white-space:nowrap;overflow-wrap:normal}.student-course-history-table .student-hs-result svg{flex-shrink:0}.student-course-history-table.is-safety col:first-child{width:28%}.student-course-history-table.is-safety col:nth-child(2){width:26px}.student-course-history-table.is-safety col:nth-child(3){width:120px}.student-course-history-table.is-safety col:nth-child(4){width:12%}.student-course-history-table.is-safety col:nth-child(5){width:14%}.student-course-history-table.is-safety col:nth-child(6){width:auto}.student-course-history-table.is-safety col:nth-child(7){width:120px}.student-course-history-table :is(th,td).safety-expiry-warning{text-align:center;color:#b91c1c;padding-inline:4px}.student-course-history-table .safety-expiry-warning svg{margin-inline:auto;display:block}.student-course-history-table td.safety-expiry-date{white-space:nowrap;overflow-wrap:normal}@container student-class-history (max-width:600px){.student-section-heading{flex-wrap:wrap}}.safety-expired-date{color:#b91c1c;align-items:center;gap:6px;font-weight:600;display:inline-flex}.safety-expired-date svg{flex-shrink:0}.safety-rebook-button{background:var(--nav);color:#fff;white-space:nowrap;min-width:72px;min-height:32px;padding:6px 12px;font-size:12px}.safety-rebook-dialog{width:min(960px,100% - 32px)}.safety-rebook-details{color:#ddd;padding:24px;font-size:13px}.safety-rebook-details>span{color:#ffb4ad;margin-bottom:4px;display:block}.safety-rebook-details>strong{color:#fff;margin-bottom:20px;display:block}.safety-rebook-details p{line-height:1.6}.safety-rebook-list{margin:0;padding:0;list-style:none}.safety-rebook-list>li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.safety-rebook-list>li:first-child{padding-top:0}.safety-rebook-list>li:last-child{border-bottom:0}.safety-rebook-list p{color:var(--muted);margin:4px 0 0;font-size:13px}.safety-rebook-response{font-size:13px;font-weight:600}@media (max-width:760px){.safety-rebook-dialog .student-editor-layout{grid-template-columns:minmax(0,1fr)}.safety-rebook-dialog .student-editor-rail{display:block}.safety-rebook-details{padding:0 20px 16px}.safety-rebook-details p{margin-bottom:0}.safety-rebook-details>strong{margin-bottom:8px}.safety-rebook-list>li{flex-wrap:wrap}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-records-table :is(th,td):first-child{padding-left:18px}.student-records-table :is(th,td):last-child{padding-right:18px}.student-records-card .student-hs-body>p{padding-inline:18px}}.contacts-inline-body{padding:24px}.contacts-inline-table table{table-layout:fixed;min-width:600px}.contacts-inline-table th:last-child{width:136px}.contacts-inline-table td{overflow-wrap:anywhere}.contacts-inline-table input{width:100%;min-width:0}.contacts-inline-table .icon-button{width:32px;min-width:32px;height:32px;padding:0}.contacts-inline-table button[aria-pressed=true]{color:#8a6500;background:#fff3ba}.hours-new-entry>td{vertical-align:top}.hours-new-entry input[type=date]{width:100%;min-width:0}.program-inline-editor{min-width:0}.program-items-table table{table-layout:fixed;min-width:380px}.program-items-table th:last-child{width:104px}.program-items-table th:first-child:not(:nth-last-child(2)){width:90px}.program-items-table :is(th,td){padding-inline:10px}.program-items-table td{overflow-wrap:anywhere}.program-items-table input{width:100%;min-width:0}.program-inline-editor>.button{margin-top:16px}.student-document-folders-card{padding:24px;container-type:inline-size}.student-document-folders-card .student-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.student-document-folders-card .student-folder-tile{aspect-ratio:1.18;height:auto}.student-document-folders-card .student-folder-action{box-shadow:none;border-radius:8px;gap:5px;transform:none}.student-document-folders-card .student-folder-tab{box-sizing:border-box;height:12%;min-height:8px}.student-document-folders-card .student-folder-face{box-sizing:border-box;flex:1;height:auto;min-height:0;padding:clamp(5px,2cqw,10px)}.student-folder-label{flex-direction:column;gap:3px;min-width:0;display:flex}.student-document-folders-card .student-folder-title{font-size:clamp(14px,7cqw,24px)}.student-document-folders-card .student-folder-title.is-long{font-size:clamp(11.5px,5.2cqw,18px)}body .student-document-browser :is(button,a.document-library-action,.student-document-menu-content a,summary.other-document-menu-trigger){box-shadow:var(--button-shadow);background-color:#fff;border:1px solid #d3d2cd;border-radius:8px;transition:background-color .15s,border-color .15s}body .student-document-browser :is(button,a.document-library-action,.student-document-menu-content a,summary.other-document-menu-trigger):hover:not(:disabled):not([aria-disabled=true]){background-color:#f1f1ee}body .student-document-browser :is(button:disabled,[aria-disabled=true]){box-shadow:none;transform:none}@media (prefers-reduced-motion:no-preference){body .student-document-browser :is(button,a.document-library-action,.student-document-menu-content a,summary.other-document-menu-trigger){transition:background-color .15s,border-color .15s,transform .15s}body .student-document-browser :is(button,a.document-library-action,.student-document-menu-content a,summary.other-document-menu-trigger):hover:not(:disabled):not([aria-disabled=true]){transform:translateY(-1px)}}body :is(dialog,[role=dialog]) .icon-button:has(>.lucide-x){box-sizing:border-box;flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}body :is(dialog,[role=dialog]) .icon-button>.lucide-x{width:16px;height:16px}body:has(.student-profile){--paper:#eaeaea;--surface:#fdfcfb;--nav:#1d1c1a;--ink:#22211e;--yellow:#f2c230;--profile-text:#3a3935;color:var(--profile-text)}body:has(.student-profile) :is(.sidebar,.mobile-navigation-control){--nav:#151719}.student-profile-overview{margin-bottom:24px}.student-profile-banner.student-profile-hero{background:var(--nav);border-radius:24px;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:0;padding:28px 32px 112px;display:flex}.student-profile-identity{grid-template-columns:100px minmax(0,1fr) minmax(330px,1.1fr) max-content;align-items:center;gap:24px;display:grid}.student-profile-banner .student-profile-avatar{border-radius:16px;width:100px;height:100px}.student-profile-banner .student-profile-heading h1{font:400 clamp(40px, calc(var(--layout-vw) * 4), 64px)/.9 var(--font-level);letter-spacing:.01em}.student-profile-banner .student-hero-contact-list{gap:8px}.student-profile-banner .student-hero-contact-list dd{font-size:15px}.student-profile-banner .student-hero-personal{margin-top:12px;padding-top:8px;font-size:14px;transform:translateY(-3px)}.student-profile-banner-cards{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;margin:-92px 24px 0;display:grid;position:relative}.student-profile-banner-cards .student-membership-cards{display:contents}.student-profile-banner-cards .student-membership-card-frame{aspect-ratio:11/5;max-width:none;max-height:240px}.student-profile-banner-cards .student-membership-card-frame>:is(.student-union-card,.student-apprenticeship-card,.student-membership-empty-card){width:max(528px,100%);height:240px}.student-profile-banner-cards .student-apprenticeship-body{grid-template-rows:minmax(66px,1fr) auto 40px;gap:12px;min-height:0}.student-profile-banner-cards .student-apprenticeship-summary{align-items:flex-start}.student-profile-banner-cards .student-ledger-summary{margin-top:0}.student-profile-banner-cards .student-union-body{grid-template-rows:minmax(0,1fr) 40px;min-height:0}.student-profile-banner-cards .student-company{align-self:end}.student-profile-banner-cards .student-level-progress-row{display:none}.student-profile-banner-cards .student-membership-facts{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;width:100%;margin:0;padding-top:0;display:grid}.student-profile-banner-cards .student-membership-facts>div{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:40px;padding:0 8px;display:flex}.student-profile-banner-cards .student-membership-facts>div+div{border-left:1px solid #e2e2df}.student-profile-banner-cards .student-membership-facts dt{color:var(--muted);font-size:12px;line-height:1.4}.student-profile-banner-cards .student-membership-facts dd{font:650 13px/1.35 var(--font-body);margin:0}.student-profile-banner-cards :is(.student-union-card,.student-apprenticeship-card,.student-membership-empty-card){background:var(--surface);color:var(--profile-text);border:1px solid #1111111a;border-radius:20px;box-shadow:0 1px 2px #0000000d}.student-profile-banner-cards .student-company,.student-profile-banner-cards .student-hours-summary{min-height:0;color:var(--profile-text);background:#f4f4f2;border:1px solid #11111112;padding:12px 20px;box-shadow:0 1px 2px #0000000d}.student-profile-banner-cards .student-hours-summary dl{display:block}.student-profile-banner-cards :is(.student-company h3,.student-hours-summary dt){font:400 12px/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;display:block}.student-profile-banner-cards .student-hours-summary dd{font:700 21px/1.2 var(--font-body);margin:0;display:block}.student-profile-banner-cards .student-level-stamp{box-shadow:var(--button-shadow)}.student-profile-banner-cards :is(.student-apprenticeship-summary h2,.student-card-band h2){color:var(--ink);align-items:center;gap:8px;display:flex}.student-profile :is(.student-folder-heading,.student-section-heading) h2,.student-profile-banner-cards :is(.student-apprenticeship-summary,.student-card-band) h2{font-size:15px}.student-profile-banner-cards :is(.student-apprenticeship-summary h2,.student-card-band h2):before{content:"";background:var(--yellow);width:8px;height:8px;box-shadow:var(--button-shadow);border-radius:2px;flex:none}.student-profile-banner-cards :is(.student-company h3,.student-hours-summary dt,.student-hours-summary small,.student-hours-summary .student-hours-unit){color:var(--muted)}.student-profile-banner-cards .student-hours-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:4px;text-decoration-thickness:3px}.student-profile-banner-cards .student-completed-levels>span{background:#e6e6e4}.student-profile-banner-cards .student-completed-levels>.is-completed{background:var(--yellow)}.student-profile-banner-cards .student-union-card .student-membership-facts dd{color:var(--ink)}.student-profile-banner-cards .student-membership-empty-body{border-color:#d7d7d2}.student-profile-banner-cards .student-membership-empty-body h3{color:var(--ink)}.student-profile-banner-cards .student-membership-empty-message>p,.student-profile-banner-cards .student-hours-note{color:var(--muted)}.student-profile .student-profile-layout{grid-template-columns:minmax(290px,1fr) minmax(448px,2.9fr);margin-inline:24px}.student-profile .student-profile-card{color:var(--profile-text);border:1px solid #1111111a;box-shadow:0 1px 2px #0000000d}.student-profile .student-profile-card h2,.student-profile-banner-cards :is(.student-apprenticeship-summary strong,.student-company strong,.student-hours-summary dd){color:var(--ink)}.student-profile .student-records-table tbody :is(th,td){color:var(--profile-text)}.student-profile .student-contracts-card>.student-contract-table{border-radius:0 0 16px 16px;padding-bottom:16px}.student-documents-card .student-folder-heading{align-items:center}.student-documents-card .student-folder-grid{margin-top:12px}.student-documents-card .student-folder-library-button{width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:var(--button-shadow);border-radius:8px;flex-shrink:0;padding:7px}.student-documents-card .student-folder-library-button:disabled{box-shadow:none;transform:none}.student-documents-card .student-folder-meter{width:1px;height:1px;margin:-1px}.student-documents-card .student-folder-action{box-shadow:none;transform:none}@media (prefers-reduced-motion:no-preference){.student-documents-card .student-folder-library-button{transition:transform .15s}.student-documents-card .student-folder-library-button:hover:not(:disabled){transform:translateY(-1px)}}@container student-profile (max-width:828px){.student-profile .student-profile-layout{grid-template-columns:minmax(0,1fr)}}@container student-profile (max-width:720px){.student-profile-identity{grid-template-columns:100px minmax(0,1fr) max-content}.student-profile-banner .student-profile-avatar{width:100px;height:100px}}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-profile-banner.student-profile-hero{gap:16px;padding:22px 22px 80px}.student-profile-identity{grid-template-columns:64px minmax(0,1fr) max-content;gap:16px}.student-profile-banner .student-profile-avatar{width:64px;height:64px}.student-profile-banner .student-hero-contact-list dd{font-size:13px}.student-profile-banner .student-hero-personal{font-size:12px}.student-profile-banner-cards{grid-template-columns:minmax(0,1fr);margin:-64px 12px 0}.student-profile .student-profile-layout{grid-template-columns:minmax(0,1fr);margin-inline:12px}}body:has(.data-importer-workspace) .page-heading h1{font:400 60px/1 var(--font-level);letter-spacing:.5px}.data-importer-workspace{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.import-type-rail{gap:16px;min-width:0;display:grid}.import-rail-label,.import-pane-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.import-rail-label{padding-inline:4px}.import-type-rail [role=tablist]{gap:10px;display:grid}.import-type-button{background:var(--surface);width:100%;min-height:92px;color:var(--ink);text-align:left;box-shadow:var(--button-shadow);border:1px solid #dadada;border-radius:8px;align-items:center;gap:14px;padding:16px;display:flex}.import-type-button:hover{background:#f5f5f2}.import-type-button[aria-selected=true]{color:#fff;background:#161616;border-color:#161616}.import-type-icon{height:44px;color:var(--yellow);background:#161616;border-radius:10px;flex:0 0 44px;place-items:center;display:grid}.import-type-button[aria-selected=true] .import-type-icon{background:var(--yellow);color:#161616}.import-type-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.import-type-copy strong{font-size:16px;font-weight:600}.import-type-copy>span{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.import-type-button[aria-selected=true] .import-type-copy>span{color:#ffe07a}.import-type-button>svg{flex:none;width:18px}.import-detail-pane{background:var(--surface);border-top:4px solid var(--yellow);border-radius:14px;min-width:0;display:flex;box-shadow:0 1px 2px #0000000f,0 8px 24px #0000000d}.import-workspace-panel[hidden]{display:none}.import-workspace-panel:not([hidden]){flex-direction:column;gap:12px;width:100%;min-width:0;padding:26px 28px 0;display:flex}.import-workspace-panel:focus-visible{outline-offset:-2px;border-radius:10px;outline:2px solid #858580}.import-workspace-panel>:is(.panel,.hours-import-review,.contractor-import-review){min-width:0;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;margin:0;padding:0 0 28px}.import-workspace-panel>:is(.hours-import-review,.contractor-import-review,.status-import-review){flex-direction:column;gap:20px;padding-bottom:0;display:flex}.import-workspace-panel>.contractor-upload-panel{flex-direction:column;gap:24px;display:flex}.import-workspace-panel .contractor-upload-heading{margin:0}.import-workspace-panel .contractor-upload-icon{display:none}.import-workspace-panel :is(.contractor-upload-heading h2,.hours-review-header h2,.panel-heading h2){font:700 24px/1.3 var(--font-body);margin:0}.import-workspace-panel .panel-heading{flex-wrap:wrap;gap:12px;margin:0}.import-workspace-panel .import-file-picker{border-radius:10px;flex-wrap:wrap;min-height:144px;padding:24px}.import-workspace-panel .import-file-description{overflow-wrap:anywhere;flex:180px;min-width:0}.import-workspace-panel .import-prepare{white-space:normal;justify-self:start;width:auto;min-height:44px;padding:10px 18px;font-size:15px}.import-workspace-panel .import-feedback{margin:0 0 24px}.import-workspace-panel>:is(.error,[role=status]){overflow-wrap:anywhere;margin:0 0 24px}.import-workspace-panel :is(.hours-review-header p,.status-import-review>p:first-of-type,.import-review-heading h2){color:#333;max-width:100%;font:400 13px/1.5 var(--font-body);overflow-wrap:anywhere;background:#f4f4f4;border:1px solid #e2e2e2;border-radius:8px;margin:8px 0 0;padding:5px 10px;display:table}.import-workspace-panel .import-review-heading{flex-wrap:wrap;margin:0}.import-workspace-panel .import-summary-grid,.import-workspace-panel .status-import-summary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:0;display:grid}.import-workspace-panel :is(.import-summary-grid,.status-import-summary)>div{background:#fff;border:1px solid #dadada;border-top:3px solid #161616;border-radius:10px;min-width:0;padding:14px 16px}.import-workspace-panel :is(.import-summary-grid,.status-import-summary) dt{color:var(--muted);font-size:12px;font-weight:600}.import-workspace-panel :is(.import-summary-grid,.status-import-summary) dd{font:700 28px/1.2 var(--font-body);overflow-wrap:anywhere;margin:6px 0 0}.import-workspace-panel .hours-review-notice{margin:0}.import-workspace-panel .contractor-review-content{flex-direction:column;flex:1;gap:20px;min-width:0;display:flex}.import-workspace-panel .table-wrap,.import-workspace-panel .hours-review-transactions{max-width:100%;overflow-x:auto}.import-workspace-panel :is(.hours-review-actions,.import-apply-bar,.status-import-review>.actions){width:auto;color:var(--ink);box-shadow:none;background:#fafafa;border:0;border-top:1px solid #ececec;border-radius:0 0 14px 14px;flex-wrap:wrap;align-items:center;gap:10px;margin:auto -28px 0;padding:18px 28px;display:flex}.import-workspace-panel :is(.hours-review-actions>p,.import-apply-bar>div:first-child){color:var(--muted);flex-basis:100%;margin:0;font-size:13px}.import-workspace-panel .hours-review-actions>.primary,.import-workspace-panel .status-import-review>.actions>.primary{margin-left:auto}.import-workspace-panel .import-apply-actions{flex:100%;justify-content:space-between}.import-workspace-panel .import-apply-bar p{color:var(--muted)}.data-importer-workspace :is(button,a,[role=region]):focus-visible{outline-offset:3px;outline:2px solid #858580}:is(.data-importer-workspace .import-file-picker:focus-within,.data-importer-workspace .import-upload:has(input:focus-visible) .import-file-picker){outline-color:#858580}.data-importer-workspace button:disabled{box-shadow:none;transform:none}@media (prefers-reduced-motion:no-preference){.import-type-button{transition:background-color .15s,transform .15s}.import-type-button:hover{transform:translateY(-1px)}}@media (max-width:1200px){.data-importer-workspace{grid-template-columns:minmax(0,1fr)}.import-type-button{gap:10px;min-height:72px;padding:12px}.import-type-copy strong{font-size:14px}.import-type-icon{flex-basis:36px;height:36px}.import-type-button>svg{display:none}}@media (max-width:760px){body:has(.data-importer-workspace) .page-heading h1{font-size:48px}.import-type-rail [role=tablist]{grid-template-columns:minmax(0,1fr)}.import-type-button{min-height:72px}.import-type-button>svg{display:block}.import-workspace-panel:not([hidden]){padding:22px 20px 0}.import-workspace-panel :is(.hours-review-actions,.import-apply-bar,.status-import-review>.actions){margin-inline:-20px;padding:18px 20px}.import-workspace-panel .import-file-picker{gap:12px;padding:16px}.import-workspace-panel :is(.import-summary-grid,.status-import-summary){grid-template-columns:repeat(2,minmax(0,1fr))}.import-workspace-panel :is(.import-summary-grid,.status-import-summary)>div{padding:12px}.import-workspace-panel :is(.import-summary-grid,.status-import-summary) dd{font-size:24px}}.panel-stack{gap:var(--panel-gap);display:grid}.panel-stack>*{min-width:0;margin-block:0}.instructor-workspace{--iw-dark:#17181a;--iw-line:#e0e0dc;--iw-muted:#62646a;color:var(--iw-dark)}.iw-back{align-items:center;gap:8px;margin-bottom:18px;font-size:15px;font-weight:600;display:inline-flex}.iw-class-header{color:var(--iw-dark);border:1px solid var(--iw-line);border-left:12px solid var(--yellow);margin-bottom:var(--panel-gap);background:#fff;border-radius:18px;padding:26px 32px 0}.iw-class-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;min-width:0;display:flex}.iw-class-title h1{flex:1;min-width:min(100%,240px)}.iw-class-title>.button{flex-shrink:0}.iw-class-title h1{font-size:clamp(30px,calc(var(--layout-vw) * 3.5),46px);overflow-wrap:normal;margin:0;font-weight:800;line-height:1.06}.iw-class-title h1>span{color:#85888e}.iw-code{color:var(--iw-dark);overflow-wrap:anywhere;font-weight:800}.iw-class-meta{color:var(--iw-muted);flex-wrap:wrap;gap:8px 24px;margin-top:14px;font-size:14px;display:flex}.iw-class-meta>span{align-items:center;gap:7px;display:flex}.iw-class-meta svg{color:var(--iw-muted)}.iw-tabs{gap:4px;margin-top:22px;display:flex;overflow-x:auto}.iw-tab{color:var(--iw-muted);white-space:nowrap;border-bottom:4px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:16px;font-weight:600;text-decoration:none;display:inline-grid}.iw-tab-label,.iw-tab-width{text-align:center;grid-area:1/1}.iw-tab-width{visibility:hidden;pointer-events:none;font-weight:800}.iw-tab>.iw-count{grid-area:1/2}.iw-tab:hover{color:var(--iw-dark);background:#f6f6f3;text-decoration:none}.iw-tab:not(.active):hover{border-bottom-color:var(--iw-muted)}.iw-tab.active{color:var(--iw-dark);border-bottom-color:var(--yellow);font-weight:800}.iw-tab:focus-visible{outline-offset:-2px;outline:2px solid #858580}.iw-count{color:#3d4047;background:#ececea;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:800;display:inline-flex}.instructor-workspace .panel{border:1px solid var(--iw-line);border-radius:14px;margin-top:0;padding:24px}.instructor-workspace h2{font-family:var(--font-body);margin:0;font-size:18px;font-weight:800;line-height:1.3}.instructor-workspace p{line-height:1.55}.iw-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.iw-attention-row{border-bottom:1px solid var(--iw-line);align-items:center;gap:16px;padding:20px 0;display:flex}.iw-attention-row>div{flex:1}.iw-attention-row p{color:var(--iw-muted);margin:4px 0 0;font-size:13px}.iw-stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:18px 0 8px;font-size:64px;font-weight:800;line-height:1.1}.iw-stat dl,.iw-rollcall-summary dl{margin:22px 0}.iw-stat dl>div,.iw-rollcall-summary dl>div{justify-content:space-between;gap:14px;margin:12px 0;font-size:14px;display:flex}.iw-stat dd,.iw-rollcall-summary dd{white-space:nowrap;margin:0;font-weight:800}.iw-text-link{text-underline-offset:4px;align-items:center;gap:8px;font-size:13px;font-weight:700;text-decoration:underline;display:inline-flex}.iw-week-heading{justify-content:space-between;align-items:center;gap:16px;margin:8px 0 20px;display:flex}.iw-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.iw-day{flex-direction:column;align-items:flex-start;gap:7px;min-height:110px;display:flex;padding:14px!important}.iw-day small{text-transform:uppercase;letter-spacing:1px;font-size:11px}.iw-day strong{font-size:28px;line-height:1.1}.iw-day span{font-size:11px;font-weight:500}.iw-day.outside{color:#686a6e;background:#e5e5e1;border:1px solid #d8d8d3;border-radius:8px}.iw-rollcall-layout{grid-template-columns:minmax(0,1fr) 255px;align-items:start;gap:22px;margin-top:22px;display:grid}.iw-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.iw-section-header p{color:var(--iw-muted);max-width:65ch;margin:6px 0 0;font-size:13px}.iw-attendance-table{border-collapse:collapse;width:100%;min-width:650px}.iw-attendance-table th{text-align:left;text-transform:uppercase;letter-spacing:1px;color:var(--iw-muted);border-bottom:1px solid var(--iw-line);padding:13px 8px;font-size:11px;font-weight:700}.iw-attendance-table td{border-bottom:1px solid #eeeee9;padding:16px 8px;font-size:13px}.iw-attendance-table td:first-child a{align-items:center;gap:12px;display:flex}.iw-attendance-table td small{color:var(--iw-muted);white-space:nowrap;margin-top:5px;font-size:11px;display:block}.iw-avatar{width:32px;height:32px;color:var(--iw-dark);background:#eeeee9;border:1px solid #d9d9d3;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.iw-avatar.large{background:var(--yellow);border:0;width:58px;height:58px;font-size:20px}.iw-status-buttons{gap:7px;display:flex}.iw-status.button{border:1px solid #d8d8d3;min-height:32px;padding:6px 9px;font-size:12px}.iw-status.selected{color:var(--iw-dark);font-weight:800}.iw-status.selected.present,.iw-history-day.present{background:#dcebdc;border-color:#648166}.iw-status.selected.late,.iw-history-day.late{background:#ffe9a4;border-color:#9c7c19}.iw-status.selected.absent,.iw-history-day.absent{background:#f9ded7;border-color:#b36b5b}.iw-status.selected.excused,.iw-history-day.excused{background:#dfe5ed;border-color:#758397}.iw-rollcall-summary{background:var(--iw-dark);color:#fff;border-radius:14px;padding:24px;position:sticky;top:24px}.iw-rollcall-summary h2{font-size:14px}.iw-rollcall-summary p{color:#d3d3ce;font-size:13px}.iw-rollcall-summary .iw-stat-value small{color:#babab4}.iw-rollcall-summary dt{align-items:center;gap:10px;display:flex}.iw-dot{background:#b7c8b4;border-radius:2px;flex-shrink:0;width:9px;height:9px;display:inline-block}.iw-dot.late{background:#e1b62b}.iw-dot.absent{background:#cd775e}.iw-dot.excused{background:#98a9be}.iw-save-controls{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.iw-save-controls>span{color:var(--iw-muted)}.iw-rollcall-summary .iw-save-controls{border-top:1px solid #484846;padding-top:18px}.iw-rollcall-summary .iw-save-controls>span{color:#d3d3ce;width:100%}.iw-rollcall-summary .iw-save-controls .button{width:100%}.iw-module-columns{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.iw-module-row{border-bottom:1px solid var(--iw-line);align-items:flex-start;gap:14px;padding:18px 0;display:flex}.iw-module-number{background:var(--yellow);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;height:34px;font-size:14px;font-weight:800;display:inline-flex}.iw-module-row>div:nth-child(2){flex:1;min-width:0}.iw-module-row strong,.iw-library-row strong{overflow-wrap:anywhere;font-size:14px}.iw-module-row small,.iw-library-row small,.iw-progress-module small{color:var(--iw-muted);margin-top:5px;font-size:12px;display:block}.iw-module-actions{flex:none;align-items:center;gap:8px;display:flex}.iw-selected-modules>.iw-save-controls{margin-top:24px}.iw-module-library>h2{margin-bottom:20px}.iw-library-row{border-bottom:1px solid var(--iw-line);justify-content:space-between;align-items:center;gap:14px;padding:18px 0;display:flex}.iw-library-row .button{flex-shrink:0}.iw-add-package{margin-top:20px}.iw-library-pages{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;font-size:12px;display:flex}.iw-library-pages>span{margin-right:auto}.iw-students-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;display:grid}.iw-student-picker>p{color:var(--iw-muted);font-size:12px}.iw-student-options{flex-direction:column;gap:10px;display:flex}.iw-student-options>.button{text-align:left;justify-content:flex-start;gap:10px;padding:10px;font-size:13px;display:flex}.iw-student-options strong{overflow-wrap:anywhere}.iw-student-progress{flex-direction:column;gap:22px;min-width:0;display:flex}.iw-student-heading{align-items:center;gap:16px;padding:8px 0;display:flex}.iw-student-heading>div:nth-child(2){flex:1}.iw-student-heading h2{font-size:24px}.iw-student-heading p{color:var(--iw-muted);margin:5px 0 0;font-size:12px}.iw-legend{flex-wrap:wrap;gap:16px;margin:20px 0;font-size:11px;display:flex}.iw-legend>span{align-items:center;gap:6px;display:flex}.iw-attendance-history{flex-wrap:wrap;gap:8px;display:flex}.iw-history-day.button{text-align:center;flex-direction:column;gap:3px;min-width:62px;max-width:100px;min-height:80px;padding:10px;display:flex}.iw-history-day small{overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:10px}.iw-student-progress textarea{resize:vertical;width:100%}.iw-student-progress section>small{color:var(--iw-muted);font-size:12px}.iw-results-table{min-width:650px}.iw-results-table input{width:100%;min-width:200px}.instructor-workspace :is(input,select,textarea){caret-color:var(--iw-dark)}.instructor-workspace ::selection{color:var(--iw-dark);background:#ffe590}.instructor-workspace :is(a,button,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:2px solid #858580}@media (max-width:1150px){.iw-rollcall-layout{grid-template-columns:minmax(0,1fr)}.iw-rollcall-summary{position:static}.iw-rollcall-summary dl{flex-wrap:wrap;gap:24px;display:flex}.iw-rollcall-summary dl>div{gap:12px}.iw-rollcall-summary .iw-save-controls .button{width:auto}.iw-rollcall-summary .iw-save-controls>span{width:auto;margin-right:auto}.iw-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.iw-module-columns{grid-template-columns:1fr}}@media (max-width:700px){.iw-class-header{border-left-width:6px;padding:22px 18px 0}.iw-class-meta{gap:12px}.iw-tab{padding:12px;font-size:15px}.iw-week{gap:5px}.iw-day{align-items:center;min-height:92px;padding:10px 5px!important}.iw-day strong{font-size:23px}.iw-day span{font-size:9px}.iw-day small{letter-spacing:0;font-size:9px}.instructor-workspace .panel{padding:20px 16px}.iw-overview-grid{grid-template-columns:1fr}.iw-today h2{font-size:25px}.iw-attention-row{flex-wrap:wrap}.iw-attention-row>span{margin-left:36px}.iw-students-layout{grid-template-columns:1fr}.iw-student-options{flex-direction:row;padding:3px 2px 8px;overflow-x:auto}.iw-student-options>.button{flex-shrink:0;max-width:220px}.iw-student-heading{flex-wrap:wrap}.iw-student-heading>.button{margin-left:74px}.iw-save-controls{width:100%}.iw-save-controls>span{margin-right:auto}.iw-week-heading h2{font-size:16px}}.iw-student-picker .filter-surface,.iw-module-library .filter-surface{grid-template-columns:minmax(0,1fr)}:is(.iw-marks-table,.iw-results-table) :is(input,select){border:1px solid var(--form-border);min-height:var(--form-control-height);color:var(--ink);font:var(--form-weight) var(--form-control-size)/1.4 var(--font-form);background:#fff;border-radius:4px;padding:8px 11px}:is(.iw-marks-table,.iw-results-table) select{appearance:auto;padding-right:24px}:is(.iw-marks-table,.iw-results-table) :is(input,select):disabled{background:var(--soft);color:var(--muted)}.iw-date-heading{cursor:pointer;align-items:center;gap:12px;padding:6px 0;display:flex;position:relative}.iw-date-heading small{color:var(--iw-muted);margin-top:4px;font-size:12px;display:block}.iw-date-heading:focus-within{outline-offset:4px;border-radius:4px;outline:2px solid #858580}.iw-sortable-modules{margin:0;padding:0;list-style:none}.iw-sortable-modules .iw-module-row{align-items:center;min-height:78px}body :is(button,a).iw-module-control{width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:var(--button-shadow);border-radius:8px;flex:0 0 32px;padding:0}body :is(button,a).iw-module-control:disabled{box-shadow:none;transform:none}.iw-module-control>svg{width:16px;height:16px}.iw-module-columns .filter-actions .iw-module-control.secondary{color:var(--ink);border:1px solid var(--form-border);background:#fff}.iw-module-handle{touch-action:none;cursor:grab}.iw-module-handle:active{cursor:grabbing}.iw-module-row[data-dragging]{background:var(--soft);border:1px dashed #999b95;border-radius:8px}.iw-module-row[data-dragging]>*{visibility:hidden}.iw-module-drag-preview{z-index:1000;border:1px solid var(--line);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;background:#fff;border-radius:8px;margin:0;padding:18px 12px;position:fixed;top:0;left:0;box-shadow:0 8px 20px #1d1d1933}.iw-module-drag-preview .iw-module-control{place-items:center;display:grid}@media (prefers-reduced-motion:no-preference){body :is(button,a).iw-module-control{transition:background-color .15s,border-color .15s,transform .15s}body :is(button,a).iw-module-control:hover:not(:disabled){transform:translateY(-1px)}}.iw-today-layout{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.iw-today-main,.iw-today-sidebar{flex-direction:column;gap:24px;min-width:0;display:flex}.iw-current-today>:is(.iw-today-hero,.iw-today-attendance){align-self:stretch}.iw-alerts-empty{color:var(--iw-muted);align-items:flex-start;gap:12px;margin-top:22px;display:flex}.iw-alerts-empty svg{flex-shrink:0}.iw-alerts-empty p{margin:0;font-size:13px;line-height:1.5}.iw-today-hero{color:#fff;background:#1f2023;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;min-height:205px;padding:32px;display:flex}.iw-today-hero>div:first-child{min-width:0}.iw-today-hero p{color:#c4c6cb;text-transform:uppercase;letter-spacing:2px;margin:0 0 12px;font-size:12px;font-weight:800}.instructor-workspace .iw-today-hero h2{font-family:var(--font-display);font-size:clamp(34px,calc(var(--layout-vw) * 3.7),64px);text-transform:uppercase;font-weight:850;line-height:1.05}.iw-today-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:58%;min-width:340px;display:grid}.iw-today-links .button{justify-content:space-between;min-height:64px;padding:18px 22px;font-size:17px;font-weight:800}.iw-attention-sheet,.iw-overview-sheet{background:#fff;border-radius:16px;overflow:hidden}.iw-attention-sheet>header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;display:flex}.iw-attention-sheet>.empty{padding-inline:26px}.instructor-workspace :is(.iw-attention-sheet,.iw-overview-sheet) h2{letter-spacing:2px;text-transform:uppercase;font-size:14px}.iw-attention-sheet>header>span{color:#fff;background:#17191b;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.iw-attention-sheet .iw-attention-row{border-color:#eee;gap:16px;padding:20px 26px}.iw-attention-icon{color:#4b4e54;background:#f2f2f0;border-radius:10px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.iw-attention-row>div{min-width:0}.iw-attention-row strong{overflow-wrap:anywhere;font-size:15px}.iw-attention-row .button{flex-shrink:0;min-height:38px;padding:9px 14px;font-size:12px}.iw-overview-sheet{padding:26px}.iw-overview-sheet>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.iw-overview-sheet>header>span{color:var(--iw-muted);font-size:13px;font-weight:600}.iw-metric-line{align-items:center;gap:16px;margin:12px 0 22px;display:flex}.iw-metric-line>strong{font:850 clamp(56px,calc(var(--layout-vw) * 6.4),100px)/.9 var(--font-display);letter-spacing:-.03em;white-space:nowrap}.iw-metric-line>strong>span{color:#898c92}.iw-metric-line p{color:var(--iw-muted);margin:0;font-size:13px;line-height:1.25}.iw-overview-foot{color:var(--iw-muted);border-top:1px solid #eee;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:16px;font-size:12px;display:flex}.iw-overview-foot strong{color:var(--iw-dark)}.iw-overview-sheet>small{color:var(--iw-muted);margin-top:12px;font-size:11px;line-height:1.45;display:block}.iw-overview-sheet dl{margin:16px 0 0;font-size:13px}.iw-overview-sheet dl>div{justify-content:space-between;align-items:center;margin:9px 0;display:flex}.iw-overview-sheet dt{color:var(--iw-muted);align-items:center;gap:8px;display:flex}.iw-overview-sheet dd{margin:0;font-weight:800}.iw-stacked-meter{background:#e5e5e4;border-radius:4px;height:12px;display:flex;overflow:hidden}.iw-stacked-meter>span,.iw-dot.recorded{background:#17191b}.iw-dot.unrecorded{background:#d8d9db}.iw-upcoming-row{border-bottom:1px solid #eee;align-items:center;gap:22px;padding:22px 0;display:flex}.iw-upcoming-row:last-child{border-bottom:0;padding-bottom:0}.iw-upcoming-row>span{flex-direction:column;align-items:center;display:flex}.iw-upcoming-row small{color:var(--iw-muted);text-transform:uppercase;font-size:11px;font-weight:700}.iw-upcoming-row>span strong{font:800 32px/1 var(--font-display)}.iw-upcoming-row>div>strong{font-size:14px}.iw-upcoming-row p{color:var(--iw-muted);margin:4px 0 0;font-size:12px}.iw-upcoming-empty{color:var(--iw-muted);margin-top:24px;font-size:13px}.iw-upcoming-empty p{margin-bottom:4px}.iw-upcoming-empty>span{font-size:12px}.iw-attendance-calendar{background:#fff;border-radius:16px;padding:16px}.iw-attendance-main{gap:22px;min-width:0;display:grid}.iw-attendance-calendar .iw-week-heading{border:1px solid #ebebeb;border-radius:10px;grid-template-columns:56px minmax(0,1fr) 56px;gap:0;min-height:64px;margin:0 0 14px;display:grid;position:relative}.iw-attendance-calendar .iw-date-heading{grid-area:1/2;justify-content:center}.iw-attendance-calendar .iw-date-heading strong{font-size:20px}.iw-attendance-calendar .iw-week-heading>.iw-actions{display:contents}.iw-attendance-calendar .iw-week-heading>.iw-actions>:first-child{grid-area:1/1}.iw-attendance-calendar .iw-week-heading>.iw-actions>:last-child{grid-area:1/3}.iw-attendance-calendar .iw-week-heading>.button,.iw-attendance-calendar .iw-week-heading>.iw-actions>.button{background:#fff;border:0;width:100%;min-height:100%}.iw-attendance-calendar .iw-week-heading>.iw-actions>.button:disabled{color:#686a6e;opacity:1;background:#f2f2f0}.iw-date-heading>span{white-space:normal;min-width:0}.iw-date-dialog{width:min(580px,100% - 32px);height:fit-content;min-height:0;max-height:calc(var(--viewport-height) - 32px)}.iw-date-dialog .program-dialog-heading h2{font:800 30px/1.2 var(--font-display);margin:0}.iw-date-dialog-body{min-height:0;padding:20px 22px;overflow:auto}.iw-calendar-navigation{grid-template-columns:40px minmax(0,1fr) minmax(76px,100px) 40px;align-items:center;gap:10px;margin-bottom:16px;display:grid}.iw-calendar-navigation select{border:1px solid var(--field-border);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--ink);border-radius:8px;padding:8px}.iw-calendar-navigation .button{width:40px;min-height:40px;padding:0}.iw-date-calendar{table-layout:fixed;border-collapse:separate;border-spacing:5px;width:100%;min-width:0}.iw-date-calendar th{text-align:center;color:var(--muted);text-transform:uppercase;background:0 0;border:0;padding:4px 0 8px;font-size:11px}.iw-date-calendar td{text-align:center;border:0;padding:0}.iw-date-calendar tbody tr:hover{background:0 0}.iw-date-calendar .button{width:100%;min-height:44px;padding:8px 0;font-size:16px}.iw-date-calendar .button.secondary{background:var(--surface);border-color:#0000}.iw-date-calendar .outside-month{color:var(--muted)}.iw-date-calendar .button:disabled{color:var(--muted);opacity:.5}.iw-date-calendar .button[aria-current=date]{border-color:var(--ink)}.iw-date-dialog-footer{background:var(--ink);flex-shrink:0;justify-content:flex-end;gap:12px;padding:20px 22px;display:flex}.iw-date-dialog-footer .secondary{color:var(--surface);border-color:var(--muted);background:0 0}@media (max-width:500px){.iw-date-dialog-body{padding:16px 12px}.iw-calendar-navigation{grid-template-columns:32px minmax(0,1fr) 76px 32px;gap:6px}.iw-calendar-navigation .button{width:32px;min-height:40px}.iw-date-calendar{border-spacing:3px}}.iw-attendance-calendar .iw-week{grid-template-columns:minmax(28px,.65fr) repeat(5,minmax(0,1fr)) minmax(28px,.65fr);gap:8px;margin:0}.iw-attendance-calendar .iw-day{border-color:#ececee;justify-content:center;align-items:center;gap:5px;min-height:90px;padding:14px 6px!important}.iw-attendance-calendar .iw-day.primary{color:#fff;background:#17191b;border-color:#17191b}.iw-attendance-calendar .iw-day.primary:not(.weekend) small{color:#fff}.iw-attendance-calendar .iw-day.primary span{color:var(--yellow)}.iw-attendance-calendar .iw-day.outside{background:#f2f2f0;border-color:#f2f2f0}.iw-attendance-calendar .iw-day.weekend{color:#686a6e;background:#f2f2f0;border-color:#e4e4e1}.iw-attendance-calendar .iw-day.weekend.primary{border-color:#787b80}.iw-attendance-calendar a.iw-day.weekend:hover{color:var(--iw-dark);background:#e9e9e6}.iw-rollcall>.empty{text-align:left;margin:0;padding:0 24px 24px}@media (max-width:700px){.iw-rollcall>.empty{padding:0 18px 18px}}.iw-rollcall-layout{grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr);gap:22px}.instructor-workspace .iw-rollcall{border:0;padding:0;overflow:hidden}.iw-rollcall>header{align-items:center;margin:0;padding:20px 24px}.iw-rollcall h2,.iw-rollcall-summary h2{text-transform:uppercase;letter-spacing:2px;font-size:14px}.iw-rollcall .iw-actions .button{min-height:38px;font-size:12px}.iw-attendance-table{min-width:640px}.iw-attendance-table th{background:#fafafa;padding:12px 20px}.iw-attendance-table td{height:62px;padding:8px 20px}.iw-attendance-table td:first-child{width:35%}.iw-attendance-table td:nth-child(2){text-align:right;white-space:nowrap;color:#52565c}.iw-attendance-table td:nth-child(3){padding-left:0}.iw-status-buttons{background:#f2f2f0;border-radius:10px;gap:4px;padding:4px}.instructor-workspace .iw-status.button{color:#666b73;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:6px 10px;font-size:12px;display:inline-flex}.instructor-workspace .iw-status.selected{color:#17191b;background:#fff;border-color:#e4e4e4}.iw-status.present svg{color:#31805a}.iw-status.late svg{color:#a88400}.iw-status.absent svg{color:#c25331}.iw-status.excused svg{color:#43618a}.iw-rollcall-summary{color:#17191b;background:#fff;padding:24px;position:static}.iw-rollcall-summary .iw-stat-value{margin:12px 0 0;font-size:88px;line-height:1}.iw-rollcall-summary .iw-stat-value small{color:#a4a7ae;font-size:inherit}.iw-rollcall-summary p{color:var(--iw-muted);margin:6px 0 16px}.iw-rollcall-summary dl{border-top:1px solid #eee;margin:18px 0 0;padding-top:12px}.iw-rollcall-summary dl>div{font-size:13px}.iw-rollcall-summary .iw-dot{background:#288053;border-radius:50%}.iw-rollcall-summary .iw-dot.late{background:#bd9800}.iw-rollcall-summary .iw-dot.absent{background:#d15c35}.iw-rollcall-summary .iw-dot.excused{background:#456b96}.iw-rollcall-squares{flex-wrap:wrap;gap:5px;display:flex}.iw-rollcall-squares i{background:#3f8d65;border-radius:4px;width:16px;height:16px}.iw-rollcall-squares .late{background:#c6a326}.iw-rollcall-squares .absent{background:#db704f}.iw-rollcall-squares .excused{background:#4e6e96}.iw-rollcall-squares .unrecorded{background:#fff;border:1px dashed #b8bbc0}.instructor-workspace :is(.iw-selected-modules,.iw-module-library){border:0;padding:0;overflow:hidden}:is(.iw-selected-modules,.iw-module-library)>.iw-section-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin:0;padding:20px 22px;display:flex}:is(.iw-selected-modules,.iw-module-library)>.iw-section-header>div{display:contents}:is(.iw-selected-modules,.iw-module-library) h2{text-transform:uppercase;letter-spacing:2px;font-size:14px}:is(.iw-selected-modules,.iw-module-library)>.iw-section-header span{color:var(--iw-muted);font-size:13px;font-weight:600}.iw-sortable-modules .iw-module-row{gap:12px;min-height:64px;padding:14px 20px}.iw-sortable-modules .iw-module-number{color:#85888f;background:0 0;width:18px;min-width:18px;height:auto;font-size:12px}.iw-module-copy{flex:1;min-width:0}.iw-module-copy strong{font-size:13px}.iw-module-copy small:empty{display:none}.iw-type-icon{color:#4a4e55;background:#f2f2f0;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.iw-library-kind{color:#4c5058;flex:0 0 60px;font-size:12px}.iw-library-grading{color:var(--iw-muted);flex:0 0 90px;font-size:12px}.iw-selected-modules>.iw-save-controls{margin:0;padding:16px 20px}.iw-selected-modules>.empty{text-align:left;margin:0;padding:24px 22px}.iw-module-library .filter-surface .field{min-width:0}.iw-module-kind-tabs{background:#f2f2f0;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;gap:4px;width:fit-content;padding:4px;display:flex}.iw-module-kind-tabs .button{color:#60646b;background:0 0;border-color:#0000;min-height:32px;padding:7px 10px;font-size:12px}.iw-module-kind-tabs .button.selected{color:#17191b;background:#fff;border-color:#dedfe1}.iw-library-row{gap:12px;min-height:64px;padding:14px 20px}.iw-library-row>div{flex:1;min-width:0}.iw-library-row strong{font-size:13px}.iw-library-row small:empty{display:none}.iw-add-package{margin:12px 20px}.iw-library-pages{margin:0;padding:16px 20px}.iw-board-overview{color:#fff;background:#1f2023;border-radius:14px;padding:24px}.iw-board-overview>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.iw-board-overview h2{font:800 24px/1 var(--font-display);text-transform:uppercase;color:#c6c8cd}.iw-board-overview h2>span{font:800 10px/1.4 var(--font-body);letter-spacing:1.5px;color:var(--yellow);margin-right:12px}.iw-board-overview>header .button{color:#fff;background:0 0;border-color:#43464c;min-height:32px;padding:8px 12px;font-size:11px}.iw-board-tiles{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.iw-board-tile.button{color:#fff;text-align:left;white-space:normal;background:#2b2d32;border:1px solid #2b2d32;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;min-height:136px;padding:12px;display:flex}.iw-board-tile.selected{border-color:var(--yellow)}.iw-board-tile>strong{overflow-wrap:anywhere;font-size:11px;line-height:1.35}.iw-board-tile>small{color:#c6c8cd;margin-top:auto;font-size:10px}.iw-tile-top{justify-content:space-between;align-items:center;display:flex}.iw-tile-top>strong{font:800 30px/1 var(--font-display)}.iw-progress-ring{flex:none;width:28px;height:28px;transform:rotate(-90deg)}.iw-progress-ring circle{fill:none;stroke:#555962;stroke-width:3px}.iw-progress-ring circle:last-child{stroke:var(--yellow)}.iw-board-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;display:flex}.iw-board-actions .button{min-height:32px;padding:8px 12px;font-size:11px}.iw-module-accordion{background:#fff;border-radius:12px;margin-bottom:10px;scroll-margin-top:18px;overflow:hidden}.iw-module-accordion.expanded{border-left:4px solid var(--yellow)}.iw-module-accordion h3{margin:0}body .iw-accordion-trigger{text-align:left;color:#17191b;cursor:pointer;background:#fff;border:0;border-radius:0;align-items:center;gap:14px;width:100%;min-height:64px;padding:14px 18px;display:flex}.iw-accordion-title{flex:1;min-width:0}.iw-accordion-title>strong{overflow-wrap:anywhere;font-size:13px;font-weight:800;display:block}.iw-accordion-title>small{color:var(--iw-muted);align-items:center;gap:5px;margin-top:4px;font-size:10px;display:flex}.iw-accordion-title svg{width:12px;height:12px}.iw-accordion-trigger .iw-module-number{color:#4f535b;background:#f1f1ef}.expanded>h3 .iw-module-number{background:var(--yellow);color:#17191b}.iw-module-metrics{gap:28px;display:flex}.iw-module-metrics>span{text-transform:uppercase;color:#62666e;letter-spacing:.6px;flex-direction:column;align-items:center;font-size:8px;display:flex}.iw-module-metrics strong{color:#17191b;font-size:16px;font-weight:600;line-height:1.5}.iw-accordion-chevron{background:#f2f2f0;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.expanded .iw-accordion-chevron{color:#fff;background:#17191b;transform:rotate(180deg)}.iw-marking-board .iw-module-accordion:not(.expanded){border-left:4px solid #0000}.iw-accordion-reveal{visibility:hidden;grid-template-rows:0fr;display:grid}.expanded>.iw-accordion-reveal{visibility:visible;grid-template-rows:1fr}.iw-accordion-body{min-height:0;overflow:hidden}.iw-accordion-body>.iw-module-students{border-top:1px solid #f1f1f1}@media (prefers-reduced-motion:no-preference){.iw-accordion-reveal{transition:grid-template-rows .24s cubic-bezier(.16,1,.3,1),visibility 0s .24s}.expanded>.iw-accordion-reveal{transition-delay:0s}.iw-accordion-chevron{transition:transform .24s cubic-bezier(.16,1,.3,1)}}.iw-module-students{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;padding:0 24px;display:grid}.iw-student-mark-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.iw-student-mark-row>a,.iw-student-mark-row .iw-number-mark>span{font:600 14px/1.4 var(--font-body);color:var(--iw-dark)}.iw-student-mark-row>a{overflow-wrap:anywhere;min-width:0}.iw-student-mark-row>.iw-mark-controls{flex-shrink:0}.iw-mark-controls{flex-wrap:wrap;gap:8px;display:flex}.iw-mark-field{flex-direction:column;gap:5px;display:flex}.iw-assessment-name{color:var(--iw-muted);font-size:10px}.iw-pass-toggle{background:#f2f2f0;border-radius:8px;gap:3px;padding:3px;display:flex}.iw-pass-toggle .button{color:#60656d;background:0 0;border-color:#0000;align-items:center;gap:4px;min-height:28px;padding:6px 8px;font-size:10px;display:flex}.iw-pass-toggle .button.selected{color:#17191b;background:#fff;border-color:#dedfe1}.iw-pass-toggle .selected[aria-label^=Pass] svg{color:#28734b}.iw-pass-toggle .selected[aria-label^=Fail] svg{color:#b34e2f}.iw-number-mark{align-items:center;gap:7px;display:flex}.iw-number-mark>input{text-align:center;color:#17191b;width:60px;min-width:0;min-height:32px;font:600 13px/1.3 var(--font-body);font-variant-numeric:tabular-nums;appearance:textfield;background:#fff;border:1px solid #dcdfe2;border-radius:8px;padding:6px}.iw-number-mark>input::-webkit-inner-spin-button{appearance:none}.iw-number-mark>input:placeholder-shown{border-style:dashed}.iw-marking-board .iw-number-mark>input{background:#fafaf8;border:2px solid #85888e;width:72px;min-height:40px;font-size:14px}.iw-marking-board .iw-number-mark>input:focus-visible{outline-offset:2px;border-color:#17191b;outline:2px solid #858580}.iw-marking-board .iw-number-mark>input:disabled{color:#686a6e;background:#f2f2f0;border-color:#c5c7ca}.iw-number-mark>input:invalid,.iw-marking-board .iw-number-mark>input:invalid{background:#fff3ef;border-color:#bb4e2c}.iw-number-mark>span{color:#777c84;font-size:10px}.iw-pass-rest{justify-content:flex-end;padding:12px 24px;display:flex}.iw-pass-rest .button{min-height:32px;padding:8px 12px;font-size:10px}.iw-fast-entry{color:#e1e2e5;background:#1f2023;flex-wrap:wrap;gap:16px;padding:12px 24px;font-size:10px;display:flex}.iw-fast-entry>strong{color:var(--yellow);text-transform:uppercase;letter-spacing:1px}.iw-fast-entry kbd{font:600 10px var(--font-body);background:#464950;border-radius:3px;margin-right:4px;padding:2px 5px}.iw-page-context{color:var(--iw-muted);font-size:12px}.iw-students-layout{grid-template-columns:230px minmax(0,1fr);gap:18px}.instructor-workspace .iw-student-picker{border:0;padding:14px 10px}.iw-student-picker .filter-surface{box-shadow:none;background:0 0;border:0;margin:0;padding:0;display:block}.iw-student-picker .filter-surface .field{display:block;position:relative}.iw-student-picker .filter-surface .field>svg{color:#71757d;position:absolute;top:13px;left:11px}.iw-student-picker .filter-surface input{color:#17191b;background:#f8f8f7;border-color:#dcdfe2;min-height:40px;padding-left:32px;font-size:12px}.iw-student-picker>p{text-transform:uppercase;letter-spacing:1px;margin:14px 8px;font-size:10px}.iw-student-options{gap:3px}.iw-student-options>.button{color:#17191b;background:#fff;border-color:#0000;justify-content:space-between;min-height:36px;padding:9px 8px;font-size:11px}.iw-student-options>.button.primary{color:#fff;background:#17191b}.iw-student-options .iw-student-rate{white-space:nowrap;font-size:10px}.iw-student-options .primary .iw-student-rate{color:var(--yellow)}.iw-student-progress{gap:14px}.iw-student-heading{background:#fff;border-radius:14px;gap:18px;padding:20px 22px}.iw-student-heading .iw-avatar.large{color:#85888f;width:86px;height:86px;font:800 28px var(--font-display);background:#f2f2f0;border-radius:14px}.iw-student-heading h2{font:850 clamp(26px,calc(var(--layout-vw) * 3),38px)/1.05 var(--font-display);text-transform:uppercase}.iw-student-heading p{flex-wrap:wrap;align-items:center;gap:8px;font-size:10px;display:flex}.iw-membership-tag{color:#17191b;background:#f2f2f0;border-radius:4px;padding:4px 7px;font-weight:600}.iw-student-heading .button{min-height:34px;padding:8px 12px;font-size:10px}.iw-student-stat-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.instructor-workspace .iw-student-stat-pair>.panel{border:0;padding:16px 20px}.iw-student-stat-pair h2,.iw-student-progress>section>h2,.iw-student-progress .iw-section-header>h2{text-transform:uppercase;letter-spacing:1.6px;font-size:11px}.iw-student-stat{font:850 50px/1 var(--font-display);margin-top:4px}.iw-student-stat>span{color:#898c92}.iw-student-stat-pair p{color:var(--iw-muted);margin:4px 0 0;font-size:10px}.instructor-workspace .iw-student-progress>.panel{border:0;padding:18px 20px}.iw-student-progress .iw-section-header{align-items:center;margin-bottom:8px}.iw-student-progress .iw-text-link{font-size:10px}.iw-student-progress .iw-legend{gap:12px;margin:12px 0;font-size:9px}.iw-attendance-history{flex-direction:column;gap:8px;display:flex}.iw-history-month{align-items:flex-start;gap:16px;display:flex}.iw-history-month>strong{text-transform:uppercase;min-width:30px;font:800 16px/1 var(--font-display);padding-top:8px}.iw-history-month>div{flex-wrap:wrap;gap:6px;display:flex}.iw-history-day.button{color:#6b7078;background:#f2f2f0;border:1px solid #0000;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;display:grid}.iw-history-day strong{font-size:10px}.iw-history-day.present{color:#fff;background:#217e4d}.iw-history-day.late{background:var(--yellow);color:#17191b}.iw-history-day.absent{color:#fff;background:#d65e36}.iw-history-day.excused{color:#fff;background:#42658e}.iw-history-day.today{border:2px solid #17191b}.iw-progress-modules{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.iw-student-module-card{border:1px solid #eceef0;border-radius:8px;min-width:0;padding:12px}.iw-student-module-card>header{align-items:flex-start;gap:7px;margin-bottom:16px;display:flex}.iw-student-module-card .iw-module-number{color:#555a63;background:#f2f2f0;min-width:22px;height:22px;font-size:10px}.iw-student-module-card header strong{overflow-wrap:anywhere;font-size:11px;line-height:1.3;display:block}.iw-student-module-card header small{color:var(--iw-muted);margin-top:4px;font-size:9px;display:block}@media (max-width:1250px){.iw-today-hero{flex-direction:column;align-items:stretch}.iw-today-links{width:100%;min-width:0}.iw-module-students{grid-template-columns:repeat(2,minmax(0,1fr))}.iw-board-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.iw-rollcall-layout{grid-template-columns:minmax(0,1fr) 270px}.iw-module-columns{grid-template-columns:1fr}.iw-progress-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.iw-today-layout{grid-template-columns:1fr}.iw-today-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.iw-today-sidebar>:last-child{grid-column:1/-1}.iw-rollcall-layout{grid-template-columns:1fr}.iw-rollcall-summary .iw-stat-value{font-size:72px}.iw-rollcall-summary dl{display:block}.iw-students-layout{grid-template-columns:190px minmax(0,1fr)}.iw-module-metrics{gap:18px}}@media (max-width:700px){.iw-today-sidebar{grid-template-columns:1fr}.iw-today-hero{padding:24px}.iw-today-links .button{min-height:52px}.iw-attention-sheet .iw-attention-row{flex-wrap:wrap;padding:18px}.iw-attention-row>div{flex:1}.iw-attention-row .button{margin-left:58px}.iw-overview-sheet{padding:22px}.iw-metric-line>strong{font-size:80px}.iw-attendance-calendar{padding:12px}.iw-attendance-calendar .iw-date-heading strong{font-size:14px}.iw-date-heading small{font-size:10px}.iw-attendance-calendar .iw-week-heading{grid-template-columns:36px minmax(0,1fr) 36px}.iw-date-heading{gap:6px}.iw-date-heading svg{width:16px}.iw-attendance-calendar .iw-day{gap:5px;min-height:76px}.iw-attendance-calendar .iw-day strong{font-size:21px}.iw-attendance-calendar .iw-day span{font-size:8px}.iw-attendance-calendar .iw-day small{letter-spacing:0;font-size:8px}.iw-attendance-calendar .iw-week{gap:4px}.iw-rollcall>header{padding:18px}.iw-module-students{grid-template-columns:1fr;padding:0 18px}.iw-board-overview{padding:18px}.iw-board-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.iw-board-tile.button{min-height:125px}.iw-board-actions{align-items:stretch}.iw-board-actions>div{width:100%}.iw-accordion-trigger{flex-wrap:wrap;gap:10px!important}.iw-module-metrics{display:none}.iw-accordion-title>small{font-size:9px}.iw-accordion-title>strong{font-size:12px}.iw-fast-entry{gap:10px;padding:12px 18px}.iw-students-layout{grid-template-columns:1fr}.iw-student-options{flex-direction:row;overflow-x:auto}.iw-student-options>.button{flex-shrink:0;min-width:160px}.iw-student-heading{padding:18px}.iw-student-heading .iw-avatar.large{width:60px;height:60px}.iw-student-heading h2{font-size:28px}.iw-student-heading>.button{margin-left:0}.iw-student-stat-pair>.panel{padding:14px!important}.iw-student-stat{font-size:44px}.iw-progress-modules{grid-template-columns:1fr}.iw-library-row,.iw-sortable-modules .iw-module-row{flex-wrap:wrap;gap:9px;padding:14px}.iw-module-copy,.iw-library-row>div{flex-basis:calc(100% - 65px)}.iw-library-kind{flex-basis:auto;margin-left:50px}.iw-library-grading{flex:1}.iw-library-row>.iw-library-kind{margin-left:41px}.iw-module-library .filter-surface{grid-template-columns:1fr}.iw-history-day.button{width:30px;min-width:30px;height:30px;min-height:30px}}.iw-rollcall-summary .iw-stat-value small{display:inline}.iw-module-library .filter-surface .iw-module-kind-tabs .button{color:#535860;background:0 0;border-color:#0000}.iw-module-library .filter-surface .iw-module-kind-tabs .button.selected{color:#17191b;background:#fff;border-color:#dedfe1}.iw-student-picker .filter-surface input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.iw-student-picker .filter-surface input::placeholder{color:#656a73;font-weight:400}.instructor-workspace .iw-student-progress>.panel{margin:0}.iw-student-progress>.panel>.field{max-width:none}.iw-student-progress textarea{background:#f8f8f7;font-size:13px;font-weight:400}@media (max-width:700px){.iw-attention-sheet .iw-attention-row{grid-template-columns:42px minmax(0,1fr);align-items:start;display:grid}.iw-attention-sheet .iw-attention-icon{margin:0}.iw-attention-sheet .iw-attention-row .button{grid-column:2;justify-self:start;margin:0}.iw-module-copy{flex-basis:calc(100% - 80px)}}.historical-roster-student{flex:1;gap:3px;min-width:0;display:grid}.historical-roster-student :is(a,strong){overflow-wrap:anywhere}.historical-roster-student small{color:var(--muted);font-size:12px}.historical-workspace .iw-student-detail{min-width:0}.historical-workspace .iw-historical-records{min-width:0;margin-top:16px}.historical-workspace .iw-selected-modules>.details-grid,.historical-workspace .iw-module-library>:is(.details-grid,.form-help,.empty){margin:20px}.historical-workspace .iw-module-accordion>summary{cursor:pointer;list-style:none}.historical-workspace .iw-module-accordion>summary::-webkit-details-marker{display:none}.historical-workspace .iw-module-accordion>.table-wrap{padding:0 20px}.historical-workspace .historical-record-table{min-width:880px}.historical-workspace .iw-module-accordion:not([open])>summary svg{transform:rotate(-90deg)}.student-ledger-summary{background:#f4f4f2;border:1px solid #e2e2df;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:14px;display:grid}:is(.student-profile-banner-cards,.student-directory-ledger) .student-ledger-summary .student-hours-summary{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;margin:0;padding:8px 14px;display:grid}:is(.student-profile-banner-cards,.student-directory-ledger) .student-ledger-summary .student-hours-summary dl{display:contents}:is(.student-profile-banner-cards,.student-directory-ledger) .student-ledger-summary .student-hours-summary dt{grid-column:1/-1;margin-bottom:0}.student-ledger-summary>:last-child{border-left:1px solid #d8d8d4!important}:is(.student-profile-banner-cards,.student-directory-ledger) .student-ledger-summary .student-hours-summary dd{font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;grid-area:2/1;font-size:24px}:is(.student-profile-banner-cards,.student-directory-ledger) .student-ledger-summary .student-hours-link{flex-shrink:0;grid-area:2/2;gap:8px;min-height:32px;margin:0 0 0 auto;font-size:13px}.student-ledger-summary.is-compact{background:0 0;border:0;width:100%}.student-ledger-summary.is-compact .student-hours-note{text-align:center;flex-direction:column;justify-content:flex-start;gap:0;margin:0;padding:0 8px}.student-ledger-summary.is-compact .student-hours-link{align-self:center;margin:0}.student-hours-dialog{width:min(840px,calc(var(--viewport-width) - 32px))}.student-hours-dialog.hours-transaction-dialog,.student-aef-dialog{width:min(1080px,calc(var(--viewport-width) - 32px))}.ledger-add-actions .directory-export-button{height:auto;min-height:32px;font:700 15px/1.5 var(--font-form);padding:7px 12px}.student-hours-dialog[open]{max-height:min(760px,calc(var(--viewport-height) - 40px))}.student-hours-dialog .program-dialog-heading{flex-wrap:wrap;gap:12px}.student-hours-dialog .program-dialog-heading h2{margin-right:auto}.student-hours-dialog .program-dialog-heading>.icon-button{flex:0 0 32px}.student-hours-table table.student-records-table{table-layout:auto;min-width:760px}.hours-transaction-dialog .student-hours-table table.student-records-table{min-width:1000px}.student-hours-table table.student-records-table th:first-child{width:auto}.student-hours-table table.student-records-table th:nth-child(2){white-space:nowrap;width:105px}.student-hours-table table.student-records-table th:last-child{width:145px}.student-hours-dialog .student-records-table{font-variant-numeric:tabular-nums;width:100%}.log-heading-summary,.log-results-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.log-results-bar,.log-results-summary{color:var(--muted);margin-top:18px;font-size:13px}.log-results-bar .hours-pagination{margin:0}.aef-records-table{min-width:850px}.aef-records-table th{white-space:nowrap}.aef-records-table .aef-negative{color:#a62925;font-weight:600}.aef-notes{white-space:pre-wrap;overflow-wrap:anywhere;min-width:180px;max-width:340px}.aef-entry-editor{background:var(--soft);border-radius:8px;margin:20px 0;padding:20px}.aef-entry-editor h3{margin:0 0 16px}.aef-entry-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.aef-entry-fields label,.aef-company-field{flex-direction:column;gap:6px;min-width:0;display:flex}.aef-company-field,.aef-paidout-field{grid-column:span 2}.aef-company-field p{margin:0}.aef-company-field>button{align-self:flex-start}.aef-entry-fields :is(input,select,textarea){width:100%}.aef-entry-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.contractor-search-field{border:1px solid var(--field-border);background:#fff;border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:flex}.contractor-search-field:focus-within{outline-offset:2px;outline:2px solid #777}.contractor-search-field input{width:100%;min-width:0;box-shadow:none;background:0 0;border:0;outline:0}.contractor-search-field input:focus{box-shadow:none;outline:0}.contractor-search-field svg{color:var(--muted);flex-shrink:0}.contractor-search-results{border:1px solid var(--field-border);background:#fff;border-radius:8px;max-height:230px;margin-top:6px;padding:6px;overflow-y:auto}.contractor-search-group{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 6px;font-size:11px}.contractor-search-results button{text-align:left;white-space:normal;width:calc(100% - 4px);font:inherit;box-shadow:var(--button-shadow);background:#fff;border:1px solid #ded9cd;border-radius:8px;margin:2px 2px 6px;padding:8px 10px;display:block}.contractor-search-results button[aria-selected=true]{background:var(--yellow)}.contractor-search-results button:disabled{box-shadow:none}.hours-description-help{color:var(--muted);margin-top:6px;font-size:12px;display:block}@media (prefers-reduced-motion:no-preference){.contractor-search-results button:hover:not(:disabled){transform:translateY(-1px)}}@media (max-width:600px){.aef-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.aef-entry-editor{padding:14px}.student-hours-dialog .program-dialog-heading>.button{order:3}}.student-directory-ledger{padding:0 20px 16px}.student-directory-ledger .student-ledger-summary{margin-top:0}.student-directory-ledger .student-hours-summary dt{color:var(--muted);font:700 12px/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px}.student-directory-ledger .student-hours-summary dd{color:var(--ink);font-family:var(--font-body);margin:0;font-weight:700;line-height:1.2}.student-directory-ledger .student-hours-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:4px;text-decoration-thickness:3px}@container (max-width:440px){.student-directory-ledger .student-ledger-summary{grid-template-columns:minmax(0,1fr)}.student-directory-ledger .student-ledger-summary>:last-child{border-top:1px solid #d8d8d4;border-left:0!important}}.student-directory-table.is-standard table{table-layout:auto;min-width:0}.student-directory-table.is-standard th{width:auto}.student-directory-table.is-standard td{white-space:nowrap}.student-directory-table.is-standard .student-table-name{white-space:nowrap;overflow-wrap:normal}.student-directory-ledger .student-ledger-summary .student-hours-summary{grid-template-columns:minmax(0,1fr)}.student-hours-dialog table.ledger-inline-table{table-layout:fixed}.student-hours-dialog .ledger-inline-table :is(th,td){text-overflow:ellipsis;white-space:nowrap;height:44px;padding:6px 10px;overflow:hidden}.student-hours-dialog .ledger-inline-table th{height:40px;font-size:11px;width:auto!important}.ledger-inline-table .hours-entry-description{text-overflow:ellipsis;display:block;overflow:hidden}.ledger-inline-table .hours-entry-context{white-space:normal;font-size:11px}.ledger-inline-table .aef-notes{white-space:nowrap;min-width:0;max-width:none}.ledger-inline-table :is(input,textarea,select){border:1px solid var(--form-border);width:100%;min-width:0;height:32px;min-height:32px;font:inherit;background:var(--surface);color:var(--ink);border-radius:4px;padding:5px}.ledger-inline-table textarea{resize:none}.ledger-inline-table form{margin:0}.ledger-context-trigger{width:100%;min-width:0;height:32px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--form-border);box-shadow:var(--button-shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:5px;padding:5px 7px;display:flex}.ledger-context-trigger span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ledger-context-trigger svg{flex-shrink:0}.ledger-context{border:1px solid var(--form-border);background:var(--surface);color:var(--ink);max-height:calc(var(--viewport-height) - 24px);white-space:normal;border-radius:12px;margin:0;padding:16px;position:fixed;inset:auto;overflow:auto;box-shadow:0 8px 24px #0000002e}.ledger-context header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ledger-context label{display:block}.ledger-context select{width:100%;margin-top:8px;display:block}.ledger-context-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ledger-context .hours-description-picker{min-width:0}.ledger-context .contractor-search-field input{height:36px}.ledger-amount-editor{align-items:center;gap:5px;display:flex}.ledger-amount-editor>.ledger-context-trigger{flex-shrink:0;width:36px}.ledger-amount-editor input{text-align:right}.ledger-edit-status{margin:8px 0;font-size:12px}.ledger-totals-bar{flex-direction:row;align-items:center;gap:8px}.ledger-totals-bar>.button{min-height:32px;padding:7px 12px}.ledger-add-actions{flex-wrap:wrap;gap:8px;display:flex}.ledger-add-actions>.button{min-height:32px;padding:7px 12px}.ledger-filters{margin:0 0 16px}.ledger-filter-fields{border:0;grid-column:1/-1;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:12px;min-width:0;margin:0;padding:0;display:grid}.ledger-filter-fields>div{min-width:0}.ledger-filter-fields :is(input,select){width:100%;min-width:0}.ledger-filter-fields label{margin-bottom:6px;display:block}.ledger-filters:has(fieldset:disabled) .filter-actions{pointer-events:none;opacity:.55}@media (prefers-reduced-motion:no-preference){.ledger-context-trigger:hover:not(:disabled){transform:translateY(-1px)}}@media (max-width:600px){.ledger-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.ledger-inline-table select{padding-right:20px;font-size:12px}.ledger-context:has(.company-picker){padding:18px}.ledger-context:has(.company-picker) header strong{font-family:var(--font-display);font-size:21px}.company-picker-saved{color:#fff;background:#1e2023;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.company-picker-saved>div{min-width:0}.company-picker-saved span{color:var(--yellow);text-transform:uppercase;font-size:10px;font-weight:700;display:block}.company-picker-saved strong{overflow-wrap:anywhere;font-size:12px;display:block}.company-picker-saved .button{color:#fff;background:#292c30;border-color:#45484d;flex-shrink:0;min-height:32px;padding:7px 10px;font-size:11px}.company-picker-search{grid-template-columns:minmax(0,1fr) 112px;gap:8px;margin-bottom:12px;display:grid}.company-picker-search select{height:36px;min-height:36px;margin:0;padding:5px 22px 5px 8px;font-size:12px}.company-picker-columns,.company-picker-results button{grid-template-columns:22px minmax(0,1fr) 65px 80px;align-items:center;gap:8px;display:grid}.company-picker-columns{background:var(--soft);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;border-bottom:0;border-radius:8px 8px 0 0;padding:8px 10px;font-size:9px}.company-picker-results{overscroll-behavior:contain;border:1px solid var(--line);scrollbar-gutter:stable;border-radius:0 0 8px 8px;min-height:100px;max-height:246px;overflow-y:auto}.company-picker-results button{text-align:left;width:calc(100% - 8px);min-height:38px;font:400 11px/1.3 var(--font-body);color:var(--ink);border:1px solid var(--line);box-shadow:var(--button-shadow);background:#fff;border-radius:8px;margin:4px;padding:8px 6px}.company-picker-results strong{overflow-wrap:anywhere;font-size:11px}.company-picker-results button[aria-selected=true]{background:#fff5ce;border-color:#d9bc50}.company-picker-results .is-keyboard-active{outline-offset:-1px;outline:1px solid #858580}.company-picker-results mark{color:inherit;background:#ffe9a1}.company-picker-empty{white-space:normal;padding:16px;font-size:12px}.company-picker-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.company-picker-footer>span{color:var(--muted);font-size:11px}.company-picker-footer>div{flex-shrink:0;gap:8px;display:flex}.company-picker-footer .button{min-height:34px;padding:7px 12px;font-size:12px}@media (prefers-reduced-motion:no-preference){.company-picker-results button:hover:not(:disabled){transform:translateY(-1px)}}@media (max-width:480px){.company-picker-columns,.company-picker-results button{grid-template-columns:18px minmax(0,1fr) 45px 55px;gap:5px}.company-picker-footer{flex-direction:column;align-items:flex-start}.company-picker-footer>div{align-self:flex-end}}.iw-class-identity{min-width:0}.class-detail-column.is-embedded{grid-template-columns:minmax(0,1fr) auto;align-content:start;display:grid}.class-detail-column.is-embedded .class-spec-heading{border:0;grid-area:1/2;grid-template-columns:auto;padding:24px 28px 24px 0}.class-detail-column.is-embedded .class-detail-schedule{border:0;grid-area:1/1;margin:0;padding:24px 28px}.class-detail-column.is-embedded .class-spec-facts{border-top:1px solid #eeede9;grid-column:1/-1;margin:0 28px;padding:12px 0 16px}.class-detail-column.is-embedded>p{grid-column:1/-1}@media (max-width:700px){.class-detail-column.is-embedded{grid-template-columns:minmax(0,1fr)}.class-detail-column.is-embedded .class-spec-heading{grid-area:1/1;padding:18px 18px 0}.class-detail-column.is-embedded .class-detail-schedule{grid-area:2/1;padding:18px}.class-detail-column.is-embedded .class-spec-facts{margin-inline:18px}}.import-pane-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.import-pane-heading>.button{margin-left:auto}.import-history-dialog{width:min(1120px,calc(var(--viewport-width) - 32px))}.import-history-dialog .filter-surface{grid-template-columns:minmax(0,1fr);margin-bottom:16px}.import-history-dialog .filter-surface .field{max-width:380px}.import-history-table{min-width:800px}.import-history-table :is(th,td):nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.student-record-heading-title{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;display:flex}.student-record-heading-title h2{margin:0}.student-profile .student-record-create,.student-enrollment-dialog .student-record-create{flex-shrink:0;gap:8px;min-height:32px;padding:6px 10px;font-size:13px;line-height:18px}.student-history-link.student-hours-link{color:var(--ink);min-height:32px;text-decoration:underline;-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:4px;margin:0;padding:0;font-size:13px;text-decoration-thickness:3px}.student-history-dialog{width:min(940px, calc(var(--viewport-width) - 32px))}.student-history-dialog[open]{height:min(960px, calc(var(--viewport-height) - 32px));max-height:min(960px, calc(var(--viewport-height) - 32px))}.student-history-filter-fields{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.student-history-filter-fields input[type=date]{appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.student-history-filter-fields input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.student-history-dialog .table-wrap{margin-top:16px}.student-history-dialog>.student-hours-dialog-body{flex:1}.student-history-dialog>.student-hours-dialog-footer{flex-shrink:0}.student-history-dialog .program-dialog-heading{flex-wrap:nowrap;align-items:flex-start}.student-history-dialog .program-dialog-heading h2{overflow-wrap:anywhere;flex:1;min-width:0}.student-enrollment-dialog .enrollment-picker-filters{margin-bottom:20px}@media (max-width:600px){.student-history-filter-fields{grid-template-columns:minmax(0,1fr)}}.class-seats-summary{padding:20px 24px 24px;container-type:inline-size}.class-seats-summary-layout{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.class-seat-groups{align-content:start;gap:14px;min-width:0;display:grid}.class-seat-group h3{font:700 12px/1.3 var(--font-body);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:9px;margin:0 0 8px;display:flex}.class-seat-group h3:after{content:"";opacity:.25;border-top:2px dashed;flex:1;min-width:8px}.class-seat-group.is-accepted{color:#1c7b4b}.class-seat-group.is-awaiting{color:#8a5c00}.class-seat-group.is-declined{color:#b64923}.class-seat-group.is-over{color:#ba261e}.class-seat-group-squares{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;display:grid}.class-seat-group-squares>span{aspect-ratio:1;border:1px solid #0000;border-radius:4px}.class-seat-group-squares .seat-accepted{background:#1c7b4b;border-color:#1c7b4b}.class-seat-group-squares .seat-empty{background:#eeede9;border-color:#d6d4ce}.class-seat-group-squares .seat-declined{background:#e67748;border-color:#e67748}.class-seat-group-squares .seat-over{background:#ba261e;border-color:#ba261e}.class-seat-gauge{text-align:center;flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.class-seat-ring{aspect-ratio:1;color:#1c7b4b;width:min(100%,160px);position:relative}.class-seat-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.class-seat-ring circle{fill:none;stroke-width:11px}.class-seat-ring-track{stroke:#eeede9}.class-seat-ring-fill{stroke:currentColor}.class-seat-ring-value{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.class-seat-ring-value>div{font:700 clamp(36px, 10cqi, 56px)/1 var(--font-display);align-items:baseline;display:flex}.class-seat-ring-value strong{color:#1b1c1e;font-weight:inherit}.class-seat-ring-value>div>span{color:#8b8b8b;font-size:.6em}.class-seat-ring-value>span{color:#5a5d62;font:700 10px/1.3 var(--font-body);letter-spacing:.1em;text-transform:uppercase}.class-seat-gauge p{color:var(--muted);font:400 13px/1.4 var(--font-body);margin:0}.class-seats-summary.is-over-cap .class-seat-ring{color:#ba261e;background:#fcefeb;border-radius:50%}.class-seats-summary.is-over-cap :is(.class-seat-ring-value strong,.class-seat-ring-value>span,.class-seat-gauge p){color:#ba261e}.class-seats-summary.is-over-cap .class-seat-gauge p{font-weight:600}@container (max-width:320px){.class-seats-summary-layout{gap:16px}.class-seat-group h3{letter-spacing:.06em;gap:6px;font-size:10px}.class-seat-group-squares{gap:4px}.class-seat-ring-value>span{font-size:9px}}.student-course-history-dialog{width:min(var(--student-history-panel-width,var(--workspace-max-width)), calc(var(--viewport-width) - 32px))}.student-course-history-dialog>.student-hours-dialog-body{padding-inline:0}.student-course-history-dialog .ledger-filters,.student-course-history-dialog .pagination,.student-course-history-dialog .student-history-message{margin-inline:22px}.student-course-history-dialog .table-wrap{border-inline:0;border-radius:0}.iw-attendance-checkpoints{flex-wrap:wrap;gap:8px;display:flex}.iw-attendance-alert{color:#a32624;white-space:normal;margin-top:5px;font-size:12px;font-weight:700;display:block}.iw-teaching-clean .iw-rollcall-layout{grid-template-columns:minmax(0,1fr)}.iw-teaching-clean .iw-attendance-main{gap:20px}.iw-teaching-clean .iw-attendance-calendar{padding:16px 20px}.iw-teaching-clean .iw-attendance-calendar .iw-week-heading{min-height:48px}.iw-teaching-clean .iw-attendance-calendar .iw-day{min-height:70px;padding:8px 6px!important}.iw-teaching-clean .iw-attendance-calendar .iw-day strong{font-size:24px}.iw-teaching-clean .iw-attendance-checkpoints{margin-top:18px}.iw-teaching-clean .iw-rollcall h2{letter-spacing:0;text-transform:none;font-size:18px}.iw-attendance-summary{color:var(--iw-muted);flex-wrap:wrap;align-items:center;gap:10px 24px;padding:0 24px 16px;font-size:13px;display:flex}.iw-attendance-summary>span:first-child{color:var(--iw-dark);font-weight:700}.iw-attendance-summary strong{color:var(--iw-dark);font-variant-numeric:tabular-nums}.iw-attendance-summary>[role=status]{margin-left:auto}.iw-teaching-clean .iw-attendance-table{min-width:760px}.iw-teaching-clean .iw-attendance-table td:first-child{width:32%}.iw-teaching-clean .iw-attendance-table td:nth-child(2){text-align:left;width:36%}.iw-teaching-clean .iw-attendance-table td:nth-child(3){padding:12px 20px}.iw-teaching-clean .iw-attendance-table td small{white-space:normal}.iw-teaching-clean .iw-status-buttons{background:0 0;gap:7px;width:fit-content;padding:0}.iw-teaching-clean .iw-status.button{border-color:var(--iw-line);color:var(--iw-dark);background:#fff}.iw-teaching-clean .iw-status.selected.present{background:#dcebdc;border-color:#648166}.iw-teaching-clean .iw-status.selected.late{background:#ffe9a4;border-color:#9c7c19}.iw-teaching-clean .iw-status.selected.absent{background:#f9ded7;border-color:#b36b5b}.iw-task-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px;display:flex}.iw-task-header h2{margin:0;font-size:22px}.iw-task-header p,.iw-entry-help{color:var(--iw-muted);margin:8px 0 0;font-size:13px;line-height:1.6}.iw-marking-clean .iw-sticky-actions{z-index:3;border:1px solid var(--iw-line);background:#fff;border-radius:12px;margin-bottom:12px;padding:12px 16px;position:sticky;top:8px}.iw-marking-clean .iw-board-actions .button{min-height:36px;font-size:12px}.iw-marking-clean .iw-entry-help{margin-bottom:20px}.iw-marking-clean .iw-module-accordion{border:1px solid var(--iw-line);overflow:visible}.iw-marking-clean .iw-module-accordion:not(.expanded){border-left:1px solid var(--iw-line)}.iw-marking-clean .iw-accordion-trigger{border-radius:8px}.iw-marking-clean .iw-accordion-title>strong{font-size:15px}.iw-marking-clean .iw-accordion-title>small{font-size:12px}.iw-module-progress{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;gap:5px;font-size:13px;display:flex}.iw-module-progress small{color:var(--iw-muted);font-size:12px;font-weight:400}.iw-mark-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:560px}.iw-mark-table :is(th,td){text-align:left;border-bottom:1px solid var(--iw-line);padding:12px 22px;font-size:14px}.iw-mark-table thead th{color:var(--iw-muted);background:#fafaf8;font-size:12px;font-weight:600}.iw-mark-table th:first-child{width:34%}.iw-mark-table th:last-child{width:150px}.iw-mark-table th[scope=row]{overflow-wrap:anywhere;text-transform:none;letter-spacing:0;color:var(--iw-dark);font-weight:600}.iw-mark-table .iw-student-mark-row{display:table-row}.iw-mark-table td.iw-entry-status{color:var(--iw-muted);font-variant-numeric:tabular-nums;font-size:12px}.iw-marking-clean .iw-fast-entry{color:var(--iw-muted);background:#fafaf8;border-radius:0 0 12px 12px;font-size:12px}.iw-marking-clean .iw-fast-entry kbd{color:var(--iw-dark);background:#e8e8e3;font-size:11px}.iw-marking-clean .iw-pass-rest .button,.iw-marking-clean .iw-pass-toggle .button{min-height:34px;font-size:12px}.iw-marking-clean .iw-number-mark>input{width:88px}.iw-marking-clean .iw-assessment-name{font-size:12px}.iw-teaching-clean .iw-module-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.iw-teaching-clean :is(.iw-selected-modules,.iw-module-library) h2{text-transform:none;letter-spacing:0;font-size:18px}.iw-module-help{color:var(--iw-muted);border-bottom:1px solid var(--iw-line);margin:0;padding:16px 22px;font-size:13px}.iw-teaching-clean .iw-module-library .filter-surface{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 20px}.iw-teaching-clean .iw-library-filter .field:first-child{grid-column:1/-1}.iw-teaching-clean .iw-module-copy strong,.iw-teaching-clean .iw-library-row strong{font-size:14px}.iw-teaching-clean .iw-module-add{min-width:76px;font-size:12px}.class-final-results{color:var(--ink);gap:18px;margin-top:18px;display:grid}.class-final-summary{color:#fff;background:#202123;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex}.class-final-summary h2{color:var(--yellow);font:700 11px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0}.class-final-summary p{max-width:none;font:400 12px/1.5 var(--font-body);margin:5px 0 0}.class-final-counts{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.class-final-counts>span{font:700 12px/1.25 var(--font-body);white-space:nowrap;background:#2b2c2f;border-radius:9px;padding:8px 12px}.class-final-counts>.warning{color:#ffca42}.iw-teaching-clean .class-final-panel{box-shadow:none;border:0;border-radius:20px;margin:0;padding:0;overflow:hidden}.class-final-scroll{border:0;border-radius:0;padding:18px 12px 8px}.class-final-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:1010px}.class-final-table col.student{width:19%}.class-final-table col.missed{width:7.5%}.class-final-table col.category{width:8%}.class-final-table col.exam{width:6%}.class-final-table col.grade{width:7%}.class-final-table col.outcome{width:18.5%}.class-final-table col.note{width:26%}.class-final-table :is(th,td){text-align:left;vertical-align:middle;white-space:normal;border-bottom:1px solid #efefeb;padding:13px 10px}.class-final-table thead{background:#fff}.class-final-table thead th{vertical-align:bottom;color:#4d555f;height:52px;font:700 10px/1.4 var(--font-body);letter-spacing:.13em;text-transform:uppercase;padding-top:0;padding-bottom:10px}.class-final-category{padding-top:14px;display:block;position:relative}.class-final-category:before{content:"";background:#1b1c1b;border-radius:4px;height:4px;position:absolute;inset:0 0 auto}.class-final-category.practical:before{background:#737377}.class-final-category.exam:before{background:var(--yellow)}.class-final-category small{font:inherit;display:block}.class-final-table tbody tr{height:62px}.class-final-table tbody tr.has-outcome{background:#faf9f4}.class-final-table tbody :is(th,td){font:700 13px/1.4 var(--font-body)}.class-final-table tbody th{color:var(--ink);text-transform:none;letter-spacing:0}.class-final-table tbody th a{overflow-wrap:anywhere;display:block}.class-final-table tbody tr:last-child :is(th,td){border-bottom:0}.class-final-table .class-final-grade{text-align:center;background:#fff6d1;border-inline:1px solid #ffe799}.class-final-table thead .class-final-grade{color:var(--ink);border-top:1px solid #ffe799;border-radius:10px 10px 0 0}.class-final-table tbody tr:last-child .class-final-grade{border-bottom:1px solid #ffe799}.class-final-table .below-pass{color:#bd231b}.class-final-table .unrecorded{color:#777b80}.class-final-warning{color:#936000;font:600 11px/1.4 var(--font-body);align-items:center;gap:4px;margin-top:4px;display:flex}.class-final-warning svg{flex-shrink:0}.class-final-outcomes{background:#f0f0ed;border-radius:11px;gap:5px;width:fit-content;padding:3px;display:flex}.class-final-outcomes .button{min-width:64px;min-height:34px;font:700 12px/1.2 var(--font-body);color:#59616c;background:#f0f0ed;border:1px solid #e1e1db;padding:6px 12px}.class-final-outcomes .pass[aria-pressed=true]{color:#006446;background:#dcefe0;border-color:#bddbc5}.class-final-outcomes .fail[aria-pressed=true]{color:#b91e17;background:#f8ddda;border-color:#efc3bf}.class-final-table input{width:100%;min-width:0;height:38px;min-height:38px;font:400 12px/1.4 var(--font-body);background:#fff;border:1px solid #deded9;border-radius:9px;padding:8px 11px}.class-final-explanation{color:var(--muted);margin:0;padding:12px 22px;font-size:12px}.class-final-footer{background:#f6f6f3;border-top:1px solid #ecece7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.class-final-confirmation{flex:430px}.class-final-confirmation label{font:700 12px/1.5 var(--font-body);align-items:flex-start;gap:10px;margin:0;display:flex}.class-final-confirmation input{flex-shrink:0;width:18px;height:18px;margin:0}.class-final-confirmation p{color:#646b73;max-width:none;font:400 10px/1.5 var(--font-body);margin:4px 0 0 28px}.class-final-actions{flex-wrap:wrap;gap:10px;display:flex}.class-final-actions .button{white-space:nowrap;min-height:40px;padding:9px 18px;font-size:12px}@media (max-width:700px){.class-final-summary{flex-direction:column;align-items:flex-start;padding:18px}.class-final-counts{flex-shrink:1;justify-content:flex-start}.class-final-footer{padding:18px}.class-final-actions{width:100%}.class-final-actions .button{flex:1}}@media (max-width:1100px){.iw-teaching-clean .iw-module-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.iw-teaching-clean .iw-attendance-calendar{padding:12px}.iw-teaching-clean .iw-attendance-calendar .iw-day{min-height:66px}.iw-teaching-clean .iw-attendance-checkpoints{grid-template-columns:1fr 1fr;display:grid}.iw-attendance-summary{padding-inline:18px}.iw-marking-clean .iw-sticky-actions{position:static}.iw-marking-clean .iw-accordion-trigger{flex-wrap:wrap}.iw-module-progress{text-align:left;flex-basis:100%;padding-left:42px}.iw-marking-clean .iw-accordion-chevron{position:absolute;top:18px;right:18px}.iw-marking-clean .iw-accordion-trigger{padding-right:56px;position:relative}.iw-teaching-clean .iw-module-library .filter-surface{grid-template-columns:minmax(0,1fr);margin:14px}.iw-teaching-clean .iw-library-row{flex-wrap:nowrap}.iw-teaching-clean .iw-library-row>div{flex-basis:auto}.iw-teaching-clean .iw-attendance-calendar .iw-day strong{font-size:20px}.iw-teaching-clean .iw-attendance-calendar .iw-day span{display:none}}.attendance-board{align-items:start;gap:var(--panel-gap);color:#161716;grid-template-columns:minmax(0,1fr) 288px;margin-top:0;display:grid}.attendance-board-main{min-width:0}.attendance-week-panel,.attendance-roster-panel,.attendance-side-panel{box-shadow:none;background:#fff;border:1px solid #deded9;border-radius:9px}.attendance-week-panel{--yellow:#f5c518;--filter-field:#2a2d31;color:#f2f2f0;background:#1e2023;border-color:#1e2023;padding:14px}.attendance-week-controls>.button.secondary{background:var(--filter-field);color:#f2f2f0;border-color:#3a3e44}.attendance-week-controls>.button.secondary:hover:not(:disabled){background:#41464d}.attendance-week-toolbar{grid-template-columns:minmax(0,1fr) minmax(300px,550px) minmax(90px,1fr);align-items:center;gap:12px;margin-bottom:16px;display:grid}.attendance-week-controls{grid-column:2;grid-template-columns:46px minmax(0,1fr) 46px;gap:6px;min-width:0;display:grid}.attendance-week-controls>.button{min-width:0;height:52px;min-height:52px;padding:0}.attendance-week-controls .iw-date-heading{font:700 17px/1.2 var(--font-body);justify-content:center;gap:12px;padding:5px 10px}.attendance-week-controls .iw-date-heading>span{text-align:left;min-width:0}.attendance-week-controls .iw-date-heading small{color:#b3b7bd;font-weight:400}.attendance-week-controls .iw-date-heading svg{flex-shrink:0}.attendance-week-today{grid-column:3;justify-self:end;height:52px}.attendance-week-cards{grid-template-columns:minmax(40px,.5fr) repeat(5,minmax(80px,1fr)) minmax(40px,.5fr);gap:7px;padding:10px 0 7px;display:grid;overflow-x:auto}.attendance-board .attendance-day-card{background:var(--filter-field);color:#f2f2f0;text-align:center;border:1px solid #3a3e44;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);place-items:stretch stretch;gap:0;min-width:0;min-height:112px;padding:0;display:grid;position:relative}.attendance-board .attendance-day-card:hover:not(:disabled){background:#41464d}.attendance-day-content{flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:78px;display:flex}.attendance-day-label{font:700 11px/1.2 var(--font-body);text-transform:uppercase}.attendance-day-content>strong{font:700 24px/1 var(--font-body)}.attendance-day-progress{color:#b3b7bd;min-height:30px;font:600 12px/1.2 var(--font-body);background:#33363b;border-radius:0 0 7px 7px;justify-content:center;align-items:center;padding:5px 3px;display:flex}.attendance-board .attendance-day-card.weekend{color:#b3b7bd;background:#25272b;border-color:#3a3e44}.attendance-board .attendance-day-card.selected{border:2px solid var(--yellow)}.attendance-day-selected{z-index:1;background:var(--yellow);color:#16171a;font:700 9px/1 var(--font-body);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border-radius:999px;padding:4px 10px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.attendance-roster-panel{overflow:hidden}.attendance-roster-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 18px 16px;display:flex}.attendance-roster-heading h2{font:700 25px/1.1 var(--font-form-heading);margin:0}.attendance-roster-heading p{color:#64665f;margin:4px 0 0;font-size:12px}.attendance-legend{color:#575b55;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.attendance-legend>span{align-items:center;gap:5px;display:inline-flex}.attendance-legend b{border:1px solid #0000;border-radius:4px;place-items:center;width:20px;height:22px;font-size:11px;font-weight:500;display:inline-grid}.attendance-legend .present,.attendance-board .attendance-cell.selected.present{color:#195e40;background:#dcefe3;border-color:#94d4a3}.attendance-legend .late,.attendance-board .attendance-cell.selected.late{color:#765900;background:#fff1bf;border-color:#ecc85c}.attendance-legend .absent,.attendance-board .attendance-cell.selected.absent{color:#a32821;background:#f8dedb;border-color:#eaa6a0}.attendance-grid,.gradebook-table{--class-table-name-font:600 14px/1.5 var(--font-body);--class-table-heading-font:700 13px/1.3 var(--font-body)}.attendance-roster-panel{border-radius:14px}.attendance-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:835px}.attendance-grid :is(th,td){vertical-align:middle;border-bottom:1px solid #f0f0ee;padding:22px 12px}.attendance-grid tbody tr:last-child :is(th,td){border-bottom:0}.attendance-grid thead{background:#fff}.attendance-grid thead th{font:var(--class-table-heading-font);text-align:center;letter-spacing:0;text-transform:none;border-bottom:1px solid #e7e7e4;padding:20px 12px 15px}.attendance-grid thead th:first-child,.attendance-grid thead th:last-child{vertical-align:bottom;color:#64665f;text-transform:uppercase;letter-spacing:.07em;padding-bottom:20px;font-size:11px}.attendance-grid th:first-child{text-align:left;width:21%;padding-left:22px}.attendance-grid th:last-child{text-align:right;width:12%;padding-right:22px}.attendance-grid thead th small{color:#64665f;margin-top:5px;font-size:12px;font-weight:400;line-height:1.4;display:block}.attendance-grid .attendance-all-present{color:#24251f;min-height:30px;box-shadow:none;white-space:nowrap;background:#f0f0eb;border:0;border-radius:8px;align-items:center;gap:5px;margin-top:8px;padding:5px 10px;font-size:12px;line-height:20px;display:inline-flex;transform:none}.attendance-grid .attendance-all-present:hover:not(:disabled){box-shadow:none;background:#e6e6df}.attendance-grid tbody th{font:var(--class-table-name-font);text-transform:none;letter-spacing:0;color:#161716}.attendance-grid tbody th a{overflow-wrap:anywhere;display:block}.attendance-row-progress{color:#64665f;margin-top:2px;font-size:12px;font-weight:400;line-height:1.4;display:block}.attendance-grid .attendance-checkpoint{text-align:center;padding-inline:0;position:relative}.attendance-checkpoint-connected:before{content:"";pointer-events:none;border-top:2px solid #e5e5e2;width:100%;position:absolute;top:50%;left:50%}.attendance-day-complete .attendance-checkpoint-connected:before{border-color:#a9aba6}.attendance-day-closed .attendance-checkpoint-connected:before{border-top:2px dashed #d4d5d1}.attendance-grid .attendance-cell-buttons{border-color:#dededb;gap:0;width:fit-content;margin-inline:auto;display:flex;position:relative}.attendance-board .attendance-cell{color:#343833;width:44px;min-width:44px;max-width:44px;height:42px;min-height:42px;box-shadow:none;background:#fff;border:0;border-radius:0;flex:0 0 44px;place-items:center;padding:0;display:grid;transform:none}.attendance-grid .attendance-cell+.attendance-cell{border-left:1px solid #e2e2df}.attendance-grid .attendance-cell svg{width:16px;height:16px}.attendance-grid .attendance-checkpoint-locked .attendance-cell-buttons{border-color:#eeeeeb}.attendance-grid .attendance-checkpoint-locked .attendance-cell:disabled{color:#cdd0ca;opacity:1;background:#f5f5f3}.attendance-board .attendance-cell.late:is([aria-pressed=true],:hover:not(:disabled)){color:#765900;background:#fff1bf}.attendance-board .attendance-cell.present:is([aria-pressed=true],:hover:not(:disabled)){color:#195e40;background:#dcefe3}.attendance-board .attendance-cell.absent:is([aria-pressed=true],:hover:not(:disabled)){color:#a32821;background:#f8dedb}.attendance-board .attendance-cell:disabled{color:#969890;background:#f0f0ec}.attendance-board .attendance-cell.selected:disabled{opacity:.6}.attendance-grid .attendance-day-total{text-align:right;font-variant-numeric:tabular-nums;padding-right:22px}.attendance-day-total strong{font:700 28px/1 var(--font-form-heading);display:block}.attendance-day-total small{color:#64665f;font:500 10px/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.07em;margin-top:5px;display:block}.attendance-day-total.zero{color:#898d86}.attendance-original{color:var(--muted);margin-top:5px;font-size:11px;display:block}.attendance-board-sidebar{gap:var(--panel-gap);display:grid}.attendance-side-panel{padding:17px 16px}.attendance-side-panel h2{color:#545a56;font:700 11px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px}.attendance-side-panel>header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.attendance-side-panel>header small{color:#686c65;font-size:10px}.attendance-side-panel.attendance-flagged{border-top:3px solid #eda09b}.attendance-flag-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-flag-row+.attendance-flag-row{margin-top:15px}.attendance-flag-row strong{font-size:14px;display:block}.attendance-flag-row small{color:#ad2620;font-size:11px;display:block}.attendance-flag-row .button{min-height:40px;padding:8px 12px;font-size:12px}.attendance-total-row+.attendance-total-row{margin-top:12px}.attendance-total-row>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;font-size:12px;display:flex}.attendance-total-row strong{font-variant-numeric:tabular-nums}.attendance-total-track{background:#ebebe6;border-radius:5px;height:7px;position:relative}.attendance-total-track i{background:#171817;border-radius:5px;height:100%;display:block}.attendance-total-track.over i{background:#e9877f}.attendance-total-track.at-line i{background:#eccb60}.attendance-total-track b{background:#171817;width:1px;height:15px;position:absolute;top:-4px}.attendance-none{color:#64665f;margin:0;font-size:12px}:root:has(.attendance-board){scrollbar-gutter:stable}.attendance-board .button:hover{transform:none}@media (max-width:1100px){.attendance-board{grid-template-columns:minmax(0,1fr)}.attendance-board-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media (max-width:700px){.attendance-board-sidebar{grid-template-columns:minmax(0,1fr)}.attendance-week-panel{padding:10px}.attendance-week-toolbar{grid-template-columns:minmax(0,1fr);gap:10px}.attendance-week-controls{grid-column:1;grid-template-columns:38px minmax(0,1fr) 38px}.attendance-week-controls .iw-date-heading{gap:8px;font-size:14px}.attendance-week-controls .iw-date-heading small{display:none}.attendance-week-today{grid-area:2/1;justify-self:stretch;height:40px;min-height:40px}.attendance-day-label{font-size:10px}.attendance-day-progress{font-size:11px}}.gradebook-layout{min-width:0;margin-top:0;display:block}.gradebook-main{min-width:0}.gradebook-filters,.gradebook-panel{background:#fff;border:1px solid #deded9;border-radius:9px}.gradebook-filters{justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:13px;display:flex}.gradebook-filter-buttons{flex:1;gap:7px;min-width:0;padding-bottom:4px;display:flex;overflow-x:auto}.gradebook-filter-buttons .button{flex:none;min-height:36px;padding:8px 13px;font-size:12px}.gradebook-filter-buttons .button.selected{color:#fff;background:#171817;border-color:#171817}.gradebook-legend{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.gradebook-status{color:#5a605c;font:600 12px/1.3 var(--font-form-heading);white-space:nowrap;background:#fff;border:1px solid #dfdfda;border-radius:20px;align-items:center;padding:3px 9px;display:inline-flex}.gradebook-status.pass{color:#086448;background:#ddefe1;border-color:#b7dfc2}.gradebook-status.fail,.gradebook-status.invalid{color:#a82a1d;background:#f8e1de;border-color:#efb5ad}.gradebook-status.unmarked{border-style:dashed}.gradebook-panel{overflow:hidden}.gradebook-scroll{overscroll-behavior-x:contain;scrollbar-color:#8a8e87 #eceee7;scrollbar-width:auto;position:relative;overflow-x:auto}.gradebook-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.gradebook-table :is(th,td){text-align:center;vertical-align:middle;border-bottom:1px solid #f0f0ed;padding:5px 3px}.gradebook-table thead th{height:59px;font:var(--class-table-heading-font);letter-spacing:0;text-transform:none;text-align:left;background:#fff}.gradebook-table thead .gradebook-group-head{border-bottom:0;height:42px;padding:11px 3px 0}.gradebook-group-bar{color:#fff;min-height:30px;font:var(--class-table-heading-font);text-transform:uppercase;letter-spacing:.025em;background:#70736d;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.gradebook-group-bar strong{font:inherit}.gradebook-group-bar.theory{background:#171817}.gradebook-group-bar.practical{background:#60615b}.gradebook-group-bar.exam{background:var(--yellow);color:#171817}.gradebook-table .gradebook-student{z-index:2;text-align:left;background:#fff;border-right:1px solid #f0f0ed;padding-left:13px;padding-right:10px;position:sticky;left:0}.gradebook-table .gradebook-average{z-index:2;font:700 17px/1.3 var(--font-form-heading);background:#fff;border-left:1px solid #f0f0ed;position:sticky;right:0}.gradebook-table thead :is(.gradebook-student,.gradebook-average){vertical-align:bottom;font:var(--class-table-heading-font);text-transform:none;letter-spacing:0;padding-bottom:20px}.gradebook-table .gradebook-category-average{font:700 17px/1.3 var(--font-form-heading);background:#f3f3ef;border-left:1px solid #e8e8e2;border-right:1px solid #e8e8e2}.gradebook-table .gradebook-category-average.pass{color:#086448}.gradebook-table .gradebook-category-average.fail{color:#a82a1d}.gradebook-module-column{position:relative}.gradebook-module-column:focus-within,.gradebook-module-column:hover{z-index:4}.gradebook-module-heading{outline-offset:-2px;border-radius:5px;padding:8px 2px;display:block;position:relative}.gradebook-module-heading:hover,.gradebook-module-heading:focus-visible{background:#edede8}.gradebook-module-heading:focus-visible{outline:2px solid #858580}.gradebook-module-heading>strong{font:700 12px/1.3 var(--font-form-heading);display:block}.gradebook-module-name{white-space:nowrap;text-overflow:ellipsis;color:#64665f;font:400 10px/1.3 var(--font-body);margin-top:3px;display:block;overflow:hidden}.gradebook-module-tooltip{z-index:5;color:#fff;text-align:left;white-space:normal;pointer-events:none;background:#171817;border-radius:5px;width:190px;padding:10px;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.gradebook-module-heading:hover .gradebook-module-tooltip,.gradebook-module-heading:focus-visible .gradebook-module-tooltip{display:block}.gradebook-module-tooltip:before{content:"";border-bottom:5px solid #171817;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;top:-5px;left:calc(50% - 5px)}.gradebook-module-tooltip strong{font:700 13px/1.3 var(--font-form-heading);display:block}.gradebook-module-tooltip small{color:#eeeede;font:400 10px/1.4 var(--font-body);margin-top:4px;display:block}.gradebook-table tbody th{font:var(--class-table-name-font);color:#161716;text-transform:none;letter-spacing:0}.gradebook-name{overflow-wrap:anywhere;display:block}.gradebook-layout .gradebook-cell{font-variant-numeric:tabular-nums;color:#6c736c;background:#fff;border:1px dashed #deded9;width:100%;min-width:0;height:38px;min-height:38px;padding:5px 2px;font-size:12px;font-weight:600;display:block}.gradebook-layout .gradebook-cell.pass{color:#086448;background:#e4f3e9;border:1px solid #c6e7d3}.gradebook-layout .gradebook-cell.fail,.gradebook-layout .gradebook-cell.invalid{color:#ae2a1c;background:#fbe6e2;border:1px solid #f2c3bc}.gradebook-layout .gradebook-cell.recorded{color:#292a29;background:#f5f5f2;border-style:solid}.gradebook-layout .gradebook-cell.selected{outline-offset:-2px;border-style:solid;outline:2px solid #858580}.gradebook-layout .button:hover{transform:none}.gradebook-table tfoot :is(th,td){background:#fafaf7;height:44px;font-size:12px;font-weight:700}.gradebook-table tfoot .gradebook-student{color:#5d655e;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.gradebook-table tfoot .gradebook-category-average{background:#f0f0ec}.gradebook-inline-table{--gradebook-student-width:160px;--gradebook-summary-width:80px;--gradebook-summary-gap:12px;max-width:none}.gradebook-inline-table .gradebook-student-col{width:var(--gradebook-student-width)}.gradebook-inline-table .gradebook-module-col{width:96px}.gradebook-inline-table .gradebook-summary-col{width:var(--gradebook-summary-width)}.gradebook-inline-table .gradebook-summary-col:nth-last-child(4){width:calc(var(--gradebook-summary-width) + var(--gradebook-summary-gap))}.gradebook-inline-table :is(.gradebook-module-entry,.gradebook-module-column){padding:0}.gradebook-inline-table thead .gradebook-module-column{vertical-align:top;height:auto}.gradebook-inline-table .gradebook-group-head{padding:10px 3px 0}.gradebook-inline-table .gradebook-module-heading{padding:5px 3px}.gradebook-inline-table .gradebook-module-name{font:var(--class-table-heading-font);-webkit-line-clamp:4;white-space:normal;max-height:5.2em;color:var(--muted);-webkit-box-orient:vertical;margin-top:0;display:-webkit-box}.gradebook-inline-table .gradebook-summary{z-index:6;position:sticky}.gradebook-inline-table .gradebook-summary-0{right:calc(3 * var(--gradebook-summary-width));border-left:calc(1px + var(--gradebook-summary-gap)) solid #fff}.gradebook-inline-table .gradebook-summary-1{right:calc(2 * var(--gradebook-summary-width))}.gradebook-inline-table .gradebook-summary-2{right:var(--gradebook-summary-width)}.gradebook-inline-table .gradebook-summary-3{right:0}.gradebook-inline-table .gradebook-student{z-index:6}.gradebook-inline-table thead :is(.gradebook-student,.gradebook-summary){z-index:7}.gradebook-inline-table .gradebook-category-average{font-size:16px}.gradebook-inline-table thead .gradebook-summary{vertical-align:top;font:var(--class-table-heading-font);color:var(--muted);text-transform:none;overflow-wrap:anywhere;padding:0}.gradebook-summary-heading{flex-direction:column;align-items:flex-start;padding:5px 3px;display:flex}.gradebook-empty-value{font:700 16px/1.3 var(--font-form-heading)}.gradebook-summary-weight{justify-content:center;margin:10px 3px 0}.gradebook-weight-spacer{visibility:hidden}.gradebook-summary-heading .gradebook-summary-compact{display:none}.gradebook-module-cell{min-width:0;padding:5px 3px}.gradebook-inline-table .gradebook-cell{width:90px;min-width:90px;max-width:90px;height:38px;min-height:38px;font-size:12px}.gradebook-inline-table tfoot td{padding:0}.gradebook-inline-table tfoot .gradebook-average,.gradebook-inline-table tfoot .gradebook-category-average{font-size:12px}.gradebook-inline-editor{outline-offset:1px;border-radius:8px;outline:2px solid #858580;width:90px;padding:0}.gradebook-inline-editor .iw-mark-controls{gap:6px;min-width:0;display:grid}.gradebook-inline-editor .iw-mark-field{min-width:0}.gradebook-inline-editor .iw-assessment-name{overflow-wrap:anywhere;font-size:10px;display:block}.gradebook-inline-editor .iw-number-mark{min-width:0;display:block}.gradebook-inline-editor .iw-number-mark>span{display:none}.gradebook-inline-editor input{text-align:center;width:90px;min-width:0;max-width:90px;height:38px;min-height:38px;font:600 12px/1.3 var(--font-body);box-shadow:var(--button-shadow);border-radius:8px;padding:4px 1px;display:block}.gradebook-inline-editor.pass input{color:#086448;background:#e4f3e9;border-color:#c6e7d3}.gradebook-inline-editor.fail input,.gradebook-inline-editor.invalid input{color:#ae2a1c;background:#fbe6e2;border-color:#f2c3bc}.gradebook-inline-editor .iw-pass-toggle{gap:4px;display:grid}.gradebook-inline-editor .iw-pass-toggle .button{width:90px;min-width:0;min-height:30px;padding:4px 2px;font-size:10px}.gradebook-floating-tooltip{z-index:60;color:#fff;pointer-events:none;background:#171817;border-radius:5px;width:200px;padding:10px;font-size:12px;position:fixed;box-shadow:0 4px 12px #0003}.gradebook-floating-tooltip strong{font:700 14px/1.3 var(--font-form-heading);display:block}.gradebook-floating-tooltip small{color:#eeeede;margin-top:4px;font-size:11px;display:block}@media (max-width:700px){.gradebook-inline-table{--gradebook-student-width:80px;--gradebook-summary-width:48px}.gradebook-inline-table .gradebook-student{padding-inline:5px}.gradebook-summary-heading{padding-inline:1px}.gradebook-summary-heading .gradebook-summary-full{display:none}.gradebook-summary-heading .gradebook-summary-compact{display:block}}.gradebook-module-filters .field>span{font:600 14px/1.4 var(--font-form);color:#d5d8dc}.gradebook-module-filters .field select{color:#f2f2f0;height:46px;min-height:46px;font:400 15px/1.4 var(--font-form);background-color:#2a2d31;border-color:#3a3e44;border-radius:10px}.program-modules-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.program-modules-toolbar .field{flex:1;min-width:180px;max-width:280px}.program-modules-toolbar>.muted{padding-bottom:10px;font-size:13px}.program-modules-toolbar>.button{margin-left:auto}.program-module-rows{margin:0;padding:0;list-style:none}.program-module-rows>li{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 32px 32px;align-items:center;gap:10px;padding:10px 0;display:grid}.program-module-rows>li[data-dragging]{background:var(--soft);outline:2px dashed var(--muted);outline-offset:-2px;border-radius:8px}.program-module-rows>li[data-dragging]>*{opacity:0;pointer-events:none}.program-module-rows:has([data-dragging]){cursor:grabbing;-webkit-user-select:none;user-select:none}.program-module-drag-preview{z-index:1000;background:var(--yellow);color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;top:0;left:0;box-shadow:0 8px 20px #1d1d193d}.program-module-drag-preview>svg{flex-shrink:0}.program-module-drag-preview>strong{overflow-wrap:anywhere;min-width:0;font:600 14px/1.4 var(--font-form);flex:1}.program-module-drag-preview>span{font:400 13px/1.4 var(--font-form)}.program-module-rows input{width:100%;min-width:0}.module-row-fields{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.module-row-fields :is(input,select){border:1px solid var(--form-border);min-height:40px;color:var(--ink);font:400 14px/1.4 var(--font-form);background:#fafaf8;border-radius:8px;padding:8px 11px}.module-row-fields :is(input,select):enabled:hover{border-color:#858580}.module-row-fields :is(input,select):focus-visible{outline-offset:2px;outline:2px solid #858580}.module-row-fields :is(input,select):disabled{background:var(--soft);color:var(--muted)}.module-row-fields input{flex:240px}.module-row-fields select{cursor:pointer;width:150px;min-width:0}.module-row-fields small{color:var(--muted);flex-basis:100%;font-size:12px}.gradebook-panel>.empty,.attendance-roster-panel>.empty{margin:0;padding:30px 18px}.program-module-handle{touch-action:none;cursor:grab}.program-module-handle:active{cursor:grabbing}.program-module-rows .iw-module-control{width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.class-module-imprint{margin:0;padding-left:24px}.class-module-imprint li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:10px 8px}.class-module-imprint small{color:var(--muted);margin-top:4px;font-size:12px;display:block}@media (max-width:600px){.program-modules-toolbar>.button{margin-left:0}.program-module-rows>li{grid-template-columns:34px minmax(0,1fr) 32px 32px;gap:6px}}.class-imprint-add{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.class-imprint-defaults{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.class-imprint-defaults>.muted{margin:0;font-size:13px}.class-imprint-add[hidden]{display:none}.class-imprint-add .field{flex:1;min-width:180px}.class-imprint-editor .iw-module-row{gap:12px}.class-imprint-editor .iw-module-copy{min-width:0}.class-imprint-editor .iw-module-copy strong{overflow-wrap:anywhere}.student-form .grading-weights-fields{margin-top:var(--form-row-gap,22px)}.grading-weights-fields>.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main-content:has(.centre-dashboard){max-width:none;padding:0}.centre-dashboard{color:var(--ink);min-width:0}.centre-dashboard-hero{color:#fff;background:#1b1c1b}.centre-dashboard-hero-content,.centre-dashboard-body{width:100%;max-width:var(--workspace-max-width);margin-inline:auto}.centre-dashboard-hero-content{padding:32px clamp(28px,calc(var(--layout-vw) * 4),72px)}.centre-dashboard-hero-content>time{font:600 12px/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:#dededb}.centre-dashboard-hero h1{font:800 36px/1.1 var(--font-display);margin:8px 0 22px}.centre-snapshot-date{color:#e5e5dd;margin:-10px 0 20px;font-size:14px}.centre-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.centre-dashboard-stats>section{background:#292a28;border:1px solid #373835;border-radius:10px;min-width:0;padding:20px}.centre-dashboard-stats>section>strong{color:var(--yellow);font:800 52px/1 var(--font-display);font-variant-numeric:tabular-nums;display:block}.centre-dashboard-stats strong>small{color:#c8cbd0;font:700 23px/1 var(--font-form-heading);white-space:nowrap;display:inline}.centre-dashboard-stats h2{font:700 15px/1.3 var(--font-body);margin:8px 0 4px}.centre-dashboard-stats p{color:#c7c9c4;font:400 13px/1.4 var(--font-body);margin:0}.centre-dashboard-body{align-items:start;gap:var(--panel-gap);padding:24px clamp(28px,calc(var(--layout-vw) * 4),72px);grid-template-columns:minmax(0,1fr) 320px;display:grid}.centre-dashboard-classes,.centre-dashboard-watch{align-content:start;min-width:0}.centre-dashboard-panel{background:#fff;border:1px solid #e0e0db;border-radius:12px;min-width:0;overflow:hidden}.centre-dashboard-panel-heading{border-bottom:1px solid #efefec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.centre-dashboard-panel-heading h2{font:700 25px/1.1 var(--font-form-heading);margin:0}.centre-check-legend{font:400 12px/1.3 var(--font-body);color:#5d625b;flex-wrap:wrap;gap:12px;display:flex}.centre-check-legend>span{align-items:center;gap:5px;display:flex}.centre-check-legend i{border-radius:3px;width:12px;height:12px;display:block}.centre-dashboard .complete{background:#217b53}.centre-dashboard .partial{background:var(--yellow)}.centre-dashboard .missing{background:#ecece8;border:1px solid #e0e0da}.centre-dashboard-table{width:100%;min-width:790px}.centre-dashboard-table :is(th,td){font:400 14px/1.4 var(--font-body);vertical-align:middle;text-transform:none;letter-spacing:0;padding:12px 14px}.centre-dashboard-table thead th{color:#5a5d62;font-size:14px}.centre-dashboard-table th:first-child,.centre-dashboard-table td:first-child{min-width:180px;padding-left:20px}.centre-dashboard-table th:last-child,.centre-dashboard-table td:last-child{padding-right:20px}.centre-dashboard-table tbody th{width:29%;color:var(--ink);font-weight:600}.centre-dashboard-table tbody th small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.centre-dashboard-table td{min-width:0}.centre-class-present{white-space:nowrap;font-weight:600!important}.centre-class-checks{grid-template-columns:repeat(4,minmax(40px,1fr));gap:6px;display:grid}.centre-check{border-radius:5px;height:26px;display:block}.centre-check:focus-visible{outline-offset:3px;outline:2px solid #858580}.centre-dashboard-watch{font-size:16px}.centre-flagged-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.centre-dashboard-watch .centre-flagged-header h3{margin:0}.centre-flagged-header a{font-size:14px;text-decoration:underline}.centre-dashboard-watch>.centre-dashboard-panel{padding:20px}.centre-dashboard-watch h3{font:700 13px/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px}.centre-dashboard-watch .centre-flagged{border-top:3px solid #ed9c97}.centre-watch-student{justify-content:space-between;align-items:center;gap:12px;display:flex}.centre-watch-student+.centre-watch-student{margin-top:18px}.centre-watch-student strong{font:600 15px/1.4 var(--font-body);display:block}.centre-watch-student small{color:#656a70;font:400 13px/1.4 var(--font-body);display:block}.centre-watch-student .centre-watch-over{color:#a52c24}.centre-watch-student .button{flex-shrink:0;min-height:36px;padding:7px 12px;font-size:14px}.centre-missed-days>header,.centre-dashboard-alerts>header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.centre-dashboard-watch header>small{color:#656a70;font:400 12px/1.3 var(--font-body)}.centre-missed-student+.centre-missed-student{margin-top:16px}.centre-missed-student>div:first-child{justify-content:space-between;gap:12px;margin-bottom:7px;font-size:14px;display:flex}.centre-missed-student .attendance-total-track:not(.over):not(.at-line)>i{background:#bfc0ba}.centre-watch-footnote{color:#656a70;margin:18px 0 0;font-size:13px}.centre-dashboard-watch .centre-dashboard-alerts{border-top:3px solid var(--yellow)}.centre-empty{color:#656a70;font:400 14px/1.5 var(--font-body);margin:0}.centre-watch-pages{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:13px;display:flex}.centre-watch-pages .button{min-height:32px;padding:6px 10px;font-size:13px}.attendance-legend-panel .attendance-legend{gap:12px;display:grid}@media (max-width:1100px){.centre-dashboard-body{grid-template-columns:minmax(0,1fr)}.centre-dashboard-watch{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.centre-dashboard-hero-content{padding:24px 18px}.centre-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.centre-dashboard-stats>section{padding:16px}.centre-dashboard-stats>section>strong{font-size:44px}.centre-dashboard-body{padding:18px}.centre-dashboard-watch{grid-template-columns:minmax(0,1fr)}}@media (min-width:701px) and (max-width:1100px){.attendance-board-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-board-sidebar>.attendance-side-panel:first-child{grid-row:span 2}.attendance-legend-panel{grid-column:2}}.student-profile-heading-actions{align-items:center;gap:8px;display:flex}.student-profile-hero .student-profile-heading-actions>:is(.button,.icon-button){justify-content:center;align-items:center;padding:0;display:inline-flex}.student-profile-heading-actions>:is(.button,.icon-button)>svg{flex:none;width:18px;height:18px;display:block}@media (max-width:760px),(max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){.student-profile-heading-actions{flex-direction:column-reverse}}.safety-share-dialog{width:min(520px, calc(var(--viewport-width) - 32px));height:auto;max-height:calc(var(--viewport-height) - 32px);overflow-y:auto}.safety-share-dialog .program-dialog-heading{justify-content:space-between}.safety-share-body{text-align:center;padding:24px}.safety-share-body h3{font:700 22px/1.25 var(--font-body);overflow-wrap:anywhere;margin:0 0 8px}.safety-share-qr{background:#fff;width:min(100%,320px);height:auto;margin:0 auto 16px;display:block}.safety-share-link{text-underline-offset:4px;font-weight:700;text-decoration:underline;display:inline-block}.safety-share-body .safety-share-note{color:var(--muted);margin:20px 0 0;font-size:13px}.safety-share-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 24px;display:flex}.safety-share-actions p{text-align:center;width:100%;color:var(--muted);margin:0;font-size:13px}:root:has(.public-safety-page){zoom:1;--ui-scale:1}.public-safety-page{--safety-paper:#eeede9;background:var(--safety-paper);color:#111;flex-direction:column;width:min(530px,100%);min-height:100svh;margin:0 auto;padding:10px 18px 18px;display:flex}body:has(.public-safety-page){background:#eeede9}.public-safety-card{color:#fff;background:#131313;border-radius:24px;flex-shrink:0;overflow:hidden}.public-safety-brand{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:20px 24px 0;display:flex}.public-safety-brand strong{font:750 21px/1.2 var(--font-body)}.public-safety-brand>span{color:#ffda00;font:700 18px/1.2 var(--font-display);letter-spacing:.1em;text-transform:uppercase}.public-safety-identity{align-items:center;gap:20px;padding:24px;display:flex}.public-safety-identity>div:last-child{min-width:0}.public-safety-identity h1{max-width:100%;font:850 clamp(38px,9.7vw,48px)/.98 var(--font-display);text-transform:uppercase;overflow-wrap:anywhere;margin:0}.public-safety-avatar{color:#a2a39d;background:#292a28;border-radius:14px;flex:0 0 114px;place-items:center;width:114px;height:134px;display:grid;position:relative;overflow:hidden}.public-safety-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.public-safety-membership{flex-wrap:wrap;gap:12px 24px;margin:14px 0 0;display:flex}.public-safety-membership dt{color:#b4b4ac;text-transform:uppercase;letter-spacing:.04em;font-size:14px;font-weight:650;line-height:1.1}.public-safety-membership dd{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:750;line-height:1.2}.public-safety-summary{background:#292a28;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 24px;font-size:14px;font-weight:650;line-height:1.35;display:flex}.public-safety-summary strong{color:#ffda00}.public-safety-courses{margin-top:26px}.public-safety-courses>h2{color:#535650;font:700 14px/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 6px 16px}.public-safety-courses ul{gap:18px;margin:0;padding:0;list-style:none;display:grid}.public-safety-courses li{background:#fff;border-radius:20px;grid-template-columns:minmax(0,1fr) 154px;min-height:120px;display:grid;overflow:hidden}.public-safety-course-main{min-width:0;padding:18px 20px}.public-safety-course-main h3{font:750 20px/1.15 var(--font-body);overflow-wrap:anywhere;margin:0 0 8px}.public-safety-course-meta{color:#5e625d;overflow-wrap:anywhere;margin:0 0 8px;font-size:14px;line-height:1.25}.public-safety-statuses{flex-wrap:wrap;gap:6px;display:flex}.public-safety-status{color:#52564f;background:#f1f0eb;border-radius:20px;padding:3px 12px;font-size:14px;font-weight:650;line-height:1.2;display:inline-block}.public-safety-status.is-current{color:#146343;background:#e5f2e9}.public-safety-status.is-expired{color:#b32620;background:#fcece9}.public-safety-expiry{text-align:center;border-left:2px dashed #deded8;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px 12px;display:flex;position:relative}.public-safety-expiry:before,.public-safety-expiry:after{content:"";background:var(--safety-paper);border-radius:50%;width:24px;height:24px;position:absolute;left:-13px}.public-safety-expiry:before{top:-12px}.public-safety-expiry:after{bottom:-12px}.public-safety-expiry>span{color:#5e625d;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:750}.public-safety-expiry time{flex-direction:column;display:flex}.public-safety-expiry time strong{font:850 34px/1 var(--font-display);text-transform:uppercase;white-space:nowrap}.public-safety-expiry time span{font-size:16px;font-weight:700;line-height:1.2}.public-safety-courses li.is-expired .public-safety-expiry{color:#b32620;background:#fceceb}.public-safety-courses li.is-expired .public-safety-expiry>span{color:#b32620}.public-safety-no-expiry{font-size:16px}.public-safety-empty,.public-safety-unavailable{background:#fff;border-radius:20px;padding:24px}.public-safety-unavailable h1{margin:0 0 16px}.public-safety-footer{color:#535650;margin-top:auto;padding:64px 6px 0;font-size:14px}@media (max-width:420px){.public-safety-page{padding-inline:12px}.public-safety-brand{padding:20px 18px 0}.public-safety-brand strong{font-size:19px}.public-safety-brand>span{font-size:16px}.public-safety-identity{gap:16px;padding:22px 18px}.public-safety-avatar{flex-basis:92px;width:92px;height:118px}.public-safety-membership{gap:10px 18px}.public-safety-membership dd{font-size:17px}.public-safety-summary{padding:12px 18px;font-size:13px}.public-safety-courses li{grid-template-columns:minmax(0,1fr) 116px}.public-safety-course-main{padding:18px 16px}.public-safety-course-main h3{font-size:18px}.public-safety-expiry{padding-inline:8px}.public-safety-expiry time strong{font-size:30px}.public-safety-status{padding-inline:9px;font-size:13px}}@media print{body:has(.safety-share-dialog[open])>:not(.student-safety-share-root){display:none!important}body:has(.safety-share-dialog[open]){background:#fff;overflow:visible!important}.student-safety-share-root .safety-share-dialog[open]{width:100%;max-width:100%;height:auto;max-height:none;box-shadow:none;border:0;margin:0;padding:0;display:block;position:static;overflow:visible}.safety-share-dialog::backdrop{display:none}.safety-share-dialog .program-dialog-heading .icon-button,.safety-share-actions,.safety-share-link,.safety-share-note{display:none!important}.safety-share-qr{width:70mm;height:70mm}.public-safety-courses li{break-inside:avoid}}.email-contact-trigger{font:inherit;color:inherit;border:1px solid var(--line);text-align:left;cursor:pointer;box-shadow:var(--button-shadow);overflow-wrap:anywhere;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.email-compose-dialog{width:min(680px,calc(var(--viewport-width) - 32px));height:fit-content;max-height:calc(var(--viewport-height) - 32px);overflow-y:auto}.email-compose-dialog .program-dialog-heading{justify-content:space-between}.email-compose-body{gap:18px;padding:24px;display:grid}.email-compose-body label,.safety-share-email label{gap:7px;font-weight:600;display:grid}.email-compose-body :is(input,textarea),.safety-share-email input{width:100%}.safety-share-email{padding:0 24px 20px}.safety-share-email>p{font-size:13px}.safety-share-email .safety-share-actions{padding-inline:0}@media print{.student-safety-share-root .safety-share-email{display:none!important}}.email-compose-dialog .program-dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.email-compose-body .field,.safety-share-email .field{max-width:none}.safety-share-dialog{height:fit-content}.fti-public-logo{object-fit:contain;width:140px;height:auto;display:block}.safety-share-dialog[open]{height:fit-content;min-height:0}.safety-share-body{padding:16px 24px}.safety-share-body p{margin:10px 0}.safety-share-body .safety-share-qr{width:min(100%,240px);height:auto;margin-bottom:8px}.safety-share-body .safety-share-note{margin-top:12px}.safety-share-email{padding-bottom:16px}.safety-share-email .safety-share-actions{margin-top:16px;padding:14px 0 0}.invitation-recipient-summary h3,.email-copy-options h3,.email-message-preview h3{font:650 15px/1.4 var(--font-body);margin:0 0 12px}.email-message-preview .fti-public-logo{width:120px;margin:16px 0}.class-communication-content{flex:1;min-height:0;overflow:auto}.class-communication-content .panel{box-shadow:none;border:0;border-radius:0;margin:0}.class-communication-content .invitation-editor,.class-communication-content .invitation-setup-layout{display:block}.class-communication-content .invitation-editor-main,.class-communication-content .invitation-setup-fields{padding:24px 28px}.class-communication-rail-content{display:contents}.class-communication-rail-content .student-editor-identity h2{color:#bdbdb6;font:600 12px/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.class-communication-rail-content .student-editor-sections ol,.class-communication-rail-content .student-editor-sections li{display:contents}.class-communication-rail-summary{color:#bdbdb6;margin:auto 10px 0;padding-top:24px;font-size:14px;font-weight:400}.class-communication-class-details{margin:24px 10px;font-size:14px}.class-communication-class-details dt{color:#bdbdb6;margin-top:16px;font-size:12px}.class-communication-class-details dd{margin:4px 0 0}.class-communication-loading,.class-communication-content>.notice{margin:24px 28px}.class-communication-step-actions,.class-communication-step-actions .invitation-editor-actions{display:contents}.class-communication-close>button{order:2;margin-left:auto}.class-communication-step-actions .button{order:3}.class-communication-step-actions .button.secondary{order:1;margin-right:auto}.class-communication-step-actions .invitation-editor-actions>span{display:none}@media (max-width:760px){.class-communication-rail-summary,.class-communication-class-details{display:none}.class-communication-content .invitation-editor-main,.class-communication-content .invitation-setup-fields{padding:20px}.class-communication-content .email-recipient-row{grid-template-columns:minmax(0,1fr);gap:16px}}@media print{body:has(.class-communication-dialog[open])>:not(.class-communication-root){display:none!important}body:has(.class-communication-dialog[open]){background:#fff;overflow:visible!important}.class-communication-root .class-communication-dialog[open]{width:100%;max-width:none;height:auto;max-height:none;box-shadow:none;border:0;margin:0;padding:0;display:block;position:static;overflow:visible}.class-communication-dialog::backdrop{display:none}.class-communication-dialog .student-editor-rail,.class-communication-dialog .student-editor-heading,.class-communication-close{display:none!important}.class-communication-dialog .student-editor-layout,.class-communication-dialog .student-editor-main{height:auto;display:block;overflow:visible}.class-communication-content{overflow:visible}.class-communication-content .invitation-print-preview,.class-communication-content .invitation-pages{height:auto;min-height:0}.safety-share-body .safety-share-qr{width:70mm;height:70mm}.fti-public-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.safety-share-actions button[data-sent=true]:disabled{color:#146343;opacity:1;background:#e5f2e9;border-color:#c8dfd0}@media print{.public-safety-page{min-height:0}.public-safety-footer{padding-top:24px}}.student-hero-contact .email-contact-trigger{box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;padding:0;transform:none}.student-hero-contact .email-contact-trigger:hover{box-shadow:none;text-decoration:underline;transform:none}.safety-qr-print-card{display:none}@media print{.safety-share-dialog>.program-dialog-heading,.safety-share-dialog>.safety-share-body{display:none!important}.safety-qr-print-card{color:#111;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border:1px solid #858580;border-radius:5mm;grid-template-columns:42% minmax(0,1fr);width:100%;max-width:190mm;min-height:0;margin:6mm auto 0;display:grid;overflow:hidden}.safety-qr-print-identity{background:#f6f5ef;border-right:1px solid #deddd6;flex-direction:column;align-items:flex-start;min-width:0;padding:7mm;display:flex}.safety-qr-print-identity .fti-public-logo{width:27mm;height:auto;margin:0 0 6mm}.safety-qr-print-label{font:700 12pt/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase;background:#ffda00;border-radius:1mm;padding:1mm 2.5mm}.safety-qr-print-identity h1{font:850 27pt/1.05 var(--font-display);text-transform:none;overflow-wrap:anywhere;margin:3mm 0 6mm}.safety-qr-print-identity dl{border-top:1px solid #deddd6;grid-template-columns:1fr 1fr;gap:4mm;width:100%;margin:0;padding-top:4mm;display:grid}.safety-qr-print-identity dt{color:#535650;text-transform:uppercase;letter-spacing:.08em;font-size:9pt}.safety-qr-print-identity dd{overflow-wrap:anywhere;margin:1mm 0 0;font-size:12pt;font-weight:650;line-height:1.2}.safety-qr-print-date{color:#535650;margin:4mm 0 0;padding-top:0;font-size:9pt}.safety-qr-print-code{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:6mm;display:flex}.safety-qr-print-code>img{width:65mm;max-width:100%;height:auto;display:block}.safety-qr-print-code>p{margin:0;font-size:11pt;line-height:1.4}.safety-qr-print-code>.safety-qr-print-reference{color:#535650;overflow-wrap:anywhere;margin-top:3mm;font-size:9pt}.safety-qr-print-reference strong{color:#111;font:750 12pt/1.2 var(--font-display);text-transform:uppercase}}body .class-detail-edit:has(>.class-invitation-trigger)>.icon-button{flex:0 0 40px;width:40px;min-width:40px;height:40px;min-height:40px}body .class-detail-edit:has(>.class-invitation-trigger)>.icon-button>.lucide-pencil{width:17px;height:17px}.invitation-unified-body{padding:24px 28px}.invitation-delivery{border:0;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0;display:flex}.invitation-delivery legend{margin-bottom:10px;font-weight:650}.invitation-selection-tools{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-bottom:16px;font-size:13px;display:flex}.invitation-selection-tools>strong{margin-left:auto}.invitation-compact-recipients{border:1px solid var(--line);border-radius:8px}.invitation-compact-recipients table{width:100%;font-size:13px}.invitation-compact-recipients th{background:#f5f5f1;padding:10px 12px;font-size:11px}.invitation-compact-recipients td{vertical-align:middle;padding:10px 12px}.invitation-compact-recipients td:first-child{min-width:170px}.invitation-compact-recipients small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.invitation-compact-recipients input:not([type=checkbox]){width:100%;min-width:180px;min-height:36px;padding:7px 9px;font-size:13px}.invitation-compact-recipients .check{align-items:center;gap:8px}.invitation-compact-recipients .check input{flex-shrink:0}.invitation-compact-recipients .icon-button{width:34px;height:34px}.invitation-compact-recipients .is-excluded{opacity:.55}.invitation-compact-recipients .invitation-missing-address{color:#943e31}.invitation-copy-choices{border:0;gap:8px;margin:0;padding:0;display:grid}.invitation-selection-help{margin-top:12px;font-size:12px}.invitation-preview-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.invitation-preview-toolbar .field{flex:1;min-width:180px}.invitation-preview-toolbar>span{color:var(--muted);padding-bottom:10px;font-size:12px}.generated-invitation-letter{min-height:0;margin:0 auto 24px;padding:32px;font:14px/1.5 Arial,sans-serif}.generated-invitation-letter header{align-items:center;gap:24px;margin-bottom:20px;padding-bottom:16px;display:flex}.generated-invitation-letter header .fti-public-logo{width:110px}.generated-invitation-letter header strong{font-size:20px;display:block}.generated-invitation-letter header span{color:#535650;font-size:12px;display:block}.generated-invitation-letter p{white-space:pre-line;margin:0 0 14px}.generated-invitation-letter a{color:inherit;overflow-wrap:anywhere;text-decoration:underline}.invitation-unified-workspace>.invitation-pages{display:none}@media (max-width:760px){.invitation-unified-body{padding:18px}.invitation-selection-tools>strong{margin-left:0}.generated-invitation-letter{padding:20px;font-size:13px}.generated-invitation-letter header{gap:16px}.generated-invitation-letter header .fti-public-logo{width:80px}}@media print{.invitation-unified-workspace>.invitation-pages{display:block}.generated-invitation-letter{border:0;margin:0;padding:0;font-size:10.5pt;line-height:1.4}.generated-invitation-letter header{margin-bottom:16px;padding-bottom:12px}.generated-invitation-letter header .fti-public-logo{width:95px}.generated-invitation-letter p{margin-bottom:11px}}.lookup-city-address{white-space:pre-line;display:block}.invitation-letter.designed-invitation-letter{max-width:770px;min-height:0;padding:0;font:14px/1.5 Arial,sans-serif}.designed-invitation-letter table{table-layout:auto}.designed-invitation-letter td{border:0;min-width:0}.designed-invitation-letter tbody tr{height:auto}@media screen and (max-width:760px){.designed-invitation-letter .fti-invitation-content{padding:24px 20px 32px!important}.fti-invitation-response td{display:block;padding:12px 16px!important}.fti-invitation-response a{overflow-wrap:anywhere;white-space:normal!important}}@page fti-invitation{size:letter;margin:.15in}@media print{.invitation-letter.designed-invitation-letter{page:fti-invitation;break-after:page;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:0;width:100%;max-width:none;margin:0;padding:0}.designed-invitation-letter .fti-invitation-design{max-width:none!important}:root:has(.invitation-print-preview){zoom:1}.designed-invitation-letter .fti-invitation-content{padding:24px 44px 28px!important}.designed-invitation-letter .fti-invitation-design{font-size:13px!important;line-height:1.4!important}.designed-invitation-letter .fti-invitation-content>table{margin-bottom:16px!important}.designed-invitation-letter .fti-invitation-content>h1{margin-bottom:14px!important;font-size:22px!important}.designed-invitation-letter .fti-invitation-content>p{margin-bottom:12px!important}.designed-invitation-letter .fti-invitation-content>p:last-child{margin-bottom:0!important}.invitation-letter.designed-invitation-letter:last-child{break-after:auto}}.gradebook-inline-editor .iw-pass-toggle .selected[aria-label] svg{color:currentColor}.gradebook-inline-table .gradebook-module-name{-webkit-line-clamp:unset;overflow-wrap:break-word;word-break:normal;text-overflow:clip;max-height:none;display:block;overflow:visible}.class-student-layout{grid-template-columns:minmax(0,1fr) 265px;align-items:start;gap:20px;display:grid}.class-student-main,.class-student-sidebar{gap:20px;min-width:0;display:grid}.class-student-layout .panel{box-shadow:none;border:0;border-radius:20px;min-width:0;margin:0;padding:24px}.class-student-layout h2{font:700 11px/1.4 var(--font-body);letter-spacing:1.4px;text-transform:uppercase;margin:0}.class-student-layout section>header{justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px;display:flex}.class-student-layout section>header>span,.class-student-help{color:var(--muted);font-size:11px}.class-student-switcher{color:#fff;background:#202223;border-radius:16px;align-items:center;gap:10px;padding:12px;display:flex}.class-student-switcher .icon-button{color:#fff;background:#292b2e;border-color:#393c3e;flex:0 0 46px;width:46px;height:46px;padding:0}.class-student-switcher .icon-button:disabled{color:#85888c}.class-student-select{background:#292b2e;border:1px solid #393c3e;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:46px;padding:5px 12px;display:flex}.class-student-select>svg{flex-shrink:0}.class-student-profile{flex-shrink:0;min-height:46px;padding:10px 14px;font-size:12px}.class-student-filter-note{margin:0;font-size:12px}.class-student-grade-total{align-items:center;gap:18px;margin-bottom:12px;display:flex}.class-student-grade-total>strong{font:700 44px/1 var(--font-display);white-space:nowrap}.class-student-grade-bar{background:#f0f0ed;border-radius:6px;flex:1;height:24px;display:flex;overflow:hidden}.class-student-grade-bar>span{flex-shrink:0}.class-student-grade-bar .theory,.class-student-category-dot.theory{background:#181a1b}.class-student-grade-bar .practical,.class-student-category-dot.practical{background:#6f7075}.class-student-grade-bar .exam,.class-student-category-dot.exam{background:var(--yellow)}.class-student-category-dot{border-radius:2px;width:9px;height:9px;margin-right:9px;display:inline-block}.class-student-layout table{border-collapse:collapse;table-layout:auto;width:100%;margin:0}.class-student-layout th,.class-student-layout td{text-align:left;background:0 0;border:0;padding:11px 10px;font-size:12px}.class-student-layout thead th{border-bottom:1px solid var(--ink);color:#3c4755;letter-spacing:1.4px;text-transform:uppercase;padding-top:8px;padding-bottom:8px;font-size:9px;font-weight:700}.class-student-layout tbody tr:not(:last-child)>*{border-bottom:1px solid #f0f0ed}.class-student-layout tfoot>tr>*{border-top:1px solid #f0f0ed;font-weight:700}.class-student-grade-table td:last-child,.class-student-grade-table th:last-child,.class-student-marks-table td:last-child,.class-student-marks-table th:last-child{text-align:right}.class-student-grade-table td:last-child{font-weight:650}.class-student-layout td.fail{color:#a82a1d}.class-student-layout td.pass{color:#086448}.class-student-text-link{color:var(--ink);text-underline-offset:3px;white-space:nowrap;align-items:center;gap:8px;font-size:11px;font-weight:650;display:inline-flex}.class-student-calendar-scroll{overflow-x:auto}.class-student-layout .class-student-calendar{table-layout:fixed;border-collapse:separate;border-spacing:5px 7px;min-width:540px}.class-student-layout .class-student-calendar th,.class-student-layout .class-student-calendar td{border:0;padding:0;font-size:9px}.class-student-calendar th:first-child{white-space:nowrap;width:58px;font-size:9px}.class-student-calendar-day{color:#344052;background:#f6f6f3;border-radius:5px;align-items:center;gap:8px;min-height:31px;padding:6px 8px;text-decoration:none;display:flex}.class-student-calendar-day:hover{background:#ecece7}.class-student-calendar-day b{min-width:13px;font-size:10px}.class-student-calendar-day>span{flex:1;gap:3px;display:flex}.class-student-calendar-day i{border-radius:2px;flex:1;min-width:8px;height:10px;display:block}.class-student-calendar-day .present,.class-student-attendance-legend .present{background:#87c5a0}.class-student-calendar-day .late,.class-student-attendance-legend .late{background:#f5cc55}.class-student-calendar-day .absent,.class-student-attendance-legend .absent{background:#e99186}.class-student-calendar-day .excused,.class-student-attendance-legend .excused{background:#9ebad2}.class-student-calendar-day .unrecorded,.class-student-attendance-legend .unrecorded{background:#e2e3df}.class-student-calendar-day .closed{background:0 0;border:1px dashed #c7c9c3}.class-student-calendar-outside{height:31px;display:block}.class-student-attendance footer{color:#48505b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:9px;display:flex}.class-student-attendance-legend{flex-wrap:wrap;gap:12px;display:flex}.class-student-attendance-legend span{align-items:center;gap:5px;display:inline-flex}.class-student-attendance-legend i{width:8px;height:8px;display:inline-block}.class-student-calendar-pages{justify-content:space-between;align-items:center;gap:8px;margin-top:14px;font-size:11px;display:flex}.class-student-calendar-pages .button{padding:8px;font-size:11px}.class-student-extra-history{gap:6px;margin-top:18px;font-size:11px;display:grid}.class-student-extra-history h3{margin:0;font-size:12px}.class-student-mark-filters{flex-wrap:wrap;gap:5px;display:flex}.class-student-mark-filters .button{min-height:32px;padding:7px 9px;font-size:10px}.class-student-mark-filters .active{color:#fff;background:#191b1c;border-color:#191b1c}.class-student-marks-table th[scope=row]{overflow-wrap:anywhere;font-weight:500}.class-student-marks-table td:first-child{width:46px}.class-student-module-number{color:#46515e;background:#f0f0ed;border-radius:5px;justify-content:center;min-width:24px;padding:2px 4px;font-size:10px;display:inline-flex}.class-student-mark{background:#f4f4f0;border-radius:6px;justify-content:center;align-items:center;min-width:50px;padding:5px 8px;font-size:11px;font-weight:650;display:inline-flex}.class-student-mark.unmarked{color:#767c78;background:#fff;border:1px dashed #e1e2de}.class-student-mark.pass{color:#086448;background:#e4f3e9}.class-student-mark.fail{color:#a82a1d;background:#fbe6e2}.class-student-in-class dl{margin:12px 0 0}.class-student-in-class dl>div{border-bottom:1px solid #f0f0ed;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 0;display:flex}.class-student-in-class dl>div:last-child{border-bottom:0;padding-bottom:0}.class-student-in-class dt{font-size:11px}.class-student-in-class dd{white-space:nowrap;font:700 34px/1 var(--font-display);margin:0}.class-student-in-class dd small{color:#727c89;font-size:18px}.class-student-notes h2{margin-bottom:12px}.class-student-notes textarea{resize:vertical;background:#f7f7f4;min-height:160px;padding:12px;font-size:12px}.class-student-notes>small{color:var(--muted);margin-top:8px;font-size:10px;display:block}.class-student-note-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.class-student-note-actions .button{padding:9px 12px;font-size:11px}@media (max-width:1000px){.class-student-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.class-student-layout .panel{padding:20px}.class-student-grade-table th,.class-student-grade-table td{padding-left:6px;padding-right:6px}}@media (max-width:760px){.class-student-layout{grid-template-columns:minmax(0,1fr)}.class-student-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.class-student-switcher{flex-wrap:wrap}.class-student-select{min-width:140px}.class-student-profile{margin-left:auto}.class-student-layout section>header{flex-wrap:wrap}}@media (max-width:480px){.class-student-sidebar{grid-template-columns:minmax(0,1fr)}.class-student-layout .panel{padding:18px}.class-student-switcher{gap:7px;padding:9px}.class-student-switcher .icon-button{flex-basis:34px;width:34px;height:40px}.class-student-profile{width:100%}.class-student-mark-filters .button{padding:6px}}.class-student-layout tbody tr{height:auto}.class-student-layout tbody th,.class-student-layout tfoot th{text-transform:none;letter-spacing:normal;color:var(--ink)}.class-student-layout td:first-child{min-width:0}.class-student-in-class dd small{display:inline}.class-communication-dialog{--form-dialog-width:1320px}.class-communication-content .invitation-selection-tools{border-bottom:1px solid var(--line);padding-bottom:16px}.class-communication-content .invitation-compact-recipients td{font-size:13px}.class-communication-content .invitation-compact-recipients td:last-child{width:54px}.class-communication-content .invitation-compact-recipients .check{white-space:normal}@media screen and (min-width:761px){.class-communication-dialog .student-editor-layout{grid-template-columns:264px minmax(0,1fr)}}.class-communication-content .invitation-compact-recipients input:not([type=checkbox]){border:1px solid var(--form-border);background:#fff;border-radius:8px}@media screen and (max-width:760px){.class-communication-dialog .student-editor-heading{padding:18px 20px}.class-communication-dialog .student-editor-heading h3{font-size:32px}.class-communication-dialog .student-editor-heading p{font-size:14px}.class-communication-dialog .class-communication-close{flex-wrap:nowrap;gap:10px;padding:14px 18px}.class-communication-close>button,.class-communication-step-actions .button{width:auto;min-width:0}}.class-student-select.button{color:#fff;background:#292b2e;border-color:#393c3e}.class-student-select>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.class-student-select:hover:not(:disabled){background:#34373a;border-color:#4c5053}.class-student-picker-dialog{width:min(520px,100% - 32px);max-height:min(650px,100dvh - 40px);color:var(--ink);background:#fff;border:0;border-radius:20px;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 20px 60px #0000004d}.class-student-picker-dialog[open]{flex-direction:column;display:flex}.class-student-picker-dialog::backdrop{background:#00000059}.class-student-picker-dialog>header{color:#fff;background:#131412;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;display:flex}.class-student-picker-heading{align-items:center;gap:14px;min-width:0;display:flex}.class-student-picker-dialog>header h2{color:#fff;font:700 32px/1.2 var(--font-form-heading);letter-spacing:0;text-transform:none;margin:0}.class-student-picker-count{background:var(--yellow);color:#131412;min-width:30px;height:30px;font:700 16px/1 var(--font-body);border-radius:999px;flex-shrink:0;place-items:center;padding-inline:8px;display:grid}.class-student-picker-dialog>header .icon-button{color:#fff;background:#292a27;border-color:#292a27;flex:0 0 48px;width:48px;height:48px}.class-student-picker-dialog>header .icon-button:hover:not(:disabled){background:#383a35}.class-student-picker-list{gap:8px;min-height:0;padding:14px;display:grid;overflow-y:auto}.class-student-picker-list .button{color:#131412;width:100%;min-height:64px;font:600 18px/1.35 var(--font-body);text-align:left;white-space:normal;background:#fff;border-color:#0000;justify-content:flex-start;gap:16px;padding:10px 12px;display:flex}.class-student-picker-list .button:hover:not(:disabled){background:#f3f3ef;border-color:#0000}.class-student-picker-list .button[aria-current=true]{background:var(--yellow);border-color:var(--yellow)}.class-student-picker-list .button[aria-current=true]:hover:not(:disabled){background:#f5c800;border-color:#f5c800}.class-student-picker-initials{height:42px;font:700 16px/1 var(--font-body);background:#eeefeb;border-radius:10px;flex:0 0 42px;place-items:center;display:grid}.class-student-picker-list [aria-current=true] .class-student-picker-initials{color:var(--yellow);background:#131412}.class-student-picker-name{overflow-wrap:anywhere;flex:1;min-width:0}.class-student-picker-list .button svg{flex-shrink:0;margin-left:auto}@media (max-width:480px){.class-student-picker-dialog>header{gap:12px;padding:20px 18px}.class-student-picker-dialog>header h2{font-size:28px}.class-student-picker-heading{gap:10px}.class-student-picker-dialog>header .icon-button{flex-basis:40px;width:40px;height:40px}.class-student-picker-list .button{gap:12px;font-size:16px}}.import-before-after-panel{margin-block:24px;padding:0;overflow:hidden}.import-before-after-panel>header{border-bottom:1px solid var(--line);background:#f2f0e9;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.import-before-after-panel>header h3{font:700 18px/1.3 var(--font-body);margin:0}.import-before-after-panel>header>span{color:var(--muted);font-size:13px}.import-before-after-panel>p,.import-before-after-panel>div[role=alert]{margin:0;padding:20px}.import-before-after-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:760px}.import-before-after-table :is(td,th){vertical-align:top;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:14px 16px}.import-before-after-table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.import-before-after-table tbody th{text-transform:none;letter-spacing:normal;font-size:13px}.import-before-after-table td:nth-last-child(2){color:var(--muted)}.import-before-after-table td.import-change-after{color:var(--ink)}.import-changes-footer{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:13px;display:flex}.import-changes-footer .import-review-pagination{white-space:nowrap;gap:8px;margin:0}.import-changes-footer .button{padding-inline:10px}@media (max-width:760px){.import-before-after-panel>header,.import-changes-footer{flex-direction:column;align-items:flex-start}}@media screen and (max-width:760px),screen and (max-width:1100px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){:root{--screen-scale:1;--ui-scale:1}.mobile-navigation-control{grid-template-columns:1fr minmax(0,120px) 1fr;height:64px;padding:8px 12px}.sidebar{padding-top:64px}.workspace{min-height:calc(var(--viewport-stable-height) - 64px)}.main-content{padding:20px 12px}.page-heading{margin-bottom:18px;padding-top:0}.page-heading h1{font-size:34px}.heading-actions{margin-top:12px}.panel{margin-bottom:16px;padding:16px}.filter-surface.grouped-filters{gap:16px;padding:16px}.grouped-filters .grouped-filter-fields{gap:16px}.grouped-filters .filter-actions>.button{height:auto;min-height:44px;padding-inline:12px}.workspace .field :is(input,select,textarea),dialog .field :is(input,select,textarea){font-size:16px}.grouped-filters .field input,.grouped-filters .filter-select-trigger{height:44px;min-height:44px}.class-directory-toolbar{gap:8px;padding:12px}.class-directory-tabs{gap:4px}.class-directory-tabs a{gap:5px;padding-inline:8px;font-size:13px}.student-card,.contractor-card{grid-template-columns:56px minmax(0,1fr);min-height:0}.student-card-rail,.contractor-card-rail{padding:14px 6px}.student-card-avatar,.contractor-card-icon{width:38px;height:38px;font-size:12px}.student-card-heading,.contractor-card-heading{gap:8px;padding:14px 12px 12px}.student-card-heading h2,.contractor-card-heading h2{font-size:16px}.student-directory-ledger{padding:0 12px 12px}.student-directory-ledger .student-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-directory-ledger .student-ledger-summary>:last-child{border-top:0;border-left:1px solid #d8d8d4!important}.student-directory-ledger .student-ledger-summary .student-hours-summary{padding:8px}.student-directory-ledger .student-hours-summary dt{letter-spacing:.04em;font-size:10px}.student-directory-ledger .student-ledger-summary .student-hours-summary dd{font-size:20px}:is(.student-card-info-band,.contractor-card-info-band):not(:has(>div:nth-child(4))){grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}:is(.student-card-info-band,.contractor-card-info-band):not(:has(>div:nth-child(4)))>div:first-child{grid-column:1/-1;padding-right:0}:is(.student-card-info-band,.contractor-card-info-band):not(:has(>div:nth-child(4)))>div:nth-child(2){border-left:0;padding-left:0}.student-dialog{--form-control-height:44px}.student-editor-heading{padding:12px 14px}.student-editor-heading h3{font-size:26px}.student-editor-scroll,:is(.program-editor-dialog,.class-editor-dialog) .form-dialog-scroll{padding:16px 14px}.student-editor-actions{padding-inline:14px}}.student-danger-zone{color:#f2f2f0;background:#292a2d;border-radius:12px;gap:20px;padding:24px;display:grid}.student-danger-zone p{margin:0;line-height:1.6}.student-danger-action{gap:12px;display:grid}.student-danger-zone .button{width:100%;min-height:46px;box-shadow:var(--button-shadow);border-radius:8px;gap:10px;font-weight:600}.student-danger-zone .student-archive-button{color:#f5c518;background:#34332c;border:1px solid #9b812e}.student-danger-zone .student-delete-button{color:#ffa29e;background:#372d2f;border:1px solid #b66a68}.student-danger-zone .student-archive-button:hover:not(:disabled){background:#44402e}.student-danger-zone .student-delete-button:hover:not(:disabled){background:#493033}.student-danger-zone .button:disabled{box-shadow:none;transform:none}.student-danger-zone .button:focus-visible{outline-offset:3px;outline:2px solid #d4d4d0}.student-danger-zone .student-danger-warning{color:#dedbd9;font-size:13px}.student-archived-tag{color:#67500a;background:#fff4d0;border:1px solid #d2c394;border-radius:4px;align-items:center;padding:3px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.student-table-name+.student-archived-tag{margin-left:8px}.student-filter-switches{flex-wrap:wrap;gap:12px 24px;margin-right:auto;display:flex}.grouped-filters .student-filter-switches .roster-eligibility-override{margin:0}@media (prefers-reduced-motion:no-preference){.student-danger-zone .button:hover:not(:disabled){transform:translateY(-1px)}}@media (max-width:540px){.student-danger-zone{padding:18px}.student-filter-switches{width:100%}}.safety-alert-automation{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.safety-alert-automation-title{flex:320px;align-items:center;gap:14px;display:flex}.safety-alert-automation h2,.safety-alert-upcoming h2,.safety-alert-history h2{font:700 17px/1.4 var(--font-form);margin:0}.safety-alert-automation-title p{color:var(--muted);margin:5px 0 0}.safety-alert-channel{align-items:center;gap:10px;display:flex}.safety-alert-channel>span{flex-direction:column;gap:3px;display:flex}.safety-alert-channel>span>span{color:var(--muted);font-size:13px}.safety-alert-schedule-state{border-top:1px solid var(--line);color:var(--muted);flex-basis:100%;margin:0;padding-top:14px;font-size:13px}.safety-alert-upcoming-heading,.safety-alert-history-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.safety-alert-upcoming h2{align-items:center;gap:9px;display:flex}.safety-alert-upcoming-heading p{margin:12px 0 0}.safety-alert-upcoming-heading p>span{color:var(--muted);margin-top:4px;display:block}.safety-alert-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:24px 0 0;padding-top:20px;display:grid}.safety-alert-metrics dt{color:var(--muted);font-size:13px}.safety-alert-metrics dd{font:750 26px/1.2 var(--font-body);font-variant-numeric:tabular-nums;margin:4px 0 0}.safety-alert-contact-warning{color:var(--danger);margin:18px 0 0;font-size:13px}.safety-alert-history-heading{margin-bottom:18px}.safety-alert-table-subline{color:var(--muted);margin-top:4px;font-size:12px;display:block}.safety-alert-runs-table{min-width:850px}.safety-alert-empty{text-align:center;color:var(--muted);padding-block:32px!important}.safety-alert-status{white-space:nowrap;border-radius:3px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.safety-alert-status.is-success{color:var(--success);background:#e7f0e8}.safety-alert-status.is-danger{color:var(--danger);background:#fae9e7}.safety-alert-status.is-pending{color:#665000;background:#fff2bd}.safety-alert-status.is-neutral{color:#565650;background:#f0f0ec}.safety-alert-dialog{width:min(800px,calc(var(--viewport-width) - 32px))}.safety-alert-dialog.is-compact[open]{width:min(560px,calc(var(--viewport-width) - 32px));height:fit-content;min-height:0}.safety-alert-dialog.is-compact .student-hours-dialog-footer{flex-shrink:0}.safety-alert-dialog.is-wide{width:min(1280px,calc(var(--viewport-width) - 32px))}.safety-alert-dialog>.student-hours-dialog-body{min-height:0;overflow:auto}.safety-alert-dialog .program-dialog-heading h2{overflow-wrap:anywhere;min-width:0}.safety-alert-dialog-context{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.safety-alert-filter-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.safety-alert-recipient-table{min-width:950px}.safety-alert-recipient-table td{vertical-align:top;padding-block:16px}.safety-alert-certificates{gap:10px;margin:0;padding:0;list-style:none;display:grid}.safety-alert-certificates li{flex-direction:column;gap:2px;display:flex}.safety-alert-certificates time{color:var(--muted);font-size:13px}.safety-alert-row-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.safety-alert-attempt{max-width:280px;margin-top:10px;font-size:12px}.safety-alert-attempt summary{cursor:pointer;color:var(--muted)}.safety-alert-attempt ul{margin:8px 0;padding-left:16px}.safety-alert-letter{background:#fff;max-width:100%}.safety-alert-letter table{table-layout:auto;min-width:0}.safety-alert-letter th,.safety-alert-letter td{white-space:normal;overflow-wrap:anywhere}@media (max-width:600px){.safety-alert-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.safety-alert-filter-fields{grid-template-columns:minmax(0,1fr)}.safety-alert-letter .fti-alert-content{padding:24px 16px!important}.safety-alert-letter .fti-alert-head td{text-align:left!important;width:auto!important;padding:0 0 16px!important;display:block!important}}.alert-workspace{--iw-dark:#17181a;--iw-line:#e0e0dc;--iw-muted:#62646a;min-width:0}.alert-workspace-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px;display:grid}.alert-active-panel,.alert-recipient-main{min-width:0}.alert-sidebar{gap:16px;display:grid}.alert-sidebar .panel{margin:0;padding:22px}.alert-sidebar h2{font:700 13px/1.3 var(--font-form);text-transform:uppercase;letter-spacing:.07em;margin:0 0 16px}.alert-sidebar-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.alert-sidebar-heading h2{margin:0}.alert-sidebar p{color:var(--muted);font-size:13px;line-height:1.6}.alert-sidebar dl{margin:18px 0;font-size:13px}.alert-sidebar dl>div{margin:10px 0}.alert-sidebar dt{color:var(--muted)}.alert-sidebar dd{margin:4px 0 0;font-weight:600}.alert-legend{gap:12px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.alert-legend li{align-items:center;gap:12px;display:flex}.alert-contact{border:1px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.alert-contact.is-valid,.alert-contact-edit.is-valid{color:#267d50;background:#e4f2e9;border-color:#cee7d8}.alert-contact.is-invalid,.alert-contact-edit.is-invalid{color:#926900;background:#fff2c7;border-color:#f4e1a2}.alert-contact.is-missing,.alert-contact-edit.is-missing{color:#bc302a;background:#fce6e4;border-color:#f7cfcc}.alert-legend .alert-contact{width:28px;height:28px}.alert-recipient-controls{background:#1f2021;border-radius:18px;margin-bottom:20px;padding:18px}.alert-run-date{color:#fff;background:#292a2b;border:1px solid #363738;border-radius:10px;align-items:center;gap:14px;min-height:68px;padding:15px;display:flex}.alert-run-date strong{font-size:14px;display:block}.alert-run-date span{color:#c9c9c3;margin-top:5px;font-size:12px;display:block}.alert-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.button.alert-category{color:#fff;white-space:normal;background:#292a2b;border:2px solid #343535;flex-direction:column;gap:0;min-width:0;padding:0;display:flex;overflow:hidden}.button.alert-category.is-selected{border-color:#ffd329}.alert-category>strong{font-family:var(--font-display);padding:15px 8px;font-size:40px;line-height:1.1}.alert-category>small{color:#fff;text-transform:uppercase;letter-spacing:.05em;text-align:center;background:#343532;align-self:stretch;padding:10px 6px;font-size:11px;font-weight:700;display:block}.alert-recipient-results.panel{padding:0;overflow:hidden}.alert-recipient-results .pagination{margin:0;padding:18px 22px}.alert-readiness-table{min-width:1100px}.alert-readiness-table th{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.alert-readiness-table td{vertical-align:middle}.alert-readiness-table td[rowspan]{vertical-align:top}.alert-readiness-table .alert-student-cell{vertical-align:top;min-width:140px}.alert-readiness-table .alert-course-cell{min-width:0;padding-left:12px}.alert-readiness-table .alert-expiry-date{white-space:nowrap}.alert-readiness-table td>a{font-weight:700}.alert-results-message{padding:28px}.alert-letter-editor{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.alert-letter-editor .panel{min-width:0;margin:0;padding:24px}.alert-letter-editor h2{margin:0 0 14px;font-size:20px}.alert-letter-editor p{font-size:13px;line-height:1.6}.alert-template-form .field{max-width:none;margin-top:18px}.alert-template-form textarea{resize:none;min-height:90px}.alert-template-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.alert-template-heading h2{margin:0}.alert-template-heading .icon-button{flex-shrink:0}.alert-sms-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-muted,#f4f4f1);border-radius:16px;padding:20px;line-height:1.6}.alert-editor-actions{gap:12px;margin-top:22px;display:flex}.alert-preview-subject{overflow-wrap:anywhere;background:#f4f4f1;padding:12px}.alert-draft-preview .safety-alert-letter{overflow-wrap:anywhere}.alert-draft-preview .fti-alert-content{padding:24px!important}.alert-workspace-grid.is-letter{grid-template-columns:minmax(0,1fr)}.alert-workspace-grid.is-letter .alert-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-schedule-form .field{max-width:none;margin-bottom:20px}.alert-schedule-form p{font-size:14px;line-height:1.6}@media (max-width:1100px){.alert-workspace-grid{grid-template-columns:minmax(0,1fr)}.alert-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.alert-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-sidebar,.alert-workspace-grid.is-letter .alert-sidebar,.alert-letter-editor{grid-template-columns:minmax(0,1fr)}.alert-recipient-controls{padding:16px}}.alert-contact-edit.is-valid>svg{color:#267d50}.alert-contact-edit.is-invalid>svg{color:#926900}.alert-contact-edit.is-missing>svg{color:#bc302a}.alert-contact-editor .field{max-width:none;margin:0}.alert-contact-editor input{width:100%;min-width:0}.alert-contact-student{color:var(--muted);margin:0 0 16px;font-size:13px}.student-notes-preview{padding:0 24px 20px}.student-notes-preview article+article{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.student-notes-preview time{color:var(--muted);font-size:13px;font-weight:600}.student-notes-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.6}.student-notes-preview article>p{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.student-notes-log-dialog .student-hours-dialog-body{min-height:0;overflow:auto}.student-notes-log-dialog .program-dialog-heading h2{overflow-wrap:anywhere;min-width:0}.student-notes-log-dialog>.student-hours-dialog-footer{flex-shrink:0}.student-note-entry-form{border-bottom:1px solid var(--line);gap:16px;margin-top:20px;padding-bottom:20px;display:grid}.student-note-entry-form .field{max-width:none}.student-note-entry-form input[type=date]{max-width:200px}.student-note-entry-form textarea{resize:none;width:100%;min-height:160px}.student-note-entry-actions{justify-content:flex-end;gap:12px;display:flex}@media (max-width:700px){.student-notes-preview{padding-inline:18px}}.student-notes-log-dialog .program-dialog-heading{flex-wrap:nowrap;align-items:flex-start}:is(.student-notes-card,.student-course-summary)>.student-section-heading{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}:is(.student-notes-card,.student-course-summary)>.student-section-heading h2{min-width:0;margin:0}:is(.student-notes-card,.student-course-summary)>.student-section-heading>.student-history-link{flex-shrink:0;margin-left:auto}.student-notes-table{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:16px}.student-notes-table .student-records-table{table-layout:fixed;min-width:480px}.student-note-date-column{width:140px}.student-note-actions-column{width:112px}.student-notes-table .student-records-table td{vertical-align:top;padding-block:12px}.student-notes-table .student-note-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.student-notes-table time{white-space:nowrap}.class-roster-board:not(.class-final-results) .class-roster-lane>ul{height:380px}.class-roster-exits{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;display:grid}.class-roster-board:not(.class-final-results) .class-roster-exits .class-roster-lane>ul{height:155px}.lane-dropped h3,.class-roster-entry-actions .roster-action-dropped:is([aria-pressed=true],:hover:not(:disabled)){color:#505050;background:#e4e4e4}.is-dropped-out,:is(.attendance-grid,.gradebook-table,.class-final-results table) .is-dropped-out>:is(td,th),.is-dropped-out .gradebook-summary{color:#707070;background:#f0f0ee}.is-dropped-out :is(button,input,textarea){color:#707070}.dropped-out-label{color:#707070;font-size:12px;font-weight:600;display:block}.class-access-dialog .class-access-table{table-layout:auto;min-width:540px!important}.class-access-dialog .class-access-table td:first-child{white-space:normal}.class-roster-identifiers{align-items:center;gap:10px;margin:18px 0;display:flex}.class-roster-identifiers input{width:18px;height:18px}.class-print-sheet{display:none}.student-alert-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-alert-heading .button{min-height:32px;padding:6px 10px}.student-report-alerts{margin:16px 0 0;padding:0;list-style:none}.student-report-alerts li{border-bottom:1px solid var(--line);gap:12px;padding:16px 0;display:flex}.student-report-alerts li>svg{flex-shrink:0;margin-top:3px}.student-report-alerts p{margin:5px 0 0;font-size:14px}.student-report-reason{white-space:pre-wrap;overflow-wrap:anywhere}.student-portal-page{background:var(--canvas,#f5f3ee);place-items:center;min-height:100dvh;padding:48px 20px;display:grid}.student-portal-panel{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(100%,540px);overflow:hidden}.student-portal-panel>header{color:#fff;background:#1f2023;flex-wrap:wrap;align-items:center;gap:12px;padding:28px;display:flex}.student-portal-fti{width:100%;font-size:14px}.student-portal-panel h1{font-family:var(--font-display);flex:1;margin:0;font-size:42px}.student-portal-panel>p{padding:28px}.student-portal-form{gap:12px;padding:28px;display:grid}.student-portal-form p{margin:0 0 8px;line-height:1.5}.student-portal-form input,.student-portal-form textarea{width:100%;min-width:0}.student-portal-form input{font-variant-numeric:tabular-nums;font-size:20px}.student-portal-form textarea{resize:vertical}.student-portal-form label{font-weight:700}.student-portal-form .button{min-height:44px}.student-portal-class{padding:24px 28px 0}.student-portal-class p{margin:0 0 8px}.student-portal-class h2{font-family:var(--font-display);margin:0;font-size:30px}.student-report-fields{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.student-report-fields legend{margin-bottom:12px;font-weight:700}.student-report-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:700px){.iw-today-links{gap:10px;width:100%;min-width:0}.iw-today-links .button{gap:8px;padding:12px 10px;font-size:14px}.iw-today-links .button svg{flex-shrink:0;width:18px}.student-portal-page{align-items:start;padding:16px}.student-portal-form,.student-portal-panel>header{padding:22px}}@media print{body:has(>.class-print-sheet)>:not(.class-print-sheet){display:none!important}body:has(>.class-print-sheet){background:#fff;overflow:visible!important}.class-print-sheet{color:#111;padding:0;font-size:11pt;display:block}.class-print-sheet h1{font-size:22pt}.class-print-sheet h2{margin:0 0 12pt;font-size:16pt}.class-print-sheet table{border-collapse:collapse;width:100%}.class-print-sheet th,.class-print-sheet td{text-align:left;color:#111;background:#fff;border-bottom:1px solid #aaa;padding:8pt}.class-print-sheet thead{display:table-header-group}.class-print-sheet tr{break-inside:avoid}.student-pin-cards{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-pin-card{break-inside:avoid;border:1px dashed #666;min-height:155pt;padding:16pt;position:relative}.student-pin-card>svg{background:#fff;position:absolute;top:12px;left:-8px}.student-pin-card h2{margin:0 0 8pt;font-size:14pt}.student-pin-card h3{margin:0;font-size:13pt}.student-pin-card p{overflow-wrap:anywhere;margin:6pt 0}.student-pin-card dl{grid-template-columns:45pt 1fr;gap:5pt;margin:10pt 0;display:grid}.student-pin-card dd{font-variant-numeric:tabular-nums;margin:0;font-size:14pt;font-weight:700}.student-pin-card small{font-size:9pt}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}
