/* 딸깍입찰 업무 UI 3.0
   tokens → base → shell → components → screens → responsive → print */

/* 1. Design tokens */
:root {
  color-scheme: light;
  --color-bg: #f3f5f1;
  --color-surface: #ffffff;
  --color-surface-soft: #f8faf7;
  --color-surface-muted: #eef2ee;
  --color-ink: #17231f;
  --color-muted: #63706a;
  --color-line: #dce3dd;
  --color-line-strong: #c4cec7;
  --color-nav: #102a22;
  --color-nav-soft: #1a3a30;
  --color-action: #0b6148;
  --color-action-hover: #084d39;
  --color-success: #0b6148;
  --color-success-soft: #e4f3ec;
  --color-warning: #8b520e;
  --color-warning-soft: #fff1df;
  --color-blocked: #a33c34;
  --color-blocked-soft: #fdeae7;
  --color-info: #365a75;
  --color-info-soft: #eaf0f4;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-full: 999px;
  --text-label: 12px;
  --text-body: 14px;
  --text-section: 20px;
  --text-page: clamp(24px, 2.2vw, 28px);
  --text-amount: clamp(36px, 3.6vw, 44px);
  --shadow-card: 0 4px 16px rgba(16, 42, 34, 0.055);
  --shadow-raised: 0 12px 32px rgba(16, 42, 34, 0.11);
  --shadow-overlay: 0 24px 72px rgba(16, 42, 34, 0.24);
  --focus-ring: 0 0 0 4px rgba(11, 97, 72, 0.2);
  --header-height: 72px;
  --ink: var(--color-ink);
  --muted: var(--color-muted);
  --line: var(--color-line);
  --paper: var(--color-surface);
  --canvas: var(--color-bg);
  --green-900: var(--color-nav);
  --green-700: var(--color-action);
  --red: var(--color-blocked);
  --amber: var(--color-warning);
  --blue: var(--color-info);
  --v2-bg: var(--color-bg);
  --v2-surface: var(--color-surface);
  --v2-surface-soft: var(--color-surface-soft);
  --v2-nav: var(--color-nav);
  --v2-nav-soft: var(--color-nav-soft);
  --v2-ink: var(--color-ink);
  --v2-muted: var(--color-muted);
  --v2-line: var(--color-line);
  --v2-line-strong: var(--color-line-strong);
  --v2-success: var(--color-success);
  --v2-success-strong: var(--color-action);
  --v2-success-soft: var(--color-success-soft);
  --v2-warning-strong: var(--color-warning);
  --v2-warning-soft: var(--color-warning-soft);
  --v2-blocked-strong: var(--color-blocked);
  --v2-blocked-soft: var(--color-blocked-soft);
  --v2-info-strong: var(--color-info);
  --v2-info-soft: var(--color-info-soft);
}

/* 2. Reset, typography, accessibility */
*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; background: var(--color-bg); }
body {
  min-width: 320px;
  margin: 0;
  overflow-x: clip;
  background: radial-gradient(circle at 92% 0%, rgba(11, 97, 72, 0.07), transparent 28rem), var(--color-bg);
  color: var(--color-ink);
  font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", "Segoe UI", sans-serif;
  font-size: var(--text-body);
  line-height: 1.58;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
[hidden] { display: none !important; }
button, input, select, textarea, summary { font: inherit; }
button, summary, select { cursor: pointer; }
button, input, select, textarea { color: inherit; }
a { color: inherit; }
h1, h2, h3, h4, p, ol, ul, dl, dd { margin: 0; }
h1, h2, h3, .panel-intro h1, .dashboard-welcome h1, .production-workspace-heading h2 {
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
p, li, td, small, .section-description, .panel-intro > p { overflow-wrap: anywhere; }
strong, dd, .metric-card, .dashboard-metric, .strategy-amount, .final-recommendation, .money-input input {
  font-variant-numeric: tabular-nums;
}
:is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(11, 97, 72, 0.42);
  outline-offset: 3px;
}
.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;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 1000;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--color-nav);
  color: #fff;
  transform: translateY(-150%);
  transition: transform 0.18s ease;
}
.skip-link:focus { transform: translateY(0); }

/* 3. Application shell */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: var(--header-height);
  border-bottom: 1px solid rgba(196, 206, 199, 0.72);
  background: rgba(255, 255, 255, 0.93);
  backdrop-filter: blur(18px);
}
.header-inner, .invitation-banner, .workspace-shell, .principles, body > footer {
  width: min(1400px, calc(100% - 32px));
  margin-inline: auto;
}
.header-inner {
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: inherit;
  text-decoration: none;
  flex: 0 0 auto;
}
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  box-shadow: 0 8px 18px rgba(16, 42, 34, 0.16);
}
.brand span { display: grid; gap: 1px; }
.brand strong { font-size: 18px; line-height: 1.2; letter-spacing: -0.04em; }
.brand small {
  color: var(--color-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  min-width: 0;
}
.status-pill {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-full);
  background: var(--color-surface-soft);
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d7a03a;
  box-shadow: 0 0 0 4px rgba(215, 160, 58, 0.12);
}
.company-switcher { display: block; min-width: 230px; }
.company-switcher select {
  width: 100%;
  height: 42px;
  padding: 0 42px 0 14px;
  border: 1px solid var(--color-action);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-weight: 800;
}
.alert-center, .settings-menu { position: relative; }
.settings-menu > summary { list-style: none; }
.settings-menu > summary::-webkit-details-marker { display: none; }
.settings-popover, .alert-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 130;
  width: min(360px, calc(100vw - 24px));
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
}
.settings-popover { padding: var(--space-3); }
.settings-company-context {
  display: grid;
  gap: 3px;
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-nav);
  color: #fff;
}
.settings-company-context span, .settings-company-context small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
}
.settings-company-context strong { font-size: 16px; }
.settings-action-list { display: grid; gap: 4px; margin-top: var(--space-2); }
.settings-action {
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  text-align: left;
  font-weight: 700;
}
.settings-action:hover { background: var(--color-surface-muted); }
.settings-action.primary { color: var(--color-action); background: var(--color-success-soft); }
.alert-popover { overflow: hidden; }
.alert-popover-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}
.alert-popover-head > div { display: grid; gap: 4px; }
.alert-popover-head span, .alert-storage-note { color: var(--color-muted); font-size: 12px; }
.alert-list { max-height: min(440px, 58vh); overflow-y: auto; }
.alert-item {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--color-line);
  background: #fff;
  text-align: left;
}
.alert-item:hover { background: var(--color-surface-soft); }
.alert-type, .alert-count, .action-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  min-height: 20px;
  padding: 0 6px;
  border-radius: var(--radius-full);
  background: var(--color-blocked);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.alert-storage-note { padding: 10px 16px; }
