/* Quick workspace: the existing calculation engine supplies every result. */
.workspace-intro { gap: 24px; align-items: center; margin-bottom: 24px; }
.workspace-heading { flex: 1; min-width: 0; }
.workspace-heading h1 { overflow-wrap: anywhere; }
.workspace-photo { position: relative; width: 180px; height: 116px; flex: none; overflow: hidden; border-radius: 14px; }
.workspace-photo span { position: absolute; bottom: 0; left: 0; right: 0; padding: 4px 8px; background: #16314cde; color: #fff; font-size: 10px; }
.workspace-shortcuts a { display: inline-flex; align-items: center; padding: 9px 12px; font-size: 13px; font-weight: 600; text-decoration: none; }
.scenario-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 18px 20px; background: #fff; border: 1px solid #dce5e1; border-radius: 12px; margin: 0 0 26px; }
.scenario-toolbar > label { display: grid; gap: 5px; font-size: 12px; font-weight: 600; color: #526679; }
.scenario-title { flex: 1 1 200px; }
.scenario-switch { flex: 1 1 180px; max-width: 300px; }
.scenario-toolbar input, .scenario-toolbar select { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #cdd8df; border-radius: 8px; padding: 9px 11px; color: #16314c; background: #fff; }
.scenario-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.scenario-actions button, .scenario-import { display: inline-flex; align-items: center; gap: 7px; background: #f6f8f7; border: 1px solid #dce5e1; border-radius: 8px; padding: 10px 12px; font-size: 13px; font-weight: 600; color: #16314c; cursor: pointer; }
.scenario-actions svg { width: 15px; height: 15px; }
.scenario-import { position: relative; overflow: hidden; }
.scenario-import input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.scenario-import:focus-within { outline: 3px solid #0f8e88; outline-offset: 3px; }
.save-state { flex-basis: 100%; margin: 0; font-size: 12px; color: #5b6e82; display: flex; align-items: center; gap: 6px; }
.save-state .save-dot { width: 6px; height: 6px; background: #789089; border-radius: 50%; flex: none; }
.save-message { min-width: 0; }
.quick-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.quick-inputs, .quick-results { display: grid; gap: 20px; min-width: 0; }
.quick-inputs .quick-card { border-top: 3px solid #dce9e2; }
.quick-inputs .quick-card h3 { margin-bottom: 20px; }
.quick-results .quick-result { background: #16314c; color: #fff; border: 0; padding: 28px; box-shadow: 0 12px 28px #16314c14; }
.quick-result .eyebrow { color: #9de2d9; letter-spacing: .13em; margin: 0 0 18px; }
.quick-result .weekly-label { font: 400 16px/1.5 'Source Sans 3', sans-serif; color: #d4e1e9; margin: 0; }
.weekly-number { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; font: 600 clamp(36px, 4vw, 52px)/1.25 Poppins, sans-serif; letter-spacing: -.045em; font-variant-numeric: tabular-nums; margin: 3px 0; }
.weekly-number > .weekly-unit { font: 400 15px/1.5 'Source Sans 3', sans-serif; letter-spacing: normal; color: #c6d6e1; }
.quick-result .annual-equivalent { margin: 0 0 24px; font-size: 13px; color: #c6d6e1; }
.flow-breakdown { padding: 20px 0 7px; border-top: 1px solid #ffffff26; }
.flow-item { margin-bottom: 14px; }
.flow-item > div:first-child { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; margin-bottom: 6px; }
.flow-item strong { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.flow-item > div > span { color: #d4e1e9; }
.flow-track { height: 4px; overflow: hidden; background: #ffffff13; border-radius: 9px; }
.flow-fill { display: block; height: 100%; background: #e0bc91; border-radius: inherit; }
.flow-fill.positive { background: #62cbbd; }
.flow-fill.neutral { background: #aac0d1; }
.quick-result .flow-caption { color: #c6d6e1; font-size: 11px; line-height: 1.5; margin: 0 0 16px; }
.quick-result .tax-context { background: #ffffff0d; border-left: 2px solid #62cbbd; padding: 12px 14px; font-size: 13px; line-height: 1.55; margin: 12px 0 18px; }
.result-detail { margin-bottom: 18px; }
.after-tax-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; flex-wrap: wrap; padding: 0 0 18px; font-size: 13px; }
.after-tax-row strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.after-tax-row small { font-size: 12px; font-weight: 400; }
.result-detail summary { cursor: pointer; font-size: 13px; color: #d4e1e9; padding: 4px 0; }
.result-detail dl { font-size: 13px; margin: 15px 0 0; }
.quick-result .button-secondary { width: 100%; justify-content: center; box-sizing: border-box; border-color: #ffffff38; color: #fff; background: #ffffff0a; }
.quick-result .button-secondary:hover { background: #ffffff16; }
.quick-result .quick-warning { background: #f9eede; color: #79501c; }
.review-panel, .stress-panel { border: 1px solid #dce5e1; background: #fff; border-radius: 14px; padding: 22px; }
.panel-heading { display: flex; align-items: center; gap: 10px; }
.panel-heading svg { width: 19px; height: 19px; color: #0f8e88; flex: none; }
.panel-heading h3 { font: 600 17px/1.4 Poppins, sans-serif; margin: 0; }
.review-panel > p, .stress-panel > p { font-size: 13px; color: #5b6e82; line-height: 1.6; }
.review-actions { display: grid; }
.review-actions button { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; text-align: left; padding: 13px 0; border: 0; border-top: 1px solid #e7ece9; background: transparent; color: #16314c; cursor: pointer; }
.review-actions strong { display: block; font-size: 14px; font-weight: 600; color: #0b6f6a; }
.review-actions small { display: block; font-size: 12px; color: #5b6e82; margin-top: 3px; }
.review-actions button:hover strong { text-decoration: underline; }
.review-clear { padding: 12px; background: #edf5f2; border-radius: 8px; }
.stress-panel { background: #eeebe3; border-color: #e1dace; }
.stress-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.stress-card { min-width: 0; background: #ffffffb3; border: 1px solid #e1dace; border-radius: 10px; padding: 14px; }
.stress-card h4 { font-size: 14px; font-weight: 600; margin: 0 0 6px; }
.stress-card p { font-size: 12px; color: #5b6e82; margin: 0 0 14px; }
.stress-card > strong { display: block; font: 600 24px/1.3 Poppins, sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.stress-card strong small { display: block; font: 400 12px/1.5 'Source Sans 3', sans-serif; color: #5b6e82; }
.stress-card > span { display: block; margin-top: 12px; font-size: 12px; color: #79501c; }
#quick-result { scroll-margin-top: 150px; }
.detail-stage-content h2:focus { outline: none; }
@media (max-width: 1050px) {
  .workspace-intro { flex-wrap: wrap; }
  .workspace-photo { width: 128px; height: 96px; }
  .workspace-shortcuts { flex-basis: 100%; }
  .quick-grid { gap: 18px; }
  .quick-results .quick-result { padding: 22px; }
  .stress-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .quick-grid { grid-template-columns: minmax(0, 1fr); }
  .workspace-heading h1 { font-size: 22px; }
  .workspace-intro { gap: 14px; }
  .workspace-photo { width: 90px; height: 90px; }
  .workspace-photo span { font-size: 8px; }
  .scenario-toolbar { padding: 16px; }
  .scenario-switch { max-width: none; }
  .scenario-actions { width: 100%; }
  .scenario-actions button { flex: 1; justify-content: center; }
  .save-state { align-items: start; }
  .save-state .save-dot { margin-top: 6px; }
  .stress-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weekly-number { font-size: 44px; }
  #quick-result { scroll-margin-top: 200px; }
}
@media (max-width: 380px) { .stress-cards { grid-template-columns: minmax(0, 1fr); } .workspace-photo { display: none; } }
@media print {
  .quick-grid { display: block; }
  .quick-inputs, .quick-results { display: block; }
  .quick-card, .review-panel, .stress-panel { margin-bottom: 18px; break-inside: avoid; }
  .quick-results .quick-result { background: #fff; color: #16314c; border: 1px solid #cdd8df; box-shadow: none; }
  .quick-result .eyebrow, .quick-result .weekly-label, .quick-result .annual-equivalent, .weekly-number > .weekly-unit, .flow-item > div > span { color: #16314c; }
  .workspace-photo, .review-actions button > span:last-child { display: none; }
}
