/* Dedicated staff pages. Every rule is scoped away from public sign-in. */
.shell.portal-workspaces {
  --pw-ink: #17334a;
  --pw-muted: #52697b;
  --pw-navy: #08293c;
  --pw-teal: #087f7a;
  --pw-paper: #ffffff;
  --pw-soft: #f4f8fa;
  --pw-line: #d7e3e9;
  --pw-accent: #087f7a;
  --pw-tint: #e7f6f2;
  --ink: var(--pw-ink);
  --muted: var(--pw-muted);
  --border: var(--pw-line);
  --blue: #075da2;
  --navy: var(--pw-navy);
  --experience-ink: var(--pw-ink);
  --experience-muted: var(--pw-muted);
  --luminous-ink: var(--pw-ink);
  --luminous-muted: var(--pw-muted);
  color: var(--pw-ink);
  background: #f2f6f8;
  grid-template-columns: 256px minmax(0,1fr);
  font-size: 15px;
  line-height: 1.55;
}
.shell.portal-workspaces::before,
.shell.portal-workspaces::after { display: none; }
.shell.portal-workspaces > .shell-ambient { display: none; }
.shell.portal-workspaces .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.shell.portal-workspaces[data-workspace="forms"] { --pw-accent: #07619c; --pw-tint: #eaf3fb; }
.shell.portal-workspaces[data-workspace="onboarding"] { --pw-accent: #087e70; --pw-tint: #e7f6f0; }
.shell.portal-workspaces[data-workspace="records"] { --pw-accent: #6152a0; --pw-tint: #f0edf9; }
.shell.portal-workspaces[data-workspace="training"] { --pw-accent: #966017; --pw-tint: #fcf3e5; }
.shell.portal-workspaces :is(.main,.card,.doc-main,.section-head,.workspace-page-header,.home-layout,.home-workspaces,.home-aside,.workspace-card) { min-width: 0; }
.shell.portal-workspaces :is(h1,h2,h3) { text-wrap: balance; }
.shell.portal-workspaces :is(p,.doc-title,.workspace-card h3,.workspace-description) { overflow-wrap: anywhere; }
.shell.portal-workspaces .main { width: 100%; max-width: 1770px; padding: 32px clamp(24px,3vw,48px) 60px; }
.shell.portal-workspaces .sidebar { padding: 25px 17px 22px; background: linear-gradient(165deg,#0c3042,#091e30 75%); border-color: #123a4d; box-shadow: none; }
.shell.portal-workspaces .sidebar::before { background: radial-gradient(ellipse at 0 0,#157e791c,transparent 52%); }
.shell.portal-workspaces .sidebar::after { display: none; }
.shell.portal-workspaces .sidebar-brand { margin: 0 6px 27px; padding: 14px 18px; border: 1px solid #e4eef2; border-radius: 14px; background: #f4fafb; box-shadow: none; }
.shell.portal-workspaces .sidebar-brand img { width: 164px; height: 55px; margin: auto; object-fit: contain; mix-blend-mode: multiply; }
.shell.portal-workspaces .sidebar > .eyebrow { margin: 0 0 12px; padding: 0 13px; color: #93b5c3; font-size: 11px; letter-spacing: .13em; }
.shell.portal-workspaces .nav { display: grid; gap: 6px; margin-top: 0; }
.shell.portal-workspaces .nav :is(a,button) { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px; min-height: 61px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #c9dce5; font-size: 14px; line-height: 1.35; text-align: left; text-decoration: none; transform: none; transition: background .18s ease,border-color .18s ease,color .18s ease; }
.shell.portal-workspaces .nav :is(a,button) > svg { width: 34px; height: 34px; padding: 7px; flex: none; margin: 0; color: #a4c6d3; background: #e6f9ff07; border: 1px solid #a3d1e317; border-radius: 10px; }
.shell.portal-workspaces .nav .nav-text { min-width: 0; flex: 1; }
.shell.portal-workspaces .nav .nav-caption { display: block; color: #92b2c4; font-size: 11px; font-weight: 400; margin-top: 4px; line-height: 1.45; }
.shell.portal-workspaces .nav :is(a,button):hover { color: #f4fcff; border-color: #8ddfd52d; background: #dffaff09; transform: none; }
.shell.portal-workspaces .nav :is(a,button).active { color: #ecfffa; border-color: #5dc8b650; background: linear-gradient(105deg,#2d8b7e35,#255e6930); box-shadow: none; }
.shell.portal-workspaces .nav :is(a,button).active::before { content: ''; position: absolute; inset: 16px auto 16px -1px; width: 3px; height: auto; background: #72dbc4; border-radius: 4px; transform: none; box-shadow: none; }
.shell.portal-workspaces .nav :is(a,button).active > svg { color: #adf4df; border-color: #98e8d82b; background: #71d1bf13; }
.shell.portal-workspaces .nav :is(a,button).active .nav-caption { color: #b1d9d7; }
.shell.portal-workspaces .nav .num { color: #a0bece; font-size: 11px; letter-spacing: .03em; }
.shell.portal-workspaces .side-bottom { margin-top: auto; padding: 24px 7px 0; }
.shell.portal-workspaces .side-bottom .btn { min-height: 44px; border-color: #809cb52b; background: #ffffff05; color: #d7e6ed; font-size: 13px; }
.shell.portal-workspaces .side-bottom p { font-size: 12px; color: #a4bece; line-height: 1.65; }
.shell.portal-workspaces .topbar { min-height: 82px; height: auto; padding: 16px clamp(24px,3vw,48px); border-bottom: 1px solid var(--pw-line); background: #fff; backdrop-filter: none; gap: 18px; }
.shell.portal-workspaces .breadcrumb { display: flex; flex: 1; align-items: center; flex-wrap: nowrap; gap: 8px; color: var(--pw-muted); font-size: 13px; line-height: 1.5; min-width: 0; white-space: nowrap; overflow: hidden; }
.shell.portal-workspaces .breadcrumb a { color: #4c697a; min-height: 44px; display: inline-flex; align-items: center; }
.shell.portal-workspaces .breadcrumb span { margin: 0; color: var(--pw-ink); }
.shell.portal-workspaces .breadcrumb :is(a,span[aria-hidden]) { flex: none; }
.shell.portal-workspaces .breadcrumb [aria-current] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shell.portal-workspaces .breadcrumb svg { width: 14px; height: 14px; color: #708895; }
.shell.portal-workspaces .topbar-actions { gap: 8px; flex: none; }
.shell.portal-workspaces .portal-mobile-navigation { display: none; }
.shell.portal-workspaces .workspace-switcher { width: auto; max-width: 175px; min-height: 44px; font-size: 13px; background: #f7fafb; }
.shell.portal-workspaces .topbar-actions > .btn { min-height: 44px; box-shadow: none; border-color: var(--pw-line); }
.shell.portal-workspaces .topbar .user { margin-left: 9px; }
.shell.portal-workspaces .user-name { font-size: 13px; color: var(--pw-ink); }
.shell.portal-workspaces .user-email { font-size: 12px; color: var(--pw-muted); }
.shell.portal-workspaces .avatar { background: #e9f4f1; border-color: #cde4de; color: #126553; }
.shell.portal-workspaces :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid #087f9a; outline-offset: 3px; }
.shell.portal-workspaces .sidebar :is(button,a):focus-visible { outline-color: #a6eedc; }
.shell.portal-workspaces :is(.btn,.category,.tabs-local button,.doc-title,.home-quick-action) { min-height: 44px; }
.shell.portal-workspaces .btn { border-color: var(--pw-line); background: #fff; color: #294b60; border-radius: 10px; font-size: 14px; padding: 10px 15px; box-shadow: none; line-height: 1.5; }
.shell.portal-workspaces .btn:hover { background: #f0f6f8; border-color: #a9c8d1; transform: none; }
.shell.portal-workspaces .btn.primary { color: #fff; background: #087c75; border-color: #087c75; }
.shell.portal-workspaces .btn.primary:hover { background: #05675f; border-color: #05675f; }
.shell.portal-workspaces .btn.danger { color: #a82f35; }
.shell.portal-workspaces .btn.ghost { background: transparent; color: var(--pw-muted); }
.shell.portal-workspaces :is(input,select,textarea) { min-height: 46px; color: var(--pw-ink); background: #fff; border: 1px solid #aebfc9; border-radius: 10px; box-shadow: none; font-size: 15px; }
.shell.portal-workspaces :is(input,textarea)::placeholder { color: #637a8a; opacity: 1; }
.shell.portal-workspaces :is(input,select,textarea):focus { border-color: #25898c; }
.shell.portal-workspaces :is(input[type="checkbox"],input[type="radio"]) { min-height: 18px; width: 18px; height: 18px; accent-color: #087f7a; }

/* Page identity is a compact architectural header, not a second dashboard. */
.shell.portal-workspaces .page-head.workspace-page-header { position: relative; isolation: isolate; display: flex; align-items: center; gap: 26px; min-height: 204px; margin-bottom: 27px; padding: 32px 34px; border: 1px solid #204a59; border-radius: 20px; color: #fff; background: radial-gradient(ellipse at 94% 0,#266b7066,transparent 51%),linear-gradient(115deg,#102f42,#092739); box-shadow: 0 12px 30px #1335440c; overflow: hidden; }
.shell.portal-workspaces .workspace-page-header::before { content: ''; position: absolute; width: 420px; height: 170px; right: -105px; top: -65px; z-index: -1; border: 1px solid #8dcac521; transform: rotate(-25deg); border-radius: 24px; pointer-events: none; }
.shell.portal-workspaces .workspace-page-header::after { content: ''; position: absolute; width: 410px; height: 170px; right: -20px; bottom: -128px; z-index: -1; border: 1px solid #b4e6e218; transform: rotate(-25deg); border-radius: 24px; pointer-events: none; }
.shell.portal-workspaces .workspace-page-header .workspace-orbit { display: none; }
.shell.portal-workspaces .workspace-page-header .workspace-intro-copy { max-width: 780px; flex: 1; min-width: 0; }
.shell.portal-workspaces .page-head.workspace-page-header :is(.eyebrow,.workspace-kicker) { color: #a3e1d3; letter-spacing: .16em; font-size: 11px; font-weight: 650; margin: 0 0 13px; line-height: 1.5; text-transform: uppercase; }
.shell.portal-workspaces .page-head.workspace-page-header :is(h1,.workspace-title) { color: #f5fcff; font-size: clamp(28px,3vw,39px); font-weight: 650; line-height: 1.16; letter-spacing: -.04em; max-width: 29ch; }
.shell.portal-workspaces .page-head.workspace-page-header :is(p,.workspace-description) { color: #c0d8e3; max-width: 64ch; font-size: 15px; line-height: 1.75; margin-top: 12px; }
.shell.portal-workspaces .workspace-page-header .workspace-intro-actions { align-items: flex-start; flex-direction: row; flex-wrap: wrap; width: auto; flex: 0 1 auto; }
.shell.portal-workspaces .workspace-page-header .workspace-intro-actions .btn { background: #173f50; border-color: #76a8b459; color: #eefafd; font-size: 13px; }
.shell.portal-workspaces .workspace-page-header .workspace-intro-actions .btn.primary { background: #e1f7ee; border-color: #e1f7ee; color: #104f44; }
.shell.portal-workspaces .workspace-header-art { position: relative; display: grid; place-items: center; align-self: stretch; flex: 0 0 154px; min-height: 136px; margin-left: auto; border: 1px solid #8dbbbc29; border-radius: 18px; background: linear-gradient(145deg,#6bbab20e,#173e4b50); overflow: hidden; pointer-events: none; }
.shell.portal-workspaces .workspace-header-art::before { content: ''; position: absolute; inset: 18px; border: 1px solid #a6d7d524; border-radius: 12px; transform: rotate(-10deg); }
.shell.portal-workspaces .workspace-art-grid { position: absolute; inset: 0; background-image: linear-gradient(#afdcd40b 1px,transparent 1px),linear-gradient(90deg,#afdcd40b 1px,transparent 1px); background-size: 22px 22px; }
.shell.portal-workspaces .workspace-art-icon { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #91d1c84d; border-radius: 16px; background: #113d48; box-shadow: 0 9px 25px #00192125; transform: rotate(4deg); }
.shell.portal-workspaces .workspace-art-icon svg,
.shell.portal-workspaces .workspace-header-art > svg { width: 31px; height: 31px; color: #a7ecda; stroke-width: 1.5; }
.shell.portal-workspaces .workspace-art-tag { position: absolute; bottom: 14px; left: 8px; right: 8px; color: #afcecF; text-align: center; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.shell.portal-workspaces .home-header { min-height: 230px; }
.shell.portal-workspaces .home-header .workspace-title { font-size: clamp(31px,3.8vw,46px); }
.shell.portal-workspaces .home-header time,
.shell.portal-workspaces .workspace-header-date,
.shell.portal-workspaces .home-date { color: #b4d1dc; font-size: 12px; line-height: 1.5; }
.shell.portal-workspaces .workspace-header-date { display: block; margin-top: 17px; }
.shell.portal-workspaces .home-date { display: inline-flex; align-items: center; gap: 7px; }

/* Home is a route map with real work status, not invented performance data. */
.shell.portal-workspaces .workspace-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 32px; }
.shell.portal-workspaces .workspace-summary-grid:has(> :nth-child(4)) { grid-template-columns: repeat(4,minmax(0,1fr)); }
.shell.portal-workspaces .workspace-summary-card { position: relative; display: flex; align-items: center; gap: 15px; min-height: 112px; padding: 21px 23px; border: 1px solid var(--pw-line); border-radius: 15px; background: #fff; box-shadow: 0 3px 10px #18384903; }
.shell.portal-workspaces .workspace-summary-card > svg,
.shell.portal-workspaces .workspace-summary-icon { display: grid; place-items: center; width: 43px; height: 43px; padding: 10px; color: #247267; background: #eaf6f1; border-radius: 12px; flex: none; }
.shell.portal-workspaces .workspace-summary-card strong,
.shell.portal-workspaces .workspace-summary-value { display: block; color: var(--pw-ink); font-size: 28px; line-height: 1.2; font-weight: 650; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.shell.portal-workspaces .workspace-summary-card small,
.shell.portal-workspaces .workspace-summary-card > div > span,
.shell.portal-workspaces .workspace-summary-label { display: block; color: var(--pw-muted); font-size: 13px; line-height: 1.5; margin-top: 5px; }
.shell.portal-workspaces .home-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; gap: 26px; align-items: start; }
.shell.portal-workspaces .home-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 0 0 18px; }
.shell.portal-workspaces .home-section-head h2,
.shell.portal-workspaces .home-workspaces > h2 { font-size: 21px; letter-spacing: -.025em; }
.shell.portal-workspaces .home-section-head p { color: var(--pw-muted); font-size: 13px; line-height: 1.6; margin-top: 7px; }
.shell.portal-workspaces .home-workspace-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.shell.portal-workspaces .workspace-card { --card-accent: #07659b; --card-tint: #eaf4fc; position: relative; display: flex; flex-direction: column; padding: 25px 23px 21px; border: 1px solid var(--pw-line); border-radius: 18px; background: #fff; box-shadow: 0 4px 14px #18384a03; transition: border-color .2s ease,box-shadow .2s ease; }
.shell.portal-workspaces .workspace-card[data-workspace="onboarding"] { --card-accent: #087861; --card-tint: #e7f6ee; }
.shell.portal-workspaces .workspace-card[data-workspace="records"] { --card-accent: #66529d; --card-tint: #f0edf9; }
.shell.portal-workspaces .workspace-card[data-workspace="training"] { --card-accent: #906020; --card-tint: #fcf3e5; }
.shell.portal-workspaces .workspace-card[data-workspace="supplies"] { --card-accent: #076f73; --card-tint: #e5f5f4; }
.shell.portal-workspaces .workspace-card:hover { border-color: color-mix(in srgb,var(--card-accent) 42%,#d7e3e9); box-shadow: 0 10px 30px #173d5410; }
.shell.portal-workspaces .workspace-card[data-locked="true"] { background: #f7fafb; }
.shell.portal-workspaces .workspace-card-top { display: flex; align-items: center; gap: 12px; min-height: 48px; margin-bottom: 21px; }
.shell.portal-workspaces .workspace-card-icon { width: 47px; height: 47px; display: grid; place-items: center; background: var(--card-tint); color: var(--card-accent); border-radius: 13px; }
.shell.portal-workspaces .workspace-card-icon svg { width: 24px; height: 24px; stroke-width: 1.6; }
.shell.portal-workspaces .workspace-card-number { color: #5a7180; font-size: 11px; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.shell.portal-workspaces .workspace-card-status { position: absolute; top: 31px; right: 23px; margin-left: auto; color: #466774; font-size: 11px; border: 1px solid #d5e3e8; background: #f6fafb; padding: 4px 8px; border-radius: 6px; white-space: nowrap; }
.shell.portal-workspaces .workspace-card h3 { color: var(--pw-ink); font-size: 21px; line-height: 1.3; letter-spacing: -.035em; margin: 0 0 10px; }
.shell.portal-workspaces .workspace-card-description { margin: 0 0 19px; color: var(--pw-muted); font-size: 14px; line-height: 1.7; }
.shell.portal-workspaces .workspace-card-metric { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #526c7b; font-size: 12px; line-height: 1.55; padding: 12px 0 18px; margin-top: auto; }
.shell.portal-workspaces .workspace-card-metric strong { color: var(--pw-ink); font-weight: 650; }
.shell.portal-workspaces .workspace-card-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 11px 13px; background: var(--card-tint); border: 1px solid color-mix(in srgb,var(--card-accent) 13%,transparent); border-radius: 9px; color: var(--card-accent); font-weight: 650; font-size: 13px; text-decoration: none; }
.shell.portal-workspaces .workspace-card-action:hover { background: color-mix(in srgb,var(--card-tint) 83%,var(--card-accent)); border-color: color-mix(in srgb,var(--card-accent) 32%,transparent); }
.shell.portal-workspaces .workspace-card-action svg { width: 17px; height: 17px; }
.shell.portal-workspaces .workspace-card-lock { display: flex; gap: 8px; align-items: center; color: #607584; border-top: 1px solid var(--pw-line); padding-top: 16px; font-size: 13px; }
.shell.portal-workspaces .workspace-card-locked-note { min-height: 46px; display: flex; align-items: center; color: #5c7180; border-top: 1px solid var(--pw-line); font-size: 13px; }
.shell.portal-workspaces .home-aside { display: grid; gap: 20px; }
.shell.portal-workspaces :is(.home-attention,.home-quick-actions) { padding: 22px 20px; border: 1px solid var(--pw-line); border-radius: 17px; background: #fff; }
.shell.portal-workspaces :is(.home-attention,.home-quick-actions) > h2 { font-size: 16px; line-height: 1.4; letter-spacing: -.02em; margin-bottom: 17px; }
.shell.portal-workspaces .home-attention-item { display: flex; align-items: flex-start; gap: 11px; padding: 14px 0; border-bottom: 1px solid #e4edf0; color: var(--pw-ink); font-size: 13px; line-height: 1.55; text-decoration: none; }
.shell.portal-workspaces .home-attention-item:last-child { border: 0; padding-bottom: 0; }
.shell.portal-workspaces .home-attention-item > svg { color: #ad782e; width: 19px; height: 19px; margin-top: 2px; }
.shell.portal-workspaces .home-attention-icon { flex: none; display: grid; place-items: center; width: 29px; height: 29px; color: #947238; background: #faf3e7; border-radius: 8px; }
.shell.portal-workspaces .home-attention-icon svg { width: 16px; height: 16px; }
.shell.portal-workspaces .home-attention-item > span:nth-child(2) { min-width: 0; flex: 1; }
.shell.portal-workspaces .home-attention-item > svg:last-child { width: 15px; color: #557a8b; }
.shell.portal-workspaces .home-attention-item strong { display: block; font-size: 13px; color: var(--pw-ink); }
.shell.portal-workspaces .home-attention-item p,
.shell.portal-workspaces .home-attention-item small { display: block; color: var(--pw-muted); font-size: 12px; line-height: 1.65; margin-top: 5px; }
.shell.portal-workspaces .home-attention-empty { padding: 9px 0 5px; color: var(--pw-muted); font-size: 13px; line-height: 1.8; }
.shell.portal-workspaces .home-attention-empty > svg { display: block; width: 36px; height: 36px; padding: 8px; color: #397a68; border-radius: 10px; background: #eaf6ef; margin-bottom: 12px; }
.shell.portal-workspaces .home-attention-empty strong { display: block; color: var(--pw-ink); margin-bottom: 5px; }
.shell.portal-workspaces .home-quick-action { display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid #e5edf1; border-radius: 0; color: #365e72; background: transparent; font-size: 13px; font-weight: 550; text-align: left; text-decoration: none; }
.shell.portal-workspaces .home-quick-action:last-child { border: 0; }
.shell.portal-workspaces .home-quick-action > svg { width: 18px; height: 18px; color: #588795; }
.shell.portal-workspaces .home-quick-action > span:first-child { flex: none; display: grid; place-items: center; width: 30px; height: 35px; color: #4c7f8a; }
.shell.portal-workspaces .home-quick-action > span:first-child svg { width: 19px; height: 19px; }
.shell.portal-workspaces .home-quick-action > span:nth-child(2) { flex: 1; min-width: 0; }
.shell.portal-workspaces .home-quick-action strong { display: block; color: #365d70; font-size: 13px; line-height: 1.5; }
.shell.portal-workspaces .home-quick-action small { display: block; color: #5c7382; font-size: 12px; line-height: 1.6; margin-top: 4px; font-weight: 400; }
.shell.portal-workspaces .home-quick-action > svg:last-child { width: 15px; height: 15px; }
.shell.portal-workspaces .home-data-note { margin-top: 18px; color: #5d7482; font-size: 12px; line-height: 1.7; }
.shell.portal-workspaces .home-help-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 12px; color: #397184; font-size: 12px; }
.shell.portal-workspaces .home-help-link svg { width: 16px; height: 16px; }
.shell.portal-workspaces .home-quick-action:hover { color: #087968; background: #f6fafb; }

/* The working layer stays bright, calm and consistent across all departments. */
.shell.portal-workspaces .card,
.shell.portal-workspaces .workspace-content-panel { border: 1px solid var(--pw-line); border-radius: 16px; background: #fff; color: var(--pw-ink); box-shadow: 0 3px 10px #163a5103; }
.shell.portal-workspaces .workspace-content-panel { padding: 24px; }
.shell.portal-workspaces .section-head { padding: 22px 24px; background: #fbfdfe; border-color: var(--pw-line); }
.shell.portal-workspaces .section-head :is(h2,h3) { color: var(--pw-ink); font-size: 19px; line-height: 1.4; }
.shell.portal-workspaces .section-head p { color: var(--pw-muted); font-size: 14px; line-height: 1.65; }
.shell.portal-workspaces .card-body { padding: 23px 24px; }
.shell.portal-workspaces .stats { gap: 16px; margin-bottom: 27px; }
.shell.portal-workspaces .stat { display: flex; align-items: center; padding: 21px 23px; gap: 15px; background: #fff; border-radius: 14px; }
.shell.portal-workspaces .stat > div:nth-child(2) { min-width: 0; flex: 1; text-align: left; }
.shell.portal-workspaces .stat :is(.stat-index,.stat-edge) { display: none; }
.shell.portal-workspaces .stat-icon { width: 43px; height: 43px; border-radius: 12px; background: var(--pw-tint); color: var(--pw-accent); box-shadow: none; }
.shell.portal-workspaces .stat-value { color: var(--pw-ink); font-size: 28px; font-weight: 650; line-height: 1.25; }
.shell.portal-workspaces .stat-label { color: var(--pw-muted); font-size: 13px; line-height: 1.5; }
.shell.portal-workspaces .library-layout { grid-template-columns: 215px minmax(0,1fr); gap: 22px; align-items: start; }
.shell.portal-workspaces .category-list { padding: 12px 10px; border: 1px solid var(--pw-line); border-radius: 14px; background: #fff; }
.shell.portal-workspaces .category-list :is(h2,h3) { padding: 6px 12px 13px; color: #506b7b; font-size: 12px; }
.shell.portal-workspaces .category { font-size: 13px; color: #506779; border-radius: 8px; gap: 10px; padding: 11px 12px; line-height: 1.5; }
.shell.portal-workspaces .category.active { background: #eaf4f8; color: #11556f; }
.shell.portal-workspaces .searchbar { padding: 20px; gap: 12px; background: #fff; border-color: var(--pw-line); }
.shell.portal-workspaces .search-input input { background: #f8fbfc; border-color: #bfced7; padding-left: 41px; }
.shell.portal-workspaces .search-input svg { color: #557283; }
.shell.portal-workspaces .list-heading { padding: 13px 20px; color: #5b7181; background: #f9fcfd; border-color: #e0e9ee; font-size: 12px; }
.shell.portal-workspaces .document-row { padding: 20px; gap: 15px; background: #fff; border-color: #e4edf1; transition: background .17s ease; }
.shell.portal-workspaces .document-row:hover { background: #f8fcfd; transform: none; }
.shell.portal-workspaces .doc-title { color: #183a50; font-size: 15px; font-weight: 600; line-height: 1.6; padding: 0; }
.shell.portal-workspaces .doc-title:hover { color: #086f78; }
.shell.portal-workspaces .doc-meta { color: #5a7282; font-size: 12px; line-height: 1.65; }
.shell.portal-workspaces .file-icon { border-color: #d5e5ed; background: #edf6fa; color: #236885; border-radius: 10px; }
.shell.portal-workspaces .row-actions { gap: 7px; }
.shell.portal-workspaces .row-actions .btn { min-height: 44px; min-width: 44px; font-size: 12px; padding: 10px 12px; }
.shell.portal-workspaces .badge { font-size: 12px; border-radius: 6px; padding: 5px 8px; line-height: 1.4; }
.shell.portal-workspaces .badge.green { color: #176145; background: #edf8f1; border-color: #c5e3d3; }
.shell.portal-workspaces .badge.amber { color: #815610; background: #fff6e4; border-color: #e9d2a5; }
.shell.portal-workspaces .badge.blue { color: #145e8e; background: #eaf4fb; border-color: #c9dfef; }
.shell.portal-workspaces .notice { color: #365c71; background: #edf5f9; border: 1px solid #c9dfe9; border-radius: 12px; font-size: 14px; padding: 17px 20px; line-height: 1.7; }
.shell.portal-workspaces .notice.warning { color: #765310; background: #fff7e8; border-color: #ead6b0; }
.shell.portal-workspaces .error { color: #9f3035; background: #fff1f2; border: 1px solid #efc5ca; line-height: 1.65; }
.shell.portal-workspaces .empty { padding: 42px 24px; border: 1px dashed #b8cbd5; background: #fbfdfe; border-radius: 14px; color: #587080; }
.shell.portal-workspaces .empty h3 { font-size: 19px; color: #1c4157; }
.shell.portal-workspaces .empty p { font-size: 14px; line-height: 1.75; max-width: 57ch; margin: 9px auto 0; }
.shell.portal-workspaces .empty svg { color: var(--pw-accent); }
.shell.portal-workspaces .tabs-local { gap: 8px; margin-bottom: 24px; }
.shell.portal-workspaces .tabs-local button { padding: 11px 17px; font-size: 14px; color: #526b7c; background: #fff; border-color: #cfdee5; border-radius: 10px; }
.shell.portal-workspaces .tabs-local button.active { color: #165e5a; background: #eaf5f2; border-color: #a9d4c9; }
.shell.portal-workspaces .packet-card { padding: 24px; }
.shell.portal-workspaces .packet-card p { font-size: 14px; color: var(--pw-muted); line-height: 1.75; }
.shell.portal-workspaces .luminous-presentation-bar { border-color: #d6e4e9; background: #f8fbfc; border-radius: 10px; box-shadow: none; margin-bottom: 0; }
.shell.portal-workspaces .luminous-directory-filters { gap: 8px; padding: 16px 20px; background: #fbfdfe; border-color: var(--pw-line); }
.shell.portal-workspaces .luminous-filter-chip { min-height: 44px; color: #4d6b7d; background: #fff; border-color: #cbdde5; font-size: 12px; }
.shell.portal-workspaces .luminous-filter-chip[aria-pressed="true"] { color: #125b54; background: #e7f5ee; border-color: #9fcdbe; }

/* Training: a clear search/filter surface and a readable, consistent player. */
.shell.portal-workspaces .training-library-intro { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; padding: 22px 24px; border-bottom: 1px solid var(--pw-line); background: #fbfdfe; }
.shell.portal-workspaces .training-library-intro h2 { font-size: 21px; color: var(--pw-ink); }
.shell.portal-workspaces .training-library-intro p { color: var(--pw-muted); font-size: 14px; max-width: 68ch; line-height: 1.7; }
.shell.portal-workspaces .training-learning-path { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0 0 24px; }
.shell.portal-workspaces .training-learning-path > * { min-width: 0; padding: 16px 18px; border: 1px solid #e3d8bd; background: #fffbf2; border-radius: 12px; color: #6f562d; font-size: 13px; line-height: 1.65; }
.shell.portal-workspaces .training-learning-path strong { display: block; color: #62481e; margin-bottom: 4px; }
.shell.portal-workspaces .course-toolbar { padding: 20px 24px; background: #fff; border-bottom: 1px solid var(--pw-line); }
.shell.portal-workspaces .course-filters { padding: 20px 24px; gap: 16px; background: #fff; border-color: var(--pw-line); }
.shell.portal-workspaces .course-filters label { font-size: 13px; color: #3d5d70; margin: 0 0 8px; }
.shell.portal-workspaces .course-result-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 24px; color: #4e6b7b; font-size: 13px; background: #f9fcfd; border-bottom: 1px solid #deeaef; }
.shell.portal-workspaces .course-row { padding: 24px; background: #fff; border-color: #e0e9ee; gap: 19px; }
.shell.portal-workspaces .course-row .doc-title { font-size: 17px; line-height: 1.5; }
.shell.portal-workspaces .course-summary { color: #526d7c; font-size: 14px; line-height: 1.75; }
.shell.portal-workspaces .course-badges,
.shell.portal-workspaces .course-facts { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; color: #536e7e; font-size: 12px; }
.shell.portal-workspaces .course-facts > * { display: inline-flex; align-items: center; gap: 6px; }
.shell.portal-workspaces .course-facts svg { width: 15px; height: 15px; }
.shell.portal-workspaces .course-actions { flex-basis: 170px; gap: 8px; padding-top: 4px; }
.shell.portal-workspaces .luminous-course-cover { flex: 0 0 90px; width: 90px; min-height: 100px; height: 100px; border-radius: 12px; background: linear-gradient(140deg,#f9eed8,#f7f2e7); border-color: #e7d9bd; box-shadow: none; color: #996823; }
.shell.portal-workspaces .luminous-course-cover::before,
.shell.portal-workspaces .luminous-course-cover::after { opacity: .45; }
.shell.portal-workspaces .luminous-course-cover svg { width: 28px; height: 28px; color: #996823; }
.shell.portal-workspaces .luminous-course-label { color: #72582f; font-size: 9px; letter-spacing: .07em; }
.shell.portal-workspaces .luminous-gallery .course-row:nth-child(n) .luminous-course-cover { background: linear-gradient(135deg,#14394e,#1b4d57); border-color: #386171; color: #d9f6ed; }
.shell.portal-workspaces .luminous-gallery .course-row:nth-child(n) .luminous-course-cover svg { color: #b6e7d8; width: 27px; height: 27px; }
.shell.portal-workspaces .luminous-gallery .course-row:nth-child(n) .luminous-course-label { color: #d2ebe9; font-size: 10px; }

/* Dialog styles apply only while an authenticated portal shell is mounted. */
body:has(.portal-workspaces) #dialog { --ink: #17334a; --muted: #52697b; --border: #d7e3e9; color: #17334a; background: #fff; border: 1px solid #c8dbe5; border-radius: 18px; box-shadow: 0 24px 80px #061c3555; }
body:has(.portal-workspaces) #dialog::backdrop { background: #051d35ae; backdrop-filter: blur(4px); }
body:has(.portal-workspaces) #dialog :is(.modal-head,.modal-foot) { background: #f5fafc; border-color: #d5e4eb; }
body:has(.portal-workspaces) #dialog .modal-head h2 { color: #163b51; font-size: 25px; line-height: 1.35; }
body:has(.portal-workspaces) #dialog .modal-head p { color: #526e7f; font-size: 14px; line-height: 1.65; }
body:has(.portal-workspaces) #dialog :is(.modal-body,.reader,.reader-foot,.course-transcript) { color: #203f54; background: #fff; }
body:has(.portal-workspaces) #dialog :is(input,select,textarea) { color: #17334a; background: #fff; border: 1px solid #adbfca; min-height: 46px; font-size: 15px; }
body:has(.portal-workspaces) #dialog :is(input[type="checkbox"],input[type="radio"]) { min-height: 18px; width: 18px; height: 18px; accent-color: #087f7a; }
body:has(.portal-workspaces) #dialog .btn { min-height: 44px; font-size: 13px; border-radius: 9px; }
body:has(.portal-workspaces) #dialog .btn.primary { color: #fff; background: #087c75; border-color: #087c75; }
body:has(.portal-workspaces) #dialog :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid #087f9a; outline-offset: 3px; }
body:has(.portal-workspaces) #dialog .course-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
body:has(.portal-workspaces) #dialog .course-detail-grid > * { min-width: 0; padding: 16px; background: #f5fafb; border: 1px solid #d9e7ed; border-radius: 10px; }
body:has(.portal-workspaces) #dialog .course-player-status { padding: 13px 16px; color: #315d70; background: #edf6fa; border: 1px solid #cfe3ed; border-radius: 10px; font-size: 13px; line-height: 1.7; }
body:has(.portal-workspaces) #dialog .course-course-intro { color: #3e5f73; font-size: 15px; line-height: 1.8; }
.shell.portal-workspaces .upload-hint,
body:has(.portal-workspaces) #dialog .upload-hint { color: #52697b; }

/* Motion is brief, optional, and never gates access to content. */
.shell.portal-workspaces .experience-enter:not(.experience-ready) { opacity: 1; transform: none; }
.shell.portal-workspaces[data-motion="on"] .workspace-card { animation: portal-card-in .4s ease both; }
.shell.portal-workspaces[data-motion="on"] .workspace-card:nth-child(2) { animation-delay: .04s; }
.shell.portal-workspaces[data-motion="on"] .workspace-card:nth-child(3) { animation-delay: .08s; }
.shell.portal-workspaces[data-motion="on"] .workspace-card:nth-child(4) { animation-delay: .12s; }
.shell.portal-workspaces[data-motion="on"] .workspace-card:nth-child(5) { animation-delay: .16s; }
@keyframes portal-card-in { from { transform: translateY(5px); } to { transform: translateY(0); } }
.shell.portal-workspaces[data-motion="off"] *,
.shell.portal-workspaces[data-motion-active="false"] * { animation: none !important; }
.shell.portal-workspaces[data-density="compact"] .main { padding-top: 24px; }
.shell.portal-workspaces[data-density="compact"] .page-head.workspace-page-header { min-height: 170px; padding-top: 26px; padding-bottom: 26px; }
.shell.portal-workspaces[data-density="compact"] .workspace-card { padding: 21px; }

@media (min-width: 1640px) {
  .shell.portal-workspaces .home-workspace-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shell.portal-workspaces .home-layout { grid-template-columns: minmax(0,1fr) 295px; }
}
@media (max-width: 1550px) {
  .shell.portal-workspaces .topbar .experience-command { width: 44px; min-width: 44px; padding: 10px; gap: 0; }
  .shell.portal-workspaces .topbar .experience-command > :is(span,kbd) { display: none; }
}
@media (max-width: 1240px) {
  .shell.portal-workspaces { grid-template-columns: 222px minmax(0,1fr); }
  .shell.portal-workspaces .sidebar { padding: 23px 12px; }
  .shell.portal-workspaces .nav :is(a,button) { padding: 11px 9px; gap: 10px; font-size: 13px; }
  .shell.portal-workspaces .home-layout { grid-template-columns: minmax(0,1fr); }
  .shell.portal-workspaces .home-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shell.portal-workspaces .workspace-summary-grid:has(> :nth-child(4)) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shell.portal-workspaces .workspace-header-art { flex-basis: 130px; }
  .shell.portal-workspaces .library-layout { grid-template-columns: 175px minmax(0,1fr); gap: 17px; }
}
@media (max-width: 1000px) {
  .shell.portal-workspaces .workspace-header-art { display: none; }
  .shell.portal-workspaces .page-head.workspace-page-header { padding: 28px; flex-wrap: wrap; }
  .shell.portal-workspaces .workspace-page-header .workspace-intro-actions { width: 100%; }
  .shell.portal-workspaces .topbar .user-name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .shell.portal-workspaces .topbar .user-email { display: none; }
  .shell.portal-workspaces .workspace-summary-card { padding: 18px; }
  .shell.portal-workspaces .workspace-summary-card > svg { width: 37px; height: 37px; padding: 8px; }
  .shell.portal-workspaces .course-row { gap: 14px; flex-wrap: wrap; }
  .shell.portal-workspaces .course-actions { flex: 1 1 100%; justify-content: flex-start; padding-left: 104px; }
  .shell.portal-workspaces .course-actions .btn { width: auto; }
}
@media (max-width: 800px) {
  .shell.portal-workspaces { display: block; }
  .shell.portal-workspaces .sidebar { position: static; height: auto; padding: 18px 22px 17px; }
  .shell.portal-workspaces .sidebar-brand { width: 160px; padding: 9px 12px; margin: 0 0 16px; border-radius: 10px; }
  .shell.portal-workspaces .sidebar-brand img { width: 136px; height: 44px; }
  .shell.portal-workspaces .sidebar > .eyebrow,
  .shell.portal-workspaces .side-bottom p { display: none; }
  .shell.portal-workspaces .nav { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 0; }
  .shell.portal-workspaces .nav :is(a,button) { min-height: 53px; padding: 10px; border-color: #759aaa1d; gap: 9px; font-size: 13px; }
  .shell.portal-workspaces .nav :is(a,button) > svg { width: 29px; height: 29px; padding: 5px; border-radius: 8px; }
  .shell.portal-workspaces .nav .nav-caption,
  .shell.portal-workspaces .nav .num { display: none; }
  .shell.portal-workspaces .side-bottom { display: flex; flex-wrap: wrap; gap: 8px; padding: 11px 0 0; margin: 0; }
  .shell.portal-workspaces .side-bottom .btn { width: auto; margin: 0; padding: 9px 12px; font-size: 12px; }
  .shell.portal-workspaces .topbar { min-height: 75px; padding: 13px 22px; }
  .shell.portal-workspaces .main { padding: 25px 22px 48px; }
  .shell.portal-workspaces .library-layout { display: block; }
  .shell.portal-workspaces .category-list { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; padding: 12px; max-height: none; }
  .shell.portal-workspaces .category-list :is(h2,h3) { width: 100%; padding: 1px 3px 7px; }
  .shell.portal-workspaces .category { border: 1px solid #d8e5eb; background: #fff; font-size: 12px; padding: 10px 12px; }
  .shell.portal-workspaces .category.active { background: #eaf4f8; border-color: #b7d3e0; }
  .shell.portal-workspaces .stat-icon { display: grid; }
  .shell.portal-workspaces .stats { gap: 11px; }
  .shell.portal-workspaces .stat { padding: 18px; }
  .shell.portal-workspaces .home-aside { gap: 17px; }
}
@media (max-width: 560px) {
  .shell.portal-workspaces .sidebar { padding: 16px; }
  .shell.portal-workspaces .nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .shell.portal-workspaces .nav :is(a,button) { min-height: 49px; font-size: 13px; padding: 9px 10px; }
  .shell.portal-workspaces .nav :is(a,button) > svg { width: 28px; height: 28px; }
  .shell.portal-workspaces .side-bottom { gap: 7px; }
  .shell.portal-workspaces .side-bottom .btn { padding: 9px 11px; }
  .shell.portal-workspaces .topbar { padding: 12px 16px; min-height: 72px; gap: 12px; }
  .shell.portal-workspaces .breadcrumb { font-size: 12px; max-width: 115px; gap: 5px; }
  .shell.portal-workspaces .breadcrumb a { min-height: 0; }
  .shell.portal-workspaces .topbar-actions { gap: 5px; }
  .shell.portal-workspaces .topbar-actions .user { margin-left: 1px; }
  .shell.portal-workspaces .topbar .user-name { display: none; }
  .shell.portal-workspaces .topbar .avatar { width: 30px; height: 30px; font-size: 11px; }
  .shell.portal-workspaces .main { padding: 22px 16px 42px; }
  .shell.portal-workspaces .page-head.workspace-page-header { padding: 25px 23px; min-height: 0; margin-bottom: 21px; border-radius: 16px; gap: 20px; }
  .shell.portal-workspaces .page-head.workspace-page-header :is(h1,.workspace-title) { font-size: 29px; line-height: 1.2; }
  .shell.portal-workspaces .home-header .workspace-title { font-size: 33px; }
  .shell.portal-workspaces .page-head.workspace-page-header :is(.eyebrow,.workspace-kicker) { font-size: 10px; letter-spacing: .13em; }
  .shell.portal-workspaces .page-head.workspace-page-header :is(p,.workspace-description) { font-size: 14px; line-height: 1.75; }
  .shell.portal-workspaces .workspace-summary-grid,
  .shell.portal-workspaces .workspace-summary-grid:has(> :nth-child(4)) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 27px; }
  .shell.portal-workspaces .workspace-summary-card { display: flex; flex-direction: column; align-items: flex-start; padding: 17px; gap: 10px; min-height: 124px; }
  .shell.portal-workspaces .workspace-summary-card > svg { width: 32px; height: 32px; padding: 7px; border-radius: 9px; }
  .shell.portal-workspaces .workspace-summary-card strong { font-size: 27px; }
  .shell.portal-workspaces .workspace-summary-card small { font-size: 12px; }
  .shell.portal-workspaces .home-layout { gap: 23px; }
  .shell.portal-workspaces .home-workspace-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .shell.portal-workspaces .home-section-head { display: block; margin-bottom: 17px; }
  .shell.portal-workspaces .home-section-head h2 { font-size: 20px; }
  .shell.portal-workspaces .workspace-card { padding: 22px; border-radius: 15px; }
  .shell.portal-workspaces .workspace-card-top { margin-bottom: 17px; }
  .shell.portal-workspaces .workspace-card h3 { font-size: 21px; }
  .shell.portal-workspaces .workspace-card-description { font-size: 14px; margin-bottom: 13px; }
  .shell.portal-workspaces .workspace-card-metric { padding-top: 6px; padding-bottom: 16px; }
  .shell.portal-workspaces .home-aside { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .shell.portal-workspaces .stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
  .shell.portal-workspaces .stat { min-height: 103px; display: flex; flex-direction: column; align-items: flex-start; padding: 15px 12px; justify-content: flex-start; }
  .shell.portal-workspaces .stat-icon { display: none; }
  .shell.portal-workspaces .stat > div:nth-child(2) { display: flex; flex-direction: column; align-items: flex-start; flex: 1; width: auto; }
  .shell.portal-workspaces .stat-value { font-size: 25px; }
  .shell.portal-workspaces .stat-label { font-size: 12px; line-height: 1.5; margin-top: 5px; }
  .shell.portal-workspaces .home-aside .home-section-head { display: flex; align-items: flex-start; }
  .shell.portal-workspaces .section-head { padding: 19px; flex-wrap: wrap; }
  .shell.portal-workspaces .card-body,
  .shell.portal-workspaces .workspace-content-panel { padding: 19px; }
  .shell.portal-workspaces .searchbar { padding: 17px; flex-wrap: wrap; }
  .shell.portal-workspaces .search-input { min-width: 100%; }
  .shell.portal-workspaces .searchbar select { width: 100%; max-width: none; }
  .shell.portal-workspaces .document-row { padding: 18px 17px; gap: 11px; flex-wrap: wrap; }
  .shell.portal-workspaces .document-row .doc-main { min-width: calc(100% - 48px); }
  .shell.portal-workspaces .row-actions { margin-left: 43px; flex-wrap: wrap; max-width: calc(100% - 43px); }
  .shell.portal-workspaces .row-actions .btn { font-size: 12px; padding: 10px 12px; }
  .shell.portal-workspaces .doc-title { font-size: 15px; line-height: 1.55; }
  .shell.portal-workspaces .doc-meta { font-size: 12px; }
  .shell.portal-workspaces .tabs-local { gap: 7px; }
  .shell.portal-workspaces .tabs-local button { font-size: 13px; padding: 10px 13px; }
  .shell.portal-workspaces .training-learning-path { grid-template-columns: 1fr; gap: 9px; }
  .shell.portal-workspaces .training-library-intro,
  .shell.portal-workspaces .course-toolbar,
  .shell.portal-workspaces .course-result-summary { padding: 18px; }
  .shell.portal-workspaces .course-filters { grid-template-columns: 1fr; padding: 18px; gap: 15px; }
  .shell.portal-workspaces .course-row { padding: 19px; gap: 13px; }
  .shell.portal-workspaces .luminous-course-cover { flex-basis: 62px; width: 62px; height: 76px; min-height: 76px; }
  .shell.portal-workspaces .luminous-course-label { display: none; }
  .shell.portal-workspaces .course-row .doc-main { min-width: 0; flex: 1 1 calc(100% - 80px); }
  .shell.portal-workspaces .course-actions { padding-left: 0; flex-basis: 100%; }
  .shell.portal-workspaces .course-actions .btn { flex: 1 1 130px; }
  .shell.portal-workspaces .course-summary { font-size: 14px; }
  .shell.portal-workspaces :is(input,select,textarea) { font-size: 16px; }
  body:has(.portal-workspaces) #dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  body:has(.portal-workspaces) #dialog :is(input,select,textarea) { font-size: 16px; }
  body:has(.portal-workspaces) #dialog .course-detail-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .shell.portal-workspaces *,
  body:has(.portal-workspaces) #dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Mobile navigation is an explicit disclosure below the top bar. Closed
   navigation takes no space and exposes no hidden keyboard targets. */
@media (max-width: 900px) {
  .shell.portal-workspaces { display: flex; flex-direction: column; }
  .shell.portal-workspaces .workspace-frame { display: contents; }
  .shell.portal-workspaces .topbar { order: 0; position: relative; display: flex; align-items: center; padding: 13px 20px; min-height: 74px; }
  .shell.portal-workspaces .sidebar { order: 1; display: none; position: static; height: auto; padding: 19px 20px; }
  .shell.portal-workspaces[data-navigation-open="true"] .sidebar { display: flex; }
  .shell.portal-workspaces .preview-banner { order: 2; }
  .shell.portal-workspaces .main { order: 3; margin: 0 auto; }
  .shell.portal-workspaces .portal-mobile-navigation { display: inline-flex; flex: none; color: #225967; background: #edf6f4; border-color: #c5ded7; }
  .shell.portal-workspaces .sidebar-story,
  .shell.portal-workspaces .sidebar-status,
  .shell.portal-workspaces .workspace-switcher { display: none; }
  .shell.portal-workspaces .nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shell.portal-workspaces .topbar .breadcrumb { flex: 1; }
  .shell.portal-workspaces .topbar .user { display: none; }
  .shell.portal-workspaces .main :is(a,button,input,select,textarea) { scroll-margin-top: 25px; }
}
@media (max-width: 560px) {
  .shell.portal-workspaces .topbar { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; padding: 12px 16px; gap: 10px; }
  .shell.portal-workspaces .portal-mobile-navigation { width: 44px; height: 44px; min-width: 44px; padding: 10px; }
  .shell.portal-workspaces .portal-mobile-navigation > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .shell.portal-workspaces .topbar .breadcrumb { max-width: none; font-size: 12px; }
  .shell.portal-workspaces .topbar-actions { gap: 4px; }
  .shell.portal-workspaces .nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shell.portal-workspaces .sidebar { padding: 17px 16px; }
  .shell.portal-workspaces .workspace-summary-card > div > span { font-size: 12px; }
}
@media print {
  .shell.portal-workspaces .workspace-page-header,
  .shell.portal-workspaces .sidebar,
  .shell.portal-workspaces .topbar { display: none !important; }
  .shell.portal-workspaces { display: block; background: #fff; }
  .shell.portal-workspaces .main { max-width: none; padding: 0; }
}

/* Hiring sets are limited to the onboarding workspace and its own review form. */
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin: 23px 0; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-intro h2 { margin: 6px 0 9px; font-size: clamp(24px,2.2vw,32px); }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-intro p { margin: 0; max-width: 760px; color: var(--pw-muted); }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-intro > .badge { flex: none; margin-top: 6px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-filters { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,280px); gap: 16px; padding: 18px; border: 1px solid var(--pw-line); border-radius: 16px; background: var(--pw-paper); }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-filters :is(input,select) { margin: 0; min-width: 0; width: 100%; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-result-count { margin: 16px 2px 24px; font-size: 13px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-department-group { margin-bottom: 32px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-department-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 14px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-department-heading h3 { margin: 0; font-size: 20px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-department-heading > span { flex: none; color: var(--pw-muted); font-size: 13px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(275px,1fr)); gap: 18px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-card { display: flex; flex-direction: column; padding: 23px; border-top: 3px solid #087e70; min-width: 0; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-code { color: var(--pw-muted); font-size: 11px; letter-spacing: .03em; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-card h4 { margin: 20px 0 8px; font-size: 21px; line-height: 1.3; overflow-wrap: anywhere; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-card > p { margin: 0 0 12px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-document-counts { margin: auto 0 16px; padding-top: 12px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-document-counts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #e9eff2; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-document-counts dt { font-size: 13px; color: var(--pw-muted); }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-document-counts dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-teaching-count { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12px; color: var(--pw-muted); }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-teaching-count > span { padding: 2px 7px; border-radius: 5px; background: var(--pw-tint); color: #126152; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-card > .btn { margin-top: 6px; justify-content: flex-start; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-card > .btn > svg:last-child { margin-left: auto; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-checklist-section + .hiring-checklist-section { margin-top: 10px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-checklist-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 15px 17px 9px; background: #f2f8f6; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-checklist-heading h4 { margin: 0; font-size: 13px; }
.shell.portal-workspaces[data-workspace="onboarding"] .hiring-checklist-heading > span { font-size: 12px; color: var(--pw-muted); }
#dialog .packet-review { min-width: 0; }
#dialog .packet-review .hiring-review-filters { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: end; margin: 22px 0 12px; }
#dialog .packet-review .hiring-review-filters input[type="search"] { margin: 0; }
#dialog .packet-review .hiring-review-filters > .check-label { min-height: 46px; }
#dialog .packet-review .hiring-result-count { margin: 12px 0 21px; color: #52697b; font-size: 13px; }
#dialog .packet-review .hiring-review-section { margin-bottom: 25px; }
#dialog .packet-review .hiring-review-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 8px; }
#dialog .packet-review .hiring-review-heading h3 { margin: 0; font-size: 19px; }
#dialog .packet-review .hiring-review-heading > span { flex: none; color: #52697b; font-size: 12px; }
#dialog .packet-review .hiring-review-document-list { display: grid; gap: 13px; }
#dialog .packet-review .hiring-document-option { display: block; padding: 18px; border: 1px solid #d7e3e9; border-radius: 12px; background: #fff; }
#dialog .packet-review .hiring-legacy-option { border-color: #dbc695; background: #fffaf0; }
#dialog .packet-review .hiring-document-select { align-items: flex-start; min-width: 0; }
#dialog .packet-review .hiring-document-select input { flex: none; margin-top: 3px; }
#dialog .packet-review .hiring-document-select > span { min-width: 0; overflow-wrap: anywhere; }
#dialog .packet-review .hiring-document-meta { display: block; margin-top: 4px; font-size: 12px; color: #52697b; }
#dialog .packet-review .hiring-document-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
#dialog .packet-review .hiring-document-tags:empty { display: none; }
#dialog .packet-review .hiring-document-context { font-size: 13px; margin: 11px 0 0; color: #3c5568; overflow-wrap: anywhere; }
#dialog .packet-review .hiring-document-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 17px; margin-top: 15px; }
#dialog .packet-review .hiring-document-controls select { margin: 0; width: 100%; min-width: 0; }
#dialog .packet-review .hiring-required-label { min-height: 44px; }
#dialog .packet-review .hiring-document-warning { margin: 12px 0 0; padding: 10px 12px; border-radius: 7px; background: #fff2d7; color: #654412; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
#dialog .packet-review .upload-hint { margin-top: 10px; }
#dialog .packet-review .hiring-reference-plan { margin: 18px 0; padding: 16px 18px; border: 1px solid #d7e3e9; border-radius: 12px; background: #f5f8fa; }
#dialog .packet-review .hiring-reference-plan summary { cursor: pointer; font-weight: 650; overflow-wrap: anywhere; }
#dialog .packet-review .hiring-reference-plan summary > span { display: block; margin: 5px 0 0 18px; font-weight: 400; font-size: 12px; color: #52697b; }
#dialog .packet-review .hiring-reference-plan ul { padding-left: 22px; margin: 16px 0 0; }
#dialog .packet-review .hiring-reference-plan li { margin: 15px 0; overflow-wrap: anywhere; }
#dialog .packet-review .hiring-reference-plan li p { font-size: 13px; color: #52697b; margin: 5px 0; }
#dialog .packet-review .hiring-reference-plan .badge { margin-top: 5px; }
#dialog .packet-review .hiring-topic-condition { color: #126152; }
#dialog .packet-review .hiring-packet-approval { border-top: 1px solid #d7e3e9; padding-top: 16px; margin-top: 25px; }
#dialog .packet-review [hidden] { display: none !important; }
@media (max-width: 700px) {
  .shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-filters { grid-template-columns: 1fr; }
  .shell.portal-workspaces[data-workspace="onboarding"] .hiring-library-intro { flex-wrap: wrap; gap: 10px; }
  #dialog .packet-review .hiring-review-filters,
  #dialog .packet-review .hiring-document-controls { grid-template-columns: minmax(0,1fr); gap: 11px; }
  #dialog .packet-review .hiring-review-heading { flex-wrap: wrap; gap: 5px; }
  #dialog .packet-review .hiring-review-filters > .check-label,
  #dialog .packet-review .hiring-required-label { min-height: 40px; }
}
@media (max-width: 480px) {
  .shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-grid { grid-template-columns: minmax(0,1fr); }
  .shell.portal-workspaces[data-workspace="onboarding"] .hiring-role-card { padding: 20px; }
  .shell.portal-workspaces[data-workspace="onboarding"] .hiring-department-heading h3 { font-size: 18px; }
  #dialog .packet-review .hiring-document-option { padding: 14px; }
}
