:root{--ink:#17201f;--ink-soft:#46514d;--muted:#69736f;--paper:#eceee9;--surface:#f7f8f4;--surface-soft:#f1f3ee;--line:#d2d7d1;--line-soft:#dfe3de;--sidebar:#17201F;--sidebar-soft:#27322f;--brand:#1f7563;--brand-dark:#155849;--brand-soft:#dce9e4;--green:var(--brand);--green-dark:var(--brand-dark);--mint:var(--brand-soft);--marker:#e4c878;--lime:var(--marker);--amber:#a85b16;--red:#b42318;--shadow:none;--shadow-soft:none;--radius:6px;--radius-control:4px;--radius-state:2px;--radius-chip:999px;--font-ui:"PingFang TC","Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif;--font-display:var(--font-ui);--font-meta:ui-monospace,"SFMono-Regular","Menlo","Consolas",monospace;--motion-fast:120ms;--motion-normal:160ms;--motion-overlay:200ms;--motion-morph:280ms;--motion-pulse:2.2s;--motion-spin:0.8s;--motion-shimmer:150ms;--ease-standard:cubic-bezier(0.22,1,0.36,1);--ease-press:cubic-bezier(0.2,0,0,1);--depth-background:0;--depth-workspace:1;--depth-chrome:20;--depth-overlay:30;--depth-skip:100;--chrome-blur:0px;--chrome-fill:#f7f8f4;--page-shell-max:1440px;--page-inline:clamp(20px,4vw,62px);--page-top:38px;--page-bottom:70px;color-scheme:light}.social-shell{width:min(100%,var(--page-shell-max));min-height:100vh;margin:0 auto;padding:var(--page-top) var(--page-inline) var(--page-bottom);background:var(--paper);color:#17201F}.social-center{display:grid;place-content:center;justify-items:center;gap:12px;min-height:50vh;text-align:center}.social-hero{max-width:1320px;margin:0 auto 22px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.social-kicker{display:none}.social-hero h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.social-hero p{margin:0;color:#69736F;max-width:760px;line-height:1.6}.social-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0}.social-card{padding:18px 0;min-width:0}.social-wide{grid-column:1/-1}.social-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.social-title svg{display:none}.social-title h2{margin:0}.social-title small{color:#737c90}.chat-layout,.comment-box,.messages,.social-composer,.social-form{display:grid;gap:11px}.social-list{display:grid;gap:0}.social-form label,.social-form-legend{color:#46514D;font-size:13px;font-weight:700}.chat-layout input,.chat-layout select,.social-composer textarea,.social-form input,.social-form select,.social-form textarea{width:100%;margin-top:5px;min-height:44px;border:1px solid #d8dce5;border-radius:var(--radius-control);padding:9px 11px;background:white;color:#17201F}.comment-box textarea,.social-composer textarea,.social-form textarea{min-height:88px;resize:vertical}.social-item{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:14px 0}.social-item p{white-space:pre-wrap;overflow-wrap:anywhere}.social-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.social-item-head small,.social-item-head time,.social-item>small{color:#69736F;font-size:12px}.social-item-head>span{background:#DCE9E4;color:#155849;border-radius:var(--radius-chip);padding:4px 8px;font-size:11px}.social-registration-stubs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--line)}.social-registration-stub{display:grid;gap:7px;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);background:transparent}.social-registration-stub>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.social-registration-stub span{color:#69736F;font-size:10px;font-weight:800;letter-spacing:.14em}.social-registration-stub strong{color:#155849;font-size:12px}.social-registration-stub p{margin:0;color:#17201F;font-size:17px;font-weight:850}.social-registration-stub small{color:#69736F;font-size:11px;line-height:1.5}.social-registration-stub small:last-child{color:#895B1D}.social-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chat-layout button,.comment-box button,.social-actions a,.social-actions button,.social-form button,.social-item button{min-height:40px;border:0;border-radius:var(--radius-control);padding:8px 0;background:transparent;color:#155849;font-weight:750;text-decoration:none}.primary-action{justify-content:center;border:0!important;border-radius:var(--radius-control);padding:9px 15px;background:#1F7563!important;color:white!important;font-weight:800}.primary-action,.secondary-action{display:inline-flex;align-items:center;gap:7px;min-height:42px}.secondary-action{border:0;border-radius:var(--radius-control);padding:9px 0;background:transparent;color:#155849;text-decoration:none;font-weight:750}.social-actions .danger-action,.social-form .danger-action{border-color:#e8baba;background:#fff2f2;color:#a13b3b}.why-seen{background:#E5EEEA;border-radius:var(--radius);padding:8px 10px;color:#155849;font-size:12px;margin-bottom:10px}.comment-box{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.social-poll{display:grid;gap:6px;margin-bottom:10px;padding:10px;background:#F4F6F2;border-radius:var(--radius)}.social-poll>small{color:#69736F;font-size:12px;line-height:1.5}.social-poll-tally{margin:0;color:#155849;font-weight:750}.social-poll-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px solid var(--line)}.social-poll-option:first-child{border-top:0}.social-poll-option>span{color:#69736F;font-size:12px;white-space:nowrap}.community-management,.message-search,.social-poll-composer{padding:10px;background:#F4F6F2;border-radius:var(--radius)}.community-management>div{display:grid;gap:4px}.message-search .social-item:first-of-type{border-top:0}.comment-box>div{padding:8px 10px;background:#E5EEEA;border:1px solid #b9ccc6}.comment-box p{margin:3px 0 8px}.messages{max-height:320px;overflow-y:auto;padding:10px;background:#F4F6F2}.message,.messages{border-radius:var(--radius)}.message{display:grid;gap:2px;padding:9px;background:white}.message small{color:#69736F}.social-notice{max-width:1320px;margin:0 auto 18px;padding:12px 15px;border-radius:var(--radius)}.social-notice.success{color:#16744a;background:#eafbf3}.social-notice.error{color:#a13b3b;background:#fff0f0}.social-notice.blocked{color:#895b1d;background:#fff7e8}.social-empty{color:#69736F}.blocked-inline{color:#895b1d!important;background:#fff7e8;border-radius:var(--radius);padding:8px;font-size:12px}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.blocked-capability{padding:13px;border:1px solid #f2ddb8;border-radius:var(--radius);background:#fffaf0}.blocked-capability span{margin-left:7px;color:#9b651e;font-size:11px}.blocked-capability p{color:#795c38;font-size:12px}.report-form{margin-top:14px;border-top:1px solid #eceef2;padding-top:14px}@media (max-width:820px){.social-hero{display:block}.social-hero .social-actions{margin-top:14px}.social-grid{grid-template-columns:1fr}.social-wide{grid-column:auto}.capability-grid{grid-template-columns:1fr}}.career-shell{width:min(100%,var(--page-shell-max));min-height:100vh;margin:0 auto;padding:var(--page-top) var(--page-inline) var(--page-bottom);background:var(--paper);color:#17201F}.account-login-shell{max-width:760px;margin:0 auto}.platform-day-shell{max-width:720px;margin:0 auto;display:grid;gap:18px}.platform-day-focus{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px 18px 16px;display:grid;gap:8px}.platform-day-kicker{margin:0;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.02em}.platform-day-focus h2{margin:0;font-size:1.35rem;letter-spacing:-.02em;color:var(--ink)}.platform-day-focus p{margin:0;color:var(--ink-soft);line-height:1.55}.platform-day-focus .primary-action{margin-top:8px;justify-self:start}.platform-day-queue{display:grid;gap:8px}.platform-day-queue h2{margin:0;font-size:1rem;color:var(--ink)}.platform-day-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.platform-day-list>li{border-bottom:1px solid var(--line)}.platform-day-list a,.platform-day-list>li>span{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;color:inherit;text-decoration:none}.platform-day-list a>span,.platform-day-list>li>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;min-height:0;padding:0;border:0}.platform-day-list strong{font-size:.98rem;color:var(--ink)}.platform-day-list small{color:var(--muted);font-size:.86rem;line-height:1.4}.platform-day-more{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:10px}.platform-day-more:not([open])>:not(summary){display:none}.platform-day-more>summary{cursor:pointer;font-weight:800;color:var(--ink);list-style:none}.platform-day-more>summary::-webkit-details-marker{display:none}.career-shell>.platform-day-more{margin-top:8px;gap:16px}.career-shell>.platform-day-more>summary{min-height:44px;display:flex;align-items:center;color:var(--brand-dark);font-size:15px}.career-shell .platform-day-more .platform-day-more{margin-top:4px;padding-top:8px;border-top:1px solid var(--line-soft)}.career-shell .platform-day-more .platform-day-more>summary{min-height:40px;font-size:14px}.sidebar-more{margin-top:8px;padding-top:8px}.sidebar-more>summary{min-height:40px;display:flex;align-items:center;color:#a7b7b1;font-size:13px;font-weight:700}.sidebar .nav-home-primary{margin:0;padding:0;list-style:none}.platform-course-home{max-width:760px;margin:0 auto;display:grid;gap:18px}.platform-course-home .welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.platform-course-home .welcome-copy{margin:6px 0 0;color:var(--ink-soft);line-height:1.5;max-width:36rem}.platform-course-list{display:grid;gap:8px}.platform-course-list .panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.platform-course-list .panel-heading h2{margin:0;font-size:1rem;color:var(--ink)}.platform-course-more{display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid var(--line);padding-top:12px}.platform-course-more a{color:var(--brand-dark);text-decoration:none;font-weight:750;font-size:.92rem}.platform-persona-switch{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.platform-persona-switch button{min-height:36px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:6px 12px;font-weight:750;cursor:pointer}.platform-persona-switch button.platform-persona-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.platform-day-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.platform-day-button>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.account-login-card form,.account-provider-list{display:grid;gap:12px}.account-login-card input{min-height:48px;padding:0 14px}.account-login-card input,.account-login-card textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:#17201F;font:inherit}.account-login-card textarea{min-height:120px;padding:12px 14px;resize:vertical}.account-login-card input:focus-visible,.account-login-card textarea:focus-visible{outline:3px solid rgba(31,117,99,.22);border-color:#1F7563}.account-login-card>summary{cursor:pointer;list-style:none;display:grid;gap:4px;font:inherit;color:#17201F}.account-login-card>summary::-webkit-details-marker{display:none}.account-login-card[open]>summary{margin-bottom:12px}.career-center{display:grid;place-content:center;justify-items:center;min-height:45vh;gap:12px;text-align:center}.career-hero{max-width:1320px;margin:0 auto 22px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.career-hero>div:first-child>span{display:none}.career-hero h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.career-hero p{margin:0;color:#69736F;max-width:760px;line-height:1.6}.career-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0}.career-card{padding:18px 0;min-width:0}.career-wide{grid-column:1/-1}.career-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.career-title svg{display:none}.career-title h2{margin:0}.career-form,.career-staff-detail,.career-workflow{display:grid;gap:11px}.career-list{display:grid;gap:0}.career-form label,.offer-item label{color:#46514D;font-size:13px;font-weight:700}.career-form input,.career-form select,.career-form textarea,.career-search input,.offer-item input{width:100%;min-height:44px;margin-top:5px;border:1px solid #d8dce5;border-radius:var(--radius-control);padding:9px 11px;background:white;color:#17201F}.career-form textarea{min-height:88px;resize:vertical}.career-form-inline{grid-template-columns:repeat(3,minmax(0,1fr))}.career-divider{height:1px;background:#e5e7eb;margin:4px 0}.career-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.career-chips span{padding:6px 9px;border-radius:var(--radius-chip);background:#DCE9E4;color:#155849;font-size:11px}.career-item{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:14px 0}.career-item p{white-space:pre-wrap;overflow-wrap:anywhere;color:#46514D}.career-item small{display:block;color:#69736F;margin-top:4px}.career-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.career-item-head>span{padding:4px 8px;background:#DCE9E4;color:#155849;border-radius:var(--radius-chip);font-size:11px}.career-shell .career-item-head>span{padding:0;background:transparent;color:#46514D;border-radius:0;font-size:12px;font-weight:650}.registration-status-meta{display:grid;gap:4px;margin-top:8px;color:#46514D;font-size:12px;line-height:1.45}.registration-status-meta p{margin:0}.iot-status-meta{display:grid;gap:4px;margin-top:8px;color:#46514D;font-size:12px;line-height:1.45}.iot-status-meta p{margin:0}.attendance-record-slip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-top:14px}.attendance-record-mark{min-height:32px;display:inline-grid;place-content:center;padding:6px 10px;border:1px solid var(--line);background:#F4F6F2;text-align:center}.attendance-record-mark.finalized{border-color:#17201F}.attendance-record-mark.empty{color:#69736F}.attendance-record-mark span{display:none}.attendance-record-mark strong{color:#17201F;font-size:14px;font-weight:800;letter-spacing:0}.attendance-record-facts{min-width:0}.attendance-status-meta{display:grid;gap:4px;color:#46514D;font-size:12px;line-height:1.45}.attendance-status-meta p{margin:0}.attendance-record-facts .career-chips{margin-top:0}.career-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.career-item .career-actions{margin-top:10px}.career-actions button,.career-form button,.career-item button,.career-staff-detail button{min-height:40px;border:0;border-radius:var(--radius-control);padding:8px 0;background:transparent;color:#155849;font-weight:750}.career-offer-reject{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.career-offer-reject-title{margin:0 0 8px;font-size:12px;font-weight:750}.career-offer-reasons{display:flex;flex-wrap:wrap;gap:7px}.career-offer-reasons button{min-height:36px;padding:7px 10px;border:1px solid var(--line)}.career-offer-reasons button.is-selected{border-color:#4F8E7E;background:#E5EEEA;color:#155849}.career-offer-reject textarea{width:100%;min-height:76px;margin-top:5px;resize:vertical}.career-search{display:flex;gap:9px;margin-bottom:12px}.career-search input{margin:0}.career-search button{min-width:100px;border:0;border-radius:var(--radius-control);background:#1F7563;color:white;font-weight:800}.career-blocked{color:#895b1d!important;background:#fff7e8;border:1px solid #f2ddb8;border-radius:var(--radius);padding:9px}.career-blocked,.career-safe{font-size:13px;line-height:1.55}.career-safe{color:var(--ink-soft)!important;background:transparent;padding:0;max-width:42rem}.career-explanation,.career-result{margin-top:12px;padding:12px 0;border-top:1px solid var(--line);background:transparent;color:var(--ink)}.career-result{display:grid;gap:4px}.career-result span{overflow-wrap:anywhere}.career-private{display:grid;gap:9px;padding:14px;border:1px solid #b9ccc6;border-radius:var(--radius);background:#F7FBF9}.career-private>strong{color:#155849}.career-empty{color:#69736F}.career-capabilities{display:grid;gap:8px}.career-capabilities>div{padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.career-capabilities span{margin-left:8px;color:#895b1d}.career-capabilities p{color:#765b38;font-size:12px}.career-capabilities>div.capability-truth.is-on-device,.career-capabilities>div.capability-truth.is-ready{border-color:#B9CCC6;background:#E5EEEA}.career-capabilities>div.capability-truth.is-trial,.career-capabilities>div.capability-truth.is-waiting{border-color:#DCE9E4;background:#f7fbf9}.registration-processing-sheet{padding:0 16px 16px;background:var(--surface);border:1px solid var(--line);border-radius:0}.registration-sheet-meta{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);border-bottom:1px solid var(--line);font-family:var(--font-meta);font-size:10px;font-weight:750}.registration-processing-sheet>p{max-width:720px;margin:13px 0;color:var(--ink-soft);font-size:11px;line-height:1.6}.registration-processing-sheet ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.registration-processing-sheet li{display:grid;min-width:0;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 14px 4px 0}.registration-processing-sheet li+li{padding-left:14px;border-left:1px dashed var(--line)}.registration-sheet-number{color:var(--green-dark);font-family:var(--font-meta);font-size:12px;font-weight:850;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.registration-sheet-copy{display:grid;align-content:start;gap:3px}.registration-sheet-copy>span{color:var(--muted);font-size:10px;font-weight:700}.registration-sheet-copy strong{position:relative;z-index:0;width:fit-content;color:var(--ink-soft);font-size:13px}.registration-sheet-copy small{color:var(--muted);font-size:10px;line-height:1.5}.registration-processing-sheet li.is-recorded strong{color:var(--green-dark)}.registration-processing-sheet li.is-recorded strong:after{position:absolute;z-index:-1;right:-3px;bottom:0;left:-3px;height:.46em;background:var(--marker);content:""}.registration-processing-sheet li.is-blocked strong{color:#895b1d}.career-notice{max-width:1320px;margin:0 auto 18px;padding:12px 15px;border-radius:var(--radius)}.career-notice.success{color:#16744a;background:#eafbf3}.career-notice.error{color:#a13b3b;background:#fff0f0}.career-notice.blocked{color:#895b1d;background:#fff7e8;display:flex;gap:7px;align-items:center}.career-check{display:flex;gap:8px;align-items:center}.career-check input{width:auto;min-height:auto;margin:0}.career-busy{position:fixed;right:20px;bottom:20px;display:flex;align-items:center;gap:7px;background:#17201F;color:white;padding:10px 14px;border-radius:var(--radius);box-shadow:var(--shadow)}.degree-shell .career-hero>div:first-child>span,.degree-shell .career-title svg{display:none}.degree-course-list{display:grid;gap:8px;margin-bottom:13px}.degree-course-list .career-check{align-items:flex-start;padding:10px;border:1px solid #dbe7e5;border-radius:var(--radius-control);background:#f6fbfa}.degree-progress{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.degree-progress strong{color:#0f766e;font-size:36px}.degree-progress span{color:#69736F}.career-json{max-height:360px;overflow:auto;padding:13px;border-radius:var(--radius);background:#17201F;color:#d1fae5;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:820px){.career-hero{display:block}.career-hero .career-actions{margin-top:14px}.career-grid{grid-template-columns:1fr}.career-wide{grid-column:auto}.career-capabilities,.career-form-inline{grid-template-columns:1fr}.career-search{display:grid}.registration-processing-sheet ol{grid-template-columns:1fr}.registration-processing-sheet li{padding:13px 0}.registration-processing-sheet li+li{padding-left:0;border-top:1px dashed var(--line);border-left:0}}.campus-work-mode-queue{display:grid;gap:6px;max-width:1320px;margin:0 auto 18px}.campus-work-mode-queue__title{margin:0;color:#46514D;font-size:12px;font-weight:900}.campus-work-mode-queue__list{display:grid;gap:0;padding-top:0;padding-bottom:0}.campus-work-mode-queue__row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.campus-work-mode-queue__row:last-child{border-bottom:0}.campus-work-mode-queue__row.is-selected{background:#DCE9E4}.campus-work-mode-queue__body{flex:1 1;min-width:0;display:grid;gap:2px}.campus-work-mode-queue__label{color:#17201F;font-size:14px;font-weight:900}.campus-work-mode-queue__meta{color:#69736F;font-size:11px;line-height:1.45}.campus-work-mode-queue__chevron{color:#155849;font-size:16px;font-weight:900}button.text-action{background:transparent;border:0;color:#155849;font-size:13px;font-weight:800;min-height:40px;padding:0;text-align:left;cursor:pointer}.dorm-shell{width:min(100%,var(--page-shell-max));min-height:100vh;margin:0 auto;padding:var(--page-top) var(--page-inline) var(--page-bottom);background:var(--paper);color:#17201F}.dorm-center{display:grid;place-content:center;justify-items:center;gap:12px}.dorm-hero{max-width:1320px;margin:0 auto 22px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.dorm-hero h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.dorm-hero p{margin:0;line-height:1.6}.dorm-hero p,.dorm-truth{color:#69736F;max-width:720px}.dorm-truth{margin:0 0 10px;font-size:12px;line-height:1.55}.dorm-grid{max-width:1320px;margin:18px auto;display:grid;grid-template-columns:1fr;gap:0}.dorm-card{padding:18px 0;min-width:0}.dorm-span{grid-column:1/-1}.dorm-actions,.dorm-form-row,.dorm-item-head,.dorm-title{display:flex;align-items:center;gap:10px}.dorm-title{margin-bottom:16px}.dorm-title>svg{display:none}.dorm-title h2{margin:2px 0 0}.dorm-item-head{justify-content:space-between}.dorm-item-head span{border-radius:0;background:transparent;color:#46514D;padding:0;font-size:12px;font-weight:650}.dorm-form,.dorm-options{display:grid;gap:11px;margin-top:14px}.dorm-list{display:grid;gap:0;margin-top:14px}.dorm-item{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:14px 0}.dorm-qualification-tag{display:grid;gap:7px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-left:2px solid #1f7563;background:#F4F6F2}.dorm-qualification-tag>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dorm-qualification-tag span{color:#69736F;font-size:10px;font-weight:800;letter-spacing:normal}.dorm-qualification-tag strong{color:#155849;font-size:12px}.dorm-qualification-tag p{margin:0;color:#17201F;font-size:16px;font-weight:850}.dorm-qualification-tag small{margin:0;color:#895B1D;font-size:11px}.dorm-item small{display:block;color:#768095;margin-top:5px}.dorm-item p{color:#46514D;line-height:1.5}.dorm-options{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.dorm-options label{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #b9ccc6;border-radius:var(--radius)}.dorm-options label.is-disabled{opacity:.5}.dorm-actions input,.dorm-form input,.dorm-form select,.dorm-form textarea,.dorm-form-row input,.dorm-toolbar input{width:100%;min-height:44px;border:1px solid #d8dce5;border-radius:var(--radius-control);padding:9px 11px;background:white;color:#17201F}.dorm-form textarea{min-height:90px;resize:vertical}.dorm-form label{color:#46514D;font-size:13px}.dorm-inline-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:6px}.dorm-inline-actions .secondary-action{min-width:76px}.dorm-form label input[type=checkbox]{width:auto;min-height:auto;margin-right:6px}.dorm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-toolbar{max-width:1320px;margin:0 auto;padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dorm-toolbar label{color:#596276;font-size:12px;font-weight:700}.dorm-toolbar input{display:block;margin-top:5px}.dorm-empty{color:#69736F;padding:18px 0}.dorm-blocked{background:#fff7e8;border:1px solid #f2ddb8;border-radius:var(--radius-control);padding:10px;color:#895b1d!important}.dorm-danger{display:flex;align-items:center;gap:6px;color:#a13b3b!important}.danger-action{min-height:40px;border:1px solid #e8baba;border-radius:var(--radius-control);padding:8px 13px;background:#fff2f2;color:#a13b3b;font-weight:750}@media (max-width:820px){.attendance-record-slip{grid-template-columns:auto minmax(0,1fr);gap:10px}.attendance-record-mark{min-height:32px}.dorm-hero{display:block}.dorm-hero .dorm-actions{margin-top:14px;flex-wrap:wrap}.dorm-form-grid,.dorm-grid,.dorm-toolbar{grid-template-columns:1fr}.dorm-span{grid-column:auto}.dorm-actions,.dorm-form-row{flex-wrap:wrap}.dorm-inline-actions{grid-template-columns:1fr}}*{box-sizing:border-box}html{min-width:320px;background:var(--paper);interpolate-size:allow-keywords;scroll-behavior:smooth}body{margin:0;font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,117,99,.28);outline-offset:2px}.skip-link{position:fixed;z-index:var(--depth-skip);top:8px;left:8px;padding:9px 14px;color:#fff;background:var(--green-dark);border-radius:var(--radius-control);transform:translateY(-150%);transition:transform var(--motion-normal) var(--ease-standard)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.dashboard-page,main.app-shell{width:min(100%,var(--page-shell-max));margin:0 auto;padding:var(--page-top) var(--page-inline) var(--page-bottom);background:var(--paper)}.dashboard-page{display:grid;min-height:100vh;align-content:start;gap:18px}.dashboard-page>.surface-card{padding:20px 0}.dashboard-page>.surface-card:first-child{padding-top:0;border-top:0}.dashboard-page h1,.dashboard-page h2,.dashboard-page h3{color:var(--ink)}.dashboard-page h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.dashboard-page h2{margin:0 0 8px;font-size:18px}.dashboard-page h3{margin:0 0 7px;font-size:15px}.dashboard-page p{margin:7px 0;color:var(--ink-soft)}.dashboard-page label,main.app-shell label{display:grid;gap:5px;color:var(--ink-soft);font-size:12px;font-weight:700}.dashboard-page input:not([type=radio]):not([type=checkbox]),.dashboard-page select,.dashboard-page textarea,main.app-shell input:not([type=radio]):not([type=checkbox]),main.app-shell select,main.app-shell textarea{width:100%;min-height:44px;padding:9px 11px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.dashboard-page textarea,main.app-shell textarea{min-height:96px;resize:vertical}.dashboard-page button:not(.secondary-button),main.app-shell .card button:not(.secondary-button){min-height:44px;padding:9px 14px;color:#fff;background:var(--green-dark);border:1px solid var(--green-dark);border-radius:var(--radius-control);font-weight:800}.dashboard-page .secondary-button{min-height:44px}.dashboard-page .learning-meta{flex-wrap:wrap;align-items:center}.dashboard-page .learning-meta>p{flex-basis:100%}.dashboard-page .learning-list>li{min-width:0}.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.notice{margin:0 0 18px;padding:11px 14px;color:var(--ink-soft);background:var(--mint);border:1px solid #b3d8cc;border-radius:var(--radius-control)}.page-header{padding:0 0 16px;margin-bottom:8px;border-bottom:1px solid var(--line)}.page-header>.eyebrow{display:none}.page-header h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.page-header p{max-width:680px;margin:0;color:var(--muted);font-size:13px}.page-header a{display:inline-block;margin-top:12px;color:var(--green-dark);font-size:13px;font-weight:700}.card-grid{display:grid;gap:0}.card-grid .card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0}.sidebar{position:fixed;z-index:var(--depth-overlay);inset:0 auto 0 0;display:flex;width:244px;min-height:100vh;flex-direction:column;padding:22px 16px 18px;color:#eff6f2;background:var(--sidebar);border-right:1px solid rgba(255,255,255,.08)}.brand-row{display:flex;min-height:46px;padding:0 7px 18px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-row,.nuni-brand{align-items:center;gap:11px}.nuni-brand{display:inline-flex;min-width:0}.nuni-brand-mark{width:38px;height:38px;flex:0 0 auto;filter:drop-shadow(0 7px 14px rgba(0,0,0,.18))}.nuni-brand-copy{display:grid;min-width:0}.nuni-brand-copy strong{color:#fff;font-size:19px;font-weight:900;letter-spacing:-.06em;line-height:1}.nuni-brand-copy small{margin-top:4px;color:#aebbb7;font-size:10px;font-weight:650;letter-spacing:.08em}.sidebar-close{display:none;margin-left:auto;padding:7px;color:#dce7e2;background:transparent;border:0;border-radius:var(--radius-control)}.module-navigation{min-height:0;flex:1 1;overflow-y:auto;padding:14px 0;scrollbar-width:thin}.nav-heading{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0 10px 8px;color:#7f918a;font-size:10px;font-weight:700;letter-spacing:.02em}.nav-heading span{display:grid;min-width:22px;height:18px;place-items:center;color:#b8c7c1;background:rgba(255,255,255,.07);border-radius:var(--radius);letter-spacing:0}.action-list,.module-navigation ul,.notification-list,.schedule-list{margin:0;padding:0;list-style:none}.module-navigation ul{display:grid;gap:2px}.nav-group+.nav-group{margin-top:13px}.nav-group-heading{margin:0;padding:0 10px 5px;color:#7f918a;font-size:10px;font-weight:700}.module-link{position:relative;display:grid;width:100%;min-height:39px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:7px 10px;color:#a9b8b3;background:transparent;border:0;border-radius:var(--radius);text-align:left;text-decoration:none;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.module-link:before{position:absolute;inset:auto 10px 5px 48px;height:2px;content:"";background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform var(--motion-normal) var(--ease-standard)}.module-link:hover{color:#fff;background:rgba(255,255,255,.055)}.module-link:focus-visible:before,.module-link:hover:before{transform:scaleX(1)}.module-link.available{color:#eff6f2}.module-link.available.active{color:#17201F;background:var(--lime)}.module-link.available.active:before{background:var(--green-dark);transform:scaleX(1)}.module-link:active{background:var(--brand-soft)}.module-link span{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.module-index{color:inherit;font-size:11px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--font-meta)}.state-dot{width:6px;height:6px;background:#53645e;border-radius:50%}.state-dot.available{background:#71c5a8}.module-link.available.active .state-dot{background:var(--green-dark)}.state-dot.building{background:#d5a762}.sidebar-account{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:14px 7px 0;border-top:1px solid rgba(255,255,255,.09)}.account-mark,.avatar{display:grid;place-items:center;color:#17201F;background:var(--lime);font-weight:800}.avatar{width:36px;height:36px}.sidebar-account>span:nth-child(2){display:grid;min-width:0}.sidebar-account strong{overflow:hidden;color:#eef5f1;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sidebar-account small{color:#81938c;font-size:10px}.sidebar-account>svg{display:grid;padding:7px;place-items:center;color:#82958e;color:#71c5a8}.workspace{min-height:100vh;margin-left:244px}.topbar{position:sticky;z-index:var(--depth-chrome);top:0;display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 clamp(22px,3.5vw,52px);border-bottom:1px solid var(--line)}.menu-button{display:none}.topbar-actions,.topbar-context{display:flex;align-items:center}.topbar-context{gap:12px}.card-label,.eyebrow,.section-kicker{color:var(--green-dark);font-size:12px;font-weight:700;letter-spacing:.02em}.section-kicker,.topbar-context>.eyebrow{display:none}.term-label{color:var(--muted);font-size:12px}.topbar-actions{gap:10px}.icon-button{position:relative;display:grid;width:38px;height:38px;place-items:center;color:var(--ink-soft);border-radius:var(--radius);text-decoration:none;transition:color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.icon-button:after{position:absolute;right:8px;bottom:5px;left:8px;height:3px;content:"";background:var(--marker);transform:scaleX(0);transform-origin:left center;transition:transform var(--motion-normal) var(--ease-standard)}.icon-button:focus-visible,.icon-button:hover{color:var(--green-dark)}.icon-button:focus-visible:after,.icon-button:hover:after{transform:scaleX(1)}.icon-button:active{transform:scale(.98);transition-timing-function:var(--ease-press)}.notification-button{position:relative}.notification-dot{position:absolute;top:8px;right:8px;width:6px;height:6px;background:var(--red);border:1.5px solid #fff;border-radius:50%}.account-mark{width:38px;height:38px}.dashboard{width:min(100%,1500px);margin:0 auto;padding:34px clamp(22px,3.5vw,52px) 60px}.welcome-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,425px);align-items:end;gap:42px;margin-bottom:26px}.date-line{margin:0 0 6px;color:var(--green);font-size:12px;font-weight:750;letter-spacing:.02em}.fatal-state h1,.welcome-row h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,3vw,42px);font-weight:700;letter-spacing:.01em;line-height:1.18}.welcome-copy{max-width:620px;margin:9px 0 0;color:var(--muted);font-size:13px}.day-brief{display:flex;align-items:stretch;margin-top:20px;border-block:1px solid var(--line)}.day-brief>span{display:flex;min-width:92px;align-items:baseline;gap:6px;padding:10px 16px 10px 0}.day-brief>span+span{padding-left:16px;border-left:1px solid var(--line)}.day-brief strong{position:relative;z-index:0;font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.day-brief strong:after{position:absolute;z-index:-1;right:-2px;bottom:-1px;left:-2px;height:7px;content:"";background:color-mix(in srgb,var(--marker) 72%,transparent)}.day-brief small{color:var(--muted);font-size:10px;font-weight:700}.identity-card{position:relative;display:grid;min-height:98px;grid-template-columns:50px 1fr auto;align-items:center;gap:13px;padding:17px 18px;overflow:hidden;background:var(--sidebar);border:1px solid rgba(255,255,255,.12);view-transition-name:campus-identity-card}.identity-card:before{position:absolute;top:0;right:14px;content:""}.identity-card:after{position:absolute;right:0;bottom:0;width:14px;height:14px;content:"";background:var(--paper);clip-path:polygon(100% 0,0 100%,100% 100%)}a.identity-card{text-decoration:none;color:inherit;cursor:pointer}a.identity-card:focus-visible{outline:2px solid var(--lime);outline-offset:3px}a.identity-card:active{opacity:.92}.identity-card.is-page{max-width:1320px;margin:0 auto 22px;min-height:120px}::view-transition-new(root),::view-transition-old(root){animation:none}::view-transition-new(campus-identity-card),::view-transition-old(campus-identity-card){animation:none;mix-blend-mode:normal;height:100%;overflow:clip}::view-transition-group(campus-identity-card){z-index:1;animation-duration:var(--motion-morph);animation-timing-function:var(--ease-standard)}@keyframes vt-page-out{to{opacity:0}}@keyframes vt-page-in{0%{opacity:0}}.identity-icon{display:grid;width:50px;height:50px;place-items:center;border:1px solid rgba(255,255,255,.09)}.identity-card>div:nth-child(2){display:grid;min-width:0}.identity-card .card-label{color:#8ca49a}.identity-card strong{margin:2px 0;color:#fff;font-size:18px;letter-spacing:-.03em}.identity-card small{color:#a7b7b1;font-size:12px;line-height:1.45}.identity-card .identity-number{color:#d5e4de;font-family:var(--font-meta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em}.credential-state{z-index:1;display:inline-flex;align-items:center;gap:4px;padding:5px 8px;color:#b7c9c2;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:700}.credential-state.active{color:var(--lime)}.credential-state.attention{color:#ffc7bd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);align-items:start;gap:22px}.primary-column,.secondary-column{display:grid;gap:0}.surface-card{scroll-margin-top:84px;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}.panel-heading a,.panel-heading h2,.secondary-action,.text-link{transition:color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.panel-heading h2{scroll-margin-top:84px}.panel-heading a:hover,.secondary-action:hover,.text-link:hover{color:var(--green)}.attendance-panel{position:relative;overflow:hidden;color:#f5faf7;background:#1d2b27;border:1px solid rgba(22,71,58,.25)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel-heading h2{margin:0;font-size:17px;font-weight:750}.attendance-heading h2{color:#fff;font-size:21px}.attendance-heading p{margin:4px 0 0;color:#a9bbb4;font-size:12px}.attendance-heading .section-kicker{display:inline-flex;align-items:center;gap:7px;color:#a8c8bd}.live-pulse{width:7px;height:7px;background:#6b7773;border-radius:50%}.live-pulse.on{background:var(--marker);animation:pulse var(--motion-pulse) infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px rgba(228,200,120,.28)}50%{box-shadow:0 0 0 7px rgba(228,200,120,0)}}.scan-mark{display:none}.attendance-form{position:relative;z-index:1;margin-top:19px}.attendance-form>label{display:block;margin-bottom:6px;color:#a8bbb3;font-size:10px;font-weight:700}.attendance-input-row{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:10px}.attendance-input-row input{min-width:0;height:47px;padding:0 18px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);font-size:19px;font-weight:800;letter-spacing:.38em}.attendance-input-row input::placeholder{color:#74847e;letter-spacing:.15em}.attendance-submit{display:inline-flex;height:47px;align-items:center;justify-content:center;gap:7px;padding:0 17px;color:#15211d;background:var(--lime);border:0;border-radius:var(--radius);font-size:12px;font-weight:800}.attendance-form>small{display:block;margin-top:8px;color:#81968e;font-size:10px}.text-button{display:inline-flex;align-items:center;gap:2px;padding:5px;color:var(--green);background:transparent;border:0;font-size:11px;font-weight:700}.agent-perception{margin:0 0 4px;padding:14px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.agent-perception h2{margin:0;font-size:15px;font-weight:600}.agent-perception-felt{margin:8px 0 0;color:var(--ink);font-size:22px;font-weight:700;line-height:1.45}.agent-perception-lines{margin:10px 0 0;padding:0;list-style:none}.agent-perception-lines li{display:flex;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45}.agent-perception-lines span{flex:0 0 3em;color:var(--green);font-weight:700}.catalog-card,.compact-card,.degree-card,.learning-card,.leave-card,.schedule-card{padding:20px 0}.hub-entry-list{padding-top:4px;padding-bottom:10px}.schedule-list{margin-top:0}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:4px 0 8px}.week-cell{display:grid;justify-items:center;gap:6px;padding:10px 0 8px}.week-label{padding:0 4px;color:var(--muted);font-size:13px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-dot{width:4px;height:4px;border-radius:50%;background:transparent}.week-dot.on{background:var(--green)}.schedule-list li{position:relative;display:grid;min-height:66px;grid-template-columns:52px 14px minmax(0,1fr) auto;align-items:start;gap:12px;transition:background var(--motion-fast) var(--ease-standard)}.schedule-list li:hover{background:color-mix(in srgb,var(--mint) 42%,transparent)}.schedule-list li.is-now .course-copy strong{position:relative;z-index:0}.schedule-list li.is-now .course-copy strong:after{position:absolute;z-index:-1;right:0;bottom:.08em;left:0;height:.42em;content:"";background:color-mix(in srgb,var(--marker) 78%,transparent);transform:scaleX(0);transform-origin:left center;animation:ink-mark var(--motion-morph) var(--ease-standard) both;animation-duration:.15s}@keyframes ink-mark{to{transform:scaleX(1)}}.timeline-time{display:grid;padding-top:1px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--font-meta)}.timeline-time strong{font-size:12px}.timeline-time span{color:#929b98;font-size:9px}.timeline-node{z-index:1;width:9px;height:9px;margin:5px 0 0 3px;background:#bbc4c0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cbd1ce}.timeline-node.open{background:var(--lime);box-shadow:0 0 0 1px var(--green)}.timeline-node.checked-in{background:var(--green)}.timeline-line{position:absolute;z-index:0;top:15px;bottom:-2px;left:71px;width:1px;background:#dce1de}.course-copy{display:grid;min-width:0;padding-bottom:18px}.course-copy>span{color:var(--green);font-size:9px;font-weight:800}.course-copy strong{margin:1px 0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.course-copy small{color:var(--muted);font-size:10px}.attendance-badge{display:inline-flex;align-items:center;gap:3px;margin-top:2px;padding:4px 7px;color:#707a76;background:#f2f3f0;border:1px solid #e1e4df;border-radius:var(--radius-control);font-size:9px;font-weight:700}.attendance-badge.open{color:var(--green-dark);background:#e4f4ee;border-color:#cbe8de}.attendance-badge.checked-in{color:#fff;background:var(--green);border-color:var(--green)}.schedule-count{padding:4px 7px;color:var(--muted);background:#f2f3ef;border-radius:var(--radius-chip);font-size:9px;font-weight:700}.catalog-list{display:grid;gap:0;margin-top:14px}.catalog-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line-soft)}.catalog-list li>div{display:grid;min-width:0}.catalog-list li span{color:var(--green);font-size:9px;font-weight:800}.catalog-list li strong{margin:2px 0;font-size:12px}.catalog-list li small{color:var(--muted);font-size:9px}.secondary-button{display:inline-flex;min-height:34px;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;padding:0 11px;color:var(--green-dark);background:#e3f2ec;border:1px solid #c8e2d8;border-radius:var(--radius);font-size:10px;font-weight:800}.catalog-unavailable{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:13px;color:#724f27;background:#fbf2e7;border:1px solid #ead6bb;border-radius:var(--radius)}.catalog-unavailable svg{flex:0 0 auto;margin-top:1px}.catalog-unavailable div{display:grid}.catalog-unavailable strong{font-size:11px}.catalog-unavailable p{margin:2px 0 0;font-size:9px}.catalog-card .form-honesty{margin-top:11px}.learning-card{padding:20px 0}.learning-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.learning-list li{display:grid;gap:7px;padding:13px 0;border-top:1px solid var(--line-soft)}.lms-chapter-timeline{display:grid;gap:14px;margin-top:12px}.lms-chapter-card{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.lms-chapter-card:first-of-type{border-top:0;padding-top:0}.lms-chapter-activities{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.learning-course-heading{display:flex;align-items:baseline;gap:8px}.learning-course-heading span{color:var(--green);font-size:10px;font-weight:800}.learning-course-heading strong{font-size:13px}.learning-meta{display:flex;gap:12px;color:var(--muted);font-size:10px}.learning-course-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.learning-text-action{appearance:none;border:0;background:transparent;color:var(--brand-dark);font:inherit;font-size:12px;font-weight:800;min-height:40px;padding:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.learning-text-action:disabled{opacity:.55;cursor:default}.lms-workspace-nav{display:grid;gap:8px;margin-top:4px}.lms-workspace-course{margin:0;color:var(--muted);font-size:12px}.lms-workspace-tabs{display:flex;flex-wrap:wrap;gap:2px 0;border-bottom:1px solid var(--line)}.lms-workspace-tab{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.lms-workspace-tab.active,.lms-workspace-tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--marker,#E4C878)}.lms-workspace-more{border-top:0;padding-top:0}.lms-workspace-tools{display:flex;flex-wrap:wrap;gap:8px 16px}.learning-list small{color:var(--ink-soft);font-size:10px}.learning-empty,.learning-list p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.assignment-index{display:grid;gap:0;margin-top:4px}.assignment-index button{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:var(--ink);text-align:left;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}.assignment-index button>span{display:grid;gap:2px;min-width:0}.assignment-index button strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.assignment-index button small{color:var(--muted);font-size:9px}.assignment-index button svg{flex:0 0 auto;color:var(--muted);transition:transform var(--motion-fast) var(--ease-standard)}.assignment-index button.is-active{color:var(--green-dark);background:var(--mint);border-color:#b7d8cd}.assignment-index button.is-active svg{transform:rotate(90deg)}.assignment-workspace{display:grid;gap:13px;margin-top:5px;padding:15px 0 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}.assignment-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.assignment-heading h3{margin:0 0 3px;font-size:16px}.assignment-heading>div>span{color:var(--muted);font-size:10px}.submission-pill{flex:0 0 auto;padding:4px 8px;color:var(--ink-soft);background:#F5F3FA;border-radius:var(--radius-chip);font-size:9px;font-weight:800}.submission-pill.draft{color:#805111;background:#fff0d3}.submission-pill.submitted{color:var(--green-dark);background:var(--mint)}.assignment-workspace .assignment-instructions{color:var(--ink-soft);font-size:11px;white-space:pre-wrap}.assignment-policy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0}.assignment-policy>div{padding:8px;background:#f5f6f2;border-radius:var(--radius-control)}.assignment-policy dt{color:var(--muted);font-size:8px;font-weight:800}.assignment-policy dd{margin:3px 0 0;color:var(--ink-soft);font-size:9px;line-height:1.45}.assignment-editor{display:grid;gap:5px;color:var(--ink-soft);font-size:10px;font-weight:750}.assignment-editor>span{display:flex;justify-content:space-between;gap:10px}.assignment-editor small{color:var(--muted);font-weight:500}.assignment-editor textarea{width:100%;min-height:150px;padding:10px;color:var(--ink);background:#fbfbf8;border:1px solid var(--line);border-radius:var(--radius);resize:vertical;line-height:1.6}.assignment-editor textarea:read-only{color:var(--muted);background:#f0f1ed}.attachment-blocked{display:flex;align-items:flex-start;gap:8px;padding:10px;color:#724f27;background:#fbf2e7;border:1px solid #ead6bb;border-radius:var(--radius)}.attachment-blocked svg{flex:0 0 auto}.attachment-blocked span{display:grid;gap:2px;font-size:9px;line-height:1.5}.attachment-blocked strong{font-size:10px}.attachment-manager{display:grid;gap:9px;padding:11px;background:#f7faf8;border:1px solid #cdded6;border-radius:var(--radius)}.attachment-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.attachment-manager-heading>div{display:flex;align-items:flex-start;gap:7px;min-width:0}.attachment-manager-heading>div>svg{flex:0 0 auto;margin-top:1px;color:var(--green-dark)}.attachment-manager-heading span{display:grid;gap:2px}.attachment-manager-heading strong{color:var(--ink);font-size:10px}.attachment-manager-heading small{color:var(--muted);font-size:8px;line-height:1.45}.attachment-file-input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-upload-action{flex:0 0 auto}.attachment-empty{margin:0;color:var(--muted);font-size:9px}.attachment-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.attachment-list>li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-control)}.attachment-list>li.attachment-state-clean{border-color:#aed4c5;background:#f5fcf8}.attachment-list>li.attachment-state-quarantined,.attachment-list>li.attachment-state-rejected{border-color:#e7b8b4;background:#fff7f6}.attachment-file-meta{display:grid;gap:2px;min-width:0}.attachment-file-meta strong{overflow:hidden;color:var(--ink-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.attachment-file-meta span{color:var(--muted);font-size:8px}.attachment-file-meta small{color:#a23b34;font-size:8px;line-height:1.4}.attachment-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}.attachment-row-actions .text-link{display:inline-flex;align-items:center;gap:3px;padding:2px;border:0;background:transparent;font-size:8px;cursor:pointer}.attachment-row-actions .text-link:disabled{opacity:.5;cursor:not-allowed}.attachment-row-actions .attachment-remove{color:#9b403a}.attachment-safety-note{display:flex;align-items:flex-start;gap:5px;margin:0;color:#805111;font-size:8px;line-height:1.5}.attachment-safety-note svg{flex:0 0 auto}.rubric-preview{display:grid;grid-template-columns:auto repeat(2,minmax(0,1fr));gap:5px 10px;color:var(--muted);font-size:9px}.rubric-preview strong{color:var(--ink-soft)}.published-review{display:grid;gap:7px;padding:12px;color:var(--green-dark);background:var(--mint);border:1px solid #b3d8cc;border-radius:var(--radius)}.published-review>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.published-review h4{margin:0;font-size:12px}.published-review>div>strong{font-size:17px}.published-review p{color:var(--ink-soft);font-size:10px;white-space:pre-wrap}.published-review>small,.published-review>span{font-size:9px}.late-warning{display:flex;align-items:center;gap:5px;color:var(--red)!important;font-size:10px!important}.assignment-actions{display:flex;justify-content:flex-end;gap:8px}.degree-card{overflow:hidden}.rule-version{padding:4px 7px;color:var(--muted);background:#f2f3ef;border-radius:6px;font-size:9px}.degree-summary{padding:20px 0 17px;border-bottom:1px solid var(--line-soft)}.degree-number{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.degree-number>span{color:var(--ink-soft);font-size:12px}.degree-number strong{color:var(--ink);font-family:var(--font-display);font-size:29px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.degree-number small{color:var(--muted);font-size:9px}.progress-track{position:relative;height:8px;margin-top:13px;overflow:hidden;background:#eceeea;border-radius:var(--radius)}.progress-track span{position:absolute;inset:0 auto 0 0;border-radius:inherit}.progress-planned{background:#d7e6af}.progress-earned{background:var(--green)}.progress-legend{display:flex;gap:16px;margin-top:7px;color:var(--muted);font-size:9px}.progress-legend span{display:flex;align-items:center;gap:5px}.progress-legend i{width:7px;height:7px;border-radius:2px}.progress-legend .earned{background:var(--green)}.progress-legend .planned{background:#d7e6af}.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:11px}.requirement-item{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.requirement-status{display:grid;width:23px;height:23px;place-items:center;color:#fff;background:#eff1ed;border-radius:var(--radius-control)}.requirement-status span{width:7px;height:7px;background:#c0c7c3;border-radius:50%}.requirement-status.complete{background:var(--green)}.requirement-status.in-progress{background:#d9e9b1}.requirement-status.in-progress span{background:var(--green)}.requirement-item>div{display:grid}.requirement-item strong{font-size:11px}.requirement-item small{color:var(--muted);font-size:9px}.requirement-item>span:last-child{color:var(--amber);font-size:9px;font-weight:700}.degree-disclaimer{display:flex;align-items:flex-start;gap:5px;margin:13px 0 0;color:var(--muted);font-size:9px}.degree-disclaimer svg{flex:0 0 auto;margin-top:1px}.count-badge{display:grid;min-width:24px;height:24px;place-items:center;color:var(--green-dark);background:var(--mint);border-radius:var(--radius-control);font-size:10px;font-weight:800}.empty-row{display:flex;align-items:center;gap:8px;padding:18px 0 4px;color:var(--muted);font-size:11px}.empty-row.success svg{color:var(--green)}.action-list{margin-top:12px}.action-list li{border-top:1px solid var(--line-soft)}.action-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:10px 0;color:inherit;text-decoration:none;transition:color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.action-list a:focus-visible,.action-list a:hover{color:var(--green-dark)}.action-icon{display:none}.action-list div{display:grid}.action-list strong{font-size:11px}.action-list small{color:var(--muted);font-size:9px}.action-list a svg{color:#9aa39f}.catalog-card .panel-heading>svg,.leave-card .panel-heading>svg{color:var(--green)}.catalog-card .welcome-copy,.leave-card .welcome-copy{margin:8px 0 14px;color:var(--muted);line-height:1.55}.catalog-card .primary-action,.leave-card .primary-action{width:fit-content}.attendance-panel .secondary-action,.degree-card .secondary-action{margin-top:12px;width:fit-content}.leave-form{display:grid;gap:12px;margin-top:17px}.form-row{display:grid;gap:9px}.form-row.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-form label{display:grid;gap:5px;color:var(--ink-soft);font-size:10px;font-weight:700}.leave-form label>span{display:flex;justify-content:space-between}.leave-form label i{color:#929b98;font-size:9px;font-style:normal;font-weight:500}.leave-form input,.leave-form select,.leave-form textarea{width:100%;min-width:0;color:var(--ink);background:#f8f8f5;border:1px solid #dfe2dc;border-radius:var(--radius);font-size:10px}.leave-form input,.leave-form select{height:38px;padding:0 9px}.leave-form textarea{resize:vertical;min-height:73px;padding:9px;line-height:1.55}.reason-field{position:relative}.reason-field>small{position:absolute;right:8px;bottom:6px;color:#9aa29e;font-size:8px;font-weight:500}.primary-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;padding:0 15px;color:#fff;background:var(--green);border:0;border-radius:var(--radius);font-size:11px;font-weight:800;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.primary-button:hover:not(:disabled){background:var(--green-dark)}.attendance-submit:active:not(:disabled),.primary-action:active,.primary-button:active:not(:disabled){transform:scale(.98);transition-duration:var(--motion-fast);transition-timing-function:var(--ease-press)}.primary-button.full-width{width:100%}.form-honesty{margin:-4px 0 0;color:var(--muted);font-size:9px;text-align:center}.notifications-card{padding-bottom:12px}.notifications-card .panel-heading>svg{color:var(--green)}.notification-list{margin-top:8px}.notification-list li{display:grid;grid-template-columns:7px 1fr;gap:9px;padding:11px 0;border-top:1px solid var(--line-soft)}.notice-level{width:6px;height:6px;margin-top:5px;background:#8aa098;border-radius:50%}.notice-level.action{background:var(--amber)}.notice-level.warning{background:var(--red)}.notification-list a,.notification-list div{display:grid;color:inherit;text-decoration:none}.notification-list a span{color:#155849;font-size:10px;font-weight:700}.notification-list strong{font-size:10px}.notification-list p{margin:2px 0 4px;color:var(--muted);font-size:9px;line-height:1.5}.notification-list small{color:#9ba39f;font-size:8px}.request-message{display:flex;align-items:flex-start;gap:5px;margin:9px 0 0;padding:8px 9px;border-radius:var(--radius-control);font-size:10px}.request-message svg{flex:0 0 auto;margin-top:1px}.request-message.error{color:#8c352c;background:#f9e5e1}.request-message.success{color:#1c654f;background:#dff1e9}.attendance-panel .request-message.error{color:#ffd7cf;background:rgba(167,65,53,.22)}.attendance-panel .request-message.success{color:#d9f8e9;background:rgba(74,148,116,.2)}.inline-alert{display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:10px 13px;color:#86352d;background:#f9e5e1;border:1px solid #ecc6bf;border-radius:var(--radius);font-size:11px}.fatal-state{display:grid;max-width:560px;min-height:calc(100vh - 64px);margin:0 auto;padding:120px 24px;align-content:start;justify-items:start}.fatal-state>svg{margin-bottom:15px;color:var(--red)}.fatal-state h1{font-size:30px}.fatal-state p{margin:10px 0 20px;color:var(--muted)}.auth-callback{display:grid;min-height:100vh;padding:24px;place-items:center}.auth-card{display:grid;width:min(100%,460px);justify-items:center;padding:38px 0;text-align:center;background:transparent;border:0}.auth-card>svg{display:none}.auth-card h1{margin:14px 0 7px;font-family:var(--font-display);font-size:25px}.auth-card p{margin:0 0 20px;color:var(--muted);font-size:12px}.skeleton{background:linear-gradient(90deg,#e6e6e0 25%,#f0f0eb 50%,#e6e6e0 75%);background-size:200% 100%;border-radius:var(--radius);animation:none}.heading-skeleton{width:48%;height:92px;margin-bottom:26px}.block-skeleton{height:270px}.block-skeleton.hero{height:230px}.block-skeleton.small{height:150px}.block-skeleton.tall{height:420px}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin var(--motion-spin) linear infinite}.capability-truth{border:1px solid var(--line);background:#F4F6F2}.capability-truth.is-physical-unconnected,.capability-truth.is-unavailable{border-color:#f2ddb8;background:#fff7e8}.capability-truth.is-trial,.capability-truth.is-waiting{border-color:#DCE9E4;background:#E5EEEA}.capability-truth.is-on-device,.capability-truth.is-ready{border-color:#B9CCC6;background:#E5EEEA}.assistant-timeline{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}.assistant-timeline li{padding:8px 10px;border-radius:var(--radius);background:#F4F6F2;color:#46514D;font-size:12px;line-height:1.5}.assistant-timeline li[aria-current=step]{background:#E5EEEA;color:#155849;font-weight:700}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.mobile-quick-nav,.sidebar-scrim{display:none}.staging-role-switcher{display:flex;flex-wrap:wrap;gap:8px}.staging-role-switcher form{margin:0}.staging-role-home{margin-top:16px}.approve-action,.primary-action,.reject-action,.secondary-action,.text-link{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border-radius:var(--radius-control);font-size:12px;font-weight:750;text-decoration:none}.approve-action,.primary-action{color:#fff;background:var(--green-dark);border:1px solid var(--green-dark)}.secondary-action,.text-link{color:var(--green-dark);background:transparent;border:0;padding-inline:0}.reject-action{color:var(--red);background:#fff8f6;border:1px solid #e6bcb5}.staff-page{width:min(100%,var(--page-shell-max));min-height:100vh;margin:0 auto;padding:var(--page-top) var(--page-inline) var(--page-bottom)}.staff-loading{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:10px;color:var(--green-dark)}.staff-loading p{color:var(--muted);font-size:12px}.staff-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.staff-header h1{margin:0 0 5px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.staff-header p{max-width:680px;margin:0;color:var(--muted);font-size:12px}.staff-header-actions{display:flex;flex-wrap:wrap;gap:9px}.staff-notice{margin-bottom:18px;padding:11px 14px;border-radius:var(--radius-control);font-size:12px}.staff-notice.success{color:var(--green-dark);background:var(--mint);border:1px solid #b3d8cc}.staff-notice.error{color:var(--red);background:#fff1ee;border:1px solid #ecc6bf}.staff-grid{display:grid;grid-template-columns:1fr;align-items:start;gap:0}.staff-shared-queue{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start;margin-top:12px}.staff-shared-queue-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.staff-shared-queue-list{display:grid;gap:8px;min-width:0}.staff-shared-queue-item{display:grid;gap:4px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm,4px);background:var(--paper,#ECEEE9);color:var(--ink,#17201F);cursor:pointer}.staff-list>li.is-selected,.staff-shared-queue-item.is-selected{border-color:var(--green,#1F7563);background:#E5EEEA}.staff-shared-queue-item strong{font-size:13px}.staff-shared-queue-item span{color:var(--muted);font-size:11px;line-height:1.45}.staff-shared-queue-detail{min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm,4px);background:#f8f9f6}.staff-shared-queue-detail>h2{margin:0 0 8px;font-size:18px}.staff-panel{padding:18px 0}.roster-summary,.staff-item-title,.staff-panel-heading,.staff-panel-heading label,.staff-panel-heading>div{display:flex;align-items:center}.staff-panel-heading{justify-content:space-between;gap:16px;margin-bottom:18px}.staff-panel-heading>div{gap:11px}.staff-panel-heading>div>svg{display:none}.staff-panel-heading>div>span{display:grid}.staff-panel-heading h2{margin:1px 0 0;font-size:18px}.staff-panel-heading label{gap:7px;color:var(--muted);font-size:11px}.staff-panel input,.staff-panel select,.staff-panel textarea{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.staff-panel input,.staff-panel select{min-height:38px;padding:7px 10px}.staff-panel textarea{width:100%;min-height:74px;padding:9px 11px;resize:vertical}.empty-copy{margin:0;padding:35px 18px;color:var(--muted);background:#f8f8f5;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;font-size:12px}.staff-entry-copy{margin:0 0 14px;color:var(--muted);line-height:1.55;font-size:13px}.staff-panel>.primary-action{width:100%}.staff-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.staff-list>li{padding:16px;background:#fbfbf8;border:1px solid var(--line-soft);border-radius:var(--radius)}.staff-item-title{flex-wrap:wrap;gap:8px}.staff-item-title strong{font-size:14px}.staff-item-title>span:not(.state-pill){color:var(--muted);font-size:10px}.staff-list>li>p{margin:7px 0;color:var(--muted);font-size:11px}.staff-list blockquote{margin:9px 0 12px;padding:8px 10px;color:var(--ink-soft);background:#f1f2ed;border:1px solid var(--line);font-size:12px}.state-pill{margin-left:auto;padding:4px 8px;color:var(--ink-soft);background:#F5F3FA;border-radius:var(--radius-chip);font-size:10px;font-weight:750}.state-pill.pending{color:#805111;background:#fff0d3}.state-pill.approved{color:var(--green-dark);background:var(--mint)}.state-pill.rejected{color:var(--red);background:#ffe8e4}.staff-action-form{display:grid;gap:6px}.staff-action-form>label{color:var(--ink-soft);font-size:11px;font-weight:700}.staff-action-form>div{display:flex;justify-content:flex-end;gap:8px}.session-search{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:8px;margin-bottom:15px;padding:10px;background:#f5f6f2;border-radius:var(--radius-control)}.session-search label{color:var(--muted);font-size:11px}.roster-summary{justify-content:space-between;gap:10px;margin:0 0 11px;color:var(--ink-soft)}.roster-summary span{color:var(--muted);font-size:10px}.roster-window{display:grid;gap:3px;margin:0 0 12px;padding:10px;border:1px solid #dbe7e5;border-radius:var(--radius-control);background:#f6fbfa}.roster-window strong{font-size:12px;color:#155849}.roster-window span{font-size:11px;color:var(--ink-soft)}.roster-window-not-open-yet{border-color:#f2ddb8;background:#fff7e8}.roster-window-not-open-yet strong{color:#895b1d}.roster-window-closed{border-color:#E7E3EE;background:#F4F6F2}.roster-window-closed strong{color:#46514D}.correction-row{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(160px,1.35fr) auto;align-items:end;gap:8px;margin-top:10px}.correction-row label{display:grid;gap:4px;color:var(--muted);font-size:10px}.correction-row .secondary-action{min-height:38px}.submission-panel{grid-column:1/-1}.submission-search{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;align-items:end;gap:9px;margin-bottom:9px}.submission-search label{display:grid;gap:4px;color:var(--muted);font-size:10px}.staff-scope-note{display:flex;align-items:center;gap:5px;margin:0 0 14px;color:var(--muted);font-size:10px}.submission-list{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-list>li{display:grid;align-content:start}.submission-list>li.is-selected{background:#f1f8f4;border-color:#a9cfc2}.submission-list>li>.secondary-action{justify-self:start;margin-top:4px}.state-pill.draft{color:#805111;background:#fff0d3}.state-pill.published{color:var(--green-dark);background:var(--mint)}.review-workspace{display:grid;gap:15px;margin-top:19px;padding:19px;background:#f8f9f6;border:1px solid var(--line);border-radius:var(--radius)}.review-workspace>header{display:flex;align-items:start;justify-content:space-between;gap:14px}.review-workspace>header span:first-child{color:var(--green);font-size:10px;font-weight:800}.review-workspace h3{margin:2px 0 0;font-size:18px}.submission-evidence{display:grid;gap:6px}.submission-evidence>strong{font-size:11px}.submission-evidence pre{max-height:310px;margin:0;padding:13px;overflow:auto;color:var(--ink-soft);font-family:inherit;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius)}.submission-evidence small{color:var(--muted);font-size:9px}.staff-submission-attachments{display:grid;gap:8px;padding:11px;background:#f7faf8;border:1px solid #d5e2dc;border-radius:var(--radius)}.staff-submission-attachments>strong{font-size:11px}.staff-submission-attachments>p{margin:0;color:var(--muted);font-size:9px}.staff-submission-attachments .attachment-list>li>small{color:#9b403a;font-size:8px}.staff-submission-attachments .secondary-action{flex:0 0 auto}.staff-published-review p{margin:0}.review-form{display:grid;gap:12px}.review-form>label{display:grid;gap:5px;color:var(--ink-soft);font-size:11px;font-weight:700}.rubric-fields{display:grid;gap:9px;margin:0;padding:13px;border:1px solid var(--line);border-radius:var(--radius)}.rubric-fields legend{padding:0 5px;color:var(--ink-soft);font-size:11px;font-weight:800}.rubric-fields>div{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1.3fr);gap:9px}.rubric-fields label{display:grid;gap:4px;color:var(--muted);font-size:10px}.review-actions{display:flex;justify-content:flex-end;gap:9px}.review-warning{margin:-4px 0 0;color:var(--muted);font-size:9px;text-align:right}.food-page{width:min(100%,var(--page-shell-max));min-height:100vh;margin:0 auto;padding:var(--page-top) var(--page-inline) var(--page-bottom)}.food-loading{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:10px;color:var(--green-dark)}.food-loading p{color:var(--muted);font-size:12px}.food-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.food-header h1{margin:0 0 5px;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em}.food-header p{max-width:680px;margin:0;color:var(--muted);font-size:12px}.food-header-actions{display:flex;flex-wrap:wrap;gap:9px}.provider-block,.refund-warning{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;color:#744d16;background:#fff5df;border:1px solid #ead3a8;border-radius:var(--radius);font-size:11px}.provider-block{margin-bottom:14px}.provider-block svg,.refund-warning svg{flex:0 0 auto;margin-top:1px}.provider-block span,.refund-warning span{display:grid}.food-notice{margin-bottom:16px;padding:11px 14px;border-radius:var(--radius-control);font-size:12px}.food-notice.success{color:var(--green-dark);background:var(--mint);border:1px solid #b3d8cc}.food-notice.error{color:var(--red);background:#fff1ee;border:1px solid #ecc6bf}.food-notice.blocked{color:#744d16;background:#fff5df;border:1px solid #ead3a8}.food-layout{display:grid;grid-template-columns:1fr;align-items:start;gap:0}.food-menu-panel,.order-detail,.order-list-card,.quote-card{padding:16px 0}.order-receipt,.physical-receipt{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:0;box-shadow:none}.physical-receipt{margin-bottom:12px;padding:18px 18px 24px}.physical-receipt:after{position:absolute;right:-1px;bottom:-8px;left:-1px;height:8px;background:linear-gradient(135deg,var(--surface) 5px,transparent 0) 0 0 /10px 8px repeat-x,linear-gradient(45deg,transparent 5px,var(--paper) 0) 0 0 /10px 8px repeat-x;content:"";pointer-events:none}.receipt-body{transform-origin:top;animation:receipt-print var(--motion-morph) var(--ease-standard) both;animation-duration:.15s}@keyframes receipt-print{0%{opacity:.65;transform:scaleY(.96)}to{opacity:1;transform:scaleY(1)}}.receipt-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px;padding-block:8px;border-block:1px dashed var(--line);color:var(--muted);font-size:9px}.receipt-meta code{color:var(--ink-soft);font-family:var(--font-meta);font-size:10px}.receipt-breakdown{display:grid;gap:5px;margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--line)}.receipt-breakdown>div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.receipt-breakdown dt{color:var(--muted)}.receipt-breakdown dd{margin:0;color:var(--ink-soft);font-weight:700}.kds-toolbar{padding:16px 0}.food-side-column{display:grid;gap:0}.food-section-heading,.food-section-heading>div{display:flex;align-items:center}.food-section-heading{justify-content:space-between;gap:15px;margin-bottom:17px}.food-section-heading>div{gap:10px}.food-section-heading svg{display:none}.food-section-heading>div>span{display:grid}.food-section-heading h2{margin:1px 0 0;font-size:18px}.food-section-heading label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.food-page input,.food-page select{min-height:38px;padding:7px 10px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.location-summary{padding:13px 15px;background:#f2f7f4;border:1px solid #dce8e2;border-radius:var(--radius)}.location-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.location-summary>div span{color:var(--green-dark);font-size:10px;font-weight:750}.location-summary p{margin:5px 0;color:var(--ink-soft);font-size:11px}.location-summary small{color:var(--muted);font-size:9px}.menu-section h3{margin:20px 0 10px;font-size:13px}.customer-order-list,.food-menu-list,.kds-ticket ul,.order-detail ul,.quote-card ul{margin:0;padding:0;list-style:none}.food-menu-list{display:grid;grid-template-columns:1fr;gap:0}.food-menu-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}.food-menu-list>li.unavailable{opacity:.58}.food-item-copy{min-width:0}.food-item-copy>strong{font-size:13px}.food-item-copy p{margin:4px 0;color:var(--muted);font-size:10px}.food-item-copy small{color:var(--amber);font-size:9px}.food-item-order{display:grid;align-content:space-between;justify-items:end;gap:9px}.food-item-order>strong{color:var(--green-dark);font-size:12px}.quantity-stepper{display:grid;grid-template-columns:30px 26px 30px;align-items:center}.quantity-stepper button{display:grid;width:30px;height:30px;place-items:center;padding:0;color:var(--green-dark);background:#fff;border:1px solid var(--line)}.quantity-stepper button:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.quantity-stepper button:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.quantity-stepper output{display:grid;height:30px;place-items:center;background:#f4f5f1;border-block:1px solid var(--line);font-size:11px}.quote-composer{display:grid;gap:10px;margin-top:18px;padding:15px;background:#f4f5f1;border-radius:var(--radius)}.quote-composer>label{display:grid;gap:5px;color:var(--ink-soft);font-size:10px;font-weight:700}.quote-composer>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-composer>div span{color:var(--ink-soft);font-size:11px}.quote-composer>p{margin:0;color:var(--muted);font-size:9px}.food-empty{display:flex;min-height:96px;align-items:center;justify-content:center;gap:8px;padding:18px;color:var(--muted);background:#f8f8f5;border:1px dashed var(--line);border-radius:var(--radius-control);text-align:center;font-size:11px}.order-detail ul,.quote-card .receipt-body>ul,.quote-card>ul{display:grid;gap:7px}.order-detail li,.quote-card li{display:flex;justify-content:space-between;gap:10px;color:var(--ink-soft);font-size:11px}.quote-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.quote-total span{color:var(--muted);font-size:10px}.quote-total strong{font-size:18px}.quote-card .receipt-body>p,.quote-card>p{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.quote-card .receipt-body>.primary-action,.quote-card>.primary-action{width:100%}.customer-order-list{display:grid;gap:8px}.customer-order-list li button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;color:var(--ink);background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;text-align:left}.customer-order-list li.selected button{background:#edf7f2;border-color:#9ccbbb}.customer-order-list button>span{display:grid;gap:3px}.customer-order-list button strong{font-size:11px}.customer-order-list button small{color:var(--muted);font-size:9px}.customer-order-list button>span:last-child{justify-items:end}.customer-order-list button b{font-size:10px}.load-food-more{width:100%;margin-top:10px}.food-state{display:inline-flex;width:fit-content;padding:4px 8px;color:var(--ink-soft);background:#F5F3FA;border-radius:var(--radius-chip);font-size:9px;font-style:normal;font-weight:750;white-space:nowrap}.food-state.accepted,.food-state.fulfilled,.food-state.ready{color:var(--green-dark);background:var(--mint)}.food-state.payment-pending{color:#805111;background:#fff0d3}.food-state.cancellation-pending-refund,.food-state.rejection-pending-refund{color:var(--red);background:#ffe8e4}.food-state.preparing{color:#315582;background:#e4eefb}.order-detail{margin-top:20px}.order-receipt{padding:20px}.order-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.order-detail>header span{color:var(--muted);font-size:9px}.order-detail>header .receipt-overline{display:block;margin-bottom:4px;color:var(--green-dark);font-weight:800;letter-spacing:.04em}.order-detail h2{margin:2px 0 0;font-size:22px}.order-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.order-receipt .order-detail-grid>div+div{padding-left:24px;border-left:1px dashed var(--line)}.order-detail-grid h3{margin:0 0 10px;font-size:12px}.order-detail dl{display:grid;gap:7px;margin:0}.order-detail dl>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--line-soft);font-size:10px}.order-detail dt{color:var(--muted)}.order-detail dd{margin:0;font-weight:700}.pickup-credential{display:grid;gap:5px;margin-top:12px;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.pickup-credential small,.pickup-credential span{color:var(--muted);font-size:10px}.pickup-credential strong{font-size:10px;color:var(--ink)}.pickup-credential code{overflow-wrap:anywhere;color:var(--ink);font-family:var(--font-meta);font-size:13px;-webkit-user-select:all;user-select:all}.pickup-ticket{position:relative;overflow:hidden;padding:15px 18px;background:#fff7e8;border:1px dashed #bd792b;border-radius:0}.pickup-ticket:after,.pickup-ticket:before{position:absolute;top:50%;width:12px;height:12px;background:var(--surface);border:1px solid #bd792b;border-radius:50%;content:"";transform:translateY(-50%)}.pickup-ticket:before{left:-7px}.pickup-ticket:after{right:-7px}.pickup-ticket .pickup-ticket-label{color:#895b1d;font-size:10px;font-weight:800;letter-spacing:.04em}.pickup-ticket code{position:relative;width:fit-content;font-size:20px;font-weight:800;letter-spacing:.08em}.pickup-ticket.is-ready code:after{position:absolute;z-index:-1;right:-4px;bottom:1px;left:-4px;height:.48em;background:var(--marker);content:"";transform:scaleX(0);transform-origin:left;animation:ink-mark var(--motion-morph) var(--ease-standard) both;animation-duration:.15s}.order-detail>.refund-warning{margin-top:16px}.order-actions{flex-wrap:wrap;gap:9px;margin-top:17px}.cancel-form,.order-actions{display:flex;align-items:end}.cancel-form{flex:1 1 460px;justify-content:flex-end;gap:8px}.cancel-form label{display:grid;gap:4px;color:var(--muted);font-size:9px}.payment-session{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;background:#f2f7f4;border-radius:var(--radius);font-size:10px}.payment-session span{margin-right:auto;color:var(--muted)}.kds-toolbar{margin-bottom:18px}.kds-toolbar form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,.65fr) auto;align-items:end;gap:10px}.kds-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:10px}.kds-toolbar>p{display:flex;align-items:center;gap:5px;margin:10px 0 0;color:var(--muted);font-size:9px}.kds-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px}.kds-ticket{overflow:hidden;padding:0}.kds-ticket>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#f5f6f2;border-bottom:1px solid var(--line-soft)}.kds-ticket>header>div{display:flex;align-items:baseline;gap:7px}.kds-ticket>header span{color:var(--muted);font-size:9px}.kds-ticket>header strong{font-size:21px;letter-spacing:.07em}.kds-time{display:grid;grid-template-columns:1fr auto;align-items:end;padding:13px 15px 8px}.kds-time span{color:var(--muted);font-size:9px}.kds-time strong{grid-row:1/3;grid-column:2;font-size:20px}.kds-time small{color:var(--muted);font-size:8px}.kds-ticket>ul{display:grid;gap:8px;padding:8px 15px 13px}.kds-ticket>ul li{display:grid;gap:2px;font-size:11px}.kds-ticket>ul small{color:var(--amber);font-size:9px}.kds-total{display:flex;justify-content:space-between;padding:10px 15px;background:#fafaf7;border-block:1px solid var(--line-soft);font-size:10px}.kds-actions{display:grid;gap:9px;padding:13px 15px 15px}.kds-actions>button{width:100%}.kds-reject{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px}.kds-reject label,.pickup-verify label{display:grid;gap:4px;color:var(--muted);font-size:9px}.kds-reject>input,.kds-reject>p{grid-column:1/-1}.kds-reject>p{margin:0;color:var(--red);font-size:8px}.pickup-verify{display:grid;gap:8px}.pickup-verify input{width:100%}.kds-no-action{display:flex;align-items:center;gap:5px;padding:10px 15px;color:var(--muted);font-size:9px}.kds-load-more{display:flex;margin:16px auto 0}.kds-legend{display:flex;justify-content:space-between;gap:14px;margin-top:20px;padding-top:14px;color:var(--muted);border-top:1px solid var(--line);font-size:9px}.kds-legend span{display:flex;align-items:center;gap:5px}.kds-empty{min-height:180px}.food-workspace-switcher{position:sticky;z-index:8;top:12px;display:grid;gap:10px;margin-bottom:18px;padding:10px;background:color-mix(in srgb,var(--paper) 94%,white);border:1px solid var(--ink);border-radius:var(--radius)}.food-workspace-switcher>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.food-workspace-switcher button{display:flex;min-height:58px;align-items:center;gap:10px;padding:9px 12px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);text-align:left}.food-workspace-switcher button[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.food-workspace-switcher button>svg{width:23px;height:23px;flex:0 0 auto}.food-workspace-switcher button span{display:grid;gap:2px}.food-workspace-switcher button strong{font-size:15px}.food-workspace-switcher button small{color:inherit;font-size:11px;opacity:.78}.food-workspace-switcher>p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:0 3px;color:var(--muted);font-size:12px}.food-workspace-switcher>p strong{color:var(--ink)}.staff-food-page .kds-toolbar{padding:18px;border:1px solid var(--line)}.staff-food-page .kds-filter-bar{position:sticky;z-index:7;top:116px;background:var(--paper)}.staff-food-page .kds-toolbar form{grid-template-columns:minmax(200px,1.1fr) minmax(160px,.7fr) minmax(150px,.65fr) auto}.staff-food-page .kds-toolbar label{font-size:13px;font-weight:750}.staff-food-page .kds-toolbar>p{font-size:12px;line-height:1.55}.staff-food-page a.secondary-action,.staff-food-page button,.staff-food-page input,.staff-food-page select{min-height:48px}.staff-food-page .kds-actions button{min-height:54px;font-size:15px}.staff-food-page .kds-actions button svg{width:20px;height:20px}.staff-food-page[data-workspace=kitchen] .kds-board{grid-template-columns:repeat(3,minmax(300px,1fr));gap:12px}.staff-food-page[data-workspace=kitchen] .kds-ticket{border-color:#aab4af}.staff-food-page[data-workspace=kitchen] .kds-ticket>header{padding:16px 18px;background:#eef0eb;border-bottom-color:#aab4af}.staff-food-page[data-workspace=kitchen] .kds-ticket>header span{font-size:13px;font-weight:750}.staff-food-page[data-workspace=kitchen] .kds-ticket>header strong{font-size:30px;letter-spacing:.09em}.staff-food-page[data-workspace=kitchen] .food-state{padding:6px 9px;font-size:13px}.staff-food-page[data-workspace=kitchen] .kds-time{padding:15px 18px 10px}.staff-food-page[data-workspace=kitchen] .kds-time span{font-size:13px}.staff-food-page[data-workspace=kitchen] .kds-time strong{font-size:29px}.staff-food-page[data-workspace=kitchen] .kds-time small{margin-top:4px;font-size:12px;line-height:1.45}.staff-food-page[data-workspace=kitchen] .kds-ticket>ul{gap:12px;padding:12px 18px 16px}.staff-food-page[data-workspace=kitchen] .kds-ticket>ul li{gap:5px;font-size:18px;line-height:1.35}.staff-food-page[data-workspace=kitchen] .kds-ticket>ul small{color:#754b11;font-size:15px;line-height:1.4}.staff-food-page[data-workspace=kitchen] .kds-total{padding:12px 18px;font-size:15px}.staff-food-page[data-workspace=kitchen] .kds-actions{gap:11px;padding:15px 18px 18px}.staff-food-page[data-workspace=kitchen] .kds-actions button{min-height:60px;font-size:17px}.staff-food-page[data-workspace=kitchen] .kds-station{display:grid;gap:8px}.staff-food-page[data-workspace=kitchen] .kds-station>span{font-size:16px;font-weight:850}.staff-food-page[data-workspace=kitchen] .kds-no-action{padding:14px 18px;font-size:13px;line-height:1.45}.counter-callout>div{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.counter-callout>div strong{font-size:26px;letter-spacing:.06em}.counter-callout>div span{color:var(--muted);font-size:14px}.counter-callout>div button{min-width:120px;font-size:15px}.food-operations-disclosure>summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);cursor:pointer;list-style:none}.food-operations-disclosure>summary::-webkit-details-marker{display:none}.food-operations-disclosure>summary:after{color:var(--green-dark);content:"+";font-size:22px;font-weight:850}.food-operations-disclosure[open]>summary:after{content:"−"}.food-operations-disclosure>summary strong{font-size:17px}.food-operations-disclosure>summary small{margin-left:auto;color:var(--muted);font-size:12px}.food-operations-disclosure>summary+*{margin-top:12px}.food-operations-disclosure>div{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.staff-food-page[data-workspace=operations]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}.staff-food-page[data-workspace=operations]>.food-header,.staff-food-page[data-workspace=operations]>.food-notice,.staff-food-page[data-workspace=operations]>.food-workspace-switcher,.staff-food-page[data-workspace=operations]>footer,.staff-food-page[data-workspace=operations]>section{grid-column:1/-1}@media (max-width:1280px){.staff-food-page[data-workspace=kitchen] .kds-board{grid-template-columns:repeat(2,minmax(300px,1fr))}}@media (max-width:1180px){.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr)}.welcome-row{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.requirement-grid{grid-template-columns:1fr}.kds-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.sidebar{width:260px;transform:translateX(-102%);visibility:hidden;transition:transform var(--motion-overlay) var(--ease-standard),visibility 0s linear var(--motion-overlay);border-right:1px solid rgba(255,255,255,.12)}.sidebar.is-open{transform:translateX(0);visibility:visible;transition-delay:0s}.sidebar-close{display:grid}.sidebar-scrim{position:fixed;z-index:29;inset:0;display:block;width:100%;height:100%;background:rgba(11,20,17,.45);border:0;animation:scrim-in var(--motion-overlay) var(--ease-standard) both}.workspace{margin-left:0}.menu-button{display:grid;width:38px;height:38px;place-items:center;padding:0;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius-control)}.topbar-context{margin-right:auto;margin-left:12px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(285px,.7fr)}.food-layout,.staff-grid,.staff-shared-queue,.staff-shared-queue-filters{grid-template-columns:1fr}}@media (max-width:760px){:root{--page-inline:16px;--page-top:26px;--page-bottom:46px}.topbar{padding:0 16px}.term-label{display:none}.dashboard{padding:24px 16px 108px}.welcome-row{grid-template-columns:1fr;align-items:start;gap:12px;margin-bottom:12px}.has-role-dock .welcome-row .identity-card{display:none}.identity-card{max-width:none}.dashboard-grid{grid-template-columns:1fr}.secondary-column{grid-row:auto}.attendance-input-row{grid-template-columns:1fr}.attendance-submit{width:100%}.attendance-input-row input{text-align:center}.mobile-quick-nav{position:fixed;z-index:var(--depth-chrome);right:0;bottom:0;left:0;display:grid;min-height:64px;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--chrome-fill);border-top:1px solid var(--line)}.mobile-quick-nav a{position:relative;display:grid;min-height:48px;place-content:center;justify-items:center;gap:2px;color:var(--ink-soft);text-decoration:none;font-size:11px;font-weight:800}.mobile-quick-nav a[aria-current=page]{color:var(--green-dark)}.mobile-quick-nav a[aria-current=page]:before{position:absolute;top:0;width:28px;height:3px;content:"";background:var(--marker)}.mobile-quick-nav span{color:var(--muted);font-family:var(--font-meta);font-size:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heading-skeleton{width:78%}.food-header,.staff-header{align-items:start;flex-direction:column}.staff-header-actions{width:100%}.staff-header-actions>*{flex:1 1}.food-header-actions{width:100%}.food-header-actions>*{flex:1 1}.has-role-dock{padding-bottom:108px}.assignment-policy,.correction-row,.food-menu-list,.kds-board,.kds-toolbar form,.order-detail-grid,.rubric-fields>div,.session-search,.staff-food-page .kds-toolbar form,.submission-list,.submission-search{grid-template-columns:1fr}.food-workspace-switcher{top:8px}.staff-food-page .kds-filter-bar{position:static}.staff-food-page[data-workspace=operations]{grid-template-columns:1fr}.staff-food-page[data-workspace=operations]>details{grid-column:1}.counter-callout>div{grid-template-columns:1fr auto}.counter-callout>div span{grid-column:1/-1;grid-row:2}.order-receipt{padding:18px 16px}.order-receipt .order-detail-grid>div+div{padding-top:18px;padding-left:0;border-top:1px dashed var(--line);border-left:0}.cancel-form{align-items:stretch;flex-direction:column}}@media (max-width:480px){.welcome-row h1{font-size:28px}.identity-card{grid-template-columns:45px 1fr}.day-brief{width:100%}.day-brief>span{min-width:0;flex:1 1;padding-right:10px}.day-brief>span+span{padding-left:10px}.day-brief strong{font-size:18px}.identity-icon{width:45px;height:45px}.credential-state{grid-column:2;justify-self:start;margin-top:-4px}.attendance-panel{padding:20px 16px}.catalog-card,.compact-card,.degree-card,.learning-card,.leave-card,.schedule-card{padding:18px 0;border-radius:0}.schedule-list li{grid-template-columns:44px 12px minmax(0,1fr);gap:9px}.timeline-line{left:59px}.attendance-badge{grid-column:3;justify-self:start;margin:-12px 0 13px}.requirement-grid{grid-template-columns:1fr}.degree-number{align-items:flex-start;flex-direction:column;gap:4px}.form-row.two-columns{grid-template-columns:1fr}.topbar .account-mark{display:none}.assignment-heading,.review-workspace>header{align-items:flex-start;flex-direction:column}.review-workspace .state-pill,.submission-pill{margin-left:0}.assignment-actions,.review-actions{flex-direction:column}.assignment-actions button,.review-actions button{width:100%}.food-workspace-switcher{padding:7px}.food-workspace-switcher>div{gap:5px}.food-workspace-switcher button{min-width:0;min-height:62px;flex-direction:column;justify-content:center;gap:3px;padding:6px 4px;text-align:center}.food-workspace-switcher button>svg{width:19px;height:19px}.food-workspace-switcher button strong{font-size:12px}.food-workspace-switcher button small{font-size:9px}.food-workspace-switcher>p{align-items:flex-start;flex-direction:column;gap:2px}.staff-food-page .kds-toolbar{padding:14px}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.identity-card{view-transition-name:none}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}.live-pulse.on{animation:none;box-shadow:none}.schedule-list li.is-now .course-copy strong:after{animation:none;transform:scaleX(1)}}.public-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:1.5rem;background:#17201F}.public-footer a{color:var(--marker);font-size:.85rem}.public-policy{min-height:80vh;max-width:760px;margin:0 auto;padding:3rem 1.25rem 4rem;color:var(--ink)}.public-policy-back,.public-policy-links a{color:#155849;font-weight:700}.public-policy-eyebrow{margin-top:2.5rem;color:#1F7563;font-size:.75rem;font-weight:800}.public-policy h1{margin:.45rem 0 .75rem;font-size:clamp(2rem,5vw,3.5rem)}.public-policy-summary{color:var(--muted);font-size:1.05rem;line-height:1.8}.public-policy-block{margin:2rem 0;padding:1rem 1.2rem;border:1px solid #edcc94;border-radius:var(--radius);background:#fff8e8;color:#714e16}.public-policy-block p{margin:.4rem 0 0;line-height:1.65}.public-policy-content{display:grid;gap:1.3rem}.public-policy-content section{padding:1.3rem;border:1px solid var(--line);background:#fff}.public-policy-content h2{margin:0 0 .65rem;font-size:1.15rem}.public-policy-content p{margin:0;color:var(--muted);line-height:1.75}.public-policy-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.campus-page{display:grid;width:min(100%,var(--page-shell-max));min-height:100vh;margin:0 auto;gap:18px;padding:var(--page-top) var(--page-inline) var(--page-bottom);align-content:start}.campus-page-head{display:grid;gap:8px}.campus-page-head h1{margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,2.2vw,2rem);letter-spacing:-.02em;color:var(--ink)}.campus-page-head p{max-width:760px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.7}.campus-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.campus-page-actions button{min-height:40px;border:0;border-radius:var(--radius-control);padding:8px 14px;background:var(--green-dark);color:#fff;font-weight:800}.campus-link{display:inline-flex;align-items:center;gap:6px;color:#155849;font-weight:750;font-size:13px;text-decoration:none}.campus-link svg{width:15px;height:15px}.campus-notice{margin:0;padding:10px 12px;border:1px solid #b9ccc6;border-radius:var(--radius);background:#f7fbf9;color:#155849;font-size:12px}.campus-notice.is-error{border-color:#e8baba;background:#fff2f2;color:#a13b3b}.campus-section{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.campus-section>h2{margin:0;font-size:16px;color:var(--ink)}.campus-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.campus-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft)}.campus-list>li>strong{color:var(--ink)}.campus-list small{color:var(--muted);font-size:11px}.campus-card{display:grid;gap:10px;padding:13px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fbfbf9}.campus-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.campus-card-head>strong{font-size:14px;color:var(--ink)}.campus-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-chip);background:var(--mint);color:#155849;font-size:11px;font-weight:750}.campus-tag.is-warning{background:#fff7e8;color:#895b1d}.campus-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.campus-form-row label{display:grid;min-width:0;flex:1 1 180px;gap:4px;color:var(--muted);font-size:11px}.campus-form-row input,.campus-form-row select{min-height:40px;border:1px solid #d8dce5;border-radius:var(--radius-control);padding:8px 10px;background:white;color:var(--ink);font-size:13px}.campus-form-row button{min-height:40px;border:0;border-radius:var(--radius-control);padding:8px 14px;background:#1F7563;color:white;font-weight:800;font-size:13px}.campus-form-row button:disabled{background:#E7E3EE;color:#69736F}.calendar-detail-choices{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.calendar-detail-choices label{display:flex;align-items:center;gap:6px;color:#46514D;font-size:13px}.calendar-consent{display:flex;align-items:flex-start;gap:8px;margin:10px 0;color:#46514D;font-size:12px}.calendar-subscription-url{display:grid;gap:8px;margin:10px 0;border:1px solid #b9ccc6;border-radius:var(--radius);padding:10px;background:#E5EEEA}.calendar-subscription-url code{display:block;overflow-wrap:anywhere;color:#155849;font-size:12px}.calendar-subscription-url p{color:#46514D;font-size:12px}.campus-device-list{display:grid;gap:8px;margin:10px 0;padding:0;list-style:none}.campus-device-list li{display:grid;gap:4px;border:1px solid #e7e3ee;border-radius:var(--radius);padding:10px;background:#ffffff}.campus-device-list li strong{color:#17201F;font-size:14px}.campus-device-list li small{color:#69736F;font-size:12px}.campus-device-list li button{justify-self:start;min-height:36px;margin-top:4px;border:1px solid #d8dce5;border-radius:var(--radius-control);padding:6px 12px;background:#F4F6F2;color:#46514D;font-size:13px}.attendance-export-truth{border-radius:var(--radius);padding:10px;background:#E5EEEA;color:#155849;font-size:12px}.attendance-export-heading{margin:16px 0 6px;color:#17201F;font-size:14px}.attendance-export-empty{color:#69736F;font-size:13px}.attendance-export-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.attendance-export-card{display:grid;gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#ffffff}.attendance-export-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.attendance-export-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;background:#EFF1EE;color:#46514D}.attendance-export-badge-approval-pending,.attendance-export-badge-generating{background:#FFF7E8;color:#895b1d}.attendance-export-badge-authorized,.attendance-export-badge-ready{background:#EBFAF3;color:#166b4a}.attendance-export-badge-expired,.attendance-export-badge-failed,.attendance-export-badge-rejected{background:#FBEEEE;color:#8c3b34}.attendance-export-purpose{color:#69736F;font-size:12px}.attendance-export-state{margin:0;color:#17201F;font-size:13px}.attendance-export-decision,.attendance-export-justification,.attendance-export-meta{margin:0;color:#69736F;font-size:12px;overflow-wrap:anywhere}.attendance-export-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:4px}.attendance-export-actions button{min-height:40px;border:0;border-radius:var(--radius-control);padding:8px 14px;background:#1F7563;color:#ffffff;font-weight:800}.attendance-export-actions button:disabled{background:#E4E7E3;color:#8B948F}.attendance-export-reason{display:grid;gap:4px;flex:1 1 220px;color:#46514D;font-size:12px}.attendance-export-reason input{margin:0;min-height:40px}body{color:var(--ink);background:var(--paper);letter-spacing:-.008em}::selection{color:var(--ink);background:var(--marker)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}main :where(input:not([type=radio]):not([type=checkbox]),select,textarea){min-height:44px;padding:9px 12px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-control)}main :where(button){min-height:42px;padding:8px 14px;border-radius:var(--radius-control);font-weight:800}main .attachment-file-input{position:absolute;width:1px;min-height:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:color-mix(in srgb,var(--brand) 45%,transparent)}.sidebar{width:232px;padding:18px 13px 15px;color:var(--ink);background:var(--surface);border-right:1px solid var(--line);box-shadow:none}.brand-row{min-height:54px;padding:0 8px 19px;border-color:var(--line)}.nuni-brand-mark{width:42px;height:42px;filter:none}.nuni-brand-copy strong{color:var(--ink);font-size:21px;letter-spacing:-.07em}.nuni-brand-copy small{color:var(--muted);letter-spacing:0}.module-navigation{padding:16px 0 12px}.nav-group-heading,.nav-heading{color:var(--muted)}.nav-heading span{color:var(--brand-dark);background:var(--brand-soft);border-radius:var(--radius-chip)}.module-navigation ul{gap:4px}.module-link{min-height:43px;grid-template-columns:34px 1fr auto;gap:8px;padding:7px 11px;color:var(--ink-soft);border:1px solid transparent;border-radius:var(--radius-control)}.module-link:before{display:none}.module-link.available{color:var(--ink)}.module-link:hover{background:var(--surface-soft);border-color:var(--line)}.module-link.available.active{color:var(--ink);background:var(--marker);border-color:var(--ink);box-shadow:none}.module-index{display:grid;width:28px;height:28px;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:5px;font-size:10px}.module-link.active .module-index{color:#fff;background:var(--ink);border-color:var(--ink)}.state-dot.available{background:var(--brand)}.module-link.available.active .state-dot{background:var(--ink);box-shadow:none}.sidebar-account{padding:15px 8px 2px;border-color:var(--line)}.account-mark,.avatar{color:var(--ink);background:var(--marker);border-radius:var(--radius-control)}.workspace{margin-left:232px}.topbar{height:70px;padding:0 clamp(22px,3.5vw,54px);background:var(--chrome-fill);border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.icon-button{width:42px;height:42px;background:transparent;border:0;border-radius:var(--radius-control);box-shadow:none}.icon-button:after{display:none}.icon-button:focus-visible,.icon-button:hover{color:var(--brand-dark);background:var(--brand-soft)}.dashboard{padding:30px clamp(22px,3.5vw,54px) 72px}.welcome-row{align-items:stretch;gap:24px;margin-bottom:24px}.card-label,.date-line,.eyebrow{color:var(--brand-dark)}.campus-page-head h1,.career-hero h1,.dashboard-page h1,.dorm-hero h1,.fatal-state h1,.page-header h1,.social-hero h1,.staff-header h1,.welcome-row h1{font-family:var(--font-ui);font-weight:850;letter-spacing:-.035em}.welcome-row h1{max-width:720px;font-size:clamp(30px,3.2vw,44px);line-height:1.12}.welcome-copy{max-width:660px;font-size:14px;line-height:1.65}.day-brief{width:fit-content;margin-top:22px;padding:0;background:transparent;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.day-brief>span{min-width:104px;padding:11px 16px}.day-brief>span+span{border-color:var(--line-soft)}.day-brief strong{font-family:var(--font-meta);font-size:22px;font-weight:800}.day-brief strong:after{content:none}.identity-card{min-height:118px;padding:19px 20px;color:#eaf4ef;background:#17201F;border:1px solid #17201f;border-radius:4px 4px 4px 14px;box-shadow:none}.identity-card:before{right:18px;left:0;height:5px;background:var(--marker);border-radius:0}.identity-icon{color:var(--marker);background:rgba(255,255,255,.08);border-radius:var(--radius-control)}.identity-card .card-label,.identity-card small{color:#b9ccc6}.identity-card small{display:block;white-space:normal;overflow-wrap:anywhere}.credential-state{color:#fff;background:rgba(255,255,255,.08);border-radius:var(--radius-chip)}.credential-state.active{color:#fff;background:#155849}.dashboard-grid{gap:20px}.primary-column,.secondary-column{gap:12px}.campus-card,.campus-section,.card-grid .card,.career-card,.dashboard-page>.surface-card,.dorm-card,.social-card,.staff-panel,.surface-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.card-grid .card,.career-card,.dashboard-page>.surface-card,.dorm-card,.social-card,.staff-panel,.surface-card{padding:20px 0}.primary-column .surface-card:last-child,.secondary-column .surface-card:last-child{border-bottom:1px solid var(--line)}.attendance-panel{padding:24px;color:var(--ink);background:var(--surface);border:1px solid var(--ink);border-radius:var(--radius);box-shadow:none}.attendance-form>label,.attendance-form>small,.attendance-heading p{color:var(--ink-soft)}.attendance-heading h2{color:var(--ink)}.attendance-heading .section-kicker{color:var(--brand-dark)}.attendance-panel .request-message.error{color:var(--red);background:#fff0f0}.attendance-panel .request-message.success{color:#166b4a;background:#eafbf3}.attendance-panel .secondary-action,.attendance-panel .text-button{color:var(--brand-dark)}.attendance-input-row input{color:var(--ink);background:var(--surface-soft);border-color:var(--line);border-radius:var(--radius-control)}.approve-action,.attendance-export-actions button,.attendance-submit,.campus-form-row button,.campus-page-actions button,.dashboard-page button:not(.secondary-button),.primary-action,.primary-button,main.app-shell .card button:not(.secondary-button){color:#fff;background:var(--brand);border-color:var(--brand);border-radius:var(--radius-control);box-shadow:none}.attendance-submit{color:var(--ink);background:var(--marker);box-shadow:none}.campus-link,.public-policy-back,.public-policy-links a,.secondary-action,.secondary-button,.text-link{color:var(--brand-dark)}.secondary-button{background:var(--brand-soft);border-color:#b9ccc6;border-radius:var(--radius-control)}.week-strip{gap:0;padding:0;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}.week-cell{min-height:54px;place-content:center;border-radius:0}.week-cell.is-today{background:transparent}.week-cell.is-today .week-label{background:var(--marker);color:var(--ink)}.action-list li,.campus-card,.career-item,.catalog-list li,.dorm-item,.learning-list li,.notification-list li,.schedule-list li,.social-item,.staff-list>li{border-color:var(--line-soft)}.action-list a:focus-visible,.action-list a:hover,.schedule-list li:hover{color:var(--brand-dark);background:color-mix(in srgb,var(--mint) 42%,transparent);border-radius:0}.progress-track,.track{height:8px;background:var(--brand-soft);border-radius:var(--radius-state)}.fill,.progress-earned{background:var(--brand)}.count-badge,.state-pill.approved,.state-pill.published,.submission-pill.submitted{color:var(--brand-dark);background:var(--brand-soft);border-radius:var(--radius-chip)}.campus-page,.career-shell,.dashboard-page,.dorm-shell,.social-shell,.staff-page,main.app-shell{background:var(--paper)}.campus-page-head,.career-hero,.dorm-hero,.page-header,.social-hero,.staff-header{padding:20px 0 18px;border-bottom:2px solid var(--ink)}.campus-page-head h1,.career-hero h1,.dorm-hero h1,.page-header h1,.social-hero h1,.staff-header h1{font-size:clamp(1.75rem,2.7vw,2.35rem);line-height:1.1}.card-grid,.career-grid,.dorm-grid,.social-grid,.staff-grid{gap:16px}.campus-card,.career-item,.dorm-item,.social-item,.staff-list>li{margin-top:0;padding:14px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}.campus-form-row input,.campus-form-row select,.career-form input,.career-form select,.career-form textarea,.dashboard-page input:not([type=radio]):not([type=checkbox]),.dashboard-page select,.dashboard-page textarea,.dorm-form input,.dorm-form select,.dorm-form textarea,.social-form input,.social-form select,.social-form textarea,.staff-panel input,.staff-panel select,.staff-panel textarea,main.app-shell input:not([type=radio]):not([type=checkbox]),main.app-shell select,main.app-shell textarea{min-height:46px;background:var(--surface-soft);border-color:var(--line);border-radius:var(--radius-control)}.assistant-timeline li,.capability-truth{border-radius:6px}.capability-truth.is-on-device,.capability-truth.is-ready{border-color:var(--line);background:var(--surface-soft)}.capability-truth.is-trial,.capability-truth.is-waiting{border-color:#b9ccc6;background:var(--brand-soft)}.public-footer{background:var(--sidebar)}.public-policy-content section{border-radius:var(--radius);box-shadow:none}@media (max-width:980px){.workspace{margin-left:0}.sidebar{width:min(86vw,330px);border-radius:0}.topbar{height:66px}.menu-button{border-radius:var(--radius-control)}.dashboard{padding:28px 18px 108px}.welcome-row{gap:18px}.dashboard-grid{gap:16px}.mobile-quick-nav{right:0;bottom:0;left:0;min-height:72px;padding:7px 12px max(7px,env(safe-area-inset-bottom));color:var(--ink-soft);background:var(--surface);border:0;border-top:1px solid var(--ink);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-quick-nav a{color:var(--ink-soft);border-radius:6px}.mobile-quick-nav a[aria-current=page]{color:var(--ink);background:transparent}.mobile-quick-nav a[aria-current=page]:before{display:block;height:3px;background:var(--marker);border-radius:var(--radius-state)}.mobile-quick-nav span{color:inherit}.staff-header-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.staff-header-actions>*{display:inline-flex;min-width:0;min-height:42px;align-items:center;justify-content:center;padding:8px 10px;color:var(--brand-dark);background:var(--surface);border:1px solid var(--line);border-radius:6px;line-height:1.35;text-align:center;text-decoration:none;word-break:keep-all}}@media (max-width:480px){.welcome-row h1{font-size:34px}.day-brief{width:100%}.catalog-card,.compact-card,.degree-card,.learning-card,.leave-card,.schedule-card,.surface-card{padding:18px 0;border-radius:0}.attendance-panel{padding:20px 16px}.identity-card{border-radius:4px 4px 4px 14px}}