/* Fitness Age / Alphatek website tokens. Source recorded in docs/platform-assets.json. */
:root {
  --bg: #0a0a0c;
  --surface: #19191b;
  --surface-soft: rgba(255,255,255,.05);
  --border: #373739;
  --text: #fff;
  --muted: #a1a1a3;
  --accent: #85ffb6;
  --accent-hover: #b9ffd4;
  --accent-soft: #1a3024;
  --green: #85ffb6;
  --brand-mesh: linear-gradient(0deg,rgba(0,0,0,.5),rgba(0,0,0,.5)),
    radial-gradient(137.63% 79.91% at 29.77% 95.71%,#272313 0%,#1a3024 36.98%,#351111 66.15%,#131630 100%);
}
body { background:var(--bg); }
button.primary, a.button.primary, .payment-switch button.active { color:var(--bg); }
button.primary:hover:not(:disabled), a.button.primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.ux-demo { background:var(--surface); color:var(--muted); border-color:var(--border); }
.ux-demo-tools details>div { background:var(--surface); }
.customer-header { padding-block:22px; }
.customer-logo { display:flex; flex-direction:column; align-items:flex-start; flex:none; }
.customer-logo img { display:block; width:155px; height:auto; }
.customer-logo span { margin:7px 0 0; font-size:9px; letter-spacing:2.1px; }
.footer-brand { display:flex; align-items:center; gap:20px; }
.footer-brand img { display:block; width:100px; height:auto; }
.brand img { display:block; width:145px; height:auto; }
.brand-sub { margin-left:0; }
.mobile-brand img { vertical-align:middle; }
.customer-main { max-width:1440px; }
.customer-heading { margin-bottom:32px; }
.customer-heading h1 { color:var(--text); }
.explorer { gap:48px; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); }
.product-stage { background:var(--brand-mesh); color:var(--text); border:1px solid rgba(255,255,255,.12); }
.stage-label { color:var(--text); letter-spacing:.9px; font-size:12px; padding:22px 24px; }
.stage-label button { color:var(--text); border-color:rgba(255,255,255,.3); font-size:12px; }
.stage-label button:hover { background:rgba(255,255,255,.08); }
.stage-image { height:415px; padding:24px 32px; background:rgba(255,255,255,.065); filter:drop-shadow(0 18px 16px #0008); }
.stage-bottom { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; border-color:rgba(255,255,255,.12); padding:21px 24px 18px; }
.stage-bottom span { color:var(--muted); font-size:13px; }
.stage-bottom strong { color:var(--text); font-size:27px; font-weight:300; }
.stage-bottom strong small { font-size:15px; color:var(--muted); }
.stage-caption { color:#e0e0e0; font-size:14px; line-height:1.55; padding:0 24px 22px; }
.stage-ar { display:block; padding:17px 24px; color:var(--accent); font-size:15px; text-decoration:none; border-top:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); }
.stage-ar>span { float:right; }
.stage-ar>small { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.stage-ar:hover { background:rgba(255,255,255,.08); }
.choice-intro { display:block; }
.choice-intro h2 { font-size:31px; line-height:1.12; }
.choice-intro p { font-size:14px; color:var(--muted); margin:8px 0 22px; }
.payment-switch { background:var(--surface); border-color:var(--border); }
.price-column-labels { padding-top:19px; }
.model-row { min-height:81px; padding:13px 15px; gap:14px; border-color:var(--border); }
.model-row:hover { background:var(--surface-soft); }
.model-row.selected { background:rgba(133,255,182,.06); border-color:var(--accent); box-shadow:inset 3px 0 0 var(--accent); }
.model-row.selected+.model-row { border-top-color:var(--accent); }
.model-row-name { gap:13px; min-width:0; }
.model-row-name>span:last-child { min-width:0; }
.model-row-name strong { font-size:19px; line-height:1.14; }
.model-row-name small { font-size:12px; white-space:nowrap; }
.model-thumb { display:block; width:44px; height:52px; object-fit:contain; flex:none; }
.model-row-price { flex:none; }
.model-row-price strong { font-size:19px; }
.model-row-price small { font-size:12px; }
.model-row[data-inspect="mini-plus-wall"] .model-row-name strong { max-width:145px; }
.selected-cost { padding-top:20px; }
.selected-cost strong { color:var(--text); }
.market-message { background:var(--accent-soft); }
.configured-heading>img,.case-equipment img,.accessory-image { background:var(--surface); }
.accessory-image { background:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),var(--brand-mesh); }
.accessory-card,.case-next { background:var(--surface-soft); }
.customer-cost { background:var(--surface); border-color:var(--border); }
.mobile-cost,.product-mobile-action { background:var(--surface); border-color:var(--border); }
.mobile-cost a { color:var(--bg); }
.summary { background:var(--surface); }
.notice { color:#e0e0e0; background:var(--surface-soft); border-color:var(--border); }
.nav-item.active,.plan.active,.avatar { background:rgba(133,255,182,.06); }
.render-stage { background:var(--brand-mesh); border:1px solid rgba(255,255,255,.12); }
.render-large { background:rgba(255,255,255,.06); margin:0; height:min(45vh,390px); padding:25px; }
.render-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0; }
.render-specs dt { font-size:13px; color:var(--muted); }
.render-specs dd { margin:4px 0 0; font-size:24px; font-weight:300; }
.render-source { margin:8px 0 12px; font-size:15px; }
@media(min-width:1500px) { .stage-image { height:435px; } }
@media(max-width:1150px) {
 .explorer { gap:28px; }
 .model-thumb { width:35px; height:48px; }
 .model-row-name { gap:10px; }
 .model-row-name strong,.model-row-price strong { font-size:17px; }
 .model-row { padding:13px 12px; }
 .model-row-price small { max-width:145px; }
 .stage-image { height:395px; }
 .choice-intro h2 { font-size:28px; }
}
@media(min-width:601px) and (max-width:850px) {
 .explorer { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); }
 .model-row { flex-direction:row; align-items:center; }
 .model-thumb { display:none; }
 .model-row-name { width:auto; }
 .model-row-name>span:last-child { display:block; }
 .model-row-price { padding-left:0; text-align:right; }
 .model-row-price small { max-width:130px; }
 .stage-image { height:360px; padding:20px; }
 .stage-bottom { padding:18px; gap:8px; }
 .stage-bottom strong { font-size:21px; }
 .stage-label { flex-wrap:wrap; padding:18px; }
 .choice-intro h2 { font-size:25px; }
}
@media(max-width:600px) {
 .customer-header { padding-top:18px; padding-bottom:0; }
 .customer-logo img { width:133px; }
 .customer-logo span { font-size:8px; margin-top:6px; }
 .customer-main { padding-top:26px; }
 .customer-heading h1 { font-size:33px; }
 .explorer { gap:24px; }
 .choice-intro { display:none; }
 .model-row { min-height:79px; padding:12px 10px; gap:9px; }
 .model-row-name { gap:9px; }
 .model-radio { width:12px; height:12px; }
 .selected .model-radio { border-width:3px; }
 .model-thumb { width:31px; height:43px; }
 .model-row-name strong,.model-row-price strong { font-size:16px; }
 .model-row-name small,.model-row-price small { font-size:12px; }
 .model-row-price small { max-width:141px; line-height:1.35; }
 .model-row[data-inspect="mini-plus-wall"] .model-row-name strong { max-width:113px; }
 .stage-image { height:300px; padding:22px; }
 .stage-label { padding:17px 20px; }
 .stage-bottom { padding:19px 20px 15px; gap:10px; }
 .stage-bottom strong { font-size:25px; }
 .stage-caption { padding:0 20px 20px; }
 .stage-ar { padding:17px 20px; }
 .product-mobile-action strong { font-size:18px; }
 .product-mobile-action small { font-size:12px; max-width:180px; }
 .product-mobile-action button { max-width:145px; padding:11px 14px; line-height:1.25; }
 .footer-brand { gap:16px; font-size:12px; }
 .render-specs dd { font-size:22px; }
 .render-large { height:300px; }
}
@media(max-width:370px) {
 .model-thumb { display:none; }
 .model-row-name strong,.model-row-price strong { font-size:15px; }
 .model-row-price small { max-width:127px; }
 .payment-switch button { font-size:13px; }
}

/* Customer controls follow the public AX website. The workspace has its own theme. */
html[data-surface=customer] .customer-header nav a {
 color:#e0e0e0;
 font-size:14px;
 line-height:22px;
 letter-spacing:.4px;
}
html[data-surface=customer] .customer-header nav a:hover,
html[data-surface=customer] .customer-header nav a[aria-current=page] {
 color:var(--accent);
}
html[data-surface=customer] .payment-switch {
 background:transparent;
 border-color:var(--border);
 border-radius:0;
}
html[data-surface=customer] .payment-switch button {
 min-height:48px;
 min-width:0;
 padding:8px 12px;
 border:0;
 border-radius:0;
 color:var(--muted);
 background:transparent;
 font-size:14px;
 line-height:16px;
 letter-spacing:.4px;
 white-space:normal;
}
html[data-surface=customer] .payment-switch button:hover:not(:disabled) {
 background:rgba(255,255,255,.05);
 color:var(--text);
}
html[data-surface=customer] .payment-switch button.active,
html[data-surface=customer] .payment-switch button.active:hover:not(:disabled) {
 background:rgba(255,255,255,.05);
 color:var(--accent);
}
html[data-surface=customer] :is(.customer-app button.primary,.customer-app a.button,.customer-app .mobile-cost a,.customer-app .case-documents>button,:where(#modal) .actions>button:not(.close-dialog),:where(#modal) button.primary) {
 display:inline-flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 min-height:48px;
 height:auto;
 max-width:100%;
 padding:8px 22px;
 border-radius:0;
 font-family:Nimbus,'Helvetica Neue',Helvetica,Arial,sans-serif;
 font-size:14px;
 line-height:18px;
 letter-spacing:.4px;
 text-align:left;
 white-space:normal;
 overflow-wrap:anywhere;
}
html[data-surface=customer] :is(.customer-app button.primary,.customer-app a.button.primary,.customer-app .mobile-cost a,:where(#modal) button.primary) {
 background:var(--accent);
 border-color:var(--accent);
 color:#0a0a0c;
}
html[data-surface=customer] :is(.customer-app button.primary,.customer-app a.button.primary,.customer-app .mobile-cost a,:where(#modal) button.primary):hover:not(:disabled) {
 background:color-mix(in srgb,var(--accent) 78%,#fff);
 border-color:color-mix(in srgb,var(--accent) 78%,#fff);
 color:#0a0a0c;
}
html[data-surface=customer] :is(.customer-app a.button:not(.primary),.customer-app .case-documents>button,:where(#modal) .actions>button:not(.primary):not(.close-dialog)) {
 border:1px solid var(--border);
 background:transparent;
 color:var(--text);
}
html[data-surface=customer] :is(.customer-app a.button:not(.primary),.customer-app .case-documents>button,:where(#modal) .actions>button:not(.primary):not(.close-dialog)):hover:not(:disabled) {
 border-color:var(--muted);
 background:rgba(255,255,255,.05);
}
html[data-surface=customer] .stage-caption,
html[data-surface=customer] .accessory-content p {
 font-size:15px;
 line-height:22px;
}
@media(max-width:767px) {
 html[data-surface=customer] .payment-switch button,
 html[data-surface=customer] :is(.customer-app button.primary,.customer-app a.button,.customer-app .mobile-cost a,.customer-app .case-documents>button,:where(#modal) .actions>button:not(.close-dialog),:where(#modal) button.primary) {
  min-height:56px;
 }
 html[data-surface=customer] .product-mobile-action button {
  padding-inline:14px;
 }
}
@media(max-width:600px) {
 html[data-surface=customer] .customer-app .has-mobile-product .choose-model {
  display:none;
 }
}

/* Keep spacing intentional after removing explanatory portal copy. */
.model-choices .choice-intro { margin-bottom:22px; }
.model-choices .choose-model { margin-top:24px; }
.explorer .explorer-terms { margin:18px 0 0; }
@media(max-width:600px) {
 .explorer .explorer-terms { order:3; margin:0; }
}

.explorer .portal-tax-note {
 margin:8px 0 0;
 color:var(--muted);
 font-size:12px;
 line-height:18px;
}
@media(max-width:600px) {
 .explorer .portal-tax-note { order:1; width:100%; margin:-16px 0 0; }
}
