.app-header[data-v-38f693a2]{background:var(--accent);color:#fff;padding:.75rem 1.5rem;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.header-inner[data-v-38f693a2]{max-width:1360px;margin:3px auto;display:flex;align-items:center;justify-content:space-between}.header-brand[data-v-38f693a2]{display:flex;align-items:center;gap:.75rem}.header-logo[data-v-38f693a2]{height:36px;width:auto;border-radius:var(--radius-sm)}.header-title[data-v-38f693a2]{font-size:1.125rem;font-weight:600;margin:0;line-height:1.2}.header-subtitle[data-v-38f693a2]{font-size:.75rem;opacity:.7;margin:0}.header-actions[data-v-38f693a2]{display:flex;align-items:center;gap:.75rem}.header-user[data-v-38f693a2]{font-size:.8125rem;opacity:.85}.header-logout[data-v-38f693a2]{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:.375rem .5rem;min-width:44px;min-height:44px;cursor:pointer;display:flex;align-items:center;transition:background .15s}.header-logout[data-v-38f693a2]:hover{background:#fff3}.header-logout .material-symbols-outlined[data-v-38f693a2]{font-size:1.25rem}@media (max-width: 560px){.header-user[data-v-38f693a2]{display:none}}.tab-nav[data-v-c4c97966]{background:var(--surface-alt);border-bottom:1px solid var(--border);position:sticky;top:66px;z-index:90}.tab-nav-inner[data-v-c4c97966]{max-width:1360px;width:100%;margin:0 auto;padding:0 clamp(1rem,2.5vw,2rem);display:flex;align-items:flex-end;gap:.25rem}.tab-group[data-v-c4c97966]{display:flex;gap:.25rem;min-width:max-content}.tab-btn[data-v-c4c97966]{display:inline-flex;align-items:center;gap:.45rem;padding:.75rem 1.25rem;min-height:44px;font-size:.9375rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,background .15s,border-color .15s;border-radius:var(--radius-sm) var(--radius-sm) 0 0;white-space:nowrap;letter-spacing:.01em}.tab-btn[data-v-c4c97966]:hover{color:var(--text);background:var(--surface)}.tab-btn.active[data-v-c4c97966]{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}.tab-icon[data-v-c4c97966]{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 20}.tab-icon[data-v-c4c97966]:before{content:attr(data-icon)}@media (max-width: 700px){.tab-nav-inner[data-v-c4c97966]{overflow-x:auto;padding:0 .75rem;scroll-snap-type:x proximity}.tab-btn[data-v-c4c97966]{gap:.375rem;padding-inline:.75rem;scroll-snap-align:start}}.toast-container[data-v-bef64837]{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column-reverse;gap:.5rem;z-index:9999;pointer-events:none}.toast[data-v-bef64837]{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius);font-size:.8125rem;font-weight:500;color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;pointer-events:auto;max-width:380px;min-width:260px}.toast-success[data-v-bef64837]{background:#2b4a3f}.toast-error[data-v-bef64837]{background:#9b2c2c}.toast-warning[data-v-bef64837]{background:#b45309}.toast-info[data-v-bef64837]{background:#1e40af}.toast-icon[data-v-bef64837]{font-size:1.125rem;flex-shrink:0}.toast-msg[data-v-bef64837]{flex:1;line-height:1.4}.toast-close[data-v-bef64837]{background:none;border:none;color:#ffffffb3;font-size:1rem;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.toast-close[data-v-bef64837]:hover{color:#fff}.toast-action[data-v-bef64837]{padding:.25rem .375rem;border:1px solid rgba(255,255,255,.45);background:#ffffff1f;color:#fff;font-size:.75rem;white-space:nowrap}.toast-action[data-v-bef64837]:hover{background:#ffffff3d}.toast-enter-active[data-v-bef64837]{transition:all .3s ease-out}.toast-leave-active[data-v-bef64837]{transition:all .2s ease-in}.toast-enter-from[data-v-bef64837],.toast-leave-to[data-v-bef64837]{opacity:0;transform:translate(40px)}.skeleton-card[data-v-0cbc7427]{padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.skeleton-header[data-v-0cbc7427]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.skeleton-grid[data-v-0cbc7427]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.sk-field[data-v-0cbc7427]{display:flex;flex-direction:column;gap:.375rem}.sk-line[data-v-0cbc7427]{height:.75rem;border-radius:4px;background:linear-gradient(90deg,var(--surface-alt) 25%,var(--border) 50%,var(--surface-alt) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.sk-title[data-v-0cbc7427]{height:1rem;width:220px}.sk-badge[data-v-0cbc7427]{height:1rem;width:80px}.sk-label[data-v-0cbc7427]{width:60%}.sk-value[data-v-0cbc7427]{width:85%;height:.875rem}.async-error[data-v-d9ac45f4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center}.error-icon[data-v-d9ac45f4]{font-size:3rem;color:var(--danger, #dc3545);margin-bottom:.75rem}.error-title[data-v-d9ac45f4]{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-muted);margin:0 0 .375rem}.error-desc[data-v-d9ac45f4]{font-size:.8125rem;color:var(--text-light);margin:0 0 1rem;max-width:320px;line-height:1.5}.app-shell[data-v-1cae7e7f]{min-height:100vh;display:flex;flex-direction:column}.app-main[data-v-1cae7e7f]{max-width:1360px;width:100%;margin:0 auto;padding:1.5rem clamp(1rem,2.5vw,2rem) 2.5rem;flex:1}.auth-loading[data-v-1cae7e7f]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);font-size:.9375rem}:root{--bg: #F4F1EA;--surface: #FDFCF8;--surface-alt: #F7F5EF;--surface-calc: #EEF4EF;--surface-api: #F1F4F8;--border: #E8E2D8;--border-strong: #D1C9BC;--text: #2C2C2C;--text-strong: #1F2E28;--text-muted: #6F6A62;--text-light: #817B72;--accent: #2B4A3F;--accent-light: #3D6B5A;--accent2: #8B6914;--accent2-light: #B8860B;--green: #2B4A3F;--green-light: #3D6B5A;--green-bg: #E8F5F0;--warn: #B45309;--warn-bg: #FEF3C7;--danger: #9B2C2C;--danger-bg: #FEE2E2;--info: #1E40AF;--info-bg: #DBEAFE;--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0,0,0,.06);--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.07);--shadow-lg: 0 8px 24px rgba(0,0,0,.08);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "DM Mono", "Fira Code", monospace;--font-display: "Fraunces", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.55;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4{font-size:1rem}input,select,textarea{font-family:var(--font-sans);font-size:.875rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2b4a3f1a}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input::placeholder{color:var(--text-light)}input.mono{font-family:var(--font-mono);font-size:.8125rem}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}input.align-right{text-align:right}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238C8880' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:1.75rem}.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px #9b2c2c1a!important}button{font-family:var(--font-sans);font-size:.8125rem;font-weight:500;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:.375rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s ease;white-space:nowrap;min-height:44px}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s;min-height:44px}.btn-secondary:hover{background:var(--surface-alt);border-color:var(--border-strong)}.btn-secondary .material-symbols-outlined,.btn-primary .material-symbols-outlined{font-size:1.25rem}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-alt);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-icon{padding:.375rem;background:transparent;color:var(--text-muted);border:none;border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--surface-alt);color:var(--text)}.btn-icon-danger{padding:.375rem;background:transparent;color:#7f1d1d;border:none;border-radius:var(--radius-sm);font-size:1.125rem;font-weight:700;line-height:1}.btn-icon-danger:hover{background:var(--danger-bg);color:#991b1b}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:0 1px 2px #232a250a}.card-header{display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.5rem}.primary-calc-card{border-color:#2b4a3f57}.support-card.collapsed{border-color:var(--border)}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.025em}.badge-green{background:var(--green-bg);color:var(--green)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.data-table th{text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.5rem .75rem;border-bottom:2px solid var(--border-strong);white-space:nowrap}.data-table th.calculated-col{color:var(--accent);background:var(--surface-calc)}.data-table th.result-col{color:#fff;background:var(--accent)}.data-table th.right,.data-table td.right{text-align:right}.data-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table td.calculated-cell{background:#eef4efb3;color:var(--text-strong)}.data-table td.editable-cell{background:var(--surface)}.data-table td.editable-cell input,.data-table td.editable-cell select{background:var(--surface);border-color:var(--border-strong)}.data-table td.editable-cell input:hover:not(:focus):not([type=checkbox]),.data-table td.editable-cell select:hover:not(:focus){border-color:var(--text-light)}.data-table td.api-cell{background:var(--surface-api);color:var(--text-muted)}.data-table td.miete-inherit{color:var(--text-muted);background:var(--surface-alt)}.data-table tr:hover td.miete-inherit{background:#efebe2}.data-table td.result-cell{background:#dcebe2;color:var(--accent);font-weight:700;border-left:2px solid rgba(43,74,63,.28)}.data-table td.result-cell strong{font-size:.9375rem;letter-spacing:-.01em}.data-table tr:hover td{background:var(--surface-alt)}.data-table tr:hover td.editable-cell{background:#faf9f4}.data-table tr:hover td.api-cell{background:#e9eef5}.data-table tr:hover td.calculated-cell{background:#e2ede5}.data-table tr:hover td.result-cell{background:#d2e3d8}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.625rem;padding:0 .125rem .5rem;border-bottom:1px solid var(--border)}.table-toolbar p{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.45}.table-legend{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.375rem .875rem;flex:0 0 auto;color:var(--text-muted);font-size:.6875rem;font-weight:600;white-space:nowrap}.table-legend>span{display:inline-flex;align-items:center;gap:.3rem}.legend-swatch{width:.6rem;height:.6rem;display:inline-block;border:1px solid var(--border-strong);border-radius:2px;background:var(--surface)}.legend-swatch.input{background:var(--surface);border-color:var(--accent)}.legend-swatch.api{background:var(--surface-api);border-color:#c7d3e3}.legend-swatch.inherit{background:var(--surface-alt);border-color:var(--border-strong)}.legend-swatch.calculated{background:#e2ede5;border-color:#b9d0be}.legend-swatch.result{background:#dcebe2;border-color:var(--accent)}.row-note{display:block;color:var(--text-muted);font-size:.6875rem;line-height:1.35;font-variant-numeric:tabular-nums}.row-note-linked{color:var(--text-light)}.field{display:flex;flex-direction:column;gap:.25rem}.meta-grid-2,.meta-grid-3{display:grid;gap:.875rem 1rem;margin-bottom:1rem}.meta-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.meta-card .meta-grid-2,.meta-card .meta-grid-3,.meta-card .readonly-grid{align-items:stretch}.meta-card .meta-grid-2>.field,.meta-card .meta-grid-3>.field{min-width:0;min-height:4.25rem;padding:.625rem .75rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s ease}.meta-card .meta-grid-2>.field:focus-within,.meta-card .meta-grid-3>.field:focus-within{border-color:#2b4a3f73}.meta-card .readonly-grid>.field-ro{min-width:0;min-height:4.25rem;padding:.625rem 0 .7rem;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.meta-card .readonly-grid>.field{min-width:0;min-height:4.25rem;padding:.625rem .75rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.meta-card .field input,.meta-card .field select{width:100%}.meta-card .field-ro .ro-value{min-height:1.75rem;overflow-wrap:anywhere}.project-readiness{max-width:17rem;color:var(--warn);font-size:.6875rem;font-weight:600;line-height:1.35;text-align:right}.project-readiness.complete{color:var(--accent)}.field label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.table-scroll{overflow-x:auto;scrollbar-gutter:stable;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;margin:-.25rem;padding:.25rem}.table-scroll .data-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--surface)}.table-scroll .data-table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.table-scroll .data-table td:first-child.api-cell{background:var(--surface-api)}.table-scroll .data-table td:first-child.calculated-cell{background:#f3f6f2}.table-scroll .data-table .summary-row td:first-child{background:var(--surface-calc)}.table-scroll .data-table th.result-col{position:sticky;right:0;z-index:2}.table-scroll .data-table td.result-cell{position:sticky;right:0;z-index:1}.table-scroll .data-table tr:hover td:first-child{background:var(--surface-alt)}.table-scroll .data-table tr:hover td:first-child.editable-cell{background:#faf9f4}.table-scroll .data-table tr:hover td:first-child.api-cell{background:#e9eef5}.table-scroll .data-table tr:hover td:first-child.calculated-cell{background:#e2ede5}@media (hover: none) and (pointer: coarse){.table-scroll .data-table thead th:first-child,.table-scroll .data-table td:first-child{box-shadow:inset -1px 0 0 var(--border)}}.data-table td .empty-state{align-items:flex-start;text-align:left}.summary-row td{background:var(--surface-calc);border-top:2px solid var(--accent);padding-block:.75rem;padding-inline:.75rem}.summary-row td strong{color:var(--text-strong);font-weight:700;font-size:.8125rem;letter-spacing:.02em}.summary-row td.result-cell{background:var(--accent);color:#fff;border-left:none;box-shadow:inset 2px 0 #ffffff24}.summary-row td.result-cell strong{color:#fff;font-size:1rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.summary-row td.calculated-cell{background:#e4efe7;color:var(--text-strong)}.readonly-grid{gap:.75rem!important}.field-ro{display:flex;flex-direction:column;gap:.125rem}.ro-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ro-value{font-size:.8125rem;color:var(--text);min-height:1.5rem;display:flex;align-items:center}.ro-text{white-space:pre-wrap;line-height:1.4}.ro-inline{font-size:.8125rem;display:inline-flex;align-items:center;gap:.5rem}.ro-inline .ro-label{display:inline;font-size:.75rem}.summary-card{background:var(--green-bg);border-color:#2b4a3f6b;box-shadow:0 8px 20px #2b4a3f14}.summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.summary-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;padding:.625rem .7rem;border:1px solid rgba(43,74,63,.12);border-radius:var(--radius-sm);background:#fdfcf894}.summary-item.highlight{grid-column:1 / -1;align-items:flex-start;padding:.8rem .7rem .85rem;border-color:var(--accent);background:#fdfcf8d6}.summary-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.summary-value{font-size:1rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.summary-item.highlight .summary-value{font-size:1.7rem;letter-spacing:-.03em}@media (max-width: 760px){.table-toolbar{align-items:flex-start;flex-direction:column;gap:.5rem}.table-legend{justify-content:flex-start}.summary-strip{gap:.5rem}.summary-value{font-size:.9375rem}.anmerkungen-grid{grid-template-columns:1fr}}@media (max-width: 560px){.card{padding:1rem}.summary-item{align-items:flex-start}.summary-item.highlight{padding-top:.75rem}.summary-item.highlight .summary-value{font-size:1.45rem}}.meta-group-label{margin:0 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.meta-card .meta-grid-3+.meta-group-label,.meta-card .meta-grid-2+.meta-group-label,.meta-card .readonly-grid+.meta-group-label{margin-top:1.25rem}.section-hint{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:#fef3c76b;color:var(--warn);font-size:.75rem;line-height:1.45}.section-hint .material-symbols-outlined{flex:0 0 auto;font-size:1rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media print{body{background:#fff}.no-print,.app-header,.tab-nav,.toast-container{display:none!important}body.print-active .app-main>*:not(.print-view){display:none!important}.print-view{position:static!important;overflow:visible!important}}.w-60{width:60px}.w-70{width:70px}.w-80{width:80px}.w-90{width:90px}.w-100{width:100px}.w-120{width:120px}.w-140{width:140px}.w-150{width:150px}.w-160{width:160px}.w-180{width:180px}.w-220{width:220px}.beschreibung-block{margin-top:1rem}.beschreibung-header{display:flex;align-items:center;margin-bottom:.375rem}.beschreibung-header label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.anmerkungen-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 800px){.meta-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.meta-grid-2,.meta-grid-3{grid-template-columns:1fr}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner-large{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}
