/* C655 initial-flow visual system.
   Brand teal owns structure and interaction. Red/amber/blue/purple/green remain
   reserved for business meaning such as errors, warnings, information and status. */
:root {
  --if-brand-900: #083f42;
  --if-brand-800: #0b5054;
  --if-brand-700: #0f5f63;
  --if-brand-600: #14767a;
  --if-brand-100: #d7efec;
  --if-brand-050: #eaf7f5;
  --if-canvas: #f4faf9;
  --if-surface: #ffffff;
  --if-surface-subtle: #f7fbfa;
  --if-surface-hover: #d7efec;
  --if-surface-active: #c2e3df;
  --if-text-strong: #173b39;
  --if-text: #294b49;
  --if-text-muted: #5b7472;
  --if-border-subtle: #d4e7e4;
  --if-border-default: #a8cbc7;
  --if-border-control: #568c89;
  --if-focus-ring: 0 0 0 2px #fff, 0 0 0 5px #0f5f63;
  --if-shadow-sm: 0 4px 12px rgba(15, 95, 99, .08);
  --if-shadow-md: 0 12px 30px rgba(15, 95, 99, .12);
  --if-shadow-lg: 0 24px 64px rgba(15, 95, 99, .18);
  --if-overlay: rgba(8, 63, 66, .55);

  /* Compatibility tokens consumed by the inherited trial-production styles. */
  --bg: var(--if-canvas);
  --bg-soft: var(--if-brand-050);
  --panel: rgba(255, 255, 255, .94);
  --panel-strong: var(--if-surface);
  --ink: var(--if-text-strong);
  --muted: var(--if-text-muted);
  --line: var(--if-border-subtle);
  --line-strong: var(--if-border-control);
  --cyan: var(--if-brand-600);
  --cyan-soft: rgba(20, 118, 122, .1);
  --orange: var(--if-brand-600);
  --orange-dark: var(--if-brand-700);
  --shadow: var(--if-shadow-lg);
}

html { color-scheme: light; }

