/* Shared product theme: the public identity, scaled for member and admin work. */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400..800&family=Manrope:wght@400;500;600;700;800&display=swap');
@view-transition { navigation: none; }
:root {
  /* Brand primitives. */
  --brand-ink:#130823; --brand-lime:#67f500; --brand-white:#fff;
  --brand-ink-raised:color-mix(in srgb,var(--brand-white) 7%,var(--brand-ink));
  --brand-paper:color-mix(in srgb,var(--brand-ink) 3%,var(--brand-white));
  /* Semantic surfaces and actions. Bright lime is a fill, never body text. */
  --ink:var(--brand-ink); --ink-raised:var(--brand-ink-raised); --raised:var(--ink-raised);
  --paper:var(--brand-paper); --canvas:var(--paper); --white:var(--brand-white);
  --surface:var(--white); --surface-subtle:#f6f5f8; --surface-muted:#eeebf2;
  --text:var(--ink); --muted:#665d70; --line:#dfd9e6; --line-strong:#bcb3c7;
  --lime:var(--brand-lime); --lime-dark:#306800; --lime-soft:#e9ffda;
  --accent-line:#a8cc8c; --on-dark:#e4dceb; --muted-on-dark:#afa1be; --line-on-dark:#493854;
  --action:var(--ink); --action-hover:var(--ink-raised); --action-soft:var(--lime-soft);
  --focus:var(--ink); --focus-soft:rgb(19 8 35 / 20%);
  /* Compatibility aliases for existing components; new rules use semantic names. */
  --violet:var(--action); --violet-bright:var(--action-hover); --violet-pale:var(--action-soft);
  --lavender:#d8edc7; --lavender-pale:var(--action-soft);
  --success:#166534; --success-bg:#dcfce7; --success-line:#86efac;
  --error:#b91c1c; --danger:#b91c1c; --error-soft:#fef2f2; --error-bg:#fef2f2; --error-line:#fecaca;
  --warning:#92400e; --warning-bg:#fffbeb; --warning-line:#fcd34d;
  --font-display:"Bricolage Grotesque",system-ui,sans-serif; --font-body:"Manrope",system-ui,sans-serif;
  --font-ui:var(--font-body); --body:var(--font-body); --display:var(--font-display);
  /* Component dimensions retain operational density and the existing shell. */
  --app-radius:8px; --panel-radius:16px; --button-radius:999px;
  --app-rail-width:14.5rem; --app-content-width:92rem;
  --overlay:rgb(19 8 35 / 65%); --shadow:rgb(19 8 35 / 12%);
  --button-bg:var(--action); --button-hover-bg:var(--action-hover); --button-text:var(--white);
}
body { font-family:var(--font-ui); color:var(--text); background:var(--paper); }
/* Navigation uses identity, placement and directional cues; never text underlines. */
a:any-link,a:any-link:hover,a:any-link:focus-visible { text-decoration:none; }
.app-navigation-cue { flex:none; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.app-record-link { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; color:var(--text); font-weight:650; }
.app-record-link > .app-navigation-cue { width:14px; height:14px; color:var(--muted); }
.app-record-link:hover { color:var(--action-hover); }
.document-list { list-style:none; margin:0; padding:0; }
.document-list > li { display:flex; align-items:center; gap:.5rem; padding:.375rem 0; border-bottom:1px solid var(--line); min-width:0; }
.document-list > li:last-child { border-bottom:0; }
.app-document-link { display:flex; flex:1; align-items:center; justify-content:space-between; gap:1rem; min-width:0; min-height:44px; padding:.375rem .5rem; border-radius:var(--app-radius); color:var(--text); }
.app-document-link:hover { background:var(--surface-subtle); }
.app-document-copy { display:grid; gap:.125rem; min-width:0; overflow-wrap:anywhere; }
.app-document-name { font:600 .875rem/1.45 var(--font-ui); }
.app-document-meta { color:var(--muted); font:.75rem/1.4 var(--font-ui); }
.organization-invitations { display:grid; gap:1rem; margin:1rem 0; }
.company-onboarding.invitation-only { padding:0; border:0; background:transparent; }
.company-onboarding.invitation-only > h2, .company-onboarding.invitation-only > p { display:none; }
.company-onboarding.waiting-for-access, .organization-access-waiting { padding:1.5rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); }
.organization-access-waiting h2 { margin:0 0 .75rem; font-size:1.25rem; }
.organization-access-waiting p, .company-onboarding.waiting-for-access > p { max-width:65ch; margin:0; color:var(--muted); line-height:1.6; overflow-wrap:anywhere; }
.organization-access-waiting strong, .company-onboarding.waiting-for-access > p strong { color:var(--text); }
.organization-invitation { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem 1.5rem; padding:1.25rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); }
.organization-invitation-copy { min-width:0; }
.organization-invitation h3 { margin:0 0 .35rem; font-size:1rem; overflow-wrap:anywhere; }
.organization-invitation p { margin:.25rem 0 0; color:var(--muted); font-size:.85rem; line-height:1.5; }
.organization-invitation .organization-invitation-expiry { font-size:.75rem; }
.organization-invitation-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.organization-invitation .organization-invitation-error { grid-column:1/-1; color:var(--error); }
@media(max-width:48rem) { .organization-invitation { grid-template-columns:1fr; } .organization-invitation-actions .button { flex:1 1 auto; } }
.time-zone-form { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(14rem,1fr) auto; align-items:end; gap:.75rem 1rem; margin:1rem 0; padding:1rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); }
.time-zone-form h3 { margin:0 0 .25rem; font-size:1rem; }
.time-zone-form p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.45; }
.time-zone-form label { display:grid; gap:.35rem; font-size:.78rem; font-weight:700; }
.time-zone-form select { width:100%; min-height:44px; }
.time-zone-form .time-zone-status { grid-column:1/-1; min-height:1rem; }
@media(max-width:48rem) { .time-zone-form { grid-template-columns:1fr; } }
h1,h2,h3,h4 { font-family:var(--font-display); letter-spacing:-.025em; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
body[data-app-scope] :is(.button,.admin-button,.submit-button,.structured-add,.structured-remove) { border-radius:var(--button-radius); min-height:44px; font-family:var(--font-ui); }
body[data-app-scope] :is(.button.primary,.admin-button-primary,.submit-button) { background:var(--button-bg); color:var(--button-text); border-color:var(--button-bg); }
body[data-app-scope] :is(.button.primary,.admin-button-primary,.submit-button):hover:not(:disabled) { background:var(--button-hover-bg); border-color:var(--button-hover-bg); }
body[data-app-scope] :is(.button.secondary,.admin-button-quiet) { background:var(--surface); border:1px solid var(--line-strong); color:var(--text); }
body[data-app-scope] :is(input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea) { border-color:var(--line-strong); border-radius:var(--app-radius); color:var(--text); background:var(--surface); }
body[data-app-scope] input[readonly]:not([type=radio]):not([type=checkbox]):not([type=file]) { border-color:var(--line-strong); background:var(--surface-muted); color:var(--muted); cursor:text; opacity:1; }
body[data-app-scope] .field input[type=file] { min-height:48px; padding:.4rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); background:var(--surface); color:var(--muted); cursor:pointer; }
body[data-app-scope] .field input[type=file]::file-selector-button { min-height:36px; margin-right:.75rem; padding:.5rem .8rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); background:var(--surface-muted); color:var(--violet); cursor:pointer; font:700 .8rem var(--font-ui); }
body[data-app-scope] .field input[type=file]:hover::file-selector-button { border-color:var(--violet); background:var(--violet-pale); }
body[data-app-scope] :is(.record,.metric,.form-surface,.opportunity-card,.employer-surface,.auth-card,.portal-card,.empty-opportunities,.publication-card) { border-color:var(--line); border-radius:var(--panel-radius); background:var(--surface); }
body[data-app-scope] :is(.notice,.chat-message) { background:var(--lavender-pale); border-color:var(--violet); color:var(--text); }
body[data-app-scope] :is(.notice.error,#dialog-error) { background:var(--error-soft); color:var(--error); }
body[data-app-scope] dialog { border-color:var(--line); border-radius:var(--panel-radius); color:var(--text); background:var(--surface); box-shadow:0 20px 80px var(--shadow); }
body[data-app-scope] dialog::backdrop { background:var(--overlay); }

/* Short edits and additions: one pattern across member, public and admin surfaces. */
body[data-app-scope] dialog.app-action-dialog {
  width:min(34rem,calc(100% - 2rem)); max-width:none; max-height:calc(100dvh - 2rem);
  padding:1.5rem; overflow:auto; border:0; border-radius:var(--panel-radius);
  box-shadow:0 24px 80px rgb(19 8 35 / 24%);
}
body[data-app-scope] dialog.app-action-dialog-wide { width:min(44rem,calc(100% - 2rem)); }
body[data-app-scope] .app-action-dialog::backdrop { background:rgb(19 8 35 / 58%); }
.app-action-dialog :is(h2,h3) { margin:0; font-size:1.25rem; line-height:1.4; letter-spacing:-.02em; overflow-wrap:anywhere; }
.app-action-dialog .app-dialog-description { margin:.5rem 0 1.25rem; color:var(--muted); line-height:1.6; }
body[data-app-scope] .app-action-dialog :is(form,.employer-surface,.employer-create-card) {
  display:grid; gap:1rem; margin:0; padding:0; border:0; box-shadow:none; background:transparent; min-width:0;
}
body[data-app-scope] .app-action-dialog :is(input,select,textarea) { max-width:100%; min-width:0; }
.app-action-dialog label { display:grid; gap:.5rem; font-weight:650; }
.app-action-dialog :is(.field-hint,small,.password-session-note) { font-size:.875rem; line-height:1.55; font-weight:400; }
body[data-app-scope] .app-action-dialog .time-zone-form { grid-template-columns:minmax(0,1fr); }
.app-action-dialog .time-zone-form .time-zone-status:empty { display:none; }
.time-zone-form .time-zone-trigger {
  display:flex; align-items:center; justify-content:space-between; gap:.75rem; width:100%; min-height:48px;
  padding:.75rem; border:1px solid var(--line-strong); border-radius:var(--app-radius);
  background:var(--surface); color:var(--text); cursor:pointer; text-align:left; font:500 .875rem/1.5 var(--font-ui);
}
.time-zone-trigger span { min-width:0; overflow-wrap:anywhere; }
.time-zone-trigger svg { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; }
.time-zone-trigger:hover:not(:disabled) { border-color:var(--violet); }
.time-zone-trigger:disabled { cursor:wait; opacity:.6; }
body[data-app-scope] .time-zone-popup {
  position:fixed; inset:auto; box-sizing:border-box; margin:0; padding:.75rem; overflow:hidden;
  border:1px solid var(--line-strong); border-radius:var(--app-radius); background:var(--surface); color:var(--text);
}
.time-zone-popup:popover-open { display:flex; flex-direction:column; gap:.5rem; }
.time-zone-popup .time-zone-search-label { font-size:.875rem; font-weight:700; flex-shrink:0; }
body[data-app-scope] .time-zone-popup input { box-sizing:border-box; width:100%; min-height:44px; padding:.65rem .75rem; font:400 1rem/1.5 var(--font-ui); flex-shrink:0; }
.time-zone-popup input::placeholder { color:var(--muted); opacity:1; }
.time-zone-options { position:relative; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:var(--line-strong) var(--surface); }
.time-zone-option { box-sizing:border-box; min-height:44px; padding:.65rem .75rem; border-radius:var(--app-radius); cursor:pointer; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.time-zone-option:is(:hover,.is-active) { color:var(--violet); background:var(--violet-pale); }
.time-zone-option[aria-selected=true] { font-weight:750; }
.time-zone-popup .time-zone-results { flex-shrink:0; margin:0; color:var(--muted); font-size:.8125rem; line-height:1.5; }
body[data-app-scope] .app-hint {
  display:flex; align-items:flex-start; gap:.65rem; margin:0; padding:.875rem 1rem;
  border:1px solid var(--lavender); border-radius:var(--app-radius); background:var(--violet-pale);
  color:var(--violet); font-size:.875rem; font-weight:500; line-height:1.6;
}
.app-hint svg { width:20px; height:20px; margin-top:.075rem; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.app-hint span { min-width:0; overflow-wrap:anywhere; }
.job-title-options[popover] { position:fixed; inset:auto; margin:0; padding:0; box-sizing:border-box; }
.job-title-options { border-color:var(--line-strong); border-radius:var(--app-radius); background:var(--surface); box-shadow:none; overscroll-behavior:contain; scrollbar-color:var(--line-strong) var(--surface); }
.job-title-option:is(:hover,.is-active), .job-title-option.is-custom:is(:hover,.is-active) { background:var(--violet-pale); color:var(--violet); }
.job-title-option.is-custom { border-color:var(--line-strong); background:var(--surface); box-shadow:none; }
.app-action-dialog :is(.portal-form-footer,.app-dialog-actions,.dialog-actions,.note-form-footer) {
  display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.75rem; margin:.5rem 0 0; padding:0; border:0;
}
.app-action-dialog .portal-form-footer > p { flex-basis:100%; margin:0; }
.app-action-dialog .portal-form-footer { flex-direction:row; }
.app-action-dialog .portal-form-footer .button { width:auto; }
.app-action-dialog :is(button,.button) { min-height:44px; }
.app-action-dialog :is(.notice,.app-dialog-error) { margin:0; overflow-wrap:anywhere; }
.app-dialog-error { color:var(--error); font-size:.875rem; line-height:1.5; }
.app-settings-summary { display:grid; gap:1rem; min-width:0; }
.app-settings-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.app-settings-summary > .button { justify-self:start; }
body[data-app-scope] .account-grid { grid-template-columns:1fr; gap:0; padding:1.5rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--panel-radius); }
body[data-app-scope] .account-grid > .employer-surface { border:0; padding:1.25rem 0; margin:0; box-shadow:none; }
body[data-app-scope] .account-grid > .employer-surface:first-child { padding-top:0; }
body[data-app-scope] .account-grid > .account-security { border-top:1px solid var(--line); }
body[data-app-scope] .employer-surface.app-setting-row { padding:1.25rem; margin-top:1rem; }
.app-action-dialog .employer-surface-heading { padding:0; border:0; margin:0; }
.app-setting-row { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; min-width:0; padding:1rem 0; }
.app-setting-row + .app-setting-row { border-top:1px solid var(--line); }
.app-setting-row > div { min-width:0; }
.app-setting-row strong { display:block; font-size:1rem; }
.app-setting-value { display:block; margin-top:.35rem; color:var(--muted); line-height:1.6; overflow-wrap:anywhere; }
.app-setting-row .button { flex-shrink:0; min-height:44px; }
.app-action-dialog .company-invite-entry { display:grid; grid-template-columns:1fr; }
.app-action-dialog .company-team-entry { display:block; }
.app-action-dialog #company-profile-mark { display:none; }
.app-action-dialog .employer-create-heading { align-items:flex-start; }
.app-action-dialog .employer-create-heading .icon-button { width:44px; flex-shrink:0; }
body[data-app-scope] .app-action-dialog .employer-create-card { color:var(--text); }
.app-action-dialog .employer-create-heading :is(h3,.icon-button) { color:var(--text); }
.app-action-dialog .employer-create-heading p { color:var(--muted); }
.app-action-dialog .employer-create-heading p.employer-upload-estimate { color:var(--violet); }
.app-action-dialog .icon-button { border-color:var(--line-strong); border-radius:var(--app-radius); background:var(--surface); }
.app-action-dialog .employer-input-switch { border-color:var(--line-strong); border-radius:var(--app-radius); overflow:hidden; }
.app-action-dialog .employer-input-switch button { color:var(--muted); background:var(--surface); }
.app-action-dialog .employer-input-switch button + button { border-left-color:var(--line-strong); }
.app-action-dialog .employer-input-switch button[aria-selected=true] { color:var(--white); background:var(--violet); }
.app-action-dialog .employer-dropzone { color:var(--text); background:var(--surface-subtle); border-color:var(--line-strong); border-radius:var(--app-radius); }
.app-action-dialog .employer-dropzone:is(:hover,[data-dragging=true]) { background:var(--violet-pale); border-color:var(--violet); }
.app-action-dialog .dropzone-icon { border-color:var(--line); color:var(--violet); }
.app-action-dialog .employer-dropzone :is(small,.dropzone-file) { color:var(--muted); font-size:.875rem; }
.app-action-dialog .employer-dropzone[data-selected=true] .dropzone-file { color:var(--success); }
.app-action-dialog .employer-paste-panel label { color:var(--text); }
.app-action-dialog .employer-paste-panel textarea { background:var(--surface); color:var(--text); border-color:var(--line-strong); border-radius:var(--app-radius); }
.app-action-dialog .employer-paste-panel textarea::placeholder { color:var(--muted); }
.app-action-dialog .employer-paste-panel textarea:focus { border-color:var(--violet); outline:2px solid var(--violet); outline-offset:2px; }
.app-action-dialog .employer-paste-meta { color:var(--muted); font-size:.875rem; }
body[data-app-scope=admin].my-account-page #content > .form-surface { width:100%; max-width:none; margin:0 0 1rem; }
body[data-app-scope=admin].my-account-page #content > .app-setting-row { padding:1.5rem; }
.app-action-dialog .checkbox { display:flex; align-items:flex-start; gap:.75rem; }
.app-action-dialog .checkbox input { width:1.125rem; height:1.125rem; margin:.2rem 0 0; flex-shrink:0; }
body[data-app-scope] :is([data-employer-panel=account],[data-talent-panel=account]) { width:100%; max-width:none; }
.app-action-dialog .company-domain-card { padding:0; border:0; }
.app-action-dialog .note-form textarea { order:0; min-height:9rem; }
.app-action-dialog .note-form-footer { order:2; }
@media(max-width:640px) {
  body[data-app-scope] dialog.app-action-dialog { padding:1.25rem; }
  .app-setting-row { align-items:stretch; flex-direction:column; gap:.75rem; }
  .app-setting-row > .button { align-self:flex-start; }
  body[data-app-scope] .account-grid { padding:1.25rem; }
  .app-settings-heading { align-items:flex-start; flex-direction:column; }
  .app-action-dialog :is(.portal-form-footer,.app-dialog-actions,.dialog-actions,.note-form-footer) > button { flex:1; }
}
html.app-is-loading { overflow:hidden; scrollbar-gutter:stable; }
body[data-app-scope] dialog.app-loading-dialog {
  width:min(24rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem);
  box-sizing:border-box; margin:auto; padding:2.5rem 2rem;
  border:1px solid var(--line); border-radius:12px; text-align:center;
  background:var(--surface); color:var(--text); box-shadow:0 24px 80px rgb(19 8 35 / 22%);
}
.app-loading-dialog[open] { animation:app-loading-arrive 240ms ease-out both; }
.app-loading-dialog:focus { outline:none; }
body[data-app-scope] dialog.app-loading-dialog::backdrop {
  background:rgb(19 8 35 / 42%); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.app-loading-mark { width:4.5rem; height:4.5rem; margin:0 auto 1.25rem; padding:.75rem; border-radius:50%; background:var(--violet-pale); }
.app-loading-mark svg { display:block; width:100%; height:100%; overflow:visible; fill:none; stroke-linecap:round; }
.app-loading-orbit { stroke:var(--violet); stroke-width:2.5; stroke-dasharray:55 121; transform-origin:32px 32px; animation:app-loading-orbit 1.5s linear infinite; }
.app-loading-star { stroke:var(--violet); stroke-width:4; }
.app-loading-dialog .app-loading-brand { margin:0 0 .5rem; color:var(--violet); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.app-loading-dialog h2 { margin:0; font-size:clamp(1.2rem,4vw,1.45rem); font-weight:750; line-height:1.4; text-wrap:balance; }
.app-loading-dialog #app-loading-description { margin:.75rem 0 0; color:var(--muted); font-size:.875rem; line-height:1.6; }
@keyframes app-loading-orbit { to { transform:rotate(360deg); } }
@keyframes app-loading-arrive { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .app-loading-dialog[open],.app-loading-orbit { animation:none; } }
@media(max-width:480px) { body[data-app-scope] dialog.app-loading-dialog { padding:2rem 1.25rem; } }
.app-success-notice { display:flex; flex-wrap:wrap; gap:.35rem .75rem; margin:0 0 1rem; padding:.75rem 1rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); color:var(--text); font-size:.875rem; line-height:1.6; overflow-wrap:anywhere; }
.app-success-notice span { color:var(--muted); }
body[data-app-scope] .status { background:var(--surface-subtle); color:var(--violet); border-color:var(--line); border-radius:4px; }
body[data-app-scope] .requirement-switch { background:var(--surface-muted); border-color:var(--line-strong); }
body[data-app-scope] .requirement-switch span { color:var(--muted); }
body[data-app-scope] .requirement-switch input:checked + span { background:var(--violet); color:var(--white); }

/* The same global admin navigation survives every page transition. */
body[data-app-scope=admin] :is(.admin-app,.workspace-layout) { display:grid; grid-template-columns:var(--app-rail-width) minmax(0,1fr); min-height:100svh; }
body[data-app-scope=admin] :is(.admin-rail,.rail) { position:sticky; top:0; align-self:start; display:flex; flex-direction:column; align-items:stretch; gap:0; width:auto; height:100svh; min-height:0; padding:1.5rem 1.25rem; background:var(--ink); color:white; overflow-y:auto; z-index:10; }
body[data-app-scope=admin] :is(.admin-brand-rail,.rail > .brand) { display:block; width:7.5rem; height:auto; flex-shrink:0; margin:0; }
body[data-app-scope=admin] :is(.admin-brand-rail,.rail > .brand) img { display:block; width:100%; height:auto; }
body[data-app-scope=admin] :is(.rail-context,.rail-label) { display:none; }
body[data-app-scope=admin] .app-admin-nav { display:grid; grid-template-columns:1fr; gap:4px; background:transparent; margin:1.5rem 0; padding:0; }
body[data-app-scope=admin] .app-admin-nav > .admin-label { display:none; }
/* Navigation buttons share the admin dashboard component across all workspaces. */
body[data-app-scope=admin] .app-admin-nav :is(a,button),
.app-member-nav a { display:flex; justify-content:space-between; align-items:center; gap:.5rem; width:100%; min-height:44px; padding:.65rem .75rem; border:0; border-radius:var(--app-radius); background:transparent; color:var(--on-dark); font-family:var(--font-ui); font-size:.78rem; font-weight:700; line-height:1.5; text-align:left; text-decoration:none; box-shadow:none; cursor:pointer; }
body[data-app-scope=admin] .app-admin-nav :is(a,button):hover,
.app-member-nav a:hover { background:var(--ink-raised); color:white; }
body[data-app-scope=admin] .app-admin-nav :is(.is-active,[aria-current=page]),
.app-member-nav a[aria-current=page] { background:white; color:var(--ink); }
body[data-app-scope=admin] .app-admin-nav strong { color:inherit; }
body[data-app-scope=admin] :is(.rail-actions,.rail-footer) { position:static; display:grid; margin-top:auto; padding:.75rem 0 0; border-top:1px solid var(--line-on-dark); font-size:.78rem; }
body[data-app-scope=admin] :is(.rail-actions,.rail-footer) :is(a,button) { color:var(--on-dark); min-height:44px; font-size:.78rem; text-align:left; padding:.65rem .75rem; }
body[data-app-scope=admin] :is(.admin-main,.workspace-layout > main) { padding:1.5rem 2rem 3rem; width:100%; max-width:none; margin:0; min-width:0; }
body[data-app-scope=admin] :is(.workspace-heading,.page-heading) { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-bottom:1.25rem; margin-bottom:1.5rem; border-bottom:1px solid var(--line-strong); }
body[data-app-scope=admin] :is(.workspace-heading,.page-heading) h1 { font-size:2rem; line-height:1.2; font-weight:700; margin:.35rem 0; }
body[data-app-scope=admin] .page-heading .eyebrow { display:none; }
body[data-app-scope=admin] #heading-actions { margin:0; }
.app-section-nav { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 1.5rem; padding:0 0 1rem; border-bottom:1px solid var(--line); }
.app-section-nav a { display:inline-flex; align-items:center; min-height:44px; padding:.55rem .8rem; border:1px solid transparent; border-radius:var(--app-radius); color:var(--muted); text-decoration:none; font-size:.8rem; font-weight:700; }
.app-section-nav a:hover,.app-section-nav a[aria-current=page] { color:var(--violet); background:var(--lavender-pale); border-color:var(--line); }
body[data-app-scope=admin] :is(#menu-toggle,.app-menu-toggle) { display:none; }
body[data-app-scope=admin].password-page .workspace-layout { display:block; }
body[data-app-scope=admin].password-page .rail { display:none; }
body[data-app-scope=admin].password-page main { max-width:620px; padding:4rem 1.5rem; margin:auto; }
body[data-app-scope=admin].password-page .page-heading .eyebrow { display:block; }

/* Shared member header: account, opportunities, and operations keep their place. */
.app-context-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; min-height:76px; padding:1rem 2rem; background:var(--ink); color:white; }
.app-context-brand { display:block; width:7.5rem; flex-shrink:0; }
.app-context-brand img { display:block; width:100%; height:auto; }
.app-context-nav { display:flex; gap:.4rem; flex-wrap:wrap; }
.app-context-nav a { display:inline-flex; align-items:center; min-height:44px; padding:.6rem .8rem; color:var(--on-dark); font-size:.8rem; font-weight:700; border-radius:var(--app-radius); text-decoration:none; }
.app-context-nav a:hover { background:var(--ink-raised); color:white; }
.app-context-nav a[aria-current=page] { background:white; color:var(--ink); }
body.app-has-context > :is(.site-header,.topbar) { display:none; }
body[data-app-scope=member] :is(.shell,.header-shell,.footer-shell) { max-width:var(--app-content-width); }
body[data-app-scope=member] :is(.employer-sidebar,.rail) { background:var(--ink); color:white; }
body[data-app-scope=member] :is(.employer-nav,.rail nav) a { color:var(--on-dark); border-radius:var(--app-radius); font-family:var(--font-ui); min-height:44px; }
body[data-app-scope=member] :is(.employer-nav,.rail nav) a[aria-current=page] { background:white; color:var(--ink); box-shadow:none; }
body[data-app-scope=member] :is(.employer-nav,.rail nav) a:hover { background:var(--ink-raised); color:white; }
body[data-app-scope=member] .rail-label { color:var(--on-dark); }
body[data-app-scope=member] .rail-footer button { color:var(--on-dark); }
body[data-app-scope=member] .rail > .brand { display:none; }
body[data-app-scope=member] .page-heading h1 { font-size:2rem; line-height:1.2; }
body[data-app-scope=member] .workspace-layout { grid-template-columns:var(--app-rail-width) minmax(0,1fr); }
body[data-app-scope=member] .workspace-layout > main { max-width:none; padding:1.5rem 2rem 3rem; }
body[data-app-scope=member] .availability-form { width:100%; max-width:none; }
body[data-app-scope=member] .availability-status { display:grid; gap:.4rem; padding:.25rem 0 1.5rem; }
body[data-app-scope=member] .availability-switch { display:inline-flex; width:fit-content; align-items:center; gap:.85rem; cursor:pointer; font-size:1rem; font-weight:700; }
body[data-app-scope=member] .availability-switch input { appearance:none; position:relative; width:3rem; height:1.75rem; min-height:1.75rem; margin:0; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface-muted); cursor:pointer; transition:background .2s ease; }
body[data-app-scope=member] .availability-switch input::before { content:""; position:absolute; top:3px; left:3px; width:1.25rem; height:1.25rem; border-radius:50%; background:var(--white); box-shadow:0 1px 3px var(--shadow); transition:transform .2s ease; }
body[data-app-scope=member] .availability-switch input:checked { background:var(--violet); border-color:var(--violet); }
body[data-app-scope=member] .availability-switch input:checked::before { transform:translateX(1.25rem); }
body[data-app-scope=member] .availability-status-help { margin:0 0 0 3.85rem; color:var(--muted); font-size:.85rem; max-width:65ch; }
body[data-app-scope] .availability-save-actions { margin-top:.5rem; }
body[data-app-scope] .availability-save-actions .button:disabled { cursor:default; opacity:.5; }
body[data-app-scope] .availability-form[aria-busy=true] .availability-save-actions .button:disabled { cursor:wait; }
body[data-app-scope=member] .availability-details { border-top:1px solid var(--line); padding-top:1.5rem; }
@media(max-width:640px) { body[data-app-scope=member] .availability-status-help { margin-left:0; } }
body[data-app-scope=member] .rail { padding:1.5rem 1.25rem; }
body[data-app-scope=member] .membership-shell.workspace-open { width:100%; max-width:none; padding:0; }
body[data-app-scope=member] .employer-portal { grid-template-columns:var(--app-rail-width) minmax(0,1fr); border:0; box-shadow:none; background:var(--paper); }
body[data-app-scope=member] .employer-sidebar { padding:1.5rem 1.25rem; }
body[data-app-scope=member] .employer-nav { padding:1rem 0; }
body[data-app-scope=member] .employer-nav a { gap:.4rem; font-size:.78rem; }
body[data-app-scope=member] .employer-nav a:not(:has(> span)) { display:flex; }
body[data-app-scope=member] .employer-nav a > b { background:var(--ink-raised); color:var(--on-dark); }
body[data-app-scope=member] .employer-nav a > span,body[data-app-scope=member] .employer-nav-label { color:var(--muted-on-dark); }
body[data-app-scope=member] .employer-nav a[aria-current=page] { border-left-color:var(--violet); }
body[data-app-scope=member] .employer-nav a[aria-current=page] > span { color:var(--violet); }
body[data-app-scope=member] .employer-sidebar-footer { padding:1rem 0; }
body[data-app-scope=member] .employer-sidebar-footer button { white-space:nowrap; }
body[data-app-scope=member] .employer-canvas { padding:1.5rem 2rem 3rem; background:var(--paper); }
body[data-app-scope=member] .employer-page-header h2 { font-size:2rem; line-height:1.2; }
body[data-app-scope=member] :is(.auth-intro,.employer-sidebar-footer) { border-color:var(--line-on-dark); }
body[data-app-scope=member] .auth-intro > p:not(.eyebrow) { color:var(--on-dark); }
@media(max-width:1119px) {
  body[data-app-scope=admin] :is(.admin-app,.workspace-layout) { display:block; }
  body[data-app-scope=admin] :is(.admin-rail,.rail) { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; position:relative; height:auto; padding:1rem; overflow:visible; }
  body[data-app-scope=admin] :is(.admin-brand-rail,.rail > .brand) { width:6.5rem; }
  body[data-app-scope=admin] :is(#menu-toggle,.app-menu-toggle) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-left:auto; padding:.6rem .8rem; border:1px solid #64748b; border-radius:var(--app-radius); background:transparent; color:white; font:inherit; font-size:.8rem; }
  body[data-app-scope=admin] :is(.app-admin-nav,.rail-actions,.rail-footer) { display:none; width:100%; }
  body[data-app-scope=admin] .expanded :is(.app-admin-nav,.rail-actions,.rail-footer) { display:grid; }
  body[data-app-scope=admin] .expanded .app-admin-nav { grid-template-columns:1fr; margin:1rem 0; }
  body[data-app-scope=admin] :is(.admin-main,.workspace-layout > main) { padding:1.5rem 1rem 2rem; }
}
@media(max-width:640px) {
  .app-context-bar { padding:1rem; gap:.5rem; }
  .app-context-nav { gap:.2rem; width:100%; }
  .app-context-nav a { padding:.5rem .65rem; font-size:.75rem; }
  body[data-app-scope=member] .workspace-layout { display:block; }
  body[data-app-scope=member] .workspace-layout > main { padding:1.5rem 1rem; }
  body[data-app-scope=member] .rail { padding:1rem; }
  body[data-app-scope=admin] .page-heading h1 { font-size:1.75rem; }
}
@media(max-width:56rem) {
  body[data-app-scope=member] .employer-portal { grid-template-columns:minmax(0,1fr); }
  body[data-app-scope=member] .employer-canvas { padding:1.25rem 1rem; }
  body[data-app-scope=member] .employer-mobile-header { margin:-1.25rem -1rem 1.5rem; }
}
@media(prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root) { animation:none!important; }
}

/* One role-specific sidebar across every signed-in member page. */
body.app-has-member-rail { padding-left:var(--app-rail-width); }
body.app-has-member-rail :is(.employer-sidebar,.employer-mobile-header,.employer-mobile-nav,.workspace-layout > .rail) { display:none!important; }
body.app-has-member-rail :is(.workspace-layout,.employer-portal) { display:block; }
.app-member-rail { position:fixed; inset:0 auto 0 0; z-index:30; width:var(--app-rail-width); padding:1.5rem 1.25rem; display:flex; flex-direction:column; gap:0; overflow-y:auto; background:var(--ink); color:white; }
.app-member-nav { display:grid; gap:4px; margin:1.5rem 0; padding:0; }
body[data-app-scope=member] :is(.app-member-nav,.employer-nav) a[aria-disabled=true] { color:var(--muted-on-dark); background:transparent; cursor:not-allowed; }
.talent-journey-link[aria-disabled=true] { color:var(--muted); cursor:not-allowed; }
.app-member-bar { position:sticky; top:0; z-index:35; display:flex; align-items:center; gap:1rem; height:60px; padding:0 2rem; border-bottom:1px solid var(--line); background:var(--surface); color:var(--text); }
.app-page-context { flex:1; min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1.0625rem; font-weight:750; line-height:1.5; }
.app-page-context:focus { outline:none; }
.app-bar-tools { display:flex; align-items:center; flex:none; gap:8px; }
.app-bar-control { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:0; border-radius:var(--app-radius); background:transparent; color:var(--muted); font:650 .8125rem var(--font-ui); text-decoration:none; cursor:pointer; }
.app-bar-control:hover { background:var(--surface-muted); color:var(--text); }
.app-bar-control svg { flex:none; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.app-bar-icon { position:relative; width:44px; padding:10px; }
.app-bar-account { color:var(--text); }
.app-account-name { max-width:14rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-bar-account > svg:last-child { width:16px; height:16px; }
.app-account-panel { position:fixed; inset:auto; width:min(260px,calc(100vw - 16px)); margin:0; padding:8px; overflow:auto; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); color:var(--text); box-shadow:0 8px 24px var(--shadow); }
.app-account-panel-name { margin:4px 8px 8px; padding-bottom:12px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; font-size:.875rem; font-weight:700; line-height:1.5; }
.app-account-panel :is(a,button) { display:flex; align-items:center; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:var(--app-radius); color:var(--text); background:transparent; font:600 .875rem var(--font-ui); text-decoration:none; text-align:left; cursor:pointer; }
.app-account-panel :is(a,button):hover { background:var(--surface-muted); }
.app-account-panel .app-account-mobile-help { display:none; }
.app-account-error { margin:8px; color:var(--error); font-size:.8125rem; line-height:1.5; }
.app-member-bar [hidden], .app-account-panel [hidden] { display:none!important; }
.app-context-heading { position:absolute!important; width:1px; height:1px; padding:0!important; margin:-1px!important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
body.app-has-member-rail :is(.page-heading,.employer-page-header) { min-height:0; scroll-margin-top:76px; }
body.app-has-member-rail :is(.page-heading,.employer-page-header) .eyebrow { display:none; }
#app-member-menu { display:none; }
@media(max-width:56rem) {
  body.app-has-member-rail { padding-left:0; }
  .app-member-bar { gap:12px; padding:0 1rem; }
  .app-member-rail { display:none; position:fixed; inset:60px 0 auto; width:100%; max-height:calc(100dvh - 60px); padding:1.25rem; overflow-y:auto; }
  .app-member-rail.expanded { display:flex; }
  .app-member-rail .app-context-brand { width:6.5rem; }
  #app-member-menu { display:inline-flex; flex:none; }
}
@media(max-width:40rem) {
  .app-member-bar { gap:8px; padding:0 12px; }
  .app-bar-tools { gap:4px; }
  .app-member-bar .app-bar-help,.app-account-name,.app-bar-account > svg:last-child { display:none; }
  .app-bar-account { width:44px; padding:10px; }
  .app-account-panel .app-account-mobile-help { display:flex; }
  .app-page-context { font-size:1rem; }
}
.app-notification-dot { position:absolute; top:8px; right:8px; width:8px; height:8px; border-radius:50%; background:#ef4444; box-shadow:0 0 0 2px var(--surface); }
/* Admin uses the same context bar across both dashboard and workflow shells. */
body.app-has-admin-bar :is(.admin-app,.workspace-layout) { grid-template-rows:60px minmax(0,1fr); }
body.app-has-admin-bar .app-admin-bar { grid-column:2; grid-row:1; min-width:0; }
body.app-has-admin-bar :is(.admin-rail,.rail) { grid-column:1; grid-row:1 / span 2; }
body.app-has-admin-bar :is(.admin-main,.workspace-layout > main) { grid-column:2; grid-row:2; min-width:0; scroll-margin-top:76px; }
body.app-has-admin-bar :is(.workspace-heading,.page-heading) { min-height:0; scroll-margin-top:76px; }
body.app-has-admin-bar :is(.workspace-heading,.page-heading) .eyebrow { display:none; }
body.app-has-admin-bar .app-context-heading-only { gap:0; min-height:0; padding:0; margin:0; border:0; }
body.app-has-admin-bar .record-tools { top:60px; }
body.app-has-admin-bar :is([id],a,button,input,select,textarea) { scroll-margin-top:76px; }
body.app-has-admin-bar .app-admin-footer[hidden] { display:none!important; }
body.app-has-admin-bar .app-admin-bar .app-bar-account { position:relative; }
body.app-has-admin-bar .app-admin-bar > :is(#menu-toggle,.app-bar-icon) { display:none; margin:0; padding:10px; border:0; background:transparent; color:var(--muted); }
body.app-has-admin-bar .app-account-panel .app-admin-update-dot { box-shadow:none; background:var(--muted); }
@media(max-width:1119px) {
  body.app-has-admin-bar :is(.admin-app,.workspace-layout) { display:block; }
  body.app-has-admin-bar .app-admin-bar { gap:12px; padding:0 1rem; }
  body.app-has-admin-bar .app-admin-bar > :is(#menu-toggle,.app-bar-icon) { display:inline-flex; flex:none; }
  body.app-has-admin-bar :is(.admin-rail,.rail) { display:none; position:fixed; inset:60px 0 auto; z-index:30; width:100%; height:auto; max-height:calc(100dvh - 60px); padding:1.25rem; flex-direction:column; align-items:stretch; overflow-y:auto; }
  body.app-has-admin-bar :is(.admin-rail,.rail).expanded { display:flex; }
  body.app-has-admin-bar .expanded .app-admin-nav { margin:1rem 0; }
}
@media(max-width:40rem) { body.app-has-admin-bar .app-admin-bar { gap:8px; padding:0 12px; } }
body[data-app-scope=admin] { --admin-update-color:var(--muted-on-dark); --admin-action-color:#b91c1c; --admin-action-soft:#fef2f2; --admin-action-line:#fecaca; }
body[data-app-scope=admin] .app-admin-action-badge { display:inline-flex; flex:none; align-items:center; justify-content:center; min-width:22px; height:22px; margin-left:auto; padding:0 6px; border-radius:999px; background:var(--admin-action-color); color:white; font:800 .75rem/1 var(--font-ui); font-variant-numeric:tabular-nums; }
body[data-app-scope=admin] .app-admin-update-dot { flex:none; width:8px; height:8px; margin-left:auto; border-radius:50%; background:var(--admin-update-color); box-shadow:0 0 0 2px var(--ink); }
body[data-app-scope=admin] .app-admin-action-badge + .app-admin-update-dot { margin-left:0; }
body[data-app-scope=admin] [aria-current=page] .app-admin-update-dot { box-shadow:0 0 0 2px white; }
body.app-has-admin-bar .app-admin-bar > .app-bar-icon > .app-admin-action-badge { position:absolute; top:0; right:-4px; min-width:18px; height:18px; padding:0 4px; font-size:.625rem; }
body.app-has-admin-bar .app-admin-bar > .app-bar-icon > .app-admin-update-dot { position:absolute; top:3px; right:2px; box-shadow:0 0 0 2px var(--surface); }
body.app-has-admin-bar .app-admin-bar > .app-bar-icon > .app-admin-action-badge + .app-admin-update-dot { top:24px; right:0; }
.app-admin-update-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.app-member-nav a,.employer-nav a,.app-account-panel a,#navigation a,[data-candidate-phase],[data-company-tab],[data-need-section] { position:relative; }
.app-tab-update-dot { position:absolute; top:.3rem; right:.35rem; width:.5rem; height:.5rem; border-radius:50%; background:var(--on-dark); box-shadow:0 0 0 2px var(--ink); pointer-events:none; }
.app-record-updates { display:grid; grid-column:1/-1; flex-basis:100%; gap:.3rem; min-width:0; padding:.5rem 0; margin-bottom:.75rem; color:var(--text); text-align:left; }
.app-record-update-label { display:flex; align-items:center; gap:.5rem; font-size:.75rem; line-height:1.4; color:var(--muted); }
.app-record-update-label::before { content:""; flex:none; width:.5rem; height:.5rem; border-radius:50%; background:currentColor; }
.app-record-updates a,.app-record-updates > span { color:var(--text); font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; }
.app-record-updates a:focus-visible,.app-record-feed summary:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.app-record-feed { padding:0 .875rem; margin:0 0 1rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); }
.app-record-feed > summary { display:flex; align-items:center; gap:.75rem; min-height:48px; list-style:none; cursor:pointer; color:var(--text); font-size:.875rem; font-weight:650; }
.app-record-feed > summary::-webkit-details-marker { display:none; }
.app-record-feed > summary > .app-navigation-cue { margin-left:auto; }
.app-record-feed[open] > summary > .app-navigation-cue { transform:rotate(90deg); }
.app-update-count { color:var(--muted); font-size:.75rem; font-weight:600; }
.app-record-feed > .app-update-list { border-top:1px solid var(--line); padding-bottom:.375rem; }
.app-update-highlight { outline:2px solid var(--focus); outline-offset:4px; scroll-margin-top:6rem; }
.app-changed-image { display:inline-flex; align-items:center; gap:.25rem; }
.app-field-change-notice { display:inline-flex; flex-wrap:wrap; align-items:center; vertical-align:middle; gap:.375rem .75rem; margin-left:.5rem; color:var(--muted); font:500 .75rem/1.5 var(--font-ui); }
.app-status-detail { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; min-width:0; }
.app-inline-status-update { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.375rem .75rem; color:var(--muted); font:500 .75rem/1.5 var(--font-ui); }
.app-status-new,.app-action-update-indicator,.app-field-update-new { display:inline-flex; align-items:center; gap:.375rem; color:var(--muted); font:650 .75rem/1.4 var(--font-ui); }
.app-status-new::before,.app-action-update-indicator::before,.app-field-update-new::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; flex:none; }
.app-action-update-indicator { margin-left:.5rem; }
.app-status-latest,.app-status-retry,.app-field-update-latest,.app-field-update-retry { display:inline-flex; align-items:center; min-height:44px; padding:.375rem .5rem; border:0; border-radius:var(--app-radius); background:transparent; color:var(--text); font:650 .75rem/1.5 var(--font-ui); text-decoration:none; cursor:pointer; }
.app-status-read-error { color:var(--error); }
.app-status-latest:hover,.app-status-retry:hover,.app-field-update-latest:hover,.app-field-update-retry:hover { background:var(--surface-subtle); }
.app-status-latest:focus-visible,.app-status-retry:focus-visible,.app-field-update-latest:focus-visible,.app-field-update-retry:focus-visible,.app-update-dismiss:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.app-field-update-retry:disabled { opacity:.6; cursor:wait; }
.app-section-change-dot { display:inline-block; width:8px; height:8px; margin-left:.5rem; border-radius:50%; background:var(--muted); vertical-align:middle; }
.app-record-change-summary { min-width:0; margin:.75rem 0 0; font-size:.875rem; overflow-wrap:anywhere; }
.app-record-change-summary > summary { min-height:44px; padding:.75rem 0; color:var(--text); font-weight:600; cursor:pointer; }
.app-record-change-summary > summary:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.app-field-fallback-value { margin:.75rem 0; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
[data-change-field] { scroll-margin-top:6rem; }
[data-app-scope="admin"] :is(h2,h3,h4) > .app-record-update-menu { display:inline-block; vertical-align:middle; margin-left:.25rem; }
[data-update-dot="true"],[data-engagement-section] { position:relative; }
[data-update-dot="true"] > .app-tab-update-dot,[data-engagement-section] > .app-tab-update-dot { box-shadow:0 0 0 2px var(--surface); }
.record-row .app-record-updates,.member-row .app-record-updates { margin:.5rem 0 0; }
/* Unread labels use explicit hosts and keep workflow status text intact. */
.app-action-update-label { display:inline-flex; flex:none; align-items:center; margin-inline-start:.5rem; padding:.125rem .375rem; border:1px solid currentColor; border-radius:4px; color:inherit; font:650 .6875rem/1.4 var(--font-ui); pointer-events:none; }
.app-status-update-label { display:inline-flex; flex:none; align-items:center; padding:.2rem .5rem; border:1px solid var(--line-strong); border-radius:4px; background:var(--surface-subtle); color:var(--text); font:650 .75rem/1.4 var(--font-ui); white-space:nowrap; }
.app-member-update-notice { padding:.75rem 0; margin:.75rem 0 0; border-top:1px solid var(--line); font-size:.875rem; }
.app-member-update-notice .app-update-list { margin:0; }
.app-member-update-read { justify-self:start; min-height:44px; padding:.5rem .75rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); background:var(--surface); color:var(--text); font:650 .8125rem/1.5 var(--font-ui); cursor:pointer; }
.app-member-update-read:disabled { opacity:.6; cursor:wait; }
.app-member-update-read:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.app-admin-queue-summary { margin:0 0 1rem; color:var(--muted); font-size:.8125rem; }
.app-member-nav a[aria-current=page] .app-tab-update-dot { background:var(--ink); box-shadow:0 0 0 2px var(--lime); }
body[data-app-scope=admin] [aria-current=page] .app-admin-update-dot { background:var(--ink); }
:is([data-candidate-phase],[data-company-tab],[data-need-section],[data-engagement-section]) > .app-tab-update-dot { background:var(--muted); }
.app-record-update-menu { position:relative; flex:none; }
.app-record-update-menu > .app-record-update-trigger {
  display:inline-flex; align-items:center; justify-content:center; gap:.375rem; min-height:28px; padding:.25rem .375rem;
  cursor:pointer; list-style:none; border:0; border-radius:var(--app-radius); color:var(--muted); font:600 .75rem/1.4 var(--font-ui); text-decoration:none;
}
.app-record-update-menu > summary::-webkit-details-marker { display:none; }
.app-record-update-menu.app-record-update-dot { display:inline-block; margin:0; padding:0; border:0; vertical-align:middle; }
.app-record-update-dot > .app-record-update-trigger { min-width:44px; min-height:44px; padding:0; }
.app-record-update-menu > .app-record-update-trigger::before { content:""; flex:none; width:7px; height:7px; border-radius:50%; background:currentColor; }
.app-record-update-menu > .app-record-update-trigger:hover,.app-record-update-menu[open] > .app-record-update-trigger { background:var(--surface-subtle); }
.app-record-update-menu > .app-record-update-trigger:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.app-record-update-popover {
  position:fixed; z-index:30; box-sizing:border-box;
  width:min(20rem,calc(100vw - 2rem)); max-height:min(20rem,60vh); overflow:auto;
  padding:.375rem; border:1px solid var(--line); border-radius:var(--app-radius);
  background:var(--surface); box-shadow:0 8px 24px var(--shadow); text-align:left;
}
.app-record-update-popover > :is(a,span) {
  display:block; min-height:44px; padding:.6rem .75rem; margin:0;
  color:var(--text); font:400 .8125rem/1.5 var(--font-ui); white-space:normal; overflow-wrap:anywhere;
}
.app-record-update-popover > a:hover { background:var(--surface-muted); }
.app-record-update-popover > a:focus-visible { outline:2px solid var(--focus); outline-offset:-2px; }
.app-record-update-popover time { display:block; color:var(--muted); font-size:.75rem; margin-top:.125rem; }
@media(pointer:coarse) { .app-record-update-menu > .app-record-update-trigger { min-width:44px; min-height:44px; } }
[data-candidate-phase] > .app-tab-update-dot,[data-company-tab] > .app-tab-update-dot { box-shadow:0 0 0 2px var(--surface); }
#employer-nav-toggle.has-tab-updates,#talent-nav-toggle.has-tab-updates { position:relative; }
#employer-nav-toggle.has-tab-updates::after,#talent-nav-toggle.has-tab-updates::after { content:""; position:absolute; top:.3rem; right:.35rem; width:.5rem; height:.5rem; border-radius:50%; background:#ef4444; box-shadow:0 0 0 2px var(--ink); }
.app-journey-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:0 0 1.5rem; }
.app-journey-actions a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem .75rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); background:white; color:var(--violet); font-size:.8rem; font-weight:700; text-decoration:none; }
.journey-gate { display:grid; width:100%; min-height:clamp(24rem,52vh,32rem); align-content:center; justify-items:center; margin:2rem 0 0; padding:clamp(2rem,6vw,4rem); border:1px solid var(--line); border-radius:var(--app-radius); background:linear-gradient(180deg,var(--surface) 0%,var(--surface-subtle) 100%); text-align:center; box-shadow:0 18px 50px rgb(19 8 35 / 7%); }
.journey-gate-icon { display:grid; place-items:center; width:4.5rem; height:4.5rem; margin:0 auto 1.25rem; border:1px solid var(--accent-line); border-radius:50%; background:var(--violet-pale); color:var(--violet); }
.journey-gate-icon svg { width:2rem; height:2rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.journey-gate :is(h2,h3) { margin:1rem 0 .65rem; font-size:clamp(1.5rem,3vw,2rem); }
.journey-gate > p { max-width:58ch; margin:.5rem auto 0; color:var(--muted); }
.journey-gate .actions { justify-content:center; }
.talent-opportunity-grid > .journey-gate { grid-column:1 / -1; }
.talent-journey { margin-top:2rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); overflow:hidden; }
.talent-journey-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:2rem; }
.talent-journey-heading :is(h2,h3,p) { margin:.25rem 0 0; }
.talent-journey-heading .eyebrow { margin:0; }
.talent-journey-timeline { display:grid; grid-template-columns:repeat(var(--journey-columns,7),minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; }
.talent-journey-step { position:relative; min-width:0; padding:0 .35rem; opacity:0; transform:translateY(10px); animation:journey-step-in .42s cubic-bezier(.22,1,.36,1) forwards; animation-delay:calc(var(--journey-index) * 55ms); }
.talent-journey-step::before,.talent-journey-step::after { content:""; position:absolute; z-index:0; top:1.12rem; left:50%; width:100%; height:2px; background:var(--line); }
.talent-journey-step::after { background:var(--lime); transform:scaleX(0); transform-origin:left; }
.talent-journey-step:not(.is-complete)::after { display:none; }
.talent-journey-step.is-complete::after { animation:journey-line-in .55s cubic-bezier(.22,1,.36,1) forwards; animation-delay:calc((var(--journey-index) * 55ms) + 180ms); }
.talent-journey-step:last-child::before,.talent-journey-step:last-child::after { display:none; }
.talent-journey-marker { position:relative; z-index:2; display:grid; place-items:center; width:2.25rem; height:2.25rem; margin:0 auto .9rem; border:2px solid var(--line-strong); border-radius:50%; background:var(--surface); color:var(--muted); }
.talent-journey-marker svg { width:1.05rem; height:1.05rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.talent-journey-link { position:relative; z-index:1; display:block; min-height:9.5rem; padding:.9rem .75rem; border:1px solid transparent; border-radius:var(--app-radius); color:var(--text); text-align:center; text-decoration:none; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.talent-journey-link:not(.is-static):hover { border-color:var(--line-strong); background:var(--surface-subtle); }
.talent-journey-link strong,.talent-journey-copy { display:block; }
.talent-journey-link strong { margin:.35rem 0; font-size:.82rem; line-height:1.35; }
.talent-journey-copy { color:var(--muted); font-size:.7rem; line-height:1.5; }
.talent-journey-state { color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.talent-journey-step.is-complete .talent-journey-marker { border-color:var(--lime); background:var(--lime-soft); color:var(--lime-dark); }
.talent-journey-step.is-complete .talent-journey-state { color:var(--lime-dark); }
.talent-journey-step.is-current .talent-journey-marker { border-color:var(--violet); background:var(--violet); color:var(--white); animation:journey-current-in .58s cubic-bezier(.2,1.4,.4,1) both; animation-delay:calc((var(--journey-index) * 55ms) + 120ms); }
.talent-journey-step.is-current .talent-journey-link { border-color:var(--accent-line); background:var(--violet-pale); box-shadow:0 8px 24px var(--shadow); }
.talent-journey-step.is-current .talent-journey-state,.talent-journey-step.is-available .talent-journey-state { color:var(--violet); }
.talent-journey-step.is-available .talent-journey-marker { border-color:var(--accent-line); color:var(--violet); }
.talent-journey-step.is-locked .talent-journey-link { color:#64748b; }
.application-timeline .talent-journey-timeline { grid-template-columns:repeat(var(--journey-columns,7),minmax(0,1fr)); width:100%; }
.application-timeline .talent-journey-step { display:block; padding:0 .35rem; }
.application-timeline .talent-journey-step::before,.application-timeline .talent-journey-step::after { top:1.12rem; left:50%; width:100%; height:2px; }
.application-timeline .talent-journey-step::after { transform:scaleX(0); transform-origin:left; }
.application-timeline .talent-journey-step.is-complete::after { animation-name:journey-line-in; }
.application-timeline .talent-journey-marker { grid-column:auto; margin:0 auto .9rem; }
.application-timeline .talent-journey-link { grid-column:auto; min-height:9.5rem; padding:.9rem .75rem; text-align:center; }
.application-timeline.is-closed .talent-journey-step.is-complete:not(.connect-complete)::after { display:none; }
.application-timeline .talent-journey-step.is-reached .talent-journey-marker { border-color:var(--violet); background:var(--violet-pale); color:var(--violet); }
.application-timeline .talent-journey-step.is-reached .talent-journey-state { color:var(--violet); }
.application-timeline .talent-journey-step.is-not-reached .talent-journey-link { color:var(--muted); }
.interview-team { display:grid; gap:.5rem; margin:1rem 0; padding:1rem; border:1px solid var(--line); border-radius:var(--app-radius); }
.interview-team legend { padding:0 .35rem; font-weight:700; }
.interview-team { min-width:0; }
.interview-team > p { margin:0; }
.interview-team-count { color:var(--text); font-size:.8rem; font-weight:700; }
.interview-team-trigger { justify-self:start; }
.interview-team-panel { display:grid; gap:.5rem; min-width:0; }
.interview-team-status { margin:0; }
.interview-team-warning { color:var(--error); }
.interview-team-selected { display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; list-style:none; }
.interview-team-selected li { min-width:0; max-width:100%; }
.interview-team-chip { display:inline-flex; align-items:center; justify-content:space-between; gap:.65rem; min-height:44px; max-width:100%; padding:.45rem .7rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); background:var(--lavender-pale); color:var(--text); font:600 .82rem var(--body); text-align:left; cursor:pointer; }
.interview-team-chip > span:first-child { min-width:0; overflow-wrap:anywhere; }
.interview-team-chip-cross { flex:none; font-size:1.15rem; }
.interview-team-chip:hover { border-color:var(--violet); }
.interview-team-chip.is-unavailable { border-color:var(--error); }
.interview-team-search { display:grid; gap:.4rem; margin-top:.25rem; }
.interview-team-search label { font-size:.82rem; font-weight:600; }
.interview-team-search-controls { display:flex; gap:.5rem; align-items:center; min-width:0; }
.interview-team-search-controls input { min-width:0; width:100%; min-height:44px; flex:1; font-size:1rem; }
.interview-team-options { display:grid; gap:0; max-height:19.5rem; min-width:0; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:var(--app-radius); scrollbar-gutter:stable; }
.interview-team-member { display:flex; align-items:center; gap:.65rem; min-height:3.15rem; min-width:0; margin:0; padding:.6rem .75rem; font-size:.85rem; cursor:pointer; border-bottom:1px solid var(--line); }
.interview-team-member:last-child { border-bottom:0; }
.interview-team-member:hover,.interview-team-member:focus-within { background:var(--lavender-pale); }
.interview-team-member:has(input:checked) { background:var(--lavender-pale); }
.interview-team-member:has(input:disabled:not(:checked)) { opacity:.6; cursor:default; }
.interview-team-member input { width:1.1rem; height:1.1rem; flex:none; }
.interview-team-member-copy { display:grid; min-width:0; overflow-wrap:anywhere; line-height:1.45; }
.interview-team-member-email { color:var(--muted); font-size:.8rem; }
.interview-team-empty { margin:0; padding:1rem; }
.interview-team-pagination { display:flex; gap:.5rem; align-items:center; }
.interview-team-pagination > span { margin-right:auto; }
.interview-team [hidden] { display:none; }
.interview-team button:focus-visible,.interview-team input:focus-visible { outline:2px solid var(--violet); outline-offset:2px; }
body[data-app-scope] .record.is-not-selected .record-header .status { border-color:var(--error-line); background:var(--error-soft); color:var(--error); }
.record .application-outcome-note { margin:1rem 0 0; padding:.85rem 1rem; border-left:3px solid var(--error); background:var(--error-soft); color:var(--text); font-size:.83rem; line-height:1.55; }
@keyframes journey-step-in { to { opacity:1; transform:translateY(0); } }
@keyframes journey-line-in { to { transform:scaleX(1); } }
@keyframes journey-line-in-vertical { to { transform:scaleY(1); } }
@keyframes journey-current-in { from { transform:scale(.72); } to { transform:scale(1); } }
@media(max-width:1100px) {
  .talent-journey-timeline { grid-template-columns:1fr; }
  .talent-journey-step { display:grid; grid-template-columns:2.25rem minmax(0,1fr); gap:1rem; padding:0 0 1rem; }
  .talent-journey-step::before,.talent-journey-step::after { top:2.25rem; left:1.08rem; width:2px; height:calc(100% - 1.15rem); }
  .talent-journey-step::after { transform:scaleY(0); transform-origin:top; }
  .talent-journey-step.is-complete::after { animation-name:journey-line-in-vertical; }
  .talent-journey-marker { grid-column:1; margin:0; }
  .talent-journey-link { grid-column:2; min-height:0; padding:.75rem 1rem; text-align:left; }
}
@media(max-width:640px) { .talent-journey-heading { align-items:start; } .journey-gate { min-height:22rem; margin:1.5rem 0 0; } }
@media(prefers-reduced-motion:reduce) { .talent-journey-step,.talent-journey-step::after,.talent-journey-step.is-current .talent-journey-marker { opacity:1; transform:none; animation:none!important; } }
.talent-page.is-gated > :is(.app-journey-actions,.talent-toolbar,.talent-applications-section) { display:none; }

/* Employer search entry and the sections of an individual Need. */
body[data-app-scope=member] .page-heading:has(#need-primary-action) { align-items:center; flex-wrap:wrap; }
.page-heading:has(#need-primary-action) > div { flex:1; }
.need-empty-state { padding:clamp(2rem,6vw,5rem) 1.5rem; text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--app-radius); }
.need-empty-state h2 { margin:0 0 .75rem; }
.need-empty-state p { max-width:44ch; margin:0 auto; }
.find-talent-dialog { width:min(680px,calc(100% - 2rem)); }
.need-entry-choices { display:grid; gap:1rem; margin-top:1.5rem; }
.need-entry-choice { display:block; padding:1.25rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); color:var(--text); text-decoration:none; }
a.need-entry-choice:hover { background:var(--lavender-pale); border-color:var(--violet); }
.need-entry-choice h3 { margin:0 0 .5rem; font-size:1rem; }
.need-entry-choice p { margin:0; color:var(--muted); font-size:.875rem; line-height:1.5; }
.need-section-nav,.engagement-section-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0; padding-bottom:1rem; border-bottom:1px solid var(--line-strong); }
.engagement-list-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:1.25rem; }
.engagement-list-summary .engagement-summary-link { display:grid; justify-content:start; align-content:center; gap:.1rem; min-height:72px; padding:.7rem .9rem; text-align:left; }
.engagement-summary-link strong { font:700 1.25rem var(--display); line-height:1.1; }
.engagement-summary-link span { font-size:.8rem; }
.engagement-summary-link small { color:var(--muted); font-size:.72rem; font-weight:500; }
.need-section-nav a,.engagement-section-nav a { display:flex; align-items:center; min-height:44px; padding:.65rem .85rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); background:var(--surface); color:var(--muted); text-decoration:none; font-size:.8rem; font-weight:700; }
.need-section-nav a:hover,.engagement-section-nav a:hover { color:var(--violet); border-color:var(--violet); }
.need-section-nav a[aria-current=page],.engagement-section-nav a[aria-current=page] { background:var(--violet); border-color:var(--violet); color:white; }
.need-section-panel > h2 { margin:0 0 .5rem; font-size:1.4rem; }
.need-section-panel > p { margin:0 0 1.5rem; }
@media(max-width:640px) { .page-heading:has(#need-primary-action) > div { flex-basis:100%; } .need-section-nav,.engagement-section-nav { gap:.4rem; } .need-section-nav a,.engagement-section-nav a { flex:1 0 auto; justify-content:center; } .engagement-list-summary { grid-template-columns:minmax(0,1fr); } }
/* Repeatable controlled choices: usable with keyboard and on narrow screens. */
.choice-list { min-width: 0; margin: 0; padding: 0; border: 0; }
.choice-list legend { margin-bottom: 8px; font-weight: 600; }
.choice-rows { display: grid; gap: 8px; }
.choice-row { display: flex; align-items: center; gap: 8px; }
.choice-row select { flex: 1; min-width: 0; width: 100%; }
.choice-row .button { flex: none; }
.choice-list > .button { justify-self: start; margin-top: 8px; }
.choice-list small { display: block; margin-top: 8px; }
.field[hidden] { display: none !important; }
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.availability-preferences{border:0;border-top:1px solid var(--line);padding:1.5rem 0 0;margin:1.5rem 0 0}.availability-preferences legend{font-family:var(--font-display);font-size:1.05rem;font-weight:800;padding-right:1rem}.location-rows{display:grid;gap:.75rem;margin-top:1rem}.location-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(135px,1fr)) auto;gap:.65rem;align-items:center}.location-row .button{min-width:44px}.availability-preferences.preference-check-group{display:grid;gap:.55rem}.availability-preferences .preference-check-list{margin-top:.45rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.availability-preferences .preference-check-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:3.5rem;padding:.45rem .7rem;border-bottom:1px solid var(--line);transition:background-color 160ms ease-out}.availability-preferences .preference-check-row:last-child{border-bottom:0}.availability-preferences .preference-check-row.is-preferred{background:var(--violet-pale)}.availability-preferences .preference-check-option{display:flex;min-width:0;min-height:44px;align-items:center;gap:.65rem;color:var(--text);cursor:pointer;font-size:.82rem;font-weight:700}.availability-preferences .preference-check-option input{width:1.25rem;height:1.25rem;min-height:1.25rem;flex:0 0 auto;margin:0;accent-color:var(--violet)}.availability-preferences .preference-preferred-action{min-height:44px;padding:.55rem .75rem;border:1px solid var(--line-strong);border-radius:var(--app-radius);background:var(--surface);color:var(--muted);cursor:pointer;font:700 .75rem var(--font-ui);white-space:nowrap}.availability-preferences .preference-preferred-action:hover:not(:disabled){border-color:var(--violet);color:var(--violet)}.availability-preferences .preference-preferred-action[aria-pressed=true]{border-color:var(--violet);background:var(--violet);color:var(--white)}.availability-preferences .preference-preferred-action:disabled{cursor:not-allowed;opacity:.45}.compliance-form>.status{margin-bottom:1rem}
.availability-conditional-grid,.compensation-preferences .form-grid{margin-top:.85rem}.compensation-preferences>.small{max-width:70ch}
@media(max-width:900px){.location-row{grid-template-columns:1fr 1fr}.location-row .location-remove{justify-self:start}}
@media(max-width:640px){.availability-preferences .preference-check-row,.location-row{grid-template-columns:1fr}.availability-preferences .preference-preferred-action{justify-self:start}}
.app-whats-new{margin:0 0 1.25rem;padding:.875rem 1rem;border:1px solid var(--line);border-radius:var(--app-radius);background:var(--surface)}
.app-whats-new h2,.app-whats-new h3{margin:0 0 .85rem;font-size:1.1rem}
.app-update-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.app-update-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.375rem .75rem;padding:.25rem 0;border-top:1px solid var(--line);min-width:0}
.app-update-row:first-child{border-top:0}
.app-update-entry{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:.5rem .875rem;min-height:64px;min-width:0;padding:.5rem .375rem;border-radius:var(--app-radius);color:var(--text);list-style:none;text-align:left}
a.app-update-entry:hover,.app-update-group>summary:hover{background:var(--surface-subtle)}
.app-update-entry:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.app-update-entry::-webkit-details-marker{display:none}
.app-update-copy{display:grid;gap:.125rem;min-width:0;overflow-wrap:anywhere}
.app-update-name{font:650 .875rem/1.45 var(--font-ui)}
.app-update-description{color:var(--muted);font:400 .8125rem/1.45 var(--font-ui)}
.app-update-description:empty{display:none}
.app-update-entry>time{color:var(--muted);font-size:.72rem;line-height:1.5;white-space:nowrap}
.app-update-entry>.app-navigation-cue{grid-column:3;color:var(--muted)}
.app-update-group{min-width:0;margin:0;padding:0;border:0}.app-update-group>summary{cursor:pointer}
.app-update-group[open]>summary>.app-navigation-cue{transform:rotate(90deg)}
.app-update-changes{list-style:none;margin:0 0 .375rem .75rem;padding:0 0 0 .75rem;border-left:1px solid var(--line)}
.app-update-changes .app-update-entry{min-height:48px}
.app-update-changes .app-update-name{font-size:.8125rem;font-weight:500}
.app-update-dismiss{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.375rem .5rem;border:0;border-radius:var(--app-radius);background:transparent;color:var(--muted);font:600 .75rem/1.4 var(--font-ui);cursor:pointer}
.app-update-dismiss:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}
.app-update-dismiss:disabled{opacity:.6;cursor:wait}
.app-update-view[aria-busy=true]{opacity:.6;pointer-events:none}
@media(max-width:640px){.app-update-row{grid-template-columns:minmax(0,1fr)}.app-update-dismiss{justify-self:end}.app-update-entry{grid-template-columns:minmax(0,1fr) 16px;gap:.2rem .5rem}.app-update-entry>.app-navigation-cue{grid-column:2;grid-row:1/3}.app-update-entry>time{grid-column:1;grid-row:2}.app-update-changes{margin-left:.25rem;padding-left:.5rem}}
body[data-app-scope] .record.is-selected{background:#f7fbf8;border-color:#a9d2b7}
body[data-app-scope] .record.is-selected .record-header .status{border-color:#a9d2b7;background:#e7f4eb;color:#21603a}
body[data-app-scope] .record.is-not-selected{background:#fcf8f8;border-color:#dfbdc0}
body[data-app-scope] .record.is-not-selected .record-header .status{border-color:#dfbdc0;background:#f8e9eb;color:#923d46}
body[data-app-scope] .record-header .status svg{display:inline-block;width:.9rem;height:.9rem;margin-right:.35rem;vertical-align:-.15rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.candidate-profile-dialog{width:min(100% - 2rem,64rem);max-width:64rem;max-height:90dvh;overflow:auto;padding:0;border:1px solid var(--line);border-radius:var(--app-radius);background:var(--surface);color:var(--text);box-shadow:0 24px 72px rgb(19 8 35 / 22%)}
.candidate-profile-dialog::backdrop{background:rgb(19 8 35 / 56%)}
.candidate-profile-heading{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem 2rem;border-bottom:1px solid var(--line);background:var(--surface)}
.candidate-profile-heading .eyebrow{margin:0 0 .35rem}.candidate-profile-heading h2{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.candidate-profile-heading .muted{margin:.4rem 0 0}
.candidate-profile-heading .button{flex:none}.candidate-profile-body{display:grid;gap:1.5rem;padding:1.75rem 2rem 2rem}
.candidate-profile-gate{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.15rem;border:1px solid var(--accent-line);background:var(--violet-pale)}
.candidate-profile-gate svg{flex:none;width:1.25rem;height:1.25rem;fill:none;stroke:var(--violet);stroke-width:2}.candidate-profile-gate strong{font-size:.88rem}.candidate-profile-gate p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem}
.candidate-profile-location{margin:0;color:var(--muted);font-size:.85rem}.candidate-profile-section{margin:0;padding-top:1.25rem;border-top:1px solid var(--line)}
.candidate-profile-section h3{margin:0 0 1rem;font-size:1.03rem}.candidate-profile-section h4{margin:0 0 .35rem;font-size:.88rem}.candidate-profile-summary{max-width:75ch;margin:0;color:var(--text);font-size:.87rem;line-height:1.65;white-space:pre-line}
.candidate-profile-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0 1rem;padding:0;list-style:none}.candidate-profile-chips:last-child{margin-bottom:0}.candidate-profile-chips li{padding:.35rem .6rem;border:1px solid var(--line);background:var(--surface-subtle);font-size:.75rem;line-height:1.35}
.candidate-profile-entry{padding:0 0 1.2rem}.candidate-profile-entry+.candidate-profile-entry{padding-top:1.2rem;border-top:1px solid var(--line)}.candidate-profile-entry:last-child{padding-bottom:0}
.candidate-profile-entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.9rem}.candidate-profile-entry-identity{min-width:0}.candidate-profile-entry-heading h4{margin:0 0 .65rem;font-size:1rem}
.candidate-profile-company,.candidate-profile-period{margin:0}.candidate-profile-company strong{color:var(--text);font-size:.9rem;line-height:1.4}
.candidate-profile-period{flex:none;min-width:10rem;padding:.6rem .75rem;border:1px solid var(--line);background:var(--surface-subtle);text-align:center}.candidate-profile-period strong{color:var(--text);font-size:.82rem;line-height:1.4}
.candidate-profile-responsibilities{display:grid;gap:.35rem;margin:.65rem 0;padding-left:1.1rem;font-size:.82rem;line-height:1.55}.candidate-profile-contact{padding-top:1.25rem;border-top:1px solid var(--line)}
.candidate-profile-preview{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.5rem;padding:1.2rem 1.4rem;border:1px solid var(--line);background:var(--surface-subtle)}
.candidate-profile-preview-copy{min-width:0}.candidate-profile-preview .eyebrow{margin:0 0 .25rem}.candidate-profile-preview h3{margin:0;font-size:1.03rem}.candidate-profile-preview-detail{margin:.4rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.candidate-profile-preview .button{flex:none}
.application-timeline { width:100%; max-width:none; margin-inline:0; container:application-progress / inline-size; }
.application-timeline .talent-journey-heading { justify-content:flex-start; margin-bottom:1.5rem; text-align:left; }
.application-timeline .talent-journey-heading h2 { margin:0; font-size:1.35rem; }
.application-timeline .talent-journey-link { min-height:0; padding:.75rem .5rem; }
.application-timeline .talent-journey-link strong { font-size:.875rem; }
.application-timeline .talent-journey-copy { font-size:.8125rem; overflow-wrap:anywhere; }
.application-timeline .talent-journey-state { font-size:.75rem; letter-spacing:.04em; }
.application-timeline .talent-journey-step.is-current .talent-journey-link { box-shadow:none; }
.application-timeline-outcome { display:flex; align-items:flex-start; gap:.75rem; margin-top:1.5rem; padding:1rem; border-radius:var(--app-radius); background:var(--error-soft); color:var(--error); }
.application-timeline-outcome > svg { flex:none; width:1.25rem; height:1.25rem; margin-top:.15rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.application-timeline-outcome strong { font-size:.875rem; }
.application-timeline-outcome p { margin:.25rem 0 0; color:var(--text); font-size:.875rem; }
.application-interviews { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.application-interviews h3 { margin:0 0 .75rem; font-size:1rem; }
.application-interview-rounds { margin:0; padding:0; list-style:none; }
.application-interview-round { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.5rem 1rem; padding:.875rem .75rem; border-top:1px solid var(--line); }
.application-interview-round:first-child { border-top:0; }
.application-interview-round.is-current { border-radius:var(--app-radius); background:var(--action-soft); }
.application-interview-detail { min-width:0; overflow-wrap:anywhere; }
.application-interview-detail strong { font-size:.875rem; }
.application-interview-detail p { margin:.25rem 0 0; color:var(--muted); font-size:.875rem; line-height:1.5; }
.application-interview-status { padding:.2rem .55rem; border-radius:var(--button-radius); background:var(--surface-subtle); color:var(--muted); font-size:.75rem; font-weight:700; }
.application-interview-status.is-complete { background:var(--success-bg); color:var(--success); }
.application-interview-status.is-pending { background:var(--surface); color:var(--action); }
.support-attachments{display:grid;justify-items:start;gap:.4rem;margin:1rem 0}.support-attachments strong{font-size:.75rem}.support-attachments .button{min-height:36px;padding:.3rem .6rem}
@media(max-width:1100px){.application-timeline .talent-journey-timeline{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;row-gap:0}.application-timeline .talent-journey-step{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:1rem;padding:0 0 1rem}.application-timeline .talent-journey-step::before,.application-timeline .talent-journey-step::after{top:2.25rem;left:1.08rem;width:2px;height:calc(100% - 1.15rem)}.application-timeline .talent-journey-step::after{transform:scaleY(0);transform-origin:top}.application-timeline .talent-journey-step.is-complete::after{animation-name:journey-line-in-vertical}.application-timeline .talent-journey-marker{grid-column:1;margin:0}.application-timeline .talent-journey-link{grid-column:2;min-height:0;text-align:left}}
@container application-progress (max-width:50rem) {
  .application-timeline .talent-journey-timeline { grid-template-columns:1fr; }
  .application-timeline .talent-journey-step { display:grid; grid-template-columns:2.25rem minmax(0,1fr); gap:1rem; padding:0 0 1rem; }
  .application-timeline .talent-journey-step::before,.application-timeline .talent-journey-step::after { top:2.25rem; left:1.08rem; width:2px; height:calc(100% - 1.15rem); }
  .application-timeline .talent-journey-step::after { transform:scaleY(0); transform-origin:top; }
  .application-timeline .talent-journey-step.is-complete::after { animation-name:journey-line-in-vertical; }
  .application-timeline .talent-journey-marker { grid-column:1; margin:0; }
  .application-timeline .talent-journey-link { grid-column:2; text-align:left; }
}
@container application-progress (max-width:25rem) {
  .application-interview-round { grid-template-columns:minmax(0,1fr); padding:.875rem .5rem; }
  .application-interview-status { justify-self:start; }
}
@media(max-width:640px){.candidate-profile-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.candidate-profile-heading{padding:1.1rem}.candidate-profile-body{padding:1.2rem;gap:1.25rem}.candidate-profile-entry-heading{flex-direction:column;gap:.75rem}.candidate-profile-period{width:100%;min-width:0}.candidate-profile-preview{align-items:stretch;flex-direction:column}.candidate-profile-preview .button{width:100%}}

body[data-app-scope=admin] :is(.app-admin-nav,.app-admin-footer-nav){gap:4px}
body[data-app-scope=admin] .app-admin-footer-nav{display:grid}
body[data-app-scope=admin] .app-admin-footer-nav :is(a,button){display:flex;align-items:center;width:100%;min-height:44px;padding:.65rem .75rem;border:0;border-radius:var(--app-radius);background:transparent;color:var(--on-dark);font:700 .78rem var(--font-ui);text-align:left;text-decoration:none;cursor:pointer}
body[data-app-scope=admin] .app-admin-footer-nav :is(a,button):hover{background:var(--ink-raised);color:white}
body[data-app-scope=admin] .app-admin-footer-nav [aria-current=page]{background:white;color:var(--ink)}
body[data-app-scope=admin] .app-admin-section-toggle{justify-content:space-between;gap:.5rem}
body[data-app-scope=admin] .app-admin-section-toggle::after{content:"";width:.4rem;height:.4rem;flex:none;margin-right:.2rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
body[data-app-scope=admin] .app-admin-section-toggle[aria-expanded=true]::after{transform:rotate(45deg)}
body[data-app-scope=admin] .is-current-section > .app-admin-section-toggle{color:white;background:var(--ink-raised)}
body[data-app-scope=admin] .app-admin-subnav{display:grid;gap:2px;margin:.2rem 0 .4rem .75rem;padding-left:.5rem;border-left:1px solid var(--line-on-dark)}
body[data-app-scope=admin] .app-admin-subnav[hidden]{display:none}
body[data-app-scope=admin] :is(.app-admin-nav,.app-admin-footer-nav) :is(a,button):focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.admin-record-actions{align-items:flex-start}.admin-more{position:relative;margin:0;border:0;padding:0}.admin-more>summary{list-style:none;cursor:pointer}.admin-more>summary::-webkit-details-marker{display:none}
.admin-more-menu{display:flex;flex-wrap:wrap;gap:.5rem;padding:.65rem 0;max-width:100%}.admin-more-menu .button{white-space:normal}
/* Organization directory: aligned summaries, with profiles and edits on demand. */
body[data-app-scope=admin] .organization-list { gap:0; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); }
body[data-app-scope=admin] .organization-list .organization-row {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(8rem,.7fr) auto auto; align-items:center; gap:1rem;
  min-height:64px; margin:0; padding:.5rem .75rem; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent;
}
body[data-app-scope=admin] .organization-list .organization-row:last-child { border-bottom:0; }
.organization-row .record-header { align-items:center; justify-content:flex-start; flex-wrap:nowrap; gap:.5rem; min-width:0; }
.organization-row .record-header > [data-update-anchor] { display:flex; align-items:center; gap:.25rem; min-width:0; }
.organization-row .app-record-update-menu { margin:0; padding:0; border:0; }
.organization-row .record-header h3 { min-width:0; margin:0; font:600 .9375rem/1.5 var(--font-ui); letter-spacing:normal; }
.organization-row .identity-image { width:32px; height:32px; font-size:.75rem; }
.organization-row-name { display:block; min-height:44px; align-content:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.organization-row-name:hover { text-decoration:none; }
.organization-row-owner { min-width:0; margin:0; color:var(--muted); font-size:.8125rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.organization-row-actions { display:flex; align-items:center; gap:.75rem; }
.organization-row-link { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); font-size:.8125rem; text-decoration:none; white-space:nowrap; }
body[data-app-scope=admin] .organization-row .organization-members-trigger { min-height:44px; padding:.25rem .5rem; border:0; border-radius:var(--app-radius); background:transparent; font-size:.8125rem; font-weight:500; white-space:nowrap; }
.organization-row .organization-members-trigger:hover,.organization-row-link:hover { color:var(--text); background:var(--surface-muted); }
.organization-row-more { flex:none; margin:0; padding:0; border:0; }
.organization-row-more > summary { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; border-radius:var(--app-radius); list-style:none; }
.organization-row-more > summary::-webkit-details-marker { display:none; }
.organization-row-more > summary svg { width:20px; height:20px; fill:currentColor; }
.organization-row-more > summary:hover,.organization-row-more[open] > summary { background:var(--surface-muted); }
.organization-row-menu { position:fixed; z-index:30; box-sizing:border-box; max-height:calc(100dvh - 1rem); overflow:auto; padding:.375rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); box-shadow:0 8px 24px var(--shadow); }
body[data-app-scope=admin] .organization-row-menu .button { display:flex; justify-content:flex-start; width:100%; min-height:44px; padding:.5rem .75rem; border:0; border-radius:var(--app-radius); background:transparent; font-size:.8125rem; font-weight:500; text-align:left; }
body[data-app-scope=admin] .organization-row-menu .button:hover:not(:disabled) { background:var(--surface-muted); }
@media(max-width:52rem) {
  body[data-app-scope=admin] .organization-list .organization-row { grid-template-columns:minmax(0,1fr) auto; gap:.125rem .5rem; }
  .organization-row .record-header { grid-column:1; grid-row:1; }
  .organization-row-owner { grid-column:1/-1; grid-row:2; padding-left:2.5rem; }
  .organization-row .organization-members-trigger { grid-column:1; grid-row:3; justify-self:start; margin-left:2rem; }
  .organization-row-actions { display:contents; }
  .organization-row-more { grid-column:2; grid-row:1; }
  .organization-row-link { grid-column:2; grid-row:3; justify-self:end; }
}
.admin-readiness{padding:1rem;margin:1rem 0;background:var(--surface-subtle);border:1px solid var(--line)}
.admin-readiness h4{margin:0 0 .5rem}.admin-readiness ul{margin:0;padding-left:1.25rem}.admin-readiness li{margin:.35rem 0}
.admin-list-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.admin-list-controls .field{flex:1;min-width:170px}.admin-list-controls .field input,.admin-list-controls .field select{width:100%}
.admin-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem 0}.admin-pagination p{margin:0;color:var(--muted);font-size:.85rem}
.admin-pagination .actions{margin:0}.admin-list-controls .button,.admin-pagination .button{min-height:40px}
@media(max-width:900px){body[data-app-scope=admin] .rail,body[data-app-scope=admin] .admin-rail{overflow:visible}.admin-list-controls .field{min-width:0;flex-basis:100%}}

/* Admin directories: common headers, labeled filters, records and list navigation. */
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) { --recruiting-warning:#92400e; --recruiting-warning-bg:#fffbeb; --recruiting-warning-line:#fcd34d; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) [hidden] { display:none!important; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.workspace-heading,.page-heading) { align-items:center; gap:1rem; margin-bottom:1.25rem; padding-bottom:1.25rem; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.workspace-heading,.page-heading) h1 { margin:0; font-size:2rem; }
body[data-recruiting=talent] .workspace-heading-actions { margin-left:auto; }
body[data-recruiting=talent] .workspace-summary { display:none; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.pipeline-toolbar,.publication-toolbar,.recruiting-filters) { display:grid; align-items:end; gap:.75rem; margin:0 0 1rem; padding:0; }
body[data-recruiting=talent] .pipeline-toolbar { grid-template-columns:minmax(16rem,2fr) repeat(4,minmax(8rem,1fr)); }
body[data-recruiting=matches] .recruiting-filters { grid-template-columns:minmax(16rem,2fr) minmax(12rem,1fr) auto; }
body[data-recruiting=talent] :is(.search-control,.filter-control) { display:grid; grid-template-columns:minmax(0,1fr); align-content:start; gap:.4rem; padding:0; background:transparent; border:0; box-shadow:none; }
body[data-recruiting=talent] .search-control { grid-column:auto; }
body[data-recruiting=talent] .search-control svg { display:none; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.filter-control span,.search-control span,.publication-toolbar label,.recruiting-filters .field>span) { font-size:.8rem; font-weight:700; line-height:1.4; text-transform:none; letter-spacing:0; color:var(--text); }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.pipeline-toolbar,.publication-toolbar,.recruiting-filters) :is(input,select) { width:100%; height:44px; min-height:44px; padding:.65rem .75rem; border:1px solid var(--line-strong); border-radius:var(--app-radius); font:400 1rem var(--font-ui); background:var(--surface); }
body[data-recruiting=talent] :is(.search-control input,.filter-control select):focus-visible { outline:3px solid var(--violet-bright); outline-offset:3px; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) .recruiting-clear { margin:0 0 1rem; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) .matching-filter-panel { margin-top:0; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.records,.publication-list) { display:grid; gap:.75rem; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.record,.publication-card) { margin:0; border-radius:var(--app-radius); padding:1.25rem; min-width:0; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.record-header,.publication-copy) { min-width:0; overflow-wrap:anywhere; }
body[data-recruiting=matches] .record-header h3 { font-size:1.1rem; }
body[data-recruiting=matches] .recruiting-record .facts { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin:.75rem 0 0; }
body[data-recruiting=matches] .recruiting-record .facts dt { font-size:.72rem; }
body[data-recruiting=matches] .recruiting-record .facts dd { font-size:.85rem; }
body[data-recruiting=matches] .recruiting-record .admin-record-actions { margin-top:1rem; }
body[data-recruiting=matches] .record.application-row { display:grid; grid-template-columns:minmax(17rem,1.1fr) minmax(16rem,1.65fr) minmax(7rem,.65fr) auto; align-items:center; gap:1rem; min-height:80px; padding:.625rem 1rem; }
.application-candidate { display:flex; align-items:center; gap:.625rem; min-width:0; }
.application-candidate .identity-image { flex:none; }
.application-candidate-copy { display:flex; flex-wrap:wrap; align-items:center; gap:.125rem .5rem; min-width:0; font-size:.875rem; line-height:1.4; }
.application-candidate-copy > .app-record-link { min-width:0; overflow-wrap:anywhere; }
.application-opportunity { min-width:0; }
body[data-recruiting=matches] .application-opportunity h3 { margin:0; font:600 .875rem/1.4 var(--font-ui); letter-spacing:0; text-wrap:initial; }
.application-organization,.application-next-step { margin:.125rem 0 0; color:var(--muted); font-size:.75rem; line-height:1.4; }
.application-state .status { font-size:.75rem; line-height:1.4; }
body[data-recruiting=matches] .recruiting-record .application-row-actions { align-items:center; flex-wrap:nowrap; gap:.625rem; margin:0; }
body[data-recruiting=matches] .application-row-actions > .button { white-space:nowrap; }
.candidate-actions { align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:.375rem; }
.candidate-actions > .button { min-width:0; padding-inline:.625rem; }
.candidate-actions .admin-more { flex:none; margin-left:auto; }
.candidate-actions .admin-more > summary { display:flex; align-items:center; gap:.375rem; min-height:44px; padding:.5rem .375rem; border:0; border-radius:var(--app-radius); background:transparent; color:var(--text); font:650 .8125rem/1.4 var(--font-ui); white-space:nowrap; }
.candidate-actions .admin-more > summary:hover { background:var(--surface-muted); }
.candidate-actions .admin-more > summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.candidate-actions-cue { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transform:rotate(90deg); }
.candidate-actions .admin-more[open] .candidate-actions-cue { transform:rotate(-90deg); }
.candidate-actions .admin-more-menu { display:block; position:fixed; z-index:25; width:min(18rem,calc(100vw - 2rem)); max-height:calc(100dvh - 1rem); overflow:auto; padding:.375rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--app-radius); box-shadow:0 8px 24px var(--shadow); }
.candidate-actions .admin-more-menu .button { display:flex; width:100%; min-height:44px; justify-content:flex-start; padding:.625rem .75rem; margin:0; border:0; border-radius:var(--app-radius); background:transparent; color:var(--text); font:550 .875rem/1.4 var(--font-ui); text-align:left; white-space:normal; }
.candidate-actions .admin-more-menu .button:hover { background:var(--surface-muted); }
.candidate-actions .admin-more-menu .button:focus-visible { outline:2px solid var(--focus); outline-offset:-2px; }
.candidate-actions .admin-more-menu .button.danger { color:var(--danger); }
.candidate-destructive-actions { margin-top:.375rem; padding-top:.375rem; border-top:1px solid var(--line); }
@media(max-width:1100px) { body[data-recruiting=matches] .record.application-row { grid-template-columns:minmax(10rem,1fr) minmax(12rem,1.5fr) minmax(6rem,.65fr) auto; gap:.625rem; } }
@media(max-width:900px) {
  body[data-recruiting=matches] .record.application-row { grid-template-columns:minmax(0,1fr); grid-template-areas:"candidate" "opportunity" "status" "actions"; gap:.375rem .75rem; padding:.5rem .75rem; }
  .application-candidate { grid-area:candidate; }.application-opportunity { grid-area:opportunity; }.application-state { grid-area:status; }.application-row-actions { grid-area:actions; }
}
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.empty,.publication-empty,.ledger-state) { margin:0; padding:2rem 1.25rem; border:1px solid var(--line); border-radius:var(--app-radius); background:var(--surface); color:var(--muted); text-align:left; }
body[data-recruiting=talent] .ledger-state-mark { display:none; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.notice.error,.publication-feedback[data-error=true],.loading-error) { padding:1rem; border:1px solid var(--error-line); border-radius:var(--app-radius); background:var(--error-bg); color:var(--error); }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.notice.error,.publication-feedback[data-error=true]) button { margin:.5rem 0 0 .5rem; }

body[data-app-scope=admin] .recruiting-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem 1rem; margin:1rem 0; padding:1rem 0 0; border-top:1px solid var(--line); }
body[data-app-scope=admin] .recruiting-pagination [data-page-range] { flex:1 1 auto; margin:0; color:var(--muted); font-size:.8rem; font-variant-numeric:tabular-nums; }
body[data-app-scope=admin] .recruiting-pagination-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; margin-left:auto; }
body[data-app-scope=admin] .recruiting-page-size { display:flex; align-items:center; gap:.5rem; color:var(--muted); font-size:.8rem; font-weight:500; white-space:nowrap; }
body[data-app-scope=admin] .recruiting-page-size select { width:5rem; height:44px; min-height:44px; padding:.5rem; font:400 .85rem var(--font-ui); }
body[data-app-scope=admin] .recruiting-page-controls { display:flex; align-items:center; gap:.75rem; }
body[data-app-scope=admin] .recruiting-page-controls .admin-button { width:auto; flex:none; min-height:44px; padding:.6rem .85rem; font:700 .8rem var(--font-ui); line-height:1.4; white-space:nowrap; }
body[data-app-scope=admin] .recruiting-pagination [data-page-status] { color:var(--muted); font-size:.8rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) .recruiting-result-count { margin:0 0 1rem; color:var(--muted); font-size:.8rem; }

