/* Design 4 adaptation of the existing map workspace.
   Canonical homepage tokens; existing map and phase controllers remain the owners. */
html[data-map-design="4"] {
  --papir:var(--ga-paper); --papir-dyp:var(--ga-sage); --hvit:var(--ga-surface-card);
  --blekk:var(--ga-ink); --blekk-myk:var(--ga-text-muted); --rav:var(--ga-accent);
  --bar:var(--ga-forest); --kant:var(--ga-border); --kote:var(--ga-border-control);
  --velg:var(--ga-ink); --velg-dyp:var(--ga-forest);
  --kontrast:var(--ga-primary); --kontrast-dyp:var(--ga-primary-hover); --kontrast-tekst:var(--ga-white);
  --gronn:var(--ga-ink); --gronn-dyp:var(--ga-forest); --petrol:var(--ga-ink);
  --terra:var(--ga-accent); --grunn:var(--ga-paper); --svart:var(--ga-ink);
  --tekst:var(--ga-ink); --demp:var(--ga-text-muted); --hairline:var(--ga-border);
  --body:var(--ga-font-body); --display:var(--ga-font-body); --mono:var(--ga-font-body);
  --sans:var(--ga-font-body); --rad:var(--ga-radius-choice);
  --kurve:var(--ga-ease-out);
  --ga-radius-control:24px; --ga-radius-choice:24px; --ga-radius-panel:24px;
}
html[data-map-design="4"] body {font-family:var(--ga-font-body);color:var(--ga-ink)}
html[data-map-design="4"] body::before {content:none}
html[data-map-design="4"] :is(button,input,select,textarea) {font-family:var(--ga-font-body)}
html[data-map-design="4"] :is(button,a):focus-visible {outline:2px solid var(--ga-focus);outline-offset:3px}
html[data-map-design="4"] :is(.velgerflate .panel,.lev-innhold-ark) {
  background:var(--ga-surface-card);border-color:transparent;border-radius:var(--ga-radius-panel);
  box-shadow:var(--ga-shadow-float);
}
html[data-map-design="4"] :is(.panelhode,.panelfot) {background:var(--ga-surface-card)}
/* Edge-attached library is a full-height surface, not a floating card. */
html[data-map-design="4"] .velgerflate #oversiktpanel {border-radius:0}
html[data-map-design="4"] :is(.panelhode h3,.fm-hode h2,.lev-innhold-ark h3) {font-weight:500;letter-spacing:-.02em}
html[data-map-design="4"] .panelhode h3 {font-size:20px}
html[data-map-design="4"] :is(.knapp,.pv-velg,.ms-knapp) {
  font-weight:500;font-size:14px;border-radius:var(--ga-radius-control);
  transition:background-color 160ms,color 160ms,border-color 160ms;
}
html[data-map-design="4"] .knapp.primar {min-height:48px;padding:12px 20px}
html[data-map-design="4"] .knapp.primar:hover {transform:none;box-shadow:none}
html[data-map-design="4"] :is(.tegnverktoy,.kartzoom,.sok-skall,.soktreff,.vk-boble) {
  background:var(--ga-surface-card);border-color:transparent;box-shadow:var(--ga-shadow-float);
}
html[data-map-design="4"] :is(.tegnverktoy,.kartzoom) {border-radius:var(--ga-radius-choice)}
html[data-map-design="4"] .tegnverktoy {padding:4px;gap:4px}
html[data-map-design="4"] .tegnverktoy button {border-radius:var(--ga-radius-control)}
html[data-map-design="4"] .tegnverktoy button svg {width:20px;height:20px}
html[data-map-design="4"] .tegnverktoy.pulser {animation:none}
html[data-map-design="4"] .kartzoom button {border-radius:var(--ga-radius-control)}
html[data-map-design="4"] .sok-skall {border-radius:var(--ga-radius-control)}
html[data-map-design="4"] .kartsok:focus-within .sok-skall {outline:2px solid var(--ga-focus);outline-offset:2px;box-shadow:var(--ga-shadow-float)}
html[data-map-design="4"] .vk-boble {border-radius:var(--ga-radius-choice)}
html[data-map-design="4"] .vk-boble:hover {transform:translateY(-50%);box-shadow:var(--ga-shadow-float)}
html[data-map-design="4"] .vk-boble-tit {font-size:15px;font-weight:500}
html[data-map-design="4"] :is(.pakke,.pakke.valgt) {border-radius:var(--ga-radius-choice);box-shadow:none}
html[data-map-design="4"] .pakke.valgt {background:var(--ga-white);border-color:var(--ga-border)}
html[data-map-design="4"] .pakke.valgt .pn {color:var(--ga-ink);font-weight:500}
html[data-map-design="4"] .pakke.valgt :is(.pd,.pp) {color:var(--ga-text-muted)}
html[data-map-design="4"] :is(.mk-sok,.mk-sortknapp) {border-radius:var(--ga-radius-control);background:var(--ga-white)}
html[data-map-design="4"] .mk-kort {background:var(--ga-white);border-color:var(--ga-border)}
html[data-map-design="4"] .mk-kort:hover {background:var(--ga-choice-hover);box-shadow:none;border-color:var(--ga-border-control)}
html[data-map-design="4"] .mk-navn {font-weight:500;font-size:14px}
html[data-map-design="4"] .mk-meta2 {opacity:1}
html[data-map-design="4"] .mk-merke.ready {color:var(--ga-success)}
html[data-map-design="4"] :is(.lev-plugin,.lev-filkort) {border-radius:var(--ga-radius-choice);box-shadow:none}
html[data-map-design="4"] :is(.lev-filkort b,.lev-plugin b) {font-weight:500}
html[data-map-design="4"] .lev-filkort {background:var(--ga-primary);border-color:var(--ga-primary);padding:14px 16px;color:var(--ga-white)}
html[data-map-design="4"] .lev-filkort :is(.ik,b,.lev-filkort-tekst) {color:var(--ga-white)}
html[data-map-design="4"] .lev-filkort:hover:not(:disabled) {background:var(--ga-primary-hover);border-color:var(--ga-primary-hover)}
html[data-map-design="4"] .lev-innhold-knapp:hover {transform:none}
html[data-map-design="4"] .fm-teppe {background:#092e2666;backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-map-design="4"] .fm-hode h2 {font-size:24px}
html[data-map-design="4"] .fm-nivaa2 .fm-hode h2 {font-size:26px}
html[data-map-design="4"] :is(.fm-tilbake,.fm-gruppetittel) {text-transform:none;letter-spacing:0;font-size:12px}
html[data-map-design="4"] :is(.fm-lukk,.fm-hent,.fm-hent-knapp,.eks-plass,.eks-valg) {border-radius:var(--ga-radius-control)}
html[data-map-design="4"] .fm-hent-knapp {min-height:48px;font-weight:500;font-size:14px}
html[data-map-design="4"] .fm-fot {background:var(--ga-sage)}
html[data-map-design="4"] :is(.fm-navn,.fm-format-navn) {font-weight:500}
html[data-map-design="4"] .eks-plass-kort {border-radius:var(--ga-radius-choice)}
html[data-map-design="4"] .eks-plass-kort.valgt {background:var(--ga-accent-hover);border-color:var(--ga-ink)}
html[data-map-design="4"] .eks-plass-kort.valgt :is(.eks-plass,.eks-origo-endre,.eks-origo-bryter:hover .eks-origo-endre) {color:var(--ga-ink)}
html[data-map-design="4"] .eks-plass-kort.valgt :is(.eks-plass-tekst,.eks-origo-lab,.eks-origo-verdi) {color:var(--ga-text-muted)}
html[data-map-design="4"] .eks-plass-kort.valgt .eks-plass-merke {background:var(--ga-white);color:var(--ga-ink)}
html[data-map-design="4"] .eks-plass-kort.valgt :focus-visible {outline-color:var(--ga-focus)}
/* The whole placement card owns hover; both buttons keep transparent surfaces. */
html[data-map-design="4"] .fm-koord .eks-plass-kort:hover {background:var(--ga-white);border-color:var(--ga-ink)}
html[data-map-design="4"] .eks-plass-kort :is(.eks-plass,.eks-origo-bryter):hover {background:transparent}
html[data-map-design="4"] :is(.eks-plass-topp b,.eks-velger-navn,.eks-lab) {font-weight:500}
html[data-map-design="4"] .fm-koord .eks-velger {border-color:var(--ga-border)}
@media(max-width:1080px) {
  html[data-map-design="4"] .velgerflate .panel {border-radius:24px 24px 0 0}
}
/* Context belongs to a selected area, never to an empty map. The existing
   panel/state controller still owns every 2D/working/3D transition. */
html[data-map-design="4"] body:not(.has-area):not(.bestillingsfase) .panel:has(#fase-utforming) {visibility:hidden;pointer-events:none}
html[data-map-design="4"] .panel .stegrad {display:none}
html[data-map-design="4"] .panel:has(#fase-utforming) {--context-pad:24px}
html[data-map-design="4"] .panel:has(#fase-utforming) .panelside.staar {max-height:calc(100dvh - var(--headerH) - 32px)}
html[data-map-design="4"] .panel:has(#fase-utforming) .panelhode {flex:none}
html[data-map-design="4"] .panel .panelhode {padding:24px var(--context-pad) 0;border:0;position:static}
html[data-map-design="4"] #oversiktpanel .panelhode {padding:20px 18px 14px}
html[data-map-design="4"] .context-heading {display:flex;align-items:stretch;flex-direction:column;gap:14px}
html[data-map-design="4"] .context-eyebrow {font:400 12px/1.5 var(--ga-font-body);color:var(--ga-text-muted);margin:0}
html[data-map-design="4"] .context-name {display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:0;background:none;border:0;text-align:left;color:var(--ga-ink);font-size:24px;line-height:1.3;font-weight:500;cursor:pointer}
html[data-map-design="4"] .context-name svg {width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5}
html[data-map-design="4"] .context-meta {display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-size:12px;line-height:1.6;color:var(--ga-text-muted);margin:0}
html[data-map-design="4"] .context-meta .ki-areal {font-size:12px;font-weight:400;gap:4px}
html[data-map-design="4"] .context-meta .ki-areal b {font-size:12px;font-weight:400}
html[data-map-design="4"] #area-location:not(:empty)::after {content:'·';padding-left:9px}
html[data-map-design="4"] .context-content {padding:16px var(--context-pad);gap:4px}
html[data-map-design="4"] .context-link {width:100%;display:flex;align-items:center;gap:14px;padding:12px 10px;text-align:left;background:none;border:0;border-radius:var(--ga-radius-choice);cursor:pointer;color:var(--ga-ink);font-size:14px;line-height:1.5;font-weight:400}
html[data-map-design="4"] .context-link > svg {width:18px;height:20px;flex:none;fill:none;stroke:var(--ga-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
html[data-map-design="4"] .context-link > span:first-of-type {flex:1}
html[data-map-design="4"] .context-link small {display:block;font-size:12px;color:var(--ga-text-muted);margin-top:4px}
html[data-map-design="4"] .context-link:hover {background:var(--ga-choice-hover)}
html[data-map-design="4"] .context-footer {margin:0 24px;padding:18px 0 24px;gap:12px}
html[data-map-design="4"] .context-footer .knapp.primar {border-radius:999px;font-weight:500}
html[data-map-design="4"] .context-footer .kvotemaaler {padding:0;margin:0 0 3px}
html[data-map-design="4"] .context-footer .kvm-spor {display:none}
html[data-map-design="4"] .context-footer .kvm-rad span {text-transform:none;letter-spacing:0;font-size:12px}
html[data-map-design="4"] .context-footer .prisdetalj:empty {display:none}
html[data-map-design="4"] #fase-bestilling .panelinnhold {padding:16px 24px 20px;gap:20px}
html[data-map-design="4"] #bp-navnfelt {gap:0}
html[data-map-design="4"] #bp-navn-vis {font-size:24px;font-weight:500;line-height:1.3;padding:0;min-height:36px;width:100%;justify-content:space-between}
html[data-map-design="4"] #bp-navn-vis .bp-navn-blyant {opacity:1;width:16px;height:16px;margin-left:auto}
html[data-map-design="4"] #bp-navn-vis .bp-navn-tekst {font-size:24px;font-weight:500}
html[data-map-design="4"] #bp-navnfelt .bp-navn-rad {padding:0;border:0;background:none}
html[data-map-design="4"] #bp-context-meta {margin-top:-14px}
html[data-map-design="4"] .context-details summary {display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;font-size:13px;min-height:40px;border-radius:var(--ga-radius-choice);user-select:none}
html[data-map-design="4"] .context-details summary::-webkit-details-marker {display:none}
html[data-map-design="4"] .context-details[open] summary {margin-bottom:16px}
html[data-map-design="4"] .context-details[open] summary span {transform:rotate(45deg)}
html[data-map-design="4"] .context-details .bp-rad {font-size:12px;padding:10px 0;border-color:var(--ga-sage)}
html[data-map-design="4"] .context-details .bp-rad b {font-weight:400}
html[data-map-design="4"] .context-details .bp-reffelt {margin-bottom:14px}
html[data-map-design="4"] #bp-trygg {font-size:11px;line-height:1.6;margin:0;color:var(--ga-text-muted)}
html[data-map-design="4"] #bp-betal-konto {display:none}
html[data-map-design="4"] .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-map-design="4"] .context-working {padding:24px;align-items:flex-start;gap:10px}
html[data-map-design="4"] .context-working-mark {width:64px;height:64px;margin:12px 0 20px;stroke:var(--ga-accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
html[data-map-design="4"] .context-working-mark path {animation:context-breathe 2.4s ease-in-out infinite}
html[data-map-design="4"] .context-working .bg-tekst {font-size:15px;color:var(--ga-ink);line-height:1.5}
html[data-map-design="4"] .context-working .bg-tid {font-size:12px;font-weight:400;color:var(--ga-text-muted)}
html[data-map-design="4"] .context-working-note {font-size:12px;color:var(--ga-text-muted);line-height:1.7;margin-top:22px}
@keyframes context-breathe {50% {opacity:.35;transform:translateY(3px)}}
@media(prefers-reduced-motion:reduce) {html[data-map-design="4"] .context-working-mark path {animation:none}}
@media(max-width:1080px) {
  html[data-map-design="4"] .panel:has(#fase-utforming) {--context-pad:20px}
  html[data-map-design="4"] .panel:has(#fase-utforming) {max-height:48dvh}
  html[data-map-design="4"] .panel:has(#fase-utforming) .panelside.staar {max-height:calc(48dvh - 24px)}
  html[data-map-design="4"] .panel .panelhode {padding-top:12px}
  html[data-map-design="4"] #fase-bestilling .panelinnhold {padding:12px 20px;gap:14px}
  html[data-map-design="4"] .context-content {padding:14px 20px}
  html[data-map-design="4"] .context-footer {margin:0 20px;padding-bottom:20px}
  html[data-map-design="4"] body:not(.has-area):not(.bestillingsfase):not(.oversiktsfase) :is(.kartzoom,.kartbunn-h) {bottom:16px}
  html[data-map-design="4"] .context-working-mark {width:40px;height:40px;margin:0}
  html[data-map-design="4"] .context-working-note {margin-top:4px}
}

/* Modal reading surfaces follow the homepage reader, scaled for the workspace. */
html[data-map-design="4"] .map-dialog {
  position:fixed;inset:0;margin:auto;width:min(800px,calc(100vw - 40px));
  max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;
  border-radius:var(--ga-radius-panel);background:var(--ga-surface-card);
  color:var(--ga-ink);box-shadow:var(--ga-shadow-float);overflow:auto;
  font:400 14px/1.65 var(--ga-font-body);overscroll-behavior:contain;
}
html[data-map-design="4"] .map-dialog:not([open]) {display:none}
html[data-map-design="4"] .map-dialog::backdrop {background:#092e2666}
html[data-map-design="4"] .map-dialog-head {position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 28px 16px;background:var(--ga-surface-card);border-bottom:1px solid var(--ga-border)}
html[data-map-design="4"] .map-dialog h2 {font:400 32px/1.1 var(--ga-font-display);letter-spacing:-.025em;margin:8px 0 0}
html[data-map-design="4"] .map-dialog-close {display:grid;place-items:center;width:40px;height:40px;flex:none;padding:10px;border:0;background:none;border-radius:50%;color:var(--ga-ink);cursor:pointer}
html[data-map-design="4"] .map-dialog-close svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
html[data-map-design="4"] .map-dialog-close:hover {background:var(--ga-sage)}
html[data-map-design="4"] .map-dialog-body {padding:12px 28px 20px}
html[data-map-design="4"] .map-dialog-intro {margin:0 0 20px;color:var(--ga-text-muted)}
html[data-map-design="4"] .map-source-list {list-style:none;margin:0;padding:0}
html[data-map-design="4"] .map-source-row {display:grid;grid-template-columns:1.1fr 1fr auto;gap:20px;padding:10px 0;border-top:1px solid var(--ga-border)}
html[data-map-design="4"] .map-source-row h3 {font:500 15px/1.5 var(--ga-font-body);margin:0 0 4px}
html[data-map-design="4"] .map-source-row p {font-size:13px;margin:0;color:var(--ga-text-muted)}
html[data-map-design="4"] .map-source-credit .context-eyebrow {font-size:11px;color:var(--ga-accent)}
html[data-map-design="4"] .map-source-types {display:flex;gap:4px;align-items:flex-start;min-width:68px;padding-top:2px}
html[data-map-design="4"] .map-source-types span {padding:2px 6px;background:var(--ga-sage);border-radius:4px;font-size:11px;white-space:nowrap}
html[data-map-design="4"] .map-source-note {font-size:12px;color:var(--ga-text-muted);margin:20px 0 0}
html[data-map-design="4"] .lev-innhold.map-dialog .lev-innhold-rad {border-color:var(--ga-border)}
html[data-map-design="4"] .lev-innhold.map-dialog .lev-innhold-topp b {font-weight:500}

/* Native export surface. Short, cancellable transitions are owned by the menu. */
html[data-map-design="4"] dialog.fm-teppe {width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;color:var(--ga-ink);box-sizing:border-box;background:transparent;overflow:hidden}
html[data-map-design="4"] dialog.fm-teppe:not([open]) {display:none}
html[data-map-design="4"] dialog.fm-teppe::backdrop {background:transparent;transition:background-color 200ms ease-out}
html[data-map-design="4"] dialog.fm-teppe.aapen::backdrop {background:#092e2666}
html[data-map-design="4"] dialog.fm-teppe.fm-lukker::backdrop {background:transparent;transition-duration:160ms}
html[data-map-design="4"] .fm-lukker .fm-ark {transform:translateY(8px);transition:transform 160ms ease-in}
html[data-map-design="4"] .fm-ark {background:var(--ga-paper);box-shadow:var(--ga-shadow-float);max-width:920px;max-height:100%;border:0;border-radius:var(--ga-radius-choice);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--ga-border-control) transparent}
html[data-map-design="4"] .fm-ark.fm-nivaa2 {max-width:560px}
html[data-map-design="4"] .fm-ark > * {flex:none}
html[data-map-design="4"] .fm-ark.fm-bytter {overflow:hidden}
html[data-map-design="4"] .fm-hode {position:sticky;top:0;z-index:8;background:var(--ga-paper);padding:18px 24px 14px;border-bottom:1px solid var(--ga-border)}
html[data-map-design="4"] .fm-hode h2 {font:500 24px/1.2 var(--ga-font-body);margin:0}
html[data-map-design="4"] .fm-nivaa2 .fm-hode h2 {font:500 24px/1.25 var(--ga-font-body)}
html[data-map-design="4"] .fm-under {font-size:12px;margin-top:8px;color:var(--ga-text-muted)}
html[data-map-design="4"] .fm-lukk {width:40px;height:40px;border-radius:50%}
html[data-map-design="4"] .fm-lukk:hover {background:var(--ga-sage)}
html[data-map-design="4"] .fm-tilbake {min-height:36px;font-size:12px;margin-bottom:12px;letter-spacing:0;text-transform:none}
html[data-map-design="4"] .fm-seddel {overflow:visible;padding:16px 24px;border:0;mask-image:none;-webkit-mask-image:none}
html[data-map-design="4"] .fm-bolk {padding:0;margin:18px 0 0}
html[data-map-design="4"] .fm-bolk:first-child {margin-top:0}
html[data-map-design="4"] .fm-bolk-tittel {font:500 11px/1.5 var(--ga-font-body);text-transform:uppercase;letter-spacing:.06em;padding:0 12px;margin:0 0 6px;color:var(--ga-text-muted)}
/* Keep the original column-first catalogue and format-card anatomy. */
html[data-map-design="4"] .fm-rader {display:block;columns:2;column-gap:20px}
html[data-map-design="4"] .fm-rad {grid-template-columns:34px minmax(0,1fr) 20px;grid-template-rows:auto auto;gap:0 12px;padding:8px 10px 10px;margin-bottom:8px;border:1px solid var(--ga-border);border-radius:var(--ga-radius-choice);background:var(--ga-surface-card);min-height:80px;break-inside:avoid}
html[data-map-design="4"] .fm-bolk .fm-rad {background:var(--ga-surface-card);border-color:var(--ga-border);transition:background-color 160ms,border-color 160ms,transform 160ms var(--ga-ease-out)}
html[data-map-design="4"] .fm-bolk .fm-rad:disabled {background:var(--ga-paper);border-color:var(--ga-border)}
@media(hover:hover) {
 html[data-map-design="4"] .fm-bolk .fm-rad:hover:not(:disabled) {background:var(--ga-white);border-color:var(--ga-border-control);transform:translateY(-1px)}
}
html[data-map-design="4"] .fm-bolk .fm-rad:active:not(:disabled) {transform:translateY(0);background:var(--ga-choice-hover)}
html[data-map-design="4"] .fm-bolk .fm-rad:focus-visible {background:var(--ga-white)}
html[data-map-design="4"] .eks-plass-kort {transition:background-color 180ms,border-color 180ms}
html[data-map-design="4"] .eks-plass-kort :is(.eks-plass,.eks-plass-tekst,.eks-origo-lab,.eks-origo-verdi) {transition:color 180ms,background-color 180ms}
html[data-map-design="4"] .fm-rad:hover:not(:disabled) {background:var(--ga-choice-hover);border-color:var(--ga-border-control)}
html[data-map-design="4"] .fm-rad .fm-merke {grid-column:1;grid-row:1 / span 2;width:34px;height:34px;align-self:start;background:none;border:0;padding:0}
html[data-map-design="4"] .fm-merke-ik {width:28px;height:28px}
html[data-map-design="4"] .fm-rad .fm-navn {grid-column:2;grid-row:1;font-size:14px;align-self:center;min-height:24px}
html[data-map-design="4"] .fm-rad .fm-navn-topp {gap:6px;flex-wrap:wrap}
html[data-map-design="4"] .fm-rad .fm-tekst {display:block;grid-column:2 / -1;grid-row:2;font:400 12px/1.45 var(--ga-font-body);align-self:start;color:var(--ga-text-muted);white-space:normal;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;max-height:none;min-height:2.9em;margin:3px 0 0}
html[data-map-design="4"] .fm-rad .fm-hent {grid-column:3;grid-row:1;background:none;width:20px;height:24px;color:var(--ga-ink)}
html[data-map-design="4"] .fm-rad.av :is(.fm-navn,.fm-endelse,.fm-tekst) {opacity:1;color:var(--ga-text-muted)}
html[data-map-design="4"] .fm-endelse {font:400 11px/1.5 var(--ga-font-body);color:var(--ga-text-muted)}
html[data-map-design="4"] .fm-kommer-merke {font:400 10px/1.5 var(--ga-font-body);text-transform:none;letter-spacing:0;border:0;border-radius:999px;background:var(--ga-sage);color:var(--ga-ink);padding:2px 7px}
html[data-map-design="4"] .fm-plugins {display:block;margin:0;padding:16px;background:var(--ga-forest);color:var(--ga-white);border-radius:var(--ga-radius-choice);max-width:none}
html[data-map-design="4"] .fm-plugins-intro {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
html[data-map-design="4"] .fm-plugins h3 {font:400 23px/1.1 var(--ga-font-display);margin:0;color:inherit}
html[data-map-design="4"] .fm-plugins a {font-size:12px;color:var(--ga-white);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
html[data-map-design="4"] .fm-plugins-options {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
html[data-map-design="4"] .fm-plugins .fm-plugin-choice {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:88px;padding:8px 4px;margin:0;border:1px solid transparent;border-radius:var(--ga-radius-choice);background:transparent;color:var(--ga-white);text-align:center}
html[data-map-design="4"] .fm-plugins .fm-plugin-choice:not(:disabled) {background:var(--ga-inverse-hover);border-color:var(--ga-border-inverse);cursor:pointer}
html[data-map-design="4"] .fm-plugins .fm-plugin-choice:hover:not(:disabled) {background:var(--ga-primary-hover);border-color:var(--ga-focus-inverse)}
html[data-map-design="4"] .fm-plugin-arrow {position:absolute;top:8px;right:8px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform 160ms var(--ga-ease-out)}
html[data-map-design="4"] .fm-plugin-choice:hover .fm-plugin-arrow {transform:translateX(2px)}
html[data-map-design="4"] .fm-plugin-choice:disabled {cursor:default;opacity:1}
html[data-map-design="4"] .fm-plugin-choice > span:nth-child(2) {flex:initial}
html[data-map-design="4"] .fm-plugin-choice b {display:block;font-size:12px;font-weight:500}
html[data-map-design="4"] .fm-plugin-choice small {display:inline-block;margin-top:4px;padding:1px 7px;border-radius:999px;background:var(--ga-inverse-hover);color:var(--ga-text-inverse-muted);font-size:10px}
html[data-map-design="4"] .fm-plugin-choice img {display:block;width:28px;height:28px;object-fit:contain}
html[data-map-design="4"] .fm-plugins :focus-visible {outline-color:var(--ga-focus-inverse)}
html[data-map-design="4"] .fm-detalj {padding:8px 24px 20px}
html[data-map-design="4"] .fm-detalj-tekst {font-size:13px;line-height:1.65;color:var(--ga-text-muted)}
html[data-map-design="4"] .fm-koord {padding:0 24px 20px}
html[data-map-design="4"] .fm-fot {position:sticky;bottom:0;z-index:7;padding:12px 24px 16px;background:var(--ga-paper);border-top:1px solid var(--ga-border);border-radius:0 0 24px 24px}
html[data-map-design="4"] .fm-hent-knapp {border-radius:999px;background:var(--ga-primary);color:var(--ga-white);font-size:14px;font-weight:500;min-height:48px}
html[data-map-design="4"] .fm-hent-knapp:hover:not(:disabled) {background:var(--ga-primary-hover)}
html[data-map-design="4"] .fm-fakta {font-family:var(--ga-font-body);letter-spacing:0;text-transform:none}
html[data-map-design="4"] .fm-koord .eks-oppsett-fast {background:var(--ga-sage)}
html[data-map-design="4"] .fm-koord :is(.eks-lab,.eks-verdi,.eks-velger-meta,.eks-fast-lab,.eks-origo-lab,.eks-valg-kode) {font-family:var(--ga-font-body);letter-spacing:0;text-transform:none}
html[data-map-design="4"] .fm-koord :is(.eks-plass-kort,.eks-velger) {background:var(--ga-surface-card);border:1px solid var(--ga-border)}
html[data-map-design="4"] .fm-koord .eks-velger:hover {background:var(--ga-white);border-color:var(--ga-border-control)}
html[data-map-design="4"] .fm-koord .eks-plass-kort.valgt {background:var(--ga-accent-hover);border-color:var(--ga-ink)}
html[data-map-design="4"] .fm-retry {min-height:40px;padding:8px 18px;border:0;border-radius:999px;background:var(--ga-primary);color:var(--ga-white);font:500 13px var(--ga-font-body);cursor:pointer;margin-top:16px}
@media(max-width:759px) {
 html[data-map-design="4"] .map-dialog {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:var(--ga-radius-choice)}
 html[data-map-design="4"] .map-dialog-head {padding:20px}
 html[data-map-design="4"] .map-dialog h2 {font-size:30px}
 html[data-map-design="4"] .map-dialog-body {padding:20px}
 html[data-map-design="4"] .map-source-row {grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0}
 html[data-map-design="4"] .map-source-credit {grid-column:1;grid-row:2}
 html[data-map-design="4"] .map-source-types {grid-column:2;grid-row:1}
 html[data-map-design="4"] .fm-teppe {padding:0;align-items:flex-end}
 html[data-map-design="4"] .fm-ark {max-height:94dvh;border-radius:24px 24px 0 0}
 html[data-map-design="4"] .fm-hode {padding:20px}
 html[data-map-design="4"] .fm-hode h2 {font-size:22px}
 html[data-map-design="4"] .fm-seddel {padding:20px}
 html[data-map-design="4"] .fm-rader {columns:1}
 html[data-map-design="4"] .fm-plugins {padding:14px}
 html[data-map-design="4"] .fm-plugins-options {grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 html[data-map-design="4"] .fm-plugins h3 {font-size:20px}
 html[data-map-design="4"] .fm-plugins-intro {align-items:flex-start;gap:8px}
 html[data-map-design="4"] .fm-plugins a {font-size:11px}
 html[data-map-design="4"] .fm-rad .fm-navn {font-size:13px}
 html[data-map-design="4"] .fm-rad {grid-template-columns:28px minmax(0,1fr) 20px;gap:0 10px;padding:10px;min-height:80px}
 html[data-map-design="4"] .fm-rad .fm-hent {display:flex}
 html[data-map-design="4"] .fm-rad :is(.fm-merke,.fm-merke-ik) {width:24px;height:24px}
 html[data-map-design="4"] .fm-seddel {padding:14px 16px}
 html[data-map-design="4"] .fm-endelse {font-size:10px}
 html[data-map-design="4"] .fm-detalj {padding:20px 20px 12px}
 html[data-map-design="4"] .fm-koord {padding:8px 20px 20px}
 html[data-map-design="4"] .fm-fot {padding:16px 20px}
}
@media(prefers-reduced-motion:reduce) {html[data-map-design="4"] :is(.fm-teppe,.fm-ark) {transition:none;transform:none}}

html[data-map-design="4"] .fm-plugin-choice img:not([src*="revit"]):not([src*="civil3d"]) {filter:brightness(0) invert(1)}
html[data-map-design="4"] .fm-koord-sam {margin:0 20px 20px;width:calc(100% - 40px);border:1px solid var(--ga-border-control);border-radius:var(--ga-radius-choice)}
html[data-map-design="4"] .fm-koord-sam-lab {font:400 11px/1.5 var(--ga-font-body);text-transform:none;letter-spacing:0}
html[data-map-design="4"] .fm-koord-sam-verdi {font-size:13px;font-weight:500}
html[data-map-design="4"] .fm-detalj .fm-fakta {font:400 12px/1.5 var(--ga-font-body);letter-spacing:0;text-transform:none}
html[data-map-design="4"] .fm-koord :is(.eks-lab-rad .eks-lab,.eks-fast-rad dd) {font-weight:500}

html[data-map-design="4"] .lev-filkort {border-radius:999px;min-height:48px;padding:12px 20px}
html[data-map-design="4"] .lev-filkort-topp {justify-content:center;gap:12px}
html[data-map-design="4"] .lev-filkort-topp b {font-size:14px;font-weight:500}
html[data-map-design="4"] .lev-filkort-topp svg {width:18px;height:18px}
html[data-map-design="4"] :is(.eks-meny,.eks-origo-meny) {background:var(--ga-surface-card);color:var(--ga-ink);border:0;border-radius:var(--ga-radius-choice);box-shadow:var(--ga-shadow-float);font-family:var(--ga-font-body)}
html[data-map-design="4"] :is(.eks-valg,.eks-origo-alt) {color:var(--ga-ink)}
html[data-map-design="4"] :is(.eks-valg:hover,.eks-origo-alt:hover) {background:var(--ga-choice-hover)}
html[data-map-design="4"] :is(.eks-valg.valgt,.eks-origo-alt[aria-checked=true]) {background:var(--ga-sage);color:var(--ga-ink)}
html[data-map-design="4"] :is(.eks-origo-alt b,.eks-origo-anbef,.eks-valg-navn) {font-weight:500}

html[data-map-design="4"] .lev-innhold.map-dialog[open] {display:block;backdrop-filter:none;animation:none}
html[data-map-design="4"] .lev-innhold.map-dialog .map-dialog-close {position:static;font-size:inherit;padding:10px}
html[data-map-design="4"] .lev-innhold-liste {padding:0}
html[data-map-design="4"] .lev-innhold-lisens {font:400 11px/1.5 var(--ga-font-body);letter-spacing:0}
html[data-map-design="4"] .lev-innhold-tekst {font-size:13px;line-height:1.6}
/* A brief description makes the format choice understandable before opening it. */

html[data-map-design="4"] .lev-innhold-knapp {position:static;display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:8px 0;border:0;box-shadow:none;background:none;font:400 13px/1.5 var(--ga-font-body);text-transform:none;letter-spacing:0;border-radius:var(--ga-radius-choice)}
html[data-map-design="4"] .lev-innhold-knapp:hover {background:var(--ga-choice-hover)}
html[data-map-design="4"] .lev-innhold-knapp .ik {width:18px;height:18px;color:var(--ga-accent);margin-right:4px}
html[data-map-design="4"] .lev-innhold-knapp[hidden] {display:none}

html[data-map-design="4"] .eks-origo-alt:disabled {opacity:1;color:var(--ga-text-muted)}

html[data-map-design="4"] .lev-innhold-rad {padding:9px 0}
html[data-map-design="4"] .lev-innhold-kilde {font-size:12px;line-height:1.5;margin-top:2px}
html[data-map-design="4"] .lev-innhold-tegnforklaring {margin-top:10px;padding-top:10px}
html[data-map-design="4"] .lev-innhold-lenke {margin-top:8px}

@media(prefers-reduced-motion:reduce) {
 html[data-map-design="4"] :is(.fm-bolk .fm-rad,.fm-merke,.fm-hent,.fm-plugin-arrow,.eks-plass-kort,.eks-plass-kort *) {transition:none;transform:none}
 html[data-map-design="4"] dialog.fm-teppe::backdrop {transition:none}
}

/* Cost supports the final action; it is not a detached receipt footer. */
html[data-map-design="4"] .lev-kvittering {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding-top:12px;border-top:1px solid var(--ga-border);text-align:left;font:400 12px/1.5 var(--ga-font-body);color:var(--ga-text-muted)}
html[data-map-design="4"] .lev-kvittering[hidden] {display:none}
html[data-map-design="4"] .lev-kvittering strong {font-weight:500;color:var(--ga-ink);text-align:right}
html[data-map-design="4"] #fase-leveranse .panelinnhold {gap:12px;mask-image:none;-webkit-mask-image:none}
html[data-map-design="4"] #fase-leveranse .lev-handlinger {margin:0}
html[data-map-design="4"] #fase-leveranse .lev-hode {display:flex;gap:14px}
html[data-map-design="4"] #fase-leveranse #lev-navn {font-size:24px;line-height:1.5;margin:0;font-weight:500}
html[data-map-design="4"] #fase-leveranse #lev-fakta {font-size:12px;color:var(--ga-text-muted)}
html[data-map-design="4"] #fase-leveranse .panelinnhold {padding:16px 24px 24px;gap:20px;mask-image:none;-webkit-mask-image:none}
html[data-map-design="4"] #fase-leveranse .lev-status {font-size:12px;text-transform:none;letter-spacing:0;padding:0;border:0;min-height:20px}
html[data-map-design="4"] #fase-leveranse .lev-status.klar::before {content:'✓'}
html[data-map-design="4"] #fase-leveranse .lev-innhold-knapp {font-size:14px;padding:12px 10px;gap:14px}
html[data-map-design="4"] #fase-leveranse #lev-tekst {font-size:12px;line-height:1.6;min-height:3.2em}
@media(max-width:1080px) {
  html[data-map-design="4"] #fase-leveranse .panelinnhold {padding:12px 20px 20px;gap:14px}
}

/* Search keeps its geometry while typing; results and feedback share one surface language. */
html[data-map-design="4"] .velgerflate .kartsok {width:min(360px,34vw);transition:none}
html[data-map-design="4"] .sok-skall {height:48px;padding:0 6px 0 16px;gap:10px;border-radius:999px}
html[data-map-design="4"] .kartsok input[type=text] {width:0;height:44px;box-shadow:none;border-radius:0}
html[data-map-design="4"] #sok-tom {display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--ga-text-muted);cursor:pointer}
html[data-map-design="4"] #sok-tom[hidden] {display:none}
html[data-map-design="4"] #sok-tom:hover {background:var(--ga-sage);color:var(--ga-ink)}
html[data-map-design="4"] #sok-tom svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
html[data-map-design="4"] :is(.soktreff,.sok-status) {border:1px solid var(--ga-border);border-radius:var(--ga-radius-panel);background:var(--ga-surface-card);box-shadow:var(--ga-shadow-float);margin:8px 0 0;overscroll-behavior:contain}
html[data-map-design="4"] .sok-status {padding:16px 20px;font-size:13px;line-height:1.6;color:var(--ga-text-muted)}
html[data-map-design="4"] .soktreff {max-height:min(360px,calc(100dvh - var(--headerH) - 160px));padding:6px;scroll-padding:6px}
html[data-map-design="4"] .soktreff button {padding:12px 14px;min-height:48px;border:0;border-radius:20px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
html[data-map-design="4"] .soktreff button:is(:hover,:focus-visible) {background:var(--ga-sage);outline-offset:-2px}
html[data-map-design="4"] .soktreff .st-type {display:block;margin:3px 0 0;font:400 12px/1.5 var(--ga-font-body);letter-spacing:0}
@media(max-width:1080px) {
 html[data-map-design="4"] .velgerflate .kartsok {width:min(360px,calc(100vw - 120px))}
}
@media(max-width:760px) {
 html[data-map-design="4"] .velgerflate .kartsok {width:auto}
 html[data-map-design="4"] .context-link {padding:8px 10px}
 html[data-map-design="4"] .context-link small {font-size:11px;margin-top:2px}
}
@media(max-height:540px) and (min-width:700px) {
 html[data-map-design="4"] .velgerflate .kartsok {width:min(300px,38vw)}
}
