/* Shared workspace finish. Kept inside the signed-in shell so the entrance
   scene, its motion and the login controls retain their own styling. */
.portal-shell {
  --bg:#0e0e0e;
  --panel:#141414;
  --surface:#1e1e1e;
  --hover:#292929;
  --line:#333333;
  --line-soft:#292929;
  --border:var(--line);
  --text:#f1f1f1;
  --muted:#b0b0b0;
  --faint:#979797;
  --accent:#c0c0c0;
  --accent-soft:#c0c0c011;
  --accent-line:#c0c0c045;
  --ui-review:#e8b36c;
  --ui-urgent:#f28b82;
  --ui-complete:#c6c6c6;
  --ui-control:40px;
  --ui-radius:9px;
  --ui-selected:linear-gradient(100deg,#c0c0c014,#c0c0c005);
  color:var(--text);
  background:var(--bg);
  font-size:14px;
  line-height:1.5;
  color-scheme:dark;
}
:root[data-theme="light"] .portal-shell {
  --bg:#f5f5f5;
  --panel:#fff;
  --surface:#f1f1f1;
  --hover:#e9e9e9;
  --line:#d6d6d6;
  --line-soft:#e6e6e6;
  --text:#272727;
  --muted:#606060;
  --faint:#717171;
  --accent:#666666;
  --accent-soft:#73737311;
  --accent-line:#73737347;
  --ui-review:#885015;
  --ui-urgent:#b43c34;
  --ui-complete:#616161;
  --ui-selected:linear-gradient(100deg,#73737312,#73737305);
  color-scheme:light;
}

/* A quiet, consistently aligned header gives the working pages more room. */
.portal-shell .portal-header {
  background:var(--bg);
  border-bottom-color:var(--line);
  box-shadow:0 1px 0 #0002;
}
.portal-shell .portal-header .portal-topbar {
  min-height:72px;
  padding-top:12px;
  padding-bottom:12px;
  gap:20px;
}
.portal-shell .portal-header .brand-title { font-weight:700; letter-spacing:-.35px; }
.portal-shell .portal-header .brand-subtitle { color:var(--muted); }
.portal-shell .portal-header .command-trigger {
  height:40px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  font-size:13px;
}
.portal-shell .portal-header .command-trigger kbd {
  border-color:var(--line);
  background:var(--surface);
  color:var(--muted);
  border-radius:4px;
}
.portal-shell .portal-header .portal-navigation { display:flex;align-items:center;gap:24px;padding:0 clamp(16px,2vw,40px); }
.portal-shell .portal-header .portal-nav { gap:24px;flex:1;min-width:0;width:auto;padding:0;margin:0; }
.portal-shell .portal-navigation .workspace-actions { flex:none;margin:0;padding:6px 0;gap:8px; }
.portal-shell .workspace-actions .btn { min-height:40px;text-decoration:none; }
.portal-shell .workspace-actions .workspace-pin { width:40px;min-width:40px;padding:0;display:grid;place-items:center; }
.portal-shell .workspace-pin svg { width:18px;height:18px; }
.portal-shell .workspace-pin[aria-pressed="true"] { color:var(--on-solid);background:var(--solid);border-color:var(--solid); }
.portal-shell .workspace-actions [aria-current="page"] { border-color:var(--text); }
.portal-shell .portal-nav .portal-nav-link {
  min-height:46px;
  padding:10px 2px 11px;
  font-size:13px;
  font-weight:600;
}
.portal-shell .portal-nav .portal-nav-link svg { display:block; width:17px; height:17px; }
.portal-shell .portal-nav .portal-nav-link.active { color:var(--accent); }
.portal-shell .portal-header .category-subnav { gap:7px; padding-top:7px; padding-bottom:7px; }
.portal-shell .category-subnav .category-subnav-link {
  min-height:38px;
  padding:8px 12px;
  border:1px solid transparent;
  border-radius:6px;
  font-size:12px;
  font-weight:550;
}
.portal-shell .category-subnav .category-subnav-link.active {
  color:var(--accent);
  border-color:var(--accent-line);
  background:var(--ui-selected);
}
.portal-shell .category-subnav .category-subnav-link:hover { background:var(--surface); color:var(--text); }
.portal-shell .main {
  width:100%;
  max-width:none;
  padding:24px clamp(16px,2vw,40px) 24px;
}
.portal-shell .main.home-main { padding-top:16px; }
.portal-shell .home-feed-heading { gap:12px; }
.portal-shell .home-feed-heading .home-toolbar { margin-left:auto; }
@media(max-width:1100px) { .portal-shell .home-toolbar time { display:none; } }
@media(max-width:1000px) {
  .portal-shell .portal-header .portal-navigation { flex-wrap:wrap;gap:0; }
  .portal-shell .portal-header .portal-nav { flex-basis:100%; }
  .portal-shell .portal-navigation .workspace-actions { margin-left:auto;padding:6px 0 10px; }
}

/* The title is the page anchor; explanations stay secondary to the controls. */
.portal-shell :is(.page-heading,.category-heading,.ops-heading,.staff-heading,.mod-heading,.server-heading,.personnel-heading,.profiles-heading) {
  gap:16px;
  margin-bottom:20px;
  align-items:center;
}
.portal-shell :is(.page-heading,.category-heading,.ops-heading,.staff-heading,.mod-heading,.server-heading,.personnel-heading,.profiles-heading) h1 {
  font-family:var(--font-ui,inherit);
  font-size:26px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:-.65px;
  color:var(--text);
}
.portal-shell :is(.page-heading,.category-heading,.ops-heading,.staff-heading,.mod-heading,.server-heading,.personnel-heading,.profiles-heading) p:not(.eyebrow) {
  margin-top:5px;
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.portal-shell :is(.ops-heading-actions,.mod-heading-actions,.profiles-actions,.heading-actions) { gap:8px; flex-wrap:wrap; }
.portal-shell :is(.panel-header,.server-card-heading) { min-height:58px; padding:14px 18px; }
.portal-shell .panel-header h2 { font-size:15px; font-weight:650; letter-spacing:-.15px; }
.portal-shell :is(.log-panel,.ops-records,.staff-records,.personnel-records,.server-records,.meeting-library,.meeting-detail) {
  border-color:var(--line);
  border-radius:var(--ui-radius);
  background:var(--panel);
  box-shadow:none;
}
.portal-shell .workspace-foot { padding-top:24px; color:var(--faint); }

/* Buttons have one recognisable size and a deliberate hierarchy. */
.portal-shell .btn {
  min-height:var(--ui-control);
  padding:9px 14px;
  gap:8px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface);
  color:var(--text);
  font-size:13px;
  line-height:1.4;
  font-weight:600;
  box-shadow:0 1px 1px #0001;
  transition:background 150ms ease,border-color 150ms ease,color 150ms ease,transform 150ms ease;
}
.portal-shell .btn svg { width:16px; height:16px; flex-shrink:0; }
.portal-shell .btn.primary {
  background:linear-gradient(180deg,#cfcfcf,#bababa);
  border-color:#cccccc;
  color:#252525;
  box-shadow:inset 0 1px 0 #fff3,0 1px 2px #0002;
}
.portal-shell .btn.danger {
  background:color-mix(in srgb,var(--ui-urgent) 9%,var(--panel));
  border-color:color-mix(in srgb,var(--ui-urgent) 35%,var(--line));
  color:var(--ui-urgent);
}
.portal-shell .btn.small { min-height:36px; padding:7px 11px; font-size:12px; }
.portal-shell .icon-btn {
  width:var(--ui-control);
  height:var(--ui-control);
  min-width:var(--ui-control);
  min-height:var(--ui-control);
  border-radius:7px;
  color:var(--muted);
}
.portal-shell .btn:disabled { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
.portal-shell :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.portal-shell :is(.search-wrap,.ops-search,.staff-search,.personnel-search,.server-search)>svg {
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  left:12px;
  color:var(--faint);
  pointer-events:none;
}
.portal-shell :is(.search-wrap,.ops-search,.staff-search,.personnel-search,.server-search) input {
  min-height:var(--ui-control);
  height:var(--ui-control);
  padding-top:9px;
  padding-bottom:9px;
  padding-left:36px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--bg);
  color:var(--text);
  font-size:13px;
  line-height:1.5;
  transition:border-color 150ms,box-shadow 150ms;
}
.portal-shell input::placeholder,.portal-shell textarea::placeholder { color:var(--faint); opacity:1; }
.portal-shell :is(.filter-select,.ops-toolbar select,.staff-toolbar select,.mod-toolbar select,.personnel-toolbar select,.purchase-toolbar select) {
  min-height:var(--ui-control);
  height:var(--ui-control);
  padding-top:8px;
  padding-bottom:8px;
  border:1px solid var(--line);
  border-radius:7px;
  font-size:13px;
  background:var(--bg);
  color:var(--text);
}
.portal-shell :is(.search-wrap,.ops-search,.staff-search,.personnel-search,.server-search) input:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}

/* Search, filters and record actions form one compact working surface. */
.portal-shell :is(.log-toolbar,.ops-toolbar,.staff-toolbar,.mod-toolbar,.personnel-toolbar,.purchase-toolbar,.server-record-toolbar) {
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-bottom-color:var(--line-soft);
}
.portal-shell :is(.log-toolbar,.ops-toolbar,.mod-toolbar,.personnel-toolbar) { flex-wrap:wrap; }
.portal-shell .log-toolbar>.btn,.portal-shell .log-toolbar-actions>.btn {
  min-height:var(--ui-control);
  font-size:13px;
  padding:9px 13px;
}
.portal-shell .log-toolbar-actions .density-toggle { min-height:var(--ui-control); }
.portal-shell .logtool-toolbar {
  padding:10px 16px;
  gap:10px;
  border-bottom-color:var(--line-soft);
  background:color-mix(in srgb,var(--surface) 38%,var(--panel));
}
.portal-shell :is(.staff-tabs,.profiles-filters,.purchase-tabs) { gap:4px; }
.portal-shell :is(.staff-tabs,.profiles-filters,.purchase-tabs) button {
  min-height:38px;
  padding:8px 12px;
  font-size:12px;
  border:1px solid transparent;
  border-radius:6px;
}
.portal-shell :is(.staff-tabs,.profiles-filters,.purchase-tabs) button[aria-pressed="true"] {
  background:var(--ui-selected);
  color:var(--accent);
  border-color:var(--accent-line);
}
.portal-shell .filter-chip { min-height:32px; padding:6px 9px; font-size:12px; border-radius:5px; }
.portal-shell :is(.log-summary,.staff-summary) { padding:10px 16px; font-size:12px; border-bottom-color:var(--line-soft); }
.portal-shell :is(.table-pagination,.ops-pagination) { padding:12px 16px; font-size:12px; border-top-color:var(--line-soft); }

/* Readable rows, rather than a separate large card for every record. */
.portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) th {
  font-family:var(--font-ui,inherit);
  font-size:12px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  line-height:1.5;
  color:var(--muted);
  background:color-mix(in srgb,var(--surface) 50%,var(--panel));
  border-bottom-color:var(--line);
}
.portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) td {
  font-size:13px;
  line-height:1.6;
  border-bottom-color:var(--line-soft);
}
.portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) tbody tr {
  transition:background 140ms ease;
}
.portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) tbody tr:hover {
  background:color-mix(in srgb,var(--accent) 4%,var(--panel));
}
.portal-shell .log-table :is(th,td):first-child { padding-left:16px; }
.portal-shell .log-table .table-member .user-label { font-size:13px; font-weight:600; }
.portal-shell .table-member .user-sub { font-size:11px; color:var(--faint); }
.portal-shell .table-member .avatar { width:32px; height:32px; }
.portal-shell .log-table tbody tr:is(.selected,.is-selected,[aria-selected="true"]) {
  background:var(--ui-selected);
  box-shadow:inset 3px 0 var(--accent);
}
.portal-shell .log-date { font-size:12px; font-variant-numeric:tabular-nums; }
.portal-shell .log-time { margin-top:2px; font-size:11px; color:var(--faint); }
.portal-shell .ops-snippet { -webkit-line-clamp:2; line-clamp:2; }
.portal-shell .ops-state,.portal-shell .personnel-badge,.portal-shell .purchase-badge,.portal-shell .staff-status,.portal-shell .mod-badge {
  font-size:11px;
  font-weight:550;
  line-height:1.5;
  border-radius:5px;
  padding:3px 7px;
}