body {
  color: var(--if-text-strong);
  background:
    radial-gradient(circle at 8% 4%, rgba(42, 157, 152, .13), transparent 27%),
    radial-gradient(circle at 91% 6%, rgba(20, 118, 122, .09), transparent 25%),
    linear-gradient(180deg, #fbfefd 0%, var(--if-canvas) 52%, #edf7f5 100%);
}

body::before,
.station-body::before {
  opacity: .62;
  background-image:
    linear-gradient(rgba(20, 118, 122, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 118, 122, .045) 1px, transparent 1px);
}

.problem-topbar h1,
.summary-head strong,
.issue-list-heading h3,
.person-stat-head strong,
.mobile-welcome strong,
.mobile-own-heading h2 { color: var(--if-text-strong); }

.problem-topbar .eyebrow,
.issue-list-heading p,
.quick-create-kicker,
.mobile-welcome span,
.mobile-own-heading span { color: var(--if-brand-600); }

.problem-topbar .subline,
.summary-head small,
.empty-note,
.activity-placeholder { color: var(--if-text-muted); }

/* Authentication */
.auth-body {
  background:
    radial-gradient(circle at 8% 7%, rgba(42, 157, 152, .2), transparent 27%),
    radial-gradient(circle at 94% 10%, rgba(20, 118, 122, .12), transparent 26%),
    linear-gradient(145deg, #fbfefd, #eaf8f6);
}

.auth-body::before {
  background-image:
    linear-gradient(rgba(20, 118, 122, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 118, 122, .05) 1px, transparent 1px);
}

.auth-shell {
  background: rgba(255, 255, 255, .68);
  box-shadow: var(--if-shadow-lg);
}

.auth-intro .eyebrow,
.auth-card .eyebrow { color: var(--if-brand-600); }
.auth-intro h1,
.auth-card h2 { color: var(--if-text-strong); }
.auth-intro > p:not(.eyebrow),
.auth-help { color: var(--if-text-muted); }
.intro-tags span {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: rgba(255, 255, 255, .7);
}
.auth-card {
  border-color: var(--if-border-subtle);
  background: rgba(255, 255, 255, .93);
  box-shadow: var(--if-shadow-md);
}
.auth-mark {
  background: linear-gradient(145deg, var(--if-brand-600), var(--if-brand-700));
  box-shadow: 0 9px 18px rgba(15, 95, 99, .25);
}
.auth-card input {
  border-color: var(--if-border-control);
  color: var(--if-text-strong);
  background: var(--if-surface-subtle);
}
.auth-card input:focus {
  border-color: var(--if-brand-700);
  box-shadow: 0 0 0 3px rgba(15, 95, 99, .16);
}
.auth-card button {
  background: linear-gradient(90deg, var(--if-brand-600), var(--if-brand-700));
}
.auth-card button:hover {
  background: linear-gradient(90deg, var(--if-brand-700), var(--if-brand-800));
}

/* Shared surfaces */
.summary-card,
.work-advice-card,
.issue-panel,
.person-stat-card {
  border-color: var(--if-border-subtle);
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(242, 250, 249, .94));
  box-shadow: var(--if-shadow-md);
}

.total-card {
  border-color: var(--if-border-default);
  background: linear-gradient(145deg, #ffffff, #eaf7f5);
}

.summary-head span,
.activity-sidebar-heading > span,
.person-stat-head span {
  border-color: var(--if-border-default);
  color: var(--if-brand-600);
  background: rgba(234, 247, 245, .72);
}

.total-card::before {
  border-color: rgba(20, 118, 122, .07);
  box-shadow: 0 0 0 1px rgba(20, 118, 122, .05), 0 0 0 45px rgba(20, 118, 122, .028);
}

.total-card::after {
  background: linear-gradient(90deg,
    rgba(20, 118, 122, .12) 0 8%, transparent 8% 18%,
    rgba(20, 118, 122, .1) 18% 31%, transparent 31% 41%,
    rgba(20, 118, 122, .1) 41% 58%, transparent 58% 68%,
    rgba(20, 118, 122, .1) 68% 100%);
}

.overview-donut {
  background: conic-gradient(from -90deg, var(--if-brand-100) 0 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .92), 0 15px 28px rgba(15, 95, 99, .12);
}
.overview-donut::before {
  background: #fbfefd;
  box-shadow: inset 0 0 0 1px rgba(20, 118, 122, .14);
}
.overview-donut::after { border-color: rgba(20, 118, 122, .32); }
.donut-core span,
.donut-core small { color: var(--if-text-muted); }
.donut-core strong { color: var(--if-brand-700); }

.overview-total-metrics span {
  border-color: var(--if-border-subtle);
  background: rgba(255, 255, 255, .75);
}
.overview-total-metrics small { color: var(--if-text-muted); }
.overview-total-metrics b { color: var(--if-brand-700); }
/* Overdue remains a semantic danger state. */
.overview-total-metrics span:last-child {
  border-color: rgba(193, 84, 62, .22);
  background: rgba(255, 244, 239, .8);
}
.overview-total-metrics span:last-child b { color: #a94436; }

.category-summary-item:not([class*="category-"]) {
  --tile-border: var(--if-border-subtle);
  --tile-bg: var(--if-surface-subtle);
  --tile-text: var(--if-text-muted);
  --tile-number: var(--if-brand-700);
}

/* Header controls */
.welcome-user {
  border-color: var(--if-border-control);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}

.admin-user-button {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
}
.admin-user-button:hover { background: var(--if-brand-700); }

.admin-reset-button,
.admin-manager-button,
.logout-button {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}
.admin-reset-button:hover,
.admin-manager-button:hover,
.logout-button:hover {
  border-color: var(--if-brand-700);
  color: #fff;
  background: var(--if-brand-700);
}
/* Password reset invalidates a user's sessions, so it remains an explicit warning. */
.admin-reset-button {
  border-color: rgba(169, 101, 24, .38);
  color: #8c5317;
  background: #fff7e8;
}
.admin-reset-button:hover {
  border-color: #a96518;
  color: #fff;
  background: #a96518;
}

/* Activity workspace */
.work-advice-card {
  border-color: var(--if-border-default);
  background: linear-gradient(125deg, #fff, #eff9f7);
}
.work-advice-card::before {
  background:
    repeating-linear-gradient(90deg, transparent 0 13px, rgba(20, 118, 122, .11) 13px 15px),
    linear-gradient(180deg, transparent 0 43%, rgba(20, 118, 122, .1) 43% 45%, transparent 45%);
}
.advice-actions li {
  border-left-color: var(--if-border-default);
  color: var(--if-text);
  background: rgba(234, 247, 245, .72);
}
.advice-actions li::before { background: var(--if-brand-600); }
.activity-card .summary-head,
.activity-card .activity-sidebar {
  border-right-color: var(--if-border-subtle) !important;
  border-bottom-color: var(--if-border-subtle) !important;
  background: linear-gradient(180deg, rgba(247, 251, 250, .98), rgba(234, 247, 245, .9)) !important;
}
.activity-card .activity-sidebar-heading,
.activity-card .activity-sidebar-heading > strong { color: var(--if-text-strong); }
.activity-card .activity-sidebar-heading > span { color: var(--if-brand-600); }
.activity-card .activity-sidebar-heading > small,
.activity-card .summary-head > small { color: var(--if-text-muted); }
.activity-card .summary-head > strong { color: var(--if-text-strong); }

.activity-tabs { border-bottom-color: var(--if-border-subtle); }
.activity-tabs button,
.activity-card .activity-tabs button:nth-child(1),
.activity-card .activity-tabs button:nth-child(2),
.activity-card .activity-tabs button:nth-child(3) {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}
.activity-tabs button b,
.activity-card .activity-tabs button:nth-child(1) b,
.activity-card .activity-tabs button:nth-child(2) b,
.activity-card .activity-tabs button:nth-child(3) b {
  color: var(--if-brand-700);
  background: var(--if-brand-100);
}
.activity-tabs button:hover { border-color: var(--if-brand-600); background: var(--if-brand-050); }
.activity-tabs button.is-active,
.activity-card .activity-tabs button:nth-child(1).is-active,
.activity-card .activity-tabs button:nth-child(2).is-active,
.activity-card .activity-tabs button:nth-child(3).is-active {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
}
.activity-tabs button.is-active b,
.activity-card .activity-tabs button:nth-child(1).is-active b,
.activity-card .activity-tabs button:nth-child(2).is-active b,
.activity-card .activity-tabs button:nth-child(3).is-active b {
  color: var(--if-brand-700);
  background: #fff;
}

.activity-card[data-activity-tab="closures"] .advice-body {
  background: linear-gradient(135deg, rgba(255, 255, 255, .97), rgba(241, 249, 248, .82));
}
/* Review and duplicate-review keep their established information colors. */
.activity-card .activity-tabs button:nth-child(2) {
  border-color: rgba(39, 117, 133, .28);
  color: #276f7e;
  background: #edf9fa;
}
.activity-card .activity-tabs button:nth-child(2) b { color: #276f7e; background: #dff3f6; }
.activity-card .activity-tabs button:nth-child(2).is-active {
  border-color: #277585;
  color: #fff;
  background: #277585;
}
.activity-card .activity-tabs button:nth-child(2).is-active b { color: #276f7e; background: #fff; }
.activity-card[data-activity-tab="reviews"] .advice-body {
  background: linear-gradient(135deg, rgba(248, 254, 255, .97), rgba(233, 247, 249, .78));
}
.activity-card .activity-tabs button:nth-child(3) {
  border-color: rgba(112, 71, 149, .28);
  color: #704795;
  background: #f6f0fc;
}
.activity-card .activity-tabs button:nth-child(3) b { color: #704795; background: #ece0fa; }
.activity-card .activity-tabs button:nth-child(3).is-active {
  border-color: #704795;
  color: #fff;
  background: #704795;
}
.activity-card .activity-tabs button:nth-child(3).is-active b { color: #704795; background: #fff; }
.activity-card[data-activity-tab="reserved"] .advice-body {
  background: linear-gradient(135deg, rgba(253, 251, 255, .97), rgba(244, 237, 252, .78));
}
.activity-filter-row { color: var(--if-text-muted); }
.activity-filter-row select {
  border-color: var(--if-border-control);
  color: var(--if-text);
  background: var(--if-surface);
}
.activity-item {
  border-bottom-color: var(--if-border-subtle);
  color: var(--if-text);
}
.activity-item > b,
.activity-item strong { color: var(--if-brand-700); }
.activity-item p,
.activity-item.review > span,
.activity-close-copy small { color: var(--if-text-muted); }
.activity-empty { color: var(--if-text-muted); }
.activity-review-actions button {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}
.activity-review-actions button:last-child,
.activity-review-toolbar button {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
  box-shadow: var(--if-shadow-sm);
}
.activity-expand-toggle {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface);
  box-shadow: var(--if-shadow-sm);
}
.activity-expand-toggle:hover { background: var(--if-brand-050); }

/* Quick action card: dark brand surface, white action button. */
.quick-create-card {
  border-color: var(--if-brand-600);
  background: linear-gradient(135deg, var(--if-brand-600), var(--if-brand-700)) !important;
  box-shadow: 0 16px 34px rgba(8, 63, 66, .22);
}
.quick-create-card::before,
.quick-create-orbit {
  border-color: rgba(215, 239, 236, .17);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 0 0 42px rgba(215, 239, 236, .07);
}
.quick-create-content > p { color: rgba(255, 255, 255, .92); }
.quick-create-content .create-issue-card-button,
.create-issue-card-button {
  border-color: #fff !important;
  color: var(--if-brand-700) !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 8px 18px rgba(8, 63, 66, .18) !important;
}
.quick-create-content .create-issue-card-button:hover,
.create-issue-card-button:hover { background: #fff !important; }
.quick-create-content .push-monitor-button,
.push-monitor-button {
  border-color: rgba(255, 255, 255, .72);
  color: #fff;
  background: rgba(8, 63, 66, .38);
}
.quick-create-content .quick-export-button,
.quick-export-button {
  border-color: rgba(255, 255, 255, .72);
  color: #fff;
  background: rgba(8, 63, 66, .38);
}
.quick-create-content .quick-export-button:hover,
.quick-export-button:hover { background: rgba(8, 63, 66, .55); }
.quick-create-vehicle {
  filter: saturate(.62) brightness(1.12) contrast(.94) !important;
}

/* Issue-list workspace */
.issue-panel {
  border-color: var(--if-border-subtle);
  background: rgba(255, 255, 255, .9);
}
.save-state { color: var(--if-brand-600); }
.issue-list-module {
  border-color: var(--if-border-subtle);
  background: linear-gradient(100deg, rgba(255, 255, 255, .99), rgba(241, 249, 248, .94));
  box-shadow: var(--if-shadow-sm);
}
.issue-list-module:hover,
.issue-list-module.is-open,
.issue-list-module.is-pinned {
  border-color: var(--if-border-default);
  box-shadow: var(--if-shadow-md);
}
.issue-list-module:hover:not(.is-open) {
  border-color: var(--if-border-default);
  background: linear-gradient(100deg, rgba(255, 255, 255, .99), rgba(241, 249, 248, .94));
  box-shadow: var(--if-shadow-sm);
}
.issue-list-heading p { color: var(--if-brand-600); }
.issue-list-heading h3 { color: var(--if-text-strong); }
.issue-list-heading span {
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.list-pin {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface);
}
.list-pin:hover,
.issue-list-module.is-pinned .list-pin {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
  box-shadow: 0 5px 12px rgba(15, 95, 99, .2);
}

.issue-table-wrap { background: var(--if-surface-subtle); }
.issue-table th {
  border-color: var(--if-border-subtle);
  color: var(--if-text);
  background: rgba(239, 248, 247, .98);
}
.issue-table td {
  border-color: var(--if-border-subtle);
  color: var(--if-text);
  background: rgba(255, 255, 255, .9);
}
.issue-table tr:nth-child(even) td { background: rgba(246, 251, 250, .94); }
.issue-table tr:hover td { background: rgba(215, 239, 236, .62); }
.issue-table .list-section td {
  color: var(--if-brand-700) !important;
  background: var(--if-brand-050) !important;
}
.issue-table .list-section.is-empty td {
  color: var(--if-text-muted) !important;
  background: var(--if-surface-subtle) !important;
}
.issue-table td:nth-child(5) .cell-editor { color: var(--if-text-strong); }
.cell-editor { color: var(--if-text); }
.cell-editor:hover,
.cell-editor:focus {
  border-color: var(--if-border-default);
  color: var(--if-text-strong);
  background: var(--if-brand-050);
  box-shadow: inset 0 0 0 1px rgba(20, 118, 122, .08);
}
.date-tag,
.problem-vehicle-pill {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.problem-vehicle-pill:hover { background: var(--if-brand-100); }
.header-filter,
.header-sort {
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.header-filter:hover,
.header-sort:hover { color: #fff; background: var(--if-brand-600); }

.history-search {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}
.history-search:focus-within {
  border-color: var(--if-brand-700);
  box-shadow: 0 0 0 3px rgba(15, 95, 99, .14);
}
.history-search span { color: var(--if-brand-600) !important; }
.history-search input { color: var(--if-text); }
.history-search input::placeholder { color: var(--if-text-muted); }

.vehicle-list-selector { color: var(--if-text-muted); }
.vehicle-list-selector select {
  border-color: var(--if-border-control);
  color: var(--if-text);
  background: var(--if-surface);
}
.vehicle-list-selector select:focus {
  border-color: var(--if-brand-700);
  box-shadow: 0 0 0 3px rgba(15, 95, 99, .14);
}

.filter-popover {
  border-color: var(--if-border-default);
  color: var(--if-text);
  background: var(--if-surface);
  box-shadow: var(--if-shadow-md);
}
.filter-popover-title { color: var(--if-brand-700); }
.filter-popover button {
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}

.image-button,
.monitor-add,
.history-export-button,
.export-button,
.lot-monitor-add,
.progress-add-button {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}
.image-button:hover,
.monitor-add:hover,
.history-export-button:hover,
.export-button:hover,
.lot-monitor-add:hover,
.progress-add-button:hover {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
}
.image-button span {
  border-color: var(--if-surface);
  color: #fff;
  background: var(--if-brand-700);
  box-shadow: 0 2px 6px rgba(8, 63, 66, .22);
}
.monitor-entry {
  border-color: var(--if-border-subtle);
  background: rgba(234, 247, 245, .56);
}
.vehicle-badge { color: var(--if-brand-700); }
.monitor-vehicle-add,
.image-upload-control {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
  box-shadow: var(--if-shadow-sm);
}
.monitor-vehicle-add:hover,
.image-upload-control:hover { background: var(--if-brand-700); }
.image-upload-control { overflow: hidden; }
.image-upload-control input {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.image-upload-control:has(input:focus-visible) {
  outline: 3px solid var(--if-brand-700);
  outline-offset: 2px;
  box-shadow: var(--if-focus-ring);
}
.progress-entry-toggle {
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.progress-entry-toggle:hover {
  color: #fff;
  background: var(--if-brand-600);
}

/* Status actions retain their meaning while using AA-safe dark endpoints. */
.close-issue,
.close-request-button,
.mobile-close-request,
.close-confirm-button,
.close-push-approve,
.mobile-lead-save {
  border-color: #237d50;
  color: #fff;
  background: linear-gradient(135deg, #237d50, #195f3b);
}
.mobile-progress-inquiry-card button,
.progress-inquiry-reply {
  color: #fff;
  background: #1f6f9e;
}
.lead-assignment-accept,
.lead-reassign-confirm {
  color: #fff;
  background: linear-gradient(135deg, #3e5da8, #304a89);
}
.factory-location-button {
  color: #fff;
  background: linear-gradient(135deg, #1674ad, #125d8b);
}
.map-share-accept {
  color: #fff;
  background: linear-gradient(135deg, #1f6f9e, #1c668f);
}
.progress-media-icon {
  color: #fff;
  background: #1f6f9e;
}
.mobile-category.待定,
.mobile-category[data-category-label="待定"] { color: #665a70; }
.category-select[data-category="待定"] { --tag-color: #665a70; }
.category-select[data-category="装配不到位"],
.category-select[data-category="虚焊"],
.category-select[data-category="桔皮"] { --tag-color: #75520f; }

.lead-rejection-action,
.lead-reassign-button {
  border-color: #744497;
  color: #fff;
  background: linear-gradient(135deg, #8255a5, #744497);
}
.history-anomaly-button.clearable:hover {
  border-color: #2a7e58;
  color: #fff;
  background: #2a7e58;
}
.monitor-recurrence-media:hover,
.monitor-recurrence-media b {
  color: #fff;
  background: #ad4337;
}
.factory-map-action.is-active {
  border-color: #1f6f9e;
  color: #fff;
  background: #1f6f9e;
}
#closeRejectDialog .close-confirm-button {
  border-color: #ad4337;
  color: #fff;
  background: linear-gradient(135deg, #ad4337, #8d3028);
}

/* Preserve established workflow colors on truly semantic dialogs. */
#closeRequestDialog .modal-shell,
#closeApprovalDialog .modal-shell {
  border-color: rgba(48, 142, 91, .38);
  background: linear-gradient(150deg, #fbfffc, #ecf8f1);
  box-shadow: 0 28px 70px rgba(27, 100, 64, .25);
}
.modal-shell.duplicate-review-form {
  border-color: rgba(130, 85, 180, .34);
  box-shadow: 0 20px 55px rgba(92, 55, 133, .23);
}

/* Supporting insight cards and people statistics */
.bottom-monitor-grid .summary-card::after {
  background: repeating-linear-gradient(90deg, rgba(20, 118, 122, .16) 0 5px, transparent 5px 13px);
}
.vehicle-bar,
.frequent-row { color: var(--if-text); }
.vehicle-bar > b { color: var(--if-brand-700); }
.monitor-legend { color: var(--if-text-muted); }
.vehicle-bar-track,
.frequent-bar { background: var(--if-brand-050); }
.vehicle-bar-stack,
.frequent-row { border-bottom-color: var(--if-border-subtle); }
.frequent-row > b {
  color: #fff;
  background: var(--if-brand-600);
}
.frequent-row em {
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.frequent-track { background: var(--if-brand-050); }

.person-stat-card,
.person-discoverer-card {
  border-color: var(--if-border-subtle);
  background: linear-gradient(135deg, #fff, #eff9f7);
}
.person-stat-head,
.person-discoverer-card .person-stat-head,
.person-category-legend,
.person-discoverer-card .person-category-legend { border-bottom-color: var(--if-border-subtle); }
.person-stat-head span,
.person-discoverer-card .person-stat-head span {
  border-color: var(--if-border-default);
  color: var(--if-brand-600);
}
.person-stat-head strong { color: var(--if-text-strong); }
.person-stat-head small,
.person-stat-head > b,
.person-discoverer-card .person-stat-head > b { color: var(--if-text-muted); }
.person-stat-row,
.person-discoverer-card .person-stat-row { border-color: var(--if-border-subtle); }
.person-rank,
.person-discoverer-card .person-rank {
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.person-stat-row > strong,
.person-orbit > strong,
.person-orbit-raiser > strong { color: var(--if-text-strong); }
.person-total small,
.person-orbit-ring small,
.person-orbit-categories { color: var(--if-text-muted); }
.person-total b,
.person-discoverer-card .person-total b,
.person-orbit-ring b { color: var(--if-brand-700); }
.person-orbit-ring {
  box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--if-border-default);
}
.person-orbit-ring::before,
.person-orbit-raiser .person-orbit-ring::before { background: #fbfefd; }
.person-orbit-categories em { color: var(--if-brand-600); }
.person-category-legend { background: rgba(234, 247, 245, .45); }
.person-category-legend span {
  border-color: var(--if-border-subtle);
  color: var(--if-text);
  background: rgba(255, 255, 255, .84);
}
.person-stat-list .empty-note { color: var(--if-text-muted); }
/* The discoverer view remains information-blue to distinguish it from lead ownership. */
.person-discoverer-card {
  border-color: rgba(50, 139, 178, .25);
  background: linear-gradient(135deg, #fff, #eef9fd);
}
.person-discoverer-card .person-stat-head,
.person-discoverer-card .person-category-legend { border-bottom-color: rgba(50, 139, 178, .18); }
.person-discoverer-card .person-stat-head span {
  border-color: rgba(50, 139, 178, .38);
  color: #266b8a;
  background: #e7f5fa;
}
.person-discoverer-card .person-stat-head > b { color: rgba(40, 121, 159, .7); }
.person-discoverer-card .person-category-legend { background: rgba(238, 249, 253, .65); }
.person-orbit-raiser > strong { color: #286a88; }

/* Dialogs and form controls */
.modal-shell {
  border-color: var(--if-border-default);
  color: var(--if-text-strong);
  background: var(--if-surface);
  box-shadow: 0 30px 90px rgba(8, 63, 66, .28);
}
dialog::backdrop { background: var(--if-overlay); backdrop-filter: blur(6px); }
.modal-heading { border-bottom-color: var(--if-border-subtle); }
.modal-heading h3 { color: var(--if-text-strong); }
.modal-heading p:last-child { color: var(--if-text-muted); }
.modal-close {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-surface-subtle);
}
.modal-close:hover { background: var(--if-brand-050); }

.create-form-grid span,
.user-form label > span,
.vehicle-form label > span,
.progress-media-upload span { color: var(--if-text); }
.create-form-grid input,
.create-form-grid textarea,
.create-form-grid select,
.user-form input,
.user-form select,
.vehicle-form input,
.progress-media-upload input,
.source-select {
  border-color: var(--if-border-control);
  color: var(--if-text-strong);
  background: var(--if-surface-subtle);
}
.auto-user-display {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.create-form-grid input[type=file]::file-selector-button {
  border-color: var(--if-border-default);
  color: var(--if-brand-700);
  background: var(--if-brand-050);
}
.create-form-grid input[type=file]::file-selector-button:hover {
  color: #fff;
  background: var(--if-brand-600);
}
.primary-button,
.factory-map-draft-confirm,
.factory-map-action.is-send {
  border-color: var(--if-brand-600);
  color: #fff;
  background: var(--if-brand-600);
}
.primary-button:hover,
.factory-map-draft-confirm:hover,
.factory-map-action.is-send:hover { background: var(--if-brand-700); }
.secondary-button {
  border-color: var(--if-border-default);
  color: var(--if-text);
  background: var(--if-surface-subtle);
}

.export-select-tools,
.export-filter-grid { border-color: var(--if-border-subtle); color: var(--if-text); background: rgba(234, 247, 245, .48); }
.export-select-tools span { color: var(--if-brand-600); }
.export-select-tools input,
.export-issue-option input,
.export-multiselect-menu input { accent-color: var(--if-brand-600); }
.export-issue-option {
  border-color: var(--if-border-subtle);
  color: var(--if-text);
  background: var(--if-surface-subtle);
}
.export-issue-option:hover { border-color: var(--if-border-default); background: var(--if-brand-050); }
.export-issue-option span { color: var(--if-brand-600); }
.export-filter-grid label,
.export-filter-grid > .export-filter-label { color: var(--if-text); }
.export-filter-grid select,
.export-multiselect summary {
  border-color: var(--if-border-control);
  color: var(--if-text);
  background: var(--if-surface);
}
.export-multiselect summary::after { color: var(--if-brand-600); }
.export-multiselect[open] summary,
.export-filter-grid select:focus { border-color: var(--if-brand-700); box-shadow: 0 0 0 3px rgba(15, 95, 99, .14); }
.export-multiselect-menu {
  border-color: var(--if-brand-600);
  background: var(--if-surface);
  box-shadow: var(--if-shadow-md);
}
.export-multiselect-menu > label { color: var(--if-text); }
.export-multiselect-menu > label:hover { background: var(--if-brand-050); }
.export-multiselect-menu button { color: var(--if-brand-700); background: var(--if-brand-050); }
.export-multiselect-menu button:hover { color: #fff; background: var(--if-brand-600); }
.export-progress { color: var(--if-brand-700); background: rgba(247, 251, 250, .94); }
.export-progress i { border-color: var(--if-border-subtle); border-top-color: var(--if-brand-600); }
.export-progress span { color: var(--if-text-muted); }

.progress-entry { color: var(--if-text); background: var(--if-surface-subtle); }
.progress-entry time { color: var(--if-brand-600); }
.progress-media-upload small,
.progress-empty { color: var(--if-text-muted); }

.quick-create-content .factory-map-shortcut {
  border-color: rgba(255, 255, 255, .72);
  color: #fff;
  background: rgba(8, 63, 66, .38);
}
.quick-create-content .factory-map-shortcut:hover { border-color: #fff; background: rgba(8, 63, 66, .55); }
.factory-map-shortcut small { color: rgba(255, 255, 255, .82); }
.factory-map-shortcut img { box-shadow: 0 3px 8px rgba(8, 63, 66, .28); }
.factory-map-dialog::backdrop,
.factory-map-send-dialog::backdrop { background: var(--if-overlay); }
.factory-map-shell {
  border-color: var(--if-border-default);
  background: var(--if-surface-subtle);
  box-shadow: 0 25px 70px rgba(8, 63, 66, .24);
}
.factory-map-frame img { border-color: var(--if-border-subtle); box-shadow: var(--if-shadow-md); }
.factory-map-send-form label { color: var(--if-text); }
.factory-map-send-form input {
  border-color: var(--if-border-control);
  color: var(--if-text-strong);
  background: var(--if-surface);
}
.factory-map-send-form input:focus {
  border-color: var(--if-brand-700);
  box-shadow: 0 0 0 3px rgba(15, 95, 99, .14);
}

/* Visible keyboard focus across inherited outline:0 controls. */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[role="textbox"]:focus-visible,
[contenteditable]:focus-visible,
.cell-editor:focus-visible,
.list-pin:focus-visible {
  outline: 3px solid var(--if-brand-700) !important;
  outline-offset: 2px;
  box-shadow: var(--if-focus-ring) !important;
}

/* Mobile workspace */
@media (max-width: 740px) {
  body {
    background:
      radial-gradient(circle at 15% 5%, rgba(42, 157, 152, .14), transparent 26%),
      linear-gradient(160deg, #f8fcfb, #eaf7f5 58%, #f5fbfa);
  }
  .mobile-welcome span,
  .mobile-own-heading span,
  .mobile-issue-card-head > span { color: var(--if-brand-600); }
  .mobile-desktop-note { color: var(--if-text-muted); }
  .mobile-welcome strong,
  .mobile-own-heading h2,
  .mobile-issue-card h3 { color: var(--if-text-strong); }
  .mobile-own-heading > b {
    color: var(--if-brand-700);
    background: var(--if-brand-100);
  }
  .mobile-create-issue {
    color: #fff;
    background: linear-gradient(135deg, var(--if-brand-600), var(--if-brand-700));
    box-shadow: 0 12px 23px rgba(8, 63, 66, .22);
  }
  .mobile-push-monitor {
    border-color: var(--if-border-default);
    color: var(--if-brand-700);
    background: var(--if-brand-050);
  }
  .mobile-push-monitor:hover { border-color: var(--if-brand-600); background: var(--if-brand-100); }
  .mobile-issue-card {
    border-color: var(--if-border-subtle);
    background: rgba(255, 255, 255, .92);
    box-shadow: var(--if-shadow-sm);
  }
  .mobile-issue-card dt { color: var(--if-text-muted); }
  .mobile-issue-card dd { color: var(--if-text); }
  .mobile-issue-card footer { border-top-color: var(--if-border-subtle); }
  .mobile-issue-card footer > span { color: var(--if-brand-600); }
  .mobile-issue-card footer button {
    border-color: var(--if-border-default);
    color: var(--if-brand-700);
    background: var(--if-surface-subtle);
  }
  .mobile-empty {
    border-color: var(--if-border-default);
    color: var(--if-text-muted);
    background: rgba(255, 255, 255, .7);
  }
  .mobile-description button {
    border-color: var(--if-border-default);
    color: var(--if-brand-700);
    background: var(--if-surface-subtle);
  }
  .mobile-monitor-summary {
    border-color: var(--if-border-subtle);
    background: rgba(234, 247, 245, .66);
  }
  .mobile-monitor-summary > span,
  .mobile-monitor-block > span,
  .mobile-edit-stack label > span { color: var(--if-brand-700); }
  .mobile-monitor-summary em,
  .mobile-monitor-tags em,
  .mobile-lead-save-tip { color: var(--if-text-muted); }
  .mobile-action-grid button {
    border-color: var(--if-border-subtle);
    color: var(--if-text);
    background: var(--if-surface-subtle);
  }
  .mobile-action-grid button:hover { border-color: var(--if-border-default); background: var(--if-brand-050); }
  .mobile-action-grid span { color: var(--if-text-muted); }
  .mobile-action-grid b { color: var(--if-text-strong); }
  .mobile-action-grid i { color: var(--if-brand-700); }
  .mobile-text-editor {
    border-color: var(--if-border-control);
    color: var(--if-text-strong);
    background: var(--if-surface);
  }
  .mobile-text-editor:empty::before { color: var(--if-text-muted); }
  .mobile-text-editor:focus {
    border-color: var(--if-brand-700);
    box-shadow: 0 0 0 3px rgba(15, 95, 99, .14);
  }
  .activity-card .activity-sidebar {
    border-bottom-color: var(--if-border-subtle) !important;
    background: transparent !important;
  }
  .modal-actions {
    border-top-color: var(--if-border-subtle);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 -8px 20px rgba(8, 63, 66, .08);
  }
  .create-issue-dialog { background: var(--if-canvas); }
  .quick-create-card {
    background: linear-gradient(135deg, var(--if-brand-600), var(--if-brand-700)) !important;
  }
  .quick-create-content .create-issue-card-button {
    color: var(--if-brand-700) !important;
    background: #fff !important;
  }
  .mobile-advice {
    border-left-color: var(--if-brand-600);
    color: var(--if-text);
    background: rgba(234, 247, 245, .86);
  }
}

/* v012 mobile issue index: all open issues first, searchable, with compact vehicle/lead metadata. */
@media(max-width:740px){
  .mobile-open-heading{margin-top:4px}
  .mobile-open-search{position:sticky;z-index:8;top:8px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;min-height:43px;padding:0 11px;border:1px solid var(--if-border-default);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(15,95,99,.11);backdrop-filter:blur(10px)}
  .mobile-open-search>span{color:var(--if-brand-700);font-size:15px;font-weight:950}
  .mobile-open-search input{width:100%;height:40px;padding:0 4px;border:0;outline:0;color:var(--if-text-strong);background:transparent;font-size:13px;font-weight:750}
  .mobile-open-search input::placeholder{color:var(--if-text-muted);font-weight:650}
  .mobile-open-search:focus-within{border-color:var(--if-brand-700);box-shadow:var(--if-focus-ring)}
  .mobile-open-issue-list{scroll-margin-top:62px}
  .mobile-compact-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:30px}
  .mobile-compact-meta-item{display:grid;min-width:0;min-height:30px;grid-template-columns:auto minmax(0,1fr) auto;gap:5px;align-items:center;margin:0;padding:4px 7px;border:1px solid var(--if-border-subtle);border-radius:8px;color:var(--if-text);background:var(--if-surface-subtle);text-align:left}
  button.mobile-compact-meta-item{cursor:pointer;touch-action:manipulation}
  button.mobile-compact-meta-item:hover{border-color:var(--if-border-default);background:var(--if-brand-050)}
  .mobile-compact-meta-item>span{color:var(--if-text-muted);font-size:8px;font-weight:850;white-space:nowrap}
  .mobile-compact-meta-item>b{overflow:hidden;color:var(--if-text-strong);font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
  .mobile-compact-meta-item>i{color:var(--if-brand-700);font-size:8px;font-style:normal;font-weight:950;white-space:nowrap}
  .mobile-issue-card dl{gap:6px}
  .mobile-issue-card dl div{gap:1px}
  .mobile-issue-card dt{font-size:9px}
  .mobile-issue-card dd{font-size:11px}
  .mobile-issue-card-open{gap:10px;padding:13px}
}
