@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-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}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.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}.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}.uppercase{text-transform:uppercase}.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)}.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);--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;--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.1;zoom:var(--ui-scale)}}@media screen and (min-width:761px) and (hover:hover) and (pointer:fine){:root{--ui-scale:calc(.9 * var(--screen-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{color:#dedcd3;border-radius:8px;align-items:center;gap:12px;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 24px}.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{min-width:0;max-width:var(--workspace-max-width);flex:1;width:100%;margin:0 auto;padding:44px clamp(28px,4vw,72px)}.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;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}.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,1fr) repeat(2,112px)}: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}:is(.student-card-contact-link,.contractor-card-contact-link).is-missing{color:#555960;font-weight:500}a:is(.student-card-contact-link,.contractor-card-contact-link):hover{text-decoration:underline}a: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(:is(.student-card-info-band,.contractor-card-info-band),: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:14px}:is(.student-card-info-band,.contractor-card-info-band)>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}.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-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;width:44px;height:44px;min-height:44px;margin-top:auto;padding:0;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}.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/-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-required{color:#bdbdb6;margin:auto 0 0;padding-top:24px;font-size:12px}.class-editor-required span{color:#ff9b91}.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-delete-link,.student-editor-desktop-close{display:none}.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:50%;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), 0 0 0 6px white;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, 3.3vw, 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-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-profile-notes{white-space:pre-wrap}.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, 2.5vw, 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-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-layout{grid-template-columns:minmax(300px,1fr) minmax(0,2.9fr)}.student-profile-heading-actions{flex-shrink:0;align-self:flex-start;margin-left:auto}.student-profile-heading-actions>.button{color:var(--ink);border:1px solid var(--line);background:#fff}.student-profile-heading-actions>.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-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{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-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,.management-status.is-draft{color:#665000;background:#fff3bd}.management-status.is-full{color:#835200;background:#ffecd0}.management-status.is-past,.management-status.is-closed,.management-status.is-finalized{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:nth-child(2),.user-table td:nth-child(3){min-width:140px}.user-table td:nth-child(4),.user-table td:nth-child(5){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}.data-importer-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.data-import-hours,.data-import-contractor{gap:20px;min-width:0;display:grid}.data-import-hours{grid-area:1/1}.data-import-contractor{grid-area:1/2}.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-editor{background:var(--soft);border-radius:8px;margin:18px 0;padding:18px}.hours-entry-editor input{max-width:220px;margin:8px 0 12px;display:block}@media (max-width:800px){.data-importer-grid{grid-template-columns:minmax(0,1fr)}.data-import-hours,.data-import-contractor{grid-area:auto/1}}.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,.data-import-hours>.panel>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}.data-importer-grid .panel,.data-importer-grid .contractor-import-review,.data-importer-grid .hours-import-review{min-width:0;max-width:100%}.data-importer-grid .panel-heading{flex-wrap:wrap;gap:12px}.data-importer-grid .import-file-picker{flex-wrap:wrap}.data-importer-grid .import-file-description{overflow-wrap:anywhere;flex:140px;min-width:0}.data-importer-grid .import-prepare{white-space:normal}.hours-import-review>p{overflow-wrap:anywhere}.data-importer-grid .contractor-import-review{margin:0}.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}}.data-import-status{gap:20px;min-width:0;display:grid}.import-view-recent{margin-top:20px;font-weight:650;display:inline-flex}.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 h1{min-width:0;font-family:var(--font-display);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:12px}.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:13px}.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:12px}.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:12px}.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:12px;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:14px;font-weight:800}.class-status-option>span>span{color:#a5a6a9;font-size:12px;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-postponed{color:#803717;background:#f7ded2}.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-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:13px;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 14px 12px 16px;font-size:14px;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:#803717;background:#f7ded2}.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:14px;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:#953e1c;background:#f9e1d7}.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:13px}.class-activity-footer{color:var(--muted);border-top:1px solid #eeede9;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:10px;font-size:12px;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:11px;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 h1{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;border:1px solid var(--danger);width:min(260px,80vw);color:var(--danger);background:#fff;border-radius:4px;padding:10px 12px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0}: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}:is(button,a):is(.button,.icon-button):has(>.lucide-pencil):disabled{box-shadow:none}@media (prefers-reduced-motion:no-preference){:is(button,a):is(.button,.icon-button):has(>.lucide-pencil){transition:background-color .15s,border-color .15s,transform .15s}:is(button,a):is(.button,.icon-button):has(>.lucide-pencil):hover:not(:disabled){transform:translateY(-1px)}}.student-photo-overlay>.lucide-pencil{border:1px solid var(--line);color:#222;width:32px;height:32px;box-shadow:var(--button-shadow);background:#fff;border-radius:8px;padding:7px}.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-hours{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,.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,.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,.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),.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:fixed;min-width:0}.student-contract-table th:first-child{width:13%}.student-contract-table th:nth-child(2){width:14%}.student-contract-table th:nth-child(3){width:13%}.student-contract-table th:nth-child(4){width:8%}.student-contract-table th:nth-child(5){width:6%}.student-contract-table th:last-child{width:68px}.student-contract-table td:first-child{min-width:0}.student-contract-table th,.student-contract-table td{white-space:normal;overflow-wrap:anywhere;padding-inline:6px}.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:1100px}}@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-rail-note,.contacts-imported{color:#d5d7da;overflow-wrap:anywhere;margin:20px 24px}.contacts-imported{border-top:1px solid #626467;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-rail-note,.contacts-imported{display:none}}.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 .class-detail-edit>:is(button,a).icon-button,body .contractor-contacts-control>.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 .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}@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}
