:root{
  --bg:#f5f7fb;--surface:#fff;--surface2:#edf3f9;--text:#15243a;--muted:#64748b;
  --line:#dbe4ee;--blue:#0b3d91;--blue2:#0f67dc;--teal:#0abf9e;--green:#16b77c;
  --danger:#c0394a;--warn:#d88a12;--shadow:0 14px 40px rgba(19,46,82,.10);
}
html[data-theme="dark"]{
  --bg:#09111e;--surface:#101b2a;--surface2:#152437;--text:#e8f1fb;--muted:#9eb0c6;
  --line:#263a51;--blue:#3d8cff;--blue2:#5aa0ff;--teal:#27dbb4;--green:#31d99a;
  --danger:#ff6b7a;--warn:#ffb142;--shadow:0 18px 50px rgba(0,0,0,.25);
}
@media(prefers-color-scheme:dark){
  html[data-theme="auto"]{
    --bg:#09111e;--surface:#101b2a;--surface2:#152437;--text:#e8f1fb;--muted:#9eb0c6;
    --line:#263a51;--blue:#3d8cff;--blue2:#5aa0ff;--teal:#27dbb4;--green:#31d99a;
    --danger:#ff6b7a;--warn:#ffb142;--shadow:0 18px 50px rgba(0,0,0,.25);
  }
}
*{box-sizing:border-box}
body{margin:0;font:15px/1.55 Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--blue2);text-decoration:none}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,56px);background:color-mix(in srgb,var(--surface) 93%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand-logo{height:46px;width:auto;display:block}
.logo-dark{display:none}
html[data-theme="dark"] .logo-light{display:none}
html[data-theme="dark"] .logo-dark{display:block}
@media(prefers-color-scheme:dark){html[data-theme="auto"] .logo-light{display:none}html[data-theme="auto"] .logo-dark{display:block}}
nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav a,.link-button{color:var(--text);font-weight:600}
nav select,input,textarea,select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.inline-form{display:inline}.link-button{border:0;background:none;cursor:pointer}
.page-shell{max-width:1240px;margin:auto;padding:48px 24px 80px}
.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;min-height:58vh}
.hero h1,.section-head h1,.admin-head h1{font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.02;margin:.25em 0}
.lead{font-size:1.18rem;color:var(--muted);max-width:760px}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.15em;color:var(--teal)}
.hero-card,.card,.form-card,.result-card,.info-panel,.center-card,.metric{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.hero-card,.form-card,.result-card,.info-panel,.center-card{padding:28px}
.feature-grid,.dashboard-grid,.status-grid,.metric-grid,.admin-grid{display:grid;gap:18px}
.feature-grid{grid-template-columns:repeat(3,1fr)}
.dashboard-grid,.status-grid{grid-template-columns:repeat(2,1fr)}
.metric-grid{grid-template-columns:repeat(6,1fr);margin:22px 0}
.admin-grid{grid-template-columns:repeat(3,1fr);margin:18px 0}
.card{padding:22px}.card h3{margin-top:0}
.accent-card{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,var(--surface)),color-mix(in srgb,var(--teal) 12%,var(--surface)))}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 17px;background:linear-gradient(135deg,var(--blue2),var(--teal));color:white;font-weight:800;cursor:pointer}
.button.ghost{background:var(--surface2);color:var(--text);border:1px solid var(--line)}
.button.warn{background:var(--warn)}.button.danger{background:var(--danger)}.button.full{width:100%;margin-top:12px}
.hero-actions,.button-row,.admin-links{display:flex;gap:10px;flex-wrap:wrap}
form label{display:block;font-weight:700;margin:13px 0 6px}
form input,form textarea,form select{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:11px;padding:11px 12px}
.check{display:flex;gap:8px;align-items:center}.check input{width:auto}
.mini-note,small,.muted{color:var(--muted)}
.market-chip,.status-pill{display:inline-block;margin-top:15px;padding:7px 11px;border-radius:999px;background:var(--surface2);font-size:.9rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.narrow{max-width:680px;margin:auto}
.result-list{display:grid;grid-template-columns:1fr auto;gap:10px 16px}.result-list dt{color:var(--muted)}.result-list dd{margin:0;font-weight:800}
.result-badge{float:right;padding:7px 12px;border-radius:999px;color:#fff;font-weight:800}.result-badge.grön{background:var(--green)}.result-badge.gul{background:var(--warn)}.result-badge.röd{background:var(--danger)}
.section-head,.admin-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.section-head h1,.admin-head h1{font-size:2.4rem}
.metric{padding:18px}.metric span{display:block;color:var(--muted);font-size:.88rem}.metric strong{display:block;font-size:1.8rem;margin-top:3px}.metric small{display:block}
.period-tabs{display:flex;gap:8px}.period-tabs a{padding:8px 12px;border-radius:10px;background:var(--surface2);color:var(--text)}.period-tabs a.active{background:var(--blue2);color:white}
.bar-row{display:grid;grid-template-columns:120px 1fr 60px;gap:10px;align-items:center;margin:10px 0}.bar{height:9px;border-radius:999px;background:var(--surface2);overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue2),var(--teal))}
.status-line{display:flex;gap:10px;align-items:center;margin:8px 0}.status-line span:last-child{margin-left:auto;color:var(--muted)}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--muted)}.status-dot.ok{background:var(--green)}.status-dot.bad{background:var(--danger)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}
.toast{padding:12px 16px;border-radius:12px;margin-bottom:16px}.toast.success{background:color-mix(in srgb,var(--green) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--green) 45%,var(--line))}
.validation{color:var(--danger)}.stack{display:grid;gap:8px}.center-card{text-align:center;max-width:760px;margin:8vh auto}.holding-logo{max-width:520px;width:90%;margin:auto}
.preview-logo{max-width:100%;height:80px;object-fit:contain}.dark-preview-box{background:#07111f}.favicon-preview{width:100px;height:100px;object-fit:contain}
footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(18px,4vw,56px);border-top:1px solid var(--line);color:var(--muted);background:var(--surface)}
.consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:50;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.consent.hidden{display:none}.consent p{margin:4px 0}.consent-actions{display:flex;gap:8px}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(3,1fr)}.feature-grid,.admin-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}}
@media(max-width:700px){.topbar{align-items:flex-start;flex-direction:column}.brand-logo{height:38px}nav{gap:11px}.page-shell{padding:32px 14px 60px}.feature-grid,.dashboard-grid,.status-grid,.metric-grid,.admin-grid,.two-col{grid-template-columns:1fr}.hero{min-height:auto}.section-head,.admin-head,footer,.consent{align-items:stretch;flex-direction:column}.bar-row{grid-template-columns:90px 1fr 52px}}


