/* ════════════════ Sprint 6.3 components ════════════════ */

/* Sellers list */
.seller-summary-bar {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.7rem; margin: 0.4rem 0 1.2rem;
}
@media (max-width: 880px) { .seller-summary-bar { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .seller-summary-bar { grid-template-columns: 1fr; } }
.surface-pill {
  display: inline-block; padding: 0.1rem 0.55rem; font-size: 0.74rem; border-radius: 999px;
  background: var(--cream-soft); color: var(--text-muted); border: 1px solid var(--rule);
  letter-spacing: 0.05em; text-transform: uppercase;
}
.surface-pill.sms { background: rgba(40,85,48,0.12); color: #285530; border-color: #4a8158; }
.surface-pill.yard_app { background: rgba(20,40,80,0.12); color: var(--navy); border-color: #495c8c; }
.surface-pill.web { background: rgba(201,162,59,0.18); color: #806010; border-color: var(--gold); }
.tier-pill {
  display: inline-block; padding: 0.05rem 0.5rem; font-size: 0.78rem; font-weight: 600;
  border-radius: 999px; margin-left: 0.3rem;
}
.tier-A { background: rgba(201,162,59,0.25); color: #6e5410; border: 1px solid var(--gold); }
.tier-B { background: rgba(40,85,48,0.13); color: #285530; border: 1px solid #4a8158; }
.tier-C { background: var(--cream-soft); color: var(--text-muted); border: 1px solid var(--rule); }
.tier-D { background: rgba(178,31,31,0.12); color: #b21f1f; border: 1px solid #c45050; }
.dormant-row { opacity: 0.7; }

/* Seller show — Charlie Intel panel (RepOS-style: flat, clean, no gradients) */
.charlie-intel {
  border: 1px solid var(--navy); border-radius: var(--radius);
  background: white; padding: 1rem 1.1rem; margin: 1rem 0;
}
.charlie-badge {
  display: inline-block; padding: 0.15rem 0.55rem; font-size: 0.72rem;
  font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  background: var(--navy); color: var(--cream); border-radius: 4px;
}
.charlie-tag {
  margin: 0.5rem 0; font-family: 'Fraunces', serif; font-size: 1.1rem; color: var(--navy);
}
.charlie-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 1.2rem; margin: 0.6rem 0;
}
@media (max-width: 720px) { .charlie-grid { grid-template-columns: 1fr; } }
.charlie-item { padding: 0.25rem 0; border-bottom: 1px dashed var(--rule); }
.charlie-item .k { font-size: 0.72rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); display: block; }
.charlie-item .v { font-size: 0.92rem; color: var(--text); }
.charlie-meta { margin-top: 0.4rem; }

/* SMS thread */
.sms-thread-full, .sms-thread-preview {
  background: white; border: 1px solid var(--rule); border-radius: var(--radius);
  padding: 0.8rem 1rem; margin: 0.6rem 0; display: flex; flex-direction: column; gap: 0.5rem;
}
.sms-msg { padding: 0.45rem 0.65rem; border-radius: 8px; max-width: 80%; }
.sms-msg.inbound { background: var(--cream-soft); border: 1px solid var(--rule); align-self: flex-start; }
.sms-msg.outbound { background: rgba(40,85,48,0.10); border: 1px solid #4a8158; align-self: flex-end; }
.sms-meta { margin-bottom: 0.2rem; }
.sms-body { font-size: 0.93rem; white-space: pre-wrap; }
.sms-media { margin-top: 0.2rem; font-size: 0.78rem; }

/* Decision engine scorecard */
.decision-engine {
  background: white; border: 1px solid var(--rule); border-radius: var(--radius);
  padding: 1rem 1.1rem; margin: 1rem 0;
}
.decision-engine h3 { margin: 0 0 0.4rem; }
.decision-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.decision-table th, .decision-table td { padding: 0.4rem 0.5rem; border-bottom: 1px solid var(--rule); text-align: left; }
.decision-table th.num, .decision-table td.num { text-align: right; }
.decision-table th { background: var(--cream-soft); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); }
.decision-table tr.top { background: rgba(201,162,59,0.08); }
.decision-table .total-score { font-weight: 700; color: var(--navy); }
.decision-engine .reasoning { margin-top: 0.8rem; font-size: 0.94rem; }
.decision-engine .reasoning p { margin: 0.3rem 0; }
.sensitivity-card { margin-top: 0.7rem; border-top: 1px dashed var(--rule); padding-top: 0.5rem; }
.sensitivity-card summary { cursor: pointer; font-size: 0.92rem; color: var(--navy); font-weight: 500; }
.sensitivity-card ul { margin: 0.5rem 0 0 1.4rem; font-size: 0.9rem; }

/* Supply mix on operator dashboard */
.supply-mix {
  background: white; border: 1px solid var(--rule); border-radius: var(--radius);
  padding: 1rem 1.1rem; margin-bottom: 1.4rem;
}
.supply-mix h3 { margin: 0 0 0.6rem; font-size: 1rem; }
.surface-bar {
  display: flex; width: 100%; height: 32px; border-radius: 6px; overflow: hidden;
  border: 1px solid var(--rule); margin-bottom: 0.8rem;
}
.surface-seg {
  display: flex; align-items: center; justify-content: center;
  font-size: 0.78rem; font-weight: 500; color: var(--navy);
  min-width: 60px; padding: 0 0.4rem;
}
.surface-seg.sms { background: rgba(40,85,48,0.25); }
.surface-seg.yard_app { background: rgba(20,40,80,0.22); color: var(--cream); }
.surface-seg.web { background: rgba(201,162,59,0.35); }

.funnel-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin: 0.6rem 0;
}
@media (max-width: 700px) { .funnel-grid { grid-template-columns: repeat(2, 1fr); } }
.funnel-cell { background: var(--cream-soft); border: 1px solid var(--rule); border-radius: 6px; padding: 0.5rem 0.6rem; }
.funnel-cell .funnel-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); }
.funnel-cell .funnel-value { font-family: 'Fraunces', serif; font-size: 1.4rem; color: var(--navy); }
.funnel-cell .funnel-pct { font-size: 0.78rem; color: #285530; }

.cohort-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin: 0.6rem 0;
}
.cohort-cell { padding: 0.5rem 0.6rem; border-radius: 6px; text-align: center; }
.cohort-cell.tier-A { background: rgba(201,162,59,0.18); border: 1px solid var(--gold); }
.cohort-cell.tier-B { background: rgba(40,85,48,0.13); border: 1px solid #4a8158; }
.cohort-cell.tier-C { background: var(--cream-soft); border: 1px solid var(--rule); }
.cohort-cell.tier-D { background: rgba(178,31,31,0.12); border: 1px solid #c45050; }
.cohort-tier { font-size: 0.72rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.cohort-count { font-family: 'Fraunces', serif; font-size: 1.4rem; color: var(--navy); }
.cohort-dormant { margin-top: 0.1rem; }

.top-sellers-list { display: flex; flex-direction: column; gap: 0.2rem; }
.top-seller-row {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.35rem 0.5rem; border-radius: 6px; text-decoration: none; color: var(--text);
}
.top-seller-row:hover { background: var(--cream-soft); }
.top-seller-name { font-weight: 500; color: var(--navy); }
.top-seller-stats { color: var(--text-muted); font-size: 0.88rem; }

/* Sprint 6.6 — VaR + expiry tier badges */
.var-line { font-size: 0.86rem; }
.var-line strong { color: var(--navy); }
.expiry-tier {
  display: inline-block; padding: 0.08rem 0.5rem; margin-left: 0.5rem;
  font-size: 0.78rem; font-weight: 500; border-radius: 999px;
  border: 1px solid var(--rule);
}
.expiry-tier.open         { background: rgba(40,85,48,0.10);  color: #285530; border-color: #4a8158; }
.expiry-tier.expiring_30d { background: rgba(201,162,59,0.18); color: #806010; border-color: var(--gold); }
.expiry-tier.expiring_7d  { background: rgba(178,31,31,0.10);  color: #b21f1f; border-color: #c45050; }
.expiry-tier.expired      { background: #b21f1f; color: white; border-color: #b21f1f; }
.hedge-summary > div + div { margin-top: 0.2rem; }

/* Sprint 6.6 Stage C — decision audit view */
.audit-stats { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.6rem 0 1rem; }
.stat-chip { display: inline-flex; gap: 0.4rem; align-items: baseline; padding: 0.35rem 0.7rem; background: white; border: 1px solid var(--rule); border-radius: 8px; }
.stat-chip .stat-label { font-size: 0.72rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.stat-chip .stat-value { font-family: 'Fraunces', serif; font-size: 1.1rem; color: var(--navy); }
.audit-filters { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: flex-end; margin: 0.8rem 0 1rem; background: var(--cream-soft); border: 1px solid var(--rule); border-radius: var(--radius); padding: 0.7rem 0.9rem; }
.audit-filters label { display: flex; flex-direction: column; gap: 0.15rem; font-size: 0.78rem; color: var(--text-muted); }
.audit-filters select, .audit-filters input[type=date] { padding: 0.35rem 0.5rem; border: 1px solid var(--rule); border-radius: 6px; font: inherit; font-size: 0.9rem; }
.audit-list { display: flex; flex-direction: column; gap: 0.4rem; }
.audit-row { background: white; border: 1px solid var(--rule); border-radius: var(--radius); }
.audit-row > summary { cursor: pointer; padding: 0.5rem 0.8rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.audit-row > summary:hover { background: var(--cream-soft); }
.audit-row[open] > summary { background: var(--cream-soft); border-bottom: 1px solid var(--rule); }
.audit-when { font-size: 0.85rem; color: var(--text-muted); min-width: 90px; }
.audit-badge { font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.05rem 0.45rem; border-radius: 999px; border: 1px solid var(--rule); }
.audit-badge.live { background: rgba(40,85,48,0.12); color: #285530; border-color: #4a8158; }
.audit-badge.reconstructed { background: rgba(201,162,59,0.18); color: #806010; border-color: var(--gold); }
.audit-collector { font-size: 0.92rem; color: var(--navy); }
.audit-arrow { color: var(--text-muted); }
.audit-refiner { font-size: 0.95rem; }
.audit-cash-pill { font-size: 0.74rem; padding: 0.05rem 0.5rem; border-radius: 999px; border: 1px solid var(--rule); }
.audit-cash-pill.cash-stressed { background: rgba(178,31,31,0.12); color: #b21f1f; border-color: #c45050; }
.audit-cash-pill.cash-moderate { background: rgba(201,162,59,0.18); color: #806010; border-color: var(--gold); }
.audit-cash-pill.cash-healthy  { background: rgba(40,85,48,0.13); color: #285530; border-color: #4a8158; }
.audit-cash-pill.cash-unknown  { background: var(--cream-soft); color: var(--text-muted); }
.audit-lot { font-size: 0.82rem; color: var(--text-muted); margin-left: auto; }
.audit-detail { padding: 0.8rem 1rem; font-size: 0.92rem; }
.audit-meta > div { padding: 0.15rem 0; }
.audit-section-h { font-size: 0.78rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); margin: 0.8rem 0 0.3rem; }
.audit-weights { background: var(--cream-soft); padding: 0.4rem 0.6rem; border-radius: 6px; font-size: 0.86rem; }
.audit-offer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.4rem; }
.audit-offer-card { background: var(--cream-soft); border: 1px solid var(--rule); border-radius: 6px; padding: 0.4rem 0.55rem; }
.audit-offer-name { font-weight: 500; color: var(--navy); margin-bottom: 0.15rem; }
.audit-reasoning { padding: 0.4rem 0.6rem; background: var(--cream-soft); border-radius: 6px; line-height: 1.45; }
.audit-reason-lines { margin: 0.3rem 0 0.5rem 1.2rem; }
.audit-reason-lines li { margin: 0.15rem 0; }
.audit-immutable-note { margin-top: 0.8rem; font-style: italic; }

/* Sprint 6.6 Stage D — risk dashboard */
.risk-flag-badge { color: #b21f1f; font-weight: 500; }
.risk-scope-pills { display: flex; gap: 0.4rem; flex-wrap: wrap; margin: 0.5rem 0 0.8rem; }
.risk-kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 1.2rem; }
@media (max-width: 1000px) { .risk-kpi-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px)  { .risk-kpi-row { grid-template-columns: 1fr; } }

.risk-trend-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; }
@media (max-width: 900px) { .risk-trend-grid { grid-template-columns: 1fr; } }
.risk-trend-card { background: white; border: 1px solid var(--rule); border-radius: var(--radius); padding: 0.7rem 0.9rem; }
.trend-label { font-size: 0.75rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.trend-value { font-family: 'Fraunces', serif; font-size: 1.35rem; color: var(--navy); margin: 0.1rem 0; }
.trend-delta.pos { color: #285530; }
.trend-delta.neg { color: #b21f1f; }
.trend-spark { display: block; width: 100%; height: 60px; margin-top: 0.4rem; }

.risk-concentration .conc-block { background: white; border: 1px solid var(--rule); border-radius: var(--radius); padding: 0.8rem 0.95rem; margin-bottom: 0.7rem; }
.conc-block-label { font-size: 0.75rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.4rem; }
.conc-row { display: grid; grid-template-columns: 1.4fr 2.2fr 0.8fr 1.2fr auto; gap: 0.5rem; align-items: center; padding: 0.25rem 0; font-size: 0.92rem; }
.conc-row.flagged { background: rgba(178,31,31,0.06); border-radius: 6px; padding: 0.25rem 0.4rem; }
.conc-name { font-weight: 500; color: var(--navy); }
.conc-bar { height: 12px; background: var(--cream-soft); border-radius: 999px; overflow: hidden; border: 1px solid var(--rule); }
.conc-fill { display: block; height: 100%; background: linear-gradient(90deg, var(--gold) 0%, #b88f2a 100%); }
.conc-row.flagged .conc-fill { background: linear-gradient(90deg, #b21f1f 0%, #8b1818 100%); }
.conc-share { font-size: 0.92rem; color: var(--text); }
.conc-usd { font-size: 0.92rem; color: var(--text-muted); }
.conc-flag { color: #b21f1f; font-size: 0.78rem; font-weight: 500; }
@media (max-width: 760px) {
  .conc-row { grid-template-columns: 1fr; gap: 0.15rem; }
  .conc-bar { width: 100%; }
}

.risk-stress .stress-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; }
@media (max-width: 900px) { .risk-stress .stress-grid { grid-template-columns: 1fr; } }
.stress-card { background: white; border: 1px solid var(--rule); border-radius: var(--radius); padding: 0.8rem 0.95rem; }
.stress-card.neg { border-color: #c45050; background: rgba(178,31,31,0.04); }
.stress-label { font-size: 0.78rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.stress-impact { font-family: 'Fraunces', serif; font-size: 1.45rem; color: var(--navy); margin: 0.15rem 0 0.1rem; }
.stress-card.neg .stress-impact { color: #b21f1f; }
.stress-pct { font-size: 0.88rem; color: var(--text-muted); }
.stress-desc { margin-top: 0.4rem; line-height: 1.4; }
.stress-after { margin-top: 0.3rem; }
.risk-footer-note { margin-top: 1rem; font-size: 0.82rem; }

/* Sprint 6.7 — view-as banner */
.view-as-banner {
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.55rem 1.1rem;
  background: linear-gradient(90deg, #6e5410 0%, #8b6818 100%);
  color: var(--cream);
  border-bottom: 2px solid var(--gold);
  position: sticky; top: 0; z-index: 50;
  box-shadow: 0 1px 6px rgba(10,20,40,0.18);
  font-size: 0.93rem;
}
.view-as-banner.observer {
  background: linear-gradient(90deg, #5a2f80 0%, #6f3d9a 100%);
  border-bottom: 2px solid #b388e0;
}
.view-as-banner .vab-icon { font-size: 1.1rem; }
.view-as-banner .vab-text { flex: 1; }
.view-as-banner strong { color: white; }
.view-as-banner .vab-exit-form { display: inline-flex; margin: 0; }
.view-as-banner .vab-exit-btn {
  background: rgba(255,255,255,0.18); color: var(--cream);
  border: 1px solid rgba(255,255,255,0.35); border-radius: 6px;
  padding: 0.25rem 0.7rem; font: inherit; font-size: 0.85rem;
  cursor: pointer;
}
.view-as-banner .vab-exit-btn:hover { background: rgba(255,255,255,0.28); }
@media (max-width: 720px) {
  .view-as-banner { flex-wrap: wrap; font-size: 0.86rem; padding: 0.45rem 0.7rem; }
  .view-as-banner .vab-text { flex: 1 1 100%; order: 1; }
  .view-as-banner .vab-icon { order: 0; }
  .view-as-banner .vab-exit-form { order: 2; margin-left: auto; }
}

/* Sprint 6.7 Stage C — admin users page */
.admin-users-create { margin: 0.7rem 0 1rem; }
.admin-users-form .row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.7rem; margin-bottom: 0.6rem; }
@media (max-width: 720px) { .admin-users-form .row { grid-template-columns: 1fr; } }
.admin-users-form label { display: block; font-size: 0.74rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.18rem; }
.admin-users-form input, .admin-users-form select { width: 100%; padding: 0.4rem 0.55rem; border: 1px solid var(--rule); border-radius: 6px; font: inherit; font-size: 0.92rem; }
.admin-users-form .actions { display: flex; gap: 0.6rem; align-items: center; margin-top: 0.3rem; }
.admin-users-form .form-err { color: #b21f1f; margin-top: 0.4rem; font-size: 0.88rem; }
.admin-users-table-wrap { overflow-x: auto; }
.admin-users-table th, .admin-users-table td { font-size: 0.92rem; }
.admin-users-table .role-select { padding: 0.2rem 0.4rem; font: inherit; font-size: 0.86rem; border: 1px solid var(--rule); border-radius: 4px; }
.admin-users-table .inactive-row { opacity: 0.55; }
.admin-users-table .active-pill { display: inline-block; padding: 0.08rem 0.55rem; font-size: 0.74rem; border-radius: 999px; letter-spacing: 0.04em; }
.admin-users-table .active-pill.on  { background: rgba(40,85,48,0.13); color: #285530; border: 1px solid #4a8158; }
.admin-users-table .active-pill.off { background: rgba(178,31,31,0.10); color: #b21f1f; border: 1px solid #c45050; }
.admin-users-table .btn-small { padding: 0.2rem 0.55rem; font-size: 0.82rem; }
.admin-users-table .row-msg { display: inline-block; margin-left: 0.4rem; }