.invitation-banner {
  margin-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid rgba(54, 90, 117, 0.24);
  border-radius: var(--radius-md);
  background: var(--color-info-soft);
}
.invitation-banner > div { display: flex; gap: var(--space-2); align-items: center; }
.workspace-shell { padding-block: var(--space-6) var(--space-10); }
.tab-list { min-width: 0; }
.workspace-nav-heading {
  display: grid;
  gap: 2px;
  padding: 4px 8px 16px;
  color: #fff;
}
.workspace-nav-heading span { color: #8fb7a9; font-size: 10px; font-weight: 800; letter-spacing: 0.16em; }
.workspace-nav-heading strong { font-size: 15px; }
.workspace-nav-note {
  margin-top: auto;
  padding: 18px 8px 4px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  line-height: 1.55;
}
.tab-button {
  position: relative;
  display: grid;
  grid-template-columns: 26px 28px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  text-align: left;
  font-weight: 800;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.tab-button:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
.tab-button.active, .tab-button[aria-selected="true"] {
  border-color: rgba(137, 211, 186, 0.18);
  background: #235342;
  color: #fff;
  box-shadow: inset 3px 0 0 #75d1b1;
}
.tab-index { color: #8fb7a9; font-size: 10px; letter-spacing: 0.06em; }
.tab-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.07);
  font-size: 15px;
}
.tab-label { min-width: 0; line-height: 1.25; }
.tab-panel { min-width: 0; }
.tab-panel.active { animation: panel-enter 0.25s ease both; }
@keyframes panel-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

/* 4. Shared components */
.card, .dashboard-metric, .metric-card {
  min-width: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}
.card { padding: var(--space-6); }
.card-heading, .panel-intro, .panel-context, .production-workspace-heading, .validation-heading,
.readiness-score-head, .production-section-heading, .management-dialog-head, .market-data-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}
.card-heading > div, .panel-intro > div, .production-workspace-heading > div { min-width: 0; }
.section-kicker {
  margin-bottom: 5px;
  color: var(--color-action);
  font-size: var(--text-label);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.card-heading h2, .production-workspace-heading h2 {
  font-size: var(--text-section);
  line-height: 1.35;
  letter-spacing: -0.035em;
}
.panel-intro h1, .dashboard-welcome h1 {
  font-size: var(--text-page);
  line-height: 1.28;
  letter-spacing: -0.045em;
}
.panel-intro > p, .section-description, .dashboard-welcome p, .production-workspace-heading p {
  max-width: 620px;
  color: var(--color-muted);
  line-height: 1.65;
}
.panel-intro { margin-bottom: var(--space-4); padding: 4px 2px; }
.panel-intro > p { text-align: right; }
.primary-button, .secondary-button, .ghost-button, .text-button, .row-button, .sample-reset-button,
.upload-button, .drawer-close-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 0 15px;
  border-radius: var(--radius-sm);
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}
.primary-button {
  border: 1px solid var(--color-action);
  background: var(--color-action);
  color: #fff;
  box-shadow: 0 7px 18px rgba(11, 97, 72, 0.16);
}
.primary-button:hover:not(:disabled) {
  background: var(--color-action-hover);
  border-color: var(--color-action-hover);
  transform: translateY(-1px);
}
.secondary-button, .ghost-button, .sample-reset-button, .upload-button, .drawer-close-button {
  border: 1px solid var(--color-line-strong);
  background: var(--color-surface);
  color: var(--color-ink);
}
.secondary-button:hover:not(:disabled), .ghost-button:hover:not(:disabled), .sample-reset-button:hover:not(:disabled),
.upload-button:hover:not(:disabled) {
  border-color: var(--color-action);
  color: var(--color-action);
  background: var(--color-success-soft);
}
.ghost-button.compact, .secondary-button.compact, .compact-action, .sample-reset-button {
  min-height: 38px;
  padding-inline: 12px;
  font-size: 12px;
}
.text-button, .row-button {
  min-height: auto;
  padding: 4px 2px;
  border: 0;
  background: transparent;
  color: var(--color-action);
  font-size: 12px;
}
.text-button:hover, .row-button:hover { text-decoration: underline; }
.row-button + .row-button { margin-left: 8px; }
.danger-button, .row-button.danger { color: var(--color-blocked); }
button:disabled, input:disabled, select:disabled { cursor: not-allowed; opacity: 0.48; }
.field, .field-row, .form-section { min-width: 0; }
.field { display: grid; gap: 7px; }
.field-row, .policy-input-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.field-wide { grid-column: 1 / -1; }
.field > span, .field > label, th { font-size: var(--text-label); font-weight: 800; }
.field > span b { margin-left: 4px; color: var(--color-blocked); font-size: 10px; }
.field small, .field-source {
  color: var(--color-muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.5;
}
.field-source {
  float: right;
  padding: 2px 6px;
  border-radius: var(--radius-full);
  background: var(--color-surface-muted);
  white-space: nowrap;
}
input, select, textarea {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
textarea { min-height: 120px; padding-block: 10px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #9ca9a1; }
input:focus, select:focus, textarea:focus {
  border-color: var(--color-action);
  box-shadow: var(--focus-ring);
  outline: 0;
}
[aria-invalid="true"] { border-color: var(--color-blocked) !important; background: var(--color-blocked-soft) !important; }
.money-input { position: relative; }
.money-input input { padding-right: 40px; text-align: right; }
.money-input i {
  position: absolute;
  top: 50%;
  right: 13px;
  color: var(--color-muted);
  font-size: 11px;
  font-style: normal;
  pointer-events: none;
  transform: translateY(-50%);
}
.inline-message, .lookup-message, .notice-strip, .legal-note, .approval-safety-note, .operations-status,
.strategy-simulation-note, .performance-note {
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--color-surface-soft);
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.6;
}
.error-message, .inline-message.error { background: var(--color-blocked-soft); color: var(--color-blocked); }
.neutral-badge, .confidence-badge, .source-chip, .notice-status, .deadline-chip, .saved-chip, .official-tag,
.notice-tier-chip, .outcome-chip, .readiness-status, .live-approval-badge, .risk-chip, .example-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 27px;
  padding: 3px 9px;
  border-radius: var(--radius-full);
  background: var(--color-surface-muted);
  color: var(--color-muted);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.confidence-badge.high, .notice-status.eligible, .pass, .ready, .healthy, .outcome-chip.won,
.live-approval-badge.ready { background: var(--color-success-soft); color: var(--color-success); }
.confidence-badge.medium, .confidence-badge.low, .notice-status.review, .warn, .urgent, .hold,
.deadline-chip { background: var(--color-warning-soft); color: var(--color-warning); }
.notice-status.excluded, .fail, .blocked, .unhealthy, .outcome-chip.lost,
.readiness-status.blocked { background: var(--color-blocked-soft); color: var(--color-blocked); }
.source-chip.official, .notice-tier-chip.related, .risk-chip.info {
  background: var(--color-info-soft);
  color: var(--color-info);
}
.table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td {
  padding: 12px 13px;
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: middle;
}
th { background: var(--color-surface-soft); color: var(--color-muted); white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: rgba(228, 243, 236, 0.36); }
.empty-state {
  min-height: 260px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--space-2);
  padding: var(--space-6);
  color: var(--color-muted);
  text-align: center;
}
.compact-empty { min-height: 150px; }
.empty-mark {
  min-width: 50px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-full);
  background: var(--color-surface-soft);
  color: var(--color-action);
  font-size: 12px;
  font-weight: 900;
}
.table-empty-state, .dashboard-empty, .alert-empty, .trash-empty, .table-empty {
  padding: var(--space-6);
  color: var(--color-muted);
  text-align: center;
}

/* 5. Today dashboard */
.dashboard-welcome {
  position: relative;
  overflow: hidden;
  min-height: 176px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  margin-bottom: var(--space-4);
  padding: 28px 32px;
  border-radius: var(--radius-lg);
  background: linear-gradient(125deg, #102a22 0%, #174b3b 68%, #246c55 100%);
  color: #fff;
  box-shadow: var(--shadow-raised);
}
.dashboard-welcome::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -140px;
  width: 310px;
  height: 310px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(255, 255, 255, 0.025), 0 0 0 96px rgba(255, 255, 255, 0.018);
}
.dashboard-welcome > * { position: relative; z-index: 1; }
.dashboard-welcome .section-kicker { color: #94ddc3; }
.dashboard-welcome p { margin-top: 8px; color: rgba(255, 255, 255, 0.72); }
.dashboard-welcome .primary-button {
  border-color: #fff;
  background: #fff;
  color: var(--color-nav);
  box-shadow: none;
}
.dashboard-metrics, .history-stats, .admin-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.dashboard-metric, .metric-card {
  min-height: 116px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: var(--space-4);
  text-align: left;
}
button.dashboard-metric {
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
button.dashboard-metric:hover {
  border-color: rgba(11, 97, 72, 0.32);
  box-shadow: var(--shadow-raised);
  transform: translateY(-2px);
}
.dashboard-metric > span, .metric-card > span {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 750;
}
.dashboard-metric > strong, .metric-card > strong {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.045em;
}
.dashboard-metric > small, .metric-card > small {
  color: var(--color-muted);
  font-size: 11px;
}
.dashboard-metric.urgent {
  border-color: rgba(139, 82, 14, 0.24);
  background: linear-gradient(145deg, #fffaf2, var(--color-warning-soft));
}
.dashboard-metric.urgent > strong { color: var(--color-warning); }
.dashboard-today-card {
  padding-top: 20px;
  border-top: 4px solid var(--color-action);
}
.dashboard-notice-list {
  display: grid;
  gap: 6px;
  margin-top: var(--space-4);
}
.dashboard-notice {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  min-height: 66px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: var(--color-surface-soft);
  text-align: left;
  transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}
.dashboard-notice:hover {
  border-color: rgba(11, 97, 72, 0.25);
  background: var(--color-success-soft);
  transform: translateX(2px);
}
.dashboard-notice-main, .dashboard-notice-side { display: grid; min-width: 0; }
.dashboard-notice-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-notice-main small, .dashboard-notice-side small {
  color: var(--color-muted);
  font-size: 11px;
}
.dashboard-notice-side { justify-items: end; gap: 2px; }
.dashboard-notice-side > strong { color: var(--color-warning); font-size: 12px; }
.dashboard-action-panel {
  margin-top: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-surface-soft);
}
.dashboard-action-panel > p { display: grid; gap: 3px; }
.dashboard-action-panel > p span { color: var(--color-muted); }
.dashboard-action-panel > div {
  display: grid;
  grid-template-columns: minmax(210px, 1.35fr) repeat(3, minmax(140px, 1fr));
  gap: var(--space-2);
  margin-top: var(--space-3);
}
.dashboard-guidance {
  margin-top: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.72);
  overflow: clip;
}
.dashboard-guidance > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  min-height: 58px;
  padding: 0 var(--space-4);
  list-style: none;
  font-weight: 850;
}
.dashboard-guidance > summary::-webkit-details-marker { display: none; }
.dashboard-guidance > summary::after { content: "+"; color: var(--color-action); font-size: 20px; }
.dashboard-guidance[open] > summary::after { content: "−"; }
.dashboard-guidance > summary small { margin-left: auto; color: var(--color-muted); font-weight: 500; }
.dashboard-guidance-content {
  display: grid;
  gap: var(--space-4);
  padding: 0 var(--space-4) var(--space-4);
}
.workflow-orbit {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(420px, 1.28fr);
  gap: var(--space-6);
  align-items: center;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: var(--color-nav);
  color: #fff;
}
.workflow-orbit-copy > p:not(.section-kicker) { color: rgba(255, 255, 255, 0.66); }
.workflow-safety-legend { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--space-4); }
.workflow-safety-legend span {
  padding: 4px 8px;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.1);
  font-size: 10px;
  font-weight: 800;
}
.workflow-orbit-visual { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: var(--space-4); align-items: center; }
.workflow-ring {
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  justify-items: center;
  border: 1px solid rgba(148, 221, 195, 0.35);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(117, 209, 177, 0.16), transparent 66%);
}
.workflow-ring span { font-size: 22px; font-weight: 900; }
.workflow-ring small { color: #94ddc3; font-size: 10px; }
.workflow-orbit-steps { display: grid; gap: 6px; padding: 0; list-style: none; }
.workflow-orbit-steps li {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.06);
}
.workflow-orbit-steps li span { color: #94ddc3; font-size: 10px; font-weight: 900; }
.dashboard-visual-grid, .dashboard-grid, .history-performance-chart {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.dashboard-chart-card, .compact-visual-card { min-height: 210px; }
.donut-chart-panel, .compact-visual-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
}
.donut-chart {
  --donut-color: var(--color-action);
  width: 112px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--donut-color) var(--chart-value), var(--color-surface-muted) 0);
}
.donut-chart::before {
  content: "";
  grid-area: 1 / 1;
  width: 78px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
}
.donut-chart > div { z-index: 1; grid-area: 1 / 1; display: grid; place-items: center; }
.donut-chart strong { font-size: 23px; }
.donut-chart strong small, .donut-chart span { color: var(--color-muted); font-size: 10px; }
.donut-chart.gold { --donut-color: #b47d21; }
.chart-detail { color: var(--color-muted); }
.mini-bar-chart { display: grid; gap: 10px; margin-top: var(--space-4); }
.visual-bar-row {
  display: grid;
  grid-template-columns: minmax(64px, 0.7fr) minmax(0, 2fr) auto;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}
.visual-bar-track { height: 8px; overflow: hidden; border-radius: var(--radius-full); background: var(--color-surface-muted); }
.visual-bar-track i { display: block; height: 100%; border-radius: inherit; background: var(--color-info); }
.visual-bar-track i.pass { background: var(--color-success); }
.visual-bar-track i.review { background: var(--color-info); }
.visual-bar-track i.amber { background: var(--color-warning); }
.visual-bar-track i.blocked { background: var(--color-blocked); }
.dashboard-grid { margin-top: var(--space-4); }
.performance-summary, .result-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.performance-summary > div, .result-summary > div {
  display: grid;
  gap: 3px;
  padding: 12px;
  border-radius: var(--radius-sm);
  background: var(--color-surface-soft);
}
.performance-summary span, .result-summary span { color: var(--color-muted); font-size: 11px; }
.performance-note { margin-top: var(--space-3); }
.recent-analysis-list { display: grid; gap: 8px; margin-top: var(--space-4); }
.recent-analysis {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #fff;
  text-align: left;
}
.roadmap-card { margin-top: var(--space-4); }
.roadmap-steps { display: grid; gap: 0; margin-top: var(--space-4); padding: 0; list-style: none; }
.roadmap-steps li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid var(--color-line);
}
.roadmap-steps li > span, .profile-step-heading > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-success-soft);
  color: var(--color-action);
  font-size: 11px;
  font-weight: 900;
}
.roadmap-steps p { color: var(--color-muted); font-size: 12px; }

