*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f8f7f4;color:#1a1a1a;font-size:14px;max-width:100vw;overflow-x:hidden}
.topbar{background:#1a1a1a;color:white;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}
.topbar h1{font-size:15px;font-weight:500;letter-spacing:.02em}
.nav{background:white;border-bottom:1px solid #e8e8e8;display:flex;padding:0 24px;overflow-x:auto}
.nav button{padding:12px 16px;font-size:13px;border:none;background:transparent;cursor:pointer;color:#666;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.nav button.on{color:#1a1a1a;border-bottom-color:#1a1a1a;font-weight:500}
.page{display:none;padding:24px;max-width:960px;margin:0 auto}
.page.on{display:block}
.sl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#999;margin:1.5rem 0 .6rem}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.f{display:flex;flex-direction:column;gap:4px}
.f label{font-size:12px;color:#666}
.f input{width:100%;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;background:white}
.f input:focus{outline:none;border-color:#1a1a1a}
.f input::placeholder{color:#bbb;font-style:italic}
.hint{font-size:11px;color:#aaa;margin-top:2px}
.hr{border:none;border-top:1px solid #e8e8e8;margin:1.5rem 0 0}
.mc{background:white;border:1px solid #e8e8e8;border-radius:8px;padding:.85rem 1rem}
.mc-l{font-size:11px;color:#999;margin-bottom:4px}
.mc-v{font-size:18px;font-weight:600}
.mc-s{font-size:11px;color:#aaa;margin-top:2px}
.pos{color:#1D9E75}.neg{color:#E24B4A}.neu{color:#1a1a1a}
.tog{display:flex;margin-bottom:4px}
.tb{flex:1;padding:6px 0;font-size:12px;cursor:pointer;border:1px solid #e0e0e0;background:white;color:#666}
.tb:first-child{border-radius:6px 0 0 6px}
.tb:last-child{border-radius:0 6px 6px 0;border-left:none}
.tb.on{background:#1a1a1a;color:white;border-color:#1a1a1a}
.btn{padding:10px 20px;font-size:13px;cursor:pointer;border-radius:6px;border:1px solid #e0e0e0;background:white;color:#1a1a1a}
.btn-primary{background:#1a1a1a;color:white;border-color:#1a1a1a;width:100%;margin-top:1rem;padding:12px;font-size:14px}
.btn-success{background:#1D9E75;color:white;border-color:#1D9E75}
.abox{border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;margin-top:1rem}
.ahd{padding:.75rem 1.25rem;background:#f8f7f4;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e8e8}
.atl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#999}
.abd{padding:1rem 1.25rem;font-size:14px;line-height:1.7;color:#444;min-height:60px}
.aac{display:flex;gap:8px;padding:0 1.25rem 1rem;flex-wrap:wrap}
.scb{font-size:12px;padding:6px 12px;cursor:pointer;background:#e8f5ef;color:#1D9E75;border:1px solid #b8dece;border-radius:6px}
.warn{background:#fff8e6;border:1px solid #f0d080;border-radius:6px;padding:.75rem 1rem;font-size:13px;color:#8a6000;line-height:1.6;margin-top:.5rem;display:none}
.warn.on{display:block}
.switch-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:white;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:8px}
.sw-left{display:flex;flex-direction:column;gap:2px}
.sw-label{font-size:13px;font-weight:500}
.sw-sub{font-size:11px;color:#999}
.switch{position:relative;width:40px;height:22px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.sw-sl{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ddd;border-radius:22px;transition:.2s}
.sw-sl:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:white;border-radius:50%;transition:.2s}
input:checked+.sw-sl{background:#1D9E75}
input:checked+.sw-sl:before{transform:translateX(18px)}
.mail-pre{background:white;border:1px solid #e8e8e8;border-radius:8px;padding:1.5rem;font-size:14px;line-height:1.8;white-space:pre-wrap;min-height:200px;margin-top:1rem;color:#444}
.badge{display:inline-block;font-size:10px;padding:2px 7px;border-radius:10px;margin-left:6px}
.b-ok{background:#e8f5ef;color:#1D9E75}
.b-warn{background:#fff8e6;color:#8a6000}
.changed{background:#fff8e6!important;transition:background .5s}
.info-box{background:#e8f5ef;border:1px solid #b8dece;border-radius:8px;padding:.75rem 1rem;font-size:13px;color:#1a5c3a;margin-bottom:1rem}
.import-box{background:#f0f4ff;border:1px solid #c8d4f0;border-radius:8px;padding:.75rem 1rem;font-size:13px;color:#2a3a8a;margin-bottom:1rem;display:none}
.obs-box{background:white;border:1px solid #e8e8e8;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;display:none}
.upload-box{border:2px dashed #d0d0d0;border-radius:8px;padding:1.25rem;text-align:center;background:#fafaf8;cursor:pointer;transition:.2s;margin-bottom:1rem}
.upload-box:hover{border-color:#1a1a1a;background:white}
.upload-box.drag{border-color:#1D9E75;background:#e8f5ef}
.upload-box input[type=file]{display:none}
.upload-titel{font-size:13px;font-weight:500;margin-bottom:4px}
.upload-sub{font-size:11px;color:#888}
.obs-titel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:.5rem}
.obs-item{padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:13px;color:#444;display:flex;gap:8px;align-items:flex-start}
.obs-item:last-child{border-bottom:none}
.lejer-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px}
.lejer-row input{width:100%}
.vaerdi-box{background:#1a1a1a;color:white;border-radius:10px;padding:1.25rem;margin-top:1rem}
.vaerdi-box .mc-l{color:#888}
.vaerdi-box .mc-v{color:white;font-size:22px}
.rente-box{background:#fff8e6;border:1px solid #f0d080;border-radius:10px;padding:1.25rem;margin-top:1rem}
.rente-box .mc-l{color:#8a6000}
.rente-box .mc-v{color:#1a1a1a;font-size:18px}
.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:1000;display:flex;align-items:center;justify-content:center}
.auth-box{background:white;border-radius:16px;padding:2rem;max-width:400px;width:90%}
.auth-title{font-size:20px;font-weight:600;margin-bottom:.5rem}
.auth-sub{font-size:13px;color:#666;margin-bottom:1.5rem}
.auth-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid #e8e8e8}
.auth-tab{flex:1;padding:8px;font-size:13px;cursor:pointer;border:none;background:transparent;color:#666;border-bottom:2px solid transparent;margin-bottom:-1px}
.auth-tab.on{color:#1a1a1a;border-bottom-color:#1a1a1a;font-weight:500}
.auth-error{background:#fff0f0;border:1px solid #ffcccc;border-radius:6px;padding:.75rem 1rem;font-size:13px;color:#cc0000;margin-bottom:1rem;display:none}
.auth-error.on{display:block}
.onboard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:999;display:flex;align-items:center;justify-content:center}
.onboard-box{background:white;border-radius:16px;padding:2rem;max-width:520px;width:90%;max-height:90vh;overflow-y:auto}
.onboard-title{font-size:20px;font-weight:600;margin-bottom:.5rem}
.onboard-sub{font-size:14px;color:#666;margin-bottom:2rem;line-height:1.6}
.onboard-q{margin-bottom:1.5rem}
.onboard-q-title{font-size:13px;font-weight:500;margin-bottom:.75rem}
.onboard-opts{display:flex;flex-direction:column;gap:8px}
.onboard-opt{padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:13px;color:#444;text-align:left;background:white}
.onboard-opt.on{border-color:#1a1a1a;background:#1a1a1a;color:white}
.onboard-btn{width:100%;padding:12px;font-size:14px;cursor:pointer;background:#1a1a1a;color:white;border:none;border-radius:8px;margin-top:1rem}
.onboard-btn:disabled{background:#ccc;cursor:not-allowed}
.onboard-step{font-size:11px;color:#aaa;margin-bottom:1.5rem}
.bruger-info{display:flex;align-items:center;gap:8px;font-size:12px;color:#888;min-width:0;flex-shrink:1}
#bruger-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.betaler-badge{background:#1D9E75;color:white;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}
.fri-badge{background:#e8e8e8;color:#666;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}
.log-ud-btn{padding:4px 10px;font-size:11px;cursor:pointer;border:1px solid #444;background:transparent;color:#888;border-radius:6px}
.log-ud-btn:hover{color:white;border-color:white}
.opgrader-box{background:linear-gradient(135deg,#1a1a1a,#333);color:white;border-radius:10px;padding:1.5rem;text-align:center;margin:1rem 0}
.opgrader-titel{font-size:16px;font-weight:600;margin-bottom:.5rem}
.opgrader-sub{font-size:13px;color:#aaa;margin-bottom:1rem;line-height:1.6}
.opgrader-pris{font-size:28px;font-weight:700;margin-bottom:.25rem}
.opgrader-pris span{font-size:14px;font-weight:400;color:#aaa}
.opgrader-btn{background:#1D9E75;color:white;border:none;padding:12px 32px;border-radius:8px;font-size:14px;cursor:pointer;margin-top:.5rem}
body.viser-landing .topbar,body.viser-landing .nav,body.viser-landing .page,body.viser-landing .dup-modal,body.viser-landing .onboard-overlay,body.viser-landing #cookie-banner{display:none!important}

/* Landing page */
.landing{display:none;background:#f8f7f4}
.landing.on{display:block}
.lp-hero{background:#1a1a1a;color:white;padding:60px 24px 48px;text-align:center}
.lp-hero h1{font-size:32px;font-weight:700;margin-bottom:12px;letter-spacing:-.02em}
.lp-hero p{font-size:16px;color:#aaa;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.6}
.lp-cta{background:#1D9E75;color:white;border:none;padding:14px 36px;border-radius:8px;font-size:15px;cursor:pointer;font-weight:500}
.lp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:40px auto;padding:0 24px}
.lp-feat{background:white;border:1px solid #e8e8e8;border-radius:12px;padding:24px}
.lp-feat-icon{font-size:28px;margin-bottom:12px}
.lp-feat h3{font-size:15px;font-weight:600;margin-bottom:8px}
.lp-feat p{font-size:13px;color:#666;line-height:1.6}
.lp-demo{max-width:900px;margin:0 auto 48px;padding:0 24px}
.lp-demo h2{font-size:18px;font-weight:600;margin-bottom:16px;text-align:center;color:#666}
.lp-demo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.lp-login-wrap{text-align:center;padding:40px 24px;background:white;border-top:1px solid #e8e8e8}
.lp-login-wrap h2{font-size:20px;font-weight:600;margin-bottom:8px}
.lp-login-wrap p{font-size:13px;color:#666;margin-bottom:24px}
/* Forside */
.case-card{background:white;border:1px solid #e8e8e8;border-radius:10px;padding:1.25rem;margin-bottom:12px}
.case-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.case-adresse{font-size:14px;font-weight:500}
.case-meta{font-size:12px;color:#999;margin-top:2px}
.case-pris{font-size:14px;font-weight:600;text-align:right}
.case-afkast{font-size:11px;color:#1D9E75;text-align:right;margin-top:2px}
.tjek-liste{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tjek-item{display:flex;align-items:center;gap:5px;font-size:11px;padding:4px 8px;border-radius:20px;border:1px solid #e8e8e8;background:#fafafa;color:#666}
.tjek-item.ok{background:#e8f5ef;border-color:#b8dece;color:#1a5c3a}
.tjek-item.ok::before{content:'✓';font-weight:700;color:#1D9E75}
.tjek-item.mangler::before{content:'○';color:#ccc}
.tjek-hent{font-size:11px;padding:4px 10px;border:1px solid #1D9E75;color:#1D9E75;background:white;border-radius:6px;cursor:pointer}
.tjek-forklaring{font-size:11px;color:#999;line-height:1.5;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}
/* Duplikat modal */
.dup-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:2000;display:flex;align-items:center;justify-content:center}
.dup-box{background:white;border-radius:12px;padding:1.5rem;max-width:420px;width:90%}
.dup-title{font-size:16px;font-weight:600;margin-bottom:8px}
.dup-sub{font-size:13px;color:#666;margin-bottom:16px;line-height:1.5}
.dup-btns{display:flex;flex-direction:column;gap:8px}
/* Prospect guide */
.prospect-guide{background:#f0f4ff;border:1px solid #c8d4f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;display:none}
.prospect-guide.on{display:block}
.prospect-guide-titel{font-size:13px;font-weight:500;color:#2a3a8a;margin-bottom:6px}
.prospect-guide-sub{font-size:12px;color:#5a6a9a;margin-bottom:10px;line-height:1.5}
/* Data-kort */
.data-kort{background:white;border:1px solid #e8e8e8;border-radius:8px;padding:1rem 1.25rem;margin-top:1rem;display:none}
.data-kort.on{display:block}
.data-kort-titel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}
.data-kort-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-top:1px solid #f0f0f0}
.data-kort-row:first-of-type{border-top:none}
.asbest-badge{background:#fff0f0;border:1px solid #ffcccc;color:#cc0000;font-size:11px;padding:3px 8px;border-radius:4px;font-weight:500}
/* 30-år tabel + profil + modal + cookie */
.forl-wrap{overflow-x:auto;background:white;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:1rem;max-width:100%}
.forl-table{border-collapse:collapse;font-size:12px;width:max-content;min-width:100%}
.forl-table th,.forl-table td{padding:8px 12px;text-align:right;border-bottom:1px solid #f0f0f0;white-space:nowrap}
.forl-table th:first-child,.forl-table td:first-child{text-align:left;position:sticky;left:0;background:white;font-weight:500;color:#444;border-right:1px solid #e8e8e8;min-width:200px;z-index:1}
.forl-table thead th{background:#f8f7f4;font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.05em;font-weight:600;position:sticky;top:0;z-index:2}
.forl-table thead th:first-child{z-index:3}
.forl-table tr.sum td{font-weight:600;background:#fafaf8}
.forl-table tr:hover td{background:#fafaf8}
.forl-table td.neg{color:#E24B4A}
.forl-empty{padding:2rem;text-align:center;color:#999;font-size:13px;background:white;border:1px dashed #e0e0e0;border-radius:8px}
.profil-card{background:white;border:1px solid #e8e8e8;border-radius:10px;padding:1.25rem;margin-bottom:1rem}
.profil-card h3{font-size:14px;font-weight:600;margin-bottom:.75rem;color:#1a1a1a}
.profil-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0;font-size:13px}
.profil-row:last-child{border-bottom:none}
.profil-row .lbl{color:#888}.profil-row .val{font-weight:500}
.profil-fare{border-color:#f0d0d0;background:#fff8f8}
.profil-fare h3{color:#cc0000}
.btn-fare{background:#fff;border:1px solid #cc0000;color:#cc0000;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer}
.btn-fare:hover{background:#cc0000;color:white}
.btn-warn{background:#fff8e6;border:1px solid #f0d080;color:#8a6000;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer}
.analyse-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:8px;background:white}
.analyse-row:hover{border-color:#1a1a1a}
.analyse-info{flex:1;min-width:0}
.analyse-titel{font-weight:500;font-size:13px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analyse-meta{font-size:11px;color:#999}
.analyse-aktioner{display:flex;gap:6px;flex-shrink:0}
.analyse-btn{font-size:11px;padding:5px 10px;border-radius:4px;border:1px solid #e0e0e0;background:white;cursor:pointer;color:#666}
.analyse-btn:hover{border-color:#1a1a1a;color:#1a1a1a}
.analyse-btn.danger:hover{border-color:#cc0000;color:#cc0000}
.modal-bg{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:2000;display:flex;align-items:center;justify-content:center}
.modal-box{background:white;border-radius:12px;padding:1.75rem;max-width:440px;width:90%;max-height:90vh;overflow-y:auto}
.modal-titel{font-size:17px;font-weight:600;margin-bottom:.5rem}
.modal-sub{font-size:13px;color:#666;margin-bottom:1.25rem;line-height:1.5}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1a1a1a;color:white;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:500;font-size:13px;flex-wrap:wrap}
.cookie-banner button{background:white;color:#1a1a1a;border:none;padding:8px 16px;border-radius:6px;font-size:12px;cursor:pointer;font-weight:500}
.foel-tabel{width:100%;border-collapse:collapse;font-size:12px;background:white;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}
.foel-tabel th,.foel-tabel td{padding:8px 12px;text-align:right;border-bottom:1px solid #f0f0f0}
.foel-tabel th{background:#f8f7f4;font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.foel-tabel th:first-child,.foel-tabel td:first-child{text-align:left}
.foel-tabel td.heat-pos{background:#e8f5ef;color:#1D9E75}
.foel-tabel td.heat-neu{background:#fff8e6;color:#8a6000}
.foel-tabel td.heat-neg{background:#ffefef;color:#E24B4A}
.graf-wrap{background:white;border:1px solid #e8e8e8;border-radius:8px;padding:1rem;margin-top:1rem}
.graf-leg{display:flex;gap:16px;margin-top:.5rem;font-size:11px;color:#666;flex-wrap:wrap}
.graf-leg span{display:flex;align-items:center;gap:4px}
.graf-leg i{display:inline-block;width:12px;height:3px;border-radius:2px}
.bank-pre{background:white;border:1px solid #e8e8e8;border-radius:8px;padding:1.5rem;font-size:13px;line-height:1.7;white-space:pre-wrap;min-height:200px;color:#444}
.bill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:.5rem}
.bill-grid img{width:100%;height:100px;object-fit:cover;border-radius:6px;border:1px solid #e8e8e8;cursor:pointer;background:#f8f7f4}
@media(max-width:768px){
  .lp-features{grid-template-columns:1fr}
  .lp-demo-grid{grid-template-columns:1fr 1fr}
  .lp-hero h1{font-size:24px}
}
@media(max-width:768px){
  .g4{grid-template-columns:1fr 1fr}
  .g3{grid-template-columns:1fr 1fr}
  .g2{grid-template-columns:1fr}
  .page{padding:16px}
  .topbar{padding:12px 16px}
  .topbar h1{font-size:14px}
  .bruger-info{gap:6px;font-size:11px}
  .nav{padding:0 12px}
  .nav button{padding:10px 12px;font-size:12px}
  .vaerdi-box .g4{grid-template-columns:1fr 1fr}
  .rente-box .g4{grid-template-columns:1fr 1fr}
  .lejer-row{grid-template-columns:1fr 1fr auto}
  .auth-box{padding:1.5rem}
  .onboard-box{padding:1.5rem}
  .mail-pre{font-size:13px;padding:1rem}
}
@media(max-width:480px){
  .g4{grid-template-columns:1fr}
  .g3{grid-template-columns:1fr}
  .g2{grid-template-columns:1fr}
  #bruger-email{display:none}
  #forbrug-badge{display:none!important}
  .topbar h1{font-size:13px;flex:1}
  .vaerdi-box .g4{grid-template-columns:1fr 1fr}
  .rente-box .g4{grid-template-columns:1fr 1fr}
  .lejer-row{grid-template-columns:1fr;gap:6px}
  .lejer-row button{align-self:flex-start;width:auto}
  .topbar h1{font-size:13px}
  .bruger-info .log-ud-btn{padding:3px 8px;font-size:10px}
  .btn-primary{font-size:13px;padding:11px}
  .mc-v{font-size:16px}
  .aac{flex-direction:column}
  .tog{flex-wrap:nowrap}
}
@media print{
  .topbar,.nav,.btn,.cookie-banner,.auth-overlay,.onboard-overlay,.modal-bg,#ag-actions,.analyse-aktioner{display:none!important}
  .page{display:block!important;page-break-inside:avoid}
  body{background:white}
}
