/**
 * The [tools] portal shell — v2.4.0 "Toolbox" redesign on the Falcon
 * West Core design system. The portal paints its OWN flat navy shell
 * (body.fwt-portal-page + .fwt-portal) instead of leaning on the theme
 * background: a solid color has zero per-frame paint cost, which
 * matters — scroll performance on this page is a stated requirement.
 *
 * Token rules (mu-core docs/design-system.md):
 * - every var() carries the token's REAL literal value as a fallback so
 *   the portal degrades gracefully if the Core sheet is absent;
 * - deprecated aliases (--button-fill, --focus-ring, --brand-*, --text-*,
 *   --surface-*, --border-*) are banned — md-* roles + the
 *   --focus-ring-{width,offset,color} trio only;
 * - rust-600 #D2793D never carries text: on navy the accent is rust-400
 *   (--md-accent-on-dark); text-bearing rust on white is rust-700;
 * - transitions ride transform/box-shadow/border-color only, on hover
 *   and focus — nothing is keyed to scroll or pointer movement.
 */

/* ---- the navy shell ---------------------------------------------------- */

body.fwt-portal-page {
	background: var(--md-surface-dark, #15445D);
}

.fwt-portal {
	background: var(--md-surface-dark, #15445D);
	max-width: none;
	margin: 0;
	padding: var(--space-8, 64px) var(--space-7, 48px) var(--space-9, 96px);
	font-family: var(--font-display, "Raleway", -apple-system, "Segoe UI", sans-serif);
	box-sizing: border-box;
}

.fwt-portal *,
.fwt-portal *::before,
.fwt-portal *::after {
	box-sizing: border-box;
}

/* Every view centers on the same content column. */
.fwt-view {
	max-width: var(--container-max, 1200px);
	margin: 0 auto;
}

/* [hidden] must always win — theme/Core display:!important otherwise leaves
   sibling views painted and able to steal clicks from Sign in. */
.fwt-portal [hidden] {
	display: none !important;
}

.fwt-view--launcher:not([hidden]) {
	display: flex;
	flex-direction: column;
	gap: var(--space-7, 48px);
}

.fwt-portal .fwt-notice {
	color: var(--md-text-medium-dark, rgba(255, 255, 255, 0.7));
}

/* ---- launcher header lockup -------------------------------------------- */

.fwt-launcher-head {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Rotating broker quip under Toolbox (same pool as COPE wait sayings). */
.fwt-toolbox-saying {
	margin: 4px 0 0;
	max-width: 36em;
	color: var(--md-text-medium-dark, rgba(255, 255, 255, 0.7));
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: var(--weight-display-bold, 700);
	line-height: 1.45;
	text-wrap: pretty;
	transition: opacity 280ms ease, color 280ms ease;
}

.fwt-toolbox-saying.is-fading {
	opacity: 0;
}

.fwt-toolbox-saying.is-celebrate {
	color: var(--md-accent-on-dark, #e0a06e);
	font-style: normal;
	font-weight: var(--weight-display-bold, 700);
}

.fwt-unlock-streak {
	margin: var(--space-4, 16px) 0 0;
	max-width: 36em;
	color: var(--md-text-medium-dark, rgba(255, 255, 255, 0.55));
	font-size: 0.8125rem;
	font-weight: var(--weight-display-medium, 600);
	letter-spacing: 0.04em;
}

/* High-contrast selection inside tool surfaces (property copy/paste). */
.fwt-tool-surface ::selection,
.spdl-cope ::selection,
.spdl-copy-address ::selection {
	background: #c5e4f5;
	color: #0b1f2a;
}

.fwt-feedback-hint {
	margin: 0 0 8px;
	color: var(--md-text-medium, rgba(0, 0, 0, 0.65));
	font-size: 0.875rem;
	line-height: 1.45;
}

.fwt-feedback-proposal-label {
	margin: 20px 0 4px;
	color: var(--md-secondary, #15445d);
	font-size: 0.8125rem;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.fwt-logo-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fwt-mark {
	height: 28px;
	width: auto;
	opacity: 0.9;
}

.fwt-overline {
	margin: 0;
	color: var(--md-accent-on-dark, #e0a06e);
	font-size: 12px;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.fwt-title {
	margin: 0;
	color: var(--md-text-high-dark, #ffffff);
	font-size: var(--md-h1-size, clamp(2.5rem, 5vw + 1rem, 4rem));
	font-weight: var(--weight-display-heavy, 800);
	line-height: 1.05;
	letter-spacing: -0.5px;
}

.fwt-logo-row .fwt-signout {
	margin-left: auto;
}

.fwt-signout {
	background: none;
	border: 1px solid var(--md-outline-strong-on-dark, rgba(255, 255, 255, 0.6));
	border-radius: var(--shape-small, 4px);
	color: var(--md-text-high-dark, #ffffff);
	font-family: var(--font-display, "Raleway", sans-serif);
	font-size: 0.8125rem;
	padding: 0.35rem 0.9rem;
	cursor: pointer;
}

.fwt-signout:hover {
	border-color: var(--md-text-high-dark, #ffffff);
}

.fwt-signout:focus-visible {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color-on-dark, #ffffff);
	outline-offset: var(--focus-ring-offset, 2px);
}

.fwt-section-heading {
	margin: 0 0 var(--space-4, 16px);
}

/* ---- primary tool cards ------------------------------------------------- */

.fwt-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5, 24px);
}

.fwt-tool-icon--sand {
	background: rgba(176, 137, 104, 0.18);
	color: #8a6238;
}

.fwt-tool-icon--slate {
	background: rgba(70, 90, 110, 0.16);
	color: #3d5166;
}

.fwt-tool-banner {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-left: 3px solid var(--md-secondary, #15445d);
	background: rgba(21, 68, 93, 0.06);
	color: var(--md-text-medium, rgba(0, 0, 0, 0.7));
	font-size: 0.9375rem;
	line-height: 1.45;
}

/* .fw-card / .fw-card--interactive own the surface + elevation 1→8; the
   portal adds the design's lift and the stretched-link focus ring. */
.fwt-tool-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: var(--space-6, 32px);
	height: 100%;
	border-radius: var(--shape-medium, 4px);
	transition: transform var(--motion-duration-short, 150ms) var(--motion-standard, cubic-bezier(0.4, 0, 0.2, 1)),
		box-shadow var(--motion-duration-short, 150ms) var(--motion-standard, cubic-bezier(0.4, 0, 0.2, 1));
}

.fwt-tool-card:hover,
.fwt-tool-card:focus-within {
	transform: translateY(-2px);
}

/* One real link per card (Core interactive-card policy), stretched over
   the whole surface. The ring paints on navy around a white card, so it
   uses the on-dark (white) focus color — navy would be invisible here.
   Doubled class beats the Core's scoped `.falcon-west-material a` link
   color — card titles are titles, not sky hyperlinks. */
.fwt-tool-link.fwt-tool-link {
	color: inherit;
	text-decoration: none;
}

.fwt-tool-link.fwt-tool-link:hover {
	color: inherit;
	text-decoration: none;
}

.fwt-tool-link::after {
	content: "";
	position: absolute;
	inset: 0;
}

.fwt-tool-card:focus-within {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color-on-dark, #ffffff);
	outline-offset: var(--focus-ring-offset, 2px);
}

.fwt-tool-card .fwt-tool-link:focus {
	outline: none;
}

.fwt-tool-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--shape-small, 4px);
	flex: none;
}

.fwt-tool-icon--rust {
	background: var(--semantic-brand-bg, #fbe9db);
	color: var(--md-primary-decorative, #D2793D); /* icon stroke — non-text, legal rust-600 */
}

.fwt-tool-icon--sky {
	background: var(--semantic-info-bg, #e3f1fa);
	color: var(--semantic-info-border, #3D96D2);
}

.fwt-tool-text {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.fwt-tool-name {
	margin: 0;
	font-size: 24px;
	font-weight: var(--weight-display-bold, 700);
	line-height: 1.25;
	color: var(--md-text-high, rgba(8, 8, 8, 0.87));
}

/* Forced second title line (tools() 'title2') so both tiles break at
   the same designed point instead of wherever the viewport wraps. */
.fwt-tool-name-line2 {
	display: block;
}

.fwt-tool-copy {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
	text-wrap: pretty;
}

.fwt-tool-stat {
	margin: 0;
	font-size: 14px;
	font-weight: var(--weight-display-bold, 700);
	color: var(--md-primary, #a85f2e);
}

.fwt-tool-open {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--md-primary, #a85f2e);
}

.fwt-tool-arrow {
	font-size: 16px;
}

/* ---- utilities (growth slot — renders only when a utility exists) ------- */

.fwt-utility-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4, 16px);
}

.fwt-utility-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 24px;
	min-height: 96px;
	border-radius: var(--shape-medium, 4px);
	transition: transform var(--motion-duration-short, 150ms) var(--motion-standard, cubic-bezier(0.4, 0, 0.2, 1)),
		box-shadow var(--motion-duration-short, 150ms) var(--motion-standard, cubic-bezier(0.4, 0, 0.2, 1));
}

.fwt-utility-card:hover,
.fwt-utility-card:focus-within {
	transform: translateY(-2px);
}

.fwt-utility-card:focus-within {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color-on-dark, #ffffff);
	outline-offset: var(--focus-ring-offset, 2px);
}

.fwt-utility-icon {
	flex: none;
	color: var(--md-primary-decorative, #D2793D);
}

.fwt-utility-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fwt-utility-name-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.fwt-utility-name {
	font-size: 16px;
	font-weight: var(--weight-display-bold, 700);
	line-height: 1.3;
	color: var(--md-text-high, rgba(8, 8, 8, 0.87));
}

/* Compact ship badge — green; expires via new_until (typically 21 days). */
.fwt-utility-new {
	display: inline-block;
	padding: 2px 7px;
	border: 1px solid var(--semantic-success-text, #2f5f37);
	border-radius: var(--shape-small, 4px);
	color: var(--semantic-success-text, #2f5f37);
	font-size: 0.625rem;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Persistent Resource badge — blue, never expires (code-owned). */
.fwt-utility-resource {
	display: inline-block;
	padding: 2px 7px;
	border: 1px solid var(--md-info, #1565c0);
	border-radius: var(--shape-small, 4px);
	color: var(--md-info, #1565c0);
	font-size: 0.625rem;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Persistent Draft badge for experimental utilities — red, never expires
   via date; clear only by a code change (unset draft). */
.fwt-utility-draft {
	display: inline-block;
	padding: 2px 7px;
	border: 1px solid var(--md-error, #b3261e);
	border-radius: var(--shape-small, 4px);
	color: var(--md-error, #b3261e);
	font-size: 0.625rem;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fwt-utility-copy {
	font-size: 13px;
	line-height: 1.4;
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
}

/* Fillable PDF recent-jobs ledger */
.fwt-fillable-jobs {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--md-outline, #e2e8f0);
}

.fwt-fillable-jobs-title {
	margin: 0 0 0.35rem;
	font-size: 1.05rem;
	font-weight: var(--weight-display-bold, 700);
	color: var(--md-text-high, rgba(8, 8, 8, 0.87));
}

.fwt-fillable-job-list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.fwt-fillable-job {
	display: grid;
	gap: 0.2rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--md-outline, #e2e8f0);
	border-radius: var(--shape-small, 4px);
	background: var(--md-surface, #fff);
}

.fwt-fillable-job-name {
	font-weight: var(--weight-display-bold, 700);
	color: var(--md-text-high, rgba(8, 8, 8, 0.87));
}

.fwt-fillable-job-meta,
.fwt-fillable-job-note,
.fwt-fillable-job-empty {
	font-size: 0.85rem;
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
}

.fwt-fillable-job-status {
	font-size: 0.75rem;
	font-weight: var(--weight-display-bold, 700);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--md-primary, #a85f2e);
}

.fwt-fillable-job-cost {
	font-size: 0.8rem;
	font-variant-numeric: tabular-nums;
	color: var(--md-text-high, rgba(8, 8, 8, 0.87));
}

.fwt-fillable-job-id {
	font-size: 0.75rem;
	word-break: break-all;
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
}

/* ---- feedback line (above Frequent Links, v2.6.0) ----------------------- */

.fwt-feedback-line {
	margin: 6px 0 -8px;
	text-align: center;
}

.fwt-feedback-copy {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--md-text-high-dark, #ffffff);
}

/* WHITE in every state, theme-proof (v2.6.1) — same hardening as
   .fwt-back: scoped + !important, :visited covered. */
.fwt-portal a.fwt-feedback-link,
.fwt-portal a.fwt-feedback-link:link,
.fwt-portal a.fwt-feedback-link:visited,
.fwt-portal a.fwt-feedback-link:active {
	color: var(--md-text-high-dark, #ffffff) !important;
}

.fwt-feedback-link {
	font-weight: var(--weight-display-bold, 700);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fwt-portal a.fwt-feedback-link:hover,
.fwt-portal a.fwt-feedback-link:focus-visible {
	color: var(--md-accent-on-dark, #e0a06e) !important;
}

.fwt-feedback-link:focus-visible {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color-on-dark, #ffffff);
	outline-offset: var(--focus-ring-offset, 2px);
}

/* ---- feedback view (v2.6.0) — fields reuse .fwt-login-* recipes --------- */

.fwt-feedback-form {
	max-width: 640px;
	display: flex;
	flex-direction: column;
}

.fwt-feedback-form .fwt-login-label {
	margin-top: 4px;
}

.fwt-feedback-textarea {
	resize: vertical;
	min-height: 130px;
	font-family: inherit;
}

.fwt-feedback-file {
	display: block;
	width: 100%;
	margin-bottom: 6px;
	font-size: 0.9375rem;
	color: var(--md-text-high, rgba(8, 8, 8, 0.87));
}

.fwt-feedback-file-help {
	margin: 0 0 var(--space-3, 12px);
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
	font-size: 0.8125rem;
	line-height: 1.4;
}

.fwt-feedback-actions {
	margin-top: 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.fwt-feedback-send {
	padding: 11px 26px;
	background: var(--md-primary-variant, #a85f2e);
	color: #fff;
	border: 0;
	border-radius: var(--shape-small, 4px);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}

.fwt-feedback-send:hover,
.fwt-feedback-send:focus-visible {
	background: #8f4f24;
}

.fwt-feedback-send:disabled {
	opacity: 0.7;
	cursor: wait;
}

.fwt-feedback-result {
	margin: 0;
	font-size: 13.5px;
	color: var(--semantic-success-text, #2f5f37);
}

.fwt-feedback-result.is-error {
	color: var(--md-error, #b6432f);
}

/* ---- frequent links ----------------------------------------------------- */

.fwt-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-4, 16px);
}

/* Theme-proof white chip chrome (v2.6.2) — same visited/link hardening
   as .fwt-back / .fwt-feedback-link so theme a:visited cannot paint blue. */
.fwt-portal a.fwt-link-chip,
.fwt-portal a.fwt-link-chip:link,
.fwt-portal a.fwt-link-chip:visited,
.fwt-portal a.fwt-link-chip:hover,
.fwt-portal a.fwt-link-chip:focus,
.fwt-portal a.fwt-link-chip:active {
	color: var(--md-text-high-dark, #ffffff) !important;
	text-decoration: none !important;
}

.fwt-link-chip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: var(--space-5, 24px) 20px;
	background: var(--md-surface-dark-variant, #1e5c7d);
	border: 1px solid var(--md-outline-on-dark, rgba(255, 255, 255, 0.24));
	border-radius: var(--shape-large, 0); /* square panels — deliberate */
	text-decoration: none;
	color: var(--md-text-high-dark, #ffffff);
	transition: transform var(--motion-duration-short, 150ms) var(--motion-standard, cubic-bezier(0.4, 0, 0.2, 1)),
		border-color var(--motion-duration-short, 150ms) var(--motion-standard, cubic-bezier(0.4, 0, 0.2, 1));
}

.fwt-link-chip:hover,
.fwt-link-chip:focus-visible {
	border-color: var(--md-accent-on-dark, #e0a06e);
	transform: translateY(-2px);
	text-decoration: none;
}

.fwt-link-chip:focus-visible {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color-on-dark, #ffffff);
	outline-offset: var(--focus-ring-offset, 2px);
}

.fwt-link-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

/* 17px + nowrap is load-bearing: falconwestenergy.com wraps mid-word at
   19px inside the panel. Don't scale up without widening the column. */
.fwt-link-label {
	color: var(--md-text-high-dark, #ffffff);
	font-size: 17px;
	font-weight: var(--weight-display-bold, 700);
	line-height: 1.3;
	white-space: nowrap;
}

.fwt-link-note {
	color: var(--md-text-medium-dark, rgba(255, 255, 255, 0.7));
	font-size: 14px;
}

.fwt-link-glyph {
	flex: none;
	font-size: 20px;
	line-height: 1;
	color: var(--md-accent-on-dark, #e0a06e);
}

/* ---- sign in ------------------------------------------------------------ */

/* :not([hidden]) keeps the UA's [hidden] { display: none } effective —
   a bare display: flex here would keep the card painted after unlock. */
.fwt-view--login:not([hidden]) {
	display: flex;
	justify-content: center;
	padding: var(--space-9, 96px) 0;
	position: relative;
	z-index: 2;
}

.fwt-login-card {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: 440px;
	padding: var(--space-6, 32px);
	background: var(--md-surface, #ffffff);
	border-radius: var(--shape-medium, 4px);
	box-shadow: var(--elevation-4, 0 2px 4px -1px rgba(8, 8, 8, 0.2), 0 4px 5px 0 rgba(8, 8, 8, 0.14), 0 1px 10px 0 rgba(8, 8, 8, 0.12));
}

.fwt-login-title {
	margin: 0 0 var(--space-2, 8px);
	color: var(--md-secondary, #15445D);
	font-family: var(--font-display, "Raleway", sans-serif);
	font-size: 1.375rem;
	font-weight: var(--weight-display-bold, 700);
}

.fwt-login-copy {
	margin: 0 0 var(--space-5, 24px);
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
	font-size: 0.9375rem;
	line-height: 1.5;
}

.fwt-login-label {
	display: block;
	margin-bottom: var(--space-2, 8px);
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
	font-size: 0.75rem;
	font-weight: var(--weight-display-medium, 600);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Theme-proof: navy portal pages sometimes inherit light input text. */
.fwt-portal .fwt-login-input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: var(--space-4, 16px);
	padding: 12px 14px;
	border: 1px solid var(--md-outline-strong, #8a8a8a);
	border-radius: var(--shape-small, 4px);
	font-size: 1rem;
	line-height: 1.4;
	background: #ffffff !important;
	color: rgba(8, 8, 8, 0.87) !important;
	caret-color: rgba(8, 8, 8, 0.87);
	-webkit-text-fill-color: rgba(8, 8, 8, 0.87);
	pointer-events: auto;
}

/* Fields are the design system's exception: the 2dp rust border IS the
   focus indicator (4.85:1) — no navy ring on top. */
.fwt-portal .fwt-login-input:focus {
	outline: none;
	border-color: var(--md-primary, #a85f2e);
	box-shadow: inset 0 0 0 1px var(--md-primary, #a85f2e);
}

.fwt-login-submit {
	display: block;
	width: 100%;
	padding: 13px 16px;
	border: 0;
	border-radius: var(--shape-small, 4px);
	background: var(--md-primary, #a85f2e);
	color: var(--md-on-primary, #ffffff);
	font-family: var(--font-display, "Raleway", sans-serif);
	font-size: 0.9375rem;
	font-weight: var(--weight-display-medium, 600);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--motion-duration-short, 150ms) ease;
}

.fwt-login-submit:hover:not(:disabled) {
	background: var(--md-primary-variant, #8a4d25);
}

.fwt-login-submit:focus-visible {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, #15445D);
	outline-offset: var(--focus-ring-offset, 2px);
}

.fwt-login-submit:disabled {
	opacity: 0.7;
	cursor: default;
}

.fwt-login-error {
	margin: var(--space-3, 12px) 0 0;
	color: var(--md-error, #b6432f);
	font-size: 0.875rem;
}

/* The sign-in view's message line doubles as the sign-out confirmation —
   neutral, not the error red. */
.fwt-login-error.fwt-login-status {
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
}

.fwt-login-help {
	margin: var(--space-4, 16px) 0 0;
	text-align: center;
	color: var(--md-text-medium, rgba(8, 8, 8, 0.6));
	font-size: 0.8125rem;
}

.fwt-login-help a,
.fwt-login-help a:link,
.fwt-login-help a:visited {
	color: var(--md-primary, #a85f2e);
	text-decoration: underline;
}

.fwt-login-help a:hover,
.fwt-login-help a:focus {
	color: var(--md-primary-variant, #8a4d25);
}

/* ---- tool chrome: back link + page head (bar removed v2.5.0) ------------ */

.fwt-tool-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3, 12px);
	margin-bottom: var(--space-3, 12px);
}

/* Tool-chrome Sign out — same on-dark treatment as the launcher control. */
.fwt-tool-nav .fwt-signout--tool {
	margin-left: auto;
	flex-shrink: 0;
}

/* WHITE in every state, theme-proof (v2.6.1): a theme's `.entry-content
   a` (0,1,1) outranks a single class, and `a:visited` was uncontested —
   the link rendered blue on the live site. Scoped + !important is the
   house answer (see .spdl-link and the doubled .fwt-tool-link). */
.fwt-portal a.fwt-back,
.fwt-portal a.fwt-back:link,
.fwt-portal a.fwt-back:visited,
.fwt-portal a.fwt-back:hover,
.fwt-portal a.fwt-back:focus,
.fwt-portal a.fwt-back:active {
	color: var(--md-text-high-dark, #ffffff) !important;
}

.fwt-back {
	font-size: 13px;
	font-weight: var(--weight-display-medium, 600);
	letter-spacing: 0.02em;
	text-decoration: none;
	white-space: nowrap;
}

.fwt-back:hover {
	text-decoration: underline;
}

.fwt-back:focus-visible {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color-on-dark, #ffffff);
	outline-offset: var(--focus-ring-offset, 2px);
}

.fwt-page-head {
	margin-bottom: 14px;
}

.fwt-page-title {
	margin: 0;
	color: var(--md-text-high-dark, #ffffff);
	font-family: var(--font-editorial, "Crimson Text", Georgia, serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.15;
}

.fwt-page-sub {
	margin: 4px 0 0;
	color: var(--md-text-medium-dark, rgba(255, 255, 255, 0.7));
	font-size: 13.5px;
}

/* ---- tool surfaces ------------------------------------------------------ */

/* The lookup/COPE tools were designed for light page backgrounds — give
   each one a white surface so their own styles read exactly as before. */
.fwt-tool-surface {
	padding: var(--space-5, 24px);
	background: var(--md-surface, #ffffff);
	border-radius: var(--shape-medium, 4px);
	box-shadow: var(--elevation-2, 0 3px 1px -2px rgba(8, 8, 8, 0.2), 0 2px 2px 0 rgba(8, 8, 8, 0.14), 0 1px 5px 0 rgba(8, 8, 8, 0.12));
}

/* The proposal builder's card is its own surface — the wrapper goes
   flush so the page shows one card, not a card in a panel. The portal's
   page head owns the title, so the renderer's wp-admin heading hides. */
.fwt-view--proposal .fwt-tool-surface {
	background: transparent;
	padding: 0;
	box-shadow: none;
	border-radius: 0;
}

.fwt-view--proposal .fwpb-form-title {
	display: none;
}

/* Photo Timestamp PDF utility: sit flush in the tool surface.
   Brand colors / type live in photo-timestamp-pdf.css (Core tokens). */
.fwt-view--photos .ptpdf-wrap {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* AM Best reference list (#ambest) */
.fwt-ambest {
	max-width: 48rem;
}

.fwt-ambest-meta {
	margin: 0 0 1.25rem;
	color: var(--md-on-surface-variant, #5c6670);
	font-size: 0.9rem;
}

.fwt-ambest-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.35rem;
}

.fwt-ambest-item {
	padding-bottom: 1.35rem;
	border-bottom: 1px solid color-mix(in srgb, var(--md-outline-variant, #c4c7c5) 70%, transparent);
}

.fwt-ambest-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.fwt-ambest-name {
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.3;
	color: var(--md-on-surface, #1a1c1e);
}

.fwt-ambest-full {
	margin-top: 0.15rem;
	font-size: 0.85rem;
	color: var(--md-on-surface-variant, #5c6670);
}

.fwt-ambest-body {
	margin-top: 0.45rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--md-on-surface, #1a1c1e);
}

.fwt-ambest-aliases {
	list-style: none;
	margin: 0.65rem 0 0;
	padding: 0 0 0 1.25rem;
	border-left: 2px solid color-mix(in srgb, var(--md-outline-variant, #c4c7c5) 80%, transparent);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.fwt-ambest-aliases li {
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--md-on-surface-variant, #5c6670);
}

/* ---- responsive --------------------------------------------------------- */

@media (max-width: 900px) {
	.fwt-portal {
		padding: 40px 24px 64px;
	}

	.fwt-cards,
	.fwt-utility-grid,
	.fwt-links {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 640px) {
	.fwt-view--login:not([hidden]) {
		padding: var(--space-6, 32px) 0;
	}
}
