:root {
  --coke-red: #F40009;
  --coke-red-dark: #B30000;
  --coke-red-soft: #FFF1F1;
  --coke-black: #000000;
  --coke-charcoal: #1E1E1E;
  --coke-gray-700: #374151;
  --coke-gray-500: #6B7280;
  --coke-gray-300: #D1D5DB;
  --coke-gray-200: #E5E7EB;
  --coke-gray-100: #F5F5F5;
  --coke-white: #FFFFFF;
  --status-success: #15803D;
  --status-warning: #D97706;
  --status-danger: #B30000;
  --status-info: #2563EB;
  --ai-preview-sheet-height: 500px;
  --ai-preview-head-height: 74px;
  --ai-preview-body-padding: 16px;
}

/* Project-bound brand authorization workflow, ported from the updated MVP. */
.authorization-steps { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 7px 12px; overflow-x: auto; border: 1px solid #e6e9ed; border-radius: 8px; background: #fff; white-space: nowrap; }
.authorization-steps span { display: flex; align-items: center; gap: 6px; color: #667085; font-size: 12px; font-weight: 600; }
.authorization-steps span.is-current { color: #1d2939; }
.authorization-steps strong { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: #e31b23; color: #fff; font-size: 10px; }
.authorization-steps i { color: #98a2b3; font-style: normal; }
.authorization-page-header { align-items: center; margin-bottom: 9px; }
.authorization-page-header .page-title { line-height: 1.15; }
.authorization-page-header .muted { margin: 3px 0 0; }
.authorization-form-card { padding: 9px 11px; margin-bottom: 10px; overflow: visible; }
.authorization-form-card > .dealer-section-head { margin-bottom: 5px; }
.authorization-form-card > .dealer-section-head > div { display: flex; align-items: baseline; gap: 9px; }
.authorization-form-card > .dealer-section-head h2, .authorization-form-card > .dealer-section-head p { margin: 0; }
.authorization-form-card > .dealer-section-head p { font-size: 12px; }
.authorization-form { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 6px 8px; }
.authorization-section { min-width: 0; padding: 7px 8px; border: 1px solid #e7eaee; border-radius: 8px; background: #fcfcfd; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.authorization-section:focus-within { border-color: #f4a3a7; background: #fff; box-shadow: 0 0 0 3px rgba(227, 27, 35, .06); }
.authorization-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 5px; padding-bottom: 4px; border-bottom: 1px solid #edf0f3; }
.authorization-section-head h3 { margin: 0; color: #1d2939; font-size: 14px; }
.authorization-section-head span { color: #98a2b3; font-size: 11px; white-space: nowrap; }
.authorization-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); gap: 8px; }
.authorization-section-wide, .authorization-content-section { grid-column: 1 / -1; }
.authorization-content-grid { display: grid; grid-template-columns: .9fr .9fr 1fr 1fr; gap: 8px; }
.authorization-project-fields { display: grid; grid-template-columns: 1.3fr 1.3fr .8fr .8fr; gap: 8px; margin-top: 5px; padding-top: 5px; border-top: 1px dashed #e4e7ec; }
.authorization-project-fields input[readonly] { border-color: #e4e7ec; background: #f7f8fa; color: #344054; }
.authorization-form label { display: block; margin-bottom: 2px; font-weight: 600; }
.authorization-form input, .authorization-form select { width: 100%; min-height: 31px; padding: 4px 8px; border-color: #d0d5dd; }
.authorization-form input:focus, .authorization-form select:focus, .authorization-brand-select summary:focus-visible { border-color: #e31b23; outline: 0; box-shadow: 0 0 0 3px rgba(227, 27, 35, .10); }
.authorization-form input[type="file"] { padding: 4px; background: #fff; }
.authorization-form small { display: block; margin-top: 2px; color: #667085; font-size: 10px; line-height: 1.25; }
.authorization-section-note { margin: 4px 0 0; padding-top: 4px; border-top: 1px dashed #e4e7ec; font-size: 10px; }
.authorization-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid #edf0f3; border-radius: 6px; background: #edf0f3; }
.authorization-summary > div { min-width: 0; padding: 7px 8px; background: #fff; }
.authorization-summary span { display: block; margin-bottom: 2px; color: #667085; font-size: 11px; }
.authorization-summary strong { display: block; overflow-wrap: anywhere; font-size: 12px; }
.authorization-summary-wide { grid-column: 1 / -1; }
.authorization-dealer-picker { margin-bottom: 4px; }
.authorization-match { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; padding: 4px 7px; border: 1px solid #eaecf0; border-radius: 6px; background: #f8f9fb; color: #667085; font-size: 11px; }
.authorization-match::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #98a2b3; }
.authorization-match.is-match { border-color: #abefc6; background: #ecfdf3; color: #067647; }
.authorization-match.is-match::before { background: #12b76a; }
.authorization-match.is-mismatch { border-color: #fecdca; background: #fef3f2; color: #b42318; }
.authorization-match.is-mismatch::before { background: #f04438; }
.authorization-brand-select { position: relative; }
.authorization-brand-select summary { min-height: 31px; overflow: hidden; padding: 5px 32px 5px 8px; border: 1px solid #cfd4dc; border-radius: 6px; background: #fff; cursor: pointer; list-style: none; text-overflow: ellipsis; white-space: nowrap; }
.authorization-brand-select summary::-webkit-details-marker { display: none; }
.authorization-brand-select summary::after { content: "⌄"; position: absolute; right: 11px; top: 6px; color: #667085; }
.authorization-brand-options { position: absolute; z-index: 20; top: calc(100% + 5px); right: 0; width: min(620px, 56vw); max-height: 280px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; overflow-y: auto; padding: 8px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; box-shadow: 0 14px 30px rgba(16, 24, 40, .18); }
.authorization-brand-options label { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 7px 8px; border: 1px solid transparent; border-radius: 6px; font-weight: 400; cursor: pointer; }
.authorization-brand-options label:hover { background: #f2f4f7; }
.authorization-brand-options label:has(input:checked) { border-color: #f4a3a7; background: #fff5f5; }
.authorization-brand-options input { width: auto; min-height: auto; margin-top: 3px; accent-color: #e31b23; }
.authorization-brand-options label > span { min-width: 0; }
.authorization-brand-options label strong { display: block; color: #1d2939; font-size: 12px; }
.authorization-submit { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 6px 8px; border: 1px solid #fecdca; border-radius: 8px; background: #fffafa; }
.authorization-submit p { display: grid; gap: 1px; margin: 0 auto 0 0; font-size: 11px; }
.authorization-submit p strong { color: #344054; font-size: 12px; }
.authorization-submit p span { color: #667085; }
.authorization-submit button { min-width: 124px; }
.authorization-download { flex: 0 0 auto; min-width: 88px; text-align: center; }
.authorization-download.is-disabled { border-color: #e4e7ec; background: #f2f4f7; color: #98a2b3; cursor: not-allowed; pointer-events: none; }
.authorization-verification-note { margin: 0; padding: 5px 8px; border: 1px solid #d1e9ff; border-radius: 7px; background: #f5faff; color: #344054; font-size: 10px; }
.authorization-ledger-card { margin-top: 12px; }
.authorization-ledger-table tbody tr:hover td { background: #fffafa; }
.authorization-code { white-space: nowrap; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.authorization-applicant strong, .authorization-supply-item { display: block; }
.authorization-risk-none, .authorization-status-issued { background: #dcfae6; color: #067647; }
.authorization-risk-low { background: #fef0c7; color: #b54708; }
.authorization-risk-medium { background: #ffead5; color: #c4320a; }
.authorization-risk-high, .authorization-status-rejected, .authorization-status-void { background: #fee4e2; color: #b42318; }
.authorization-status-pending_group_approval, .authorization-status-pending_super_approval { background: #e0f2fe; color: #026aa2; }
.authorization-status-needs_changes { background: #fef0c7; color: #b54708; }
.authorization-ledger-download { display: block; margin-top: 3px; white-space: nowrap; }

.dashboard-table-panel table .dashboard-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.dashboard-table-panel table .dashboard-sort-button:hover,
.dashboard-table-panel table .dashboard-sort-button.is-active { background: transparent !important; color: var(--coke-red-dark); }
.dashboard-sort-button span { min-width: 10px; font-size: 10px; }
.dashboard-sort-button:focus-visible { outline: 2px solid var(--coke-red); outline-offset: 3px; }

/* Authorization is entered from the dedicated sidebar page, not the reputation header. */
.page-header > a.button-secondary[href="/bids/authorization-application/"] { display: none; }

@media (max-width: 900px) {
  .authorization-form { grid-template-columns: 1fr; }
  .authorization-section, .authorization-content-section { grid-column: auto; }
  .authorization-grid, .authorization-content-grid, .authorization-project-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .authorization-submit { align-items: stretch; flex-direction: column; }
}

@media (max-width: 640px) {
  .authorization-grid, .authorization-content-grid, .authorization-project-fields { grid-template-columns: 1fr; }
  .authorization-form-card > .dealer-section-head > div, .authorization-section-head { align-items: flex-start; flex-direction: column; gap: 2px; }
  .authorization-brand-options { right: auto; left: 0; width: 100%; grid-template-columns: 1fr; }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
  background: var(--coke-gray-100);
  color: var(--coke-charcoal);
  font-size: 14px;
}

a { color: var(--coke-red-dark); text-decoration: none; }
a:hover { text-decoration: underline; }

.topbar {
  height: 56px;
  background: var(--coke-red);
  color: var(--coke-white);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
}

.brand { display: flex; align-items: baseline; gap: 12px; font-weight: 700; }
.brand-name { font-size: 18px; }
.brand-mark { font-size: 12px; opacity: .9; letter-spacing: .02em; }
.topbar-user { display: flex; align-items: center; gap: 14px; }
.topbar-user form { margin: 0; }
.topbar-user button {
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .35);
  color: var(--coke-white);
  padding: 7px 10px;
}

.authenticated-layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
}
.authenticated-layout .topbar { flex: 0 0 auto; }
.authenticated-layout .app-shell {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  overflow: hidden;
}
.authenticated-layout .sidebar {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.authenticated-layout .main {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.app-shell { min-height: calc(100vh - 56px); display: grid; grid-template-columns: 220px 1fr; }
.sidebar { background: var(--coke-charcoal); padding: 18px 12px; }
.nav-link {
  display: block;
  color: #F3F4F6;
  padding: 9px 12px;
  border-radius: 6px;
  margin-bottom: 1px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}
.nav-link:hover { background: rgba(244, 0, 9, .22); color: var(--coke-white); text-decoration: none; }
.nav-link.active { background: var(--coke-red); color: var(--coke-white); }
.nav-group { margin: 4px 0; }
.nav-group-title {
  color: #D1D5DB;
  font-size: 14px;
  font-weight: 800;
  line-height: 20px;
  padding: 9px 12px;
  margin-bottom: 1px;
}
.nav-group.active .nav-group-title { color: var(--coke-white); }
.nav-group-children { padding-left: 10px; }
.nav-link.nav-child {
  padding: 9px 10px;
  margin-bottom: 1px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.main { min-width: 0; padding: 24px 28px 40px; }
.content-wrap { max-width: 1240px; margin: 0 auto; }

h1 { font-size: 24px; margin: 0 0 18px; letter-spacing: 0; }
h2 { font-size: 17px; margin: 26px 0 12px; letter-spacing: 0; }
h3 { font-size: 15px; margin: 20px 0 10px; letter-spacing: 0; }

.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.page-title { margin: 0; }
.import-compact-panel {
  padding: 16px;
  margin-bottom: 22px;
}
.import-compact-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.import-actions {
  flex-wrap: nowrap;
}
.import-upload-form {
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.import-upload-form label {
  margin: 0;
  white-space: nowrap;
}
.import-upload-form input[type="file"] {
  width: 100%;
  min-width: 0;
}
.import-upload-form button {
  white-space: nowrap;
}
.status-header-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.status-inline-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.status-inline-form select,
.status-inline-form input {
  width: auto;
  min-width: 128px;
  padding: 7px 9px;
}
.status-inline-form input {
  min-width: 180px;
}
.bid-detail-header {
  display: block;
  margin-bottom: 16px;
}
.bid-detail-header .page-title {
  font-size: 22px;
  margin-bottom: 8px;
}
.bid-detail-titlebar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}
.bid-detail-title-main {
  min-width: 0;
}
.bid-detail-actions {
  flex: 0 0 min(460px, 50%);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.bid-detail-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 6px;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.bid-status-compact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.bid-detail-header .status-inline-form {
  gap: 6px;
}
.bid-detail-header .status-inline-form select,
.bid-detail-header .status-inline-form input {
  min-width: 104px;
  height: 28px;
  padding: 4px 8px;
  font-size: 12px;
}
.bid-detail-header .status-inline-form input {
  min-width: 128px;
}
.bid-detail-header .status-inline-form button {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 12px;
  line-height: 1.2;
}
.document-upload-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 22px 0 10px;
}
.document-upload-row h2 {
  margin: 0;
  white-space: nowrap;
}
.document-upload-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.document-upload-form select,
.document-upload-form input {
  width: auto;
  padding: 7px 9px;
}
.document-upload-form select {
  min-width: 128px;
}
.document-upload-form input[type="file"] {
  max-width: 260px;
}
.document-upload-help {
  font-size: 12px;
  white-space: nowrap;
}
.document-list {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}
.document-item {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: center;
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  padding: 14px 16px;
}
.document-title {
  font-weight: 800;
  margin-bottom: 8px;
  overflow-wrap: anywhere;
}
.document-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--coke-gray-500);
  font-size: 12px;
}
.document-status {
  display: grid;
  gap: 8px;
  font-size: 13px;
}
.document-status > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.document-status-label {
  color: var(--coke-gray-700);
  font-weight: 800;
}
.document-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.document-actions .inline-form button {
  margin-left: 0;
}
.document-empty {
  padding: 14px 16px;
}
.dashboard-subtitle {
  color: var(--coke-charcoal);
  font-size: 17px;
  font-weight: 700;
  margin: 6px 0 0;
}
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

.priority-panel {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(30, 30, 30, .06);
  margin-bottom: 18px;
  padding: 18px;
}
.priority-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.priority-panel-head h2 {
  border-left: 4px solid var(--coke-red);
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
  padding-left: 10px;
}
.priority-panel-link {
  color: var(--status-info);
  font-weight: 700;
  white-space: nowrap;
}
.priority-panel-link::after {
  content: "›";
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  margin-left: 6px;
  transform: translateY(1px);
}
.priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.priority-card {
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, #fff7f7 100%);
  border: 1px solid #F5B5B5;
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 18px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 118px;
  padding: 22px 24px;
  text-decoration: none;
}
.priority-card:hover {
  border-color: var(--coke-red);
  box-shadow: 0 8px 20px rgba(179, 0, 0, .12);
  text-decoration: none;
}
.priority-card-warning {
  background: linear-gradient(135deg, #fff 0%, #FFF8EC 100%);
  border-color: #FDBA74;
}
.priority-card-icon {
  align-items: center;
  background: var(--coke-red);
  border-radius: 999px;
  color: var(--coke-white);
  display: inline-flex;
  font-size: 28px;
  font-weight: 800;
  height: 58px;
  justify-content: center;
  line-height: 1;
  width: 58px;
}
.priority-card-warning .priority-card-icon {
  background: #F59E0B;
}
.priority-card-body {
  display: block;
  min-width: 0;
}
.priority-card-title {
  color: var(--coke-charcoal);
  display: block;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}
.priority-card-value {
  color: var(--coke-red-dark);
  display: block;
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  margin-top: 10px;
}
.priority-card-warning .priority-card-value {
  color: #F59E0B;
}
.priority-card-note {
  background: #FFE2E2;
  border-radius: 999px;
  color: var(--coke-red);
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 12px;
  padding: 5px 10px;
}
.priority-card-warning .priority-card-note {
  background: #FEF3C7;
  color: #D97706;
}
.priority-card-arrow {
  color: var(--coke-charcoal);
  font-size: 34px;
  line-height: 1;
}

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.card {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  padding: 18px;
  margin-bottom: 16px;
}
.metric-card { border-top: 4px solid var(--coke-red); }
.risk-card { background: var(--coke-red-soft); border-left: 4px solid var(--coke-red-dark); }
.dashboard-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.dashboard-card-link:hover {
  border-color: var(--coke-red);
  box-shadow: 0 4px 12px rgba(30, 30, 30, .08);
  text-decoration: none;
  transform: translateY(-1px);
}
.dashboard-card-link:focus-visible {
  outline: 2px solid var(--coke-red);
  outline-offset: 2px;
}
.metric-label { color: var(--coke-gray-500); font-weight: 600; }
.metric { font-size: 30px; font-weight: 800; margin-top: 8px; }
.dashboard-grid {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.dashboard-grid .card {
  min-height: 54px;
  padding: 8px 10px;
  margin-bottom: 0;
  border-radius: 6px;
}
.dashboard-grid .metric-card { border-top-width: 2px; }
.dashboard-grid .risk-card { border-left-width: 2px; }
.dashboard-grid .metric-label {
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
.dashboard-grid .metric {
  font-size: 20px;
  line-height: 1;
  margin-top: 4px;
}
.dashboard-grid .badge { font-size: 10px; padding: 1px 6px; }
.dashboard-grid + h2 {
  margin-top: 16px;
}

.dashboard-energy-page {
  background:
    linear-gradient(180deg, rgba(244, 0, 9, .08), transparent 220px),
    #F3F4F6;
}
.dashboard-energy-page .topbar {
  background:
    linear-gradient(90deg, #E40012 0%, #F40009 48%, #A90000 100%);
  box-shadow: 0 8px 24px rgba(143, 0, 0, .22);
  height: 64px;
}
.dashboard-energy-page .brand-name {
  font-size: 18px;
  font-weight: 900;
}
.dashboard-energy-page .topbar-user {
  font-weight: 800;
}
.dashboard-energy-page .topbar-user button {
  border-color: rgba(255, 255, 255, .55);
  border-radius: 999px;
  font-weight: 800;
}
.dashboard-energy-page .app-shell {
  min-height: calc(100vh - 64px);
  grid-template-columns: 232px 1fr;
}
.dashboard-energy-page .sidebar {
  background:
    linear-gradient(180deg, #121212 0%, #1E1E1E 54%, #111 100%);
  border-right: 1px solid rgba(244, 0, 9, .25);
  padding: 18px 12px;
}
.dashboard-energy-page .nav-link,
.dashboard-energy-page .nav-group-title {
  border-radius: 10px;
  font-weight: 800;
}
.dashboard-energy-page .nav-link {
  color: rgba(255, 255, 255, .86);
}
.dashboard-energy-page .nav-link:hover {
  background: rgba(244, 0, 9, .18);
}
.dashboard-energy-page .nav-link.active {
  background: linear-gradient(135deg, #F40009 0%, #C90000 100%);
  box-shadow: 0 10px 22px rgba(244, 0, 9, .22);
}
.dashboard-energy-page .main {
  padding: 24px 30px 42px;
}
.dashboard-energy-page .content-wrap {
  max-width: 1280px;
}
.dashboard-home {
  position: relative;
}
.dashboard-hero {
  background:
    radial-gradient(circle at 12% 30%, rgba(255, 255, 255, .28), transparent 24%),
    linear-gradient(135deg, #F40009 0%, #C90000 56%, #111 100%);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(143, 0, 0, .2);
  color: var(--coke-white);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  min-height: 142px;
  overflow: hidden;
  padding: 26px 30px;
  position: relative;
}
.dashboard-hero::after {
  content: "";
  position: absolute;
  inset: auto -6% -42% 42%;
  height: 118px;
  border: 16px solid rgba(255, 255, 255, .18);
  border-left-color: transparent;
  border-radius: 999px 0 0 999px;
  transform: rotate(-10deg);
}
.coca-flow {
  position: absolute;
  pointer-events: none;
  border: 12px solid rgba(255, 255, 255, .16);
  border-right-color: transparent;
  border-radius: 999px;
  height: 150px;
  width: 430px;
}
.coca-flow-one {
  right: -92px;
  top: -38px;
  transform: rotate(-12deg);
}
.coca-flow-two {
  bottom: -86px;
  left: 34%;
  transform: rotate(8deg);
}
.dashboard-hero-copy,
.dashboard-hero-status {
  position: relative;
  z-index: 1;
}
.dashboard-hero-kicker {
  color: rgba(255, 255, 255, .78);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
  margin-bottom: 10px;
}
.dashboard-hero h1 {
  color: var(--coke-white);
  font-size: 28px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0;
}
.dashboard-hero p {
  color: rgba(255, 255, 255, .84);
  font-size: 14px;
  font-weight: 700;
  margin: 12px 0 0;
}
.dashboard-hero-status {
  align-self: center;
  background: rgba(0, 0, 0, .24);
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 12px;
  display: grid;
  gap: 8px;
  min-width: 176px;
  padding: 18px;
  text-align: right;
}
.dashboard-hero-status span {
  color: rgba(255, 255, 255, .76);
  font-size: 13px;
  font-weight: 800;
}
.dashboard-hero-status strong {
  color: #fff;
  font-size: 24px;
  line-height: 1;
}
.dashboard-energy-page .dashboard-page-header {
  display: none;
}
.dashboard-energy-page .priority-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
    linear-gradient(135deg, rgba(244, 0, 9, .14), transparent);
  border: 1px solid rgba(244, 0, 9, .18);
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(30, 30, 30, .08);
  overflow: hidden;
  padding: 20px;
  position: relative;
}
.dashboard-energy-page .priority-panel::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -76px;
  width: 420px;
  height: 160px;
  border: 14px solid rgba(244, 0, 9, .06);
  border-left-color: transparent;
  border-radius: 999px;
  transform: rotate(-10deg);
}
.dashboard-energy-page .priority-panel-head {
  position: relative;
  z-index: 1;
}
.dashboard-energy-page .priority-panel-head h2,
.dashboard-energy-page .dashboard-home h2 {
  color: var(--coke-charcoal);
  font-size: 18px;
  font-weight: 900;
}
.dashboard-energy-page .priority-panel-head h2 {
  border-left: 5px solid var(--coke-red);
}
.dashboard-energy-page .priority-panel-link {
  color: var(--coke-red);
}
.dashboard-energy-page .priority-grid {
  position: relative;
  z-index: 1;
}
.dashboard-energy-page .priority-card {
  background:
    linear-gradient(135deg, #fff 0%, #FFF7F7 58%, #FFECEC 100%);
  border: 1px solid rgba(244, 0, 9, .28);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(143, 0, 0, .08);
  min-height: 128px;
  overflow: hidden;
  position: relative;
}
.dashboard-energy-page .priority-card::after {
  content: "";
  position: absolute;
  bottom: -54px;
  right: -72px;
  width: 220px;
  height: 96px;
  border: 10px solid rgba(244, 0, 9, .08);
  border-left-color: transparent;
  border-radius: 999px;
  transform: rotate(-14deg);
}
.dashboard-energy-page .priority-card-warning {
  background: linear-gradient(135deg, #fff 0%, #FFF8EC 62%, #FFE8BE 100%);
  border-color: rgba(245, 158, 11, .42);
}
.dashboard-energy-page .priority-card-icon {
  background: linear-gradient(135deg, #F40009 0%, #B30000 100%);
  box-shadow: 0 12px 24px rgba(179, 0, 0, .24);
}
.dashboard-energy-page .priority-card-warning .priority-card-icon {
  background: linear-gradient(135deg, #FDBA2D 0%, #F59E0B 100%);
  box-shadow: 0 12px 24px rgba(245, 158, 11, .24);
}
.dashboard-energy-page .priority-card-title,
.dashboard-energy-page .metric-label {
  color: #262626;
  font-weight: 900;
}
.dashboard-energy-page .priority-card-value {
  color: var(--coke-red-dark);
  font-size: 46px;
}
.dashboard-energy-page .priority-card-warning .priority-card-value {
  color: #F59E0B;
}
.dashboard-energy-page .priority-card-arrow {
  color: #111;
  font-weight: 900;
  position: relative;
  z-index: 1;
}
.dashboard-energy-page .dashboard-grid {
  gap: 10px;
  margin-bottom: 16px;
}
.dashboard-energy-page .dashboard-grid .card {
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(30, 30, 30, .08);
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(30, 30, 30, .05);
  min-height: 64px;
}
.dashboard-energy-page .dashboard-grid .metric-card {
  border-top: 3px solid var(--coke-red);
}
.dashboard-energy-page .dashboard-grid .risk-card {
  background: linear-gradient(135deg, #fff, #FFF1F1);
  border-left: 3px solid var(--coke-red-dark);
}
.dashboard-energy-page .dashboard-grid .metric {
  color: #111;
  font-size: 22px;
  font-weight: 900;
}
.dashboard-energy-page table {
  background: rgba(255, 255, 255, .96);
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(30, 30, 30, .05);
}

.dashboard-energy-page {
  background: #f5f6f8;
  color: #111827;
}
.dashboard-energy-page .topbar {
  height: 88px;
  background: linear-gradient(90deg, #c90000 0%, #ec0000 45%, #c70000 100%);
  box-shadow: 0 2px 10px rgba(148, 0, 0, .22);
  padding: 0 28px;
}
.dashboard-energy-page .brand-name {
  color: #fff;
  font-size: 31px;
  font-weight: 900;
  letter-spacing: 0;
}
.dashboard-energy-page .topbar-user {
  gap: 22px;
}
.dashboard-energy-page .topbar-icon {
  align-items: center;
  border: 2px solid rgba(255, 255, 255, .94);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  height: 24px;
  justify-content: center;
  line-height: 1;
  position: relative;
  width: 24px;
}
.dashboard-energy-page .topbar-bell::before {
  content: "";
  border: 2px solid #fff;
  border-bottom: 0;
  border-radius: 11px 11px 4px 4px;
  height: 17px;
  left: -9px;
  position: absolute;
  top: 6px;
  width: 15px;
}
.dashboard-energy-page .topbar-identity {
  display: grid;
  gap: 2px;
  line-height: 1.15;
}
.dashboard-energy-page .topbar-identity span,
.dashboard-energy-page .topbar-identity strong {
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}
.dashboard-energy-page .topbar-identity strong {
  font-size: 14px;
}
.dashboard-energy-page .topbar-identity::after {
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #fff;
  position: absolute;
  right: 148px;
  top: 34px;
}
.dashboard-energy-page .topbar-user button {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 6px;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  padding: 10px 18px;
}
.dashboard-energy-page .app-shell {
  grid-template-columns: 292px 1fr;
  min-height: calc(100vh - 88px);
}
.dashboard-energy-page .sidebar {
  background: linear-gradient(180deg, #101923 0%, #071019 100%);
  border-right: 0;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .03);
  padding: 20px 12px 28px;
}
.dashboard-energy-page .nav-link,
.dashboard-energy-page .nav-group-title {
  align-items: center;
  border-radius: 7px;
  color: rgba(255, 255, 255, .86);
  display: flex;
  font-size: 20px;
  font-weight: 800;
  gap: 14px;
  line-height: 24px;
  margin-bottom: 9px;
  min-height: 56px;
  padding: 12px 18px;
}
.dashboard-energy-page .nav-group-title {
  margin-bottom: 2px;
}
.dashboard-energy-page .nav-link.nav-child {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
  min-height: 34px;
  padding: 5px 16px 5px 52px;
}
.dashboard-energy-page .nav-link:hover,
.dashboard-energy-page .nav-group.active .nav-group-title {
  background: rgba(255, 255, 255, .06);
  color: #fff;
  text-decoration: none;
}
.dashboard-energy-page .nav-link.active {
  background: linear-gradient(90deg, #f40009 0%, #e00000 100%);
  box-shadow: 0 10px 20px rgba(244, 0, 9, .28);
}
.dashboard-energy-page .nav-icon {
  align-items: center;
  border: 2px solid currentColor;
  border-radius: 4px;
  display: inline-flex;
  flex: 0 0 18px;
  height: 18px;
  justify-content: center;
  opacity: .95;
  position: relative;
  width: 18px;
}
.dashboard-energy-page .nav-link:first-child .nav-icon {
  background: currentColor;
  clip-path: polygon(50% 0, 100% 38%, 86% 38%, 86% 100%, 14% 100%, 14% 38%, 0 38%);
  border: 0;
}
.dashboard-energy-page .nav-child .nav-icon {
  display: none;
}
.dashboard-energy-page .nav-group-children {
  padding-left: 0;
}
.dashboard-energy-page .main {
  background: #f5f6f8;
  min-width: 0;
  padding: 36px 36px 64px;
  position: relative;
}
.dashboard-energy-page .content-wrap {
  max-width: 1680px;
}
.dashboard-home {
  padding-bottom: 18px;
}
.dashboard-console-header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0 8px 18px;
}
.dashboard-console-header h1 {
  color: #121826;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 8px;
}
.dashboard-console-header p {
  color: #4b5563;
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}
.dashboard-refresh {
  align-items: center;
  color: #334155;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 14px;
  font-weight: 800;
  justify-content: flex-end;
  min-width: 310px;
  padding-top: 18px;
}
.dashboard-energy-page .dashboard-page-header {
  display: none;
}
.dashboard-energy-page .priority-panel,
.dashboard-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
  margin-bottom: 14px;
  overflow: hidden;
  padding: 22px 22px 24px;
  position: relative;
}
.dashboard-energy-page .priority-panel::after,
.dashboard-panel::after {
  content: none;
}
.dashboard-energy-page .priority-panel-head,
.dashboard-panel h2 {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}
.dashboard-energy-page .priority-panel-head h2,
.dashboard-panel h2,
.dashboard-energy-page .dashboard-home h2 {
  border-left: 5px solid #f40009;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
  margin: 0;
  padding-left: 10px;
}
.dashboard-energy-page .priority-panel-link {
  color: #2563eb;
  font-size: 14px;
  font-weight: 900;
}
.dashboard-energy-page .priority-panel-link::after {
  content: "›";
  font-size: 22px;
  line-height: 0;
  margin-left: 8px;
  vertical-align: -2px;
}
.dashboard-energy-page .priority-grid {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dashboard-energy-page .priority-card {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .88)),
    linear-gradient(168deg, transparent 0 63%, rgba(244, 0, 9, .11) 64% 100%);
  border: 1px solid rgba(244, 0, 9, .36);
  border-radius: 7px;
  box-shadow: none;
  color: #111827;
  display: grid;
  grid-template-columns: 132px 1fr 36px;
  min-height: 210px;
  padding: 28px 28px;
}
.dashboard-energy-page .priority-card-warning {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .88)),
    linear-gradient(168deg, transparent 0 63%, rgba(245, 158, 11, .14) 64% 100%);
  border-color: rgba(245, 158, 11, .55);
}
.dashboard-energy-page .priority-card::after {
  content: "";
  background: linear-gradient(110deg, transparent 0 38%, rgba(244, 0, 9, .12) 39% 100%);
  bottom: 0;
  height: 66px;
  left: 0;
  opacity: .9;
  position: absolute;
  right: 0;
  transform: none;
  width: auto;
}
.dashboard-energy-page .priority-card-warning::after {
  background: linear-gradient(110deg, transparent 0 38%, rgba(245, 158, 11, .16) 39% 100%);
}
.dashboard-energy-page .priority-card-icon {
  align-items: center;
  background: linear-gradient(135deg, #f40009, #c90000);
  border: 4px solid rgba(255, 255, 255, .88);
  border-radius: 999px;
  box-shadow: 0 8px 14px rgba(244, 0, 9, .18);
  color: #fff;
  display: flex;
  font-size: 31px;
  font-weight: 900;
  height: 88px;
  justify-content: center;
  position: relative;
  width: 88px;
  z-index: 1;
}
.dashboard-energy-page .priority-card-icon::before,
.dashboard-energy-page .priority-card-icon::after {
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.dashboard-energy-page .priority-card-warning .priority-card-icon {
  background: linear-gradient(135deg, #ff9f00, #ff7600);
}
.priority-icon-clock::before {
  border: 3px solid #fff;
  border-radius: 999px;
  height: 48px;
  width: 48px;
}
.priority-icon-clock::after {
  border-bottom: 3px solid #fff;
  border-left: 3px solid #fff;
  height: 16px;
  transform: translate(-25%, -60%);
  width: 12px;
}
.priority-icon-clipboard::before {
  border: 4px solid #fff;
  border-radius: 6px;
  height: 44px;
  width: 36px;
}
.priority-icon-clipboard::after {
  background: #f40009;
  border: 3px solid #fff;
  border-radius: 4px;
  height: 10px;
  top: 34%;
  width: 22px;
}
.priority-icon-alert::before,
.priority-icon-info::before {
  background: #fff;
  border-radius: 999px;
  height: 34px;
  width: 8px;
}
.priority-icon-alert::after,
.priority-icon-info::after {
  background: #fff;
  border-radius: 999px;
  bottom: 21px;
  height: 8px;
  top: auto;
  width: 8px;
}
.priority-icon-info::before {
  height: 22px;
  transform: translate(-50%, -25%);
}
.priority-icon-info::after {
  bottom: auto;
  top: 17px;
}
.priority-icon-check::before {
  border-bottom: 6px solid #fff;
  border-left: 6px solid #fff;
  height: 16px;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 32px;
}
.dashboard-energy-page .priority-card-body {
  position: relative;
  z-index: 1;
}
.dashboard-energy-page .priority-card-title {
  color: #1f2937;
  font-size: 26px;
  font-weight: 900;
  margin-bottom: 8px;
}
.dashboard-energy-page .priority-card-value {
  color: #c90000;
  font-size: 66px;
  font-weight: 900;
  line-height: .95;
}
.dashboard-energy-page .priority-card-warning .priority-card-value {
  color: #ff8700;
}
.dashboard-energy-page .priority-card-note {
  background: #ffe1e1;
  border-radius: 6px;
  color: #e00000;
  display: inline-flex;
  font-size: 17px;
  font-weight: 900;
  margin-top: 12px;
  padding: 4px 10px;
}
.dashboard-energy-page .priority-card-warning .priority-card-note {
  background: #fff0d8;
  color: #ff7600;
}
.dashboard-energy-page .priority-card-arrow {
  color: #1f2937;
  font-size: 50px;
  font-weight: 300;
  z-index: 1;
}
.dashboard-panel-row {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.05fr);
}
.dashboard-bottom-row {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}
.dashboard-metric-strip {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 132px;
}
.status-strip {
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
}
.dashboard-status-panel .dashboard-mini-metric {
  gap: 8px;
  padding: 14px 12px;
}
.dashboard-status-panel .mini-icon {
  flex-basis: 34px;
  font-size: 20px;
  height: 34px;
  width: 34px;
}
.dashboard-status-panel .dashboard-mini-metric .metric-label {
  font-size: 13px;
  line-height: 1.25;
  white-space: nowrap;
}
.dashboard-status-panel .dashboard-mini-metric strong {
  font-size: 25px;
}
.dashboard-mini-metric {
  align-items: center;
  color: #111827;
  display: flex;
  gap: 14px;
  min-width: 0;
  padding: 18px 22px;
  position: relative;
}
.dashboard-mini-metric + .dashboard-mini-metric {
  border-left: 1px solid #e5e7eb;
}
.dashboard-mini-metric:hover {
  background: #fff7f7;
  text-decoration: none;
}
.mini-icon {
  align-items: center;
  border: 1px solid rgba(244, 0, 9, .28);
  border-radius: 999px;
  color: #f40009;
  display: inline-flex;
  flex: 0 0 44px;
  font-size: 26px;
  font-weight: 900;
  height: 44px;
  justify-content: center;
  position: relative;
}
.mini-icon::before,
.mini-icon::after {
  content: "";
  position: absolute;
}
.mini-icon-doc::before {
  border: 2px solid currentColor;
  height: 18px;
  width: 14px;
}
.mini-icon-doc::after {
  background: repeating-linear-gradient(45deg, currentColor 0 2px, transparent 2px 4px);
  height: 17px;
  opacity: .75;
  width: 13px;
}
.mini-icon-add::before {
  border-bottom: 3px solid currentColor;
  height: 0;
  transform: rotate(25deg);
  width: 15px;
}
.mini-icon-add::after {
  border-bottom: 3px solid currentColor;
  height: 0;
  transform: rotate(-145deg);
  width: 8px;
}
.mini-icon-star::before {
  content: "☆";
  font-size: 30px;
  line-height: 1;
}
.mini-icon-alert::before {
  background: currentColor;
  border-radius: 999px;
  height: 20px;
  width: 4px;
}
.mini-icon-alert::after {
  background: currentColor;
  border-radius: 999px;
  bottom: 9px;
  height: 5px;
  width: 5px;
}
.mini-icon-check::before {
  border-bottom: 4px solid currentColor;
  border-left: 4px solid currentColor;
  height: 10px;
  transform: rotate(-45deg) translate(3px, -1px);
  width: 20px;
}
.mini-icon-list::before {
  box-shadow: 0 -7px 0 currentColor, 0 0 0 currentColor, 0 7px 0 currentColor;
  height: 4px;
  width: 20px;
}
.status-icon {
  background: #fff6f6;
}
.status-icon-1::before {
  border: 2px solid currentColor;
  border-left-color: transparent;
  border-radius: 999px;
  height: 18px;
  transform: rotate(-25deg);
  width: 18px;
}
.status-icon-2::before {
  border: 2px solid currentColor;
  border-radius: 999px;
  height: 20px;
  width: 20px;
}
.status-icon-2::after {
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  height: 7px;
  transform: translate(3px, -2px);
  width: 6px;
}
.status-icon-3::before {
  border: 2px solid currentColor;
  border-radius: 3px;
  height: 22px;
  width: 16px;
}
.status-icon-3::after {
  background: currentColor;
  border-radius: 999px;
  height: 4px;
  top: 12px;
  width: 8px;
}
.status-icon-4::before {
  border: 2px solid currentColor;
  border-radius: 3px;
  height: 20px;
  width: 20px;
}
.status-icon-4::after {
  border-top: 3px solid currentColor;
  box-shadow: 0 5px 0 currentColor;
  height: 7px;
  width: 11px;
}
.status-icon-5 {
  color: #16a34a;
}
.status-icon-5::before {
  border-bottom: 4px solid currentColor;
  border-left: 4px solid currentColor;
  height: 11px;
  transform: rotate(-45deg) translate(3px, -1px);
  width: 22px;
}
.dashboard-mini-metric .metric-label {
  color: #374151;
  display: block;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 4px;
}
.dashboard-mini-metric strong {
  color: #111827;
  display: block;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
}
.dashboard-mini-metric small {
  color: #9ca3af;
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 12px;
}
.dashboard-table-panel table,
.dashboard-energy-page .dashboard-home table {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-collapse: separate;
  border-radius: 6px;
  border-spacing: 0;
  box-shadow: none;
  overflow: hidden;
  width: 100%;
}
.dashboard-bottom-row .dashboard-table-panel {
  min-height: 286px;
}
.dashboard-table-panel th,
.dashboard-energy-page .dashboard-home th {
  background: #f8fafc;
  color: #4b5563;
  font-size: 13px;
  font-weight: 900;
  padding: 12px 14px;
}
.dashboard-table-panel td,
.dashboard-energy-page .dashboard-home td {
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
  padding: 13px 14px;
}
.dashboard-energy-page .dashboard-home tr + tr td {
  border-top: 1px solid #e5e7eb;
}
.console-table-link {
  color: #f40009;
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  margin-top: 14px;
}
.console-table-link::after {
  content: "›";
  font-size: 22px;
  line-height: 0;
  margin-left: 8px;
  transform: translateY(8px);
}
.console-table-link-right {
  float: right;
}
.overdue-days {
  background: #ffe1e1;
  border-radius: 6px;
  color: #f40009;
  display: inline-flex;
  font-weight: 900;
  padding: 3px 9px;
}
.overdue-action {
  border: 1px solid #f40009;
  border-radius: 4px;
  color: #f40009;
  display: inline-flex;
  font-weight: 900;
  padding: 5px 10px;
}
.overdue-action:hover {
  background: #fff1f1;
  text-decoration: none;
}
.dashboard-energy-page .dashboard-home > h2 {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
  margin: 12px 0 0;
  padding: 18px 18px 0 28px;
}
.dashboard-energy-page .dashboard-home > h2 + table {
  border-radius: 0 0 6px 6px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
  margin-bottom: 12px;
}
.coke-bottom-ribbon {
  bottom: -34px;
  height: 118px;
  left: 37%;
  overflow: visible;
  pointer-events: none;
  position: fixed;
  right: -40px;
  z-index: 0;
}
.coke-bottom-ribbon .coca-flow {
  border: 0;
  border-radius: 0;
  height: 112px;
  opacity: .9;
  position: absolute;
  width: 860px;
}
.coke-bottom-ribbon .coca-flow::before,
.coke-bottom-ribbon .coca-flow::after {
  content: "";
  border-radius: 50%;
  inset: 0;
  position: absolute;
}
.coke-bottom-ribbon .coca-flow::before {
  background: linear-gradient(180deg, #ff3838 0%, #e00000 45%, #b90000 100%);
  clip-path: ellipse(50% 35% at 50% 55%);
}
.coke-bottom-ribbon .coca-flow::after {
  background: rgba(255, 255, 255, .36);
  clip-path: ellipse(42% 8% at 48% 34%);
}
.coke-bottom-ribbon .coca-flow-one {
  bottom: 0;
  left: -110px;
  transform: rotate(-5deg);
}
.coke-bottom-ribbon .coca-flow-two {
  bottom: -26px;
  left: 240px;
  transform: rotate(8deg);
}
.dashboard-console-header,
.dashboard-energy-page .priority-panel,
.dashboard-panel,
.dashboard-energy-page .dashboard-home > h2,
.dashboard-energy-page .dashboard-home > h2 + table {
  position: relative;
  z-index: 1;
}

.filters {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  align-items: end;
  margin-bottom: 18px;
}
.filters > div {
  min-width: 0;
}
.filters label {
  font-size: 12px;
  margin: 0 0 5px;
}
.filters input,
.filters select {
  height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}
.filters button,
.filters .button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  text-align: center;
}
.filter-actions {
  display: flex;
  gap: 6px;
  align-items: end;
  min-width: 0;
}
.filter-actions label {
  display: none;
}
.filter-actions .filter-submit,
.filter-actions .button-reset {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bid-filters {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  column-gap: 12px;
  row-gap: 10px;
}
.bid-filters > div { min-width: 0; }
.bid-filters label {
  font-size: 11px;
  margin: 0 0 4px;
}
.bid-filters input,
.bid-filters select {
  height: 30px;
  padding: 5px 8px;
  font-size: 12px;
}
.bid-filters button {
  width: 100%;
  height: 30px;
  padding: 5px 12px;
  font-size: 12px;
}
.bid-filters .filter-actions {
  grid-column: 8;
  grid-row: 1 / span 2;
  align-self: stretch;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: end;
  row-gap: 10px;
}
.bid-filters .filter-actions .filter-submit,
.bid-filters .filter-actions .button-reset {
  flex: 0 0 auto;
  width: 100%;
}
.material-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  align-items: end;
}
.material-filters label {
  font-size: 12px;
  margin: 0 0 5px;
}
.material-filters input,
.material-filters select {
  height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}
.material-filter-actions label {
  display: none;
}
.material-filter-actions button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
}
.material-upload-card {
  padding: 12px;
}
.material-upload-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
  align-items: end;
}
.material-form-field {
  min-width: 0;
}
.material-form-span-2 {
  grid-column: span 2;
}
.material-form-span-3 {
  grid-column: span 3;
}
.material-form-field label {
  font-size: 12px;
  margin: 0 0 5px;
}
.material-form-field input,
.material-form-field select {
  height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}
.material-form-field textarea {
  min-height: 42px;
  padding: 6px 9px;
  font-size: 12px;
  line-height: 1.45;
}
.material-form-checks {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 32px;
}
.material-form-checks label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: 12px;
  white-space: nowrap;
}
.material-upload-actions {
  display: flex;
  justify-content: flex-end;
  align-items: end;
}
.material-upload-actions button {
  width: 100%;
  min-height: 32px;
  padding: 6px 12px;
  font-size: 12px;
}
.review-filters {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.review-filters label {
  font-size: 12px;
  margin: 0 0 5px;
}
.review-filters select {
  height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}
.review-filters button {
  width: 100%;
  min-height: 32px;
  padding: 6px 12px;
  font-size: 12px;
}
.risk-check-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.filters .filter-actions .filter-submit,
.filters .filter-actions .button-reset {
  box-sizing: border-box;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: 32px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.filters .filter-actions .filter-submit {
  border: 1px solid transparent;
}
.filters.bid-filters .filter-actions .filter-submit,
.filters.bid-filters .filter-actions .button-reset {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 1380px) {
  .material-filters {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

label { display: block; font-size: 13px; font-weight: 700; margin: 12px 0 6px; }
label:first-child { margin-top: 0; }
.required::after { content: " *"; color: var(--coke-red-dark); }
input, select, textarea {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--coke-gray-300);
  border-radius: 6px;
  background: var(--coke-white);
  color: var(--coke-charcoal);
}
textarea { line-height: 1.55; }
input[type="checkbox"] { width: auto; }
.helptext, .muted { color: var(--coke-gray-500); }
.errorlist, .error { color: var(--status-danger); }

button, .button {
  display: inline-block;
  border: 0;
  border-radius: 6px;
  padding: 9px 13px;
  background: var(--coke-red);
  color: var(--coke-white);
  cursor: pointer;
  font-weight: 700;
  white-space: nowrap;
}
button:hover, .button:hover { background: var(--coke-red-dark); color: var(--coke-white); text-decoration: none; }
.button-secondary, .btn-secondary {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-300);
  color: var(--coke-black);
}
.button-secondary:hover, .btn-secondary:hover { background: var(--coke-gray-100); color: var(--coke-black); }
.button-danger, .btn-danger { background: var(--coke-red-dark); color: var(--coke-white); }
.button-weak, .btn-weak { background: var(--coke-gray-100); color: var(--coke-gray-700); }
.button-weak:hover, .btn-weak:hover { background: var(--coke-gray-200); color: var(--coke-gray-700); }
.button-reset {
  background: var(--coke-gray-100);
  border: 1px solid var(--coke-gray-300);
  color: var(--coke-gray-700);
}
.button-reset:hover {
  background: var(--coke-gray-200);
  color: var(--coke-gray-700);
}
.inline-form { display: inline; margin: 0; }
.inline-form button { margin-left: 6px; }

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  overflow: hidden;
  font-size: 11.2px;
}
.resizable-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
}
.resizable-table {
  table-layout: fixed;
  min-width: 100%;
}
.resizable-table th {
  position: relative;
  user-select: none;
}
.column-resize-handle {
  position: absolute;
  top: 0;
  right: -3px;
  z-index: 2;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  touch-action: none;
}
.column-resize-handle::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 2px;
  width: 1px;
  background: transparent;
}
.column-resize-handle:hover::after,
.resizable-table.is-resizing .column-resize-handle::after {
  background: var(--coke-red);
}
body.table-column-resizing {
  cursor: col-resize;
  user-select: none;
}
.compact-data-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.compact-data-table th,
.compact-data-table td {
  padding: 10px 12px;
  vertical-align: middle;
}
.compact-data-table th {
  height: 42px;
}
.compact-data-table .table-sort-link {
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.2;
  text-decoration: none;
}
.compact-data-table .table-sort-link:hover,
.compact-data-table .table-sort-link.is-active {
  color: var(--coke-red);
}
.compact-data-table .sort-indicator {
  font-size: 10px;
}
.compact-data-table tr:last-child td {
  border-bottom: 0;
}
.compact-data-table .button,
.compact-data-table button {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 10px;
}
th, td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--coke-gray-200);
  text-align: left;
  vertical-align: top;
}
th { background: var(--coke-gray-100); font-size: 10.4px; color: var(--coke-gray-700); }
table .button,
table button {
  font-size: 10px;
}
table .badge {
  font-size: 10px;
}
tr:hover td { background: #FFF8F8; }
.row-danger td { background: var(--coke-red-soft); }
.row-warning td { background: #FFF7ED; }
.table-actions { white-space: nowrap; text-align: right; }
.status-actions-cell {
  min-width: 96px;
  text-align: center;
}
.status-actions-cell .badge,
.status-actions-cell .inline-link { width: fit-content; }
.status-actions-cell .inline-link {
  font-weight: 700;
}
.text-truncate { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clamp-two-lines {
  max-width: 220px;
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.45;
}
.compact-data-table .clamp-two-lines {
  max-width: none;
}
.requirement-summary-box {
  max-height: 78px;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
}
.requirement-summary-box::-webkit-scrollbar {
  width: 6px;
}
.requirement-summary-box::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
}
.requirement-chip {
  display: block;
  line-height: 1.45;
  margin-bottom: 6px;
  max-width: 100%;
}
.requirement-chip:last-child {
  margin-bottom: 0;
}
.bid-summary-card dl > div.bid-entry-highlight {
  background: #fff1f2;
  border: 1px solid #fca5a5;
  border-radius: 6px;
  margin: 2px -6px;
  padding: 7px 6px;
}
.bid-entry-highlight dt {
  color: var(--coke-red);
  font-weight: 800;
}
.bid-entry-highlight dd a {
  color: var(--coke-red);
  font-weight: 800;
}
.source-text-card {
  margin-top: 24px;
}
.source-text-card-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 12px;
}
.source-text-card-header h2 {
  margin: 0;
}
.source-text-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  min-width: 0;
}
.source-text-preview {
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
  max-height: 420px;
  overflow-y: auto;
  padding: 14px 16px;
  white-space: pre-wrap;
  word-break: break-word;
}
.source-text-empty {
  font-family: inherit;
}
.bid-detail-page .bid-summary-card dl,
.bid-detail-page .bid-execution-section dl,
.bid-detail-page .bid-execution-section p,
.bid-detail-page .bid-execution-section table,
.bid-detail-page .document-item .document-meta,
.bid-detail-page .document-item .document-status,
.bid-detail-page .document-item .document-actions,
.bid-detail-page .document-empty,
.bid-detail-page .source-text-preview {
  font-size: 85%;
}
.bid-list-title-cell,
.bid-list-buyer-cell,
.document-list-file,
.document-list-project,
.matrix-list-project-name,
.matrix-list-source-file,
.ai-analysis-project-cell,
.ai-analysis-file-cell,
.ai-analysis-model-cell,
.draft-package-title-cell,
.draft-package-project-cell,
.draft-package-matrix-cell,
.risk-check-project-cell,
.risk-check-matrix-cell,
.material-list-title-cell,
.task-title-cell,
.task-project-cell,
.review-project-cell,
.review-reason-cell,
.export-file-cell,
.import-file-cell {
  min-width: 0;
}
.document-list-table th:nth-child(1),
.document-list-table th:nth-child(2),
.ai-analysis-table th:nth-child(1),
.ai-analysis-table th:nth-child(2),
.draft-package-table th:nth-child(1),
.draft-package-table th:nth-child(2),
.risk-check-table th:nth-child(1),
.risk-check-table th:nth-child(2),
.material-list-table th:nth-child(1) {
  width: 22%;
}
.table-actions .button + .button {
  margin-left: 6px;
}
.draft-package-quality-cell {
  min-width: 0;
}
.draft-package-quality-cell .inline-form {
  display: block;
  margin-top: 5px;
}
.draft-package-quality-cell .inline-form button {
  margin-left: 0;
  max-width: 100%;
  min-height: 28px;
  padding: 5px 8px;
  font-size: 11px;
}
.draft-package-quality-result {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.draft-package-date-cell span {
  display: block;
  line-height: 1.35;
}
.draft-package-user-cell .clamp-two-lines {
  -webkit-line-clamp: 1;
}
.draft-package-table th:nth-child(1),
.draft-package-table td:nth-child(1) {
  width: 15%;
}
.draft-package-table th:nth-child(2),
.draft-package-table td:nth-child(2) {
  width: 22%;
}
.draft-package-table th:nth-child(3),
.draft-package-table td:nth-child(3) {
  width: 7%;
}
.draft-package-table th:nth-child(4),
.draft-package-table td:nth-child(4) {
  width: 13%;
}
.draft-package-table th:nth-child(5),
.draft-package-table td:nth-child(5) {
  width: 14%;
}
.draft-package-table th:nth-child(6),
.draft-package-table td:nth-child(6) {
  width: 7%;
}
.draft-package-table th:nth-child(7),
.draft-package-table td:nth-child(7) {
  width: 12%;
}
.draft-package-table th:nth-child(8),
.draft-package-table td:nth-child(8) {
  width: 10%;
}
.draft-package-table .table-actions {
  white-space: nowrap;
}
.draft-package-table .table-actions .button {
  min-height: 28px;
  padding: 5px 9px;
  font-size: 11px;
}
.matrix-list-project-name {
  min-width: 160px;
}
.matrix-list-source-file {
  min-width: 180px;
  color: var(--coke-gray-700);
}
.response-matrix-table th:nth-child(1),
.response-matrix-table td:nth-child(1) {
  width: 28%;
}
.response-matrix-table th:nth-child(3),
.response-matrix-table td:nth-child(3) {
  width: 18%;
}
.response-matrix-table .table-actions {
  text-align: left !important;
}
.matrix-list-alerts {
  min-width: 160px;
}
.matrix-list-alerts .badge {
  display: inline-block;
  margin: 2px 4px 2px 0;
}
.matrix-source-file-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.matrix-source-file-actions .button,
.matrix-source-file-actions button {
  min-height: 28px;
  padding: 5px 9px;
  font-size: 11px;
}
.draft-package-list {
  display: grid;
  gap: 8px;
}
.ai-analysis-list {
  display: grid;
  gap: 8px;
}
.ai-analysis-card {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) minmax(170px, .85fr) minmax(130px, auto);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  margin-bottom: 0;
}
.ai-analysis-main,
.ai-analysis-status,
.ai-analysis-side {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-size: 13px;
}
.ai-analysis-project {
  color: var(--coke-red-dark);
  font-weight: 800;
}
.ai-analysis-file {
  color: var(--coke-gray-700);
}
.ai-analysis-side {
  justify-items: end;
  text-align: right;
}
.ai-analysis-side .button {
  min-height: 28px;
  padding: 5px 10px;
  font-size: 12px;
}
.draft-package-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .85fr) minmax(180px, 1fr) minmax(128px, auto);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  margin-bottom: 0;
}
.draft-package-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.draft-package-title {
  font-weight: 800;
  line-height: 1.3;
}
.draft-package-project {
  color: var(--coke-red-dark);
  font-weight: 700;
  line-height: 1.35;
}
.draft-package-meta,
.draft-package-quality,
.draft-package-side {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-size: 13px;
}
.draft-package-quality strong {
  color: var(--coke-gray-700);
}
.draft-package-quality .inline-form {
  display: block;
}
.draft-package-quality .inline-form button {
  margin-left: 0;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  font-size: 12px;
}
.draft-package-side {
  justify-items: end;
  text-align: right;
}
.draft-package-side .button {
  min-height: 28px;
  padding: 5px 10px;
  font-size: 12px;
}
.draft-package-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 12px;
}
.draft-package-filters label {
  font-size: 12px;
  margin: 0 0 5px;
}
.draft-package-filters select {
  height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}
.draft-package-filter-actions {
  display: flex;
  gap: 6px;
  align-items: end;
  min-width: 0;
}
.draft-package-filter-actions label {
  display: none;
}
.draft-package-filter-actions button,
.draft-package-filter-actions .button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
}

/* Standardized filter bars across list pages. */
.filters,
.filters.bid-filters,
.filters.material-filters,
.filters.review-filters,
.filters.risk-check-filters,
.filters.draft-package-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
  gap: 10px !important;
  align-items: end;
  padding: 12px;
  margin-bottom: 18px;
}
.filters > div,
.filters.bid-filters > div,
.filters.material-filters > div,
.filters.review-filters > div,
.filters.risk-check-filters > div,
.filters.draft-package-filters > div {
  min-width: 0;
}
.filters label,
.filters.bid-filters label,
.filters.material-filters label,
.filters.review-filters label,
.filters.risk-check-filters label,
.filters.draft-package-filters label {
  font-size: 12px;
  line-height: 1.2;
  margin: 0 0 5px;
}
.filters input,
.filters select,
.filters.bid-filters input,
.filters.bid-filters select,
.filters.material-filters input,
.filters.material-filters select,
.filters.review-filters input,
.filters.review-filters select,
.filters.risk-check-filters input,
.filters.risk-check-filters select,
.filters.draft-package-filters input,
.filters.draft-package-filters select {
  height: 32px;
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1.2;
}
.filters .filter-actions,
.filters.bid-filters .filter-actions,
.filters.material-filters .filter-actions,
.filters.review-filters .filter-actions,
.filters.risk-check-filters .filter-actions,
.filters.draft-package-filters .filter-actions,
.draft-package-filter-actions,
.material-filter-actions {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: end;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  gap: 6px !important;
  align-items: end;
  min-width: 0;
}
.filters .filter-actions label,
.draft-package-filter-actions label,
.material-filter-actions label {
  display: none;
}
.filters .filter-actions .filter-submit,
.filters .filter-actions .button-reset,
.filters.bid-filters .filter-actions .filter-submit,
.filters.bid-filters .filter-actions .button-reset,
.filters.material-filters .filter-actions .filter-submit,
.filters.material-filters .filter-actions .button-reset,
.filters.review-filters .filter-actions .filter-submit,
.filters.review-filters .filter-actions .button-reset,
.filters.risk-check-filters .filter-actions .filter-submit,
.filters.risk-check-filters .filter-actions .button-reset,
.filters.draft-package-filters .filter-actions .filter-submit,
.filters.draft-package-filters .filter-actions .button-reset,
.draft-package-filter-actions .filter-submit,
.draft-package-filter-actions .button-reset,
.material-filter-actions .filter-submit,
.material-filter-actions .button-reset {
  width: 100% !important;
  min-width: 0;
  height: 32px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.filters .filter-actions .filter-submit,
.draft-package-filter-actions .filter-submit,
.material-filter-actions .filter-submit {
  background: var(--coke-red);
  border: 1px solid transparent;
  color: var(--coke-white);
}
.filters .filter-actions .filter-submit:hover,
.draft-package-filter-actions .filter-submit:hover,
.material-filter-actions .filter-submit:hover {
  background: var(--coke-red-dark);
  color: var(--coke-white);
}
.filters .filter-actions .button-reset,
.draft-package-filter-actions .button-reset,
.material-filter-actions .button-reset {
  background: var(--coke-gray-100);
  border: 1px solid var(--coke-gray-300);
  color: var(--coke-gray-700);
}
.filters .filter-actions .button-reset:hover,
.draft-package-filter-actions .button-reset:hover,
.material-filter-actions .button-reset:hover {
  background: var(--coke-gray-200);
  color: var(--coke-gray-700);
}
.filters.compact-filter-bar {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) 136px !important;
}
.filters.compact-filter-bar .filter-actions {
  grid-column: -2 / -1 !important;
  width: 136px;
  justify-self: end;
}
.filters.compact-filter-bar .filter-actions .filter-submit,
.filters.compact-filter-bar .filter-actions .button-reset {
  width: 65px !important;
}
.filters.follow-up-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr)) 136px !important;
  gap: 10px;
}
.filters.follow-up-filters > div {
  min-width: 0;
}
.filters.follow-up-filters .filter-actions {
  grid-column: -2 / -1 !important;
  width: 136px;
  justify-self: end;
}
.filters.follow-up-filters .filter-actions .filter-submit,
.filters.follow-up-filters .filter-actions .button-reset {
  width: 65px !important;
}
.filters.bid-filters {
  grid-template-columns: repeat(6, minmax(0, 1fr)) 65px !important;
}
.filters.bid-filters .filter-actions {
  grid-column: -2 / -1 !important;
  grid-row: 1 / span 2 !important;
  align-self: stretch;
  justify-self: end;
  width: 65px;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(2, 32px) !important;
  gap: 10px !important;
  align-content: end;
}
.filters.bid-filters .filter-actions .filter-submit,
.filters.bid-filters .filter-actions .button-reset {
  width: 65px !important;
}
.filters.bid-filter-card {
  grid-template-columns: 1fr !important;
  gap: 0;
  align-items: stretch;
  padding: 12px;
  border-color: var(--coke-gray-200);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.94)),
    var(--coke-white);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.035);
}
.bid-filter-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr)) max-content;
  gap: 10px;
  align-items: end;
  min-width: 0;
}
.bid-filter-fields > div {
  min-width: 0;
}
.bid-filter-fields label {
  color: var(--coke-gray-700);
  font-size: 11px;
  font-weight: 700;
  margin: 0 0 5px;
}
.bid-filter-fields input,
.bid-filter-fields select {
  height: 32px;
  padding: 5px 9px;
  border-color: var(--coke-gray-300);
  background-color: var(--coke-white);
}
.filters.bid-filter-card .bid-filter-actions {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: end;
  justify-self: end;
  width: 136px;
  display: flex !important;
  gap: 6px !important;
  align-items: end;
}
.filters.bid-filter-card .bid-filter-actions .filter-submit,
.filters.bid-filter-card .bid-filter-actions .button-reset {
  width: 65px !important;
  height: 32px;
  min-height: 32px;
}
@media (max-width: 860px) {
  .filters.bid-filter-card {
    grid-template-columns: 1fr !important;
  }
  .bid-filter-fields {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .filters.bid-filter-card .bid-filter-actions {
    width: 136px;
    justify-self: end;
    display: flex !important;
    gap: 6px !important;
  }
  .filters.bid-filter-card .bid-filter-actions .filter-submit,
  .filters.bid-filter-card .bid-filter-actions .button-reset {
    width: 65px !important;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.detail-list { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 10px 14px; }
.detail-list strong { color: var(--coke-gray-700); }
.ai-detail-header {
  margin-bottom: 14px;
}
.ai-detail-header .muted {
  margin: 6px 0 0;
}
.ai-detail-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, .7fr);
  gap: 12px;
  padding: 12px;
}
.ai-detail-card-block {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 14px;
}
.ai-detail-project-title {
  display: inline-block;
  color: var(--coke-red-dark);
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 10px;
}
.ai-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: var(--coke-gray-700);
  align-items: center;
}
.ai-detail-action-panel {
  display: grid;
  gap: 10px;
}
.ai-detail-action-panel h2,
.ai-summary-card h2,
.ai-result-section h2 {
  margin: 0 0 8px;
  font-size: 16px;
}
.ai-detail-existing-list {
  display: grid;
  gap: 6px;
}
.compact-alert {
  margin-top: 12px;
  margin-bottom: 0;
  padding: 9px 11px;
}
.ai-summary-card,
.ai-result-section,
.ai-empty-result {
  padding: 14px;
}
.ai-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.ai-summary-item,
.ai-score-grid div {
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 9px 10px;
  display: grid;
  gap: 4px;
  min-width: 0;
}
.ai-summary-item strong,
.ai-score-grid span {
  color: var(--coke-gray-700);
  font-size: 12px;
}
.ai-summary-item span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ai-summary-text {
  border-top: 1px solid var(--coke-gray-200);
  margin-top: 12px;
  padding-top: 10px;
  color: var(--coke-gray-700);
}
.ai-summary-text p {
  margin: 0 0 8px;
}
.ai-result-sections {
  display: grid;
  gap: 12px;
}
.ai-score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.ai-score-grid strong {
  font-size: 18px;
}
.bid-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.bid-summary-card {
  padding: 16px;
  margin-bottom: 0;
}
.bid-summary-card h2 {
  margin: 0 0 14px;
  font-size: 16px;
}
.bid-summary-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}
.bid-summary-card dl > div {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.bid-summary-card dt {
  color: var(--coke-gray-700);
  font-weight: 800;
}
.bid-summary-card dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.bid-summary-note-row {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 9px 12px;
  margin-top: -4px;
  color: var(--coke-gray-700);
}
.bid-summary-note-row strong {
  color: var(--coke-gray-700);
  white-space: nowrap;
}
.bid-summary-note-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.business-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
  position: relative;
}
.business-flow-note {
  margin: -4px 0 10px;
}
.business-flow-card {
  position: relative;
  padding: 16px;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.business-flow-card-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.business-flow-step {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--coke-red-soft);
  color: var(--coke-red-dark);
  display: grid;
  place-items: center;
  font-weight: 800;
}
.business-flow-card h3 {
  margin: 0 0 6px;
}
.business-flow-card p {
  margin: 0;
}
.business-flow-status {
  min-height: 30px;
  display: flex;
  align-items: center;
  font-weight: 800;
}
.business-flow-facts {
  display: grid;
  gap: 7px;
  color: var(--coke-gray-700);
  font-size: 13px;
  line-height: 1.45;
}
.business-flow-facts span {
  overflow-wrap: anywhere;
}
.business-flow-footer {
  margin-top: auto;
  padding-top: 4px;
}
.bid-progress-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.bid-execution-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.bid-scope-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bid-execution-section {
  padding: 16px;
  border-right: 1px solid var(--coke-gray-200);
}
.bid-execution-section:last-child {
  border-right: 0;
}
.bid-execution-section h3 {
  margin: 0 0 12px;
}
.bid-execution-section dl {
  display: grid;
  gap: 12px;
  margin: 0;
}
.bid-execution-section dl > div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.bid-execution-section dt {
  color: var(--coke-gray-700);
  font-weight: 800;
  line-height: 1.45;
}
.bid-execution-section dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.bid-execution-section dd .badge {
  margin: 2px 0 2px 4px;
  vertical-align: middle;
}
.bid-scope-panel .bid-execution-section {
  min-width: 0;
  padding: 10px;
}
.bid-scope-panel .bid-execution-section h3 {
  margin-bottom: 8px;
}
.bid-scope-panel .compact-data-table {
  width: 100%;
}
.bid-scope-panel .compact-data-table th,
.bid-scope-panel .compact-data-table td {
  padding: 7px 10px;
  line-height: 1.25;
}
.bid-scope-panel .compact-data-table th {
  height: 34px;
}
.execution-summary-list,
.risk-summary-list {
  display: grid;
  gap: 5px;
}
.nowrap-button {
  white-space: nowrap;
}
.matrix-detail-header .page-actions {
  align-items: center;
  gap: 6px;
}
.matrix-detail-header .page-actions .button,
.matrix-detail-header .page-actions button {
  min-height: 28px;
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.matrix-detail-header .page-actions .inline-form button {
  margin-left: 0;
}
.draft-package-detail-header {
  align-items: flex-start;
}
.draft-package-detail-header > div:first-child {
  min-width: 180px;
}
.draft-package-detail-header .page-title {
  white-space: nowrap;
}
.draft-package-detail-header .page-actions {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  justify-content: stretch;
  flex-wrap: nowrap;
}
.draft-package-detail-header .page-actions .button,
.draft-package-detail-header .page-actions button {
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.draft-package-detail-header .page-actions .inline-form,
.draft-package-detail-header .page-actions .inline-form button {
  margin-left: 0;
}
.draft-package-overview-card {
  padding: 16px;
}
.draft-package-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.draft-package-overview-main,
.draft-package-overview-panel {
  min-width: 0;
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  padding: 14px;
  background: var(--coke-white);
}
.draft-package-overview-main h2,
.draft-package-overview-panel h2 {
  margin: 0 0 12px;
  font-size: 15px;
}
.compact-dl {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 9px 12px;
  margin: 0;
}
.compact-dl dt {
  color: var(--coke-gray-600);
  font-weight: 800;
}
.compact-dl dd {
  min-width: 0;
  margin: 0;
}
.draft-quality-score {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.draft-quality-score span:first-child {
  color: var(--coke-gray-600);
  font-weight: 800;
}
.draft-quality-score strong {
  font-size: 22px;
}
.draft-quality-risk-list {
  margin-bottom: 12px;
}
.draft-quality-link {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
}
.draft-quality-overview-card {
  padding: 14px;
}
.draft-quality-overview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.draft-quality-project-name {
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 4px;
}
.draft-quality-score-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.draft-quality-score-card {
  border: 1px solid var(--coke-gray-200);
  border-top: 3px solid var(--coke-red);
  border-radius: 7px;
  padding: 8px 10px;
  min-height: 54px;
  background: var(--coke-white);
}
.draft-quality-score-card span {
  display: block;
  color: var(--coke-gray-600);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
}
.draft-quality-score-card strong {
  display: block;
  font-size: 22px;
  line-height: 1;
}
.draft-quality-score-card .badge {
  display: inline-flex;
  margin-top: 2px;
}
.quality-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}
.quality-summary-grid > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--coke-gray-200);
  border-radius: 7px;
  padding: 8px 10px;
  min-width: 0;
}
.quality-summary-grid span {
  color: var(--coke-gray-600);
  font-size: 12px;
  font-weight: 800;
}
.quality-summary-grid strong {
  font-size: 18px;
}
.quality-status-action-cell {
  min-width: 220px;
  white-space: nowrap;
}
.quality-status-form {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: 0;
  flex-wrap: nowrap !important;
  width: 100%;
}
.quality-status-form select {
  width: 90px;
  min-width: 90px;
  flex: 0 0 90px;
  height: 32px;
  font-size: 11.2px;
}
.quality-status-form button {
  width: auto;
  flex: 0 0 auto;
  height: 32px;
  margin: 0;
  padding: 6px 12px;
  white-space: nowrap;
}
.quality-highlight {
  border: 1px solid var(--coke-gray-200);
  border-left-width: 3px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  max-width: 100%;
  min-height: 28px;
  padding: 5px 8px;
  white-space: normal;
}
.quality-highlight-high {
  background: #FFF1F2;
  border-color: #FDA4AF;
  border-left-color: #E11D48;
  color: #9F1239;
}
.quality-highlight-medium {
  background: #FFFBEB;
  border-color: #FCD34D;
  border-left-color: #D97706;
  color: #92400E;
}
.quality-highlight-low {
  background: #EFF6FF;
  border-color: #BFDBFE;
  border-left-color: #2563EB;
  color: #1D4ED8;
}
.draft-export-table {
  table-layout: fixed;
}
.draft-export-filename-cell {
  width: 44%;
}
.draft-section-table {
  table-layout: fixed;
}
.draft-section-title-cell {
  width: 30%;
}
.draft-section-table .table-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}
.draft-section-table .table-actions .button,
.draft-section-table .table-actions button {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
}
.draft-section-table .table-actions .inline-form,
.draft-section-table .table-actions .inline-form button {
  margin-left: 0;
}
.draft-section-add-card {
  padding: 10px 12px 12px;
}
.draft-section-add-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.draft-section-add-head h2 {
  margin: 0;
  font-size: 15px;
}
.draft-section-add-head button {
  min-height: 30px;
  padding: 6px 12px;
  font-size: 12px;
}
.draft-section-add-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
  margin-bottom: 8px;
}
.draft-section-field {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
}
.draft-section-add-card label {
  font-size: 12px;
  line-height: 30px;
  margin: 0;
  white-space: nowrap;
}
.draft-section-add-card input,
.draft-section-add-card select {
  width: 100%;
  height: 30px;
  padding: 4px 9px;
  font-size: 12px;
}
.draft-section-add-card textarea {
  width: 100%;
  min-height: 42px;
  padding: 6px 9px;
  font-size: 12px;
  line-height: 1.45;
}
.draft-section-content-row {
  grid-template-columns: 42px minmax(0, 1fr);
}
.draft-section-content-row label {
  line-height: 30px;
}
.matrix-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.matrix-overview-card {
  padding: 14px;
  margin-bottom: 0;
}
.matrix-overview-card h2 {
  margin: 0 0 10px;
  font-size: 16px;
}
.matrix-overview-card dl {
  display: grid;
  gap: 9px;
  margin: 0;
}
.matrix-overview-card dl > div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.matrix-overview-card dt {
  color: var(--coke-gray-700);
  font-weight: 800;
}
.matrix-overview-card dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.matrix-item-form {
  padding: 14px;
}
.matrix-item-form h2 {
  margin-top: 0;
}
.matrix-item-form-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.matrix-item-form-grid > div {
  min-width: 0;
}
.matrix-item-form-grid label {
  font-size: 12px;
  margin: 0 0 5px;
}
.matrix-item-form-grid input,
.matrix-item-form-grid select,
.matrix-item-form-grid textarea {
  font-size: 12px;
}
.matrix-form-wide {
  grid-column: span 3;
}
.matrix-checkbox {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: 0;
}
.matrix-form-actions {
  display: flex;
  align-items: end;
}
.matrix-form-actions button {
  width: 100%;
}
.matrix-group-section {
  margin-bottom: 18px;
}
.matrix-group-section h3 {
  margin: 0 0 10px;
}
.matrix-item-card {
  padding: 14px;
}
.matrix-item-card h3 {
  margin-top: 16px;
}
.matrix-empty-group {
  padding: 12px 14px;
}
.pagination { margin-top: 18px; display: flex; gap: 10px; align-items: center; }

.system-admin-page-header {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.system-admin-resource-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.system-admin-resource-card {
  background: var(--coke-gray-100);
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  color: var(--coke-charcoal);
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 74px;
  padding: 14px;
}
.system-admin-resource-card:hover {
  border-color: var(--coke-red);
  text-decoration: none;
}
.system-admin-resource-card span { color: var(--coke-gray-500); font-size: 12px; }
.system-admin-activity-entry { margin-bottom: 18px; }
.system-admin-activity-summary { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 18px; }
.system-admin-activity-summary .card { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 16px; }
.system-admin-activity-summary span { color: var(--coke-gray-500); font-size: 13px; }
.system-admin-activity-summary strong { color: var(--coke-red-dark); font-size: 24px; }
.system-admin-activity-table { padding: 0; }
.system-admin-activity-email { color: var(--coke-gray-500); display: block; font-size: 12px; font-weight: 400; margin-top: 3px; }
.plain-status.is-online { color: #14804a; font-weight: 700; }
.system-admin-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  padding: 10px 12px;
}
.system-admin-actions select { max-width: 320px; }
.system-admin-select { text-align: center; width: 42px; }
.system-admin-table { min-width: 760px; }
.system-admin-table th,
.system-admin-table td { white-space: nowrap; }
.system-admin-table td { max-width: 360px; overflow: hidden; text-overflow: ellipsis; }
.system-admin-form { max-width: 920px; }
.system-admin-field { margin-bottom: 16px; }
.system-admin-field select[multiple] { min-height: 180px; }
.system-admin-user-import { display: grid; gap: 22px; grid-template-columns: minmax(260px, .95fr) minmax(360px, 1.05fr); max-width: 1080px; }
.system-admin-import-guide { display: grid; gap: 20px; padding: 16px 8px; }
.system-admin-import-guide > div { align-items: flex-start; display: flex; gap: 12px; }
.system-admin-import-guide strong { align-items: center; border: 1px solid var(--coke-gray-300); border-radius: 50%; display: inline-flex; flex: 0 0 28px; height: 28px; justify-content: center; }
.system-admin-import-guide span { display: flex; flex-direction: column; gap: 3px; font-weight: 700; }
.system-admin-import-guide small,
.system-admin-import-actions > p { color: var(--coke-gray-500); font-size: 12px; font-weight: 400; line-height: 1.5; }
.system-admin-import-actions { border-left: 1px solid var(--coke-gray-200); display: grid; gap: 14px; padding: 8px 0 8px 22px; }
.system-admin-import-actions > .button { text-align: center; }
.system-admin-import-form { border-top: 1px solid var(--coke-gray-200); display: grid; gap: 8px; padding-top: 14px; }
.system-admin-import-form small { color: var(--coke-gray-500); font-size: 12px; }
.system-admin-import-results { margin-top: 18px; max-width: 1080px; }
.system-admin-import-result-summary { align-items: center; display: flex; gap: 12px; justify-content: flex-end; margin-bottom: 12px; }
.system-admin-import-result-summary strong { margin-right: auto; }
.system-admin-import-message { white-space: normal !important; }
.system-admin-business-unit-form { max-width: 1180px; padding: 18px; }
.system-admin-business-unit-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
}
.system-admin-form-section {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  min-width: 0;
  padding: 16px;
}
.system-admin-form-section-heading { border-bottom: 1px solid var(--coke-gray-200); margin-bottom: 14px; padding-bottom: 10px; }
.system-admin-form-section-heading h2 { font-size: 18px; margin: 0 0 3px; }
.system-admin-form-section-heading p { color: var(--coke-gray-500); font-size: 12px; margin: 0; }
.system-admin-business-unit-fields { display: grid; gap: 10px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.system-admin-business-unit-fields .system-admin-field { margin: 0; }
.system-admin-business-unit-fields .system-admin-field:nth-child(1),
.system-admin-business-unit-fields .system-admin-field:nth-child(5) { grid-column: 1 / -1; }
.system-admin-business-unit-fields textarea { min-height: 86px; resize: vertical; }
.system-admin-business-unit-form > .system-admin-form-actions { border-top: 1px solid var(--coke-gray-200); margin-top: 16px; padding-top: 14px; }
.system-admin-division-section .system-admin-field { margin: 0; }
.system-admin-search-select details { position: relative; }
.system-admin-search-select summary {
  align-items: center;
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-300);
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
  min-height: 40px;
  padding: 8px 11px;
}
.system-admin-search-select summary::-webkit-details-marker { display: none; }
.system-admin-search-select details[open] summary { border-color: var(--coke-red); box-shadow: 0 0 0 2px rgba(225, 25, 45, .1); }
.system-admin-search-select.is-disabled summary { background: var(--coke-gray-100); color: var(--coke-gray-500); cursor: not-allowed; }
.system-admin-search-select-popover {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-300);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
  left: 0;
  margin-top: 6px;
  padding: 10px;
  position: absolute;
  right: 0;
  z-index: 20;
}
.system-admin-search-select-popover input[type="search"] { margin-bottom: 8px; }
.system-admin-search-select-options { border: 1px solid var(--coke-gray-200); border-radius: 6px; max-height: 300px; overflow: auto; }
.system-admin-search-select-options > label {
  align-items: center;
  border-bottom: 1px solid var(--coke-gray-100);
  cursor: pointer;
  display: flex;
  gap: 9px;
  margin: 0;
  padding: 8px 10px;
}
.system-admin-search-select-options > label:last-child { border-bottom: 0; }
.system-admin-search-select-options > label:hover,
.system-admin-search-select-options > label.is-selected { background: var(--coke-red-soft); }
.system-admin-search-select-options input { flex: 0 0 auto; }
.system-admin-search-select-options p { margin: 0; padding: 18px 10px; text-align: center; }
.system-admin-search-select-footer { align-items: center; color: var(--coke-gray-500); display: flex; font-size: 12px; justify-content: space-between; padding-top: 8px; }
.system-admin-search-select-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; max-height: 126px; overflow: auto; }
.system-admin-search-select-tags button {
  align-items: center;
  background: var(--coke-red-soft);
  border: 1px solid rgba(225, 25, 45, .22);
  border-radius: 999px;
  color: var(--coke-charcoal);
  display: inline-flex;
  font-size: 12px;
  gap: 5px;
  padding: 4px 8px;
}
.system-admin-search-select-tags button:hover { background: rgba(225, 25, 45, .16); }
.system-admin-readonly {
  background: var(--coke-gray-100);
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  max-height: 320px;
  overflow: auto;
  padding: 10px;
  white-space: pre-wrap;
}
.system-admin-form-actions { display: flex; gap: 10px; margin-top: 20px; }
.system-admin-date-filter > div { align-items: center; display: flex; gap: 8px; }
.system-admin-date-filter input { min-width: 150px; }
.system-admin-related,
.system-admin-history { margin-top: 18px; max-width: 920px; }
.system-admin-related-resource {
  border-top: 1px solid var(--coke-gray-200);
  padding: 12px 0;
}
.system-admin-related-header {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 10px;
}
.system-admin-related-header > div { align-items: center; display: flex; gap: 8px; }
.system-admin-related-header > div:first-child { align-items: flex-start; flex-direction: column; gap: 4px; }
.system-admin-related-resource table { min-width: 520px; }
.system-admin-current-file { align-items: center; display: flex; gap: 14px; margin-top: 6px; }
.system-admin-current-file label { align-items: center; display: flex; gap: 6px; margin: 0; }
.system-admin-history table { min-width: 720px; }

@media (max-width: 900px) {
  .system-admin-business-unit-form { padding: 12px; }
  .system-admin-business-unit-grid,
  .system-admin-business-unit-fields,
  .system-admin-user-import,
  .system-admin-activity-summary { grid-template-columns: 1fr; }
  .system-admin-import-actions { border-left: 0; border-top: 1px solid var(--coke-gray-200); padding: 18px 0 0; }
  .system-admin-business-unit-fields .system-admin-field:nth-child(1),
  .system-admin-business-unit-fields .system-admin-field:nth-child(5) { grid-column: auto; }
  .system-admin-search-select-popover { position: static; }
}

@media (max-width: 760px) {
  .system-admin-page-header { align-items: stretch; flex-direction: column; }
  .system-admin-page-header .page-actions { display: flex; flex-wrap: wrap; }
  .system-admin-actions { align-items: stretch; flex-direction: column; }
  .system-admin-actions select { max-width: none; }
  .system-admin-form-actions,
  .system-admin-related-header,
  .system-admin-related-header > div { align-items: stretch; flex-direction: column; }
  .system-admin-date-filter > div { align-items: stretch; flex-direction: column; }
  .system-admin-date-filter input { min-width: 0; }
}

.messages { margin-bottom: 18px; }
.message {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-300);
  border-left: 4px solid var(--status-info);
  padding: 10px 12px;
  border-radius: 6px;
}
.message.success { border-left-color: var(--status-success); }
.message.error { background: var(--coke-red-soft); border-left-color: var(--status-danger); }
.message.warning { border-left-color: var(--status-warning); }

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}
.badge-status-neutral, .badge-risk-low { background: var(--coke-gray-100); color: var(--coke-gray-700); border: 1px solid var(--coke-gray-300); }
.badge-status-info { background: #EFF6FF; color: var(--status-info); border: 1px solid #BFDBFE; }
.badge-status-success, .badge-readiness-ready { background: #ECFDF3; color: var(--status-success); border: 1px solid #BBF7D0; }
.badge-status-warning, .badge-risk-medium, .badge-readiness-attention { background: #FFF7ED; color: var(--status-warning); border: 1px solid #FED7AA; }
.badge-status-danger, .badge-risk-high, .badge-readiness-danger { background: var(--coke-red-soft); color: var(--status-danger); border: 1px solid #FCA5A5; }

.risk-alert {
  background: var(--coke-red-soft);
  border: 1px solid #FCA5A5;
  border-left: 4px solid var(--coke-red-dark);
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.risk-alert h2, .risk-alert h3 { color: var(--coke-red-dark); margin-top: 0; }

pre {
  white-space: pre-wrap;
  word-break: break-word;
  background: var(--coke-gray-100);
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 12px;
}

.ai-workbench-header {
  align-items: flex-start;
}
.ai-workbench-card-shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  padding: 6px;
  overflow: visible;
  position: relative;
  z-index: 5;
}
.ai-workbench-upload-card,
.ai-workbench-preview-card {
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  background: var(--coke-white);
  min-width: 0;
}
.ai-workbench-preview-card {
  align-items: center;
  display: flex;
  height: 70px;
  padding: 6px 8px;
}
.ai-workbench-upload-card {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(160px, .55fr) minmax(300px, 1.25fr) minmax(300px, .95fr);
  gap: 16px;
  height: 70px;
  overflow: visible;
  padding: 8px 12px;
  position: relative;
  z-index: 10;
}
.ai-workbench-compact-title {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 2px;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 0;
}
.ai-workbench-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--coke-red-soft);
  color: var(--coke-red-dark);
  font-size: 12px;
  font-weight: 800;
}
.ai-workbench-upload-card h2,
.ai-workbench-preview-card h2,
.ai-workbench-status-card h2 {
  margin-top: 0;
}
.ai-workbench-upload-card h2 {
  color: var(--coke-charcoal);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-workbench-upload-card .ai-workbench-compact-title p {
  font-size: 11px;
  line-height: 1.3;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-workbench-upload-card p,
.ai-workbench-preview-card p {
  line-height: 1.55;
}
.ai-workbench-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
}
.ai-workbench-upload-stage {
  border: 1px dashed var(--coke-gray-300);
  border-radius: 8px;
  padding: 12px;
  background: #F9FAFB;
}
.ai-workbench-upload-form {
  align-items: stretch;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  grid-template-columns: minmax(110px, 1fr) 72px 88px;
  grid-template-rows: 14px 32px;
  gap: 4px 8px;
  height: 100%;
  min-width: 0;
  padding: 0;
}
.ai-workbench-upload-form > label:first-of-type {
  align-self: center;
  grid-column: 1 / -1;
  white-space: nowrap;
}
.ai-workbench-upload-form label,
.ai-workbench-bid-switch-form label {
  color: var(--coke-gray-700);
  font-size: 11px;
  font-weight: 800;
  line-height: 14px;
  margin: 0;
}
.ai-workbench-upload-form select,
.ai-workbench-bid-switch-form input[type="search"] {
  height: 32px;
  min-height: 32px;
  min-width: 0;
  padding: 5px 9px;
  width: 100%;
}
.ai-workbench-upload-form input[type="file"] {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
.ai-workbench-file-button {
  align-items: center;
  align-self: stretch;
  border: 1px solid var(--coke-gray-300);
  border-radius: 6px;
  color: var(--coke-charcoal);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: 32px;
  font-size: 12px;
  padding: 5px 8px;
  white-space: nowrap;
  width: 100%;
}
.ai-workbench-file-button:hover,
.ai-workbench-file-button:focus {
  border-color: var(--coke-red);
  color: var(--coke-red-dark);
}
.ai-workbench-upload-form .button {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  height: 32px;
  justify-content: center;
  margin-top: 0;
  min-height: 32px;
  min-width: 88px;
  padding: 5px 8px;
  white-space: nowrap;
  width: 100%;
}
.ai-workbench-bid-switch-form {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 4px;
  grid-template-rows: 14px 32px;
  height: 100%;
  min-width: 0;
  padding: 0;
  position: relative;
  z-index: 20;
}
.ai-workbench-bid-switch-row {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.ai-workbench-bid-combobox {
  min-width: 0;
  position: relative;
}
.ai-workbench-bid-switch-row .button {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  height: 32px;
  justify-content: center;
  min-height: 32px;
  min-width: 58px;
  padding: 5px 12px;
  white-space: nowrap;
}
.ai-workbench-bid-options {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 7px;
  box-shadow: 0 10px 24px rgba(30, 30, 30, .12);
  left: 0;
  max-height: 230px;
  overflow: auto;
  padding: 4px;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 1000;
}
.ai-workbench-bid-option {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 5px;
  color: var(--coke-charcoal);
  cursor: pointer;
  display: grid;
  font-size: 12px;
  gap: 3px;
  justify-items: start;
  min-height: 36px;
  padding: 6px 8px;
  text-align: left;
  width: 100%;
}
.ai-workbench-bid-option:hover,
.ai-workbench-bid-option:focus {
  background: var(--coke-red-soft);
  color: var(--coke-red-dark);
  outline: 0;
}
.ai-workbench-bid-option span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-workbench-bid-option small {
  color: var(--coke-gray-500);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
}
.ai-workbench-status-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}
.ai-workbench-status-step {
  align-items: center;
  display: grid;
  font-size: 11px;
  gap: 2px;
  justify-items: center;
  min-width: 0;
  text-align: center;
}
.ai-workbench-status-step strong,
.ai-workbench-status-step span {
  display: block;
}
.ai-workbench-status-step strong {
  color: var(--coke-charcoal);
  line-height: 1.15;
}
.ai-workbench-status-step div > span {
  color: var(--coke-gray-500);
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-workbench-step-dot {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-top: 0;
  border-radius: 50%;
  background: #DCFCE7;
  color: var(--status-success);
  font-size: 11px;
  font-weight: 900;
}
.ai-workbench-step-dot-warning {
  background: #FEF3C7;
  color: var(--status-warning);
}
.ai-workbench-secondary-link {
  font-size: 13px;
  font-weight: 800;
}
.ai-workbench-preview-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: var(--ai-preview-head-height);
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--coke-gray-200);
}
.ai-workbench-preview-head h2 {
  margin-bottom: 4px;
}
.ai-workbench-preview-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.ai-workbench-preview-actions .button {
  padding: 6px 10px;
  font-size: 12px;
}
.ai-workbench-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid var(--coke-gray-200);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--coke-gray-500);
  background: var(--coke-white);
  font-size: 12px;
  font-weight: 800;
}
.ai-workbench-pill-danger {
  border-color: #FECACA;
  background: #FEF2F2;
  color: var(--coke-red-dark);
}
.ai-workbench-preview-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 14px;
  padding: var(--ai-preview-body-padding);
}
.ai-workbench-preview-sheet {
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  min-height: var(--ai-preview-sheet-height);
  max-height: var(--ai-preview-sheet-height);
  overflow: auto;
  padding: 8px;
}
.ai-workbench-preview-title {
  display: block;
  color: var(--coke-red);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 8px;
}
.ai-workbench-preview-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 8px;
}
.ai-workbench-preview-kpis div {
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 6px;
  min-width: 0;
}
.ai-workbench-preview-kpis span {
  display: block;
  color: var(--coke-gray-500);
  font-size: 11px;
  line-height: 1.2;
  margin-bottom: 2px;
}
.ai-workbench-preview-kpis strong {
  display: block;
  color: var(--coke-charcoal);
  font-size: 12px;
  line-height: 1.3;
  word-break: break-word;
}
.ai-workbench-preview-note {
  border-left: 3px solid var(--coke-red);
  background: var(--coke-gray-100);
  padding: 8px 10px;
  margin-bottom: 10px;
  font-size: 13px;
}
.ai-workbench-preview-sheet h3 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 9px 0 5px;
  color: var(--coke-charcoal);
  font-size: 13px;
}
.ai-workbench-preview-sheet h3 span {
  display: inline-block;
  width: 5px;
  height: 16px;
  border-radius: 999px;
  background: var(--coke-red);
}
.ai-workbench-preview-sheet ul {
  margin: 0;
  padding-left: 18px;
}
.ai-workbench-preview-sheet li {
  margin: 4px 0;
  line-height: 1.35;
}
.ai-workbench-preview-section {
  border-top: 1px solid var(--coke-gray-200);
  margin-top: 8px;
  padding-top: 2px;
}
.ai-workbench-preview-section-risk {
  border: 1px solid #FECACA;
  border-radius: 7px;
  background: #FEF2F2;
  padding: 4px 10px 10px;
}
.ai-workbench-preview-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin: 0;
}
.ai-workbench-preview-facts div {
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 6px;
  min-width: 0;
}
.ai-workbench-preview-facts dt {
  color: var(--coke-gray-500);
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 2px;
}
.ai-workbench-preview-facts dd {
  margin: 0;
  color: var(--coke-charcoal);
  font-size: 12px;
  line-height: 1.3;
  word-break: break-word;
}
.ai-workbench-preview-list,
.ai-workbench-source-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ai-workbench-preview-list li,
.ai-workbench-source-list li {
  border-left: 3px solid var(--coke-gray-300);
  background: #F9FAFB;
  margin: 0;
  padding: 7px 9px;
}
.ai-workbench-preview-list strong,
.ai-workbench-preview-list span {
  display: block;
}
.ai-workbench-preview-list strong {
  color: var(--coke-red-dark);
  font-size: 12px;
  margin-bottom: 2px;
}
.ai-workbench-source-list li {
  color: var(--coke-gray-700);
  font-size: 12px;
}
.ai-workbench-analysis-card,
.ai-workbench-analysis-card h2,
.ai-workbench-analysis-card h3,
.ai-workbench-analysis-card p,
.ai-workbench-analysis-card dt,
.ai-workbench-analysis-card dd,
.ai-workbench-analysis-card li,
.ai-workbench-analysis-card span,
.ai-workbench-analysis-card strong,
.ai-workbench-analysis-card small,
.ai-workbench-analysis-card em {
  font-size: 10px;
}
.ai-workbench-structured-sections {
  display: grid;
  gap: 5px;
  margin-top: 6px;
  font-size: 10px;
}
.ai-workbench-structured-section {
  border: 1px solid var(--coke-gray-200);
  border-left-width: 3px;
  border-radius: 4px;
  padding: 5px 6px;
  background: #fff;
}
.ai-workbench-structured-section.priority-high {
  border-left-color: var(--status-danger);
  background: #FEF2F2;
}
.ai-workbench-structured-section.priority-medium {
  border-left-color: var(--status-warning);
  background: #FFF7ED;
}
.ai-workbench-structured-section.priority-low {
  border-left-color: #2563EB;
  background: #EFF6FF;
}
.ai-workbench-structured-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 3px;
}
.ai-workbench-priority-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 1px 5px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}
.ai-workbench-priority-badge.priority-high,
.ai-workbench-structured-section em.priority-high {
  color: var(--status-danger);
  background: #FEE2E2;
}
.ai-workbench-priority-badge.priority-medium,
.ai-workbench-structured-section em.priority-medium {
  color: var(--status-warning);
  background: #FFEDD5;
}
.ai-workbench-priority-badge.priority-low,
.ai-workbench-structured-section em.priority-low {
  color: #1D4ED8;
  background: #DBEAFE;
}
.ai-workbench-structured-section p {
  margin: 0 0 3px;
  line-height: 1.35;
}
.ai-workbench-structured-section dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 4px;
}
.ai-workbench-structured-section dl div {
  min-width: 0;
}
.ai-workbench-structured-section dt {
  float: left;
  margin-right: 4px;
  color: var(--coke-gray-500);
  font-weight: 800;
}
.ai-workbench-structured-section dd {
  margin: 0;
  color: var(--coke-gray-700);
  line-height: 1.35;
}
.ai-workbench-structured-section ul {
  display: grid;
  gap: 3px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ai-workbench-structured-section li {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: start;
  gap: 4px;
  line-height: 1.3;
}
.ai-workbench-structured-section li > span {
  color: var(--coke-gray-500);
  font-weight: 800;
}
.ai-workbench-structured-section em {
  border-radius: 999px;
  font-style: normal;
  font-weight: 800;
  padding: 1px 4px;
  white-space: nowrap;
}
.ai-workbench-structured-section li > strong {
  min-width: 0;
  color: var(--coke-charcoal);
  font-weight: 700;
  word-break: break-word;
}
.ai-workbench-structured-section li > small {
  grid-column: 3;
  color: var(--coke-gray-500);
  line-height: 1.25;
}
.ai-workbench-preview-index {
  display: grid;
  align-content: start;
  gap: 10px;
}
.ai-workbench-index-card {
  border: 1px solid var(--coke-gray-200);
  border-radius: 7px;
  padding: 10px;
  background: #F9FAFB;
}
.ai-workbench-index-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--coke-charcoal);
  font-size: 13px;
}
.ai-workbench-index-card p {
  margin: 0;
  font-size: 12px;
}
.ai-workbench-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ai-workbench-tag {
  display: inline-flex;
  border: 1px solid var(--coke-gray-200);
  border-radius: 999px;
  padding: 4px 7px;
  background: var(--coke-white);
  color: var(--coke-gray-500);
  font-size: 12px;
  font-weight: 800;
}
.ai-workbench-tag-red {
  border-color: #FECACA;
  background: var(--coke-red-soft);
  color: var(--coke-red-dark);
}
.ai-workbench-tag-blue {
  border-color: #BFDBFE;
  background: #EFF6FF;
  color: var(--status-info);
}
.ai-workbench-tag-green {
  border-color: #BBF7D0;
  background: #F0FDF4;
  color: var(--status-success);
}
.ai-workbench-risk-preview {
  border: 1px solid #FED7AA;
  background: #FFF7ED;
  color: #9A3412;
  border-radius: 7px;
  padding: 10px;
  font-weight: 800;
}
.ai-workbench-preview-lines {
  margin: 12px 0;
}
.ai-workbench-preview-lines span {
  display: block;
  height: 7px;
  border-radius: 999px;
  margin: 9px 0;
}
.ai-workbench-preview-lines span:nth-child(1) { width: 92%; background: #FECACA; }
.ai-workbench-preview-lines span:nth-child(2) { width: 74%; background: #BFDBFE; }
.ai-workbench-preview-lines span:nth-child(3) { width: 84%; background: #BBF7D0; }
.ai-workbench-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ai-workbench-status-card {
  min-width: 0;
}

.ai-workbench-primary-action-form {
  margin-top: 14px;
}
.ai-workbench-primary-action-form button {
  width: 100%;
}
.ai-workbench-supplement-upload {
  border-top: 1px solid var(--border);
  margin-top: 16px;
  padding-top: 14px;
}
.ai-workbench-supplement-upload summary {
  cursor: pointer;
  font-weight: 700;
}
.ai-workbench-section-content {
  background: #F8FAFC;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  line-height: 1.7;
  margin: 10px 0;
  padding: 12px;
}
.ai-workbench-edit-form h3 input {
  background: transparent;
  border: 0;
  color: var(--text);
  font: inherit;
  min-width: 0;
  width: 100%;
}
.ai-workbench-edit-form textarea,
.ai-workbench-subitem-form textarea,
.ai-workbench-subitem-form select,
.ai-workbench-answer-edit-form textarea,
.ai-workbench-answer-edit-form select,
.ai-workbench-material-select-form select {
  width: 100%;
}
.ai-workbench-subitem-card,
.ai-workbench-subitem-form {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 6px;
  display: grid;
  gap: 5px;
  margin: 6px 0;
  padding: 8px;
}
.ai-workbench-subitem-head {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.ai-workbench-subitem-head span {
  color: var(--muted);
  font-size: 0.86rem;
  white-space: nowrap;
}
.ai-workbench-answer-table {
  min-width: 100%;
  position: relative;
  table-layout: fixed;
  z-index: 1;
}
.ai-workbench-answer-table th:nth-child(1) {
  width: 54px;
}
.ai-workbench-answer-table th:nth-child(2) {
  width: 68px;
}
.ai-workbench-answer-table th:nth-child(4) {
  width: 66px;
}
.ai-workbench-answer-table th:nth-child(5) {
  width: 58px;
}
.ai-workbench-answer-table td {
  padding: 4px;
}
.ai-workbench-answer-dialog {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px;
  position: relative;
  z-index: 1;
}
.ai-workbench-answer-dialog[open] {
  border-color: var(--coke-red);
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.07);
}
.ai-workbench-answer-summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 8px;
  grid-template-columns: 54px 68px minmax(0, 1fr) 66px 58px;
  list-style: none;
  min-width: 0;
  position: relative;
  z-index: 2;
}
.ai-workbench-answer-summary::-webkit-details-marker {
  display: none;
}
.ai-workbench-answer-summary span,
.ai-workbench-answer-summary strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-workbench-answer-summary strong {
  color: var(--coke-charcoal);
  font-size: 12px;
}
.ai-workbench-answer-number {
  font-weight: 900;
}
.ai-workbench-answer-number.priority-high {
  color: var(--status-danger);
}
.ai-workbench-answer-number.priority-medium {
  color: var(--status-warning);
}
.ai-workbench-answer-number.priority-low {
  color: #1D4ED8;
}
.ai-workbench-answer-dialog-body {
  border-top: 1px solid var(--coke-gray-200);
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
}
.ai-workbench-answer-source {
  background: #F9FAFB;
  border: 1px solid var(--coke-gray-200);
  border-radius: 6px;
  padding: 8px;
}
.ai-workbench-answer-source h4,
.ai-workbench-linked-materials h4 {
  font-size: 12px;
  line-height: 16px;
  margin: 0 0 5px;
}
.ai-workbench-answer-source p {
  font-size: 12px;
  line-height: 1.45;
  margin: 0;
}
.ai-workbench-answer-edit-form {
  display: grid;
  gap: 4px;
}
.ai-workbench-step-card label {
  font-size: 11px;
  line-height: 14px;
  margin: 6px 0 3px;
}
.ai-workbench-step-card input,
.ai-workbench-step-card select,
.ai-workbench-step-card textarea {
  font-size: 12px;
  padding: 6px 8px;
}
.ai-workbench-step-card textarea {
  line-height: 1.35;
}
.ai-workbench-step-card .compact-data-table {
  font-size: 11px;
}
.ai-workbench-step-card .compact-data-table th,
.ai-workbench-step-card .compact-data-table td {
  line-height: 1.35;
  padding: 6px 8px;
}
.ai-workbench-step-card .compact-data-table th {
  height: 30px;
}
.ai-workbench-inline-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.ai-workbench-link-form {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ai-workbench-link-form select {
  max-width: 260px;
  min-width: 180px;
}
.ai-workbench-material-library {
  --material-control-height: 34px;
  --material-label-height: 16px;
  --material-row-gap: 5px;
  --material-section-gap: 12px;
  --material-column-gap: 10px;
  margin-top: 14px;
  padding: 14px;
}
.ai-workbench-material-head {
  margin-bottom: 10px;
}
.ai-workbench-material-head h2 {
  font-size: 17px;
  line-height: 22px;
  margin: 0;
}
.ai-workbench-material-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--material-section-gap);
}
.ai-workbench-material-panel {
  background: #F9FAFB;
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  min-width: 0;
  padding: 12px;
}
.ai-workbench-material-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 2px;
  min-width: 0;
}
.ai-workbench-material-panel-head h3 {
  color: var(--coke-charcoal);
  font-size: 15px;
  line-height: 20px;
  margin: 0;
  white-space: nowrap;
}
.ai-workbench-material-panel-head span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-workbench-material-upload {
  display: grid;
  gap: var(--material-section-gap);
  grid-template-columns: 1fr;
  min-width: 0;
}
.ai-workbench-material-field-grid {
  align-items: stretch;
  display: grid;
  gap: var(--material-row-gap) var(--material-column-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}
.ai-workbench-material-upload-actions {
  align-items: stretch;
  display: grid;
  gap: var(--material-row-gap) var(--material-column-gap);
  grid-template-columns: minmax(260px, 1fr) auto 120px;
  grid-template-rows: var(--material-label-height) var(--material-control-height);
  min-width: 0;
}
.ai-workbench-material-upload-actions .material-field-wide {
  grid-column: 1;
  grid-row: 1 / 3;
}
.ai-workbench-material-upload-actions .material-checks {
  grid-column: 2;
  grid-row: 2;
}
.ai-workbench-material-upload-actions button {
  grid-column: 3;
  grid-row: 2;
  justify-self: stretch;
}
.ai-workbench-material-upload .material-field,
.ai-workbench-material-filters > div {
  align-content: start;
  display: grid;
  gap: var(--material-row-gap);
  grid-template-rows: var(--material-label-height) var(--material-control-height);
  min-width: 0;
}
.ai-workbench-material-upload label,
.material-checks label,
.ai-workbench-material-filters label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: var(--material-label-height);
  margin: 0;
}
.ai-workbench-material-upload input,
.ai-workbench-material-upload select,
.ai-workbench-material-filters input,
.ai-workbench-material-filters select {
  box-sizing: border-box;
  height: var(--material-control-height);
  min-height: var(--material-control-height);
  min-width: 0;
  padding: 6px 8px;
  width: 100%;
}
.ai-workbench-material-upload input[type="file"] {
  align-content: center;
  padding: 5px 8px;
}
.material-checks {
  align-items: center;
  display: flex;
  gap: 10px;
  grid-row: 2;
  justify-content: flex-start;
  min-height: var(--material-control-height);
  min-width: 0;
  white-space: nowrap;
}
.material-checks label {
  align-items: center;
  display: inline-flex;
  gap: 4px;
  white-space: nowrap;
}
.material-checks input[type="checkbox"] {
  height: auto;
  min-height: 0;
  width: auto;
}
.ai-workbench-material-upload button {
  align-self: stretch;
  box-sizing: border-box;
  font-size: 12px;
  grid-row: 2;
  height: var(--material-control-height);
  min-height: var(--material-control-height);
  padding: 6px 10px;
  white-space: nowrap;
  width: 100%;
}
.ai-workbench-material-filters {
  display: grid;
  gap: var(--material-row-gap) var(--material-column-gap);
  grid-template-columns: minmax(260px, 2fr) minmax(160px, 1fr) minmax(140px, .8fr) 110px;
  margin: 0;
  padding: 0;
}
.filters.ai-workbench-material-filters {
  grid-template-columns: minmax(260px, 2fr) minmax(160px, 1fr) minmax(140px, .8fr) 110px !important;
}
.ai-workbench-material-filters .filter-actions {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1fr !important;
  grid-template-rows: var(--material-label-height) var(--material-control-height);
  justify-items: stretch;
  justify-self: end;
  min-width: 110px;
  width: 110px;
}
.ai-workbench-material-filters .filter-actions label {
  visibility: hidden;
}
.ai-workbench-material-filters .filter-submit {
  box-sizing: border-box;
  font-size: 12px;
  height: var(--material-control-height);
  min-height: var(--material-control-height);
  padding: 6px 10px;
  width: 100%;
}
.filters.ai-workbench-material-filters .filter-actions .filter-submit {
  height: var(--material-control-height);
  min-height: var(--material-control-height);
  padding: 6px 10px;
  justify-self: stretch;
  min-width: 110px;
  width: 110px !important;
}
.ai-workbench-material-results-panel {
  display: grid;
  gap: var(--material-section-gap);
  grid-template-columns: 1fr;
  overflow: hidden;
}
.ai-workbench-material-results-panel .ai-workbench-material-panel-head {
  grid-column: 1;
  grid-row: auto;
}
.ai-workbench-material-results-panel .ai-workbench-material-filters {
  grid-column: 1;
  grid-row: auto;
}
.ai-workbench-material-table {
  min-width: 760px;
  grid-column: 1;
  margin-top: 0;
  width: 100%;
}
.ai-workbench-material-results-panel .resizable-table-wrap {
  grid-column: 1;
  width: 100%;
}
.ai-workbench-material-table th,
.ai-workbench-material-table td {
  padding: 8px 10px;
}
.ai-workbench-material-table td {
  height: 36px;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ai-workbench-material-table th:last-child,
.ai-workbench-material-table td:last-child {
  width: 78px;
  white-space: nowrap;
}
.ai-workbench-material-table .material-uploader {
  display: block;
  font-size: 11px;
  margin-top: 4px;
}

/* Migrated /tender V3 workbench, scoped to the AI workbench three-step area. */
.ai-workbench-three-step-v3 {
  --v3-bg: #ffffff;
  --v3-border: #e2e8f0;
  --v3-ink: #1e293b;
  --v3-muted: #64748b;
  --v3-blue: #2563eb;
  --v3-blue-lt: #eff6ff;
  --v3-green: #10b981;
  --v3-green-lt: #ecfdf5;
  --v3-orange: #f59e0b;
  --v3-orange-lt: #fffbeb;
  --v3-red: #ef4444;
  --v3-red-lt: #fef2f2;
  --v3-purple-lt: #f5f3ff;
  background: var(--v3-border);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 720px;
  overflow: hidden;
}
.ai-workbench-three-step-v3 .panel-v3 {
  background: var(--v3-bg);
  display: flex;
  flex-direction: column;
  max-height: 760px;
  min-width: 0;
  overflow-y: auto;
}
.ai-workbench-three-step-v3 .panel-center { overflow: hidden; }
.ai-workbench-three-step-v3 .panel-v3-header {
  align-items: center;
  border-bottom: 1px solid var(--v3-border);
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  padding: 14px 16px;
}
.ai-workbench-three-step-v3 .panel-v3-header strong { color: var(--v3-ink); font-size: 14px; }
.ai-workbench-three-step-v3 .step-chip { border-radius: 4px; display: inline-flex; font-size: 10px; font-weight: 700; padding: 2px 8px; }
.ai-workbench-three-step-v3 .step-blue { background: var(--v3-blue-lt); color: var(--v3-blue); }
.ai-workbench-three-step-v3 .step-orange { background: var(--v3-orange-lt); color: #d97706; }
.ai-workbench-three-step-v3 .step-green { background: var(--v3-green-lt); color: #059669; }
.ai-workbench-three-step-v3 .chip-count { color: var(--v3-muted); font-size: 11px; font-weight: 600; margin-left: auto; }
.ai-workbench-three-step-v3 .meta-card { border-bottom: 1px solid var(--v3-border); display: flex; flex-direction: column; flex-shrink: 0; gap: 8px; padding: 14px 16px; }
.ai-workbench-three-step-v3 .meta-row { align-items: baseline; display: flex; font-size: 12px; gap: 10px; justify-content: space-between; }
.ai-workbench-three-step-v3 .meta-label { color: var(--v3-muted); flex: 0 0 auto; font-size: 11px; }
.ai-workbench-three-step-v3 .meta-val { color: var(--v3-ink); font-size: 11px; font-weight: 600; min-width: 0; overflow-wrap: anywhere; text-align: right; }
.ai-workbench-three-step-v3 .meta-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.ai-workbench-three-step-v3 .mtag { background: #f1f5f9; border-radius: 3px; color: #475569; display: inline-flex; font-size: 10px; font-weight: 600; padding: 2px 7px; }
.ai-workbench-three-step-v3 .mtag-green { background: var(--v3-green-lt); color: #065f46; }
.ai-workbench-three-step-v3 .mtag-purple { background: var(--v3-purple-lt); color: #6d28d9; }
.ai-workbench-three-step-v3 .strategy-panel { display: grid; gap: 12px; padding: 14px 16px; }
.ai-workbench-three-step-v3 .strategy-project { border-bottom: 1px solid var(--v3-border); display: grid; gap: 4px; padding-bottom: 12px; }
.ai-workbench-three-step-v3 .strategy-project span { color: var(--v3-muted); font-size: 11px; }
.ai-workbench-three-step-v3 .strategy-project strong { color: var(--v3-ink); font-size: 13px; line-height: 1.45; }
.ai-workbench-three-step-v3 .strategy-focus { background: var(--v3-blue-lt); border-left: 3px solid var(--v3-blue); border-radius: 4px; display: grid; gap: 4px; padding: 10px; }
.ai-workbench-three-step-v3 .strategy-focus span { color: var(--v3-blue); font-size: 11px; font-weight: 700; }
.ai-workbench-three-step-v3 .strategy-focus strong { color: var(--v3-ink); font-size: 16px; }
.ai-workbench-three-step-v3 .strategy-focus p { color: #475569; font-size: 11px; line-height: 1.55; margin: 0; }
.ai-workbench-three-step-v3 .strategy-weights { display: grid; gap: 10px; }
.ai-workbench-three-step-v3 .strategy-weight { display: grid; gap: 5px; }
.ai-workbench-three-step-v3 .strategy-weight > div { align-items: center; display: flex; justify-content: space-between; gap: 8px; }
.ai-workbench-three-step-v3 .strategy-weight > div span { color: var(--v3-muted); font-size: 11px; }
.ai-workbench-three-step-v3 .strategy-weight > div strong { color: var(--v3-ink); font-size: 12px; }
.ai-workbench-three-step-v3 .strategy-weight-track { background: #e2e8f0; border-radius: 999px; display: block; height: 6px; overflow: hidden; }
.ai-workbench-three-step-v3 .strategy-weight-track span { background: var(--v3-blue); border-radius: inherit; display: block; height: 100%; }
.ai-workbench-three-step-v3 .strategy-service .strategy-weight-track span { background: var(--v3-green); }
.ai-workbench-three-step-v3 .strategy-portfolio .strategy-weight-track span { background: var(--v3-orange); }
.ai-workbench-three-step-v3 .strategy-evidence { border-top: 1px solid var(--v3-border); display: grid; gap: 7px; padding-top: 12px; }
.ai-workbench-three-step-v3 .strategy-evidence > div { align-items: center; display: flex; justify-content: space-between; gap: 8px; }
.ai-workbench-three-step-v3 .strategy-evidence strong { color: var(--v3-ink); font-size: 12px; }
.ai-workbench-three-step-v3 .strategy-evidence span, .ai-workbench-three-step-v3 .strategy-evidence p { color: var(--v3-muted); font-size: 10px; margin: 0; }
.ai-workbench-three-step-v3 .strategy-evidence blockquote { border-left: 2px solid #cbd5e1; color: #475569; font-size: 10px; line-height: 1.45; margin: 0; overflow-wrap: anywhere; padding-left: 7px; }
.ai-workbench-three-step-v3 .strategy-empty { color: var(--v3-muted); display: grid; gap: 6px; font-size: 12px; line-height: 1.55; padding: 16px; }
.ai-workbench-three-step-v3 .strategy-empty p { color: var(--v3-ink); font-weight: 700; margin: 0; }
.ai-workbench-three-step-v3 .strategy-next-step { align-items: center; color: var(--v3-blue); display: inline-flex; font-size: 11px; font-weight: 800; justify-content: center; padding: 8px; text-decoration: none; }
.ai-workbench-three-step-v3 .commercial-section-nav { border-bottom: 1px solid var(--v3-border); display: flex; flex-shrink: 0; gap: 4px; overflow-x: auto; padding: 8px; }
.ai-workbench-three-step-v3 .commercial-section-nav button { align-items: center; background: #f8fafc; border: 1px solid var(--v3-border); border-radius: 4px; color: var(--v3-muted); cursor: pointer; display: grid; flex: 0 0 116px; gap: 2px; grid-template-columns: auto minmax(0, 1fr); padding: 6px; text-align: left; }
.ai-workbench-three-step-v3 .commercial-section-nav button.active { background: var(--v3-orange-lt); border-color: #fbbf24; color: #92400e; }
.ai-workbench-three-step-v3 .commercial-section-nav button > span { font-size: 10px; font-weight: 800; grid-row: 1 / 3; }
.ai-workbench-three-step-v3 .commercial-section-nav button strong { font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-workbench-three-step-v3 .commercial-section-nav button small { font-size: 10px; }
.ai-workbench-three-step-v3 .commercial-section-select { border-bottom: 1px solid var(--v3-border); display: grid; flex-shrink: 0; gap: 4px; padding: 8px 16px; }
.ai-workbench-three-step-v3 .commercial-section-select span { color: var(--v3-muted); font-size: 10px; font-weight: 700; }
.ai-workbench-three-step-v3 .commercial-section-select select { background: #fff; border: 1px solid var(--v3-border); border-radius: 5px; color: var(--v3-ink); font-size: 12px; min-height: 32px; padding: 5px 8px; width: 100%; }
.ai-workbench-three-step-v3 .readiness-score-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 12px; }
.ai-workbench-three-step-v3 .readiness-score-card { border: 1px solid var(--v3-border); border-radius: 6px; display: grid; gap: 2px; padding: 9px; }
.ai-workbench-three-step-v3 .readiness-score-card > span, .ai-workbench-three-step-v3 .readiness-score-card small { color: var(--v3-muted); font-size: 10px; }
.ai-workbench-three-step-v3 .readiness-score-card strong { color: var(--v3-ink); font-size: 23px; line-height: 1; }
.ai-workbench-three-step-v3 .readiness-score-card p { color: var(--v3-muted); font-size: 10px; line-height: 1.4; margin: 3px 0 0; }
.ai-workbench-three-step-v3 .readiness-score-card.pass { border-color: #86efac; background: var(--v3-green-lt); }
.ai-workbench-three-step-v3 .readiness-score-card.warn { border-color: #fcd34d; background: var(--v3-orange-lt); }
.ai-workbench-three-step-v3 .readiness-score-card.fail { border-color: #fecaca; background: var(--v3-red-lt); }
.ai-workbench-three-step-v3 .section-score-row.active { background: var(--v3-blue-lt); border-radius: 4px; }
.ai-workbench-three-step-v3 .framework-list { flex: 1; overflow-y: auto; padding: 6px 0; }
.ai-workbench-three-step-v3 .fw-section { background: none; border: 0; border-bottom: 1px solid #f1f5f9; cursor: pointer; display: flex; flex-direction: column; gap: 6px; padding: 10px 16px; text-align: left; transition: background .1s; width: 100%; }
.ai-workbench-three-step-v3 .fw-section:hover { background: #f8fafc; }
.ai-workbench-three-step-v3 .fw-section.active { background: #eff6ff; border-left: 3px solid #2563eb; padding-left: 13px; }
.ai-workbench-three-step-v3 .fw-main { align-items: center; display: flex; gap: 6px; }
.ai-workbench-three-step-v3 .fw-id,
.ai-workbench-three-step-v3 .fw-item-id,
.ai-workbench-three-step-v3 .edit-item-id { color: #94a3b8; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 10px; }
.ai-workbench-three-step-v3 .fw-id { min-width: 40px; }
.ai-workbench-three-step-v3 .fw-title { color: var(--v3-ink); flex: 1; font-size: 12px; font-weight: 600; min-width: 0; }
.ai-workbench-three-step-v3 .fw-score { border-radius: 3px; font-size: 11px; font-weight: 700; padding: 1px 6px; white-space: nowrap; }
.ai-workbench-three-step-v3 .fw-score.good { background: var(--v3-green-lt); color: #059669; }
.ai-workbench-three-step-v3 .fw-score.warn { background: var(--v3-orange-lt); color: #92400e; }
.ai-workbench-three-step-v3 .fw-score.bad { background: var(--v3-red-lt); color: #991b1b; }
.ai-workbench-three-step-v3 .fw-meta { align-items: center; color: var(--v3-muted); display: flex; font-size: 10px; gap: 8px; }
.ai-workbench-three-step-v3 .fw-bar { background: #e2e8f0; border-radius: 2px; flex: 1; height: 4px; overflow: hidden; }
.ai-workbench-three-step-v3 .fw-bar-fill { background: #2563eb; border-radius: 2px; height: 100%; transition: width .3s; }
.ai-workbench-three-step-v3 .fw-weight { color: #94a3b8; font-size: 10px; }
.ai-workbench-three-step-v3 .fw-items { background: #f8fafc; padding: 4px 0; }
.ai-workbench-three-step-v3 .fw-item { align-items: center; border-bottom: 1px solid #f1f5f9; display: flex; font-size: 11px; gap: 6px; padding: 6px 16px 6px 36px; }
.ai-workbench-three-step-v3 .fw-item.done { background: #f0fdf4; }
.ai-workbench-three-step-v3 .fw-item-id { min-width: 44px; }
.ai-workbench-three-step-v3 .fw-item-label { -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--v3-ink); display: -webkit-box; flex: 1; line-height: 1.4; min-width: 0; overflow: hidden; }
.ai-workbench-three-step-v3 .type-chip { border-radius: 3px; display: inline-flex; flex-shrink: 0; font-size: 9px; font-weight: 700; padding: 1px 5px; }
.ai-workbench-three-step-v3 .type-声明 { background: #fce7f3; color: #9d174d; }
.ai-workbench-three-step-v3 .type-资质 { background: #fef3c7; color: #92400e; }
.ai-workbench-three-step-v3 .type-业绩 { background: #d1fae5; color: #065f46; }
.ai-workbench-three-step-v3 .type-方案 { background: #e0f2fe; color: #0369a1; }
.ai-workbench-three-step-v3 .type-报价 { background: #fef3c7; color: #92400e; }
.ai-workbench-three-step-v3 .type-承诺 { background: #fee2e2; color: #991b1b; }
.ai-workbench-three-step-v3 .type-规范 { background: #ede9fe; color: #5b21b6; }
.ai-workbench-three-step-v3 .v3-edit-section { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.ai-workbench-three-step-v3 .v3-edit-section[hidden],
.ai-workbench-three-step-v3 [hidden] { display: none !important; }
.ai-workbench-three-step-v3 .edit-section-intro { border-bottom: 1px solid var(--v3-border); flex-shrink: 0; padding: 14px 16px 10px; }
.ai-workbench-three-step-v3 .edit-section-intro h3 { color: var(--v3-ink); font-size: 14px; font-weight: 700; margin: 0 0 4px; }
.ai-workbench-three-step-v3 .edit-section-intro p { color: var(--v3-muted); font-size: 12px; margin: 0 0 4px; }
.ai-workbench-three-step-v3 .edit-weight { color: #94a3b8; font-size: 11px; font-weight: 600; }
.ai-workbench-three-step-v3 .edit-items-list { display: flex; flex: 1; flex-direction: column; gap: 10px; overflow-y: auto; padding: 12px 16px; }
.ai-workbench-three-step-v3 .module-outline-list { background: #fff; border: 1px solid var(--v3-border); border-radius: 8px; overflow: hidden; }
.ai-workbench-three-step-v3 .module-outline-list > summary { color: var(--v3-muted); cursor: pointer; font-size: 11px; font-weight: 700; padding: 9px 10px; }
.ai-workbench-three-step-v3 .module-outline-row { align-items: center; border-bottom: 1px solid #f1f5f9; display: flex; gap: 8px; padding: 8px 10px; text-align: left; }
.ai-workbench-three-step-v3 .module-outline-row:last-child { border-bottom: 0; }
.ai-workbench-three-step-v3 .module-outline-id { color: #94a3b8; flex: 0 0 46px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 10px; }
.ai-workbench-three-step-v3 .module-outline-label { color: var(--v3-ink); flex: 1; font-size: 12px; line-height: 1.45; min-width: 0; }
.ai-workbench-three-step-v3 .edit-item-card { background: #f8fafc; border: 1px solid var(--v3-border); border-radius: 8px; padding: 10px 12px; }
.ai-workbench-three-step-v3 .edit-item-card.done { background: #f0fdf4; border-color: #bbf7d0; }
.ai-workbench-three-step-v3 .edit-item-head { align-items: center; display: flex; gap: 8px; margin-bottom: 6px; }
.ai-workbench-three-step-v3 .edit-item-label { color: var(--v3-ink); flex: 1; font-size: 12px; font-weight: 600; line-height: 1.4; min-width: 0; }
.ai-workbench-three-step-v3 .edit-item-hint { color: #94a3b8; font-size: 11px; line-height: 1.45; margin: 0 0 6px; padding-left: 4px; }
.ai-workbench-three-step-v3 .edit-item-textarea { border: 1px solid #e2e8f0; border-radius: 6px; box-sizing: border-box; color: var(--v3-ink); display: block; font-family: inherit; font-size: 13px; line-height: 1.6; min-height: 104px; outline: none; padding: 10px; resize: vertical; width: 100%; }
.ai-workbench-three-step-v3 .edit-item-textarea:focus { border-color: var(--v3-blue); box-shadow: 0 0 0 2px rgba(37,99,235,.08); }
.ai-workbench-three-step-v3 .btn-done-toggle { align-items: center; background: #fff; border: 1px solid var(--v3-border); border-radius: 4px; color: var(--v3-muted); cursor: pointer; display: flex; flex-shrink: 0; font-size: 10px; font-weight: 600; height: 26px; justify-content: center; transition: all .15s; width: 36px; }
.ai-workbench-three-step-v3 .btn-done-toggle.on { background: #10b981; border-color: #10b981; color: #fff; }
.ai-workbench-three-step-v3 span.btn-done-toggle { cursor: default; }
.ai-workbench-three-step-v3 .readiness-reminder-link { background: #fff; border: 1px solid var(--v3-border); border-radius: 6px; color: var(--v3-ink); cursor: pointer; display: grid; font: inherit; gap: 4px; margin-bottom: 6px; padding: 8px; text-align: left; width: 100%; }
.ai-workbench-three-step-v3 .readiness-reminder-link:hover { background: var(--v3-blue-lt); border-color: #93c5fd; }
.ai-workbench-three-step-v3 .readiness-reminder-link strong { color: #b91c1c; font-size: 11px; }
.ai-workbench-three-step-v3 .readiness-reminder-link span { font-size: 11px; line-height: 1.45; }
.ai-workbench-three-step-v3 .readiness-reminder-link small { color: var(--v3-blue); font-size: 10px; font-weight: 700; }
.ai-workbench-three-step-v3 .edit-item-actions,
.ai-workbench-three-step-v3 .edit-ai-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.ai-workbench-three-step-v3 .edit-ai-actions { border-top: 1px solid var(--v3-border); flex-shrink: 0; padding: 12px 16px; }
.ai-workbench-three-step-v3 .btn-ai-suggest,
.ai-workbench-three-step-v3 .btn-ai-polish,
.ai-workbench-three-step-v3 .btn-kb-sm,
.ai-workbench-three-step-v3 .btn-rescore,
.ai-workbench-three-step-v3 .btn-export-report,
.ai-workbench-three-step-v3 .btn-score-start { text-decoration: none; }
.ai-workbench-three-step-v3 .btn-ai-suggest { background: #fff; border: 1px solid var(--v3-border); border-radius: 6px; color: #6366f1; cursor: pointer; font-size: 12px; font-weight: 600; padding: 8px 14px; }
.ai-workbench-three-step-v3 .btn-ai-polish { background: linear-gradient(135deg, #dc2626, #b91c1c); border: 0; border-radius: 6px; box-shadow: 0 2px 6px rgba(220,38,38,.3); color: #fff; cursor: pointer; font-size: 12px; font-weight: 700; padding: 8px 18px; }
.ai-workbench-three-step-v3 .btn-ai-polish:disabled,
.ai-workbench-three-step-v3 .btn-score-start:disabled { cursor: not-allowed; opacity: .5; }
.ai-workbench-three-step-v3 .edit-kb-section { flex-shrink: 0; padding: 10px 0 0; }
.ai-workbench-three-step-v3 .edit-kb-header { align-items: center; color: var(--v3-muted); display: flex; font-size: 12px; font-weight: 600; gap: 8px; margin-bottom: 8px; }
.ai-workbench-three-step-v3 .edit-kb-actions { display: flex; gap: 6px; margin-left: auto; }
.ai-workbench-three-step-v3 .edit-kb-picker { position: relative; }
.ai-workbench-three-step-v3 .edit-kb-picker > summary { list-style: none; }
.ai-workbench-three-step-v3 .edit-kb-picker > summary::-webkit-details-marker { display: none; }
.ai-workbench-three-step-v3 .edit-kb-picker .kb-picker-dropdown {
  left: auto;
  min-width: 320px;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 30;
}
.ai-workbench-three-step-v3 .btn-kb-sm { background: #fafbfc; border: 1px dashed var(--v3-border); border-radius: 5px; color: var(--v3-muted); cursor: pointer; display: inline-flex; font-size: 11px; gap: 4px; padding: 5px 10px; }
.ai-workbench-three-step-v3 .btn-kb-sm:hover { background: var(--v3-blue-lt); border-color: var(--v3-blue); color: var(--v3-blue); }
.ai-workbench-three-step-v3 .kb-linked-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.ai-workbench-three-step-v3 .kb-linked-chip { background: var(--v3-green-lt); border-radius: 4px; color: #065f46; display: inline-flex; font-size: 11px; font-weight: 500; padding: 3px 8px; }
.ai-workbench-three-step-v3 .kb-picker-dropdown { background: #fff; border: 1px solid var(--v3-border); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.1); display: grid; gap: 6px; padding: 8px 10px; }
.ai-workbench-three-step-v3 .kb-picker-dropdown label { color: var(--v3-muted); font-size: 11px; font-weight: 700; }
.ai-workbench-three-step-v3 .kb-picker-search { display: grid; gap: 6px; grid-template-columns: minmax(0, 1fr) auto; }
.ai-workbench-three-step-v3 .kb-picker-search select { min-width: 0; }
.ai-workbench-three-step-v3 .panel-right { background: #fafbfc; }
.ai-workbench-three-step-v3 .report-empty-v3 { align-items: center; display: flex; flex: 1; flex-direction: column; gap: 12px; justify-content: center; padding: 40px 20px; text-align: center; }
.ai-workbench-three-step-v3 .report-empty-v3 p { color: var(--v3-muted); font-size: 14px; font-weight: 600; margin: 0; }
.ai-workbench-three-step-v3 .report-empty-v3 span { color: #94a3b8; font-size: 12px; }
.ai-workbench-three-step-v3 .report-empty-v3 .section-scores-empty-v3 { text-align: left; width: 100%; }
.ai-workbench-three-step-v3 .report-body-v3 { display: flex; flex: 1; flex-direction: column; gap: 14px; overflow-y: auto; padding: 16px; }
.ai-workbench-three-step-v3 .score-hero-v3 { align-items: center; background: #fff; border: 1px solid var(--v3-border); border-radius: 10px; display: flex; gap: 14px; padding: 14px; }
.ai-workbench-three-step-v3 .score-ring-v3 { align-items: center; background: #fff; border: 4px solid; border-radius: 50%; display: flex; flex-direction: column; flex-shrink: 0; height: 72px; justify-content: center; width: 72px; }
.ai-workbench-three-step-v3 .score-ring-v3.pass { border-color: var(--v3-green); }
.ai-workbench-three-step-v3 .score-ring-v3.warn { border-color: var(--v3-orange); }
.ai-workbench-three-step-v3 .score-ring-v3.fail { border-color: var(--v3-red); }
.ai-workbench-three-step-v3 .score-ring-v3 strong { color: var(--v3-ink); font-size: 26px; font-weight: 700; line-height: 1; }
.ai-workbench-three-step-v3 .score-ring-v3 span { color: #94a3b8; font-size: 10px; }
.ai-workbench-three-step-v3 .score-verdict-v3 { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ai-workbench-three-step-v3 .verdict-chip { border-radius: 5px; display: inline-flex; font-size: 13px; font-weight: 700; padding: 3px 10px; width: fit-content; }
.ai-workbench-three-step-v3 .verdict-chip.pass { background: var(--v3-green-lt); color: #059669; }
.ai-workbench-three-step-v3 .verdict-chip.warn { background: var(--v3-orange-lt); color: #92400e; }
.ai-workbench-three-step-v3 .verdict-chip.fail { background: var(--v3-red-lt); color: #991b1b; }
.ai-workbench-three-step-v3 .score-verdict-v3 p { color: var(--v3-muted); font-size: 11px; line-height: 1.5; margin: 0; }
.ai-workbench-three-step-v3 .section-scores-v3,
.ai-workbench-three-step-v3 .is-block { background: #fff; border: 1px solid var(--v3-border); border-radius: 8px; padding: 12px 14px; }
.ai-workbench-three-step-v3 .section-scores-v3 h4 { color: var(--v3-ink); font-size: 12px; font-weight: 700; margin: 0 0 10px; }
.ai-workbench-three-step-v3 .section-score-row { align-items: center; background: transparent; border: 0; border-bottom: 1px solid #f1f5f9; cursor: pointer; display: flex; gap: 8px; padding: 5px 0; width: 100%; }
.ai-workbench-three-step-v3 .ss-name { color: var(--v3-ink); font-size: 11px; min-width: 100px; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.ai-workbench-three-step-v3 .ss-bar-wrap { background: #e2e8f0; border-radius: 3px; flex: 1; height: 6px; overflow: hidden; }
.ai-workbench-three-step-v3 .ss-bar { border-radius: 3px; display: block; height: 100%; }
.ai-workbench-three-step-v3 .ss-bar.good { background: var(--v3-green); }
.ai-workbench-three-step-v3 .ss-bar.warn { background: var(--v3-orange); }
.ai-workbench-three-step-v3 .ss-bar.bad { background: var(--v3-red); }
.ai-workbench-three-step-v3 .ss-score { font-size: 12px; font-weight: 700; min-width: 30px; text-align: right; }
.ai-workbench-three-step-v3 .ss-score.good { color: #059669; }
.ai-workbench-three-step-v3 .ss-score.warn { color: #92400e; }
.ai-workbench-three-step-v3 .ss-score.bad { color: #991b1b; }
.ai-workbench-three-step-v3 .issues-suggestions-v3 { display: flex; flex-direction: column; gap: 8px; }
.ai-workbench-three-step-v3 .workbench-advanced-tools {
  background: #fff;
  border: 1px solid var(--v3-border);
  border-radius: 8px;
  color: var(--v3-ink);
  font-size: 11px;
  padding: 10px 12px;
}
.ai-workbench-three-step-v3 .workbench-advanced-tools > summary {
  cursor: pointer;
  font-weight: 700;
}
.ai-workbench-three-step-v3 .workbench-advanced-tools-body {
  display: grid;
  gap: 8px;
  padding-top: 10px;
}
.ai-workbench-three-step-v3 .is-block h5 { color: var(--v3-ink); font-size: 11px; font-weight: 700; margin: 0 0 6px; }
.ai-workbench-three-step-v3 .is-suggestion { color: var(--v3-blue); display: flex; font-size: 11px; gap: 5px; line-height: 1.5; padding: 4px 0; }
.ai-workbench-three-step-v3 .v3-draft-actions-form { display: grid; gap: 10px; }
.ai-workbench-three-step-v3 .v3-draft-actions-form textarea { border: 1px solid var(--v3-border); border-radius: 8px; font-size: 12px; line-height: 1.5; min-height: 150px; padding: 10px; resize: vertical; width: 100%; }
.ai-workbench-three-step-v3 .report-actions-v3 { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 8px; }
.ai-workbench-three-step-v3 .btn-rescore { background: #fff; border: 1px solid var(--v3-border); border-radius: 6px; color: var(--v3-ink); cursor: pointer; flex: 1; font-size: 12px; font-weight: 600; min-width: 95px; padding: 8px 10px; }
.ai-workbench-three-step-v3 .btn-export-report { background: var(--v3-green); border: 0; border-radius: 6px; color: #fff; cursor: pointer; flex: 1; font-size: 12px; font-weight: 600; min-width: 120px; padding: 8px 10px; }
.ai-workbench-three-step-v3 .btn-score-start { background: linear-gradient(135deg, #dc2626, #b91c1c); border: 0; border-radius: 8px; box-shadow: 0 2px 8px rgba(220,38,38,.3); color: #fff; cursor: pointer; font-size: 14px; font-weight: 700; margin-top: 8px; padding: 10px 24px; }
.ai-workbench-v3-empty { padding: 16px; }

.material-title-details > summary { list-style: none; }
.material-title-details > summary::-webkit-details-marker { display: none; }
.material-title-details .material-detail-actions { justify-content: flex-start; margin-top: 8px; }

.ai-workbench-card-shell {
  grid-template-columns: 1fr;
  margin-bottom: 8px;
}
.ai-workbench-selector-status {
  padding: 16px;
}
.ai-workbench-three-step {
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr) minmax(380px, 1.25fr);
  gap: 8px;
  align-items: start;
  position: relative;
  z-index: 1;
}
.ai-workbench-step-card {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  height: 700px;
  min-width: 0;
  padding: 8px;
  overflow: hidden;
}
.ai-workbench-draft-card {
  overflow: auto;
}
.ai-workbench-step-head {
  align-items: flex-start;
  border-bottom: 1px solid var(--coke-gray-200);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin: -1px 0 7px;
  min-height: 56px;
  padding-bottom: 6px;
  flex: 0 0 auto;
}
.ai-workbench-step-head h2 {
  font-size: 16px;
  line-height: 1.2;
  margin: 0 0 3px;
}
.ai-workbench-step-head p {
  font-size: 10px;
  line-height: 12px;
  margin: 0;
}
.ai-workbench-step-head .inline-form {
  flex: 0 0 auto;
}
.ai-workbench-step-head .inline-form button {
  white-space: nowrap;
}
.ai-workbench-requirement-list {
  display: grid;
  gap: 5px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ai-workbench-requirement-list li {
  background: #F9FAFB;
  border: 1px solid var(--coke-gray-200);
  border-left: 4px solid var(--coke-red);
  border-radius: 6px;
  display: grid;
  gap: 2px;
  padding: 6px;
}
.ai-workbench-requirement-list strong {
  color: var(--coke-red-dark);
  font-size: 12px;
}
.ai-workbench-requirement-list span {
  color: var(--coke-charcoal);
  font-size: 12px;
  line-height: 1.35;
}
.ai-workbench-requirement-list small {
  color: var(--coke-gray-500);
  font-size: 10px;
}
.ai-workbench-three-step .ai-workbench-preview-kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ai-workbench-draft-operations .ai-workbench-preview-kpis {
  grid-template-columns: repeat(2, 100px);
  justify-content: start;
}
.ai-workbench-three-step .ai-workbench-preview-kpis strong {
  overflow-wrap: anywhere;
}
.ai-workbench-answer-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 1px;
}
.ai-workbench-three-step .ai-workbench-preview-sheet,
.ai-workbench-full-draft-form,
.ai-workbench-empty-draft {
  flex: 1 1 auto;
  min-height: 0;
}
.ai-workbench-full-draft-form {
  display: flex;
  flex-direction: column;
}
.ai-workbench-draft-card .ai-workbench-full-draft-form,
.ai-workbench-draft-card .ai-workbench-draft-operations,
.ai-workbench-draft-card .ai-workbench-score-history,
.ai-workbench-draft-card .ai-workbench-quality-panel,
.ai-workbench-draft-card .ai-workbench-draft-sections {
  flex: 0 0 auto;
}
.ai-workbench-three-step .ai-workbench-preview-sheet {
  max-height: none;
  overflow: auto;
}
.ai-workbench-empty-draft {
  display: grid;
  place-items: start;
}
.ai-workbench-full-draft-form textarea {
  flex: 1 1 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  height: 100%;
  line-height: 1.65;
  min-height: 0;
  resize: vertical;
  width: 100%;
}
.ai-workbench-draft-card .ai-workbench-full-draft-form textarea {
  flex: 0 0 auto;
  height: auto;
  min-height: 170px;
}
.ai-workbench-score-chip {
  background: #ECFDF3;
  border: 1px solid #BBF7D0;
  border-radius: 999px;
  color: var(--status-success);
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
  padding: 6px 10px;
}
.ai-workbench-score-history {
  border-top: 1px solid var(--coke-gray-200);
  margin-top: 14px;
  padding-top: 10px;
}
.ai-workbench-quality-panel,
.ai-workbench-draft-sections {
  border-top: 1px solid var(--coke-gray-200);
  margin-top: 12px;
  padding-top: 10px;
}
.ai-workbench-draft-operations {
  margin-top: 0;
  padding-top: 0;
}
.ai-workbench-draft-operations h3,
.ai-workbench-draft-sections h3,
.ai-workbench-quality-panel h4,
.ai-workbench-section-add-form h4 {
  font-size: 14px;
  margin: 0 0 5px;
}
.ai-workbench-quality-panel {
  display: grid;
  gap: 8px;
}
.ai-workbench-quality-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.ai-workbench-quality-head p {
  margin: 0;
}
.ai-workbench-quality-dimensions {
  padding: 0;
}
.ai-workbench-quality-dimensions .quality-dimension-has-issue {
  background: #FFF7ED;
  border-color: #FDBA74;
}
.ai-workbench-quality-summary,
.ai-workbench-quality-issues {
  display: grid;
  gap: 6px;
}
.ai-workbench-quality-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.quality-issue-card {
  align-items: stretch;
  display: grid;
  font-size: 11px;
  gap: 4px;
  line-height: 1.45;
  margin-top: 0;
  padding: 7px 8px;
}
.quality-issue-card p {
  margin: 0;
}
.quality-issue-card .muted {
  font-size: 10px;
  line-height: 1.45;
}
.quality-issue-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.quality-issue-card-head > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}
.quality-issue-card-head strong {
  font-size: 11px;
  line-height: 1.35;
}
.quality-issue-card-head .badge {
  font-size: 10px;
  min-height: 18px;
  padding: 1px 6px;
}
.quality-issue-marker-row {
  display: flex;
  justify-content: flex-start;
}
.quality-issue-marker {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  height: 16px;
  justify-content: center;
  width: 16px;
}
.quality-issue-marker span {
  background: currentColor;
  border-radius: 999px;
  display: block;
  height: 7px;
  width: 7px;
}
.quality-issue-marker:hover,
.quality-issue-marker:focus {
  background: rgba(0, 0, 0, .06);
  outline: none;
}
.ai-workbench-quality-status-form {
  width: auto;
}
.ai-workbench-draft-sections table {
  margin: 8px 0 12px;
}
.ai-workbench-section-add-form {
  display: grid;
  gap: 8px;
}
.ai-workbench-score-history h3 {
  font-size: 14px;
  margin: 0 0 8px;
}
.ai-workbench-score-history details {
  background: #F9FAFB;
  border: 1px solid var(--coke-gray-200);
  border-radius: 7px;
  margin-top: 8px;
  padding: 8px 10px;
}
.ai-workbench-score-history summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.ai-workbench-empty-draft {
  background: #F9FAFB;
  border: 1px dashed var(--coke-gray-300);
  border-radius: 8px;
  padding: 20px;
}

@media (max-width: 1180px) {
  .bid-filters { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .material-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .review-filters { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .risk-check-filters { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .draft-package-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .draft-section-add-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .draft-quality-score-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quality-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-workbench-material-upload {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .ai-workbench-material-field-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ai-workbench-material-upload-actions {
    grid-template-columns: minmax(220px, 1fr) 92px 104px;
  }
  .ai-workbench-material-upload .ai-workbench-material-panel-head {
    min-height: 22px;
  }
  .ai-workbench-material-upload button {
    width: 100%;
  }
}

@media (max-width: 860px) {
  .app-shell {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .sidebar {
    align-items: flex-start;
    display: flex;
    gap: 6px;
    min-height: 58px;
    overflow-x: auto;
    padding: 10px;
  }
  .nav-link,
  .nav-group,
  .nav-group-title {
    flex: 0 0 auto;
  }
  .nav-link,
  .nav-group-title { white-space: nowrap; margin-bottom: 0; }
  .nav-group {
    align-items: flex-start;
    display: flex;
    gap: 6px;
    margin: 0;
  }
  .nav-group-children {
    display: flex;
    gap: 6px;
    padding-left: 0;
  }
  .main { padding: 18px 14px 30px; }
  .topbar { height: auto; min-height: 56px; padding: 12px 14px; align-items: flex-start; gap: 10px; }
  .topbar-user { flex-wrap: wrap; justify-content: flex-end; }
  .page-header { display: block; }
  .ai-workbench-three-step-v3 {
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: visible;
  }
  .ai-workbench-three-step-v3 .panel-v3 {
    max-height: none;
    overflow: visible;
  }
  .dashboard-energy-page .topbar {
    min-height: 64px;
    padding: 12px 14px;
  }
  .dashboard-energy-page .app-shell {
    grid-template-columns: 1fr;
  }
  .dashboard-energy-page .sidebar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
  }
  .dashboard-energy-page .main {
    padding: 16px 12px 30px;
  }
  .dashboard-hero {
    display: grid;
    gap: 18px;
    min-height: 0;
    padding: 22px 18px;
  }
  .dashboard-hero h1 {
    font-size: 24px;
  }
  .dashboard-hero-status {
    text-align: left;
    width: 100%;
  }
  .dashboard-energy-page .priority-panel {
    padding: 16px;
  }
  .dashboard-energy-page .priority-panel-head {
    align-items: flex-start;
  }
  .dashboard-energy-page .priority-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .dashboard-energy-page .priority-card {
    min-height: 104px;
    padding: 16px;
  }
  .priority-panel { padding: 14px; }
  .priority-panel-head { align-items: flex-start; }
  .priority-grid { grid-template-columns: 1fr; gap: 10px; }
  .priority-card {
    gap: 14px;
    min-height: 96px;
    padding: 16px;
  }
  .priority-card-icon {
    font-size: 22px;
    height: 46px;
    width: 46px;
  }
  .priority-card-title { font-size: 16px; }
  .priority-card-value { font-size: 32px; margin-top: 6px; }
  .draft-package-overview-grid { grid-template-columns: 1fr; }
  .draft-section-add-grid { grid-template-columns: 1fr; }
  .draft-quality-score-strip,
  .quality-summary-grid { grid-template-columns: 1fr; }
  .import-compact-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .import-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .import-upload-form {
    grid-template-columns: 1fr;
  }
  .bid-detail-titlebar { display: block; }
  .bid-detail-actions {
    max-width: none;
    justify-content: flex-start;
    margin-top: 10px;
  }
  .bid-status-compact { align-items: stretch; }
  .status-inline-form { align-items: stretch; }
  .status-inline-form select,
  .status-inline-form input,
  .status-inline-form button { width: 100%; }
  .document-upload-row { display: block; }
  .document-upload-form {
    justify-content: flex-start;
    margin-top: 10px;
  }
  .document-upload-form select,
  .document-upload-form input,
  .document-upload-form button { width: 100%; max-width: none; }
  .document-upload-help { white-space: normal; }
  .document-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .document-actions { justify-content: flex-start; }
  .ai-analysis-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .ai-analysis-side {
    justify-items: start;
    text-align: left;
  }
  .draft-package-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .draft-package-filters {
    grid-template-columns: 1fr;
  }
  .draft-package-side {
    justify-items: start;
    text-align: left;
  }
  .page-actions { justify-content: flex-start; margin-top: 10px; }
  .detail-list { grid-template-columns: 1fr; }
  .bid-summary-grid { grid-template-columns: 1fr; }
  .business-flow-grid { grid-template-columns: 1fr; }
  .bid-progress-grid { grid-template-columns: 1fr; }
  .bid-execution-panel { grid-template-columns: 1fr; }
  .bid-execution-section {
    border-right: 0;
    border-bottom: 1px solid var(--coke-gray-200);
  }
.bid-execution-section:last-child { border-bottom: 0; }
  .bid-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bid-filters .filter-actions {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    display: flex;
    flex-direction: row;
    row-gap: 0;
  }
  .filters.bid-filters .filter-actions .filter-submit,
  .filters.bid-filters .filter-actions .button-reset {
    flex: 1 1 0;
    width: auto;
  }
  .material-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-workbench-card-shell,
  .ai-workbench-preview-body,
  .ai-workbench-status-grid,
  .ai-workbench-three-step {
    grid-template-columns: 1fr;
  }
  .ai-workbench-upload-card {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }
  .ai-workbench-bid-switch-form {
    height: auto;
  }
  .ai-workbench-bid-switch-row {
    grid-template-columns: 1fr;
  }
  .ai-workbench-upload-form {
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    height: auto;
  }
  .ai-workbench-upload-form > label:first-of-type {
    grid-column: auto;
  }
  .ai-workbench-upload-form .button {
    width: 100%;
  }
  .ai-workbench-status-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ai-workbench-step-card {
    height: auto;
    overflow: visible;
  }
  .ai-workbench-answer-list,
  .ai-workbench-three-step .ai-workbench-preview-sheet {
    max-height: none;
  }
  .ai-workbench-preview-head {
    display: block;
  }
  .ai-workbench-preview-actions {
    justify-content: flex-start;
    margin-top: 10px;
  }
  .ai-workbench-preview-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ai-workbench-material-layout {
    grid-template-columns: 1fr;
  }
  .ai-workbench-material-filters,
  .filters.ai-workbench-material-filters {
    grid-template-columns: 1fr !important;
  }
  .ai-workbench-material-upload {
    grid-template-columns: 1fr;
  }
  .ai-workbench-material-field-grid,
  .ai-workbench-material-upload-actions {
    grid-template-columns: 1fr !important;
  }
  .ai-workbench-material-upload-actions .material-checks,
  .ai-workbench-material-upload-actions button {
    grid-column: 1;
    grid-row: auto;
  }
  .ai-workbench-material-filters .filter-actions {
    justify-self: stretch;
    min-width: 0;
    width: 100%;
  }
  .filters.ai-workbench-material-filters .filter-actions .filter-submit {
    min-width: 0;
    width: 100% !important;
  }
  .ai-workbench-material-results-panel {
    grid-template-columns: 1fr;
  }
  .ai-workbench-material-results-panel .ai-workbench-material-panel-head,
  .ai-workbench-material-results-panel .ai-workbench-material-filters,
  .ai-workbench-material-table {
    grid-column: 1;
    grid-row: auto;
  }
  .ai-workbench-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .ai-workbench-link-form select {
    max-width: none;
    width: 100%;
  }
}

@media (max-width: 860px) {
  .dashboard-energy-page .topbar {
    height: auto;
    min-height: 72px;
    padding: 12px 14px;
  }
  .dashboard-energy-page .brand-name {
    font-size: 18px;
  }
  .dashboard-energy-page .topbar-user {
    gap: 10px;
  }
  .dashboard-energy-page .topbar-icon,
  .dashboard-energy-page .topbar-identity::after {
    display: none;
  }
  .dashboard-energy-page .app-shell {
    grid-template-columns: 1fr;
  }
  .dashboard-energy-page .sidebar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
  }
  .dashboard-energy-page .nav-link,
  .dashboard-energy-page .nav-group-title {
    flex: 0 0 auto;
    font-size: 14px;
    margin-bottom: 0;
    min-height: 38px;
    padding: 8px 12px;
    white-space: nowrap;
  }
  .dashboard-energy-page .nav-link.nav-child {
    padding: 8px 12px;
  }
  .dashboard-energy-page .nav-group-children {
    display: flex;
    gap: 8px;
  }
  .dashboard-energy-page .nav-icon {
    display: none;
  }
  .dashboard-energy-page .main {
    padding: 18px 12px 42px;
  }
  .dashboard-console-header {
    display: grid;
    margin: 0 0 14px;
  }
  .dashboard-console-header h1 {
    font-size: 22px;
  }
  .dashboard-refresh {
    justify-content: flex-start;
    min-width: 0;
    padding-top: 0;
  }
  .dashboard-energy-page .priority-grid,
  .dashboard-panel-row,
  .dashboard-metric-strip,
  .status-strip {
    grid-template-columns: 1fr;
  }
  .dashboard-energy-page .priority-card {
    grid-template-columns: 72px 1fr 20px;
    min-height: 118px;
    padding: 16px;
  }
  .dashboard-energy-page .priority-card-icon {
    height: 58px;
    width: 58px;
  }
  .dashboard-energy-page .priority-card-title {
    font-size: 17px;
  }
  .dashboard-energy-page .priority-card-value {
    font-size: 40px;
  }
  .dashboard-bottom-row {
    grid-template-columns: 1fr;
  }
  .dashboard-mini-metric + .dashboard-mini-metric {
    border-left: 0;
    border-top: 1px solid #e5e7eb;
  }
  .dashboard-energy-page .dashboard-home table {
    display: block;
    overflow-x: auto;
  }
  .coke-bottom-ribbon {
    left: 0;
    opacity: .55;
  }
}

/* Roll back the dashboard to the earlier compact Coke console version. */
.dashboard-energy-page .topbar {
  height: 72px;
  padding: 0 28px;
}
.dashboard-energy-page .brand-name {
  font-size: 26px;
}
.dashboard-energy-page .app-shell {
  grid-template-columns: 238px 1fr;
  min-height: calc(100vh - 72px);
}
.dashboard-energy-page .nav-link,
.dashboard-energy-page .nav-group-title {
  font-size: 17px;
  min-height: 46px;
  padding: 10px 16px;
}
.dashboard-energy-page .nav-link.nav-child {
  font-size: 16px;
}
.dashboard-energy-page .main {
  padding: 28px 28px 64px;
}
.dashboard-energy-page .content-wrap {
  max-width: 1380px;
}
.dashboard-energy-page .priority-panel,
.dashboard-panel {
  margin-bottom: 12px;
  padding: 18px 18px 20px;
}
.dashboard-energy-page .priority-grid {
  gap: 22px;
}
.dashboard-energy-page .priority-card {
  grid-template-columns: 96px 1fr 28px;
  min-height: 144px;
  padding: 20px 22px;
}
.dashboard-energy-page .priority-card::after {
  height: 42px;
}
.dashboard-energy-page .priority-card-icon {
  box-sizing: border-box;
  font-size: 31px;
  height: 72px;
  line-height: 1;
  padding-bottom: 2px;
  text-align: center;
  width: 72px;
}
.dashboard-energy-page .priority-card-icon::before,
.dashboard-energy-page .priority-card-icon::after,
.mini-icon::before,
.mini-icon::after {
  content: none;
}
.dashboard-energy-page .priority-card-title {
  font-size: 20px;
}
.dashboard-energy-page .priority-card-value {
  font-size: 52px;
}
.dashboard-energy-page .priority-card-note {
  font-size: 14px;
}
.dashboard-energy-page .priority-card-arrow {
  font-size: 42px;
}
.dashboard-metric-strip {
  min-height: 106px;
}
.coke-bottom-ribbon {
  bottom: -70px;
  height: 160px;
  left: 52%;
}
.coke-bottom-ribbon .coca-flow {
  height: 120px;
  width: 720px;
}

@media (max-width: 860px) {
  .dashboard-energy-page .topbar {
    height: auto;
    min-height: 72px;
  }
  .dashboard-energy-page .brand-name {
    font-size: 18px;
  }
  .dashboard-energy-page .app-shell {
    grid-template-columns: 1fr;
  }
  .dashboard-energy-page .main {
    padding: 18px 12px 42px;
  }
  .dashboard-energy-page .priority-card {
    grid-template-columns: 72px 1fr 20px;
    min-height: 118px;
    padding: 16px;
  }
  .dashboard-energy-page .priority-card-icon {
    height: 58px;
    width: 58px;
  }
  .dashboard-energy-page .priority-card-title {
    font-size: 17px;
  }
  .dashboard-energy-page .priority-card-value {
    font-size: 40px;
  }
}

/* Homepage normalization: share chrome and typography scale with the rest of the app. */
.dashboard-home {
  font-size: 14px;
  padding-bottom: 0;
}
.dashboard-home .coke-bottom-ribbon {
  display: none;
}
.dashboard-console-header {
  margin: 0 0 18px;
}
.dashboard-console-header h1 {
  color: var(--coke-charcoal);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 8px;
}
.dashboard-console-header p,
.dashboard-refresh,
.dashboard-home .metric-label {
  font-size: 14px;
}
.dashboard-console-header p,
.dashboard-refresh {
  color: var(--coke-gray-700);
  font-weight: 400;
}
.dashboard-refresh {
  border-radius: 6px;
  text-decoration: none;
}
.dashboard-refresh:hover {
  background: transparent;
  color: var(--coke-red);
  text-decoration: none;
}
.dashboard-refresh:focus-visible {
  outline: 2px solid var(--coke-red);
  outline-offset: 3px;
}
.dashboard-refresh-button {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  margin: 0;
  padding: 18px 0 0;
  white-space: normal;
}
.dashboard-refresh-button:disabled {
  cursor: wait;
  opacity: .7;
}
.dashboard-empty {
  align-items: center;
  display: flex;
  padding: 18px;
}
.dashboard-home h2,
.dashboard-panel h2,
.priority-panel-head h2 {
  color: var(--coke-charcoal);
  font-size: 17px;
  font-weight: 700;
}
.priority-card-title {
  font-size: 14px;
  font-weight: 700;
}
.priority-card-value,
.dashboard-mini-metric strong {
  font-size: 30px;
  font-weight: 800;
}
.priority-card-note,
.priority-panel-link,
.dashboard-mini-metric small {
  font-size: 12px;
}
.dashboard-panel,
.dashboard-home table {
  font-size: 11.2px;
}
.dashboard-panel,
.priority-panel {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(30, 30, 30, .06);
  margin-bottom: 14px;
  padding: 18px;
}
.dashboard-panel-row,
.dashboard-bottom-row {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}
.dashboard-panel-row .dashboard-panel,
.dashboard-bottom-row .dashboard-panel {
  min-width: 0;
}
.dashboard-panel h2,
.priority-panel-head h2 {
  border-left: 4px solid var(--coke-red);
  line-height: 1.2;
  margin: 0 0 14px;
  padding-left: 10px;
}
.priority-panel-head h2 {
  margin-bottom: 0;
}
.dashboard-panel .dashboard-metric-strip,
.dashboard-panel table {
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  overflow: hidden;
}
.dashboard-table-panel table {
  border-collapse: collapse;
  box-shadow: none;
}
.dashboard-table-panel th {
  background: var(--coke-gray-100);
  color: var(--coke-gray-700);
  font-size: 10.4px;
  font-weight: 700;
  padding: 11px 12px;
}
.dashboard-table-panel td {
  color: var(--coke-charcoal);
  font-size: 11.2px;
  font-weight: 400;
  padding: 11px 12px;
}
.dashboard-table-panel tr:last-child td {
  border-bottom: 0;
}
.overdue-panel .table-actions .button {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 10px;
}
.dashboard-home th {
  font-size: 10.4px;
  padding: 11px 12px;
}
.dashboard-home td {
  font-size: 11.2px;
  font-weight: 400;
  padding: 11px 12px;
}
.dashboard-status-panel .status-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 106px;
}
.dashboard-status-panel .dashboard-mini-metric {
  border-left: 0;
  gap: 10px;
  padding: 12px 14px;
}
.dashboard-status-panel .dashboard-mini-metric:nth-child(n+4) {
  border-top: 1px solid var(--coke-gray-200);
}
.dashboard-status-panel .dashboard-mini-metric:not(:nth-child(3n+1)) {
  border-left: 1px solid var(--coke-gray-200);
}
.dashboard-status-panel .dashboard-mini-metric .metric-label {
  white-space: normal;
}

@media (max-width: 860px) {
  .dashboard-panel-row,
  .dashboard-bottom-row {
    grid-template-columns: 1fr;
  }
  .dashboard-status-panel .status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-status-panel .dashboard-mini-metric:not(:nth-child(3n+1)) {
    border-left: 0;
  }
  .dashboard-status-panel .dashboard-mini-metric:nth-child(n+3) {
    border-top: 1px solid var(--coke-gray-200);
  }
  .dashboard-status-panel .dashboard-mini-metric:nth-child(even) {
    border-left: 1px solid var(--coke-gray-200);
  }
}

/* Refined dashboard icons: clean line icons instead of font glyphs. */
.dashboard-overview-panel .mini-icon,
.dashboard-status-panel .mini-icon {
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 42%),
    linear-gradient(145deg, #fff 0%, #fff4f4 100%);
  border: 1px solid rgba(244, 0, 9, .22);
  box-shadow: inset 0 0 0 5px rgba(244, 0, 9, .04);
  color: var(--coke-red);
  flex-basis: 40px;
  height: 40px;
  width: 40px;
}
.dashboard-overview-panel .mini-icon::before,
.dashboard-overview-panel .mini-icon::after,
.dashboard-status-panel .mini-icon::before,
.dashboard-status-panel .mini-icon::after {
  box-sizing: border-box;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.dashboard-overview-panel .mini-icon-doc::before {
  border: 2px solid currentColor;
  border-radius: 5px;
  height: 22px;
  width: 17px;
}
.dashboard-overview-panel .mini-icon-doc::after {
  border-top: 2px solid currentColor;
  box-shadow: 0 5px 0 currentColor, 0 10px 0 currentColor;
  height: 12px;
  opacity: .72;
  transform: translate(-50%, -50%) translateY(2px);
  width: 9px;
}
.dashboard-overview-panel .mini-icon-add::before {
  border-bottom: 2px solid currentColor;
  border-radius: 1px;
  height: 0;
  transform: translate(-50%, -50%) rotate(-34deg) translate(-1px, 1px);
  width: 19px;
}
.dashboard-overview-panel .mini-icon-add::after {
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  height: 8px;
  transform: translate(-50%, -50%) rotate(56deg) translate(7px, -5px);
  width: 8px;
}
.dashboard-overview-panel .mini-icon-star::before {
  background: currentColor;
  clip-path: polygon(50% 6%, 61% 35%, 92% 35%, 67% 54%, 76% 86%, 50% 67%, 24% 86%, 33% 54%, 8% 35%, 39% 35%);
  height: 23px;
  opacity: .92;
  width: 23px;
}
.dashboard-overview-panel .mini-icon-star::after {
  background: #fff;
  clip-path: polygon(50% 19%, 57% 40%, 79% 40%, 61% 53%, 68% 75%, 50% 62%, 32% 75%, 39% 53%, 21% 40%, 43% 40%);
  height: 17px;
  width: 17px;
}
.dashboard-status-panel .status-icon-1::before {
  border: 2px solid currentColor;
  border-radius: 999px;
  height: 21px;
  width: 21px;
}
.dashboard-status-panel .status-icon-1::after {
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  height: 8px;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 8px;
}
.dashboard-status-panel .status-icon-2::before {
  background: currentColor;
  border-radius: 999px;
  height: 7px;
  transform: translate(-50%, -50%) translate(-4px, 1px);
  width: 7px;
}
.dashboard-status-panel .status-icon-2::after {
  border: 2px solid currentColor;
  border-radius: 999px;
  height: 21px;
  width: 21px;
}
.dashboard-status-panel .status-icon-3::before {
  border: 2px solid currentColor;
  border-radius: 999px;
  height: 22px;
  width: 22px;
}
.dashboard-status-panel .status-icon-3::after {
  border-left: 2px solid currentColor;
  border-top: 2px solid currentColor;
  height: 8px;
  transform: translate(-50%, -50%) translate(4px, -3px);
  width: 7px;
}
.dashboard-status-panel .status-icon-4::before {
  border: 2px solid currentColor;
  border-radius: 4px 4px 2px 2px;
  height: 22px;
  width: 16px;
}
.dashboard-status-panel .status-icon-4::after {
  background: currentColor;
  border-radius: 999px;
  box-shadow: 0 6px 0 currentColor;
  height: 2px;
  opacity: .75;
  transform: translate(-50%, -50%) translateY(-2px);
  width: 8px;
}
.dashboard-status-panel .status-icon-5 {
  color: #16a34a;
}
.dashboard-status-panel .status-icon-5::before {
  border: 2px solid currentColor;
  border-radius: 5px;
  height: 18px;
  transform: translate(-50%, -50%) translate(3px, 2px);
  width: 16px;
}
.dashboard-status-panel .status-icon-5::after {
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  height: 8px;
  transform: translate(-50%, -50%) rotate(-45deg) translate(-2px, 0);
  width: 15px;
}
.dashboard-status-panel .status-icon-6::before {
  border: 2px solid currentColor;
  border-radius: 4px;
  height: 20px;
  width: 18px;
}
.dashboard-status-panel .status-icon-6::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  height: 8px;
  transform: translate(-50%, -50%) rotate(-35deg) translate(2px, -1px);
  width: 12px;
}

.ai-workbench-draft-card {
  overflow: auto;
}
.ai-workbench-draft-card .ai-workbench-full-draft-form {
  flex: 0 0 auto;
  min-height: 0;
}
.ai-workbench-draft-card .ai-workbench-full-draft-form textarea {
  flex: 0 0 auto;
  height: auto;
  min-height: 170px;
}
.ai-workbench-draft-card .ai-workbench-inline-actions {
  flex: 0 0 auto;
}

.bid-public-meta {
  color: var(--coke-gray-500);
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.bid-list-target-cell {
  min-width: 180px;
}

.bid-list-amount-cell,
.bid-result-cell {
  min-width: 150px;
}

.bid-list-amount-cell > span,
.bid-result-cell > span {
  display: block;
  margin-bottom: 4px;
}

.bid-public-tag {
  color: var(--status-success);
  font-size: 12px;
  font-weight: 700;
}

.dealer-form-card,
.dealer-table-card {
  margin-bottom: 18px;
}
.dealer-form-card h2,
.dealer-table-card h2 {
  margin: 0;
}
.dealer-authorization-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 16px;
  margin-top: 14px;
}
.dealer-form-wide {
  grid-column: 1 / -1;
}
.dealer-form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}
.dealer-section-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.table-scroll {
  overflow-x: auto;
}
.dealer-score-guide,
.dealer-score-breakdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.dealer-score-guide > div,
.dealer-score-breakdown > div {
  background: var(--coke-white);
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  padding: 15px 16px;
}
.dealer-score-guide strong {
  color: var(--coke-red);
  display: block;
  font-size: 24px;
  line-height: 1;
  margin-bottom: 7px;
}
.dealer-score-guide span,
.dealer-score-breakdown span {
  color: var(--coke-gray-500);
  font-size: 12px;
}
.dealer-score-breakdown strong {
  display: block;
  font-size: 14px;
  margin-top: 7px;
}
.dealer-reputation-filters {
  grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)) 1fr;
}
.dealer-reputation-table {
  min-width: 1080px;
}
.dealer-reputation-table th:first-child {
  width: 190px;
}
.dealer-name-link {
  font-size: 12px;
  font-weight: 800;
}
.dealer-cell-note {
  color: var(--coke-gray-500);
  display: block;
  font-size: 10px;
  margin-top: 4px;
}
.dealer-total-score {
  color: var(--coke-red-dark);
  font-size: 22px;
  font-weight: 900;
}
.dealer-score-unit {
  color: var(--coke-gray-500);
  font-size: 10px;
}
.dealer-detail-title {
  margin-top: 9px;
}
.dealer-detail-score {
  color: var(--coke-red);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}
.dealer-detail-score small {
  color: var(--coke-gray-500);
  font-size: 14px;
}
.dealer-assessment-list {
  display: grid;
  gap: 12px;
}
.dealer-assessment-row {
  border: 1px solid var(--coke-gray-200);
  border-radius: 8px;
  padding: 14px;
}
.dealer-assessment-scope {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.dealer-assessment-form {
  align-items: end;
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(160px, .8fr) minmax(220px, 1.5fr) auto;
  gap: 10px;
}
.dealer-assessment-form label {
  font-size: 11px;
  margin: 0 0 4px;
}
.dealer-assessment-form input,
.dealer-assessment-form select {
  height: 34px;
  padding: 6px 8px;
}
.dealer-assessment-form button {
  min-height: 34px;
  padding: 7px 12px;
}
.dealer-assessment-readonly {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  font-size: 12px;
}

.strategy-module-guide {
  border-top: 1px solid var(--coke-gray-200);
  margin-top: 12px;
  padding-top: 10px;
}
.strategy-module-guide h4 { font-size: 13px; margin: 0 0 7px; }
.strategy-module-guide details { border-top: 1px solid var(--coke-gray-100); font-size: 12px; padding: 7px 0; }
.strategy-module-guide summary { cursor: pointer; display: flex; font-weight: 700; justify-content: space-between; }
.strategy-module-guide summary b { color: var(--coke-red); font-size: 11px; }
.strategy-module-guide ul { margin: 7px 0; padding-left: 18px; }
.strategy-module-guide li { margin: 3px 0; }
.strategy-module-guide p { line-height: 1.55; margin: 7px 0; }
.strategy-module-guide blockquote { margin: 7px 0 0; }
.response-input-label,
.draft-full-text-label { color: var(--coke-gray-600); display: block; font-size: 12px; font-weight: 700; margin: 8px 0 4px; }
.export-email-panel { background: var(--coke-gray-50); border: 1px solid var(--coke-gray-200); border-radius: 8px; margin-top: 10px; padding: 10px; }
.export-email-panel > label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.export-email-panel > div { display: flex; gap: 6px; }
.export-email-panel input { min-width: 0; width: 100%; }
.export-email-panel small { color: var(--coke-gray-500); display: block; font-size: 11px; line-height: 1.45; margin-top: 6px; }

@media (max-width: 900px) {
  .dealer-score-guide,
  .dealer-score-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dealer-reputation-filters,
  .dealer-assessment-form {
    grid-template-columns: 1fr 1fr;
  }
  .dealer-assessment-note {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .resizable-table-wrap > .compact-data-table {
    min-width: 760px;
  }
  .resizable-table-wrap > .bid-list-table {
    min-width: 1240px;
  }
  .table-scroll > .ai-workbench-material-table {
    min-width: 720px;
  }
  .dealer-authorization-form,
  .dealer-score-guide,
  .dealer-score-breakdown,
  .dealer-reputation-filters,
  .dealer-assessment-form {
    grid-template-columns: 1fr;
  }
  .dealer-form-wide,
  .dealer-assessment-note {
    grid-column: auto;
  }
  .dealer-assessment-scope {
    align-items: flex-start;
    flex-direction: column;
  }
}

.auth-loading {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-page {
  --coke-red: #F40009;
  --coke-red-dark: #B30000;
  --coke-red-deep: #8F0000;
  --coke-red-soft: #FFE7E7;
  --coke-charcoal: #1E1E1E;
  --coke-white: #FFFFFF;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .22), transparent 30%),
    linear-gradient(135deg, var(--coke-red) 0%, var(--coke-red-dark) 56%, var(--coke-red-deep) 100%);
  color: var(--coke-charcoal);
}

.language-wall {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  overflow: hidden;
}

.language-wall span {
  position: absolute;
  left: 50%;
  top: 50%;
  color: rgba(255, 255, 255, .16);
  font-size: clamp(22px, 3.8vw, 64px);
  font-weight: 900;
  line-height: .95;
  white-space: nowrap;
  text-shadow: 0 12px 28px rgba(95, 0, 0, .2);
  transform: translate(-50%, -50%);
}

.language-wall span:nth-child(3n) { color: rgba(255, 255, 255, .24); }
.language-wall span:nth-child(1) { transform: translate(-50%, -50%) translate(-33vw, -24vh) rotate(-8deg); }
.language-wall span:nth-child(2) { transform: translate(-50%, -50%) translate(-17vw, -16vh) rotate(5deg); }
.language-wall span:nth-child(3) { transform: translate(-50%, -50%) translate(12vw, -18vh) rotate(-6deg); }
.language-wall span:nth-child(4) { transform: translate(-50%, -50%) translate(31vw, -26vh) rotate(9deg); }
.language-wall span:nth-child(5) { transform: translate(-50%, -50%) translate(-39vw, -5vh) rotate(6deg); }
.language-wall span:nth-child(6) { transform: translate(-50%, -50%) translate(39vw, -6vh) rotate(-10deg); }
.language-wall span:nth-child(7) { transform: translate(-50%, -50%) translate(-26vw, 8vh) rotate(-5deg); }
.language-wall span:nth-child(8) { transform: translate(-50%, -50%) translate(25vw, 8vh) rotate(7deg); }
.language-wall span:nth-child(9) { transform: translate(-50%, -50%) translate(-12vw, 20vh) rotate(8deg); }
.language-wall span:nth-child(10) { transform: translate(-50%, -50%) translate(13vw, 21vh) rotate(-7deg); }
.language-wall span:nth-child(11) { transform: translate(-50%, -50%) translate(-42vw, 24vh) rotate(-9deg); }
.language-wall span:nth-child(12) { transform: translate(-50%, -50%) translate(42vw, 24vh) rotate(8deg); }
.language-wall span:nth-child(13) { transform: translate(-50%, -50%) translate(-3vw, -29vh) rotate(3deg); }
.language-wall span:nth-child(14) { transform: translate(-50%, -50%) translate(3vw, 32vh) rotate(-4deg); }
.language-wall span:nth-child(15) { transform: translate(-50%, -50%) translate(-46vw, -33vh) rotate(11deg); }
.language-wall span:nth-child(16) { transform: translate(-50%, -50%) translate(47vw, -34vh) rotate(-12deg); }
.language-wall span:nth-child(17) { transform: translate(-50%, -50%) translate(-49vw, 3vh) rotate(-4deg); }
.language-wall span:nth-child(18) { transform: translate(-50%, -50%) translate(49vw, 4vh) rotate(5deg); }
.language-wall span:nth-child(19) { transform: translate(-50%, -50%) translate(-21vw, -34vh) rotate(-3deg); }
.language-wall span:nth-child(20) { transform: translate(-50%, -50%) translate(23vw, -35vh) rotate(4deg); }
.language-wall span:nth-child(21) { transform: translate(-50%, -50%) translate(-30vw, 34vh) rotate(6deg); }
.language-wall span:nth-child(22) { transform: translate(-50%, -50%) translate(30vw, 35vh) rotate(-5deg); }
.language-wall span:nth-child(23) { transform: translate(-50%, -50%) translate(-8vw, 6vh) rotate(-6deg); }
.language-wall span:nth-child(24) { transform: translate(-50%, -50%) translate(9vw, -6vh) rotate(6deg); }

.login-box {
  position: relative;
  z-index: 1;
  width: min(430px, calc(100vw - 40px));
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(255, 255, 255, .42);
  border-top: 6px solid var(--coke-white);
  border-radius: 8px;
  padding: 28px;
  box-shadow: 0 22px 60px rgba(91, 0, 0, .34);
}

.login-box h1 {
  margin: 0 0 20px;
  color: var(--coke-red-dark);
  font-size: 24px;
  line-height: 1.24;
}

.login-box h1 span { display: block; }
.login-box label { display: block; color: var(--coke-red-dark); font-size: 13px; font-weight: 800; margin: 14px 0 6px; }
.login-box input { width: 100%; padding: 10px 11px; border: 1px solid #E5B4B4; border-radius: 6px; outline-color: var(--coke-red); }
.login-box input:focus { border-color: var(--coke-red); box-shadow: 0 0 0 3px rgba(244, 0, 9, .13); }
.login-box button { width: 100%; margin-top: 22px; border: 0; border-radius: 6px; padding: 11px 13px; background: var(--coke-red); color: #fff; cursor: pointer; font-weight: 800; }
.login-box button:hover { background: var(--coke-red-dark); }
.login-box button:disabled { cursor: wait; opacity: .72; }
.login-box .error { background: var(--coke-red-soft); border: 1px solid #F5B5B5; color: var(--coke-red-dark); padding: 10px; border-radius: 6px; margin-bottom: 12px; font-size: 16px; }