/* 6. Notice finder */
.matcher-layout { display: grid; gap: var(--space-4); }
.profile-card:not(.expanded) {
  padding: 16px 18px;
  box-shadow: none;
}
.profile-card:not(.expanded) > :not(.card-heading):not(.section-description) { display: none; }
.profile-card:not(.expanded) .section-description { margin-top: 6px; }
.profile-card.expanded {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 162;
  width: min(620px, 94vw);
  height: 100dvh;
  overflow-y: auto;
  padding: 24px;
  border: 0;
  border-radius: 0;
  box-shadow: var(--shadow-overlay);
}
.profile-card.expanded > * + * { margin-top: var(--space-4); }
.profile-drawer-backdrop { z-index: 160; }
.profile-heading-actions { display: flex; align-items: center; gap: var(--space-2); }
.profile-step-heading {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}
.profile-step-heading div { display: grid; }
.profile-step-heading small { color: var(--color-muted); font-size: 11px; }
.profile-form-actions { display: flex; justify-content: space-between; gap: var(--space-3); }
.collection-rules-panel, .official-condition-fieldset, .notification-preferences fieldset {
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-soft);
}
.collection-rules-panel legend, .official-condition-fieldset legend, .notification-preferences legend {
  padding: 0 6px;
  font-weight: 850;
}
.collection-rules-panel > p, .official-condition-fieldset > p { margin-bottom: var(--space-3); color: var(--color-muted); font-size: 12px; }
.checkbox-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.checkbox-pills input { position: absolute; opacity: 0; pointer-events: none; }
.checkbox-pills span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-full);
  background: #fff;
}
.checkbox-pills input:checked + span { border-color: var(--color-action); background: var(--color-success-soft); color: var(--color-action); font-weight: 800; }
.notice-recommendations { padding: var(--space-6); }
.notice-recommendations > * + * { margin-top: var(--space-4); }
.matcher-summary { display: grid; justify-items: end; }
.matcher-summary strong { color: var(--color-action); font-size: 30px; line-height: 1; }
.matcher-summary span { color: var(--color-muted); font-size: 11px; }
.official-notice-lookup {
  display: grid;
  gap: 10px;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-soft);
}
.official-notice-lookup > label { display: grid; }
.official-notice-lookup > label span { font-weight: 850; }
.official-notice-lookup > label small { color: var(--color-muted); font-size: 11px; }
.official-notice-lookup-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.notice-filter-description { color: var(--color-muted); }
.recommendation-filter { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.filter-group { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.filter-group-title { margin-right: 3px; font-size: 11px; font-weight: 850; }
.filter-chip {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-full);
  background: #fff;
  font-size: 12px;
}
.filter-chip.active { border-color: var(--color-action); background: var(--color-action); color: #fff; font-weight: 800; }
.qualification-guide { padding-top: var(--space-3); border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: 11px; }
.qualification-guide span { margin-right: 4px; padding: 3px 7px; border-radius: var(--radius-full); font-size: 10px; font-weight: 850; }
.notice-data-toolbar {
  position: sticky;
  top: calc(var(--header-height) + 8px);
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 150px auto;
  align-items: center;
  gap: var(--space-2);
  padding: 10px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(12px);
}
.notice-source { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; }
.notice-source > span:not(.source-chip) { max-width: 220px; overflow: hidden; color: var(--color-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.notice-match-chart {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-surface-soft);
}
.notice-list { display: grid; gap: 10px; }
.notice-tier-heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px 2px 2px;
}
.notice-tier-heading span { color: var(--color-muted); font-size: 11px; }
.notice-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: #fff;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.notice-card:hover { border-color: rgba(11, 97, 72, 0.3); box-shadow: var(--shadow-raised); transform: translateY(-1px); }
.notice-card.saved { box-shadow: inset 4px 0 0 var(--color-warning); }
.notice-card-main { min-width: 0; }
.notice-card-head { display: flex; justify-content: space-between; gap: var(--space-3); }
.notice-card-head > div { display: flex; flex-wrap: wrap; gap: 5px; }
.notice-card h3 { margin-top: 9px; font-size: 17px; line-height: 1.45; letter-spacing: -0.025em; }
.notice-meta { margin-top: 3px; color: var(--color-muted); font-size: 11px; }
.notice-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.notice-tags > span { padding: 3px 7px; border-radius: var(--radius-full); background: var(--color-surface-muted); color: var(--color-muted); font-size: 10px; }
.notice-amount-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 10px; font-size: 12px; }
.notice-reason { margin-top: 8px; padding: 7px 9px; border-radius: 7px; font-size: 11px; }
.notice-reason.eligible { background: var(--color-success-soft); color: var(--color-success); }
.notice-reason.review { background: var(--color-warning-soft); color: var(--color-warning); }
.notice-reason.excluded { background: var(--color-blocked-soft); color: var(--color-blocked); }
.notice-score { display: grid; justify-items: end; flex: 0 0 auto; }
.notice-score span, .notice-score small { color: var(--color-muted); font-size: 10px; }
.notice-score strong { font-size: 20px; }
.notice-actions { display: grid; align-content: center; gap: 7px; }
.notice-actions > * { width: 100%; }
.notice-load-more { display: grid; justify-items: center; gap: 10px; padding: var(--space-6); color: var(--color-muted); }

/* 7. Bid calculator, recommendation, and final verification */
.analysis-grid {
  display: grid;
  grid-template-columns: minmax(380px, 0.76fr) minmax(0, 1.24fr);
  gap: var(--space-4);
  align-items: start;
}
.analysis-stage { min-width: 0; }
.input-card, .result-card { min-width: 0; }
.input-card > * + * { margin-top: var(--space-4); }
.calculation-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 0;
  list-style: none;
}
.calculation-steps li {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 46px;
  padding: 7px 9px;
  border-radius: var(--radius-sm);
  background: var(--color-surface-muted);
  color: var(--color-muted);
  font-size: 11px;
}
.calculation-steps li span {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(99, 112, 106, 0.12);
  font-size: 10px;
  font-weight: 850;
}
.calculation-steps li.complete { background: var(--color-success-soft); color: var(--color-success); }
.calculation-steps li.active { box-shadow: inset 0 0 0 1px rgba(11, 97, 72, 0.38); background: #f0f8f4; color: var(--color-action); }
.notice-detail-fold, .term-help-row details, .manual-bid-details, .analysis-details, .formula-details,
.probability-details, .result-tools, .admin-failure-details {
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface-soft);
}
.notice-detail-fold > summary, .term-help-row summary, .manual-bid-details > summary, .analysis-details > summary,
.formula-details > summary, .probability-details > summary, .result-tools > summary, .admin-failure-details > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 12px;
  list-style: none;
  font-size: 12px;
  font-weight: 850;
}
.notice-detail-fold > summary::-webkit-details-marker, .term-help-row summary::-webkit-details-marker,
.manual-bid-details > summary::-webkit-details-marker, .analysis-details > summary::-webkit-details-marker,
.formula-details > summary::-webkit-details-marker, .probability-details > summary::-webkit-details-marker,
.result-tools > summary::-webkit-details-marker, .admin-failure-details > summary::-webkit-details-marker { display: none; }
.notice-detail-fold > summary::after, .manual-bid-details > summary::after, .analysis-details > summary::after,
.formula-details > summary::after, .result-tools > summary::after { content: "+"; color: var(--color-action); }
.notice-detail-fold[open] > summary::after, .manual-bid-details[open] > summary::after,
.analysis-details[open] > summary::after, .formula-details[open] > summary::after,
.result-tools[open] > summary::after { content: "−"; }
.notice-detail-fold summary small { margin-left: auto; color: var(--color-muted); font-weight: 500; }
.notice-detail-fields { display: grid; gap: var(--space-3); padding: 0 12px 12px; }
.calculation-fields { display: grid; gap: var(--space-3); }
.toggle-panel {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(180px, 1.2fr);
  align-items: end;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid rgba(11, 97, 72, 0.14);
  border-radius: var(--radius-md);
  background: #f4faf7;
}
.switch-line {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.switch-line > span { display: grid; margin-right: auto; }
.switch-line small { color: var(--color-muted); font-size: 11px; }
.switch-line input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.switch-line i {
  width: 42px;
  height: 24px;
  display: block;
  position: relative;
  border-radius: var(--radius-full);
  background: var(--color-line-strong);
  transition: background 0.18s ease;
}
.switch-line i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(16, 42, 34, 0.2);
  transition: transform 0.18s ease;
}
.switch-line input:checked + i { background: var(--color-action); }
.switch-line input:checked + i::after { transform: translateX(18px); }
.switch-line input:focus-visible + i { box-shadow: var(--focus-ring); }
.term-help-row { display: flex; flex-wrap: wrap; gap: 7px; }
.term-help-row details { flex: 1 1 180px; }
.term-help-row p { padding: 0 12px 12px; color: var(--color-muted); font-size: 11px; }
.data-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--color-info-soft);
}
.data-source > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.data-source p { display: grid; min-width: 0; }
.data-source small { color: var(--color-muted); font-size: 10px; }
.source-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 10px;
  background: var(--color-info);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}