/* Status colour means the same thing across every review queue. */
.portal-shell :is(.personnel-badge[data-state="unreviewed"],.personnel-badge[data-state="pending"],.personnel-badge[data-state="under_review"],.personnel-badge[data-state="follow_up"],.personnel-badge[data-state="submitted"],.personnel-badge[data-state="awaiting_reporter"],.ops-state[data-kind="attention"],.purchase-badge[data-status="review"]) {
  color:var(--ui-review);
  background:color-mix(in srgb,var(--ui-review) 9%,var(--panel));
  border:1px solid color-mix(in srgb,var(--ui-review) 32%,var(--line));
}
.portal-shell :is(.personnel-badge[data-state="action_required"],.purchase-badge[data-status="failed"],.purchase-badge[data-status="expired"]) {
  color:var(--ui-urgent);
  background:color-mix(in srgb,var(--ui-urgent) 9%,var(--panel));
  border:1px solid color-mix(in srgb,var(--ui-urgent) 32%,var(--line));
}
.portal-shell :is(.personnel-badge[data-state="satisfactory"],.personnel-badge[data-state="resolved"],.purchase-badge[data-status="renewed"],.purchase-badge[data-status="purchased"],.meeting-task[data-status="done"] .meeting-task-status) {
  color:var(--ui-complete);
  background:color-mix(in srgb,var(--ui-complete) 9%,var(--panel));
  border:1px solid color-mix(in srgb,var(--ui-complete) 28%,var(--line));
}
.portal-shell .logtool-flagged-row>td { background:color-mix(in srgb,var(--ui-review) 5%,transparent); }
.portal-shell .logtool-flagged-row>td:first-child { box-shadow:inset 3px 0 var(--ui-review); }
.portal-shell .logtool-cell>.logtool-record:not(.logtool-record-detail) .logtool-reasons:not([open]) {
  flex:0 1 auto;
  width:auto;
  max-width:100%;
}
.portal-shell .logtool-queue button:is([data-lt-workflow="flagged"],[data-lt-workflow="unreviewed"]) { color:var(--ui-review); }
.portal-shell .logtool-queue button:is([data-lt-workflow="flagged"],[data-lt-workflow="unreviewed"])[aria-pressed="true"] {
  background:color-mix(in srgb,var(--ui-review) 12%,var(--panel));
  border-color:color-mix(in srgb,var(--ui-review) 55%,var(--line));
  color:var(--ui-review);
}

