/* EstateFoxy Pure UI v2 — semantic, replaceable theme tokens */
:root,[data-ef-theme="light"]{
 color-scheme:light;
 --ef-bg:#fff;--ef-surface:#fff;--ef-soft:#f5f5f2;--ef-ink:#141715;--ef-muted:#626a66;
 --ef-line:#1c231e;--ef-line-soft:#d9ddd9;--ef-accent:#b7df42;--ef-accent-ink:#142012;
 --ef-danger:#b62f36;--ef-warning:#896000;--ef-success:#256c42;--ef-info:#235e89;
 --ef-focus:#4c75d9;--ef-overlay:rgba(0,0,0,.53);
 --ef-font:Inter,Arial,Helvetica,sans-serif;--ef-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
 --ef-text-xs:.75rem;--ef-text-sm:.875rem;--ef-text-md:1rem;--ef-text-lg:1.25rem;
 --ef-space-1:.25rem;--ef-space-2:.5rem;--ef-space-3:.75rem;--ef-space-4:1rem;
 --ef-space-5:1.25rem;--ef-space-6:1.5rem;--ef-space-8:2rem;--ef-space-12:3rem;
 --ef-space-16:4rem;--ef-space-20:5rem;--ef-radius:0;--ef-radius-soft:3px;
 --ef-container:1100px;--ef-header-height:76px;--ef-control-height:42px;
 --ef-duration:150ms;--ef-ease:cubic-bezier(.2,.7,.3,1);
}
[data-ef-theme="dark"]{
 color-scheme:dark;--ef-bg:#141715;--ef-surface:#191e1b;--ef-soft:#232b25;--ef-ink:#f0f3ef;
 --ef-muted:#b5c0b8;--ef-line:#b3c0b5;--ef-line-soft:#465148;
 --ef-accent:#b7df42;--ef-accent-ink:#142012;--ef-danger:#ff9197;--ef-warning:#e4bb6a;
 --ef-success:#a3e1b6;--ef-info:#9fcbea;--ef-focus:#90aaff;--ef-overlay:rgba(0,0,0,.72)
}
@media(prefers-reduced-motion:reduce){:root{--ef-duration:0ms}}

