:root { color-scheme: light; --ink: #171717; --muted: #555; --accent: #cf361c; --border: #ddd; }
.customer-main.analysis-main { max-width: 1440px; }
.analysis-main:has(#analysis-panel:not([hidden])) #account-panel { padding: 1rem 1.5rem; }
.analysis-main:has(#analysis-panel:not([hidden])) #account-message, .analysis-main:has(#analysis-panel:not([hidden])) #account-panel > p:last-child { display:none; }
.analysis-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 1.5rem 0; }
.analysis-metrics > div { background: #f4f5f5; padding: 1rem; border-radius: 8px; }
.analysis-metrics span { display: block; color: #555; font-size: .875rem; }
.analysis-metrics strong { display: block; font-size: 1.5rem; }
.scenario-grid, .register-filters { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.register-filters { margin-bottom: 1rem; }
#register-body input[type=checkbox], .check-label input { width: 24px; height: 24px; min-height: 24px; }
#register-body td:nth-child(2) { min-width: 230px; }
#register-body td { min-width: 120px; }
#register-body td:first-child { min-width: 65px; }
summary { cursor: pointer; font-weight: 600; }
#scenario-result { border-left: 3px solid #17333b; padding-left: 1rem; margin-top: 1rem; }
.check-label { display: flex; gap: .75rem; align-items: flex-start; }
@media(max-width:700px) { .analysis-metrics {grid-template-columns:repeat(2,1fr);} .scenario-grid,.register-filters {grid-template-columns:1fr;} }
* { box-sizing: border-box; }
body { margin: 0; background: #fafafa; color: var(--ink); font: 1rem/1.6 system-ui, sans-serif; }
a { color: inherit; text-underline-offset: .2em; }
button, input, select { font: inherit; }
textarea {font:inherit;padding:.75rem;border:1px solid #888;border-radius:6px;width:100%;}
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #0659ae; outline-offset: 3px; }
[hidden] { display: none !important; }
.customer-header { background: #0d0d0d; color: white; padding: 1.25rem max(1.25rem, calc((100vw - 1120px)/2)); display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
.customer-brand { font-size: 1.5rem; font-weight: 750; text-decoration: none; letter-spacing: -.03em; }
.customer-brand span { color: #ff7158; }
.customer-header > a:last-child { font-size: .9375rem; }
.customer-main { max-width: 720px; margin: 3rem auto 4rem; padding: 0 1.25rem; }
.customer-main.admin-main { max-width: 1120px; }
.eyebrow { color: var(--accent); font-weight: 700; font-size: .875rem; letter-spacing: .07em; text-transform: uppercase; }
h1 { font-size: clamp(1.8rem, 5vw, 2.75rem); line-height: 1.15; letter-spacing: -.03em; margin: .5rem 0 1.5rem; }
h2 { font-size: 1.3rem; line-height: 1.3; margin: 0 0 .75rem; }
.panel { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--border); border-radius: 12px; background: white; margin: 1.5rem 0; }
.panel > p { margin-top: .75rem; }
form { display: flex; flex-direction: column; gap: .65rem; }
label { font-weight: 600; font-size: .9375rem; margin-top: .5rem; }
input, select { border: 1px solid #888; border-radius: 6px; background: white; color: var(--ink); padding: .65rem .75rem; min-height: 46px; width: 100%; min-width: 0; }
button { border: 1px solid transparent; background: var(--accent); color: white; border-radius: 6px; padding: .7rem 1.2rem; font-weight: 650; min-height: 44px; cursor: pointer; align-self: flex-start; margin-top: 1rem; }
button:hover { background: #ac2811; }
button:disabled { opacity: .6; cursor: wait; }
button.quiet { color: var(--ink); background: white; border-color: #888; margin-top: 0; }
button.quiet:hover { background: #eee; }
.secondary { font-size: .875rem; color: var(--muted); }
.notice { padding: 1rem; background: #f0f0f0; border-left: 4px solid #777; overflow-wrap: anywhere; }
.notice.error { background: #fff0ed; border-color: var(--accent); }
.panel-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.account-details { margin: 1.5rem 0; }
.account-details > div { display: grid; grid-template-columns: 11rem 1fr; padding: .75rem 0; border-bottom: 1px solid #eee; gap: 1rem; }
dt { color: var(--muted); } dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.customer-footer { max-width: 1120px; padding: 1.5rem 1.25rem; margin: auto; border-top: 1px solid var(--border); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .875rem; color: var(--muted); }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.admin-grid .panel { margin: 0; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; font-size: .9375rem; }
th, td { padding: .75rem; border-bottom: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; }
td button { font-size: .875rem; margin: .25rem .25rem .25rem 0; }
.link-result { padding: 1rem; border: 1px solid #888; border-radius: 6px; overflow-wrap: anywhere; }
.link-result input { margin-top: .5rem; font-size: .875rem; }
@media(max-width: 700px) { .admin-grid { grid-template-columns: 1fr; } .account-details > div { grid-template-columns: 1fr; gap: .25rem; } .customer-main { margin-top: 2rem; } }
/* Personal analysis workspace: the report palette also guides the portal. */
.analysis-main { --ink:#20333f; --muted:#617687; --accent:#b75027; --border:#dce5eb; }
.workspace-nav { display:flex;gap:.35rem;padding:.4rem;background:#eaf1f5;border-radius:12px;flex-wrap:wrap;margin:1.5rem 0; }
.workspace-nav button { margin:0;background:transparent;color:#19384c;flex:1; }
.workspace-nav button[aria-current] { background:#19384c;color:white; }
.overview-hero { background:#19384c;color:white;padding:clamp(1.5rem,4vw,2.5rem);border-radius:16px; }
.overview-hero .eyebrow { color:#f5b290; }
.overview-hero h2 { font-size:clamp(1.6rem,3vw,2.2rem);max-width:700px; }
.overview-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0; }
.overview-metrics > div { border-left:2px solid #719caf;padding:0 1.1rem; }
.overview-metrics span { display:block;color:#d0e0e8;font-size:.875rem; }
.overview-metrics strong { display:block;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.04em; }
.overview-grid { display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem; }
.overview-grid .panel { margin-bottom:0;min-width:0; }
#overview-chart svg { width:100%;height:auto;display:block;margin-top:1.5rem; }
.geography-row { display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border-bottom:1px solid #eaf1f5;font-size:.9rem; }
.geography-row strong { white-space:nowrap; }
.geography-row.own { background:#fbeddf;color:#83350e;font-weight:700; }
#geography-list details { margin-top:1rem; }
.overview-actions { display:flex;align-items:center;gap:1rem;flex-wrap:wrap; }
.overview-actions > div { flex:1;min-width:220px; }
.overview-actions button { margin:0; }
.report-panel { border-top:4px solid #719caf; }
@media(max-width:800px) { .overview-grid { grid-template-columns:1fr;gap:0; } }
@media(max-width:500px) { .overview-metrics {grid-template-columns:1fr;} .workspace-nav button {flex-basis:40%;} .geography-row {padding:.5rem 0;} }
.analysis-main:has(#analysis-panel:not([hidden])) { margin-top:1.5rem; }
.analysis-main:has(#analysis-panel:not([hidden])) > .eyebrow { margin-bottom:.3rem; }
.analysis-main:has(#analysis-panel:not([hidden])) > h1 { font-size:1.7rem;margin-bottom:.5rem; }
.analysis-main:has(#analysis-panel:not([hidden])) #status:not(.error) { display:none; }
.analysis-main:has(#analysis-panel:not([hidden])) #account-panel { padding:.8rem 1.2rem;margin:1rem 0; }
.analysis-main:has(#analysis-panel:not([hidden])) #account-panel .panel-top { float:right; }
.analysis-main:has(#analysis-panel:not([hidden])) #account-heading { display:none; }
.analysis-main:has(#analysis-panel:not([hidden])) #account-panel details { min-height:44px;padding-top:.4rem; }

/* Commercial offer cards: responsive and accessible without additional scripts. */
.offer-main { max-width: 1020px; }
.offer-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem; }
.offer-cards .panel { margin: .8rem 0;display:flex;flex-direction:column; }
.offer-cards a { margin-top:auto;align-self:flex-start;font-weight:700; }
.offer-price { font-size:.9rem;color:#546878; }
.offer-price strong { font-size:clamp(1.7rem,3vw,2.2rem);color:#19384c;letter-spacing:-.04em; }
@media(max-width:700px) { .offer-cards { grid-template-columns:1fr; } }

/* Voluntary normal-object priority question: never block account or analysis. */
.priority-panel{border-color:#b9ced6;background:#f9fcfd}
.priority-panel p{max-width:77ch}
.priority-fieldset{border:1px solid #cbd9e1;border-radius:8px;padding:12px 16px;display:flex;gap:14px;flex-wrap:wrap}
.priority-fieldset legend{font-size:.9375rem;font-weight:700;padding:0 8px}
.priority-fieldset label{display:inline-flex;gap:8px;align-items:center;margin:0;cursor:pointer;min-width:100px}
.priority-fieldset input[type=radio]{width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:0}
.priority-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.priority-actions button{margin-top:8px}
.priority-panel #priority-change{margin-top:12px}
@media(max-width:600px){.priority-fieldset{flex-direction:column;align-items:stretch}.priority-actions button{width:100%;align-self:stretch}}

/* REGION-03 – dataversioned rescue-region compare and export tab. */
.region-exports{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.region-exports button{margin-top:0}
#regional-rows td:first-child{min-width:220px}
#regional-rows td:last-child{min-width:280px}
#regional-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
#regional-meta{overflow-wrap:anywhere}
@media(max-width:750px){#regional-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.region-exports button{flex:1 1 100%}}
