@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";a:link,a:visited,.link-inline:link,.link-inline:visited{text-decoration:none;color:var(--ink-mid)}a:hover,.link-inline:hover{text-decoration:underline}a:active,.link-inline:active{color:var(--action-deep)}.link-subtle,.link-subtle:link,.link-subtle:visited{color:var(--ink-mid);cursor:pointer;font-size:12px;text-decoration:underline}.link-subtle:hover{color:var(--action-deep)}.link-entity,.link-entity:link,.link-entity:visited{color:var(--accent);text-decoration:none;font-weight:400;cursor:pointer}.link-entity:hover{text-decoration:underline}.link-inherit,.link-inherit:link,.link-inherit:visited{color:inherit;text-decoration:none}.link-inherit:hover{text-decoration:underline}button{border:none;background:none;cursor:pointer;font:inherit;color:inherit;padding:0;margin:0}button:disabled{opacity:.5;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;padding:8px 12px;border-radius:var(--tbo-radius);background-color:var(--ink-mid);color:var(--paper-soft);font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;white-space:nowrap}.btn.primary i,.btn.outline i{color:var(--copper-mid)}.btn.sm{gap:5px;padding:5px 10px;font-size:11px;border-radius:6px}.btn.sm i{font-size:12px}.btn:hover:not(:disabled){background-color:var(--ink-deep)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.accent{background-color:var(--copper-mid);color:var(--paper-soft)}.btn.accent:hover:not(:disabled){background-color:var(--copper-deep)}.btn.secondary{background-color:#fff;color:var(--ink-mid);border:1px solid var(--paper-deep)}.btn.secondary:hover:not(:disabled){background-color:var(--paper-soft);color:var(--ink-mid);border-color:var(--paper-deep)}.btn.ghost{background-color:transparent;color:var(--ink-mid);border:1px solid transparent}.btn.ghost:hover:not(:disabled){color:var(--ink-mid);background-color:var(--paper-soft)}.btn.outline{background:var(--surface-card);color:var(--ink-mid);font-weight:500;border:1px solid var(--border-default)}.btn.outline:hover:not(:disabled){background-color:var(--surface-card);border-color:var(--ink-line);color:var(--text-heading)}.btn.danger{background-color:var(--tbo-error);color:var(--paper-soft)}.btn.danger:hover:not(:disabled){background-color:var(--alarm-deep)}.btn.danger-outline{background-color:transparent;color:var(--tbo-error);border:1px solid var(--tbo-error)}.btn.danger-outline:hover:not(:disabled){background-color:var(--tbo-error);color:var(--paper-soft)}.btn.w-full{width:100%}.split-btn{display:inline-flex;align-items:stretch;width:fit-content}.split-btn .split-btn-main{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn .split-btn-caret{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:8px;padding-right:8px}.split-btn .split-btn-caret.outline{border-left:0}.btn.link{background:none;border:none;padding:0;color:var(--action);font-weight:400;text-decoration:none}.btn.link:hover:not(:disabled){color:var(--accent);background:none}.btn.link.danger:hover:not(:disabled){color:var(--tbo-error)}.btn.bare{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ink);color:var(--ink);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease;flex-shrink:0}.btn.bare:hover:not(:disabled){background:var(--ink);color:var(--paper-soft)}.icon-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--tbo-radius);color:var(--tbo-text-primary);background-color:transparent;cursor:pointer;transition:background-color .15s ease;height:36px;width:36px;font-size:20px;flex-shrink:0}.icon-btn:hover:not(:disabled){background-color:var(--gray-100)}.icon-btn:disabled{color:var(--slate-soft);cursor:not-allowed;pointer-events:none}.icon-btn.on-ink{color:var(--text-on-ink-muted)}.icon-btn.on-ink:hover:not(:disabled){background-color:var(--surface-on-ink)}.icon-btn.on-ink:disabled{color:var(--text-on-ink-faint)}.icon-btn.active{background-color:var(--ink-wash);color:var(--action)}.icon-btn.active:hover:not(:disabled){background-color:var(--ink-wash)}.icon-btn.active .shortcut{color:var(--ink-soft)}.icon-btn.sm{height:26px;width:26px;font-size:14px}.icon-btn.filled{background-color:var(--gray-200)}.icon-btn.filled:hover:not(:disabled){background-color:var(--ink-wash)}.icon-btn.accent{background-color:var(--accent-veil);color:var(--accent-deep)}.icon-btn.accent:hover:not(:disabled){background-color:var(--accent-wash)}.icon-btn.outline{background:#fff;border:1px solid var(--gray-300)}.icon-btn.outline:hover:not(:disabled){background-color:var(--gray-100);border-color:var(--gray-300);color:var(--gray-900)}.icon-btn.danger:hover:not(:disabled){background-color:var(--tbo-error);color:var(--paper-soft)}.icon-btn.danger-subtle{color:var(--text-error)}.icon-btn.danger-subtle:hover:not(:disabled){background:var(--brick-veil)}.icon-btn.danger-subtle:disabled{color:var(--slate-soft)}.icon-btn.bare{background:none;color:var(--ink-soft);padding:4px}.icon-btn.bare:hover:not(:disabled){background:none;color:var(--ink)}.icon-btn.reveal{opacity:0;transition:opacity .1s ease,background-color .15s ease}.reveal-host:hover .icon-btn.reveal,.card:hover .icon-btn.reveal,.sidebar-nav-item:hover .icon-btn.reveal,.customer-detail-contact-card:hover .icon-btn.reveal,.customer-detail-location-card:hover .icon-btn.reveal{opacity:1}.icon-btn.toolbar-btn{height:40px;width:40px;position:relative}.icon-btn.toolbar-btn .shortcut{position:absolute;bottom:4px;right:4px;font-size:8px;color:var(--gray-600);pointer-events:none}.input-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gray-400);padding:2px;border-radius:4px}.input-clear-btn:hover{color:var(--gray-600);background:var(--gray-100)}.tbo-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.tbo-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.tbo-toggle-track{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-200);border-radius:12px;transition:background-color .2s ease}.tbo-toggle-track:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #00000026}.tbo-toggle input:checked+.tbo-toggle-track{background-color:var(--ink-mid)}.tbo-toggle input:checked+.tbo-toggle-track:before{transform:translate(20px)}.tbo-toggle input:focus-visible+.tbo-toggle-track{outline:2px solid var(--ink-mid);outline-offset:2px}.tbo-toggle input:disabled+.tbo-toggle-track{opacity:.5;cursor:not-allowed}.tbo-toggle.small{width:36px;height:20px}.tbo-toggle.small .tbo-toggle-track{border-radius:10px}.tbo-toggle.small .tbo-toggle-track:before{height:14px;width:14px;left:3px;bottom:3px}.tbo-toggle.small input:checked+.tbo-toggle-track:before{transform:translate(16px)}input[type=text],input[type=number],input[type=search],textarea,select{width:100%;padding:8px;font-family:var(--font-sans);font-size:14px;line-height:normal;border:1px solid var(--tbo-border-color);border-radius:var(--tbo-radius);box-sizing:border-box;height:auto;color:var(--tbo-text-primary);background-color:var(--tbo-bg-card)}textarea{padding:10px;resize:none;line-height:1.5}input[type=text].embedded,input[type=text].embedded:hover,input[type=text].embedded:focus,input[type=number].embedded,input[type=number].embedded:hover,input[type=number].embedded:focus,input[type=search].embedded,input[type=search].embedded:hover,input[type=search].embedded:focus,textarea.embedded,textarea.embedded:hover,textarea.embedded:focus{border:none;background:transparent;box-shadow:none;outline:none}.input-quiet{display:inline-flex;align-items:center;width:100%;border:1px solid transparent;border-radius:var(--tbo-radius);background:transparent;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.input-quiet:hover:not(:focus-within){border-color:var(--ink-line);background:var(--surface-card)}.input-quiet:focus-within{border-color:var(--ink-line);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--ink-line)}.input-quiet.bad{border-color:var(--border-error);background:var(--surface-error)}.input-quiet.conflict{border-color:var(--border-warning);background:var(--surface-warning)}select{cursor:pointer}input[type=text]:hover:not(:focus):not(:disabled),input[type=number]:hover:not(:focus):not(:disabled),input[type=search]:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled){border-color:var(--ink-line)}input[type=text]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{border-color:var(--ink-line);box-shadow:inset 0 0 0 1px var(--ink-line);outline:none}input[type=text]:disabled,input[type=number]:disabled,input[type=search]:disabled,textarea:disabled,select:disabled{background-color:var(--gray-50);color:var(--gray-400);border-color:var(--gray-200);cursor:not-allowed;opacity:1}.select-wrap{position:relative;display:block;width:100%}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px}.select-wrap:after{content:"";position:absolute;top:50%;right:13px;width:6px;height:6px;border-right:1.6px solid var(--text-muted);border-bottom:1.6px solid var(--text-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin-right:8px;vertical-align:middle;cursor:pointer}label:has(.ctrl-icon-empty){position:relative}label:has(.ctrl-icon-empty) input[type=checkbox],label:has(.ctrl-icon-empty) input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:absolute;left:0;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;margin:0;cursor:pointer}.ctrl-icon-empty,.ctrl-icon-checked{font-size:20px;line-height:1;color:var(--gray-500);flex-shrink:0;transition:color .15s ease}.ctrl-icon-checked{color:var(--ink-mid)}label input[type=checkbox]:not(:checked)~.ctrl-icon-checked,label input[type=radio]:not(:checked)~.ctrl-icon-checked{display:none}label input[type=checkbox]:checked~.ctrl-icon-empty,label input[type=radio]:checked~.ctrl-icon-empty{display:none}label input[type=checkbox]:hover:not(:disabled)~.ctrl-icon-empty,label input[type=radio]:hover:not(:disabled)~.ctrl-icon-empty{color:var(--ink-line)}label input[type=checkbox]:focus-visible~.ctrl-icon-empty,label input[type=checkbox]:focus-visible~.ctrl-icon-checked,label input[type=radio]:focus-visible~.ctrl-icon-empty,label input[type=radio]:focus-visible~.ctrl-icon-checked{outline:2px solid var(--ink-line);outline-offset:2px;border-radius:4px}label input[type=checkbox]:disabled~.ctrl-icon-empty,label input[type=checkbox]:disabled~.ctrl-icon-checked,label input[type=radio]:disabled~.ctrl-icon-empty,label input[type=radio]:disabled~.ctrl-icon-checked{color:var(--gray-300);cursor:not-allowed}label{display:block;font-family:var(--font-sans);font-size:12px;color:var(--graphite-deep);font-weight:400}label.required:after{content:" *";color:var(--tbo-error)}.checkbox-field,.radio-field{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-group{display:flex;flex-direction:column;gap:8px}.input-with-unit{position:relative;display:inline-block}.input-with-unit input{padding-right:24px}.input-with-unit input[type=number]::-webkit-outer-spin-button,.input-with-unit input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-unit input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.input-with-unit .unit-label{position:absolute;right:10px;top:55%;transform:translateY(-50%);font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-mid);pointer-events:none;font-size:10px;transition:opacity .15s ease}input.input-align-right{text-align:right;font-variant-numeric:tabular-nums}.input-with-prefix{position:relative;display:inline-block}.input-with-prefix input{padding-left:18px}.input-with-prefix .prefix-label{position:absolute;left:9px;top:55%;transform:translateY(-50%);font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;font-size:10px}.input-with-unit input[type=number]:hover:not(.input-align-right)+.unit-label,.input-with-unit input[type=number]:focus:not(.input-align-right)+.unit-label{opacity:0;pointer-events:none}.input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit input[type=number]:focus:not(.input-align-right){padding-right:8px}.input-with-icon{position:relative;display:inline-block}.input-with-icon input{padding-left:32px}.input-with-icon .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-line);font-size:14px;pointer-events:none}.input-with-clear{position:relative;display:inline-block}.input-with-clear input{padding-right:32px}.input-with-unit,.input-with-prefix,.input-with-icon,.input-with-clear{width:100%}.input-with-icon.input-with-clear input{padding-left:32px;padding-right:32px}.field-size-sm input[type=text],.field-size-sm input[type=number],.field-size-sm input[type=search],.field-size-sm select,.field-size-sm textarea,input[type=text].field-size-sm,input[type=number].field-size-sm,input[type=search].field-size-sm,select.field-size-sm,textarea.field-size-sm{font-size:13px;padding:6px 8px;border-radius:6px}.field-size-xs input[type=text],.field-size-xs input[type=number],.field-size-xs input[type=search],.field-size-xs select,.field-size-xs textarea,input[type=text].field-size-xs,input[type=number].field-size-xs,input[type=search].field-size-xs,select.field-size-xs,textarea.field-size-xs{font-size:11px;padding:4px 6px;border-radius:4px}.field-size-xs .input-with-icon input,.input-with-icon.field-size-xs input{padding-left:22px}.field-size-xs .input-with-icon .input-icon,.input-with-icon.field-size-xs .input-icon{left:6px;font-size:11px}.field-size-xs .input-with-clear input,.input-with-clear.field-size-xs input{padding-right:22px}.field-size-xs .input-with-unit input,.input-with-unit.field-size-xs input{padding-right:16px}.field-size-xs .input-with-unit .unit-label,.input-with-unit.field-size-xs .unit-label{right:4px;font-size:8px}.field-size-sm .input-with-icon input,.input-with-icon.field-size-sm input{padding-left:26px}.field-size-sm .input-with-icon .input-icon,.input-with-icon.field-size-sm .input-icon{left:8px;font-size:12px}.field-size-sm .input-with-clear input,.input-with-clear.field-size-sm input{padding-right:26px}.field-size-sm .input-with-unit input,.input-with-unit.field-size-sm input{padding-right:20px}.field-size-sm .input-with-unit .unit-label,.input-with-unit.field-size-sm .unit-label{right:6px;font-size:9px}.field-size-sm .input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit.field-size-sm input[type=number]:hover:not(.input-align-right),.field-size-sm .input-with-unit input[type=number]:focus:not(.input-align-right),.input-with-unit.field-size-sm input[type=number]:focus:not(.input-align-right),.field-size-xs .input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit.field-size-xs input[type=number]:hover:not(.input-align-right),.field-size-xs .input-with-unit input[type=number]:focus:not(.input-align-right),.input-with-unit.field-size-xs input[type=number]:focus:not(.input-align-right){padding-right:8px}.menu-label{font-family:var(--font-mono);font-size:10px;color:var(--graphite-mid);font-weight:500;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.menu-label-xs{font-family:var(--font-mono);font-size:9px;color:var(--graphite-mid);font-weight:500;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}input[type=number].no-arrow::-webkit-outer-spin-button,input[type=number].no-arrow::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-arrow{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.input-with-unit input[type=number]:hover:not(.input-align-right)::-webkit-outer-spin-button,.input-with-unit input[type=number]:hover:not(.input-align-right)::-webkit-inner-spin-button,.input-with-unit input[type=number]:focus:not(.input-align-right)::-webkit-outer-spin-button,.input-with-unit input[type=number]:focus:not(.input-align-right)::-webkit-inner-spin-button{-webkit-appearance:auto}.input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit input[type=number]:focus:not(.input-align-right){-webkit-appearance:auto;appearance:auto;-moz-appearance:auto}.input-error{border-color:var(--brick-mid)!important}input[type=text].input-error,input[type=number].input-error,input[type=search].input-error,textarea.input-error,select.input-error{border-color:var(--brick-mid);box-shadow:0 0 0 3px var(--brick-veil)}.form-field-error{color:var(--tbo-error);font-size:12px;margin-top:4px}input.col-input{width:90px}#buildingHeight{width:86px}.canvas-overlay{position:absolute;bottom:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;border:1px solid var(--gray-200);background:#fff;font-size:13px;color:var(--gray-700);box-shadow:0 2px 4px #0000001a;z-index:100}.canvas-overlay.hidden{display:none}.canvas-overlay i{font-size:16px;flex-shrink:0;color:var(--gray-500)}.canvas-overlay span{white-space:nowrap}.canvas-overlay .btn.link{text-decoration:underline}.canvas-overlay.info{background:var(--ink-veil);border-color:var(--ink-wash)}.canvas-overlay.info i{color:var(--ink-mid)}.canvas-overlay.warning{background:var(--warning-banner-bg);border-color:var(--warning-banner-border);color:var(--warning-banner-text)}.canvas-overlay.warning i{color:var(--warning-banner-icon)}.canvas-overlay.top-attached{top:68px;bottom:auto;border-top:none;border-radius:0 0 8px 8px;padding:10px 16px 8px;gap:12px}.lock-banner-button{padding:3px 10px;border-radius:4px;border:1px solid var(--gray-300);background:var(--action);color:#fff;cursor:pointer;font-size:12px;font-weight:600}.lock-banner-button:hover:not(:disabled){background:var(--action-deep)}.lock-banner-button:disabled{opacity:.5;cursor:default}.hidden{display:none!important}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.min-w-0{min-width:0}.min-h-0{min-height:0}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.truncate,.truncate-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.border{border:1px solid var(--tbo-border-color)}.border-0{border:none}.rounded{border-radius:var(--tbo-radius)}.rounded-sm{border-radius:4px}.rounded-lg{border-radius:12px}.rounded-full{border-radius:9999px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.key-combo{display:inline-flex;align-items:center;gap:3px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:inherit;font-size:11px;font-weight:400;color:var(--ink-line);background:#eef1f7;border:1px solid var(--ink-soft);border-radius:4px}kbd.on-ink{color:var(--text-on-ink);background:var(--surface-on-ink);border-color:var(--border-on-ink)}kbd.sm{min-width:18px;height:18px;padding:0 4px;font-size:10px}kbd.xs{min-width:16px;height:16px;padding:0 3px;font-size:9px}.icon-disc{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink-wash);color:var(--ink-mid)}.icon-disc.accent{background:var(--surface-paper);color:var(--accent)}.icon-disc.xs{width:28px;height:28px;font-size:15px}.icon-disc.sm{width:36px;height:36px;font-size:18px}.icon-disc.md{width:48px;height:48px;font-size:24px}.icon-disc.lg{width:56px;height:56px;font-size:28px}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--graphite-soft);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--graphite-line)}button.more-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--gray-400);font-size:16px;flex-shrink:0;opacity:0;transition:opacity .1s ease,background .1s ease}:hover>button.more-btn{opacity:1}button.more-btn:hover{background:var(--gray-200);color:var(--gray-700)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin-complete{animation:pop .3s}@keyframes pop{0%{transform:scale(1) rotate(0)}to{transform:scale(1.2) rotate(360deg)}}.sidebar-nav{width:240px;min-width:240px;height:100vh;display:flex;flex-direction:column;background:var(--ink-deep);border-right:1px solid var(--border-on-ink);overflow:hidden;transition:width .2s ease,min-width .2s ease}.sidebar-nav.collapsed{width:56px;min-width:56px}.sidebar-nav.collapsed .sidebar-nav-search>span,.sidebar-nav.collapsed .sidebar-nav-search-hint,.sidebar-nav.collapsed .sidebar-nav-link>span,.sidebar-nav.collapsed .sidebar-nav-link .key-combo,.sidebar-nav.collapsed .sidebar-nav-section-header,.sidebar-nav.collapsed .sidebar-nav-items,.sidebar-nav.collapsed .sidebar-nav-sublinks,.sidebar-nav.collapsed .sidebar-nav-group-caret{display:none}.sidebar-nav.collapsed .sidebar-nav-logo,.sidebar-nav.collapsed .sidebar-nav-search,.sidebar-nav.collapsed .sidebar-nav-links .sidebar-nav-link{justify-content:center;align-self:center;margin-left:auto;margin-right:auto}.sidebar-nav.collapsed .sidebar-nav-links .sidebar-nav-link{padding-left:12px;padding-right:12px}.sidebar-nav.collapsed .sidebar-nav-search{padding-left:8px;padding-right:8px}.sidebar-nav.collapsed .sidebar-nav-logo{padding-left:0;padding-right:0}.sidebar-nav-logo-mark,.sidebar-nav.collapsed .sidebar-nav-logo-full{display:none}.sidebar-nav.collapsed .sidebar-nav-logo-mark{display:block}.sidebar-collapse-toggle{margin-left:auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--text-on-ink-muted);border-radius:6px;transition:background .1s ease}.sidebar-collapse-toggle:hover{background:var(--surface-on-ink)}.sidebar-collapse-toggle i{font-size:16px}.sidebar-nav.collapsed .sidebar-collapse-toggle{display:none;margin-left:0}.sidebar-nav.collapsed .sidebar-collapse-toggle i{transform:rotate(180deg)}.sidebar-nav.collapsed:hover .sidebar-nav-logo-mark{display:none}.sidebar-nav.collapsed:hover .sidebar-collapse-toggle{display:flex}.sidebar-nav-logo{display:flex;align-items:center;padding:20px 16px}.sidebar-nav-logo img{height:32px;width:auto}.sidebar-nav-search{display:flex;align-items:center;gap:8px;margin:0 12px 16px;padding:8px 12px;border-radius:8px;border:1px solid var(--border-on-ink);background:var(--surface-on-ink);color:var(--text-on-ink-muted);font-size:13px;cursor:pointer;transition:background .15s ease;white-space:nowrap;overflow:hidden}.sidebar-nav-search:hover{background:var(--surface-on-ink-strong)}.sidebar-nav-search-hint{margin-left:auto}.sidebar-nav-section-header{display:flex;align-items:center;gap:4px;padding:8px 16px;margin-bottom:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-on-ink-muted);position:relative}.sidebar-nav-section-header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:var(--border-on-ink)}.sidebar-nav-back-group{display:flex;align-items:center;gap:2px;background:none;border:none;color:inherit;cursor:pointer;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;height:22px;transition:color .15s ease}.sidebar-nav-back-group i{font-size:14px}.sidebar-nav-back-group:hover{color:var(--accent);background:none!important}.sidebar-nav-context{flex:1;min-height:0;display:flex;flex-direction:column}.sidebar-nav-items{display:flex;flex-direction:column;gap:2px;padding:0 8px;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:14px;color:var(--text-on-ink);cursor:pointer;flex-shrink:0;transition:background .1s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav-item.unassigned{opacity:.45}.sidebar-nav-item.unassigned:hover{opacity:.7}.sidebar-nav-item:hover{background:var(--surface-on-ink)}.sidebar-nav-item.active{background:var(--surface-on-ink-strong);color:var(--text-on-ink);box-shadow:inset 0 0 0 1px var(--border-on-ink)}.sidebar-nav-item.active i{color:var(--accent)}.sidebar-nav-item i{font-size:16px;flex-shrink:0}.sidebar-nav-links{display:flex;flex-direction:column;gap:2px;padding:0 8px 16px}.sidebar-nav-links .sidebar-nav-link{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;font-size:14px;color:var(--text-on-ink);text-decoration:none;cursor:pointer;transition:background .1s ease;white-space:nowrap;overflow:hidden}.sidebar-nav-link:hover{background:var(--surface-on-ink)}.sidebar-help-link{box-shadow:inset 0 0 0 1px var(--border-on-ink)}.sidebar-nav-link.active{background:var(--copper-deep);color:var(--text-on-ink)}.sidebar-nav-link.active i{color:var(--text-on-ink)}.sidebar-nav-link i{font-size:16px;flex-shrink:0}.sidebar-nav-group{display:flex;flex-direction:column}.sidebar-nav-group-caret{margin-left:auto;font-size:13px;color:var(--text-on-ink-muted);transition:transform .15s ease}.sidebar-nav-group.open .sidebar-nav-group-caret{transform:rotate(90deg)}.sidebar-nav-group.has-active>.sidebar-nav-link.is-group{color:var(--text-on-ink)}.sidebar-nav-group.has-active>.sidebar-nav-link.is-group i:first-child{color:var(--accent)}.sidebar-nav-sublinks{display:flex;flex-direction:column;gap:2px;margin:2px 0 2px 26px;padding-left:10px;border-left:1px solid var(--border-on-ink)}.sidebar-nav-group:not(.open) .sidebar-nav-sublinks{display:none}.sidebar-nav-links .sidebar-nav-sublink{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--text-on-ink);text-decoration:none;cursor:pointer;white-space:nowrap;overflow:hidden;transition:background .1s ease}.sidebar-nav-links .sidebar-nav-sublink:hover{background:var(--surface-on-ink)}.sidebar-nav-links .sidebar-nav-sublink.active{background:var(--copper-deep);color:var(--text-on-ink)}.sidebar-nav-sublink i{font-size:14px;flex-shrink:0}.sidebar-back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;color:var(--text-on-ink-muted);background:none;border:none;cursor:pointer;width:100%;transition:color .1s ease}.sidebar-back-btn:hover{color:var(--accent)}.sidebar-back-btn i{font-size:14px}.sidebar-nav-item-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.sidebar-nav-item-sub{font-size:11px;color:var(--text-on-ink-muted);font-weight:400}.sidebar-nav-item-creator{color:var(--text-on-ink-muted)}.sidebar-nav-item-lock{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--copper-line)}.sidebar-nav-item-lock i{font-size:12px;position:relative;top:-1px}.search-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;background:#0000004d}.search-palette{width:500px;min-height:300px;max-height:400px;background:#fff;border-radius:12px;box-shadow:0 16px 70px #00000026,0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow:hidden}.search-palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--gray-200)}.search-palette-input-row i{font-size:18px;color:var(--gray-400);flex-shrink:0}.search-palette-input{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;color:var(--gray-900);background:none}.search-palette-input::placeholder{color:var(--gray-400)}.search-palette-results{overflow-y:auto;padding:6px 14px;flex:1;display:flex;flex-direction:column}.search-palette-category-header{padding:8px 10px 4px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-400)}.search-palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .08s ease}.search-palette-item:hover,.search-palette-item.active{background:var(--gray-100)}.search-palette-item i{font-size:16px;color:var(--gray-400);flex-shrink:0}.search-palette-item-text{display:flex;align-items:baseline;gap:8px;min-width:0}.search-palette-item-label{font-size:14px;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette-item-desc{font-size:12px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette-show-more{justify-content:center;gap:6px;color:var(--gray-400);font-size:12px;font-weight:500}.search-palette-show-more i{font-size:12px;color:var(--gray-400)}.search-palette-footer{display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 16px;border-top:1px solid var(--gray-200);margin-top:auto}.search-palette-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-400)}.search-palette-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:24px;gap:12px}.search-palette-empty-illustration{width:140px;height:auto;opacity:.8}.search-palette-empty p{font-size:13px;color:var(--gray-400);margin:0}.inspector{position:absolute;top:0;right:0;height:100%;width:260px;background:#fff;border-left:1px solid var(--graphite-soft);z-index:200;display:flex;flex-direction:column;font-family:var(--font-sans);transition:width .26s cubic-bezier(.2,.8,.2,1)}.inspector.hidden{display:none}.inspector[data-collapsed=true]{width:46px}.inspector-open{display:flex;flex-direction:column;min-height:0;height:100%}.inspector[data-collapsed=true] .inspector-open{display:none}.inspector-strip{display:none;flex-direction:column;width:46px;height:100%;align-items:center;justify-content:flex-start;gap:12px;padding:15px 0 14px;border:none;background:transparent;cursor:pointer;color:var(--slate-line)}.inspector[data-collapsed=true] .inspector-strip{display:flex}.inspector-strip:hover{color:var(--ink-mid)}.inspector-strip .strip-label{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-line)}.inspector-strip i{display:inline-flex;align-items:center;justify-content:center;height:26px;width:26px;font-size:15px}.inspector-header{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:15px 14px 12px;border-bottom:1px solid var(--graphite-wash)}.inspector-header-top{display:flex;align-items:center;gap:6px}.inspector-name{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--ink-deep);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-header .icon-btn{height:26px;width:26px;font-size:15px;color:var(--graphite-line)}.inspector-header .icon-btn:hover:not(:disabled){color:var(--ink-mid)}.inspector-desc{font-size:12px;color:var(--slate-line);line-height:1.4}.inspector-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:4px 14px 16px}.inspector-section{display:flex;flex-direction:column;padding-top:4px}.inspector-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:6px 4px 6px 2px;margin:0 0 4px;border:none;background:transparent;border-radius:7px;cursor:pointer;transition:background .14s,color .14s;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--slate-line)}.inspector-section-header:hover{background:var(--graphite-veil);color:var(--ink-mid)}.inspector-section-headrow{display:flex;align-items:center;margin-bottom:4px}.inspector-section-headrow .inspector-section-header{flex:1;min-width:0;margin-bottom:0}.inspector-section-label{text-align:left}.accordion-caret{font-size:13px;color:var(--graphite-line);transition:transform .2s}.inspector-section-header:hover .accordion-caret{color:var(--ink-line)}.inspector-section-header.collapsed .accordion-caret{transform:rotate(-90deg)}.inspector-section-count{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9.5px;font-weight:500;color:var(--slate-mid);background:var(--graphite-wash);padding:1px 5px;border-radius:5px}.inspector-section-count:empty{display:none}.inspector-section-panel{display:flex;flex-direction:column;gap:0;padding:2px 2px 0}.inspector-section-panel.hidden{display:none}.inspector-section:has(.inspector-section-header.collapsed){border-bottom:1px solid var(--graphite-wash)}.detail-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;min-width:0}.detail-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--ink-veil);color:var(--ink-line);font-size:14px}.detail-text{display:flex;flex-direction:column;gap:1px;min-width:0}.detail-label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-line)}.detail-value,.detail-subvalue{font-size:12.5px;font-weight:500;color:var(--ink-deep);line-height:1.35;overflow:hidden;text-overflow:ellipsis}.detail-value.muted{font-weight:400;color:var(--slate-line)}.detail-badge{align-self:flex-start;margin-top:2px;font-family:var(--font-mono);font-size:9px;color:var(--slate-mid);background:var(--graphite-wash);padding:1px 4px;border-radius:4px}.detail-badge:empty{display:none}.detail-seismic-head{display:flex;align-items:center;gap:6px}.sdc-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;border:1.5px solid var(--border-default);font-size:var(--text-size-xs);font-weight:600;line-height:1;flex-shrink:0}.sdc-badge:empty{display:none}.sdc-badge.active{background:var(--error-bg);border-color:var(--error-color);color:var(--error-text)}.sdc-badge.calm{background:var(--success-bg);border-color:var(--success-color);color:var(--success-text)}.sdc-badge.na{border-style:dashed;color:var(--text-muted);font-size:var(--text-size-2xs)}.sdc-badge.loading{color:var(--text-muted)}.detail-seismic-sub{font-size:12.5px;color:var(--text-muted);line-height:1.35}.detail-seismic-sub.active{color:var(--error-text)}.detail-seismic-sub.calm{color:var(--success-text)}.sdc-spin{display:inline-block;animation:sdc-spin .9s linear infinite}@keyframes sdc-spin{to{transform:rotate(360deg)}}.metric-hero{margin-bottom:8px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;text-align:left;background:var(--graphite-veil);border:1px solid var(--graphite-wash);border-radius:11px;cursor:pointer;transition:background .16s,border-color .16s}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.metric-label{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-line)}.metric-caret{font-size:13px;color:var(--graphite-line);transition:transform .16s,color .16s}.metric-value-row{display:flex;align-items:baseline;gap:5px;min-width:0}.metric-value{font-family:var(--font-serif);font-weight:400;color:var(--ink-deep);font-variant-numeric:tabular-nums;line-height:1}.metric-hero .metric-value{font-size:33px}.metric-tile:not(.metric-hero) .metric-value{font-size:22px}.metric-unit{font-family:var(--font-sans);font-size:12px;color:var(--slate-mid)}.metric-sub{font-family:var(--font-sans);font-size:11.5px;color:var(--slate-mid)}.metric-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--copper-mid);transform:scaleY(0);transform-origin:bottom;transition:transform .18s ease-out}.metric-tile:hover{background:#fff;border-color:var(--copper-soft)}.metric-tile:hover:before{transform:scaleY(1)}.metric-tile:hover .metric-caret{color:var(--copper-mid);transform:translate(2px)}.metric-tile.disabled{cursor:default;opacity:.55}.metric-tile.disabled:hover{background:var(--graphite-veil);border-color:var(--graphite-wash)}.metric-tile.disabled:hover:before{transform:scaleY(0)}.metric-tile.disabled .metric-caret{display:none}.metric-tile.warning{border-color:var(--ochre-soft)}.metric-tile.warning .metric-label{color:var(--ochre-mid)}.estimate-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 14px;text-align:left;background:var(--copper-veil);border:1px solid var(--copper-soft);border-radius:11px;cursor:pointer;transition:background .16s,border-color .16s}.estimate-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--copper-mid);transform:scaleY(0);transform-origin:bottom;transition:transform .18s ease-out}.estimate-label{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--copper-mid)}.estimate-value{font-family:var(--font-serif);font-weight:400;font-size:30px;line-height:1.05;color:var(--copper-deep);font-variant-numeric:tabular-nums}.estimate-link{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-sans);font-size:11.5px;font-weight:600;color:var(--copper-mid)}.estimate-link i{font-size:12px;transition:transform .16s}.estimate-card:hover{background:var(--copper-wash);border-color:var(--copper-line)}.estimate-card:hover:before{transform:scaleY(1)}.estimate-card:hover .estimate-link{color:var(--copper-deep)}.estimate-card:hover .estimate-link i{transform:translate(2px)}.estimate-card.empty{background:var(--graphite-veil);border-color:var(--graphite-soft);cursor:default}.estimate-card.empty .estimate-label{color:var(--slate-line)}.estimate-card.empty .estimate-value{font-family:var(--font-sans);font-size:18px;color:var(--graphite-line)}.estimate-card.empty .estimate-link{display:none}.estimate-card.empty:hover{background:var(--graphite-veil);border-color:var(--graphite-soft)}.estimate-card.empty:hover:before{transform:scaleY(0)}.quotes-list{display:flex;flex-direction:column;gap:2px}.quote-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px;margin:0 -8px;text-align:left;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background-color .14s}.quote-row:hover{background:var(--graphite-veil)}.quote-row-icon{flex-shrink:0}.quote-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.quote-head{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.2}.quote-vendor{font-size:12px;font-weight:400;color:var(--ink-deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-total{flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--steel-mid)}.quote-meta{display:flex;align-items:center;gap:8px}.quote-lines{font-family:var(--font-mono);font-size:var(--text-size-2xs);color:var(--slate-line)}.quotes-empty{font-size:12px;color:var(--text-muted);padding:2px 0}.inspector-footer{flex-shrink:0;padding:11px 14px;border-top:1px solid var(--graphite-wash);background:#fff}.inspector-footer .btn{width:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text-color: #222;--border-radius: 8px;--border-color: var(--graphite-soft);--bv-white: #fff;--gray-25: #fdfdfd;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e9eaeb;--gray-300: #d5d7da;--gray-400: #a4a7ae;--gray-500: #717680;--gray-600: #535862;--gray-700: #414651;--gray-800: #252b37;--gray-900: #181d27;--moss-100: #e6f4d7;--moss-200: #ceeab0;--moss-300: #acdc79;--moss-400: #86cb3c;--moss-500: #669f2a;--error-color: #f04438;--warning-color: #fdb022;--success-color: #47cd89;--success-bg: #e6f7ed;--success-text: #1f7a3a;--warning-bg: #fff4e0;--warning-text: #8a5a00;--warning-banner-bg: #fff8e6;--warning-banner-border: #f3e0a8;--warning-banner-text: #5a4100;--warning-banner-icon: #b58100;--error-bg: #fdecec;--error-text: #b42318;--web-dark: #1a1a2e;--web-dark-mid: #2a2a40;--web-text-muted: #c5c8d4;--web-text-subtle: #a0a3b1;--web-green-dark: #059669;--web-green: #10b981;--web-hover-green: #5de0ba;--web-surface-1: rgba(255, 255, 255, .04);--web-surface-2: rgba(255, 255, 255, .05);--web-surface-3: rgba(255, 255, 255, .06);--web-surface-4: rgba(255, 255, 255, .08);--web-surface-5: rgba(255, 255, 255, .12);--web-border-subtle: rgba(255, 255, 255, .1);--web-border-medium: rgba(255, 255, 255, .15);--web-border-strong: rgba(255, 255, 255, .25);--web-border-muted: rgba(255, 255, 255, .3);--ink-veil: #f1f6fc;--ink-wash: #e3ecf8;--ink-soft: #aac0e0;--ink-line: #5d7aa8;--ink-mid: #13325f;--ink-deep: #061a3d;--paper-veil: #fdfbf7;--paper-wash: #faf7ef;--paper-soft: #f5f1e8;--paper-line: #e0d8bd;--paper-mid: #ebe5d3;--paper-deep: #d8d2bf;--graphite-veil: #f7f8fa;--graphite-wash: #eef0f3;--graphite-soft: #d8dce1;--graphite-line: #9aa0a8;--graphite-mid: #5b6168;--graphite-deep: #2f3338;--copper-veil: #fef3e7;--copper-wash: #fde6cf;--copper-soft: #f4c89d;--copper-line: #dc8b4f;--copper-mid: #b85b1f;--copper-deep: #8e3f10;--canvas-accent: var(--copper-mid);--canvas-surface: var(--gray-50);--steel-veil: #e6f1f9;--steel-wash: #cde2f2;--steel-soft: #84b3da;--steel-line: #3680b8;--steel-mid: #1466a1;--steel-deep: #08385c;--sage-veil: #f0f6ed;--sage-wash: #e1ecdb;--sage-soft: #aec9a3;--sage-line: #6a955f;--sage-mid: #3a6b3a;--sage-deep: #1f4720;--ochre-veil: #fdf5e5;--ochre-wash: #fbeacb;--ochre-soft: #f3d088;--ochre-line: #c89a32;--ochre-mid: #a3771a;--ochre-deep: #74540f;--brick-veil: #fdeee8;--brick-wash: #fadcd0;--brick-soft: #ecaa92;--brick-line: #cd6a47;--brick-mid: #962f15;--brick-deep: #6a1c08;--slate-veil: #f7f6f3;--slate-wash: #eeede7;--slate-soft: #d6d3c8;--slate-line: #9a948a;--slate-mid: #5a564d;--slate-deep: #322f29;--plum-veil: #f9edf2;--plum-wash: #f3dbe4;--plum-soft: #d7a5b8;--plum-line: #9c5f7e;--plum-mid: #5d2a45;--plum-deep: #3a1428;--font-sans: "Geist", system-ui, sans-serif;--font-mono: "Geist Mono", monospace;--font-serif: "Instrument Serif", serif;--text-size-2xs: 10px;--text-size-xs: 12px;--text-size-sm: 13px;--text-size-base: 14px;--text-size-md: 16px;--text-size-lg: 17px;--text-size-xl: 22px;--text-size-2xl: 28px;--text-size-3xl: 34px;--text-size-4xl: 44px;--text-on-ink: var(--paper-soft);--text-on-ink-muted: rgba(245, 241, 232, .72);--text-on-ink-faint: rgba(245, 241, 232, .4);--border-on-ink: rgba(245, 241, 232, .12);--grid-on-ink: rgba(245, 241, 232, .04);--surface-on-ink: rgba(245, 241, 232, .06);--surface-on-ink-strong: rgba(245, 241, 232, .1);--surface-paper: var(--paper-wash);--border-hairline: var(--paper-line);--border-accent: var(--copper-soft);--text-heading: var(--ink-deep);--surface-card: var(--bv-white);--surface-popover: var(--surface-card);--surface-subtle: var( --graphite-veil );--border-default: var(--graphite-soft);--border-subtle: var( --graphite-wash );--border-error: var(--brick-mid);--surface-error: var(--brick-veil);--text-error: var(--brick-mid);--border-warning: var(--ochre-line);--surface-warning: var(--ochre-veil);--text-primary: var(--gray-900);--text-secondary: var( --slate-mid );--text-muted: var(--graphite-line);--text-page-title: 40px;--text-page-desc: var(--text-size-sm);--text-breadcrumb: var( --text-size-2xs );--text-table-header: var( --text-size-2xs );--radius: 8px;--shadow: 0 4px 8px rgba(0, 0, 0, .1);--z-popover: 300;--ink: #0f1d35;--action: #1a2b4a;--action-deep: #0a162e;--accent: var(--copper-mid);--accent-deep: var(--copper-deep);--accent-veil: var(--copper-veil);--accent-wash: var(--copper-wash);--rust: #c98a3a;--steel: #2c4870;--alarm: #a83838;--alarm-deep: #842c2c;--bv-green: #4a6b56;--tbo-bg-card: var(--surface-card);--tbo-bg-overlay: rgba(0, 0, 0, .4);--tbo-border-color: var(--border-default);--tbo-border-light: var(--gray-100);--tbo-text-primary: var(--text-primary);--tbo-text-muted: var(--text-muted);--tbo-primary: var(--action);--tbo-error: var(--alarm);--tbo-warning: #fdb022;--tbo-success: #47cd89;--tbo-radius: var(--radius);--tbo-shadow: var(--shadow);--tbo-shadow-lg: 0 4px 8px rgba(0, 0, 0, .2);--tbo-z-popover: var(--z-popover);--tbo-z-modal: 1000;font-family:Roboto,Arial,sans-serif}.segmented-picker{display:flex;width:fit-content;gap:4px;padding:3px;background:var(--graphite-wash);border-radius:8px}.segmented-picker.fill{width:100%}.segmented-picker.fill .segment-button{flex:1}.segmented-picker.overflow{overflow-x:auto}.segment-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;background:transparent;cursor:pointer;border-radius:6px;font-size:var(--text-size-sm);font-family:inherit;color:var(--slate-mid);white-space:nowrap;transition:all .15s ease}.segment-button:hover:not(.active){background:var(--graphite-veil);color:var(--ink-mid)}.segment-button.active{background:#fff;color:var(--ink-deep);font-weight:600;box-shadow:0 1px 2px #061a3d14}.segment-button i{font-size:var(--text-size-base)}.segmented-picker.tabbed{width:100%;gap:24px;padding:0;background:none;border-radius:0;border-bottom:1px solid var(--graphite-soft)}.segmented-picker.tabbed .segment-button{padding:10px 1px 12px;margin-bottom:-1px;border-radius:0;border-bottom:2px solid transparent;background:none;font-family:var(--font-mono);font-size:var(--text-size-xs);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--slate-line)}.segmented-picker.tabbed .segment-button:hover:not(.active){background:none;color:var(--ink-mid)}.segmented-picker.tabbed .segment-button.active{background:none;box-shadow:none;color:var(--copper-mid);border-bottom-color:var(--copper-mid)}.segmented-content{padding:8px 0}.segment-count{margin-left:6px;font-weight:400;color:var(--text-muted)}.account-trigger{position:fixed;top:20px;left:20px;width:220px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--gray-200);border-radius:8px;background:#fff;cursor:pointer;z-index:100;box-shadow:0 2px 4px #00000014}.account-trigger--bottom{position:static;width:100%;border:none;border-top:1px solid var(--gray-200);border-radius:0;box-shadow:none;background:inherit;padding:12px 16px}.account-trigger--bottom .account-trigger-text{flex:1}.account-trigger:hover{background:var(--gray-50)}.account-trigger .account-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.account-trigger-text{display:flex;flex-direction:column;overflow:hidden;text-align:left}.account-name{font-size:13px;font-weight:600;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-email{font-size:11px;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav .account-trigger--bottom{border-top-color:var(--border-on-ink)}.sidebar-nav .account-trigger:hover{background:var(--surface-on-ink)}.sidebar-nav .account-name{color:var(--text-on-ink)}.sidebar-nav .account-email{color:var(--text-on-ink-muted)}.sidebar-nav .account-trigger>i{color:var(--text-on-ink-muted)}.sidebar-nav.collapsed .account-trigger{justify-content:center;padding:8px 0;margin:0 4px}.sidebar-nav.collapsed .account-trigger-text,.sidebar-nav.collapsed .account-trigger>i{display:none}.account-popover-header{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 12px}.account-popover-org-avatar{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0}.account-popover-org-initial{width:32px;height:32px;border-radius:6px;background:var(--ink-mid);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.account-popover-header-text{display:flex;flex-direction:column;overflow:hidden}.account-popover-header-label{font-size:13px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover-header-sub{font-size:12px;color:var(--gray-400)}.org-list-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:9999}.org-list-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000}.org-list-container>.tbo-modal-close{position:absolute;top:12px;right:12px;z-index:1;cursor:pointer}.modal-form-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.modal-form-row-inputs{flex:none}.modal-form-row-diagram{flex-shrink:0;display:flex;align-items:center;justify-content:center}.modal-form-row .modal-diagram{margin-bottom:0}.modal-form-section{margin-bottom:24px}.modal-section-header{font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--gray-500);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.modal-diagram{display:flex;justify-content:center;margin-bottom:16px}.modal-diagram.left{margin-left:-30px}.modal-diagram svg{max-width:100%;height:auto}.modal-diagram-building{fill:var(--copper-veil);stroke:var(--accent);stroke-width:1.5}.modal-diagram-arrow{stroke:var(--accent);stroke-width:1.5;fill:none}.modal-diagram-arrowhead{fill:var(--accent)}.modal-diagram-label{font-size:10px;font-weight:600;fill:var(--gray-600);font-family:inherit}.modal-diagram-column{fill:var(--accent)}.modal-diagram-column-line{stroke:var(--gray-300);stroke-width:1;stroke-dasharray:3,3}.col-position-diagram{display:flex;justify-content:center;margin-bottom:8px}.col-position-dot{fill:var(--gray-300)}.col-position-dot.active{fill:var(--accent)}.optimizer-modal-context{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--gray-500);margin-bottom:12px}.optimizer-modal-context strong{color:var(--steel);font-weight:600}.optimizer-modal-current{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--gray-600);background:var(--gray-100);padding:2px 8px;border-radius:999px}.optimizer-modal-current i{font-size:12px}.optimizer-modal-filter{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:14px;font-size:12px;color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none}.optimizer-modal-filter input[type=checkbox]{margin:0;width:13px;height:13px;accent-color:var(--ink-mid)}.optimizer-modal-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;margin:0 -16px;padding:0 16px}.optimizer-modal-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.optimizer-modal-row:hover{background:var(--gray-50);border-color:var(--ink-line);box-shadow:0 1px 3px #13325f14}.optimizer-modal-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.optimizer-modal-row-count{display:flex;align-items:baseline;gap:8px;font-size:14px;font-weight:600;color:var(--text-color)}.optimizer-modal-row-count .gain{font-size:16px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.1}.optimizer-modal-row-count .pct{font-size:11px;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums}.optimizer-modal-row-desc{font-size:12px;color:var(--gray-600);line-height:1.4}.optimizer-modal-row-arrow{color:var(--gray-300);font-size:14px;flex-shrink:0}.optimizer-modal-row:hover .optimizer-modal-row-arrow{color:var(--ink-mid)}.optimizer-modal-empty{padding:24px 16px;text-align:center;font-size:13px;color:var(--gray-500)}.tbo-modal.vqi-modal{max-width:480px;width:min(480px,calc(100vw - 48px));max-height:90vh;display:flex;flex-direction:column}.tbo-modal.vqi-modal[data-phase=duplicate]{max-width:560px;width:min(560px,calc(100vw - 48px))}.tbo-modal.vqi-modal[data-phase=review]{max-width:760px;width:min(760px,calc(100vw - 48px))}.tbo-modal.vqi-modal[data-phase=review][data-preview=on]{max-width:1160px;width:min(1160px,calc(100vw - 48px))}.tbo-modal.vqi-modal .tbo-modal-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.vqi-body{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1}.vqi-detail-loading{display:flex;align-items:center;justify-content:center;min-height:360px}.vqi-detail-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.vqi-detail-summary-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px;min-width:0;flex:1}.vqi-detail-summary .edit-text,.vqi-detail-summary .vqi-summary-value{white-space:normal}.vqi-detail-summary .vqi-summary-value{font-size:inherit;font-weight:inherit;color:inherit}.vqi-grand-hero{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;padding:14px 20px;border-radius:12px;background:var(--ink-deep)}.vqi-grand-hero-label{font-family:var(--font-mono);font-size:9.5px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--text-on-ink-muted)}.vqi-grand-hero-value{font-family:var(--font-serif);font-size:40px;font-weight:400;line-height:.9;color:var(--text-on-ink)}.vqi-grand-hero-valuerow{display:flex;align-items:center;gap:10px}.vqi-checksum-chip{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--sage-mid) 24%,transparent);color:var(--sage-soft);cursor:default}.vqi-checksum-chip i{font-size:11px;line-height:1}.vqi-section{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1}@keyframes vqi-spin{to{transform:rotate(360deg)}}.vqi-file-chip{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--gray-200));background:color-mix(in srgb,var(--accent) 5%,#ffffff);border-radius:10px}.vqi-file-chip .file-meta{flex:1;min-width:0}.vqi-file-chip .file-name{font-size:13px;font-weight:500;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vqi-file-chip .file-size{font-size:11px;color:var(--gray-500);margin-top:2px}.vqi-file-chip .file-remove{background:transparent;border:none;color:var(--gray-500);cursor:pointer;width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-family:inherit}.vqi-file-chip .file-remove:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--gray-900)}.vqi-processing{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 16px 16px;gap:14px}.vqi-processing-title{font-size:14px;font-weight:600;color:var(--gray-900)}.vqi-processing-sub{font-size:12px;color:var(--gray-600);max-width:340px;line-height:1.5}.vqi-processing-steps{display:flex;flex-direction:column;gap:6px;align-self:stretch;padding:12px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-top:4px;text-align:left}.vqi-processing-steps .step{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-500)}.vqi-processing-steps .step.done{color:var(--success-text)}.vqi-processing-steps .step.active{color:var(--gray-900);font-weight:500}.vqi-processing-steps .step i{font-size:14px}.vqi-processing-steps .step.active i{animation:vqi-spin 1.2s linear infinite;color:var(--accent)}.vqi-duplicate-hero{display:flex;gap:14px;align-items:flex-start;padding:4px 2px 12px}.vqi-duplicate-icon{width:40px;height:40px;border-radius:10px;background:var(--warning-bg);color:var(--warning-banner-icon);display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.vqi-duplicate-hero h3{font-size:15px;font-weight:600;color:var(--gray-900);margin:0 0 4px;line-height:1.4}.vqi-duplicate-hero p{font-size:12px;color:var(--gray-600);line-height:1.5;margin:0}.vqi-existing-quote{padding:14px 16px;border:1px solid var(--gray-200);border-radius:10px;background:var(--gray-50);margin-bottom:16px}.vqi-existing-quote-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.vqi-existing-quote-head .title{font-size:13px;font-weight:600;color:var(--gray-900)}.vqi-existing-quote-head .sub{font-size:11px;color:var(--gray-500);margin-top:2px}.vqi-existing-quote-meta{display:flex;gap:24px;font-size:12px;color:var(--gray-600)}.vqi-existing-quote-meta .meta-label{font-size:10px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.vqi-existing-quote-meta .meta-value{color:var(--gray-900);font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.vqi-explain{font-size:12px;color:var(--gray-600);line-height:1.6;padding:0 2px 4px;margin:0 0 4px}.vqi-error-icon{display:block;font-size:32px;color:var(--error-color);text-align:center;margin-bottom:8px}.vqi-error-headline{text-align:center;font-size:16px;font-weight:600;color:var(--gray-900);margin:0 0 6px}.vqi-error-message{text-align:center;font-size:13px;color:var(--gray-600);margin:0 auto 16px;max-width:520px;line-height:1.5}.vqi-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding:16px 18px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:16px}.vqi-summary-field{display:flex;flex-direction:column;gap:2px;min-width:0}.vqi-summary-field.full{grid-column:1 / -1}.vqi-summary-value{font-size:13px;color:var(--text-primary);font-weight:500}.vqi-summary-value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.vqi-summary-sub{font-size:11px;color:var(--gray-500);margin-top:1px}.vqi-summary-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vqi-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:999px;line-height:1.4}.vqi-pill i{font-size:12px}.vqi-pill.green{background:var(--success-bg);color:var(--success-text)}.vqi-pill.amber{background:var(--warning-bg);color:var(--warning-text)}.vqi-pill.muted-tag{background:var(--gray-200);color:var(--gray-500);font-weight:400;font-size:10px;padding:2px 6px}.vqi-section-title{display:flex;align-items:center;gap:8px;margin:18px 0 10px}.vqi-section-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--slate-line)}.vqi-section-trailing{margin-left:auto;display:flex;align-items:center}.vqi-splitpane-review .col-select{width:30px}.vqi-splitpane-review .col-conf{width:24px}.vqi-select{width:14px;height:14px;accent-color:var(--copper-mid);cursor:pointer}.vqi-select:disabled{cursor:not-allowed;opacity:.4}.vqi-splitpane-review .col-qty{width:80px}.vqi-splitpane-review .col-price{width:89px}.vqi-splitpane-review .col-ext{width:118px}.vqi-splitpane-review .col-issue{width:34px}.vqi-splitpane-review .vqi-ext{display:inline-block;margin-top:5px}.vqi-splitpane-review .vqi-num-input{width:100%;text-align:right}.vqi-splitpane-review .vqi-num-input.is-warn{border-color:var(--ochre-line)}.vqi-issue-pill{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--brick-veil);color:var(--brick-deep);font-size:12px;line-height:1}.vqi-row-detail{display:flex;flex-direction:column;gap:8px;padding:4px 14px 12px}.vqi-detail-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px}.vqi-detail-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;font-size:15px;line-height:1}.vqi-detail-icon i{line-height:1}.vqi-detail-card.tone-warn .vqi-detail-icon{background:var(--ochre-veil);color:var(--ochre-deep)}.vqi-detail-card.tone-info .vqi-detail-icon{background:var(--steel-veil);color:var(--steel-deep)}.vqi-detail-card.tone-neutral .vqi-detail-icon{background:var(--ink-wash);color:var(--ink-mid)}.vqi-detail-card.tone-danger .vqi-detail-icon{background:var(--brick-veil);color:var(--brick-deep)}.vqi-detail-body{flex:1;min-width:0}.vqi-detail-body strong{display:block;margin-bottom:2px;font-weight:500;font-size:13px;color:var(--text-primary)}.vqi-detail-text{font-size:11px;line-height:1.5;color:var(--text-muted)}.vqi-detail-pill{flex:none;align-self:flex-start;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.vqi-detail-pill.tone-warn{background:var(--ochre-wash);color:var(--ochre-deep)}.vqi-detail-pill.tone-neutral{background:var(--ink-wash);color:var(--ink-mid)}.vqi-detail-pill.tone-danger{background:var(--brick-wash);color:var(--brick-deep)}.vqi-detail-actions{flex:none;display:flex;align-items:center;gap:8px}.vqi-bom-picker{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px}.vqi-bom-picker-head{display:flex;align-items:center;justify-content:space-between}.vqi-bom-picker-title{font-size:12px;font-weight:500;color:var(--text-primary)}.vqi-bom-picker-cancel{padding:0;border:none;background:none;cursor:pointer;font-family:inherit;font-size:11px;color:var(--text-muted)}.vqi-bom-picker-cancel:hover{color:var(--text-primary)}.vqi-bom-picker-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.vqi-bom-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;border:none;background:none;border-radius:6px;cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.vqi-bom-picker-row:hover{background:var(--ink-wash)}.vqi-bom-picker-row.is-claimed{cursor:not-allowed;opacity:.5}.vqi-bom-picker-row.is-claimed:hover{background:none}.vqi-bom-picker-radio{flex:none;width:13px;height:13px;border-radius:999px;border:1.5px solid var(--graphite-soft)}.vqi-bom-picker-row.is-current .vqi-bom-picker-radio{border-color:var(--ink-mid);background:var(--ink-mid);box-shadow:inset 0 0 0 2.5px var(--surface-card)}.vqi-bom-picker-label{flex:1;min-width:0;font-size:12px;color:var(--text-primary)}.vqi-bom-picker-qty{flex:none;font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.vqi-conf-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.vqi-conf-dot.high{background:var(--success-text)}.vqi-conf-dot.medium{background:var(--warning-banner-icon)}.vqi-conf-dot.low{background:var(--error-color)}.vqi-conf-dot.none{background:var(--gray-300)}.vqi-conf-legend{display:flex;align-items:center;gap:14px}.vqi-conf-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.vqi-qty-drift{display:flex;flex-direction:column;align-items:stretch;gap:2px}.vqi-qty-drift .bom{color:var(--text-muted);font-size:9.5px;font-family:var(--font-mono);text-align:right}.vqi-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:auto;padding-top:16px;padding-bottom:4px;border-top:1px solid var(--gray-200);background:#fff}.vqi-footer.live{justify-content:space-between}.vqi-footer-live{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--gray-600)}.vqi-footer-live .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--gray-900);font-weight:500}.vqi-footer-live .delta-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:500}.vqi-footer-live .delta-chip.zero{background:var(--success-bg);color:var(--success-text)}.vqi-footer-live .delta-chip.nonzero{background:var(--warning-bg);color:var(--warning-text)}.vqi-footer-actions{display:inline-flex;gap:10px}.vqi-preview-toggle{margin-left:auto}.tbo-modal-heading .vqi-preview-toggle i{color:inherit}.tbo-modal.vqi-modal{--vqi-preview-width: 1fr}.vqi-splitpane{display:grid;grid-template-columns:680px var(--vqi-preview-width);gap:16px;flex:1;min-height:0}.tbo-modal.vqi-modal[data-preview=off] .vqi-splitpane{grid-template-columns:680px}.tbo-modal.vqi-modal[data-preview=off] .vqi-splitpane-preview{display:none}.vqi-splitpane-review{min-width:0;min-height:0;overflow-y:auto;padding-right:4px}.vqi-splitpane-preview{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:0}@media (max-width: 1099px){.tbo-modal.vqi-modal[data-preview=on] .vqi-splitpane{grid-template-columns:1fr}.tbo-modal.vqi-modal[data-preview=on] .vqi-splitpane-preview{display:none}}.vqi-preview-root{display:flex;flex-direction:column;width:100%;height:100%}.vqi-preview-toolbar{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff;border-bottom:1px solid var(--gray-200);font-size:11px}.vqi-preview-zoom{min-width:44px;text-align:center;font-variant-numeric:tabular-nums;color:var(--gray-600)}.vqi-preview-pages{display:flex;align-items:center;gap:4px;margin-left:auto}.vqi-preview-page-ind{font-variant-numeric:tabular-nums;color:var(--gray-600);min-width:38px;text-align:center}.vqi-preview-stage{flex:1;min-height:0;overflow:auto;background:#e5e7eb;padding:12px;display:flex;justify-content:safe center;align-items:flex-start}.vqi-preview-canvas{background:#fff;box-shadow:0 1px 3px #0000001f;display:block}.vqi-preview-img{display:block;background:#fff;box-shadow:0 1px 3px #0000001f}.opt-toast-card{position:relative;width:420px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 14px #0f1d350f;overflow:hidden;padding:14px 16px;color:var(--ink);font-family:inherit}.opt-toast-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--action)}.opt-toast-card .icon-btn.bare{position:absolute;top:10px;right:10px}.tbo-toast--optimizer i{color:var(--action)}.opt-toast-meta{display:flex;align-items:center;gap:8px;padding-right:24px;margin-bottom:10px}.opt-toast-event{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opt-toast-area{flex-shrink:0;font-size:10px;font-weight:500;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opt-toast-stats{padding:10px 12px;background:var(--gray-50);border-radius:6px}.opt-toast-top-pick{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;color:var(--action);text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border:1px solid var(--action);border-radius:4px;background:#fff;margin-bottom:10px}.opt-toast-stats-row{display:flex;gap:20px;align-items:flex-end}.opt-toast-stat{display:flex;flex-direction:column;gap:1px}.opt-toast-stat-val{font-size:22px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.1}.opt-toast-stat.neutral .opt-toast-stat-val{color:var(--ink)}.opt-toast-stat-label{font-size:9px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.opt-toast-stats-row .btn.bare{margin-left:auto;align-self:flex-end}.icon-small{font-size:12px;color:var(--text-color)}.icon-medium{font-size:16px;color:var(--text-color)}.icon-large{font-size:24px;color:var(--text-color)}.icon-file{font-size:32px;color:var(--gray-400)}.text-file-name{font-size:14px;color:var(--gray-700);font-weight:500;line-height:1.2}.text-file-sub{font-size:12px;color:var(--gray-600);font-weight:400;line-height:1}.text-modal-heading{font-size:20px;color:var(--gray-900);font-weight:600;margin-bottom:4px}.text-modal-subheading{font-size:14px;color:var(--gray-600);font-weight:400;margin-bottom:12px}.text-large{font-size:20px;color:var(--text-color);line-height:1.5}.text-medium{font-size:16px;color:var(--text-color);line-height:1.5}.text-small{font-size:12px;color:var(--text-color);line-height:1.5}.line-height-1{line-height:1}.weight-500{font-weight:500}.weight-600{font-weight:600}.pad-top-8{padding-top:8px}.pad-top-16{padding-top:16px}.pad-bottom-8{padding-bottom:8px}.pad-bottom-16{padding-bottom:16px}h3{font-size:18px;color:#333;margin-bottom:10px;font-weight:600}h4{font-size:16px;color:#333;margin-bottom:10px;font-weight:500}h5{font-size:14px;color:#333;margin-bottom:10px;font-weight:400}.input-group{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px}label{display:block;font-size:12px;color:var(--gray-600);font-weight:400}label.small{font-size:10px;color:var(--gray-600);font-weight:300;margin-bottom:-2px;margin-left:4px}.border{border:1px solid var(--border-color);border-radius:var(--border-radius)}html{margin:0;padding:0}main{display:flex;height:100vh}#contentArea{flex:1;position:relative;height:100vh;overflow:hidden}#toolbar{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:4px;background-color:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:4px;box-shadow:0 4px 6px #0000001a;z-index:100;align-items:center;min-height:40px}#toolHint{position:absolute;top:80px;left:50%;transform:translate(-50%);color:var(--gray-400);font-size:12px}.toolbar-separator{width:1px;height:20px;background-color:var(--gray-300);margin:0 8px}.truncate-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.new-drawing-options{margin-top:20px;max-height:50%;font-size:20px;font-weight:400;color:var(--gray-400);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.option-container{display:flex;flex-direction:row;gap:32px;height:100%;flex-wrap:wrap}.option-col{display:flex;flex:1;flex-direction:column;min-height:100%;min-width:180px;gap:24px}.option{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:160px;width:100%;gap:20px;cursor:pointer;border:1px solid var(--gray-300);border-radius:20px;padding:20px 16px;font-size:16px;font-weight:300}.option-img{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center}.option:hover{background-color:var(--gray-100);color:var(--gray-600)}#countsContainer{display:flex;flex-direction:column;justify-content:flex-start;gap:16px;align-items:stretch}#parent{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;height:100%;overflow:hidden;background-color:var(--canvas-surface)}#canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background:none}#canvasFooter{position:absolute;bottom:0;left:0;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:8px 12px;pointer-events:none;box-sizing:border-box}#canvasFooter>*{pointer-events:auto}.canvas-footer-coords{position:absolute;left:12px;bottom:8px;font-size:11px;color:var(--gray-500);white-space:nowrap}.view{flex:1;width:100%;display:flex;flex-direction:row;overflow:hidden}#complete-drawing{flex:1;width:100%;display:flex;overflow:hidden}.drawing{width:100%;height:100%}#user-avatar{border-radius:20px}#user-info{display:flex;flex-direction:row;align-items:center;gap:12px;width:fit-content}#user-name{font-size:16px;font-weight:600;color:#333;width:fit-content}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0006}.fit-content{width:fit-content}.close-button{color:var(--gray-400);float:right;font-size:16px;font-weight:700;cursor:pointer}.close-button:hover,.close-button:focus{color:var(--gray-700)}.icon-delete{cursor:pointer;color:var(--gray-400)}.icon-delete:hover{color:var(--error-color)}.flex-1{flex:1}.flex-align-top{display:flex;align-items:flex-start;justify-content:center}.flex-align-center{display:flex;align-items:center;justify-content:center}.flex-align-bottom{display:flex;align-items:flex-end;justify-content:center}.flex-row{display:flex;flex-direction:row;align-items:center}.width-100{width:100%}.flex-column{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:auto}.justify-space-between{justify-content:space-between}.max-width{max-width:100%}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-40{gap:40px}.hidden{display:none!important;pointer-events:none!important}.detail-menu{position:absolute;top:120px;left:20px;width:200px;background-color:#fff;border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:16px;z-index:200;display:flex;flex-direction:column;gap:14px}.elevation-menu{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}.elevation-menu .menu-grp{min-width:75px}.per-bay-group{display:flex;flex-direction:column;gap:6px}.per-bay-header{display:flex;align-items:baseline;gap:4px}.per-bay-axes{font-family:var(--font-mono);font-size:9px;color:var(--ink-line);font-weight:400;letter-spacing:0}.per-bay-inputs{display:flex;align-items:center;gap:6px}.per-bay-inputs input{flex:1;min-width:0;text-align:center}.per-bay-x{font-family:var(--font-mono);font-size:12px;color:var(--graphite-line);flex-shrink:0}.toggle-stack{display:flex;flex-direction:column;gap:4px;padding:0 4px;margin-bottom:8px;width:100%}.toggle-stack .toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:none}.toggle-stack .toggle-row .toggle-label{font-size:13px;color:var(--gray-700);flex:1}.toggle-stack .toggle-row.hidden{display:none}.delete-level-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;margin-top:8px;background-color:transparent;color:var(--tbo-error);border:1px solid var(--tbo-error);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.delete-level-btn:hover{background-color:var(--tbo-error);color:#fff}.delete-level-btn:disabled{opacity:.5;cursor:not-allowed}.delete-level-btn:disabled:hover{background-color:transparent;color:var(--tbo-error)}.delete-level-btn i{font-size:14px}#elevationNameGroup{margin-bottom:12px}#heightGroup,#colClearanceGroup{margin-top:-6px}.detail-menu .header{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:500;color:var(--gray-900)}.menu-grp-double{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;width:auto;gap:16px}.menu-grp{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:4px;flex:1 1 0}.menu-single{width:100%}.level-title{font-size:14px;color:var(--gray-700);font-weight:500;display:flex;align-items:center;justify-content:center;padding-bottom:4px;width:100%;border-bottom:1px solid var(--gray-200)}.menu-divider{width:100%;height:1px;background:var(--gray-200);border:0;margin:0}.level{border-top:1px solid var(--gray-200);margin-top:4px;padding-top:4px}.color-boxes{display:flex;flex-direction:row;gap:4px}.color-box{width:24px;height:24px;border:1px solid #cccccc00;border-radius:4px;cursor:pointer}.color-box[data-value=transparent]{background-color:#fff;border:1px solid gray}.color-box.active{border:2px solid #999}.buttons-row{display:flex;flex-direction:row;justify-content:flex-start;gap:4px}.stats{display:flex;flex-direction:column;background-color:var(--gray-100);border:1px solid var(--gray-300);border-radius:8px;min-height:40px;padding:6px 12px;color:var(--gray-800);font-weight:500;font-size:14px}.test{display:flex;border:1px solid var(--gray-300);flex-direction:row;width:100%;height:100%;overflow:hidden}.flex-row-between{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;gap:8px}.flex-row-between input{width:70px}.flex-row-between input[type=checkbox]{width:16px;accent-color:var(--ink-mid);border:var(--border-color)}.overrides-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto;width:100%;padding:4px 0}.override-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px;border-radius:4px;font-size:12px}.override-row .override-label{display:flex;align-items:center;gap:6px}.override-row .override-color{width:12px;height:12px;border-radius:2px;border:1px solid var(--gray-400)}.override-row .override-count{color:var(--gray-600);font-size:11px}.override-row .override-clear-btn{display:flex;align-items:center;justify-content:center;width:8px;height:8px;padding:8px;background:transparent;border:1px solid var(--gray-400);border-radius:4px;cursor:pointer;color:var(--gray-600)}.override-row .override-clear-btn:hover{background:var(--error-color);border-color:var(--error-color);color:#fff}#clearAllOverrides{align-self:flex-end}#overridesGroup{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-top:1px solid var(--gray-300);padding-top:8px;margin-top:12px;width:100%}#elementMenuFlyout{left:240px;width:200px;z-index:200}.modal-card-content{min-width:420px;display:flex;flex-direction:column;gap:10px}.modal-card-content .segmented-content{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto}.bom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:14px}.modal-card--accent{margin-top:4px;border-color:var(--gray-300)}.modal-card-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--gray-800);padding:0 10px 8px;margin-bottom:6px;border-bottom:1px solid var(--gray-200)}.send-email-card{display:flex;flex-direction:column;gap:12px;border:1px solid var(--border-default);border-radius:11px;padding:13px 14px}.send-email-card>*{margin-bottom:0}.send-email-card .tbo-tag-combobox-label{font-weight:400;letter-spacing:normal}.card-info-row{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-hairline)}.card-info-tile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:7px;background:var(--steel-veil);border:1px solid var(--steel-wash);color:var(--steel-mid);font-size:15px}.card-info-text{display:flex;flex-direction:column;gap:1px;min-width:0}.card-info-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.card-info-value{font-size:13px;font-weight:500;color:var(--text-primary)}.card-info-row.is-empty .card-info-value{font-weight:500;font-style:italic;color:var(--text-muted)}.bom-send-picker{margin-top:14px}.bom-send-panel{margin-top:12px}.bom-li-list{display:flex;flex-direction:column;padding-bottom:10px}.bom-li{display:flex;align-items:center;gap:10px;padding:6px 2px}.bom-li .checkbox-field{flex:1;min-width:0;font-size:13.5px;font-weight:500;color:var(--text-primary)}.bom-li-qty{font-family:var(--font-mono);font-size:12.5px;color:var(--text-primary);font-variant-numeric:tabular-nums}.bom-li.off .checkbox-field,.bom-li.off .bom-li-qty{color:var(--text-muted)}.modal-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:400;color:var(--gray-800)}.modal-row:nth-child(2n){background:#fff}.modal-row-label{flex:1;font-variant-numeric:tabular-nums}.modal-row-value{min-width:60px;text-align:right;font-variant-numeric:tabular-nums}.modal-empty-state{color:var(--gray-500);font-style:italic;text-align:center;padding:24px 0}.bom-detail-row{padding:0 10px 4px 24px;font-size:12px;color:var(--gray-500)}.capacity-modal-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.capacity-obstruction-banner{margin-top:12px;padding:0 14px;border:1px solid var(--steel-soft);border-radius:8px;background:var(--ink-veil)}.capacity-obstruction-banner .toggle-row-desc{color:var(--steel-mid)}.capacity-obstruction-banner .tbo-toggle input:checked+.tbo-toggle-track{background-color:var(--steel-mid)}.capacity-warning{color:var(--warning-color);font-size:12px;text-align:center;padding:8px 10px;margin-bottom:4px}.capacity-row-info{display:flex;align-items:center;gap:10px}.capacity-unit-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;text-transform:capitalize}.capacity-unit-badge--pallet{background:#eef2ff;color:#5c5cf8}.capacity-unit-badge--carton{background:#fef3e6;color:#c47a20}.capacity-subtotal{display:flex;justify-content:space-between;padding:8px 10px 0;margin-top:4px;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--gray-500)}.capacity-subtotal-value{font-weight:500;font-size:13px;color:var(--gray-700);font-variant-numeric:tabular-nums}svg{fill:none;touch-action:none}svg .thumbnail{width:100%;height:auto}.warehouse{stroke:#100076;stroke-width:3px}.temp-rect{fill:var(--canvas-accent);fill-opacity:.08;stroke:var(--canvas-accent);stroke-width:1px;vector-effect:non-scaling-stroke}.temp-dimension-line{stroke:var(--canvas-accent);stroke-width:1;stroke-dasharray:5,5;vector-effect:non-scaling-stroke}.temp-dimension-text{fill:var(--canvas-accent);font-size:72px;font-family:Roboto,Arial,sans-serif;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none}.building-col{fill:var(--ink-veil);stroke:var(--ink-line);stroke-width:1px;vector-effect:non-scaling-stroke}polygon{stroke-width:1px;vector-effect:non-scaling-stroke}polygon.locked{stroke-dasharray:4;stroke-width:2}polygon.selected{stroke:var(--canvas-accent)}polygon.hovered{stroke:var(--copper-line);stroke-width:1.75}.polygon-label{pointer-events:none;-webkit-user-select:none;user-select:none;fill:var(--gray-700)}.vertex{fill:var(--ink-mid);stroke:#fff;stroke-width:2;transition:r .2s ease;vector-effect:non-scaling-stroke}.vertex.hovered{fill:var(--ink-line)}@media (pointer: coarse){.vertex{r:72}}.edge{stroke:#7770;stroke-width:8;vector-effect:non-scaling-stroke;transition:stroke-width .2s ease}.edge.hovered{stroke-width:12}@media (pointer: coarse){.edge{stroke-width:16}}.dim-line.hovered{stroke:var(--copper-line);stroke-width:1.5}.dim-line.selected{stroke:var(--canvas-accent)}.dim-line-hover{stroke:#9990;stroke-width:16}.dim-line-text{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.dim-line-text.hovered{fill:var(--copper-line)}.dim-line-text.selected{fill:var(--canvas-accent)}.dimension-line,.dimension-tick{stroke:var(--gray-700);stroke-width:1;vector-effect:non-scaling-stroke}.dimension-text{fill:var(--gray-700);text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none}.plan-frame,.plan-beam{stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.plan-beam.selected,.plan-frame.selected{stroke:#000;stroke-width:1}.elevation-frame,.elevation-beam{stroke-width:1;vector-effect:non-scaling-stroke}.elevation-roof{fill:gray;stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke}.elevation-wire-deck,.elevation-pallet-support,.elevation-row-spacer{fill:#a0a5ab;stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke}.elevation-clearance{stroke-width:1;stroke-dasharray:8,6;vector-effect:non-scaling-stroke}.elevation-pallet,.elevation-carton{stroke-width:1;vector-effect:non-scaling-stroke}.guideline{stroke-width:.5;stroke-dasharray:8,4;vector-effect:non-scaling-stroke}.guideline.vertical{stroke:#00f}.guideline.horizontal{stroke:green}.guideline.diagonal{stroke:red}.col-spacing,.col-label{pointer-events:none;-webkit-user-select:none;user-select:none}.col-spacing-container:hover{stroke:#00008b;fill:#f7f7f7;cursor:pointer}.level-rect.hovered{fill:#ffffff25}.level-rect.selected{stroke-width:.5;stroke-dasharray:4,1;stroke:var(--copper-mid)}.svg-icon-btn{cursor:pointer;stroke:var(--gray-500);stroke-width:.5;fill:#fff;pointer-events:all}.svg-icon-btn:hover{fill:var(--gray-100)}.level-rect.is-default{stroke:var(--copper-line);stroke-width:1;stroke-dasharray:none}.level-elements-dimmed{opacity:.5}.level-drag-ghost{pointer-events:none}.building-col-line{stroke-dasharray:15,15;stroke-width:1;stroke:var(--ink-soft);stroke-opacity:.4}circle.col-label{fill:var(--ink-mid);stroke:var(--paper-veil);stroke-width:2}text.col-label{fill:var(--paper-veil);font-weight:700}.col-spacing-container{stroke-width:.5;-webkit-user-select:none;user-select:none}.door-rollup{fill:none;stroke:var(--steel-line);stroke-width:1;pointer-events:none}.door-leveler{fill:var(--steel-line);fill-opacity:.08;stroke:var(--steel-line);stroke-width:1;pointer-events:none}.door-panel{stroke:var(--steel-line);stroke-width:2;pointer-events:none}.door-swing{fill:none;stroke:var(--steel-line);stroke-width:1;pointer-events:none}.door-fill{fill:var(--steel-line);fill-opacity:.08;stroke:none;pointer-events:none}.door-hitbox{fill:transparent;stroke:none;pointer-events:fill;cursor:pointer}.door-label{fill:var(--steel-line);font-size:10px;font-family:sans-serif;pointer-events:none}.hovered .door-rollup,.hovered .door-leveler,.hovered .door-panel,.hovered .door-swing{stroke:var(--ink-mid)}.hovered .door-rollup,.hovered .door-leveler{stroke-width:1.5}.hovered .door-panel{stroke-width:2.5}.hovered .door-leveler,.hovered .door-fill{fill:var(--ink-mid);fill-opacity:.12}.hovered .door-label{fill:var(--ink-mid)}.selected .door-rollup,.selected .door-leveler,.selected .door-panel,.selected .door-swing{stroke:var(--canvas-accent)}.selected .door-rollup,.selected .door-leveler{stroke-width:1.5}.selected .door-panel{stroke-width:2.5}.selected .door-leveler,.selected .door-fill{fill:var(--canvas-accent);fill-opacity:.12}.selected .door-label{fill:var(--canvas-accent)}.invalid .door-rollup,.invalid .door-leveler,.invalid .door-panel,.invalid .door-swing{stroke:var(--alarm)}.invalid .door-rollup,.invalid .door-leveler{stroke-width:2}.invalid .door-panel{stroke-width:2.5}.invalid .door-leveler,.invalid .door-fill{fill:var(--alarm);fill-opacity:.08}.invalid .door-label{fill:var(--alarm)}.margin-band{pointer-events:none}.wall-band{pointer-events:none;fill:var(--graphite-mid);stroke:none}.wall-band.selected{fill:var(--canvas-accent)}.wall-band.hovered{fill:var(--copper-line)}.door-wall-band-cutout{pointer-events:none;fill:var(--canvas-surface);stroke:none}.margin-band-inner{pointer-events:none;stroke:var(--ochre-wash);stroke-width:1}.margin-hatch-line{stroke:var(--ochre-wash);stroke-width:1}.settings-panel{display:flex;flex-direction:row;height:60vh;max-height:550px}.settings-sidebar{width:140px;flex-shrink:0;background:transparent;border-right:1px solid var(--gray-200);padding:16px 20px 16px 0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.settings-sidebar .settings-nav-item{display:block;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;border-radius:4px;font-size:14px;font-weight:400;color:var(--gray-600);cursor:pointer;transition:background-color .15s ease}.settings-sidebar .settings-nav-item:hover{background:var(--gray-50)}.settings-sidebar .settings-nav-item.active{background:var(--moss-100);color:var(--gray-900);font-weight:600}.settings-content-area{flex:1;display:flex;flex-direction:column;overflow-y:auto}.settings-form{flex:1;display:flex;flex-direction:column;padding:24px}.settings-category-panel{flex:1;display:flex;flex-direction:column}.settings-list{flex:1;display:flex;flex-direction:column;gap:16px}.setting-value{flex-shrink:0}.setting-value input[type=color]{width:60px;height:32px;padding:2px;cursor:pointer}.setting-value input[type=number]{width:100px}.setting-value input[type=text]{width:200px}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 40px;color:var(--gray-500);font-size:14px}.settings-save-error{padding:10px 24px;background:var(--brick-veil);color:var(--error-color);font-size:13px;border-top:1px solid var(--brick-soft)}.estimate-content{background-color:var(--gray-100);padding:0 16px;border-radius:var(--tbo-radius);overflow:hidden}.estimate-breadcrumb{display:flex;align-items:center;gap:8px;padding:0 18px 16px}.estimate-crumb{font-size:.875rem;font-family:inherit;color:var(--gray-900);cursor:pointer;padding:2px 6px;border-radius:4px;transition:background-color .15s ease}.estimate-crumb:hover{background:var(--gray-200)}.estimate-crumb-divider{color:var(--gray-400);font-size:.875rem;margin:0 -4px;-webkit-user-select:none;user-select:none}.estimate-field{display:flex;flex-direction:column;gap:4px;flex:1}.estimate-field-label{font-size:12px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.estimate-header-fields{display:flex;gap:16px;align-items:flex-end}.estimate-body{display:flex;flex-direction:row;height:55vh;max-height:500px}.estimate-nav{width:140px;flex-shrink:0;padding:12px 0;display:flex;flex-direction:column;gap:0}.estimate-nav-item{display:block;width:100%;padding:10px 20px;text-align:left;background:transparent;border:none;border-left:3px solid transparent;border-radius:0;font-size:14px;font-weight:400;color:var(--gray-600);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.estimate-nav-item:hover{background:var(--gray-50);color:var(--gray-800)}.estimate-nav-item.active{border-left-color:var(--accent);background:var(--gray-50);color:var(--gray-900);font-weight:600}.estimate-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:20px 24px;gap:12px}.estimate-toolbar [data-permanent]{order:99;margin-left:auto}.estimate-icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--gray-200);background:var(--tbo-bg-card);color:var(--gray-600);cursor:pointer;font-size:16px;transition:background .15s,color .15s}.estimate-icon-button:hover{background:var(--gray-100);color:var(--gray-900)}.estimate-section-card{background:var(--tbo-bg-card);border-radius:12px;box-shadow:var(--tbo-shadow);padding:0;flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.estimate-section-card .estimate-header-fields{padding:12px 16px}.estimate-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px}.estimate-footer-label{font-size:13px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px}.estimate-footer-profit,.estimate-footer-duration{font-size:14px;font-weight:600;color:var(--gray-700);font-variant-numeric:tabular-nums;margin-right:16px;padding-right:16px;border-right:1px solid var(--gray-200)}.estimate-footer-total{font-size:22px;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums}.estimate-toolbar{display:flex;align-items:center;gap:8px}.estimate-table{width:100%;border-collapse:collapse;font-size:13px}.estimate-table th{text-align:right;font-size:11px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;padding:16px 8px 8px;border-bottom:1px solid var(--gray-200);position:sticky;top:0;background:var(--tbo-bg-card);z-index:1}.estimate-table th:first-child,.estimate-table td:first-child{padding-left:16px}.estimate-table th:last-child,.estimate-table td:last-child{padding-right:16px}.estimate-table th:first-child{text-align:left;white-space:nowrap}.estimate-table td{padding:8px;border-bottom:1px solid var(--gray-100);vertical-align:middle}.estimate-table tbody tr:hover{background:var(--gray-50)}.estimate-desc-text{display:block;font-weight:400;color:var(--gray-900)}.estimate-specs-text{display:block;font-size:11px;color:var(--gray-500);margin-top:2px}.estimate-table-number{width:110px;padding:6px 8px;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;font-family:inherit;text-align:right;transition:border-color .2s ease,box-shadow .2s ease}.estimate-table-text{width:100%;padding:6px 8px;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.estimate-currency{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.estimate-row-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--gray-400);cursor:pointer;transition:color .15s,background .15s}.estimate-row-action:hover{color:var(--tbo-error);background:var(--brick-veil)}.estimate-add-row td{border-top:1px dashed var(--gray-200);padding:0}.estimate-add-row-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--gray-500);font-size:13px;cursor:pointer;font-family:inherit;transition:color .15s ease,background .15s ease}.estimate-add-row-button i{color:var(--gray-500);opacity:.6;transition:opacity .15s ease}.estimate-add-row-button:hover{color:var(--gray-700);background:var(--gray-50)}.estimate-add-row-button:hover i{opacity:1}.estimate-status-chip{position:relative}.estimate-status-chip-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease;white-space:nowrap;font-family:inherit}.estimate-status-chip-button:hover{filter:brightness(.95)}.estimate-status-chip-button:after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.5}.estimate-status-chip-button[data-status=draft]{color:var(--gray-600);background:var(--gray-100);border-color:var(--gray-200)}.estimate-status-chip-button[data-status=sent]{color:var(--steel-mid);background:var(--steel-veil);border-color:var(--steel-soft)}.estimate-status-chip-button[data-status=accepted]{color:var(--sage-mid);background:var(--sage-veil);border-color:var(--sage-soft)}.estimate-status-chip-button[data-status=declined]{color:var(--brick-mid);background:var(--brick-veil);border-color:var(--brick-soft)}.estimate-status-dropdown{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;padding:4px;background:var(--tbo-bg-card);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 4px 12px #00000014,0 1px 3px #0000000d;min-width:140px}.estimate-status-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:var(--gray-700);cursor:pointer;font-family:inherit;transition:background .1s ease}.estimate-status-option:hover{background:var(--gray-50)}.estimate-status-option.active{font-weight:600;color:var(--gray-900)}.estimate-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.estimate-status-dot[data-status=draft]{background:var(--gray-400)}.estimate-status-dot[data-status=sent]{background:var(--steel-mid)}.estimate-status-dot[data-status=accepted]{background:var(--sage-mid)}.estimate-status-dot[data-status=declined]{background:var(--brick-mid)}.estimate-badge-row{display:flex;gap:4px;margin-top:4px}.estimate-condition-pill{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.estimate-labor-desc{display:flex;align-items:center;gap:6px}.estimate-labor-mode-badge{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:4px;white-space:nowrap;vertical-align:middle;border:1px solid;cursor:pointer;font-family:inherit;transition:background .2s ease,color .2s ease,border-color .2s ease}.estimate-labor-mode-badge[data-mode=install]{color:var(--sage-mid);background:var(--sage-veil);border-color:var(--sage-soft)}.estimate-labor-mode-badge[data-mode=install]:hover{background:var(--sage-wash)}.estimate-labor-mode-badge[data-mode=kd]{color:var(--ochre-mid);background:var(--ochre-veil);border-color:var(--ochre-soft)}.estimate-labor-mode-badge[data-mode=kd]:hover{background:var(--ochre-wash)}.estimate-subtotal{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:12px 16px;margin-top:auto;border-top:1px solid var(--gray-200);position:sticky;bottom:0;background:var(--tbo-bg-card);z-index:1}.estimate-subtotal-label{font-size:14px;font-weight:600;color:var(--gray-700)}.estimate-subtotal-value{font-size:16px;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums}.view-dock{display:flex;align-items:flex-end;gap:4px;z-index:100;padding-bottom:12px;margin-bottom:-12px}.view-dock-items{display:flex;align-items:flex-end;flex-wrap:wrap;justify-content:center;gap:6px}.view-dock-item{display:flex;flex-direction:column;align-items:center;gap:0;width:62px;border-radius:6px;overflow:hidden;cursor:pointer;transform-origin:bottom center;background:#fff;box-shadow:0 3px 6px #00000026,0 2px 4px #0000001f;transition:background-color .2s ease,box-shadow .2s ease,width .2s ease;position:relative}.view-dock-item:hover{box-shadow:0 10px 20px #00000026,0 3px 6px #0000001a}.view-dock-item.active{box-shadow:0 0 0 2px var(--ink-line),0 3px 6px #00000026,0 2px 4px #0000001f}.view-dock-item.unused .view-dock-thumb{opacity:.2}.view-dock-item.unused .view-dock-label-row{opacity:.3}.view-dock-item.unused:hover .view-dock-thumb,.view-dock-item.unused:hover .view-dock-label-row{opacity:.5}.view-dock-thumb-wrap{position:relative;width:54px;height:54px;flex-shrink:0;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;transition:width .2s ease,height .2s ease}.view-dock-thumb{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.view-dock-thumb-placeholder{width:100%;height:100%;background:var(--gray-200)}.view-dock-item-wrap{display:flex;flex-direction:column;align-items:center}.view-dock-text-actions{display:none;align-items:center;justify-content:center;gap:12px;padding-top:6px;min-height:20px}.view-dock.expanded .view-dock-text-actions{display:flex;visibility:hidden}.view-dock.expanded .view-dock-item-wrap:hover .view-dock-text-actions{visibility:visible}.view-dock-text-actions .btn.link{font-size:12px}.view-dock-warning{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffffffa6;color:var(--error-color);font-size:18px}.view-dock-label-row{display:none;align-items:baseline;gap:6px;padding:4px 6px;box-sizing:border-box;overflow:hidden;border-radius:0 0 6px 6px;align-self:stretch}.view-dock.expanded .view-dock-label-row{padding:6px 8px;border-radius:0 0 8px 8px}.view-dock-label{font-size:11px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;letter-spacing:-.01em}.view-dock-tag{font-size:9px;font-weight:600;padding:2px 6px;border-radius:10px;background:var(--gray-200);color:var(--gray-500);white-space:nowrap;flex-shrink:0;letter-spacing:.02em;margin-left:auto}.view-dock.expanded .view-dock-items{gap:12px}.view-dock.expanded .view-dock-item{width:118px;border-radius:8px}.view-dock.expanded .view-dock-label-row{display:flex}.view-dock.expanded .view-dock-thumb-wrap{width:110px;height:110px}.view-dock-add{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:#fff;color:var(--ink-mid);font-weight:700;cursor:pointer;border-radius:50%;font-size:16px;flex-shrink:0;align-self:center;margin-left:8px;box-shadow:0 3px 6px #00000026,0 2px 4px #0000001f;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.view-dock-add:hover{background:var(--ink-mid);color:#fff}.toggle-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--graphite-wash)}.toggle-row:last-child{border-bottom:none}.toggle-row.dep-off{opacity:.42;pointer-events:none}.toggle-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.toggle-row-label{font-family:var(--font-sans);font-size:var(--text-size-sm);font-weight:500;color:var(--ink-deep)}.toggle-row-desc{font-family:var(--font-sans);font-size:var(--text-size-xs);color:var(--graphite-line);line-height:1.35}.toggle-row-label .badge{margin-left:6px}.tbo-modal.export-pdf-modal{width:580px;max-width:94vw}.export-modal-body{display:flex;flex-direction:column}.export-selall{margin-left:auto;font-family:var(--font-sans);font-size:var(--text-size-xs);font-weight:600;color:var(--copper-mid);background:none;border:none;cursor:pointer}.export-selall:hover{color:var(--copper-deep)}.export-panes{padding-top:4px}.export-pane{display:none}.export-pane.on{display:block}