.holding-body{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}
.holding-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,4vw,56px);border-bottom:1px solid var(--line);background:var(--surface)}
.holding-topbar select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.holding-shell{display:flex;align-items:center;justify-content:center;padding:42px 20px}
.holding-card{margin:0 auto;max-width:780px}
.holding-footer{background:var(--surface)}
.login-separator{display:flex;align-items:center;gap:10px;margin:24px 0 14px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.login-separator:before,.login-separator:after{content:"";height:1px;background:var(--line);flex:1}
.admin-nav{opacity:.72;font-size:.9rem}

.admin-warning{margin:0 0 18px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--warn) 55%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--warn) 12%,var(--surface))}
.admin-warning ul{margin:.5rem 0 0 1.2rem;padding:0}


.toast.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line))}
.nav-register{padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface2)}
.nav-user{font-weight:700;color:var(--muted)}
.auth-shell{min-height:58vh;display:flex;align-items:center;justify-content:center}
.auth-card{width:min(100%,560px)}
.auth-footer{display:flex;justify-content:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.account-cta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px;padding:22px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue2) 10%,var(--surface)),color-mix(in srgb,var(--teal) 10%,var(--surface)));border:1px solid var(--line)}
.account-cta h2{margin:0 0 6px}
.property-summary{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:20px}
.break-url{overflow-wrap:anywhere;color:var(--muted)}
.action-list{display:grid;gap:12px}
.action-list a{padding:10px 0;border-bottom:1px solid var(--line);font-weight:700}
.copy-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.admin-body{background:var(--bg)}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:12px clamp(18px,4vw,56px);background:var(--surface);border-bottom:1px solid var(--line)}
.admin-topbar nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.admin-shell{max-width:1320px}
@media(max-width:700px){
  .account-cta,.admin-topbar{align-items:stretch;flex-direction:column}
  .property-summary{grid-template-columns:1fr}
  .copy-row{grid-template-columns:1fr}
}