body[data-recruiting=calendar] .calendar-event.is-confirmed { background:var(--lavender); border-color:var(--violet); color:var(--text); }
body[data-recruiting=calendar] .calendar-event.is-offered { background:var(--violet-pale); border-color:var(--violet); color:var(--text); }
body[data-recruiting=calendar] :is(.calendar-event,.calendar-month-item).is-preparing { background:var(--recruiting-warning-bg); border-color:var(--recruiting-warning-line); color:var(--recruiting-warning); }
body[data-recruiting=calendar] .calendar-event:focus-visible { outline-color:var(--violet-bright); }
body[data-recruiting=calendar] .calendar-agenda { background:var(--surface-subtle); scrollbar-color:var(--line-strong) var(--surface-subtle); }
body[data-recruiting=calendar] .calendar-legend-item::before { background:var(--violet); }
body[data-recruiting=calendar] .calendar-legend-item.is-offered::before { background:var(--lavender); border:1px dashed var(--violet); }
body[data-recruiting=calendar] .calendar-legend-item.is-preparing::before { background:var(--recruiting-warning-line); }
body[data-recruiting=calendar] .calendar-agenda-item:hover { background:var(--violet-pale); }
body[data-recruiting=calendar] .calendar-agenda-item.is-preparing .calendar-agenda-status { color:var(--recruiting-warning); }
body[data-recruiting=calendar] .calendar-month-item { background:var(--lavender); color:var(--text); }
body[data-recruiting=calendar] .calendar-month-item.is-offered { background:var(--violet-pale); border-color:var(--violet); }
body[data-recruiting=calendar] :is(.planner-navigation,.planner-views) { gap:.5rem; }
body[data-recruiting=calendar] :is(.planner-navigation,.planner-views) .button { min-height:44px; padding:.6rem .85rem; }

