:root{--ink:#1b2320;--muted:#647069;--page:#e3e9e6;--panel:#fff;--border:#ccd5d1;--line:#e6ebe8;--brand:#1d4e46;--accent:#e0781f;--accent-soft:#fdf0e2;--pflicht:#c0392b;--empfohlen:#b8770f;--optional:#7d8a86;--geplant:#2f7d5c;--header:66px;--left:330px;--right:420px}*{box-sizing:border-box}html,body{background:var(--page);width:100%;height:100%;color:var(--ink);margin:0;font-family:Segoe UI,Roboto,Arial,Helvetica,sans-serif;font-size:15px;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app{flex-direction:column;height:100%;display:flex}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.app-header{flex:0 0 var(--header);border-bottom:1px solid var(--border);z-index:60;background:#fff;align-items:center;padding:0 20px;display:flex;position:relative;box-shadow:0 2px 12px #26372f12}.brand{flex:none;align-items:center;display:flex}.brand-mark{background:var(--brand);color:#fff;letter-spacing:.08em;justify-content:center;align-items:center;gap:8px;width:96px;height:38px;font-size:15px;text-decoration:none;display:flex}.brand-mark svg{width:19px}.app-name{border-left:1px solid var(--border);color:inherit;flex-direction:column;margin-left:14px;padding-left:14px;text-decoration:none;display:flex}.app-name strong{font-size:16px}.app-name span{color:var(--muted);margin-top:2px;font-size:11px}.main-nav{height:100%;margin-left:26px;display:flex}.nav-button{color:#4e5c56;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:flex;position:relative}.nav-button svg{width:17px}.nav-button:hover{color:var(--ink);background:#f2f6f4}.nav-button.active{color:var(--ink)}.nav-button.active:after{content:"";background:var(--accent);height:4px;position:absolute;bottom:0;left:12px;right:12px}.header-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.object-button{border:1px solid var(--border);background:#fff;align-items:center;gap:8px;height:38px;padding:0 14px;font-size:13px;font-weight:700;display:flex}.object-button:hover{border-color:var(--accent);background:var(--accent-soft)}.object-button svg{width:16px}.stand-note{color:var(--muted);font-size:11px}.icon-button{border:1px solid var(--border);background:#fff;place-items:center;width:36px;height:36px;padding:0;display:grid}.icon-button svg{width:18px}.mobile-menu,.mobile-close,.mobile-details-button{display:none}.app-footer{border-top:1px solid var(--border);background:var(--panel);min-height:30px;color:var(--muted);flex:none;justify-content:space-between;align-items:center;gap:14px;padding:0 16px;font-size:11px;display:flex}.app-footer nav{flex:none;gap:12px;display:flex}.app-footer a{color:var(--muted);font-weight:700;text-decoration:none}.app-footer a:hover{color:var(--accent);text-decoration:underline}.cost-header{border-bottom:1px solid var(--border);z-index:40;background:#fff;flex:none;position:relative;box-shadow:0 3px 14px #26372f0e}.cost-row{align-items:stretch;display:flex;overflow-x:auto}.cost-tile,.cost-total,.budget-lamp{border-right:1px solid var(--line);text-align:left;flex-direction:column;justify-content:center;padding:12px 18px;display:flex}.cost-tile{background:#fff;flex:1 1 0;min-width:216px}.cost-tile span,.cost-total span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800}.cost-tile strong{white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:4px;font-size:17px}.cost-tile small,.cost-total small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.35}.cost-tile-button{border:0;border-right:1px solid var(--line);text-align:left}.cost-tile-button:hover{background:var(--accent-soft)}.cost-tile-button small{color:var(--accent);align-items:center;gap:5px;font-weight:700;display:flex}.cost-tile-button small svg{width:13px}.cost-plus{margin-top:2px;font-style:normal;display:block}.cost-tile-plus strong{color:#6d5a2c}.cost-tile-minus strong{color:var(--geplant)}.cost-total{background:var(--brand);color:#fff;flex:none;min-width:256px;max-width:310px}.cost-total span{color:#a9c5bf}.cost-total strong{letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:4px;font-size:clamp(17px,1.2vw,20px);line-height:1.15}.cost-total small{color:#b6cec9}.budget-lamp{border-right:0;flex-direction:row;flex:none;align-items:center;gap:10px;display:flex}.budget-lamp svg{flex:none;width:22px}.budget-lamp strong{font-size:14px;display:block}.budget-lamp small{color:var(--muted);font-size:11px}.budget-im-budget{color:var(--geplant);background:#e7f4ee}.budget-knapp{color:var(--empfohlen);background:#fdf3e0}.budget-ueber-budget{color:var(--pflicht);background:#fbeceb}.cost-subrow{border-top:1px solid var(--line);background:#f7f9f8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:8px 18px;display:flex}.cost-selection{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:13px;display:flex}.cost-selection strong{color:var(--ink)}.cost-selection-value{background:var(--accent-soft);color:#8a4a09;padding:2px 9px;font-weight:800}.cost-selection-grant{color:var(--geplant);font-weight:700}.cost-warning{color:var(--pflicht);align-items:center;gap:8px;margin:0;font-size:12px;font-weight:600;display:flex}.cost-warning svg{flex:none;width:16px}.workspace{grid-template-columns:var(--left) minmax(0, 1fr) var(--right);flex:auto;gap:10px;min-height:0;padding:10px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);min-width:0;min-height:0;box-shadow:0 5px 20px #30473b0b}.library{grid-template-rows:auto auto auto minmax(0,1fr) auto;display:grid}.panel-heading{justify-content:space-between;align-items:flex-start;padding:18px 18px 12px;display:flex}.panel-heading h2{margin:4px 0 0;font-size:23px}.scenario-bar{padding:0 16px 12px}.scenario-title{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.scenario-buttons{flex-wrap:wrap;gap:5px;display:flex}.scenario-buttons button{border:1px solid var(--border);background:#fff;padding:6px 10px;font-size:12px;font-weight:700}.scenario-buttons button:hover{border-color:var(--accent);background:var(--accent-soft)}.scenario-buttons button.active{border-color:var(--brand);background:var(--brand);color:#fff}.scenario-reset{color:var(--muted)}.search-wrap{border:1px solid var(--border);background:#f7f9f8;align-items:center;height:42px;margin:0 16px 12px;display:flex}.search-wrap svg{width:16px;color:var(--muted);margin:0 10px}.search-wrap input{background:0 0;border:0;outline:0;width:100%;height:100%;font-size:14px}.component-list{border-top:1px solid var(--line);overflow-y:auto}.category-title{letter-spacing:.07em;text-transform:uppercase;background:#eff4f2;justify-content:space-between;align-items:center;min-height:36px;padding:0 16px;font-size:11px;font-weight:800;display:flex}.category-title small{color:var(--muted)}.component-item{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:76px minmax(0,1fr) auto;align-items:start;gap:9px;width:100%;padding:11px 14px;display:grid}.component-item:hover{background:#f7f9f8}.component-item.active{background:var(--accent-soft);box-shadow:inset 4px 0 var(--accent)}.component-item.planned .component-body strong:after{content:"✓";color:var(--geplant);margin-left:6px;font-size:12px}.component-body{min-width:0}.component-body strong{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:14px;line-height:1.3;display:block}.component-body small{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.component-cost{color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:1px;font-size:11px;font-weight:800}.chip{letter-spacing:.04em;text-transform:uppercase;text-align:center;white-space:nowrap;border-radius:2px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-block}.chip-pflicht{color:var(--pflicht);background:#fbeceb}.chip-empfohlen{color:#8f5c07;background:#fdf3e0}.chip-optional{color:#5f6c68;background:#eef1f0}.library-footer{border-top:1px solid var(--border);background:#f4f7f5;flex-direction:column;justify-content:center;min-height:62px;padding:11px 16px;display:flex}.library-footer strong{font-size:13px}.library-footer span{color:var(--muted);margin-top:3px;font-size:12px}.empty-state{color:var(--muted);padding:24px;font-size:13px}.viewer{grid-template-rows:70px minmax(0,1fr) 60px;display:grid}.viewer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:0 20px;display:flex}.viewer-header h1{margin:4px 0 0;font-size:23px}.viewer-status{color:var(--muted);text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.viewer-status i{background:var(--geplant);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #2f7d5c22}.canvas-wrap{position:relative;overflow:hidden}.canvas-wrap canvas{touch-action:none}.viewer-tip{border-left:4px solid var(--accent);background:#fffffff0;flex-direction:column;width:250px;padding:10px 13px;display:flex;position:absolute;top:16px;left:18px;box-shadow:0 5px 20px #203a2e18}.viewer-tip strong{letter-spacing:.12em;font-size:10px}.viewer-tip span{color:#52615a;margin-top:4px;font-size:12px;line-height:1.4}.viewer-tools{border:1px solid var(--border);background:#fff;width:58px;position:absolute;top:16px;right:16px;box-shadow:0 4px 16px #203a2e18}.viewer-tools button{border:0;border-bottom:1px solid var(--line);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;height:54px;display:flex}.viewer-tools button:last-child{border-bottom:0}.viewer-tools button:hover,.viewer-tools button.active{background:var(--accent);color:#fff}.viewer-tools svg{width:17px}.viewer-tools span{text-transform:uppercase;font-size:9px;font-weight:800}.before-banner{color:#ffd9b0;white-space:nowrap;background:#1b2320e8;padding:8px 14px;font-size:12px;font-weight:700;position:absolute;top:16px;left:50%;transform:translate(-50%)}.selection-info{color:#fff;background:#17231eeb;flex-direction:column;padding:10px 14px;display:flex;position:absolute;bottom:18px;left:18px}.selection-info span{color:#b8c3bd;letter-spacing:.1em;font-size:9px;font-weight:800}.selection-info strong{margin-top:3px;font-size:14px}.selection-info small{color:#ffc78a;margin-top:3px;font-size:12px;font-weight:700}.annotation{white-space:nowrap;background:#fffe;border:1px solid #5f6d67;padding:5px 9px;font-size:11px;font-weight:800;box-shadow:0 3px 10px #0002}.annotation.planned{border-color:var(--geplant);color:var(--geplant)}.annotation:hover,.annotation.active{background:var(--accent);color:#fff;border-color:#9c5210}.bottom-toolbar{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:0 14px 0 0;display:flex}.view-buttons{height:100%;display:flex}.view-buttons button{border:0;border-right:1px solid var(--line);color:#5a6862;background:#fff;justify-content:center;align-items:center;gap:7px;min-width:104px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.view-buttons button.active{color:#fff;box-shadow:inset 0 4px var(--accent);background:#17231e}.view-buttons button span:first-child{color:var(--accent);font-size:14px}.view-buttons button.active span:first-child{color:var(--accent)}.model-note{color:var(--muted);text-align:right;font-size:11px}.details{position:relative;overflow-y:auto}.details-empty{background:linear-gradient(155deg,#fff 55%,#eaf2ee);flex-direction:column;justify-content:center;min-height:100%;padding:40px 30px;display:flex}.detail-number{color:#9ba7a1;font-size:12px;font-weight:800}.details-empty h2{max-width:320px;margin:14px 0;font-size:34px;line-height:1.08}.details-empty p{color:#4e5d56;font-size:14px;line-height:1.65}.empty-rule{background:var(--accent);width:52px;height:5px;margin:20px 0}.details-empty>strong{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.details-empty>button{border:0;border-bottom:1px solid var(--line);background:0 0;justify-content:space-between;align-items:center;margin-top:6px;padding:11px 0;font-size:14px;font-weight:800;display:flex}.details-empty>button:hover{color:var(--accent)}.details-empty>button svg{width:18px}.details-hint{border-left:3px solid var(--accent);background:#fff;padding:12px 14px;margin-top:22px!important;font-size:13px!important}.details-content{padding:26px 24px}.details-content h2{margin:7px 0 9px;font-size:28px;line-height:1.1}.summary{color:#35443c;margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.5}.details-content section{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.details-content h3{letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 11px;font-size:13px;display:flex}.details-content h3 svg{width:16px;color:var(--accent)}.details-content p{color:#4e5d56;font-size:14px;line-height:1.65}.details-content ul{margin:0;padding:0;list-style:none}.variant-list{gap:7px;display:grid}.variant{border:1px solid var(--border);text-align:left;background:#fff;padding:11px 13px;display:block}.variant:hover{border-color:var(--accent);background:#fffaf4}.variant.active{border-color:var(--brand);box-shadow:inset 3px 0 var(--brand);background:#eef5f2}.variant-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.variant-head strong{font-size:14px}.variant-head em{white-space:nowrap;font-size:13px;font-style:normal;font-weight:800}.variant small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45;display:block}.variant-meta{color:#7d8a85;margin-top:6px;font-size:11px;display:block}.calculation dl{margin:0}.calculation dl>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.calculation dt{color:var(--muted);font-size:13px}.calculation dd{white-space:nowrap;margin:0;font-size:13px;font-weight:700}.calculation dd.minus{color:var(--geplant)}.calculation-total{margin-top:4px;border-bottom:0!important;border-top:2px solid var(--ink)!important;padding-top:10px!important}.calculation-total dt{color:var(--ink);font-weight:800}.calculation-total dd{font-size:16px}.calculation-note{margin-top:10px;color:#7d8a85!important;font-size:11px!important;line-height:1.5!important}.geg{background:#fbeceb;border:0!important;padding:16px!important}.geg h3 svg{color:var(--pflicht)}.geg p{color:#6d322b!important;font-size:13px!important}.geg-frist{margin-bottom:0}.sequence{background:#fdf3e0;border:0!important;padding:16px!important}.sequence p{color:#6d5a2c!important;font-size:13px!important}.risks li{color:#4e5d56;padding:6px 0 6px 16px;font-size:13px;line-height:1.5;position:relative}.risks li:before{content:"—";color:var(--pflicht);font-weight:800;position:absolute;left:0}.related-list{gap:6px;display:grid}.related-list button{border:1px solid var(--border);text-align:left;background:#fff;justify-content:space-between;align-items:center;min-height:38px;padding:0 11px;font-size:13px;font-weight:700;display:flex}.related-list button:hover{border-color:var(--accent);background:#fffaf4}.related-list svg{width:14px}.disclaimer{color:#8b9791!important;margin-top:24px!important;font-size:11px!important;line-height:1.6!important}.details-close{z-index:3;position:absolute;top:12px;right:12px}.sheet{width:min(560px,100vw);max-width:100vw;height:100%;max-height:100%;color:inherit;background:#fff;border:0;margin:0;padding:0;position:fixed;inset:0 0 0 auto;box-shadow:-8px 0 30px #16221d33}.sheet[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.sheet::backdrop{background:#16221d66}.sheet-inner{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.sheet-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.sheet-head h2{margin:4px 0 0;font-size:24px}.sheet-body{padding:4px 24px 32px;overflow-y:auto}.sheet-body section{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.sheet-body section:first-child{border-top:0}.sheet-body h3{letter-spacing:.05em;text-transform:uppercase;margin:0 0 12px;font-size:13px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-grid>label,.toggle-row label{flex-direction:column;gap:5px;display:flex}.field-grid>label>span{color:var(--muted);font-size:12px;font-weight:700}.field-grid input,.field-grid select{border:1px solid var(--border);background:#fff;outline:0;height:40px;padding:0 10px;font-size:14px}.field-grid input:focus,.field-grid select:focus{border-color:var(--accent)}.field-note{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.toggle-row{flex-wrap:wrap;gap:10px 20px;margin-top:12px;display:flex}.toggle-column{flex-direction:column;gap:10px}.checkbox{cursor:pointer;align-items:flex-start;font-size:13px;line-height:1.45;flex-direction:row!important;gap:9px!important}.checkbox input{width:17px;height:17px;accent-color:var(--brand);flex:none;margin:1px 0 0}.calc-table{border-collapse:collapse;width:100%;font-size:12px}.calc-table th,.calc-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 8px}.calc-table th{width:30%;font-weight:700}.calc-table td:last-child{width:22%;color:var(--ink);text-align:right;white-space:nowrap;font-weight:700}.calc-table td{color:var(--muted)}.privacy{color:#3c5850;background:#eef5f2;align-items:flex-start;gap:10px;margin-top:26px;padding:12px 14px;font-size:12px;line-height:1.55;display:flex}.privacy svg{width:18px;color:var(--brand);flex:none}.roadmap{flex:auto;min-height:0;padding:26px 32px 48px;overflow-y:auto}.roadmap-head{justify-content:space-between;align-items:flex-start;gap:20px;max-width:1080px;margin:0 auto 26px;display:flex}.roadmap-head h1{margin:6px 0 8px;font-size:32px;line-height:1.12}.roadmap-head p{color:var(--muted);margin:0;font-size:14px}.roadmap-actions{flex:none;gap:8px;display:flex}.ghost-button{border:1px solid var(--border);height:40px;color:inherit;background:#fff;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.ghost-button:hover{border-color:var(--accent);background:var(--accent-soft)}.ghost-button svg{width:16px}.roadmap-phases{gap:16px;max-width:1080px;margin:0 auto;display:grid}.phase{border:1px solid var(--border);background:#fff;box-shadow:0 5px 20px #30473b0b}.phase>header{border-bottom:1px solid var(--line);grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px 22px;display:grid}.phase-number{background:var(--brand);color:#fff;place-items:center;width:46px;height:46px;font-size:20px;font-weight:800;display:grid}.phase>header h2{margin:0;font-size:21px}.phase>header h2 em{color:var(--muted);margin-left:8px;font-size:13px;font-style:normal;font-weight:600}.phase>header strong{color:var(--accent);margin-top:4px;font-size:13px;display:block}.phase>header p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.6}.phase-sum{text-align:right}.phase-sum span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.phase-sum strong{white-space:nowrap;margin-top:4px;font-size:19px;display:block}.phase-sum small{color:var(--geplant);font-size:12px}.phase-list{margin:0;padding:0;list-style:none}.phase-list li{border-bottom:1px solid var(--line);padding:15px 22px}.phase-list li:last-child{border-bottom:0}.phase-item-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.phase-item-head strong{font-size:15px}.phase-item-head em{white-space:nowrap;margin-left:auto;font-size:14px;font-style:normal;font-weight:800}.phase-list p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.55}.phase-geg{background:#fbeceb;align-items:flex-start;gap:8px;padding:8px 11px;display:flex;color:#6d322b!important;margin-top:8px!important;font-size:12px!important}.phase-geg svg{flex:none;width:15px}.phase-grant{font-weight:600;color:var(--geplant)!important;margin-top:6px!important;font-size:12px!important}.phase-empty{color:var(--muted);margin:0;padding:18px 22px;font-size:13px}.roadmap-empty{border:1px solid var(--border);background:#fff;max-width:1080px;margin:0 auto;padding:30px}.roadmap-disclaimer{max-width:1080px;margin:26px auto 0!important}.legal{flex:auto;min-height:0;padding:26px 32px 48px;overflow-y:auto}.legal-head{justify-content:space-between;align-items:flex-start;gap:20px;max-width:760px;margin:0 auto 26px;display:flex}.legal-head h1{margin:6px 0 0;font-size:32px;line-height:1.12}.legal-body{border:1px solid var(--border);background:var(--panel);max-width:760px;margin:0 auto;padding:26px 30px 30px;box-shadow:0 5px 20px #30473b0b}.legal-body section+section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.legal-body h2{margin:0 0 6px;font-size:15px}.legal-body p{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.65}.legal-body p:last-child{margin-bottom:0}.legal-body a{color:var(--brand);font-weight:700}.legal-body ul{color:var(--muted);margin:0 0 8px;padding-left:18px;font-size:13px;line-height:1.65}.legal-body li{margin-bottom:3px}@media (max-width:1350px){:root{--left:290px;--right:370px}.app-name{display:none}.main-nav{margin-left:12px}.nav-button{min-width:96px}.stand-note{display:none}.view-buttons button{min-width:82px}.model-note{display:none}}@media (max-width:1100px){.mobile-menu{margin-right:10px;display:grid}.workspace{grid-template-columns:minmax(0,1fr)}.library,.details{z-index:70;width:min(390px,92vw);transition:transform .2s;position:fixed;top:0;bottom:0;box-shadow:0 0 24px #17231e3b}.library{left:0;transform:translate(-105%)}.details{right:0;transform:translate(105%)}.library.open,.details.open{transform:translate(0)}.mobile-close{display:grid}.mobile-details-button{background:var(--accent);color:#fff;text-transform:uppercase;border:0;height:38px;padding:0 14px;font-size:11px;font-weight:800;display:block;position:absolute;bottom:15px;right:15px}.cost-tile small{display:none}.field-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){:root{--header:56px}html,body{font-size:14px}.app-header{padding:0 10px}.brand-mark{width:78px;height:34px;font-size:13px}.main-nav{margin-left:4px}.nav-button{min-width:54px;padding:0 8px;font-size:11px}.nav-button span,.object-button span{display:none}.cost-tile,.cost-total,.budget-lamp{padding:9px 12px}.cost-tile{min-width:132px}.cost-tile strong{font-size:15px}.cost-total{min-width:180px}.cost-total strong{font-size:19px}.cost-subrow{padding:7px 12px}.workspace{padding:0}.viewer{border:0;grid-template-rows:58px minmax(0,1fr) 52px}.viewer-header{padding:0 12px}.viewer-header h1{font-size:18px}.viewer-status,.viewer-tip{display:none}.viewer-tools{width:44px;top:10px;right:10px}.viewer-tools button{height:44px}.viewer-tools span{display:none}.selection-info{bottom:56px;left:10px}.mobile-details-button{bottom:56px;right:10px}.bottom-toolbar{padding:0;overflow-x:auto}.view-buttons button{flex-direction:column;gap:2px;min-width:62px;font-size:10px}.roadmap{padding:18px 14px 40px}.roadmap-head{flex-direction:column}.legal{padding:18px 14px 40px}.legal-head{flex-direction:column}.legal-head h1{font-size:25px}.legal-body{padding:20px 16px}.app-footer>span{display:none}.app-footer{justify-content:flex-end}.roadmap-head h1{font-size:25px}.phase>header{grid-template-columns:38px minmax(0,1fr)}.phase-number{width:38px;height:38px;font-size:17px}.phase-sum{text-align:left;grid-column:1/-1}.details-empty h2{font-size:27px}.details-content h2{font-size:24px}}@media print{html,body{background:#fff;height:auto;font-size:11pt;overflow:visible}.app-header,.app-footer,.roadmap-actions{display:none}.roadmap{padding:0;overflow:visible}.phase{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:1px solid #999}.phase-number{background:#333}.roadmap-head h1{font-size:20pt}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dossier{flex:auto;min-height:0;padding:26px 32px 48px;overflow-y:auto}.dossier>*{max-width:1080px;margin-left:auto;margin-right:auto}.dossier-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.dossier-head h1{margin:6px 0 8px;font-size:32px;line-height:1.12}.dossier-head p{color:var(--muted);margin:0;font-size:14px}.dossier-actions{flex:none;gap:8px;display:flex}.dossier-hero{border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--panel);border-radius:4px;grid-template-columns:minmax(240px,320px) 1fr;align-items:center;gap:24px;margin-bottom:34px;padding:24px 26px;display:grid;box-shadow:0 2px 14px #26372f0f}.hero-main span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;display:block}.hero-main strong{letter-spacing:-.02em;color:var(--brand);margin:4px 0 6px;font-size:42px;line-height:1;display:block}.hero-main small{color:var(--muted);font-size:12px}.hero-side{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 20px;margin:0;display:grid}.hero-side div{border-left:1px solid var(--line);padding-left:14px}.hero-side dt{color:var(--muted);font-size:11px;line-height:1.4}.hero-side dd{margin:3px 0 0;font-size:17px;font-weight:700}.dossier-block{border:1px solid var(--border);background:var(--panel);border-radius:4px;margin-bottom:26px;padding:26px}.dossier-block>header{max-width:76ch;margin-bottom:22px}.dossier-block h2{margin:6px 0 8px;font-size:23px;line-height:1.2}.dossier-block h3{letter-spacing:.02em;margin:0 0 10px;font-size:14px}.dossier-block>header p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.energie-block{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:22px}.chart{width:100%;height:auto;margin:4px 0 10px;display:block;overflow:visible}.chart-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:4px;padding:22px;font-size:13px}.chart-legend{flex-wrap:wrap;gap:8px 22px;margin:4px 0 22px;padding:0;font-size:12px;list-style:none;display:flex}.chart-legend li{align-items:baseline;gap:7px;display:flex}.chart-legend i{border-radius:3px;flex:none;width:11px;height:11px;transform:translateY(1px)}.chart-legend span{color:var(--muted)}.dossier-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.dossier-table caption{color:var(--muted);text-align:left;padding-bottom:10px;font-size:12px}.dossier-table th,.dossier-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}.dossier-table thead th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.dossier-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dossier-table-wide th[scope=row]{width:30%}.dossier-table th[scope=row] small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;line-height:1.5;display:block}.dossier-table td.formel{text-align:left;white-space:normal;color:var(--muted);font-size:11px;line-height:1.5}.dossier-table tr.entfaellt td:last-child{color:var(--geplant);font-weight:700}.dossier-table tr.dossier-sum th,.dossier-table tr.dossier-sum td{border-top:1.5px solid var(--ink);border-bottom:none;font-weight:700}.kennzahlen{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 22px;display:grid}.kennzahlen div{border:1px solid var(--border);background:#fbfcfb;border-radius:4px;padding:14px 16px}.kennzahlen .kennzahl-gross{border-color:var(--brand);background:#f3f8f6}.kennzahlen dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.kennzahlen dd{margin:5px 0 4px;font-size:22px;font-weight:700;line-height:1}.kennzahlen .kennzahl-gross dd{color:var(--brand)}.kennzahlen small{color:var(--muted);font-size:11px;line-height:1.5;display:block}.dossier-note{color:var(--muted);gap:9px;margin:12px 0 0;font-size:12px;line-height:1.6;display:flex}.dossier-note svg{flex:none;width:15px;height:15px;margin-top:1px}.dossier-highlight{border:1px solid var(--border);border-left:3px solid var(--brand);background:#f3f8f6;border-radius:4px;gap:11px;margin:20px 0 0;padding:16px 18px;font-size:13px;line-height:1.65;display:flex}.dossier-highlight svg{width:18px;height:18px;color:var(--brand);flex:none;margin-top:1px}.dossier-warnung,.dossier-ampel{border:1px solid var(--border);border-radius:4px;gap:12px;margin:20px 0 0;padding:16px 18px;font-size:13px;display:flex}.dossier-warnung{border-left:3px solid var(--accent);background:var(--accent-soft)}.dossier-warnung svg,.dossier-ampel svg{flex:none;width:19px;height:19px;margin-top:1px}.dossier-warnung svg{color:var(--accent)}.dossier-warnung strong,.dossier-ampel strong{margin-bottom:5px;font-size:14px;display:block}.dossier-warnung p,.dossier-ampel p{margin:0 0 6px;line-height:1.65}.dossier-warnung p:last-child,.dossier-ampel p:last-child{margin-bottom:0}.ampel-entspannt,.ampel-guenstig,.ampel-marktueblich{border-left:3px solid var(--geplant);background:#f2f8f5}.ampel-entspannt svg,.ampel-guenstig svg,.ampel-marktueblich svg{color:var(--geplant)}.ampel-grenzwertig,.ampel-ambitioniert{border-left:3px solid var(--empfohlen);background:#fdf8ee}.ampel-grenzwertig svg,.ampel-ambitioniert svg{color:var(--empfohlen)}.ampel-kritisch,.ampel-teuer{border-left:3px solid var(--pflicht);background:#fdf3f2}.ampel-kritisch svg,.ampel-teuer svg{color:var(--pflicht)}.dossier-quellen h2{font-size:17px}.quellen-liste{flex-wrap:wrap;gap:6px 20px;margin:14px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.quellen-liste a{color:var(--brand)}@media (max-width:900px){.dossier{padding:20px 16px 40px}.dossier-head,.dossier-hero{flex-direction:column;grid-template-columns:1fr}.dossier-block{padding:18px 16px}.hero-side div{border-left:none;padding-left:0}.dossier-table-wide td.formel{display:none}}@media print{.dossier-actions{display:none}.dossier{padding:0;overflow:visible}.dossier-block,.dossier-hero{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:1px solid #999}.dossier-head h1{font-size:20pt}}.analyse{flex:auto;min-height:0;padding:26px 32px 48px;overflow-y:auto}.analyse>*{max-width:900px;margin-left:auto;margin-right:auto}.analyse-head{margin-bottom:22px}.analyse-head h1{margin:6px 0 8px;font-size:32px;line-height:1.12}.analyse-head p{max-width:68ch;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.analyse-hinweis{border:1px solid var(--border);border-left:3px solid var(--brand);background:#f3f8f6;border-radius:4px;gap:12px;margin-bottom:26px;padding:16px 18px;display:flex}.analyse-hinweis svg{width:19px;height:19px;color:var(--brand);flex:none;margin-top:2px}.analyse-hinweis strong{margin-bottom:6px;font-size:14px;display:block}.analyse-hinweis p{margin:0 0 8px;font-size:13px;line-height:1.65}.analyse-hinweis p:last-child{margin-bottom:0}.analyse-block{border:1px solid var(--border);background:var(--panel);border-radius:4px;margin-bottom:20px;padding:22px 24px}.analyse-block h2{align-items:baseline;gap:10px;margin:0 0 10px;font-size:19px;display:flex}.analyse-block h2 em{color:var(--muted);font-size:12px;font-style:normal;font-weight:400}.analyse-tipp{color:var(--muted);gap:8px;margin:0 0 14px;font-size:12.5px;line-height:1.6;display:flex}.analyse-tipp svg{flex:none;width:15px;height:15px;margin-top:2px}.bild-liste{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.bild-karte{border:1px solid var(--border);background:#fbfcfb;border-radius:4px;margin:0;position:relative;overflow:hidden}.bild-karte img{object-fit:cover;width:100%;height:118px;display:block}.bild-karte figcaption{border-top:1px solid var(--line);padding:7px 9px}.bild-karte figcaption span{font-size:12px;font-weight:700;display:block}.bild-karte figcaption small{color:var(--muted);font-size:11px}.bild-entfernen{color:#fff;background:#1b2320cc;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:6px;right:6px}.bild-entfernen svg{width:14px;height:14px}.bild-hinzufuegen{border:1px dashed var(--border);min-height:152px;color:var(--muted);background:#fbfcfb;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.bild-hinzufuegen:hover{border-color:var(--brand);color:var(--brand)}.bild-hinzufuegen svg{width:22px;height:22px}.bild-hinzufuegen span{font-size:13px;font-weight:700}.bild-hinzufuegen small{font-size:11px}.analyse-block textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;background:#fff;border-radius:4px;padding:11px 12px;font-size:13px;line-height:1.6}.analyse-block textarea:focus,.analyse-feld input:focus{border-color:var(--brand);outline:none}.analyse-feld{margin-top:14px;display:block}.analyse-feld span{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.analyse-feld input{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;height:38px;padding:0 12px;font-size:13px}.analyse-zustimmung{align-items:flex-start;margin-bottom:16px;line-height:1.6}.analyse-aktionen{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.analyse-aktionen small{color:var(--muted);font-size:12px}.primary-button{background:var(--brand);color:#fff;border:none;border-radius:4px;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.primary-button:hover:not(:disabled){background:#17403a}.primary-button:disabled{cursor:not-allowed;background:#a8b5b0}.primary-button svg{width:17px;height:17px}.dreht{animation:1s linear infinite dreht}@keyframes dreht{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dreht{animation:none}}.analyse-eindruck{margin:0 0 18px;font-size:15px;line-height:1.7}.objekt-schaetzung{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;display:grid}.objekt-schaetzung div{border:1px solid var(--line);border-radius:4px;padding:9px 11px}.objekt-schaetzung div.unbekannt{opacity:.65;border-style:dashed}.objekt-schaetzung dt{color:var(--muted);font-size:11px}.objekt-schaetzung dd{margin:3px 0 0;font-size:14px;font-weight:700}.befund-liste{gap:12px;margin:0;padding:0;list-style:none;display:grid}.befund{border:1px solid var(--border);border-left:3px solid var(--optional);border-radius:4px;padding:14px 16px}.befund-schlecht{border-left-color:var(--pflicht)}.befund-mittel{border-left-color:var(--empfohlen)}.befund-gut{border-left-color:var(--geplant)}.befund-kopf{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.befund-kopf strong{font-size:15px}.befund-chip{border-radius:20px;flex:none;padding:3px 9px;font-size:11px;font-weight:700}.chip-schlecht{color:var(--pflicht);background:#fdf3f2}.chip-mittel{color:var(--empfohlen);background:#fdf8ee}.chip-gut{color:var(--geplant);background:#f2f8f5}.chip-unklar{color:var(--optional);background:#f2f4f3}.befund-massnahme{margin:0 0 6px;font-size:13px;line-height:1.6}.befund-begruendung{color:#3d4844;margin:0 0 6px;font-size:13px;line-height:1.65}.befund-quelle{color:var(--muted);margin:0;font-size:11px}.analyse-liste{gap:9px;margin:0;padding:0;list-style:none;display:grid}.analyse-liste li{gap:9px;font-size:13px;line-height:1.6;display:flex}.analyse-liste svg{flex:none;width:16px;height:16px;margin-top:2px}.risiko-liste svg{color:var(--empfohlen)}.frage-liste svg{color:var(--brand)}.analyse-leer{border:1px dashed var(--border);color:var(--muted);border-radius:4px;padding:18px;font-size:13px;line-height:1.6}.analyse-uebernahme{border-color:var(--brand);background:#f3f8f6}.analyse-uebernahme p{font-size:13.5px;line-height:1.65}.analyse-erfolg{color:var(--geplant);align-items:center;gap:7px;margin:12px 0 0;font-size:13px;font-weight:700;display:flex}.analyse-erfolg svg{width:16px;height:16px}@media (max-width:900px){.analyse{padding:20px 16px 40px}.analyse-block{padding:16px}}.cost-total-monat{color:#fff;background:#b35a0c;text-decoration:none}.cost-total-monat span,.cost-total-monat small{color:#fff}.cost-total-monat small{opacity:.92;display:block}.cost-total-monat small svg{vertical-align:-2px;width:13px;height:13px;margin-left:5px;transition:transform .15s}.cost-total-monat:hover{background:#9a4d0a}.cost-total-monat:hover small svg{transform:translate(3px)}.willkommen{background:var(--panel);width:min(620px,100% - 40px);max-width:calc(100% - 40px);max-height:92vh;color:inherit;border:0;border-radius:5px;margin:auto;padding:30px 34px;position:fixed;inset:0;overflow-y:auto;box-shadow:0 20px 60px #0e1a1640}.willkommen[open]{display:block}.willkommen::backdrop{background:#1b232099}.willkommen-schliessen{position:absolute;top:14px;right:14px}.willkommen h2{margin:7px 0 12px;font-size:27px;line-height:1.15}.willkommen-text{color:#3d4844;margin:0 0 22px;font-size:14.5px;line-height:1.7}.willkommen-schritte{gap:12px;margin:0 0 24px;padding:0;list-style:none;display:grid}.willkommen-schritte li{align-items:flex-start;gap:12px;display:flex}.willkommen-schritte svg{width:19px;height:19px;color:var(--brand);flex:none;margin-top:2px}.willkommen-schritte strong{font-size:14px;display:block}.willkommen-schritte span{color:var(--muted);font-size:12.5px;line-height:1.5}.willkommen-aktionen{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.willkommen-aktionen .primary-button{text-decoration:none}.willkommen-weiter{color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:13px;text-decoration:underline}.willkommen-weiter:hover{color:var(--ink)}.willkommen-fuss{border-top:1px solid var(--line);color:var(--muted);margin:22px 0 0;padding-top:16px;font-size:11.5px;line-height:1.6}.dossier-anpassen{margin:0 0 18px}@media (max-width:620px){.willkommen{padding:24px 20px}.willkommen h2{font-size:22px}.willkommen-aktionen{flex-direction:column;align-items:stretch}.willkommen-aktionen .primary-button,.willkommen-aktionen .ghost-button{justify-content:center}}.fehlerseite{flex:auto;max-width:760px;min-height:0;margin:0 auto;padding:60px 32px 48px;overflow-y:auto}.fehlerseite h1{margin:8px 0 12px;font-size:32px;line-height:1.12}.fehlerseite>p{color:var(--muted);margin:0 0 26px;font-size:15px;line-height:1.6}.fehler-wege{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.fehler-wege a{border:1px solid var(--border);background:var(--panel);height:100%;color:inherit;border-radius:4px;align-items:flex-start;gap:12px;padding:16px 18px;text-decoration:none;display:flex}.fehler-wege a:hover{border-color:var(--brand);background:#f3f8f6}.fehler-wege svg{width:19px;height:19px;color:var(--brand);flex:none;margin-top:2px}.fehler-wege strong{margin-bottom:4px;font-size:15px;display:block}.fehler-wege span{color:var(--muted);font-size:12.5px;line-height:1.55}