.upload-button { position: relative; flex: 0 0 auto; }
.upload-button input, .file-action input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
#analyzeButton { width: 100%; min-height: 50px; justify-content: space-between; padding-inline: 18px; }
.analysis-input-summary {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid rgba(11, 97, 72, 0.24);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}
.analysis-input-summary > div:first-child { min-width: 0; }
.analysis-input-summary > div:first-child > strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
}
.analysis-input-summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.analysis-input-summary dl > div { display: grid; gap: 2px; padding: 9px 10px; border-radius: 8px; background: var(--color-surface-soft); }
.analysis-input-summary dt { color: var(--color-muted); font-size: 10px; }
.analysis-input-summary dd { font-size: 12px; font-weight: 850; }
.analysis-input-summary button { justify-self: start; }
.result-card { min-height: 430px; }
.result-card:not(.has-result) { display: grid; align-content: start; }
.result-card.has-result {
  min-height: 0;
  border-top: 4px solid var(--color-action);
}
.reference-result-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: -8px -8px 14px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: var(--color-warning-soft);
  color: var(--color-warning);
  font-size: 11px;
}
.reference-result-banner strong { flex: 0 0 auto; }
.analysis-empty-checklist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  padding: 10px 0 0;
  list-style: none;
}
.analysis-empty-checklist li { display: inline-flex; align-items: center; gap: 5px; color: var(--color-muted); font-size: 11px; }
.analysis-empty-checklist li span {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-surface-muted);
  font-size: 9px;
  font-weight: 850;
}
#analysisResult > * + * { margin-top: var(--space-3); }
.result-heading { align-items: center; }
.notice-strip { border-left: 3px solid var(--color-warning); background: var(--color-warning-soft); color: var(--color-warning); }
.strategy-list { display: grid; gap: var(--space-3); }
.final-recommendation {
  display: grid;
  gap: var(--space-4);
  padding: clamp(18px, 2.5vw, 28px);
  border: 1px solid rgba(11, 97, 72, 0.35);
  border-left: 5px solid var(--color-action);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #fff 30%, #f1f9f5);
}
.final-recommendation > div { display: grid; gap: 5px; }
.final-recommendation > div > span { color: var(--color-action); font-size: 12px; font-weight: 900; }
.final-recommendation > div > strong {
  color: #07523d;
  font-size: var(--text-amount);
  line-height: 1.12;
  letter-spacing: -0.055em;
  white-space: nowrap;
}
.recommendation-facts {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(140px, 0.7fr);
  gap: 8px;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(11, 97, 72, 0.18);
}
.recommendation-facts > div { display: grid; gap: 3px; }
.recommendation-facts dt { color: var(--color-muted); font-size: 10px; }
.recommendation-facts dd { font-size: 13px; font-weight: 850; }
.strategy-comparison {
  overflow: clip;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: #fff;
}
.strategy-comparison > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 13px;
  list-style: none;
  font-size: 12px;
  font-weight: 850;
}
.strategy-comparison > summary::-webkit-details-marker { display: none; }
.strategy-comparison > summary::after { content: "+"; color: var(--color-action); font-size: 18px; }
.strategy-comparison[open] > summary::after { content: "−"; }
.strategy-options { display: grid; gap: 1px; border-top: 1px solid var(--color-line); background: var(--color-line); }
.strategy-card {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(110px, 0.65fr) minmax(180px, 1.35fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  background: #fff;
}
.strategy-card.recommended { background: #f1f8f4; box-shadow: inset 3px 0 0 var(--color-action); }
.strategy-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.strategy-name { display: inline-flex; align-items: center; gap: 8px; font-weight: 850; }
.strategy-name i {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: var(--color-success-soft);
  color: var(--color-action);
  font-size: 10px;
  font-style: normal;
}
.strategy-label > b { padding: 2px 6px; border-radius: var(--radius-full); background: var(--color-action); color: #fff; font-size: 9px; }
.strategy-amount { font-size: clamp(20px, 2.2vw, 28px); line-height: 1.25; letter-spacing: -0.04em; white-space: nowrap; }
.strategy-rank, .strategy-rate { color: var(--color-muted); font-size: 11px; }
.strategy-card > p { grid-column: 1 / -1; color: var(--color-muted); font-size: 11px; }
.strategy-probabilities { display: flex; justify-content: flex-end; gap: 7px; }
.strategy-probabilities > span {
  min-width: 90px;
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border-radius: 8px;
  background: var(--color-surface-soft);
  color: var(--color-muted);
  font-size: 9px;
  text-align: center;
}
.strategy-probabilities strong { color: var(--color-ink); font-size: 13px; }
.strategy-probabilities.unavailable { justify-content: flex-end; color: var(--color-muted); font-size: 11px; }
.probability-details { grid-column: 1 / -1; }
.probability-details p, .probability-details small { display: block; padding: 0 12px 8px; color: var(--color-muted); font-size: 11px; }
.competitor-evidence-list { display: grid; gap: 5px; padding: 0 12px 10px; }
.competitor-evidence-list span { padding: 7px 9px; border-radius: 7px; background: #fff; font-size: 11px; }
.strategy-chart { padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface-soft); }
.strategy-chart:empty { display: none; }
.strategy-chart-heading, .compact-visual-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: 10px;
}
.strategy-chart-heading span, .compact-visual-title span { color: var(--color-muted); font-size: 10px; }
.manual-bid-details > section, .analysis-details > section, .analysis-details > details { margin: 0 12px 12px; }
.manual-bid-test {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.8fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--color-info-soft);
}
.manual-bid-test h3 { font-size: 15px; }
.manual-bid-test p { color: var(--color-muted); font-size: 11px; }
.manual-bid-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.manual-bid-controls > label { grid-column: 1 / -1; font-size: 11px; font-weight: 850; }
.manual-bid-result { grid-column: 1 / -1; }
.result-summary strong { font-size: 14px; }
.model-validation { padding: var(--space-3); border-radius: var(--radius-md); background: #fff; }
.validation-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: var(--space-3);
}
.validation-metrics > div { display: grid; gap: 3px; padding: 9px; border-radius: 8px; background: var(--color-surface-soft); }
.validation-metrics span { color: var(--color-muted); font-size: 9px; }
.validation-metrics strong { font-size: 13px; }
.model-validation > p { margin-top: 10px; color: var(--color-muted); font-size: 11px; }
.formula-details { margin-top: var(--space-3) !important; }
.formula-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 0 12px 12px; }
.formula-step { display: grid; gap: 2px; padding: 9px; border-radius: 8px; background: #fff; }
.formula-step span { color: var(--color-muted); font-size: 10px; }
.formula-details .table-wrap { margin: 0 12px 12px; width: calc(100% - 24px); }
.frequency-bar { display: block; width: 100%; height: 5px; margin-top: 3px; border-radius: var(--radius-full); background: var(--color-surface-muted); }
.frequency-bar i { display: block; height: 100%; border-radius: inherit; background: var(--color-action); }
.result-actions, .approval-actions, .production-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.result-tools { position: relative; background: #fff; }
.result-tools > summary { min-height: 42px; }
.result-tools > div { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 9px 9px; }
.reference-warning { border-left: 3px solid var(--color-warning); background: var(--color-warning-soft); color: var(--color-warning); }
.production-bid-workspace { grid-column: 1 / -1; margin-top: var(--space-2); border-top: 4px solid var(--color-info); }
.production-workspace-heading { padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-line); }
.production-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr);
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.production-controls { display: grid; gap: var(--space-3); }
.production-control-section {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-soft);
}
.production-section-heading > div { display: flex; align-items: center; gap: 8px; }
.production-section-heading > div > span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-info-soft);
  color: var(--color-info);
  font-size: 10px;
  font-weight: 900;
}
.production-section-heading h3 { font-size: 15px; }
.production-section-heading small { color: var(--color-muted); font-size: 10px; }
.production-confirmation-line, .check-line {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border-radius: 8px;
  background: #fff;
}
.production-confirmation-line input, .check-line input, .condition-check input,
.notification-preferences input { width: 17px; min-height: 17px; flex: 0 0 auto; accent-color: var(--color-action); }
.condition-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.condition-check {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--color-line);
  border-radius: 8px;
  background: #fff;
}
.condition-check > span { min-width: 0; display: grid; gap: 2px; }
.condition-check strong { font-size: 11px; }
.condition-check small { color: var(--color-muted); font-size: 9px; }
.condition-check select { min-height: 34px; padding-inline: 7px; font-size: 10px; }
.readiness-result {
  position: sticky;
  top: calc(var(--header-height) + 12px);
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-nav);
  color: #fff;
  box-shadow: var(--shadow-raised);
}
.readiness-result .section-kicker { color: #94ddc3; }
.readiness-result h3 { font-size: 17px; }
.readiness-score-block { display: grid; gap: 8px; padding: var(--space-3); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.08); }
.readiness-score-block > strong { font-size: 36px; line-height: 1; }
.readiness-score-block > strong small { font-size: 13px; color: rgba(255, 255, 255, 0.55); }
.readiness-score-block progress { width: 100%; height: 8px; accent-color: #75d1b1; }
.readiness-score-block p, .readiness-result .approval-safety-note, .readiness-result .operations-status {
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.72);
}
.ready-candidate { display: grid; gap: 9px; padding: var(--space-3); border-radius: var(--radius-md); background: #fff; color: var(--color-ink); }
.ready-candidate > span { color: var(--color-muted); font-size: 10px; font-weight: 850; }
.ready-candidate > strong { color: var(--color-action); font-size: 25px; }
.ready-candidate dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.ready-candidate dl > div { display: grid; gap: 2px; padding: 7px; border-radius: 7px; background: var(--color-surface-soft); }
.ready-candidate dt { color: var(--color-muted); font-size: 9px; }
.ready-candidate dd { font-size: 11px; font-weight: 850; }
.readiness-reasons { padding: var(--space-3); border-radius: var(--radius-md); background: rgba(163, 60, 52, 0.18); }
.readiness-reasons h4, .readiness-gates-heading h4 { font-size: 12px; }
.readiness-reasons ul { margin: 7px 0 0; padding-left: 18px; color: rgba(255, 255, 255, 0.75); font-size: 11px; }
.readiness-gates-heading { display: flex; justify-content: space-between; gap: 8px; }
.readiness-gates-heading span { color: rgba(255, 255, 255, 0.55); font-size: 9px; }
.readiness-gate-list { display: grid; gap: 5px; }
.readiness-gate {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 10px;
}
.readiness-result .secondary-button { border-color: rgba(255, 255, 255, 0.3); background: transparent; color: #fff; }

/* Supporting analysis screens */
.subview-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding: 10px 12px;
  border-radius: var(--radius-md);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.combination-grid, .market-grid, .secondary-market-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.combination-hero { grid-column: 1 / -1; display: grid; gap: 6px; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-nav); color: #fff; }
.combination-hero strong { font-size: var(--text-amount); }
.preliminary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-top: var(--space-4); }
.preliminary-item { display: grid; gap: 3px; }
.market-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-4); }
.market-distribution, .market-competition-chart { display: grid; gap: 8px; }
.distribution-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 11px; }
.distribution-track { height: 8px; overflow: hidden; border-radius: var(--radius-full); background: var(--color-surface-muted); }
.distribution-track i { display: block; height: 100%; border-radius: inherit; background: var(--color-info); }
.market-source-detail, .market-topline, .market-data-link-row { margin-top: var(--space-3); }
.market-data-controls { display: grid; grid-template-columns: 200px minmax(220px, 1fr); gap: var(--space-3); }
.market-data-card > * + * { margin-top: var(--space-4); }