:root {
  --ef-color-text: var(--ef-ink);
  --ef-color-text-muted: var(--ef-muted);
  --ef-color-surface: var(--ef-surface);
  --ef-color-surface-muted: var(--ef-soft);
  --ef-color-surface-raised: var(--ef-surface);
  --ef-color-border: var(--ef-line-soft);
  --ef-color-brand: var(--ef-ink);
  --ef-color-brand-hover: var(--ef-muted);
  --ef-color-on-brand: var(--ef-bg);
  --ef-color-accent: var(--ef-accent);
  --ef-color-focus: var(--ef-focus);
  --ef-color-success: var(--ef-success);
  --ef-color-success-surface: var(--ef-soft);
  --ef-color-warning: var(--ef-warning);
  --ef-color-warning-surface: var(--ef-soft);
  --ef-color-danger: var(--ef-danger);
  --ef-color-danger-surface: var(--ef-soft);
  --ef-color-info: var(--ef-info);
  --ef-color-info-surface: var(--ef-soft);
  --ef-font-body: var(--ef-font);
  --ef-font-display: var(--ef-font);
  --ef-font-mono: var(--ef-mono);
  --ef-space-10: 2.5rem;
  --ef-font-size-xs: 0.75rem;
  --ef-font-size-sm: 0.875rem;
  --ef-font-size-md: 1rem;
  --ef-font-size-lg: 1.25rem;
  --ef-line-height-tight: 1.2;
  --ef-line-height-body: 1.5;
  --ef-radius-sm: 0;
  --ef-radius-md: 0;
  --ef-radius-lg: 0;
  --ef-radius-pill: 0;
  --ef-shadow-sm: none;
  --ef-shadow-raised: none;
  --ef-header-height-mobile: 124px;
  --ef-toolbar-height: 2.75rem;
  --ef-control-height-compact: 2.25rem;
  --ef-control-min-size: 44px;
  --ef-icon-size: 1.25rem;
  --ef-icon-button-size: 44px;
  --ef-sidebar-width: 13.5rem;
  --ef-sidebar-width-collapsed: 3.75rem;
  --ef-panel-width: clamp(20rem, 28vw, 25rem);
  --ef-panel-width-wide: clamp(24rem, 36vw, 32rem);
  --ef-drawer-width: clamp(18.75rem, 23vw, 21.25rem);
  --ef-dialog-width-sm: 24rem;
  --ef-dialog-width-md: 32rem;
  --ef-dialog-width-lg: 48rem;
  --ef-popup-width: 22rem;
  --ef-card-padding: var(--ef-space-6);
  --ef-section-gap: var(--ef-space-6);
  --ef-form-gap: var(--ef-space-3);
  --ef-table-cell-padding: 0.7rem;
  --ef-map-control-size: 44px;
  --ef-content-max: 72rem;
  --ef-breakpoint-mobile: 42rem;
  --ef-breakpoint-tablet: 60rem;
  --ef-breakpoint-wide: 80rem;
  --ef-z-map: 1;
  --ef-z-map-control: 10;
  --ef-z-drawer: 30;
  --ef-z-header: 50;
  --ef-z-dialog: 100;
  --ef-z-skip-link: 1000;
  --ef-duration-fast: 160ms;
  --ef-duration-normal: 240ms;
  --ef-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ef-color-brand-contrast: var(--ef-bg);
  --ef-color-brand-strong: var(--ef-ink);
  --ef-color-brand-soft: var(--ef-soft);
  --ef-color-bg: var(--ef-bg);
  --background: var(--ef-bg);
  --foreground: var(--ef-ink);
  --muted: var(--ef-soft);
  --muted-foreground: var(--ef-muted);
  --popover: var(--ef-surface);
  --card: var(--ef-surface);
  --border: var(--ef-line-soft);
  --primary: var(--ef-ink);
  --primary-foreground: var(--ef-bg);
  --secondary: var(--ef-soft);
  --accent: var(--ef-accent);
  --ring: var(--ef-focus);
  --radius: 0;
  --ef-pure-header-height: 62px;
  --ef-pure-control-height: 42px;
  --ef-pure-duration: var(--ef-duration);
  --ef-pure-ease: var(--ef-ease);
  --ef-content-gutter: clamp(1rem, 2.4vw, 2.5rem);
  --ef-content-wide: 1440px;
  --ef-header-mobile-height: 124px;
  --ef-accent-hover: #caef64;
  --ef-inverse-surface: #141715;
  --ef-inverse-text: #f0f3ef;
  --ef-inverse-muted: #b5c0b8;
  --ef-disabled-opacity: .45;
  --input: var(--ef-line-soft);
  --destructive: var(--ef-danger);
  --space-2: var(--ef-space-2);
  --space-3: var(--ef-space-3);
  --space-4: var(--ef-space-4);
  --radius-lg: 0;
  --shadow-sm: none;
}

/* Established markup aliases resolve to this one semantic palette. */
:root {
 --bg:var(--ef-bg); --bg-alt:var(--ef-soft); --surface:var(--ef-surface); --surface-2:var(--ef-surface);
 --accent-mid:var(--ef-accent); --accent-light:var(--ef-accent); --accent-dark:var(--ef-ink);
 --accent-ghost:var(--ef-soft); --accent-border:var(--ef-line-soft);
 --text-1:var(--ef-ink); --text-2:var(--ef-muted); --text-3:var(--ef-muted);
 --shadow-md:none; --shadow-lg:none; --silk:var(--ef-ease); --silk-dur:var(--ef-duration);
 --ef-border:var(--ef-line-soft); --ef-text-muted:var(--ef-muted); --ef-color-primary:var(--ef-ink);
 --ef-font-size-base:var(--ef-text-md); --ops-border:var(--ef-line-soft);
 --ef-status-surface:var(--ef-soft);
}

