.tap-application {
	--tap-accent: #176b87;
	--tap-accent-dark: #0f4f66;
	--tap-border: #cbd5dc;
	--tap-surface: #fff;
	--tap-surface-soft: #f4f8fa;
	--tap-text: #17242c;
	--tap-muted: #5e6d76;
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	margin: 32px auto;
	color: var(--tap-text);
}

.tap-application *,
.tap-application *::before,
.tap-application *::after { box-sizing: border-box; }

.tap-application-header {
	margin-bottom: 26px;
	padding: 30px clamp(22px, 4vw, 42px);
	border-radius: 14px;
	background: linear-gradient(135deg, var(--tap-accent-dark), var(--tap-accent));
	color: #fff;
	box-shadow: 0 10px 26px rgba(15, 79, 102, .14);
}

.tap-application-header h2 {
	margin: 3px 0 10px;
	color: #fff;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.15;
}

.tap-application-header p { max-width: 720px; margin: 0; color: rgba(255, 255, 255, .9); }
.tap-application-header .tap-eyebrow { margin-bottom: 4px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.tap-application-progress {
	display: none;
	margin: 0 0 12px;
	padding: 20px clamp(14px, 3vw, 28px) 17px;
	border: 1px solid var(--tap-border);
	border-radius: 12px;
	background: var(--tap-surface);
	box-shadow: 0 4px 18px rgba(20, 45, 58, .05);
}

.tap-wizard-ready .tap-application-progress { display: block; }

.tap-application-progress ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tap-application-progress li { min-width: 0; margin: 0; }

.tap-application-progress button {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 6px;
	border: 0;
	background: transparent;
	color: var(--tap-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-align: left;
}

.tap-application-progress button:not(:disabled) { color: var(--tap-accent-dark); cursor: pointer; }
.tap-application-progress button:focus-visible { outline: 3px solid rgba(23, 107, 135, .25); outline-offset: 2px; border-radius: 7px; }

.tap-step-number {
	display: inline-grid;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 2px solid var(--tap-border);
	border-radius: 50%;
	background: #fff;
	color: var(--tap-muted);
	font-size: 13px;
}

.tap-application-progress .is-active .tap-step-number,
.tap-application-progress .is-complete .tap-step-number { border-color: var(--tap-accent); background: var(--tap-accent); color: #fff; }
.tap-application-progress .is-active button { color: var(--tap-accent-dark); }

.tap-progress-track { height: 4px; margin: 12px 16px 0; overflow: hidden; border-radius: 999px; background: #e3ebef; }
.tap-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--tap-accent-dark), var(--tap-accent)); transition: width .2s ease; }

.tap-save-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	min-height: 30px;
	margin: 0 4px 10px;
}

.tap-save-status {
	min-height: 22px;
	margin: 0;
	color: var(--tap-muted);
	font-size: 13px;
	text-align: right;
}

.tap-application .tap-clear-draft {
	margin: 0;
	padding: 3px 0;
	border: 0;
	border-bottom: 1px solid transparent;
	background: transparent;
	color: var(--tap-accent-dark);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
}

.tap-application .tap-clear-draft:hover { border-bottom-color: currentColor; }
.tap-application .tap-clear-draft:focus-visible { outline: 3px solid rgba(23, 107, 135, .25); outline-offset: 3px; border-radius: 2px; }

.tap-save-status[data-state="saved"],
.tap-save-status[data-state="restored"] { color: #217a45; }
.tap-save-status[data-state="warning"] { color: #9a6700; }

.tap-noscript-notice {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-left: 4px solid #b42318;
	border-radius: 6px;
	background: #fff3f2;
	color: #7a271a;
	font-weight: 650;
}

.tap-application-section {
	min-width: 0;
	margin: 0 0 24px;
	padding: 26px clamp(18px, 3vw, 34px) 32px;
	border: 1px solid var(--tap-border);
	border-radius: 12px;
	background: var(--tap-surface);
	box-shadow: 0 4px 18px rgba(20, 45, 58, .06);
	scroll-margin-top: 40px;
}

.tap-wizard-ready .tap-application-step:not(.is-active),
.tap-application-step[hidden] { display: none !important; }

.tap-application-section legend {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 10px;
	color: var(--tap-accent-dark);
	font-size: 20px;
	font-weight: 700;
}

.tap-application-section legend span {
	display: inline-grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--tap-accent);
	color: #fff;
	font-size: 14px;
}

.tap-section-help { margin: 0 0 22px; color: var(--tap-muted); }

.tap-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
}

