/* =========================================================
   RELAY STRATA — VISUAL COHERENCE & SIMPLIFICATION
   One visual language across the application.
   ========================================================= */

:root {
  --relay-coherence-line: #DDE3E8;
  --relay-coherence-soft: #F8FAFB;
  --relay-coherence-muted: #667085;
  --relay-coherence-mint: #A7DCC1;
  --relay-coherence-mint-soft: #EEF9F3;
  --relay-coherence-orange: #F28A30;
  --relay-coherence-orange-soft: #FFF3E8;
}

/* ---------- Global rhythm ---------- */
.page {
  padding-top: 46px !important;
  padding-bottom: 72px !important;
}

.page-heading,
.relay-admin-heading-row {
  margin-bottom: 26px !important;
}

.page-heading-copy > p:not(.eyebrow),
.new-risk-intro > p:not(.eyebrow),
.relay-account-setup-intro > p:not(.eyebrow) {
  max-width: 760px;
  color: var(--relay-coherence-muted);
  font-size: 15px;
  line-height: 1.55;
}

h2 { font-size: 28px; }
h3 { font-size: 19px; }

/* ---------- Buttons: one unmistakable Relay action language ---------- */
.button,
.rrd-button,
.risk-open-button,
.relay-team-invite-action {
  border-radius: 6px !important;
}

.button-primary,
.rrd-button.is-primary,
.rrd-button.primary {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #111 !important;
  box-shadow: 4px 4px 0 var(--relay-coherence-mint) !important;
}

.button-primary:hover,
.rrd-button.is-primary:hover,
.rrd-button.primary:hover {
  background: #fff !important;
  box-shadow: 2px 2px 0 var(--relay-coherence-mint) !important;
}

.button-secondary,
.risk-open-button,
.relay-team-invite-action {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #D5DBE1 !important;
  box-shadow: none !important;
}

.button-secondary:hover,
.risk-open-button:hover,
.relay-team-invite-action:hover {
  border-color: #111 !important;
}

/* ---------- Cards / panels: flatten the application ---------- */
.relay-card,
.relay-panel,
.empty-state,
.relay-admin-request-card,
.relay-platform-home-card,
.relay-team-table,
.relay-team-invite-table,
.relay-org-invite-modal,
.relay-invite-accept-card,
.relay-confirm-modal,
.relay-transfer-modal {
  border-color: var(--relay-coherence-line) !important;
  border-radius: 8px !important;
}

.relay-card-shadow-pink,
.relay-card-shadow-aqua,
.relay-card-shadow-yellow,
.relay-admin-request-card,
.relay-org-invite-modal,
.relay-invite-accept-card {
  box-shadow: none !important;
}

/* Preserve shadow as a deliberate action signature, not decoration. */
.relay-confirm-modal {
  box-shadow: 6px 6px 0 var(--relay-coherence-mint) !important;
}

/* ---------- Navigation ---------- */
.risk-tabs {
  gap: 30px !important;
}

.risk-tab,
.risk-record-subtab {
  font-weight: 700 !important;
}

.risk-record-subtabs {
  margin-top: 0 !important;
  padding-top: 13px !important;
}

.risk-tab.is-active,
.risk-record-subtab.active {
  border-bottom-color: var(--relay-coherence-mint) !important;
}

/* ---------- Property portfolio ---------- */
.relay-portfolio-heading {
  margin-bottom: 22px !important;
}

.relay-portfolio-heading h1 {
  margin-bottom: 8px !important;
}

.relay-portfolio-connected {
  display: none !important;
}

.relay-portfolio-subtitle {
  margin: 0;
  color: var(--relay-coherence-muted);
  font-size: 15px;
}

.risks-toolbar {
  margin-top: 22px !important;
  margin-bottom: 18px !important;
}

.risks-list,
.risk-table-header,
.risk-row {
  border-color: var(--relay-coherence-line) !important;
}

.risk-table-header {
  background: var(--relay-coherence-soft) !important;
  color: var(--relay-coherence-muted) !important;
}

.risk-row {
  min-height: 70px;
}

.risk-row:hover {
  background: #FBFCFC !important;
}

