:root{--color-bg:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-primary:#2563eb;--color-primary-soft:#dbeafe;--project-table-parent-row-bg:#94a3b814;--project-table-child-row-bg:#ffffffeb;--project-table-child-row-empty-bg:#ffffffeb;--project-table-row-hover-bg:#2563eb14;--project-table-row-selected-bg:var(--color-primary-soft);--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--color-info:#2563eb;--budget-estimate:#f59e0b;--budget-quote:#2563eb;--budget-confirmed:#16a34a;--budget-revision:#dc2626;--payment-planned:#64748b;--payment-invoiced:#2563eb;--payment-paid:#16a34a;--payment-cancelled:#dc2626;--task-planned:#64748b;--task-in-progress:#2563eb;--task-blocked:#f59e0b;--task-done:#16a34a;--task-cancelled:#dc2626;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--font-base:15px;--font-small:13px;--font-label:14px;--font-sidebar:14px;--font-table:14px;--font-title:22px;--font-topbar-title:18px;--font-inspector-title:18px;--font-kpi:22px;--control-height:38px;--control-padding-block:8px;--control-padding-inline:12px;--table-row-height:40px;--table-cell-padding-y:10px;--table-cell-padding-x:12px;--sidebar-icon-size:18px;--sidebar-icon-container-size:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:15px;--space-5:18px;--space-6:22px;--space-8:30px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 8px 24px #0f172a14;--code-bg:var(--color-surface-muted);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:var(--font-base)/145% var(--sans);letter-spacing:.18px;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-ui-density=xs]{--font-base:13px;--font-small:12px;--font-label:12px;--font-sidebar:12px;--font-table:12px;--font-title:19px;--font-topbar-title:16px;--font-inspector-title:16px;--font-kpi:18px;--control-height:32px;--control-padding-block:5px;--control-padding-inline:9px;--table-row-height:34px;--table-cell-padding-y:7px;--table-cell-padding-x:9px;--space-1:2px;--space-2:5px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:16px;--space-8:20px;--sidebar-icon-size:14px;--sidebar-icon-container-size:18px}[data-ui-density=sm]{--font-base:14px;--font-small:12px;--font-label:13px;--font-sidebar:13px;--font-table:13px;--font-title:20px;--font-topbar-title:17px;--font-inspector-title:17px;--font-kpi:20px;--control-height:34px;--control-padding-block:6px;--control-padding-inline:10px;--table-row-height:36px;--table-cell-padding-y:8px;--table-cell-padding-x:10px;--space-1:3px;--space-2:6px;--space-3:10px;--space-4:12px;--space-5:15px;--space-6:18px;--space-8:24px;--sidebar-icon-size:16px;--sidebar-icon-container-size:20px}[data-ui-density=lg]{--font-base:16px;--font-small:15px;--font-label:15px;--font-sidebar:15px;--font-table:15px;--font-title:23px;--font-topbar-title:19px;--font-inspector-title:20px;--font-kpi:23px;--control-height:42px;--control-padding-block:9px;--control-padding-inline:14px;--table-row-height:44px;--table-cell-padding-y:11px;--table-cell-padding-x:14px;--space-1:5px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:22px;--space-6:28px;--space-8:36px;--sidebar-icon-size:20px;--sidebar-icon-container-size:24px}[data-ui-density=xl]{--font-base:18px;--font-small:16px;--font-label:16px;--font-sidebar:16px;--font-table:17px;--font-title:26px;--font-topbar-title:21px;--font-inspector-title:22px;--font-kpi:26px;--control-height:48px;--control-padding-block:11px;--control-padding-inline:16px;--table-row-height:52px;--table-cell-padding-y:14px;--table-cell-padding-x:16px;--space-1:6px;--space-2:12px;--space-3:16px;--space-4:20px;--space-5:24px;--space-6:30px;--space-8:40px;--sidebar-icon-size:22px;--sidebar-icon-container-size:26px}[data-text-size=xs]{--font-base:13px;--font-small:12px;--font-label:12px;--font-sidebar:12px;--font-table:12px;--font-title:19px;--font-topbar-title:16px;--font-inspector-title:16px;--font-kpi:18px}[data-text-size=sm]{--font-base:14px;--font-small:12px;--font-label:13px;--font-sidebar:13px;--font-table:13px;--font-title:20px;--font-topbar-title:17px;--font-inspector-title:17px;--font-kpi:20px}[data-text-size=lg]{--font-base:16px;--font-small:15px;--font-label:15px;--font-sidebar:15px;--font-table:15px;--font-title:23px;--font-topbar-title:19px;--font-inspector-title:20px;--font-kpi:23px}[data-text-size=xl]{--font-base:18px;--font-small:16px;--font-label:16px;--font-sidebar:16px;--font-table:17px;--font-title:26px;--font-topbar-title:21px;--font-inspector-title:22px;--font-kpi:26px}*,:before,:after{box-sizing:border-box}[data-theme=dark]{--color-bg:#0f172a;--color-surface:#111827;--color-surface-muted:#1e293b;--color-text:#f9fafb;--color-text-muted:#94a3b8;--color-border:#334155;--color-primary:#3b82f6;--color-primary-soft:#1e3a8a;--project-table-parent-row-bg:#1e293be0;--project-table-child-row-bg:#0f172ac2;--project-table-child-row-empty-bg:#0f172ac2;--project-table-row-hover-bg:#3b82f62e;--project-table-row-selected-bg:var(--color-primary-soft);--color-success:#22c55e;--color-warning:#fbbf24;--color-danger:#f87171;--color-info:#60a5fa;--code-bg:var(--color-surface-muted)}#root{box-sizing:border-box;background:var(--color-bg);flex-direction:column;width:100%;max-width:100%;height:100vh;min-height:100svh;margin:0 auto;display:flex}html,body{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--sans);margin:0;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--color-text);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{font-size:var(--font-title);letter-spacing:-.24px;margin:0 0 8px;line-height:118%}p{margin:0}code,.counter{font-family:var(--mono);color:var(--color-text);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-muted{color:var(--color-text-muted)}.app-shell{grid-template-columns:auto minmax(0,1fr);height:100vh;min-height:100vh;display:grid;overflow:hidden}.app-main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.app-content{padding:var(--space-6);text-align:left;gap:var(--space-6);box-sizing:border-box;flex:1;align-content:stretch;width:auto;min-width:0;max-width:100%;min-height:0;display:grid;overflow:hidden}.app-workspace{gap:var(--space-4);flex:auto;grid-template-columns:minmax(0,1fr) 550px;width:100%;min-width:0;max-width:none;min-height:0;display:grid;overflow:hidden}.app-workspace--full{grid-template-columns:minmax(0,1fr)}.app-workspace--project-editor{grid-template-columns:repeat(5,minmax(0,1fr))}.app-workspace--project-editor .app-main-content{grid-column:1/span 2}.app-workspace--project-editor .app-inspector{grid-column:3/span 3;width:auto;min-width:0;max-width:none}.app-main-content{gap:var(--space-4);overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;min-width:0;max-width:none;min-height:0;padding-right:4px;display:grid;overflow:hidden auto}.app-content-standalone{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow:hidden auto}.page-shell{gap:var(--space-4);width:100%;min-width:0;max-width:100%;display:grid}.page-header{gap:var(--space-2);display:grid}.page-title{margin:0}.page-description{color:var(--color-text-muted)}.page-content{width:100%}.page-content-wide{width:100%;min-width:0;max-width:1600px;margin:0 auto}.page-content-medium{width:100%;min-width:0;max-width:1040px;margin:0 auto}.page-section{gap:var(--space-4);display:grid}.app-table-header-cell{white-space:nowrap}.app-table-header-left .app-table-sort-button{justify-content:flex-start}.app-table-header-center .app-table-sort-button{justify-content:center}.app-table-header-right .app-table-sort-button{justify-content:flex-end}.app-table-sort-button{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:0;transition:color .15s;display:inline-flex}.app-table-sort-button:hover,.app-table-sort-button.active{color:var(--color-text)}.app-table-sort-indicator{min-width:12px;color:var(--color-primary);font-size:11px;line-height:1}tr.app-table-row-selected td,tr.app-table-row-selected th{background:var(--project-table-row-selected-bg)}tr.app-table-row-clickable{cursor:pointer}tr.app-table-row-clickable:hover td,tr.app-table-row-clickable:hover th{background:var(--project-table-row-hover-bg)}tr.app-table-row-selected:hover td,tr.app-table-row-selected:hover th{background:var(--project-table-row-selected-bg)}.groups-page,.groups-panel,.contacts-page,.contacts-panel,.members-page,.members-panel{gap:var(--space-4);width:100%;display:grid}.groups-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.contacts-toolbar,.members-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.groups-card-grid{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@media (width<=1500px){.groups-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1200px){.groups-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.groups-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contacts-card-grid,.members-card-grid,.invite-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.settings-page{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.settings-subtabs{z-index:8;background:var(--color-bg);flex-wrap:wrap;width:fit-content;max-width:100%;position:sticky;top:0;box-shadow:0 1px #0f172a14}.settings-tab.active{background:var(--color-primary);color:#fff}.settings-panel{gap:var(--space-4);display:grid}.settings-section{gap:var(--space-4);padding:var(--space-5);display:grid}.settings-section-title{margin:0}.settings-grid{gap:var(--space-5);display:grid}.members-page{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.members-grid{gap:var(--space-4);display:grid}.groups-page,.contacts-page,.elements-page{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.elements-management-page{min-width:0}.elements-management-stack{gap:var(--space-4);min-width:0;display:grid}.elements-management-header,.elements-management-card{padding:var(--space-5)}.elements-management-header{gap:var(--space-3);display:grid}.elements-management-header-row,.elements-management-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.elements-management-tabs{width:fit-content;max-width:100%}.elements-management-card{gap:var(--space-4);display:grid}.elements-management-toolbar-actions,.elements-management-meta{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.elements-workspace-toolbar{align-items:center;gap:var(--space-2);flex-wrap:nowrap;min-width:0;display:flex;position:relative}.elements-workspace-search{flex:320px;width:auto;min-width:220px}.elements-management-meta{justify-content:space-between}.elements-management-table-wrap{overflow-x:auto}.elements-table-add-row td{border-bottom:none;padding:0}.elements-table-add-button{border:1px dashed var(--color-border);width:100%;color:var(--color-text);box-shadow:none;background:#f8fafcc7;border-radius:0;justify-content:flex-start;padding:14px 16px}.elements-table-add-button:hover{background:#f1f5f9fa}.elements-management-empty{gap:var(--space-2);text-align:center;place-content:center;min-height:160px;display:grid}.elements-inline-row input,.elements-inline-row select,.elements-inline-row textarea{box-sizing:border-box;width:100%;min-width:0}.elements-inline-actions{white-space:nowrap}.elements-inline-actions button+button{margin-left:var(--space-2)}.elements-table-name-cell{gap:4px;display:grid}.management-tree-cell{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.management-tree-toggle{justify-content:center;align-items:center;width:26px;min-width:26px;height:26px;padding:0;display:inline-flex}.management-tree-spacer{text-align:center;width:26px;color:var(--color-text-muted)}.management-tree-label{min-width:0}.management-tree-label--building{font-weight:700}.management-tree-label--floor{font-weight:600}.management-tree-label--room{color:var(--color-text)}.spaces-tree-table{table-layout:fixed;width:100%}.spaces-tree-table input,.spaces-tree-table select{box-sizing:border-box;width:100%;min-width:0}.spaces-tree-table__name{width:34%}.spaces-tree-table__type,.spaces-tree-table__reference{width:14%}.spaces-tree-table__parent{width:18%}.spaces-tree-table__area,.spaces-tree-table__actions{width:10%}.spaces-tree-row td,.spaces-add-row td{vertical-align:middle}.spaces-tree-row td:not(.spaces-actions-cell){cursor:pointer}.spaces-tree-row--active{background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.spaces-tree-row--building .management-tree-label{font-weight:700}.spaces-tree-row--floor .management-tree-label{font-weight:600}.spaces-tree-row--room .management-tree-label{font-weight:500}.spaces-actions-cell{white-space:nowrap}.spaces-icon-button{min-width:32px;height:32px;padding:0 var(--space-2);justify-content:center;align-items:center;display:inline-flex}.spaces-icon-button+.spaces-icon-button,.spaces-icon-button+.spaces-row-menu,.spaces-row-menu+.spaces-icon-button{margin-left:var(--space-2)}.spaces-icon-button-danger{color:var(--color-danger)}.spaces-row-menu{display:inline-block;position:relative}.spaces-row-menu summary{list-style:none}.spaces-row-menu summary::-webkit-details-marker{display:none}.spaces-row-menu-panel{min-width:160px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:2;gap:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.spaces-row-menu-panel button{justify-content:flex-start;width:100%}.spaces-add-row td{background:color-mix(in srgb, var(--color-surface-muted) 78%, white 22%)}.spaces-add-inline-button{width:100%;padding-left:calc(var(--space-3) + 8px);justify-content:flex-start}.elements-inline-panel{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-wrap:wrap;align-items:center;display:flex}.elements-inline-panel-grid{gap:var(--space-2);display:grid}.elements-inline-form-grid{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.offers-page{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.offers-grid,.offers-lines-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);align-items:start;display:grid}.offers-section,.offers-lines-stack{gap:var(--space-4);min-width:0;display:grid}.offers-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.offers-toolbar-actions{gap:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.offers-filter-row{gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(220px,1fr);display:grid}.offers-filter-field{gap:var(--space-2);display:grid}.offers-filter-search{min-width:0}.offers-search-input{width:min(320px,100%)}.offers-table-card,.offers-lines-table-card{min-width:0;overflow-x:auto}.offers-tree-table,.offers-lines-table{border-collapse:collapse;width:100%;min-width:1040px}.offers-tree-table th,.offers-tree-table td,.offers-lines-table th,.offers-lines-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.offers-tree-table th,.offers-lines-table th{color:var(--color-text-muted);font-size:var(--font-small);background:var(--color-surface-muted);font-weight:600}.offers-table-number{text-align:right;white-space:nowrap}.offers-compare-cell{text-align:center;width:64px}.offers-expander-cell{text-align:center;width:44px}.offers-compare-toggle{place-items:center;width:30px;height:30px;margin:0 auto;display:inline-grid}.offers-compare-toggle input{cursor:pointer;width:18px;height:18px;margin:0}.offers-row-badge{border-radius:var(--radius-sm);background:var(--color-surface-muted);min-width:58px;font-size:var(--font-small);justify-content:center;align-items:center;padding:4px 8px;font-weight:600;display:inline-flex}.offers-row-badge-line{min-width:46px}.offers-offer-row td,.project-table-row--parent td{vertical-align:middle;background:var(--project-table-parent-row-bg)}.offers-line-row td,.project-table-row--child td{background:var(--project-table-child-row-bg)}.offers-line-empty td,.project-table-row--child-empty td{background:var(--project-table-child-row-empty-bg)}tr.offers-offer-row.app-table-row-clickable:hover td,tr.offers-line-row.app-table-row-clickable:hover td,tr.offers-line-empty.app-table-row-clickable:hover td,tr.project-table-row--parent.app-table-row-clickable:hover td,tr.project-table-row--child.app-table-row-clickable:hover td,tr.project-table-row--child-empty.app-table-row-clickable:hover td{background:var(--project-table-row-hover-bg)}tr.offers-offer-row.app-table-row-selected td,tr.offers-line-row.app-table-row-selected td,tr.offers-line-empty.app-table-row-selected td,tr.offers-offer-row.app-table-row-selected:hover td,tr.offers-line-row.app-table-row-selected:hover td,tr.offers-line-empty.app-table-row-selected:hover td,tr.project-table-row--parent.app-table-row-selected td,tr.project-table-row--child.app-table-row-selected td,tr.project-table-row--child-empty.app-table-row-selected td,tr.project-table-row--parent.app-table-row-selected:hover td,tr.project-table-row--child.app-table-row-selected:hover td,tr.project-table-row--child-empty.app-table-row-selected:hover td{background:var(--project-table-row-selected-bg)}.offers-line-indent{align-items:center;gap:var(--space-3);padding-left:32px;display:flex}.offers-line-description-cell{min-width:260px}.offers-offer-title-cell{vertical-align:middle;min-width:0}.offers-type-cell-content{align-items:center;min-width:0;display:inline-flex}.offers-type-cell-content-line{padding-left:20px}.offers-offer-title-content{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.offers-expand-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:28px;height:28px;color:var(--color-text-muted);flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.offers-expand-chevron{font-size:16px;font-weight:700;line-height:1;display:inline-block}.offers-offer-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);font-weight:600;line-height:1.35;overflow:hidden}.offers-line-title-text{text-overflow:ellipsis;white-space:nowrap;color:#0f172ad1;min-width:0;font-weight:400;line-height:1.45;overflow:hidden}.offers-form,.offers-line-form{gap:var(--space-4);display:grid}.offers-edit-tabs{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);scrollbar-width:thin;flex-wrap:wrap;display:flex;overflow-x:auto}.offers-edit-tab{min-height:var(--control-height);padding:var(--control-padding-block) var(--control-padding-inline);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-label);background:0 0;border:1px solid #0000}.offers-edit-tab.active{background:var(--color-primary-soft);border-color:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.offers-form-panel{gap:var(--space-4);display:grid}.offers-form-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.offers-form-header h3{margin:0 0 var(--space-1)}.offers-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.offers-form-grid label,.offers-form-notes,.offers-checkbox,.offers-selector-field{gap:var(--space-2);display:grid}.offers-form-span-two{grid-column:1/-1}.offers-form-actions{justify-content:flex-end;display:flex}.offers-form-actions-split{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.offers-line-toggle-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.offers-checkbox{grid-auto-flow:column;justify-content:start;align-items:center}.offers-checkbox input{margin:0}.offers-selector-button{justify-self:start}.offers-supplier-select-button{text-align:left;border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));background:color-mix(in srgb, var(--color-primary-soft) 72%, var(--color-surface) 28%);width:100%;color:var(--color-primary);justify-self:stretch;font-weight:600}.offers-selector-actions,.offers-selection-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.offers-selection-badge{border-radius:var(--radius-pill);background:var(--color-surface-muted);align-items:center;padding:4px 10px;font-size:13px;display:inline-flex}.offers-coming-soon-card{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.offers-coming-soon-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.offers-document-empty-state{padding:var(--space-4)}.offers-line-preview,.offers-summary-card,.offers-derived-summary{gap:var(--space-3);display:grid}.offers-summary-card,.offers-derived-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.offers-summary-card>div,.offers-derived-summary>div{gap:var(--space-1);display:grid}.offers-empty-state{text-align:center;place-items:center;min-height:120px;display:grid}.offers-modal-backdrop{z-index:80;padding:var(--space-6);background:#0f172a47;place-items:center;display:grid;position:fixed;inset:0}.offers-modal{gap:var(--space-4);width:min(760px,100%);max-height:calc(100vh - 24px);padding:var(--space-5);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.offers-modal-wide{width:min(1800px,100vw - 32px)}.offers-modal-header,.offers-modal-actions{justify-content:space-between;align-items:start;gap:var(--space-4);flex-wrap:wrap;display:flex}.offers-modal-header h2{margin:0 0 var(--space-1)}.offers-modal-body{gap:var(--space-4);min-height:0;display:grid;overflow:auto}.offers-modal-empty{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.offers-selection-list,.offers-comparison-selection-list{gap:var(--space-2);display:grid}.offers-selection-item{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.offers-selection-item input{margin-top:4px}.offers-modal-actions-inline{justify-content:flex-start;display:flex}.offers-comparison-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start}.offers-comparison-selection{gap:var(--space-4);display:grid}.offers-comparison-selection h3{margin:0}.offers-comparison-cell,.offers-comparison-entry{gap:var(--space-1);display:grid}.offers-comparison-entry+.offers-comparison-entry{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.offers-table-action-cell{white-space:nowrap}.offers-saved-comparisons-control{gap:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.offers-saved-comparisons-control select{min-width:320px}.offers-comparison-scroll-area{overflow:auto visible}.offers-comparison-scroll-content{gap:var(--space-5);width:max-content;display:grid}.offers-node-board-wrapper{-webkit-user-select:none;user-select:none;width:100%;min-height:520px;padding-bottom:4px;position:relative;overflow-y:visible}.offers-node-board-stage{width:max-content;min-height:520px;position:relative}.offers-node-connections{pointer-events:none;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.offers-node-board{align-items:start;gap:60px;width:max-content;display:grid}.offers-node-column{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);display:grid}.offers-node-column-header{gap:var(--space-1);display:grid}.offers-node-column-body{gap:var(--space-3);align-content:start;display:grid}.offers-node-card{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;-webkit-user-select:none;user-select:none;cursor:crosshair;align-content:start;width:100%;height:126px;padding:14px 20px;display:grid;position:relative}.offers-node-card-spacer{width:100%;height:126px}.offers-node-card-stack{gap:var(--space-3);align-content:start;display:grid}.offers-comparison-results{gap:var(--space-4);display:grid}.offers-comparison-columns{align-items:start;gap:60px;width:max-content;display:grid}.offers-comparison-columns-header{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.offers-comparison-column-title{gap:var(--space-1);font-weight:600;display:grid}.offers-comparison-group-block{gap:var(--space-3);display:grid}.offers-comparison-group-banner{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.offers-comparison-cell-card,.offers-comparison-total-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:116px;padding:12px 14px}.offers-comparison-total-card{background:var(--color-surface-muted)}.offers-node-card.active{border-color:var(--color-accent,#2563eb);box-shadow:0 0 0 2px #2563eb24}.offers-node-card.grouped{background:linear-gradient(180deg, var(--color-surface) 0%, #2563eb08 100%)}.offers-node-card.dragging{opacity:.92}.offers-node-card-top{justify-content:space-between;align-items:start;gap:var(--space-2);flex-wrap:wrap;padding-right:36px;display:flex}.offers-node-card-meta-row{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;min-height:40px;display:grid}.offers-node-card-meta-row>span:first-child{white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.25}.offers-node-card-meta-row>span:last-child{text-align:right}.offers-node-card-totals{white-space:nowrap;justify-items:end;gap:4px;display:grid}.offers-group-header{gap:var(--space-2);display:grid}.offers-node-drag-handle{border:1px solid var(--color-border);background:var(--color-surface);cursor:grab;width:27px;height:27px;box-shadow:0 0 0 4px var(--color-surface);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.offers-node-drag-handle:active{cursor:grabbing}.offers-node-drag-handle-right{right:-13.5px}.offers-node-drag-handle-left{left:-13.5px}.offers-node-drag-handle-core{background:#2563eb;border-radius:999px;width:12px;height:12px}.offers-budget-source-fieldset{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;display:grid}.groups-page>.page-content-medium,.contacts-page>.page-content-medium{gap:var(--space-4);display:grid}.elements-panel{gap:var(--space-4);width:100%;display:grid}.elements-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.elements-view-toggle{width:fit-content}.element-filter-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.element-workspace-grid{gap:var(--space-4);grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;display:grid}.element-workspace-sidebar,.element-group-detail,.element-workspace-form{padding:var(--space-4)}.element-workspace-content{gap:var(--space-4);display:grid}.element-workspace-section-header,.element-workspace-form-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.element-workspace-section-header h3,.element-workspace-form-header h4{margin:0}.element-group-tree{gap:6px;display:grid}.element-group-tree-item{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);width:100%;color:var(--color-text);text-align:left;background:0 0;border:1px solid #0000;padding:10px 12px;display:flex}.element-group-tree-item:hover{background:#2563eb0f}.element-group-tree-item.active{background:#2563eb1a;border-color:#2563eb2e}.element-group-tree-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.element-group-tree-toggle{width:18px;color:var(--color-text-muted);text-align:center;cursor:pointer;flex:none}.element-group-tree-toggle.placeholder{cursor:default}.element-group-tree-tag{color:var(--color-text-muted);font-size:12px}.element-group-detail-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.element-group-info-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.element-group-info-grid>div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:4px;display:grid}.element-group-members-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.element-group-member-list,.element-link-picker,.element-ungrouped-list{gap:var(--space-2);display:grid}.element-group-member-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.element-group-member-main,.element-ungrouped-item{text-align:left;color:var(--color-text);background:0 0;border:0;gap:4px;padding:0;display:grid}.element-link-picker-item{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:inline-flex}.element-group-detail-empty{align-content:center;min-height:180px}.spaces-page{gap:var(--space-4);display:grid}.spaces-empty-state,.space-detail-note{gap:var(--space-2);display:grid}.space-tree,.space-tree-children{gap:6px;display:grid}.space-tree-children{padding-left:18px}.space-tree-item{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);width:100%;color:var(--color-text);text-align:left;background:0 0;border:1px solid #0000;padding:10px 12px;display:flex}.space-tree-item:hover{background:#2563eb0f}.space-tree-item.active{background:#2563eb1a;border-color:#2563eb2e}.space-tree-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.space-tree-toggle{width:18px;color:var(--color-text-muted);text-align:center;cursor:pointer;flex:none}.space-tree-toggle.placeholder{cursor:default}.space-tree-tag{color:var(--color-text-muted);font-size:12px}.space-form-card{padding:var(--space-4)}.space-form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.space-form-grid label,.space-inline-toggle{gap:6px;display:grid}.space-form-grid-wide{grid-column:1/-1}.space-inline-toggle{grid-auto-flow:column;justify-content:start;align-items:center}.space-inline-toggle input{margin:0}.activity-page{gap:var(--space-4);display:grid}.activity-toolbar{padding:var(--space-4)}.activity-toolbar-row{gap:var(--space-3);grid-template-columns:minmax(260px,2fr) minmax(220px,1fr);display:grid}.activity-filter-field{gap:var(--space-2);display:grid}.activity-filter-field input,.activity-filter-field select{width:100%}.activity-list{gap:var(--space-3);display:grid}.activity-empty-state,.activity-entry{padding:var(--space-4)}.activity-entry-top,.activity-entry-headline,.activity-entry-meta{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.activity-entry-top{justify-content:space-between}.activity-entry h3{margin:var(--space-2) 0}.activity-entry p{margin:0}.activity-type-badge,.activity-action-badge{border-radius:var(--radius-pill);font-size:var(--font-small);align-items:center;padding:4px 10px;font-weight:600;display:inline-flex}.activity-type-badge{color:var(--color-primary);background:#2563eb1a}.activity-action-badge{background:var(--color-surface-muted);color:var(--color-text)}@media (width<=1024px){.app-sidebar{width:80px;padding-inline:var(--space-3);flex-basis:80px}.app-sidebar .app-sidebar-label,.app-sidebar .app-sidebar-subtitle{display:none}.app-sidebar .app-sidebar-brand{text-align:center}.app-sidebar .app-sidebar-brand-top{justify-content:center}.app-sidebar .app-sidebar-link{justify-content:center;padding-inline:0}.app-topbar{padding:var(--space-3) var(--space-4)}.app-topbar-search{width:min(260px,100%)}.app-content,.project-header{padding:var(--space-4)}.project-header-layout{align-items:flex-start;gap:var(--space-4)}.project-photo-slot-header{width:72px;height:72px}.project-header-meta{gap:var(--space-3)}.project-header-card{padding:var(--space-4)}.app-workspace{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 550px}.app-workspace--project-editor{grid-template-columns:repeat(5,minmax(0,1fr))}.app-inspector{width:550px;min-width:550px;max-width:550px}.app-workspace--project-editor .app-inspector{width:auto;min-width:0;max-width:none}.tasks-tile-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.elements-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offers-grid,.offers-lines-grid,.budget-inspector-grid-two,.task-payment-summary-metrics{grid-template-columns:1fr}.element-workspace-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}}@media (width<=768px){.app-shell{grid-template-columns:1fr;height:100vh}.app-sidebar{border-right:none;border-bottom:1px solid var(--color-border);width:100%;height:auto;padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-basis:auto;overflow-y:visible}.app-sidebar-brand{height:56px;min-height:56px;padding-bottom:var(--space-3)}.app-sidebar-nav{gap:var(--space-2);padding-bottom:var(--space-1);display:flex;overflow:auto visible}.app-sidebar-nav-shell{display:contents}.app-sidebar-nav-group,.app-sidebar-nav-group-bottom{gap:var(--space-2);border-top:none;flex-direction:row;margin-top:0;padding-top:0;display:flex}.app-sidebar-link{flex:none;width:auto;padding:8px 10px}.app-sidebar .app-sidebar-label{display:inline}.app-sidebar .app-sidebar-subtitle{display:none}.app-topbar{padding:var(--space-3);align-items:stretch}.app-topbar,.app-topbar-actions,.app-topbar-right{flex-wrap:wrap}.app-topbar-search{width:100%;min-width:0}.app-topbar-user{text-align:left}.app-content{padding:var(--space-3);gap:var(--space-4)}.app-workspace{flex-direction:column;grid-template-columns:1fr;overflow:visible}.app-workspace--project-editor .app-main-content,.app-workspace--project-editor .app-inspector{grid-column:auto}.app-inspector{width:100%;min-width:0;max-width:100%;max-height:none;position:static;overflow:visible}.app-inspector-switcher-card,.planning-subtabs,.budget-subtabs,.settings-subtabs{box-shadow:none;position:static}.planning-summary-grid,.budget-kpi-grid,.payment-kpi-grid,.budget-items-kpi-grid,.budget-items-filters,.activity-toolbar-row,.offers-filter-row,.settings-grid,.members-role-grid,.task-card-meta-grid,.groups-list,.contacts-list{grid-template-columns:1fr}.planning-toolbar,.tasks-toolbar,.projects-toolbar,.elements-toolbar,.elements-workspace-toolbar,.offers-toolbar,.planning-gantt-toolbar,.budget-timeline-legend,.budget-export-actions,.task-card-actions,.element-card-actions,.element-form-actions,.settings-template-actions,.settings-danger-actions{align-items:stretch}.planning-toolbar,.tasks-toolbar,.projects-toolbar,.elements-toolbar,.elements-management-header-row,.offers-toolbar,.groups-toolbar,.contacts-toolbar,.members-toolbar{flex-direction:column;align-items:stretch}.elements-workspace-search,.elements-management-tabs{width:100%}.segmented-control,.budget-subtabs,.settings-subtabs,.task-edit-tabs,.project-tabs{white-space:nowrap;scrollbar-width:thin;flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto}.segment-button,.segmented-button,.task-edit-tab{flex:none}.task-edit-grid,.task-edit-section,.task-details-grid,.task-details-summary-grid,.task-card-summary-blocks,.projects-card-grid{grid-template-columns:1fr}.task-edit-grid-two,.task-edit-grid-three,.task-edit-split-responsive,.offers-form-grid,.offers-comparison-layout,.budget-inspector-grid-two,.task-payment-summary-metrics{grid-template-columns:1fr!important}.task-form-grid{grid-template-columns:1fr!important;display:grid!important}.task-form-dependency-row{grid-template-columns:1fr!important}.element-workspace-grid,.element-group-members-grid,.element-filter-grid,.space-form-grid,.element-group-member-row{grid-template-columns:1fr}.task-form-dependencies-header{display:none}.task-card-header{flex-direction:column}.budget-table,.offers-table-card,.offers-lines-table-card,.payment-status-table,.payment-detail-table,.budget-items-table,.groups-table,.contacts-table,.members-table,.elements-table,.tasks-list-card,.planning-gantt-card,.budget-timeline-chart{max-width:100%;overflow-x:auto}.planning-gantt-card,.budget-items-table,.payment-detail-table,.payment-status-table,.budget-section{min-width:0}.planning-gantt-card>*,.budget-timeline-chart>*{min-width:max-content}.budget-table table,.payment-status-table table,.payment-detail-table table,.budget-items-table table,.offers-tree-table,.offers-lines-table{min-width:640px}.budget-payment-row{grid-template-columns:1fr}.budget-timeline-chart,.planning-gantt-card{padding:var(--space-3)}.tasks-tile-grid,.elements-tile-grid,.element-card-meta-grid,.groups-card-grid,.contacts-card-grid,.members-card-grid,.invite-card-grid,.element-linked-task-grid{grid-template-columns:1fr}}.app-sidebar{--sidebar-content-offset:12px;background:var(--color-surface);border-right:1px solid var(--color-border);width:220px;padding:0 var(--space-4) var(--space-6) var(--space-4);gap:var(--space-6);box-sizing:border-box;flex-direction:column;flex:0 0 220px;height:100vh;transition:width .2s,padding .2s;display:flex;overflow:hidden}.app-sidebar.collapsed{width:80px;padding-inline:var(--space-4);flex-basis:80px}.app-sidebar-brand{text-align:left;height:120px;min-height:120px;padding-top:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;justify-content:space-between;display:flex;position:relative}.app-sidebar-brand-top{justify-content:flex-start;align-items:center;gap:var(--space-2);width:100%;padding-left:var(--sidebar-content-offset);display:flex}.app-sidebar-brand-bottom{width:100%;padding-left:var(--sidebar-content-offset);justify-content:flex-start;align-items:center;display:flex}.app-sidebar-title{color:var(--color-text);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1}.app-sidebar-subtitle{color:var(--color-text-muted);font-size:13px}.sidebar-logo{object-fit:contain;border-radius:4px;display:block}.sidebar-logo-expanded{width:auto;max-width:170px;height:auto;max-height:32px}.sidebar-logo-collapsed{width:44px;height:auto;max-height:60px}.app-sidebar-nav-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.app-sidebar-nav-container{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.app-sidebar-nav-container:before{content:"";background:linear-gradient(to bottom, var(--color-surface-muted) 0%, transparent 100%);pointer-events:none;z-index:5;height:24px;position:absolute;top:0;left:0;right:0}.app-sidebar-nav-container:after{content:"";background:linear-gradient(to top, var(--color-surface-muted) 0%, transparent 100%);pointer-events:none;z-index:5;height:24px;position:absolute;bottom:0;left:0;right:0}.app-sidebar-nav{gap:var(--space-1);padding-top:var(--space-2);scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 24px),#0000 100%)}.app-sidebar-nav::-webkit-scrollbar{display:none}.app-sidebar-nav-group{gap:var(--space-1);flex-direction:column;display:flex}.app-sidebar-nav-group-bottom{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface);z-index:10;flex-shrink:0;position:relative}.app-sidebar-icon{width:var(--sidebar-icon-container-size,22px);min-width:var(--sidebar-icon-container-size,22px);height:var(--sidebar-icon-container-size,22px);flex:0 0 var(--sidebar-icon-container-size,22px);justify-content:center;align-items:center;transition:width .2s,height .2s;display:inline-flex}.app-sidebar-icon-svg{width:var(--sidebar-icon-size,18px);height:var(--sidebar-icon-size,18px);transition:width .2s,height .2s}.app-sidebar-label{white-space:nowrap;font-size:var(--font-sidebar)}.app-sidebar-link{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height);text-align:left;height:auto;padding:var(--control-padding-block) var(--control-padding-inline) var(--control-padding-block) var(--sidebar-content-offset);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-sidebar);background:0 0;border:1px solid #0000;justify-content:flex-start;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:flex}.app-sidebar.collapsed .app-sidebar-link{justify-content:flex-start;padding-right:0}.app-sidebar-link:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-border)}.app-sidebar-link.active{background:var(--color-primary-soft);color:var(--color-primary);border-color:#2563eb2e;font-weight:600;box-shadow:inset 0 0 0 1px #2563eb14}.app-sidebar-link.disabled,.app-sidebar-link:disabled{color:var(--color-text-muted);opacity:.56;cursor:not-allowed}.app-sidebar-toggle{background:var(--color-surface);border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.app-sidebar-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);border-color:#2563eb33;transform:scale(1.05);box-shadow:0 2px 4px #0000000d}.app-sidebar.collapsed .app-sidebar-label,.app-sidebar.collapsed .app-sidebar-subtitle{display:none}.app-sidebar.collapsed .app-sidebar-brand{text-align:left}.app-sidebar.collapsed .app-sidebar-brand-top,.app-sidebar.collapsed .app-sidebar-brand-bottom{justify-content:flex-start;padding-left:0}.app-sidebar.collapsed .app-sidebar-title{font-size:16px}.app-topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:20;box-shadow:var(--shadow-sm);flex:none;min-height:120px;display:flex;position:sticky;top:0}.app-topbar-left{align-items:center;gap:var(--space-3);flex:1 1 0;min-width:240px;display:flex}.app-topbar-project-info{align-items:center;gap:var(--space-3);display:flex}.app-topbar-project-details{flex-direction:column;line-height:1.25;display:flex}.app-topbar-project-name{color:var(--color-text);font-size:14px;font-weight:700}.app-topbar-project-date{color:var(--color-text-muted);font-size:11px}.app-topbar-middle{flex-direction:column;flex:2 1 0;justify-content:center;align-items:center;gap:4px;padding:4px 0;display:flex}.app-topbar-page-title{color:var(--color-text);font-size:15px;font-weight:700;line-height:1.2}.app-topbar-search{width:min(240px,100%);padding:6px var(--control-padding-inline);background:var(--color-surface-muted);border-radius:var(--radius-md,6px);border:1px solid var(--color-border);text-align:center;height:32px;font-size:13px}.app-topbar-right{justify-content:flex-end;align-items:center;gap:var(--space-3);flex:1 1 0;min-width:240px;display:flex}.app-topbar-user{text-align:right;gap:2px;display:grid}.app-topbar-profile-menu{align-items:center;gap:var(--space-3);display:flex;position:relative}.app-topbar-profile-trigger{white-space:nowrap}.app-topbar-dropdown{gap:var(--space-2);min-width:260px;padding:var(--space-3);z-index:40;box-shadow:var(--shadow-md);display:grid;position:absolute;top:calc(100% + 8px);right:0}.app-topbar-dropdown button{text-align:left;width:100%;padding:var(--control-padding-block) var(--control-padding-inline)}button,input,select,textarea{font:inherit}button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--font-label);min-height:var(--control-height);padding:var(--control-padding-block) var(--control-padding-inline);line-height:1.2}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-label)}table{border-collapse:collapse;font-size:var(--font-table)}th,td{border-color:var(--color-border);min-height:var(--table-row-height);line-height:1.35}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--control-height);padding:var(--control-padding-block) var(--control-padding-inline)}textarea{padding:var(--control-padding-block) var(--control-padding-inline)}.app-button-primary{background:var(--color-primary);color:#fff;border:none}.app-button-danger{color:var(--color-danger);border:1px solid var(--color-danger)}.app-icon-button{width:var(--control-height);min-width:var(--control-height);justify-content:center;align-items:center;padding:0;display:inline-flex}.app-icon-button svg{flex:none;display:block}.form-error{color:var(--color-danger);font-size:var(--font-label);margin:0;line-height:1.4}.segmented-control{align-items:center;gap:var(--space-1);padding:var(--space-1);white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);box-sizing:border-box;flex-wrap:wrap;width:100%;max-width:100%;display:inline-flex;overflow-x:auto}.segmented-button{min-height:var(--control-height);padding:var(--control-padding-block) var(--control-padding-inline);border-radius:var(--radius-sm);color:var(--color-text-muted);min-width:120px;font-size:var(--font-label);background:0 0;border:1px solid #0000;flex:none}.segmented-button.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.field-invalid select,.field-invalid input,.field-invalid textarea,.form-field-invalid input,.form-field-invalid select,.form-field-invalid textarea,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 2px #dc26261f}.field-error-text{color:#b91c1c;font-size:var(--font-small);font-weight:600}@keyframes field-attention{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.field-attention-a,.field-attention-b{animation:.26s ease-out field-attention}.budget-payment-row{gap:var(--space-2);min-height:var(--table-row-height);padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:left;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.9fr);align-items:center;display:grid}.budget-inspector-tab-button.locked{opacity:.6;cursor:not-allowed}.budget-inspector-tab-hint{margin:var(--space-2) 0 0}.budget-inspector-locked-card,.task-form-disabled-card{gap:var(--space-2);padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.group-form-card,.contact-form-card,.member-editor-card,.group-form-fields,.contact-form-fields{gap:var(--space-3);display:grid}.contact-form-section{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.contact-form-section h4{margin:0}.group-form-field,.contact-form-field,.member-editor-field{gap:6px;min-width:0;display:grid}.contact-form-field.checkbox-field{grid-template-columns:auto 1fr;align-items:center}.contact-role-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.contact-role-option{gap:var(--space-2);align-items:center;display:inline-flex}.contact-linked-people{gap:var(--space-2);display:grid}.contact-linked-people-item{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:4px;display:grid}.contact-link-modal-backdrop{z-index:90;padding:var(--space-5);background:#0f172a47;place-items:center;display:grid;position:fixed;inset:0}.contact-link-modal{gap:var(--space-4);width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);padding:var(--space-5);grid-template-rows:auto auto minmax(0,1fr) auto auto;display:grid;overflow:hidden}.contact-link-modal-header,.contact-link-modal-actions{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.contact-link-modal-header h3{margin:0 0 var(--space-1)}.contact-link-modal-list{gap:var(--space-2);min-height:0;padding-right:var(--space-1);display:grid;overflow:auto}.contact-link-person-option{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.contact-link-person-option.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.contact-link-person-option input{margin-top:3px}.contact-link-person-option span{gap:4px;min-width:0;display:grid}.contact-link-person-option strong,.contact-link-person-option small{overflow-wrap:anywhere;min-width:0}.contact-link-person-option small{color:var(--color-text-muted)}.group-form-color-row{gap:var(--space-3);align-items:center;min-width:0;display:flex}.member-editor-label{color:var(--color-text-muted);font-size:var(--font-small);font-weight:600}.settings-calendar,.settings-budget-lists,.settings-templates{align-content:start}.settings-weekdays{gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-blocked-dates,.settings-option-list,.settings-option-form{gap:var(--space-3);display:grid}.settings-template-actions,.settings-danger-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.task-form-card{gap:var(--space-4);width:100%;max-width:960px;padding:var(--space-5);box-sizing:border-box;display:grid}.task-form-field,.task-form-card input,.task-form-card select,.task-form-card textarea{box-sizing:border-box;width:100%;max-width:100%}.task-form-card textarea{resize:vertical;min-height:96px}.task-form-grid{gap:var(--space-3);box-sizing:border-box;flex-wrap:wrap;width:100%;display:flex}.task-form-dependencies{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.task-form-dependencies-header,.task-form-dependency-row{gap:var(--space-3);box-sizing:border-box;grid-template-columns:28px minmax(0,1fr) minmax(96px,160px);align-items:center;width:100%;max-width:100%;display:grid}.task-form-dependencies-header{margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:12px;font-weight:600}.task-form-dependencies-header-task{grid-column:2}.task-form-dependencies-header-lag{grid-column:3}.task-form-dependency-check{justify-content:flex-start;align-items:center;margin:0;display:inline-flex}.task-form-dependency-check input{width:16px;height:16px;margin:0}.task-form-dependency-lag input{box-sizing:border-box;width:100%;padding:8px}.task-form-dependency-title{min-width:0}.task-form-dependency-lag{width:100%;min-width:0;max-width:100%}.group-form-card,.contact-form-card{width:100%;max-width:960px;padding:var(--space-4)}.group-form,.contact-form{width:100%;max-width:none;margin:0}.element-form-card{gap:var(--space-4);width:100%;max-width:100%;padding:var(--space-5);display:grid}.element-form-field{gap:var(--space-2);display:grid}.element-form-field span{color:var(--color-text);font-size:13px;font-weight:600}.element-form-field .field-error-text{color:#b91c1c;font-size:12px;font-weight:600}.element-form-field input,.element-form-field textarea,.element-form-field select{width:100%;max-width:100%}.element-form-grid,.element-workspace-form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.element-form-field-wide{grid-column:1/-1}.task-edit-tab:disabled,.task-edit-tab.task-edit-tab-disabled{opacity:.55;cursor:not-allowed}.buildstudy-auth-shell{grid-template-columns:minmax(0,3fr) minmax(340px,2fr);align-items:stretch;gap:clamp(20px,3vw,36px);width:min(1180px,100%);min-height:min(760px,100vh - 48px);margin:0 auto;display:grid}.buildstudy-auth-shell--compact{grid-template-columns:minmax(0,1fr) minmax(320px,420px);min-height:0}.buildstudy-auth-product,.buildstudy-auth-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);border-radius:8px}.buildstudy-auth-product{background:var(--color-surface);align-content:center;gap:22px;padding:52px;display:grid;position:relative;overflow:hidden}.buildstudy-auth-product:after{content:"";background:var(--color-primary);height:6px;position:absolute;inset:auto 0 0}.buildstudy-auth-kicker,.buildstudy-auth-card-label{color:var(--color-primary);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.buildstudy-auth-product h1{max-width:620px;color:var(--color-text);letter-spacing:0;margin:0;font-size:56px;line-height:1.02}.buildstudy-auth-product h2,.buildstudy-auth-card h2{letter-spacing:0;margin:0}.buildstudy-auth-lead,.buildstudy-auth-product p{max-width:610px;color:var(--color-text-muted);font-size:17px;line-height:1.55}.buildstudy-auth-mockup{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;gap:14px;width:min(620px,100%);padding:16px;display:grid}.buildstudy-auth-mockup-topbar{gap:7px;display:flex}.buildstudy-auth-mockup-topbar span{background:var(--color-text-muted);opacity:.5;border-radius:999px;width:10px;height:10px}.buildstudy-auth-mockup-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:12px;display:grid}.buildstudy-auth-mockup-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:10px;min-height:112px;padding:14px;display:grid}.buildstudy-auth-mockup-panel strong{font-size:13px}.auth-panel-wide{grid-column:1/-1;min-height:82px}.buildstudy-auth-timeline-row,.buildstudy-auth-bar{background:var(--color-surface-muted);border-radius:999px;height:10px}.buildstudy-auth-timeline-row:after,.buildstudy-auth-bar span{content:"";border-radius:inherit;height:100%;display:block}.auth-row-wide:after{background:var(--color-primary);width:82%}.auth-row-mid:after{background:var(--color-success);width:64%}.auth-row-short:after{background:var(--color-warning);width:44%}.buildstudy-auth-bar span{background:var(--color-success);width:72%}.buildstudy-auth-avatar-row{align-items:center;display:flex}.buildstudy-auth-avatar-row span{border:2px solid var(--color-surface);background:var(--color-primary-soft);border-radius:999px;width:34px;height:34px;margin-right:-8px}.buildstudy-auth-avatar-row span:nth-child(2){background:#16a34a3d}.buildstudy-auth-avatar-row span:nth-child(3){background:#f59e0b42}.buildstudy-auth-feature-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.buildstudy-auth-feature-list li{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-small);border-radius:999px;padding:7px 10px;font-weight:700}.buildstudy-auth-card{align-self:center;gap:18px;padding:34px;display:grid}.buildstudy-auth-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.buildstudy-auth-help,.buildstudy-auth-success-panel p{color:var(--color-text-muted);line-height:1.5}.buildstudy-auth-mode-switch{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;gap:4px;padding:4px;display:inline-flex}.buildstudy-auth-mode-switch button{min-height:30px;color:var(--color-text-muted);background:0 0;border:0;border-radius:6px;padding:6px 10px}.buildstudy-auth-mode-switch button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.buildstudy-auth-form,.buildstudy-auth-field,.buildstudy-auth-success-panel{gap:14px;display:grid}.buildstudy-auth-field span:first-child{color:var(--color-text);font-size:var(--font-label);font-weight:700}.buildstudy-auth-field input,.buildstudy-auth-password-field input{width:100%}.buildstudy-auth-password-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.buildstudy-auth-password-field button{min-width:74px}.buildstudy-auth-actions{flex-wrap:wrap;gap:10px;display:flex}.buildstudy-auth-actions button{flex:150px}.buildstudy-auth-link{width:fit-content;min-height:0;color:var(--color-primary);background:0 0;border:0;padding:0;font-weight:700}.buildstudy-auth-stepper{gap:8px;display:flex}.buildstudy-auth-stepper span{border:1px solid var(--color-border);background:var(--color-surface-muted);width:30px;height:30px;color:var(--color-text-muted);border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.buildstudy-auth-stepper span.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.buildstudy-auth-stepper span.done{border-color:var(--color-success);color:var(--color-success);background:#16a34a24}.buildstudy-auth-strength{color:var(--color-text-muted);font-size:var(--font-small);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.buildstudy-auth-strength span{background:var(--color-surface-muted);border-radius:999px;height:8px;overflow:hidden}.buildstudy-auth-strength span:after{content:"";border-radius:inherit;height:100%;display:block}.buildstudy-auth-strength .strength-1:after{background:var(--color-warning);width:34%}.buildstudy-auth-strength .strength-2:after{background:var(--color-primary);width:68%}.buildstudy-auth-strength .strength-3:after{background:var(--color-success);width:100%}.buildstudy-auth-terms{color:var(--color-text);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;line-height:1.45;display:grid}.buildstudy-auth-terms input{margin-top:3px}.buildstudy-auth-terms a{color:var(--color-primary);font-weight:700}.buildstudy-auth-terms-note{color:var(--color-text-muted);font-size:var(--font-small);line-height:1.45}.buildstudy-auth-success,.buildstudy-auth-error{font-size:var(--font-label);border-radius:8px;margin:0;padding:10px 12px;line-height:1.4}.buildstudy-auth-success{color:var(--color-success);background:#16a34a1f;border:1px solid #16a34a57}.buildstudy-auth-error{color:var(--color-danger);background:#dc26261a;border:1px solid #dc262657}[data-theme=dark] .buildstudy-auth-feature-list li,[data-theme=dark] .buildstudy-auth-mockup-panel{background:#0f172a}@media (width<=920px){.buildstudy-auth-shell,.buildstudy-auth-shell--compact{grid-template-columns:minmax(0,1fr);min-height:0}.buildstudy-auth-product{padding:26px}.buildstudy-auth-product h1{font-size:34px}.buildstudy-auth-mockup-grid{grid-template-columns:minmax(0,1fr)}.auth-panel-wide{grid-column:auto}}@media (width<=560px){.buildstudy-auth-card-header{display:grid}.buildstudy-auth-mode-switch,.buildstudy-auth-actions button{width:100%}.buildstudy-auth-mode-switch button{flex:1 1 0}.buildstudy-auth-password-field{grid-template-columns:minmax(0,1fr)}}.app-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.app-badge{font-size:var(--font-small);border-radius:999px;align-items:center;padding:2px 8px;line-height:1.4;display:inline-flex}.page-card{width:100%;padding:var(--space-5);box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.group-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-left:8px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;display:grid}.contact-card,.member-card,.invite-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;display:grid}.group-card.selected,.contact-card.selected,.member-card.selected,.invite-card.selected{background:#eff6ff;border-color:#93c5fd}.group-card-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.group-card-color-dot{border-radius:999px;flex:0 0 14px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0f172a1f}.group-card-meta{gap:var(--space-2);display:grid}.group-card-meta>div{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.group-card-label{color:var(--color-text-muted);font-size:var(--font-small);font-weight:600}.group-card-actions,.contact-card-actions,.member-editor-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.groups-view-toggle,.contacts-view-toggle,.members-view-toggle{width:fit-content;max-width:100%}.groups-table,.contacts-table,.members-table{width:100%;max-width:100%}.groups-table th,.groups-table td,.contacts-table th,.contacts-table td,.members-table th,.members-table td{border-bottom:1px solid var(--color-border);padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.groups-table th,.contacts-table th,.members-table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-small);text-align:left;font-weight:600}.settings-option-item,.settings-template-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.settings-danger-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#dc26260f;border:1px solid #dc262647;display:grid}.settings-danger-title{color:var(--color-danger);margin:0}.members-card{gap:var(--space-4);padding:var(--space-5);display:grid}.members-card-header{gap:var(--space-2);display:grid}.members-card-title{margin:0}.members-card-description{color:var(--color-text-muted)}.members-role-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.members-role-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.members-role-title{color:var(--color-text)}.members-role-description{color:var(--color-text-muted)}.members-advanced-card{background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-surface-muted) 100%)}.groups-list,.contacts-list{gap:var(--space-3);width:100%;max-width:960px;display:grid}.group-card,.contact-card{width:100%;max-width:none}.elements-tile-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.elements-table{width:100%;min-width:760px}.elements-table th,.elements-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:10px 12px}.elements-table th{color:var(--color-text-muted);background:var(--color-surface-muted);font-size:12px;font-weight:600}.element-card{gap:var(--space-4);padding:var(--space-5);display:grid}.element-card-selected{box-shadow:0 0 0 2px #2563eb47, var(--shadow-sm);background:#f8fbff}.element-card-add{border:1px dashed var(--color-border);color:var(--color-text);text-align:center;background:#f8fafcd1;justify-content:center;align-items:center}.element-card-add:hover{background:#f1f5f9fa}.element-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.element-card-title-row{gap:var(--space-1);min-width:0;display:grid}.element-card-title{color:var(--color-text);margin:0}.element-card-meta-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.element-card-meta-item{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.element-card-meta-item strong{color:var(--color-text-muted);font-size:12px}.element-card-tags{grid-column:1/-1}.element-card-actions,.element-form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.element-linked-tasks{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);display:grid}.element-linked-task-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.element-linked-task-item{gap:var(--space-1);padding:var(--space-3);text-align:left;background:var(--color-surface-muted);display:grid}.element-linked-task-item span{color:var(--color-text-muted);font-size:12px}.group-card--inline{cursor:default}.group-card--inline .group-card-header{align-items:end}.group-card--create{background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:default;border:2px dashed #94a3b8;border-left:8px solid #94a3b8}.group-card--create:hover{background:var(--color-surface);border-color:#64748b}.group-row-create td{vertical-align:middle!important;background:#f8fafc!important;border-top:2px dashed #94a3b8!important;border-bottom:2px dashed #94a3b8!important}.group-row-create td:first-child{border-left:2px dashed #94a3b8!important}.group-row-create td:last-child{border-right:2px dashed #94a3b8!important}.groups-list-layout{gap:var(--space-4);width:100%;display:grid}.group-card--list-create{max-width:none}.group-card--create .group-form-card{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.group-card-header--create{align-items:start}.group-card-create-title{margin:0}.group-card-create-description{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.group-card-meta--editable{gap:var(--space-3)}.group-inline-field{gap:6px;width:100%;min-width:0;display:grid}.group-inline-field input,.group-inline-table-input{box-sizing:border-box;width:100%;min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font:inherit;background:#fff;border:1px solid #94a3b86b}.group-inline-field input:focus,.group-inline-table-input:focus{border-color:#2563eb6b;outline:none;box-shadow:0 0 0 3px #2563eb1a}.group-inline-field input:disabled,.group-inline-table-input:disabled{color:var(--color-text-muted);background:var(--color-surface-muted);cursor:not-allowed}.group-inline-field input[type=color],.group-inline-color-row input[type=color]{width:46px;min-width:46px;padding:3px}.group-inline-color-row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.group-inline-table-input--number{max-width:120px}.group-card-actions--inline{justify-content:space-between;align-items:center}.group-inline-save-state{min-height:20px;color:var(--color-text-muted);font-size:var(--font-small);font-weight:700}.group-inline-save-state--saved{color:#047857}.group-inline-save-state--error{color:#b91c1c}.groups-table-save-state{min-width:120px}.app-inspector{overscroll-behavior:contain;scrollbar-gutter:stable;align-self:stretch;width:550px;min-width:550px;max-width:550px;height:100%;min-height:0;padding-right:4px;position:relative;overflow:hidden auto}.app-inspector-panel,.app-inspector-empty{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.app-inspector-stack{gap:var(--space-4);display:grid}.app-inspector-header{gap:var(--space-1);display:grid}.app-inspector-header h3{margin:0}.app-inspector-switcher-card{gap:var(--space-2);padding:var(--space-3);z-index:12;background:var(--color-bg);display:grid;position:sticky;top:0;box-shadow:0 1px #0f172a14}.app-inspector-switcher-button{width:100%;min-height:var(--control-height);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;font-family:var(--heading);font-size:var(--font-inspector-title);letter-spacing:-.16px;color:var(--color-text);font-weight:600;line-height:1.2;transition:border-color .16s,background-color .16s,color .16s,transform .16s,box-shadow .16s}.app-inspector-switcher-button:hover{background:var(--color-surface-muted);color:var(--color-primary)}.app-inspector-switcher-button.active{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary);border-color:#2563eb47;transform:translateY(-1px)}.app-inspector-switcher-button.inactive,.app-inspector-switcher-button:disabled{color:var(--color-text-muted);background:var(--color-surface);cursor:default;opacity:.72}.app-inspector-switcher-button.inactive:hover,.app-inspector-switcher-button:disabled:hover{color:var(--color-text-muted);background:var(--color-surface)}.app-inspector .task-form-card,.app-inspector .task-card,.app-inspector .element-form-card{box-sizing:border-box;width:100%;max-width:none}.project-header{gap:var(--space-4);justify-items:start;width:100%;display:grid}.project-header-inner{box-sizing:border-box;width:100%;min-width:0}.project-header-card{width:100%;max-width:none;padding:var(--space-5);box-sizing:border-box;min-height:128px;margin:0}.project-header-layout{align-items:center;gap:var(--space-5);flex-wrap:wrap;min-height:88px;display:flex}.project-header-content{gap:var(--space-3);flex:320px;align-content:center;min-width:0;display:grid}.project-header-title{gap:var(--space-2);align-content:start;min-height:48px;display:grid}.project-header-title h2{margin:0}.project-header-title p,.project-header-description{min-height:20px;margin:0}.project-header-description.is-empty{visibility:hidden}.project-header-meta{gap:var(--space-4);color:var(--color-text-muted);flex-wrap:wrap;font-size:14px;display:flex}.project-photo-slot{flex:none;position:relative}.project-photo-slot-header{width:88px;height:88px}.project-photo-slot-settings{width:96px;height:96px}.project-photo-slot-topbar{flex-shrink:0;width:100px;height:100px}.project-photo-slot-topbar .project-photo-image,.project-photo-slot-topbar .project-photo-placeholder{border-radius:var(--radius-md)}.project-photo-image,.project-photo-placeholder{border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;height:100%;overflow:hidden}.project-photo-image{object-fit:cover;background:var(--color-surface-muted);display:block}.project-photo-placeholder{padding:var(--space-2);text-align:center;background:linear-gradient(135deg, #94a3b81f, #e2e8f0b3), var(--color-surface-muted);color:var(--color-text-muted);align-content:center;place-items:center;gap:2px;display:grid}.project-photo-placeholder strong{color:var(--color-text);font-size:12px}.project-photo-placeholder span{font-size:11px;line-height:1.2}.project-photo-emoji{margin-bottom:2px;font-size:22px;line-height:1}.project-photo-badge{text-transform:uppercase;letter-spacing:.04em;background:#ffffffb8;border:1px solid #94a3b859;border-radius:999px;justify-content:center;align-items:center;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.project-tabs{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.projects-page{width:100%;max-width:none}.projects-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.projects-page-header h2{margin:0}.projects-page-header p{margin:var(--space-2) 0 0}.projects-create-button{width:100%;min-height:42px;padding:0 var(--space-4);border-radius:var(--radius-md);color:#0f172a;background:#fff;border:1px solid #94a3b875;font-weight:700;box-shadow:0 6px 14px #0f172a0a}.projects-create-button:hover{border-color:#2563eb61;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.projects-panel{gap:var(--space-4);width:100%;display:grid;position:relative}.projects-toolbar{align-items:start;gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.projects-page--editor-open .projects-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto auto}.projects-search-field{grid-column:span 2;min-width:0;display:block}.projects-page--editor-open .projects-search-field{grid-column:auto}.projects-search-field input{width:100%;min-height:42px;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-text);background:#fff;border:1px solid #94a3b85c;outline:none}.projects-search-field input:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #2563eb1a}.projects-filter-anchor{min-width:0;position:relative}.projects-filter-button{width:100%;min-height:42px;padding:0 var(--space-4);border-radius:var(--radius-md);color:#334155;background:#fff;border:1px solid #94a3b86b;font-weight:700}.projects-filter-button:hover{color:#0f172a;border-color:#2563eb57}.projects-filter-button.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb61}.projects-filter-popover{top:calc(100% + var(--space-2));z-index:30;align-items:end;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px solid #94a3b857;display:inline-flex;position:absolute;left:0;box-shadow:0 12px 28px #0f172a14}.projects-filter-popover label{gap:var(--space-1);color:var(--color-text-muted);font-size:12px;font-weight:700;display:grid}.projects-filter-popover select{border-radius:var(--radius-md);min-width:180px;min-height:38px;color:var(--color-text);background:#fff;border:1px solid #94a3b85c}.projects-filter-popover button{min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-md);color:#334155;background:#fff;border:1px solid #94a3b85c;font-weight:700}.projects-status-message{color:#b45309;margin:0}.projects-view-toggle{width:100%}.projects-card-grid{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.projects-card-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-card{border-radius:var(--radius-md);cursor:pointer;background:#fff;border:1px solid #94a3b859;gap:0;padding:0;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;overflow:hidden;box-shadow:0 8px 18px #0f172a12}.project-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb29,0 10px 22px #2563eb1f}.project-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0f172a1a}.project-card-hero{background:radial-gradient(circle at 25% 15%,#fcd34d6b,#0000 26%),radial-gradient(circle at 74% 34%,#0ea5e952,#0000 30%),linear-gradient(135deg,#0f172a 0%,#164e63 46%,#e0f2fe 100%);height:136px;position:relative;overflow:hidden}.project-card-hero img,.project-card-hero-placeholder{object-fit:cover;width:100%;height:100%;display:block}.project-card-hero-placeholder:before{content:"";background:linear-gradient(90deg,#0000 0 15%,#fff3 15% 17%,#0000 17% 100%),linear-gradient(#0f172a05,#0f172a94),repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 42px);width:100%;height:100%;display:block}.project-card-edit-button{color:#0f172a;background:#ffffffdb;border:1px solid #fff9;border-radius:999px;place-items:center;width:38px;height:38px;display:inline-grid;position:absolute;top:14px;right:14px;box-shadow:0 12px 24px #0f172a2e}.project-card-edit-button svg{fill:currentColor;width:18px;height:18px}.project-card-edit-button:hover{color:var(--color-primary);background:#fff;transform:translateY(-1px)}.project-card-body{gap:var(--space-3);padding:var(--space-4);display:grid}.project-card-kicker{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.project-card-header,.project-card-details,.project-card-actions{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.project-card-title{letter-spacing:-.03em;margin:0;font-size:clamp(17px,1.2vw,21px)}.project-card-meta,.project-card-description,.project-card-detail-label{color:var(--color-text-muted)}.project-card-description{min-height:42px;margin:0;font-size:13px;line-height:1.5}.project-card-detail{gap:var(--space-1);display:grid}.project-status-pill{min-height:28px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:#047857;background:#f0fdf4f2;border:1px solid #16a34a52;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.project-code-pill{color:#64748b;letter-spacing:.02em;font-size:12px;font-weight:800}.project-card-divider{background:#d8dee9;height:1px}.project-card-avatars{align-items:center;display:flex}.project-card-avatar{color:#fff;background:linear-gradient(135deg,#0f766e,#0f172a);border:2px solid #fff;border-radius:999px;place-items:center;width:34px;height:34px;margin-right:-8px;font-size:12px;font-weight:800;display:inline-grid}.project-card-avatar-more{color:#1e3a8a;background:#eef2ff}.project-card-date{align-items:center;gap:var(--space-2);color:#0f172a;white-space:nowrap;display:inline-flex}.project-card-date svg{fill:#1d4ed8;width:18px;height:18px}.projects-editor-panel{border:1px solid #94a3b847;border-radius:24px;box-shadow:0 22px 48px #0f172a1a}.projects-editor-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.projects-editor-close{color:#64748b;background:0 0;border:0;border-radius:0;place-items:center;width:auto;height:auto;padding:0;font-size:24px;font-weight:500;line-height:1;display:inline-grid}.projects-editor-close:hover{color:#0f172a;background:0 0}.project-locations-section{gap:var(--space-4)}.project-locations-header{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.project-locations-header h4,.project-locations-header p{margin:0}.project-location-add-button,.project-location-remove-button{min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-md);color:#334155;background:#fff;border:1px solid #94a3b86b;font-weight:700}.project-location-list{gap:var(--space-3);display:grid}.project-location-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border:1px solid #94a3b861;grid-template-columns:minmax(0,1fr) auto;display:grid}.project-location-row:hover,.project-location-row:focus-visible{border-color:#2563eb6b;outline:none;box-shadow:0 0 0 3px #2563eb14}.project-location-row.is-selected{box-shadow:inset 3px 0 0 var(--color-primary);border-color:#2563eb8f}.project-location-row--new{background:#f8fafcdb;border-style:dashed}.project-location-row-main,.project-location-row-meta{gap:3px;min-width:0;display:grid}.project-location-row-main span,.project-location-row-meta span{color:var(--color-text-muted);font-size:var(--font-small)}.project-location-row-meta{text-align:right;justify-items:end}.project-location-row-meta strong{color:var(--color-primary);font-size:var(--font-small)}.project-location-editor{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:#fff;border:1px solid #94a3b861;display:grid}.project-location-editor-header{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.project-location-editor-header h4,.project-location-editor-header p{margin:0}.project-location-item{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#fff;border:1px solid #94a3b861;display:grid}.project-location-item.is-primary{box-shadow:inset 3px 0 0 var(--color-primary);border-color:#2563eb6b}.project-location-item-header,.project-location-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.project-location-item-header strong,.project-location-item-header span{display:block}.project-location-item-header span{color:var(--color-text-muted);font-size:var(--font-small)}.project-location-primary-control{align-items:center;gap:var(--space-2);color:var(--color-text-muted);margin:0;font-weight:700;display:inline-flex}.project-location-fields{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-location-field-wide{grid-column:span 2}.projects-table{width:100%;min-width:760px}.projects-table th,.projects-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.projects-table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-small);font-weight:600}.project-form-card,.project-form-fields{gap:var(--space-4);display:grid}.project-form-field{gap:var(--space-2);display:grid}.project-form-card textarea{resize:vertical}@media (width<=1100px){.projects-toolbar,.projects-page--editor-open .projects-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-search-field,.projects-page--editor-open .projects-search-field{grid-column:span 1}.projects-card-grid,.projects-card-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.projects-page-header{flex-direction:column;align-items:stretch}.projects-create-button{width:100%}.projects-toolbar,.projects-page--editor-open .projects-toolbar{grid-template-columns:minmax(0,1fr)}.projects-search-field,.projects-page--editor-open .projects-search-field{grid-column:auto}.projects-filter-popover{flex-direction:column;align-items:stretch;position:static}.projects-card-grid,.projects-card-grid--compact{grid-template-columns:minmax(0,1fr)}.project-location-fields,.project-location-field-wide{grid-column:auto;grid-template-columns:minmax(0,1fr)}}.task-budget-summary{gap:var(--space-3);display:grid}.task-budget-summary-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.task-budget-summary-list{gap:var(--space-2);display:grid}.task-budget-summary-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-wrap:wrap;display:flex}.task-payment-summary-metrics{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.task-payment-summary-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;gap:4px;display:grid}.tasks-page{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.tasks-subtabs{flex-wrap:wrap;justify-content:flex-start;width:100%;max-width:100%}.tasks-panel{gap:var(--space-4);width:100%;display:grid}.tasks-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.tasks-view-toggle{width:fit-content}.tasks-tile-grid{align-items:start;gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.tasks-list-card{width:100%;max-width:none;padding:var(--space-4);overflow-x:auto}.tasks-table{width:100%;min-width:920px}.tasks-table th,.tasks-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.tasks-table th{color:var(--color-text-muted);font-size:var(--font-small);background:var(--color-surface-muted);font-weight:600}.tasks-table-status,.tasks-table-progress{color:var(--color-text-muted);font-weight:600}.task-readiness-line{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.task-readiness-header{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.task-readiness-badge{border-radius:var(--radius-sm);width:fit-content;font-size:var(--font-small);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;padding:3px 8px;font-weight:700;line-height:1.2;display:inline-flex}.task-readiness-unreviewed{color:#475569;background:#64748b1f;border-color:#64748b2e}.task-readiness-ready{color:#166534;background:#16a34a1f;border-color:#16a34a2e}.task-readiness-risk{color:#92400e;background:#f59e0b24;border-color:#f59e0b3d}.task-readiness-blocked{color:#991b1b;background:#dc26261a;border-color:#dc262633}.gantt-readiness-badge{transform-origin:100%;z-index:3;max-width:120px;position:absolute;right:4px;transform:scale(.84)}.task-requirements-list,.task-requirement-main,.task-requirement-new{gap:var(--space-2);display:grid}.task-requirement-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.task-requirement-controls{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.task-requirement-checkbox{gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-label);align-items:center;display:inline-flex}.task-requirement-new{padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center}.task-list-row.clickable{cursor:pointer}.task-list-row.active td{background:var(--color-primary-soft)}.task-list-row.clickable:hover td{background:#2563eb14}.task-subline-row td{background:0 0;border-top:0;padding:0}.task-subline-shell{margin:0 0 var(--space-3) 0;padding:var(--space-3);border-radius:var(--radius-md);gap:var(--space-3);background:linear-gradient(#f8fafcfa,#f1f5f9fa);margin-left:20px;display:grid}.task-subline-section{gap:var(--space-2);display:grid}.task-subline-section-header{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.task-subline-section-header>div{gap:2px;display:grid}.task-subline-list{gap:var(--space-2);display:grid}.task-subline-empty{margin:0}.task-subline-action{color:var(--color-text);background:#ffffffe6;border:1px solid #94a3b859;border-radius:999px;padding:6px 10px;font-size:12px}.task-subitem{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:#ffffffeb;display:grid}.task-subitem-summary{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.task-subitem-main{gap:4px;min-width:0;font-size:14px;display:grid}.task-subitem-meta{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.task-subitem-tag{color:#475569;background:#e2e8f0e6;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.task-subitem-editor{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center;display:grid}.task-subitem-editor-create{padding-top:var(--space-2);border-top:1px solid #cbd5e1cc}.task-subitem-editor-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.task-card{box-shadow:var(--shadow-sm);min-width:0}.task-card.selectable{cursor:pointer}.task-card-selected,.task-card.selected{box-shadow:0 0 0 2px #2563eb47, var(--shadow-sm);background:#f8fbff}.task-card.selectable:hover{border-color:var(--color-primary)!important}@media (width<=1400px){.tasks-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1100px){.tasks-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.tasks-tile-grid{grid-template-columns:1fr}.task-subline-shell{margin-left:0}.task-subitem-summary{grid-template-columns:1fr}.task-subitem-meta,.task-subitem-editor-actions{justify-content:flex-start}}.task-card.highlighted{box-shadow:0 0 0 2px var(--color-primary-soft), var(--shadow-sm)}.task-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.task-card-title-row{flex:auto;min-width:0}.task-card-title{color:var(--color-text)}.task-card-schedule{gap:var(--space-1);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.task-card-date-range,.task-card-duration{color:var(--color-text-muted)}.task-card-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.task-card-summary-blocks{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:1fr;display:grid}.task-card-summary-block{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);align-content:start;width:100%;min-width:0;display:grid}.task-card-summary-title{color:var(--color-text-muted);font-size:12px;font-weight:700}.task-card-summary-value,.task-card-summary-block strong,.task-card-truncate,.task-card-meta-value,.task-card-contact,.task-card-assigned{text-overflow:ellipsis;min-width:0;overflow:hidden}.task-card-summary-block strong,.task-card-summary-value{white-space:nowrap}.task-card-info-block{gap:var(--space-3)}.task-card-info-row{gap:var(--space-1);display:grid}.task-card-info-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.task-card-info-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-card-budget span{font-weight:700}.task-card-progress{margin-bottom:var(--space-3)}.task-card-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.task-card-warning{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md)}.task-card-conflict{color:#991b1b;background:#dc262614;border:1px solid #dc26262e}.task-card-locked{color:#92400e;background:#f59e0b14;border:1px dashed #92400e}.status-planned{color:var(--task-planned);background:#64748b26}.status-in-progress{color:var(--task-in-progress);background:#2563eb1f}.status-blocked{color:var(--task-blocked);background:#f59e0b24}.status-done{color:var(--task-done);background:#16a34a1f}.status-cancelled{color:var(--task-cancelled);background:#dc26261a}.task-details-panel{gap:var(--space-4);display:grid}.task-details-header{justify-content:space-between;gap:var(--space-3);align-items:start;display:flex}.task-details-title,.task-details-description{margin:0}.task-details-grid,.task-details-summary-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.task-details-item,.task-details-summary-card,.task-details-note{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;display:grid}.task-details-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.task-details-section{gap:var(--space-3);display:grid}.task-details-section-title{margin:0}.task-details-list{gap:var(--space-3);display:grid}.task-details-list-item{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.task-details-row{gap:var(--space-1);display:grid}.task-details-value{color:var(--color-text);min-width:0}.task-details-amount{font-weight:700}.task-details-status{color:var(--color-text-muted)}.task-edit-tabs{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);scrollbar-width:thin;flex-wrap:wrap;min-width:0;display:flex;overflow-x:auto}.task-edit-tab{border-radius:var(--radius-md);color:var(--color-text-muted);background:0 0;border:1px solid #0000;padding:8px 12px}.task-edit-tab.active{background:var(--color-primary-soft);border-color:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.task-edit-panel{background:var(--color-surface);box-sizing:border-box;min-width:0;max-width:100%}.task-edit-section{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);box-sizing:border-box;min-width:0;max-width:100%;display:grid}.task-edit-grid{gap:var(--space-3);min-width:0;display:grid}.task-edit-grid-two,.task-edit-grid-three,.task-edit-split-responsive{min-width:0}.task-edit-section fieldset,.task-edit-section input,.task-edit-section select,.task-edit-section textarea,.task-edit-section label,.task-edit-section div,.task-edit-section button{box-sizing:border-box;min-width:0;max-width:100%}.date-range-picker{width:100%;max-width:100%;display:grid;position:relative}.date-range-field{width:fit-content;max-width:100%;min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;grid-template-areas:"label";justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-grid}.date-range-field-label{white-space:nowrap;grid-area:label;transition:opacity .14s,transform .14s}.date-range-field-label--duration{opacity:0;transform:translateY(5px)}.date-range-field:hover .date-range-field-label--range,.date-range-field:focus-visible .date-range-field-label--range{opacity:0;transform:translateY(-5px)}.date-range-field:hover .date-range-field-label--duration,.date-range-field:focus-visible .date-range-field-label--duration{opacity:1;transform:translateY(0)}.date-range-field:hover,.date-range-field:focus-visible{border-color:#2563eb6b;outline:none;box-shadow:0 0 0 3px #2563eb1a}.date-range-field:disabled{cursor:not-allowed;opacity:.62}.date-range-popover{top:calc(100% + var(--space-2));z-index:60;box-sizing:border-box;width:100%;min-width:min(560px,100vw - 48px);max-width:calc(100vw - 48px);padding:var(--space-4);border-radius:var(--radius-md);background:#fff;border:1px solid #94a3b852;position:absolute;left:0;box-shadow:0 18px 45px #0f172a2e}.date-range-popover-header,.date-range-monthbar,.date-range-input-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.date-range-popover-header{margin-bottom:var(--space-3);align-items:flex-start}.date-range-popover-header span{max-width:50%;color:var(--color-text-muted);font-size:var(--font-small);text-align:right;font-weight:700;line-height:1.3}.date-range-input-row{margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.date-range-input-row span{min-height:var(--control-height);min-width:0;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:#fff;align-items:center;display:inline-flex}.date-range-monthbar{margin-bottom:var(--space-3)}.date-range-month-controls{gap:var(--space-2);flex:auto;grid-template-columns:minmax(0,1fr) minmax(96px,.72fr);min-width:0;display:grid}.date-range-month-controls label{min-width:0;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;gap:4px;font-size:11px;font-weight:800;display:grid}.date-range-month-controls select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-width:0;min-height:34px;color:var(--color-text);padding:0 var(--space-2);background:#fff;font-weight:800}.date-range-monthbar button{border:1px solid var(--color-border);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text);background:#fff;font-size:22px;line-height:1}.date-range-weekdays,.date-range-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.date-range-weekdays{margin-bottom:var(--space-1);color:var(--color-text-muted);text-align:center;font-size:12px;font-weight:700}.date-range-day{box-sizing:border-box;border-radius:var(--radius-sm);width:100%;min-width:0;min-height:34px;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;padding:0;font-weight:600}.date-range-day.muted{color:#b6beca}.date-range-day.in-range{background:var(--color-primary-soft);color:var(--color-primary)}.date-range-day.is-start,.date-range-day.is-end{background:var(--color-primary);color:#fff}.date-range-day:hover,.date-range-day:focus-visible{border-color:#2563eb70;outline:none}.task-card-planning-block{cursor:help}@media (width<=760px){.date-range-popover{min-width:0}}.build-choices-page{gap:var(--space-4);min-width:0;display:grid}.build-choices-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.build-choices-header h2{margin:0 0 var(--space-1)}.build-choices-toolbar-actions,.build-choices-row-actions,.build-choice-submit-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.build-choices-filterbar,.build-choices-list-card{min-width:0}.build-choices-toolbar{gap:var(--space-3);grid-template-columns:minmax(220px,1.8fr) repeat(2,minmax(180px,.85fr));align-items:end;display:grid}.build-choices-toolbar input,.build-choices-toolbar select{width:100%}.build-choice-toolbar-stat{align-content:center;gap:2px;display:grid}.build-choices-table-wrap{min-width:0;overflow-x:auto}.build-choices-tree-table{min-width:1360px}.build-choices-choice-row td,.build-choices-item-row td{vertical-align:middle}.build-choices-item-title-cell{min-width:260px}.build-choices-item-title-wrap{align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-left:12px;display:inline-flex}.build-choice-selected-pill{border-radius:var(--radius-sm);color:#166534;font-size:var(--font-small);background:#16a34a1f;align-items:center;padding:3px 8px;font-weight:600;display:inline-flex}.build-choice-price-cell{gap:2px;display:grid}.build-choice-price-cell strong,.build-choices-number-cell{font-variant-numeric:tabular-nums}.build-choice-empty-inline{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;flex-wrap:wrap;display:flex}.build-choices-empty-state{gap:var(--space-2);padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);justify-items:start;display:grid}.build-choice-inspector-form{gap:var(--space-4);display:grid}.build-choice-form-section{gap:var(--space-3);display:grid}.build-choice-form-section h4{margin:0}.build-choice-form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.build-choice-form-grid label{gap:6px;min-width:0;display:grid}.build-choice-form-span-2{grid-column:1/-1}.build-choice-inspector-summary,.build-choice-offerline-summary{gap:var(--space-2);padding:var(--space-3);display:grid}.build-choice-inspector-summary h4,.build-choice-offerline-summary h4{margin:0}.build-choice-string-list-section{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);display:grid}.build-choice-string-row,.build-choice-attribute-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.build-choice-attribute-row{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto}.build-choice-photo-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.build-choices-products-list{gap:var(--space-3);display:grid}.build-choice-product-card{gap:var(--space-2);width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;display:grid}.build-choice-product-card.active{background:#f8fbff;border-color:#2563eb3d;box-shadow:0 0 0 2px #2563eb1f}.build-choice-product-card-top,.build-choice-product-card-meta{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=1100px){.build-choices-toolbar{grid-template-columns:1fr}}@media (width<=820px){.build-choice-form-grid{grid-template-columns:1fr}.build-choice-form-span-2{grid-column:auto}.build-choice-string-row,.build-choice-attribute-row{grid-template-columns:1fr}}.budget-page{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.budget-subtabs{z-index:8;background:var(--color-bg);flex-wrap:wrap;justify-content:flex-start;width:100%;max-width:100%;position:sticky;top:0;box-shadow:0 1px #0f172a14}.budget-panel{gap:var(--space-4);align-content:start;width:100%;display:grid}.budget-overview,.budget-timeline,.payment-status-overview,.budget-items-overview,.budget-export{gap:var(--space-4);width:100%;display:grid}.budget-kpi-grid,.payment-kpi-grid,.budget-items-kpi-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.budget-kpi-card,.payment-kpi-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.budget-kpi-label{color:var(--color-text-muted);font-size:var(--font-small);margin-bottom:var(--space-1)}.budget-kpi-value{font-size:var(--font-kpi);line-height:1.2}.budget-section,.payment-status-table,.payment-detail-table,.budget-items-table,.budget-export-card{padding:var(--space-4)}.budget-section{gap:var(--space-3);display:grid}.budget-section-title{margin:0}.budget-table,.payment-status-table table,.payment-detail-table table,.budget-items-table table{width:100%}.budget-table th,.budget-table td,.payment-status-table th,.payment-status-table td,.payment-detail-table th,.payment-detail-table td,.budget-items-table th,.budget-items-table td{border-bottom:1px solid var(--color-border);padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.budget-table th,.payment-status-table th,.payment-detail-table th,.budget-items-table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-small);font-weight:600}.budget-table-wrap{width:100%;overflow-x:auto}.budget-project-budget-list{box-shadow:none;background:0 0;border:0;padding:0}.budget-project-budget-row{cursor:pointer}.budget-project-budget-row:hover td{background:#2563eb14}.budget-project-budget-row[data-selected=true] td{background:var(--color-primary-soft)}.budget-timeline-toolbar{width:fit-content}.budget-timeline-legend{gap:var(--space-4);flex-wrap:wrap;display:flex}.budget-timeline-chart{width:100%;max-width:none;overflow-x:auto}.budget-timeline-svg-wrap{width:100%;overflow-x:auto}.budget-timeline-svg{display:block}.budget-timeline-bars{width:max-content}.budget-timeline-bar{flex:none}.budget-timeline-segment{transition:opacity .15s}.budget-timeline-empty{color:var(--color-text-muted)}.budget-items-filters{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.budget-items-status-badge{box-shadow:inset 0 0 0 1px #0f172a0f}.budget-items-actions{gap:var(--space-2);justify-content:flex-start;display:flex}.budget-rules-workspace{align-content:start}.budget-rules-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.budget-rules-table-card{width:100%;min-width:0;max-width:none;overflow-x:auto}.budget-rule-row{cursor:pointer}.budget-rule-row.selected{background:#eff6ff}.budget-rule-amount{text-align:right;white-space:nowrap}.budget-inspector-tabs{width:fit-content;max-width:100%}.budget-inspector-form{gap:var(--space-3);display:grid}.budget-inspector-field{gap:6px;min-width:0;display:grid}.budget-inspector-grid-two{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.budget-inspector-checkbox{gap:var(--space-2);align-items:center;display:flex}.budget-payment-list,.budget-payment-editor{gap:var(--space-3);padding:var(--space-3);display:grid}.budget-payment-table{gap:4px;display:grid}.budget-payment-row{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:left;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.9fr);align-items:center;padding:10px 12px;display:grid}.budget-payment-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.budget-payment-row-header{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;font-weight:700}.budget-payment-header-button{text-align:left;color:inherit;justify-content:space-between}.budget-payment-row-button{background:var(--color-surface)}.budget-payment-row-button.selected{border-color:var(--color-primary);background:#eff6ff}.budget-payment-editor-actions,.budget-inspector-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.budget-export{max-width:none}.budget-export-card{gap:var(--space-3);display:grid}.budget-export-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.planning-page{gap:var(--space-5);margin-bottom:var(--space-8);min-width:0;display:grid}.planning-page--gantt{gap:var(--space-4)}.planning-subtabs{box-sizing:border-box;z-index:8;background:var(--color-bg);flex-wrap:wrap;width:100%;max-width:none;display:flex;position:sticky;top:0;box-shadow:0 1px #0f172a14}.planning-panel{gap:var(--space-4);width:100%;min-width:0;max-width:100%;display:grid}.planning-toolbar{width:100%;max-width:none;display:block}.planning-toolbar-panel{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 14px 32px #0f172a1a}.planning-filter-toggle{gap:var(--space-2);color:var(--color-text);align-items:center;display:inline-flex}.planning-grid{gap:var(--space-4);min-width:0;display:grid}.planning-summary,.planning-actions,.planning-gantt-card{padding:var(--space-4);box-sizing:border-box;width:100%;min-width:0;max-width:100%}.planning-summary-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.planning-summary-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface-muted)}.planning-summary-label{font-size:var(--font-small);color:var(--color-text-muted);margin-bottom:var(--space-1)}.planning-summary-value{font-size:var(--font-kpi);color:var(--color-text);font-weight:700}.planning-summary-next{gap:var(--space-2);display:grid}.planning-actions-list{gap:var(--space-3);display:grid}.planning-action-item{border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.planning-action-severity{font-size:var(--font-small);margin-right:var(--space-2);border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.planning-action-title{color:var(--color-text);font-weight:600}.planning-action-meta{color:var(--color-text-muted);margin-top:var(--space-1);font-size:13px}.planning-gantt-card{gap:var(--space-3);background:var(--color-surface);border:1px solid #94a3b847;display:grid;overflow:hidden;box-shadow:0 14px 32px #0f172a0f}.planning-gantt-scroll{width:100%;min-width:0;max-width:100%;overflow:hidden}.planning-gantt-toolbar{justify-content:flex-start;align-items:center;gap:var(--space-2);flex-wrap:nowrap;min-width:0;display:flex;position:relative}.planning-gantt-toolbar-actions{gap:var(--space-2);flex-wrap:nowrap;justify-content:flex-start;align-items:center;width:100%;min-width:0;display:flex}.planning-gantt-search{flex:320px;width:auto;min-width:220px}.planning-filter-popover{z-index:24;background:var(--color-surface);width:min(540px,100%);position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 36px #0f172a24}.planning-filter-popover-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.planning-filter-popover-field{color:var(--color-text-muted);gap:6px;font-size:12px;display:grid}.planning-filter-popover-field span{font-weight:600}.planning-filter-popover-options,.planning-filter-popover-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.planning-filter-popover-options{margin-top:var(--space-3)}.planning-filter-popover-actions{margin-top:var(--space-3);justify-content:flex-end}.planning-gantt-zoom{flex:none;width:auto;max-width:100%}.planning-gantt-zoom .segmented-button{min-width:76px}.planning-gantt-chart{min-width:0}.planning-gantt-scroller{border-radius:var(--radius-lg);scrollbar-gutter:stable both-edges;background:#fff;border:1px solid #94a3b838;max-height:min(70vh,920px);overflow:auto}.planning-gantt-grid{align-items:stretch;min-width:max-content;display:grid}.planning-gantt-cell{min-height:48px;position:relative}.planning-gantt-cell--header{z-index:7;background:#fff;position:sticky;top:0}.planning-gantt-cell--sidebar-header,.planning-gantt-cell--sidebar{z-index:6;isolation:isolate;background:#fff;border-right:1px solid #94a3b82e;position:sticky;left:0;overflow:hidden}.planning-gantt-cell--sidebar:after{content:"";background:inherit;pointer-events:none;z-index:3;width:10px;position:absolute;top:0;bottom:0;right:-1px}.planning-gantt-cell--sidebar-header{z-index:9;padding:12px var(--space-4);align-items:center;display:flex;box-shadow:8px 0 14px #fffffffa;background-color:#fff!important}.planning-gantt-header-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px}.planning-gantt-cell--timeline-header{z-index:8;background:#f8fafc;border-bottom:1px solid #94a3b829;overflow:hidden}.planning-gantt-header-bands{position:relative}.planning-gantt-header-band{border-bottom:1px solid #94a3b824;min-height:38px;display:flex}.planning-gantt-header-band--primary,.planning-gantt-header-band--secondary{background:#f8fafc}.planning-gantt-header-segment{padding:0 var(--space-2);text-transform:uppercase;color:#475569;box-sizing:border-box;border-right:1px solid #94a3b829;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.planning-gantt-group-row{background:rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26);border-bottom:1px solid #94a3b829;min-height:52px}.planning-gantt-group-sidebar-fill{background:linear-gradient(rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26), rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26)), #fff;pointer-events:none;position:absolute;inset:0}.planning-gantt-group-row.planning-gantt-cell--sidebar{background:linear-gradient(rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26), rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26)), #fff!important}.planning-gantt-group-content{z-index:1;position:relative}.planning-gantt-task-row{border-bottom:1px solid #e2e8f0eb;min-height:42px}.planning-gantt-task-sidebar{width:100%;min-height:100%;padding:8px var(--space-4) 8px calc(var(--space-4) + 18px);text-align:left;border:none;border-radius:0;align-items:center;display:flex;background:#fff!important}.planning-gantt-task-sidebar:hover,.planning-gantt-bar:hover{filter:brightness(.99)}.planning-gantt-task-sidebar.is-hovered{background:#eef2f7!important}.planning-gantt-task-timeline.is-hovered{background:#eef2f7}.planning-gantt-task-sidebar.status-conflict{background:#fef2f2!important}.planning-gantt-task-timeline.is-conflict{background:#fef2f2}.planning-gantt-task-sidebar.is-locked{background:#f8fafc!important}.planning-gantt-task-timeline.is-locked{background:#f8fafc}.planning-gantt-task-title-row{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex}.planning-gantt-task-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:400;overflow:hidden}.planning-gantt-task-inline-meta{color:var(--color-text-muted);white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:11px;display:inline-flex}.planning-gantt-task-inline-duration{color:#475569;font-weight:600}.planning-gantt-task-lock{text-transform:uppercase;color:#92400e;margin-left:auto;font-size:11px;font-weight:700}.planning-gantt-group-title{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-1);color:#0f172a;font-weight:600;display:flex}.planning-gantt-group-swatch{border-radius:999px;flex:0 0 12px;width:12px;height:12px}.planning-gantt-group-meta{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);color:#334155;flex-wrap:wrap;font-size:12px;display:flex}.planning-gantt-badge{border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-weight:600;display:inline-flex}.planning-gantt-badge--conflict{color:#b91c1c;background:#fee2e2f5}.planning-gantt-badge--locked{color:#92400e;background:#fef3c7f5}.planning-gantt-cell--timeline{z-index:1;overflow:hidden}.planning-gantt-task-timeline,.planning-gantt-group-row.planning-gantt-cell--timeline{padding:0}.planning-gantt-task-timeline:before{content:"";pointer-events:none;z-index:1;background:0 0;position:absolute;inset:0}.planning-gantt-track-grid{z-index:0;height:100%;display:flex;position:relative}.planning-gantt-track-cell{box-sizing:border-box;background:#fff;border-right:1px solid #e2e8f0ad;height:100%}.planning-gantt-track-cell.is-weekend{background:#f8fafc}.planning-gantt-track-cell.is-non-working{background:#f1f5f9}.planning-gantt-track-cell.is-blocked{background:#fef2f2}.planning-gantt-track-cell.is-today{background:#dbeafe}.planning-gantt-task-timeline.is-hovered:before{background:#eef2f7}.planning-gantt-task-timeline.is-conflict:before{background:#fef2f2}.planning-gantt-task-timeline.is-locked:before{background:#f8fafc}.planning-gantt-track-cell--phase{background:rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26);border-right-color:rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .24)}.planning-gantt-track-cell--phase.is-weekend,.planning-gantt-track-cell--phase.is-non-working{background:rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26)}.planning-gantt-track-cell--phase.is-blocked{background:rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26);box-shadow:inset 0 0 0 1px #dc262629}.planning-gantt-track-cell--phase.is-today{background:rgba(var(--planning-gantt-phase-rgb,219, 234, 254), .26)}.planning-gantt-today-column{pointer-events:none;z-index:1;background:#ef444414;border-left:2px solid #dc2626b3;border-right:0;position:absolute;top:0;bottom:0}.planning-gantt-today-column--header{z-index:2;bottom:1px}.planning-gantt-today-column--body{z-index:1;top:-1px}.planning-gantt-group-budget{right:var(--space-4);color:#334155;z-index:4;font-size:13px;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.planning-gantt-bar{justify-content:space-between;align-items:center;gap:var(--space-2);color:#fff;z-index:4;border:1px solid #ffffffe6;border-radius:9px;height:28px;padding:0 10px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 20px #0f172a24}.planning-gantt-bar-button{cursor:pointer;width:100%}.planning-gantt-bar-shell{z-index:4;align-items:center;max-width:calc(100% - 6px);height:32px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.planning-gantt-bar-shell.is-hovered .planning-gantt-bar,.planning-gantt-bar-shell.is-resizing .planning-gantt-bar{box-shadow:0 10px 22px #0f172a29}.planning-gantt-resize-handle{opacity:0;pointer-events:none;cursor:col-resize;z-index:6;box-sizing:border-box;background:#0f172a;border:1.5px solid #fff;border-radius:3px;width:6px;min-width:0;height:14px;margin:0;padding:0;transition:opacity .14s,background-color .14s;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 4px #0f172a47}.planning-gantt-bar-shell.is-hovered .planning-gantt-resize-handle,.planning-gantt-bar-shell.is-resizing .planning-gantt-resize-handle,.planning-gantt-resize-handle:focus-visible{opacity:1;pointer-events:auto}.planning-gantt-resize-handle:hover,.planning-gantt-resize-handle:focus-visible{background:#020617}.planning-gantt-resize-handle--start{left:-3px}.planning-gantt-resize-handle--end{right:-3px}.planning-gantt-bar--planned{background:#64748b}.planning-gantt-bar--active{background:#2563eb}.planning-gantt-bar--blocked{background:#f97316}.planning-gantt-bar--done{background:#22c55e}.planning-gantt-bar--cancelled{background:#94a3b8}.planning-gantt-bar--locked{background:#9ca3af}.planning-gantt-bar--conflict{background:#b45309;outline:2px solid #dc2626e6}.planning-gantt-bar-progress{pointer-events:none;background:#ffffff38;position:absolute;inset:0 auto 0 0}.planning-gantt-bar-label{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex;position:relative}.planning-gantt-bar-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.planning-gantt-bar-percent{font-size:12px;font-weight:700}.planning-gantt-bar .gantt-readiness-badge{z-index:1;flex:none;margin-left:auto;position:relative}.planning-gantt-empty{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#f8fafce6;margin:0}.planning-gantt-pan-surface{cursor:grab}.planning-gantt-scroller.is-panning,.planning-gantt-scroller.is-panning .planning-gantt-pan-surface{cursor:grabbing}.gantt-group{display:grid}.gantt-group-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);margin-bottom:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-wrap:wrap;display:flex}.gantt-group-title{align-items:center;gap:var(--space-2);color:var(--color-text);display:inline-flex}.gantt-group-color{border-radius:999px;flex:0 0 10px;width:10px;height:10px}.gantt-group-meta{align-items:center;gap:var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;font-size:13px;display:inline-flex}.gantt-group-conflict{color:var(--color-danger);font-weight:600}.gantt-group-locked{color:var(--color-warning);font-weight:600}@media (width<=920px){.planning-gantt-toolbar{flex-wrap:wrap;align-items:stretch}.planning-gantt-toolbar-actions{flex-wrap:wrap;justify-content:flex-start}.planning-gantt-zoom{width:100%}.planning-filter-popover{width:100%;left:0;right:0}.planning-filter-popover-grid{grid-template-columns:1fr}.planning-gantt-cell--sidebar-header,.planning-gantt-cell--sidebar{min-width:260px}}.profile-modal-backdrop{z-index:80;padding:var(--space-6);background:#0f172a47;place-items:center;display:grid;position:fixed;inset:0}.profile-modal{gap:var(--space-4);width:min(760px,100%);max-height:min(780px,100vh - 48px);padding:var(--space-5);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden}.profile-modal-header,.profile-modal-actions{justify-content:space-between;align-items:start;gap:var(--space-4);flex-wrap:wrap;display:flex}.profile-modal-header h2{margin:0 0 var(--space-1)}.profile-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-modal-body{min-height:0;padding-right:var(--space-1);overflow:hidden auto}.organization-settings-modal{gap:var(--space-5);width:min(1360px,92vw);height:min(88vh,940px);max-height:88vh;padding:var(--space-5);background:color-mix(in srgb, var(--color-surface) 76%, var(--color-bg) 24%);border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent 18%);box-shadow:var(--shadow-lg)}.organization-settings-header-copy{gap:var(--space-1);display:grid}.organization-settings-close-button{align-self:start;min-width:108px}.organization-settings-tabs{z-index:2;background:color-mix(in srgb, var(--color-surface-muted) 82%, var(--color-bg) 18%);border-color:color-mix(in srgb, var(--color-border) 88%, transparent 12%);grid-template-columns:repeat(6,minmax(0,1fr));gap:0;width:100%;padding:6px;display:grid;position:sticky;top:0;overflow:hidden;box-shadow:inset 0 1px #ffffff05}.organization-settings-tab-button{min-width:0;min-height:var(--control-height);padding:var(--control-padding-block) var(--space-4);color:var(--color-text-muted);font-weight:600;font-size:var(--font-label);justify-content:center}.organization-settings-tab-button:hover{background:color-mix(in srgb, var(--color-surface) 68%, transparent 32%);color:var(--color-text)}.organization-settings-tab-button.active{background:color-mix(in srgb, var(--color-primary) 82%, #fff 18%);color:#fff}.organization-settings-body{min-height:clamp(560px,62vh,720px);padding-right:0;overflow-x:hidden}.organization-settings-surface{align-content:start;gap:var(--space-5);min-height:100%;padding:var(--space-5);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent 22%);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-muted) 72%, var(--color-bg) 28%), color-mix(in srgb, var(--color-surface) 82%, var(--color-bg) 18%));box-sizing:border-box;display:grid}.organization-settings-panel{gap:var(--space-4);min-width:0;display:grid}.organization-settings-panel-header{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.organization-settings-panel-header h3,.organization-settings-panel h4{margin:0}.organization-settings-card{border-color:color-mix(in srgb, var(--color-border) 78%, transparent 22%);background:color-mix(in srgb, var(--color-surface) 72%, var(--color-surface-muted) 28%);min-width:0;box-shadow:inset 0 1px #ffffff05}.organization-settings-overview-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.organization-settings-summary-card{align-content:start;max-width:none;min-height:148px}.organization-settings-weekdays{gap:var(--space-3);flex-wrap:wrap;display:flex}.organization-settings-weekday{border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent 28%);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface-muted) 76%, var(--color-bg) 24%);align-items:center;gap:8px;padding:10px 12px;display:flex}.organization-settings-lists-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.organization-settings-list{gap:var(--space-3);min-width:0;display:grid}.organization-settings-list-row,.organization-settings-list-add{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 132px;align-items:center;display:grid}.organization-settings-list-row input,.organization-settings-list-add input{min-width:0}.organization-settings-footer{padding-top:var(--space-3);border-top:1px solid color-mix(in srgb, var(--color-border) 72%, transparent 28%);background:color-mix(in srgb, var(--color-surface) 70%, transparent 30%);align-items:center}.profile-section{gap:var(--space-4);max-width:560px;display:grid}.profile-field{gap:var(--space-2);font-weight:600;display:grid}.profile-field input,.profile-field select{font-weight:400}.profile-advanced{gap:var(--space-2);display:grid}.profile-readonly-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.profile-modal-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.billing-modal{width:min(1180px,100%);height:min(840px,100vh - 48px);max-height:calc(100vh - 48px)}.profile-modal-placeholder-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.billing-workspace,.billing-panel{gap:var(--space-4);min-width:0;display:grid}.billing-workspace{grid-template-rows:auto auto minmax(0,1fr) auto auto;min-height:100%}.billing-panel{align-content:start;min-height:360px}.billing-summary-grid,.billing-kpi-grid,.billing-addon-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.billing-tabs{z-index:2;background:var(--color-bg);width:100%;position:sticky;top:0}.billing-usage-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.billing-usage-card-header{justify-content:space-between;gap:var(--space-3);align-items:baseline;display:flex}.billing-progress-track{border-radius:var(--radius-sm);background:var(--color-border);height:8px;overflow:hidden}.billing-progress-fill{border-radius:inherit;background:var(--color-primary);height:100%}.billing-table-wrap{min-width:0;overflow-x:auto}.billing-compare-table{border-collapse:collapse;width:100%;min-width:940px}.billing-compare-table th,.billing-compare-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.billing-compare-table th{background:var(--color-surface-muted);font-size:var(--font-small);text-transform:uppercase}.billing-feature-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.billing-feature-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);font-size:var(--font-small);align-items:center;padding:5px 8px;font-weight:600;display:inline-flex}@media (width<=920px){.organization-settings-modal{width:min(1100px,94vw);height:min(88vh,900px)}.organization-settings-tabs{display:flex;overflow:auto hidden}.organization-settings-tab-button{flex:none;min-width:152px}.organization-settings-overview-grid,.organization-settings-lists-grid,.organization-settings-list-row,.organization-settings-list-add{grid-template-columns:1fr}}@media (width<=640px){.profile-modal-backdrop{padding:var(--space-3)}.organization-settings-modal{width:100%;height:min(92vh,920px);padding:var(--space-4)}.organization-settings-surface{padding:var(--space-4)}.organization-settings-body{min-height:0}}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block!important}body,#root{color:#000!important;background:#fff!important;border:none!important;width:100%!important;max-width:none!important;min-height:auto!important}@page{size:A4 landscape;margin:12mm}}.technical-screen.page-shell{max-width:1400px;margin:0 auto;padding:24px 28px}.technical-screen h2{font-size:var(--font-title);color:var(--color-text);margin:0 0 20px;font-weight:700}.sub-tab-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:0;display:flex}.sub-tab-btn{cursor:pointer;font-size:var(--font-label);color:var(--color-text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 16px;font-weight:500;transition:color .2s,background .2s;display:inline-flex;position:relative}.sub-tab-btn:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-soft)}.sub-tab-btn--active{color:var(--color-primary);border-bottom:2px solid var(--color-primary);font-weight:700}.sub-tab-btn--disabled{opacity:.5;cursor:not-allowed}.sub-tab-icon{font-size:16px;line-height:1}.sub-tab-soon{text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:9999px;margin-left:2px;padding:1px 6px;font-size:10px;font-weight:600}.technical-config-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:20px;padding:14px 18px;display:flex}.config-item{align-items:center;gap:10px;display:flex}.config-item--summary{margin-left:auto;font-weight:700}.config-label{font-size:var(--font-small);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.config-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-label);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:6px 10px}.config-value{font-size:var(--font-label);color:var(--color-text);font-weight:600}@keyframes select-saving-pulse{0%{opacity:.6}50%{opacity:.85}to{opacity:.6}}.config-select--saving{cursor:wait;animation:1.5s ease-in-out infinite select-saving-pulse}.config-badge{border-radius:var(--radius-md);font-size:var(--font-small);border:1px solid #0000;align-items:center;gap:8px;padding:8px 14px;font-weight:500;line-height:1.4;display:inline-flex}.config-badge--blue{color:var(--color-primary,#2563eb);background:#2563eb14;border-color:#2563eb26}.technical-info-banner{border-radius:var(--radius-lg);border:1px solid #0000;flex-direction:column;gap:8px;margin-bottom:20px;padding:16px 20px;transition:all .3s;display:flex;box-shadow:0 4px 6px -1px #00000008,0 2px 4px -1px #00000005}.technical-info-banner--domotica{background:linear-gradient(135deg,#2563eb08 0%,#2563eb12 100%);border-color:#2563eb26}.technical-info-banner--warning{color:#b45309;background:linear-gradient(135deg,#f59e0b08 0%,#f59e0b12 100%);border-color:#f59e0b33;flex-direction:row;align-items:center;font-weight:500}.tib-header{font-size:var(--font-base);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tib-icon{font-size:18px}.tib-limit{font-size:var(--font-small);color:var(--color-primary);background:#2563eb1a;border-radius:9999px;margin-left:auto;padding:3px 8px;font-weight:600}.tib-note{font-size:var(--font-label);color:var(--color-text);margin:0;line-height:1.5}.tib-note--muted{font-size:var(--font-small);color:var(--color-text-muted);border-top:1px solid #0000000d;margin-top:4px;padding-top:8px}.technical-installations-view{flex-direction:column;gap:16px;display:flex}.tiv-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tiv-summary-badges{flex-wrap:wrap;flex:1;gap:8px;display:flex}.badge{font-size:var(--font-small);cursor:pointer;background:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid #0000;border-radius:9999px;align-items:center;gap:5px;padding:5px 12px;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.badge:hover{opacity:.85}.badge--ok{color:#16a34a;background:#dcfce7;border-color:#86efac}.badge--warning{color:#b45309;background:#fef9c3;border-color:#fcd34d}.badge--error{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.badge--reset{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.badge--active{font-weight:800;box-shadow:0 0 0 2px}.tiv-empty{text-align:center;color:var(--color-text-muted);font-size:var(--font-base);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);padding:48px 24px}.tiv-table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto}.tiv-table{border-collapse:collapse;width:100%;font-size:var(--font-table)}.tiv-table thead tr{background:var(--color-surface-muted);border-bottom:2px solid var(--color-border)}.tiv-table th{text-align:left;color:var(--color-text-muted);font-weight:700;font-size:var(--font-small);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:10px 12px}.tiv-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap;padding:11px 12px}.tiv-row:last-child td{border-bottom:none}.tiv-row:hover{background:var(--color-surface-muted)}.tiv-row--error td{background:#dc262608}.tiv-row--warning td{background:#f59e0b08}.tiv-cell-id{font-family:monospace;font-weight:700;font-size:var(--font-label);color:var(--color-primary);min-width:50px}.tiv-cell-desc{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--color-text);overflow:hidden}.tiv-cell-number{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--font-small)}.cable-badge{color:#0369a1;font-family:monospace;font-size:var(--font-small);background:#e0f2fe;border-radius:4px;align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.tiv-cell-bundle{text-align:center;font-size:var(--font-small)}.status-pill{white-space:nowrap;border:1px solid;border-radius:9999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.tiv-cell-actions{justify-content:flex-end;gap:4px;display:flex}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:14px;transition:background .15s}.btn-icon:hover{background:var(--color-surface-muted)}.btn-icon--danger:hover{background:#fee2e2}.tiv-arei-footer{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-small);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.arei-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.arei-norm{color:var(--color-text-muted);font-weight:500}.arei-norm--strict{color:#dc2626;font-weight:700}.circuit-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:760px;padding:24px}.circuit-form-title{color:var(--color-text);margin:0 0 16px;font-size:16px;font-weight:700}.circuit-form-preview{background:var(--color-surface-muted);border-radius:var(--radius-md);border:2px solid;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding:12px 16px;transition:border-color .3s;display:flex}.circuit-form-preview span{font-size:var(--font-small);color:var(--color-text)}.circuit-form-preview strong{font-weight:700}.preview-status{font-weight:800;font-size:var(--font-label)!important}.form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.form-field{flex-direction:column;gap:5px;display:flex}.form-field--full{grid-column:1/-1}.form-field span{font-size:var(--font-small);color:var(--color-text-muted);font-weight:600}.form-field input,.form-field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-label);background:var(--color-surface);color:var(--color-text);padding:9px 12px;transition:border-color .2s}.form-field input:focus,.form-field select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.form-actions{justify-content:flex-end;gap:10px;display:flex}.btn{border-radius:var(--radius-sm);font-size:var(--font-label);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 18px;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted)}.info-q-btn{background:var(--color-surface-muted,#f1f5f9);color:var(--color-text-muted,#64748b);border:1px solid var(--color-border,#cbd5e1);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.info-q-btn:hover{color:var(--color-primary,#2563eb);background:#2563eb14;border-color:#2563eb33}.form-field-help-box{border-radius:var(--radius-md,6px);font-size:var(--font-small,12px);color:var(--color-text,#1e293b);background:linear-gradient(135deg,#2563eb05 0%,#2563eb0d 100%);border:1px dashed #2563eb33;grid-column:1/-1;margin-top:4px;padding:12px 14px;animation:.2s fadeIn}.form-field-help-box strong{color:var(--color-primary,#2563eb);margin-bottom:4px;display:block}.form-field-help-box p{color:var(--color-text-muted,#475569);margin:0 0 8px;line-height:1.4}.help-box-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:11px}.help-box-table th,.help-box-table td{text-align:left;border-bottom:1px solid #0000000d;padding:4px 6px}.help-box-table th{color:var(--color-text-muted);font-weight:700}.help-box-list{margin:0;padding-left:16px;line-height:1.5}.help-box-list li{margin-bottom:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.design-screen.page-shell{--design-canvas-bg:#f8fafc;--design-canvas-grid-minor:#94a3b83d;--design-canvas-grid-major:#64748b47;height:100%;min-height:0;font-family:var(--sans);font-size:var(--font-base);letter-spacing:.18px;flex-direction:column;flex:1;margin:0;padding:0 0 4px;display:flex;max-width:100%!important}[data-theme=dark] .design-screen.page-shell{--design-canvas-bg:#0b1120;--design-canvas-grid-minor:#47556980;--design-canvas-grid-major:#64748ba3}.design-screen button,.design-screen input,.design-screen select,.design-screen textarea{font-family:var(--sans);letter-spacing:.18px}.design-header{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:4px;display:flex;overflow-x:auto}.design-header h2{font-size:var(--font-title,24px);color:var(--color-text,#1e293b);margin:0 0 4px;font-weight:700}.design-alert{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin:8px 0;padding:8px 12px;font-size:13px;font-weight:600}.design-subtitle{font-size:var(--font-label,13px);color:var(--color-text-muted,#64748b);margin:0}.design-top-toggles{flex-wrap:nowrap;gap:10px;margin-left:auto;display:flex}.design-top-toggles .btn,.design-floor-tabs .btn,.design-floor-tabs .toolbar-select{font-size:var(--font-sidebar);font-weight:400;line-height:145%}.btn-active-toggle{font-weight:700;background:var(--color-primary-soft,#2563eb14)!important;color:var(--color-primary,#2563eb)!important;border-color:#2563eb40!important}.design-screen--fullwidth{max-width:100%!important}.design-layout-container{flex-direction:column;align-items:stretch;gap:16px;display:flex}.design-toolbar{background:var(--color-surface,#fff);border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-lg,12px);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:4px;padding:12px 18px;display:flex;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.design-toolbar-group{border-right:1px solid var(--color-border,#cbd5e1);flex-direction:column;justify-content:center;gap:5px;padding-right:16px;display:flex}.design-toolbar-group:last-child{border-right:none;padding-right:0}.design-toolbar-group:first-child{grid-template-columns:repeat(5,auto);align-content:center;display:grid}.design-toolbar-group:first-child .design-toolbar-group-title{grid-column:1/-1}.design-toolbar-group-title{font-size:var(--font-small);color:var(--color-text-muted,#64748b);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-weight:700}.tool-btn-horizontal{border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-sm,6px);background:var(--color-surface,#fff);color:var(--color-text,#1e293b);font-size:var(--font-sidebar);cursor:pointer;align-items:center;gap:6px;margin-right:4px;padding:6px 12px;font-weight:400;transition:all .15s;display:inline-flex}.tool-btn-horizontal:hover:not(:disabled){background:var(--color-surface-muted,#f8fafc);border-color:var(--color-text-muted,#64748b)}.tool-btn-horizontal.active{font-weight:600;box-shadow:0 2px 4px #2563eb26;background:var(--color-primary,#2563eb)!important;color:#fff!important;border-color:var(--color-primary,#2563eb)!important}.tool-btn-horizontal:disabled{opacity:.4;cursor:not-allowed}.toolbar-select{border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-sm,6px);font-size:var(--font-sidebar);background:var(--color-surface,#fff);color:var(--color-text,#1e293b);cursor:pointer;min-width:150px;height:29px;padding:5px 8px;transition:border-color .15s}.toolbar-select:focus{border-color:var(--color-primary);outline:none}.design-canvas-container--full{width:100%}.design-canvas-container{border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-lg,12px);background:var(--design-canvas-bg,#f8fafc);flex-grow:1;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #00000005}.design-svg-canvas{background:var(--design-canvas-bg,#f8fafc);display:block}.design-grid-bg{fill:var(--design-canvas-bg,#f8fafc)}.design-grid-line--minor{stroke:var(--design-canvas-grid-minor,#94a3b83d);stroke-width:.7px}.design-grid-line--major{stroke:var(--design-canvas-grid-major,#64748b47);stroke-width:1px}.design-svg-canvas--panning,.design-svg-canvas--panning *{cursor:grabbing!important}.design-zoom-controls{z-index:22;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:8px;display:inline-flex;position:absolute;bottom:16px;left:16px;overflow:hidden}.design-zoom-controls button{border:none;border-right:1px solid var(--color-border);background:var(--color-surface);min-width:34px;height:32px;color:var(--color-text);font-size:var(--font-sidebar);cursor:pointer;padding:0 9px;font-weight:600}.design-zoom-controls button:nth-child(2){min-width:58px;font-weight:500}.design-zoom-controls button:last-child{border-right:none}.design-zoom-controls button:hover:not(:disabled){background:var(--color-surface-muted)}.design-zoom-controls button:disabled{cursor:not-allowed;opacity:.4}.design-svg-canvas--wall-spouw,.design-svg-canvas--wall-binnen{cursor:crosshair}.design-svg-canvas--door,.design-svg-canvas--window,.design-svg-canvas--symbol-outlet,.design-svg-canvas--symbol-switch,.design-svg-canvas--symbol-light,.design-svg-canvas--symbol-sensor,.design-svg-canvas--meter-cabinet{cursor:cell}.design-svg-canvas--dimension,.design-svg-canvas--dimension-horizontal,.design-svg-canvas--dimension-vertical,.design-svg-canvas--dimension-diagonal,.design-svg-canvas--box-select{cursor:crosshair}.design-floor-tabs{flex-shrink:0;align-items:center;gap:6px;padding:0;display:flex;overflow-x:auto}.design-floor-workspace-tabs{border-bottom:1px solid var(--color-border);align-items:flex-end;gap:3px;min-height:38px;margin-top:6px;padding:0 10px;display:flex;overflow-x:auto}.design-floor-workspace-tabs button{border:1px solid var(--color-border);background:var(--color-surface-muted);min-width:110px;color:var(--color-text);font-size:var(--font-sidebar);cursor:pointer;border-bottom:none;border-radius:8px 8px 0 0;padding:8px 16px 9px}.design-floor-workspace-tabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:600}.design-floor-workspace-tabs button:disabled{cursor:not-allowed;opacity:.5}.design-floor-workspace-tabs .design-floor-workspace-tabs__add{background:var(--color-surface);min-width:auto}.design-workspace-layout--setup .design-left-sidebar{display:none}.design-canvas-setup{z-index:30;color:var(--color-text);text-align:center;background:#f8fafcf5;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex;position:absolute;inset:0}.design-canvas-setup strong{font-size:18px}.design-canvas-setup span{max-width:520px;color:var(--color-text-muted);font-size:13px}.design-justification-bar{z-index:15;border:1px solid var(--color-border);background:var(--color-surface);width:fit-content;box-shadow:var(--shadow-sm);border-radius:20px;align-items:center;gap:12px;padding:6px 16px;font-size:12px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.design-hint-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;pointer-events:none;z-index:10;background:#1e293bd9;border-radius:999px;padding:8px 16px;font-size:12px;font-weight:600;animation:.2s fadeIn;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 15px -3px #0000001a}.design-canvas-properties{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-lg,12px);z-index:20;background:#ffffffe6;width:270px;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) slideInRight;position:absolute;top:16px;right:16px;box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a}.prop-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.prop-badge{text-transform:uppercase;color:var(--color-primary,#2563eb);background:#2563eb14;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.prop-close-btn{cursor:pointer;color:var(--color-text-muted,#64748b);background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1;transition:color .15s}.prop-close-btn:hover{color:var(--color-text,#1e293b)}.design-canvas-properties h4{color:var(--color-text,#1e293b);margin:0 0 6px;font-size:14px;font-weight:700}.prop-text{color:var(--color-text-muted,#475569);margin:0 0 12px;font-size:12px;line-height:1.4}.prop-form-field{flex-direction:column;gap:4px;margin-top:10px;display:flex}.prop-form-field span{color:var(--color-text-muted,#64748b);font-size:11px;font-weight:600}.btn-danger-soft{color:#ef4444!important;background:#ef44440d!important;border-color:#ef444426!important}.btn-danger-soft:hover{background:#ef44441a!important;border-color:#ef444440!important}.design-canvas-stats{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-md,8px);z-index:10;background:#ffffffe6;width:200px;padding:12px;position:absolute;bottom:16px;right:16px;box-shadow:0 4px 6px -1px #0000000d}.stat-title{color:var(--color-text-muted,#64748b);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:700}.design-stats-list{flex-direction:column;gap:6px;display:flex}.stat-row{justify-content:space-between;font-size:12px;display:flex}.stat-row span{color:var(--color-text-muted,#64748b)}.stat-row strong{color:var(--color-text,#1e293b);font-weight:600}.design-save-state{border-top:1px solid var(--color-border,#cbd5e1);margin-top:4px;padding-top:6px}.design-save-state--saved strong{color:#047857}.design-save-state--saving strong,.design-save-state--dirty strong{color:#b45309}.design-save-state--error strong{color:#dc2626}.design-floating-input-container{border:2px solid var(--color-primary,#2563eb);border-radius:var(--radius-md,6px);pointer-events:auto;background:#fffffff2;align-items:center;padding:4px 6px;display:flex;box-shadow:0 4px 6px -1px #0000001f,0 2px 4px -1px #00000014}.design-floating-input{width:72px;color:var(--color-text,#1e293b);text-align:center;background:0 0;font-size:12.5px;font-weight:700;border:none!important;outline:none!important;padding:2px 4px!important}.design-floating-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.design-floating-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.design-floating-input[type=number]{-moz-appearance:textfield}.design-floating-input-unit{color:var(--color-text-muted,#64748b);margin-left:2px;font-size:11px;font-weight:700}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.design-svg-canvas[class*=design-svg-canvas--wall]{cursor:crosshair}.design-left-sidebar{border:1px solid var(--color-border);border-radius:var(--radius-lg,12px);background:var(--color-surface);width:500px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:18px;height:100%;padding:16px;display:flex;overflow-y:auto}.design-left-sidebar h4{font-family:var(--sans);line-height:145%;font-size:var(--font-sidebar)!important;font-weight:600!important}.design-left-sidebar h5,.design-left-sidebar .section-subtitle{font-family:var(--sans);line-height:145%;font-size:var(--font-small)!important}.app-main-content--design{flex-direction:column;align-content:stretch;height:100%;padding-right:0;display:flex;overflow:hidden!important}.design-workspace-layout{flex:1;align-items:stretch;gap:16px;width:100%;min-height:0;margin-top:0;display:flex}.support-panel-backdrop{z-index:80;background:#0f172a52;justify-content:flex-end;display:flex;position:fixed;inset:0}.support-panel{gap:var(--space-4);width:min(960px,100%);height:100%;padding:var(--space-5);background:var(--color-surface);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.support-panel-header,.support-panel-list-header,.support-panel-detail-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.support-panel-header h2,.support-panel-detail h3,.support-panel-list h3{margin:0}.support-panel-header p,.support-panel-list-header p{margin:6px 0 0}.support-panel-tabs{gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.support-panel-tabs button{color:var(--color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.support-panel-tabs button.active{border-bottom-color:var(--color-primary);color:var(--color-text)}.support-panel-body{flex:auto;min-height:0;overflow:hidden}.support-panel-grid{gap:var(--space-4);grid-template-columns:minmax(260px,360px) minmax(0,1fr);height:100%;display:grid}.support-panel-list,.support-panel-detail{border:1px solid var(--color-border);border-radius:var(--radius-md,6px);min-height:0;padding:var(--space-4);background:var(--color-surface-muted);overflow:auto}.support-post-list{gap:var(--space-2);margin-top:var(--space-3);display:grid}.support-post-row{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md,6px);background:var(--color-surface);text-align:left;gap:4px;display:grid}.support-post-row.selected{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.support-post-row-title{color:var(--color-text);font-weight:700}.support-post-row-meta,.support-post-row-snippet,.support-meta-grid dt{color:var(--color-text-muted);font-size:12px}.support-post-row-snippet{line-height:1.4}.support-post-row-badges{flex-wrap:wrap;gap:6px;display:flex}.support-badge{border:1px solid var(--color-border);background:var(--color-surface-muted);width:fit-content;min-height:22px;color:var(--color-text);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.support-badge-type{color:var(--color-primary);border-color:#2563eb3d}.support-badge-status{border-color:#10b98142}.support-badge-visibility{border-color:#7c3aed38}.support-badge-impact{border-color:#f59e0b52}.support-form{gap:var(--space-3);display:grid}.support-form label,.support-article-filters{gap:6px;display:grid}.support-form-row,.support-meta-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.support-checkbox{align-items:center;gap:var(--space-2)!important;grid-template-columns:none!important;display:flex!important}.support-detail-card{gap:var(--space-3);display:grid}.support-meta-grid{margin:0}.support-meta-grid div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md,6px);background:var(--color-surface)}.support-meta-grid dd{margin:4px 0 0;font-weight:600}.support-panel-error{color:var(--color-danger,#b91c1c)}.support-warning{padding:var(--space-3);border-radius:var(--radius-md,6px);color:#9a3412;background:#fff7ed;border:1px solid #f59e0b66;margin:0}.support-vote-controls,.support-inline-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.support-vote-controls button{border:1px solid var(--color-border);background:var(--color-surface);min-width:64px;color:var(--color-text)}.support-vote-controls button.active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.support-comments{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:grid}.support-comments-header,.support-comment-meta{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.support-comments-header h4{margin:0}.support-comment-list,.support-comment,.support-comment-form,.support-comment-edit{gap:var(--space-2);display:grid}.support-comment{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md,6px);background:var(--color-surface)}.support-comment p{margin:0}.support-comment-meta{color:var(--color-text-muted);justify-content:flex-start;font-size:12px}.support-article-filters{margin-bottom:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(140px,180px)}.support-article-content{white-space:pre-wrap;line-height:1.6}@media (width<=760px){.support-panel{padding:var(--space-3)}.support-panel-grid,.support-form-row,.support-meta-grid,.support-article-filters{grid-template-columns:1fr}.support-panel-header,.support-panel-list-header,.support-panel-detail-header{flex-direction:column}}.drawings-toolbar-card,.drawings-table-card,.drawings-empty-card{padding:16px}.drawings-toolbar{grid-template-columns:minmax(280px,2fr) repeat(5,minmax(120px,1fr));align-items:end;gap:12px;display:grid}.drawings-toolbar-search input,.drawings-toolbar select{width:100%}.drawings-table-title{gap:4px;display:grid}.drawings-status-cell{flex-wrap:wrap;gap:6px;display:flex}.drawings-active-badge{color:#bbf7d0;background:#22c55e29;border-color:#22c55e59}.drawings-inactive-badge{color:#cbd5e1;background:#94a3b824;border-color:#94a3b847}.drawings-checkbox-field{align-items:center;gap:10px;min-height:40px;display:flex}.drawings-checkbox-field input{width:16px;height:16px}.drawings-version-button{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:8px;display:flex}.drawings-version-button.active{border-color:var(--accent-color,#4d7c0f)}@media (width<=1200px){.drawings-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.drawings-toolbar{grid-template-columns:1fr}}.media-page,.media-content-card{gap:var(--space-4);min-width:0;display:grid}.media-toolbar-card,.media-table-card{min-width:0}.media-chip-row{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.media-chip-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);padding:8px 12px}.media-chip-button.active{color:var(--color-primary);background:#3b82f61f;border-color:#3b82f65c}.media-toolbar{gap:var(--space-3);grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(150px,.8fr)) auto;align-items:end;display:grid}.media-toolbar-search input,.media-toolbar select{width:100%}.media-view-switch{justify-self:end;width:fit-content}.media-empty-state code{border-radius:var(--radius-sm);background:#94a3b824;padding:0 4px}.media-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.media-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);gap:0;padding:0;transition:border-color .16s,transform .16s,box-shadow .16s,background-color .16s;display:grid;overflow:hidden}.media-card:hover{background:var(--color-surface-elevated);box-shadow:var(--shadow-md);border-color:#3b82f647;transform:translateY(-2px)}.media-card.selected{border-color:#3b82f66b;box-shadow:0 0 0 1px #3b82f63d}.media-card-preview{min-height:148px;padding:var(--space-5);color:#e2e8f0;background:radial-gradient(circle at top,#ffffff14,#0000 55%),linear-gradient(135deg,#1e293beb,#0f172aeb);border-bottom:1px solid #94a3b824;place-items:center;gap:6px;display:grid}.media-card-preview span{letter-spacing:.08em;font-size:28px;font-weight:700}.media-card-preview strong{letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0cc;font-size:13px}.media-card-preview--image{background:radial-gradient(circle at top,#fbbf2429,#0000 52%),linear-gradient(135deg,#1f2937,#111827)}.media-card-preview--pdf{background:radial-gradient(circle at top,#ef44442e,#0000 52%),linear-gradient(135deg,#311214,#111827)}.media-card-preview--ifc{background:radial-gradient(circle at top,#22d3ee29,#0000 52%),linear-gradient(135deg,#0f172a,#082f49)}.media-card-preview--document,.media-card-preview--spreadsheet,.media-card-preview--video,.media-card-preview--archive,.media-card-preview--other{background:radial-gradient(circle at top,#94a3b81f,#0000 52%),linear-gradient(135deg,#1e293b,#0f172a)}.media-card-body{gap:var(--space-3);padding:var(--space-4);display:grid}.media-card-header,.media-card-meta,.media-tag-row,.media-ai-list,.media-table-links,.media-inline-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.media-inline-actions button{min-width:0}.media-inline-actions--stack{display:grid}.media-card-body h3{margin:0;font-size:18px}.media-linked-badge{color:var(--color-text);background:#4755693d}.media-table{min-width:1320px}.media-table-title{gap:4px;display:grid}.media-link-groups{gap:var(--space-3);display:grid}.media-link-group{gap:6px;display:grid}.media-feedback-state{padding:var(--space-5)}.media-feedback-state--error{border-color:#dc26262e}.media-inspector-section{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:grid}.media-inspector-section h4{margin:0}.media-upload-field{gap:var(--space-2);display:grid}.media-upload-field input[type=file]{width:100%}.media-inline-error{color:#991b1b;border-radius:var(--radius-sm);background:#dc262614;border:1px solid #dc26262e;padding:10px 12px}.media-multi-link-warning{border-radius:var(--radius-sm);background:#f59e0b1f;border:1px solid #f59e0b2e;padding:12px}.media-multi-link-warning p{margin:6px 0 0}.media-technical-details{margin-top:var(--space-4)}.media-technical-details summary{cursor:pointer;margin-bottom:var(--space-3);font-weight:600}@media (width<=1200px){.media-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.media-view-switch{justify-self:start}}@media (width<=820px){.media-toolbar{grid-template-columns:1fr}}.reports-page{gap:var(--space-4);min-width:0;display:grid}.reports-subtabs{width:fit-content;max-width:100%}.reports-toolbar,.reports-toolbar-actions,.reports-feedback-form{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.reports-filterbar,.reports-table-card,.reports-inspector-panel{min-width:0}.reports-filters{gap:var(--space-3);grid-template-columns:minmax(240px,1.8fr) minmax(180px,.8fr);align-items:end;display:grid}.reports-filter-field{gap:6px;display:grid}.reports-filter-search input,.reports-filter-field select{width:100%}.reports-table-wrap{min-width:0;overflow-x:auto}.reports-table{min-width:1180px}.reports-inspector-form{gap:var(--space-4);display:grid}.reports-form-grid,.reports-detail-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reports-form-grid label{gap:6px;min-width:0;display:grid}.reports-form-grid select[multiple]{min-height:120px}.reports-form-span-2{grid-column:1/-1}.reports-detail-grid>div{gap:4px;display:grid}.reports-feedback-list{gap:var(--space-2);display:grid}.reports-feedback-item{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:4px;display:grid}.reports-feedback-form textarea{flex:240px}@media (width<=1100px){.reports-filters{grid-template-columns:1fr}}@media (width<=820px){.reports-form-grid,.reports-detail-grid{grid-template-columns:1fr}.reports-form-span-2{grid-column:auto}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.node-workspace-modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;color:#e6edf3;background-color:#0d1117d9;flex-direction:column;font-family:Outfit,Inter,-apple-system,sans-serif;animation:.25s cubic-bezier(.16,1,.3,1) fadeInWorkspace;display:flex;position:fixed;inset:0}@keyframes fadeInWorkspace{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.node-workspace-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#161b22cc;border-bottom:1px solid #30363dcc;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.node-workspace-title-section{align-items:center;gap:12px;display:flex}.node-workspace-title-icon{color:#58a6ff;align-items:center;font-size:20px;display:flex}.node-workspace-title{letter-spacing:-.3px;margin:0;font-size:18px;font-weight:600}.node-workspace-subtitle{color:#8d96a0;margin-left:8px;font-size:12px}.node-workspace-actions{align-items:center;gap:12px;display:flex}.btn-workspace{color:#c9d1d9;cursor:pointer;background-color:#21262d;border:1px solid #30363d;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-workspace:hover{background-color:#30363d;border-color:#8b949e}.btn-workspace-primary{color:#fff;background-color:#238636;border:1px solid #f0f6fc1a}.btn-workspace-primary:hover{background-color:#2ea043}.btn-workspace-primary:disabled{color:#ffffff80;cursor:not-allowed;background-color:#23863666}.btn-workspace-close{color:#8d96a0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:24px;transition:color .2s;display:flex}.btn-workspace-close:hover{color:#f85149;background-color:#f851491a}.node-workspace-body{flex:1;display:flex;position:relative;overflow:hidden}.node-workspace-canvas-container{background-color:#0b0e14;flex:1;height:100%;position:relative}.workspace-node-base{color:#e6edf3;background-color:#161b22f2;border:1.5px solid #30363dd9;border-radius:8px;min-width:200px;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 20px #0006,0 0 1px #ffffff1a}.workspace-node-base:hover,.workspace-node-base.selected{border-color:#58a6ff;box-shadow:0 4px 24px #58a6ff40,0 0 1px #58a6ff80}.workspace-node-header{border-bottom:1px solid #30363d80;border-top-left-radius:7px;border-top-right-radius:7px;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:600;display:flex}.workspace-node-header-icon{color:#8d96a0;cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:transform .2s;display:flex}.workspace-node-header-icon.collapsed{transform:rotate(-90deg)}.workspace-node-header-title{white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;flex:1;overflow:hidden}.workspace-node-task .workspace-node-header{background:linear-gradient(135deg,#58a6ff26 0%,#161b2280 100%);border-bottom-color:#58a6ff4d}.workspace-node-phase .workspace-node-header{background:linear-gradient(135deg,#ff7b7226 0%,#161b2280 100%);border-bottom-color:#ff7b724d}.workspace-node-contact .workspace-node-header{background:linear-gradient(135deg,#bb80ff26 0%,#161b2280 100%);border-bottom-color:#bb80ff4d}.workspace-node-element .workspace-node-header{background:linear-gradient(135deg,#f2c25626 0%,#161b2280 100%);border-bottom-color:#f2c2564d}.workspace-node-elementGroup .workspace-node-header{background:linear-gradient(135deg,#8d96a026 0%,#161b2280 100%);border-bottom-color:#8d96a04d}.workspace-node-space .workspace-node-header{background:linear-gradient(135deg,#00968826 0%,#161b2280 100%);border-bottom-color:#0096884d}.workspace-node-crew .workspace-node-header{background:linear-gradient(135deg,#39db8926 0%,#161b2280 100%);border-bottom-color:#39db894d}.workspace-node-member .workspace-node-header{background:linear-gradient(135deg,#2ea04326 0%,#161b2280 100%);border-bottom-color:#2ea0434d}.workspace-node-body{background-color:#0d111766;border-bottom-right-radius:7px;border-bottom-left-radius:7px;padding:6px 0;font-size:12px}.workspace-node-field{justify-content:space-between;align-items:center;gap:16px;min-height:24px;padding:6px 12px;display:flex;position:relative}.workspace-node-field:hover{background-color:#ffffff08}.workspace-node-field-label{color:#8d96a0;-webkit-user-select:none;user-select:none}.workspace-node-field-value{color:#e6edf3;white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:140px;font-weight:500;overflow:hidden}.workspace-node-field-value.placeholder{color:#484f58;font-style:italic}.react-flow__handle.workspace-handle-left,.react-flow__handle.workspace-handle-right{z-index:10;background-color:#21262d;border:2px solid #8d96a0;border-radius:50%;width:10px;height:10px;transition:all .2s}.react-flow__handle.workspace-handle-left{left:-6px}.react-flow__handle.workspace-handle-right{right:-6px}.react-flow__handle.workspace-handle-left:hover,.react-flow__handle.workspace-handle-right:hover{background-color:#58a6ff;border-color:#fff;transform:scale(1.3)}.handle-phase{border-color:#ff7b72!important}.handle-contact{border-color:#bb80ff!important}.handle-element{border-color:#f2c256!important}.handle-elementGroup{border-color:#8d96a0!important}.handle-space{border-color:#009688!important}.handle-crew{border-color:#39db89!important}.handle-member{border-color:#2ea043!important}.handle-dependency{border-color:#58a6ff!important}.react-flow__handle.workspace-handle-left.connected,.react-flow__handle.workspace-handle-right.connected{background-color:currentColor}.node-workspace-sidebar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background-color:#161b22e6;border-right:1px solid #30363dcc;flex-direction:column;width:280px;display:flex}.sidebar-search-box{border-bottom:1px solid #30363d80;padding:16px}.sidebar-search-input{color:#e6edf3;background-color:#0d1117;border:1px solid #30363d;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.sidebar-search-input:focus{border-color:#58a6ff;outline:none;box-shadow:0 0 0 3px #58a6ff4d}.sidebar-sections{flex-direction:column;flex:1;gap:16px;padding:12px;display:flex;overflow-y:auto}.sidebar-section-title{text-transform:uppercase;color:#8d96a0;letter-spacing:.5px;margin-bottom:8px;padding-left:4px;font-size:11px;font-weight:700}.sidebar-item-list{flex-direction:column;gap:4px;display:flex}.sidebar-item{cursor:grab;-webkit-user-select:none;user-select:none;background-color:#30363d33;border:1px solid #30363d66;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;transition:all .15s;display:flex}.sidebar-item:hover{background-color:#30363d66;border-color:#8b949e;transform:translateY(-1px)}.sidebar-item-label-container{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-item-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.sidebar-item-sublabel{color:#8d96a0;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar-item-badge{text-transform:uppercase;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.badge-phase{color:#ff7b72;background-color:#ff7b7226;border:1px solid #ff7b724d}.badge-contact{color:#bb80ff;background-color:#bb80ff26;border:1px solid #bb80ff4d}.badge-element{color:#f2c256;background-color:#f2c25626;border:1px solid #f2c2564d}.badge-elementGroup{color:#8d96a0;background-color:#8d96a026;border:1px solid #8d96a04d}.badge-space{color:#009688;background-color:#00968826;border:1px solid #0096884d}.badge-crew{color:#39db89;background-color:#39db8926;border:1px solid #39db894d}.badge-member{color:#2ea043;background-color:#2ea04326;border:1px solid #2ea0434d}.badge-task{color:#58a6ff;background-color:#58a6ff26;border:1px solid #58a6ff4d}.react-flow__connection-path{stroke:#58a6ff;stroke-width:2.5px;stroke-dasharray:5;animation:.5s linear infinite dashConnection}@keyframes dashConnection{0%{stroke-dashoffset:10px}to{stroke-dashoffset:0}}.react-flow__edge-path{stroke-width:2px;transition:stroke-width .2s,stroke .2s}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke-width:4px}.react-flow__edge.edge-has_phase .react-flow__edge-path{stroke:#ff7b72}.react-flow__edge.edge-has_contact .react-flow__edge-path{stroke:#bb80ff}.react-flow__edge.edge-has_element .react-flow__edge-path{stroke:#f2c256}.react-flow__edge.edge-has_element_group .react-flow__edge-path{stroke:#8d96a0}.react-flow__edge.edge-has_space .react-flow__edge-path{stroke:#009688}.react-flow__edge.edge-assigned_to_member .react-flow__edge-path{stroke:#2ea043}.react-flow__edge.edge-assigned_to_crew .react-flow__edge-path{stroke:#39db89}.react-flow__edge.edge-depends_on .react-flow__edge-path{stroke:#58a6ff;stroke-dasharray:4}.node-workspace-picker-menu{z-index:1000;background-color:#161b22;border:1px solid #30363d;border-radius:8px;width:260px;max-height:320px;padding:6px;animation:.15s fadeInMenu;position:absolute;overflow-y:auto;box-shadow:0 8px 24px #00000080}@keyframes fadeInMenu{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.picker-menu-search{color:#e6edf3;background-color:#0d1117;border:1px solid #30363d;border-radius:4px;outline:none;width:100%;margin-bottom:6px;padding:6px 10px;font-size:13px}.picker-menu-search:focus{border-color:#58a6ff}.picker-menu-section-title{color:#8d96a0;text-transform:uppercase;letter-spacing:.3px;padding:4px 6px;font-size:10px;font-weight:700}.picker-menu-item{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13px;transition:background-color .1s;display:flex}.picker-menu-item:hover{color:#58a6ff;background-color:#58a6ff1a}.picker-menu-item-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.picker-menu-item-badge{text-transform:uppercase;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:700}.workspace-status-message{color:#e6edf3;z-index:10;background-color:#161b22e6;border:1px solid #30363d;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;animation:.3s cubic-bezier(.16,1,.3,1) slideUpStatus;display:flex;position:absolute;bottom:20px;right:20px;box-shadow:0 4px 12px #0000004d}@keyframes slideUpStatus{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-spinner{border:2px solid #58a6ff4d;border-top-color:#58a6ff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.workspace-controls-container{z-index:10;background-color:#161b22;border:1px solid #30363d;border-radius:6px;gap:2px;padding:4px;display:flex;position:absolute;bottom:20px;left:20px}.workspace-control-btn{color:#c9d1d9;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.workspace-control-btn:hover{color:#e6edf3;background-color:#30363d}.workspace-node-detail-panel{z-index:10;color:#e6edf3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#161b22f2;border:1px solid #30363dd9;border-radius:8px;width:300px;padding:16px;position:absolute;top:20px;right:20px;box-shadow:0 4px 20px #0006}.sidebar-section-title.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 4px;transition:background-color .15s,color .15s;display:flex}.sidebar-section-title.clickable:hover{color:#e6edf3;background-color:#ffffff0d}.sidebar-section-count{color:#8d96a0;font-size:10px;font-weight:500}.sidebar-section-container{margin-bottom:8px}.sidebar-item.in-canvas{background-color:#39db890f;border-color:#39db8973}.sidebar-item.in-canvas:hover{background-color:#39db891f;border-color:#39db89cc}.sidebar-item-in-canvas-dot{color:#39db89;justify-content:center;align-items:center;font-size:8px;display:inline-flex}.btn-workspace.active{color:#fff;background-color:#1f6feb;border-color:#388bfd}.btn-workspace.active:hover{background-color:#388bfd}.sidebar-actions-row{border-bottom:1px solid #30363d80;gap:8px;padding:0 16px 12px;display:flex}.sidebar-action-btn{color:#c9d1d9;cursor:pointer;text-align:center;background-color:#21262d;border:1px solid #30363d;border-radius:4px;flex:1;padding:6px 0;font-size:11px;font-weight:500;transition:all .2s}.sidebar-action-btn:hover{color:#fff;background-color:#30363d;border-color:#8b949e}