.tap-grid + .tap-grid { margin-top: 22px; }
.tap-grid-single { grid-template-columns: minmax(0, 1fr); }

.tap-field {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.tap-field label {
	margin: 0;
	color: var(--tap-text);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.35;
}

.tap-field small {
	color: var(--tap-muted);
	font-size: 12px;
	line-height: 1.45;
}

.tap-required { color: #b42318; }

.tap-application input:not([type="checkbox"]),
.tap-application textarea,
.tap-application select {
	width: 100%;
	max-width: none;
	min-height: 48px;
	margin: 0;
	padding: 11px 13px;
	border: 1px solid #aebcc5;
	border-radius: 7px;
	background: #fff;
	color: var(--tap-text);
	font: inherit;
	line-height: 1.4;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.tap-application textarea {
	min-height: 120px;
	resize: vertical;
}

.tap-application input:hover,
.tap-application textarea:hover,
.tap-application select:hover { border-color: #7f949f; }

.tap-application input:focus,
.tap-application textarea:focus,
.tap-application select:focus {
	outline: 0;
	border-color: var(--tap-accent);
	box-shadow: 0 0 0 3px rgba(23, 107, 135, .16);
}

.tap-agreement-section { background: var(--tap-surface-soft); }
.tap-agreements { display: grid; gap: 12px; margin-top: 24px; }

.tap-agreement {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: #fff;
	color: #000000;
	cursor: pointer;
	line-height: 1.45;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.tap-agreement span { color: #000000; }
.tap-agreement:hover { border-color: var(--tap-border); }
.tap-agreement:focus-within { border-color: var(--tap-accent); box-shadow: 0 0 0 3px rgba(23, 107, 135, .12); }
.tap-agreement input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--tap-accent); }

.tap-application-actions,
.tap-step-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 26px 2px 0;
}

.tap-application-actions p { max-width: 560px; margin: 0; color: var(--tap-muted); font-size: 13px; line-height: 1.5; }
.tap-application .tap-next-step,
.tap-application .tap-previous-step,
.tap-application .tap-submit-application {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 11px 22px;
	border-radius: 7px;
	font: inherit;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
}

.tap-application .tap-next-step,
.tap-application .tap-submit-application { border: 1px solid var(--tap-accent); background: var(--tap-accent); color: #fff; }
.tap-application .tap-previous-step { border: 1px solid #aebcc5; background: #fff; color: var(--tap-accent-dark); }

.tap-application .tap-next-step:hover,
.tap-application .tap-next-step:focus,
.tap-application .tap-submit-application:hover,
.tap-application .tap-submit-application:focus { background: var(--tap-accent-dark); color: #fff; }
.tap-application .tap-previous-step:hover,
.tap-application .tap-previous-step:focus { border-color: var(--tap-accent); background: #eef7fa; color: var(--tap-accent-dark); }

.tap-wizard-only { display: none !important; }
.tap-wizard-ready .tap-wizard-only { display: inline-flex !important; }
.tap-wizard-ready .tap-step-actions.tap-wizard-only { display: flex !important; }
.tap-submit-note { margin: 14px 2px 0; color: var(--tap-muted); font-size: 13px; line-height: 1.5; text-align: right; }

.tap-honeypot { position: absolute !important; left: -10000px !important; }

.tap-application-confirmation {
	box-sizing: border-box;
	width: min(100%, 760px);
	margin: 48px auto;
	padding: 48px;
	border: 1px solid var(--tap-border);
	border-radius: 16px;
	background: #fff;
	color: #000000;
	box-shadow: 0 18px 45px rgba(10, 40, 54, .1);
	text-align: center;
}
.tap-confirmation-icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: var(--tap-accent);
	color: #fff;
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
}
.tap-application-confirmation .tap-eyebrow { margin: 0 0 8px; color: var(--tap-accent-dark); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tap-application-confirmation h2 { margin: 0; color: #000000; font-size: clamp(30px, 5vw, 44px); line-height: 1.15; }
.tap-confirmation-lead { margin: 18px auto 28px; max-width: 600px; color: #23343c; font-size: 18px; line-height: 1.65; }
.tap-confirmation-next { margin: 0 auto 30px; padding: 22px 24px; border-radius: 10px; background: var(--tap-surface-soft); text-align: left; }
.tap-confirmation-next h3 { margin: 0 0 8px; color: #000000; font-size: 19px; }
.tap-confirmation-next p { margin: 0; color: #23343c; line-height: 1.65; }
.tap-confirmation-home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 24px;
	border-radius: 8px;
	background: var(--tap-accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
}
.tap-confirmation-home:hover,
.tap-confirmation-home:focus { background: var(--tap-accent-dark); color: #fff !important; }

.tap-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 15px 0; }
.tap-cards > div { border: 1px solid #ddd; border-radius: 6px; padding: 14px; }
.tap-cards strong,
.tap-cards span { display: block; }
.tap-cards span { margin-top: 6px; font-size: 1.2em; }
.tap-estimate { padding: 10px; border-left: 4px solid #2271b1; background: #f0f6fc; }
.tap-dashboard { overflow-wrap: anywhere; }
.tap-sales { font-size: .92em; }

/* Affiliate centre */
.tap-dashboard-shell {
	--tap-dashboard-ink: #132a35;
	--tap-dashboard-muted: #5e7079;
	--tap-dashboard-border: #dce5e9;
	--tap-dashboard-soft: #f3f8fa;
	--tap-dashboard-navy: #173f52;
	--tap-dashboard-teal: #087f8c;
	width: 100%;
	color: var(--tap-dashboard-ink);
}
.tap-dashboard-shell * { box-sizing: border-box; }
.tap-dashboard-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 32px;
	border-radius: 16px 16px 0 0;
	background: linear-gradient(135deg, #123848 0%, #0d6570 100%);
	color: #fff;
}
.tap-dashboard-hero h2 { margin: 3px 0 8px; color: #fff; font-size: clamp(27px, 4vw, 38px); line-height: 1.15; }
.tap-dashboard-hero p { max-width: 690px; margin: 0; color: rgba(255,255,255,.86); }
.tap-dashboard-eyebrow { margin: 0 0 6px; color: var(--tap-dashboard-teal); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tap-dashboard-hero .tap-dashboard-eyebrow { color: #a8e4e7; }
.tap-dashboard-identity { display: grid; min-width: 155px; gap: 3px; justify-items: end; }
.tap-dashboard-identity small { color: rgba(255,255,255,.72); }
.tap-dashboard-identity code { padding: 5px 9px; border-radius: 5px; background: rgba(255,255,255,.14); color: #fff; font-size: 15px; }
.tap-dashboard-status { display: inline-flex; margin-bottom: 8px; padding: 5px 10px; border-radius: 999px; background: #d9f7e6; color: #12623a; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.tap-dashboard-status:not(.is-active) { background: #fff0cc; color: #744b00; }
.tap-dashboard-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 8px; border: 1px solid var(--tap-dashboard-border); border-top: 0; background: #fff; scrollbar-width: thin; }
.tap-dashboard-tabs a { flex: 0 0 auto; padding: 12px 16px; border-radius: 8px; color: #39505b; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.tap-dashboard-tabs a:hover,
.tap-dashboard-tabs a:focus { background: var(--tap-dashboard-soft); color: var(--tap-dashboard-navy); }
.tap-dashboard-tabs a.is-active { background: var(--tap-dashboard-navy); color: #fff; }
.tap-dashboard-section { padding: 30px 0 8px; }
.tap-dashboard-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.tap-dashboard-section-heading h3 { margin: 0; color: var(--tap-dashboard-ink); font-size: clamp(23px, 3vw, 30px); }
.tap-dashboard-section-heading p:not(.tap-dashboard-eyebrow) { margin: 7px 0 0; color: var(--tap-dashboard-muted); }
.tap-dashboard-section-heading > span { color: var(--tap-dashboard-muted); font-weight: 700; white-space: nowrap; }
.tap-dashboard-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.tap-dashboard-kpis article { display: flex; min-height: 148px; flex-direction: column; justify-content: center; padding: 22px; border: 1px solid var(--tap-dashboard-border); border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(20,54,68,.045); }
.tap-dashboard-kpis article.is-primary { border-color: transparent; background: var(--tap-dashboard-navy); color: #fff; }
.tap-dashboard-kpis small { color: var(--tap-dashboard-muted); font-size: 14px; font-weight: 700; line-height: 1.4; }
.tap-dashboard-kpis strong { display: block; margin: 9px 0 7px; color: var(--tap-dashboard-ink); font-size: clamp(28px, 3vw, 36px); line-height: 1.08; }
.tap-dashboard-kpis article > span { color: var(--tap-dashboard-muted); font-size: 13px; line-height: 1.45; }
.tap-dashboard-kpis strong .woocommerce-Price-amount,
.tap-dashboard-kpis strong .woocommerce-Price-currencySymbol,
.tap-dashboard-kpis strong bdi { color: inherit; font: inherit; line-height: inherit; }
.tap-dashboard-kpis .is-primary small,
.tap-dashboard-kpis .is-primary strong,
.tap-dashboard-kpis .is-primary > span { color: #fff; }
.tap-dashboard-kpis .tap-kpi-text { font-size: 20px; }
.tap-dashboard-kpis-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tap-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.tap-dashboard-panel { margin-bottom: 18px; padding: 24px; border: 1px solid var(--tap-dashboard-border); border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(20,54,68,.04); }
.tap-dashboard-grid > .tap-dashboard-panel { margin-bottom: 0; }
.tap-dashboard-panel h3 { margin: 0 0 8px; color: var(--tap-dashboard-ink); font-size: 20px; }
.tap-dashboard-panel h4 { margin: 0 0 4px; color: var(--tap-dashboard-ink); }
.tap-dashboard-panel p { color: var(--tap-dashboard-muted); line-height: 1.6; }
.tap-dashboard-alert { border-left: 4px solid #d88b18; background: #fffaf0; }
.tap-dashboard-alert a { color: #8a4f00; font-weight: 800; }
.tap-referral-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.tap-copy-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.tap-copy-field input,
.tap-link-builder-fields input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b9c9cf; border-radius: 7px; background: #fbfdfe; color: #21343d; font: inherit; }
.tap-copy-field button,
.tap-link-builder-fields button,
.tap-dashboard-button { min-height: 46px; padding: 10px 17px; border: 0; border-radius: 7px; background: var(--tap-dashboard-teal); color: #fff !important; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.tap-copy-field button:hover,
.tap-copy-field button:focus,
.tap-link-builder-fields button:hover,
.tap-link-builder-fields button:focus,
.tap-dashboard-button:hover,
.tap-dashboard-button:focus { background: var(--tap-dashboard-navy); color: #fff !important; }
.tap-copy-field [role="status"] { grid-column: 1 / -1; min-height: 18px; color: #167048; font-size: 12px; }
.tap-tier-progress > span { display: block; overflow: hidden; height: 9px; margin: 14px 0 8px; border-radius: 99px; background: #dfe9ec; }
.tap-tier-progress i { display: block; height: 100%; border-radius: inherit; background: var(--tap-dashboard-teal); }
.tap-dashboard-checklist { margin: 14px 0 0; padding-left: 22px; color: #334952; }
.tap-dashboard-checklist li { margin-bottom: 9px; padding-left: 4px; }
.tap-dashboard-table { width: 100%; overflow-x: auto; }
.tap-dashboard-table table { min-width: 720px; width: 100%; margin: 0; border-collapse: collapse; }
.tap-dashboard-table th { padding: 12px 10px; border-bottom: 2px solid var(--tap-dashboard-border); color: #526872; font-size: 12px; letter-spacing: .03em; text-align: left; text-transform: uppercase; }
.tap-dashboard-table td { padding: 14px 10px; border-bottom: 1px solid var(--tap-dashboard-border); color: #263c46; vertical-align: top; }
.tap-dashboard-table td small { display: block; margin-top: 3px; color: var(--tap-dashboard-muted); }
.tap-dashboard-table tbody tr:last-child td { border-bottom: 0; }
.tap-dashboard-table code { color: var(--tap-dashboard-navy); }
.tap-table-empty { padding: 28px !important; color: var(--tap-dashboard-muted) !important; text-align: center; }
.tap-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.tap-date-filter { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; margin: 0; }
.tap-date-filter label { display: grid; gap: 4px; color: var(--tap-dashboard-muted); font-size: 12px; font-weight: 700; }
.tap-date-filter input { min-height: 40px; padding: 7px 9px; border: 1px solid #b9c9cf; border-radius: 6px; }
.tap-date-filter button { min-height: 40px; padding: 7px 15px; border: 0; border-radius: 6px; background: var(--tap-dashboard-navy); color: #fff; font-weight: 700; }
.tap-payout-guidance ul { margin-bottom: 0; }
.tap-payout-guidance li { margin-bottom: 8px; color: #334952; }
.tap-link-builder-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin: 18px 0 12px; }
.tap-link-builder-fields label { display: grid; gap: 6px; color: #334952; font-size: 13px; font-weight: 700; }
.tap-code-manager form { display: grid; max-width: 620px; gap: 15px; margin-top: 18px; }
.tap-code-manager form > label:not(.tap-code-confirm) { display: grid; gap: 7px; color: #334952; font-size: 14px; font-weight: 750; }
.tap-code-manager input[type="text"] { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b9c9cf; border-radius: 7px; background: #fbfdfe; color: #21343d; font: inherit; }
.tap-code-confirm { display: flex; align-items: flex-start; gap: 9px; color: #536972; font-size: 13px; line-height: 1.5; }
.tap-code-confirm input { flex: 0 0 auto; margin-top: 4px; }
.tap-code-manager .tap-dashboard-button { justify-self: start; }
.tap-code-notice { padding: 12px 14px; border-radius: 7px; font-weight: 700; }
.tap-code-notice.is-success { border: 1px solid #a7d7ba; background: #edf9f1; color: #17623a; }
.tap-code-notice.is-error { border: 1px solid #e5b7b2; background: #fff1ef; color: #8b2d23; }
.tap-builder-message { min-height: 22px; margin: 2px 0 0 !important; color: var(--tap-dashboard-teal) !important; font-size: 13px; }
.tap-coupon-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.tap-coupon-list code,
.tap-keyword-list code { padding: 7px 10px; border: 1px solid #b9d8dc; border-radius: 6px; background: #eefafb; color: #075b64; }
.tap-compliance-alert { margin-bottom: 18px; padding: 20px 22px; border: 1px solid #e6c276; border-left: 5px solid #c77c00; border-radius: 10px; background: #fff9eb; }
.tap-compliance-alert strong { color: #754700; font-size: 18px; }
.tap-compliance-alert p { margin: 5px 0 0; color: #5b461f; }
.tap-dashboard-details { margin: 14px 0 0; }
.tap-dashboard-details > div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--tap-dashboard-border); }
.tap-dashboard-details dt { color: var(--tap-dashboard-muted); font-weight: 700; }
.tap-dashboard-details dd { margin: 0; color: var(--tap-dashboard-ink); text-align: right; }
.tap-agreement-heading { margin-top: 22px !important; }
.tap-agreement-summary { margin: 10px 0 0; padding-left: 21px; color: #334952; }
.tap-agreement-summary li { margin-bottom: 7px; }
.tap-keyword-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 4px; }
.tap-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.tap-rule-grid article { display: flex; gap: 13px; }
.tap-rule-grid article > strong { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--tap-dashboard-soft); color: var(--tap-dashboard-teal); }
.tap-rule-grid p { margin: 0; }
.tap-dashboard-support { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding: 20px 24px; border-radius: 10px; background: var(--tap-dashboard-soft); }
.tap-dashboard-support div { display: grid; gap: 3px; }
.tap-dashboard-support span { color: var(--tap-dashboard-muted); }
.tap-dashboard-support a { color: var(--tap-dashboard-navy); font-weight: 800; }
.tap-empty-state { padding: 14px; border-radius: 8px; background: var(--tap-dashboard-soft); }
.tap-dashboard-shell .tap-estimate { border-color: var(--tap-dashboard-teal); background: var(--tap-dashboard-soft); color: var(--tap-dashboard-muted); }

/* Public affiliate agreement */
.tap-agreement-page .fl-post-header { display: none; }
.tap-legal {
	--tap-legal-ink: #182d37;
	--tap-legal-muted: #586c75;
	--tap-legal-border: #d8e3e7;
	--tap-legal-navy: #173f52;
	--tap-legal-teal: #087f8c;
	box-sizing: border-box;
	width: min(100%, 980px);
	margin: 38px auto 60px;
	color: var(--tap-legal-ink);
	font-size: 16px;
	line-height: 1.72;
}
.tap-legal * { box-sizing: border-box; }
.tap-legal-hero { padding: 42px clamp(24px, 5vw, 54px); border-radius: 16px 16px 0 0; background: linear-gradient(135deg, #123848, #0d6570); color: #fff; }
.tap-legal-hero h1 { margin: 4px 0 12px; color: #fff; font-size: clamp(32px, 5vw, 48px); line-height: 1.12; }
.tap-legal-hero p:last-child { max-width: 760px; margin: 0; color: rgba(255,255,255,.86); font-size: 18px; }
.tap-legal-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--tap-legal-border); border-top: 0; background: #fff; }
.tap-legal-meta > div { display: grid; align-content: start; gap: 2px; padding: 18px; border-right: 1px solid var(--tap-legal-border); }
.tap-legal-meta > div:last-child { border-right: 0; }
.tap-legal-meta span { color: var(--tap-legal-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.tap-legal-meta strong { overflow-wrap: anywhere; }
.tap-legal-meta a { color: var(--tap-legal-teal); }
.tap-legal-summary { margin: 24px 0; padding: 23px 26px; border: 1px solid #b9dadd; border-left: 5px solid var(--tap-legal-teal); border-radius: 10px; background: #f1fafb; }
.tap-legal-summary > strong { color: var(--tap-legal-navy); font-size: 19px; }
.tap-legal-summary ul { margin: 9px 0 0; padding-left: 22px; }
.tap-legal-summary li { margin: 5px 0; }
.tap-legal section { padding: 26px 30px; border: 1px solid var(--tap-legal-border); border-bottom: 0; background: #fff; }
.tap-legal section:first-of-type { border-radius: 12px 12px 0 0; }
.tap-legal section:last-child { border-bottom: 1px solid var(--tap-legal-border); border-radius: 0 0 12px 12px; }
.tap-legal section h2 { margin: 0 0 12px; color: var(--tap-legal-navy); font-size: 22px; line-height: 1.3; }
.tap-legal section p { margin: 0 0 13px; color: #304751; }
.tap-legal section p:last-child { margin-bottom: 0; }
.tap-legal section ul { margin: 10px 0 13px; padding-left: 24px; color: #304751; }
.tap-legal section li { margin: 6px 0; }
.tap-legal section a { color: #08717c; font-weight: 700; }
.tap-legal blockquote { margin: 16px 0; padding: 15px 18px; border-left: 4px solid var(--tap-legal-teal); background: #f3f8fa; color: var(--tap-legal-navy); font-style: normal; font-weight: 700; }
.tap-legal address { color: #304751; font-style: normal; }

@media (max-width: 900px) {
	.tap-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tap-dashboard-grid,
	.tap-rule-grid { grid-template-columns: 1fr; }
	.tap-legal-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tap-legal-meta > div:nth-child(2) { border-right: 0; }
	.tap-legal-meta > div:nth-child(-n+2) { border-bottom: 1px solid var(--tap-legal-border); }
}

@media (max-width: 700px) {
	.tap-application { margin: 20px auto; }
	.tap-application-header { padding: 24px 20px; border-radius: 10px; }
	.tap-application-progress { padding: 14px 10px 12px; }
	.tap-application-progress ol { gap: 2px; }
	.tap-application-progress button { flex-direction: column; gap: 5px; padding: 4px 2px; font-size: 11px; text-align: center; }
	.tap-step-number { flex-basis: 30px; width: 30px; height: 30px; }
	.tap-progress-track { margin: 10px 10px 0; }
	.tap-save-row { align-items: flex-start; flex-direction: column; gap: 2px; margin-bottom: 12px; }
	.tap-save-status { text-align: left; }
	.tap-application-section { padding: 22px 16px 26px; border-radius: 10px; }
	.tap-application-section legend { font-size: 18px; }
	.tap-grid { grid-template-columns: 1fr; gap: 17px; }
	.tap-application-actions,
	.tap-step-actions { align-items: stretch; flex-direction: column-reverse; gap: 12px; }
	.tap-step-actions > * { width: 100%; }
	.tap-application .tap-submit-application { width: 100%; }
	.tap-submit-note { text-align: left; }
	.tap-application-confirmation { margin: 24px auto; padding: 32px 20px; border-radius: 12px; }
	.tap-confirmation-next { padding: 20px; }
	.tap-dashboard-hero { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
	.tap-dashboard-identity { min-width: 0; justify-items: start; }
	.tap-dashboard-tabs { margin-bottom: 3px; }
	.tap-dashboard-section { padding-top: 23px; }
	.tap-dashboard-section-heading,
	.tap-panel-heading,
	.tap-dashboard-support { align-items: flex-start; flex-direction: column; }
	.tap-dashboard-kpis,
	.tap-dashboard-kpis-compact { grid-template-columns: 1fr; }
	.tap-dashboard-kpis article { min-height: 125px; }
	.tap-dashboard-panel { padding: 19px 16px; }
	.tap-copy-field,
	.tap-link-builder-fields { grid-template-columns: 1fr; }
	.tap-copy-field button,
	.tap-link-builder-fields button { width: 100%; }
	.tap-date-filter { align-items: stretch; flex-direction: column; }
	.tap-date-filter button { width: 100%; }
	.tap-dashboard-details > div { align-items: flex-start; flex-direction: column; gap: 3px; }
	.tap-dashboard-details dd { text-align: left; }
	.tap-legal { margin-top: 20px; }
	.tap-legal-hero { padding: 30px 20px; border-radius: 12px 12px 0 0; }
	.tap-legal-meta { grid-template-columns: 1fr; }
	.tap-legal-meta > div { border-right: 0; border-bottom: 1px solid var(--tap-legal-border); }
	.tap-legal-meta > div:last-child { border-bottom: 0; }
	.tap-legal-summary { padding: 20px; }
	.tap-legal section { padding: 22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.tap-progress-track span,
	.tap-application input,
	.tap-application textarea,
	.tap-application select,
	.tap-agreement { transition: none; }
}