.plan-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);font-weight:800}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.simple-list{display:grid;gap:10px;margin:12px 0 18px}.simple-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--line)}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.metric-row{display:flex;gap:14px;color:var(--muted);margin:12px 0}
.comparison-table-wrap{overflow-x:auto}.comparison-table,.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:14px;overflow:hidden}
.comparison-table th,.comparison-table td,.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.message-list{display:grid;gap:12px}.message-unread{border-left:4px solid var(--blue2)}.message-head{display:flex;justify-content:space-between;gap:12px}
.admin-search{display:flex;gap:10px;margin-bottom:12px}.admin-search input{flex:1}
.letter-filter{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0 20px}.letter-filter a{padding:5px 8px;border:1px solid var(--line);border-radius:7px}
.bulk-bar{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.member-checkboxes{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;margin:10px 0 18px}
.member-checkboxes label{display:flex;gap:8px;align-items:center}.member-checkboxes small{color:var(--muted)}
.error-report-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px}.stacktrace{white-space:pre-wrap;overflow:auto;font-size:.8rem;background:var(--surface2);padding:12px;border-radius:10px}
.detail-list{display:grid;grid-template-columns:max-content 1fr;gap:7px 16px}.detail-list dt{font-weight:800}.detail-list dd{margin:0}
.danger-zone{margin-top:28px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-radius:16px;padding:18px}
.button.danger{background:var(--danger);color:white}
.danger-text{color:var(--danger)!important}
.report-error-fab{position:fixed;right:18px;bottom:18px;z-index:50;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 25px rgba(0,0,0,.12);border-radius:999px;padding:10px 14px;font-weight:800}
.hidden{display:none!important}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs a{padding:7px 10px;border:1px solid var(--line);border-radius:8px}
@media print{
  .no-print,.topbar,footer,.report-error-fab,.consent{display:none!important}
  body{background:white;color:black}
  .page-shell{max-width:none;margin:0;padding:0}
  .comparison-table{font-size:10pt}
}
@media(max-width:760px){
  .profile-grid,.three-col{grid-template-columns:1fr}
  .admin-search,.bulk-bar,.message-head{flex-direction:column;align-items:stretch}
}


.bb-promo{max-width:1200px;margin:18px auto;padding:18px 22px;border-radius:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;border:1px solid var(--line);box-shadow:0 10px 34px rgba(10,35,60,.10)}
.bb-promo-icon img{width:58px;height:58px;object-fit:contain}.bb-promo-copy{display:grid;gap:3px}.bb-promo-copy strong{font-size:1.25rem}.bb-promo-copy>span:last-child{color:var(--muted)}
.bb-promo-decision{background:linear-gradient(120deg,color-mix(in srgb,#0b2f4f 92%,var(--surface)),color-mix(in srgb,#16a7a0 58%,var(--surface)));color:white}.bb-promo-decision .bb-promo-copy>span:last-child,.bb-promo-decision .eyebrow{color:rgba(255,255,255,.82)}
.bb-promo-calculator{background:linear-gradient(120deg,#071c31,#0b4164);color:white}.bb-promo-calculator .bb-promo-copy>span:last-child,.bb-promo-calculator .eyebrow{color:rgba(255,255,255,.8)}
.bb-promo-compare{background:linear-gradient(120deg,color-mix(in srgb,#16a7a0 18%,var(--surface)),var(--surface));border-color:color-mix(in srgb,#16a7a0 45%,var(--line))}
.bb-promo-minimal{background:var(--surface);box-shadow:none}.bb-promo-minimal .bb-promo-icon{display:none}
.banner-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.banner-preview-img{width:100%;max-height:240px;object-fit:contain;border-radius:12px;background:#eef3f7}
@media(max-width:760px){.bb-promo{grid-template-columns:1fr;text-align:center}.bb-promo-icon{display:none}.banner-download-grid{grid-template-columns:1fr}}


/* v0.3.0-r4 */
.field-help{margin:-2px 0 12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);font-size:.92rem}
.field-help summary{cursor:pointer;font-weight:700;color:var(--blue2)}
.field-help p{margin:.55rem 0 0;color:var(--muted)}
.readonly-calculated{background:var(--surface2);font-weight:800}
.marketing-tabs .active{background:var(--blue2);color:white}
.tryggadress-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#0a7f68,#16b889);color:white;font-size:2rem;font-weight:900;box-shadow:0 8px 22px rgba(10,127,104,.25)}
.bb-promo-trust{background:linear-gradient(120deg,color-mix(in srgb,#0c4268 92%,var(--surface)),color-mix(in srgb,#1aa77b 72%,var(--surface)));color:white}
.bb-promo-trust .bb-promo-copy>span:last-child,.bb-promo-trust .eyebrow{color:rgba(255,255,255,.84)}
.bb-promo-family{background:linear-gradient(120deg,color-mix(in srgb,#e8f7f0 92%,var(--surface)),color-mix(in srgb,#eaf3ff 92%,var(--surface)));border-color:color-mix(in srgb,#1aa77b 30%,var(--line))}
.bb-promo-map{background:linear-gradient(120deg,color-mix(in srgb,#0b3659 92%,var(--surface)),color-mix(in srgb,#d7a62c 65%,var(--surface)));color:white}
.bb-promo-map .bb-promo-copy>span:last-child,.bb-promo-map .eyebrow{color:rgba(255,255,255,.84)}
