/* Import Plan Builder shared styles — used by /start/, /pl/start/, /de/start/. */

.start-shell { max-width: 880px; margin: 0 auto; padding: 3rem 1.5rem 6rem; position: relative; z-index: 1; }

.start-hero { text-align: center; margin-bottom: 3rem; }
.start-hero .kicker { font-family: 'Cormorant Garant', Georgia, serif; font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.22em; color: var(--accent-color, #b8bec8); margin-bottom: 1rem; }
.start-hero h1 { font-family: 'Cormorant Garant', Georgia, serif; font-size: clamp(2.2rem, 4.5vw + 0.5rem, 3.4rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 1rem; max-width: 18ch; margin-left: auto; margin-right: auto; }
.start-hero h1 em { font-style: italic; color: var(--accent-color, #b8bec8); }
.start-hero p { font-size: 1.05rem; line-height: 1.7; color: rgba(255,255,255,0.75); max-width: 60ch; margin: 0 auto; }

/* Progress */
.progress-bar { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; margin: 2.5rem auto 2rem; max-width: 600px; }
.progress-step { height: 3px; background: rgba(255,255,255,0.08); transition: background 0.2s; }
.progress-step.active { background: var(--accent-color, #b8bec8); }

/* Step container */
.wizard { background: rgba(13, 15, 20, 0.6); border: 1px solid rgba(255, 255, 255, 0.07); padding: 2.5rem 2.6rem 2rem; }
@media (max-width: 600px) { .wizard { padding: 1.6rem 1.2rem; } }

.step { display: none; }
.step.active { display: block; animation: fadeIn 0.25s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

.step-num { font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-color, #b8bec8); margin-bottom: 0.5rem; }
.step h2 { font-family: 'Cormorant Garant', Georgia, serif; font-size: 1.6rem; font-weight: 600; letter-spacing: -0.01em; color: rgba(255,255,255,0.97); margin-bottom: 0.4rem; }
.step .helper { font-size: 0.92rem; color: rgba(255,255,255,0.65); line-height: 1.6; margin-bottom: 1.6rem; max-width: 56ch; }

label { display: block; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.65); margin-bottom: 0.4rem; font-weight: 500; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.2rem; }
.field-row.three { grid-template-columns: repeat(3, 1fr); }
.field-row.full { grid-template-columns: 1fr; }
@media (max-width: 600px) { .field-row, .field-row.three { grid-template-columns: 1fr; } }
.field { margin-bottom: 1.2rem; }

select, input[type="text"], input[type="email"], input[type="number"] {
  width: 100%; padding: 0.7rem 0.9rem; background: rgba(8, 11, 19, 0.6);
  border: 1px solid rgba(255,255,255,0.08); color: rgba(255,255,255,0.92);
  font-family: inherit; font-size: 0.95rem; line-height: 1.4; outline: none;
  transition: border-color 0.15s, background 0.15s;
}
select:focus, input:focus { border-color: rgba(184,190,200,0.4); background: rgba(8, 11, 19, 0.85); }
select { cursor: pointer; }

.actions { display: flex; gap: 0.8rem; justify-content: space-between; margin-top: 2rem; }
.btn { padding: 0.85rem 1.4rem; font-family: inherit; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; border: 1px solid rgba(184,190,200,0.4); cursor: pointer; transition: all 0.18s; background: transparent; color: rgba(255,255,255,0.92); }
.btn:hover:not(:disabled) { background: rgba(184,190,200,0.06); }
.btn-primary { background: var(--accent-color, #b8bec8); color: #0a0912; border-color: var(--accent-color, #b8bec8); }
.btn-primary:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); }
.btn:disabled { opacity: 0.4; cursor: not-allowed; }

.err { font-size: 0.82rem; color: #c95050; margin-top: 0.4rem; }
.global-err { padding: 0.8rem 1rem; background: rgba(201, 80, 80, 0.08); border-left: 2px solid #c95050; color: rgba(255,255,255,0.95); font-size: 0.88rem; margin-bottom: 1.2rem; }

/* Result */
.result { display: none; }
.result.active { display: block; animation: fadeIn 0.4s ease-out; }
.result-hero { text-align: center; margin-bottom: 2.5rem; }
.result-hero h2 { font-family: 'Cormorant Garant', Georgia, serif; font-size: clamp(2rem, 4vw + 0.5rem, 2.6rem); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 0.5rem; color: rgba(255,255,255,0.97); }
.result-hero p { font-size: 0.98rem; color: rgba(255,255,255,0.7); max-width: 56ch; margin: 0 auto; }

.result-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.07); margin: 2rem 0; }
@media (max-width: 700px) { .result-stats { grid-template-columns: repeat(2, 1fr); } }
.result-stat { background: #0d0f14; padding: 1.2rem 1.3rem; }
.result-stat .num { font-family: 'Cormorant Garant', serif; font-size: 1.55rem; font-weight: 700; color: rgba(255,255,255,0.97); line-height: 1; letter-spacing: -0.02em; }
.result-stat .label { font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-top: 0.4rem; }

.result-section { margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,0.07); }
.result-section h3 { font-family: 'Cormorant Garant', serif; font-size: 1.3rem; font-weight: 600; color: rgba(255,255,255,0.97); margin-bottom: 0.5rem; }
.result-section p { font-size: 0.94rem; line-height: 1.65; color: rgba(255,255,255,0.78); margin-bottom: 0.8em; max-width: 70ch; }
.result-section .verdict-line { font-family: 'Cormorant Garant', serif; font-size: 1.1rem; font-style: italic; color: var(--accent-color, #b8bec8); padding: 0.6rem 1rem; background: rgba(184,190,200,0.05); border-left: 2px solid var(--accent-color, #b8bec8); margin: 0.8em 0; }
.result-section .secondary-note { font-size: 0.84rem; color: rgba(255,255,255,0.6); font-style: italic; }
.breakdown-table { width: 100%; border-collapse: collapse; margin-top: 0.8em; font-size: 0.9rem; }
.breakdown-table td { padding: 6px 10px; border-bottom: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.85); font-family: 'Geist Mono', monospace; }
.breakdown-table td:first-child { font-family: inherit; color: rgba(255,255,255,0.7); }
.breakdown-table tr.total td { font-weight: 600; color: rgba(255,255,255,0.97); padding-top: 10px; border-top: 1px solid rgba(184,190,200,0.3); border-bottom: none; }

.trade-defence-callout { margin: 1.4rem 0 0.8rem; padding: 1.1rem 1.3rem; background: rgba(201, 80, 80, 0.06); border-left: 3px solid #c95050; }
.trade-defence-callout .td-header { font-family: 'Geist Mono', monospace; font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; color: #e88080; font-weight: 700; margin-bottom: 0.5rem; }
.trade-defence-callout p { font-size: 0.92rem; line-height: 1.6; color: rgba(255,255,255,0.85); margin-bottom: 0.7em; max-width: none; }
.trade-defence-callout .td-list { list-style: none; padding: 0; margin: 0.6em 0; }
.trade-defence-callout .td-list li { padding: 0.5rem 0; border-top: 1px solid rgba(255,255,255,0.05); font-size: 0.9rem; color: rgba(255,255,255,0.85); }
.trade-defence-callout .td-list li:first-child { border-top: none; }
.trade-defence-callout .td-meta { color: rgba(255,255,255,0.5); font-size: 0.84rem; }
.trade-defence-callout .td-note { font-size: 0.84rem; color: rgba(255,255,255,0.65); margin-top: 0.3rem; font-style: italic; line-height: 1.5; }

.preferential-callout { margin: 1.4rem 0 0.8rem; padding: 1.1rem 1.3rem; border-left: 3px solid; }
.preferential-callout p { font-size: 0.92rem; line-height: 1.6; color: rgba(255,255,255,0.85); margin-bottom: 0.7em; max-width: none; }
.preferential-callout .pref-header { font-family: 'Geist Mono', monospace; font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; margin-bottom: 0.5rem; }
.preferential-callout.applied { background: rgba(80, 180, 100, 0.05); border-left-color: #5fb56b; }
.preferential-callout.applied .pref-header { color: #7ed28a; }
.preferential-callout.available { background: rgba(200, 168, 90, 0.06); border-left-color: rgba(200, 168, 90, 0.85); }
.preferential-callout.available .pref-header { color: rgba(220, 188, 110, 1); }
.preferential-callout.warning { background: rgba(120, 160, 200, 0.05); border-left-color: rgba(140, 180, 220, 0.85); }
.preferential-callout.warning .pref-header { color: rgba(170, 200, 230, 1); }
.pref-rerun-actions { margin-top: 0.9rem; }
.btn-secondary.pref-rerun-btn { font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.55rem 0.95rem; background: rgba(184,168,114,0.12); color: rgba(220, 188, 110, 1); border: 1px solid rgba(184,168,114,0.4); cursor: pointer; transition: all 0.15s; font-weight: 600; }
.btn-secondary.pref-rerun-btn:hover { background: rgba(184,168,114,0.18); border-color: rgba(220, 188, 110, 0.7); color: rgba(255,255,255,0.97); }

/* Sprint AG: scenario banner shown above result-hero when viewing a
   "what-if claimed" alternate. */
.scenario-banner { display: flex; justify-content: space-between; align-items: center; gap: 0.8rem; padding: 0.7rem 1.1rem; background: rgba(184, 168, 114, 0.08); border: 1px solid rgba(200, 168, 90, 0.3); margin-bottom: 1.4rem; flex-wrap: wrap; }
.scenario-banner span { font-size: 0.88rem; color: rgba(255,255,255,0.85); line-height: 1.5; }
.scenario-banner .btn-text { background: transparent; border: none; color: rgba(220, 188, 110, 1); font-family: 'Geist Mono', monospace; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; padding: 0.3rem 0.6rem; transition: color 0.15s; font-weight: 600; }
.scenario-banner .btn-text:hover { color: rgba(255,255,255,0.97); }

.compliance-list { display: grid; gap: 0.7rem; margin-top: 1rem; }
.compliance-card { padding: 1rem 1.2rem; background: rgba(255,255,255,0.03); border-left: 3px solid rgba(184,190,200,0.3); border-radius: 2px; }
.compliance-card.sev-high { background: rgba(201, 80, 80, 0.05); border-left-color: #c95050; }
.compliance-card.sev-medium { background: rgba(200, 168, 90, 0.04); border-left-color: rgba(200, 168, 90, 0.7); }
.compliance-card.sev-low { background: rgba(184, 190, 200, 0.03); border-left-color: rgba(184, 190, 200, 0.4); }
.compliance-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.4rem; gap: 1rem; flex-wrap: wrap; }
.compliance-name { font-family: 'Cormorant Garant', Georgia, serif; font-size: 1.05rem; font-weight: 600; color: rgba(255,255,255,0.97); line-height: 1.3; }
.compliance-sev { font-family: 'Geist Mono', monospace; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.18rem 0.55rem; border-radius: 1px; flex-shrink: 0; }
.compliance-card.sev-high .compliance-sev { color: #e88080; background: rgba(201, 80, 80, 0.12); }
.compliance-card.sev-medium .compliance-sev { color: rgba(220, 188, 110, 1); background: rgba(200, 168, 90, 0.1); }
.compliance-card.sev-low .compliance-sev { color: rgba(184,190,200,0.85); background: rgba(184,190,200,0.06); }
.compliance-status { font-size: 0.84rem; color: rgba(255,255,255,0.6); margin-bottom: 0.4rem; font-style: italic; }
.compliance-obligation { font-size: 0.9rem; color: rgba(255,255,255,0.85); line-height: 1.55; margin-bottom: 0.4rem; }
.compliance-trigger { font-size: 0.78rem; color: rgba(255,255,255,0.5); margin-bottom: 0.3rem; font-family: 'Geist Mono', monospace; }
.compliance-dates { font-size: 0.84rem; color: rgba(255,255,255,0.65); margin-bottom: 0.3rem; }
.compliance-note { font-size: 0.84rem; color: rgba(255,255,255,0.6); font-style: italic; margin: 0.3rem 0; line-height: 1.5; }
.compliance-link { display: inline-block; margin-top: 0.5rem; font-size: 0.82rem; color: var(--accent-color, #b8bec8); text-decoration: none; font-weight: 600; }
.compliance-link:hover { color: rgba(255,255,255,0.95); }

.tco-stats .result-stat .sub, .wc-stats .result-stat .sub { font-size: 0.7rem; color: rgba(255,255,255,0.4); margin-top: 0.3rem; line-height: 1.4; }
.wc-stats .result-stat.wc-supplier-funded .num, .wc-stats .result-stat.wc-tight .num { color: #7ed28a; }
.wc-stats .result-stat.wc-standard .num { color: rgba(255,255,255,0.97); }
.wc-stats .result-stat.wc-capital-intensive .num { color: rgba(220, 188, 110, 1); }
.wc-stats .result-stat.wc-severe .num { color: #e88080; }
.tco-sensitivity-heading { font-family: 'Cormorant Garant', Georgia, serif; font-size: 1.1rem; font-weight: 600; color: rgba(255,255,255,0.9); margin: 1.6rem 0 0.4rem; }
.origin-matrix.tco-sensitivity tbody tr.is-user { background: rgba(95, 181, 107, 0.08); }
.origin-matrix.tco-sensitivity tbody tr.is-user td { color: rgba(255,255,255,0.97); }

.fx-callout { margin: 1rem 0; padding: 1rem 1.2rem; border-left: 3px solid; }
.fx-callout p { margin-bottom: 0.5em; font-size: 0.92rem; line-height: 1.6; color: rgba(255,255,255,0.85); max-width: none; }
.fx-callout .fx-rec { font-family: 'Geist Mono', monospace; font-size: 0.84rem; letter-spacing: 0.06em; margin-top: 0.6rem; }
.fx-callout.rec-hedge { background: rgba(201, 80, 80, 0.05); border-left-color: #c95050; }
.fx-callout.rec-hedge .fx-rec { color: #e88080; }
.fx-callout.rec-consider { background: rgba(200, 168, 90, 0.05); border-left-color: rgba(200, 168, 90, 0.85); }
.fx-callout.rec-consider .fx-rec { color: rgba(220, 188, 110, 1); }
.fx-callout.rec-accept { background: rgba(80, 180, 100, 0.05); border-left-color: #5fb56b; }
.fx-callout.rec-accept .fx-rec { color: #7ed28a; }
.fx-callout.rec-skip { background: rgba(184, 190, 200, 0.04); border-left-color: rgba(184, 190, 200, 0.4); }
.fx-callout.rec-skip .fx-rec { color: rgba(184, 190, 200, 0.85); }

.origin-saving-callout { padding: 1rem 1.2rem; background: rgba(80, 180, 100, 0.06); border-left: 3px solid #5fb56b; margin: 1rem 0; }
.origin-saving-callout p { margin: 0; font-size: 0.95rem; line-height: 1.6; color: rgba(255,255,255,0.9); }
.origin-matrix-wrap { overflow-x: auto; margin-top: 1rem; }
.origin-matrix { width: 100%; border-collapse: collapse; font-size: 0.85rem; min-width: 640px; }
.origin-matrix thead th { font-family: 'Geist Mono', monospace; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.55); text-align: left; padding: 0.6rem 0.8rem 0.5rem; border-bottom: 1px solid rgba(255,255,255,0.1); font-weight: 500; }
.origin-matrix tbody td { padding: 0.65rem 0.8rem; border-bottom: 1px solid rgba(255,255,255,0.05); color: rgba(255,255,255,0.85); }
.origin-matrix tbody tr:hover { background: rgba(255,255,255,0.02); }
.origin-matrix tbody tr.is-user { background: rgba(184, 190, 200, 0.06); }
.origin-matrix tbody tr.is-user td { color: rgba(255,255,255,0.97); }
.origin-matrix tbody tr.is-cheapest { background: rgba(80, 180, 100, 0.05); }
.origin-tag { display: inline-block; margin-left: 0.5rem; font-family: 'Geist Mono', monospace; font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.12rem 0.5rem; border-radius: 1px; vertical-align: middle; }
.origin-tag.user { background: rgba(184, 190, 200, 0.15); color: rgba(220, 224, 232, 1); }
.origin-tag.cheapest { background: rgba(80, 180, 100, 0.15); color: #7ed28a; }
.origin-matrix .badge { display: inline-block; font-size: 0.74rem; padding: 0.12rem 0.5rem; border-radius: 1px; }
.origin-matrix .badge.pref { background: rgba(80, 180, 100, 0.1); color: #7ed28a; }
.origin-matrix .badge.td { background: rgba(201, 80, 80, 0.1); color: #e88080; }
.compare-btn { font-family: 'Geist Mono', monospace; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.3rem 0.7rem; background: transparent; color: rgba(255,255,255,0.85); border: 1px solid rgba(184,190,200,0.4); cursor: pointer; transition: all 0.15s; font-weight: 600; }
.compare-btn:hover { background: rgba(184,190,200,0.06); border-color: rgba(184,190,200,0.7); color: rgba(255,255,255,0.97); }

/* Comparison panel */
.comparison-panel { margin-top: 1.6rem; padding: 1.4rem 1.6rem; background: rgba(13, 15, 20, 0.7); border: 1px solid rgba(184,190,200,0.25); }
.comparison-panel[hidden] { display: none; }
.comparison-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.8rem; gap: 0.8rem; flex-wrap: wrap; }
.comparison-title { font-family: 'Cormorant Garant', Georgia, serif; font-size: 1.25rem; font-weight: 600; color: rgba(255,255,255,0.97); }
.comparison-actions { display: flex; align-items: center; gap: 0.5rem; }
.compare-copy-btn { font-family: 'Geist Mono', monospace; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.4rem 0.85rem; background: transparent; color: rgba(255,255,255,0.85); border: 1px solid rgba(184,190,200,0.4); cursor: pointer; transition: all 0.15s; font-weight: 600; }
.compare-copy-btn:hover { background: rgba(184,190,200,0.06); border-color: rgba(184,190,200,0.7); color: rgba(255,255,255,0.97); }
.compare-close { background: transparent; border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.7); width: 1.8rem; height: 1.8rem; cursor: pointer; font-size: 1.1rem; line-height: 1; padding: 0; transition: all 0.15s; }
.compare-close:hover { color: rgba(255,255,255,0.97); border-color: rgba(255,255,255,0.4); }
.comparison-intro { font-size: 0.94rem; line-height: 1.6; color: rgba(255,255,255,0.78); margin-bottom: 1rem; max-width: 70ch; }
.comparison-table { width: 100%; border-collapse: collapse; margin-top: 0.6rem; font-size: 0.92rem; }
.comparison-table thead th { font-family: 'Geist Mono', monospace; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.55); text-align: left; padding: 0.6rem 0.85rem; border-bottom: 1px solid rgba(255,255,255,0.12); font-weight: 500; }
.comparison-table thead th.col-user { color: rgba(220, 224, 232, 0.85); }
.comparison-table thead th.col-alt { color: rgba(240, 220, 150, 0.95); }
.comparison-table thead th.col-delta { color: rgba(255,255,255,0.55); }
.comparison-table tbody td { padding: 0.65rem 0.85rem; border-bottom: 1px solid rgba(255,255,255,0.05); color: rgba(255,255,255,0.85); }
.comparison-table tbody td:first-child { color: rgba(255,255,255,0.6); font-size: 0.84rem; }
.comparison-table tbody tr.comparison-headline-row td { background: rgba(184, 190, 200, 0.04); }
.delta-saving { color: #7ed28a; font-weight: 600; font-family: 'Geist Mono', monospace; font-size: 0.86rem; }
.delta-penalty { color: #e88080; font-weight: 600; font-family: 'Geist Mono', monospace; font-size: 0.86rem; }
.delta-zero { color: rgba(255,255,255,0.4); font-family: 'Geist Mono', monospace; font-size: 0.86rem; }
.comparison-verdict { margin-top: 1rem; padding: 0.9rem 1.1rem; background: rgba(255,255,255,0.03); border-left: 2px solid var(--accent-color, #b8bec8); font-size: 0.94rem; line-height: 1.6; color: rgba(255,255,255,0.85); }

.share-row { display: flex; gap: 0.6rem; align-items: stretch; margin-top: 0.6rem; max-width: 70ch; }
.share-url { flex: 1; min-width: 0; padding: 0.6rem 0.8rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.92); font-family: 'Geist Mono', monospace; font-size: 0.78rem; border-radius: 2px; }
.share-url:focus { outline: none; border-color: var(--accent-color, #b8bec8); }
@media (max-width: 600px) { .share-row { flex-direction: column; } }

.agent-cta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,0.07); border: 1px solid rgba(184,190,200,0.2); margin-top: 2rem; }
@media (max-width: 800px) { .agent-cta-grid { grid-template-columns: 1fr; } }
.agent-cta-card { background: #0d0f14; padding: 1.3rem 1.4rem; text-decoration: none; transition: background 0.15s; }
.agent-cta-card:hover { background: rgba(184,190,200,0.04); }
.agent-cta-card .ac-tag { font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-color, #b8bec8); margin-bottom: 0.4rem; font-weight: 600; }
.agent-cta-card h4 { font-family: 'Cormorant Garant', serif; font-size: 1.05rem; font-weight: 600; color: rgba(255,255,255,0.95); margin: 0 0 0.4rem; }
.agent-cta-card p { font-size: 0.84rem; color: rgba(255,255,255,0.65); line-height: 1.55; margin: 0; }

/* Print-only header (visible only when printing) */
.print-header { display: none; }

/* Save-as-PDF button (visible only on screen) */
.print-actions { display: flex; justify-content: center; gap: 0.6rem; margin: 2rem 0 0; }

/* Sprint AH — Currency display toggle */
.currency-toggle { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; padding: 0.35rem 0.7rem; background: rgba(13, 15, 20, 0.55); border: 1px solid rgba(255,255,255,0.07); margin-top: 1.4rem; }
.currency-toggle-label { font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-right: 0.5rem; }
.currency-btn { font-family: 'Geist Mono', monospace; font-size: 0.74rem; letter-spacing: 0.08em; padding: 0.36rem 0.7rem; background: transparent; color: rgba(255,255,255,0.7); border: 1px solid rgba(255,255,255,0.1); cursor: pointer; transition: background 0.14s, color 0.14s, border-color 0.14s; }
.currency-btn:hover { background: rgba(184,190,200,0.06); color: rgba(255,255,255,0.95); }
.currency-btn.active { background: var(--accent-color, #b8bec8); color: #0a0912; border-color: var(--accent-color, #b8bec8); font-weight: 700; }
.currency-asof { font-family: 'Geist Mono', monospace; font-size: 0.7rem; color: rgba(255,255,255,0.45); margin-top: 0.4rem; min-height: 1em; }

/* Sprint AI — Implementation roadmap */
.rm-phase { margin-top: 1.2rem; background: rgba(13, 15, 20, 0.4); border: 1px solid rgba(255,255,255,0.07); }
.rm-phase-header { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.9rem; padding: 0.85rem 1.1rem; background: rgba(184,190,200,0.04); border-bottom: 1px solid rgba(255,255,255,0.07); }
.rm-phase-name { font-family: 'Cormorant Garant', Georgia, serif; font-size: 1.15rem; font-weight: 600; color: rgba(255,255,255,0.95); }
.rm-phase-window { font-family: 'Geist Mono', monospace; font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.rm-phase-count { font-family: 'Geist Mono', monospace; font-size: 0.7rem; color: rgba(255,255,255,0.5); margin-left: auto; }
.rm-table { width: 100%; border-collapse: collapse; }
.rm-table td { padding: 0.7rem 1.1rem; border-bottom: 1px solid rgba(255,255,255,0.04); vertical-align: top; font-size: 0.9rem; line-height: 1.55; color: rgba(255,255,255,0.85); }
.rm-table tr:last-child td { border-bottom: none; }
.rm-when { font-family: 'Geist Mono', monospace; font-size: 0.78rem; color: rgba(255,255,255,0.65); white-space: nowrap; width: 5.5rem; }
.rm-owner { font-family: 'Geist Mono', monospace; font-size: 0.74rem; letter-spacing: 0.04em; color: rgba(255,255,255,0.55); white-space: nowrap; width: 9rem; text-transform: capitalize; }
.rm-deliverable { font-size: 0.78rem; color: rgba(255,255,255,0.6); margin-top: 0.25rem; padding: 0.3rem 0.6rem; background: rgba(184,190,200,0.04); border-left: 2px solid rgba(184,190,200,0.35); display: inline-block; }
.rm-evidence { font-family: 'Geist Mono', monospace; font-size: 0.72rem; color: rgba(255,255,255,0.5); margin-top: 0.25rem; }
.rm-meta { font-family: 'Geist Mono', monospace; font-size: 0.72rem; color: rgba(255,255,255,0.5); text-align: right; margin-top: 0.7rem; }
@media (max-width: 720px) {
  .rm-table td { padding: 0.6rem 0.7rem; }
  .rm-when { width: 4.5rem; }
  .rm-owner { display: block; width: auto; padding-top: 0.2rem; }
}

/* ─── Print styles: A4 portrait, light theme, no chrome ─── */
@media print {
  @page { size: A4; margin: 18mm 16mm 18mm 16mm; }

  /* Hide everything that's not part of the plan content */
  .aurora, header[data-site-header], .nav, .progress-bar, .start-hero,
  .wizard, .agent-cta-grid, .share-row, .actions, .print-actions,
  .footer-inner, footer, .related-h0 { display: none !important; }

  /* Light theme override for print */
  body, .page, .start-shell, .result, .result-section { background: white !important; color: #1a1a1a !important; }
  .result-section { border-top: 1px solid #ccc !important; padding-top: 0.6cm !important; margin-top: 0.5cm !important; page-break-inside: avoid; }
  .result-section h3 { color: #1a1a1a !important; font-size: 14pt; margin-bottom: 0.2cm; page-break-after: avoid; }
  .result-section h4 { color: #333 !important; font-size: 12pt; margin: 0.4cm 0 0.2cm; page-break-after: avoid; }
  .result-section p { color: #333 !important; font-size: 10pt; line-height: 1.45; margin-bottom: 0.3cm; max-width: none; }
  .result-section .secondary-note, .secondary-note { color: #666 !important; font-size: 9pt; }

  /* Print-only header: logo + plan summary line + generated date */
  .print-header {
    display: block !important;
    border-bottom: 2pt solid #1a1a1a;
    padding-bottom: 0.4cm;
    margin-bottom: 0.6cm;
  }
  .print-header .ph-brand { font-family: 'Cormorant Garant', Georgia, serif; font-size: 14pt; font-weight: 700; color: #1a1a1a; }
  .print-header .ph-summary { font-size: 10pt; color: #444; margin-top: 0.15cm; }
  .print-header .ph-meta { font-family: 'Geist Mono', monospace; font-size: 8pt; color: #777; margin-top: 0.1cm; }

  /* Result hero: keep the headline tight */
  .result-hero { text-align: left !important; margin-bottom: 0.5cm !important; }
  .result-hero h2 { color: #1a1a1a !important; font-size: 18pt !important; }
  .result-hero p { color: #555 !important; font-size: 10pt !important; }

  /* Stats grid: print as a 4-column inline list */
  .result-stats, .tco-stats, .wc-stats { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0 !important; background: white !important; border: 1pt solid #999 !important; margin: 0.4cm 0 !important; }
  .result-stat { background: white !important; padding: 0.3cm 0.4cm !important; border-right: 1pt solid #ddd !important; }
  .result-stat:last-child { border-right: none !important; }
  .result-stat .num { color: #1a1a1a !important; font-size: 11pt !important; }
  .result-stat .label { color: #555 !important; font-size: 7pt !important; }
  .result-stat .sub { color: #777 !important; font-size: 6.5pt !important; }

  /* Tables: thin borders, condensed */
  .breakdown-table, .origin-matrix, .example-table { font-size: 8.5pt !important; }
  .breakdown-table td, .origin-matrix td, .origin-matrix th, .example-table td, .example-table th {
    padding: 4pt 6pt !important; color: #1a1a1a !important; border-color: #ccc !important;
  }
  .breakdown-table tr.total td, .origin-matrix tr.is-user td, .origin-matrix tr.is-cheapest td {
    background: #f4f4f4 !important; border-top: 1pt solid #999 !important;
  }
  .origin-matrix tbody tr.is-user { background: #f8f8f8 !important; }

  /* Callouts: light-theme-friendly */
  .trade-defence-callout, .preferential-callout, .compliance-card, .fx-callout, .origin-saving-callout, .doc-callout, .warn-callout {
    background: #fafafa !important; border-color: #999 !important; color: #1a1a1a !important;
    page-break-inside: avoid;
  }
  .trade-defence-callout .td-header, .preferential-callout .pref-header, .compliance-head .compliance-name, .fx-callout .fx-rec {
    color: #1a1a1a !important;
  }
  .trade-defence-callout .td-note, .compliance-status, .compliance-trigger, .compliance-dates, .compliance-note {
    color: #555 !important; font-size: 9pt !important;
  }
  .compliance-card.sev-high { border-left: 3pt solid #c95050 !important; }
  .compliance-card.sev-medium { border-left: 3pt solid #b89060 !important; }
  .compliance-card.sev-low { border-left: 3pt solid #999 !important; }
  .sev-badge.sev-high { background: #ffe0e0 !important; color: #802020 !important; }
  .sev-badge.sev-medium { background: #fff2dc !important; color: #6a4a10 !important; }
  .sev-badge.sev-low { background: #f0f0f0 !important; color: #444 !important; }

  /* Page breaks before major sections so each starts cleanly */
  .result-section.page-break-before { page-break-before: always; }

  /* Make links readable: show URL in parens */
  a, a:visited { color: #1a1a1a !important; text-decoration: underline; }
  .compliance-link::after, .related-list a::after { content: " (" attr(href) ")"; font-size: 7.5pt; color: #777; }

  /* Verdict line */
  .verdict-line { color: #1a1a1a !important; background: #f4f4f4 !important; border-color: #999 !important; font-size: 10pt !important; }

  /* Annotations and footnotes */
  .as-of-footer { color: #888 !important; font-size: 8pt !important; }
}
