[data-theme=warm]{--bg: #f7f5ef;--surface: #fbfaf4;--surface-2: #f2efe7;--fg: #1a1917;--fg-2: #5a5750;--fg-3: #8a867c;--line: #e7e3d6;--line-soft: #efece1;--brand: #c96442;--brand-fg: #ffffff;--brand-soft: #fbe9e0;--accent: #b08b4a;--ok: #5a8c62;--warn: #b8871f;--danger: #b04a2f;--info: #4f6b8a;--radius: 14px;--radius-lg: 12px;--radius-sm: 10px;--radius-md: 10px;--radius-xs: 8px;--shadow-sm: 0 1px 2px rgba(72,60,40,.04), 0 1px 1px rgba(72,60,40,.03);--shadow: 0 2px 6px rgba(72,60,40,.05), 0 1px 2px rgba(72,60,40,.04);--shadow-lg: 0 10px 30px rgba(72,60,40,.08), 0 4px 10px rgba(72,60,40,.04);--display: "Source Serif 4", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=warm][data-mode=dark]{--bg: #1a1815;--surface: #23201c;--surface-2: #2b2823;--fg: #ece7d8;--fg-2: #a8a294;--fg-3: #6e6a5f;--line: #322e28;--line-soft: #29251f;--brand: #d77556;--brand-soft: #3a2721}[data-theme=cool]{--bg: #f3f6fa;--surface: #ffffff;--surface-2: #edf2f8;--fg: #14202e;--fg-2: #4b5b70;--fg-3: #7e8a9b;--line: #dde4ee;--line-soft: #e9eef5;--brand: #2f6fd1;--brand-fg: #ffffff;--brand-soft: #dbe7f8;--accent: #0f8a8a;--ok: #1f8a5a;--warn: #b8871f;--danger: #c0392b;--info: #3a6ea5;--radius: 14px;--radius-lg: 12px;--radius-sm: 10px;--radius-md: 10px;--radius-xs: 8px;--shadow-sm: 0 1px 2px rgba(30,50,80,.05), 0 1px 1px rgba(30,50,80,.03);--shadow: 0 2px 6px rgba(30,50,80,.06), 0 1px 2px rgba(30,50,80,.04);--shadow-lg: 0 10px 30px rgba(30,50,80,.1), 0 4px 10px rgba(30,50,80,.05);--display: "Source Serif 4", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=cool][data-mode=dark]{--bg: #0e1722;--surface: #16212f;--surface-2: #1c2a3a;--fg: #e6edf6;--fg-2: #9bacc1;--fg-3: #6b7a8e;--line: #2a3a4f;--line-soft: #1f2d3e;--brand: #4d8ee6;--brand-soft: #1f3252}[data-theme=neutral]{--bg: #f5f5f4;--surface: #ffffff;--surface-2: #ededec;--fg: #161615;--fg-2: #555552;--fg-3: #8a8a85;--line: #e0e0dd;--line-soft: #eaeae8;--brand: #4b4b4a;--brand-fg: #ffffff;--brand-soft: #e3e3e1;--accent: #6b6b6a;--ok: #3f7a4a;--warn: #a67a14;--danger: #a33e28;--info: #4b5c74;--radius: 14px;--radius-lg: 12px;--radius-sm: 10px;--radius-md: 10px;--radius-xs: 8px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 1px 1px rgba(0,0,0,.02);--shadow: 0 2px 6px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.03);--shadow-lg: 0 10px 30px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.04);--display: "Source Serif 4", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=neutral][data-mode=dark]{--bg: #151514;--surface: #1e1e1d;--surface-2: #262625;--fg: #ececea;--fg-2: #a8a8a4;--fg-3: #6e6e6a;--line: #2e2e2c;--line-soft: #252523;--brand: #8a8a87;--brand-soft: #2a2a28}html[data-density=cozy]{font-size:15px}html[data-density=cozy] button,html[data-density=cozy] input,html[data-density=cozy] select,html[data-density=cozy] textarea{font-size:1em}html[data-density=compact]{font-size:12.5px}html[data-density=compact] button,html[data-density=compact] input,html[data-density=compact] select,html[data-density=compact] textarea{font-size:1em}html[data-density=compact] main{letter-spacing:-.005em}@media print{aside,header,nav,.planning-no-print{display:none!important}main{padding:0!important}.planning-gantt{border:none!important;box-shadow:none!important;page-break-inside:avoid}.planning-canvas-scroll{overflow:visible!important}.planning-canvas-scroll>div{width:auto!important}.planning-chrome{display:none!important}.floorplan-chrome{display:none!important}.floorplan-canvas{border:none!important;box-shadow:none!important;aspect-ratio:auto!important;height:auto!important;page-break-inside:avoid}.floorplan-canvas svg{width:100%!important;height:auto!important}.hse-chrome{display:none!important}.hse-statistics{gap:12px!important}@page{size:A3 landscape;margin:12mm}}:root{--sf-n-00: #ffffff;--sf-n-05: #f4f6f8;--sf-n-10: #e9edf1;--sf-n-20: #d5dde4;--sf-n-30: #b6c2cc;--sf-n-40: #8d9ba8;--sf-n-50: #6b7885;--sf-n-60: #515e6b;--sf-n-70: #3b4753;--sf-n-80: #26313b;--sf-n-90: #172029;--sf-n-95: #0e151c;--sf-n-99: #060a0e;--sf-blue-50: #2a7fc4;--sf-blue-60: #0f5f9e;--sf-blue-70: #0b4977;--sf-blue-30: #86bde8;--sf-blue-20: #bcdcf4;--sf-green-50: #1f8a5a;--sf-green-60: #146848;--sf-green-70: #0e4f37;--sf-green-30: #6cc79b;--sf-green-20: #b3e3ca;--sf-amber-50: #a86a00;--sf-amber-60: #855400;--sf-amber-70: #664000;--sf-amber-30: #e5a94a;--sf-amber-20: #f5d9a4;--sf-red-50: #c3352b;--sf-red-60: #a02219;--sf-red-70: #7d1911;--sf-red-30: #ef948c;--sf-red-20: #f8c9c4;--sf-crit-50: #8c0d18;--sf-crit-60: #6d060f;--sf-crit-70: #4f040a;--sf-crit-30: #e0808a;--sf-hazard: #ffd400;--sf-tag-danger-c: #c8102e;--sf-tag-caution-c: #f2a900;--sf-tag-oos-c: #1f1f1f;--sf-tag-information-c: #0057b8;--sf-scafftag-green-c: #1f8a3b;--sf-scafftag-yellow-c: #f2a900;--sf-scafftag-red-c: #c8102e;--sf-scafftag-none-c: #8d9ba8;--sf-space-0: 0px;--sf-space-1: 4px;--sf-space-2: 8px;--sf-space-3: 12px;--sf-space-4: 16px;--sf-space-5: 24px;--sf-space-6: 32px;--sf-space-7: 48px;--sf-space-8: 64px;--sf-radius-sm: 4px;--sf-radius-md: 8px;--sf-radius-lg: 12px;--sf-radius-pill: 999px;--sf-z-base: 0;--sf-z-sticky: 100;--sf-z-dropdown:200;--sf-z-overlay: 300;--sf-z-modal: 400;--sf-z-toast: 500;--sf-motion-fast: 90ms;--sf-motion-base: .14s;--sf-motion-slow: .2s;--sf-ease: cubic-bezier(.2, 0, .2, 1);--sf-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sf-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-reduced-motion: reduce){:root{--sf-motion-fast: 0ms;--sf-motion-base: 0ms;--sf-motion-slow: 0ms}}:root,[data-sf-mode=light]{--sf-canvas: var(--sf-n-05);--sf-surface: var(--sf-n-00);--sf-surface-sunken: var(--sf-n-10);--sf-surface-raised: var(--sf-n-00);--sf-text-primary: var(--sf-n-95);--sf-text-secondary: var(--sf-n-70);--sf-text-tertiary: var(--sf-n-60);--sf-text-inverse: var(--sf-n-00);--sf-border: var(--sf-n-20);--sf-border-interactive: var(--sf-n-50);--sf-border-strong: var(--sf-n-50);--sf-focus-ring: var(--sf-blue-60);--sf-status-neutral: var(--sf-n-60);--sf-status-info: var(--sf-blue-60);--sf-status-ok: var(--sf-green-60);--sf-status-warn: var(--sf-amber-60);--sf-status-danger: var(--sf-red-60);--sf-status-critical: var(--sf-crit-50);--sf-status-neutral-bg: var(--sf-n-10);--sf-status-info-bg: var(--sf-blue-20);--sf-status-ok-bg: var(--sf-green-20);--sf-status-warn-bg: var(--sf-amber-20);--sf-status-danger-bg: var(--sf-red-20);--sf-status-critical-bg: var(--sf-red-20);--sf-status-critical-accent: var(--sf-hazard);--sf-shadow-raised: 0 1px 2px rgba(14, 21, 28, .08), 0 1px 1px rgba(14, 21, 28, .04);--sf-shadow-overlay: 0 8px 24px -8px rgba(14, 21, 28, .18), 0 2px 6px rgba(14, 21, 28, .08);--sf-shadow-modal: 0 24px 56px -16px rgba(14, 21, 28, .28), 0 4px 12px rgba(14, 21, 28, .12);--sf-tag-danger: var(--sf-tag-danger-c);--sf-tag-caution: var(--sf-tag-caution-c);--sf-tag-oos: var(--sf-tag-oos-c);--sf-tag-information: var(--sf-tag-information-c);--sf-scafftag-green: var(--sf-scafftag-green-c);--sf-scafftag-yellow: var(--sf-scafftag-yellow-c);--sf-scafftag-red: var(--sf-scafftag-red-c);--sf-scafftag-none: var(--sf-scafftag-none-c)}[data-sf-mode=dark]{--sf-canvas: var(--sf-n-99);--sf-surface: var(--sf-n-90);--sf-surface-sunken: var(--sf-n-95);--sf-surface-raised: var(--sf-n-80);--sf-text-primary: var(--sf-n-05);--sf-text-secondary: var(--sf-n-30);--sf-text-tertiary: var(--sf-n-40);--sf-text-inverse: var(--sf-n-95);--sf-border: var(--sf-n-70);--sf-border-interactive: var(--sf-n-40);--sf-border-strong: var(--sf-n-40);--sf-focus-ring: var(--sf-blue-30);--sf-status-neutral: var(--sf-n-30);--sf-status-info: var(--sf-blue-30);--sf-status-ok: var(--sf-green-30);--sf-status-warn: var(--sf-amber-30);--sf-status-danger: var(--sf-red-30);--sf-status-critical: var(--sf-crit-30);--sf-status-neutral-bg: var(--sf-n-80);--sf-status-info-bg: var(--sf-blue-70);--sf-status-ok-bg: var(--sf-green-70);--sf-status-warn-bg: var(--sf-amber-70);--sf-status-danger-bg: var(--sf-red-70);--sf-status-critical-bg: var(--sf-crit-70);--sf-status-critical-accent: var(--sf-hazard);--sf-shadow-raised: 0 1px 2px rgba(0, 0, 0, .5);--sf-shadow-overlay: 0 8px 24px -8px rgba(0, 0, 0, .65);--sf-shadow-modal: 0 24px 56px -16px rgba(0, 0, 0, .75)}[data-sf-mode=hc]{--sf-canvas: #ffffff;--sf-surface: #ffffff;--sf-surface-sunken: #eef1f4;--sf-surface-raised: #ffffff;--sf-text-primary: #000000;--sf-text-secondary: #1a1a1a;--sf-text-tertiary: #333333;--sf-text-inverse: #ffffff;--sf-border: #333333;--sf-border-interactive: #000000;--sf-border-strong: #000000;--sf-focus-ring: #0b4977;--sf-status-neutral: #333333;--sf-status-info: #0b4977;--sf-status-ok: #0e4f37;--sf-status-warn: #664000;--sf-status-danger: #7d1911;--sf-status-critical: #4f040a;--sf-status-neutral-bg: #ffffff;--sf-status-info-bg: #ffffff;--sf-status-ok-bg: #ffffff;--sf-status-warn-bg: #ffffff;--sf-status-danger-bg: #ffffff;--sf-status-critical-bg: #ffffff;--sf-status-critical-accent: var(--sf-hazard);--sf-shadow-raised: none;--sf-shadow-overlay: none;--sf-shadow-modal: none}:root,[data-sf-density=field]{--sf-text-display: 32px;--sf-text-h1: 24px;--sf-text-h2: 20px;--sf-text-body-lg: 18px;--sf-text-body: 16px;--sf-text-caption: 14px;--sf-text-micro: 13px;--sf-line-tight: 1.25;--sf-line-base: 1.5;--sf-control-height: 48px;--sf-touch-min: 48px;--sf-row-height: 64px;--sf-focus-width: 3px;--sf-pad-control: var(--sf-space-3) var(--sf-space-4);--sf-pad-card: var(--sf-space-4);--sf-gap-base: var(--sf-space-3)}[data-sf-density=comfortable]{--sf-text-display: 28px;--sf-text-h1: 22px;--sf-text-h2: 18px;--sf-text-body-lg: 16px;--sf-text-body: 15px;--sf-text-caption: 13px;--sf-text-micro: 12px;--sf-control-height: 44px;--sf-touch-min: 44px;--sf-row-height: 52px;--sf-focus-width: 2px;--sf-pad-control: var(--sf-space-2) var(--sf-space-3);--sf-pad-card: var(--sf-space-4);--sf-gap-base: var(--sf-space-2)}[data-sf-density=compact]{--sf-text-display: 24px;--sf-text-h1: 20px;--sf-text-h2: 16px;--sf-text-body-lg: 15px;--sf-text-body: 14px;--sf-text-caption: 12.5px;--sf-text-micro: 12px;--sf-control-height: 32px;--sf-touch-min: 24px;--sf-row-height: 40px;--sf-focus-width: 2px;--sf-pad-control: var(--sf-space-1) var(--sf-space-2);--sf-pad-card: var(--sf-space-3);--sf-gap-base: var(--sf-space-2)}@media (pointer: coarse){:root:not([data-sf-density]){--sf-control-height: 48px;--sf-touch-min: 48px;--sf-row-height: 64px;--sf-text-body: 16px;--sf-focus-width: 3px}}.sf-focusable:focus-visible{outline:var(--sf-focus-width) solid var(--sf-focus-ring);outline-offset:2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,system-ui,sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;color:var(--fg);background:var(--bg)}input{font:inherit;color:inherit}input:focus{outline:none}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono);font-feature-settings:"ss01","zero"}.serif{font-family:var(--display);font-feature-settings:"ss01","ss02"}.eyebrow{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{transform:translateY(8px)}to{transform:translateY(0)}}@keyframes drawerIn{0%{transform:translate(24px)}to{transform:translate(0)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}@keyframes sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wave{0%{transform:translateY(0)}to{transform:translateY(-28px)}}@keyframes blinkFast{0%,49%{opacity:1}50%,to{opacity:.2}}html,body{overflow-x:hidden;max-width:100vw}@media (max-width: 1023px){table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table thead,table tbody{display:table;width:max-content;min-width:100%}table tr{display:table-row}table th,table td{display:table-cell;white-space:nowrap}main>div[style*=grid-template-columns],main>div>div[style*=grid-template-columns]{grid-template-columns:1fr!important}main>div[style*=padding]{padding-left:16px!important;padding-right:16px!important}}
