/*
 * The hidden attribute must actually hide, v20.1.
 *
 * The browser's own rule is [hidden]{display:none}, which carries the
 * specificity of a single attribute selector. Any rule written as
 * .evtaxuk-thing{display:grid} beats it, so the element stays on screen while
 * the markup, the JavaScript and the developer all believe it is hidden.
 *
 * Six containers across the platform were doing exactly that. The Route
 * Planner showed a "Save journey" bar before a journey had been planned, and
 * the Charging Network showed an empty results grid under a map.
 *
 * Fixing the six selectors would have fixed those six. This fixes the class of
 * fault, including the next one somebody writes. It is deliberately the first
 * rule in the file and deliberately uses !important, which is the one place
 * that is warranted: no layout rule should ever outrank being hidden.
 */
[hidden]{display:none !important}

:root{
	--evtaxuk-navy:#0f172a;
	--evtaxuk-blue:#1d4ed8;
	--evtaxuk-blue-2:#2563eb;
	--evtaxuk-green:#16a34a;
	--evtaxuk-amber:#d97706;
	--evtaxuk-red:#dc2626;
	--evtaxuk-purple:#7c3aed;
	--evtaxuk-surface:#ffffff;
	--evtaxuk-surface-soft:#f8fafc;
	--evtaxuk-border:#e2e8f0;
	--evtaxuk-muted:#64748b;
	--evtaxuk-muted-2:#94a3b8;
	--evtaxuk-focus:rgba(37,99,235,.24);
	--evtaxuk-radius:18px;
	--evtaxuk-radius-sm:11px;
	--evtaxuk-shadow:0 10px 30px rgba(15,23,42,.06);
	--evtaxuk-shadow-strong:0 20px 55px rgba(15,23,42,.14);
	--evtaxuk-space-1:6px;
	--evtaxuk-space-2:10px;
	--evtaxuk-space-3:14px;
	--evtaxuk-space-4:18px;
	--evtaxuk-space-5:24px;
	--evtaxuk-space-6:32px;
	--evtaxuk-accent:var(--evtaxuk-blue);
	--evtaxuk-accent-soft:#eff6ff;
}
.evtaxuk-accent-green{
	--evtaxuk-accent:var(--evtaxuk-green);
	--evtaxuk-accent-soft:#f0fdf4;
}
.evtaxuk-corners-subtle{--evtaxuk-radius:10px;--evtaxuk-radius-sm:7px}
.evtaxuk-shadows-flat{--evtaxuk-shadow:none;--evtaxuk-shadow-strong:none}
.evtaxuk-density-compact{--evtaxuk-space-4:14px;--evtaxuk-space-5:18px;--evtaxuk-space-6:24px}
.evtaxuk-motion-off *{transition:none!important;animation:none!important}
.evtaxuk-platform-admin [class^="evtaxuk-"],
.evtaxuk-platform-admin [class*=" evtaxuk-"]{
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.evtaxuk-platform-admin [class*="__panel"],
.evtaxuk-platform-admin [class*="__stats"] article,
.evtaxuk-platform-admin [class*="__kpis"] article{
	border-color:var(--evtaxuk-border);
	box-shadow:var(--evtaxuk-shadow);
}
.evtaxuk-platform-admin button,
.evtaxuk-platform-admin .button,
.evtaxuk-platform-admin input,
.evtaxuk-platform-admin select,
.evtaxuk-platform-admin textarea{
	border-radius:var(--evtaxuk-radius-sm);
}
.evtaxuk-platform-admin button:focus,
.evtaxuk-platform-admin .button:focus,
.evtaxuk-platform-admin input:focus,
.evtaxuk-platform-admin select:focus,
.evtaxuk-platform-admin textarea:focus{
	outline:3px solid var(--evtaxuk-focus);
	outline-offset:2px;
	box-shadow:none!important;
}
.evtaxuk-ds-hero{
	display:flex;
	justify-content:space-between;
	gap:24px;
	align-items:center;
	padding:var(--evtaxuk-space-6);
	border-radius:24px;
	background:radial-gradient(circle at 85% 20%,rgba(34,197,94,.18),transparent 26%),linear-gradient(135deg,#081225,#153f73);
	color:#fff;
	box-shadow:var(--evtaxuk-shadow-strong);
}
.evtaxuk-ds-hero p{margin:0;color:#86efac;font-size:.72rem;font-weight:900;letter-spacing:.14em}
.evtaxuk-ds-hero h1{margin:8px 0;color:#fff;font-size:2.6rem}
.evtaxuk-ds-hero>div>span{color:#bfdbfe}
.evtaxuk-ds-version{min-width:170px;padding:16px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.08)}
.evtaxuk-ds-version span,.evtaxuk-ds-version strong,.evtaxuk-ds-version small{display:block}
.evtaxuk-ds-version strong{margin:5px 0;font-size:2rem}
.evtaxuk-design{max-width:1380px;margin-top:18px}
.evtaxuk-ds-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.evtaxuk-ds-panel{padding:var(--evtaxuk-space-5);border:1px solid var(--evtaxuk-border);border-radius:var(--evtaxuk-radius);background:var(--evtaxuk-surface);box-shadow:var(--evtaxuk-shadow)}
.evtaxuk-ds-panel.is-wide{grid-column:1/-1}
.evtaxuk-ds-heading span{color:var(--evtaxuk-accent);font-size:.68rem;font-weight:900;letter-spacing:.1em}
.evtaxuk-ds-heading h2{margin:5px 0}
.evtaxuk-ds-heading p{margin:0 0 16px;color:var(--evtaxuk-muted)}
.evtaxuk-ds-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.evtaxuk-ds-settings label{display:grid;gap:6px}
.evtaxuk-ds-settings label>span{font-weight:800}
.evtaxuk-ds-settings small{color:var(--evtaxuk-muted)}
.evtaxuk-ds-check{display:flex!important;gap:8px;align-items:center}
.evtaxuk-ds-button{
	min-height:42px;
	padding:0 16px;
	border:0;
	border-radius:var(--evtaxuk-radius-sm);
	background:var(--evtaxuk-accent);
	color:#fff;
	font-weight:800;
	cursor:pointer;
	transition:transform .18s,box-shadow .18s;
}
.evtaxuk-ds-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(29,78,216,.2)}
.evtaxuk-ds-button.is-secondary{background:#e2e8f0;color:var(--evtaxuk-navy)}
.evtaxuk-ds-preview{display:grid;gap:14px}
.evtaxuk-ds-card{padding:20px;border:1px solid var(--evtaxuk-border);border-radius:var(--evtaxuk-radius);background:linear-gradient(180deg,#fff,#f8fafc)}
.evtaxuk-ds-card span,.evtaxuk-ds-card strong,.evtaxuk-ds-card small{display:block}
.evtaxuk-ds-card span{color:var(--evtaxuk-accent);font-size:.68rem;font-weight:900}
.evtaxuk-ds-card strong{margin:6px 0;font-size:2.6rem}
.evtaxuk-ds-card small{color:var(--evtaxuk-green);font-weight:800}
.evtaxuk-ds-status-row{display:flex;flex-wrap:wrap;gap:8px}
.evtaxuk-ds-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900}
.evtaxuk-ds-badge.is-success{background:#dcfce7;color:#166534}
.evtaxuk-ds-badge.is-warning{background:#fef3c7;color:#92400e}
.evtaxuk-ds-badge.is-danger{background:#fee2e2;color:#b91c1c}
.evtaxuk-ds-badge.is-info{background:#dbeafe;color:#1d4ed8}
.evtaxuk-ds-form-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.evtaxuk-ds-form-preview label{display:grid;gap:6px}
.evtaxuk-ds-form-preview label span{font-weight:800}
.evtaxuk-ds-form-preview input,.evtaxuk-ds-form-preview select{width:100%;min-height:42px}
.evtaxuk-ds-token-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.evtaxuk-ds-token-grid>div{padding:14px;border:1px solid var(--evtaxuk-border);border-radius:var(--evtaxuk-radius-sm)}
.evtaxuk-ds-token-grid span{display:block;width:100%;height:54px;margin-bottom:10px;border-radius:8px;border:1px solid rgba(15,23,42,.08)}
.evtaxuk-ds-token-grid strong,.evtaxuk-ds-token-grid small{display:block}
.evtaxuk-ds-token-grid small{margin-top:3px;color:var(--evtaxuk-muted)}
.evtaxuk-ds-token-grid .is-navy{background:#0f172a}.evtaxuk-ds-token-grid .is-blue{background:#1d4ed8}.evtaxuk-ds-token-grid .is-green{background:#16a34a}.evtaxuk-ds-token-grid .is-amber{background:#d97706}.evtaxuk-ds-token-grid .is-red{background:#dc2626}.evtaxuk-ds-token-grid .is-surface{background:#fff}
@media(max-width:1000px){.evtaxuk-ds-layout{grid-template-columns:1fr}.evtaxuk-ds-panel.is-wide{grid-column:auto}.evtaxuk-ds-token-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.evtaxuk-ds-hero{align-items:flex-start;flex-direction:column}.evtaxuk-ds-settings,.evtaxuk-ds-form-preview,.evtaxuk-ds-token-grid{grid-template-columns:1fr}}

.evtaxuk-ds-navigation-status{
	display:flex;
	gap:8px;
	align-items:center;
	margin-top:14px;
	padding:13px 15px;
	border:1px solid #fde68a;
	border-radius:var(--evtaxuk-radius-sm);
	background:#fffbeb;
	color:#92400e;
}
.evtaxuk-ds-navigation-status.is-healthy{
	border-color:#bbf7d0;
	background:#f0fdf4;
	color:#166534;
}

.evtaxuk-portal-router{max-width:1200px;margin-top:18px}
.evtaxuk-portal-router__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.evtaxuk-portal-router__grid>section{padding:22px;border:1px solid var(--evtaxuk-border);border-radius:var(--evtaxuk-radius);background:#fff;box-shadow:var(--evtaxuk-shadow)}
.evtaxuk-portal-router form{display:grid;gap:13px}
.evtaxuk-portal-router form label{display:grid;gap:6px}
.evtaxuk-portal-router form label>span{font-weight:800}
.evtaxuk-portal-router form label.is-check{display:flex;gap:8px;align-items:center}
.evtaxuk-portal-router select{width:100%;min-height:42px}
.evtaxuk-portal-router__pages{display:grid;gap:8px}
.evtaxuk-portal-router__pages article{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--evtaxuk-border);border-radius:10px;background:#f8fafc}
.evtaxuk-portal-router__pages strong,.evtaxuk-portal-router__pages small{display:block}
.evtaxuk-portal-router__pages small{margin-top:3px;color:var(--evtaxuk-muted)}
.evtaxuk-portal-router__pages span{padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:900}
.evtaxuk-portal-router__pages .is-ready span{background:#dcfce7;color:#166534}
.evtaxuk-portal-router__pages .is-missing span{background:#fee2e2;color:#b91c1c}
.evtaxuk-portal-router__notice{margin-top:16px;padding:14px;border-left:4px solid #2563eb;background:#eff6ff;color:#475569}
@media(max-width:800px){.evtaxuk-portal-router__grid{grid-template-columns:1fr}}

/* v5.5.1 Frontend Design Framework recovery */
body.evtaxuk-portal-page{
	--evtaxuk-frontend-width:1380px;
	background:#f8fafc;
}
body.evtaxuk-portal-page .site-content{
	background:#f8fafc;
}
body.evtaxuk-portal-page .site-content > .ast-container,
body.evtaxuk-portal-page .site-content .ast-container,
body.evtaxuk-portal-page .entry-content,
body.evtaxuk-portal-page article.page{
	width:100%;
	max-width:none;
}
body.evtaxuk-portal-page .site-main,
body.evtaxuk-portal-page .content-area{
	width:100%;
	max-width:none;
}
body.evtaxuk-portal-page .entry-header{
	max-width:var(--evtaxuk-frontend-width);
	margin:32px auto 0;
	padding:0 20px;
}
body.evtaxuk-portal-page .entry-title{
	margin:0 0 10px;
	color:var(--evtaxuk-navy,#0f172a);
	font-size:clamp(1.7rem,3vw,2.25rem);
}
body.evtaxuk-portal-page .entry-content{
	margin:0;
	padding:0 20px 40px;
}
body.evtaxuk-portal-page .entry-content > [class^="evtaxuk-"],
body.evtaxuk-portal-page .entry-content > [class*=" evtaxuk-"]{
	width:100%;
	max-width:var(--evtaxuk-frontend-width);
	margin-left:auto;
	margin-right:auto;
}
body.evtaxuk-portal-page .entry-content p:empty{
	display:none;
}
body.evtaxuk-portal-page .evtaxuk-command,
body.evtaxuk-portal-page .evtaxuk-service,
body.evtaxuk-portal-page .evtaxuk-intelligence,
body.evtaxuk-portal-page .evtaxuk-notifications{
	margin-top:18px;
}
body.evtaxuk-portal-page .evtaxuk-command a,
body.evtaxuk-portal-page .evtaxuk-service a,
body.evtaxuk-portal-page .evtaxuk-intelligence a,
body.evtaxuk-portal-page .evtaxuk-notifications a{
	text-decoration:none;
}
body.evtaxuk-portal-page.evtaxuk-portal-owner-command-centre .entry-header,
body.evtaxuk-portal-page.evtaxuk-portal-service-centre .entry-header,
body.evtaxuk-portal-page.evtaxuk-portal-intelligence-centre .entry-header,
body.evtaxuk-portal-page.evtaxuk-portal-notifications .entry-header{
	margin-bottom:0;
}
body.evtaxuk-portal-page .evtaxuk-billing{
	max-width:var(--evtaxuk-frontend-width);
	margin:18px auto;
	padding:0;
}
body.evtaxuk-portal-page .evtaxuk-billing__membership,
body.evtaxuk-portal-page [class*="evtaxuk-billing"]{
	border-radius:var(--evtaxuk-radius,18px);
}
@media(max-width:782px){
	body.evtaxuk-portal-page .entry-header,
	body.evtaxuk-portal-page .entry-content{
		padding-left:14px;
		padding-right:14px;
	}
}

.evtaxuk-diagnostics{max-width:1200px}
.evtaxuk-diagnostics__summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border-radius:14px;background:linear-gradient(135deg,#081225,#153f73);color:#fff}
.evtaxuk-diagnostics__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.evtaxuk-diagnostics__grid section{padding:18px;border:1px solid var(--evtaxuk-border);border-radius:14px;background:#fff;box-shadow:var(--evtaxuk-shadow)}
@media(max-width:800px){.evtaxuk-diagnostics__grid{grid-template-columns:1fr}}

/*
 * Signed-out messages (v15.3)
 *
 * Twelve modules styled their own "please sign in" box and five did not, so a
 * signed-out visitor saw a card on most pages and bare unstyled text on the
 * rest. Grouped here so every page presents the same thing.
 */
.evtaxuk-membership__signin,
.evtaxuk-subscription__signin,
.evtaxuk-copilot__signin,
.evtaxuk-copilot-v2__signin,
.evtaxuk-predictive__signin{
	max-width:1380px;
	margin:20px auto;
	padding:18px;
	border:1px solid var(--evtaxuk-border);
	border-radius:var(--evtaxuk-radius);
	background:var(--evtaxuk-surface);
	box-shadow:var(--evtaxuk-shadow);
	color:var(--evtaxuk-muted);
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/*
 * Powertrain guard (v16.0)
 *
 * Shown when an EV-only module cannot safely advise. Deliberately prominent:
 * this replaces advice rather than decorating it.
 */
.evtaxuk-powertrain-guard{
	max-width:1380px;
	margin:16px auto;
	padding:22px;
	border:1px solid var(--evtaxuk-border);
	border-left:5px solid var(--evtaxuk-amber);
	border-radius:var(--evtaxuk-radius);
	background:#fffbeb;
	box-shadow:var(--evtaxuk-shadow);
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.evtaxuk-powertrain-guard.is-not_applicable{border-left-color:var(--evtaxuk-red);background:#fef2f2}
.evtaxuk-powertrain-guard h2{margin:0 0 8px;font-size:1.15rem}
.evtaxuk-powertrain-guard p{margin:0 0 16px;color:var(--evtaxuk-muted);line-height:1.55}
.evtaxuk-powertrain-guard__choose{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.evtaxuk-powertrain-guard__choose label{font-size:.8rem;font-weight:800;color:var(--evtaxuk-muted)}
.evtaxuk-powertrain-guard__choose select{padding:9px 10px;border:1px solid var(--evtaxuk-border);border-radius:var(--evtaxuk-radius-sm);background:#fff;font:inherit}
.evtaxuk-powertrain-guard__choose button{padding:9px 15px;border:0;border-radius:9px;background:var(--evtaxuk-blue-2);color:#fff;font-weight:800;cursor:pointer}
.evtaxuk-powertrain-guard__choose button[disabled]{opacity:.55;cursor:progress}
.evtaxuk-powertrain-guard__choose small{color:var(--evtaxuk-muted)}
@media(max-width:650px){
	.evtaxuk-powertrain-guard__choose{align-items:stretch;flex-direction:column}
}

/* Registration lookup, v19.0.
 *
 * Presented above the manual choice because it answers the question for the
 * customer instead of asking it. The manual route stays visible underneath:
 * the lookup can fail, and the DVLA record can be wrong.
 */
.evtaxuk-powertrain-guard__lookup{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	padding:0 0 18px;
	margin:0 0 16px;
	border-bottom:1px dashed var(--evtaxuk-border);
}
.evtaxuk-powertrain-guard__lookup label{font-size:.8rem;font-weight:800;color:var(--evtaxuk-muted)}
.evtaxuk-powertrain-guard__lookup input{
	padding:9px 12px;
	border:1px solid var(--evtaxuk-border);
	border-radius:var(--evtaxuk-radius-sm);
	background:#fff;
	font:inherit;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
	width:9.5em;
}
.evtaxuk-powertrain-guard__lookup button{
	padding:9px 15px;
	border:0;
	border-radius:9px;
	background:var(--evtaxuk-blue-2);
	color:#fff;
	font-weight:800;
	cursor:pointer;
}
.evtaxuk-powertrain-guard__lookup button[disabled]{opacity:.55;cursor:progress}
.evtaxuk-powertrain-guard__lookup-note{
	flex:1 1 100%;
	margin:0;
	font-size:.8rem;
	line-height:1.5;
	color:var(--evtaxuk-muted);
}
.evtaxuk-powertrain-guard__or{margin:0 0 12px;font-size:.8rem;font-weight:800;color:var(--evtaxuk-muted)}
.evtaxuk-powertrain-guard__found{
	flex:1 1 100%;
	margin:4px 0 0;
	padding:14px 16px;
	border:1px solid var(--evtaxuk-border);
	border-radius:var(--evtaxuk-radius-sm);
	background:#fff;
	font-size:.88rem;
}
.evtaxuk-powertrain-guard__found h3{margin:0 0 10px;font-size:.95rem}
.evtaxuk-powertrain-found__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 18px}
.evtaxuk-powertrain-found__row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid #f1f5f9}
.evtaxuk-powertrain-found__row span{color:var(--evtaxuk-muted)}
.evtaxuk-powertrain-found__note{margin:12px 0 0;line-height:1.55;color:var(--evtaxuk-muted)}
.evtaxuk-powertrain-found__done{margin:10px 0 0;font-weight:800;color:var(--evtaxuk-green,#15803d)}
.evtaxuk-powertrain-found__ask{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.evtaxuk-powertrain-found__option{
	padding:9px 15px;
	border:1px solid var(--evtaxuk-border);
	border-radius:9px;
	background:#f8fafc;
	font:inherit;
	font-weight:800;
	cursor:pointer;
}
.evtaxuk-powertrain-found__option:hover{background:#eef2f7}
.evtaxuk-powertrain-found__option[disabled]{opacity:.55;cursor:progress}
@media(max-width:650px){
	.evtaxuk-powertrain-guard__lookup{align-items:stretch;flex-direction:column}
	.evtaxuk-powertrain-guard__lookup input{width:100%}
}
