/* SilverSteel brand system. Content stays solid; translucency belongs to navigation. */
:root {
 --brand-navy:#071A2B;--brand-teal:#00A6A6;--brand-silver:#B8C2CC;
 --ink:#202A33;--muted:#56636E;--line:#B8C2CC;--surface:#FFFFFF;--surface-alt:#F6F8FA;
 --cavalry:#087A7D;--cavalry-deep:#071A2B;--signal:#00A6A6;--radius:18px;
 --chart-actual:#56636E;--chart-forecast:#087A7D;
 --sst-navy:#071A2B;--sst-teal:#087A7D;--sst-silver:#B8C2CC;--sst-pearl:#F6F8FA;--sst-slate:#56636E;
}
:root[data-theme="black-glass"] {
 --ink:#FFFFFF;--muted:#B8C2CC;--line:#29495C;--surface:#071A2B;--surface-alt:#04111D;
 --cavalry:#21D4C2;--cavalry-deep:#FFFFFF;--signal:#21D4C2;--cavalry-soft:#102D40;
 --chart-actual:#B8C2CC;--chart-forecast:#21D4C2;
}
body {background:var(--surface-alt);color:var(--ink);}
h1,h2,h3 {letter-spacing:-.035em;line-height:1.12;}
h1 {font-size:clamp(2.5rem,5vw,4.75rem);}
h2 {font-size:clamp(1.8rem,3vw,2.8rem);}
p {max-width:72ch;}
:root[data-theme="black-glass"] body,:root[data-theme="black-glass"] .dashboard-page {background:#04111D;color:var(--ink);}
body::before {display:none;}
.site-header,:root[data-theme="black-glass"] .site-header {background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--line);backdrop-filter:blur(20px);box-shadow:none;}
.hero,:root[data-theme="black-glass"] .hero {background:linear-gradient(135deg,#04111D,#102D40);color:#FFFFFF;min-height:650px;padding-block:100px;}
.hero h1 {color:#FFFFFF;max-width:760px;}
.hero .lead {color:#B8C2CC;}
.hero .eyebrow {color:#21D4C2;}
.hero-grid {grid-template-columns:1.2fr .8fr;gap:64px;}
.hero .button {background:#00A6A6;color:#04111D;border-color:#00A6A6;}
.hero .button.secondary {background:transparent;color:#FFFFFF;border-color:#29495C;}
.button {border-radius:999px;background:#087A7D;border-color:#087A7D;color:#FFFFFF;box-shadow:none;min-height:48px;}
:root[data-theme="black-glass"] .button {background:#00A6A6;color:#04111D;border-color:#00A6A6;}
.button.secondary,:root[data-theme="black-glass"] .button.secondary {background:transparent;color:var(--ink);border-color:var(--line);}
.hero .button.secondary {color:#FFFFFF;}
.section.alt,.page-hero,:root[data-theme="black-glass"] .page-hero {background:var(--surface-alt);}
.card,.contact-card,.access-panel,.dashboard-panel,.stat-card,
:root[data-theme="black-glass"] .card,:root[data-theme="black-glass"] .contact-card,
:root[data-theme="black-glass"] .access-panel,:root[data-theme="black-glass"] .dashboard-panel,
:root[data-theme="black-glass"] .stat-card {background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:none;backdrop-filter:none;}
.brand-mark {box-shadow:none;background-size:contain;border-radius:0;}
.site-footer,:root[data-theme="black-glass"] .site-footer {background:#071A2B;color:#B8C2CC;border-top:1px solid #29495C;}
.site-footer a,:root[data-theme="black-glass"] .site-footer a {color:#FFFFFF;}
.dashboard-sidebar,:root[data-theme="black-glass"] .dashboard-sidebar {background:var(--surface);border-color:var(--line);box-shadow:none;}
.sidebar-nav .sidebar-icon {color:var(--ink);}
.sidebar-nav .sidebar-icon.is-active {background:#DFF3F1;color:#087A7D;}
:root[data-theme="black-glass"] .sidebar-nav .sidebar-icon.is-active {background:#102D40;color:#21D4C2;}
.dashboard-top h1 {font-size:clamp(2rem,3vw,3rem);}
.dashboard-panel h2,.account-view h2 {font-size:1.6rem;}
.account-view p,.aztrix-note,.aztrix-status {color:var(--muted);}
.forecast-explorer {border:0;padding:0;margin-top:24px;}
.forecast-explorer canvas {--chart-actual:#56636E;--chart-forecast:#087A7D;}
:root[data-theme="black-glass"] .forecast-explorer canvas {--chart-actual:#B8C2CC;--chart-forecast:#21D4C2;}
.graph-legend span:first-child {color:var(--chart-actual);}
.graph-legend span:last-child {color:var(--chart-forecast);}
.graph-periods,.aztrix-tabs {background:var(--surface-alt);padding:4px;border-radius:14px;gap:4px;}
.graph-periods button,.aztrix-tabs button {border:0;border-radius:10px;color:var(--muted);}
.graph-periods button[aria-pressed="true"],.aztrix-tabs button[aria-pressed="true"] {background:var(--surface);color:var(--cavalry);box-shadow:0 1px 5px #0002;}
.aztrix-forecasts>div {background:var(--surface-alt);border:1px solid var(--line);border-radius:16px;}
input,select {accent-color:var(--cavalry);}
:focus-visible {outline:3px solid var(--cavalry);outline-offset:4px;}
.product-preview {padding:36px;border:1px solid #29495C;border-radius:28px;background:#071A2B;color:#FFFFFF;}
.product-preview h2 {font-size:2rem;color:#FFFFFF;}
.product-preview p {color:#B8C2CC;}
.product-preview ol {padding:0;list-style:none;display:grid;gap:20px;margin-top:36px;}
.product-preview li {padding-top:18px;border-top:1px solid #29495C;display:grid;gap:4px;}
.product-preview li span {color:#B8C2CC;font-size:.9rem;}
.product-preview .preview-label {color:#21D4C2;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;}
@media(max-width:800px){.hero-grid {grid-template-columns:1fr;gap:36px;}.hero {padding-block:64px;}.product-preview {padding:24px;}.nav-wrap {gap:12px;}.dashboard-top h1 {font-size:2rem;}}
@media(prefers-reduced-motion:reduce){html {scroll-behavior:auto;}*,*::before,*::after {animation:none!important;transition:none!important;}}
@media(prefers-reduced-transparency:reduce){.site-header,:root[data-theme="black-glass"] .site-header {background:var(--surface);backdrop-filter:none;}}
/* Theme the transparent approved artwork without a background plate. */
.brand-mark,.dashboard-brand .brand-mark {
 background-image:url('silversteel-arc.png');background-size:contain;background-position:center;
 background-repeat:no-repeat;box-shadow:none;filter:none;
}
:root[data-theme="black-glass"] .brand-mark,:root[data-theme="black-glass"] .dashboard-brand .brand-mark {filter:invert(1) hue-rotate(180deg);}
@media(max-width:600px){
 .dashboard-top {display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;}
 .dashboard-status {grid-column:1/-1;text-align:left;}
 .dashboard-brand .brand-mark {width:40px;height:40px;}
 .stat-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .stat-card {padding:16px;min-height:138px;}
 .stat-card strong {font-size:1.5rem;}
 .stat-card span {font-size:.65rem;}
 .stat-card small {font-size:.72rem;}
 .aztrix-forecasts {grid-template-columns:repeat(2,minmax(0,1fr));}
}

.brand-wordmark {display:block;width:240px;max-width:100%;height:auto;object-fit:contain;}
:root[data-theme="black-glass"] .brand-wordmark {filter:invert(1) hue-rotate(180deg);background:transparent;padding:0;border-radius:0;}
.skip-link {position:fixed;left:16px;top:-100px;z-index:1000;background:#F6F8FA;color:#071A2B;padding:12px 18px;border:2px solid #087A7D;border-radius:12px;}
.skip-link:focus {top:12px;}
.policy-links {display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:24px;font-size:.85rem;}
.policy-links a {color:inherit;text-underline-offset:4px;}
.policy-main {max-width:880px;margin:auto;padding:64px 24px;}
.policy-section {margin-top:36px;}
.policy-section h2 {font-size:1.4rem;}
.policy-section p {color:var(--muted);line-height:1.8;}
.policy-section a,.form-help a,.consent-choice a {color:var(--cavalry);text-decoration:underline;text-underline-offset:3px;}
.policy-version,.form-help {color:var(--muted);font-size:.9rem;}
.consent-choice {display:flex;align-items:flex-start;gap:12px;line-height:1.6;font-size:.9rem;}
.consent-choice input {width:22px;height:22px;min-width:22px;margin:3px 0;}
input::placeholder,textarea::placeholder {color:var(--muted);opacity:1;}
input,textarea,select {font-size:16px;}
[role="status"]:empty {display:none;}
@media(max-width:600px){.brand-wordmark {width:210px;}.policy-links {justify-content:flex-start;padding:20px 16px;}}

/* Clear hierarchy, comfortable controls, and stable layouts across input methods. */
html {scroll-padding-top:120px;scrollbar-gutter:stable;}
body {line-height:1.6;}
.site-header nav a,.theme-toggle,.sidebar-nav a {min-height:44px;display:inline-flex;align-items:center;}
button,input,select,textarea {font:inherit;}
button:disabled,.button[aria-disabled="true"] {cursor:default;opacity:.65;}
input,select,textarea {min-height:44px;}
input[type="checkbox"],input[type="radio"] {min-height:22px;}
.card,.contact-card,.dashboard-panel {overflow-wrap:anywhere;}
.stat-card strong,.aztrix-forecasts strong {font-variant-numeric:tabular-nums;}
.policy-main {line-height:1.75;}
.policy-section + .policy-section {padding-top:24px;border-top:1px solid var(--line);}
@media(hover:hover){.site-header nav a:hover {background:var(--surface-alt);}.button:hover {text-decoration:none;}}
@media(max-width:600px){
 .hero,:root[data-theme="black-glass"] .hero {min-height:0;padding-block:48px;}
 .hero-grid {gap:28px;}
 .nav-wrap {padding-block:16px;}
 .site-header nav {gap:4px;}
 .site-header nav a {padding:8px 10px;}
 .policy-main {padding:36px 20px;}
}

.health-import {margin-block:24px;max-width:900px;}.health-import form {display:grid;gap:12px;margin-top:20px;}.health-import button {justify-self:start;}.health-import input[type=file] {width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;}.health-import progress {width:100%;accent-color:var(--cavalry);}.health-import summary {cursor:pointer;min-height:44px;padding-block:10px;}

.health-import input::file-selector-button {font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 14px;margin-right:12px;cursor:pointer;}

/* Quiet, accessible import controls in both SilverSteel themes. */
.health-import {border-radius:24px;}
.health-import h2 {letter-spacing:-.025em;}
.health-import input[type=file] {background:var(--surface);color:var(--ink);min-height:48px;box-sizing:border-box;}
.health-import input[type=file]:focus-visible,.health-import summary:focus-visible {outline:3px solid var(--cavalry);outline-offset:4px;}
.health-import button {min-height:48px;max-width:100%;white-space:normal;}
.health-import button:disabled {cursor:wait;opacity:.8;}
.health-import progress {height:8px;border-radius:999px;overflow:hidden;}
.health-import [role=status]:empty {display:none;}
.health-import [role=status] {line-height:1.6;overflow-wrap:anywhere;}
@media (max-width:600px) {.health-import button {width:100%;justify-self:stretch;}.health-import {border-radius:18px;}}