@media(max-width:80rem) {
  body[data-recruiting=talent] .pipeline-toolbar { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body[data-recruiting=talent] .search-control { grid-column:1/-1; }
}
@media(max-width:44rem) {
  body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.workspace-heading,.page-heading) h1 { font-size:1.75rem; }
  body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) :is(.pipeline-toolbar,.publication-toolbar,.recruiting-filters) { grid-template-columns:minmax(0,1fr); }
  body[data-app-scope=admin]:is([data-recruiting],[data-admin-page=users]) .recruiting-filters .field { min-width:0; margin:0; }
  body[data-app-scope=admin] .recruiting-pagination [data-page-range] { flex-basis:100%; }
  body[data-app-scope=admin] .recruiting-pagination-tools { width:100%; margin-left:0; gap:.5rem; }
  body[data-app-scope=admin] .recruiting-page-controls { gap:.5rem; margin-left:auto; }
  body[data-app-scope=admin] .recruiting-page-controls .admin-button { padding-inline:.65rem; }
  body[data-recruiting=calendar] :is(.planner-navigation,.planner-views) { width:100%; }
  body[data-recruiting=calendar] :is(.planner-navigation,.planner-views) .button { flex:1; }
}
.activity-record-focus{outline:2px solid var(--violet);outline-offset:3px}