/* 8. History, administration, and management surfaces */
.history-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.history-stats .metric-card small b { margin-left: 4px; color: var(--color-action); }
.history-performance-chart { margin-bottom: var(--space-4); }
.history-workspace { display: block; }
.history-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.history-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px;
  gap: var(--space-2);
  margin: var(--space-4) 0 var(--space-3);
  padding: 10px;
  border-radius: var(--radius-md);
  background: var(--color-surface-soft);
}
.history-title { display: block; max-width: 320px; font-weight: 800; line-height: 1.45; }
.history-meta { display: block; margin-top: 3px; color: var(--color-muted); font-size: 10px; }
.history-table th:nth-child(n+2), .history-table td:nth-child(n+2) { white-space: nowrap; }
.example-data-notice {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--color-warning-soft);
  color: var(--color-warning);
}
.example-data-notice span { flex: 0 0 auto; font-size: 11px; font-weight: 900; }
.example-data-notice p { font-size: 11px; }
.result-entry-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 172;
  width: min(560px, 94vw);
  height: 100dvh;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 0;
  border-radius: 0;
  box-shadow: var(--shadow-overlay);
}
.result-drawer-backdrop { z-index: 170; }
.admin-status-grid { margin-bottom: var(--space-4); }
.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.admin-v3-progress { border-top: 4px solid var(--color-info); }
.admin-v3-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.admin-v3-metrics > div { display: grid; gap: 3px; padding: 10px; border-radius: var(--radius-sm); background: var(--color-surface-soft); }
.admin-v3-metrics dt { color: var(--color-muted); font-size: 10px; }
.admin-v3-metrics dd { font-weight: 850; }
.admin-v3-blockers { margin-top: var(--space-3); background: var(--color-blocked-soft); color: var(--color-blocked); }
.admin-v3-blockers ul { color: var(--color-blocked); }
.admin-invite-form { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: var(--space-3); margin-top: var(--space-4); }
.admin-invite-form .field-wide { grid-column: 1 / -1; }
.admin-invite-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2);
  margin-top: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--color-info-soft);
}
.admin-invite-link[hidden] { display: none; }
.admin-invite-link small { grid-column: 1 / -1; color: var(--color-muted); font-size: 10px; }
.admin-list { display: grid; gap: 7px; margin-top: var(--space-3); }
.admin-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 10px 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.admin-list-item-main { display: grid; min-width: 0; }
.admin-list-item-main small { color: var(--color-muted); font-size: 10px; }
.admin-list-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.notification-preferences { display: grid; gap: var(--space-3); margin-top: var(--space-3); }
.notification-preferences fieldset { display: flex; flex-wrap: wrap; gap: 10px; }
.notification-preferences fieldset label { display: inline-flex; align-items: center; gap: 5px; }
.checklist { display: grid; gap: 7px; }
.check-item {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.check-icon { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--color-surface-muted); font-size: 10px; }
.trash-list { display: grid; gap: 8px; }
.trash-item { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 12px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.trash-type { color: var(--color-muted); font-size: 10px; font-weight: 850; }

/* 9. Drawers, dialogs, toast, and reports */
.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 150;
  border: 0;
  background: rgba(16, 42, 34, 0.43);
  backdrop-filter: blur(3px);
}
.drawer-backdrop[hidden] { display: none !important; }
body.drawer-open, body.profile-drawer-open, body.result-drawer-open { overflow: hidden; }
.market-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 152;
  width: min(720px, 94vw);
  height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--space-6);
  background: var(--color-bg);
  box-shadow: var(--shadow-overlay);
}
.market-drawer > * + * { margin-top: var(--space-4); }
.market-drawer .subview-bar { position: sticky; top: 0; z-index: 2; margin: -8px -8px 0; background: rgba(234, 240, 244, 0.96); backdrop-filter: blur(10px); }
.drawer-close-button { width: 38px; padding: 0; font-size: 22px; }
.market-drawer-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
  margin: var(--space-4) -8px -8px !important;
  padding: 12px;
  border-top: 1px solid var(--color-line);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
}
.report-dialog, .management-dialog {
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 0;
  background: transparent;
}
.report-dialog { width: min(1100px, calc(100% - 32px)); }
.management-dialog { width: min(680px, calc(100% - 32px)); }
.report-dialog::backdrop, .management-dialog::backdrop { background: rgba(16, 42, 34, 0.48); backdrop-filter: blur(4px); }
.report-sheet, .management-dialog-sheet {
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
}
.management-dialog-sheet { padding: var(--space-6); }
.management-dialog-sheet > * + * { margin-top: var(--space-4); }
.management-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.excel-import-guide { padding: var(--space-4); border-radius: var(--radius-md); background: var(--color-info-soft); }
.excel-import-guide p, .management-description { color: var(--color-muted); }
.report-sheet { padding: clamp(18px, 3vw, 34px); }
.report-dialog-actions {
  position: sticky;
  bottom: -34px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin: var(--space-6) -34px -34px;
  padding: 12px 34px;
  border-top: 1px solid var(--color-line);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
}
.decision-report { color: var(--color-ink); }
.report-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-6);
  padding-bottom: var(--space-6);
  border-bottom: 3px solid var(--color-nav);
}
.report-header h1 { font-size: 28px; }
.report-header-meta { display: grid; justify-items: end; color: var(--color-muted); font-size: 11px; }
.report-section { margin-top: var(--space-6); }
.report-section-heading { display: flex; align-items: center; gap: 8px; margin-bottom: var(--space-3); }
.report-section-heading span { color: var(--color-action); font-size: 11px; font-weight: 900; }
.report-facts, .report-check-grid, .report-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.report-facts > div, .report-check, .report-method-grid > div { display: grid; gap: 3px; padding: 10px; border-radius: var(--radius-sm); background: var(--color-surface-soft); }
.report-facts span, .report-check span { color: var(--color-muted); font-size: 10px; }
.report-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.report-list { padding-left: 18px; }
.report-decision { padding: var(--space-4); border-radius: var(--radius-md); background: var(--color-nav); color: #fff; }
.report-decision-summary { display: grid; gap: 5px; }
.report-disclaimer, .report-sample-note { margin-top: var(--space-4); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--color-warning-soft); color: var(--color-warning); font-size: 11px; }
.toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 220;
  max-width: min(480px, calc(100vw - 24px));
  padding: 12px 16px;
  border-radius: var(--radius-full);
  background: var(--color-nav);
  color: #fff;
  box-shadow: var(--shadow-overlay);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 16px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.principles {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: var(--space-8);
  margin-block: var(--space-6) var(--space-10);
  padding: var(--space-8);
  border-radius: var(--radius-lg);
  background: var(--color-nav);
  color: #fff;
}
.principles h2 { font-size: 24px; }
.principles ol { display: grid; gap: 8px; padding: 0; list-style: none; }
.principles li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; padding: 10px; border-radius: var(--radius-sm); background: rgba(255, 255, 255, 0.07); }
.principles li > span { color: #94ddc3; font-size: 10px; font-weight: 900; }
.principles li p { display: grid; color: rgba(255, 255, 255, 0.67); font-size: 12px; }
.principles li strong { color: #fff; font-size: 13px; }
body > footer {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-4) var(--space-8);
  color: var(--color-muted);
  font-size: 11px;
}

/* 10. Responsive layout */
@media (min-width: 1280px) {
  .workspace-shell {
    display: grid;
    grid-template-columns: 192px minmax(0, 1fr);
    gap: var(--space-6);
    align-items: start;
  }
  .tab-list {
    position: sticky;
    top: calc(var(--header-height) + 16px);
    grid-column: 1;
    grid-row: 1;
    min-height: min(520px, calc(100dvh - var(--header-height) - 32px));
    max-height: calc(100dvh - var(--header-height) - 32px);
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px;
    overflow-y: auto;
    border-radius: var(--radius-lg);
    background: var(--color-nav);
    box-shadow: var(--shadow-raised);
  }
  .tab-panel {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .analysis-grid { grid-template-columns: minmax(340px, 0.72fr) minmax(480px, 1.28fr); }
  .card { padding: var(--space-4); }
  .result-card { min-height: 380px; }
  .final-recommendation { padding: 20px; }
  .condition-check-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) and (max-width: 1279px) {
  :root { --header-height: 68px; }
  .workspace-shell { display: block; padding-top: var(--space-3); }
  .tab-list {
    position: sticky;
    top: calc(var(--header-height) + 6px);
    z-index: 60;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: var(--space-4);
    padding: 6px;
    border-radius: var(--radius-md);
    background: rgba(16, 42, 34, 0.97);
    box-shadow: var(--shadow-raised);
    backdrop-filter: blur(12px);
  }
  .tab-list:has(#tab-admin:not([hidden])) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .workspace-nav-heading, .workspace-nav-note { display: none; }
  .tab-button {
    grid-template-columns: 24px auto;
    justify-content: center;
    min-height: 48px;
    padding: 6px 8px;
    text-align: center;
  }
  .tab-button.active, .tab-button[aria-selected="true"] { box-shadow: inset 0 -3px 0 #75d1b1; }
  .tab-index { display: none; }
  .tab-icon { width: 24px; height: 24px; }
  .header-inner { gap: var(--space-3); }
  .status-pill { padding-inline: 10px; }
  #storageStatusText { display: none; }
  .company-switcher { min-width: 210px; }
  .notice-data-toolbar { top: calc(var(--header-height) + 66px); }
}

@media (max-width: 1023px) {
  .analysis-grid, .production-workspace-grid, .admin-grid, .combination-grid, .market-grid,
  .secondary-market-grid { grid-template-columns: 1fr; }
  .analysis-grid.inputs-collapsed .result-card.has-result { order: -1; }
  .analysis-input-summary { order: 0; }
  .production-bid-workspace { grid-column: 1; }
  .readiness-result { position: static; }
  .workflow-orbit { grid-template-columns: 1fr; }
  .workflow-orbit-visual { grid-template-columns: 90px minmax(0, 1fr); }
  .condition-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .notice-data-toolbar { grid-template-columns: minmax(220px, 1fr) 140px; }
  .notice-source { grid-column: 1 / -1; justify-content: flex-start; }
  .report-facts, .report-check-grid, .report-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
  .dashboard-metrics, .history-stats, .admin-status-grid, .admin-v3-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-visual-grid, .dashboard-grid, .history-performance-chart { grid-template-columns: 1fr; }
  .panel-intro, .dashboard-welcome, .production-workspace-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .panel-intro > p { max-width: none; text-align: left; }
  .dashboard-welcome { min-height: 0; padding: var(--space-6); }
  .dashboard-action-panel > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .notice-card { grid-template-columns: 1fr; }
  .notice-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .notice-score { justify-items: start; }
  .strategy-card { grid-template-columns: minmax(110px, 0.65fr) minmax(170px, 1.35fr); }
  .strategy-probabilities { grid-column: 1 / -1; justify-content: flex-start; }
  .manual-bid-test { grid-template-columns: 1fr; }
  .validation-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principles { grid-template-columns: 1fr; }
  .report-two-column { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  :root { --header-height: 62px; }
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .header-inner, .invitation-banner, .workspace-shell, .principles, body > footer {
    width: min(100% - 20px, 1400px);
  }
  .site-header { min-height: var(--header-height); }
  .header-inner { min-height: var(--header-height); gap: 7px; }
  .brand { gap: 7px; }
  .brand-mark { width: 34px; height: 34px; }
  .brand strong { font-size: 15px; }
  .brand small, .status-pill { display: none; }
  .header-actions { flex: 1; gap: 5px; }
  .company-switcher { min-width: 0; flex: 1; }
  .company-switcher select { height: 38px; padding-inline: 10px 30px; font-size: 12px; }
  .header-actions .ghost-button.compact { min-width: 42px; min-height: 38px; padding-inline: 8px; font-size: 11px; }
  .alert-button > span:first-child { display: none; }
  .settings-popover, .alert-popover { position: fixed; top: calc(var(--header-height) + 6px); right: 10px; left: 10px; width: auto; }
  .workspace-shell { display: block; padding-top: var(--space-3); }
  .tab-list {
    position: fixed;
    inset: auto 8px max(8px, env(safe-area-inset-bottom));
    z-index: 140;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    background: rgba(16, 42, 34, 0.98);
    box-shadow: var(--shadow-overlay);
    backdrop-filter: blur(14px);
  }
  .tab-list:has(#tab-admin:not([hidden])) {
    grid-template-columns: repeat(5, minmax(64px, 1fr));
    overflow-x: auto;
  }
  .workspace-nav-heading, .workspace-nav-note, .tab-index { display: none; }
  .tab-button {
    min-width: 0;
    min-height: 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 4px 2px;
    text-align: center;
    white-space: normal;
    font-size: 10px;
  }
  .tab-button.active, .tab-button[aria-selected="true"] { box-shadow: inset 0 -3px 0 #75d1b1; }
  .tab-icon { width: 23px; height: 23px; font-size: 12px; }
  .tab-label { max-width: 74px; }
  .card { padding: var(--space-4); }
  .panel-intro { margin-bottom: var(--space-3); }
  .panel-intro h1, .dashboard-welcome h1 { font-size: 24px; }
  .dashboard-welcome { padding: 20px; border-radius: var(--radius-md); }
  .dashboard-welcome .primary-button { width: 100%; }
  .dashboard-metrics, .history-stats, .admin-status-grid { gap: 8px; }
  .dashboard-metric, .metric-card { min-height: 100px; padding: 12px; }
  .dashboard-metric > strong, .metric-card > strong { font-size: 24px; }
  .dashboard-guidance > summary { align-items: flex-start; flex-direction: column; justify-content: center; gap: 0; padding-block: 10px; }
  .dashboard-guidance > summary small { margin-left: 0; }
  .workflow-orbit { padding: var(--space-4); }
  .workflow-orbit-visual { grid-template-columns: 1fr; }
  .workflow-ring { width: 90px; }
  .dashboard-action-panel > div, .profile-form-actions, .management-actions,
  .market-drawer-actions, .report-dialog-actions { grid-template-columns: 1fr; flex-direction: column; }
  .dashboard-action-panel > div > *, .profile-form-actions > *, .management-actions > *,
  .market-drawer-actions > *, .report-dialog-actions > * { width: 100%; }
  .field-row, .policy-input-grid, .toggle-panel, .result-summary, .performance-summary,
  .formula-steps, .ready-candidate dl { grid-template-columns: 1fr; }
  .calculation-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analysis-input-summary dl { grid-template-columns: 1fr 1fr; }
  .analysis-input-summary button { width: 100%; }
  .final-recommendation > div > strong { white-space: normal; overflow-wrap: anywhere; font-size: clamp(31px, 10vw, 39px); }
  .recommendation-facts { grid-template-columns: 1fr; }
  .strategy-card { grid-template-columns: 1fr; }
  .strategy-amount { white-space: normal; overflow-wrap: anywhere; }
  .strategy-probabilities { grid-column: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .notice-data-toolbar { position: static; grid-template-columns: 1fr; }
  .notice-source { grid-column: 1; flex-wrap: wrap; }
  .notice-source > span:not(.source-chip) { max-width: 100%; }
  .official-notice-lookup-controls, .history-toolbar, .market-data-controls { grid-template-columns: 1fr; }
  .recommendation-filter { display: grid; gap: 8px; }
  .filter-group { align-items: flex-start; }
  .notice-match-chart { grid-template-columns: 1fr; }
  .notice-actions { grid-template-columns: 1fr; }
  .notice-card-head { align-items: flex-start; flex-direction: column; }
  .condition-check-grid, .market-metrics, .report-facts, .report-check-grid,
  .report-method-grid, .admin-invite-form, .admin-invite-link { grid-template-columns: 1fr; }
  .admin-invite-link small, .admin-invite-form .field-wide { grid-column: 1; }
  .result-entry-drawer, .profile-card.expanded, .market-drawer {
    inset: auto 0 0;
    width: 100%;
    height: min(88dvh, 760px);
    border-radius: 20px 20px 0 0;
  }
  .market-drawer-actions { padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  .history-table thead { display: none; }
  .history-table, .history-table tbody, .history-table tr, .history-table td { display: block; width: 100%; }
  .history-table tr { padding: 10px; border-bottom: 1px solid var(--color-line); }
  .history-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; padding: 7px 4px; border: 0; white-space: normal !important; }
  .history-table td::before { content: attr(data-label); color: var(--color-muted); font-size: 10px; font-weight: 850; }
  .history-title { max-width: none; }
  .preliminary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-sheet, .management-dialog-sheet { border-radius: var(--radius-md); }
  .report-header { flex-direction: column; }
  .report-header-meta { justify-items: start; }
  .report-dialog-actions { position: static; margin: var(--space-4) 0 0; padding: var(--space-3) 0 0; }
  .principles { padding: var(--space-4); }
  body > footer { flex-direction: column; }
  .toast { bottom: calc(88px + env(safe-area-inset-bottom)); border-radius: var(--radius-md); }
}

@media (max-width: 430px) {
  .brand span { display: none; }
  .dashboard-metrics, .history-stats, .admin-status-grid, .admin-v3-metrics { grid-template-columns: 1fr; }
  .dashboard-metric-secondary { display: none; }
  .dashboard-action-panel > div { grid-template-columns: 1fr; }
  .analysis-input-summary dl, .strategy-probabilities, .condition-check-grid,
  .market-metrics { grid-template-columns: 1fr; }
  .preliminary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 11. Motion preference */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* 12. Printing */
@media print {
  @page { size: A4; margin: 12mm; }
  .site-header, .tab-list, .principles, body > footer, .toast, .drawer-backdrop,
  .market-drawer, .report-dialog-actions, .result-entry-drawer, .profile-card.expanded {
    display: none !important;
  }
  body, main, .workspace-shell { width: 100% !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
  .tab-panel:not(.active) { display: none !important; }
  .tab-panel.active { display: block !important; }
  .card { box-shadow: none !important; break-inside: avoid; }
  dialog:not([open]) { display: none !important; }
  body:has(#decisionReportDialog[open]) main,
  body:has(#decisionReportDialog[open]) > :not(#decisionReportDialog) { display: none !important; }
  #decisionReportDialog[open] {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .report-sheet, .decision-report {
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
  }
  * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
/* 13. Precision Console — visual system refresh, 2026-09-14 */
:root {
  --color-bg: #eef2f6;
  --color-surface: #ffffff;
  --color-surface-soft: #f5f7fa;
  --color-surface-muted: #e8edf3;
  --color-ink: #0a111c;
  --color-muted: #667180;
  --color-line: #d9e0e8;
  --color-line-strong: #bec8d4;
  --color-nav: #0a111c;
  --color-nav-soft: #151f2c;
  --color-action: #2457ff;
  --color-action-hover: #1645df;
  --color-success: #087b62;
  --color-success-soft: #e3f5ef;
  --color-warning: #9b5d00;
  --color-warning-soft: #fff2d6;
  --color-blocked: #c23737;
  --color-blocked-soft: #ffebea;
  --color-info: #2457ff;
  --color-info-soft: #e9efff;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --shadow-card: 0 1px 2px rgba(10, 17, 28, 0.04), 0 10px 30px rgba(10, 17, 28, 0.035);
  --shadow-raised: 0 18px 42px rgba(10, 17, 28, 0.11);
  --shadow-overlay: 0 30px 90px rgba(10, 17, 28, 0.26);
  --focus-ring: 0 0 0 4px rgba(36, 87, 255, 0.18);
  --text-label: 14px;
  --text-body: 16px;
  --text-section: 22px;
  --text-page: clamp(28px, 2.8vw, 38px);
}

body {
  background:
    linear-gradient(rgba(10, 17, 28, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 17, 28, 0.022) 1px, transparent 1px),
    var(--color-bg);
  background-size: 36px 36px;
  font-size: var(--text-body);
}

:is(button, a, input, select, textarea, summary):focus-visible {
  outline-color: rgba(36, 87, 255, 0.52);
  box-shadow: var(--focus-ring);
}

.site-header {
  border-bottom-color: rgba(190, 200, 212, 0.7);
  background: rgba(255, 255, 255, 0.88);
}

.header-inner, .invitation-banner, .workspace-shell, .principles, body > footer {
  width: min(1540px, calc(100% - 40px));
}

.brand { gap: 11px; }
.brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(36, 87, 255, 0.22);
}
.brand strong { font-size: 19px; letter-spacing: -0.055em; }
.brand small { color: #667180; letter-spacing: 0.18em; }

.status-pill,
.company-switcher select,
.ghost-button,
.secondary-button,
.settings-action {
  border-color: var(--color-line);
  background: #fff;
}

.company-switcher select { border-color: var(--color-line-strong); }
.company-switcher select:hover { border-color: var(--color-action); }

.primary-button,
.primary-button.compact-action,
.settings-action.primary {
  border-color: var(--color-action);
  background: var(--color-action);
  color: #fff;
  box-shadow: 0 8px 18px rgba(36, 87, 255, 0.18);
}
.primary-button:hover,
.primary-button.compact-action:hover,
.settings-action.primary:hover { background: var(--color-action-hover); }

.workspace-shell { padding-block: 22px 48px; }

.tab-list {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 0 0, rgba(36, 87, 255, 0.28), transparent 180px),
    var(--color-nav);
  box-shadow: 0 26px 70px rgba(10, 17, 28, 0.22);
}

.workspace-nav-heading span { color: #83a0ff; }
.workspace-nav-heading strong { color: #fff; }
.workspace-nav-note { color: rgba(255, 255, 255, 0.48); }

.tab-button { color: rgba(255, 255, 255, 0.62); }
.tab-button:hover { background: rgba(255, 255, 255, 0.07); }
.tab-button.active,
.tab-button[aria-selected="true"] {
  background: #2457ff;
  color: #fff;
  box-shadow: 0 14px 30px rgba(36, 87, 255, 0.28);
}
.tab-button.active .tab-icon,
.tab-button[aria-selected="true"] .tab-icon { background: rgba(255, 255, 255, 0.16); }
.tab-index { color: #83a0ff; }
.tab-button.active .tab-index,
.tab-button[aria-selected="true"] .tab-index { color: #dce5ff; }

.card,
.dashboard-metric,
.metric-card {
  border-color: var(--color-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-card);
}

.dashboard-welcome {
  position: relative;
  min-height: 244px;
  overflow: hidden;
  padding: clamp(30px, 4vw, 58px);
  border: 1px solid #182335;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 28%, rgba(65, 112, 255, 0.95) 0 2px, transparent 3px),
    linear-gradient(116deg, #0a111c 0%, #111d2d 68%, #162b5f 100%);
  box-shadow: 0 28px 72px rgba(10, 17, 28, 0.2);
}
.dashboard-welcome::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: min(38vw, 460px);
  background:
    linear-gradient(90deg, transparent, rgba(36, 87, 255, 0.08)),
    repeating-linear-gradient(135deg, transparent 0 21px, rgba(255, 255, 255, 0.055) 22px 23px);
  transform: skewX(-10deg) translateX(38px);
}
.dashboard-welcome::after {
  inset: auto 58px 38px auto;
  width: 116px;
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #2457ff 0 68%, #b9ff66 68% 100%);
  opacity: 1;
}
.dashboard-welcome .section-kicker { color: #94abff; letter-spacing: 0.16em; }
.dashboard-welcome h1 {
  max-width: 760px;
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.065em;
}
.dashboard-welcome p { max-width: 640px; color: rgba(255, 255, 255, 0.68); font-size: 16px; }
.dashboard-welcome .primary-button {
  border-color: #b9ff66;
  background: #b9ff66;
  color: #0a111c;
  box-shadow: none;
}
.dashboard-welcome .primary-button:hover { background: #d0ff98; }

.dashboard-metrics { gap: 10px; }
.dashboard-metric {
  position: relative;
  min-height: 138px;
  padding: 20px;
  text-align: left;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.dashboard-metric::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 14px 0 0 14px;
  background: var(--color-action);
  opacity: 0;
  transition: opacity 0.18s ease;
}
.dashboard-metric:hover {
  border-color: #9db0ff;
  box-shadow: 0 16px 34px rgba(10, 17, 28, 0.09);
  transform: translateY(-2px);
}
.dashboard-metric:hover::before { opacity: 1; }
.dashboard-metric > span { color: #5a6675; font-size: 13px; font-weight: 800; }
.dashboard-metric > strong { color: #0a111c; font-size: clamp(30px, 3vw, 42px); letter-spacing: -0.055em; }
.dashboard-metric > small { color: #818b98; }
.dashboard-metric.urgent { background: #fffaf0; border-color: #efd49a; }

.dashboard-today-card {
  border-top: 3px solid var(--color-action);
  box-shadow: 0 18px 48px rgba(10, 17, 28, 0.07);
}
.section-kicker { color: var(--color-action); letter-spacing: 0.13em; }
.text-button { color: var(--color-action); }

@media (min-width: 980px) {
  .workspace-shell {
    grid-template-columns: 224px minmax(0, 1fr);
    gap: 24px;
  }
  .tab-list {
    position: sticky;
    top: calc(var(--header-height) + 22px);
    z-index: 50;
    display: flex;
    min-height: calc(100vh - var(--header-height) - 44px);
    max-height: calc(100vh - var(--header-height) - 44px);
    padding: 22px 14px;
    border-radius: 18px;
  }
  .tab-panel { grid-column: 2; grid-row: 1; }
  .tab-button {
    grid-template-columns: 24px 34px minmax(0, 1fr);
    min-height: 54px;
    padding: 8px 10px;
    text-align: left;
  }
}

@media (max-width: 979px) and (min-width: 768px) {
  .tab-button.active,
  .tab-button[aria-selected="true"] { box-shadow: 0 10px 22px rgba(36, 87, 255, 0.2); }
}

@media (max-width: 767px) {
  .header-inner, .invitation-banner, .workspace-shell, .principles, body > footer {
    width: min(100% - 20px, 1540px);
  }
  .tab-list {
    background: rgba(10, 17, 28, 0.97);
    border-radius: 16px;
  }
  .tab-button.active,
  .tab-button[aria-selected="true"] { box-shadow: none; }
  .dashboard-welcome { min-height: 0; padding: 26px 22px; }
  .dashboard-welcome h1 { font-size: clamp(30px, 9.5vw, 44px); }
  .dashboard-welcome::before { width: 52vw; opacity: 0.6; }
  .dashboard-welcome::after { right: 24px; bottom: 24px; width: 76px; }
}

/* 14. Precision Console — complete component pass */
small { font-size: 12px; line-height: 1.45; }

.panel-intro {
  align-items: end;
  margin-bottom: 18px;
  padding: 8px 2px 4px;
}
.panel-intro h1 { margin-top: 4px; font-size: var(--text-page); line-height: 1.08; letter-spacing: -0.055em; }
.panel-intro > p { max-width: 560px; color: #7a8492; font-size: 14px; }
.panel-intro .section-kicker { color: var(--color-action); }

.card-heading h2, .production-workspace-heading h2 { font-size: 22px; letter-spacing: -0.04em; }
.field > span, label.field > span { color: #3c4856; font-size: 14px; }
input, select, textarea {
  min-height: 44px;
  border-color: var(--color-line-strong);
  border-radius: 8px;
  background: #fff;
}
input:hover, select:hover, textarea:hover { border-color: #8fa7fb; }
input:focus, select:focus, textarea:focus { border-color: var(--color-action); }
.secondary-button:hover, .ghost-button:hover, .settings-action:hover {
  border-color: #9db0ff;
  background: #f3f6ff;
  color: var(--color-action);
}

.profile-card:not(.expanded) {
  padding: 20px 22px;
  border-left: 4px solid var(--color-action);
  box-shadow: var(--shadow-card);
}
.profile-card.expanded, .result-entry-drawer, .market-drawer {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  background: #fff;
}
.profile-heading-actions { flex: 0 0 auto; }
.profile-heading-actions button { min-width: 82px; white-space: nowrap; }
.profile-step-heading > span {
  background: var(--color-info-soft);
  color: var(--color-action);
}
.collection-rules-panel, .official-condition-fieldset, .notification-preferences fieldset {
  border-color: #d5ddea;
  background: #f5f7fb;
}
.checkbox-pills span { border-radius: 8px; }
.checkbox-pills input:checked + span { border-color: #9db0ff; background: var(--color-info-soft); color: var(--color-action); }

.notice-recommendations {
  border-top: 3px solid var(--color-action);
  box-shadow: 0 18px 48px rgba(10, 17, 28, 0.06);
}
.matcher-summary strong { color: var(--color-action); font-size: 36px; }
.official-notice-lookup {
  padding: 18px;
  border-color: #cfd9f5;
  background: linear-gradient(135deg, #f5f7ff, #f9fbff);
}
.official-notice-lookup > label span { font-size: 15px; }
.official-notice-lookup > label small { font-size: 12px; }
.filter-chip { min-height: 38px; border-radius: 9px; font-size: 13px; }
.filter-chip.active { box-shadow: 0 7px 16px rgba(36, 87, 255, 0.17); }
.qualification-guide { font-size: 12px; }
.qualification-guide span { border-radius: 7px; font-size: 11px; }
.notice-data-toolbar {
  top: calc(var(--header-height) + 10px);
  border-color: #cbd4df;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(10, 17, 28, 0.08);
}
.notice-source > span:not(.source-chip) { font-size: 12px; }
.notice-match-chart { border: 1px solid #dfe5ec; background: #f7f9fb; }
.notice-card {
  grid-template-columns: minmax(0, 1fr) 168px;
  padding: 19px;
  border-radius: 12px;
  box-shadow: 0 1px 0 rgba(10, 17, 28, 0.02);
}
.notice-card:hover { border-color: #9db0ff; box-shadow: 0 16px 34px rgba(10, 17, 28, 0.09); }
.notice-card h3 { font-size: 18px; }
.notice-meta { color: #75808e; font-size: 12px; }
.notice-tags > span { border-radius: 6px; background: #edf1f6; font-size: 11px; }
.notice-amount-row { font-size: 13px; }
.notice-reason { font-size: 12px; }
.notice-score span, .notice-score small { font-size: 11px; }
.notice-score strong { color: var(--color-action); font-size: 24px; }

.analysis-grid { gap: 18px; }
.input-card, .result-card { box-shadow: 0 18px 48px rgba(10, 17, 28, 0.055); }
.input-card { border-top: 3px solid #91a6ec; }
.calculation-steps li { min-height: 50px; border: 1px solid transparent; border-radius: 9px; font-size: 12px; }
.calculation-steps li.complete { border-color: #bfe4da; }
.calculation-steps li.active { border-color: #a8b8ed; box-shadow: none; background: var(--color-info-soft); color: var(--color-action); }
.calculation-steps li.active span { background: var(--color-action); color: #fff; }
.toggle-panel { border-color: #cdd8f7; background: #f5f7ff; }
.data-source { border: 1px solid #ccd7f7; }
.analysis-input-summary { border-color: #b9c8ff; }
.result-card.has-result { border-top-color: var(--color-action); }
.final-recommendation {
  border-color: #b6c5fb;
  border-left-color: var(--color-action);
  background: linear-gradient(135deg, #fff 30%, #f1f4ff);
}
.final-recommendation > div > strong { color: #1239ad; }
.recommendation-facts { border-top-color: #d2dbfa; }
.strategy-card.recommended { background: #f1f4ff; box-shadow: inset 3px 0 0 var(--color-action); }
.strategy-name i { background: var(--color-info-soft); color: var(--color-action); }
.manual-bid-test { border: 1px solid #d1daf5; }
.production-bid-workspace { border-top-color: var(--color-action); }
.production-control-section { background: #f6f8fb; }
.readiness-result {
  border-color: #182844;
  background: radial-gradient(circle at 92% 0%, rgba(36, 87, 255, 0.38), transparent 210px), #0a111c;
}
.readiness-result .section-kicker { color: #94abff; }
.readiness-score-block progress { accent-color: var(--color-action); }
.ready-candidate > strong { color: var(--color-action); }

.history-stats .metric-card { min-height: 136px; border-top: 3px solid #c7d0dc; }
.history-stats .metric-card:first-child { border-top-color: var(--color-action); }
.history-stats .metric-card:nth-child(2) { border-top-color: #0b8a6c; }
.history-stats .metric-card:nth-child(3) { border-top-color: #ffad33; }
.history-toolbar { border: 1px solid #dce2e9; background: #f5f7fa; }
.history-table thead { background: #f5f7fa; }
.history-table th { color: #5e6977; }
.admin-v3-progress { border-top-color: var(--color-action); }
.admin-v3-metrics > div { border: 1px solid #e0e5ec; background: #f7f9fb; }
.admin-invite-link { border: 1px solid #ccd7f7; }

.workflow-orbit, .combination-hero {
  background: radial-gradient(circle at 96% 6%, rgba(36, 87, 255, 0.34), transparent 220px), #0a111c;
}
.workflow-ring { border-color: #6387ff; }
.roadmap-card { border-top: 3px solid #b9ff66; }

.principles {
  border-radius: 18px;
  background: radial-gradient(circle at 100% 0%, rgba(36, 87, 255, 0.28), transparent 250px), #0a111c;
  box-shadow: 0 24px 60px rgba(10, 17, 28, 0.18);
}
.principles .section-kicker { color: #94abff; }
.principles li { border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 9px; background: rgba(255, 255, 255, 0.045); }
.principles li > span { color: #b9ff66; font-size: 12px; }
.principles li p { font-size: 13px; }
.principles li strong { font-size: 14px; }
body > footer { color: #6f7a88; font-size: 13px; }

@media (min-width: 1280px) {
  .analysis-grid { grid-template-columns: minmax(400px, 0.72fr) minmax(0, 1.28fr); }
}

@media (max-width: 979px) {
  .panel-intro { align-items: flex-start; }
  .panel-intro > p { text-align: left; }
}

@media (max-width: 767px) {
  body { font-size: 16px; }
  .panel-intro h1 { font-size: 29px; }
  .panel-intro > p { font-size: 13px; }
  .notice-card { grid-template-columns: 1fr; }
  .notice-actions { grid-template-columns: 1fr; }
  .history-stats .metric-card { min-height: 112px; }
  .profile-heading-actions .neutral-badge { display: none; }
}

@media print {
  body, main, .workspace-shell { background: #fff !important; }
  .site-header, .tab-list, .principles, body > footer { display: none !important; }
  .card, .metric-card, .dashboard-metric { box-shadow: none !important; }
}

.integration-nav{display:flex;gap:24px;flex-wrap:wrap;padding:14px 24px;background:#edf3f9;border-bottom:1px solid #dbe5ef}.integration-nav a{color:#152d4a;font-weight:700;text-decoration:none}

.guest-workspace .production-bid-workspace{display:none!important}
