:root{--font-family-base: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-size-12: .75rem;--font-size-14: .875rem;--font-size-16: 1rem;--font-size-18: 1.125rem;--font-size-22: 1.375rem;--font-size-30: 1.875rem;--font-weight-400: 400;--font-weight-500: 500;--font-weight-600: 600;--line-tight: 1.25;--line-base: 1.45;--spacing-4: .25rem;--spacing-8: .5rem;--spacing-12: .75rem;--spacing-16: 1rem;--spacing-20: 1.25rem;--spacing-24: 1.5rem;--spacing-32: 2rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(16, 24, 18, .06);--shadow-md: 0 8px 24px rgba(16, 24, 18, .1);--bg-default: #f3f5f2;--bg-surface: #ffffff;--bg-subtle: #edf2ed;--text-primary: #142018;--text-secondary: #506053;--text-muted: #6e7c72;--brand-primary: #1f4d2e;--brand-primary-hover: #183e25;--brand-accent: #e8641b;--border-default: #d5dcd3;--border-strong: #bfc9be;--state-success: #1f7a43;--state-warning: #b77400;--state-error: #b23a1b;--state-info: #2f5f98;--focus-ring: rgba(31, 77, 46, .2);--overlay-default: rgba(15, 21, 17, .48);--overlay-primary-18: rgba(31, 77, 46, .18);--overlay-accent-12: rgba(232, 100, 27, .12);--overlay-accent-18: rgba(232, 100, 27, .18);--overlay-accent-24: rgba(232, 100, 27, .24);--overlay-neutral-35: rgba(60, 70, 80, .35);--surface-warning: #f6f1e7;--border-warning: #e8c362;--haus-fill: #c9ced3;--haus-stroke: #7c838b;--north-color: #4a564d;--transition-fast: .15s ease;--transition-normal: .18s ease;--touch-target-min: 44px;--wizard-footer-height: 5.75rem;--app-bottom-nav-height: 4.9rem}@media (prefers-color-scheme: dark){:root{--bg-default: #0f1511;--bg-surface: #151d18;--bg-subtle: #1b251f;--text-primary: #e7eee8;--text-secondary: #b9c7bb;--text-muted: #90a292;--brand-primary: #7fb690;--brand-primary-hover: #95c6a4;--brand-accent: #ff8a4a;--border-default: #2a3830;--border-strong: #3a4a41;--state-success: #5bc486;--state-warning: #f0b35a;--state-error: #f0846a;--state-info: #73a8e8;--focus-ring: rgba(127, 182, 144, .34);--overlay-default: rgba(9, 14, 10, .7);--overlay-primary-18: rgba(127, 182, 144, .2);--overlay-accent-12: rgba(255, 138, 74, .14);--overlay-accent-18: rgba(255, 138, 74, .2);--overlay-accent-24: rgba(255, 138, 74, .24);--overlay-neutral-35: rgba(129, 142, 154, .36);--surface-warning: rgba(240, 179, 90, .12);--border-warning: rgba(240, 179, 90, .5);--haus-fill: #59666f;--haus-stroke: #8d9aa3;--north-color: #a8b8ab}}:root[data-theme=light]{--bg-default: #f3f5f2;--bg-surface: #ffffff;--bg-subtle: #edf2ed;--text-primary: #142018;--text-secondary: #506053;--text-muted: #6e7c72;--brand-primary: #1f4d2e;--brand-primary-hover: #183e25;--brand-accent: #e8641b;--border-default: #d5dcd3;--border-strong: #bfc9be;--state-success: #1f7a43;--state-warning: #b77400;--state-error: #b23a1b;--state-info: #2f5f98;--focus-ring: rgba(31, 77, 46, .2);--overlay-default: rgba(15, 21, 17, .48);--overlay-primary-18: rgba(31, 77, 46, .18);--overlay-accent-12: rgba(232, 100, 27, .12);--overlay-accent-18: rgba(232, 100, 27, .18);--overlay-accent-24: rgba(232, 100, 27, .24);--overlay-neutral-35: rgba(60, 70, 80, .35);--surface-warning: #f6f1e7;--border-warning: #e8c362;--haus-fill: #c9ced3;--haus-stroke: #7c838b;--north-color: #4a564d}:root[data-theme=dark]{--bg-default: #0f1511;--bg-surface: #151d18;--bg-subtle: #1b251f;--text-primary: #e7eee8;--text-secondary: #b9c7bb;--text-muted: #90a292;--brand-primary: #7fb690;--brand-primary-hover: #95c6a4;--brand-accent: #ff8a4a;--border-default: #2a3830;--border-strong: #3a4a41;--state-success: #5bc486;--state-warning: #f0b35a;--state-error: #f0846a;--state-info: #73a8e8;--focus-ring: rgba(127, 182, 144, .34);--overlay-default: rgba(9, 14, 10, .7);--overlay-primary-18: rgba(127, 182, 144, .2);--overlay-accent-12: rgba(255, 138, 74, .14);--overlay-accent-18: rgba(255, 138, 74, .2);--overlay-accent-24: rgba(255, 138, 74, .24);--overlay-neutral-35: rgba(129, 142, 154, .36);--surface-warning: rgba(240, 179, 90, .12);--border-warning: rgba(240, 179, 90, .5);--haus-fill: #59666f;--haus-stroke: #8d9aa3;--north-color: #a8b8ab}:root{--color-primary: var(--brand-primary);--color-primary-hover: var(--brand-primary-hover);--color-primary-soft: color-mix(in srgb, var(--brand-primary) 14%, var(--bg-surface));--color-accent: var(--brand-accent);--color-bg: var(--bg-default);--color-surface: var(--bg-subtle);--color-card: var(--bg-surface);--color-border: var(--border-default);--color-border-strong: var(--border-strong);--color-text: var(--text-primary);--color-text-muted: var(--text-secondary);--color-text-soft: var(--text-muted);--color-overlay: var(--overlay-default);--status-open: var(--text-muted);--status-offeriert: var(--state-info);--status-freigegeben: var(--state-success);--status-verloren: var(--state-error);--danger: var(--state-error);--warning-border: var(--border-warning);--warning-bg: var(--surface-warning);--color-haus-fill: var(--haus-fill);--color-haus-stroke: var(--haus-stroke);--color-north: var(--north-color);--font-size-xs: var(--font-size-12);--font-size-sm: var(--font-size-14);--font-size-md: var(--font-size-16);--font-size-lg: var(--font-size-18);--font-size-xl: var(--font-size-22);--font-size-2xl: var(--font-size-30);--weight-regular: var(--font-weight-400);--weight-medium: var(--font-weight-500);--weight-semibold: var(--font-weight-600);--weight-light: var(--font-weight-400);--line-height-tight: var(--line-tight);--line-height-base: var(--line-base);--space-1: var(--spacing-4);--space-2: var(--spacing-8);--space-3: var(--spacing-12);--space-4: var(--spacing-16);--space-5: var(--spacing-20);--space-6: var(--spacing-24);--space-7: var(--spacing-32);--radius-xl: var(--radius-lg);--shadow-soft: var(--shadow-sm);--shadow-lift: var(--shadow-md)}@font-face{font-family:Inter;src:url(/fonts/inter-300.woff2) format("woff2");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-500.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-family-base);background:var(--color-bg);color:var(--color-text);overflow-x:hidden}.gb{font-family:var(--font-family-base);color:var(--color-text);background:var(--color-bg);min-height:100dvh;display:flex;flex-direction:column}.gb-top{background:var(--color-primary);color:var(--color-card);padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) var(--space-4) var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.gb-top h1{font-size:var(--font-size-lg);margin:0;font-weight:var(--weight-semibold);letter-spacing:.015em}.home-brand-wrap{display:inline-flex;align-items:center;gap:var(--space-2)}.brand-btn{border:0;background:transparent;color:var(--color-card);font:inherit;font-size:var(--font-size-lg);font-weight:var(--weight-semibold);letter-spacing:.015em;cursor:pointer;padding:0}.home-icon-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:.15rem .35rem;color:var(--color-card)!important;opacity:.95}.gb-top span{font-size:var(--font-size-sm);font-weight:var(--weight-light);opacity:.92}.gb-main{flex:1;width:100%;margin:0 auto;padding:var(--space-4) var(--space-4) calc(var(--space-7) + env(safe-area-inset-bottom,0px));max-width:1200px}.app-shell{min-height:100dvh}.app-header{min-height:3.3rem}.app-wordmark{border:0;background:transparent;color:var(--color-card);font:inherit;font-size:var(--font-size-lg);font-weight:var(--weight-semibold);cursor:pointer}.app-burger{display:inline-flex}.app-body{flex:1;display:flex;min-height:0;position:relative}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;background:var(--color-card);border-right:1px solid var(--color-border);z-index:70;transform:translate(-100%);transition:transform var(--transition-normal),width var(--transition-normal);box-shadow:var(--shadow-lift)}.app-sidebar.open{transform:translate(0)}.app-sidebar.collapsed{width:78px}.app-sidebar-inner{display:flex;flex-direction:column;height:100%;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--space-2) var(--space-3)}.app-sidebar-tools{justify-content:flex-end;margin-bottom:var(--space-2)}.app-collapse-btn{min-width:2.4rem}.app-nav{display:grid;gap:var(--space-1)}.app-nav-item{width:100%;min-height:var(--touch-target-min);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);text-align:left;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:1.4rem 1fr;align-items:center;gap:var(--space-2);cursor:pointer}.app-nav-item:hover{border-color:var(--color-border);background:var(--color-surface)}.app-nav-item.on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.app-nav-sub{margin-top:var(--space-1)}.app-nav-icon{text-align:center}.app-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-bottom-nav,.app-sidebar.collapsed .app-nav-label{display:none}.app-main{flex:1;min-width:0;padding:var(--space-3)}.app-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:var(--color-overlay);z-index:60}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-3)}.app-material-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--color-bg);display:grid;place-items:stretch}.app-material-dialog{display:grid;grid-template-rows:auto minmax(0,1fr)}.app-material-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-card)}.app-material-content{overflow:auto;padding:var(--space-3)}.gb h2{margin:0 0 var(--space-3);font-size:var(--font-size-xl);line-height:var(--line-height-tight);font-weight:var(--weight-semibold)}.gb h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--font-size-md);line-height:var(--line-height-tight);font-weight:var(--weight-medium)}.card{margin-bottom:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-card);box-shadow:var(--shadow-soft)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.grow{flex:1;min-width:130px}.gb input,.gb select,.gb textarea{width:100%;min-height:2.8rem;padding:.62rem .72rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-card);color:inherit;font:inherit;font-size:var(--font-size-md);font-weight:var(--weight-regular);line-height:var(--line-height-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.gb input[type=checkbox],.gb input[type=radio]{width:20px;height:20px;min-width:20px;min-height:20px;accent-color:var(--color-primary)}.gb textarea{min-height:5.4rem;resize:vertical}.gb input:focus,.gb select:focus,.gb textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring)}.gb label{display:block;margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:.55rem .95rem;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-card);font:inherit;font-size:var(--font-size-md);font-weight:var(--weight-medium);text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 2px #00000008;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover:not(:disabled){filter:brightness(.98)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn.sec{background:var(--color-card);border-color:var(--color-border-strong);color:var(--color-primary)}.btn.sec:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn.ghost{border-color:transparent;background:transparent;color:var(--color-text-muted);box-shadow:none}.btn.warn,.btn.danger{background:var(--state-error);border-color:var(--state-error);color:var(--color-card)}.btn.sm{min-height:var(--touch-target-min);padding:.5rem .75rem;font-size:var(--font-size-sm)}.btn.wide{width:100%}.btn:disabled{opacity:.55;cursor:default;filter:none}.btn.sec.on{border-color:var(--color-primary);background:var(--color-primary-soft)}.mode{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.mode button{flex:1;min-height:var(--touch-target-min);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-card);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.mode button.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-card)}.hint{margin:var(--space-2) 0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--weight-regular);line-height:var(--line-height-base)}.big{color:var(--color-primary);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.pos{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.pos:first-child{border-top:0}.pos small{display:block;color:var(--color-text-muted);font-size:var(--font-size-sm)}.swatch{width:64px;height:64px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-size:cover;background-position:center;flex:none}.swatch-btn{padding:0;background-color:transparent;cursor:pointer}.measure-wrap{position:relative;width:100%;-webkit-user-select:none;user-select:none;touch-action:manipulation}.measure-wrap img{width:100%;display:block;border-radius:var(--radius-md)}.measure-wrap svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.mat{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);overflow:hidden;cursor:pointer;padding:0;text-align:left;font:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.mat:hover{transform:translateY(-1px);border-color:var(--color-primary)}.mat.on{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.mat .img{height:96px;background-size:cover;background-position:center}.mat .t{padding:var(--space-3);font-size:var(--font-size-sm)}.mat .t b{display:block;margin-bottom:var(--space-1);font-weight:var(--weight-medium)}.ki{background:var(--warning-bg);border:1px dashed var(--warning-border)}.ki .pos{border-top-color:#c9a96e61}table.off{width:100%;margin-top:var(--space-4);border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}table.off th{padding:var(--space-2);border-bottom:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--weight-medium);letter-spacing:.03em;text-align:left;text-transform:uppercase}table.off td{padding:.6rem .5rem;border-bottom:1px solid var(--color-border);vertical-align:top}table.off tbody tr:nth-child(2n){background:#d5dad133}table.off td.r,table.off th.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.sum{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--font-size-md);font-variant-numeric:tabular-nums}.sum.total{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-primary);color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--weight-medium)}.va-single-wrap,.va-multi-wrap{display:grid;gap:var(--space-3)}.va-single-card,.va-choice-card,.va-detail-panel{margin-bottom:0}.va-single-card.on,.va-choice-card.is-gewaehlt{border-color:var(--color-primary)}.va-single-head{display:grid;gap:var(--space-4);margin-bottom:var(--space-3)}.va-single-col-media,.va-single-col-meta{min-width:0}.va-single-media{display:grid;gap:var(--space-3)}.va-preview-frame{width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);overflow:hidden}.va-preview-frame img{width:100%;height:100%;object-fit:cover;display:block}.va-placeholder{width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);background:repeating-linear-gradient(45deg,var(--color-border) 0 12px,var(--color-surface) 12px 24px);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.va-kurztext{margin:var(--space-2) 0 var(--space-3);font-size:var(--font-size-md);line-height:var(--line-height-base)}.va-element-list{margin:0;padding-left:var(--space-4);display:grid;gap:var(--space-1)}.va-element-list li{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.va-choice-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.va-choice-card{padding:var(--space-3);display:grid;gap:var(--space-2)}.va-choice-open{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:inherit;text-align:left;font:inherit;padding:var(--space-2);display:grid;gap:var(--space-2);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.va-choice-open:hover{border-color:var(--color-primary)}.va-choice-open.on{border-color:var(--color-primary);background:var(--color-primary-soft)}.va-choice-open:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.va-choice-thumb{width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs)}.va-choice-thumb img{width:100%;height:100%;object-fit:cover;display:block}.va-choice-meta{display:grid;gap:var(--space-1)}.va-choice-title{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.va-style-badge{margin:0}.va-slider-wrap{margin-top:var(--space-3)}.va-slider{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.va-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.va-after{position:absolute;inset:0 auto 0 0;overflow:hidden;border-right:2px solid var(--color-card)}.va-handle{position:absolute;top:0;bottom:0;width:4px;border-radius:var(--radius-pill);background:var(--color-card);transform:translate(-2px);box-shadow:0 0 0 1px #0000002e}.va-range{width:100%;margin-top:var(--space-2);accent-color:var(--color-primary)}.empty{padding:var(--space-7) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);text-align:center}.empty:before{content:"◌";display:block;margin-bottom:var(--space-1);color:var(--color-border-strong);font-size:1.4rem}.empty-state{display:grid;gap:var(--space-3);justify-items:center}.empty-state .empty-action{min-width:min(100%,16rem)}.loading-state{display:grid;gap:var(--space-2)}.loading-state .hint{margin:0}.loading-bar{position:relative;height:6px;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface)}.loading-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:38%;border-radius:inherit;background:linear-gradient(90deg,#1f4d2e33,#1f4d2e8f,#1f4d2e33);animation:loading-slide 1.25s linear infinite}.error-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--state-error) 48%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--state-error) 9%,var(--color-card))}.error-banner p{margin:0;color:var(--state-error);font-size:var(--font-size-sm)}.success-toast{position:fixed;left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:120;min-width:min(92vw,24rem);max-width:min(92vw,28rem);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--state-success) 44%,var(--color-border));background:color-mix(in srgb,var(--state-success) 18%,var(--color-card));color:var(--text-primary);box-shadow:var(--shadow-md);font-size:var(--font-size-sm)}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(320%)}}.projekt-kontext{display:grid;gap:var(--space-3);align-items:start}.projekt-kontext b{font-size:var(--font-size-lg);font-weight:var(--weight-medium)}.phase-timeline{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-1)}.phase-pill{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-muted);border-radius:var(--radius-pill);min-height:var(--touch-target-min);padding:.15rem .65rem;font-size:var(--font-size-xs);font-weight:var(--weight-medium)}.phase-pill.current{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.phase-pill.done{border-color:#2f7a4673;color:var(--status-freigegeben)}.phase-pill:disabled{opacity:.55}.phase-timeline.compact .phase-pill{min-height:var(--touch-target-min);padding:.1rem .48rem;font-size:var(--font-size-xs)}.projekte-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.wizard-start-btn{min-height:3rem;font-size:var(--font-size-lg)}.projekt-preview{width:100%;aspect-ratio:4 / 3;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.projekt-preview img{width:100%;height:100%;object-fit:cover}.dlg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;padding:var(--space-4);display:flex;align-items:center;justify-content:center;background:var(--color-overlay)}.dlg-card{width:min(540px,100%);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-card);box-shadow:var(--shadow-lift)}.cat-row{display:grid;grid-template-columns:2fr 1.3fr 78px 96px 1fr 92px auto;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.cat-row input,.cat-row select{min-height:2.25rem;font-size:var(--font-size-sm)}.grundriss-layout{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.grundriss-canvas-card{padding:var(--space-3)}.grundriss-canvas-wrap{width:100%;min-height:62vh;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.grundriss-legende{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.grundriss-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.grundriss-legend-dot{width:12px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.12)}.aufnahme-analyse-grid{display:grid;gap:var(--space-3)}.aufnahme-ki-empty{grid-column:1 / -1;border-style:dashed;background:var(--color-surface)}.aufnahme-pending-card{grid-column:1 / -1}.wizard-progress-meta{padding:var(--space-3) var(--space-4) var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.wizard-progress-wrap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);padding:0 var(--space-4) var(--space-3)}.wizard-step{min-height:var(--touch-target-min);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--weight-medium);cursor:default}.wizard-step.current{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.wizard-step.done{border-color:color-mix(in srgb,var(--state-success) 50%,var(--color-border));background:color-mix(in srgb,var(--state-success) 14%,var(--color-card));color:var(--status-freigegeben);cursor:pointer}.wizard-step.optional{border-style:dashed}.wizard-step:disabled{opacity:.56;cursor:not-allowed}.wizard-step-intro{margin-top:-4px}.wizard-view-title{margin:0;font-size:var(--font-size-22);line-height:var(--line-tight);color:var(--color-text)}.wizard-subline{margin:var(--space-1) 0 0}.wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.wizard-footer .btn{min-width:min(16rem,100%);margin-left:auto}.keyboard-open .wizard-footer{display:none}.btn-link{border:0;background:transparent;color:var(--color-text-muted);padding:0;min-height:var(--touch-target-min);font:inherit;font-size:var(--font-size-sm);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.btn-link:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.wizard-shell{width:100%;max-width:900px;margin:0 auto}.wizard-main{max-width:none;padding-left:0;padding-right:0}.wizard-footer{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.wizard-hint{width:100%;margin:0}.geo-preview{position:relative;width:100%;aspect-ratio:16 / 10;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.geo-suggest{margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.geo-suggest-list{max-height:216px;overflow:auto;display:grid;gap:var(--space-2)}.geo-suggest-item,.geo-candidate-item{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.geo-suggest-item:hover,.geo-candidate-item:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.geo-suggest-item b{display:block;margin-bottom:2px;font-weight:var(--weight-medium)}.geo-suggest-item span{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs)}.geo-candidate-list{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.arbeitsbereich-tools{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.arbeitsbereich-tools .btn{min-height:3rem;font-size:var(--font-size-md)}.projekt-kontext .hint{margin:0}.save-indicator{margin-top:var(--space-1);font-size:var(--font-size-xs);opacity:.85}.dlg-card h3,.dlg-card .hint{margin-top:0}.dlg-card .row{justify-content:flex-end}.danger{color:var(--danger)}.icon-20{width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.control-inline{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target-min)}.control-inline input[type=checkbox],.control-inline input[type=radio]{width:20px;height:20px;margin:0}.field-error{margin-top:var(--space-1);color:var(--state-error);font-size:var(--font-size-sm)}.field-error-input{border-color:var(--state-error)!important}.more-details{margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.more-details>summary{cursor:pointer;list-style:none;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);display:flex;align-items:center;color:var(--color-text);font-weight:var(--weight-medium)}.more-details>summary::-webkit-details-marker{display:none}.more-details>.more-content{padding:0 var(--space-3) var(--space-3)}.status-open{color:var(--status-open)}.status-offeriert{color:var(--status-offeriert)}.status-freigegeben{color:var(--status-freigegeben)}.status-verloren{color:var(--status-verloren)}.status-chip{display:inline-flex;align-items:center;padding:.18rem .52rem;border:1px solid currentColor;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--weight-medium);background:var(--color-card)}.markdown-pre{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-base);white-space:pre-wrap}.admin-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}.admin-list{display:grid;gap:var(--space-2);max-height:70vh;overflow:auto}.admin-tenant-item{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;font:inherit;cursor:pointer}.admin-tenant-item.on{border-color:var(--color-primary);background:var(--color-primary-soft)}.admin-detail{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-card)}.onboarding-list{display:grid;gap:var(--space-2)}.onboarding-item{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.onboarding-item.done{color:var(--status-freigegeben)}.gb-foot{padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.noprint a{color:inherit}.phase-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin:0}.phase-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3)}.phase-photo-pick{display:inline-flex;align-items:center;gap:var(--space-1);margin:0}.phase-grid-two{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.signature-pad-wrap{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--space-2);background:#fff}.signature-pad{width:100%;height:auto;display:block;touch-action:none}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .52rem;border-radius:999px;border:1px solid var(--color-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.status-pill.offen{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.status-pill.ueberfaellig{color:var(--state-error);border-color:color-mix(in srgb,var(--state-error) 44%,var(--color-border));background:color-mix(in srgb,var(--state-error) 10%,var(--color-card))}.status-pill.bezahlt{color:var(--state-success);border-color:color-mix(in srgb,var(--state-success) 42%,var(--color-border));background:color-mix(in srgb,var(--state-success) 12%,var(--color-card))}.status-pill.storniert{color:var(--color-text-muted)}@media (min-width: 900px){.app-burger,.app-sidebar-backdrop{display:none}.app-sidebar{position:static;transform:none;box-shadow:none;width:240px;flex:none}.app-main{padding:var(--space-4)}}@media (min-width: 920px){.admin-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.phase-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.stack-8{display:grid;gap:var(--space-2)}.stamm-readonly input,.stamm-readonly select,.stamm-readonly textarea,.stamm-readonly button{pointer-events:none}.stamm-readonly input,.stamm-readonly select,.stamm-readonly textarea{background:#f4f6f2}@media (max-width: 639px){.app-main{padding:var(--space-2)}.with-bottom-nav .app-main{padding-bottom:calc(var(--space-2) + var(--app-bottom-nav-height, 4.9rem) + env(safe-area-inset-bottom,0px))}.app-sidebar.collapsed{width:240px}.app-sidebar.collapsed .app-nav-label{display:inline}.gb-main{padding-top:var(--space-3);padding-bottom:calc(var(--wizard-footer-height) + env(safe-area-inset-bottom,0px))}.with-bottom-nav .gb-main{padding-bottom:calc(var(--space-7) + var(--app-bottom-nav-height, 4.9rem) + env(safe-area-inset-bottom,0px))}.app-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:65;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(4.9rem,1fr);gap:1px;overflow-x:auto;padding:var(--space-1) var(--space-1) calc(var(--space-1) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-card) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-bottom-nav-item{border:0;background:transparent;color:var(--color-text-muted);display:grid;justify-items:center;align-content:center;gap:2px;min-height:var(--touch-target-min);font:inherit;font-size:var(--font-size-xs);padding:0 var(--space-1);border-radius:var(--radius-sm);cursor:pointer}.app-bottom-nav-item.on{color:var(--color-primary);background:var(--color-primary-soft)}.app-bottom-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.keyboard-open .app-bottom-nav{display:none!important}.btn,.btn.sm,.mode button,.wizard-step{min-height:var(--touch-target-min)}.wizard-progress-wrap{gap:var(--space-1);padding-bottom:var(--space-2)}.wizard-footer{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));z-index:40;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-card) 92%,transparent);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wizard-footer .btn{min-width:10rem}.projekt-kontext{grid-template-columns:1fr}.cat-row{grid-template-columns:1fr 1fr 78px 86px auto}.cat-row .hide{display:none}}@media (min-width: 640px){.gb-main{padding:var(--space-5) var(--space-5) var(--space-6)}.projekte-grid,.va-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projekt-kontext{grid-template-columns:1fr auto}.aufnahme-analyse-grid.has-ki-results{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.aufnahme-foto-card{margin-bottom:0}.aufnahme-ki-card{margin-bottom:0;max-height:74vh;overflow:auto}.grundriss-layout{grid-template-columns:minmax(230px,290px) minmax(0,1fr);grid-template-areas:"tools canvas" "side canvas"}.grundriss-tools{grid-area:tools;position:sticky;top:var(--space-3);align-self:start}.grundriss-side{grid-area:side;position:sticky;top:22.5rem;max-height:calc(100dvh - 24rem);overflow:auto;align-self:start}.grundriss-canvas-card{grid-area:canvas}}@media (min-width: 1024px){.gb-top,.gb-main{padding-left:var(--space-6);padding-right:var(--space-6)}.projekte-grid,.va-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.va-single-head{grid-template-columns:minmax(0,11fr) minmax(0,9fr)}.grundriss-layout{grid-template-columns:280px minmax(0,1fr) 310px;grid-template-areas:"tools canvas side";align-items:start}.grundriss-tools,.grundriss-side{top:var(--space-3);max-height:calc(100dvh - 2.4rem)}.wizard-footer{position:static;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.wizard-progress-wrap{gap:var(--space-2)}.wizard-step{min-height:var(--touch-target-min);font-size:var(--font-size-md);padding:0 var(--space-3)}}@media print{.gb-top,.noprint{display:none!important}.gb{background:#fff}.gb-main{padding:0;max-width:none}.card{padding:0;border:0;box-shadow:none}}
