@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ink:#1a302d;--green:#255a4b;--lime:#d9e7ca;--paper:#f7f8f4;--muted:#7d8983}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}.topbar{height:90px;max-width:1350px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;font-family:Manrope;font-weight:800;font-size:22px;letter-spacing:-1px}.brandmark{display:grid;place-items:center;width:48px;height:48px;background:var(--green);color:#fff;border-radius:13px;font-size:23px}.brandmark span{font-size:11px;align-self:end}.muted{color:#6e8c7d}.topbar nav{display:flex;align-items:center;gap:28px;font-size:14px}.topbar form{margin:0}.navbtn{background:#e5ece4;border:0;border-radius:8px;padding:12px 19px;font:inherit;cursor:pointer}.hero{max-width:1350px;margin:0 auto;padding:105px 5% 60px;position:relative}.eyebrow,.smallcaps{font-size:11px;letter-spacing:2px;font-weight:700;color:#56786a}.dot{display:inline-block;background:#86ad89;border-radius:100%;height:8px;width:8px;margin-right:9px}.hero h1,.login-intro h1,.dashboard h1{font:800 clamp(42px,5.2vw,78px)/1.13 Manrope,sans-serif;letter-spacing:-4px;margin:27px 0}.hero h1 em,.login-intro h1 em,.dashboard h1 em{font-style:normal;color:#7c9d85}.hero>p,.login-intro>p,.dashboard>p{font-size:18px;line-height:1.8;color:#687b70;max-width:640px}.actions{display:flex;align-items:center;gap:22px;margin-top:34px}.primary{display:inline-flex;justify-content:space-between;gap:55px;align-items:center;background:#265c4d;color:#fff;border:0;padding:19px 24px;border-radius:8px;font:600 14px 'DM Sans';cursor:pointer}.subtle{font-size:12px;color:#82928a}.visual{height:310px;border-radius:18px;margin-top:75px;overflow:hidden;background:linear-gradient(115deg,#244d43,#5d8870);position:relative}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff18 1px,transparent 1px),linear-gradient(90deg,#ffffff18 1px,transparent 1px);background-size:40px 40px;transform:skewY(-10deg) scale(1.4)}.floating{position:absolute;top:45px;right:7%;background:#f6f8f0;padding:32px 38px;border-radius:12px;max-width:410px}.visual-number{font:700 27px Manrope;margin:15px 0}.visual-number span{color:#86ad89}.floating p{font-size:13px;color:#718078}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1210px;margin:0 auto 90px;gap:45px;padding:0 20px}.feature-strip>div{border-top:1px solid #ccd7cb;padding-top:23px}.feature-strip span{color:#86a48d;margin-right:15px}.feature-strip strong{font-size:15px}.feature-strip p{font-size:13px;color:#849087;margin-left:50px}.login-wrap{max-width:1200px;margin:80px auto 140px;padding:0 30px;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center}.login-intro h1{font-size:65px}.decor{width:75%;height:180px;margin-top:70px;background:linear-gradient(140deg,#d6e5d1,#edf3e8);border-radius:15px}.login-card{background:white;padding:45px;border:1px solid #e2e9e0;border-radius:17px;box-shadow:0 20px 65px #23473510}.login-card h2{font:800 31px Manrope;margin:17px 0 6px}.login-card p{color:#839087;font-size:14px;line-height:1.7;margin-bottom:30px}.login-card label{display:block;font-size:13px;font-weight:700;margin:18px 0 9px}.login-card input{width:100%;border:1px solid #d7e0d6;border-radius:8px;padding:15px;font:inherit;outline-color:#497866}.full{width:100%;margin-top:28px}.card-note{text-align:center;color:#9aa69c;font-size:12px;margin-top:25px}.validation{color:#ad4138;font-size:12px}.dashboard{max-width:1150px;margin:95px auto 170px;padding:0 30px}.dashboard h1{font-size:60px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}.dash-card{background:white;border:1px solid #e0e8df;border-radius:14px;padding:40px}.dash-card h2{font:700 24px Manrope}.dash-card h2 span{float:right;color:#8aab91}.dash-card p{color:#718178;line-height:1.7}footer{border-top:1px solid #e0e7de;padding:30px 5%;display:flex;justify-content:space-between;font-size:12px;color:#8c9a90}@media(max-width:760px){.topbar{height:75px}.topbar nav{gap:12px}.topbar nav>a:first-child{display:none}.brand{font-size:17px}.brandmark{width:38px;height:38px}.hero{padding-top:65px}.hero h1,.login-intro h1,.dashboard h1{letter-spacing:-2px;font-size:43px}.hero>p{font-size:16px}.visual{height:230px;margin-top:50px}.floating{right:5%;left:5%;padding:24px;top:35px}.visual-number{font-size:21px}.feature-strip,.dash-grid{grid-template-columns:1fr;gap:20px}.feature-strip{padding:0 5%}.login-wrap{grid-template-columns:1fr;gap:25px;margin:55px auto}.decor{display:none}.login-card{padding:28px}.actions{align-items:flex-start;flex-direction:column}footer{gap:10px;flex-direction:column}}
.account-panel{max-width:560px;margin:60px auto;padding:32px;background:#fff;border-radius:18px;box-shadow:0 10px 35px #0001}.account-panel.wide{max-width:1100px}.account-panel form{display:grid;gap:12px}.account-panel input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:8px}.account-panel label{font-weight:600}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px;border-bottom:1px solid #ddd;text-align:left}@media(max-width:650px){.account-panel{margin:20px 12px;padding:20px}.users-table{display:block;overflow-x:auto}}

/* BBR: diskret metadata under bygningens anvendelse */
.bbr-building-details { display:block; font-size:.72rem; line-height:1.5; opacity:.75; margin-top:.2rem; }

/* SQL-dokumentation vises kun under de skjulte beregningsdetaljer. */
.valuation-sql-details{margin-top:14px;padding-top:12px;border-top:1px solid #d7e1d8}
.valuation-sql-details[hidden]{display:none}
.valuation-sql-details>summary{cursor:pointer;font-weight:650;color:#315a46}
.valuation-sql-details pre{padding:12px;border:1px solid #d7e1d8;border-radius:7px;background:#fff;white-space:pre;overflow-x:auto;max-height:430px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#253f36}
.valuation-sql-details p{margin:10px 0}
.valuation-sql-attempt{border-top:1px solid #e0e8e1;padding-top:9px;margin-top:12px}
