/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}:root{--hiviz:oklch(92.5% .22 125);--hiviz-deep:oklch(86% .21 122);--hiviz-orange:oklch(76% .205 55);--reflective:oklch(95.5% .005 240);--ink:oklch(16.5% .025 255);--ink-soft:oklch(23.5% .025 255);--stone-50:oklch(98.5% .004 240);--stone-100:oklch(96% .006 240);--stone-200:oklch(91% .008 240);--stone-300:oklch(84% .01 240);--stone-500:oklch(58.5% .012 245);--stone-700:oklch(37% .014 250);--stone-900:oklch(18% .022 255);--status-go:oklch(74% .18 145);--destructive:oklch(57.7% .245 27.325);--radius:.625rem;--font-display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--muted:var(--stone-500);--quiet:var(--stone-500);--line:var(--stone-200);--line-strong:var(--stone-300);--paper:var(--stone-50);--panel:oklch(100% 0 0);--panel-soft:var(--stone-50);--teal:oklch(55% .12 230);--green:var(--status-go);--amber:var(--hiviz-orange);--violet:oklch(58% .18 300);--shadow:4px 4px 0 0 var(--ink)}@supports (color:color-mix(in lab,red,red)){:root{--shadow:4px 4px 0 0 color-mix(in oklch,var(--ink) 10%,transparent)}}:root{--mono:var(--font-sans)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:root{--profile-raw:var(--stone-500);--profile-pencil-round:oklch(65% .14 250);--profile-half-bullnose:oklch(65% .12 195);--profile-full-bullnose:oklch(62% .14 155);--profile-bevel:oklch(68% .11 220);--profile-ogee:oklch(62% .16 305);--profile-dupont:oklch(58% .17 335);--profile-mitre-45:oklch(58% .14 20);--canvas-grid-minor:oklch(100% 0 0/.06);--canvas-grid-major:oklch(84% .01 240/.65);--canvas-grid-origin:var(--stone-500);--canvas-selection:var(--hiviz);--canvas-snap-guide:var(--hiviz);--canvas-hover:var(--profile-pencil-round);--canvas-text-on-ink:var(--stone-50);--canvas-text-muted-on-ink:var(--stone-300);--feature-sink:var(--profile-pencil-round);--feature-cooktop:var(--profile-ogee);--feature-tap:var(--profile-mitre-45);--feature-recess:var(--profile-raw);--feature-custom:var(--profile-dupont);--material-tint-default:oklch(84% .01 240/.16);--material-tint-engineered:oklch(84% .01 240/.18);--material-tint-natural:oklch(75% .04 75/.2);--material-tint-ultracompact:oklch(80% .01 280/.16);color-scheme:light}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base{.qq-race-scope :where(*){border-style:solid;border-width:0}.qq-race-scope :where(button,input,select,textarea,optgroup){color:inherit;background-color:#0000}.qq-race-scope :where(button,[type=button],[type=reset],[type=submit]){appearance:button;background-image:none}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.bottom-1\.5{bottom:calc(var(--spacing) * 1.5)}.z-20{z-index:20}.col-1{grid-column:1}.col-3{grid-column:3}.row-1{grid-row:1}.row-2{grid-row:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[3px\]{height:3px}.h-\[22px\]{height:22px}.h-\[60px\]{height:60px}.h-full{height:100%}.min-h-\[320px\]{min-height:320px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[14px\]{width:14px}.w-\[22px\]{width:22px}.w-\[44px\]{width:44px}.w-\[70px\]{width:70px}.w-\[76px\]{width:76px}.w-\[90px\]{width:90px}.w-\[92px\]{width:92px}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[180px\]{width:180px}.w-full{width:100%}.w-px{width:1px}.max-w-\[46ch\]{max-width:46ch}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-\[1240px\]{max-width:1240px}.min-w-0{min-width:0}.min-w-\[22px\]{min-width:22px}.min-w-\[90px\]{min-width:90px}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-\[520px\]{min-width:520px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.\[grid-template-columns\:260px_1fr\]{grid-template-columns:260px 1fr}.\[grid-template-columns\:minmax\(150px\,180px\)_1fr\]{grid-template-columns:minmax(150px,180px) 1fr}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\[7px\]{gap:7px}.gap-\[9px\]{gap:9px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--s200\)\]>:not(:last-child)){border-color:var(--s200)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--danger\)\],.border-\[var\(--danger\)\]\/40{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--danger\)\]\/40{border-color:color-mix(in oklab,var(--danger) 40%,transparent)}}.border-\[var\(--hiviz\)\]{border-color:var(--hiviz)}.border-\[var\(--hiviz-deep\)\]{border-color:var(--hiviz-deep)}.border-\[var\(--hiviz-orange\)\]{border-color:var(--hiviz-orange)}.border-\[var\(--ink\)\]{border-color:var(--ink)}.border-\[var\(--k-line\)\]{border-color:var(--k-line)}.border-\[var\(--s200\)\]{border-color:var(--s200)}.border-\[var\(--s300\)\]{border-color:var(--s300)}.border-\[var\(--stone-300\)\]{border-color:var(--stone-300)}.border-\[var\(--stone-700\)\]{border-color:var(--stone-700)}.border-transparent{border-color:#0000}.bg-\[var\(--danger\)\]\/10{background-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--danger\)\]\/10{background-color:color-mix(in oklab,var(--danger) 10%,transparent)}}.bg-\[var\(--hiviz\)\],.bg-\[var\(--hiviz\)\]\/12{background-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--hiviz\)\]\/12{background-color:color-mix(in oklab,var(--hiviz) 12%,transparent)}}.bg-\[var\(--hiviz\)\]\/14{background-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--hiviz\)\]\/14{background-color:color-mix(in oklab,var(--hiviz) 14%,transparent)}}.bg-\[var\(--hiviz\)\]\/25{background-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--hiviz\)\]\/25{background-color:color-mix(in oklab,var(--hiviz) 25%,transparent)}}.bg-\[var\(--hiviz-orange\)\]\/18{background-color:var(--hiviz-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--hiviz-orange\)\]\/18{background-color:color-mix(in oklab,var(--hiviz-orange) 18%,transparent)}}.bg-\[var\(--ink\)\]{background-color:var(--ink)}.bg-\[var\(--ink-soft\)\]{background-color:var(--ink-soft)}.bg-\[var\(--k-line\)\]{background-color:var(--k-line)}.bg-\[var\(--s50\)\],.bg-\[var\(--s50\)\]\/60{background-color:var(--s50)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--s50\)\]\/60{background-color:color-mix(in oklab,var(--s50) 60%,transparent)}}.bg-\[var\(--s100\)\]{background-color:var(--s100)}.bg-\[var\(--stone-50\)\]{background-color:var(--stone-50)}.bg-\[var\(--stone-500\)\]{background-color:var(--stone-500)}.bg-\[var\(--stone-700\)\]{background-color:var(--stone-700)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-\[linear-gradient\(90deg\,var\(--hiviz\)_0_28\%\,var\(--ink-soft\)_28\%_32\%\,var\(--hiviz-orange\)_32\%_46\%\,var\(--ink-soft\)_46\%_50\%\,var\(--hiviz\)_50\%_100\%\)\]{background-image:linear-gradient(90deg,var(--hiviz) 0 28%,var(--ink-soft) 28% 32%,var(--hiviz-orange) 32% 46%,var(--ink-soft) 46% 50%,var(--hiviz) 50% 100%)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-20{padding:calc(var(--spacing) * 20)}.p-40{padding:calc(var(--spacing) * 40)}.p-\[3px\]{padding:3px}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[11px\]{padding-inline:11px}.\!py-4{padding-block:calc(var(--spacing) * 4)!important}.\!py-6{padding-block:calc(var(--spacing) * 6)!important}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.\[font-family\:var\(--font-display\)\]{font-family:var(--font-display)}.\[font-family\:var\(--font-sans\)\]{font-family:var(--font-sans)}.\[font-family\:var\(--k-font-mono\)\]{font-family:var(--k-font-mono)}.font-mono{font-family:var(--font-mono)}.\!text-\[12\.5px\]{font-size:12.5px!important}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-\[var\(--font-display\,\'Space_Grotesk\'\)\]{--tw-font-weight:var(--font-display,"Space Grotesk");font-weight:var(--font-display,"Space Grotesk")}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.09em\]{--tw-tracking:.09em;letter-spacing:.09em}.tracking-\[0\.11em\]{--tw-tracking:.11em;letter-spacing:.11em}.tracking-\[0\.13em\]{--tw-tracking:.13em;letter-spacing:.13em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.\!text-\[var\(--s500\)\]{color:var(--s500)!important}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--hiviz\)\]{color:var(--hiviz)}.text-\[var\(--hiviz-orange\)\]{color:var(--hiviz-orange)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--s300\)\]{color:var(--s300)}.text-\[var\(--s500\)\]{color:var(--s500)}.text-\[var\(--s700\)\]{color:var(--s700)}.text-\[var\(--stone-50\)\]{color:var(--stone-50)}.text-\[var\(--stone-100\)\]{color:var(--stone-100)}.text-\[var\(--stone-200\)\]{color:var(--stone-200)}.text-\[var\(--stone-300\)\]{color:var(--stone-300)}.text-\[var\(--stone-400\)\]{color:var(--stone-400)}.text-\[var\(--stone-500\)\]{color:var(--stone-500)}.text-\[var\(--stone-700\)\]{color:var(--stone-700)}.text-\[var\(--success\)\]{color:var(--success)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.\[font-variant-numeric\:tabular-nums\]{font-variant-numeric:tabular-nums}.accent-\[var\(--hiviz-deep\)\]{accent-color:var(--hiviz-deep)}.opacity-45{opacity:.45}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[0_1px_0_var\(--hiviz-deep\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_0_var\(--hiviz-deep\)\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,var(--hiviz-deep))}.shadow-\[0_1px_2px_rgba\(16\,24\,40\,0\.04\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#1018280a)}.shadow-\[0_1px_2px_rgba\(16\,24\,40\,0\.04\)\],.shadow-\[inset_0_0_0_1px_var\(--hiviz-deep\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--hiviz-deep\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--hiviz-deep))}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.placeholder\:text-\[var\(--s300\)\]::placeholder{color:var(--s300)}.focus-within\:border-\[var\(--hiviz-deep\)\]:focus-within{border-color:var(--hiviz-deep)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-\[var\(--hiviz\)\]\/45:focus-within{--tw-ring-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-\[var\(--hiviz\)\]\/45:focus-within{--tw-ring-color:color-mix(in oklab,var(--hiviz) 45%,transparent)}}@media (hover:hover){.hover\:border-solid:hover{--tw-border-style:solid;border-style:solid}.hover\:border-\[var\(--danger\)\]:hover{border-color:var(--danger)}.hover\:border-\[var\(--hiviz\)\]:hover{border-color:var(--hiviz)}.hover\:border-\[var\(--hiviz-deep\)\]:hover{border-color:var(--hiviz-deep)}.hover\:border-\[var\(--hiviz-orange\)\]:hover{border-color:var(--hiviz-orange)}.hover\:border-\[var\(--ink\)\]:hover{border-color:var(--ink)}.hover\:border-\[var\(--s200\)\]:hover{border-color:var(--s200)}.hover\:border-\[var\(--s300\)\]:hover{border-color:var(--s300)}.hover\:border-\[var\(--stone-300\)\]:hover{border-color:var(--stone-300)}.hover\:border-\[var\(--stone-500\)\]:hover{border-color:var(--stone-500)}.hover\:bg-\[var\(--danger\)\]\/8:hover{background-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--danger\)\]\/8:hover{background-color:color-mix(in oklab,var(--danger) 8%,transparent)}}.hover\:bg-\[var\(--hiviz\)\]\/24:hover{background-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--hiviz\)\]\/24:hover{background-color:color-mix(in oklab,var(--hiviz) 24%,transparent)}}.hover\:bg-\[var\(--hiviz-deep\)\]:hover{background-color:var(--hiviz-deep)}.hover\:bg-\[var\(--hiviz-orange\)\]:hover{background-color:var(--hiviz-orange)}.hover\:bg-\[var\(--s50\)\]:hover{background-color:var(--s50)}.hover\:bg-\[var\(--s100\)\]:hover{background-color:var(--s100)}.hover\:bg-\[var\(--stone-50\)\]:hover{background-color:var(--stone-50)}.hover\:bg-\[var\(--stone-100\)\]:hover{background-color:var(--stone-100)}.hover\:text-\[var\(--hiviz\)\]:hover{color:var(--hiviz)}.hover\:text-\[var\(--hiviz-orange\)\]:hover{color:var(--hiviz-orange)}.hover\:text-\[var\(--ink\)\]:hover{color:var(--ink)}}.focus\:border-\[var\(--hiviz-deep\)\]:focus{border-color:var(--hiviz-deep)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--hiviz\)\]\/40:focus{--tw-ring-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-\[var\(--hiviz\)\]\/40:focus{--tw-ring-color:color-mix(in oklab,var(--hiviz) 40%,transparent)}}.focus\:ring-\[var\(--hiviz\)\]\/45:focus{--tw-ring-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-\[var\(--hiviz\)\]\/45:focus{--tw-ring-color:color-mix(in oklab,var(--hiviz) 45%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:stroke-\[var\(--hiviz\)\]:focus-visible{stroke:var(--hiviz)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--hiviz\)\]:focus-visible,.focus-visible\:ring-\[var\(--hiviz\)\]\/60:focus-visible{--tw-ring-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-\[var\(--hiviz\)\]\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--hiviz) 60%,transparent)}}.focus-visible\:\[stroke-opacity\:0\.25\]:focus-visible{stroke-opacity:.25}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\[var\(--s100\)\]:disabled{background-color:var(--s100)}.disabled\:text-\[var\(--s500\)\]:disabled{color:var(--s500)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:border-transparent:disabled:hover{border-color:#0000}}@media not all and (min-width:1320px){.max-\[1320px\]\:\[grid-template-columns\:220px_1fr\]{grid-template-columns:220px 1fr}.max-\[1320px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1fr\)_170px_auto\]{grid-template-columns:minmax(0,1fr) 170px auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_180px_auto\]{grid-template-columns:minmax(0,1fr) 180px auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:items-end{align-items:flex-end}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:h-9{height:calc(var(--spacing) * 9)}.md\:min-w-\[100px\]{min-width:100px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:px-5{padding-inline:calc(var(--spacing) * 5)}.md\:text-\[14px\]{font-size:14px}}@media (min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:justify-end{justify-content:flex-end}}.\[\&\>svg\]\:h-\[15px\]>svg{height:15px}.\[\&\>svg\]\:w-\[15px\]>svg{width:15px}.\[\&\>th\]\:px-3>th{padding-inline:calc(var(--spacing) * 3)}.\[\&\>th\]\:py-2>th{padding-block:calc(var(--spacing) * 2)}.\[\&\>th\]\:text-\[10\.5px\]>th{font-size:10.5px}.\[\&\>th\]\:font-semibold>th{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&\>th\]\:tracking-\[0\.09em\]>th{--tw-tracking:.09em;letter-spacing:.09em}.\[\&\>th\]\:whitespace-nowrap>th{white-space:nowrap}.\[\&\>th\]\:text-\[var\(--s500\)\]>th{color:var(--s500)}.\[\&\>th\]\:uppercase>th{text-transform:uppercase}.\[\&\>tr\:hover\]\:bg-\[var\(--s50\)\]\/70>tr:hover{background-color:var(--s50)}@supports (color:color-mix(in lab,red,red)){.\[\&\>tr\:hover\]\:bg-\[var\(--s50\)\]\/70>tr:hover{background-color:color-mix(in oklab,var(--s50) 70%,transparent)}}.\[\&\>tr\>td\]\:px-3>tr>td{padding-inline:calc(var(--spacing) * 3)}.\[\&\>tr\>td\]\:py-2>tr>td{padding-block:calc(var(--spacing) * 2)}.\[\&\>tr\>td\]\:text-\[13px\]>tr>td{font-size:13px}.\[\&\>tr\>td\]\:text-\[var\(--ink\)\]>tr>td{color:var(--ink)}}:root{--danger:var(--destructive);--success:var(--status-go);--k-line:var(--stone-200);--k-radius:12px;--k-font-display:var(--font-display);--k-font-sans:var(--font-sans);--k-font-mono:"JetBrains Mono",ui-monospace,monospace;--k-space-2:8px;--k-space-3:12px;--k-space-4:16px;--k-space-5:20px;--k-space-6:24px;--k-shell-max:1440px;--k-form-max:820px;--k-summary-w:320px;--k-summary-w-wide:360px;--k-sticky-top:88px;--k-field-short:180px;--k-field-min:220px}.k-tape-v{background:repeating-linear-gradient(45deg,var(--ink) 0 4px,var(--hiviz) 4px 8px)}.kv-noscroll{scrollbar-width:none;-ms-overflow-style:none}.kv-noscroll::-webkit-scrollbar{display:none}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{flex-direction:column;min-height:100vh;display:flex}body:has(.cad-editor-layout),html:has(.cad-editor-layout){height:100dvh;max-height:100dvh;overflow:hidden}.dashboard-shell:has(.cad-editor-layout){align-items:stretch;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.dashboard-shell:has(.cad-editor-layout)>.dashboard-sidebar{height:100%;min-height:0;max-height:100%}.dashboard-main:has(.cad-editor-layout){height:100%;min-height:0;max-height:100%;overflow:hidden}.app-shell:has(.cad-editor-layout){flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.workspace-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.workspace-body:has(.cad-editor-layout){overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:var(--panel);flex-direction:column;gap:0;height:auto;padding:0 18px;display:flex}.topbar,.topbar-row{min-width:0;min-height:54px}.topbar-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;display:grid}.topbar-identity{align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.topbar-identity .brand-lockup,.topbar-identity .cad-focus-exit-chip,.topbar-identity .quote-topbar-surface{flex-shrink:0}.topbar-identity .brand-lockup{min-width:0}.quote-options-row .persistence-status,[data-testid=quote-header-nav-trailing] .persistence-status{letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;max-width:180px;height:36px;font-size:11.5px;font-weight:600;line-height:1.2;display:inline-flex;overflow:hidden}.quote-options-actions .persistence-status{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;line-height:1.2;overflow:hidden}.quote-options-actions .quote-lifecycle-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.workspace-tabs .k-tabs{border-bottom:0;width:100%;margin-bottom:0}.workspace-tab{min-width:96px;color:var(--quiet);background:0 0;border:0;border-bottom:3px solid #0000;font-size:14px;font-weight:700}.workspace-tab.active{border-bottom-color:var(--hiviz);color:var(--ink);font-weight:700}.quote-options-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;height:36px;display:inline-flex}.quote-options-actions .drawing-import-button,.quote-options-actions .primary-button,.quote-options-actions .secondary-button,.quote-options-row .drawing-import-button{white-space:nowrap;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 11px;font-size:12.5px;font-weight:600;display:inline-flex}.quote-options-actions [data-testid=quote-lifecycle-send]{border-color:var(--hiviz-deep);background:var(--hiviz);box-shadow:0 1px 0 var(--hiviz-deep)}.quote-options-actions [data-testid=quote-lifecycle-send]:hover:not(:disabled){background:var(--hiviz-deep)}.quote-options-totalpod{white-space:nowrap;border-left:1px solid var(--k-line);flex-shrink:0;align-items:center;gap:9px;height:36px;padding-left:12px;display:inline-flex}.quote-options-totalpod-k{letter-spacing:.13em;text-transform:uppercase;color:var(--stone-500);font-size:9.5px;font-weight:700}.quote-options-totalpod-v{font-family:var(--k-font-mono,var(--font-sans));font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);font-size:19px;font-weight:700;line-height:1}.quote-options-totalpod-v--pending{color:var(--stone-500)}.material-variant-tabs--editor-only{flex:none;min-width:0;padding:0}.quote-setup-topbar{flex:280px;min-width:240px}.quote-setup-topbar-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quote-setup-topbar-field label{color:var(--quiet);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.quote-setup-topbar-field input,.quote-setup-topbar-field select{width:100%}.material-variant-tabs{background:0 0;border-bottom:0;flex:2 360px;min-width:280px;padding:0 0 10px}.workspace-config-layout{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.workspace-config-main{flex-direction:column;grid-row:2;min-width:0;min-height:0;display:flex;overflow:auto}.workspace-config-main:has(.cad-editor-layout){overflow:hidden}.workspace-config-main:has(.cad-editor-layout)>.cad-editor-layout{flex:1 1 0;min-height:0}.piece-card-name-input{border:1px solid var(--stone-700,#3f3f46);width:100%;max-width:220px;font-size:13.5px;font-weight:600;font-family:var(--font-display,"Space Grotesk"),system-ui,sans-serif;color:var(--stone-50,#fafafa);background:var(--ink,#0a0a0a);border-radius:6px;padding:2px 8px}.quote-setup-customer-assign{text-align:left;border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:var(--bg);cursor:pointer;border-radius:6px;padding:6px 10px;display:block}.quote-setup-customer-assign:hover{border-color:var(--accent,#2563eb)}.config-rooms-submenu{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;min-width:0;padding:8px 18px;overflow:auto hidden}.room-card-main-inline{flex-direction:row;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.room-card-select{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:1px;min-width:0;padding:0;display:flex}.room-card-name-input{border:1px solid var(--line);width:9.5rem;max-width:12rem;color:var(--ink);background:var(--bg);border-radius:6px;padding:3px 8px;font-size:12.5px;font-weight:700}.room-card-name-input:focus{outline:2px solid var(--hiviz);outline-offset:1px}.piece-room-add-hint{color:var(--quiet);margin:8px 0 4px;font-size:11px}.ncs-parts-list-header.parts-list-header-with-material,.parts-list-row-with-material{grid-template-columns:36px minmax(160px,1fr) minmax(280px,2.4fr)}.module-view[data-testid=parts-list-view]>.parts-list-body{grid-template-rows:auto auto 1fr;align-content:start;min-height:0;display:grid;overflow:auto}.parts-list-material-trigger{text-align:left;justify-self:stretch;align-items:center;height:38px;min-height:38px}.parts-list-material-trigger .material-picker-trigger-label{text-overflow:unset;white-space:nowrap;overflow:visible}.parts-material-flash{border-bottom:1px solid var(--line);background:var(--accent,#2563eb);justify-content:space-between;align-items:center;gap:12px;padding:8px 18px;display:flex}@supports (color:color-mix(in lab,red,red)){.parts-material-flash{background:color-mix(in srgb,var(--accent,#2563eb) 12%,var(--paper,#fff))}}.parts-material-flash{font-size:13px}.parts-delete-toast-actions{align-items:center;gap:8px;display:inline-flex}.unplaced-feature-tray{border:1px solid var(--line,#d1d5db);background:var(--hiviz,#fbbf24);border-radius:8px;margin:8px 12px 12px;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.unplaced-feature-tray{background:color-mix(in srgb,var(--hiviz,#fbbf24) 10%,var(--paper,#fff))}}.unplaced-feature-tray{font-size:12px}.unplaced-feature-tray-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b7280);margin-bottom:6px;font-size:11px;display:block}.unplaced-feature-tray-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.unplaced-feature-tray-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.qq-piece-card-bulk-select{color:var(--muted,#6b7280);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:inline-flex}.qq-piece-card-wrap[data-bulk-selected="1"]{outline:2px solid var(--hiviz,#fbbf24);outline-offset:2px;border-radius:8px}.catalogue-name-library-notice{color:var(--danger,#b42318);margin:4px 0 0;font-size:11px}.catalogue-name-library-notice-ok{color:var(--muted,#6b7280)}.variant-tab-strip{flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:10px;display:flex}.variant-total-chip{border:1px solid var(--line);background:var(--bg);min-width:120px;color:var(--ink);text-align:left;cursor:default;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:11px;display:flex}button.variant-total-chip--tab{cursor:pointer;font:inherit}button.variant-total-chip--tab:hover{border-color:var(--ink)}button.variant-total-chip--tab.active{border-color:var(--ink);background:var(--ink);color:#fff}button.variant-total-chip--tab.active strong{color:var(--hiviz)}.variant-tab{border:1px solid var(--line);background:var(--bg);color:var(--quiet);border-radius:999px;align-self:center;padding:6px 12px;font-size:12px;font-weight:600}.variant-tab.add-variant-tab{border-style:dashed}.variant-editor,.variant-tab-actions{margin:10px 0 12px}.variant-apply-all{flex-wrap:wrap;align-items:end;gap:10px;margin:10px 0;display:flex}.variant-piece-grid{gap:8px;margin:10px 0;display:grid}.variant-piece-row{grid-template-columns:1fr minmax(220px,1fr);align-items:center;gap:10px;display:grid}.variant-editor-actions{gap:10px;display:flex}.variant-error{color:var(--hiviz-deep);font-size:12px}.brand-lockup{align-items:baseline;gap:12px;min-width:0;display:flex}.brand-title{white-space:nowrap;font-size:15px;font-weight:700}.quote-chip{color:var(--muted);white-space:nowrap;font-size:12px}.quote-topbar-surface{align-items:baseline;gap:10px;min-width:0;display:flex}.quote-topbar-title{letter-spacing:.02em;white-space:nowrap;font-size:13px;font-weight:700}.quote-topbar-total{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:700}.qq-palette-mount{border-bottom:1px solid var(--line);background:var(--panel);padding:12px 18px 0}.qq-piece-cards{gap:16px;padding:16px 18px 24px;display:grid;overflow:auto}.qq-piece-card-wrap{gap:8px;display:grid}.qq-piece-card-wrap-nested{border-left:2px solid var(--ink,#222);margin-left:18px;padding-left:12px}@supports (color:color-mix(in lab,red,red)){.qq-piece-card-wrap-nested{border-left:2px solid color-mix(in oklch,var(--ink,#222) 18%,transparent)}}.qq-piece-unrated-banner{border:1px solid var(--hiviz-orange,oklch(70% .15 55));background:var(--hiviz-orange,oklch(70% .15 55))}@supports (color:color-mix(in lab,red,red)){.qq-piece-unrated-banner{background:color-mix(in oklch,var(--hiviz-orange,oklch(70% .15 55)) 12%,transparent)}}.qq-piece-unrated-banner{color:var(--ink,inherit);border-radius:8px;padding:10px 12px;font-size:12px}.qq-piece-unrated-banner strong{margin-bottom:4px;display:block}.qq-piece-unrated-banner ul{margin:0;padding-left:18px}.qq-open-full-editor{justify-self:start}.topbar-actions{flex-wrap:nowrap;justify-self:end}.topbar-actions,.topbar-actions-meta{align-items:center;gap:8px;min-width:0;display:flex}.topbar-actions-meta{overflow:hidden}.topbar-actions-primary{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-actions-meta .persistence-status{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.icon-button,.mode-button,.primary-button,.secondary-button,.small-button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px}.primary-button{background:var(--hiviz);border-color:var(--hiviz);color:var(--ink);border-radius:var(--radius);height:40px;min-height:40px;box-shadow:4px 4px 0 0 var(--ink);padding:0 14px;font-weight:600}.secondary-button{height:34px;padding:0 12px}.photo-capture{align-items:center;display:flex;position:relative}.photo-capture-button{align-items:center;gap:7px;font-weight:700;display:inline-flex}.photo-capture-error{z-index:30;color:#7d220d;width:min(280px,100vw - 24px);box-shadow:var(--shadow);background:#fff3ef;border:1px solid #efc3b8;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:800;position:absolute;top:calc(100% + 8px);right:0}.drawing-import{align-items:center;gap:8px;display:flex;position:relative}.drawing-import-button{align-items:center;gap:7px;font-weight:700;display:inline-flex}.drawing-import-page-step{align-items:center;gap:6px;display:inline-flex}.drawing-import-page{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.drawing-import-page-label{font-weight:700}.drawing-import-page-of{color:var(--muted);font-weight:600}.drawing-import-page-input{border:1px solid var(--line);background:var(--panel);border-radius:5px;width:44px;height:28px;padding:0 6px;font-size:12px;font-weight:700}.drawing-import-confirm{height:28px;padding:0 10px;font-size:12px;font-weight:700}.drawing-import-error{z-index:30;color:#7d220d;width:min(280px,100vw - 24px);box-shadow:var(--shadow);background:#fff3ef;border:1px solid #efc3b8;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:800;position:absolute;top:calc(100% + 8px);right:0}.drawing-review-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#201c186b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.drawing-review-panel{border:1px solid var(--line);background:var(--panel);width:min(720px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow);border-radius:10px;gap:14px;padding:18px;display:grid;overflow:auto}.drawing-review-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawing-review-header h2{margin:0;font-size:18px}.drawing-review-header p{color:var(--muted);margin:4px 0 0;font-size:13px}.drawing-review-mock-badge{color:#4a5d78;white-space:nowrap;background:#f4f7fb;border:1px solid #c9d2df;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.drawing-review-meta{color:var(--muted);margin:0;font-size:12px}.drawing-review-warning{color:#5f4210;background:#fff9e8;border:1px solid #ecd38f;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:700}.drawing-review-warnings-details{margin-top:8px;font-weight:400}.drawing-review-warnings-details summary{cursor:pointer;font-weight:600}.drawing-review-warnings-list{text-align:left;gap:4px;margin:8px 0 0;padding-left:18px;font-weight:400;display:grid}.drawing-review-warnings-list code{font-size:11px}.drawing-review-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.drawing-review-item{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:88px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.drawing-review-item.is-rejected{opacity:.55;background:var(--paper)}.drawing-review-item.is-low-confidence{border-color:#ecd38f}.drawing-review-item-body{gap:2px;min-width:0;display:grid}.drawing-review-item-body strong{font-size:14px}.drawing-review-item-body span{color:var(--muted);font-size:12px}.drawing-review-confidence.is-low{color:#7d220d;font-weight:800}.drawing-review-item-actions{align-items:center;display:flex}.drawing-review-footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button{place-items:center;width:34px;height:34px;display:grid}.workspace-grid{flex:1;grid-template-columns:272px minmax(480px,2fr) 320px;min-height:0;display:grid}.cad-editor-layout,.workspace-body-cad-fullscreen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.cad-editor-layout{background:var(--paper);position:relative}.cad-editor-layout-embedded,.cad-editor-layout-fullscreen{min-height:0}.cad-editor-header{border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.cad-editor-header-inner{justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.cad-editor-header-label{color:var(--muted);font-size:13px;font-weight:700}.cad-back-to-quote-link,.cad-open-editor-link{font-size:12px;text-decoration:none}.cad-editor-columns{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px;min-height:0;max-height:100%;display:grid;overflow:hidden}.cad-editor-properties{overscroll-behavior:contain;background:var(--stone-50);border-left:1px solid var(--stone-200);height:100%;min-height:0;max-height:100%;color:var(--ink);font-family:var(--font-sans);align-self:stretch;overflow:hidden auto}.cad-editor-properties-scroll{flex-direction:column;min-height:0;display:flex}.cad-editor-properties .panel-section{border-bottom:1px solid var(--stone-200);background:var(--stone-50);padding:12px 14px}.cad-editor-properties .join-authoring-heading,.cad-editor-properties .join-section-subheading,.cad-editor-properties .section-title{color:var(--stone-700);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:600}.cad-editor-properties .field label,.cad-editor-properties .join-partner-label{color:var(--stone-700);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.cad-editor-properties .field input,.cad-editor-properties .field select,.cad-editor-properties .field textarea,.cad-editor-properties .join-kind-select,.cad-editor-properties .join-partner-select{border:1px solid var(--stone-200);border-radius:calc(var(--radius) - 2px);background:var(--stone-50);min-height:40px;color:var(--ink);font-family:var(--font-sans)}.cad-editor-properties .field input:focus,.cad-editor-properties .field select:focus,.cad-editor-properties .field textarea:focus,.cad-editor-properties .join-kind-select:focus,.cad-editor-properties .join-partner-select:focus{outline:2px solid var(--hiviz);outline-offset:1px;border-color:var(--ink)}.cad-editor-properties .field input.num,.cad-editor-properties .field input[inputmode=numeric],.cad-editor-properties .field input[type=number],.cad-editor-properties .selected-edge-summary .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-align:right}.cad-editor-properties .chip{border-radius:calc(var(--radius) - 2px);border:1px solid var(--stone-200);background:var(--panel);color:var(--stone-700)}.cad-editor-properties .chip.active{border-color:var(--ink);background:var(--hiviz);color:var(--ink);box-shadow:2px 2px 0 0 var(--ink)}@supports (color:color-mix(in lab,red,red)){.cad-editor-properties .chip.active{box-shadow:2px 2px 0 0 color-mix(in oklch,var(--ink) 18%,transparent)}}.cad-editor-properties .feature-palette{max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:static}.cad-editor-properties .feature-palette-title{display:none}.cad-editor-properties .duplicate-piece-section .secondary-button,.cad-editor-properties .selected-piece-actions .secondary-button{width:100%}.selected-piece-actions{flex-wrap:wrap;gap:8px;display:flex}.cad-editor-canvas-column{background:#efede6;min-width:0}.cad-canvas-host,.cad-editor-canvas-column{flex-direction:column;min-height:0;max-height:100%;display:flex}.cad-canvas-host{overscroll-behavior:none;flex:1;position:relative;overflow:hidden}.cad-room-empty{text-align:center;min-height:220px;color:var(--ink-muted,#5c584f);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 24px;display:flex}.cad-room-empty strong{color:var(--ink,#1c1917);font-size:1.05rem}.cad-room-empty p{max-width:28rem;margin:0;line-height:1.45}.cad-editor-nl-bar{background:0 0;border-top:none;flex-shrink:0;height:0;overflow:visible}.cad-editor-quote-summary{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;max-height:32vh;overflow:auto}.cad-editor-quote-summary-overlay{z-index:12;border-top:1px solid var(--line);pointer-events:none;background:0 0;flex-shrink:0;max-height:min(40vh,360px);margin:0;position:absolute;bottom:0;left:0;right:320px;overflow:hidden}.cad-editor-quote-summary-overlay>*{pointer-events:auto}.cad-editor-layout-focus .cad-editor-quote-summary-overlay{display:none}.bottom-pricing-accordion{background:var(--panel);border-top:none;flex-direction:column;gap:0;padding:0;display:flex}@supports (color:color-mix(in lab,red,red)){.bottom-pricing-accordion{background:color-mix(in oklch,var(--panel) 92%,transparent)}}.bottom-pricing-accordion{box-shadow:0 -4px 16px oklch(0 0 0/.08)}.bottom-pricing-accordion .pricing-summary-row{cursor:default;flex-wrap:nowrap;align-items:center;gap:8px 12px;min-height:48px;padding:6px 12px;display:flex}.bottom-pricing-accordion .pricing-buckets{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.bottom-pricing-accordion .total-box strong{padding:4px 8px;font-size:18px}.bottom-pricing-accordion .pricing-accordion-toggle{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600}.bottom-pricing-accordion .pricing-breakdown{overscroll-behavior:contain;overscroll-behavior-y:contain;border-top:1px solid var(--line);background:var(--panel);max-height:min(28vh,280px);padding:0 12px 12px;overflow:auto}.cad-canvas-shell{flex-direction:column;flex:1;min-height:0;display:flex}.cad-canvas-shell-embedded{padding:12px}.cad-canvas-shell-embedded .piece-card{aspect-ratio:auto;flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;display:flex}.cad-editor-layout .piece-card-header{display:none}.cad-editor-layout .cad-canvas-shell-embedded{padding:0}.cad-canvas-shell-fullscreen{min-height:0}.cad-canvas-shell-seam-pick .cad-canvas-viewport{outline-offset:-2px;outline:2px solid oklch(76% .205 55);box-shadow:inset 0 0 0 1px oklch(76% .205 55/.35)}.cad-canvas-shell-join-pick .cad-canvas-viewport{outline-offset:-2px;outline:2px solid oklch(62% .18 250);box-shadow:inset 0 0 0 1px oklch(62% .18 250/.35)}.join-pick-banner,.seam-pick-banner{z-index:12;color:oklch(92% .06 55);text-align:center;pointer-events:none;background:oklch(22% .04 55/.94);border:1px solid oklch(76% .205 55);border-radius:8px;max-width:calc(100% - 24px);padding:8px 14px;font-size:13px;font-weight:600;position:absolute;top:8px;left:50%;transform:translate(-50%)}.join-pick-banner{color:oklch(92% .04 250);background:oklch(20% .05 250/.94);border-color:oklch(62% .18 250)}.proposal-edge-affordances{z-index:11;pointer-events:none;position:absolute;inset:0}.proposal-edge-affordance{border:1px solid var(--hiviz-orange,oklch(70% .18 45));border-radius:8px;width:220px;min-width:220px;max-width:220px;padding:8px 10px;position:absolute}@supports (color:color-mix(in lab,red,red)){.proposal-edge-affordance{border:1px solid color-mix(in oklch,var(--hiviz-orange,oklch(70% .18 45)) 70%,transparent)}}.proposal-edge-affordance{color:var(--stone-50,#fafaf9);pointer-events:none;background:oklch(18% .02 55/.96);box-shadow:0 4px 16px oklch(0 0 0/.35)}.proposal-edge-affordance-focused{border-color:var(--hiviz-orange,oklch(70% .18 45));box-shadow:0 0 0 1px var(--hiviz-orange,oklch(70% .18 45)),0 6px 18px oklch(0 0 0/.4)}.proposal-edge-affordance-summary{color:var(--stone-300,#d6d3d1);margin:0 0 8px;font-size:11px;line-height:1.35}.proposal-edge-affordance-actions{pointer-events:none;gap:6px;display:flex}.proposal-edge-affordance-actions .primary-button,.proposal-edge-affordance-actions .secondary-button{pointer-events:auto;flex:1;padding:4px 8px;font-size:12px}.join-authoring-heading-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.join-authoring-heading-row .join-authoring-heading{margin:0}.panel-help-tooltip{pointer-events:none;flex-shrink:0;display:inline-flex;position:relative}.panel-help-tooltip-trigger{pointer-events:auto;border:1px solid var(--line);background:var(--panel-soft,var(--panel));width:18px;height:18px;color:var(--quiet);cursor:help;border-radius:50%;place-items:center;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.panel-help-tooltip-trigger:focus-visible,.panel-help-tooltip-trigger:hover{color:var(--ink);border-color:var(--muted)}.panel-help-tooltip-bubble{z-index:20;border:1px solid var(--line);background:var(--panel);width:max-content;max-width:240px;color:var(--ink);pointer-events:none;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:500;line-height:1.4;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px oklch(0 0 0/.12)}.panel-help-tooltip-bubble[hidden]{display:none}.join-partner-field{flex-direction:column;gap:4px;margin:8px 0;display:flex}.join-partner-label{color:oklch(45% .02 250);font-size:12px;font-weight:600}.join-partner-select{background:oklch(99% .005 250);border:1px solid oklch(78% .02 250);border-radius:6px;width:100%;min-height:36px;padding:6px 8px;font-size:13px}.join-pick-empty-state{background:oklch(97% .01 250);border:1px dashed oklch(75% .03 250);border-radius:8px;flex-direction:column;gap:8px;margin:8px 0;padding:10px 12px;display:flex}.join-pick-empty-hint{color:oklch(35% .03 250);margin:0;font-size:13px;font-weight:600}.join-authoring-panel-demoted .join-authoring-canvas-note{border-left:3px solid var(--hiviz-orange,oklch(70% .18 45));color:var(--stone-500,#78716c);margin:10px 0 6px;padding:8px 10px;font-size:12px}.join-authoring-panel-demoted .join-proposal-fallback{margin-top:8px;font-size:12px}.join-authoring-panel-demoted .join-proposal-fallback summary{cursor:pointer;color:var(--stone-500,#78716c);margin-bottom:6px}.seam-authoring-pick-hint{color:oklch(76% .205 55);border-left:3px solid oklch(76% .205 55);padding-left:10px;font-weight:600}.cad-canvas-header{border-bottom:1px solid var(--stone-300);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.cad-canvas-header{border-bottom:1px solid color-mix(in oklch,var(--stone-300) 50%,transparent)}}.cad-canvas-header{background:var(--ink);color:var(--stone-50)}.cad-canvas-header h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--stone-50);margin:0;font-size:1.125rem;font-weight:700}.cad-canvas-header p{color:var(--stone-300);margin:2px 0 0;font-size:12px}.cad-canvas-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.cad-canvas-control-strip{z-index:14;pointer-events:none;background:#141414f5;border-top:1px solid #44403c73;flex-shrink:0;justify-content:flex-end;align-items:flex-start;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.cad-canvas-control-strip>*{pointer-events:auto}.edge-annotation-legend{flex-wrap:wrap;align-items:center;gap:4px;max-width:min(52%,420px);margin-right:auto;display:flex}.edge-annotation-legend-chip{border:1px solid var(--stone-700);align-items:center;gap:5px;min-height:26px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.edge-annotation-legend-chip{border:1px solid color-mix(in oklch,var(--stone-700) 80%,transparent)}}.edge-annotation-legend-chip{font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--stone-300);background:var(--ink);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.edge-annotation-legend-chip{background:color-mix(in oklch,var(--ink) 72%,transparent)}}.edge-annotation-legend-chip{cursor:pointer}.edge-annotation-legend-chip.is-active{color:var(--ink);border-color:var(--hiviz);background:var(--hiviz)}.edge-annotation-legend-swatch{border:1px solid var(--ink);border-radius:2px;width:10px;height:10px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.edge-annotation-legend-swatch{border:1px solid color-mix(in oklch,var(--ink) 35%,transparent)}}.edge-annotation-legend-chip:not(.is-active) .edge-annotation-legend-swatch{opacity:.45}.cad-canvas-body.placing-feature{cursor:crosshair}.spatial-shell{background:var(--paper);grid-template-columns:52px minmax(520px,1fr) 320px;min-height:calc(100vh - 96px);display:grid}.spatial-tools{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;align-items:center;gap:6px;padding:12px 6px;display:flex}.rail-tool{width:40px;min-height:36px;color:var(--quiet);background:0 0;border:1px solid #0000;font-size:10px;font-weight:700}.rail-tool.active,.rail-tool:hover{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.rail-tool.active,.rail-tool:hover{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.rail-tool.active,.rail-tool:hover{color:var(--hiviz-deep)}.rail-separator{background:var(--line);width:28px;height:1px;margin:4px 0}.spatial-canvas{background:var(--paper);place-items:center;min-width:0;display:grid;position:relative}.view-toggle{z-index:1;display:flex;position:absolute;top:14px;left:14px}.view-btn{border:1px solid var(--line);background:var(--panel);height:32px;color:var(--muted);padding:0 12px;font-size:11px;font-weight:700}.view-btn+.view-btn{border-left:0}.view-btn.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.view-btn.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.view-btn.active{color:var(--hiviz-deep)}.spatial-svg{aspect-ratio:720/500;border:1px solid var(--line);background:var(--panel);width:min(880px,100% - 48px);box-shadow:var(--shadow)}.spatial-piece-fill{fill:#2e7d9b1a;stroke:var(--teal);stroke-width:2px}.spatial-edge{cursor:pointer;stroke:var(--hiviz-deep);stroke-linecap:round;stroke-width:5px}.spatial-edge.selected{stroke-width:9px}.spatial-dim-label,.spatial-edge-label{fill:var(--muted);font-family:var(--mono);pointer-events:none;font-size:11px;font-weight:700}.spatial-vertex{fill:var(--panel);stroke:var(--line-strong);stroke-width:2px}.spatial-feature{fill:#fff;stroke:var(--teal);stroke-dasharray:4 3;stroke-width:1.5px}.spatial-feature-cooktop{stroke:var(--amber)}.spatial-feature-window-recess{fill:#8b5cf614;stroke:var(--violet)}.spatial-right{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;display:flex}.module-view header,.spatial-right header{border-bottom:1px solid var(--line);gap:3px;padding:14px 16px;display:grid}.module-view header strong,.spatial-right header strong{font-family:var(--font-display);color:var(--ink);font-size:1.125rem;font-weight:700}.module-view header span,.spatial-right header span{color:var(--muted);font-size:12px}.spatial-section{border-bottom:1px solid var(--line);gap:7px;padding:14px 16px;display:grid}.spatial-section h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.spatial-edge-row,.spatial-row{min-height:32px;color:var(--muted);grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.spatial-edge-row{border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);text-align:left;grid-template-columns:32px 1fr auto;padding:7px 9px}.spatial-edge-row.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.spatial-edge-row.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.spatial-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding:14px 16px;display:grid}.module-view{background:var(--panel);grid-template-rows:auto 1fr;min-height:calc(100vh - 96px);display:grid}.activity-feed,.module-table,.version-list{background:var(--paper);align-content:start;gap:1px;padding:18px;display:grid}.activity-feed div,.module-row,.version-list-header,.version-list-row{border:1px solid var(--line);background:var(--panel);grid-template-columns:44px 1fr 120px 100px 160px;gap:12px;padding:12px;font-size:13px;display:grid}.version-history-body{background:var(--paper);grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:1px;min-height:0;display:grid}.version-list-header{color:var(--muted);background:var(--panel);font-weight:600}.version-compare-picks{align-items:center;gap:12px;display:flex}.version-compare-picks label{align-items:center;gap:4px;font-size:12px;display:inline-flex}.version-diff-panel{background:var(--panel);border-left:1px solid var(--line);padding:18px}.version-diff-panel header{margin-bottom:12px}.version-history-empty{color:var(--muted);padding:18px;font-size:13px}.version-diff-total{margin:0 0 12px;font-size:14px}.version-diff-lines,.version-diff-pieces{gap:6px;margin:0;padding-left:18px;font-size:13px;display:grid}@media (max-width:900px){.version-history-body{grid-template-columns:1fr}.version-diff-panel{border-left:none;border-top:1px solid var(--line)}}.parts-list-header,.parts-list-row{border:1px solid var(--line);background:var(--panel);grid-template-columns:36px 44px minmax(120px,1fr) 100px 72px 120px minmax(140px,1.4fr) 72px;gap:12px;padding:12px;font-size:13px;display:grid}.ncs-parts-list-header,.ncs-parts-part-row,.ncs-parts-piece-row{grid-template-columns:36px minmax(160px,1fr) minmax(280px,2.4fr)}.module-table.ncs-parts-list{border:1px solid var(--line);background:var(--panel);align-content:start;gap:0;min-height:0;padding:12px 16px}.module-table.ncs-parts-list .parts-list-header,.module-table.ncs-parts-list .parts-list-row{border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center}.module-table.ncs-parts-list .parts-list-header{z-index:1;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--paper);font-size:11px;font-weight:600;position:sticky;top:0}.ncs-parts-room{gap:0;display:grid}.ncs-parts-room+.ncs-parts-room{margin-top:12px}.module-table.ncs-parts-list .ncs-parts-part-row{background:var(--paper-2,var(--stone-100));padding-top:10px;padding-bottom:10px}.ncs-parts-room-name{letter-spacing:.06em;color:var(--ink);font-size:12px;font-weight:700}.catalogue-name-combobox{position:relative}.catalogue-name-combobox-compact{flex:1;min-width:0;position:relative}.catalogue-name-suggestions{background:var(--paper,#fff);border:1px solid var(--line,#d1d5db);border-radius:6px;max-height:220px;margin:0;padding:4px 0;list-style:none;overflow:auto;box-shadow:0 8px 20px #0f172a1f}.catalogue-name-suggestions-portal{z-index:10000;position:fixed}.catalogue-name-suggestion{text-align:left;width:100%;font:inherit;color:var(--ink,#111827);cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;padding:7px 12px;font-size:13px;line-height:1.3;display:flex}.catalogue-name-suggestion-active,.catalogue-name-suggestion:focus-visible,.catalogue-name-suggestion:hover{background:var(--paper-2,#f3f4f6)}.catalogue-name-suggestion-create{border-top:1px solid var(--line,#e5e7eb);color:var(--muted,#6b7280);font-size:12.5px}.catalogue-name-create-label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted,#6b7280);font-size:10.5px;font-weight:700}.catalogue-name-create-name{color:var(--ink,#111827);font-weight:600}.settings-catalogue-add{align-items:center;gap:8px;margin-bottom:12px;display:flex}.settings-catalogue-add input{flex:1;min-width:0}.settings-catalogue-name-input{width:100%;min-width:12rem}.ncs-parts-piece-row{color:var(--ink);padding-top:10px;padding-bottom:10px;font-size:13px}.ncs-parts-piece-identity{white-space:normal;gap:2px;min-width:0;display:grid;overflow:hidden}.ncs-parts-piece-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:13px;font-weight:600;display:block;overflow:hidden}.ncs-parts-piece-meta{-webkit-line-clamp:2;line-clamp:2;white-space:normal;color:var(--muted);-webkit-box-orient:vertical;font-size:12px;font-weight:400;display:-webkit-box;overflow:hidden}.parts-list-row-nested{border-top:1px solid var(--line)}.parts-list-row-nested .ncs-parts-piece-identity{padding-left:24px}.parts-list-row-nested .ncs-parts-piece-name{color:var(--muted);font-size:12px;font-weight:500}.parts-list-checkbox{justify-content:center;align-items:center;display:flex}.parts-list-checkbox input{cursor:pointer;width:16px;height:16px;margin:0}.parts-list-checkbox-spacer{display:block}.bulk-update-toolbar{z-index:2;border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex;position:sticky;top:0}.bulk-update-toolbar-count{color:var(--muted);font-size:13px}.bulk-update-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.bulk-update-toolbar-delete:not(:disabled){color:var(--danger,#b42318);border-color:var(--danger,#b42318)}.bulk-profile-hint{color:var(--muted);margin:0 0 12px;font-size:13px}.parts-list-header{z-index:1;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--paper);font-size:11px;font-weight:600;position:sticky;top:0}.parts-list-header span,.parts-list-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdf-preview{place-items:start center;padding-bottom:40px}.pdf-preview header{width:100%}.pdf-tab-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.pdf-tab-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pdf-level-label{flex-direction:column;gap:4px;font-size:12px;display:flex}.pdf-level-label select{border:1px solid var(--line);background:var(--panel);min-width:180px;font:inherit;padding:8px 10px}.pdf-download{align-items:center;text-decoration:none;display:inline-flex}.pdf-preview-frame{border:1px solid var(--line);width:min(794px,100vw - 48px);height:min(1123px,70vh);box-shadow:var(--shadow);background:#fff;margin-top:20px}.pdf-missing-snapshot{border:1px solid var(--line);background:var(--panel);width:min(720px,100vw - 48px);margin-top:24px;padding:32px}.pdf-missing-snapshot p{margin:0 0 16px}.pdf-sheet{border:1px solid var(--line);width:min(720px,100vw - 48px);min-height:720px;box-shadow:var(--shadow);background:#fff;margin-top:24px;padding:42px}.pdf-sheet h1{margin:0 0 8px}.pdf-total{color:var(--hiviz-deep);font-family:var(--mono);margin-top:40px;font-size:24px;font-weight:700}.left-rail,.right-rail{background:var(--panel);border-right:1px solid var(--line);min-height:calc(100vh - 54px);overflow:auto}.right-rail{border-right:0;border-left:1px solid var(--line)}.cad-editor-properties .right-rail,.cad-editor-properties-scroll .right-rail{background:0 0;border-left:0;height:auto;min-height:0;overflow:visible}.canvas-stage{background:#efede6;grid-template-rows:1fr auto;min-width:0;min-height:calc(100vh - 54px);display:grid;position:relative}.canvas-stage-expanded{z-index:40;background:#efede6;min-height:0;position:fixed;inset:54px 0 0}.canvas-stage-main{min-width:0;min-height:0;display:grid;position:relative}.add-piece-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.add-piece-label{text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-right:4px;font-size:12px;font-weight:600}.feature-palette{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;gap:8px;margin-bottom:8px;padding:10px 12px;display:grid}.feature-palette-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.feature-palette-filter{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.feature-palette-brand{color:var(--muted);font-size:11px;display:block}.fixture-picker{max-height:360px;overflow:auto}.fixture-picker-back{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:11px}.fixture-picker-breadcrumb{color:var(--text);font-weight:600}.fixture-picker-type-select{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.fixture-picker-type-select select{border:1px solid var(--line);width:100%;color:var(--text);background:var(--panel);border-radius:6px;padding:6px 8px;font-size:12px}.fixture-picker-body{gap:8px;display:grid}.fixture-picker-search{display:block}.fixture-picker-search input{border:1px solid var(--line);border-radius:6px;width:100%;padding:6px 8px;font-size:12px}.fixture-picker-panels{grid-template-columns:1fr;gap:8px;display:grid}.fixture-picker-panels-single .fixture-picker-panel{min-height:120px}.fixture-picker-panel{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:6px}.fixture-picker-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.fixture-picker-row{text-align:left;border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;border-radius:6px;gap:2px;width:100%;padding:8px 10px;font-size:12px;display:grid}.fixture-picker-row strong{font-size:12px}.fixture-picker-row-meta{color:var(--muted);font-size:11px}.fixture-picker-row-generic{border-style:dashed}.fixture-picker-row.active{border-color:var(--accent);background:#4a90d914}.fixture-picker-search-results{gap:4px;margin:0;padding:0;list-style:none;display:grid}.fixture-picker-generic-config{gap:8px;padding:4px 0;display:grid}.fixture-picker-field{color:var(--muted);gap:4px;font-size:11px;display:grid}.fixture-picker-field input{border:1px solid var(--line);color:var(--text);border-radius:6px;padding:6px 8px;font-size:12px}.feature-palette-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:800}.feature-palette-hint{color:var(--muted);margin:0;font-size:12px}.feature-palette-items{flex-wrap:wrap;gap:8px;display:flex}.feature-palette-item{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;gap:2px;padding:7px 12px;display:grid}.feature-palette-item strong{font-size:13px}.feature-palette-item span{color:var(--muted);font-size:11px}.feature-palette-item.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.feature-palette-item.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.feature-palette-item.active,.feature-palette-item.active span{color:var(--hiviz-deep)}.piece-editor-stage.placing-feature{cursor:crosshair}.panel-section{border-bottom:1px solid var(--line);padding:16px}.section-title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:800}.field-grid{gap:10px;display:grid}.field-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:5px;display:grid}.field-hint{color:var(--muted);font-size:11px}.selected-piece-role-meta{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.selected-piece-role-meta input[readonly]{color:var(--muted);cursor:default;background:0 0;border-color:#0000;padding-left:0}.field label{color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-width:0;color:var(--ink);border-radius:6px;outline:none;padding:9px 10px}.field textarea{resize:vertical}.segmented{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);background:var(--panel-soft);height:34px;color:var(--muted);font-weight:700}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--ink);color:#fff}.piece-list,.piece-row{gap:8px;display:grid}.piece-row{border:1px solid var(--line);background:var(--panel-soft);text-align:left;border-radius:6px;grid-template-columns:1fr auto;align-items:center;width:100%;padding:9px}.piece-row.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.piece-row.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.piece-row strong{font-size:13px;display:block}.piece-row span{color:var(--muted);font-size:12px}.canvas-wrap{place-items:center;min-width:0;min-height:0;padding:24px;display:grid}.piece-card{aspect-ratio:4/3;border:1px solid var(--line);background:var(--panel);width:min(720px,100%);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.canvas-wrap-expanded .piece-card-expanded,.piece-card-expanded{aspect-ratio:auto;width:min(1200px,100vw - 48px);min-height:min(72vh,900px);max-height:calc(100vh - 140px)}.piece-card-header-actions{justify-items:end;gap:8px;display:grid}.canvas-zoom-controls{gap:6px;display:flex}.canvas-expand-button,.canvas-zoom-button{min-width:0;padding:4px 10px;font-size:12px}.piece-card-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.piece-card-header h1{margin:0;font-size:16px}.piece-card-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.piece-editor-stage{background:#1e1e1e}.cad-canvas-viewport,.piece-editor-stage{touch-action:none;overscroll-behavior:none;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.piece-editor-html-overlay{pointer-events:none;z-index:4;position:absolute;inset:0}.piece-editor-html-overlay .angle-label,.piece-editor-html-overlay .angle-label-editor,.piece-editor-html-overlay .dimension-label{pointer-events:auto}.edge-attr-badge{pointer-events:none;z-index:3;flex-direction:column;align-items:stretch;gap:2px;max-width:112px;display:flex;position:absolute}.edge-attr-badge.is-selected .edge-attr-chip{box-shadow:0 0 0 2px var(--hiviz)}.edge-attr-chip{border:1px solid var(--stone-700);display:block;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.edge-attr-chip{border:1px solid color-mix(in oklch,var(--stone-700) 70%,transparent)}}.edge-attr-chip{font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;color:var(--stone-50);background:var(--ink);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;line-height:1.2}@supports (color:color-mix(in lab,red,red)){.edge-attr-chip{background:color-mix(in oklch,var(--ink) 88%,transparent)}}.edge-attr-chip-profile{border-color:var(--profile-pencil-round)}@supports (color:color-mix(in lab,red,red)){.edge-attr-chip-profile{border-color:color-mix(in oklch,var(--profile-pencil-round) 75%,transparent)}}.edge-attr-chip-profile{color:var(--profile-pencil-round)}.edge-attr-chip-finish{border-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.edge-attr-chip-finish{border-color:color-mix(in oklch,var(--hiviz) 70%,transparent)}}.edge-attr-chip-finish{color:var(--hiviz)}.edge-attr-chip-buildUp{border-color:var(--hiviz-orange);color:var(--hiviz-orange)}.edge-attr-chip-exposure{border-color:var(--stone-300)}@supports (color:color-mix(in lab,red,red)){.edge-attr-chip-exposure{border-color:color-mix(in oklch,var(--stone-300) 80%,transparent)}}.edge-attr-chip-exposure{color:var(--stone-300)}.footprint-callout{pointer-events:none;color:#57534e;font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif);box-shadow:none;background:#fafaf9eb;border:1px dashed #78716cd9;border-radius:2px;flex-direction:column;align-items:center;gap:2px;padding:4px 10px;display:flex;position:absolute;transform:translate(-50%)}.footprint-callout-caption{letter-spacing:.08em;text-transform:uppercase;color:#78716c;font-size:9px;font-weight:600}.footprint-callout-value{font-family:var(--font-mono,ui-monospace,monospace);color:#44403c;white-space:nowrap;font-size:11px;font-weight:500}.edge-length-choice-control{color:#e7e5e4;background:#1c1917b8;border:1px solid #44403c8c;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;font-size:11px;display:flex}.edge-length-choice-readout{white-space:nowrap;color:#d6d3d1}.canvas-zoom-pill{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c1917e0;border:1px solid #44403c99;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 8px 24px #00000040}.canvas-zoom-pill-docked{z-index:auto;box-shadow:none;margin-left:auto;position:static}.canvas-zoom-fit,.canvas-zoom-mini,.canvas-zoom-toggle{color:#e7e5e4;background:#292524f2;border:1px solid #44403ccc;border-radius:999px;min-width:28px;min-height:28px;font-size:14px;font-weight:700;line-height:1}.canvas-zoom-mini:disabled{opacity:.35}.canvas-zoom-readout{flex-direction:column;align-items:center;min-width:52px;line-height:1;display:flex}.canvas-zoom-mm{color:#e7e5e4;font-size:11px}.canvas-zoom-mm,.canvas-zoom-unit{font-family:var(--font-mono,ui-monospace,monospace)}.canvas-zoom-unit{letter-spacing:.08em;text-transform:uppercase;color:#78716c;font-size:9px}.canvas-zoom-divider{background:#44403cb3;width:1px;height:20px}.canvas-zoom-fit,.canvas-zoom-toggle.active{border-radius:6px;padding:0 8px;font-size:11px}.canvas-help-button{min-width:28px;min-height:28px;padding:0 8px}.dimension-label{color:#fff;font-family:var(--font-mono,ui-monospace,monospace);cursor:pointer;background:#1c1917d9;border:1px solid #44403c;border-radius:4px;padding:3px 8px;font-size:12px;line-height:1;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0000001f}.dimension-label-compact{padding:0 4px;font-size:9px}.dimension-label.hovered{background:#292524f2;border-color:#4a90d9}.dimension-label.editing{border-width:1.5px;border-color:#d63f1a}.dimension-label.invalid{border-color:#ef4444}.dimension-label-input{width:64px;color:inherit;text-align:center;background:0 0;border:none;font-family:inherit;font-size:13px;line-height:1}.dimension-label-value .dimension-label-suffix{color:#a8a29e;margin-left:4px}.measurement-label{pointer-events:none;font-family:var(--font-mono,ui-monospace,monospace);color:#78716c;background:#f5f5f4e6;border-radius:4px;padding:1px 4px;font-size:10px;line-height:1;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #00000014}.measurement-label-feature{color:#44403c;background:#e7e5e4f2;font-weight:500}.canvas-tooltip{pointer-events:none;z-index:20;color:#f5f5f4;background:#1c1917f2;border:1px solid #29252499;border-radius:4px;flex-direction:column;gap:2px;padding:4px 8px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 12px #00000040}.canvas-tooltip-line{white-space:nowrap;align-items:baseline;gap:6px;line-height:1.2;display:flex}.canvas-tooltip-label{font-family:var(--font-sans,system-ui,sans-serif);color:#e7e5e4;font-size:10px;font-weight:500}.canvas-tooltip-value{font-family:var(--font-mono,ui-monospace,monospace);color:#d6d3d1;font-size:10px}.angle-label{border:1px solid var(--stone-700);font-family:var(--font-sans);font-variant-numeric:tabular-nums;cursor:text;box-shadow:0 1px 2px var(--ink);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500;line-height:1;position:absolute;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.angle-label{box-shadow:0 1px 2px color-mix(in oklch,var(--ink) 12%,transparent)}}.angle-label-blue{color:var(--profile-pencil-round);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.angle-label-blue{background:color-mix(in oklch,var(--ink) 85%,transparent)}}.angle-label-blue{border-color:var(--profile-pencil-round)}@supports (color:color-mix(in lab,red,red)){.angle-label-blue{border-color:color-mix(in oklch,var(--profile-pencil-round) 70%,transparent)}}.angle-label-amber{color:var(--hiviz-orange);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.angle-label-amber{background:color-mix(in oklch,var(--ink) 85%,transparent)}}.angle-label-amber{border-color:var(--hiviz-orange)}.angle-label-white{color:var(--stone-50);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.angle-label-white{background:color-mix(in oklch,var(--ink) 85%,transparent)}}.angle-label-white{border-color:var(--stone-700)}.angle-label-hover{color:var(--ink);background:var(--hiviz);border-color:var(--hiviz)}.angle-label-invalid{color:var(--stone-50);background:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.angle-label-invalid{background:color-mix(in oklch,var(--destructive) 90%,var(--ink))}}.angle-label-invalid{border-color:var(--destructive)}.angle-label-editor{pointer-events:auto;z-index:10;align-items:center;gap:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.angle-label-input{border:2px solid var(--hiviz);height:24px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--stone-50);background:var(--ink-soft);box-shadow:0 2px 6px var(--ink);border-radius:4px;padding:0 6px;font-size:11px;font-weight:500;line-height:1}@supports (color:color-mix(in lab,red,red)){.angle-label-input{box-shadow:0 2px 6px color-mix(in oklch,var(--ink) 20%,transparent)}}.angle-label-input.invalid{border-color:var(--destructive)}.angle-label-degree-suffix{-webkit-user-select:none;user-select:none;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--stone-300);font-size:10px}.canvas-rulers{pointer-events:none;z-index:3;position:absolute;inset:0}.canvas-ruler-x,.canvas-ruler-y{font-family:var(--font-mono,ui-monospace,monospace);color:#78716cbf;-webkit-user-select:none;user-select:none;position:absolute}.canvas-ruler-y{left:4px;transform:translateY(-50%)}.shortcuts-overlay-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0a098c;place-items:center;display:grid;position:fixed;inset:0}.shortcuts-overlay-panel{background:#1c1917f5;border:1px solid #44403ca6;border-radius:12px;gap:14px;width:min(420px,100vw - 32px);padding:20px;display:grid;box-shadow:0 24px 48px #00000059}.shortcuts-overlay-header{color:#e7e5e4;justify-content:space-between;align-items:baseline;display:flex}.shortcuts-overlay-header h3{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px}.shortcuts-overlay-header span{color:#78716c;font-size:10px}.shortcuts-overlay-section{gap:6px;display:grid}.shortcuts-overlay-row{color:#d6d3d1;justify-content:space-between;gap:12px;font-size:13px;display:flex}.shortcuts-overlay-row kbd{min-width:120px;font-family:var(--font-mono,ui-monospace,monospace);color:#fafaf9;font-size:11px}.shortcuts-overlay-divider{background:#44403ca6;height:1px}.round-dialog-apply-all{align-items:center;gap:8px;font-size:11px;display:flex}.square-corner-button{width:100%;margin-top:6px}.piece-editor-loading{color:var(--muted);place-items:center;font-size:13px;font-weight:800;display:grid}.piece-editor-dialog,.piece-editor-menu{z-index:10;border:1px solid var(--line-strong);background:var(--panel);width:min(230px,100% - 24px);box-shadow:var(--shadow);border-radius:8px;gap:6px;padding:9px;display:grid;position:absolute;transform:translate(10px,10px)}.piece-editor-dialog strong,.piece-editor-menu strong{font-size:12px}.piece-editor-menu button{border:1px solid var(--line);background:var(--panel-soft);min-height:32px;color:var(--ink);text-align:left;border-radius:6px;padding:0 9px;font-size:12px;font-weight:800}.piece-editor-dialog label{color:var(--muted);gap:4px;font-size:11px;font-weight:800;display:grid}.piece-editor-dialog input{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-width:0;color:var(--ink);border-radius:6px;padding:7px 8px}.piece-editor-dialog-actions{justify-content:flex-end;gap:6px;display:flex}.corner-angle-field{z-index:11;border:1px solid var(--line-strong);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;gap:4px;padding:9px 11px;display:grid;position:absolute;top:12px;right:12px}.corner-angle-field label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.corner-angle-input{align-items:center;gap:6px;display:flex}.corner-angle-input input{border:1px solid var(--line);background:var(--panel-soft);width:84px;color:var(--ink);border-radius:6px;padding:6px 8px}.corner-angle-input input:disabled{opacity:.55}.corner-angle-input span{color:var(--muted);font-size:12px;font-weight:800}.piece-editor-toast{color:#7d220d;max-width:min(360px,100% - 24px);background:#fff3ef;border:1px solid #efc3b8;border-radius:6px;font-weight:800;left:12px}.piece-editor-toast,.snap-controls{z-index:11;box-shadow:var(--shadow);padding:9px 11px;font-size:12px;position:absolute;bottom:12px}.snap-controls{border:1px solid var(--line-strong);background:var(--panel);width:168px;border-radius:8px;right:12px}.snap-controls-docked{z-index:auto;background:var(--panel-soft);width:auto;min-width:168px;max-width:220px;margin-right:auto;position:static}.snap-controls-header{gap:2px;margin-bottom:8px;display:grid}.snap-controls-header strong{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.snap-legend{color:var(--muted);font-size:11px;font-weight:700}.snap-legend.is-active{color:var(--accent,#1763d6)}.snap-toggle-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.snap-toggle{cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:2px 4px;display:flex}.snap-toggle.is-active{background:var(--panel-soft);font-weight:800}.snap-toggle input{margin:0}.confidence-banner{z-index:2;color:#5f4210;width:min(520px,100% - 28px);box-shadow:var(--shadow);background:#fff9e8f5;border:1px solid #ecd38f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:8px 12px 0;padding:10px 12px;display:flex;position:relative;top:auto;left:auto;transform:none}.confidence-banner div{gap:2px;min-width:0;display:grid}.confidence-banner strong{font-size:13px}.confidence-banner span{font-size:12px}.extraction-overlay{z-index:18;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#efede69e;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.extraction-panel{border:1px solid var(--line);background:var(--panel);text-align:center;width:min(340px,100%);box-shadow:var(--shadow);border-radius:8px;justify-items:center;gap:9px;padding:18px;display:grid}.extraction-panel strong{font-size:14px}.extraction-panel span{color:var(--muted);font-size:12px}.extraction-spinner{border:3px solid #ead9d1;border-top:3px solid var(--hiviz-deep);border-radius:50%;width:28px;height:28px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.piece-svg{width:100%;height:100%;min-height:0}.edge-line{stroke-linecap:round;transition:stroke-width .12s,opacity .12s}.edge-line.selected{stroke-width:14px}.edge-hit{stroke:#0000;stroke-width:24px;fill:none;cursor:pointer}.edge-label{fill:var(--muted);pointer-events:none;font-size:12px;font-weight:800}.mode-toggle{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px;display:grid}.mode-button{min-height:42px;padding:7px;font-size:12px;font-weight:800}.mode-button.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.mode-button.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.mode-button.active{color:var(--hiviz-deep)}.edge-config{gap:12px;padding:16px;display:grid}.selected-edge-summary{border:1px solid var(--line);background:var(--panel-soft);border-radius:6px;gap:4px;padding:12px;display:grid}.selected-edge-summary strong{font-size:14px}.selected-edge-summary span{color:var(--muted);font-size:12px}.chip-grid{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);height:30px;color:var(--muted);border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.chip.active{border-color:var(--ink);color:var(--ink);background:var(--hiviz)}.edge-card-list,.edge-ring-list{gap:7px;display:grid}.edge-card-row,.ring-row{border:1px solid var(--line);background:var(--panel-soft);text-align:left;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.edge-card-row.active,.ring-row.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.edge-card-row.active,.ring-row.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.swatch{border-radius:50%;width:12px;height:12px}.exposure-cabinet{background:var(--amber)}.exposure-exposed{background:var(--hiviz-deep)}.exposure-join{background:var(--violet)}.exposure-wall{background:var(--teal)}.edge-meta{min-width:0}.edge-meta strong{font-size:12px;display:block}.edge-meta span,.ring-row span{color:var(--muted);font-size:11px}.attention-strip{border-left:3px solid var(--amber);color:#6a4911;background:#fff7e6;border-radius:6px;padding:9px 10px;font-size:12px;font-weight:800}.edge-work-diagram{border:1px solid var(--line);background:var(--panel-soft);border-radius:6px;grid-template-columns:118px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.edge-work-diagram span,.edge-work-diagram strong{display:block}.edge-work-diagram span{color:var(--muted);font-size:12px}.edge-stone-section{border:1px solid var(--line-strong);background:#ece7dc;border-radius:6px;height:70px;position:relative;overflow:hidden}.stone-face{background:#f8f5ec;border:1px solid #d2caba;position:absolute;inset:12px 26px 12px 12px}.edge-profile-line{background:var(--hiviz-deep);border-radius:999px;width:8px;height:46px;position:absolute;top:12px;right:24px}.build-up-block{background:#ded5c5;border:1px solid #cfc5b3;width:17px;height:36px;position:absolute;top:17px;right:9px}.ring-visual{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.ring-segment{border:1px solid var(--line);background:var(--panel-soft);border-radius:6px;min-height:44px;font-size:11px;font-weight:800}.ring-segment.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.ring-segment.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.bottom-pricing{border-top:1px solid var(--line);background:var(--panel);gap:12px;padding:12px 18px;display:grid}.pricing-unavailable{border:1px solid var(--hiviz-orange);border-radius:var(--radius);background:var(--hiviz-orange);padding:12px 16px}@supports (color:color-mix(in lab,red,red)){.pricing-unavailable{background:color-mix(in oklch,var(--hiviz-orange) 8%,var(--stone-50))}}.pricing-unavailable{color:var(--ink);font-size:14px;line-height:1.4}.pricing-setup-required{border-color:var(--status-go);background:var(--status-go);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@supports (color:color-mix(in lab,red,red)){.pricing-setup-required{background:color-mix(in oklch,var(--status-go) 10%,var(--stone-50))}}.pricing-setup-required{color:var(--ink)}.pricing-unavailable-link{color:inherit;text-underline-offset:3px;flex:none;font-weight:700;text-decoration:underline}.pdf-total-unavailable{color:var(--hiviz-deep);font-family:var(--mono);margin-top:40px;font-size:15px;font-weight:600}.nl-command-dock{z-index:13;pointer-events:none;gap:8px;width:min(680px,100% - 32px);display:grid;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.cad-editor-layout-focus .nl-command-dock{bottom:16px}.nl-command-actions{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.nl-command-action{pointer-events:auto}.cad-focus-mode .cad-editor-header,.cad-focus-mode [data-testid=config-rooms-submenu],.cad-focus-mode [data-testid=config-section],.cad-focus-mode [data-testid=qq-cad-return],.cad-focus-mode [data-testid=quote-options-row],.cad-focus-mode [data-testid=quote-workspace-header],.cad-focus-mode [data-testid=workspace-tabs],.cad-focus-mode aside.dashboard-sidebar,.cad-focus-mode header.topbar .brand-lockup,.cad-focus-mode header.topbar .topbar-actions,.cad-focus-mode header.topbar .topbar-identity>.brand-lockup,.cad-focus-mode nav.workspace-tabs,body.cad-focus-mode .cad-editor-header,body.cad-focus-mode [data-testid=config-rooms-submenu],body.cad-focus-mode [data-testid=config-section],body.cad-focus-mode [data-testid=qq-cad-return],body.cad-focus-mode [data-testid=quote-options-row],body.cad-focus-mode [data-testid=quote-workspace-header],body.cad-focus-mode [data-testid=workspace-tabs],body.cad-focus-mode aside.dashboard-sidebar,body.cad-focus-mode header.topbar .brand-lockup,body.cad-focus-mode header.topbar .topbar-actions,body.cad-focus-mode header.topbar .topbar-identity>.brand-lockup,body.cad-focus-mode nav.workspace-tabs{display:none!important}.cad-focus-mode header.topbar .topbar-identity,body.cad-focus-mode header.topbar .topbar-identity{grid-column:1/-1;justify-content:flex-end}.cad-focus-mode header.topbar,body.cad-focus-mode header.topbar{justify-content:flex-end;gap:12px;height:auto;min-height:0;padding:6px 12px}.cad-focus-mode header.topbar .topbar-row,body.cad-focus-mode header.topbar .topbar-row{justify-content:flex-end;min-height:0}.cad-focus-exit-chip{display:none}.cad-focus-mode .cad-focus-exit-chip,body.cad-focus-mode .cad-focus-exit-chip{align-items:center;gap:10px;margin-right:auto;display:inline-flex}.cad-focus-mode .dashboard-main,body.cad-focus-mode .dashboard-main{width:100%;max-width:none;margin-left:0}body.cad-focus-mode .dashboard-shell:has(.cad-editor-layout){height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}body.cad-focus-mode .app-shell:has(.cad-editor-layout),body.cad-focus-mode .dashboard-main:has(.cad-editor-layout),body.cad-focus-mode .workspace-body:has(.cad-editor-layout),body.cad-focus-mode .workspace-config-layout:has(.cad-editor-layout),body.cad-focus-mode .workspace-config-main:has(.cad-editor-layout){height:100%;min-height:0;max-height:100%;overflow:hidden}body.cad-focus-mode .workspace-config-layout:has(.cad-editor-layout){grid-template-rows:minmax(0,1fr)}body.cad-focus-mode .workspace-config-main:has(.cad-editor-layout){grid-row:1;height:100%;min-height:0}body.cad-focus-mode .workspace-config-main:has(.cad-editor-layout)>.cad-editor-layout{flex:1 1 0;min-height:0}.nl-command-bar{border:1px solid var(--hiviz);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:6px;display:grid}@supports (color:color-mix(in lab,red,red)){.nl-command-bar{border:1px solid color-mix(in oklch,var(--hiviz) 45%,var(--stone-700))}}.nl-command-bar{background:var(--ink);border-radius:8px}@supports (color:color-mix(in lab,red,red)){.nl-command-bar{background:color-mix(in oklch,var(--ink) 92%,var(--hiviz))}}.nl-command-bar{box-shadow:3px 3px 0 0 var(--ink)}@supports (color:color-mix(in lab,red,red)){.nl-command-bar{box-shadow:3px 3px 0 0 color-mix(in oklch,var(--ink) 40%,transparent)}}.nl-command-bar{pointer-events:auto}.nl-command-bar input{width:100%;min-width:0;height:34px;color:var(--stone-50);background:0 0;border:0;outline:none}.nl-command-bar input::placeholder{color:var(--stone-50)}@supports (color:color-mix(in lab,red,red)){.nl-command-bar input::placeholder{color:color-mix(in oklch,var(--stone-50) 55%,transparent)}}.nl-command-bar .primary-button{background:var(--hiviz);border-color:var(--hiviz);color:var(--ink);box-shadow:2px 2px 0 0 var(--ink)}@supports (color:color-mix(in lab,red,red)){.nl-command-bar .primary-button{box-shadow:2px 2px 0 0 color-mix(in oklch,var(--ink) 50%,transparent)}}.nl-command-bar .primary-button:hover:not(:disabled){background:var(--hiviz-deep)}.qq-cad-return{border-bottom:1px solid var(--stone-700);background:var(--ink);justify-content:center;align-items:center;padding:8px 12px;display:flex}.qq-cad-return-btn{min-width:200px}.voice-button{border:1px solid var(--hiviz);place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.voice-button{border:1px solid color-mix(in oklch,var(--hiviz) 35%,var(--stone-700))}}.voice-button{background:var(--ink);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.voice-button{background:color-mix(in oklch,var(--ink) 80%,var(--hiviz))}}.voice-button{color:var(--hiviz)}.nl-command-bar .voice-button{border-color:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.nl-command-bar .voice-button{border-color:color-mix(in oklch,var(--hiviz) 40%,transparent)}}.nl-command-bar .voice-button{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.nl-command-bar .voice-button{background:color-mix(in oklch,var(--ink) 70%,var(--hiviz))}}.nl-command-bar .voice-button{color:var(--hiviz)}.voice-button.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.voice-button.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.voice-button.active{color:var(--hiviz-deep)}.nl-command-error{color:#7d220d;max-width:100%;background:#fff3ef;border:1px solid #efc3b8;border-radius:6px;justify-self:start;padding:8px 10px;font-size:12px;font-weight:800}.delta-preview,.nl-command-error{box-shadow:var(--shadow);pointer-events:auto}.delta-preview{border:1px solid var(--line);background:#fffffff5;border-radius:8px;gap:9px;padding:12px;display:grid}.delta-preview-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.delta-preview-summary strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.delta-preview-summary span{font-family:var(--mono);font-size:13px;font-weight:800}.delta-positive{color:var(--hiviz-deep)}.delta-negative{color:var(--green)}.delta-preview p,.delta-preview ul{color:var(--muted);margin:0;font-size:12px}.delta-preview ul{gap:4px;padding-left:18px;display:grid}.delta-preview-actions{justify-content:flex-end;gap:8px;display:flex}.pricing-summary-row{grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:16px;display:grid}.pricing-buckets{grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;display:grid}.price-bucket{gap:2px;display:grid}.price-bucket span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.price-bucket strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.total-box{text-align:right}.total-box span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.total-box strong{color:var(--ink);font-variant-numeric:tabular-nums;background:var(--hiviz);border-radius:var(--radius);padding:8px 12px;font-size:24px;font-weight:600;display:block}.pricing-breakdown{border-top:1px solid var(--line);gap:10px;max-height:420px;padding-top:10px;display:grid;overflow:auto}.module-view .pricing-breakdown{max-height:none}.module-row-nested span:first-of-type{color:var(--muted);padding-left:18px}.breakdown-header,.breakdown-line{grid-template-columns:minmax(260px,1fr) 92px 116px 92px;align-items:start;gap:10px;display:grid}.breakdown-header{color:var(--muted);font-size:12px}.breakdown-header strong{color:var(--ink)}.breakdown-header-title{gap:6px;display:grid}.breakdown-trace-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.breakdown-trace-toggle input{margin:0}.breakdown-group{gap:5px;display:grid}.breakdown-group h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.breakdown-piece-group{padding-top:4px}.breakdown-piece-title{color:var(--ink)!important;letter-spacing:.02em!important;text-transform:none!important;font-size:13px!important}.breakdown-line-nested>div:first-child{padding-left:18px}.breakdown-line-nested>div:first-child strong{color:var(--muted);font-weight:600}.breakdown-bucket,.breakdown-lines{gap:1px;display:grid}.breakdown-subtotal{border-top:1px dashed var(--line);color:var(--muted);margin-top:2px;padding-top:4px;font-size:12px}.breakdown-subtotal strong{font-weight:700}.breakdown-piece-total{border-top:1px solid var(--line);color:var(--ink);margin-top:6px;padding-top:6px;font-size:13px}.breakdown-quote-level-group .breakdown-piece-title{color:var(--muted)!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-size:11px!important;font-weight:800!important}.breakdown-line{border-top:1px solid #ebe7dc;padding:7px 0;font-size:12px}.breakdown-line span,.breakdown-line strong{min-width:0}.breakdown-line span{color:var(--muted)}.breakdown-line div{gap:2px;min-width:0;display:grid}.breakdown-line div span,.breakdown-line div strong{overflow-wrap:anywhere}.breakdown-line>strong{text-align:right}.tell-me{z-index:20;position:fixed;bottom:18px;right:18px}.tell-me-button{background:var(--ink);color:#fff;width:48px;height:48px;box-shadow:var(--shadow);border:1px solid #1f1f1f;border-radius:50%;font-size:22px}.tell-me-panel{border:1px solid var(--line);background:var(--panel);width:min(360px,100vw - 32px);box-shadow:var(--shadow);border-radius:8px;gap:10px;padding:14px;display:grid;position:absolute;bottom:58px;right:0}.tell-me-panel h2{margin:0;font-size:15px}.tell-me-panel p{color:var(--muted);margin:0;font-size:12px}.tell-me-actions{justify-content:flex-end;gap:8px;display:flex}.small-button{height:31px;padding:0 10px}.saved-note,.small-button{font-size:12px;font-weight:800}.saved-note{color:var(--green)}.dashboard-shell{background:var(--paper);min-height:100vh;display:flex}.dashboard-sidebar{background:var(--ink);z-index:30;border-right:1px solid #ffffff1a;flex-direction:column;width:64px;height:100vh;min-height:100vh;max-height:100dvh;transition:width .15s,box-shadow .15s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.dashboard-sidebar:focus-within,.dashboard-sidebar:hover{width:220px;box-shadow:8px 0 24px var(--ink)}@supports (color:color-mix(in lab,red,red)){.dashboard-sidebar:focus-within,.dashboard-sidebar:hover{box-shadow:8px 0 24px color-mix(in oklch,var(--ink) 28%,transparent)}}.dashboard-sidebar .brand-title,.dashboard-sidebar .dashboard-footer-settings,.dashboard-sidebar .dashboard-nav-label,.dashboard-sidebar .dashboard-user-meta{opacity:0;white-space:nowrap;pointer-events:none;width:0;transition:opacity .15s;overflow:hidden}.dashboard-sidebar:focus-within .brand-title,.dashboard-sidebar:focus-within .dashboard-footer-settings,.dashboard-sidebar:focus-within .dashboard-nav-label,.dashboard-sidebar:focus-within .dashboard-user-meta,.dashboard-sidebar:hover .brand-title,.dashboard-sidebar:hover .dashboard-footer-settings,.dashboard-sidebar:hover .dashboard-nav-label,.dashboard-sidebar:hover .dashboard-user-meta{opacity:1;pointer-events:auto;width:auto}.dashboard-sidebar .dashboard-nav-item{justify-content:flex-start;padding-left:14px}.dashboard-sidebar .dashboard-user-row{justify-content:center}.dashboard-sidebar:focus-within .dashboard-user-row,.dashboard-sidebar:hover .dashboard-user-row{justify-content:flex-start}.dashboard-nav-hamburger{z-index:50;border:1px solid var(--line);background:var(--panel);width:40px;height:40px;color:var(--ink);box-shadow:var(--shadow);border-radius:8px;place-items:center;display:none;position:fixed;top:10px;left:10px}.dashboard-sidebar-backdrop{display:none}@media (max-width:767px){.dashboard-nav-hamburger{display:grid}.dashboard-sidebar-backdrop[data-open="1"]{z-index:40;background:var(--ink);border:0;margin:0;padding:0;display:block;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.dashboard-sidebar-backdrop[data-open="1"]{background:color-mix(in oklch,var(--ink) 45%,transparent)}}.dashboard-sidebar-backdrop[data-open="1"]{cursor:pointer}.dashboard-sidebar{width:220px;box-shadow:none;visibility:hidden;pointer-events:none;transition:left .18s;left:-228px!important}.dashboard-sidebar:focus-within,.dashboard-sidebar:hover{width:220px;box-shadow:none}.dashboard-sidebar .brand-title,.dashboard-sidebar .dashboard-footer-settings,.dashboard-sidebar .dashboard-nav-label,.dashboard-sidebar .dashboard-user-meta{opacity:1;pointer-events:auto;width:auto}.dashboard-sidebar .dashboard-user-row{justify-content:flex-start}.dashboard-sidebar[data-open="1"]{box-shadow:8px 0 24px var(--ink);left:0!important}@supports (color:color-mix(in lab,red,red)){.dashboard-sidebar[data-open="1"]{box-shadow:8px 0 24px color-mix(in oklch,var(--ink) 35%,transparent)}}.dashboard-sidebar[data-open="1"]{visibility:visible;pointer-events:auto}.dashboard-main{width:100%;min-width:0;margin-left:0}.app-shell>.topbar{padding-left:56px}}.dashboard-sidebar-header{border-bottom:1px solid #ffffff1a}.dashboard-sidebar .brand-title{color:var(--hiviz);font-family:var(--font-display);font-weight:700}.dashboard-nav{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow:auto}.dashboard-nav-item{min-height:38px;color:var(--stone-300);border:1px solid #0000;border-left-width:4px;border-radius:6px;align-items:center;gap:10px;padding:0 10px 0 6px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.dashboard-nav-item:hover{color:var(--stone-50);background:#ffffff0f}.dashboard-nav-item.active{border-left-color:var(--hiviz);color:var(--stone-50);background:#ffffff14}.dashboard-nav-icon{flex-shrink:0;place-items:center;display:grid}.dashboard-nav-label{min-width:0}.dashboard-user-footer{border-top:1px solid #ffffff1a;gap:10px;margin-top:auto;display:grid}.dashboard-sidebar .dashboard-footer-settings,.dashboard-sidebar .dashboard-user-meta span,.dashboard-sidebar .dashboard-user-meta strong{color:var(--stone-300)}.dashboard-sidebar .dashboard-footer-settings:hover{color:var(--stone-50)}.dashboard-user-row{align-items:center;gap:10px;display:flex}.dashboard-user-meta{gap:2px;min-width:0;display:grid}.dashboard-user-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dashboard-user-meta span{color:var(--muted);font-size:11px}.dashboard-user-avatar-placeholder{border:1px solid var(--line);background:var(--panel-soft);width:32px;height:32px;color:var(--quiet);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.dashboard-footer-settings{color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.dashboard-footer-settings:hover{color:var(--ink)}.dashboard-main{flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:64px;display:flex}.dashboard-page{padding:24px}.dashboard-page h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 8px;font-size:2rem;font-weight:700}.quotes-index-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.quotes-index-new{text-decoration:none}.quotes-index-search{max-width:420px;color:var(--muted);gap:6px;margin-bottom:16px;font-size:12px;font-weight:600;display:grid}.quotes-index-search input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px}.dashboard-page p{color:var(--muted);margin:0;font-size:14px}.dashboard-gate-message{border:1px solid var(--line);background:var(--panel-soft);border-radius:6px;max-width:480px;padding:12px 14px}.auth-page{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.invite-gate,.onboarding-form{flex-direction:column;gap:14px;width:min(420px,100%);display:flex}.invite-gate h1,.onboarding-form h1,.welcome-page h1{margin:0;font-size:1.5rem}.invite-gate-copy,.onboarding-lead,.welcome-lead{color:var(--muted);margin:0;line-height:1.5}.invite-gate-label,.onboarding-label{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.invite-gate-input,.onboarding-input{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:10px 12px}.invite-gate-error,.onboarding-error{color:var(--hiviz-deep);margin:0;font-size:14px}.invite-gate-submit,.onboarding-submit{background:var(--ink);color:#fff;border:0;border-radius:6px;padding:10px 14px;font-weight:600}.welcome-page{max-width:640px}.welcome-ctas{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.welcome-cta{border:1px solid var(--line);color:var(--ink);background:var(--panel);border-radius:6px;align-items:center;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.welcome-cta-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.welcome-note{color:var(--quiet);margin-top:24px;font-size:14px}@media (max-width:1080px){.workspace-grid{grid-template-columns:280px minmax(360px,1fr)}.right-rail{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;min-height:0}}@media (max-width:760px){.topbar{height:auto;padding:0 12px 0 56px}.topbar,.topbar-row{min-height:54px}.topbar-actions-meta,.topbar-identity .quote-chip{display:none}.quote-options-totalpod-v{font-size:18px}.workspace-grid{grid-template-columns:1fr}.canvas-stage,.left-rail,.right-rail{min-height:auto}.pricing-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-summary-row{grid-template-columns:1fr}.total-box{text-align:left}.breakdown-header,.breakdown-line{grid-template-columns:minmax(160px,1fr) 72px 88px 78px}}.customer-picker-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14141457;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.customer-picker{border:1px solid var(--line-strong);background:var(--panel);width:min(440px,100%);box-shadow:var(--shadow);border-radius:10px;gap:12px;padding:20px;display:grid}.customer-picker-header{gap:4px;display:grid}.customer-picker-header strong{font-size:16px}.customer-picker-header span{color:var(--muted);font-size:12px}.customer-picker-modes{gap:6px;display:flex}.customer-picker-modes .mode-button{flex:1;height:32px;font-size:12px;font-weight:700}.customer-picker-modes .mode-button.active{border-color:var(--hiviz-deep);color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.customer-picker-modes .mode-button.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.customer-picker-body{gap:10px;display:grid}.customer-picker-field{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.customer-picker-field input,.customer-picker-field select{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-width:0;height:34px;color:var(--ink);border-radius:6px;padding:0 9px;font-weight:500}.customer-picker-hint{color:var(--muted);margin:0;font-size:12px}.customer-picker-error{color:var(--hiviz-deep)}.customer-picker-actions{justify-content:flex-end;gap:8px;display:flex}.persistence-status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.persistence-status.dirty{color:var(--amber)}.persistence-status.saved{color:var(--green)}.quote-empty-state{place-items:center;min-height:320px;padding:48px 24px;display:grid}.quote-empty-state-card{text-align:center;border:1px dashed var(--line-strong);background:var(--panel);border-radius:12px;justify-items:center;gap:10px;max-width:420px;padding:28px;display:grid}.quote-empty-state-card strong{font-size:18px}.quote-empty-state-card p{color:var(--muted);margin:0;font-size:13px}.quote-empty-state-actions{gap:8px;margin-top:6px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.material-picker-overlay{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14141457;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.material-picker{border:1px solid var(--line-strong);background:var(--panel);width:min(920px,100%);max-height:min(82vh,760px);box-shadow:var(--shadow);border-radius:10px;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:20px;display:grid}.material-picker-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.material-picker-header strong{font-size:16px;display:block}.material-picker-header span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.material-picker-search input{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;height:36px;padding:0 12px}.material-picker-panels{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:minmax(140px,1fr) minmax(160px,1.1fr) minmax(220px,1.4fr);gap:1px;min-height:0;display:grid;overflow:hidden}.material-picker-panel{background:var(--panel);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.material-picker-panel h3{border-bottom:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;padding:10px 12px;font-size:11px}.material-picker-panel ul,.material-picker-search-results ul{margin:0;padding:6px;list-style:none;overflow-y:auto}.material-picker-row{width:100%;min-height:36px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.material-picker-row:hover:not(:disabled){background:var(--surface)}.material-picker-row.active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.material-picker-row.active{background:color-mix(in srgb,var(--accent) 16%,transparent)}}.material-picker-row.active{outline:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.material-picker-row.active{outline:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}}.material-picker-row:disabled{opacity:.45;cursor:not-allowed}.material-picker-row span:last-child{color:var(--muted);white-space:nowrap;font-size:12px}.material-picker-top-price span:first-child{font-weight:600}.material-picker-divider{padding:4px 10px}.material-picker-divider span{background:var(--line);height:1px;display:block}.material-picker-empty{color:var(--muted);margin:0;padding:12px;font-size:12px}.material-picker-fallback{gap:8px;margin-top:6px;display:grid}.material-picker-search-results{border:1px solid var(--line);border-radius:8px;min-height:0;overflow-y:auto}.material-picker-trigger{border:1px solid var(--line);background:var(--surface);width:100%;min-height:38px;color:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.material-picker-trigger:disabled{opacity:.6;cursor:wait}.material-picker-trigger-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.material-picker-trigger-action{color:var(--accent);white-space:nowrap;font-size:12px}.manual-material-modal{width:min(480px,100%)}.manual-material-fields{flex-direction:column;gap:12px;padding:0 4px;display:flex}.manual-material-fields .field{flex-direction:column;gap:4px;display:flex}.manual-material-fields .field span{color:var(--muted);font-size:12px}.manual-material-apply-all{align-items:flex-start;gap:8px;margin-top:4px;font-size:13px;display:flex}.manual-material-error{color:var(--danger,#c0392b);margin:0;font-size:13px}.manual-material-footer{justify-content:flex-end;padding-top:8px;display:flex}.material-picker-manual-footer{border-top:1px solid var(--border);justify-content:flex-start;padding-top:12px;display:flex}.customer-picker.shape-picker{flex-direction:column;width:min(760px,100%);min-height:0;max-height:min(80vh,720px);display:flex}.customer-picker.shape-picker .customer-picker-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.shape-gallery{flex:1;gap:16px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.shape-gallery-group{gap:8px;display:grid}.shape-gallery-heading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.shape-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.shape-gallery-search{gap:4px;margin-bottom:4px;display:grid}.shape-gallery-search input{background:var(--panel);width:100%;padding:8px 10px;font-size:13px}.shape-card,.shape-gallery-search input{border:1px solid var(--line);color:var(--ink);border-radius:8px}.shape-card{text-align:left;background:var(--panel-soft);min-height:120px;cursor:pointer;align-content:start;justify-items:start;gap:6px;padding:12px;display:grid}.shape-card-preview{justify-self:center;width:80px;height:80px}.shape-card-preview svg{display:block}.shape-card-preview-placeholder{border:1px dashed var(--line);width:56px;height:56px;color:var(--muted);text-transform:uppercase;border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.shape-card:hover{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.shape-card:hover{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.shape-card[aria-selected=true]{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.shape-card[aria-selected=true]{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.shape-card[aria-selected=true]{box-shadow:inset 0 0 0 1px var(--hiviz-deep)}.shape-detail-preview{justify-self:center;margin:0 auto 4px}.shape-picker-add-hint{text-align:left;flex:1;margin:0}.customer-picker.shape-picker .customer-picker-actions{align-items:center}.shape-card-name{font-size:13px;font-weight:700}.shape-card-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;justify-self:start;padding:2px 6px;font-size:10px;font-weight:700}.shape-detail{gap:10px;display:grid}.shape-quick-select{gap:8px;display:grid}.shape-quick-browse{justify-self:start}.shape-detail-back{color:var(--hiviz-deep);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12px;font-weight:700}.piece-dir-item{border:1px solid var(--line);background:var(--panel-soft);border-radius:6px;overflow:hidden}.piece-dir-item.active{border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.piece-dir-item.active{background:color-mix(in oklch,var(--hiviz) 10%,var(--stone-50))}}.piece-dir-row{grid-template-columns:auto 1fr auto;align-items:stretch;display:grid}.piece-dir-checkbox{border-right:1px solid var(--line);padding:0 8px}.piece-dir-select{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;gap:2px;padding:9px;display:grid}.piece-dir-select strong{font-size:13px}.piece-dir-select span{color:var(--muted);font-size:12px}.piece-dir-material{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.piece-dir-expand{border:0;border-left:1px solid var(--line);width:36px;color:var(--muted);cursor:pointer;background:0 0;font-size:16px;font-weight:700}.piece-dir-edges{border-top:1px solid var(--line);gap:4px;margin:0;padding:4px 9px 9px;list-style:none;display:grid}.piece-dir-edge{color:var(--muted);grid-template-columns:1fr auto;gap:8px;font-size:12px;display:grid}.job-stage-chip{border:1px solid var(--stage-colour,var(--stone-300));align-items:center;gap:6px;padding:2px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.job-stage-chip{border:1px solid color-mix(in oklch,var(--stage-colour,var(--stone-300)) 55%,var(--stone-200))}}.job-stage-chip{background:var(--stage-colour,var(--stone-300));border-radius:999px}@supports (color:color-mix(in lab,red,red)){.job-stage-chip{background:color-mix(in oklch,var(--stage-colour,var(--stone-300)) 12%,var(--stone-50))}}.job-stage-chip{color:var(--stone-700);white-space:nowrap;font-size:12px;font-weight:700;line-height:1.5}.job-stage-dot{background:var(--stage-colour,var(--stone-300));border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.board-columns{align-items:flex-start;gap:14px;margin-top:16px;padding-bottom:8px;display:flex;overflow-x:auto}.board-column{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;flex-direction:column;flex:0 0 280px;max-height:calc(100vh - 160px);display:flex}.board-column-header{border-bottom:1px solid var(--line);border-top:3px solid var(--stage-colour,var(--line-strong));border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:10px 12px;display:flex}.board-column-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:800;overflow:hidden}.board-column-count{background:var(--panel);border:1px solid var(--line);min-width:22px;color:var(--muted);text-align:center;border-radius:999px;flex-shrink:0;padding:0 6px;font-size:11px;font-weight:700}.board-column-cards{flex-direction:column;gap:8px;padding:10px;display:flex;overflow-y:auto}.board-column-empty{color:var(--quiet);margin:0;padding:8px 2px;font-size:12px}.board-card{border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);background:var(--panel);box-shadow:4px 4px 0 0 var(--ink);gap:8px;padding:10px 12px;display:grid}.board-card-link{color:var(--ink);font-size:13px;font-weight:800;text-decoration:none}.board-card-link:hover{color:var(--hiviz-deep)}.board-card-status{color:var(--muted);font-size:12px}.board-card-move{gap:6px;display:grid}.board-card-move-label{color:var(--stone-500);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.board-card-select{border:1px solid var(--stone-200);border-radius:var(--radius);background:var(--stone-50);width:100%;min-height:40px;color:var(--ink);padding:0 10px;font-size:13px;font-weight:600}.board-card-select:focus{outline:2px solid var(--hiviz);outline-offset:1px}.board-card-select:disabled{opacity:.6;cursor:progress}.board-card-error{font-size:11px}.board-card-error,.board-move-error{color:var(--destructive);font-weight:700}.board-move-error{border:1px solid var(--destructive);border-radius:var(--radius);margin:0 0 12px;padding:8px 12px;font-size:12px}.board-column-cards{min-height:96px}.board-card{cursor:grab}.board-card.is-dragging{opacity:.5;cursor:grabbing}.board-column.is-drag-over{outline:2px solid var(--hiviz);outline-offset:-2px;background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.board-column.is-drag-over{background:color-mix(in oklch,var(--hiviz) 8%,var(--panel-soft))}}.schedule-section{margin-top:24px}.schedule-section-title{margin:0 0 12px;font-size:15px;font-weight:800}.schedule-calendar-columns{align-items:flex-start;gap:14px;padding-bottom:8px;display:flex;overflow-x:auto}.schedule-day-column{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;flex-direction:column;flex:0 0 260px;max-height:calc(100vh - 220px);display:flex}.schedule-day-header{border-bottom:1px solid var(--line);border-top:3px solid var(--hiviz-deep);border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.schedule-day-label{font-size:13px;font-weight:800}.schedule-day-count{background:var(--panel);border:1px solid var(--line);min-width:22px;color:var(--muted);text-align:center;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.schedule-backlog-cards,.schedule-day-cards{flex-direction:column;gap:8px;padding:10px;display:flex;overflow-y:auto}.schedule-pull-queue{gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-pull-item{grid-template-columns:36px 1fr;align-items:start;gap:10px;display:grid}.schedule-pull-rank{background:var(--hiviz);min-height:44px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:900;display:flex}.schedule-card{border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);background:var(--panel);box-shadow:4px 4px 0 0 var(--ink);gap:6px;padding:10px 12px;display:grid}.schedule-card-head{align-items:center;gap:8px;display:flex}.schedule-card-rank{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:800}.schedule-card-link{color:var(--ink);font-size:13px;font-weight:800;text-decoration:none}.schedule-card-link:hover{color:var(--hiviz-deep)}.schedule-card-priority{color:var(--muted);font-size:11px;font-weight:700}.schedule-card-stage-unknown{color:var(--quiet);font-size:12px}.schedule-blocked-section{border:1px solid var(--line);background:var(--stone-300);border-radius:10px;padding:12px}@supports (color:color-mix(in lab,red,red)){.schedule-blocked-section{background:color-mix(in oklch,var(--stone-300) 28%,var(--panel-soft))}}.schedule-blocked-cards{gap:10px;display:grid}.schedule-blocked-card{gap:8px;display:grid}.schedule-blocked-reason{color:var(--muted);margin:0;font-size:12px;font-weight:700}.schedule-blocked-pull{border:1px solid var(--ink);background:var(--hiviz);color:var(--ink);cursor:pointer;border-radius:8px;justify-self:start;padding:6px 12px;font-size:12px;font-weight:800}.schedule-blocked-pull:disabled{opacity:.65;cursor:wait}.schedule-blocked-pull:hover:not(:disabled){background:var(--hiviz-deep);color:var(--panel)}.stage-signoff-banner{border:1px solid var(--hiviz-orange);border-radius:var(--radius);background:var(--hiviz-orange);margin:8px 0;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.stage-signoff-banner{background:color-mix(in oklch,var(--hiviz-orange) 12%,var(--stone-50))}}.stage-signoff-message{color:var(--ink);margin:0 0 10px;font-size:13px;font-weight:600;line-height:1.4}.stage-signoff-actions{flex-wrap:wrap;gap:8px;display:flex}.stage-signoff-confirm,.stage-signoff-dismiss{min-height:40px;font-size:13px}.stage-signoff-error{color:var(--destructive);margin:0 0 6px;font-size:12px;font-weight:700}.job-stage-move{margin-top:8px}.job-stage-move.compact .board-card-move-label{font-size:9px}.job-stage-move.compact .board-card-select{min-height:40px;font-size:12px}.settings-section{margin-top:24px}.settings-section-lead{color:var(--muted);margin:0 0 12px;font-size:14px}.settings-signoff-table{border-collapse:collapse;width:100%;font-size:14px}.settings-signoff-table td,.settings-signoff-table th{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.settings-hint,.settings-muted{color:var(--muted);font-size:14px}.settings-error{color:var(--hiviz-deep);font-size:14px}.settings-delivery-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:1rem 0;display:grid}.settings-delivery-charge-block,.settings-yard-block{margin-bottom:1rem}.settings-field{margin:.5rem 0;font-size:14px;display:block}.settings-field input,.settings-field select,.settings-field textarea{width:100%;max-width:40rem;margin-top:.25rem;display:block}.settings-field textarea{min-height:4.5rem;font:inherit;line-height:1.4}.settings-select{width:100%;max-width:320px;margin-top:.25rem;display:block}.settings-charging-mode{border:none;margin:.75rem 0 1rem;padding:0}.settings-charging-mode legend{margin-bottom:.5rem;padding:0}.settings-radio-row{align-items:flex-start;gap:.6rem;max-width:40rem;margin:.55rem 0;font-size:14px;display:flex}.settings-radio-row input[type=radio]{margin-top:.2rem}.settings-radio-label{font-weight:600;display:block}.settings-radio-help{margin-top:.15rem;display:block}.settings-yard-row{flex-wrap:wrap;gap:.75rem;display:flex}.settings-band-editor{margin-top:.75rem}.settings-band-editor input{width:100%;min-width:4rem}.settings-band-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.project-road-distance-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-road-distance-row input{flex:8rem;min-width:6rem}.terminate-buttons{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.terminate-buttons.compact{gap:.35rem}.terminate-buttons.compact .terminate-btn{min-height:36px;padding:0 10px;font-size:12px}.terminate-btn.cancel{border:1px solid var(--destructive);color:var(--destructive)}.terminate-dialog-backdrop{z-index:100;background:#0f121eb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.terminate-dialog{background:var(--panel);border-radius:var(--radius-xl,14px);min-width:320px;max-width:90vw;padding:1.25rem 1.35rem 1.35rem;position:relative;overflow:hidden;box-shadow:8px 8px #00000026}.terminate-dialog-tape{position:absolute;top:0;left:0;right:0}.terminate-dialog h2{font-family:var(--font-display);color:var(--ink);margin:1rem 0 .35rem;font-size:1.25rem;font-weight:700}.terminate-dialog-subtitle{color:var(--stone-500);margin:0;font-size:.9rem}.terminate-dialog-field{letter-spacing:.08em;text-transform:uppercase;color:var(--stone-700);flex-direction:column;gap:.35rem;margin:1rem 0;font-size:10px;font-weight:700;display:flex}.terminate-dialog-field select{border:1px solid var(--stone-200);border-radius:var(--radius);background:var(--stone-50);letter-spacing:0;text-transform:none;min-height:44px;color:var(--ink);padding:0 10px;font-size:14px;font-weight:500}.terminate-dialog-field select:focus{outline:2px solid var(--hiviz);outline-offset:1px}.terminate-dialog-error{color:var(--destructive);margin:.75rem 0 0;font-size:.9rem;font-weight:600}.terminate-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.terminate-dialog-cancel,.terminate-dialog-confirm,.terminate-dialog-danger{min-height:40px}.job-section-title{font-family:var(--font-display);color:var(--ink);margin-top:2rem;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.job-section-subtitle{margin-top:1rem;font-size:.95rem}.job-termination-banner{background:var(--status-go)}@supports (color:color-mix(in lab,red,red)){.job-termination-banner{background:color-mix(in oklch,var(--status-go) 12%,var(--stone-50))}}.job-termination-banner{border-left:4px solid var(--status-go);border-radius:0 var(--radius) var(--radius) 0;margin:1rem 0;padding:.75rem 1rem;font-size:.95rem}.job-termination-meta{color:var(--stone-500);font-size:.85rem}.job-transition-history{margin-bottom:1.5rem}.job-transition-list{border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);margin:.75rem 0 0;padding:0;list-style:none;overflow:hidden}.job-transition-item{border-bottom:1px solid var(--stone-200);background:var(--panel);grid-template-columns:minmax(9rem,auto) 1fr;align-items:baseline;gap:.35rem 1rem;padding:.65rem 1rem;font-size:.9rem;display:grid}.job-transition-item:last-child{border-bottom:none}.job-transition-item:hover{background:var(--stone-50)}.job-transition-when{color:var(--stone-500);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.job-transition-move{color:var(--ink);font-weight:600}.job-transition-signoff{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem;display:flex}.job-transition-signoff-meta{color:var(--stone-500);font-variant-numeric:tabular-nums;font-size:.8rem}.job-transition-note,.job-transition-reason{color:var(--stone-700);grid-column:1/-1;font-size:.85rem}.job-transition-reason{font-weight:600}.job-transition-note{color:var(--stone-500);font-style:italic}.jobs-index-hint{color:var(--stone-500);margin:1rem 0;font-size:14px}.jobs-index-error{color:var(--destructive);font-weight:600}.jobs-index-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:14px}.jobs-index-table thead th{background:var(--ink);color:var(--stone-50);letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:10px 12px;font-size:10px;font-weight:700}.jobs-index-table tbody td{border-bottom:1px solid var(--stone-200);background:var(--panel);color:var(--ink);padding:10px 12px}.jobs-index-numeric{font-variant-numeric:tabular-nums}.jobs-index-table tbody tr:hover td{background:var(--stone-50)}.jobs-index-link{color:var(--ink);font-weight:700;text-decoration:none}.jobs-index-link:hover{color:var(--hiviz-deep)}.jobs-index-status{color:var(--stone-700);font-size:13px}.jobs-ledger-termination{color:var(--stone-500);font-variant-numeric:tabular-nums;font-size:13px}.jobs-back-link{color:var(--stone-700);align-items:center;margin-bottom:1rem;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.jobs-back-link:hover{color:var(--hiviz-deep)}.job-parts-panel{margin-top:.5rem}.job-parts-summary{color:var(--stone-500);margin:0 0 .5rem;font-size:14px}.piece-process-checklist{border:1px solid var(--stone-200);background:var(--stone-50,#fafaf9);border-radius:8px;margin:.75rem 0 1rem;padding:.75rem 1rem}.piece-process-checklist-title{margin:0 0 .75rem;font-size:14px;font-weight:700}.piece-process-checklist-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.piece-process-checklist-item{gap:.5rem;display:grid}.piece-process-checklist-row{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.piece-process-checklist-name{font-weight:600}.piece-process-checklist-reason{color:var(--stone-600);margin:0;font-size:13px}.piece-process-checklist-actions{flex-wrap:wrap;gap:.5rem;display:flex}.piece-process-checklist-unsuccessful{gap:.5rem;max-width:320px;display:grid}.piece-process-checklist-reason-label{color:var(--stone-600);font-size:12px;font-weight:600}.piece-process-checklist-reason-select{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:8px 10px;font-size:14px}.job-timeline-header{border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);background:var(--panel);box-shadow:4px 4px 0 0 var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem 2rem;padding:1.25rem 1.35rem;display:flex}.job-timeline-head-main{gap:.35rem;min-width:0;display:grid}.job-timeline-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--stone-500);font-size:10px;font-weight:700}.job-timeline-identifier{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:2rem;font-weight:700;line-height:1.1}.job-timeline-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.job-timeline-status{color:var(--stone-700);font-size:13px;font-weight:600}.job-timeline-total{text-align:right;gap:.15rem;display:grid}.job-timeline-total-label{letter-spacing:.08em;text-transform:uppercase;color:var(--stone-500);font-size:10px;font-weight:700}.job-timeline-total-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.75rem;font-weight:700;line-height:1.1}.job-timeline-total-hint{color:var(--stone-500);font-size:11px}.job-timeline-empty,.stage-timeline-note{color:var(--stone-500);margin:.75rem 0;font-size:14px}.stage-timeline{margin-top:1.5rem}.stage-timeline-rail{gap:0;margin:0;padding:0;list-style:none;display:grid}.stage-timeline-item{grid-template-columns:28px 1fr;gap:0 1rem;min-height:3.5rem;display:grid}.stage-timeline-marker{flex-direction:column;align-items:center;padding-top:.35rem;display:flex}.stage-timeline-dot{background:var(--stage-colour,var(--hiviz));border:2px solid var(--ink);border-radius:50%;flex-shrink:0;width:12px;height:12px;display:block}.stage-timeline-dot.is-unstamped{background:var(--stone-100);border-color:var(--stone-300)}.stage-timeline-connector{background:var(--stone-200);flex:1;width:2px;min-height:1.5rem;margin-top:4px}.stage-timeline-body{border-bottom:1px solid var(--stone-200);gap:.2rem;padding:.25rem 0 1rem;display:grid}.stage-timeline-item:last-child .stage-timeline-body{border-bottom:none}.stage-timeline-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;display:flex}.stage-timeline-name{color:var(--ink);font-size:.95rem;font-weight:700}.stage-timeline-when{color:var(--stone-500);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.stage-timeline-unstamped{color:var(--stone-300);font-style:italic}.stage-timeline-actor{color:var(--stone-700);font-size:.85rem}.stage-timeline-gap{letter-spacing:.04em;text-transform:uppercase;color:var(--hiviz-orange);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.job-detail-tabs{border-bottom:1px solid var(--stone-200);gap:.25rem;margin:1.25rem 0 1rem;display:flex}.job-detail-tab{cursor:pointer;min-height:40px;color:var(--stone-500);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:color .2s cubic-bezier(.2,.8,.2,1)}.job-detail-tab:hover{color:var(--ink);background:var(--stone-50)}.job-detail-tab-active{color:var(--ink);border-bottom-color:var(--hiviz)}.jobs-ledger-more{cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.job-cutcard-blocked{background:var(--hiviz-orange)}@supports (color:color-mix(in lab,red,red)){.job-cutcard-blocked{background:color-mix(in oklch,var(--hiviz-orange) 12%,var(--stone-50))}}.job-cutcard-blocked{border:1px solid var(--hiviz-orange);border-radius:var(--radius);padding:.75rem 1rem}.job-cutcard-blockers{margin:.5rem 0 0;padding-left:1.25rem}.job-cutcard-panel{margin-top:.5rem}.job-cutcard-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.job-cutcard-summary{margin:.25rem 0 0;font-size:.95rem}.job-cutcard-toolbar-actions{flex-shrink:0;gap:.5rem;display:flex}.job-cutcard-dxf-btn,.job-cutcard-print-btn{border:1px solid var(--border,#e5e7eb);cursor:pointer;background:#fff;border-radius:6px;padding:.45rem .9rem;font-size:.9rem}.job-cutcard-dxf-btn:disabled{opacity:.55;cursor:not-allowed}.job-cutcard-dxf-error{margin:0 0 .75rem;font-size:.9rem}.job-cutcard-blocked-summary{background:#fffbeb;border:1px solid #f59e0b;border-radius:6px;margin-bottom:1rem;padding:.65rem .9rem;font-size:.9rem}.job-cutcard-piece-list{flex-direction:column;gap:1rem;display:flex}.job-cutcard-piece-card{border:1px solid var(--border,#e5e7eb);break-inside:avoid;background:#fff;border-radius:8px;padding:1rem 1.1rem}.job-cutcard-piece-card-nested{border-left:3px solid var(--border,#d1d5db);margin-left:1.5rem}.job-cutcard-piece-card-blocked{background:#fffdf8}.job-cutcard-piece-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.job-cutcard-piece-header h3{margin:0;font-size:1.05rem}.job-cutcard-piece-ref{color:#6b7280;margin-top:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;display:block}.job-cutcard-piece-meta{color:var(--muted,#6b7280);margin-top:.25rem;font-size:.85rem;display:block}.job-cutcard-piece-fields{gap:.35rem;margin:.75rem 0 1rem;display:grid}.job-cutcard-piece-fields dt{text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#6b7280);font-size:.75rem}.job-cutcard-piece-fields dd{margin:0;font-size:.95rem}.job-cutcard-piece-card h4{text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#6b7280);margin:.75rem 0 .35rem;font-size:.85rem}.job-cutcard-cutouts,.job-cutcard-route{margin:0;padding-left:1.25rem}.job-cutcard-edges-table{font-size:.85rem}@media print{.dashboard-header,.dashboard-nav,.job-cutcard-print-btn,.job-cutcard-toolbar,.job-detail-tabs,.jobs-back-link,.terminate-job-panel{display:none!important}.job-cutcard-piece-card{page-break-inside:avoid;border-color:#000}.job-cutcard-panel{margin:0}}.hiviz-mark{background-color:var(--hiviz);color:oklch(16.5% .025 255);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.2em}.hiviz-tape{background-image:linear-gradient(180deg,var(--hiviz) 0 14%,transparent 14% 18%,var(--reflective) 18% 36%,transparent 36% 40%,var(--reflective) 40% 58%,transparent 58% 62%,var(--hiviz) 62% 76%,transparent 76% 80%,var(--hiviz-orange) 80% 100%),repeating-linear-gradient(135deg,#0000002e 0 6px,transparent 6px 12px);background-blend-mode:multiply,normal;height:14px}.hiviz-stitch{background-image:repeating-linear-gradient(90deg,var(--ink) 0 8px,transparent 8px 14px)}.hiviz-btn{border-radius:var(--radius);min-height:40px;font-family:var(--font-sans);border:1px solid #0000;padding:0 14px;font-size:14px;font-weight:600;transition:transform .12s linear,box-shadow .12s linear,background-color .2s cubic-bezier(.2,.8,.2,1)}.hiviz-btn--primary{background:var(--hiviz);color:oklch(16.5% .025 255);box-shadow:4px 4px oklch(16.5% .025 255)}.hiviz-btn--primary:hover:not(:disabled){background:var(--hiviz-deep);box-shadow:2px 2px oklch(16.5% .025 255)}.hiviz-btn--primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 oklch(16.5% .025 255)}.hiviz-btn--secondary{color:var(--stone-50);border-color:var(--stone-700);background:oklch(16.5% .025 255)}.hiviz-btn--ghost{color:var(--ink);background:0 0}.hiviz-btn--ghost:hover:not(:disabled){background:var(--stone-100)}.hiviz-btn--destructive{background:var(--destructive);color:#fff}.hiviz-btn--go{background:var(--status-go);color:oklch(16.5% .025 255);box-shadow:4px 4px oklch(16.5% .025 255)}.hiviz-btn--go:hover:not(:disabled){filter:brightness(.95);box-shadow:2px 2px oklch(16.5% .025 255)}.hiviz-btn--go:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 oklch(16.5% .025 255)}.status-pill{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.status-pill--draft{background:var(--stone-100);color:var(--stone-700)}.status-pill--in-progress{background:var(--hiviz-orange);color:oklch(16.5% .025 255)}.status-pill--sent{background:var(--hiviz);color:oklch(16.5% .025 255)}.status-pill--approved{background:var(--status-go);color:oklch(16.5% .025 255)}.status-pill--rejected{background:var(--destructive);color:#fff}.customers-directory-search{max-width:420px;color:var(--muted);gap:6px;margin-bottom:16px;font-size:12px;font-weight:600;display:grid}.customers-directory-search input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px}.customers-directory{margin-top:16px}.customers-directory-table{border-collapse:collapse;width:100%;font-size:14px}.customers-directory-table thead th{color:var(--stone-50);letter-spacing:.08em;text-transform:uppercase;text-align:left;background:oklch(16.5% .025 255);padding:10px 12px;font-size:10px;font-weight:700}.customers-directory-table tbody td{border-bottom:1px solid var(--stone-200);background:var(--panel);padding:10px 12px}.customers-directory-table tbody tr:hover td{background:var(--stone-50)}.customers-directory-type{color:var(--stone-500);font-size:12px;font-weight:600}.customers-directory-count{color:var(--muted);margin:10px 0 0;font-size:12px}.customers-directory-hint{color:var(--muted);margin-top:16px;font-size:14px}.customers-directory-error{color:var(--hiviz-deep)}.room-panel{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:0;display:flex}.room-panel-head{flex-shrink:0;align-items:baseline;gap:6px;display:flex}.room-panel-head .section-title{margin:0;font-size:13px}.room-panel-count{color:var(--muted);font-size:12px;font-weight:700}.room-card-list{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.room-card{border:1px solid var(--line);background:var(--panel-soft);box-shadow:0 1px 0 var(--ink);border-radius:8px;align-items:center;gap:4px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.room-card{box-shadow:0 1px 0 color-mix(in oklch,var(--ink) 6%,transparent)}}.room-card{max-width:100%;padding:4px 6px 4px 10px;overflow:hidden}.room-card-active{border-color:var(--hiviz-deep);box-shadow:0 0 0 1px var(--hiviz),0 1px 0 var(--hiviz-deep)}@supports (color:color-mix(in lab,red,red)){.room-card-active{box-shadow:0 0 0 1px color-mix(in oklch,var(--hiviz) 40%,transparent),0 1px 0 color-mix(in oklch,var(--hiviz-deep) 18%,transparent)}}.room-card-active{background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.room-card-active{background:color-mix(in oklch,var(--hiviz) 8%,var(--panel-soft))}}.room-card-main{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.room-card-main:hover{background:0 0}.room-card-name{font-size:13px;font-weight:700;line-height:1.2}.room-card-meta{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:600}.room-card-actions{flex-direction:row;justify-content:center;align-items:center;gap:2px;padding:0 2px 0 0;display:flex}.room-card-action{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.room-card-action:hover:not(:disabled){color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.room-card-action:hover:not(:disabled){background:color-mix(in oklch,var(--ink) 6%,transparent)}}.room-card-action-delete:hover:not(:disabled){color:var(--hiviz-deep)}.room-card-action:disabled{opacity:.35;cursor:not-allowed}.room-add-button{white-space:nowrap;flex-shrink:0;width:auto}.room-add-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.template-apply-picker{flex-shrink:0;position:relative}.template-apply-picker-trigger{white-space:nowrap}.template-apply-picker-menu{z-index:10000;border:1px solid var(--line-strong);background:var(--panel);border-radius:8px;min-width:220px;max-width:320px;margin:0;padding:4px;list-style:none;box-shadow:0 8px 24px #0000002e}.template-apply-picker-menu-portal{max-height:min(320px,100vh - 24px);overflow-y:auto}.template-apply-picker-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:13px;display:block}.template-apply-picker-item:focus-visible,.template-apply-picker-item:hover{background:var(--panel-soft,#0000000f);outline:none}.template-apply-picker-empty{color:var(--muted);padding:8px 10px;font-size:12px}.template-creator-kind{border:0;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0;padding:0;display:flex}.template-creator-kind legend{color:var(--muted);padding:0;font-size:11px;font-weight:600}.template-creator-kind-option{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.templates-index-section{margin-top:24px}.templates-index-section-title{color:var(--ink);margin:0 0 12px;font-size:1.1rem;font-weight:700}.templates-index-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.templates-index-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:8px;padding:14px 16px;display:grid}.templates-index-card-just-saved{border-color:var(--accent,#1f6b4a);box-shadow:0 0 0 1px var(--accent,#1f6b4a)}.templates-index-saved-banner{background:var(--accent,#1f6b4a);border-radius:8px;margin:0 0 12px;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.templates-index-saved-banner{background:color-mix(in srgb,var(--accent,#1f6b4a) 12%,transparent)}}.templates-index-saved-banner{color:var(--ink);font-size:14px;font-weight:600}.templates-index-card-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.templates-index-card-title{margin:0;font-size:15px;font-weight:700}.templates-index-card-meta{color:var(--muted);white-space:nowrap;font-size:12px}.templates-index-card-summary{color:var(--ink);margin:0;font-size:13px}.templates-index-piece-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.templates-index-piece-item{font-size:13px}.templates-index-piece-label{font-weight:600}.templates-index-piece-children{color:var(--muted);margin:2px 0 0;padding-left:16px;font-size:12px}.templates-index-card-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.templates-index-card-actions .secondary-button{height:30px;padding:0 10px;font-size:12px;text-decoration:none}.room-dialog-overlay{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14141457;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.room-dialog-panel{border:1px solid var(--line-strong);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);border-radius:10px;gap:12px;padding:20px;display:grid}.room-dialog-panel-confirm{width:min(400px,100%)}.room-dialog-header{gap:4px;display:grid}.room-dialog-header strong{font-size:16px}.room-dialog-header span{color:var(--muted);font-size:12px}.room-dialog-error{color:var(--hiviz-deep);margin:0;font-size:13px}.room-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.room-dialog-delete{border-color:var(--hiviz-deep)}.room-dialog-delete,.room-dialog-delete:hover:not(:disabled){background:var(--hiviz-deep)}@supports (color:color-mix(in lab,red,red)){.room-dialog-delete:hover:not(:disabled){background:color-mix(in oklch,var(--hiviz-deep) 85%,var(--ink))}}.room-dialog-hint{color:var(--muted);margin:0;font-size:13px}.rect-edge-length-chooser-overlay{z-index:46;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14141457;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rect-edge-length-chooser-panel{border:1px solid var(--line-strong);background:var(--panel);width:min(380px,100%);box-shadow:var(--shadow);border-radius:10px;gap:14px;padding:18px;display:grid}.rect-edge-length-chooser-header{gap:4px;display:grid}.rect-edge-length-chooser-header strong{font-size:15px}.rect-edge-length-chooser-header span{color:var(--muted);font-size:12px}.rect-edge-length-chooser-options{gap:8px;display:grid}.rect-edge-length-chooser-option{border:1px solid var(--line-strong);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin:0;padding:10px 12px;display:grid}.rect-edge-length-chooser-option.selected{border-color:var(--hiviz,#c4a35a);background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.rect-edge-length-chooser-option.selected{background:color-mix(in oklch,var(--panel) 88%,var(--hiviz,#c4a35a))}}.rect-edge-length-chooser-option span{gap:2px;display:grid}.rect-edge-length-chooser-option strong{font-size:13px}.rect-edge-length-chooser-option em{color:var(--muted);font-size:11px;font-style:normal}.rect-edge-length-chooser-remember{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.rect-edge-length-chooser-actions{justify-content:flex-end;gap:8px;display:flex}.room-type-picker-panel{width:min(460px,100%)}.room-type-picker-list{gap:6px;max-height:min(320px,50vh);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.room-type-picker-option{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600}.room-type-picker-option:hover:not(:disabled){border-color:var(--hiviz-deep);background:var(--hiviz)}@supports (color:color-mix(in lab,red,red)){.room-type-picker-option:hover:not(:disabled){background:color-mix(in oklch,var(--hiviz) 8%,var(--panel-soft))}}.room-type-picker-back,.room-type-picker-custom{width:100%}.room-duplicate-actions{gap:8px;display:grid}.add-piece-room-field{width:100%}.shape-picker-footer{flex-wrap:wrap;align-items:flex-end}.piece-room-group{gap:8px;margin-bottom:12px;display:grid}.piece-room-heading{border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;margin:0;padding:6px 0 2px;font-size:12px;font-weight:800;display:flex}.piece-room-heading-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.piece-room-select{flex-shrink:0}.piece-room-count{text-transform:none;letter-spacing:normal;font-size:11px;font-weight:700}.piece-room-empty{color:var(--muted);margin:0;padding:4px 0 8px;font-size:12px;font-style:italic}.room-picker-new-option{color:var(--hiviz-deep);font-weight:700}.project-tab-panel{box-sizing:border-box;display:block}.project-quote-body,.project-tab-panel,.quote-shell{width:100%;min-width:0}.quote-shell{max-width:var(--k-shell-max);padding-inline:24px;padding-block:var(--k-space-4) var(--k-space-6);box-sizing:border-box;margin-inline:auto;display:block}.quote-shell-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,24px);width:100%;display:grid}.quote-shell-summary{order:-1;width:100%;min-width:0}@media (min-width:1024px){.quote-shell-layout--with-summary{grid-template-columns:minmax(0,1fr) 320px}.quote-shell-summary{top:var(--k-sticky-top);order:0;align-self:start;position:sticky}}@media (min-width:1440px){.quote-shell-layout--with-summary{grid-template-columns:minmax(0,1fr) 360px}}.quote-lifecycle-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.quote-mobile-summary{display:none}@media (max-width:767px){.quote-mobile-summary{z-index:15;background:var(--ink);color:var(--stone-50);border-top:2px solid var(--hiviz);align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;bottom:0}.quote-mobile-summary__label{letter-spacing:.14em;text-transform:uppercase;color:var(--stone-300);font-size:10px}.quote-mobile-summary__total{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--hiviz);margin-left:auto;font-size:18px;font-weight:700}.quote-mobile-summary__action{flex-shrink:0}.app-shell:has(.cad-editor-layout) .quote-mobile-summary,.cad-focus-mode .quote-mobile-summary{display:none}.workspace-body{padding-bottom:8px}}.project-tab-customer-field{position:relative}.project-tab-address-suggestions,.project-tab-customer-suggestions{z-index:20;border:1px solid var(--border,#d0d5dd);background:var(--surface,#fff);border-radius:6px;max-height:220px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 20px #00000014}.project-tab-customer-suggestions li{margin:0}.project-tab-customer-suggestion{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;display:flex}.project-tab-customer-suggestion:focus-visible,.project-tab-customer-suggestion:hover{background:var(--ink,#111)}@supports (color:color-mix(in lab,red,red)){.project-tab-customer-suggestion:focus-visible,.project-tab-customer-suggestion:hover{background:color-mix(in oklch,var(--ink,#111) 6%,transparent)}}.project-tab-customer-suggestion:focus-visible,.project-tab-customer-suggestion:hover{outline:none}.project-tab-customer-suggestion-type{color:var(--muted);text-transform:capitalize;font-size:12px}.project-tab-customer-suggestion-hint{color:var(--muted);padding:8px 12px;font-size:12px}.project-tab-address-row{grid-template-columns:minmax(0,1fr) minmax(0,var(--k-field-short,180px)) minmax(0,var(--k-field-short,180px));gap:12px 16px;display:grid}.project-tab-geocode-dl{gap:8px;margin:0;display:grid}.project-tab-geocode-dl div{grid-template-columns:120px 1fr;gap:8px;display:grid}.project-tab-geocode-dl dt{color:var(--muted);margin:0;font-size:12px}.project-tab-geocode-dl dd{margin:0;font-size:14px}.project-tab-hint{color:var(--muted);margin:0;font-size:12px}.project-tab-warn{background:var(--warn,#c68a00);border-radius:6px;margin:0;padding:8px 10px}@supports (color:color-mix(in lab,red,red)){.project-tab-warn{background:color-mix(in oklch,var(--warn,#c68a00) 12%,transparent)}}.project-tab-warn{color:var(--ink);font-size:12px}.project-tab-error{color:var(--danger,#b42318);margin:0;font-size:13px}.project-tab-actions{justify-content:flex-start;display:flex}.panel-section-hint{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.45}.pricing-page{max-width:1080px}.pricing-tabs{border-bottom:1px solid var(--line);gap:.25rem;margin:1.25rem 0 1rem;display:flex}.pricing-tab{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;font-size:.95rem;font-weight:600}.pricing-tab:hover{color:var(--ink);background:var(--panel-soft)}.pricing-tab-active{color:var(--ink);border-bottom-color:var(--hiviz,var(--accent,#c4a35a))}.rate-card-drilldown{gap:4px;margin-top:8px;display:grid}.rate-card-supplier{border:none;margin:0;padding:0}.rate-card-drill-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);width:100%;min-height:40px;color:var(--ink);cursor:pointer;text-align:left;font:inherit;align-items:center;gap:10px;padding:8px 12px;display:flex}.rate-card-drill-toggle:hover{background:var(--panel,var(--panel-soft))}.rate-card-supplier-toggle{font-weight:700}.rate-card-collection-toggle{background:0 0;margin-top:6px;font-weight:600}.rate-card-drill-chevron{width:1rem;color:var(--muted);font-variant-numeric:tabular-nums;display:inline-block}.rate-card-drill-label{flex:1}.rate-card-drill-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.rate-card-supplier-panel{border-left:2px solid var(--line);margin:6px 0 12px 12px;padding-left:8px}.rate-card-collection{margin:4px 0 12px}.rate-card-collection-panel{margin-top:8px}.rate-card-collection-heading{color:var(--ink-soft);margin:0 0 8px;font-size:.95rem;font-weight:700}.rate-card-code,.rate-card-finish{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.rate-card-effective-sell{font-variant-numeric:tabular-nums;font-weight:600}.rate-card-markup-hint{color:var(--muted);font-size:12px}.rate-card-setup{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:14px 16px;display:flex}.rate-card-toolbar{flex-wrap:wrap;align-items:end;gap:16px;margin:20px 0 4px;display:flex}.rate-card-search{min-width:260px;color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.rate-card-search input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px}.rate-card-missing-toggle{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;padding:10px 0;font-size:13px;font-weight:600;display:inline-flex}.rate-card-summary{color:var(--ink-soft);margin-left:auto;font-size:13px;font-weight:700}.rate-card-empty{color:var(--muted);margin:16px 0;font-style:italic}.rate-card-section{margin:20px 0}.rate-card-section h2{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:0 0 8px;font-size:1.05rem;font-weight:700}.rate-card-table{border-collapse:collapse;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:100%;font-size:14px}.rate-card-table caption{caption-side:top;letter-spacing:.04em;padding:6px 0;font-weight:800}.rate-card-table caption,.rate-card-table th{text-align:left;text-transform:uppercase;color:var(--muted);font-size:12px}.rate-card-table th{letter-spacing:.03em;border-bottom:1px solid var(--line-strong);background:var(--panel-soft);padding:8px 12px;font-weight:700}.rate-card-table td{border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;padding:8px 12px}.rate-card-table tr:last-child td{border-bottom:none}.rate-card-row-required td{background:var(--hiviz-orange)}@supports (color:color-mix(in lab,red,red)){.rate-card-row-required td{background:color-mix(in oklch,var(--hiviz-orange) 7%,var(--panel))}}.identity-list-expand{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.identity-list-expand:hover .identity-list-name{text-decoration:underline}.identity-list-chevron{color:var(--muted);width:1em;font-size:12px}.identity-list-coverage{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.identity-list-row-required td{background:var(--hiviz-orange)}@supports (color:color-mix(in lab,red,red)){.identity-list-row-required td{background:color-mix(in oklch,var(--hiviz-orange) 7%,var(--panel))}}.identity-grid-expand-row td{background:var(--panel);padding:0 0 16px}@supports (color:color-mix(in lab,red,red)){.identity-grid-expand-row td{background:color-mix(in oklch,var(--panel) 92%,var(--ink))}}.identity-pricing-grid{padding:12px 8px 4px}.identity-grid-empty-stock{color:var(--muted);margin:8px 4px;font-size:14px}.identity-grid-table td,.identity-grid-table th{vertical-align:top}.identity-grid-family{white-space:nowrap;font-weight:600}.identity-grid-cell{min-width:140px}.identity-grid-cell-inherited{background:var(--color-surface-muted,#f5f5f4)}@supports (color:color-mix(in lab,red,red)){.identity-grid-cell-inherited{background:color-mix(in srgb,var(--color-surface-muted,#f5f5f4) 80%,transparent)}}.rate-inherited-badge{letter-spacing:.02em;text-transform:lowercase;color:var(--color-text-muted,#78716c);margin-bottom:.25rem;font-size:.7rem;font-weight:600;display:inline-block}.identity-grid-cell-required{background:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.identity-grid-cell-required{background:color-mix(in oklch,var(--destructive) 6%,var(--panel))}}.identity-grid-cell-derived{color:var(--muted)}.identity-grid-derived-value{color:var(--ink);font-weight:700;display:block}.identity-grid-derived-formula{margin-top:2px;font-size:11px;display:block}.identity-grid-cell-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.identity-grid-input{width:100%;max-width:120px}.rate-card-item{font-weight:600}.rate-card-suggested,.rate-card-unit{color:var(--muted);white-space:nowrap}.rate-required-badge{border:1px solid var(--destructive);border-radius:999px;padding:2px 8px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.rate-required-badge{border:1px solid color-mix(in oklch,var(--destructive) 45%,transparent)}}.rate-required-badge{background:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.rate-required-badge{background:color-mix(in oklch,var(--destructive) 12%,transparent)}}.rate-required-badge{color:var(--destructive);letter-spacing:.05em;white-space:nowrap;font-size:11px;font-weight:800}.rate-card-set{border:1px solid var(--status-go);border-radius:999px;padding:2px 8px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.rate-card-set{border:1px solid color-mix(in oklch,var(--status-go) 45%,transparent)}}.rate-card-set{background:var(--status-go)}@supports (color:color-mix(in lab,red,red)){.rate-card-set{background:color-mix(in oklch,var(--status-go) 12%,transparent)}}.rate-card-set{color:oklch(45% .14 145);letter-spacing:.05em;font-size:11px;font-weight:800}.rate-card-input{border:1px solid var(--line);background:var(--panel);width:110px;color:var(--ink);text-align:right;border-radius:8px;padding:8px 10px;font-size:14px}.rate-card-input:focus-visible{outline:2px solid var(--hiviz-deep);outline-offset:1px}.rate-card-save{white-space:nowrap}.rate-card-save-button{height:32px;min-height:32px;box-shadow:2px 2px 0 0 var(--ink);padding:0 12px}.rate-card-save-button:disabled{opacity:.45;box-shadow:none}.rate-card-remove-button{border:1px solid var(--line);height:32px;min-height:32px;color:var(--ink);cursor:pointer;background:0 0;margin-left:8px;padding:0 10px;font-size:12px;font-weight:700}.rate-card-remove-button:disabled{opacity:.45;cursor:not-allowed}.rate-card-add-service{margin-top:24px}.rate-card-add-hint{color:var(--muted);margin:0 0 12px;font-size:14px}.rate-card-add-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.rate-card-add-form label{flex-direction:column;gap:4px;font-size:12px;font-weight:700;display:flex}.rate-card-add-form input,.rate-card-add-form select{border:1px solid var(--line);background:var(--panel);min-width:140px;height:36px;padding:0 10px}.rate-card-saved{color:var(--status-go);margin-left:8px;font-size:12px;font-weight:800}.rate-card-error{color:var(--destructive);margin-left:8px;font-size:12px;font-weight:700}.rate-import-launch{margin:16px 0}.rate-import-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:16px}.rate-import-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.rate-import-header h2{margin:0}.rate-import-columns{flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0;display:flex}.rate-import-column{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}.rate-import-column select,.rate-import-panel select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;max-width:320px;padding:8px 10px;font-size:13px}.rate-import-filename{color:var(--muted);padding-bottom:10px;font-size:12px;font-weight:600}.rate-import-summary{color:var(--ink-soft);font-size:13px;font-weight:700}.rate-import-table{margin:8px 0 16px}.rate-import-rownum{color:var(--muted);white-space:nowrap}.rate-import-reason{color:var(--muted);font-size:13px}.rate-import-success{border:1px solid var(--status-go);padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.rate-import-success{border:1px solid color-mix(in oklch,var(--status-go) 45%,transparent)}}.rate-import-success{background:var(--status-go);border-radius:8px}@supports (color:color-mix(in lab,red,red)){.rate-import-success{background:color-mix(in oklch,var(--status-go) 10%,transparent)}}.rate-import-success{color:oklch(45% .14 145);font-size:13px;font-weight:700}.rate-import-progress{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:flex-start;gap:12px;margin-top:12px;padding:12px;display:flex}@supports (color:color-mix(in lab,red,red)){.rate-import-progress{background:color-mix(in oklch,var(--panel) 92%,var(--ink))}}.rate-import-progress p{margin:0;font-size:14px;font-weight:600}.rate-import-elapsed{color:var(--ink);margin-top:4px!important;font-size:12px!important;font-weight:400!important}@supports (color:color-mix(in lab,red,red)){.rate-import-elapsed{color:color-mix(in oklch,var(--ink) 65%,transparent)}}.rate-import-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.qpp{color:var(--ink);gap:16px;padding:4px 0 24px;display:grid}.qpp-unavailable{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:10px;padding:20px 18px;display:grid}.qpp-link{color:var(--ink);text-underline-offset:2px;width:fit-content;font-weight:600;text-decoration:underline}.qpp-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:end;gap:16px;padding:20px;display:grid}@media (max-width:1100px){.qpp-header{grid-template-columns:repeat(3,minmax(0,1fr))}.qpp-total-cell{grid-column:1/-1}}@media (max-width:720px){.qpp-header{grid-template-columns:repeat(2,1fr)}}.qpp-k{letter-spacing:.14em;text-transform:uppercase;color:var(--stone-500);margin-bottom:4px;font-size:10px;display:block}.qpp-v{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.qpp-total-cell{text-align:right}.qpp-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;background-image:linear-gradient(180deg,transparent 62%,var(--hiviz) 62% 92%,transparent 92%);background-repeat:no-repeat;padding:0 6px;font-size:32px;font-weight:700;display:inline-block}.qpp-sub{color:var(--stone-500);margin-top:6px;font-size:11px;display:block}.qpp-toolbar{border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(180deg,var(--panel),var(--stone-50));border:1px solid var(--line);border-bottom:none;align-items:center;gap:12px;padding:14px 18px;display:flex}.qpp-toolbar h2{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.qpp-pivot{border-bottom:none;margin-left:auto}.qpp-groups{border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--panel);overflow:hidden}.qpp-group+.qpp-group{border-top:1px solid var(--line)}.qpp-group-head{background:var(--stone-50);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 18px;display:grid}.qpp-group-name{color:var(--ink);font-size:20px;font-weight:700}input.qpp-group-name{width:100%;min-width:0;max-width:28rem;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;margin:-2px -6px;padding:2px 6px;font-size:20px;font-weight:700}input.qpp-group-name:focus,input.qpp-group-name:hover{border-color:var(--line);outline:2px solid var(--hiviz);outline-offset:1px;background:#fff}.qpp-group-total{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;font-family:var(--mono)}.qpp-piece+.qpp-piece{border-top:1px dashed var(--line)}.qpp-piece-label-slot{padding:10px 18px 0}.qpp-piece-label{color:var(--ink);padding:10px 18px 0;font-size:14px;font-weight:600}input.qpp-piece-label{width:100%;min-width:0;max-width:24rem;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;margin:0;padding:2px 6px;font-size:14px;font-weight:600;display:block}input.qpp-piece-label:focus,input.qpp-piece-label:hover{border-color:var(--line);outline:2px solid var(--hiviz);outline-offset:1px;background:#fff}.qpp-line{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 120px 140px 120px;align-items:center;gap:12px;padding:10px 18px 10px 40px;font-size:13px;display:grid}@media (max-width:720px){.qpp-line{grid-template-columns:1fr auto;padding-left:24px}.qpp-line-qty,.qpp-line-rate{display:none}}.qpp-line-label{min-width:0;font-weight:400}.qpp-line-qty,.qpp-line-rate{color:var(--stone-500);font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:400}.qpp-line-amt{font-variant-numeric:tabular-nums;text-align:right;font-weight:400}.qpp-line--rate-required{background:var(--hiviz-orange,#e67e22)}@supports (color:color-mix(in lab,red,red)){.qpp-line--rate-required{background:color-mix(in srgb,var(--hiviz-orange,#e67e22) 12%,transparent)}}.qpp-line-rate-fill{justify-content:flex-end;align-items:center;gap:6px;display:flex}.qpp-line-rate-edit{color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;cursor:pointer;background:0 0;border:none;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@supports (color:color-mix(in lab,red,red)){.qpp-line-rate-edit{-webkit-text-decoration:underline dotted color-mix(in srgb,currentColor 45%,transparent);text-decoration:underline dotted color-mix(in srgb,currentColor 45%,transparent)}}.qpp-line-rate-edit{text-underline-offset:3px}.qpp-line-rate-edit:focus-visible,.qpp-line-rate-edit:hover{color:var(--hiviz,#0b6e4f);outline:none}.qpp-line-rate-override,.qpp-line-rate-override-scope{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.qpp-line-rate-override-value{font-variant-numeric:tabular-nums;font-weight:600}.qpp-line-rate-scope-permanent,.qpp-line-rate-scope-quote{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.qpp-line-rate-scope-quote{background:var(--hiviz,#0b6e4f)}@supports (color:color-mix(in lab,red,red)){.qpp-line-rate-scope-quote{background:color-mix(in srgb,var(--hiviz,#0b6e4f) 12%,var(--panel))}}.qpp-line-rate-scope-permanent:disabled{opacity:.5;cursor:not-allowed}.qpp-line-rate-input{border:1px solid var(--line);width:5.5rem;font:inherit;font-variant-numeric:tabular-nums;text-align:right;background:#fff;border-radius:4px;padding:4px 6px;font-size:12px}.qpp-line-rate-input:focus{outline:2px solid var(--hiviz);outline-offset:1px;border-color:var(--hiviz)}.qpp-line-rate-save{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.qpp-line-rate-save:disabled{opacity:.5;cursor:not-allowed}.qpp-line-rate-required-label{color:var(--hiviz-orange,#c45c00);font-weight:500}.qpp-rate-unavailable-alert{border:1px solid var(--hiviz-orange,#c45c00);padding:12px 16px}@supports (color:color-mix(in lab,red,red)){.qpp-rate-unavailable-alert{border:1px solid color-mix(in srgb,var(--hiviz-orange,#c45c00) 45%,var(--line))}}.qpp-rate-unavailable-alert{border-radius:var(--radius);background:var(--hiviz-orange,#c45c00)}@supports (color:color-mix(in lab,red,red)){.qpp-rate-unavailable-alert{background:color-mix(in srgb,var(--hiviz-orange,#c45c00) 10%,var(--panel))}}.qpp-rate-unavailable-alert{color:var(--hiviz-orange,#c45c00);font-weight:600}.qpp-quote-level,.qpp-site-charges{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:8px;padding:14px 18px;display:grid}.qpp-quote-level h3,.qpp-site-charges-title{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.qpp-site-charge-line{grid-template-columns:minmax(0,1fr) 120px 140px 120px;align-items:center;gap:12px;display:grid}@media (max-width:720px){.qpp-site-charge-line{grid-template-columns:1fr auto}.qpp-site-charge-line .qpp-line-qty,.qpp-site-charge-line .qpp-line-rate{display:none}}.qpp-site-charge-label{color:var(--ink);font-size:14px}.qpp-site-charge-line[data-status=needs-address] .qpp-site-charge-label,.qpp-site-charge-line[data-status=rate-required] .qpp-site-charge-label{color:var(--muted,#6b7280)}.qpp-site-charge-amt{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}