/* ══════════════════════════════════════════════════════════════════
   Copilot Workspace — Copilote Courtier
   Scoped styles using GP Assurances design-system tokens.
   Compact white bordered cards · 12px radii · 36px controls.
   Bootstrap Icons only · 12-13px typography · no emoji.
   ══════════════════════════════════════════════════════════════════ */

/* ── Page container ── */
.copilot-workspace-page {
  display: none;
  flex-direction: column;
  box-sizing: border-box;
  padding: 18px 20px 22px;
  gap: 14px;
  overflow-y: auto;
  height: 100%;
  background: var(--gp-bg, #F5F7FB);
  color: var(--gp-text, #0F172A);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.copilot-workspace-page.active {
  display: flex;
}

/* ── Header ── */
.cw-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  min-height: 60px;
  box-sizing: border-box;
  padding: 14px 18px;
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius, 12px);
  background: var(--gp-white, #FFFFFF);
}
.cw-head h1 {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: var(--gp-text, #0F172A);
}
.cw-kicker {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gp-brand, #0B63F6);
  background: var(--gp-brand-bg, #EEF4FF);
  border-radius: 5px;
}
.cw-head p {
  font-size: 12px;
  color: var(--gp-muted, #64748B);
  margin: 4px 0 0;
}
.cw-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cw-sync-badge {
  font-size: 11px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 14px;
  background: #EEFBF3;
  color: #168044;
  font-weight: 500;
}
.cw-refresh-btn {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  background: var(--gp-white, #FFFFFF);
  cursor: pointer;
  font-size: 16px;
  color: #475569;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.cw-refresh-btn:hover {
  background: var(--gp-bg2, #F8FAFD);
  border-color: var(--gp-brand, #0B63F6);
  color: var(--gp-brand, #0B63F6);
}

/* ── Tabs ── */
.cw-tabs {
  display: flex;
  gap: 4px;
  min-height: 48px;
  padding: 0 6px;
  align-items: end;
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius, 12px);
  background: var(--gp-white, #FFFFFF);
  flex-wrap: nowrap;
  overflow-x: auto;
}
.cw-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 46px;
  padding: 0 14px;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: var(--gp-muted, #64748B);
  margin-bottom: 0;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}
.cw-tab:hover {
  color: var(--gp-brand, #0B63F6);
}
.cw-tab.active {
  color: var(--gp-brand, #0B63F6);
  border-bottom-color: var(--gp-brand, #0B63F6);
  font-weight: 600;
}
.cw-tab i {
  font-size: 15px;
  line-height: 1;
}

/* ── Panels ── */
.cw-panels { flex: 1; min-height: 0; }
.cw-panel { display: none; flex-direction: column; gap: 14px; }
.cw-panel.active { display: flex; }

/* ── Metrics / KPI card row ── */
.cw-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(110px, 1fr));
  gap: 10px;
}
.cw-metric {
  box-sizing: border-box;
  min-width: 0;
  min-height: 80px;
  padding: 14px 10px;
  text-align: center;
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius, 12px);
  background: var(--gp-white, #FFFFFF);
}
.cw-metric b {
  display: block;
  font-size: 22px;
  font-weight: 600;
  color: var(--gp-text, #0F172A);
  margin-bottom: 3px;
  line-height: 1.2;
}
.cw-metric span {
  font-size: 11px;
  color: var(--gp-muted, #64748B);
}
.cw-metric-todo b { color: #1565C0; }
.cw-metric-progress b { color: #E65100; }
.cw-metric-done b { color: #2E7D32; }
.cw-metric-overdue b { color: #C62828; }
.cw-metric-renew b { color: #6A1B9A; }
.cw-metric-stale b { color: #546E7A; }
.cw-metric-debt b { color: #B71C1C; }

/* ── Cards ── */
.cw-card {
  background: var(--gp-white, #FFFFFF);
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius, 12px);
  overflow: hidden;
}
.cw-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 50px;
  box-sizing: border-box;
  padding: 0 16px;
  border-bottom: 1px solid #E5EBF3;
}
.cw-card-head h2 {
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  color: var(--gp-text, #0F172A);
}
.cw-card-head h2 i {
  font-size: 14px;
  margin-right: 5px;
  color: var(--gp-muted, #64748B);
  vertical-align: -0.125em;
}
.cw-card-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* ── Buttons ── */
.cw-btn-sm {
  box-sizing: border-box;
  height: 36px;
  padding: 0 14px;
  border-radius: var(--gp-radius-sm, 8px);
  border: 1px solid var(--gp-border3, #E2E8F0);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.cw-btn-primary {
  background: var(--gp-brand, #0B63F6);
  border-color: var(--gp-brand, #0B63F6);
  color: #fff;
}
.cw-btn-primary:hover {
  background: var(--gp-brand-hover, #0851D4);
}
.cw-btn-outline {
  background: var(--gp-white, #fff);
  color: #334155;
  border-color: var(--gp-border3, #E2E8F0);
}
.cw-btn-outline:hover {
  color: var(--gp-brand, #0B63F6);
  background: var(--gp-brand-bg, #EEF4FF);
  border-color: #99BFFF;
}
.cw-btn-tiny {
  box-sizing: border-box;
  height: 28px;
  padding: 0 7px;
  font-size: 11px;
  font-weight: 400;
  border: 1px solid var(--gp-border3, #E2E8F0);
  background: var(--gp-white, #fff);
  border-radius: 5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  color: #475569;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.cw-btn-tiny:hover {
  background: var(--gp-bg2, #F8FAFD);
  border-color: var(--gp-brand, #0B63F6);
  color: var(--gp-brand, #0B63F6);
}
.cw-btn-tiny i {
  font-size: 12px;
}
.cw-select-sm {
  box-sizing: border-box;
  height: 36px;
  padding: 0 8px;
  font-size: 12px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  background: var(--gp-white, #fff);
  cursor: pointer;
  color: #475569;
  outline: none;
}
.cw-select-sm:focus {
  border-color: var(--gp-brand, #0B63F6);
}

/* ── Today layout: task list + system suggestions ── */
.cw-today-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 14px;
}
.cw-task-list {
  max-height: 480px;
  overflow-y: auto;
  padding: 8px 12px;
}
.cw-task-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  box-sizing: border-box;
  padding: 8px 4px;
  border-bottom: 1px solid #EEF2F7;
  font-size: 12px;
}
.cw-task-row:last-child {
  border-bottom: 0;
}
.cw-task-row.cw-done { opacity: 0.5; }
.cw-task-row.cw-done .cw-task-info b { text-decoration: line-through; }
.cw-task-row.cw-overdue {
  background: #FFF8E1;
  margin: 0 -12px;
  padding: 8px 12px;
  border-radius: 5px;
}
.cw-task-info { flex: 1; min-width: 0; }
.cw-task-info b { display: block; font-size: 12px; color: var(--gp-text2, #1E293B); }
.cw-task-info span { font-size: 11px; color: var(--gp-muted, #64748B); }
.cw-task-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 11px;
  flex-shrink: 0;
}
.cw-task-status {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border-radius: 4px;
  font-weight: 500;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cw-task-status.todo { background: #E3F2FD; color: #1565C0; }
.cw-task-status.in_progress { background: #FFF3E0; color: #E65100; }
.cw-task-status.done { background: #E8F5E9; color: #2E7D32; }
.cw-prio-urgent { color: #C62828; font-weight: 600; }
.cw-prio-high { color: #E65100; font-weight: 600; }
.cw-prio-medium { color: #888; }
.cw-prio-low { color: #AAA; }
.cw-task-due { color: var(--gp-muted, #64748B); }
.cw-task-assignee { color: #5C6BC0; }
.cw-task-actions {
  display: flex;
  gap: 3px;
  flex-shrink: 0;
}

/* ── System suggestions card ── */
.cw-recent-list {
  padding: 8px 16px;
}
.cw-recent-row {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: var(--gp-radius-sm, 8px);
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  color: var(--gp-text2, #1E293B);
  transition: background 0.15s, border-color 0.15s;
}
.cw-recent-row + .cw-recent-row {
  margin-top: 2px;
}
.cw-recent-row:hover {
  background: var(--gp-brand-bg, #EEF4FF);
  border-color: var(--gp-brand-bg2, #DCE9FF);
}
.cw-recent-row span {
  color: var(--gp-text2, #1E293B);
  font-size: 12px;
}
.cw-recent-row em {
  color: var(--gp-brand, #0B63F6);
  font-style: normal;
  font-weight: 600;
  flex-shrink: 0;
}

/* ── Customer assistant layout ── */
.cw-assist-layout {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 14px;
  min-height: 400px;
}
.cw-cust-search {
  padding: 12px 16px;
  display: flex;
  gap: 8px;
}
.cw-cust-search input {
  flex: 1;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  font-size: 12px;
  background: var(--gp-white, #fff);
  color: var(--gp-text2, #1E293B);
  outline: none;
  transition: border-color 0.15s;
}
.cw-cust-search input:focus {
  border-color: var(--gp-brand, #0B63F6);
}
.cw-cust-search input::placeholder {
  color: var(--gp-muted2, #94A3B8);
}
.cw-cust-results {
  padding: 0 16px 12px;
  max-height: 300px;
  overflow-y: auto;
}
.cw-answer-summary {
  margin: 12px 16px;
  padding: 10px 14px;
  border-left: 3px solid var(--gp-brand, #0B63F6);
  background: var(--gp-brand-bg, #EEF4FF);
  border-radius: 0 var(--gp-radius-sm, 8px) var(--gp-radius-sm, 8px) 0;
}
.cw-answer-summary b,
.cw-answer-summary span { display: block; }
.cw-answer-summary b { font-size: 12px; color: var(--gp-text2, #1E293B); font-weight: 600; }
.cw-answer-summary span { margin-top: 3px; color: var(--gp-muted, #64748B); font-size: 11px; }
.cw-cust-result-row {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  border: none;
  background: var(--gp-white, #fff);
  border-bottom: 1px solid #F1F5F9;
  cursor: pointer;
  font-size: 12px;
  transition: background 0.1s;
}
.cw-cust-result-row:hover { background: var(--gp-brand-bg, #EEF4FF); }
.cw-cust-result-row b { display: block; color: var(--gp-text2, #1E293B); font-size: 12px; }
.cw-cust-result-row span { font-size: 11px; color: var(--gp-muted, #64748B); }
.cw-cust-context { padding: 12px 16px; }
.cw-ctx-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.cw-ctx-header h3 { font-size: 14px; margin: 0; color: var(--gp-text, #0F172A); font-weight: 600; }
.cw-ctx-header h3 small { font-size: 12px; color: var(--gp-muted, #64748B); font-weight: 400; }
.cw-ctx-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 16px;
  margin-bottom: 12px;
}
.cw-ctx-grid div span {
  display: block;
  font-size: 10px;
  color: var(--gp-muted2, #94A3B8);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cw-ctx-grid div b { font-size: 12px; color: var(--gp-text2, #1E293B); }
.cw-ctx-policies, .cw-ctx-followups { margin-bottom: 12px; }
.cw-ctx-pol,
.cw-ctx-fu {
  padding: 7px 0;
  border-bottom: 1px solid #F1F5F9;
  font-size: 12px;
}
.cw-ctx-pol b { display: block; color: var(--gp-text2, #1E293B); }
.cw-ctx-pol span { color: var(--gp-muted, #64748B); font-size: 11px; }
.cw-ctx-fu span { color: var(--gp-muted2, #94A3B8); font-size: 10px; }
.cw-ctx-fu p { color: var(--gp-text2, #1E293B); font-size: 12px; margin: 2px 0 0; }
.cw-ctx-actions { margin-top: 12px; }
.cw-card h4 {
  font-size: 11px;
  color: var(--gp-muted, #64748B);
  margin: 12px 0 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

/* ── Renewals toolbar ── */
.cw-renewals-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.cw-filter-group {
  display: flex;
  gap: 0;
}
.cw-filter-btn {
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  background: var(--gp-white, #fff);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  color: #475569;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.cw-filter-btn:first-child { border-radius: var(--gp-radius-sm, 8px) 0 0 var(--gp-radius-sm, 8px); }
.cw-filter-btn:last-child { border-radius: 0 var(--gp-radius-sm, 8px) var(--gp-radius-sm, 8px) 0; }
.cw-filter-btn.active {
  background: var(--gp-brand, #0B63F6);
  color: #fff;
  border-color: var(--gp-brand, #0B63F6);
}
.cw-filter-btn:not(.active):hover {
  border-color: var(--gp-brand, #0B63F6);
  color: var(--gp-brand, #0B63F6);
}
.cw-renewals-toolbar input {
  flex: 1;
  max-width: 260px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  font-size: 12px;
  color: var(--gp-text2, #1E293B);
  background: var(--gp-white, #fff);
  outline: none;
  transition: border-color 0.15s;
}
.cw-renewals-toolbar input:focus { border-color: var(--gp-brand, #0B63F6); }

/* ── Renewals grid ── */
.cw-renewals-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.cw-renewals-table-wrap,
.cw-debts-table-wrap {
  max-height: 350px;
  overflow-y: auto;
  padding: 0 12px 8px;
}
.cw-debts-summary {
  padding: 8px 16px;
  display: flex;
  gap: 16px;
  align-items: baseline;
}
.cw-debts-summary b { font-size: 15px; color: #C62828; font-weight: 600; }
.cw-debts-summary span { font-size: 12px; color: var(--gp-muted, #64748B); }
.cw-count {
  background: var(--gp-brand-bg, #EEF4FF);
  color: var(--gp-brand, #0B63F6);
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}

/* ── Tables ── */
.cw-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.cw-table th {
  text-align: left;
  padding: 7px 8px;
  color: var(--gp-muted, #64748B);
  font-weight: 500;
  font-size: 11px;
  border-bottom: 1px solid #E8ECF2;
  white-space: nowrap;
  background: var(--gp-bg2, #F8FAFD);
}
.cw-table td {
  padding: 7px 8px;
  border-bottom: 1px solid #F1F5F9;
  color: var(--gp-text2, #1E293B);
}
.cw-table tbody tr:hover td { background: #F8FAFF; }
.cw-row-urgent { background: #FFF3E0; }
.cw-row-urgent:hover td { background: #FFE8CC !important; }
.cw-debt-amount { color: #C62828; font-weight: 600; }

/* ── EDI layout ── */
.cw-edi-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* ── EDI metrics row (compact horizontal KPI cards) ── */
.cw-edi-metrics-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: stretch;
}
.cw-edi-metric {
  flex: 1;
  min-width: 110px;
  box-sizing: border-box;
  min-height: 72px;
  padding: 12px 14px;
  text-align: center;
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius, 12px);
  background: var(--gp-white, #FFFFFF);
}
.cw-edi-metric b {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: var(--gp-text, #0F172A);
  margin-bottom: 2px;
  line-height: 1.2;
}
.cw-edi-metric span {
  font-size: 11px;
  color: var(--gp-muted, #64748B);
  font-weight: 400;
}
.cw-edi-metric-info b { color: #1565C0; }
.cw-edi-metric-warn b { color: #C62828; }
.cw-edi-message {
  flex: 2;
  min-width: 200px;
  display: flex;
  align-items: center;
  padding: 10px 14px;
  font-size: 12px;
  color: var(--gp-muted, #64748B);
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius, 12px);
  background: var(--gp-bg2, #F8FAFD);
}

/* ── EDI workspace card ── */
.cw-edi-workspace {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* ── EDI sub-tabs ── */
.cw-edi-subtabs {
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid #E5EBF3;
  flex-shrink: 0;
}
.cw-edi-subtab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: var(--gp-radius-sm, 8px);
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: var(--gp-muted, #64748B);
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.cw-edi-subtab:hover {
  background: var(--gp-brand-bg, #EEF4FF);
  color: var(--gp-brand, #0B63F6);
}
.cw-edi-subtab.active {
  background: var(--gp-brand-bg, #EEF4FF);
  color: var(--gp-brand, #0B63F6);
  border-color: var(--gp-brand-bg2, #DCE9FF);
  font-weight: 600;
}
.cw-edi-subtab i {
  font-size: 14px;
  line-height: 1;
}
.cw-edi-badge {
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 600;
  background: #FEE2E2;
  color: #991B1B;
  line-height: 1;
}

/* ── EDI toolbar ── */
.cw-edi-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid #F1F5F9;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.cw-edi-search {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 180px;
  height: 36px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  background: var(--gp-white, #fff);
  overflow: hidden;
  transition: border-color 0.15s;
}
.cw-edi-search:focus-within {
  border-color: var(--gp-brand, #0B63F6);
}
.cw-edi-search i {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--gp-muted2, #94A3B8);
  pointer-events: none;
}
.cw-edi-search input {
  flex: 1;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0 8px 0 0;
  background: transparent;
  font-size: 12px;
  color: var(--gp-text2, #1E293B);
  min-width: 0;
}
.cw-edi-search input::placeholder {
  color: var(--gp-muted2, #94A3B8);
}
.cw-edi-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

/* ── EDI views ── */
.cw-edi-view {
  display: none;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.cw-edi-view.active {
  display: flex;
  flex-direction: column;
}
.cw-edi-table-wrap {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/* ── EDI summary (legacy, kept for backward compat) ── */
.cw-edi-summary {
  padding: 12px 16px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.cw-edi-stat {
  flex: 1;
  min-width: 100px;
  text-align: center;
  padding: 12px;
  background: var(--gp-bg2, #F8FAFD);
  border: 1px solid var(--gp-border, #E8ECF2);
  border-radius: var(--gp-radius-sm, 8px);
}
.cw-edi-stat b {
  display: block;
  font-size: 22px;
  color: var(--gp-brand, #0B63F6);
  font-weight: 600;
}
.cw-edi-stat span { font-size: 11px; color: var(--gp-muted, #64748B); }
.cw-edi-list {
  padding: 8px 12px;
  max-height: 400px;
  overflow-y: auto;
}
.cw-edi-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #F1F5F9;
  font-size: 12px;
}
.cw-edi-row:last-child { border-bottom: 0; }
.cw-edi-row > div:first-child { flex: 1; }
.cw-edi-row > p { flex: 1.4; margin: 0; color: var(--gp-text2, #1E293B); }
.cw-edi-row b { display: block; color: var(--gp-text2, #1E293B); }
.cw-edi-row span { color: var(--gp-muted, #64748B); font-size: 11px; }

/* ── Drafts layout ── */
.cw-drafts-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 14px;
  min-height: 420px;
}
.cw-draft-types {
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.cw-draft-type {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  background: var(--gp-white, #fff);
  border-radius: var(--gp-radius-sm, 8px);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.cw-draft-type:hover { border-color: var(--gp-brand, #0B63F6); }
.cw-draft-type.active {
  border-color: var(--gp-brand, #0B63F6);
  background: var(--gp-brand-bg, #EEF4FF);
}
.cw-draft-type b { display: block; font-size: 12px; color: var(--gp-text2, #1E293B); }
.cw-draft-type b i { font-size: 13px; margin-right: 4px; }
.cw-draft-type span { font-size: 11px; color: var(--gp-muted, #64748B); }
.cw-draft-customer-row {
  padding: 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cw-draft-customer-row label {
  font-size: 11px;
  color: var(--gp-muted, #64748B);
  font-weight: 500;
}
.cw-draft-customer-row input {
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  font-size: 12px;
  color: var(--gp-text2, #1E293B);
  background: var(--gp-white, #fff);
  outline: none;
  transition: border-color 0.15s;
}
.cw-draft-customer-row input:focus { border-color: var(--gp-brand, #0B63F6); }
.cw-draft-options {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 10px;
  padding: 8px 16px;
}
.cw-draft-options label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  color: var(--gp-text2, #1E293B);
  font-weight: 500;
}
.cw-draft-options select,
.cw-draft-options textarea {
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  padding: 7px 9px;
  font: inherit;
  font-size: 12px;
  background: var(--gp-white, #fff);
  color: var(--gp-text2, #1E293B);
  outline: none;
  transition: border-color 0.15s;
}
.cw-draft-options select:focus,
.cw-draft-options textarea:focus { border-color: var(--gp-brand, #0B63F6); }
.cw-draft-toolbar {
  padding: 8px 16px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.cw-draft-preview { padding: 12px 16px; }
.cw-draft-content h3 {
  font-size: 14px;
  color: var(--gp-text, #0F172A);
  font-weight: 600;
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #E8ECF2;
}
.cw-draft-content pre {
  white-space: pre-wrap;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.6;
  color: var(--gp-text2, #1E293B);
  margin: 0;
  background: var(--gp-bg2, #F8FAFD);
  padding: 12px;
  border-radius: var(--gp-radius-sm, 8px);
  border: 1px solid #F1F5F9;
}

/* ── Empty / loading / error / hint states ── */
.cw-loading,
.cw-hint {
  padding: 24px;
  text-align: center;
  font-size: 12px;
  color: var(--gp-muted, #64748B);
}
.cw-empty {
  padding: 36px 20px;
  text-align: center;
  font-size: 12px;
  color: var(--gp-muted2, #94A3B8);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.cw-empty i {
  font-size: 28px;
  color: var(--gp-muted2, #94A3B8);
  opacity: 0.45;
  margin-bottom: 4px;
}
.cw-error {
  padding: 14px 16px;
  text-align: center;
  font-size: 12px;
  color: var(--gp-red, #DC2626);
  background: #FEF2F2;
  border-radius: var(--gp-radius-sm, 8px);
}

/* ── Modal ── */
.cw-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(15,23,42,0.35);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.cw-modal {
  background: var(--gp-white, #fff);
  border-radius: var(--gp-radius, 12px);
  width: 480px;
  max-width: 95vw;
  max-height: 85vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}
.cw-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid #E8ECF2;
  flex-shrink: 0;
}
.cw-modal-head h3 {
  margin: 0;
  font-size: 14px;
  color: var(--gp-text, #0F172A);
  font-weight: 600;
}
.cw-modal-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--gp-muted2, #94A3B8);
  padding: 0;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s;
}
.cw-modal-close:hover {
  color: var(--gp-text, #0F172A);
  background: #F1F5F9;
}
.cw-modal-body {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cw-modal-body label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: var(--gp-text2, #1E293B);
  font-weight: 500;
}
.cw-modal-body input,
.cw-modal-body textarea,
.cw-modal-body select {
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--gp-border3, #E2E8F0);
  border-radius: var(--gp-radius-sm, 8px);
  font-size: 12px;
  background: var(--gp-white, #fff);
  color: var(--gp-text2, #1E293B);
  outline: none;
  transition: border-color 0.15s;
}
.cw-modal-body input:focus,
.cw-modal-body textarea:focus,
.cw-modal-body select:focus {
  border-color: var(--gp-brand, #0B63F6);
}
.cw-modal-body textarea {
  height: auto;
  resize: vertical;
  padding: 8px 10px;
}
.cw-form-row {
  display: flex;
  gap: 10px;
}
.cw-form-row label { flex: 1; }
.cw-modal-actions {
  padding: 12px 18px;
  border-top: 1px solid #E8ECF2;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 1250px) {
  .cw-metrics { grid-template-columns: repeat(4, minmax(110px, 1fr)); }
}
@media (max-width: 900px) {
  .copilot-workspace-page { padding: 12px; gap: 10px; }
  .cw-metrics { grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 8px; }
  .cw-metric { min-width: 70px; padding: 10px 8px; min-height: 70px; }
  .cw-metric b { font-size: 19px; }
  .cw-today-grid { grid-template-columns: 1fr; }
  .cw-assist-layout { grid-template-columns: 1fr; }
  .cw-edi-layout { grid-template-columns: 1fr; }
  .cw-draft-options { grid-template-columns: 1fr; }
  .cw-drafts-layout { grid-template-columns: 1fr; }
  .cw-tab { padding: 0 10px; font-size: 11px; }
}
@media (max-width: 500px) {
  .cw-head h1 { font-size: 16px; }
  .cw-head { padding: 10px 12px; }
  .cw-tabs { overflow-x: auto; }
  .cw-tab { white-space: nowrap; font-size: 11px; padding: 0 8px; }
  .cw-tab b { max-width: 60px; overflow: hidden; text-overflow: ellipsis; }
}
