:root {
	--navy-950: #0f2038;
	--navy-800: #173257;
	--teal-600: #2e8c86;
	--teal-500: #3da79e;
	--teal-100: #e6f3f1;
	--amber-500: #c4801f;
	--amber-100: #fbeedc;
	--paper: #f6f5f1;
	--card: #fff;
	--line: #e4e2db;
	--ink-900: #182226;
	--ink-600: #5a6469;
	--ink-400: #8b9296;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	background: #dcd9d0;
	font-family: Inter, system-ui, sans-serif;
	color: var(--ink-900);
}

body.apx-one-body {
	min-height: 100vh;
}

.apx-one-app {
	max-width: 480px;
	margin: 0 auto;
	min-height: 100vh;
	background: var(--paper);
	box-shadow: 0 0 0 1px rgba(15, 32, 56, 0.06), 0 30px 60px rgba(15, 32, 56, 0.12);
}

@media (min-width: 860px) {
	.apx-one-app { max-width: 560px; margin: 24px auto 40px; border-radius: 20px; overflow: hidden; }
}

.nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 20px;
	border-bottom: 1px solid var(--line);
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 5;
}

.brand { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.brand-mark { width: 24px; height: 24px; border-radius: 6px; background: var(--navy-950); }
.brand-name { font-family: Newsreader, Georgia, serif; font-size: 14px; color: var(--navy-950); font-weight: 500; }
.brand-name span { color: var(--teal-600); }

.nav-links { display: flex; gap: 12px; align-items: center; }
.nav-links a {
	font-size: 12px;
	font-weight: 600;
	color: var(--ink-600);
	text-decoration: none;
	padding: 5px 0;
	border-bottom: 2px solid transparent;
}
.nav-links a.active { color: var(--navy-950); border-bottom-color: var(--teal-600); }
.nav-links a.nav-account { font-size: 16px; border: 0; }

.lp-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 20px;
	background: #fff;
	border-bottom: 1px solid var(--line);
}
.lp-nav .brand { pointer-events: none; }
.lp-offer { font-size: 11px; color: var(--ink-400); }
.urgency-bar {
	background: var(--amber-100);
	color: #7a5419;
	font-size: 12.5px;
	font-weight: 600;
	text-align: center;
	padding: 9px 16px;
}

