.project-components-layout{min-height:0}.project-components-sidebar{flex-shrink:0;width:20rem}.project-components-main{min-height:0}.project-components-detail-divider{border:0;border-top:.125rem solid var(--border-color,#dee2e6);margin:1.25rem 0;opacity:1}.project-components-detail-section{margin:0}.project-components-detail-section--plan{display:flex;flex-direction:column;gap:1.25rem}.project-components-tasks-section{width:100%}.project-components-tasks-stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-12,.75rem)}.project-components-task-card{background:var(--card-bg,var(--bs-body-bg));box-shadow:0 .25rem .75rem rgba(0,0,0,.14),0 .0625rem .25rem rgba(0,0,0,.08)}.project-components-task-card[role=button]{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.project-components-task-card[role=button]:hover{box-shadow:0 .375rem 1rem rgba(0,0,0,.18),0 .125rem .375rem rgba(0,0,0,.1)!important;transform:translateY(-.0625rem)}.project-components-task-card--pin-active{border:.125rem solid var(--bs-danger,#dc3545)!important;box-shadow:0 0 0 .0625rem var(--bs-danger,#dc3545)}.project-components-task-card[role=button]:focus-visible{outline:2px solid var(--accent-blue,#0d6efd);outline-offset:2px}.components-tree-panel{--components-tree-indent:0.875rem;--components-tree-chevron-col:1.625rem;padding:var(--space-8) var(--space-4);min-height:0}.components-tree-list{border-radius:calc(var(--border-radius) * .75)}.components-tree-list::-webkit-scrollbar{width:.35rem}.components-tree-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:.25rem}.components-tree-row{overflow:visible;transition:background-color .12s ease;border-radius:calc(var(--border-radius) * .5)}.components-tree-row:not([aria-selected=true]):hover{background:var(--hover-bg)}.components-tree-row[aria-selected=true]{background:var(--accent-blue-transparent)}.components-tree-node{position:relative;overflow:visible;flex:1;min-width:0;gap:var(--space-8)}.components-tree-chevron{width:var(--components-tree-chevron-col);flex-shrink:0;border-radius:calc(var(--border-radius) * .5);cursor:pointer;user-select:none;color:var(--text-secondary);transition:background-color .12s ease,color .12s ease}.components-tree-chevron:hover{background:var(--hover-bg);color:var(--text-color)}.components-tree-chevron.is-placeholder{visibility:hidden;pointer-events:none}.components-tree-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:var(--text-sm);background:var(--card-bg);color:var(--accent-blue);box-shadow:0 0 0 1px var(--border-color)}.components-tree-icon[data-level=areal]{background:var(--accent-blue-transparent);color:var(--accent-blue)}.components-tree-icon[data-level=parzelle]{background:var(--accent-green-transparent);color:var(--accent-green)}.components-tree-icon[data-level=ueberbauung]{background:var(--accent-purple-transparent);color:var(--accent-purple)}.components-tree-icon[data-level=gebaeude]{background:var(--accent-blue-transparent);color:var(--accent-blue)}.components-tree-icon[data-level=geschoss]{background:var(--accent-yellow-transparent);color:var(--grey-dark)}.components-tree-icon[data-level=gebauedeteil]{background:var(--accent-purple-transparent);color:var(--accent-purple)}.components-tree-icon[data-level=nutzungseinheit]{background:var(--accent-green-transparent);color:var(--accent-green)}.components-tree-icon[data-level=bereich]{background:var(--accent-yellow-transparent);color:var(--grey-dark)}.components-tree-icon[data-level=raum]{background:var(--accent-green-transparent);color:var(--accent-green)}.components-tree-icon[data-level=bauobjekt]{background:var(--accent-yellow-transparent);color:var(--grey-dark)}.components-tree-label{font-size:var(--text-sm);line-height:1.35}.components-tree-label-type{color:var(--text-secondary);font-weight:500}.components-tree-label-name{font-weight:500;color:var(--text-color)}.components-tree-row[aria-selected=true] .components-tree-label-name{color:var(--accent-blue)}.components-tree-score-badge{flex-shrink:0;font-size:var(--text-xs,.75rem);font-weight:600;line-height:1;padding:.125rem .375rem;border-radius:1rem;margin-left:auto;margin-right:.25rem}.components-tree-score-badge--success{background:var(--accent-green-transparent);color:var(--accent-green)}.components-tree-score-badge--warning{background:var(--accent-yellow-transparent);color:var(--accent-yellow)}.components-tree-score-badge--danger{background:color-mix(in srgb,var(--accent-red) 12%,transparent);color:var(--accent-red)}.components-tree-sidebar-create.btn-primary{transition:background-color .15s ease,border-color .15s ease}.components-tree-sidebar-create.btn-primary:hover{background-color:color-mix(in srgb,var(--bs-primary) 90%,black);border-color:color-mix(in srgb,var(--bs-primary) 90%,black)}.components-tree-sidebar-create.btn-primary:active{background-color:color-mix(in srgb,var(--bs-primary) 82%,black);border-color:color-mix(in srgb,var(--bs-primary) 82%,black)}.react-arborist-drop-cursor{background:var(--accent-blue);height:.125rem!important;border-radius:1px;opacity:.85;pointer-events:none}.components-tree-row.is-drop-target{outline:2px solid var(--accent-blue);outline-offset:-2px;border-radius:calc(var(--border-radius) * .5)}.components-tree-row.is-dragging{opacity:.4}.components-create-building-modal-body .form-control,.components-create-building-modal-body .form-select{border-radius:var(--border-radius)}@media (max-width:575.98px){.project-components-mobile-bar{padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--border-color);background:var(--bs-body-bg)}.project-components-tree-backdrop{position:fixed;inset:0;z-index:1035;background:rgba(0,0,0,.35)}.project-components-sidebar{position:fixed;top:calc(var(--navbar-height) * 2);bottom:0;left:0;width:min(20rem,85vw);z-index:1040;transform:translateX(-100%);transition:transform .3s ease-out;border-inline-end-width:1px;border-bottom:none}.project-components-sidebar.is-open{transform:translateX(0)}.components-tree-panel{--components-tree-chevron-col:2.75rem;padding:var(--space-4) var(--space-2);overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0}.components-tree-chevron{min-height:2.75rem}}