/* Meetings retain their library/detail layout and a clearer selected record. */
.portal-shell .meeting-record { padding:15px 16px; gap:11px; border-top-color:var(--line-soft); }
.portal-shell .meeting-record strong { font-size:13px; line-height:1.5; }
.portal-shell .meeting-record small { font-size:12px; }
.portal-shell .meeting-record:is([aria-current="true"],[aria-selected="true"],.selected,.active) {
  background:var(--ui-selected);
  box-shadow:inset 3px 0 var(--accent);
}
.portal-shell .meeting-record:hover { background:var(--surface); }
.portal-shell .meeting-detail-head { padding:22px 24px; background:var(--ui-selected); }
.portal-shell .meeting-detail-head h2 { font-size:22px; font-weight:650; letter-spacing:-.4px; }
.portal-shell .meeting-tabs { gap:20px; padding:0 24px; }
.portal-shell .meeting-tabs button { min-height:44px; font-size:13px; }
.portal-shell :is(.meeting-empty,.meeting-summary-pending) { padding:44px 24px; }
.portal-shell :is(.preferences-panel,.staff-search-panel) { border-radius:var(--ui-radius); }
.portal-shell .preference-row { gap:20px; border-bottom-color:var(--line-soft); }

@media(min-width:761px) {
  .portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) th { padding:11px 16px; }
  .portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) td { padding:12px 16px; }
  body[data-density="compact"] .portal-shell :is(.log-table,.ops-table,.staff-table,.mod-table,.personnel-table,.profiles-directory-table,.server-table) td { padding-top:8px; padding-bottom:8px; }
}
@media(hover:hover) and (pointer:fine) {
  .portal-shell .btn:not(:disabled):hover { background:var(--hover); border-color:var(--faint); transform:translateY(-1px); }
  .portal-shell .btn.primary:not(:disabled):hover { color:#252525; background:linear-gradient(180deg,#d8d8d8,#c5c5c5); border-color:#dedede; }
  .portal-shell .btn.danger:not(:disabled):hover { color:var(--ui-urgent); background:color-mix(in srgb,var(--ui-urgent) 16%,var(--panel)); border-color:var(--ui-urgent); }
  .portal-shell .btn:not(:disabled):active { transform:translateY(0); }
}
@media(max-width:760px) {
  .portal-shell { --ui-control:44px; }
  .portal-shell .main { padding-top:20px; }
  .portal-shell :is(.page-heading,.ops-heading,.staff-heading,.mod-heading,.server-heading,.personnel-heading,.profiles-heading) { flex-wrap:wrap; align-items:flex-start; gap:12px; margin-bottom:18px; }
  .portal-shell :is(.page-heading,.category-heading,.ops-heading,.staff-heading,.mod-heading,.server-heading,.personnel-heading,.profiles-heading) h1 { font-size:24px; }
  .portal-shell .portal-header .portal-topbar { gap:10px; }
  .portal-shell .portal-header .portal-nav { gap:20px; }
  .portal-shell .portal-header .category-subnav { gap:5px; }
  .portal-shell .category-subnav .category-subnav-link { min-height:40px; }
  .portal-shell :is(.log-toolbar,.ops-toolbar,.staff-toolbar,.mod-toolbar,.personnel-toolbar,.purchase-toolbar,.server-record-toolbar) { padding:12px; gap:8px; }
  .portal-shell .logtool-toolbar { padding:10px 12px; }
  .portal-shell :is(.staff-tabs,.profiles-filters,.purchase-tabs) button { min-height:44px; }
  .portal-shell .meeting-detail-head { padding:20px; }
  .portal-shell .meeting-tabs { padding:0 20px; gap:16px; overflow-x:auto; }
  .portal-shell .meeting-tabs button { flex-shrink:0; }
}
@media(pointer:coarse) {
  .portal-shell { --ui-control:44px; }
  .portal-shell .btn.small,.portal-shell .category-subnav .category-subnav-link { min-height:44px; }
}

/* Existing page animations are replaced with a brief fade, without moving
   the content under the pointer. Reduced motion disables both old and new. */
@keyframes interface-reveal { from { opacity:.6; } to { opacity:1; } }
.portal-shell :is(.page-heading,.panel) { animation:interface-reveal 160ms ease-out; }
.portal-shell :is(.server-record-disclosure,.server-roster-row)[open]>.server-disclosure-body { animation:interface-reveal 140ms ease-out; }
@media(prefers-reduced-motion:reduce) {
  .portal-shell *,.portal-shell *::before,.portal-shell *::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* Monochrome workspace palette. The root override is present only while the
   authenticated shell exists, so detached dialogs match without touching login. */
:root:has(.portal-shell), .portal-shell {
  --bg:#090909;
  --panel:#101010;
  --surface:#191919;
  --hover:#242424;
  --line:#333;
  --line-soft:#242424;
  --border:var(--line);
  --text:#f5f5f5;
  --muted:#b9b9b9;
  --faint:#929292;
  --solid:#f5f5f5;
  --on-solid:#111;
  --accent:#eee;
  --accent-solid:#f5f5f5;
  --on-accent:#111;
  --accent-soft:#ffffff0a;
  --accent-line:#ffffff33;
  --ui-review:#e8b36c;
  --ui-urgent:#f28b82;
  --ui-complete:#bbb;
  --ui-selected:linear-gradient(180deg,#ffffff0f,#ffffff04);
}
:root[data-theme="light"]:has(.portal-shell),
:root[data-theme="light"] .portal-shell {
  --bg:#f7f7f7;
  --panel:#fff;
  --surface:#f0f0f0;
  --hover:#e7e7e7;
  --line:#d2d2d2;
  --line-soft:#e5e5e5;
  --text:#171717;
  --muted:#555;
  --faint:#686868;
  --solid:#171717;
  --on-solid:#fff;
  --accent:#222;
  --accent-solid:#171717;
  --on-accent:#fff;
  --accent-soft:#00000008;
  --accent-line:#00000030;
  --ui-review:#885015;
  --ui-urgent:#b43c34;
  --ui-complete:#555;
  --ui-selected:linear-gradient(180deg,#0000000a,#00000003);
}
.portal-shell .btn.primary,
.portal-shell .workspace-actions [data-new-case],
body:has(.portal-shell) :is(.drawer,.workspace-dialog,.install-panel) :is(.btn.primary,.install-primary) {
  color:var(--on-solid);
  background:var(--solid);
  border-color:var(--solid);
  box-shadow:0 1px 0 #ffffff12 inset;
}
.portal-shell .btn.primary:not(:disabled):hover,
.portal-shell .workspace-actions [data-new-case]:not(:disabled):hover,
body:has(.portal-shell) :is(.drawer,.workspace-dialog,.install-panel) :is(.btn.primary,.install-primary):not(:disabled):hover {
  color:var(--on-solid);
  background:color-mix(in srgb,var(--solid) 88%,var(--bg));
  border-color:var(--solid);
}
.portal-shell :is(.panel,.home-feed,.home-work-summary,.category-card) {
  background:linear-gradient(135deg,var(--panel),var(--bg));
  border-color:var(--line);
}
.portal-shell .portal-nav .portal-nav-link.active { color:var(--text); border-bottom-color:var(--text); }
.portal-shell .category-subnav .category-subnav-link.active { color:var(--text); background:var(--ui-selected); border-color:var(--line); }
.portal-shell :is(input[type="checkbox"],input[type="radio"],input[type="range"]) { accent-color:var(--solid); }
.portal-shell :is(.community-logo,.admin-logo,.home-community-logo),
.iv-portal-header .iv-brand img { filter:none; }
/* Small amber and red accents reserve colour for records that need attention.
   Labels, icons and edge markers still identify the state without colour. */
.portal-shell :is(.logtool-flag-chip,.home-feed-priority[data-priority="urgent"]) { font-weight:700; }
.portal-shell .logtool-flagged-row>td:first-child { box-shadow:inset 3px 0 var(--ui-review); }
.portal-shell .logtool-queue button:is([data-lt-workflow="flagged"],[data-lt-workflow="unreviewed"]):is(:hover,:focus-visible) {
  color:var(--ui-review);
  background:color-mix(in srgb,var(--ui-review) 16%,var(--panel));
  border-color:var(--ui-review);
  outline-color:var(--ui-review);
}
.portal-shell .logtool-flagged-row:is(:hover,:focus-within)>td {
  background:color-mix(in srgb,var(--ui-review) 12%,var(--panel));
}
:root:has(.portal-shell) .logtool-record[data-flagged="true"][data-reviewed="false"] .logtool-reasons>summary,
:root:has(.portal-shell) .logtool-record[data-flagged="true"][data-reviewed="false"] .logtool-reasons p strong {
  color:var(--ui-review);
}
:root:has(.portal-shell) .logtool-record[data-flagged="true"][data-reviewed="false"] .logtool-reasons>div {
  border-left-color:var(--ui-review);
  background:color-mix(in srgb,var(--ui-review) 6%,transparent);
}
:root:has(.portal-shell) .logtool-record[data-flagged="true"][data-reviewed="false"] :is(.logtool-review,.logtool-reasons>summary):is(:hover,:focus-visible) {
  color:var(--ui-review);
  background:color-mix(in srgb,var(--ui-review) 12%,var(--panel));
  outline-color:var(--ui-review);
}
:root:has(.portal-shell) :is(.staff-review,.staff-summary-review,.staff-summary-review strong,.purchase-flag,.incident-severity[data-severity="high"],.connection-card[data-state="attention"] .connection-state,.home-feed-card[data-priority="high"] .home-feed-priority,.notice-item[data-priority="important"] .notice-priority) {
  color:var(--ui-review);
}
:root:has(.portal-shell) :is(.incident-severity[data-severity="urgent"],.connection-card[data-state="offline"] .connection-state,.home-feed-card[data-priority="urgent"] .home-feed-priority,.notice-item[data-priority="urgent"] .notice-priority,.work-row[data-overdue="true"] .work-label b,[data-home-overdue]) {
  color:var(--ui-urgent);
}
.portal-shell .home-feed-card[data-priority="urgent"]::before { background:var(--ui-urgent); }
.portal-shell .home-feed-card[data-priority="urgent"] { border-color:color-mix(in srgb,var(--ui-urgent) 35%,var(--line)); }
.portal-shell .home-feed-card[data-priority="high"] { border-color:color-mix(in srgb,var(--ui-review) 25%,var(--line)); }
.portal-shell .home-feed-card[data-priority="urgent"] .home-feed-priority { border-color:color-mix(in srgb,var(--ui-urgent) 38%,var(--line)); }
.portal-shell .home-feed-card[data-priority="high"] .home-feed-priority { border-color:color-mix(in srgb,var(--ui-review) 38%,var(--line)); }
.portal-shell .work-row:has(.work-symbol[data-kind="log"]) .work-label { color:var(--ui-review); }
.portal-shell .work-row[data-overdue="true"] .work-symbol { color:var(--ui-urgent); background:color-mix(in srgb,var(--ui-urgent) 10%,var(--panel)); }
.portal-shell .work-row[data-overdue="true"]:is(:hover,:focus-visible) {
  background:color-mix(in srgb,var(--ui-urgent) 9%,var(--panel));
  outline-color:var(--ui-urgent);
}
.portal-shell .work-filters [data-work-filter="overdue"] { color:var(--ui-urgent); }
.portal-shell .work-filters [data-work-filter="overdue"]:is([aria-pressed="true"],:hover,:focus-visible) {
  color:var(--ui-urgent);
  background:color-mix(in srgb,var(--ui-urgent) 12%,var(--panel));
  border-color:var(--ui-urgent);
  outline-color:var(--ui-urgent);
}
.portal-shell :is(.staff-table,.personnel-table,.ops-table) tbody tr:has(:is(.staff-review,.personnel-badge[data-state="unreviewed"],.personnel-badge[data-state="pending"],.personnel-badge[data-state="under_review"],.personnel-badge[data-state="follow_up"],.personnel-badge[data-state="submitted"],.personnel-badge[data-state="awaiting_reporter"],.ops-state[data-kind="attention"])):is(:hover,:focus-within),
.portal-shell .purchase-row:has(.purchase-badge[data-status="review"])>summary:is(:hover,:focus-visible),
.portal-shell .work-row:has(.work-symbol[data-kind="log"]):is(:hover,:focus-visible) {
  background:color-mix(in srgb,var(--ui-review) 9%,var(--panel));
  outline-color:var(--ui-review);
}
.portal-shell .personnel-table tbody tr:has(:is(.personnel-badge[data-state="action_required"],.incident-severity[data-severity="urgent"])):is(:hover,:focus-within),
.portal-shell .purchase-row:has(:is(.purchase-badge[data-status="failed"],.purchase-badge[data-status="expired"]))>summary:is(:hover,:focus-visible) {
  background:color-mix(in srgb,var(--ui-urgent) 9%,var(--panel));
  outline-color:var(--ui-urgent);
}
:root:has(.portal-shell) :is(.error-state,.form-error,.meeting-error,.meeting-dialog-error,.mod-error,.notice-error,.personnel-form-error,.profiles-error,.purchase-error,.team-tool-error,.workspace-error) {
  color:var(--ui-urgent);
  border-color:color-mix(in srgb,var(--ui-urgent) 40%,var(--line));
}
:root:has(.portal-shell) :is(.meeting-warning,.staff-tracking-warning,.media-action-warning) {
  color:var(--ui-review);
  border-color:color-mix(in srgb,var(--ui-review) 35%,var(--line));
}