/* Public brand carried into operational components, without changing their layout. */
body[data-app-scope] { font-synthesis:none; }
body[data-app-scope] ::selection { background:var(--lime); color:var(--ink); }
body[data-app-scope] :is(.button,.admin-button,.submit-button,.structured-add,.structured-remove,.app-bar-control) {
  transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
body[data-app-scope] :is(.button.secondary,.admin-button-quiet):hover:not(:disabled) {
  background:var(--surface-subtle); border-color:var(--ink); color:var(--ink);
}
body[data-app-scope] .button.text { color:var(--action); border-color:var(--line-strong); }
body[data-app-scope] :is(input[type=checkbox],input[type=radio]) { accent-color:var(--action); }
body[data-app-scope] :is(input,textarea)::placeholder { color:var(--muted); opacity:1; }
body[data-app-scope] :is(input,select,textarea):focus-visible { outline-color:var(--focus); border-color:var(--action); }
body[data-app-scope] :is(.notice[data-tone=error],.notice[data-error=true],.notice.error) {
  background:var(--error-bg); color:var(--error); border-color:var(--error-line);
}
body[data-app-scope] .notice[data-tone=success] {
  background:var(--success-bg); color:var(--success); border-color:var(--success-line);
}
body[data-app-scope] :is(.empty,.empty-opportunities,.publication-empty,.ledger-state) { border-color:var(--line-strong); }

/* Selected navigation uses lime as a surface so its labels retain strong contrast. */
body[data-app-scope=admin] :is(.app-admin-nav,.app-admin-footer-nav) :is(.is-active,[aria-current=page]),
.app-member-nav a[aria-current=page],
body[data-app-scope=member] :is(.employer-nav,.rail nav) a[aria-current=page],
.app-context-nav a[aria-current=page] { background:var(--lime); color:var(--ink); }
body[data-app-scope=admin] .is-current-section > .app-admin-section-toggle { color:var(--lime); }
body[data-app-scope=member] .employer-nav a[aria-current=page] > span { color:var(--ink); }
body[data-app-scope=admin] [aria-current=page] .app-admin-update-dot { box-shadow:0 0 0 2px var(--lime); }
:is(.app-member-rail,.admin-rail,.rail,.auth-intro,.app-context-bar) :focus-visible,
body[data-app-scope=admin] :is(.app-admin-nav,.app-admin-footer-nav) :is(a,button):focus-visible {
  outline-color:var(--lime);
}
.app-page-context { font-family:var(--font-display); font-size:1.2rem; letter-spacing:-.025em; }

/* One centered lime mark above the existing wordmark on all signed-in rails. */
.app-context-brand,
body[data-app-scope=admin] :is(.admin-brand-rail,.rail > .brand) {
  position:relative; aspect-ratio:1231 / 456;
}
.app-context-brand img,
body[data-app-scope=admin] :is(.admin-brand-rail,.rail > .brand) img {
  width:100%; height:100%; object-fit:contain; clip-path:inset(50% 0 0);
}
.app-context-brand::after,
body[data-app-scope=admin] :is(.admin-brand-rail,.rail > .brand)::after {
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:17.5%; aspect-ratio:776 / 833; background:url('/assets/images/asterisk-lime.png') center / contain no-repeat;
  pointer-events:none;
}

/* Member access shares the light public header and a quiet, two-part account panel. */
body.membership-page > .site-header { background:var(--surface); color:var(--ink); border-color:var(--line); }
body.membership-page > .site-header .brand-wordmark { filter:brightness(0); }
body.membership-page > .site-header nav a:hover { color:var(--lime-dark); }
body.membership-page .auth-layout { border-radius:24px; overflow:hidden; border-color:var(--line); }
body.membership-page .auth-intro { background:var(--ink); }
body.membership-page .auth-intro :is(.eyebrow,.join-steps li > span) { color:var(--lime); }
body.membership-page .auth-intro > p:not(.eyebrow),
body.membership-page .join-steps p { color:var(--on-dark); }
body.membership-page .join-steps li { border-color:var(--line-on-dark); }
body.membership-page .auth-card { border-radius:0; }
body.membership-page .auth-role-switch { border-radius:var(--button-radius); border-color:var(--line); background:var(--surface-subtle); }
body.membership-page .auth-role-switch button { border-radius:var(--button-radius); }
body.membership-page .auth-role-switch button[aria-pressed=true] { background:var(--ink); color:var(--white); border-color:var(--ink); box-shadow:none; }
body.membership-page .auth-role-switch button:hover:not([aria-pressed=true]) { background:var(--surface-muted); color:var(--ink); }
/* Account actions keep their label centered independently of decorative arrows. */
body[data-app-scope] .auth-action { position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-width:0; min-height:48px; padding:.75rem calc(36px + 1em); text-align:center; overflow-wrap:anywhere; }
body[data-app-scope] .auth-action > [aria-hidden=true] { position:absolute; inset-block:0; inset-inline-end:20px; display:flex; align-items:center; pointer-events:none; }
body[data-app-scope] .auth-action.is-loading::before { position:absolute; inset-block:0; inset-inline-start:20px; margin-block:auto; margin-inline:0; }

/* Private access uses the same wordmark, form treatments and display face. */
html:has(> body.admin-login-page), body.admin-login-page { min-width:320px; }
body.admin-login-page { background:var(--paper); }
body.admin-login-page .login-shell { padding:min(1.5rem,24px); }
body.admin-login-page .login-panel { border-radius:24px; box-shadow:0 16px 48px var(--shadow); }
body.admin-login-page .login-form-wrap { padding:min(2.25rem,36px); }
body.admin-login-page .login-form { min-width:0; grid-template-columns:minmax(0,1fr); }
body.admin-login-page .login-form > input { min-width:0; width:100%; }
body.admin-login-page .login-logo { position:relative; display:block; width:7.8rem; height:auto; aspect-ratio:1231 / 456; background:transparent; margin-bottom:2rem; }
body.admin-login-page .login-logo .brand-wordmark { width:100%; height:100%; object-fit:contain; clip-path:inset(50% 0 0); filter:brightness(0); }
body.admin-login-page .login-logo .brand-star { position:absolute; width:17.5%; height:auto; top:0; left:50%; transform:translateX(-50%); }
body.admin-login-page .login-submit { min-height:48px; }
body.admin-login-page .password-control { border-radius:var(--app-radius); overflow:hidden; }
body[data-app-scope=admin] :is(.record,.publication-card) { border-radius:var(--app-radius); }
body[data-app-scope] .metric { border-radius:var(--app-radius); }
body[data-app-scope=member] :is(.talent-journey,.journey-gate,.verification-panel) { border-radius:var(--panel-radius); }

/* Role-detail actions sit on ink; their filled action uses the public lime CTA. */
body[data-app-scope] .role-detail-hero { border-radius:var(--panel-radius); }
body[data-app-scope] .role-detail-hero h2 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.1; }
body[data-app-scope] .role-detail-hero .role-detail-header-actions .button.primary {
  background:var(--lime); color:var(--ink); border-color:var(--lime);
}
body[data-app-scope] .role-detail-hero .role-detail-header-actions .button.primary:hover {
  background:color-mix(in srgb,var(--lime) 75%,var(--white)); border-color:var(--lime);
}
body[data-app-scope] .role-detail-hero .role-detail-header-actions .button.secondary {
  background:transparent; color:var(--white); border-color:var(--muted-on-dark);
}
body[data-app-scope] .role-detail-hero .role-detail-header-actions .button.secondary:hover {
  background:var(--ink-raised); color:var(--white); border-color:var(--white);
}
body[data-app-scope] .role-detail-hero :focus-visible { outline-color:var(--lime); }

@media(prefers-reduced-motion:reduce) {
  body[data-app-scope] :is(.button,.admin-button,.submit-button,.structured-add,.structured-remove,.app-bar-control) { transition:none; }
}