/* ---------- Start with documents ---------- */
.relay-new-risk-simplified .relay-new-risk-back {
  margin-bottom: 28px !important;
  padding: 9px 14px !important;
  min-height: auto !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.relay-new-risk-simplified .new-risk-intro {
  margin-bottom: 30px !important;
}

.relay-new-risk-simplified .new-risk-intro h1 {
  margin-bottom: 12px !important;
}

.relay-new-risk-simplified .new-risk-options,
.relay-new-risk-single-option {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  max-width: 900px;
}

.relay-new-risk-simplified .new-risk-option {
  padding: 30px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.relay-new-risk-simplified .new-risk-option-primary {
  border: 1px solid #111 !important;
  border-left: 5px solid var(--relay-coherence-mint) !important;
  box-shadow: none !important;
}

.relay-new-risk-simplified .new-risk-option h2 {
  margin-bottom: 16px !important;
  font-size: 25px !important;
  line-height: 1.12 !important;
}

.relay-new-risk-simplified .new-risk-option p {
  max-width: 680px;
  color: var(--relay-coherence-muted);
  font-size: 15px;
  line-height: 1.55;
}

.relay-new-risk-simplified #startIngestionButton {
  margin-top: 16px !important;
  background: var(--relay-coherence-mint) !important;
  border-color: var(--relay-coherence-mint) !important;
  color: #111 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.relay-new-risk-simplified #startIngestionButton:hover {
  background: #93D2B3 !important;
  border-color: #93D2B3 !important;
  box-shadow: none !important;
}

.new-risk-option-secondary {
  background: #FBFCFC !important;
}

/* ---------- Status vocabulary / colour meaning ---------- */
.status-pill,
.relay-guided-renewal-gate,
.rrd-recommended-pill,
.recommended-pill,
.coverage-rating,
.relay-underwriting-status {
  border-radius: 999px !important;
}

.status-live,
.status-complete,
.rrd-status,
.relay-underwriting-status.is-ready {
  background: var(--relay-coherence-mint-soft) !important;
  color: #176444 !important;
}

.status-attention,
.status-action,
.relay-guided-renewal-gate:not(.is-automatic),
.rrd-kicker {
  background: var(--relay-coherence-orange-soft) !important;
  color: #994607 !important;
}

/* ---------- Tables: one pattern everywhere ---------- */
.relay-team-table,
.relay-team-invite-table,
.risks-list,
.rrd-table-wrap,
.relay-underwriting-evidence-list {
  border: 1px solid var(--relay-coherence-line) !important;
  background: #fff !important;
}

.relay-team-header,
.relay-team-invite-header,
.risk-table-header,
.rrd-table thead th {
  background: var(--relay-coherence-soft) !important;
  border-color: var(--relay-coherence-line) !important;
  color: var(--relay-coherence-muted) !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.relay-team-row,
.relay-team-invite-row,
.risk-row,
.rrd-table th,
.rrd-table td {
  border-color: #E8ECEF !important;
}

/* ---------- Underwriting submission: controlled artefact, not dashboard ---------- */
.relay-underwriting-submission-header {
  margin-bottom: 18px !important;
}

.relay-underwriting-submission-header h2 {
  font-size: 30px !important;
}

.relay-underwriting-metrics {
  border-radius: 8px !important;
  border-color: var(--relay-coherence-line) !important;
  margin-bottom: 18px !important;
}

.relay-underwriting-metric {
  min-height: 72px !important;
  padding: 14px 16px !important;
  border-color: var(--relay-coherence-line) !important;
}

.relay-underwriting-lock-note {
  margin-bottom: 18px !important;
  padding: 15px 17px !important;
  border-left: 4px solid var(--relay-coherence-mint) !important;
  background: var(--relay-coherence-soft) !important;
}

.relay-underwriting-view {
  padding: 20px !important;
  border-color: var(--relay-coherence-line) !important;
}

.relay-underwriting-section {
  border-radius: 7px !important;
  border-color: var(--relay-coherence-line) !important;
}

.relay-underwriting-json {
  background: #F7F8FA !important;
  border-color: var(--relay-coherence-line) !important;
}

/* ---------- Quote comparison: hero output, simplified ---------- */
#riskRecordContent .rrd-header {
  margin: 6px 0 18px !important;
}

#riskRecordContent .rrd-header h2 {
  font-size: clamp(32px, 3.5vw, 44px) !important;
}

#riskRecordContent .rrd-summary {
  gap: 10px !important;
  margin-bottom: 18px !important;
}

#riskRecordContent .rrd-summary-card,
#riskRecordContent .rrd-card {
  min-height: 102px !important;
  padding: 16px !important;
  border: 1px solid var(--relay-coherence-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#riskRecordContent .rrd-summary-card:first-child,
#riskRecordContent .rrd-card:first-child {
  border-top: 4px solid var(--relay-coherence-mint) !important;
}

