@font-face{font-family:GT Walsheim;src:url(/fonts/GT-Walsheim-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:GT Walsheim;src:url(/fonts/GT-Walsheim-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GT Walsheim;src:url(/fonts/GT-Walsheim-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:GT Walsheim;src:url(/fonts/GT-Walsheim-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--primary-color: #ec4899;--danger-color: #dc3545;--success-color: #28a745;--background-light: #ffffff;--text-light: #333333;--text-secondary-light: #666666;--border-light: #e0e0e0;--header-bg-light: #ffffff;--input-bg-light: #ffffff;--background-dark: #1a1f24;--text-dark: #ffffff;--text-secondary-dark: #a0a0a0;--border-dark: #2d363f;--header-bg-dark: #1a1f24;--input-bg-dark: #2d363f;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem}body{font-family:GT Walsheim,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:var(--text-color);background-color:var(--background)}button{background:none;border:none;cursor:pointer;font:inherit}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid #ec4899;outline-offset:2px}:root{--background-light: #ffffff;--text-light: #333333;--border-light: #e0e0e0;--header-bg-light: #ffffff;--background-dark: #1a1f24;--text-dark: #ffffff;--border-dark: #2d363f;--header-bg-dark: #1a1f24}:root{--background: var(--background-light);--text: var(--text-light);--border: var(--border-light);--header-bg: var(--header-bg-light)}[data-theme=dark]{--background: var(--background-dark);--text: var(--text-dark);--border: var(--border-dark);--header-bg: var(--header-bg-dark)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.data-grid{width:100%;min-width:max-content;overflow-x:auto}.buildings-header{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-left:200px}.field-row{display:flex;margin-bottom:var(--spacing-sm);align-items:center;position:relative}.field-label{width:200px;position:absolute;left:0;padding:var(--spacing-sm) var(--spacing-md);font-weight:500}.building-cells{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:var(--spacing-sm);padding-left:200px}.add-nutzung-row{margin-bottom:1.5rem;padding-left:200px;position:relative;display:flex;align-items:center;gap:.5rem}.nutzungen-label{position:absolute;left:0;width:200px;padding-left:var(--spacing-md);color:var(--text-color);opacity:.7;font-size:.875rem;display:flex;align-items:center;height:38px}.nutzung-selector{width:250px;padding:.5rem;border:2px dashed var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;cursor:pointer;transition:all .2s ease;-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.nutzung-selector:hover{border-color:#ec4899;color:#ec4899}.nutzung-selector option{background-color:var(--bg-color);color:var(--text-color);padding:.5rem;font-size:.875rem}.nutzung-selector option[data-active=true]{background-color:#ec48991a;font-style:italic}.add-ausnutzung-row{margin-bottom:1.5rem;padding-left:200px;position:relative;display:flex;align-items:center;gap:.5rem}.ausnutzung-label{color:var(--text-color);opacity:.7;font-size:.875rem;font-weight:500}.ausnutzung-selector{width:250px;padding:.5rem;border:2px dashed var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;cursor:pointer;transition:all .2s ease;-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.ausnutzung-selector:hover{border-color:#ec4899;color:#ec4899}.ausnutzung-selector option{background-color:var(--bg-color);color:var(--text-color);padding:.5rem;font-size:.875rem}.add-wohnung-row{margin-bottom:1.5rem;padding-left:200px;position:relative;display:flex;align-items:center;gap:.5rem}.wohnung-size-selector,.wohnung-variant-selector{width:200px;padding:.5rem;border:1px dashed var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;cursor:pointer;transition:all .2s ease}.wohnung-size-selector,.wohnung-variant-selector{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.wohnung-size-selector:hover,.wohnung-variant-selector:hover{border-color:#ec4899;color:#ec4899;outline:none}.wohnung-size-selector option,.wohnung-variant-selector option{background-color:var(--bg-color);color:var(--text-color);padding:.5rem;font-size:.875rem}.add-wohnung-btn{padding:.5rem 1rem;background:none;border:1px dashed var(--border-color);border-radius:4px;color:var(--text-color);font-size:.875rem;cursor:pointer;transition:all .2s ease}.add-wohnung-btn:hover{border-color:#ec4899;color:#ec4899}.remove-wohnung{position:absolute;right:-30px;top:50%;transform:translateY(-50%);background:none;border:none;color:#f44;font-size:20px;cursor:pointer;padding:4px 8px;opacity:.7;transition:opacity .2s}.remove-wohnung:hover{opacity:1}.field-row[data-optional=true] .field-label{font-style:italic}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-weight:500;transition:all .2s ease;gap:var(--spacing-sm)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{opacity:.9}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{opacity:.9}.delete-building-btn{color:var(--danger-color);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-xs);margin:calc(-1 * var(--spacing-xs));line-height:1;border-radius:var(--border-radius-sm)}.form-control{width:100%;height:36px;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--input-bg);color:var(--text-color);transition:border-color .2s ease}.form-control:focus{border-color:var(--primary-color);outline:none}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--text-color);font-weight:500}.theme-toggle{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.switch{position:relative;display:inline-block;width:40px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#ec4899}input:checked+.slider:before{transform:translate(16px)}.theme-icon{font-size:1rem;color:var(--text-color);transition:transform .3s ease}[data-theme=dark] .theme-icon{transform:rotate(360deg)}[data-theme=dark] .theme-icon:before{content:""}[data-theme=light] .theme-icon:before{content:""}*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--primary-color: #ec4899;--primary-color-rgb: 236, 72, 153;--primary-hover: #d946ef;--danger-color: #dc3545;--danger-hover: #c82333;--text-color: #333;--border-color: #dee2e6;--bg-color: #fff;--header-bg: #f8f9fa;--input-bg: #fff;--modal-bg: rgba(0, 0, 0, .5);--sidebar-width: 300px;--sidebar-collapsed-width: 100px;--banner-height: 64px;--actions-header-height: 60px;--buildings-header-height: 60px;--fixed-headers-height: calc(var(--actions-header-height) + var(--buildings-header-height))}[data-theme=dark]{--text-color: #e1e1e1;--border-color: #404040;--bg-color: #1a1a1a;--header-bg: #2d2d2d;--input-bg: #2d2d2d}body{font-family:GT Walsheim,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:var(--text-color);background-color:var(--bg-color);height:100vh;overflow:hidden}.header{background-color:var(--header-bg);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.header-controls{display:flex;align-items:center;gap:2rem}.action-buttons{display:flex;gap:1rem}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.action-btn:hover{border-color:#ec4899;color:#ec4899}.action-btn:disabled{opacity:.6;cursor:not-allowed}#toggleAllBtn{background-color:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);padding:.4rem .8rem;font-size:.8rem}#toggleAllBtn:hover{background-color:var(--border-color)}#toggleAllBtn i{transition:transform .2s ease}#toggleAllBtn.collapsed i{transform:rotate(-90deg)}.main-content{max-width:100%;margin:0 auto;padding:.25rem 2rem 4rem;overflow-x:auto;margin-left:var(--sidebar-width);transition:margin-left .3s ease;margin-top:var(--banner-height);height:calc(100vh - var(--banner-height));display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) rgba(0,0,0,.05)}.main-content::-webkit-scrollbar{width:10px;height:10px}.main-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.main-content::-webkit-scrollbar-thumb{background:#0003;border-radius:10px;transition:background .3s ease}.main-content::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=dark] .main-content{scrollbar-color:rgba(255,255,255,.2) rgba(255,255,255,.05)}[data-theme=dark] .main-content::-webkit-scrollbar-track{background:#ffffff0d}[data-theme=dark] .main-content::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] .main-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.actions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.75rem 1rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000001a;position:sticky;top:var(--banner-height);z-index:98;height:var(--actions-header-height)}.action-group{display:flex;gap:.75rem;align-items:center}.add-building-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--header-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease;color:var(--text-color);font-size:.875rem}.data-grid{width:100%;min-width:max-content;padding-top:1.5rem;margin-top:1.75rem;overflow-y:auto;flex-grow:1;position:relative}.data-grid::-webkit-scrollbar{width:10px;height:10px}.data-grid::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.data-grid::-webkit-scrollbar-thumb{background:#0003;border-radius:10px;transition:background .3s ease}.data-grid::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=dark] .data-grid::-webkit-scrollbar-track{background:#ffffff0d}[data-theme=dark] .data-grid::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] .data-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.data-grid{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) rgba(0,0,0,.05)}[data-theme=dark] .data-grid{scrollbar-color:rgba(255,255,255,.2) rgba(255,255,255,.05)}.data-grid:before{content:"";display:block;height:.5rem;width:100%;position:absolute;top:0;left:0}.buildings-header{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:8px;margin-bottom:.75rem;padding-left:230px;margin-left:0;align-items:center;position:sticky;top:calc(var(--banner-height) + var(--actions-header-height));background-color:var(--bg-color);z-index:97;height:var(--buildings-header-height);width:100%}.field-row{display:flex;margin-bottom:.75rem;align-items:center;position:relative}.field-label{width:200px;padding:.5rem 1rem;padding-right:24px;color:var(--text-color);opacity:.8;display:flex;align-items:center;gap:.25rem;position:relative;font-size:.8rem}.field-label .help-icon{font-size:.75rem;color:var(--text-color);opacity:.6;cursor:help;transition:opacity .2s ease;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;border-radius:50%;border:1px solid currentColor;position:absolute;right:6px;top:50%;transform:translateY(-50%);background-color:transparent}.field-label .help-icon:hover{opacity:1;background-color:#0000000d}[data-theme=dark] .field-label .help-icon:hover{background-color:#ffffff1a}.help-icon .tooltip-text{visibility:hidden;background-color:var(--bg-color);color:var(--text-color);text-align:left;padding:.5rem 1rem;border-radius:4px;position:absolute;z-index:9999;left:24px;top:50%;transform:translateY(-50%);white-space:nowrap;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;opacity:0;transition:opacity .2s ease,visibility .2s ease;font-size:.75rem;min-width:200px;max-width:300px;pointer-events:none}.help-icon:hover .tooltip-text{visibility:visible;opacity:1;pointer-events:auto}.building-cells{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:8px;flex:1;padding-left:12px;margin-left:0;box-sizing:border-box}.building-cell{width:100%}.form-control{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--header-bg);color:var(--text-color);font-size:.875rem;transition:all .2s ease}.form-control[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5);opacity:.8;cursor:pointer;transition:all .2s ease}.form-control[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-control[type=number]::-webkit-inner-spin-button,.form-control[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-control[type=number]{-moz-appearance:textfield}.category-section{margin-bottom:1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-color);box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .5s ease}.category-section:first-child{margin-top:.5rem}.category-section.completed{border-color:#22c55e4d;background-color:#22c55e05;box-shadow:0 1px 3px #22c55e1a}.category-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--bg-color);border-bottom:1px solid var(--border-color);transition:all .5s ease}.category-section.completed .category-header{border-bottom-color:#22c55e4d;background-color:#22c55e0d}.category-header-left{display:flex;align-items:center;gap:1rem}.category-header h2{margin:0;font-size:1rem;font-weight:500;color:var(--text-color)}.completion-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-color);opacity:.7;transition:all .5s ease}.completion-percentage{min-width:2.5rem;transition:color .5s ease}.completion-check{color:#22c55e;display:none;opacity:0;transform:scale(.8);transition:all .5s ease}.completion-indicator[data-complete=true] .completion-check{display:inline-block;opacity:1;transform:scale(1)}.completion-indicator[data-complete=true]{color:#22c55e;opacity:1}@keyframes completionPulse{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.category-section.completed{animation:completionPulse 2s ease-out}.category-header:hover{background-color:#00000008}[data-theme=dark] .category-header:hover{background-color:#ffffff08}.collapse-btn{background:none;border:none;color:var(--text-color);cursor:pointer;padding:.25rem;opacity:.7}.collapse-btn:hover{opacity:1}.collapse-btn i{transition:transform .2s ease}.category-content{padding:1rem;background-color:var(--bg-color)}.category-section.collapsed .category-content{display:none}.building-info{display:flex;flex-direction:column;gap:2px;flex:1}.building-info h3.building-name{font-size:1.1rem;font-weight:600;margin:0;cursor:pointer;transition:color .2s ease}.building-info h3.building-name:hover{color:var(--primary-color)}.building-info .building-name-input{font-size:1.1rem;font-weight:600;margin:0;padding:2px 4px;border:1px dashed var(--border-color);border-radius:3px;background-color:transparent;color:var(--text-color);width:100%}.building-info .building-name-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.building-info .building-details{display:flex;align-items:center;gap:.5rem}.building-info .building-id{display:none}.building-info .baufeld-label{margin-left:0}.building-info span{font-weight:500;color:var(--text-color)}.baufeld-label{font-size:.8rem;color:var(--text-color);opacity:.7}.building-header span{font-weight:500;color:var(--text-color)}.delete-building-btn{background:none;border:none;color:var(--danger-color);font-size:1.25rem;cursor:pointer;padding:4px;margin:-4px;line-height:1}.delete-building-btn:hover{background-color:#dc35451a}#addBuildingBtn{padding:.4rem .7rem;background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.8rem;transition:all .2s ease}#addBuildingBtn:hover{border-color:#ec4899;color:#ec4899}#addBuildingBtn:disabled{background:var(--border-color);cursor:not-allowed}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000;align-items:center;justify-content:center}.modal.show{display:flex}.modal-content{position:relative;background-color:var(--bg-color);padding:2rem;width:90%;max-width:500px;border-radius:8px;box-shadow:0 4px 10px #00000026;transform:scale(.95);opacity:0;animation:modalFadeIn .3s forwards;margin:0 auto}.modal-content.welcome-modal{max-width:600px}#modalMessage{margin-bottom:1.5rem;color:var(--text-color);font-size:1rem;line-height:1.6}#modalMessage br{margin-bottom:.5rem}#modalTitle{margin-top:0;margin-bottom:1rem;color:var(--text-color);font-size:1.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.modal-actions.center-button{justify-content:center}#modalConfirm{background-color:#ef4444;color:#fff;border-color:#ef4444}#modalConfirm:hover{background-color:#dc2626;border-color:#dc2626}.modal-actions.center-button #modalCancel{background-color:#ec4899;color:#fff;border-color:#ec4899;transition:all .2s ease}.modal-actions.center-button #modalCancel:hover{background-color:#d946ef;border-color:#d946ef;transform:translateY(-2px)}#modalCancel{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);min-width:120px;padding:.75rem 1.5rem}#modalCancel:hover{border-color:#ec4899;color:#ec4899}.modal-close{position:absolute;top:1rem;right:1rem;font-size:1.5rem;cursor:pointer;color:var(--text-color);opacity:.7;transition:opacity .2s;line-height:1}.modal-close:hover{opacity:1}@keyframes modalFadeIn{to{transform:scale(1);opacity:1}}.notification{position:fixed;bottom:2rem;right:2rem;padding:1rem 2rem;background-color:var(--primary-color);color:#fff;border-radius:4px;animation:slideIn .3s ease-out;z-index:1000}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.category-group{margin-bottom:1.5rem}.category-group-header{font-weight:600;color:var(--text-color);padding:.5rem;background:var(--bg-color);border-radius:4px;margin-bottom:.5rem}.baufeld-selector .modal-content{max-width:400px}.baufeld-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-top:1rem;margin-bottom:1.5rem;max-width:100%}.baufeld-option{padding:.75rem .5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);cursor:pointer;transition:all .2s;text-align:center;font-size:.9rem}.baufeld-option:hover{background:#ec4899;color:#fff;border-color:#ec4899;transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500}.form-group .form-control{width:100%}.building-dialog .modal-content{max-width:400px}.sidebar{position:fixed;left:0;top:var(--banner-height);height:calc(100vh - var(--banner-height));width:var(--sidebar-width);background-color:var(--header-bg);border-right:1px solid var(--border-color);transition:width .3s ease;z-index:1000}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-content,.sidebar.collapsed .sidebar-header h3{display:none}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.sidebar.collapsed .sidebar-header{border-bottom:none;justify-content:center}.sidebar-header h3{margin:0;font-size:1.1rem;color:var(--text-color)}.sidebar-toggle{background:none;border:none;color:var(--text-color);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center}.sidebar.collapsed .sidebar-toggle{margin:0;padding:0}.sidebar.collapsed .sidebar-toggle i{transform:rotate(180deg);font-size:1.2rem}.sidebar-content{padding:1rem;overflow-y:auto;max-height:calc(100% - 60px);scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) rgba(0,0,0,.05)}.sidebar-content::-webkit-scrollbar{width:8px;height:8px}.sidebar-content::-webkit-scrollbar-track{background:#0000000d;border-radius:8px}.sidebar-content::-webkit-scrollbar-thumb{background:#0003;border-radius:8px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=dark] .sidebar-content{scrollbar-color:rgba(255,255,255,.2) rgba(255,255,255,.05)}[data-theme=dark] .sidebar-content::-webkit-scrollbar-track{background:#ffffff0d}[data-theme=dark] .sidebar-content::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] .sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.project-info{color:var(--text-color)}.project-info h4{margin-bottom:1rem}.project-info p{margin-bottom:.5rem}.building-header{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--header-bg);border-radius:4px;transition:all .5s ease;width:100%;box-sizing:border-box;max-width:200px;margin:0 auto}.building-new{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.building-visible{opacity:1;transform:translateY(0)}.add-building-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem .7rem;background-color:var(--header-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease;color:var(--text-color);font-size:.8rem}.add-building-btn:hover{border-color:#ec4899;color:#ec4899}.add-building-btn i{font-size:1rem}.building-header.completed{background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.building-header.completed .building-icon{color:#22c55e;opacity:1}.building-header.completed .building-info span{color:#22c55e}.building-header.completed .baufeld-label{color:#22c55e;opacity:.8}.building-header .building-icon{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px}.building-icon{font-size:1.2rem;color:#4b5563;opacity:.8;transition:all .3s ease;min-width:20px;text-align:center}.building-header:hover .building-icon{opacity:1;transform:rotate(15deg);color:#ec4899}.top-banner{position:fixed;top:0;left:0;right:0;height:var(--banner-height);background-color:var(--bg-color);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;padding:0;z-index:1100;box-shadow:0 2px 4px #0000000d}.banner-left{display:flex;align-items:center;height:100%}.logo{height:calc(var(--banner-height) - 2px);width:var(--banner-height);display:flex;align-items:center;justify-content:center;position:relative;background-color:var(--bg-color);padding:1rem;margin-left:1rem}.logo-img{height:100%;width:100%;position:absolute;transition:opacity .3s ease;object-fit:contain}.dark-logo{opacity:0}[data-theme=dark] .dark-logo{opacity:1}[data-theme=dark] .light-logo{opacity:0}.banner-info{display:flex;flex-direction:column;padding:0 1.5rem;margin-left:calc(var(--sidebar-width) - var(--banner-height) - 1rem);transition:margin-left .3s ease}.sidebar-collapsed .banner-info{margin-left:calc(var(--sidebar-collapsed-width) - var(--banner-height) - 1rem)}.banner-title-row{display:flex;align-items:center;gap:1rem}.banner-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0}.banner-description{font-size:1.25rem;color:var(--text-color)}.banner-details{font-size:.875rem;color:var(--text-color);opacity:.8}.banner-right{display:flex;align-items:center;gap:2rem;padding-right:2rem}.client-info{font-size:.875rem;color:var(--text-color);font-weight:500}.import-section{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.import-section h4{margin-bottom:1rem;color:var(--text-color)}.file-upload,.template-download{margin-bottom:1rem}.file-upload .action-btn,.template-download .action-btn{width:100%;justify-content:center;padding:.75rem;font-size:.9rem}.template-download a{text-decoration:none;color:inherit}.template-download a:hover{opacity:.9}.company-footer{position:fixed;bottom:0;left:0;width:100%;padding:.5rem;background-color:var(--bg-color);font-size:.7rem;text-align:center;border-top:1px solid var(--border-color);z-index:99}.company-footer a{color:var(--text-color);text-decoration:none;opacity:.7;transition:all .3s ease;position:relative}.company-footer a:hover{color:#ec4899;opacity:1}[data-theme=dark] .company-footer a{opacity:.7}[data-theme=dark] .company-footer a:hover{color:#ec4899;opacity:1}.download-btn{position:fixed;bottom:2.5rem;right:2rem;padding:.75rem 1.25rem;background-color:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.875rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;z-index:1000;opacity:.8}.download-btn.completed{background-color:#22c55e26;border-color:#22c55e66;opacity:1}.download-btn:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0003;opacity:1}.download-btn.completed:hover{background-color:#22c55e33}[data-theme=dark] .download-btn{background-color:var(--bg-color);border-color:var(--border-color)}[data-theme=dark] .download-btn.completed{background-color:#22c55e40;border-color:#22c55e99}[data-theme=dark] .download-btn.completed:hover{background-color:#22c55e4d}.export-section{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.export-section .action-btn{width:100%;justify-content:flex-start;padding:.75rem 1rem;margin-bottom:.5rem}.export-section .action-btn:last-child{margin-bottom:0}.form-text{font-size:.8em;color:var(--text-secondary);margin-top:.25rem;display:block}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-control{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--header-bg);color:var(--text-primary);font-size:.9rem}.form-control:focus{outline:none;border-color:#ec4899;box-shadow:0 0 0 2px #ec489933}.form-control::placeholder{color:var(--text-secondary);opacity:.7}.admin-divider{margin:1.5rem 0;border:0;border-top:1px solid var(--border-color);opacity:.5}.add-wohnung-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;background-color:transparent;border-radius:8px;padding:1rem;box-shadow:none}.wohnung-size-selector,.wohnung-variant-selector,.wohnung-remove-selector{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;min-width:180px;height:38px}.wohnung-remove-selector{background-color:var(--bg-color);color:var(--text-color);border-color:var(--border-color);transition:all .2s ease;margin-left:auto;position:relative;font-weight:500}.wohnung-remove-selector:hover{border-color:#ec4899;color:#ec4899}.wohnung-remove-selector:focus{outline:none;box-shadow:0 0 0 2px #ec489933;border-color:#ec4899}[data-theme=dark] .wohnung-remove-selector{background-color:var(--bg-color);color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] .wohnung-remove-selector:hover{color:#ec4899;border-color:#ec4899}.add-wohnung-btn{background-color:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;transition:all .2s ease;height:38px;display:flex;align-items:center;justify-content:center}.add-wohnung-btn:hover{background-color:#ec4899;color:#fff;border-color:#ec4899}.wohnung-remove-selector option{background-color:var(--bg-color);color:var(--text-color)}.wohnung-remove-selector option:first-child{font-weight:700;color:var(--text-color)}[data-theme=dark] .wohnung-remove-selector option:first-child{color:var(--text-color)}.nutzung-selector{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;min-width:350px;width:auto;height:38px;margin-bottom:1rem}.add-ausnutzung-row{display:flex;align-items:center;margin-bottom:.5rem;padding:.5rem;border-radius:4px}.ausnutzung-label{margin-right:.5rem;font-weight:500;min-width:120px}.ausnutzung-info{padding:.5rem;background-color:transparent;color:var(--text-color);font-size:.95rem;width:100%}.info-row{padding:0 .5rem;background-color:transparent;border-radius:4px;margin-bottom:1rem}.ausnutzung-selector{width:250px;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;cursor:pointer;transition:all .2s ease;-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.fixed-header-wrapper{position:sticky;top:var(--banner-height);z-index:99;background-color:var(--bg-color);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:none;box-shadow:0 6px 10px -8px #0000001a;flex-shrink:0}[data-theme=dark] .fixed-header-wrapper{box-shadow:0 6px 10px -8px #0000004d}.fixed-header-wrapper:after{display:none}[data-theme=dark] .fixed-header-wrapper:after{display:none}.baufeld-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.baufeld-header h2{margin:0;font-size:1.25rem;color:var(--text-color)}.parkplaetze-note{padding:.75rem 1rem;margin-bottom:1.5rem;background-color:#ec48991a;border-left:4px solid #ec4899;border-radius:4px;color:var(--text-color);font-size:.9rem}.baufeld-parkplaetze-header{margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.baufeld-parkplaetze-header h3{font-size:1.1rem;font-weight:600;color:var(--text-color);margin:0}.baufeld-parkplaetze-fields{margin-bottom:2rem}.parkplaetze-field-row{display:flex;margin-bottom:.75rem;align-items:center}.parkplaetze-input-cell{width:200px;margin-left:1rem}.parkplaetze-input{width:100%;background-color:var(--header-bg)}.parkplaetze-empty-message{padding:1rem;margin:1rem 0;text-align:center;font-style:italic;color:var(--text-color);opacity:.7;border:1px dashed var(--border-color);border-radius:4px}.stats-content{margin:1.5rem 0}.stats-item{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.stats-item:last-child{border-bottom:none}.stats-item-label{font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.stats-item-value{font-size:1.2rem;color:#ec4899;font-weight:500}#statsModalClose{background-color:#ec4899;color:#fff;border-color:#ec4899;transition:all .2s ease;min-width:120px;padding:.75rem 1.5rem}#statsModalClose:hover{background-color:#d946ef;border-color:#d946ef;transform:translateY(-2px)}#statsBtn{position:relative}#statsBtn:hover:after{content:"Stats";position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:9999}[data-theme=dark] #statsBtn:hover:after{background-color:#fff3}#saveBtn,#exportBtn,#importBtn,#toggleAllBtn,#downloadEckhausBtn,#teamNr,#projectDate,#projectStatus{position:relative}#saveBtn:hover:after,#exportBtn:hover:after,#importBtn:hover:after,#toggleAllBtn:hover:after{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:9999}#saveBtn:hover:after{content:"Ihre Eingabe wird im Browser-Speicher gespeichert"}#exportBtn:hover:after{content:"Exportieren Sie Ihre Eingabe und teilen Sie sie mit Kollegen"}#importBtn:hover:after{content:"Importieren Sie Ihre oder die vorherige Sitzung Ihres Teams"}#toggleAllBtn:hover:after{content:none;display:none}.form-group label[for=teamNr],.form-group label[for=projectDate],.form-group label[for=projectStatus]{position:relative}.form-group label[for=teamNr]:hover:after,.form-group label[for=projectDate]:hover:after,.form-group label[for=projectStatus]:hover:after{position:absolute;top:0;left:100%;background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:9999;margin-left:10px;pointer-events:none;transform:translate(0);width:max-content;max-width:250px}.form-group label[for=projectDate]:hover:after{content:"Datum - Erinnerung, wann Sie Ihre Daten eingegeben haben"}.form-group label[for=projectStatus]:hover:after{content:"z.B. Stand Zwischenbesprechung als Titel für Exportdatei"}[data-theme=dark] #saveBtn:hover:after,[data-theme=dark] #exportBtn:hover:after,[data-theme=dark] #importBtn:hover:after,[data-theme=dark] #toggleAllBtn:hover:after,[data-theme=dark] .form-group label[for=teamNr]:hover:after,[data-theme=dark] .form-group label[for=projectDate]:hover:after,[data-theme=dark] .form-group label[for=projectStatus]:hover:after{background-color:#fff3}#downloadEckhausBtn:hover:after{content:"Sobald das Formular ausgefüllt ist, senden Sie dieses Dokument bitte an Eckhaus";position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:9999;max-width:300px;box-shadow:0 2px 4px #0003}#downloadEckhausBtn{position:fixed;bottom:2.5rem;right:2rem;left:auto}.form-group label[for=teamNr]:hover:after{content:"Team Nr. - Ihre Teamidentifikation"}[data-theme=dark] #downloadEckhausBtn:hover:after{background-color:#fff3}#addBuildingBtn{position:relative}#addBuildingBtn:hover:after{content:"Gebäude hinzufügen";position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:9999;box-shadow:0 2px 4px #0003}[data-theme=dark] #addBuildingBtn:hover:after{background-color:#fff3}.project-details{margin-bottom:1rem}.form-group select,.form-group input{max-width:100%;box-sizing:border-box}.sidebar .form-group label:hover:after{z-index:9999;pointer-events:none;position:absolute;top:0;left:100%;transform:translate(10px);white-space:nowrap;background-color:var(--bg-color);border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;padding:4px 8px;border-radius:4px;font-size:.75rem}[data-theme=dark] .sidebar .form-group label:hover:after{background-color:var(--header-bg);border-color:var(--border-color)}.sidebar .form-group{position:relative}.sidebar-content{overflow-x:hidden}@media (max-width: 1024px){:root{--sidebar-width: 250px;--sidebar-collapsed-width: 70px}.main-content{padding:.25rem 1rem 2rem}.actions-header{flex-direction:column;height:auto;padding:.5rem;gap:.5rem}.action-group{width:100%;justify-content:space-between}.action-btn{padding:.4rem .6rem;font-size:.8rem}.top-banner{padding:.75rem}.banner-title{font-size:1.2rem}.banner-description,.banner-details,.client-info{font-size:.8rem}.logo-img{width:40px;height:40px}.form-control{font-size:.9rem;padding:.3rem .5rem}.building-cells{flex-wrap:wrap}.building-cell{min-width:120px}}@media (max-width: 768px){:root{--sidebar-width: 200px;--sidebar-collapsed-width: 60px}.sidebar:not(.collapsed){z-index:200;box-shadow:0 0 10px #0003;width:100%;max-width:300px}.main-content{margin-left:var(--sidebar-collapsed-width)}.buildings-header{overflow-x:auto;padding-bottom:.5rem}.buildings-header::-webkit-scrollbar{height:4px}.field-label{font-size:.8rem}.add-building-btn{padding:.4rem .7rem;font-size:.8rem}.download-btn{padding:.5rem .75rem;right:1rem;bottom:1rem;font-size:.8rem}.category-section{margin-bottom:1rem}.category-header h2{font-size:1rem}.sidebar:not(.user-expanded){width:var(--sidebar-collapsed-width)}.sidebar:not(.user-expanded) .sidebar-content{display:none}.building-header{padding:.5rem}.help-icon .tooltip-text{opacity:.9;visibility:visible;transform:translateY(0);width:180px}.data-grid{min-width:auto}}@media (max-width: 1024px) and (orientation: portrait){.buildings-header{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem;margin-right:-1rem;margin-left:-1rem;padding-left:1rem;padding-right:1rem}.actions-header{position:sticky;top:var(--banner-height)}.modal-content{width:90%;max-width:500px;padding:1rem}.action-btn,.form-control,select,input[type=date],.sidebar-toggle{min-height:38px}}@media (max-width: 480px){.banner-info{display:none}:root{--sidebar-collapsed-width: 48px}.action-btn{padding:.3rem .4rem}.action-btn i{margin-right:0}.action-btn span{display:none}}@media (max-width: 1024px){.field-row{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:.5rem}.building-cells{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.building-cells::-webkit-scrollbar{height:4px}.building-cell{flex:0 0 auto;min-width:150px;padding:0 .25rem;scroll-snap-align:start}.form-control{min-height:36px;width:100%}.buildings-header{display:flex;overflow-x:auto;white-space:nowrap;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.buildings-header>div{flex:0 0 auto;min-width:150px;scroll-snap-align:start;margin-right:.5rem}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.buildings-header>div{min-width:180px}.data-grid{padding:0 .5rem}.category-section:not(.collapsed) .field-row{display:grid;grid-template-columns:220px repeat(auto-fill,minmax(150px,1fr));align-items:center}.help-icon .tooltip-text{width:220px;font-size:.75rem}}@media (hover: none){.main-content,.sidebar-content,.buildings-header,.building-cells{-webkit-overflow-scrolling:touch}.action-btn,.form-control,select,input,.sidebar-toggle,.building-header,.category-header,.modal-close{min-height:44px}.touch-active{background-color:#ec48991a!important;transform:scale(.98);transition:all .1s ease}[data-theme=dark] .touch-active{background-color:#ec489933!important}.buildings-header,.building-header,.category-header,.action-btn{user-select:none;-webkit-user-select:none}.help-icon:active .tooltip-text{opacity:1;visibility:visible;transform:translateY(0)}}html,body{position:fixed;width:100%;height:100%;overflow:hidden}body{overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.buildings-header>div{padding:.75rem .5rem;margin-right:.5rem;border-radius:6px;box-shadow:0 1px 3px #0000001a}.form-control,input,select,textarea{font-size:16px}}.bemerkungen-input{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-color);color:var(--text-color);font-size:.875rem;resize:vertical;min-height:100px;transition:border-color .2s ease}.bemerkungen-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.1)}[data-theme=dark] .bemerkungen-input{background-color:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}[data-theme=dark] .bemerkungen-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.sidebar .help-icon .tooltip-text{left:24px;transform:translateY(-50%);z-index:10000;position:fixed;margin-left:var(--sidebar-width);width:max-content}.quiet-link:hover{opacity:1;color:var(--primary-color)}.text-center{text-align:center}.team-number{font-size:1.2rem;font-weight:500;color:var(--primary-color);margin-left:1rem;padding:.3rem .6rem;border-radius:4px;display:inline-flex;align-items:center;height:2rem}@media (max-width: 768px){.team-number{font-size:1rem;margin-left:.5rem;padding:.2rem .4rem}}#infoBtn:hover{color:var(--primary-color);border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.1)}[data-theme=dark] #infoBtn:hover{background-color:rgba(var(--primary-color-rgb),.2)}[data-theme=dark] .form-control,input[type=text],input[type=number],input[type=date],select,textarea,[data-theme=dark] input[type=text],[data-theme=dark] input[type=number],[data-theme=dark] input[type=date],[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--header-bg)}.stats-page{padding:2rem;max-width:1200px;margin:0 auto;margin-top:var(--banner-height)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.stats-card{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.stats-card-header{margin-bottom:1.5rem;font-size:1.1rem;font-weight:600;color:var(--text-color);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.stats-chart-container{width:100%;height:300px;position:relative}[data-theme=dark] .stats-card{background-color:var(--header-bg);box-shadow:0 2px 4px #0003}@media (max-width: 768px){.stats-page{padding:1rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stats-chart-container{height:250px}}