.hero { padding: 26px 22px 30px; background: #fff; }
.eyebrow { font-size: 11.5px; font-weight: 700; color: var(--teal-600); letter-spacing: 0.04em; margin-bottom: 10px; }
.h1 { font-family: Newsreader, Georgia, serif; font-size: 32px; font-weight: 500; color: var(--navy-950); line-height: 1.15; margin: 0 0 14px; }
.h1 em { font-style: italic; color: var(--teal-600); }
.hero-sub { font-size: 15px; line-height: 1.55; color: var(--ink-600); margin: 0 0 22px; }

.btn-primary, .btn-secondary, .btn-disabled, .panel-btn {
	display: block;
	text-align: center;
	font-weight: 700;
	text-decoration: none;
	border-radius: 12px;
}
.btn-primary { background: var(--teal-600); color: #fff; font-size: 15px; padding: 15px 0; margin-bottom: 10px; border: 0; width: 100%; cursor: pointer; font-family: inherit; }
.btn-secondary { border: 1.5px solid var(--line); color: var(--navy-950); font-size: 15px; padding: 14px 0; margin-bottom: 10px; background: #fff; }
.btn-disabled { background: var(--line); color: var(--ink-400); font-size: 15px; padding: 15px 0; margin-bottom: 6px; }

.trust-row { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 6px; }
.trust-item { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink-600); }
.check-dot {
	width: 16px; height: 16px; border-radius: 50%;
	background: var(--teal-100); color: var(--teal-600);
	display: flex; align-items: center; justify-content: center;
	font-size: 9px; flex-shrink: 0;
}

.section { padding: 28px 22px; }
.section.alt { background: #fff; }
.section-eyebrow { font-size: 11.5px; font-weight: 700; color: var(--teal-600); letter-spacing: 0.04em; margin-bottom: 8px; }
.section-title { font-family: Newsreader, Georgia, serif; font-size: 22px; font-weight: 500; color: var(--navy-950); line-height: 1.25; margin: 0 0 10px; }
.section-body { font-size: 14px; line-height: 1.55; color: var(--ink-600); margin: 0 0 16px; }
.link-more { font-size: 13px; font-weight: 700; color: var(--teal-600); text-decoration: none; }

.how-step { display: flex; gap: 14px; padding: 12px 0; }
.how-num {
	width: 28px; height: 28px; border-radius: 50%;
	background: var(--navy-950); color: #fff;
	font-family: Newsreader, Georgia, serif; font-size: 13px; font-weight: 600;
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.how-title { font-size: 14px; font-weight: 700; color: var(--ink-900); margin: 0 0 3px; }
.how-desc { font-size: 12.5px; color: var(--ink-600); line-height: 1.5; margin: 0; }

.panel-card {
	border: 1.5px solid var(--line);
	border-radius: 16px;
	padding: 20px;
	margin-bottom: 14px;
	position: relative;
	text-decoration: none;
	display: block;
	color: inherit;
	background: #fff;
}
.panel-card.popular { border-color: var(--teal-600); background: var(--teal-100); }
.panel-badge { position: absolute; top: -10px; left: 18px; background: var(--teal-600); color: #fff; font-size: 10.5px; font-weight: 700; border-radius: 20px; padding: 4px 12px; }
.panel-name { font-family: Newsreader, Georgia, serif; font-size: 19px; font-weight: 500; color: var(--navy-950); margin: 4px 0; }
.panel-markers { font-size: 12.5px; color: var(--teal-600); font-weight: 700; margin-bottom: 10px; }
.panel-price { font-family: Newsreader, Georgia, serif; font-size: 26px; color: var(--navy-950); font-weight: 500; margin-bottom: 2px; }
.panel-price span { font-size: 12.5px; color: var(--ink-600); font-weight: 400; font-family: Inter, sans-serif; }
.panel-includes { font-size: 12.5px; color: var(--ink-600); line-height: 1.6; margin: 12px 0 14px; }
.panel-btn { font-size: 13.5px; padding: 12px 0; border-radius: 10px; }
.panel-btn.solid { background: var(--navy-950); color: #fff; }
.panel-btn.outline { border: 1.5px solid var(--navy-950); color: var(--navy-950); }
.sub-toggle { display: flex; gap: 8px; margin-top: 10px; font-size: 11.5px; color: var(--ink-600); align-items: center; }
.sub-toggle b { color: var(--teal-600); }

.mini-panel-row { display: flex; gap: 10px; margin-bottom: 16px; }
.mini-panel { flex: 1; border: 1px solid var(--line); border-radius: 12px; padding: 12px; text-decoration: none; color: inherit; text-align: center; background: #fff; }
.mini-panel-name { font-size: 12px; font-weight: 700; color: var(--navy-950); margin: 0 0 4px; }
.mini-panel-price { font-family: Newsreader, Georgia, serif; font-size: 17px; color: var(--teal-600); font-weight: 500; }

.preview-card { border: 1px solid var(--line); border-radius: 16px; padding: 18px; background: var(--paper); }
.preview-label { font-size: 11px; font-weight: 700; color: var(--ink-400); text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 12px; }
.preview-row { display: flex; gap: 10px; margin-bottom: 10px; }
.preview-stat { flex: 1; background: #fff; border: 1px solid var(--line); border-radius: 11px; padding: 12px; }
.preview-stat-num { font-family: Newsreader, Georgia, serif; font-size: 19px; color: var(--navy-950); font-weight: 500; }
.preview-stat-label { font-size: 10.5px; color: var(--ink-600); margin-top: 2px; }
.bio-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.bio-row:last-child { border-bottom: none; }
.bio-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.bio-dot.inrange { background: var(--teal-600); }
.bio-dot.watch { background: var(--amber-500); }
.bio-dot.flag { background: #b85450; }
.bio-name { font-size: 12.5px; font-weight: 600; color: var(--ink-900); flex: 1; }
.bio-val { font-size: 12px; color: var(--ink-600); }

.trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.trust-tile { border: 1px solid var(--line); border-radius: 14px; padding: 16px; text-align: center; background: #fff; }
.trust-tile-icon { font-size: 22px; margin-bottom: 8px; }
.trust-tile-title { font-size: 13px; font-weight: 700; color: var(--navy-950); margin: 0 0 4px; }
.trust-tile-desc { font-size: 11.5px; color: var(--ink-600); line-height: 1.4; margin: 0; }

.faq-item { border-bottom: 1px solid var(--line); padding: 15px 0; }
.faq-q { font-size: 14px; font-weight: 700; color: var(--ink-900); margin: 0 0 6px; }
.faq-a { font-size: 13px; color: var(--ink-600); line-height: 1.55; margin: 0; }
.accordion { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 10px; padding: 14px 16px; background: #fff; }
.accordion-q { font-size: 13.5px; font-weight: 700; color: var(--ink-900); margin: 0; }

.breadcrumb { font-size: 12px; color: var(--ink-400); padding: 14px 22px 0; }
.breadcrumb a { color: var(--teal-600); text-decoration: none; font-weight: 600; }

.cta-band { background: var(--navy-950); padding: 32px 22px; color: #fff; text-align: center; }
.cta-band .section-title { color: #fff; }
.cta-band .section-body { color: #b9c6cf; }

.footer { background: var(--navy-950); padding: 26px 22px 40px; color: #b9c6cf; font-size: 13px; border-top: 1px solid rgba(255,255,255,0.1); }
.footer-cols { display: flex; gap: 30px; margin-bottom: 18px; }
.footer-col { flex: 1; }
.footer-col-title { color: #fff; font-weight: 700; font-size: 12px; margin-bottom: 8px; }
.footer-link { display: block; color: #9faab4; font-size: 12.5px; padding: 4px 0; text-decoration: none; }
.footer-copy { font-size: 11.5px; color: #7a8792; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.1); }

.sticky-cta {
	position: sticky;
	bottom: 0;
	background: #fff;
	border-top: 1px solid var(--line);
	padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
	z-index: 6;
}
.sticky-cta .btn-primary { margin-bottom: 0; }

.form-field { margin-bottom: 12px; }
.form-label { font-size: 12.5px; font-weight: 700; color: var(--ink-900); margin-bottom: 6px; display: block; }
.form-input {
	width: 100%;
	border: 1.5px solid var(--line);
	border-radius: 10px;
	padding: 12px 13px;
	font-family: Inter, sans-serif;
	font-size: 14px;
	color: var(--navy-950);
	background: #fff;
}
.form-row { display: flex; gap: 10px; }
.form-row .form-field { flex: 1; }
.summary-line { display: flex; justify-content: space-between; font-size: 13.5px; color: var(--ink-600); padding: 7px 0; }
.summary-line.total { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 12px; font-weight: 700; color: var(--navy-950); font-size: 15px; }
.tab-row { display: flex; gap: 4px; background: var(--paper); border-radius: 11px; padding: 4px; margin-bottom: 20px; }
.tab-btn { flex: 1; border: none; background: transparent; padding: 10px 0; font-family: Inter, sans-serif; font-size: 13px; font-weight: 700; color: var(--ink-600); border-radius: 8px; cursor: pointer; }
.tab-btn.active { background: var(--navy-950); color: #fff; }
.confirm-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--teal-100); color: var(--teal-600); font-size: 26px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.order-row { display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-bottom: 10px; background: #fff; }
.order-title { font-size: 13.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 3px; }
.order-sub { font-size: 11.5px; color: var(--ink-600); }
.status-chip { font-size: 10.5px; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.status-chip.processing { background: var(--amber-100); color: #7a5419; }
.status-chip.done { background: var(--teal-100); color: var(--teal-600); }
.legal-h { font-size: 14px; font-weight: 700; color: var(--navy-950); margin: 20px 0 6px; }
.legal-p { font-size: 13px; color: var(--ink-600); line-height: 1.6; margin: 0 0 10px; }
.notice { background: var(--teal-100); color: var(--navy-950); border-radius: 10px; padding: 12px 14px; font-size: 13px; margin-bottom: 16px; }
.notice.error { background: var(--amber-100); color: #7a5419; }
.muted { font-size: 11.5px; color: var(--ink-400); text-align: center; }

@media (max-width: 420px) {
	.h1 { font-size: 28px; }
	.nav { padding: 12px 14px; }
	.nav-links { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
	.nav-links a { font-size: 11px; }
}

/* Previous-test upload — scoped to this screen, preserving the Apexion One design. */
.apx-report-picker { background:#eaf6f5; border:1.5px dashed #73b9b7; border-radius:18px; padding:26px 18px; text-align:center; }
.apx-report-picker__icon { color:var(--teal-600); font-size:42px; line-height:1; margin-bottom:12px; }
.apx-report-picker .section-title { font-family:Inter,system-ui,sans-serif; font-size:20px; font-weight:700; margin-bottom:8px; }
.apx-report-picker .section-body { max-width:360px; margin:0 auto 20px; }
.apx-report-picker__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.apx-report-picker__button { display:flex; align-items:center; justify-content:center; position:relative; min-width:0; min-height:48px; padding:10px 8px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--navy-950); font-size:14px; font-weight:700; cursor:pointer; }
.apx-report-picker__button:focus-within { outline:3px solid var(--teal-600); outline-offset:2px; }
.apx-report-picker__button input[type=file] { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; pointer-events:none; }
.apx-report-picker__error { color:#a43e39; font-size:12px; font-weight:700; margin:12px 0 0; }
.apx-report-picker__error[hidden], .apx-report-selected[hidden] { display:none; }
.apx-report-selected { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; padding:12px; margin-top:14px; background:#fff; }
.apx-report-selected__type { border-radius:9px; padding:12px 9px; background:#f8eeeb; color:#a75741; font-size:11px; font-weight:800; }
.apx-report-selected__details { min-width:0; text-align:left; }
.apx-report-selected__details strong, .apx-report-selected__details small { display:block; overflow-wrap:anywhere; }
.apx-report-selected__details strong { color:var(--navy-950); font-size:13px; }
.apx-report-selected__details small { color:var(--ink-600); font-size:11px; margin-top:3px; }
.apx-report-selected button { border:0; background:none; color:var(--teal-600); font:700 12px Inter,system-ui,sans-serif; cursor:pointer; }
.apx-report-upload-note, .apx-report-privacy { color:var(--ink-600); font-size:12px; line-height:1.5; margin:16px 2px; }
.apx-report-ai { background:#fff; margin:18px 0; }
.apx-report-ai label { display:flex; align-items:flex-start; gap:10px; color:var(--navy-950); font-size:14px; line-height:1.4; }
.apx-report-ai input { flex:none; margin-top:2px; }
.apx-report-ai .section-body { padding-left:24px; margin:6px 0 0; font-size:12px; }
.apx-report-submit { background:var(--navy-950); }
.apx-report-privacy { border-top:1px solid var(--line); padding-top:14px; }
.apx-one-app input[type=date] { box-sizing:border-box; min-width:0; max-width:100%; width:100%; }