:root{--ef-logo-surface:#fff;--ef-inverse-danger:#ff9197}

/* Analytical series are distinct from action and evidence-state colours. */
:root,[data-ef-theme="light"]{
 --ef-series-1:#235e89;--ef-series-2:#a34815;--ef-series-3:#256c42;
 --ef-series-4:#7554a3;--ef-series-5:#a03468;--ef-series-6:#626a66;
 --ef-activity-0:#edf0ed;--ef-activity-1:#d2ead9;--ef-activity-2:#9bd1ad;--ef-activity-3:#398454;--ef-activity-4:#205b36;
 --ef-media-radius:14px;--ef-media-shadow:0 8px 24px rgba(20,23,21,.16);
}
[data-ef-theme="dark"]{
 --ef-series-1:#9fcbea;--ef-series-2:#e9ad81;--ef-series-3:#a3e1b6;
 --ef-series-4:#c8afea;--ef-series-5:#eca4c4;--ef-series-6:#b5c0b8;
 --ef-activity-0:#232b25;--ef-activity-1:#d2ead9;--ef-activity-2:#9bd1ad;--ef-activity-3:#398454;--ef-activity-4:#205b36;
}
:root{
 --ef-color-success-surface:color-mix(in srgb,var(--ef-success) 9%,var(--ef-surface));
 --ef-color-warning-surface:color-mix(in srgb,var(--ef-warning) 9%,var(--ef-surface));
 --ef-color-danger-surface:color-mix(in srgb,var(--ef-danger) 9%,var(--ef-surface));
 --ef-color-info-surface:color-mix(in srgb,var(--ef-info) 9%,var(--ef-surface));
}

:root{--ef-map-ru:#14b8a6;--ef-map-cell:#3b82f6;--ef-map-accepted:#15803d;--ef-map-pending:#d97706}

/* Fixed cartographic keys match the governed MapLibre data palettes in island.ts. */
:root{
 --ef-map-count-1:#fff7bc;
 --ef-map-count-2:#fec44f;
 --ef-map-count-3:#fe9929;
 --ef-map-count-4:#ec7014;
 --ef-map-count-5:#b10026;
 --ef-map-price-1:#dcfce7;
 --ef-map-price-2:#b1f6ca;
 --ef-map-price-3:#86efac;
 --ef-map-price-4:#4eb875;
 --ef-map-price-5:#15803d;
 --ef-map-usage-1:#e0f2fe;
 --ef-map-usage-2:#93c5fd;
 --ef-map-usage-3:#38bdf8;
 --ef-map-usage-4:#2563eb;
 --ef-map-usage-5:#172554;
 --ef-map-no-evidence:#d1d5db;--ef-map-unavailable:#64748b;
}

/* Google branding is fixed in both themes; the logo sits on white. */
:root{--ef-google-surface:#fff;--ef-google-text:#1f1f1f;--ef-google-border:#747775;--ef-google-blue:#4285f4;--ef-google-red:#ea4335;--ef-google-yellow:#fbbc05;--ef-google-green:#34a853;--ef-auth-backdrop:rgba(20,23,21,.58)}
/* EstateFoxy Pure UI: layout and components; tokens are centralized. */
.ef-site-header{position:sticky;inset:0 0 auto;z-index:1000;box-sizing:border-box;width:100%;height:var(--ef-header-height);flex-shrink:0;border-bottom:1px solid color-mix(in srgb, var(--ef-line-soft) 18.0392%, transparent);background:var(--ef-inverse-surface);color:var(--ef-inverse-text);font:14px/1.45 Inter,Arial,Helvetica,sans-serif;}
.ef-site-header *{box-sizing:border-box;}
.ef-site-header .nav-inner{display:flex;width:100%;max-width:1600px;height:100%;align-items:center;gap:clamp(10px,1.25vw,22px);margin:0 auto;padding:0 clamp(16px,2vw,32px);}
.ef-site-header .ef-site-logo{display:flex;width:196px;height:64px;flex:0 0 196px;align-items:center;justify-content:flex-start;overflow:hidden;}
.ef-site-header .ef-site-logo img{display:block;width:196px;height:62px;max-width:100%;object-fit:contain;object-position:left center;background:var(--ef-logo-surface);}
.ef-site-header .ef-location-search{position:relative;display:flex;width:min(34vw,560px);min-width:260px;height:46px;flex:1 1 560px;}
.ef-site-header .ef-location-search input{width:100%;min-width:0;padding:10px 16px;border:1px solid color-mix(in srgb, var(--ef-line-soft) 36.0784%, transparent);border-radius:0;background:var(--ef-surface);color:var(--ef-ink);font:600 14px Inter,Arial,Helvetica,sans-serif;}
.ef-site-header .ef-location-search button{min-width:88px;padding:0 18px;border:1px solid var(--ef-line);border-left:0;border-radius:0;background:var(--ef-ink);color:var(--ef-bg);font-weight:800;cursor:pointer;}
.ef-site-header .ef-location-search input:focus{outline:2px solid var(--ef-line-soft);outline-offset:1px;}
.ef-site-header .ef-location-search button:hover{background:var(--ef-accent);}
.ef-site-header .ef-location-results{position:absolute;z-index:1100;top:47px;right:0;left:0;display:grid;gap:2px;padding:6px;border:1px solid var(--ef-line-soft);border-radius:0;background:var(--ef-surface);box-shadow:none;}
.ef-site-header .ef-location-results[hidden]{display:none;}
.ef-site-header .ef-location-results button{width:100%;padding:9px;border-radius:0;background:var(--ef-surface);color:var(--ef-ink);text-align:left;}
.ef-site-header .ef-location-results button:hover{background:var(--ef-soft);}
.ef-site-header .ef-location-results small{display:block;color:var(--ef-ink);}
.ef-site-header .nav-links{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:2px;margin:0;padding:0;list-style:none;}
.ef-site-header .nav-links a{display:flex;min-height:44px;align-items:center;padding:10px 13px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--ef-ink);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
.ef-site-header .nav-links a:hover,.ef-site-header .nav-links a[aria-current=page]{border-color:color-mix(in srgb, var(--ef-line-soft) 27.0588%, transparent);background:var(--ef-soft);color:var(--ef-muted);}
.ef-site-header .ef-header-account{position:relative;display:flex;min-width:0;flex:0 0 auto;align-items:center;gap:8px;}
.ef-site-header .ef-session-links{display:flex;align-items:center;gap:8px;}
.ef-site-header .ef-profile-entry,.ef-site-header .ef-backoffice-entry,.ef-site-header .landing-account-entry,.ef-site-header .ef-login-menu>summary{display:flex;min-height:44px;align-items:center;margin:0;padding:10px 13px;border:1px solid color-mix(in srgb, var(--ef-line-soft) 25.098%, transparent);border-radius:0;background:transparent;color:var(--ef-ink);font:700 12px/1.4 Inter,Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;}
.ef-site-header .ef-backoffice-entry,.ef-site-header a[href="/register"]{border-color:var(--ef-line-soft);background:var(--ef-soft);color:var(--ef-ink);}
.ef-site-header .ef-profile-entry:hover,.ef-site-header .ef-profile-entry[aria-current=page],.ef-site-header .ef-backoffice-entry:hover,.ef-site-header .ef-backoffice-entry[aria-current=page]{border-color:var(--ef-line-soft);box-shadow:none;}
.ef-site-header details{position:relative;}
.ef-site-header summary{list-style:none;}
.ef-site-header summary::-webkit-details-marker{display:none;}
.ef-site-header .ef-profile-menu>summary{min-width:44px;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;}
.ef-site-header .ef-avatar{display:grid;width:34px;height:34px;place-items:center;border:2px solid var(--ef-line-soft);border-radius:0;background:var(--ef-soft);color:var(--ef-ink);font-size:13px;font-weight:900;}
.ef-site-header .ef-profile-identity{display:grid;min-width:0;max-width:180px;line-height:1.15;}
.ef-site-header .ef-profile-email{overflow:hidden;color:var(--ef-ink);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;}
.ef-site-header .ef-user-id{display:block;max-width:180px;overflow:hidden;background:transparent;color:var(--ef-muted);font:600 9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap;}
.ef-site-header .ef-login-popover,.ef-site-header .ef-account-popover{position:absolute;z-index:1100;top:calc(100% + 10px);right:0;display:grid;width:min(310px,calc(100vw - 24px));gap:11px;padding:16px;border:1px solid var(--ef-line-soft);border-radius:0;background:var(--ef-surface);color:var(--ef-ink);box-shadow:none;}
.ef-site-header .ef-login-popover label{display:grid;gap:5px;color:var(--ef-ink);font-size:11px;font-weight:750;}
.ef-site-header .ef-login-popover input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--ef-line-soft);border-radius:0;background:var(--ef-surface);color:var(--ef-ink);font:14px Arial,sans-serif;}
.ef-site-header .ef-login-popover button,.ef-site-header .ef-account-popover button{min-height:40px;border:0;border-radius:0;background:var(--ef-soft);color:var(--ef-ink);font-weight:800;cursor:pointer;}
.ef-site-header .ef-account-popover .ef-user-id{max-width:100%;padding:7px 9px;border-radius:0;background:var(--ef-soft);color:var(--ef-ink);white-space:normal;overflow-wrap:anywhere;}
.ef-site-header .ef-account-popover strong{overflow:hidden;text-overflow:ellipsis;}
.ef-site-header .ef-account-popover a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:var(--ef-ink);font-weight:750;text-decoration:none;}
.ef-site-header .ef-account-popover form{display:grid;}
.ef-site-header a:focus-visible,.ef-site-header summary:focus-visible,.ef-site-header button:focus-visible{outline:2px solid var(--ef-line-soft);outline-offset:3px;}
.ef-site-header-space{display:none;}
.ef-location-marker{width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#d44747;box-shadow:0 2px 10px #0008;}
body.ops-body .ops-global-header{position:sticky;z-index:1000;top:0;display:block!important;width:100%;height:var(--ef-header-height)!important;}
body.ops-body .ops-global-header .ef-site-header .nav-inner{max-width:1520px;padding:0 24px;}
body.ops-body .ops-global-header .ef-site-header .ef-site-logo{width:210px;height:68px;flex-basis:210px;}
body.ops-body .ops-global-header .ef-site-header .ef-site-logo img{width:210px;height:66px;}
@media (max-width:1100px){
.ef-site-header .nav-inner{gap:8px;padding-inline:14px;}
.ef-site-header .ef-site-logo,body.ops-body .ops-global-header .ef-site-header .ef-site-logo{width:160px;flex-basis:160px;}
.ef-site-header .ef-site-logo img,body.ops-body .ops-global-header .ef-site-header .ef-site-logo img{width:160px;}
.ef-site-header .ef-location-search{max-width:420px;min-width:190px;}
.ef-site-header .ef-profile-identity{display:none;}
}
@media (max-width:700px){
.ef-site-header{height:var(--ef-header-mobile-height);}
.ef-site-header .nav-inner,body.ops-body .ops-global-header .ef-site-header .nav-inner{display:grid;grid-template-columns:minmax(112px,1fr) auto auto;grid-template-rows:60px 48px;height:100%;gap:6px;padding:4px 10px 8px;}
.ef-site-header .ef-site-logo,body.ops-body .ops-global-header .ef-site-header .ef-site-logo{grid-column:1;grid-row:1;width:148px;height:54px;flex-basis:auto;justify-content:flex-start;}
.ef-site-header .ef-site-logo img,body.ops-body .ops-global-header .ef-site-header .ef-site-logo img{width:148px;height:54px;}
.ef-site-header .nav-links{grid-column:2;grid-row:1;gap:0;}
.ef-site-header .ef-header-account{grid-column:3;grid-row:1;gap:3px;}
.ef-site-header .ef-location-search{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-width:0;height:44px;}
.ef-site-header .ef-location-results{top:49px;}
.ef-site-header .nav-links a,.ef-site-header .ef-profile-entry,.ef-site-header .ef-backoffice-entry,.ef-site-header .landing-account-entry,.ef-site-header .ef-login-menu>summary{min-height:44px;padding:7px 8px;font-size:11px;}
.ef-site-header .ef-session-links{gap:3px;}
.ef-site-header .ef-avatar{width:36px;height:36px;}
.ef-site-header .ef-login-popover,.ef-site-header .ef-account-popover{position:fixed;top:120px;right:8px;}
body.ops-body .ops-global-header{height:var(--ef-header-mobile-height)!important;}
}
@media (max-width:470px){
.ef-site-header .nav-inner,body.ops-body .ops-global-header .ef-site-header .nav-inner{grid-template-columns:minmax(96px,1fr) auto auto;gap:3px;}
.ef-site-header .ef-site-logo,body.ops-body .ops-global-header .ef-site-header .ef-site-logo,.ef-site-header .ef-site-logo img,body.ops-body .ops-global-header .ef-site-header .ef-site-logo img{width:126px;}
.ef-site-header .nav-links a,.ef-site-header .ef-profile-entry,.ef-site-header .ef-backoffice-entry,.ef-site-header .landing-account-entry,.ef-site-header .ef-login-menu>summary{padding-inline:6px;}
.ef-site-header .ef-backoffice-entry{display:none;}
}
.ef-confirmation-notice{position:fixed;z-index:1050;inset:calc(var(--ef-header-height) + 16px + env(safe-area-inset-top,0px)) 16px auto;display:flex;align-items:flex-start;gap:14px;box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - var(--ef-header-height) - 32px);overflow:auto;margin:0 auto;padding:18px;border:1px solid var(--ef-warning);border-inline-start:3px solid var(--ef-warning);border-radius:0;background:var(--ef-soft);color:var(--ef-warning);box-shadow:none;font:14px/1.5 system-ui,sans-serif;}
.ef-confirmation-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:0;background:var(--ef-soft);font-size:23px;line-height:1;}
.ef-confirmation-content{flex:1;min-width:0;overflow-wrap:anywhere;}
.ef-confirmation-notice h2{margin:0 0 4px;color:var(--ef-warning);font-size:16px;font-weight:700;line-height:1.4;}
.ef-confirmation-notice p{margin:0;color:var(--ef-warning);font-size:13px;line-height:1.55;}
.ef-confirmation-notice .ef-confirmation-action{display:inline-block;margin-top:10px;color:var(--ef-warning);font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:3px;}
.ef-confirmation-notice .ef-confirmation-action:hover{color:var(--ef-warning);}
.ef-confirmation-notice form{flex:0 0 44px;margin:-10px -10px 0 0;padding:0;}
.ef-confirmation-notice .ef-confirmation-close{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;border-radius:0;background:transparent;color:var(--ef-warning);cursor:pointer;}
.ef-confirmation-notice .ef-confirmation-close:hover{background:var(--ef-soft);color:var(--ef-warning);}
.ef-confirmation-notice a:focus-visible,.ef-confirmation-notice button:focus-visible{outline:2px solid var(--ef-warning);outline-offset:3px;}
@media (max-width:700px){
.ef-confirmation-notice{top:calc(var(--ef-header-mobile-height) + 12px + env(safe-area-inset-top,0px));max-height:calc(100dvh - var(--ef-header-mobile-height) - 24px);gap:10px;padding:16px;}
.ef-confirmation-icon{flex-basis:32px;width:32px;height:32px;font-size:20px;}
}
.ef-analytics-banner,.ef-analytics-consent{box-sizing:border-box;background:var(--ef-color-surface,var(--ef-surface));color:var(--ef-color-text,var(--ef-ink));font:14px/1.5 var(--ef-font-body,system-ui,sans-serif);}
.ef-analytics-banner *,.ef-analytics-consent *{box-sizing:border-box;}
.ef-analytics-banner{position:fixed;inset:auto 0 0;z-index:1200;max-height:60dvh;overflow:auto;padding:20px 24px;border-top:1px solid var(--ef-color-border,var(--ef-line-soft));box-shadow:none;}
.ef-consent-banner-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;gap:24px;max-width:1160px;margin:auto;}
.ef-consent-copy{display:grid;gap:8px;}
.ef-consent-copy h2,.ef-analytics-consent h2{margin:0;font-size:20px;font-weight:700;line-height:1.35;}
.ef-consent-copy p,.ef-analytics-consent p{margin:0;line-height:1.5;}
.ef-consent-copy small,.ef-consent-category small{color:var(--ef-color-text-muted,var(--ef-ink));font-size:12px;line-height:1.5;}
.ef-consent-copy .ef-consent-eyebrow{color:var(--ef-color-brand,var(--ef-ink));font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.ef-consent-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.ef-consent-decision,.ef-consent-customize{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--ef-color-brand,var(--ef-line));border-radius:0;background:var(--ef-surface);color:var(--ef-color-brand,var(--ef-ink));font:600 14px/1.35 var(--ef-font-body,system-ui,sans-serif);cursor:pointer;text-align:center;}
.ef-consent-decision:hover{background:var(--ef-color-surface-muted,var(--ef-soft));}
.ef-consent-customize{grid-column:1/-1;border-color:var(--ef-color-border,var(--ef-line-soft));color:var(--ef-color-text,var(--ef-ink));}
.ef-consent-policy{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;}
.ef-consent-policy a{color:var(--ef-color-brand,var(--ef-ink));text-underline-offset:3px;}
.ef-analytics-banner button:focus-visible,.ef-analytics-banner a:focus-visible,.ef-analytics-consent button:focus-visible,.ef-analytics-consent input:focus-visible,.ef-analytics-consent a:focus-visible{outline:3px solid var(--ef-color-focus,var(--ef-line));outline-offset:3px;}
.ef-analytics-consent{position:fixed;inset:auto 0 16px;width:min(640px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:0 auto;padding:24px;border:1px solid var(--ef-color-border,var(--ef-line-soft));border-radius:0;box-shadow:none;overflow:auto;}
.ef-analytics-consent::backdrop{background:color-mix(in srgb, var(--ef-ink) 40%, transparent);}
.ef-analytics-consent form{display:grid;gap:20px;}
.ef-analytics-consent header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ef-consent-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--ef-color-border,var(--ef-line-soft));border-radius:0;background:var(--ef-surface);color:inherit;font:24px/1 system-ui;cursor:pointer;}
.ef-consent-category{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid var(--ef-color-border,var(--ef-line-soft));border-radius:0;background:var(--ef-color-surface-muted,var(--ef-surface));}
.ef-consent-category strong,.ef-consent-category small{display:block;}
.ef-consent-category small{margin-top:4px;}
.ef-consent-category input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--ef-color-brand,var(--ef-ink));cursor:pointer;}
.ef-consent-badge{white-space:nowrap;color:var(--ef-color-brand,var(--ef-ink));font-size:12px;font-weight:700;}
.ef-consent-category input[role="switch"]{appearance:none;position:relative;flex:0 0 44px;width:44px;height:26px;margin:0;border:1px solid var(--ef-line-soft);border-radius:0;background:var(--ef-soft);}
.ef-consent-category input[role="switch"]::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--ef-surface);box-shadow:none;}
.ef-consent-category input[role="switch"]:checked{background:var(--ef-color-brand,var(--ef-ink));border-color:var(--ef-color-brand,var(--ef-line));}
.ef-consent-category input[role="switch"]:checked::before{left:20px;}
.ef-analytics-policy-entry{margin-top:16px;text-align:left;}
@media (max-width:600px){
.ef-analytics-banner{padding:16px;}
.ef-consent-banner-inner{grid-template-columns:1fr;gap:16px;}
.ef-analytics-consent{inset:auto 0 0;width:100%;max-height:90dvh;padding:20px 16px;border-radius:0;}
.ef-consent-category{padding:12px;gap:12px;}
.ef-consent-copy h2,.ef-analytics-consent h2{font-size:18px;}
}
@media (max-height:32rem){
.ef-analytics-banner{max-height:80dvh;padding:12px 16px;}
.ef-consent-banner-inner{gap:16px;}
.ef-consent-copy{gap:4px;}
.ef-analytics-consent{padding:16px;}
.ef-analytics-consent form{gap:12px;}
}

/* The shared navigation uses the same permanent ink surface as the footer. */
.ef-site-header .nav-links a,.ef-site-header .ef-profile-entry,.ef-site-header .landing-account-entry,.ef-site-header .ef-login-menu>summary,.ef-site-header .ef-profile-email{color:var(--ef-inverse-text)}
.ef-site-header .ef-header-account>.ef-profile-menu>summary .ef-user-id{color:var(--ef-inverse-muted)}
.ef-site-header .nav-links a:hover,.ef-site-header .nav-links a[aria-current=page],.ef-site-header .ef-profile-entry:hover,.ef-site-header .ef-profile-entry[aria-current=page],.ef-site-header .ef-login-menu>summary:hover{background:color-mix(in srgb,var(--ef-inverse-text) 12%,var(--ef-inverse-surface));color:var(--ef-inverse-text);border-color:var(--ef-inverse-muted)}
.ef-site-header .landing-account-entry,.ef-site-header .ef-profile-entry,.ef-site-header .ef-login-menu>summary{border-color:var(--ef-inverse-muted)}
.ef-site-header a:focus-visible,.ef-site-header summary:focus-visible,.ef-site-header button:focus-visible{outline-color:var(--ef-accent)}
