
:root{
  --iv-green:#07865f;
  --iv-green-dark:#006b4a;
  --iv-green-deep:#004f38;
  --iv-mint:#e9f7ef;
  --iv-lime:#baf16c;
  --iv-cream:#f6f3ed;
  --iv-white:#ffffff;
  --iv-ink:#10231c;
  --iv-muted:#607168;
  --iv-border:#d9e7df;
  --iv-soft:#f3f8f5;
  --iv-shadow:0 18px 60px rgba(0,79,56,.13);
  --iv-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--iv-cream);
  color:var(--iv-ink);
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:min(1240px,calc(100% - 32px));margin:auto}
.topbar{
  position:sticky;top:0;z-index:30;
  padding:14px 0;
  background:rgba(246,243,237,.92);
  backdrop-filter:blur(12px)
}
.topbar-inner{
  display:flex;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--iv-border);
  border-radius:22px;padding:10px 14px;box-shadow:0 6px 20px rgba(0,79,56,.05)
}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;white-space:nowrap}
.brand-mark{
  width:36px;height:36px;border-radius:8px;
  background:linear-gradient(135deg,var(--iv-green),var(--iv-green-deep));
  display:grid;place-items:center;color:#fff;font-weight:900
}
.brand-title{font-size:18px;letter-spacing:-.025em}
.brand-sub{border-left:1px solid var(--iv-border);padding-left:18px;display:flex;flex-direction:column}
.brand-sub strong{font-size:14px}.brand-sub span{font-size:11px;color:var(--iv-muted)}
.kpis{display:flex;gap:8px;margin-left:auto}
.kpi{
  padding:7px 11px;border:1px solid #bcdccc;border-radius:13px;
  background:#f8fcfa;font-size:10px;line-height:1.05
}
.kpi b{display:block;font-size:13px}
.nav-pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{
  border:none;border-radius:999px;padding:10px 16px;background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.045);font-weight:800;font-size:13px
}
.pill.active,.pill.primary{background:var(--iv-green);color:#fff}
.btn{
  border:0;border-radius:999px;padding:14px 22px;font-weight:900;
  transition:.18s transform,.18s opacity
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--iv-lime);color:#0a3c29}
.btn-dark{background:var(--iv-green);color:white}
.btn-light{background:white;border:1px solid var(--iv-border)}
.hero{
  min-height:540px;
  background:
   radial-gradient(circle at 15% 15%, rgba(186,241,108,.22), transparent 27%),
   linear-gradient(135deg,#dff5e8 0%,#eaf7f0 36%,#cce9dd 100%);
  border-radius:30px;
  margin:6px auto 0;
  width:min(1460px,calc(100% - 18px));
  position:relative;overflow:hidden;
}
.hero:after{
  content:"";position:absolute;inset:auto -7% -22% auto;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,134,95,.18),rgba(0,134,95,0) 68%)
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.03fr .97fr;gap:40px;align-items:center;padding:56px 0 62px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 13px;background:#fff;color:var(--iv-green-deep);font-weight:900;font-size:13px}
h1{font-size:clamp(44px,5.2vw,68px);line-height:.98;letter-spacing:-.048em;margin:18px 0 18px;max-width:760px}
.hero p{font-size:17px;line-height:1.55;color:#334c42;max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.trustline{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;font-size:14px;color:#355149}
.trustline span:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--iv-green);color:#fff;margin-right:7px;font-size:12px;font-weight:900}
.hero-card{
  background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--iv-shadow);border-radius:32px;padding:26px
}
.hero-card h3{font-size:22px;margin:0 0 8px}
.hero-card p{font-size:15px}
.hero-option{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border:1px solid var(--iv-border);border-radius:16px;margin-top:10px;background:#fff}
.hero-option b{font-size:15px}.hero-option span{color:var(--iv-green);font-weight:900}
section{padding:60px 0}
.section-head{display:flex;justify-content:space-between;gap:26px;align-items:flex-end;margin-bottom:34px}
.section-head h2{font-size:clamp(34px,3.4vw,48px);letter-spacing:-.04em;line-height:1;margin:0}
.section-head p{max-width:580px;color:var(--iv-muted);font-size:15px;line-height:1.5}
.pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto}
.price-card{
  min-height:500px;background:#fff;border:1px solid var(--iv-border);
  border-radius:26px;padding:24px;display:flex;flex-direction:column
}
.price-card.featured{background:#e9ffc1;border-color:#c7e889}
.price-name{font-size:18px;font-weight:900}
.price{font-family:Georgia,"Times New Roman",serif;font-size:44px;line-height:1;color:var(--iv-green-deep);font-weight:800;margin:12px 0}
.price-copy{color:#36483f;min-height:46px;font-size:14px;line-height:1.4}
.price-card ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px;font-size:13px}
.price-card li{display:grid;grid-template-columns:20px 1fr;gap:10px}
.price-card li:before{content:"✓";width:18px;height:18px;border-radius:50%;background:#3f9a52;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}
.price-card .btn{margin-top:auto;width:100%}
.group-price{font-size:12px;font-weight:900;color:var(--iv-green-deep);margin:7px 0 13px}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.flow-step{background:#fff;border:1px solid var(--iv-border);border-radius:24px;padding:24px}
.flow-step .num{width:38px;height:38px;border-radius:50%;background:var(--iv-mint);color:var(--iv-green);display:grid;place-items:center;font-weight:900}
.flow-step h3{margin:14px 0 7px;font-size:18px}
.flow-step p{color:var(--iv-muted);line-height:1.45;font-size:14px}
.app-shell{min-height:100vh;background:#f4f6f3}
.app-header{background:#fff;border-bottom:1px solid var(--iv-border);padding:15px 22px;position:sticky;top:0;z-index:20}
.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.app-layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 69px)}
.sidebar{background:#fff;border-right:1px solid var(--iv-border);padding:20px;position:sticky;top:69px;height:calc(100vh - 69px);overflow:auto}
.side-section-title{font-size:12px;color:var(--iv-muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin:18px 8px 8px}
.side-item{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:14px;font-weight:800;color:#32443c;margin:4px 0}
.side-item.active{background:var(--iv-mint);color:var(--iv-green-deep)}
.dot{width:9px;height:9px;border-radius:50%;background:#d9e5df}.dot.done{background:var(--iv-green)}.dot.open{background:#f0b74b}
.app-content{padding:34px}
.card{background:#fff;border:1px solid var(--iv-border);border-radius:26px;padding:26px;box-shadow:0 8px 24px rgba(0,79,56,.04)}
.question-card{max-width:800px;margin:10px auto 0}
.question-card h2{font-size:28px;margin:0 0 7px;letter-spacing:-.03em}
.question-card p{color:var(--iv-muted)}
.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.answer{
  padding:18px;border:1px solid var(--iv-border);border-radius:18px;background:#fff;text-align:left;font-weight:850
}
.answer:hover,.answer.selected{border-color:var(--iv-green);background:var(--iv-mint)}
.app-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
.progress{height:7px;border-radius:999px;background:#e6ece8;overflow:hidden;margin:12px 0 22px}
.progress span{display:block;height:100%;background:var(--iv-green);width:14%}
.input{width:100%;border:1px solid var(--iv-border);border-radius:14px;padding:14px 15px;background:white}
.upload-zone{border:2px dashed #b7cfc1;border-radius:22px;padding:34px;text-align:center;background:#fbfdfc}
.upload-zone.drag{border-color:var(--iv-green);background:var(--iv-mint)}
.file-list{display:grid;gap:9px;margin-top:16px}
.file-row{display:flex;justify-content:space-between;align-items:center;background:#f5f8f6;border-radius:12px;padding:10px 12px;text-align:left}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.metric{background:#fff;border:1px solid var(--iv-border);border-radius:22px;padding:22px}
.metric small{color:var(--iv-muted);font-weight:800}.metric strong{display:block;font-size:25px;margin-top:7px;color:var(--iv-green-deep)}
.wide{grid-column:span 2}
.status-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2ee}
.status-row:last-child{border-bottom:0}
.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.badge.green{background:var(--iv-mint);color:var(--iv-green-deep)}
.badge.orange{background:#fff2d2;color:#7c5600}
.cta-panel{background:var(--iv-green-deep);color:white;border-radius:32px;padding:38px}
.cta-panel p{color:#cce1d8}
footer{padding:38px 0 52px;color:#65746d;font-size:14px}
.footer-flex{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hidden{display:none!important}
@media(max-width:1000px){
 .kpis{display:none}.brand-sub{display:none}
 .hero-inner,.pricing,.flow,.app-layout,.dashboard-grid{grid-template-columns:1fr}
 .sidebar{position:relative;top:0;height:auto;border-right:0;border-bottom:1px solid var(--iv-border)}
 .wide{grid-column:auto}
}
@media(max-width:700px){
 .topbar-inner{
  display:flex;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--iv-border);
  border-radius:22px;padding:10px 14px;box-shadow:0 6px 20px rgba(0,79,56,.05)
}
 .nav-pills{width:100%;overflow:auto;flex-wrap:nowrap}
 .hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.03fr .97fr;gap:40px;align-items:center;padding:56px 0 62px}
 .answer-grid{grid-template-columns:1fr}
 .app-content{padding:18px}
}

/* V02 proportion refinements */
.public-copy{max-width:680px}
.hero-card{max-width:560px;justify-self:end}
.hero-option{padding:13px 15px}
.hero-option b{font-size:14px}
.hero-option small{font-size:12px}
.hero-option span{font-size:14px}
.price-card .btn{font-size:13px;padding:12px 18px}
.hero-actions .btn{font-size:14px;padding:13px 20px}
.trustline{font-size:12.5px}
.eyebrow{font-size:12px;padding:7px 11px}
@media(max-width:1000px){
  .hero-card{max-width:none;justify-self:stretch}
}

/* V03: complete sandbox flows */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}
.tab{border:1px solid var(--iv-border);background:#fff;padding:10px 14px;border-radius:999px;font-weight:850;font-size:13px}
.tab.active{background:var(--iv-green);color:#fff;border-color:var(--iv-green)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:850}
.notice{padding:14px 16px;border-radius:16px;background:#f5faf7;border:1px solid var(--iv-border);font-size:13px;line-height:1.45}
.notice.warn{background:#fff7df;border-color:#f1d695}
.notice.ok{background:var(--iv-mint);border-color:#b8ddca}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th,.table td{padding:12px 10px;border-bottom:1px solid #edf1ee;text-align:left;white-space:nowrap}
.table th{color:var(--iv-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.mini-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-small{padding:8px 12px;font-size:12px}
.voucher-card{background:linear-gradient(135deg,var(--iv-green-deep),var(--iv-green));color:#fff;border-radius:28px;padding:28px;position:relative;overflow:hidden}
.voucher-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--iv-lime);opacity:.15;right:-70px;top:-60px}
.voucher-card h3{font-size:28px;margin:0 0 8px}
.voucher-card p{color:#d6ebe1}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.partner-shell{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 69px)}
.partner-nav{background:#fff;border-right:1px solid var(--iv-border);padding:20px}
.partner-main{padding:30px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{background:#fff;border:1px solid var(--iv-border);border-radius:20px;padding:18px}
.stat b{display:block;font-size:24px;color:var(--iv-green-deep);margin-top:4px}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f7f4;border-radius:8px;padding:2px 6px;font-size:12px}
@media(max-width:900px){
 .form-grid,.form-grid.three,.two-col,.stat-strip,.partner-shell{grid-template-columns:1fr}
 .partner-nav{border-right:0;border-bottom:1px solid var(--iv-border)}
}

/* V04 Hero animated savings potential */
.potential-demo{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:var(--iv-shadow);
  border-radius:32px;
  padding:24px;
  max-width:560px;
  justify-self:end;
  width:100%;
  overflow:hidden;
}
.potential-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:14px;font-size:12px;font-weight:900;color:var(--iv-muted)
}
.potential-live{display:flex;align-items:center;gap:8px;color:var(--iv-green-deep)}
.pulse-dot{
  width:9px;height:9px;border-radius:50%;background:var(--iv-green);
  box-shadow:0 0 0 0 rgba(7,134,95,.35);
  animation:pulse 1.8s infinite
}
.potential-year{background:var(--iv-soft);padding:6px 9px;border-radius:999px}
.potential-doc{
  position:relative;background:#fff;border:1px solid var(--iv-border);
  border-radius:20px;padding:18px;overflow:hidden
}
.doc-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.doc-icon{
  width:42px;height:42px;border-radius:12px;background:var(--iv-mint);
  display:grid;place-items:center;font-size:22px;color:var(--iv-green-deep);font-weight:900
}
.doc-head b{display:block;font-size:14px}
.doc-head small{display:block;color:var(--iv-muted);font-size:11px;margin-top:2px}
.scan-line{
  position:absolute;left:0;right:0;height:2px;top:74px;
  background:linear-gradient(90deg,transparent,var(--iv-lime),var(--iv-green),transparent);
  filter:drop-shadow(0 0 5px rgba(7,134,95,.45));
  animation:scan 3.6s ease-in-out infinite
}
.check-items{display:grid;gap:9px}
.check-item{
  display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center;
  padding:10px 11px;border-radius:13px;background:#f7faf8;
  opacity:.28;transform:translateY(6px);transition:.45s ease
}
.check-item.active{opacity:1;transform:translateY(0)}
.check-item b{font-size:13px;color:var(--iv-green-deep)}
.check-circle{
  width:19px;height:19px;border-radius:50%;display:grid;place-items:center;
  background:#dfe9e3;color:#8fa198;font-size:11px;font-weight:900;transition:.35s
}
.check-item.active .check-circle{background:var(--iv-green);color:#fff}
.potential-result{
  margin-top:14px;border-radius:20px;padding:18px;
  background:linear-gradient(135deg,var(--iv-green-deep),var(--iv-green));
  color:#fff;position:relative;overflow:hidden
}
.potential-result:after{
  content:"";position:absolute;width:150px;height:150px;border-radius:50%;
  background:var(--iv-lime);opacity:.14;right:-50px;top:-60px
}
.potential-result small{display:block;color:#d7ebe2;font-weight:800;font-size:11px}
.potential-result strong{
  display:inline-block;font-family:Georgia,"Times New Roman",serif;
  color:var(--iv-lime);font-size:48px;line-height:1.05;margin-top:5px
}
.per-year{font-size:12px;color:#d7ebe2;margin-left:8px}
.potential-note{font-size:10.5px;line-height:1.4;color:var(--iv-muted);margin:11px 2px 0}
.potential-cta{display:block;text-align:center;margin-top:14px;width:100%}
.potential-demo.flash{animation:resultFlash .8s ease}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(7,134,95,.38)}
  70%{box-shadow:0 0 0 10px rgba(7,134,95,0)}
  100%{box-shadow:0 0 0 0 rgba(7,134,95,0)}
}
@keyframes scan{
  0%{transform:translateY(0);opacity:0}
  15%{opacity:1}
  65%{opacity:1}
  100%{transform:translateY(155px);opacity:0}
}
@keyframes resultFlash{
  0%,100%{transform:scale(1)}
  45%{transform:scale(1.012);box-shadow:0 0 0 8px rgba(186,241,108,.16)}
}
@media(prefers-reduced-motion:reduce){
  .pulse-dot,.scan-line,.potential-demo.flash{animation:none}
  .check-item{opacity:1;transform:none}
}
@media(max-width:1000px){
  .potential-demo{max-width:none;justify-self:stretch}
}


/* ============================================================
   FE_V08 CLEAN AUTHORITY LAYER
   Preserve V04 potential block untouched.
   ============================================================ */

:root{
  --ci-green-dark:#005B43;
  --ci-green:#07865F;
  --ci-green-deep:#004F38;
  --ci-lime:#B5F15B;
  --ci-mint:#E8F7EF;
  --ci-cream:#F7F4EE;
  --ci-white:#FFFFFF;
  --ci-text:#10231C;
  --ci-muted:#53675E;
  --ci-border:#D7E5DD;
}

body{background:var(--ci-cream);color:var(--ci-text)}
.wrap{width:min(1240px,calc(100% - 32px));margin:auto}

.nav-pills .pill{font-size:14px;padding:12px 18px}
.section-head h2{font-size:40px;line-height:1.05}
.section-head p{font-size:16px;line-height:1.55}
.price-card{padding:28px;border-radius:24px}
.price-card li{font-size:15px;line-height:1.45}
.flow-step{padding:28px;border-radius:24px}
.flow-step h3{font-size:24px;line-height:1.12}
.flow-step p{font-size:15px;line-height:1.5}
.cta-panel{padding:28px;border-radius:24px}
.cta-panel h2{font-size:32px !important;line-height:1.08 !important}
.cta-panel p{font-size:15px;line-height:1.5}

.public-single{display:block;width:100%}
.public-single .voucher-card{
  width:100%;
  max-width:none;
  min-height:0;
  padding:28px;
  border-radius:24px;
}
.public-single .voucher-card h3{font-size:24px;line-height:1.12}
.public-single .voucher-card p{font-size:15px;line-height:1.5;max-width:760px}

.iv-footer{padding:26px 0 34px;color:var(--ci-muted);font-size:12px}
.iv-footer-inner{display:flex;flex-direction:column;gap:12px}
.iv-footer-public{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.iv-footer-links{display:flex;gap:16px;flex-wrap:wrap}
.iv-footer a{color:var(--ci-muted);text-decoration:none;font-weight:500}
.iv-footer a:hover{color:var(--ci-green)}
.iv-footer-internal{text-align:right;font-size:10px;opacity:.42}

.legal-shell{padding:32px 0 72px}
.legal-card{
  width:min(880px,calc(100% - 32px));
  margin:0 auto;
  background:#fff;
  border:1px solid var(--ci-border);
  border-radius:24px;
  padding:36px;
}
.legal-card h1{font-size:48px;line-height:1.05;letter-spacing:-.04em;margin:0 0 28px}
.legal-card h2{font-size:24px;line-height:1.15;margin:30px 0 10px}
.legal-card p,.legal-card li{font-size:16px;line-height:1.65;color:#33473E}
.legal-card a{color:var(--ci-green);font-weight:700}
.legal-status{background:#FFF2D3;border-radius:14px;padding:14px 16px;font-size:13px;margin:18px 0}

@media(max-width:1100px){
  .pricing{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .pricing,.flow{grid-template-columns:1fr}
  .iv-footer-public{flex-direction:column;align-items:flex-start}
  .iv-footer-internal{text-align:left}
  .legal-card{padding:24px}
  .legal-card h1{font-size:36px}
}
@media(max-width:480px){
  .wrap{width:min(100% - 24px,1240px)}
  .cta-panel,.public-single .voucher-card,.price-card,.flow-step{padding:22px}
}

/* POA FE_V11 */
.onboard{padding:42px 0 76px}.onboard-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px;align-items:start}
.progress-card,.poa-card{background:#fff;border:1px solid #D7E5DD;border-radius:24px;padding:28px}
.step{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #EDF2EF}.step:last-child{border-bottom:0}
.step-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E8F7EF;color:#005B43;font-weight:800;flex:none}
.step.active .step-dot{background:#B5F15B}.step.done .step-dot{background:#07865F;color:#fff}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.input{padding:12px 13px;border:1px solid #D7E5DD;border-radius:13px;font:inherit}.scope{background:#F4F9F6;border-radius:18px;padding:18px;margin:18px 0}
.scope label{display:block;margin:9px 0;font-size:14px}.scope input{margin-right:8px}.scope .locked{opacity:.72}
.signature-box{border:1px dashed #9FB9AB;border-radius:18px;padding:12px;background:#FBFDFC}.signature-box canvas{width:100%;height:180px;background:#fff;border-radius:12px;touch-action:none}
.statusbox{padding:14px 16px;border-radius:14px;background:#E8F7EF;margin:16px 0;font-size:14px}.warnbox{padding:14px 16px;border-radius:14px;background:#FFF2D3;margin:16px 0;font-size:14px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:900px){.onboard-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}}

/* FE_V12 CUSTOMER WORKSPACE */
.customer-workspace{padding:28px 0 12px}
.workspace-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.workspace-card{display:block;background:#fff;border:1px solid #D7E5DD;border-radius:20px;padding:18px;text-decoration:none;color:#10231C;min-height:126px;transition:.16s}
.workspace-card:hover{transform:translateY(-2px);border-color:#9BCBB5}
.workspace-card strong{display:block;font-size:17px;margin:10px 0 5px;color:#004F38}
.workspace-card span{font-size:13px;line-height:1.4;color:#53675E}
.workspace-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#E8F7EF;color:#005B43;font-weight:800}
.workspace-card.primary{background:#005B43;color:#fff;border-color:#005B43}
.workspace-card.primary strong,.workspace-card.primary span{color:#fff}
.workspace-card.primary .workspace-num{background:#B5F15B;color:#10231C}
@media(max-width:1000px){.workspace-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.workspace-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.workspace-grid{grid-template-columns:1fr}}

/* FE_V13_5_8_48 functional wiring */
.pill.disabled{opacity:.42;cursor:not-allowed;pointer-events:none;filter:grayscale(.35)}
.status-inline{margin-top:12px;padding:12px 14px;border-radius:14px;background:#E8F7EF;color:#10231C}

/* V13_5_2 functional wiring only; no redesign */
.question-card input,.question-card select{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #CFE0D7;border-radius:12px;background:#fff;color:#10231C;font:inherit}
.question-card label{display:block;font-weight:700;color:#244438}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.upload-stack{display:grid;gap:12px}
.file-drop{padding:14px;border:1px dashed #9BCBB5;border-radius:14px;background:#F8FCFA}
.file-drop input{border:0;padding:8px 0;margin-top:6px}
@media(max-width:720px){.field-grid{grid-template-columns:1fr}}

/* FE_V13_5_8_48: functional journey/gating only – existing visual design retained */
.kpi{min-width:132px}
.kpi b{white-space:nowrap}
.side-button{width:100%;border:0;text-align:left;font:inherit;cursor:pointer}
.file-help{display:block;font-weight:400;color:#607168;font-size:12px;margin-top:3px}
.upload-feedback{margin-top:12px;color:#53675E}
.uploaded-list{display:grid;gap:8px}
.uploaded-list h4{margin:8px 0 2px}
.uploaded-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #DDEBE4;border-radius:12px;background:#fff}
.uploaded-row>span{font-weight:900;color:#07865F}
.uploaded-row small{display:block;color:#607168;margin-top:2px}
.soft-note,.year-priority{margin-top:12px;padding:12px 14px;border-radius:12px;background:#F4F8F5;color:#53675E;font-size:14px}
.basic-locked{position:relative}
.locked-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.locked-head h3{margin:8px 0 0}
.lock-pill{padding:6px 10px;border-radius:999px;background:#E8EEE9;color:#607168;font-weight:800}
.locked-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.locked-field{padding:13px 14px;border:1px solid #E2E9E5;border-radius:12px;background:#F5F6F5;color:#87928D;filter:saturate(.25)}
.locked-field b,.locked-field span{display:block}
.locked-field span{font-size:13px;margin-top:3px}
.deadline-card{margin:16px 0;padding:14px;border:1px solid #D9E4DE;border-radius:14px;background:#FBFCFB;color:#52635B}
.deadline-card p{margin:6px 0 0;line-height:1.55}
.process-locked{opacity:.58;cursor:not-allowed}
.process-locked:hover{transform:none!important}
.gate-pulse{outline:3px solid rgba(181,241,91,.55);outline-offset:3px}
@media(max-width:760px){.locked-grid{grid-template-columns:1fr}.kpi{min-width:auto}}


/* ============================================================
   FE_V13_5_8_48 GEOMETRY / RESPONSIVE AUTHORITY
   One coherent override for all ImmoView NKO pages.
   No product, pricing or business-logic changes.
   ============================================================ */

html,body{max-width:100%;overflow-x:hidden}
img,svg,canvas,video{max-width:100%}
.wrap{width:min(1240px,calc(100% - 32px));max-width:1240px}

/* Public sticky header: stable two-row geometry. */
.topbar{padding:10px 0 8px}
.topbar-inner{min-width:0}
.topbar > .wrap:nth-child(2){
  margin-top:8px !important;
  justify-content:center !important;
  min-width:0;
}
.nav-pills{
  max-width:100%;
  justify-content:center;
  min-width:0;
}
.kpi{min-width:112px}
.kpi b{white-space:nowrap}

/* Anchor sections: CSS fallback. JS computes exact live header offset. */
#preise,#ablauf,#gemeinsam,#gutschein{scroll-margin-top:132px}
#preise{padding-top:54px}
#ablauf,#gemeinsam,#gutschein{padding-top:54px}

/* Section headings stay within their own section. */
.section-head{
  min-width:0;
  align-items:flex-start;
}
.section-head > *{min-width:0}
.section-head h2{
  overflow-wrap:anywhere;
  text-wrap:balance;
}
#preise .section-head{
  align-items:flex-end;
}

/* Public workspace and hero never exceed viewport. */
.customer-workspace{overflow:hidden}
.workspace-grid{min-width:0}
.workspace-card{min-width:0}
.hero{max-width:1460px}
.hero-inner > *{min-width:0}

/* Forms / app / professional pages. */
.app-header-inner{min-width:0}
.app-header-inner > *{min-width:0}
.app-layout,.partner-shell,.onboard-grid,.pay-layout{min-width:0}
.app-content,.partner-main{min-width:0}
.card,.pay-side,.pay-main,.progress-card,.poa-card{min-width:0}
.form-grid,.field-grid,.method-grid,.dashboard-grid,.locked-grid{min-width:0}
input,select,textarea,button{max-width:100%}
.file-row,.status-row,.summary-row{min-width:0}
.file-row > *, .status-row > *, .summary-row > *{min-width:0;overflow-wrap:anywhere}

/* Tablet */
@media(max-width:1000px){
  .topbar{position:sticky;top:0}
  .topbar-inner{gap:12px}
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:42px 0 46px !important;
  }
  .potential-demo{justify-self:stretch;max-width:none}
  .pricing{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-layout{grid-template-columns:1fr}
  .sidebar{
    position:relative;
    top:auto;
    height:auto;
    max-height:none;
    border-right:0;
    border-bottom:1px solid var(--iv-border);
  }
  .partner-shell{grid-template-columns:1fr}
  .partner-nav{border-right:0;border-bottom:1px solid var(--iv-border)}
}

/* Small tablet / phone */
@media(max-width:760px){
  .wrap{width:min(100% - 24px,1240px)}
  .topbar{padding:7px 0 6px}
  .topbar-inner{
    padding:8px 10px;
    border-radius:16px;
    gap:10px;
  }
  .brand{gap:9px}
  .brand-mark{width:32px;height:32px}
  .brand-title{font-size:16px}
  .brand-sub,.kpis{display:none}
  .topbar > .wrap:nth-child(2){
    width:100%;
    padding:0 12px;
    margin-top:6px !important;
    overflow:hidden;
  }
  .nav-pills{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    flex-wrap:nowrap;
    justify-content:flex-start;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .nav-pills::-webkit-scrollbar{display:none}
  .pill{
    flex:0 0 auto;
    padding:9px 12px;
    font-size:12px;
  }

  section{padding:42px 0}
  #preise,#ablauf,#gemeinsam,#gutschein{padding-top:42px;scroll-margin-top:112px}

  .customer-workspace{padding:20px 0 8px}
  .customer-workspace .section-head{
    display:block;
    margin-bottom:14px !important;
  }
  .customer-workspace .section-head h2{
    font-size:clamp(28px,8vw,36px);
    margin-top:10px !important;
    line-height:1.04;
  }
  .workspace-grid{grid-template-columns:1fr !important}
  .workspace-card{min-height:0;padding:16px}

  .hero{width:calc(100% - 12px);border-radius:22px;min-height:0}
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:34px 0 38px !important;
  }
  h1{font-size:clamp(38px,11vw,54px);line-height:.98}
  .hero p{font-size:15px}
  .potential-demo{padding:18px;border-radius:22px}
  .potential-result strong{font-size:40px}

  .section-head{
    display:block;
    margin-bottom:22px;
  }
  .section-head h2{font-size:34px}
  .section-head p{margin:12px 0 0}
  #preise .section-head{display:block}

  .pricing,.flow{grid-template-columns:1fr}
  .price-card{min-height:0}
  .cta-panel h2{overflow-wrap:anywhere}

  .app-header{padding:10px 12px}
  .app-header-inner{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:8px 12px;
  }
  .app-header-inner > :nth-child(2){
    grid-column:2;
    font-size:13px;
    line-height:1.15;
  }
  .app-header-inner > .btn{
    grid-column:1/-1;
    justify-self:stretch;
    text-align:center;
    padding:10px 14px;
  }
  .app-content{padding:16px 12px 28px}
  .sidebar{padding:14px 12px}
  .side-item{padding:11px 12px}
  .question-card{margin-top:0;padding:20px}
  .app-actions{gap:10px}
  .app-actions .btn{padding:11px 15px}
  .field-grid,.form-grid,.form-grid.three,.two-col,.method-grid,.locked-grid{grid-template-columns:1fr !important}

  .onboard,.pay-page{padding:22px 0 44px !important}
  .onboard-grid,.pay-layout{grid-template-columns:1fr !important}
  .progress-card,.poa-card,.pay-side,.pay-main{padding:20px !important}
  .pay-main h1{font-size:34px !important}
  .summary-row{display:grid;grid-template-columns:1fr;gap:4px}
  .method{padding:14px}

  .partner-main{padding:18px 12px}
  .partner-nav{padding:14px 12px}
  .stat-strip{grid-template-columns:1fr 1fr}
  .table-wrap{max-width:100%;overflow:auto}

  .voucher-card,.legal-card{max-width:100%}
}

/* Narrow phones */
@media(max-width:430px){
  .wrap{width:calc(100% - 20px)}
  .brand-title{font-size:15px}
  .workspace-grid{grid-template-columns:1fr !important}
  .hero-actions,.trustline,.actions{gap:8px}
  .hero-actions .btn,.actions .btn{width:100%;text-align:center}
  .potential-demo{padding:14px}
  .potential-doc{padding:14px}
  .check-item{grid-template-columns:20px 1fr auto;padding:9px 8px}
  .check-item b{font-size:12px}
  .price{font-size:40px}
  .section-head h2{font-size:30px}
  .stat-strip{grid-template-columns:1fr}
  .signature-box canvas{height:150px}
}

/* Very narrow safety. */
@media(max-width:380px){
  .pill{padding:8px 10px;font-size:11px}
  .question-card{padding:16px}
  .card{padding:18px}
  .price-card,.flow-step,.cta-panel,.public-single .voucher-card{padding:18px}
}

/* FE_V13_5_8_48 FIXED HEADER AUTHORITY */
:root{ --iv-fixed-header-h:118px; }
body{ padding-top:var(--iv-fixed-header-h); }
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:1000 !important;
  background:var(--iv-bg,#F7F4EE);
}
#preise,#ablauf,#gemeinsam,#gutschein{
  scroll-margin-top:calc(var(--iv-fixed-header-h) + 22px) !important;
}
@media(max-width:760px){ :root{ --iv-fixed-header-h:106px; } }

/* FE_V13_5_8_48 POTENTIAL REPORT */
.page-context{display:block;margin-top:8px;color:#607168;font-size:13px;font-weight:700}
.report-head,.locked-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.report-head h3{margin:8px 0 0}
.potential-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.potential-box{border:1px solid #DDE8E2;border-radius:16px;padding:16px;background:#FBFCFB}
.potential-box small{display:block;color:#607168;font-weight:800}
.potential-box strong{display:block;font-size:24px;margin:7px 0;color:#004F38}
.potential-box p{margin:0;color:#53675E;font-size:14px;line-height:1.45}
.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:16px 0}
.model-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EDF2EF}
.model-line span{color:#607168}
.typical-checks,.energyview-preview,.further-levers{margin-top:20px;padding-top:18px;border-top:1px solid #E4ECE8}
.typical-checks h4,.energyview-preview h4,.further-levers h4{margin:6px 0 10px}
.check-chip-grid{display:flex;flex-wrap:wrap;gap:8px}
.check-chip-grid span{padding:8px 10px;border-radius:999px;background:#EEF6F1;border:1px solid #D7E7DE;color:#355348;font-size:13px;font-weight:700}
.check-chip-grid.muted span{background:#F3F4F3;color:#7A8780;border-color:#E3E6E4}
.heat-band{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;max-width:360px;margin:14px 0}
.heat-band span{color:#607168}.heat-band b{color:#004F38}
@media(max-width:900px){.potential-columns{grid-template-columns:1fr}.model-grid{grid-template-columns:1fr}}
@media(max-width:560px){.report-head{display:block}.potential-box strong{font-size:22px}.check-chip-grid span{width:100%;border-radius:12px}}

/* FE_V13_5_8_48 DASHBOARD CI REFOCUS */
.app-shell .app-header, .dashboard-header, .topbar{
  box-shadow:0 1px 0 rgba(0,0,0,.05);
}
.dashboard-hero-intro{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:6px 0 18px;
  padding:22px 24px;
  border-radius:24px;
  background:linear-gradient(135deg,#E9F7ED 0%, #F7FBF8 55%, #EEF8F3 100%);
  border:1px solid #DCEBDF;
}
.hero-badge{
  display:inline-block;
  padding:8px 12px;
  border-radius:999px;
  background:#FFFFFF;
  color:#00533C;
  font-weight:800;
  font-size:13px;
}
.dashboard-hero-intro h2{
  margin:12px 0 8px;
  font-size:38px;
  line-height:1.05;
  color:#0C2A1F;
}
.dashboard-hero-intro p{
  margin:0;
  max-width:980px;
  font-size:18px;
  line-height:1.5;
  color:#496257;
}
.hero-metrics{
  margin-top:0 !important;
}
.hero-metrics .metric{
  min-height:112px;
  border-radius:22px;
}
.case-nav.active, .case-sidebar .case-nav.active, .case-nav[aria-current="page"]{
  background:#DFF2E6 !important;
  color:#004F38 !important;
  font-weight:800;
  border-left:4px solid #7ED957;
}
.case-nav.active::before, .case-sidebar .case-nav.active::before{
  opacity:1 !important;
  background:#7ED957 !important;
}
.readmore-divider{
  margin:20px 0 12px;
  padding:0 4px;
}
.readmore-divider span{
  display:inline-block;
  padding:8px 12px;
  border-radius:999px;
  background:#EEF6F1;
  color:#406055;
  font-weight:800;
  font-size:13px;
}
#potentialReport{
  scroll-margin-top:130px;
}
@media (max-width: 900px){
  .dashboard-hero-intro h2{font-size:30px;}
  .dashboard-hero-intro p{font-size:16px;}
}

/* FE_V13_5_8_48 COMPACT POTENTIAL DASHBOARD */
.compact-dashboard{
  max-width:1180px;
  margin:0 auto;
  padding:28px 24px 60px;
}
.compact-hero{
  display:grid;
  grid-template-columns:1.5fr .8fr;
  gap:24px;
  align-items:stretch;
  padding:30px;
  border-radius:28px;
  background:linear-gradient(135deg,#E7F7EA 0%,#F6FBF7 55%,#E9F6F0 100%);
  border:1px solid #DCEBDF;
}
.compact-copy h1{
  margin:10px 0 10px;
  font-size:clamp(38px,5vw,64px);
  line-height:.98;
  letter-spacing:-.04em;
}
.compact-copy p{
  margin:0;
  max-width:650px;
  color:#53675E;
  font-size:17px;
}
.compact-total{
  border-radius:24px;
  background:#006E4F;
  color:#fff;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.compact-total small{font-weight:800;opacity:.9}
.compact-total strong{
  font-size:clamp(34px,4.5vw,58px);
  line-height:1;
  margin:10px 0 4px;
  color:#B5F15B;
}
.compact-total span{opacity:.85}
.compact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.compact-card{
  border:1px solid #DDE8E2;
  background:#fff;
  border-radius:20px;
  padding:20px;
}
.compact-card span{display:block;font-weight:800;color:#355348}
.compact-card strong{display:block;font-size:28px;color:#004F38;margin:8px 0}
.compact-card small{color:#65776F;line-height:1.4}
.compact-findings{
  margin-top:16px;
  background:#fff;
  border:1px solid #DDE8E2;
  border-radius:20px;
  padding:20px 22px;
}
.compact-findings h2{font-size:22px;margin:0 0 12px}
.finding-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #EDF2EF;
}
.finding-row:last-child{border-bottom:0}
.finding-row span{color:#496257;font-weight:700}
.compact-actions{
  display:flex;
  gap:12px;
  margin-top:16px;
}
.compact-actions .btn{flex:1;justify-content:center;text-align:center}
.compact-details{
  margin-top:22px;
  border:1px solid #DDE8E2;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.compact-details summary{
  cursor:pointer;
  padding:16px 18px;
  font-weight:900;
  color:#244438;
}
.details-inner{
  padding:0 18px 18px;
  border-top:1px solid #EDF2EF;
}
.details-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.details-columns h3{margin:18px 0 8px}
.details-columns ul{margin:0;padding-left:18px;color:#53675E;line-height:1.7}
.model-note{
  margin-top:16px;
  padding:12px 14px;
  border-radius:12px;
  background:#F3F7F4;
  color:#607168;
}
.compact-docs{margin-top:16px}
.doc-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid #EDF2EF;
}
.doc-row b{color:#07865F}
.case-nav.active{
  background:#DFF2E6 !important;
  color:#004F38 !important;
  font-weight:900 !important;
  border-left:4px solid #7ED957 !important;
}
@media(max-width:900px){
  .compact-hero{grid-template-columns:1fr}
  .compact-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .compact-dashboard{padding:18px 12px 40px}
  .compact-hero{padding:20px;border-radius:22px}
  .compact-copy h1{font-size:40px}
  .compact-actions{flex-direction:column}
  .details-columns{grid-template-columns:1fr}
}

/* FE_V13_5_8_48 STARTPAGE CI REPORT */
.report-page{background:#F7F4EE}
.report-page main{padding-top:0}
.report-hero{
  margin-top:26px;
  background:linear-gradient(135deg,#DCF7D9 0%,#EDF8F0 50%,#CDEFE1 100%);
  border-radius:28px;
}
.report-hero .hero-inner{padding:54px 0}
.report-hero .hero-copy h1{max-width:720px}
.report-potential-card{max-width:520px;width:100%}
.report-potential-card .potential-result strong{font-size:44px}
.report-strip{padding:48px 0 24px}
.compact-head{margin-bottom:20px}
.compact-head h2{margin-top:10px}
.report-reasons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.reason-card{
  background:#fff;
  border:1px solid #DDE8E2;
  border-radius:18px;
  padding:18px;
}
.reason-card small{display:block;color:#607168;font-weight:800}
.reason-card strong{display:block;margin-top:7px;font-size:22px;color:#004F38}
.report-details-section{padding:20px 0 70px}
.report-details{
  background:#fff;
  border:1px solid #DDE8E2;
  border-radius:20px;
  overflow:hidden;
}
.report-details summary{
  cursor:pointer;
  padding:18px 20px;
  font-weight:900;
  color:#244438;
}
.report-details-body{padding:0 20px 20px;border-top:1px solid #EDF2EF}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.chip-grid{display:flex;flex-wrap:wrap;gap:8px}
.chip-grid span{padding:8px 10px;border-radius:999px;background:#EEF6F1;border:1px solid #D7E7DE;color:#355348;font-size:13px;font-weight:700}
.chip-grid.muted span{background:#F3F4F3;color:#7A8780;border-color:#E3E6E4}
.model-note{margin-top:18px;padding:12px 14px;background:#F3F7F4;border-radius:12px;color:#607168}
.doc-list{margin-top:16px}
.doc-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #EDF2EF}
.doc-row b{color:#07865F}
.final-cta{
  margin-top:24px;
  padding:28px;
  border-radius:24px;
  background:#004F38;
  color:#fff;
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:24px;
  align-items:center;
}
.final-cta h2{margin:8px 0 8px;color:#fff}
.final-cta p{margin:0;color:#DCEBE4}
.cta-buttons{display:grid;gap:10px}
.final-cta .secondary{background:#fff;color:#123226}
@media(max-width:1000px){
  .report-reasons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .final-cta{grid-template-columns:1fr}
}
@media(max-width:760px){
  .report-hero{margin-top:12px;width:calc(100% - 12px)}
  .report-hero .hero-inner{padding:34px 0 38px}
  .report-reasons{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .report-potential-card .potential-result strong{font-size:36px}
}

/* FE_V13_5_8_48 – WIZARD ALIGN ONLY
   INDEX + DASHBOARD remain V13_5_8 visual authority. */
.iv-wizard-page{
  background:#F5F7F5;
  min-height:100vh;
  padding:0 !important;
  overflow-x:hidden;
}
.iv-wizard-header{
  position:sticky;
  top:0;
  z-index:40;
  background:#fff;
  border-bottom:1px solid #DDE8E2;
}
.iv-wizard-header-inner{
  min-height:78px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  padding:0 22px;
}
.iv-wizard-header .brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
}
.iv-wizard-title{
  text-align:center;
  line-height:1.15;
}
.iv-wizard-title strong{display:block;color:#10231C}
.iv-wizard-title span{display:block;color:#607168;font-size:12px;margin-top:3px}
.iv-dashboard-btn{justify-self:end}
.iv-wizard-shell{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:calc(100vh - 78px);
}
.iv-wizard-sidebar{
  background:#fff;
  border-right:1px solid #DDE8E2;
  padding:22px 14px;
}
.iv-side-overview,
.iv-side-link,
.iv-side-result{
  width:100%;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  color:#244438;
  text-decoration:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.iv-side-overview.active,
.iv-side-link.active{
  background:#E1F2E8;
  color:#00533C;
  font-weight:800;
}
.iv-side-section{
  margin:18px 10px 7px;
  font-size:11px;
  letter-spacing:.08em;
  color:#718079;
  font-weight:900;
}
.iv-side-link i,
.iv-side-result i{
  width:8px;height:8px;border-radius:999px;background:#DDE8E2;flex:0 0 auto
}
.iv-side-link i.warn{background:#F3B648}
.iv-side-link.active i{background:#07865F}
.iv-wizard-main{
  width:min(1120px,calc(100% - 40px));
  margin:0 auto;
  padding:30px 0 56px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:24px;
  align-items:start;
}
.iv-wizard-card{
  background:#fff;
  border:1px solid #DDE8E2;
  border-radius:22px;
  padding:26px;
  box-shadow:0 10px 32px rgba(16,35,28,.04);
}
.iv-progress-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}
.iv-progress-meta span{color:#607168}
.iv-progress-track{
  height:7px;background:#E7EEEA;border-radius:999px;overflow:hidden;margin-bottom:24px
}
.iv-progress-fill{
  width:12.5%;height:100%;background:#07865F;transition:width .25s ease
}
.iv-question-host h2{
  font-size:34px;
  line-height:1.05;
  margin:0 0 8px;
  color:#10231C;
}
.iv-question-host > p{margin:0 0 18px!important}
.iv-question-host input,
.iv-question-host select,
.iv-question-host textarea{
  width:100%;
  border:1px solid #CFE0D7;
  border-radius:12px;
  padding:13px 14px;
  background:#fff;
  font:inherit;
}
.iv-wizard-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
}
.iv-wizard-potential{
  background:#fff;
  border:1px solid #DDE8E2;
  border-radius:22px;
  padding:20px;
}
.iv-mini-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px
}
.iv-mini-head span{font-weight:900;color:#244438}
.iv-mini-head small{padding:5px 8px;border-radius:999px;background:#F2F5F3;color:#607168}
.iv-mini-list{
  border:1px solid #E3EBE7;border-radius:14px;padding:4px 12px
}
.iv-mini-list div{
  display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EDF2EF
}
.iv-mini-list div:last-child{border-bottom:0}
.iv-mini-list b{color:#07865F;font-size:13px}
.iv-mini-result{
  margin-top:12px;
  background:#006E4F;
  color:#fff;
  border-radius:14px;
  padding:16px;
}
.iv-mini-result small{display:block;font-weight:800;opacity:.9}
.iv-mini-result strong{
  display:block;
  margin-top:7px;
  color:#B5F15B;
  font-size:28px;
}
.iv-wizard-potential p{color:#607168;font-size:13px;line-height:1.45;margin:12px 0 0}

@media(max-width:980px){
  .iv-wizard-main{grid-template-columns:1fr}
  .iv-wizard-potential{order:-1}
}
@media(max-width:760px){
  .iv-wizard-header-inner{
    grid-template-columns:auto 1fr;
    min-height:64px;
    padding:0 12px;
  }
  .iv-wizard-title{display:none}
  .iv-dashboard-btn{justify-self:end}
  .iv-wizard-shell{grid-template-columns:1fr}
  .iv-wizard-sidebar{
    border-right:0;
    border-bottom:1px solid #DDE8E2;
    padding:10px 12px;
    overflow-x:auto;
    display:flex;
    gap:8px;
    scrollbar-width:none;
  }
  .iv-wizard-sidebar::-webkit-scrollbar{display:none}
  .iv-side-overview,.iv-side-link,.iv-side-result{
    width:auto;flex:0 0 auto;padding:9px 11px
  }
  .iv-side-section{display:none}
  .iv-wizard-main{
    width:min(100% - 24px,1120px);
    padding:18px 0 40px;
  }
  .iv-wizard-card{padding:20px}
  .iv-question-host h2{font-size:28px}
}

/* FE_V13_5_8_48 LANDING CLEAN
   The 5-step Prüfprozess ribbon lives only inside the active app process. */
body:not(.app-page) .hero{
  margin-top:24px;
}


/* FE_V13_5_8_48 – public header clarity only */
.topbar{
  padding:10px 0 8px;
}
.topbar-clear{
  min-height:58px;
  padding:8px 12px;
  gap:18px;
}
.topbar-clear .brand{
  flex:0 0 auto;
}
.nav-primary{
  margin-left:auto;
  flex-wrap:nowrap;
  align-items:center;
}
.nav-primary .pill{
  padding:9px 13px;
  box-shadow:none;
  background:transparent;
  white-space:nowrap;
}
.nav-primary .pill:hover,
.nav-primary .pill.active{
  background:#eef8f3;
  color:var(--iv-green);
}
.header-cta{
  flex:0 0 auto;
  white-space:nowrap;
  padding:10px 16px;
}
.market-strip{
  margin-top:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:26px;
  color:var(--iv-muted);
  font-size:11px;
}
.market-strip span{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  white-space:nowrap;
}
.market-strip b{
  color:var(--iv-deep);
  font-size:11px;
}
.market-strip .energyview-soon{
  opacity:.62;
}
@media(max-width:980px){
  .topbar-clear{
    flex-wrap:wrap;
  }
  .nav-primary{
    order:3;
    width:100%;
    margin-left:0;
    overflow-x:auto;
    scrollbar-width:none;
    justify-content:flex-start;
  }
  .nav-primary::-webkit-scrollbar{display:none}
  .header-cta{margin-left:auto}
  .market-strip{
    overflow-x:auto;
    justify-content:flex-start;
    padding:0 4px 2px;
    scrollbar-width:none;
  }
  .market-strip::-webkit-scrollbar{display:none}
}
@media(max-width:560px){
  .topbar{
    position:relative;
  }
  .topbar-clear{
    gap:8px;
    border-radius:16px;
  }
  .brand-title{font-size:16px}
  .header-cta{
    padding:9px 12px;
    font-size:12px;
  }
  .nav-primary{
    gap:4px;
  }
  .nav-primary .pill{
    padding:8px 10px;
    font-size:12px;
  }
  .market-strip{
    gap:14px;
    font-size:10px;
  }
}


/* V13_5_8_7 mobile overflow repair */
@media (max-width: 600px){
  html,body{max-width:100%;overflow-x:hidden}
  .wrap,.topbar-inner,.topbar-clear,.market-strip,.hero,.hero-grid,.hero-copy,.hero-card{
    min-width:0 !important;
    max-width:100% !important;
  }
  .topbar-clear{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
  }
  .nav-primary{
    grid-column:1 / -1 !important;
    width:100% !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
  }
  .header-cta{
    justify-self:end !important;
    max-width:150px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .market-strip{
    width:100% !important;
    overflow-x:auto !important;
    justify-content:flex-start !important;
  }
  .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .hero-copy h1{
    font-size:clamp(42px,13vw,62px) !important;
    line-height:.98 !important;
    overflow-wrap:anywhere !important;
  }
}

/* V13_5_8_10 growth mechanics */
.group-price{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  background:#f2f8f5;
  line-height:1.25;
}
.price-card.expert .group-price{background:rgba(255,255,255,.55)}
.group-price strong{display:inline-block;color:#005B43}
.group-price span{font-size:12px;color:#52675e}
.growth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.growth-card{padding:22px;border:1px solid #dce8e2;border-radius:20px;background:#fff}
.growth-card.house{background:#eff9f4}
.growth-card h3{font-size:22px;margin:10px 0}
.growth-card .muted{color:#607169;font-size:13px}
.growth-price{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #dce8e2}
@media(max-width:820px){.growth-grid{grid-template-columns:1fr}}

/* FINAL RC V13_5_8_12 — mobile no-overflow gate */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:700px){
  .wrap{width:100%!important;max-width:100%!important;padding-left:14px!important;padding-right:14px!important;box-sizing:border-box}
  .topbar-clear{
    width:100%!important;max-width:100%!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;padding:8px 10px!important;box-sizing:border-box
  }
  .topbar-clear .brand{min-width:0!important}
  .header-cta{
    display:inline-flex!important;max-width:none!important;overflow:visible!important;
    white-space:nowrap!important;font-size:12px!important;padding:9px 11px!important
  }
  .nav-primary{
    grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;
    overflow:visible!important;width:100%!important;gap:4px!important
  }
  .nav-primary .pill{font-size:11px!important;padding:7px 9px!important;white-space:nowrap!important}
  .market-strip{
    display:flex!important;flex-wrap:wrap!important;overflow:hidden!important;
    width:100%!important;gap:5px 12px!important;padding:4px 14px 8px!important;box-sizing:border-box
  }
  .market-strip span{white-space:normal!important}
  .hero,.hero-grid,.hero-copy,.hero-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}
  .hero{padding-left:14px!important;padding-right:14px!important}
  .hero-grid{grid-template-columns:minmax(0,1fr)!important}
  .hero-copy h1{font-size:clamp(42px,12vw,58px)!important;line-height:.98!important;max-width:100%!important;overflow-wrap:normal!important}
  .hero-copy p{max-width:100%!important}
  .hero-actions{display:flex!important;flex-wrap:wrap!important}
  .hero-card{overflow:hidden!important}
  .section,.section-head,.growth-grid,.pricing-grid{min-width:0!important;max-width:100%!important}
}


/* FE_V13_5_8_48 — HEADER CI HARMONIZATION ONLY */
:root{
  --iv-header-nav-size:15px;
  --iv-header-brand-size:20px;
  --iv-header-meta-size:12px;
}

.topbar{
  padding:14px 0 10px !important;
}

.topbar-clear{
  min-height:70px !important;
  padding:10px 14px !important;
  gap:20px !important;
  border-radius:22px !important;
}

.topbar-clear .brand{
  gap:11px !important;
}

.topbar-clear .brand-mark{
  width:38px !important;
  height:38px !important;
  border-radius:9px !important;
  font-size:15px !important;
}

.topbar-clear .brand-title{
  font-size:var(--iv-header-brand-size) !important;
  font-weight:900 !important;
  letter-spacing:-0.02em !important;
}

.nav-primary{
  gap:6px !important;
}

.nav-primary .pill{
  font-size:var(--iv-header-nav-size) !important;
  font-weight:800 !important;
  line-height:1 !important;
  padding:12px 15px !important;
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
}

.header-cta{
  min-height:44px !important;
  padding:12px 18px !important;
  font-size:15px !important;
  font-weight:900 !important;
  border-radius:999px !important;
}

.market-strip{
  min-height:30px !important;
  margin-top:8px !important;
  gap:24px !important;
  font-size:var(--iv-header-meta-size) !important;
  line-height:1.25 !important;
}

.market-strip b{
  font-size:var(--iv-header-meta-size) !important;
  font-weight:900 !important;
}

/* Keep the header visually proportional to the strong hero,
   but do not change the hero itself. */
@media (min-width:1100px){
  .topbar-clear{
    max-width:1180px !important;
  }
}

@media (max-width:700px){
  .topbar{
    padding:8px 0 6px !important;
  }
  .topbar-clear{
    min-height:auto !important;
    padding:8px 10px !important;
    gap:8px !important;
    border-radius:16px !important;
  }
  .topbar-clear .brand-mark{
    width:34px !important;
    height:34px !important;
  }
  .topbar-clear .brand-title{
    font-size:17px !important;
  }
  .header-cta{
    min-height:38px !important;
    font-size:12px !important;
    padding:9px 11px !important;
  }
  .nav-primary .pill{
    min-height:34px !important;
    font-size:12px !important;
    padding:8px 10px !important;
  }
  .market-strip{
    font-size:10.5px !important;
    gap:6px 12px !important;
  }
  .market-strip b{
    font-size:10.5px !important;
  }
}


/* FE_V13_5_8_48 — HEADER / HERO WIDTH ALIGNMENT ONLY */
@media (min-width: 901px){
  .topbar .wrap.topbar-inner,
  .topbar .wrap.topbar-clear,
  .topbar .wrap.market-strip{
    width:min(100% - 48px, 1360px) !important;
    max-width:1360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  .hero,
  .hero.wrap,
  .hero-section,
  .hero-section .wrap,
  main > .hero{
    width:min(100% - 48px, 1360px) !important;
    max-width:1360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
}

/* Mobile/tablet sizing remains unchanged from V13_5_8_14. */


/* V13_5_8_35 — neighbor CTA: keep standard ImmoView CI, fix POSITION only */
.growth-card.house{
  display:flex;
  flex-direction:column;
}

.growth-card.house .iv-neighbor-cta{
  align-self:flex-start;
  margin-top:16px;
  min-height:unset !important;
  height:auto !important;
  padding:14px 22px !important;   /* canonical .btn CI */
  line-height:normal !important;
  border-radius:999px !important;
  font-weight:900 !important;
}

/* Do not let the CTA touch/merge visually with the Expert price divider. */
.growth-card.house .growth-price:last-of-type{
  margin-bottom:0;
}
