/* Shared palette from the supplied reconciliation references. Keep layout in
   the feature stylesheets; every route and sign-in use these same colors. */
:root, body.workflow-mode {
  color-scheme: light;
  --bg: #ffffff;
  --sidebar: #0e1b2e;
  --panel: #ffffff;
  --panel-raised: #f7f9fd;
  --line: #e1e7f1;
  --line-soft: #edf1f7;
  --text: #111c36;
  --muted: #53627c;
  --dim: #63718e;
  --accent: #1455ff;
  --accent-hover: #0845e6;
  --accent-soft: #e3edff;
  --accent-border: #bdcfff;
  --success: #077a4c;
  --success-soft: #dcf5ea;
  --success-border: #a9e1c8;
  --danger: #d70e24;
  --danger-soft: #fff0f2;
  --danger-border: #ffbac4;
  --warning: #946108;
  --warning-soft: #fff1d8;
  --warning-border: #edcf99;
  /* Compatibility names used by the existing feature stylesheets. */
  --mint: var(--accent);
  --green: var(--success);
  --red: var(--danger);
  --amber: var(--warning);
}

::selection { background: var(--accent-soft); color: var(--text); }
body { background: var(--bg); }
input, select, textarea, progress { accent-color: var(--accent); }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 3px;
}
.skip-link { background: var(--accent); color: #fff; }
.breadcrumb strong, .alert-preview h3, .pipeline-step strong,
.audit-action, .normalization-field p, .evidence-hash { color: var(--text); }
.eyebrow, .metric-label, .attention-sub, .alert-preview p, .alert-meta,
.alert-meta strong, .address, .row-open, .page-footer, .footer-dot, .slash,
.integration-subtitle, .filter-controls select, .chart-tooltip span,
.movement-path > .path-arrow, .movement-path > span,
.timeline small, .rule-label code, .trust-principle > span {
  color: var(--muted);
}
.text-link, .case-id, .ingest-endpoint code { color: var(--accent); }
.destination svg { color: var(--success); }
.status-dot { box-shadow: none; }
.avatar, .top-avatar, .workflow-mode .top-avatar {
  background: #e7edf6; color: #26364f; border-color: #d6dfee;
}
.topbar, .workflow-mode .topbar { background: var(--panel); border-color: var(--line); }
.search-trigger, .workflow-mode .topbar .search-trigger {
  background: var(--panel); color: var(--muted); border-color: var(--line);
}
.search-trigger kbd, .workflow-mode .topbar .search-trigger kbd {
  background: var(--panel-raised); color: var(--muted); border-color: var(--line);
}
.period-switch, thead { background: var(--panel-raised); color: var(--muted); }
.period-switch .selected {
  background: var(--panel); color: var(--accent); box-shadow: 0 1px 3px #10254a18;
}
.demo-notice, .principle-panel, .normalization-flow, .normalization-note,
.role-card, .movement-path, .evidence-details pre, .rule-label code,
.normalization-field, .registry-confirm-addresses p, .consolidation-output {
  background: var(--panel-raised); border-color: var(--line); color: var(--muted);
}
.demo-label, .demo-notice button { color: var(--muted); }
.demo-notice > span:nth-child(2) { border-color: var(--line); }
.metric:first-child, .attention-panel, .pipeline, .security-card,
.ingest-metrics > div, .ingest-metrics > .ingest-metric-button {
  background: var(--panel);
}
.metric:last-child .metric-value { color: var(--danger); }
.subtle-tag { border-color: var(--line); color: var(--muted); }
.subtle-button, .workflow-mode .subtle-button {
  background: var(--panel); border-color: #ccd7e7; color: #3b4e70;
}
.subtle-button:hover { background: var(--panel-raised); }
.primary-button, .workflow-mode .primary-button {
  background: var(--accent); border-color: var(--accent); color: #fff;
  box-shadow: 0 2px 4px #1455ff18;
}
.primary-button:hover, .workflow-mode .primary-button:hover {
  background: var(--accent-hover); border-color: var(--accent-hover); filter: none;
}
.search-field:focus-within {
  border-color: var(--accent); box-shadow: 0 0 0 3px #1455ff12;
}
.case-row:hover, .alert-preview:hover { background: #f2f6ff; }
.chain-pills button.active, .ingest-metric-button:hover,
.ingest-metric-button[aria-pressed="true"] {
  background: var(--accent-soft); color: var(--accent); border-color: var(--accent-border);
}
.legend-line.comparison { background: #7e8da8; }
.chart-label { fill: var(--muted); }
.chart-gridline { stroke: var(--line); }
.chart-hover-line { stroke: var(--accent); }
.chart-tooltip {
  background: var(--panel); border-color: var(--line); color: var(--text);
  box-shadow: 0 8px 24px #10254a20;
}
.chart-change { color: var(--success); background: var(--success-soft); }
.metric-spark path, .volume-chart path[stroke]:not([stroke-dasharray]) { stroke: var(--accent); }
.volume-chart path[stroke-dasharray] { stroke: #7e8da8; }
.volume-chart stop { stop-color: var(--accent); }
#hover-circle { fill: var(--accent); stroke: var(--panel); }
.attention-count, .alert-symbol, .path-icon.unapproved,
.timeline .blocked .timeline-icon {
  background: var(--danger-soft); border-color: var(--danger-border); color: var(--danger);
}
.alert-preview, .attention-link { border-color: var(--line); }
.attention-link { color: var(--danger); }
.alert-symbol.warning, .badge.warning-badge, .security-orbit, .wf-status.attention {
  background: var(--warning-soft); border-color: var(--warning-border); color: var(--warning);
}
.pipeline-symbol, .path-icon, .integration-icon, .server-graphic,
.ingest-empty-icon, .auth-emblem, .role-badge {
  background: var(--accent-soft); border-color: var(--accent-border); color: var(--accent);
  box-shadow: none;
}
.pipeline-step:last-child .pipeline-symbol {
  background: var(--success); border-color: var(--success); color: #fff;
}
.pipeline-arrow, .principle-panel > svg, .ingest-metrics svg,
.normalization-flow i, .role-card h3 svg { color: var(--muted); }
.asset-symbol.btc { background: #ff950a; color: #fff; }
.asset-symbol.eth { background: #e8ecf4; color: #26364c; }
.asset-symbol.usdc { background: #2775ca; color: #fff; }
.badge, .workflow-step.complete, .timeline .complete .timeline-icon,
.form-success, .wf-status.reconciled {
  background: var(--success-soft); color: var(--success); border-color: var(--success-border);
}
.badge.verifying, .workflow-step.current, .timeline .current .timeline-icon, .wf-status.progress {
  background: var(--accent-soft); color: var(--accent); border-color: var(--accent-border);
}
.badge.review, .workflow-step.blocked, .danger-button, .form-error,
.drawer-warning, .workflow-mode .drawer-body .form-error, .wf-status.critical {
  background: var(--danger-soft); color: var(--danger); border-color: var(--danger-border);
}
.badge.neutral, .workflow-step, .timeline-icon, .role-badge.viewer {
  background: var(--panel-raised); color: var(--muted); border-color: var(--line);
}
.timeline li:not(:last-child)::after { background: var(--line); }
.drawer-warning p, .provider-error { color: var(--danger); }
.consolidation-output.unknown { background: var(--danger-soft); border-color: var(--danger-border); }
.environment-foot {
  background: var(--panel-raised); border-color: var(--line); color: var(--muted);
}
.environment-foot a { color: var(--accent); }
.detail-dialog, .workflow-mode .detail-dialog {
  background: var(--panel); border-color: var(--line); box-shadow: -10px 0 50px #10254a26;
}
.detail-dialog::backdrop { background: #0e1b2e66; }
.drawer-head { background: var(--panel); border-color: var(--line); }
.evidence-card, .gateway-note, .neutral-warning, .normalization-note.warning,
.setup-guidance {
  background: var(--warning-soft); border-color: var(--warning-border); color: var(--warning);
}
.evidence-card p, .evidence-card > .mono, .gateway-note > svg,
.gateway-note strong, .gateway-note p, .neutral-warning p,
.normalization-note.warning strong, .setup-guidance strong,
.setup-guidance p, .setup-guidance b { color: var(--warning); }
.gateway-note a { color: var(--accent); }
.provider-endpoint, .ingest-payload {
  background: var(--panel-raised); border-color: var(--line); color: #3b4e70;
}
.normalized-expectation, .duplicate-explanation {
  background: #f2f6ff; border-color: var(--accent-border);
}
.duplicate-comparison .duplicate-difference td { background: var(--accent-soft); }
.normalization-track { background: var(--line-soft); }
.normalization-bar { background: var(--accent); }
.normalization-day:hover { background: var(--accent-soft); }
.normalization-review-section { background: var(--panel-raised); border-color: var(--line); }

/* Form controls remain light inside drawers, date pickers, and sign-in. */
.auth-card label, .admin-form label, .account-form label { color: var(--text); }
.auth-card input, .admin-form input, .admin-form select, .admin-form textarea,
.account-form input, .live-lookup-form input, .live-lookup-form select,
.ingest-filter select, .normalization-control select, .normalization-control input,
#add-destinations-form textarea, #confirm-destination-form textarea,
.normalization-review-section textarea,
.workflow-mode .drawer-body input, .workflow-mode .drawer-body textarea,
.workflow-mode .drawer-body select {
  color-scheme: light; background: var(--panel); color: var(--text); border-color: #ccd7e7;
}
.auth-card input:focus, .admin-form input:focus, .admin-form select:focus,
.admin-form textarea:focus, .account-form input:focus {
  border-color: var(--accent); box-shadow: 0 0 0 3px #1455ff12;
}
.auth-card input::placeholder, .admin-form input::placeholder { color: var(--dim); }
.auth-card input[readonly] { background: var(--panel-raised); color: var(--muted); }
.auth-page { background: var(--panel-raised); }
.auth-card { background: var(--panel); border-color: var(--line); box-shadow: 0 20px 60px #10254a12; }
.auth-story > p, .auth-principles, .auth-story-foot, .auth-card-foot,
.auth-footer { color: var(--muted); }
.auth-principles i { color: var(--accent); border-color: var(--accent-border); background: var(--accent-soft); }

/* The navy navigation is shared across Transactions and every other view. */
.sidebar, .workflow-mode .sidebar {
  --text: #e4eaf6; --muted: #becee6; --dim: #a8b7d2;
  --line: #263850; --line-soft: #203149; --mint: #c9dcff;
  background: var(--sidebar); color: var(--text); border-color: var(--line);
}
.sidebar .brand, .workflow-mode .sidebar .brand { color: #fff; }
.sidebar .brand-sub, .sidebar .nav-label,
.sidebar .account-button small, .sidebar .local-status small { color: var(--dim); }
.sidebar .workspace, .workflow-mode .sidebar .workspace {
  background: #122139; border-color: #2b3b53; color: #e0e8f7;
}
.sidebar .workspace small { color: #a6b7d0; }
.sidebar .workspace-icon { background: #1d3d70; color: #c9dcff; border-color: #345992; }
.sidebar .workspace-tag { color: #bfcee4; border-color: #3b4b64; }
.sidebar .nav-item, .sidebar .nav-item [data-icon] { color: #becee6; }
.sidebar .nav-item:hover { background: #172d4a; }
.sidebar .nav-item.active, .workflow-mode .sidebar .nav-item.active {
  background: #1c3a61; color: #fff; box-shadow: -4px 0 #2562ff;
}
.sidebar .nav-item.active [data-icon] { color: #fff; }
.sidebar .nav-count { background: #e31328; border-color: #e31328; color: #fff; }
.sidebar .trust-card > [data-icon] { background: #1d3d70; border-color: #345992; color: #c9dcff; }
.sidebar .trust-card strong, .sidebar .text-link { color: #e4eaf6; }
.sidebar .avatar { background: #233b5d; border-color: #3b5070; color: #dbe9ff; }
.sidebar button:focus-visible, .sidebar a:focus-visible { outline-color: #8cb4ff; }
