@font-face{font-family:Josefin;src:url('assets/josefin-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Josefin;src:url('assets/josefin-600.woff2') format('woff2');font-weight:600;font-display:swap}:root{--ink:#243f3a;--paper:#f5f4ee;--accent:#b75b3b;--muted:#647268;--line:#d9ded3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:3px}.shell{width:min(1600px,calc(100% - 72px));margin:auto}header{border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:100px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{object-fit:contain;mix-blend-mode:multiply}.brand>span{font:600 9px Josefin,Arial,sans-serif;letter-spacing:1.8px}.brand strong{display:block;font:600 27px/1.5 Josefin,Arial,sans-serif;letter-spacing:2px}.header-inner nav{display:flex;align-items:center;gap:24px;font-size:12px}.header-inner nav a{text-decoration:none}.header-inner nav a:last-child{border:1px solid;padding:11px 15px}#menu{display:none}.skip{position:fixed;left:15px;top:-100px;background:var(--ink);color:#fff;padding:14px;z-index:50}.skip:focus{top:15px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding:50px 0 35px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:bold;color:var(--accent);margin:0 0 20px}h1{font:normal 63px/1.08 Georgia,serif;letter-spacing:-1.7px;margin:0 0 24px}h1 em{font-weight:normal;color:var(--accent)}.intro{font-size:14px;color:var(--muted);line-height:1.9;max-width:600px}.tags{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;margin-top:25px}.tags span{padding:6px 10px;border:1px solid var(--line)}.hero-note{border-left:1px solid var(--line);padding:15px 30px}.hero-note>p:not(.eyebrow){font:33px/1.3 Georgia,serif;margin:10px 0 20px}.hero-note small{font-size:11px;color:var(--muted);line-height:1.8}.panel{background:white;border:1px solid var(--line);padding:23px;margin-bottom:18px}.project{padding:8px 24px}.section-title{display:flex;gap:13px;margin-bottom:20px}.section-title>span{font:24px Georgia;color:var(--accent)}.section-title h2{font-size:18px;font-weight:500;margin:0 0 5px}.section-title p{font-size:10px;color:var(--muted);margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.project-fields{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:block;font-size:10px;min-width:0}input,button,textarea,select{font:inherit}input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea{width:100%;display:block;border:1px solid #cbd3c5;border-radius:2px;background:#fafbf7;color:var(--ink);padding:10px 9px;font:13px Arial;min-height:39px;margin-top:7px}select{font-size:11px}textarea{resize:vertical;line-height:1.7}.single{margin-top:17px}.help,small{font-size:10px;line-height:1.8;color:var(--muted)}.help{margin:13px 0}button,.file-button{border:1px solid #acb9a5;background:#e9edde;color:var(--ink);padding:10px 12px;font-size:10px;min-height:39px;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:hover:not(:disabled){background:#dfe7cf}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible,svg:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.checkline{display:flex;align-items:flex-start;gap:8px;line-height:1.6;margin:15px 0}.checkline input{width:16px;height:16px;accent-color:var(--ink);flex-shrink:0;margin:0}details{border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}summary{list-style:none;cursor:pointer;position:relative;padding-right:22px}summary:after{content:'+';position:absolute;right:0;color:var(--accent)}details[open]>summary:after{content:'−'}.toolbar{padding:10px 0 22px;display:flex;gap:15px;flex-wrap:wrap;align-items:center}.tool-buttons{display:flex;gap:8px;flex-wrap:wrap}.toolbar>.checkline{margin-left:auto;font-size:10px}#storage-status{font-size:10px;width:100%;margin:0;color:var(--muted)}.file-button{position:relative;display:flex;align-items:center}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.workspace{display:grid;grid-template-columns:minmax(290px,.95fr) minmax(340px,1.35fr) minmax(240px,.8fr);gap:20px;align-items:start}.left-column,.editor-column,aside{min-width:0}.left-column>.panel{padding:21px 18px}#room-fields h3{font-size:14px;font-weight:500;border-top:1px solid var(--line);padding-top:20px;margin:22px 0 12px}#room-fields .fields{grid-template-columns:1fr}#room-fields button{margin-top:12px}.floor-card{margin-top:16px;border:1px solid var(--line);background:#f5f7f0}.floor-card.active{border-color:#7d9479}.floor-title{display:flex;justify-content:space-between;gap:6px;align-items:center;padding:11px}.floor-title>button{background:none;border:0;text-align:left;padding:0;font-size:12px;flex:1;min-height:38px}.floor-title small{display:block;font-size:9px;margin-top:2px}.floor-title>div{display:flex;gap:5px}.floor-title>div button{padding:7px 8px;min-height:34px;min-width:30px;font-size:14px;background:transparent}.floor-rename{padding:0 12px 12px}.room-list{padding:0 9px}.room-list-row{display:flex;gap:4px;margin-bottom:5px}.room-list-row>button:first-child{flex:1;text-align:left;background:#fff;border-color:#e1e4da;padding:9px;font-size:11px}.room-list-row>button:first-child small{display:block;font-size:9px}.room-list-row>button:first-child.active{background:var(--ink);color:white}.room-list-row>button.active small{color:#cad6be}.room-list-row>button:not(:first-child){min-width:30px;padding:7px;background:transparent}.add-room{margin:7px 12px 13px;width:calc(100% - 24px)}.deduction-card{background:#f3f5ec;padding:14px;margin-top:14px;border:1px solid var(--line)}.deduction-card .fields{grid-template-columns:1fr 1fr!important}.deduction-card>button{font-size:9px}.editor-panel{padding:23px 19px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.editor-heading .eyebrow{font-size:8px;margin-bottom:8px}.editor-heading h2{font:26px/1.2 Georgia;margin:0;overflow-wrap:anywhere}.editor-heading>span{font:24px Georgia;color:var(--accent);white-space:nowrap}.editor-tools{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-top:20px}.editor-tools .checkline{align-self:end;font-size:10px}.editor-tools input[type=range]{display:block;width:100%;accent-color:var(--ink);margin-top:17px}#room-svg{display:block;width:100%;height:410px;border:1px solid var(--line);background:#f0f3e9;margin:18px 0;touch-action:none}.drawing-actions{display:flex;gap:8px;flex-wrap:wrap}.drawing-actions button{font-size:9px;padding:8px}.point-editor{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.point-editor button{font-size:9px;padding:8px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:8px;margin:18px 0}.legend span:before{content:'';width:9px;height:9px;display:inline-block;margin-right:4px;background:#63816b}.legend .zero-key:before{background:#e8c6b5}.legend .half-key:before{background:#c9d5a8}.legend .deduct-key:before{background:#fff;border:1px solid #8a513c}.editor-column{position:sticky;top:15px;max-height:calc(100vh - 30px);overflow:auto;scrollbar-width:thin}.editor-column h2{font-size:19px;font-weight:500;margin:0 0 20px}#cross-section h2{font:25px Georgia}#roof-svg{width:100%;height:230px;display:block;background:#f4f6ef}#roof-measures{font-size:10px;line-height:1.8;color:var(--muted);margin-top:14px}#room-detail{font-size:11px;line-height:1.8}#room-detail table{font-size:10px}#room-detail th,#room-detail td{padding:8px 5px}#room-detail small{display:block;font-size:9px;line-height:1.7}.formula{font-size:12px;font-weight:bold}.notice{background:#f3eee0;border-left:2px solid #b99f66;padding:10px;font-size:10px;line-height:1.8;color:#766035}#room-error:not(:empty){padding:13px;border-left:2px solid #a54230;background:#f8eae1;color:#963a2c;font-size:12px}aside{position:sticky;top:15px;max-height:calc(100vh - 30px);overflow:auto;scrollbar-width:thin}.result{background:var(--ink);color:#f5f6ed;padding:25px}.result .eyebrow{color:#d4b78b;font-size:9px}#total-label{font-size:11px;color:#c7d3bf;margin-top:27px}.amount{font:42px Georgia;letter-spacing:-1px;overflow-wrap:anywhere}#completion{font-size:10px;color:#cfdbbf;line-height:1.8;margin:14px 0 22px}#kpis{border-top:1px solid #536851;padding:9px 0}#kpis>div{display:flex;gap:12px;justify-content:space-between;margin:14px 0;font-size:10px}#kpis>div>span{color:#c6d3bf}#kpis strong{font-size:11px;font-weight:normal;white-space:nowrap}#floor-totals{border-top:1px solid #536851;padding:10px 0}#floor-totals p{display:flex;gap:10px;justify-content:space-between;font-size:10px}#floor-totals strong{font-weight:normal;white-space:nowrap}#print{width:100%;font-size:10px;background:#dce8c9;margin-top:15px;padding:14px 8px}.result-note{font-size:9px;color:#bfcdb8;line-height:1.8;margin-top:20px}.report-hint{margin-top:18px;font-size:11px;color:var(--muted);line-height:1.8}.report-hint .eyebrow{font-size:8px}.summary{margin-top:35px}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;background:#fff}th,td{padding:12px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:normal}thead{font-size:10px;color:var(--muted)}td{font-variant-numeric:tabular-nums}td:not(:first-child){text-align:right}table small{display:block}.floor-sum{background:#eef1e6}.floor-sum th{font-weight:bold}.grand-total{background:var(--ink);color:white}.table-scroll{overflow-x:auto}.table-scroll table{min-width:600px}.lead{padding:36px;background:#e7ecdc;border:1px solid #ced7c2;margin:40px 0}.lead h2{font:35px/1.2 Georgia;margin:0 0 20px;max-width:850px}.lead>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:850px}.cta{display:inline-block;background:var(--ink);color:#eff3e7;padding:15px 20px;font-size:12px;text-decoration:none;margin:13px 0}.knowledge{border-top:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:1fr 2fr;gap:40px}.knowledge h2{font:35px/1.2 Georgia;margin:0}.knowledge p{font-size:11px;line-height:1.9;color:var(--muted)}footer{background:#26372e;color:#e7ecdf;padding:45px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:35px;border-bottom:1px solid #ffffff30}.footer-top h2{font:36px Georgia;margin:0 0 20px}.footer-top .eyebrow{color:#d6b28f}.footer-top a{font-size:12px}address{font:normal 12px/2 Arial;color:#c9d3c1}.footer-links{display:flex;gap:22px;flex-wrap:wrap;padding:25px 0;font-size:11px}footer small{font-size:9px;color:#c4cebe}.mobile-tabs{display:none}#print-report{display:none}[hidden]{display:none!important}
svg text{font-family:Arial,Helvetica,sans-serif;fill:#243f3a;pointer-events:none}svg .zero-zone{fill:#e8c6b5;stroke:none}svg .half-zone{fill:#c9d5a8;stroke:none}svg .full-zone{fill:#73907a;stroke:none}svg .excluded-zone{fill:#d6dad1;stroke:none}svg .manual-zone{stroke:#647665;stroke-width:1.5;vector-effect:non-scaling-stroke}svg .room-outline{fill:none;stroke:#2b4b3b;stroke-width:2;vector-effect:non-scaling-stroke}svg .invalid-outline{fill:#edd1c4;stroke:#a6402c;stroke-width:2;vector-effect:non-scaling-stroke}svg .measure-line{stroke:transparent;stroke-width:12;fill:none;vector-effect:non-scaling-stroke;cursor:crosshair}svg .dimension-text{fill:#68543e;paint-order:stroke;stroke:#f4f6ef;stroke-width:.06px}svg .point-target{fill:transparent;stroke:none;cursor:grab}svg .point{fill:#fff;stroke:#345a42;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:grab}svg .point.selected{fill:#bd6441;stroke:#793c28}svg .point-label{fill:#674e39;paint-order:stroke;stroke:#f4f6ef;stroke-width:.07px}svg .height-line{stroke:#956d42;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}svg .roof-outline,svg .scale-line{stroke:#34533d;stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke}svg .intersection{fill:#b75b3b}svg .deduction-zone{stroke:#985b3b;stroke-width:1.4;vector-effect:non-scaling-stroke}svg .kept-feature{fill:none;stroke:#a67b39;stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}svg .draft-line{fill:none;stroke:#b75b3b;stroke-width:2;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}
@media(max-width:1250px){.shell{width:calc(100% - 44px)}.workspace{grid-template-columns:minmax(290px,1fr) minmax(350px,1.3fr)}aside{grid-column:1/-1;position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.result{margin:0}.report-hint{margin:0;align-self:start}.header-inner nav{font-size:11px;gap:17px}.project-fields{grid-template-columns:repeat(3,minmax(0,1fr))}#kpis{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.editor-column{position:sticky}.amount{font-size:46px}.hero{gap:40px}h1{font-size:56px}}@media(max-width:850px){.header-inner{position:relative;min-height:84px}#menu{display:block;background:none;border:0;font-size:13px}.header-inner nav{display:none;position:absolute;top:84px;left:0;right:0;z-index:10;background:var(--paper);border:1px solid var(--line);padding:25px}.header-inner nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px;font-size:14px}.workspace{grid-template-columns:1fr}.editor-column,aside{position:static;overflow:visible;max-height:none}.editor-column{display:block}.hero{grid-template-columns:1fr}.hero-note{display:none}.project-fields{grid-template-columns:1fr 1fr}#room-fields .fields{grid-template-columns:1fr 1fr}.mobile-tabs{display:flex;justify-content:space-around;position:sticky;top:0;z-index:9;background:var(--ink);color:#eff2e8;margin-bottom:20px}.mobile-tabs a{padding:13px 8px;font-size:11px;text-decoration:none}#verwaltung,#raumeditor,#auswertung{scroll-margin-top:65px}#room-svg{height:460px}.toolbar>.checkline{margin-left:0}.floor-card{margin-top:12px}.knowledge{grid-template-columns:1fr;gap:20px}.knowledge h2 br{display:none}}@media(max-width:550px){.shell{width:calc(100% - 32px)}.brand img{width:43px;height:43px}.brand strong{font-size:22px}.brand>span{font-size:7px}.hero{padding-top:35px}h1{font-size:47px}.intro{font-size:13px}.project-fields{grid-template-columns:1fr}.panel,.left-column>.panel{padding:21px 16px}.project{padding:8px 16px}.fields,#room-fields .fields{grid-template-columns:1fr}.deduction-card .fields{grid-template-columns:1fr!important}.editor-heading h2{font-size:23px}.editor-heading>span{font-size:22px}.editor-tools{grid-template-columns:1fr 1fr}#room-svg{height:350px}.point-editor{grid-template-columns:1fr 1fr}.editor-column .panel{padding:21px 13px}aside{display:block}.report-hint{margin-top:18px}#kpis{display:block}.result{padding:25px}.lead{padding:27px 20px}.lead h2{font-size:30px}.knowledge h2{font-size:31px}.footer-top{flex-direction:column}.footer-top h2{font-size:32px}.footer-links{gap:16px}.tool-buttons{gap:6px}.tool-buttons button,.file-button{font-size:9px;padding:8px 10px}.table-scroll table{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{@page{size:A4;margin:14mm}body{background:white;color:#243f3a;font-size:10px}header,main,footer,.skip{display:none!important}#print-report{display:block}.print-cover,.print-summary,.print-room{break-before:page}.print-cover{break-before:auto;min-height:260mm;position:relative;padding:8mm 0}.print-cover>img{object-fit:contain;margin-bottom:10mm}.print-cover h1{font:34px/1.15 Georgia;letter-spacing:-.5px;margin:0 0 10mm;overflow-wrap:anywhere}.print-cover h2{font:20px/1.4 Georgia;font-weight:normal;overflow-wrap:anywhere}.print-cover dl{display:grid;grid-template-columns:43% 57%;gap:5mm 0;margin:12mm 0}.print-cover dt{font-size:10px;color:#647268}.print-cover dd{margin:0;font-size:11px;overflow-wrap:anywhere}.cover-total{font-size:12px;background:#edf1e5;padding:7mm}.cover-total strong{display:block;font:33px Georgia;margin-top:4mm}.report-footer{border-top:1px solid #cbd5c1;padding-top:4mm;margin-top:7mm;font-size:8px;line-height:1.7;color:#647268}.print-summary h2,.print-room h2{font:24px/1.25 Georgia;margin:0 0 6mm;break-after:avoid;overflow-wrap:anywhere}.print-room h3{font-size:12px;font-weight:normal;break-after:avoid;margin-top:6mm}.print-sketch{display:block;width:100%;height:66mm;background:#f4f6ee;break-inside:avoid}.print-roof{display:block;width:100%;height:45mm;break-inside:avoid}table{font-size:9px;width:100%;min-width:0}thead{display:table-header-group}th,td{padding:2.3mm 1.4mm}tr{break-inside:avoid}table small{font-size:8px;line-height:1.7}.grand-total{background:#e2ead7;color:#243f3a}.notice{font-size:9px;padding:3mm;break-inside:avoid}.print-room>p,.print-summary>p{font-size:9px;line-height:1.8;overflow-wrap:anywhere}.print-room .formula{font-size:11px}.print-room .help{font-size:9px}#print-report .eyebrow{font-size:9px}}
svg .point-target{stroke:transparent;stroke-width:24;vector-effect:non-scaling-stroke;pointer-events:all}@media(max-width:850px){.floor-title>div button,.room-list-row>button:not(:first-child){min-width:40px;min-height:40px}}
.floor-chart{display:flex;gap:2px;height:9px;margin:14px 0 18px}.floor-chart span{display:block;min-width:1px}
.header-inner .nav-sub{position:relative;padding:0;border:0;font:inherit}.header-inner .nav-sub summary{padding-right:14px;font:inherit}.header-inner .nav-sub summary:after{content:'⌄';color:inherit}.header-inner .nav-sub>div{position:absolute;top:28px;left:-18px;width:200px;z-index:20;background:var(--paper);border:1px solid var(--line);padding:15px}.header-inner .nav-sub a{display:block;padding:8px!important;border:0!important}.header-inner .nav-sub a:last-child{border:0!important}@media(max-width:1050px){.header-inner{position:relative;min-height:84px}#menu{display:block;background:none;border:0;font-size:13px}.header-inner nav{display:none;position:absolute;top:84px;left:0;right:0;z-index:10;background:var(--paper);border:1px solid var(--line);padding:25px}.header-inner nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px;font-size:14px}.header-inner .nav-sub>div{position:static;width:100%;border:0;padding:8px 0 0 15px}.header-inner .nav-sub summary{font-size:14px}}
.lead h2,.knowledge h2,.hero h1,.floor-title>button,.room-list-row>button{overflow-wrap:anywhere;hyphens:auto}