#riskRecordContent .rrd-summary-card.is-action,
#riskRecordContent .rrd-card.action {
  border-top: 4px solid var(--relay-coherence-orange) !important;
  background: #fff !important;
  box-shadow: none !important;
}

#riskRecordContent .rrd-value {
  font-size: 22px !important;
}

#riskRecordContent .rrd-story,
#riskRecordContent .rrd-comparison,
#riskRecordContent .rrd-costs,
#riskRecordContent .rrd-edit {
  padding: 20px !important;
  border: 1px solid var(--relay-coherence-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#riskRecordContent .rrd-story {
  border-left: 5px solid var(--relay-coherence-mint) !important;
}

#riskRecordContent .rrd-story-grid {
  gap: 8px !important;
  margin-top: 16px !important;
}

#riskRecordContent .rrd-story-box {
  min-height: 112px !important;
  padding: 14px !important;
  border: 1px solid var(--relay-coherence-line) !important;
  border-radius: 6px !important;
  border-left: 3px solid var(--relay-coherence-mint) !important;
}

#riskRecordContent .rrd-story-box:first-child,
#riskRecordContent .rrd-story-box:last-child {
  border-left-color: var(--relay-coherence-orange) !important;
}

#riskRecordContent .rrd-table-wrap {
  border-radius: 6px !important;
}

#riskRecordContent .rrd-table .is-recommended,
#riskRecordContent .recommended-column,
#riskRecordContent .comparison-cell.recommended-column {
  background: var(--relay-coherence-mint-soft) !important;
}

#riskRecordContent .rrd-recommended-pill,
#riskRecordContent .recommended-pill {
  background: var(--relay-coherence-mint) !important;
  color: #111 !important;
  border: 0 !important;
}

#riskRecordContent .insurer-head.recommended-column {
  box-shadow: inset 0 4px 0 var(--relay-coherence-mint) !important;
}

/* Client release gate is a control point, not a decorative card. */
.relay-client-release-gate {
  border: 1px solid var(--relay-coherence-line) !important;
  border-left: 5px solid var(--relay-coherence-orange) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* ---------- Renewal: compact, contextual, not the product identity ---------- */
.relay-guided-renewal {
  border-radius: 8px !important;
}

.relay-guided-renewal-head {
  padding: 12px 16px !important;
}

.relay-guided-renewal-head h2 {
  font-size: 17px !important;
}

.relay-guided-renewal-steps {
  padding: 0 !important;
}

.relay-guided-renewal-step {
  padding: 11px 12px !important;
}

.relay-guided-renewal-step small {
  display: none !important;
}

.relay-guided-renewal-step-number {
  width: 20px !important;
  height: 20px !important;
  margin-bottom: 5px !important;
}

.relay-guided-renewal-next {
  padding: 13px 16px !important;
}

.relay-guided-renewal-next h3 {
  font-size: 15px !important;
}

.relay-guided-renewal-next p {
  font-size: 12px !important;
}

/* ---------- Team / Account / Admin ---------- */
.relay-team-section,
.relay-team-requests-section,
.relay-team-invitations-section {
  margin-top: 26px !important;
}

.relay-team-row,
.relay-team-invite-row {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.relay-admin-shell {
  padding-top: 40px !important;
}

.relay-admin-request-card,
.relay-platform-home-card {
  padding: 20px !important;
}

.relay-admin-request-grid {
  gap: 12px !important;
  padding: 14px 0 !important;
}

/* ---------- Forms / onboarding ---------- */
.relay-account-setup-shell,
.relay-auth-shell {
  max-width: 980px;
}

.relay-organisation-form-card,
.manual-risk-panel {
  padding: 26px !important;
}

.relay-field > span,
.rrd-field label {
  color: #4E5968;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.input,
.rrd-input,
.rrd-textarea {
  border-color: #CBD3DB !important;
  border-radius: 6px !important;
}

.input:focus,
.rrd-input:focus,
.rrd-textarea:focus {
  border-color: #111 !important;
  box-shadow: 0 0 0 3px rgba(167,220,193,.24) !important;
  outline: none !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .page { padding-top: 32px !important; }
  .risk-tabs { gap: 18px !important; }
  .relay-guided-renewal-step small { display: block !important; }
  .relay-guided-renewal-step { padding: 12px 14px !important; }
}

@media (max-width: 640px) {
  .page {
    width: min(calc(100% - 28px), var(--relay-max-width));
  }

  .risks-toolbar,
  .relay-guided-renewal-next {
    gap: 14px !important;
  }

  .button-primary,
  .button-secondary {
    min-height: 44px !important;
  }
}
