@import"https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&f[]=jet-brains-mono@400,500,600&display=swap";.portal-header-actions{display:flex;align-items:center;gap:.5rem;min-width:0}.portal-account{font-size:.875rem;font-weight:600;color:hsl(var(--muted-foreground));max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-content{display:grid;gap:1.5rem;align-content:start}.portal-content>.workspace-intro{margin-bottom:0}.portal-auth{display:grid;place-items:center;padding:3rem 1.25rem;min-height:calc(100dvh - 90px)}.portal-card{width:min(440px,100%);display:grid;gap:1.1rem;padding:2rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card))}.portal-card h1{font-size:1.5rem;font-weight:700}.portal-form{display:grid;gap:1rem}.portal-field{display:grid;gap:.45rem}.portal-field small,.portal-muted{color:hsl(var(--muted-foreground));font-size:.82rem;line-height:1.45}.portal-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-select{width:100%;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));padding:.6rem .7rem;font-size:.9rem;color:hsl(var(--foreground))}.portal-error{padding:.75rem 1rem;border-radius:.5rem;background:#ef43431f;color:#c52020;font-size:.875rem;line-height:1.45}.dark .portal-error{color:#f98686}.portal-note{color:hsl(var(--muted-foreground));font-size:.85rem;line-height:1.5;margin-top:.75rem}.portal-empty{padding:3rem 1.5rem;text-align:center;border:1px dashed hsl(var(--border));border-radius:.75rem;color:hsl(var(--muted-foreground))}.portal-projects,.portal-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.portal-projects button,.portal-tabs button{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.portal-tabs{border-bottom:1px solid hsl(var(--border));padding-bottom:1rem}.portal-tabs button svg{width:16px;height:16px}.portal-projects button.active,.portal-tabs button.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.portal-projects button:focus-visible,.portal-tabs button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.portal-count{min-width:1.4rem;padding:0 .4rem;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--foreground));font-size:.75rem;line-height:1.4rem;text-align:center}.portal-tabs button.active .portal-count{background:hsl(var(--primary-foreground) / .2);color:inherit}.portal-section{display:grid;gap:.9rem}.portal-section h2{font-size:1.15rem;font-weight:700}.portal-section h2.portal-sub{margin-top:1rem}.portal-section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.portal-table{border:1px solid hsl(var(--border));border-radius:.625rem;background:hsl(var(--card));overflow:hidden}.portal-row{display:grid;gap:1rem;align-items:center;padding:1rem 1.15rem;font-variant-numeric:tabular-nums;font-size:.9rem}.portal-row>span{display:grid;gap:.2rem;min-width:0}.portal-row small{color:hsl(var(--muted-foreground));font-size:.78rem}.portal-row strong{font-weight:650}.portal-head{padding-block:.7rem;background:hsl(var(--muted) / .6);color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:600}.portal-table>.portal-row+.portal-row,.portal-table>.portal-row-group,.portal-table>.portal-row+.portal-row-group{border-top:1px solid hsl(var(--border))}.portal-name{overflow-wrap:anywhere}.portal-avail .portal-row{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(110px,1fr))}.portal-avail .portal-row strong{font-size:1.15rem}.portal-orders .portal-row{grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) repeat(3,minmax(80px,.7fr)) minmax(130px,1fr)}.portal-sourced .portal-row{grid-template-columns:minmax(180px,2fr) repeat(4,minmax(80px,.75fr)) minmax(110px,1fr) minmax(130px,1fr)}.portal-catalogue .portal-row,.portal-buildable .portal-row{grid-template-columns:minmax(200px,2.2fr) minmax(130px,1.2fr) repeat(3,minmax(90px,.8fr)) minmax(110px,1fr)}.portal-buildable{margin-bottom:1.25rem}.portal-buildable .portal-row{grid-template-columns:minmax(200px,2fr) repeat(2,minmax(120px,1fr))}.portal-search{position:relative;display:block;width:min(320px,100%)}.portal-search svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:hsl(var(--muted-foreground));pointer-events:none}.portal-search input{padding-left:2.2rem}.portal-detail{display:grid;gap:.3rem;margin:-.35rem 0 0;padding:0 1.15rem .9rem;font-size:.85rem;color:hsl(var(--muted-foreground))}.portal-detail>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.75rem}.portal-detail dt{font-weight:600;color:hsl(var(--foreground))}.portal-detail dd{margin:0;display:flex;flex-wrap:wrap;gap:.2rem 1.25rem}.portal-po-group{font-weight:500;color:hsl(var(--muted-foreground))}.portal-pill{display:inline-flex;justify-self:start;align-items:center;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:650;white-space:nowrap;background:hsl(var(--muted));color:hsl(var(--foreground))}.portal-pill-completed,.portal-pill-accepted{background:#1fad5324;color:#137236}.portal-pill-partially-shipped,.portal-pill-partially-received,.portal-pill-received-ready-to-ship,.portal-pill-under-review{background:#0d80f221;color:#1257a5}.portal-pill-changes-proposed{background:#f9a0062e;color:#8e4d0b}.portal-pill-declined{background:#ef434321;color:#ad1f1f}.dark .portal-pill-completed,.dark .portal-pill-accepted{color:#81e4a5}.dark .portal-pill-partially-shipped,.dark .portal-pill-partially-received,.dark .portal-pill-received-ready-to-ship,.dark .portal-pill-under-review{color:#94c7f9}.dark .portal-pill-changes-proposed{color:#fbc66a}.dark .portal-pill-declined{color:#f99494}.portal-po{border:1px solid hsl(var(--border));border-radius:.625rem;overflow:hidden;background:hsl(var(--card))}.portal-po>summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:1rem 1.15rem;cursor:pointer;background:hsl(var(--muted) / .6)}.portal-po>summary strong{font-size:1rem}.portal-po>summary .portal-pill{margin-left:auto}.portal-po .portal-table{border:0;border-top:1px solid hsl(var(--border));border-radius:0}.portal-requests{display:grid;gap:1rem}.portal-request{display:grid;gap:.9rem;padding:1.15rem;border:1px solid hsl(var(--border));border-radius:.625rem;background:hsl(var(--card))}.portal-request>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.portal-request>header>div{display:grid;gap:.2rem;min-width:0}.portal-request>header small{color:hsl(var(--muted-foreground));font-size:.8rem}.portal-request dl{display:grid;gap:.6rem;font-size:.9rem}.portal-request dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1rem}.portal-request dt{color:hsl(var(--muted-foreground))}.portal-request dd{overflow-wrap:anywhere;white-space:pre-line}.portal-request footer{display:flex;gap:.5rem;flex-wrap:wrap}.portal-request-dialog{max-width:min(620px,calc(100vw - 24px));max-height:92dvh;overflow-y:auto}.portal-qty{display:grid;gap:.25rem;border:1px solid hsl(var(--border));border-radius:.5rem;padding:.25rem 1rem}.portal-qty-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:.25rem 1rem;align-items:center;padding:.75rem 0}.portal-qty-row+.portal-qty-row{border-top:1px solid hsl(var(--border))}.portal-qty-row label{display:grid;gap:.2rem;line-height:1.3}.portal-qty-row label small{color:hsl(var(--muted-foreground));font-weight:400;font-size:.78rem}.portal-qty-row>small{grid-column:1 / -1;font-size:.8rem}.portal-warn{color:#aa5c0e}.portal-ok{color:#1f7a40}.dark .portal-warn{color:#fbc260}.dark .portal-ok{color:#7cdea0}@media(max-width:860px){.portal-head{display:none}.portal-section-head:has(.portal-search){flex-direction:column;align-items:stretch}.portal-search{width:100%}.portal-avail .portal-row,.portal-orders .portal-row,.portal-sourced .portal-row,.portal-catalogue .portal-row,.portal-buildable .portal-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.portal-row>.portal-name{grid-column:1 / -1}.portal-row>span[data-label]:before{content:attr(data-label);color:hsl(var(--muted-foreground));font-size:.75rem}.portal-request dl>div{grid-template-columns:minmax(0,1fr);gap:.15rem}.portal-two{grid-template-columns:minmax(0,1fr)}.portal-account{display:none}}.portal-link{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.portal-admin-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:1.5rem;align-items:start}.portal-admin-list{display:grid;gap:.5rem;position:sticky;top:1rem}.portal-admin-list>button{display:grid;gap:.2rem;text-align:left;padding:.85rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--card));color:hsl(var(--foreground))}.portal-admin-list>button small{color:hsl(var(--muted-foreground));font-size:.78rem}.portal-admin-list>button.active{border-color:hsl(var(--primary));box-shadow:inset 3px 0 hsl(var(--primary))}.portal-admin-new{display:flex;gap:.5rem;margin-top:.5rem}.portal-admin-detail{display:grid;gap:1.25rem;min-width:0}.portal-admin-card{display:grid;gap:1rem;padding:1.25rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));min-width:0}.portal-admin-card h2{font-size:1.25rem;font-weight:700}.portal-admin-card h3{font-size:1rem;font-weight:700}.portal-admin-toggles{display:flex;flex-wrap:wrap;gap:.75rem 2rem}.portal-admin-toggles .sourcing-check span{margin:0}.portal-access-list{display:grid;gap:.5rem}.portal-access{border:1px solid hsl(var(--border));border-radius:.5rem}.portal-access.shared{border-color:hsl(var(--primary) / .55)}.portal-access-head{display:flex;justify-content:space-between;gap:1rem;width:100%;text-align:left;padding:.8rem 1rem;color:hsl(var(--foreground))}.portal-access-head small{color:hsl(var(--muted-foreground));font-size:.8rem}.portal-access.shared .portal-access-head small{color:hsl(var(--primary));font-weight:600}.portal-access-body{display:grid;gap:1rem;padding:1rem;border-top:1px solid hsl(var(--border))}.portal-po-picks{display:grid;gap:.6rem;max-height:340px;overflow-y:auto}.portal-users .portal-row{grid-template-columns:minmax(0,1fr) auto}.portal-user-actions{display:flex!important;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.portal-invite{display:grid;gap:.8rem;padding-top:1rem;border-top:1px solid hsl(var(--border));justify-items:start}.portal-invite>.portal-field,.portal-invite>.portal-two{width:min(560px,100%)}.portal-pending{display:grid;gap:.25rem;font-size:.85rem;color:hsl(var(--muted-foreground))}.portal-pending>div{display:flex;justify-content:space-between;align-items:center;gap:1rem}.portal-events{display:grid;gap:.1rem;max-height:320px;overflow-y:auto;font-size:.85rem}.portal-events>div{display:grid;grid-template-columns:150px minmax(140px,auto) minmax(0,1fr);gap:1rem;padding:.45rem 0;border-bottom:1px solid hsl(var(--border) / .6)}.portal-events span,.portal-events small{color:hsl(var(--muted-foreground));overflow-wrap:anywhere}.portal-preview-dialog{max-width:min(1200px,calc(100vw - 24px));max-height:92dvh;overflow-y:auto;display:grid;gap:1.25rem}.portal-preview-h{font-size:1.05rem;font-weight:700;margin-top:.5rem}@media(max-width:860px){.portal-admin-grid{grid-template-columns:minmax(0,1fr)}.portal-admin-list{position:static}.portal-events>div{grid-template-columns:minmax(0,1fr);gap:.1rem}.portal-users .portal-row{grid-template-columns:minmax(0,1fr)}.portal-user-actions{justify-content:flex-start}}.portal-cal-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.portal-cal-nav h2{min-width:10.5rem;text-align:center;margin:0}.portal-cal-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:hsl(var(--muted-foreground))}.portal-cal-legend span{display:inline-flex;align-items:center;gap:.35rem}.portal-cal-legend svg,.portal-cal-chip svg{width:14px;height:14px;flex-shrink:0}.portal-cal-legend .battery svg{color:hsl(var(--primary))}.portal-cal-legend .component svg{color:hsl(var(--muted-foreground))}.portal-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid hsl(var(--border));border-radius:.75rem;overflow:hidden;background:hsl(var(--card));margin-bottom:1.25rem}.portal-cal-dow{padding:.55rem .6rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .4)}.portal-cal-day{min-height:6.5rem;padding:.4rem;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:.3rem;min-width:0}.portal-cal-day:nth-child(7n){border-right:0}.portal-cal-day.empty{background:hsl(var(--muted) / .25)}.portal-cal-day.past .portal-cal-num{color:hsl(var(--muted-foreground))}.portal-cal-num{font-size:.8rem;font-weight:600;width:1.6rem;height:1.6rem;display:inline-grid;place-items:center;border-radius:999px}.portal-cal-day.today .portal-cal-num{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.portal-cal-day ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.portal-cal-chip{display:flex;align-items:center;gap:.3rem;font-size:.72rem;line-height:1.25;padding:.2rem .4rem;border-radius:.35rem;border-left:3px solid;background:hsl(var(--muted) / .6);min-width:0}.portal-cal-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-cal-chip.battery{background:hsl(var(--primary) / .1)}.portal-cal-chip.tone-done{opacity:.6;border-color:hsl(var(--muted-foreground) / .6)}.portal-cal-legend .delivered{opacity:.75}.tone-ok{border-color:#16a34a}.tone-warn{border-color:#d97706}.tone-bad{border-color:#dc2626}.tone-info{border-color:hsl(var(--muted-foreground))}.tone-neutral{border-color:hsl(var(--primary))}.portal-cal-status{display:inline-block;width:-moz-max-content;width:max-content;justify-self:start;align-self:center;font-size:.78rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;border:1px solid}.portal-cal-status.tone-ok{color:#15803d;background:#16a34a14}.portal-cal-status.tone-warn{color:#b45309;background:#d9770614}.portal-cal-status.tone-bad{color:#b91c1c;background:#dc262614}.portal-cal-status.tone-info,.portal-cal-status.tone-neutral,.portal-cal-status.tone-done{color:hsl(var(--muted-foreground));background:transparent}.dark .portal-cal-status.tone-ok{color:#4ade80}.dark .portal-cal-status.tone-warn{color:#fbbf24}.dark .portal-cal-status.tone-bad{color:#f87171}.portal-agenda .portal-row{grid-template-columns:minmax(110px,.9fr) minmax(220px,2.2fr) minmax(110px,1fr) minmax(80px,.7fr) minmax(110px,.9fr)}@media(max-width:760px){.portal-cal{display:none}.portal-agenda .portal-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.portal-agenda .portal-row.portal-head{display:none}.portal-agenda .portal-name{grid-column:1 / -1}}.portal-version{letter-spacing:.06em;margin-right:.06em}.portal-cal-more{font-size:.72rem;color:hsl(var(--muted-foreground));padding-left:.45rem}.portal-cal-chip>button{all:unset;display:flex;align-items:center;gap:inherit;min-width:0;width:100%;cursor:pointer}.portal-cal-chip>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-cal-chip:hover{filter:brightness(.96)}.portal-cal-chip>button:focus-visible,.portal-cal-more>button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:4px}.portal-cal-more>button{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.portal-cal-dialog{max-width:30rem}.portal-cal-details{display:grid;gap:.9rem;max-height:60vh;overflow:auto}.portal-cal-details dl{display:grid;gap:.45rem;margin:0;padding-bottom:.9rem;border-bottom:1px solid hsl(var(--border))}.portal-cal-details dl:last-child{border-bottom:0;padding-bottom:0}.portal-cal-details dl>div{display:grid;grid-template-columns:9.5rem 1fr;gap:.75rem;align-items:center}.portal-cal-details dt{font-size:.8rem;color:hsl(var(--muted-foreground))}.portal-cal-details dd{margin:0;font-size:.9rem}.portal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem}.portal-metric{display:grid;align-content:start;gap:.25rem;padding:1rem 1.1rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card))}.portal-metric span{font-size:.78rem;color:hsl(var(--muted-foreground))}.portal-metric strong{font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums}.portal-metric small{font-size:.78rem;color:hsl(var(--muted-foreground))}@media(max-width:900px){.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-root .tracking-link,.tracking-link{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-5{min-width:1.25rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[calc\(100\%_-_2rem\)\]{max-width:calc(100% - 2rem)}.max-w-\[var\(--skeleton-width\)\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5625rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-xs{border-radius:.1875rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-xs{border-top-left-radius:.1875rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-card-border{--tw-border-opacity: 1;border-color:hsl(var(--card-border) / var(--tw-border-opacity, 1))}.border-destructive{--tw-border-opacity: 1;border-color:hsl(var(--destructive) / var(--tw-border-opacity, 1))}.border-destructive-border{border-color:var(--destructive-border)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{--tw-border-opacity: 1;border-color:hsl(var(--input) / var(--tw-border-opacity, 1))}.border-primary{--tw-border-opacity: 1;border-color:hsl(var(--primary) / var(--tw-border-opacity, 1))}.border-primary-border{border-color:var(--primary-border)}.border-secondary-border{border-color:var(--secondary-border)}.border-sidebar-border{--tw-border-opacity: 1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.bg-background{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-border{--tw-bg-opacity: 1;background-color:hsl(var(--border) / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:hsl(var(--card) / var(--tw-bg-opacity, 1))}.bg-destructive{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-foreground{--tw-bg-opacity: 1;background-color:hsl(var(--foreground) / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{--tw-bg-opacity: 1;background-color:hsl(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-sidebar{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity, 1))}.bg-sidebar-border{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.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)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.text-card-foreground{--tw-text-opacity: 1;color:hsl(var(--card-foreground) / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-destructive{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-popover-foreground{--tw-text-opacity: 1;color:hsl(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:hsl(var(--primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-sidebar-foreground{--tw-text-opacity: 1;color:hsl(var(--sidebar-foreground) / var(--tw-text-opacity, 1))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-transparent{outline-color:transparent}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.ring-sidebar-ring{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--sidebar-ring) / var(--tw-ring-opacity, 1))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background) / 1)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.\[border-color\:var\(--badge-outline\)\]{border-color:var(--badge-outline)}.\[border-color\:var\(--button-outline\)\]{border-color:var(--button-outline)}.bom-usage-editor{margin-top:.5rem;text-align:left}.bom-usage-editor>button{white-space:normal;height:auto;min-height:32px;font-family:var(--font-sans);font-size:.75rem;padding:.35rem .5rem}.bom-usage-editor>small{display:block;margin-top:.35rem}.variation-part-dialog{max-height:90dvh;overflow-y:auto}.variation-part-identity{display:grid;gap:.25rem;overflow-wrap:anywhere;padding:.75rem;background:hsl(var(--muted));border-radius:.5rem}.variation-part-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.variation-part-remove{border-top:1px solid hsl(var(--border));padding-top:1rem}.component-card>.bom-usage-editor{padding:0 1rem 1rem}.britcell-loading-page{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:hsl(var(--background))}.britcell-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:3rem 1.25rem;min-height:240px;color:hsl(var(--muted-foreground));text-align:center}.britcell-loading span{font-size:.95rem;line-height:1.5}.britcell-loading-mark{width:76px;height:76px;flex-shrink:0;overflow:visible;animation:britcell-breathe 2.2s ease-in-out infinite}.britcell-loading-red{animation:britcell-charge 2.2s ease-in-out infinite}.britcell-loading-blue{animation:britcell-charge 2.2s ease-in-out -.7s infinite}.britcell-loading-compact{min-height:120px;padding:1.5rem 1rem;gap:1rem}.britcell-loading-compact .britcell-loading-mark{width:44px;height:44px}@keyframes britcell-breathe{0%,to{transform:scale(.93)}50%{transform:scale(1)}}@keyframes britcell-charge{0%,to{opacity:.75}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.britcell-loading-mark,.britcell-loading-red,.britcell-loading-blue{animation:none;transform:none;opacity:1}}.supply-main{width:min(1680px,100%)}.sourcing-picker{min-width:0;display:grid;gap:.65rem}.sourcing-picker-results{max-height:240px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--card))}.sourcing-picker-results button{display:grid;gap:.25rem;width:100%;text-align:left;padding:.75rem;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));overflow-wrap:anywhere}.sourcing-picker-results button:hover,.sourcing-picker-results button:focus-visible{background:hsl(var(--accent));outline:2px solid hsl(var(--ring));outline-offset:-2px}.sourcing-picker-results p{padding:.75rem}.sourcing-picker-results small,.sourcing-selected small{display:block;color:hsl(var(--muted-foreground));font-size:.8rem}.sourcing-selected{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--accent))}.sourcing-selected>div{min-width:0;overflow-wrap:anywhere}.sourcing-selected button{flex-shrink:0}.sourcing-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}.sourcing-part-list{margin-top:1.25rem}.sourcing-part{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) auto;align-items:center;gap:1.5rem;padding:1.25rem .75rem;border-top:1px solid hsl(var(--border))}.sourcing-part:nth-child(2n){background:hsl(var(--muted) / .3)}.sourcing-part h3{font-size:1rem;font-weight:650;overflow-wrap:anywhere}.sourcing-part p,.sourcing-part small{font-size:.8rem;color:hsl(var(--muted-foreground));overflow-wrap:anywhere}.sourcing-part>div:nth-child(2){display:grid;gap:.4rem;font-size:.875rem}.sourcing-part>div:nth-child(2) span{display:flex;justify-content:space-between;gap:1rem}.document-dialog.sourcing-import-dialog{max-width:min(1000px,calc(100vw - 24px))}.sourcing-import{display:grid;gap:1rem;font-size:.9rem}.sourcing-review-row{border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem;display:grid;gap:.8rem}.sourcing-review-row small{color:hsl(var(--muted-foreground))}.sourcing-review-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem}.sourcing-check{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.875rem}.sourcing-check input{width:18px;height:18px;flex-shrink:0}.sourcing-check span{margin-left:auto;color:hsl(var(--muted-foreground));font-size:.8rem}.sourcing-import select,.supply-editor select{width:100%;min-width:0;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));padding:.65rem}@media(max-width:760px){.sourcing-part{grid-template-columns:minmax(0,1fr);gap:1rem}.sourcing-review-fields{grid-template-columns:minmax(0,1fr)}.sourcing-import-dialog{padding:1rem}}.supply-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.supply-kpis article{display:grid;gap:.4rem;padding:1.25rem;border:1px solid hsl(var(--border));border-radius:.625rem;background:hsl(var(--card))}.supply-kpis span,.supply-kpis small{color:hsl(var(--muted-foreground));font-size:.8rem}.supply-kpis strong{font-size:clamp(1.2rem,2vw,1.65rem);font-variant-numeric:tabular-nums}.supply-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.supply-toolbar h2{font-size:1.125rem;font-weight:700}.supply-toolbar p,.supply-footnote,.supply-help{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.5}.supply-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.supply-filters{margin-bottom:1.5rem}.supply-filters input{max-width:520px}.supply-po{border:1px solid hsl(var(--border));border-radius:.5rem;overflow:hidden;margin-top:1rem}.supply-po-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:.5rem 1rem;border-bottom:1px solid hsl(var(--border))}.supply-delete-ack{min-width:0;flex-wrap:nowrap;align-items:flex-start}.supply-delete-ack span{min-width:0;flex:1;margin:0;color:inherit;font-size:inherit;overflow-wrap:anywhere}.supply-po>summary{padding:1rem;cursor:pointer;background:hsl(var(--muted));font-size:1rem}.supply-po>summary span{margin-left:1rem;color:hsl(var(--muted-foreground));font-size:.875rem}.supply-grid{display:grid;grid-template-columns:minmax(210px,2fr) minmax(120px,1fr) minmax(155px,1.1fr) minmax(125px,.85fr) minmax(135px,1fr) 148px;gap:1rem;padding:1.1rem;align-items:start}.supply-grid-head{padding-block:.7rem;color:hsl(var(--muted-foreground));font-size:.8rem;border-bottom:1px solid hsl(var(--border))}.supply-grid>div{min-width:0;display:grid;gap:.35rem;font-size:.9rem;overflow-wrap:anywhere}.supply-grid strong{font-weight:650}.supply-grid small{font-size:.78rem;color:hsl(var(--muted-foreground))}.supply-line+.supply-line{border-top:1px solid hsl(var(--border))}.supply-line:nth-child(2n){background:hsl(var(--muted) / .3)}.supply-prices>span,.supply-volumes>span{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;font-variant-numeric:tabular-nums}.supply-status{width:-moz-fit-content;width:fit-content;font-size:.75rem;font-weight:650;padding:.2rem .5rem;border:1px solid hsl(var(--border));border-radius:4px;color:hsl(var(--muted-foreground));background:hsl(var(--background))}.supply-done{color:hsl(var(--primary));background:hsl(var(--accent))}.supply-actions button{justify-content:center;width:100%}.supply-history{padding:0 1.1rem .8rem;font-size:.85rem}.supply-history>summary{cursor:pointer;color:hsl(var(--primary));width:-moz-fit-content;width:fit-content}.supply-history-body{padding-top:1rem;display:grid;gap:.8rem;color:hsl(var(--muted-foreground))}.supply-history-body>button{width:-moz-fit-content;width:fit-content}.supply-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-width:1100px}.supply-shipment{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));background:hsl(var(--card))}.supply-shipment p{font-size:.8rem;color:hsl(var(--muted-foreground));margin-top:.3rem;overflow-wrap:anywhere}.supply-reversed{border-style:dashed}.supply-footnote{margin-top:1rem;max-width:1000px}.supply-mobile-label{display:none}.supply-notice,.supply-confirm{padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--accent));font-size:.875rem;margin-bottom:1rem}.supply-editor h3{font-size:.9rem;font-weight:700;padding-top:.65rem;border-top:1px solid hsl(var(--border))}.supply-dialog{max-height:90dvh;overflow-y:auto}.supply-examples{display:grid;gap:1rem;font-size:.9rem}.supply-examples select{padding:.6rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background))}.supply-example-list{max-height:300px;overflow:auto;border-block:1px solid hsl(var(--border))}.supply-example-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid hsl(var(--border));font-size:.8rem}.supply-example-list span{white-space:nowrap}@media(max-width:1150px){.supply-grid{grid-template-columns:minmax(170px,1.5fr) minmax(100px,1fr) minmax(140px,1fr)}.supply-grid-head{display:none}.supply-mobile-label{display:block;font-size:.75rem;color:hsl(var(--muted-foreground))}.supply-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.supply-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:1rem}.supply-grid .supply-item{grid-column:1 / -1}.supply-grid .supply-actions{grid-column:1 / -1;grid-template-columns:1fr 1fr}.supply-grid .supply-actions>button:last-child{grid-column:1 / -1}.supply-toolbar,.supply-filters{flex-direction:column;align-items:stretch}.supply-kpis{gap:.5rem}.supply-kpis article{padding:.8rem}.supply-shipment{flex-direction:column;align-items:start}.supply-shell .documents-topbar{grid-template-columns:auto 1fr auto;gap:.4rem}.supply-shell .documents-back{font-size:.75rem;padding:.4rem;width:auto;white-space:nowrap}}:root{--background: 210 20% 98%;--foreground: 214 26% 13%;--border: 214 18% 86%;--card: 0 0% 100%;--card-foreground: 214 26% 13%;--card-border: 214 18% 90%;--sidebar: 216 30% 12%;--sidebar-foreground: 210 20% 96%;--sidebar-border: 215 24% 20%;--sidebar-primary: 215 58% 41%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 214 24% 19%;--sidebar-accent-foreground: 210 20% 96%;--sidebar-ring: 215 58% 41%;--popover: 0 0% 100%;--popover-foreground: 214 26% 13%;--popover-border: 214 18% 86%;--primary: 215 58% 41%;--primary-foreground: 0 0% 100%;--secondary: 210 24% 94%;--secondary-foreground: 214 26% 18%;--muted: 210 22% 94%;--muted-foreground: 215 12% 43%;--accent: 215 50% 92%;--accent-foreground: 215 63% 30%;--destructive: 3 63% 45%;--destructive-foreground: 0 0% 100%;--warning: 35 89% 38%;--input: 214 18% 79%;--ring: 215 58% 41%;--chart-1: 215 58% 41%;--chart-2: 35 89% 53%;--chart-3: 3 63% 48%;--chart-4: 204 67% 42%;--chart-5: 215 12% 43%;--font-sans: "Satoshi", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace;--font-serif: "Satoshi", sans-serif;--radius: .5rem;--button-outline: hsl(214 18% 78%);--badge-outline: hsl(214 18% 82%);--opaque-button-border-intensity: -8;--elevate-1: rgb(15 23 42 / .035);--elevate-2: rgb(15 23 42 / .075);--shadow-xs: 0 1px 2px rgb(15 23 42 / .06)}.dark{--background: 216 25% 8%;--foreground: 210 20% 94%;--border: 215 18% 20%;--card: 216 23% 11%;--card-foreground: 210 20% 94%;--card-border: 215 18% 18%;--sidebar: 216 30% 7%;--sidebar-foreground: 210 20% 94%;--sidebar-border: 215 22% 15%;--sidebar-primary: 214 70% 66%;--sidebar-primary-foreground: 216 30% 8%;--sidebar-accent: 215 22% 15%;--sidebar-accent-foreground: 210 20% 94%;--sidebar-ring: 214 70% 66%;--popover: 216 23% 12%;--popover-foreground: 210 20% 94%;--popover-border: 215 18% 22%;--primary: 214 70% 66%;--primary-foreground: 216 30% 8%;--secondary: 215 20% 16%;--secondary-foreground: 210 20% 94%;--muted: 215 20% 16%;--muted-foreground: 214 12% 65%;--accent: 215 32% 20%;--accent-foreground: 214 76% 78%;--destructive: 3 60% 56%;--destructive-foreground: 0 0% 100%;--warning: 35 89% 60%;--input: 215 18% 29%;--ring: 214 70% 66%;--chart-1: 214 70% 66%;--chart-2: 35 89% 60%;--chart-3: 3 65% 62%;--chart-4: 204 67% 62%;--chart-5: 214 12% 65%;--button-outline: hsl(215 18% 27%);--badge-outline: hsl(215 18% 25%);--opaque-button-border-intensity: 8;--elevate-1: rgb(255 255 255 / .04);--elevate-2: rgb(255 255 255 / .08)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);font-size:16px;line-height:1.45}.auth-screen{display:grid;min-height:100dvh;place-items:center;padding:1.5rem;background:hsl(var(--background))}.auth-card{display:grid;width:min(440px,100%);gap:1rem;padding:2rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.75rem;box-shadow:0 20px 60px #0f172a1f}.auth-card h1,.auth-card p{margin:0}.auth-card>p:not(.eyebrow):not(.form-error){color:hsl(var(--muted-foreground))}.auth-button{min-height:44px;padding:.7rem 1rem;color:hsl(var(--primary-foreground));background:hsl(var(--primary));border:0;border-radius:.5rem;font-weight:700}.forecast-section,.history-section{margin-bottom:1.25rem;padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.625rem;box-shadow:var(--shadow-xs)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.section-heading:last-child{margin-bottom:0}.section-body{min-width:0}.section-toggle{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:0;min-height:44px;padding:0;color:hsl(var(--foreground));background:transparent;border:0;border-radius:.4rem;text-align:left}.section-toggle:hover .section-title{color:hsl(var(--primary))}.section-toggle>span{display:grid;min-width:0}.section-toggle>span>span:last-child{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:400}.section-toggle .eyebrow{color:hsl(var(--primary))}.section-title{margin:0;font-size:1.125rem;font-weight:700;line-height:1.35;letter-spacing:-.02em;transition:color .16s ease}.section-toggle>svg{flex:0 0 auto;width:20px;color:hsl(var(--muted-foreground));transform:rotate(-90deg);transition:transform .18s ease,color .16s ease}.section-toggle:hover>svg{color:hsl(var(--primary))}.section-toggle>svg.chevron-open{transform:rotate(0)}.rate-control{display:flex;align-items:end;gap:.5rem}.rate-control label{display:grid;gap:.25rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600}.rate-input{display:flex;align-items:center;gap:.5rem}.rate-input input{width:82px;text-align:right;font-family:var(--font-mono)}.rate-input b{white-space:nowrap;color:hsl(var(--foreground))}.saved-state,.backup-success{display:inline-flex;align-items:center;gap:.3rem;color:hsl(var(--primary));font-size:.75rem;font-weight:700}.saved-state svg,.backup-success svg{width:14px}.forecast-empty{display:flex;align-items:center;gap:.875rem;padding:1rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .45);border:1px dashed hsl(var(--border));border-radius:.5rem}.forecast-empty>svg{width:22px}.forecast-empty>div{display:grid;gap:.15rem}.forecast-empty strong{color:hsl(var(--foreground));font-size:.875rem}.forecast-empty span{font-size:.75rem}.forecast-list,.history-list{display:grid;gap:.5rem}.forecast-row{display:grid;grid-template-columns:.9fr 1.2fr 1fr 1fr .8fr 1.25fr;align-items:center;gap:.75rem;padding:.75rem;border:1px solid hsl(var(--border));border-left-width:3px;border-radius:.5rem}.forecast-on-track{border-left-color:#2c9664}.forecast-at-risk{border-left-color:#f2991c}.forecast-shortfall{border-left-color:hsl(var(--destructive))}.forecast-row>div{display:grid;gap:.15rem;min-width:0}.forecast-row span{color:hsl(var(--muted-foreground));font-size:.6875rem}.forecast-row strong{font-size:.8125rem;font-variant-numeric:tabular-nums}.forecast-row small{color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:500}.forecast-badge{width:-moz-fit-content;width:fit-content;padding:.25rem .45rem;border-radius:999px;background:hsl(var(--muted));font-size:.6875rem}.forecast-on-track .forecast-badge{color:#1e714a;background:#def2e9}.forecast-at-risk .forecast-badge{color:#844a10;background:#faebd1}.forecast-shortfall .forecast-badge{color:hsl(var(--destructive));background:hsl(var(--destructive) / .1)}.dark .forecast-on-track .forecast-badge{color:#88ddb5;background:#183a2a}.dark .forecast-at-risk .forecast-badge{color:#f4c26c;background:#453011}.history-row{display:grid;grid-template-columns:110px 1fr 1.2fr 1fr auto;align-items:center;gap:.75rem;min-height:48px;padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.8125rem}.history-row>span:not(.event-badge),.history-row small{color:hsl(var(--muted-foreground))}.history-reversal{grid-column:1 / -1;border-top:1px solid hsl(var(--border));padding-top:.5rem;overflow-wrap:anywhere}.undo-build-dialog{max-width:680px;max-height:90dvh;overflow-y:auto}.undo-build-dialog p{font-size:.875rem;line-height:1.5}.undo-summary{padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem;display:grid;gap:.5rem}.undo-summary>span,.undo-stock-row small{color:hsl(var(--muted-foreground));font-size:.8125rem}.undo-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.undo-summary dt{font-size:.8125rem}.undo-summary dd{font-weight:600;font-variant-numeric:tabular-nums}.undo-warning{padding:.75rem;border:1px solid hsl(var(--destructive) / .4);border-radius:.5rem;background:hsl(var(--destructive) / .07)}.undo-stock-list{max-height:250px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:.5rem}.undo-stock-row{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:1rem;padding:.75rem;border-bottom:1px solid hsl(var(--border));font-size:.875rem}.undo-stock-row>div{display:grid;gap:.25rem;overflow-wrap:anywhere}.undo-stock-row label{display:grid;gap:.25rem;font-size:.75rem}.undo-field{display:grid;gap:.5rem;font-size:.875rem}.undo-check{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem}.undo-check input{margin-top:.2rem;width:1rem;height:1rem;flex:none;accent-color:hsl(var(--primary))}.event-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:700}.event-badge svg{width:13px}.event-build{color:hsl(var(--primary));background:hsl(var(--accent))}.event-shipment{color:#844a10;background:#faebd1}.dark .event-shipment{color:#f4c26c;background:#453011}.copy-options{display:grid;gap:.625rem;padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem}.copy-options legend{padding:0 .35rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:700}.copy-options label{display:flex;align-items:center;gap:.625rem;font-size:.875rem}.copy-options input{width:17px;height:17px;accent-color:hsl(var(--primary))}.documents-shell{min-height:100dvh;height:100%;overflow:auto;background:hsl(var(--background))}.documents-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:.75rem clamp(1rem,4vw,3rem);background:hsl(var(--card) / .94);border-bottom:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.documents-topbar>div{display:grid;justify-items:center;line-height:1.25}.documents-topbar>div span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600}.documents-topbar>div strong{font-size:.9375rem}.documents-topbar>.icon-button{justify-self:end}.documents-back{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.5rem;min-height:40px;padding:.5rem .75rem;color:hsl(var(--foreground));background:transparent;border:1px solid hsl(var(--border));border-radius:.5rem;font-weight:650}.documents-back svg{width:17px}.documents-main{width:min(1320px,100%);margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.documents-hero{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.documents-hero h1{margin:.2rem 0 .45rem;font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.15}.documents-hero p:not(.eyebrow){max-width:720px;margin:0;color:hsl(var(--muted-foreground))}.document-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.document-kpis article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;min-width:0;padding:1rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.625rem;box-shadow:var(--shadow-xs)}.document-kpis svg{width:19px;color:hsl(var(--primary))}.document-kpis span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:650}.document-kpis strong{font:600 1.4rem var(--font-mono)}.documents-register{padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.625rem;box-shadow:var(--shadow-xs)}.documents-register-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.documents-register-head h2{margin:0;font-size:1.125rem}.documents-register-head>div:first-child span{color:hsl(var(--muted-foreground));font-size:.75rem}.document-filters{display:flex;gap:.5rem;min-width:0}.document-filters select,.document-form select{min-height:40px;max-width:100%;padding:0 2.25rem 0 .7rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:.5rem;font:inherit}.document-search{position:relative;display:block;min-width:230px}.document-search>svg{position:absolute;top:11px;left:11px;z-index:1;width:17px;color:hsl(var(--muted-foreground))}.document-search input{padding-left:2.25rem}.document-list{display:grid;gap:.65rem}.document-card{display:grid;grid-template-columns:minmax(240px,1.15fr) minmax(420px,2fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem}.document-primary{display:flex;align-items:center;gap:.75rem;min-width:0}.document-primary>div{min-width:0}.document-primary h3{overflow-wrap:anywhere;margin:0 0 .2rem;font-size:.9375rem}.document-primary span,.document-meta>div>span{color:hsl(var(--muted-foreground));font-size:.6875rem}.document-file-icon{display:grid;flex:0 0 38px;height:38px;place-items:center;color:hsl(var(--primary));background:hsl(var(--accent));border-radius:.5rem}.document-file-icon svg{width:19px}.document-meta{display:grid;grid-template-columns:.8fr 1fr 1fr 1.25fr;gap:.75rem;min-width:0}.document-meta>div{display:grid;min-width:0;gap:.2rem}.document-meta strong{overflow-wrap:anywhere;font-size:.75rem}.document-status{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.3rem;padding:.25rem .45rem;border:1px solid hsl(var(--border));border-radius:999px;font-size:.6875rem;font-weight:700}.document-status svg{width:13px}.document-status-approved{color:#1e714a;background:#def2e9}.document-status-draft{color:#844a10;background:#faebd1}.document-status-obsolete{color:hsl(var(--muted-foreground));background:hsl(var(--muted))}.dark .document-status-approved{color:#88ddb5;background:#183a2a}.dark .document-status-draft{color:#f4c26c;background:#453011}.document-notes{grid-column:1 / -1;margin:-.25rem 0 0;padding:.65rem .75rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .45);border-radius:.4rem;font-size:.75rem;overflow-wrap:anywhere}.document-actions{display:flex;justify-content:flex-end;gap:.4rem}.document-actions a{display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:.45rem .65rem;color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .35);border-radius:.5rem;font-size:.75rem;font-weight:700;white-space:nowrap}.document-actions svg{width:15px}.documents-empty,.documents-loading{display:grid;min-height:320px;place-items:center;align-content:center;gap:.65rem;padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.documents-empty>svg,.documents-loading>svg{width:32px;color:hsl(var(--primary))}.documents-empty h2,.documents-empty p{margin:0}.documents-empty h2{color:hsl(var(--foreground));font-size:1rem}.documents-empty p{max-width:480px}.document-dialog{max-width:680px}.document-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;min-width:0}.document-wide{grid-column:1 / -1}.document-form textarea{min-height:90px;resize:vertical}@media(max-width:1050px){.document-card{grid-template-columns:1fr}.document-actions{justify-content:flex-start;flex-wrap:wrap}.document-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.documents-topbar{grid-template-columns:auto 1fr auto;padding:.65rem .75rem}.documents-back{width:40px;padding:0;justify-content:center;font-size:0}.documents-main{padding:1rem}.documents-hero{align-items:stretch;flex-direction:column;gap:1rem}.documents-hero>button{width:100%}.document-kpis{grid-template-columns:1fr 1fr}.documents-register{padding:.75rem}.documents-register-head,.document-filters{align-items:stretch;flex-direction:column}.document-search{min-width:0;width:100%}.document-filters select{width:100%}.document-meta{grid-template-columns:1fr 1fr}.document-actions{display:grid;grid-template-columns:1fr 1fr}.document-actions a{grid-column:1 / -1;justify-content:center}.document-actions button{width:100%}.document-form{grid-template-columns:1fr}.document-wide{grid-column:auto}}@media(max-width:390px){.document-kpis,.document-meta{grid-template-columns:1fr}}.account-status{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:.75rem;padding:1rem;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:.5rem}.account-status>svg{width:21px;color:hsl(var(--primary))}.account-status>div{display:grid;gap:.15rem}.account-status strong{font-size:.875rem}.account-status span{color:hsl(var(--muted-foreground));font-size:.75rem}.automatic-backup-status{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:.75rem;padding:1rem;background:hsl(var(--accent) / .35);border:1px solid hsl(var(--primary) / .22);border-radius:.5rem}.automatic-backup-status>svg{width:20px;color:hsl(var(--primary))}.automatic-backup-status>div{display:grid;gap:.2rem}.automatic-backup-status strong{font-size:.875rem}.automatic-backup-status span{color:hsl(var(--muted-foreground));font-size:.75rem;overflow-wrap:anywhere}.automatic-error{background:hsl(var(--destructive) / .08);border-color:hsl(var(--destructive) / .25)}.automatic-error>svg,.automatic-error strong{color:hsl(var(--destructive))}.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.backup-actions>button,.backup-action-summary{display:grid;grid-template-columns:24px 1fr;gap:.75rem;padding:1rem;color:hsl(var(--foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;text-align:left}.backup-actions>button:hover{border-color:hsl(var(--primary) / .5);background:hsl(var(--accent) / .35)}.backup-actions>button:disabled{opacity:.6;cursor:wait}.backup-actions svg{width:21px;color:hsl(var(--primary))}.backup-actions span{display:grid;gap:.25rem}.backup-actions small{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:400}.backup-action-summary{align-items:start}.backup-success{margin:0}@media(max-width:900px){.forecast-row{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-row>div:last-child{grid-column:1 / -1}.section-heading{flex-direction:column}.rate-control{width:100%;flex-wrap:wrap}.topbar-actions .target-control span{display:none}}@media(max-width:600px){.forecast-section,.history-section{padding:1rem}.forecast-row,.history-row{grid-template-columns:1fr 1fr}.history-row small{grid-column:1 / -1}.backup-actions{grid-template-columns:1fr}.account-status{grid-template-columns:24px 1fr}.account-status button{grid-column:2;justify-self:start}.topbar-actions>button:first-child{width:44px;padding:0;font-size:0}.topbar-actions>button:first-child svg{width:17px}}button,input,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.skip-link{position:fixed;z-index:100;left:1rem;top:-4rem;padding:.75rem 1rem;background:hsl(var(--foreground));color:hsl(var(--background));border-radius:.375rem}.skip-link:focus{top:1rem}.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr);height:100dvh;overflow:clip}.sidebar{grid-row:1 / -1;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem .875rem 1rem;background:hsl(var(--sidebar));color:hsl(var(--sidebar-foreground));border-right:1px solid hsl(var(--sidebar-border))}.brand{display:flex;align-items:center;gap:.75rem;padding:0 .5rem 1.75rem}.logo-mark{width:34px;height:34px;flex:0 0 auto;color:hsl(var(--sidebar-primary))}.brand>span{color:hsl(var(--sidebar-foreground) / .54);font-size:.75rem}.brand-logo{display:block;position:relative;flex:0 0 auto}.brand-logo img{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.brand-logo-dark{display:none!important}.dark .brand-logo-light{display:none}.dark .brand-logo-dark{display:block!important}.brand-logo-sidebar{width:142px}.brand-logo-header{width:148px}.nav-label{margin:0 0 .5rem;padding:0 .75rem;color:hsl(var(--sidebar-foreground) / .42);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.workspace-back{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:.625rem;width:100%;min-height:44px;margin:0 0 1.25rem;padding:.625rem .75rem;color:hsl(var(--sidebar-foreground) / .76);background:hsl(var(--sidebar-accent) / .55);border:1px solid hsl(var(--sidebar-border));border-radius:.5rem;font-size:.875rem;font-weight:600;text-align:left}.workspace-back:hover{color:hsl(var(--sidebar-foreground));background:hsl(var(--sidebar-accent))}.workspace-back svg{width:17px}.nav-item{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:.625rem;width:100%;min-height:44px;margin-bottom:.25rem;padding:.625rem .75rem;color:hsl(var(--sidebar-foreground) / .66);background:transparent;border:1px solid transparent;border-radius:.5rem;text-align:left;transition:background .16s ease,color .16s ease}.nav-item svg{width:18px}.nav-item span{font-size:.875rem;font-weight:500}.nav-item b{min-width:24px;padding:.125rem .375rem;border-radius:999px;background:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-foreground) / .68);font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-align:center}.nav-item:hover{color:hsl(var(--sidebar-foreground));background:hsl(var(--sidebar-accent) / .65)}.nav-item.active{color:hsl(var(--sidebar-foreground));background:hsl(var(--sidebar-accent));border-color:hsl(var(--sidebar-border))}.nav-item.active svg{color:hsl(var(--sidebar-primary))}.sidebar-foot{display:grid;gap:.75rem;margin-top:auto;padding:1rem .5rem 0;border-top:1px solid hsl(var(--sidebar-border))}.sync-status{display:flex;align-items:center;gap:.5rem;color:hsl(var(--sidebar-foreground) / .54);font-size:.75rem}.sync-status span{width:7px;height:7px;border-radius:50%;background:#33cc8a;box-shadow:0 0 0 3px #33cc8a1f}.reset-link{display:flex;align-items:center;gap:.5rem;min-height:44px;color:hsl(var(--sidebar-foreground) / .58);background:transparent;border:0;font-size:.75rem}.reset-link:hover{color:hsl(var(--sidebar-foreground))}.reset-link svg{width:15px}.topbar{grid-column:2;display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 1.75rem;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border))}.title-group{display:grid;gap:.125rem}.title-group span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.title-group h1{margin:0;font-size:1.125rem;line-height:1.2}.project-title{display:flex;align-items:center;gap:.4rem;min-width:0;overflow-wrap:anywhere}.title-rename{flex-shrink:0;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:.375rem;color:hsl(var(--muted-foreground))}.title-rename:hover,.title-rename:focus-visible{background:hsl(var(--accent));color:hsl(var(--foreground));outline:none}.title-rename:focus-visible{box-shadow:0 0 0 2px hsl(var(--ring))}.title-rename svg{width:15px;height:15px}.topbar-actions,.overview-actions,.target-control,.target-control label{display:flex;align-items:center;gap:.625rem}.target-control label>span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600}.target-control input{width:94px;font-family:var(--font-mono);font-weight:600;text-align:right}.target-control>button{min-width:78px}.icon-button{display:grid;place-items:center;width:44px;height:44px;color:hsl(var(--muted-foreground));background:transparent;border:1px solid hsl(var(--border));border-radius:.5rem}.icon-button:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}.icon-button svg{width:18px}.menu-button,.mobile-close{display:none}.main-content{grid-column:2;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2rem 1.75rem 3rem}#components-section{scroll-margin-top:1rem}#components-section:focus{outline:none}#components-section:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px}.overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}.eyebrow{margin:0 0 .25rem;color:hsl(var(--primary));font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.overview-head h2,.table-toolbar h2{margin:0;font-size:1.375rem;line-height:1.2;letter-spacing:-.02em}.metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:.75rem}.metric{min-width:0;padding:1rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.625rem;box-shadow:var(--shadow-xs)}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600}.metric-top svg{width:17px;height:17px}.metric strong{display:block;margin-top:.5rem;font-family:var(--font-mono);font-size:1.625rem;line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric small{display:block;overflow:hidden;margin-top:.375rem;color:hsl(var(--muted-foreground));font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.metric-warning .metric-top svg,.metric-warning strong{color:#af6318}.dark .metric-warning .metric-top svg,.dark .metric-warning strong{color:#f4a83e}.metric-success .metric-top svg,.metric-success strong{color:hsl(var(--primary))}.metric-buildable{overflow:hidden;padding:0;transition:border-color .16s ease,box-shadow .16s ease}.metric-buildable:hover{border-color:hsl(var(--primary) / .42)}.metric-expanded{grid-column:span 4;border-color:hsl(var(--primary) / .42);box-shadow:0 10px 24px #0f172a14}.metric-toggle{display:block;width:100%;padding:1rem;color:inherit;background:transparent;border:0;text-align:left}.metric-toggle:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:-3px}.metric-expand-label{display:flex;align-items:center;justify-content:space-between;gap:.375rem;margin-top:.7rem;color:hsl(var(--primary));font-size:.6875rem;font-weight:700}.metric-expand-label svg{width:14px;transition:transform .16s ease}.metric-toggle[aria-expanded=true] .metric-expand-label svg{transform:rotate(180deg)}.limiting-parts{padding:0 1rem 1rem;border-top:1px solid hsl(var(--border))}.limiting-parts-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0 .625rem}.metric .limiting-parts-head strong{margin:0;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:.8125rem;letter-spacing:0}.limiting-parts-head span{color:hsl(var(--muted-foreground));font-size:.6875rem}.limiting-parts-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:.5rem}.limiting-part-row{display:grid;grid-template-columns:42px minmax(180px,1.4fr) minmax(95px,.65fr) minmax(85px,.6fr) minmax(80px,.55fr);align-items:center;gap:.75rem;min-height:42px;padding:.5rem .625rem;border-bottom:1px solid hsl(var(--border))}.limiting-part-row:last-child{border-bottom:0}.limiting-part-id{color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.75rem}.metric .limiting-part-row strong{overflow:hidden;margin:0;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:.75rem;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.limiting-part-row>span:not(.limiting-part-id){color:hsl(var(--muted-foreground));font-size:.6875rem;text-align:right}.limiting-part-row b{color:hsl(var(--foreground));font-family:var(--font-mono);font-size:.75rem;text-align:right}.readiness-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,42%);align-items:center;gap:1.5rem;margin:.75rem 0 1.25rem;padding:.875rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.625rem}.readiness-strip>div:first-child{display:flex;align-items:center;gap:1rem;min-width:0;font-size:.75rem}.readiness-strip strong{white-space:nowrap}.readiness-strip span{color:hsl(var(--muted-foreground))}.status-track{display:flex;overflow:hidden;height:8px;border-radius:999px;background:hsl(var(--muted))}.status-track span{min-width:2px}.track-ready{background:hsl(var(--primary))}.track-incoming{background:#f2991c}.track-shortage{background:hsl(var(--destructive))}.bom-section{min-width:0;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.625rem;box-shadow:var(--shadow-xs)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid hsl(var(--border))}.bom-section:not(:has(#components-body)) .table-toolbar{border-bottom:0}.table-toolbar>div:first-child{display:flex;align-items:baseline;gap:.625rem}.table-toolbar h2{font-size:1rem}.table-toolbar span{color:hsl(var(--muted-foreground));font-size:.75rem}.components-tools{display:flex;align-items:center;justify-content:flex-end;gap:.625rem}.components-tools>button{flex:0 0 auto}.components-tools>button svg{width:16px}@media(max-width:1480px)and (min-width:721px){.bom-section .table-toolbar{align-items:flex-start;flex-wrap:wrap}.bom-section .components-heading,.bom-section .components-tools{width:100%}.bom-section .components-tools{justify-content:flex-start}.bom-section .search-box{flex:1 1 240px}}.components-heading{align-items:flex-start!important;flex-direction:column;gap:.375rem!important;min-width:0}.components-collapse-toggle{width:100%}.reorder-guidance{display:inline-flex;align-items:center;min-height:20px;color:hsl(var(--primary))!important;font-weight:600}.reorder-guidance.reorder-disabled{color:hsl(var(--muted-foreground))!important;font-weight:500}.search-box{position:relative;width:min(320px,44vw)}.search-box>svg{position:absolute;z-index:1;left:.75rem;top:50%;width:16px;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.search-box input{height:40px;padding-left:2.25rem;padding-right:2.25rem}.search-box button{position:absolute;right:0;top:0;display:grid;place-items:center;width:40px;height:40px;color:hsl(var(--muted-foreground));background:transparent;border:0}.search-box button svg{width:15px}.table-wrap{overflow:visible;overscroll-behavior:contain}table{width:100%;min-width:1280px;table-layout:fixed;border-collapse:collapse;font-size:1.21875rem}.bom-table{table-layout:auto}.bom-table td.num{white-space:nowrap;padding-inline:.625rem}.bom-table .component-name,.bom-table .part-number{min-width:240px;max-width:clamp(240px,24vw,520px)}.bom-table td.item-id,.bom-table th:first-child{padding-inline:.375rem}.bom-table .col-reorder,.bom-table .col-sequence{width:3%}.bom-table .col-britcell-pn{width:7%}.britcell-pn-cell{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.bom-table td.britcell-pn-cell{padding-inline:.5rem}.bom-table .col-item{width:26%}.bom-table .col-status{width:6.5%}.bom-table .col-number{width:5.5%}.bom-table .col-supplier{width:8%}.bom-table .col-eta{width:6.5%}.bom-table .col-actions{width:10%}.bom-table.bom-table-reordering .col-item{width:23%}thead th{position:sticky;top:-2rem;z-index:4;padding:.75rem;color:hsl(var(--muted-foreground));background:hsl(var(--secondary));border-bottom:1px solid hsl(var(--border));box-shadow:0 1px hsl(var(--border)),0 5px 12px hsl(var(--background) / .82);font-size:1.03125rem;font-weight:700;letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap}thead th.num{padding-inline:.375rem;font-size:.78125rem;letter-spacing:.02em}.bom-table .status-column{text-align:right}.bom-table td.status-column .status{margin-left:auto}tbody td{padding:.75rem;border-bottom:1px solid hsl(var(--border) / .72);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:hsl(var(--secondary) / .42)}tbody tr{position:relative;transition:background-color .14s ease,opacity .14s ease,box-shadow .14s ease}tbody tr:nth-child(2n){background:hsl(var(--secondary) / .34)}.dark tbody tr:nth-child(2n){background:hsl(var(--secondary) / .24)}tbody tr.is-dragged{opacity:.44;background:hsl(var(--accent) / .65)}tbody tr.is-drop-before{box-shadow:inset 0 3px hsl(var(--primary))}tbody tr.is-drop-after{box-shadow:inset 0 -3px hsl(var(--primary))}.reorder-cell{width:42px;padding-right:0!important}.drag-handle{display:grid;place-items:center;width:32px;height:36px;color:hsl(var(--muted-foreground));border-radius:.375rem;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-handle:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}.drag-handle:active{cursor:grabbing}.drag-handle[draggable=false]{cursor:not-allowed;opacity:.38}.drag-handle svg{width:17px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.item-id{color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.75rem}.component-name{display:block;width:100%;max-width:none;overflow:hidden;padding:0;color:hsl(var(--foreground));background:transparent;border:0;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.component-name:hover{color:hsl(var(--primary))}.part-number{display:block;width:100%;max-width:none;overflow:hidden;margin-top:.125rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.breakdown-details{max-width:270px;margin-top:.375rem;color:hsl(var(--muted-foreground));font-size:.75rem}.breakdown-details summary{display:inline-flex;align-items:center;gap:.25rem;min-height:28px;color:hsl(var(--primary));cursor:pointer;font-weight:650;list-style:none}.breakdown-details summary::-webkit-details-marker{display:none}.breakdown-details summary svg{width:14px;transition:transform .16s ease}.breakdown-details[open] summary svg{transform:rotate(180deg)}.breakdown-content{display:grid;gap:.375rem;margin-top:.25rem;padding:.625rem;color:hsl(var(--foreground));background:hsl(var(--muted) / .55);border:1px solid hsl(var(--border));border-radius:.5rem}.breakdown-content ol{display:grid;gap:.25rem;margin:0;padding-left:1.25rem}.breakdown-content li span{font-family:var(--font-mono)}.breakdown-content li small{display:block;color:hsl(var(--muted-foreground))}.breakdown-content>strong{font-family:var(--font-mono);font-size:.75rem}.status{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:700;white-space:nowrap}.status svg{width:12px;height:12px}.status-ready{color:#137652;background:#ddf3ea}.status-incoming{color:#844a10;background:#faebd1}.status-shortage{color:#9e2a24;background:#f8e3e2}.dark .status-ready{color:#89e1bb;background:#163b2c}.dark .status-incoming{color:#f4c26c;background:#453011}.dark .status-shortage{color:#f19b98;background:#441a18}.shortage-value{color:hsl(var(--destructive));font-weight:700}.supplier-link{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;overflow:hidden;color:hsl(var(--primary));font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.supplier-link:hover{text-decoration:underline}.supplier-link svg{width:12px}.eta{display:inline-flex;align-items:center;gap:.375rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eta svg{width:14px;color:hsl(var(--muted-foreground))}.eta-empty{color:hsl(var(--muted-foreground))}.row-action{display:grid;place-items:center;width:36px;height:36px;color:hsl(var(--muted-foreground));background:transparent;border:0;border-radius:.375rem}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.reorder-buttons{display:inline-flex;align-items:center;gap:.125rem}.row-action:disabled{cursor:not-allowed;opacity:.3}.row-action:disabled:hover{color:hsl(var(--muted-foreground));background:transparent}.mobile-card-actions{display:none}.receive-action{display:inline-flex;align-items:center;gap:.3rem;min-height:36px;padding:0 .625rem;color:hsl(var(--primary));background:hsl(var(--accent));border:0;border-radius:.375rem;font-size:.6875rem;font-weight:700}.receive-action:hover{background:hsl(var(--accent) / .72)}.receive-action:disabled{cursor:wait;opacity:.62}.table-wrap .item-id,.table-wrap .breakdown-details,.table-wrap .breakdown-content>strong{font-size:1.125rem}.table-wrap .part-number,.table-wrap .receive-action{font-size:1.03125rem}.table-wrap .status{font-size:.875rem}.receive-action svg{width:14px}.row-action:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}.row-action svg{width:15px}.mobile-cards{display:none}.editor-sheet{width:min(540px,94vw)!important;max-width:540px!important;overflow-y:auto;overscroll-behavior:contain}.editor-form{display:grid;gap:1rem;padding:1.5rem 0}.catalogue-picker{display:grid;gap:.75rem;margin-top:1.25rem;padding:1rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--muted) / .4)}.catalogue-picker h3{font-size:.9375rem;font-weight:700}.catalogue-picker p{margin-top:.2rem;color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.45}.catalogue-search{position:relative}.item-name-search{display:grid;gap:.5rem;min-width:0}.item-name-search .field-help{margin:0}.catalogue-search svg{position:absolute;z-index:1;top:50%;left:.75rem;width:1rem;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.catalogue-search input{padding-left:2.25rem}.catalogue-results{display:grid;max-height:16rem;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background))}.catalogue-result{display:grid;gap:.2rem;width:100%;padding:.75rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.catalogue-result:last-child{border-bottom:0}.catalogue-result:hover,.catalogue-result:focus-visible{background:hsl(var(--accent))}.catalogue-result strong{font-size:.8125rem}.catalogue-result span{color:hsl(var(--muted-foreground));font-size:.75rem}.catalogue-empty{padding:.75rem}.catalogue-selected{display:flex;align-items:flex-start;gap:.4rem;color:hsl(var(--foreground))!important}.catalogue-selected svg{flex:0 0 auto;width:1rem;color:hsl(var(--success))}.field,.field-row{display:grid;gap:.375rem}.field-row{grid-template-columns:1fr 1fr;gap:.75rem}.field-help{margin:-.25rem 0 .125rem;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.45}.field span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600}.field textarea{width:100%;padding:.625rem .75rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:.375rem;resize:vertical}.date-input-wrap{position:relative;display:block;min-width:0;width:100%}.date-input-wrap input{min-width:0;width:100%;padding-right:2.75rem}.date-input-wrap input::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none}.date-input-wrap>button{position:absolute;top:50%;right:.25rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;color:hsl(var(--muted-foreground));background:transparent;border:0;border-radius:.375rem;transform:translateY(-50%)}.date-input-wrap>button:hover{color:hsl(var(--primary));background:hsl(var(--accent))}.date-input-wrap>button svg{width:1rem;height:1rem}.editor-actions{display:flex;justify-content:flex-end;gap:.625rem;padding-top:.5rem}.delete-button{margin-right:auto;color:hsl(var(--destructive))}.receive-editor-button{margin-right:auto}.orders-editor,.breakdown-editor,.supplier-options-editor{display:grid;gap:.75rem;padding:1rem;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:.625rem}.supplier-option-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 36px;align-items:end;gap:.5rem;padding:.75rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.5rem}.supplier-option-row .field{min-width:0}.supplier-option-row .field:nth-child(3){grid-column:1 / 3}.supplier-option-row .breakdown-remove{grid-column:3;grid-row:2}.supplier-primary-label{grid-column:3;grid-row:2;align-self:center;margin-bottom:.45rem;padding:.25rem .45rem;color:hsl(var(--primary));background:hsl(var(--primary) / .1);border-radius:999px;font-size:.6875rem;font-weight:700}.supplier-reference-list{display:grid;gap:.45rem}.supplier-reference-list>div,.supplier-reference-list>span{display:grid;gap:.1rem}.supplier-reference-list span{color:hsl(var(--muted-foreground));font-size:.75rem}.supplier-reference-list svg{display:inline;width:13px}.breakdown-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.breakdown-editor-heading h3{margin:0;font-size:.9375rem}.breakdown-editor-heading p{margin:.2rem 0 0;color:hsl(var(--muted-foreground));font-size:.75rem}.breakdown-editor-heading svg{width:14px}.breakdown-editor-list{display:grid;gap:.625rem}.breakdown-editor-row{display:grid;grid-template-columns:.65fr 1fr .65fr 1.15fr 36px;align-items:end;gap:.5rem;padding:.75rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.5rem}.breakdown-editor-row .field{min-width:0}.breakdown-remove{margin-bottom:2px;color:hsl(var(--destructive))}.breakdown-warning,.breakdown-total{display:flex;align-items:flex-start;gap:.375rem;margin:0;font-size:.75rem}.breakdown-warning{color:hsl(var(--destructive))}.breakdown-total{color:hsl(var(--primary))}.breakdown-warning svg{flex:0 0 auto;width:15px}.orders-heading>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.orders-heading h3{margin:0;font-size:.9375rem}.orders-heading span,.orders-empty{color:hsl(var(--muted-foreground));font-size:.75rem}.orders-empty{margin:0}.order-list{display:grid;gap:.5rem}.order-card{display:grid;gap:.625rem;padding:.75rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.5rem}.order-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0}.order-card dl div{display:grid;gap:.15rem}.order-card dt{color:hsl(var(--muted-foreground));font-size:.6875rem}.order-card dd{margin:0;font-family:var(--font-mono);font-size:.75rem;font-weight:600}.order-card-actions{display:flex;gap:.375rem}.order-edit-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:.5rem}.order-edit-grid .field{min-width:0}.order-edit-grid input,.new-order input{min-width:0;width:100%}.order-card-actions svg{width:14px}.new-order{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.65fr) minmax(0,1fr);align-items:end;gap:.5rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}.new-order .field{min-width:0}.new-order>button{grid-column:1 / -1;justify-self:end;white-space:nowrap}.order-saved{display:flex;align-items:center;gap:.35rem;margin:0;color:hsl(var(--primary));font-size:.75rem;font-weight:700}.order-saved svg{width:15px}.action-error,.action-success{display:grid;grid-template-columns:20px 1fr 36px;align-items:center;gap:.625rem;margin-bottom:.75rem;padding:.75rem .875rem;color:hsl(var(--destructive));background:hsl(var(--destructive) / .09);border:1px solid hsl(var(--destructive) / .22);border-radius:.5rem;font-size:.8125rem;font-weight:600}.action-success{color:hsl(var(--primary));background:hsl(var(--primary) / .09);border-color:hsl(var(--primary) / .22)}.action-error svg,.action-success svg{width:18px}.action-error button,.action-success button{display:grid;place-items:center;width:36px;height:36px;color:currentColor;background:transparent;border:0}.action-error button svg,.action-success button svg{width:15px}.form-error{margin:0;color:hsl(var(--destructive));font-size:.8125rem}.stock-check-dialog{width:min(760px,94vw)!important;max-width:760px!important}.stock-check-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.stock-check-summary>div{display:grid;gap:.25rem;padding:.875rem;background:hsl(var(--muted) / .45);border:1px solid hsl(var(--border));border-radius:.625rem}.stock-check-summary span,.stock-check-empty span{color:hsl(var(--muted-foreground));font-size:.75rem}.stock-check-summary strong{font-family:var(--font-mono);font-size:1rem}.stock-check-table-wrap{max-height:min(42vh,360px);overflow:auto;border:1px solid hsl(var(--border));border-radius:.625rem}.stock-check-table{width:100%;min-width:0;table-layout:auto;border-collapse:collapse;font-size:.8125rem}.stock-check-table th,.stock-check-table td{padding:.625rem .75rem;text-align:right;border-bottom:1px solid hsl(var(--border))}.stock-check-table th{position:sticky;top:0;color:hsl(var(--muted-foreground));background:hsl(var(--card));font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em}.stock-check-table th:nth-child(2),.stock-check-table td:nth-child(2){text-align:left}.stock-check-table tbody tr:last-child td{border-bottom:0}.stock-positive{color:hsl(var(--primary));font-weight:700}.stock-negative{color:hsl(var(--destructive));font-weight:700}.stock-check-warning,.stock-check-empty{display:flex;align-items:flex-start;gap:.625rem;margin:0;padding:.75rem;border-radius:.5rem}.stock-check-warning{color:hsl(var(--warning));background:hsl(var(--warning) / .08);font-size:.8125rem}.stock-check-warning svg,.stock-check-empty>svg{width:18px;flex:0 0 auto}.stock-check-empty{background:hsl(var(--primary) / .08)}.stock-check-empty>div{display:grid;gap:.2rem}@media(max-width:640px){.stock-check-summary{grid-template-columns:1fr}.stock-check-table{min-width:580px}}@media(max-width:1180px){table.stock-check-table{min-width:580px}}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:3rem 1.5rem;text-align:center}.empty-state>svg,.error-state>svg{width:36px;height:36px;margin-bottom:1rem;color:hsl(var(--muted-foreground))}.empty-state h3,.error-state h1{margin:0;font-size:1.125rem}.empty-state p,.error-state p{margin:.375rem 0 1rem;color:hsl(var(--muted-foreground))}.loading-shell{display:grid;gap:1rem;height:100%;padding:2rem;background:hsl(var(--background))}.loading-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.nav-scrim{display:none}.production-movements{margin-bottom:1rem;padding:1.125rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.75rem;box-shadow:var(--shadow-xs)}.movements-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.movement-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.875rem;padding:1rem;background:hsl(var(--background) / .45);border:1px solid hsl(var(--border));border-radius:.75rem;box-shadow:var(--shadow-xs)}.movement-icon{display:grid;place-items:center;width:40px;height:40px;color:hsl(var(--primary));background:hsl(var(--accent));border-radius:.625rem}.movement-icon-ship{color:hsl(var(--muted-foreground));background:hsl(var(--muted))}.movement-card-override{grid-column:1 / -1;background:hsl(var(--warning) / .05);border-color:hsl(var(--warning) / .28)}.movement-icon-override{color:hsl(var(--warning));background:hsl(var(--warning) / .12)}.movement-icon svg{width:19px}.movement-copy{display:grid;gap:.2rem}.movement-copy strong{font-size:.875rem}.movement-copy span{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.4}.movement-control{display:flex;align-items:center;gap:.5rem}.movement-control input{width:78px;font-family:var(--font-mono);text-align:right}.override-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.override-review>div{display:grid;gap:.25rem;padding:.875rem;background:hsl(var(--muted) / .45);border:1px solid hsl(var(--border));border-radius:.625rem}.override-review span{color:hsl(var(--muted-foreground));font-size:.75rem}.override-review strong{font-family:var(--font-mono);font-size:1rem}.override-review p{display:flex;grid-column:1 / -1;align-items:center;gap:.5rem;margin:0;padding:.75rem;color:hsl(var(--warning));background:hsl(var(--warning) / .08);border-radius:.5rem;font-size:.8125rem}.override-review p svg{width:18px;flex:0 0 auto}.delivery-schedule{display:grid;gap:1rem;margin-bottom:1rem;padding:1.125rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.75rem;box-shadow:var(--shadow-xs)}.delivery-schedule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.delivery-schedule-head .section-toggle{width:100%}.delivery-schedule>.section-body{display:grid;gap:1rem}.delivery-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:.625rem}.delivery-row{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(100px,.45fr) minmax(200px,1.4fr) auto;align-items:center;gap:.875rem;min-height:52px;padding:.625rem .75rem;border-bottom:1px solid hsl(var(--border))}.delivery-row:last-child{border-bottom:0}.delivery-date{display:inline-flex;align-items:center;gap:.45rem;font-size:.8125rem;font-weight:600}.delivery-date svg{width:15px;color:hsl(var(--primary))}.delivery-row>strong{font-family:var(--font-mono);font-size:.875rem}.delivery-notes{overflow:hidden;color:hsl(var(--muted-foreground));font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.delivery-row-actions{display:flex;justify-content:flex-end;gap:.25rem}.delivery-row-actions>button:not([class]){display:grid;place-items:center;width:36px;height:36px;color:hsl(var(--muted-foreground));background:transparent;border:0;border-radius:.4rem}.delivery-row-actions>button:not([class]):hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.delivery-row-actions svg{width:15px}.delivery-add{display:grid;grid-template-columns:170px 110px minmax(200px,1fr) auto;align-items:end;gap:.75rem;padding-top:.125rem}.delivery-add .field{gap:.35rem}.delivery-add>button{height:40px}.workspace-shell{height:100dvh;overflow-y:auto;background:radial-gradient(circle at 84% 2%,hsl(var(--primary) / .09),transparent 28rem),hsl(var(--background))}.workspace-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 max(1.25rem,calc((100vw - 1260px)/2));background:hsl(var(--card) / .92);border-bottom:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workspace-brand{display:flex;align-items:center;gap:.75rem}.workspace-brand>span{padding-left:.75rem;color:hsl(var(--muted-foreground));border-left:1px solid hsl(var(--border));font-size:.75rem;font-weight:600;letter-spacing:.03em}.workspace-brand span{color:hsl(var(--muted-foreground));font-size:.75rem}.environment-badge{padding:.25rem .45rem;color:hsl(var(--foreground));background:#f6af232e;border:1px solid hsl(40 92% 55% / .45);border-radius:.35rem;font-size:.625rem;font-weight:800;letter-spacing:.09em;line-height:1;text-transform:uppercase}.workspace-content{width:min(1260px,100%);margin:0 auto;padding:4rem 1.25rem 5rem}.parts-reference{display:grid;gap:1.35rem}.parts-back{width:-moz-fit-content;width:fit-content;margin-left:-.75rem;gap:.45rem}.parts-count{display:flex;align-items:center;gap:.75rem;min-width:190px;padding:.9rem 1rem;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));color:hsl(var(--muted-foreground))}.parts-count>svg{width:22px;color:hsl(var(--primary))}.parts-count span{display:grid}.parts-count strong{color:hsl(var(--foreground));font-size:1.25rem;line-height:1}.parts-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--card));box-shadow:0 14px 35px hsl(var(--foreground) / .04)}.parts-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.4rem;border-bottom:1px solid hsl(var(--border))}.parts-toolbar h2{margin:.1rem 0 0;font-size:1.15rem}.parts-toolbar p:last-child{margin:.2rem 0 0;color:hsl(var(--muted-foreground));font-size:.83rem}.parts-search{position:relative;width:min(420px,100%)}.parts-search>svg{position:absolute;z-index:1;left:.8rem;top:50%;width:17px;transform:translateY(-50%);color:hsl(var(--muted-foreground))}.parts-search input{padding-left:2.35rem}.parts-table-wrap{max-height:min(68vh,760px);overflow:auto;scrollbar-gutter:stable}.parts-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;font-size:.94rem;table-layout:fixed}.parts-table th{position:sticky;top:0;z-index:3;padding:.78rem 1rem;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:.72rem;letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap}.parts-table td{padding:.9rem 1rem;border-top:1px solid hsl(var(--border) / .7);vertical-align:top}.parts-table tbody tr:nth-child(2n){background:hsl(var(--muted) / .35)}.parts-table tbody tr:hover{background:hsl(var(--primary) / .07)}.part-identity-options{display:grid;gap:.75rem}.part-identity-options button{display:grid;gap:.25rem;width:100%;padding:1rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));color:hsl(var(--foreground));text-align:left;transition:border-color .15s ease,background .15s ease}.part-identity-options button:hover,.part-identity-options button:focus-visible{border-color:hsl(var(--primary));background:hsl(var(--primary) / .06);outline:none}.part-identity-options button span{color:hsl(var(--muted-foreground));font-size:.85rem;line-height:1.45}.parts-table th:nth-child(1){width:12%}.parts-table th:nth-child(2){width:23%}.parts-table th:nth-child(3){width:25%}.parts-table th:nth-child(4){width:10%}.parts-table th:nth-child(5){width:22%}.parts-table th:nth-child(6){width:8%}.parts-table td{overflow-wrap:anywhere}.parts-table td>strong,.parts-table td>span,.parts-table td>small{display:block}.parts-table td>span,.parts-table td>small{margin-top:.18rem;color:hsl(var(--muted-foreground))}.parts-table td>small{font-size:.75rem}.part-number{color:hsl(var(--primary));font-variant-numeric:tabular-nums;white-space:nowrap}.parts-table a{display:inline-flex;align-items:center;gap:.3rem;color:hsl(var(--primary));font-weight:650}.parts-table a svg{width:13px}.project-tags{display:flex;flex-wrap:wrap;gap:.3rem}.project-tags span{padding:.24rem .45rem;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:.7rem;font-weight:700}.project-stock-list{display:grid;gap:.35rem}.project-stock-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-bottom:.25rem;border-bottom:1px solid hsl(var(--border) / .65)}.project-stock-list>div:last-child{padding-bottom:0;border-bottom:0}.project-stock-list span{color:hsl(var(--muted-foreground));font-size:.78rem}.project-stock-list strong{font-variant-numeric:tabular-nums;white-space:nowrap}.catalogue-lock-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid hsl(var(--primary) / .3);border-radius:.75rem;background:hsl(var(--primary) / .06)}.catalogue-lock-notice h3{margin:.2rem 0;font-size:1rem}.editor-sheet .catalogue-lock-notice{display:grid;grid-template-columns:minmax(0,1fr)}.editor-sheet .catalogue-lock-notice>div{min-width:0;overflow-wrap:anywhere}.editor-sheet .catalogue-lock-notice>button{white-space:normal;max-width:100%}.bom-catalogue-dialog.project-dialog{width:min(680px,calc(100vw - 24px));max-width:680px;max-height:calc(100dvh - 32px);overflow-y:auto}.bom-catalogue-dialog>*{min-width:0;overflow-wrap:anywhere}.bom-catalogue-actions{flex-wrap:wrap;gap:8px}.bom-catalogue-actions>button{margin-left:0!important;white-space:normal}.catalogue-lock-notice p,.catalogue-lock-notice span{margin:0;color:hsl(var(--muted-foreground));font-size:.82rem}.catalogue-edit-dialog{width:min(760px,calc(100vw - 2rem));max-width:760px;max-height:88vh;overflow-y:auto}.catalogue-edit-form{display:grid;gap:1rem}.catalogue-supplier-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:.75rem}.catalogue-alternative-row{grid-template-columns:1fr 1fr 1.2fr auto;align-items:end}.catalogue-alternatives-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-top:.25rem}.catalogue-alternatives-heading>div{display:grid;gap:.2rem}.catalogue-alternatives-heading span{color:hsl(var(--muted-foreground));font-size:.8rem}.parts-loading{display:grid;gap:.5rem;padding:1rem}.parts-cards{display:none}@media(max-width:760px){.parts-reference .workspace-intro{align-items:stretch}.parts-count{width:100%}.parts-toolbar{align-items:stretch;flex-direction:column}.parts-search{width:100%}.catalogue-lock-notice,.catalogue-alternatives-heading{align-items:stretch;flex-direction:column}.catalogue-supplier-row,.catalogue-alternative-row{grid-template-columns:1fr}.parts-table-wrap{display:none}.parts-cards{display:grid;gap:.75rem;padding:.75rem}.part-card{padding:1rem;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--background))}.part-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:hsl(var(--muted-foreground));font-size:.8rem}.part-card h3{margin:.55rem 0 0;font-size:1rem}.part-card>p{margin:.25rem 0 0;color:hsl(var(--muted-foreground));font-size:.82rem}.part-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:.9rem 0}.part-card dl div{min-width:0}.part-card dt{color:hsl(var(--muted-foreground));font-size:.68rem;font-weight:700;text-transform:uppercase}.part-card dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.82rem}}.workspace-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.workspace-intro h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;letter-spacing:-.055em}.workspace-intro>div>p:last-child{margin:.75rem 0 0;color:hsl(var(--muted-foreground));font-size:1rem}.workspace-intro>button{flex:0 0 auto}.workspace-actions{display:flex;flex:0 0 auto;gap:.625rem}.workspace-calendar{margin-bottom:2rem;padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--card-border));border-radius:.75rem;box-shadow:var(--shadow-xs)}.calendar-heading,.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-heading{align-items:flex-start;margin-bottom:0}.calendar-heading h2{display:flex;align-items:center;gap:.5rem;margin:.15rem 0 0;font-size:1.25rem;letter-spacing:-.025em}.calendar-heading h2 svg{width:20px;color:hsl(var(--primary))}.calendar-heading p:last-child{margin:.35rem 0 0;color:hsl(var(--muted-foreground));font-size:.875rem}.calendar-summary{display:flex;gap:1.5rem;flex:0 0 auto;padding:.65rem .85rem;background:hsl(var(--muted) / .45);border:1px solid hsl(var(--border));border-radius:.625rem}.calendar-summary span{display:grid;gap:.15rem;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.calendar-summary strong{color:hsl(var(--foreground));font-family:var(--font-mono);font-size:1rem}.calendar-collapse{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;color:hsl(var(--muted-foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.5rem}.calendar-collapse:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .45)}.calendar-collapse svg{width:18px;transition:transform .16s ease}.calendar-collapse .calendar-chevron-open{transform:rotate(180deg)}.calendar-body{margin-top:1.25rem}.calendar-toolbar{margin-bottom:.75rem}.calendar-toolbar>strong{font-size:.9375rem}.calendar-toolbar>div{display:flex;gap:.4rem}.calendar-legend{flex-wrap:wrap;margin-left:auto}.calendar-legend span{display:inline-flex;align-items:center;gap:.3rem;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:650}.calendar-legend span:before{width:8px;height:8px;background:currentColor;border-radius:50%;content:""}.calendar-legend-on-track{color:#2f9359!important}.calendar-legend-at-risk{color:#cd870e!important}.calendar-legend-overdue{color:#d22d2d!important}.calendar-legend-completed{color:hsl(var(--muted-foreground))!important}.calendar-toolbar svg{width:17px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid hsl(var(--border));border-radius:.625rem}.calendar-weekday{padding:.55rem .6rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .55);border-bottom:1px solid hsl(var(--border));font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.calendar-day{min-width:0;min-height:112px;padding:.5rem;background:hsl(var(--card));border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.calendar-day:nth-child(7n){border-right:0}.calendar-day>time{display:grid;place-items:center;width:26px;height:26px;margin-bottom:.35rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.75rem;font-weight:600;border-radius:50%}.calendar-day-outside{background:hsl(var(--muted) / .22)}.calendar-day-outside>time{opacity:.42}.calendar-day-today>time{color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.calendar-events{display:grid;gap:.25rem}.calendar-event{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) auto;min-width:0;gap:.35rem;padding:.35rem .4rem;color:hsl(var(--foreground));background:hsl(var(--accent) / .75);border:1px solid hsl(var(--primary) / .2);border-radius:.35rem;font-size:.6875rem;text-align:left}.calendar-event:hover{background:hsl(var(--accent));border-color:hsl(var(--primary) / .55)}.calendar-event-on-track{background:#2f935921;border-color:#2f935973}.calendar-event-at-risk{background:#cd870e24;border-color:#cd870e80}.calendar-event-overdue{background:#d22d2d21;border-color:#d22d2d7a}.calendar-event-completed{color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .65);border-color:hsl(var(--border))}.calendar-event-status{grid-column:1 / -1;overflow:hidden;max-width:100%;color:currentColor;font-size:.5625rem;font-weight:750;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.calendar-event-project{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{flex:0 0 auto;color:hsl(var(--primary));font-family:var(--font-mono)}.calendar-empty,.calendar-state{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:64px;color:hsl(var(--muted-foreground));font-size:.8125rem}.calendar-state-error{color:hsl(var(--destructive))}.calendar-state svg{width:18px}.calendar-skeleton{height:520px;border-radius:.625rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-reorder-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-height:40px;margin-bottom:.75rem}.project-card-shell{position:relative;display:grid;min-width:0;transition:opacity .16s ease,transform .16s ease}.project-card-shell.is-dragged{opacity:.48;transform:scale(.985)}.project-card-shell.is-drop-target:before{position:absolute;z-index:2;inset:-3px;border:2px solid hsl(var(--primary));border-radius:.875rem;pointer-events:none;content:""}.project-card-shell>.project-card{width:100%;height:100%}.project-card-reorder-controls{position:absolute;z-index:3;top:.75rem;right:.75rem;left:.75rem;display:flex;align-items:center;justify-content:space-between;cursor:grab}.project-card-reorder-controls:active{cursor:grabbing}.project-drag-label{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .5rem;color:hsl(var(--foreground));background:hsl(var(--background) / .94);border:1px solid hsl(var(--border));border-radius:.45rem;box-shadow:var(--shadow-xs);font-size:.6875rem;font-weight:700}.project-drag-label svg{width:14px;height:14px}.project-card-reorder-controls .reorder-buttons{display:flex;gap:.35rem}.project-card-reorder-controls button{width:32px;height:32px;background:hsl(var(--background) / .94)}.project-grid-reordering .project-card{padding-top:4.5rem;transform:none;cursor:default}.project-grid-reordering .project-card-new{opacity:.5}.project-card,.project-card-skeleton{min-height:310px;border-radius:.75rem}.project-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:1.25rem;padding:1.5rem;color:hsl(var(--card-foreground));background:hsl(var(--card));border:1px solid hsl(var(--card-border));box-shadow:var(--shadow-xs);text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.project-card:hover{transform:translateY(-2px);border-color:hsl(var(--primary) / .48);box-shadow:0 12px 30px #0f172a14}.project-card:disabled{color:hsl(var(--card-foreground));opacity:1}.project-card-top,.project-build,.project-status{display:flex;align-items:center}.project-card-top{justify-content:space-between}.project-icon{display:grid;place-items:center;width:42px;height:42px;color:hsl(var(--primary));background:hsl(var(--accent));border-radius:.625rem}.project-icon svg{width:20px}.project-open{display:inline-flex;align-items:center;gap:.35rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:700}.project-open svg{width:14px;transition:transform .16s ease}.project-card:hover .project-open svg{transform:translate(3px)}.project-card-title{display:grid;gap:.25rem}.project-card-title h2{margin:0;font-size:1.25rem;letter-spacing:-.025em}.project-card-title span{color:hsl(var(--muted-foreground));font-size:.8125rem}.project-build{align-items:flex-start;gap:2rem;padding:1rem 0;border-block:1px solid hsl(var(--border))}.project-build>div{display:grid;gap:.25rem}.project-build span{color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:600;text-transform:uppercase}.project-build strong{font-family:var(--font-mono);font-size:1.5rem;line-height:1}.project-status{flex-wrap:wrap;gap:.75rem;color:hsl(var(--muted-foreground));font-size:.75rem}.project-status span{display:inline-flex;align-items:center;gap:.3rem}.project-status svg{width:13px}.project-status span:first-child svg{color:hsl(var(--primary))}.project-status span:nth-child(2) svg{color:#e78d0d}.project-status span:last-child svg{color:hsl(var(--destructive))}.project-track{display:flex;overflow:hidden;height:6px;background:hsl(var(--muted));border-radius:999px}.project-card-new{place-items:center;place-content:center;grid-template-rows:none;gap:.5rem;color:hsl(var(--muted-foreground));background:transparent;border-style:dashed;text-align:center}.project-card-new>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:.5rem;color:hsl(var(--primary));background:hsl(var(--accent));border-radius:50%}.project-card-new svg{width:20px}.project-card-new strong{color:hsl(var(--foreground))}.project-card-new small{font-size:.75rem}.workspace-error{display:grid;place-items:center;min-height:300px;padding:2rem;color:hsl(var(--muted-foreground));text-align:center}.workspace-error svg{width:32px;height:32px}.workspace-error h2{margin:1rem 0 0;color:hsl(var(--foreground))}.workspace-error p{margin:.35rem 0 0}.receipt-summary{padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--muted) / .35)}.receipt-summary>strong{display:block;overflow-wrap:anywhere}.receipt-part-number,.receipt-summary dt{color:hsl(var(--muted-foreground));font-size:.75rem}.receipt-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.receipt-summary dd{font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.receipt-dialog .editor-form{margin-top:0}.project-dialog{max-width:460px}.project-form{display:grid;gap:1rem;padding-top:.5rem}.project-action-choices{display:grid;gap:.625rem}.project-action-choices>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:72px;padding:.875rem;color:hsl(var(--foreground));background:hsl(var(--muted) / .35);border:1px solid hsl(var(--border));border-radius:.625rem;text-align:left}.project-action-choices>button:hover{background:hsl(var(--accent) / .7);border-color:hsl(var(--primary) / .45)}.project-action-choices>button>svg:first-child{width:20px;color:hsl(var(--primary))}.project-action-choices>button>svg:last-child{width:17px;color:hsl(var(--muted-foreground))}.project-action-choices>button>span{display:grid;gap:.2rem}.project-action-choices small{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.4}.project-action-choices>.delete-project-choice:hover{border-color:hsl(var(--destructive) / .55)}.project-action-choices>.delete-project-choice>svg:first-child,.project-action-choices>.delete-project-choice strong{color:hsl(var(--destructive))}.reset-warning{margin:0;padding:.75rem .875rem;color:hsl(var(--destructive));background:hsl(var(--destructive) / .08);border:1px solid hsl(var(--destructive) / .28);border-radius:.5rem;font-size:.8125rem;font-weight:650;line-height:1.45}.template-download{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.875rem;color:hsl(var(--foreground));background:hsl(var(--accent) / .55);border:1px solid hsl(var(--primary) / .25);border-radius:.625rem;text-decoration:none;transition:border-color .16s ease,background .16s ease}.template-download:hover{background:hsl(var(--accent));border-color:hsl(var(--primary) / .55)}.template-download>span:first-child{display:grid;place-items:center;width:36px;height:36px;color:hsl(var(--primary));background:hsl(var(--card));border-radius:.5rem}.template-download>span:nth-child(2){display:grid;gap:.15rem}.template-download small{color:hsl(var(--muted-foreground));font-size:.75rem}.template-download svg{width:18px}.workbook-picker{display:grid;place-items:center;min-height:150px;padding:1.25rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);border:1px dashed hsl(var(--border));border-radius:.75rem;text-align:center}.workbook-picker:hover,.workbook-picker-selected{color:hsl(var(--foreground));background:hsl(var(--accent) / .4);border-color:hsl(var(--primary) / .55)}.workbook-picker svg{width:28px;height:28px;margin-bottom:.625rem;color:hsl(var(--primary))}.workbook-picker strong{font-size:.875rem}.workbook-picker span{max-width:320px;margin-top:.25rem;font-size:.75rem;line-height:1.4}@media(max-width:1180px){table{min-width:1240px}.bom-table .col-item{width:28%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(3,1fr)}.metric-expanded{grid-column:span 3}.metric:nth-child(4),.metric:nth-child(5){grid-column:span 1}.readiness-strip{grid-template-columns:1fr;gap:.75rem}.movements-body{grid-template-columns:1fr}.delivery-row{grid-template-columns:170px 100px minmax(160px,1fr) auto}.delivery-add{grid-template-columns:170px 110px minmax(180px,1fr)}.delivery-add>button{grid-column:1 / -1;justify-self:end}}@media(max-width:820px){.app-shell{grid-template-columns:1fr;grid-template-rows:64px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(280px,84vw);transform:translate(-100%);transition:transform .2s ease}.sidebar-open{transform:translate(0)}.mobile-close{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;color:hsl(var(--sidebar-foreground));background:transparent;border:0}.mobile-close svg{width:18px}.nav-scrim{position:fixed;inset:0;z-index:55;display:block;background:#0000007a;border:0}.topbar,.main-content{grid-column:1}.topbar{padding:0 1rem}.menu-button{display:grid;margin-right:.625rem}.title-group{margin-right:auto}.title-group>span{display:none}.target-control label>span{display:none}.target-control{gap:.375rem}.target-control>button{min-width:44px;padding-inline:.625rem}.topbar-actions>button:nth-child(2){display:none}.main-content{padding:1.25rem 1rem 3rem}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-expanded{grid-column:span 2}.metric:last-child{grid-column:span 2}}@media(max-width:640px){.project-reorder-toolbar{align-items:stretch;flex-direction:column}.project-reorder-toolbar>button{align-self:flex-end}.workspace-header{height:64px;padding-inline:1rem}.workspace-content{padding:2rem 1rem 4rem}.workspace-intro{align-items:stretch;flex-direction:column;gap:1.25rem}.workspace-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.workspace-calendar{margin-inline:-.25rem;padding:1rem}.calendar-heading{flex-direction:column;gap:.875rem}.calendar-summary{justify-content:space-between;width:100%}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar>div{width:100%}.calendar-legend{margin-left:0}.calendar-navigation{display:grid!important;grid-template-columns:1fr 44px 44px}.calendar-toolbar button{flex:1}.calendar-grid{grid-template-columns:repeat(7,minmax(104px,1fr));overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.calendar-day{min-height:96px}.project-grid{grid-template-columns:1fr}.project-card,.project-card-skeleton{min-height:290px}.workspace-brand span{display:none}.new-order{grid-template-columns:1fr}.order-card dl{gap:.4rem}.order-edit-grid{grid-template-columns:1fr}.overview-head{align-items:flex-start;flex-direction:column}.overview-actions button:first-child{display:none}.overview-actions{display:flex;width:100%}.overview-actions button{flex:1}.movement-card{grid-template-columns:auto minmax(0,1fr)}.movement-control{grid-column:1 / -1}.movement-control input{flex:0 0 84px}.movement-control button{flex:1}.override-review{grid-template-columns:1fr}.override-review p{grid-column:1}.delivery-schedule{padding:1rem}.delivery-row,.delivery-row-edit{grid-template-columns:1fr auto;gap:.5rem}.delivery-notes,.delivery-row-edit>input:nth-child(3){grid-column:1 / -1}.delivery-row-actions{grid-column:2;grid-row:1 / span 2}.delivery-row-edit .delivery-row-actions{grid-column:1 / -1;grid-row:auto;justify-content:flex-start}.delivery-add{grid-template-columns:1fr 100px}.delivery-notes-input,.delivery-add>button{grid-column:1 / -1}.delivery-add>button{width:100%}.overview-head h2{font-size:1.125rem}.metrics-grid{display:flex;overflow-x:auto;gap:.625rem;margin-inline:-1rem;padding-inline:1rem;scroll-snap-type:x mandatory}.metric,.metric:last-child{flex:0 0 176px;grid-column:auto;scroll-snap-align:start}.metric-expanded,.metric-expanded:last-child{flex-basis:calc(100vw - 2rem)}.limiting-part-row{grid-template-columns:34px minmax(130px,1fr) auto;gap:.5rem}.limiting-part-row>span:not(.limiting-part-id){display:none}.limiting-parts-head{align-items:flex-start;flex-direction:column;gap:.2rem}.readiness-strip>div:first-child{align-items:flex-start;flex-direction:column;gap:.25rem}.table-toolbar,.components-tools{align-items:stretch;flex-direction:column}.components-tools>button{width:100%}.search-box{width:100%}.table-wrap{display:none}.mobile-cards{display:grid}.component-card{position:relative;display:grid;width:100%;min-height:44px;color:hsl(var(--foreground));background:hsl(var(--card));border:0;border-bottom:1px solid hsl(var(--border));text-align:left}.component-card:last-child{border-bottom:0}.component-card-main{position:relative;display:grid;gap:.375rem;width:100%;padding:1rem 2.75rem 1rem 1rem;color:inherit;text-align:left}.component-card-main>span{color:hsl(var(--muted-foreground));font-size:.75rem}.component-card-main>svg{position:absolute;right:1rem;top:50%;width:18px;color:hsl(var(--muted-foreground));transform:translateY(-50%)}.component-card-head{display:flex;align-items:center;justify-content:space-between}.component-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:.625rem 0 0}.mobile-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;padding:.5rem .75rem .625rem 1rem;border-top:1px solid hsl(var(--border) / .72)}.mobile-card-actions>span{min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.mobile-card-actions .row-action{flex:0 0 40px;width:40px;height:40px}.component-card dl div{display:grid;gap:.125rem}.component-card dt{color:hsl(var(--muted-foreground));font-size:.6875rem}.component-card dd{margin:0;font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.breakdown-mobile{max-width:none;margin:-.25rem 1rem .75rem}.breakdown-mobile summary{min-height:36px}.breakdown-mobile .breakdown-content{padding:.75rem}.breakdown-editor-heading{align-items:stretch;flex-direction:column}.breakdown-editor-heading button{width:100%}.breakdown-editor-row{grid-template-columns:.8fr 1.2fr .75fr 36px}.breakdown-editor-row .breakdown-note{grid-column:1 / 4}.supplier-option-row,.supplier-option-primary{grid-template-columns:1fr}.supplier-option-row .field:nth-child(3),.supplier-option-row .breakdown-remove,.supplier-primary-label{grid-column:1;grid-row:auto}.supplier-option-row .breakdown-remove{justify-self:end}.supplier-primary-label{justify-self:start;margin:0}.field-row{grid-template-columns:1fr}.editor-actions{flex-wrap:wrap}.receive-editor-button,.delete-button{width:100%;margin-right:0}}@media(max-width:420px){.title-group h1{font-size:1rem}.target-control input{width:66px}.target-control>button{width:44px;min-width:44px;overflow:hidden;font-size:0}.target-control>button:after{content:"✓";font-size:1rem}.topbar-actions{gap:.375rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.catalogue-maintenance-dialog{width:calc(100vw - 2rem);max-width:880px;max-height:calc(100dvh - 2rem);display:flex;flex-direction:column}.catalogue-maintenance-body{overflow-y:auto;min-height:0;display:grid;gap:1rem;padding:2px 4px;overflow-wrap:anywhere}.maintenance-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.maintenance-card{border:1px solid hsl(var(--border));border-radius:10px;padding:1rem;display:grid;gap:.65rem;min-width:0}.maintenance-card h3{font-weight:650}.maintenance-note{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5}.maintenance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.maintenance-choices{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.maintenance-review{display:flex;align-items:flex-start;gap:.6rem;font-size:.875rem}.maintenance-review input{margin-top:.25rem;width:1rem;height:1rem;flex-shrink:0}.maintenance-select{width:100%;min-width:0;height:44px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));padding:.5rem}@media(max-width:600px){.maintenance-comparison,.maintenance-fields{grid-template-columns:1fr}.catalogue-maintenance-dialog{padding:1rem}}.sourcing-project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.sourcing-project-link{display:flex;align-items:center;gap:16px;text-align:left;padding:24px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card));color:inherit}.sourcing-project-link:hover{border-color:hsl(var(--primary))}.sourcing-project-link small{display:block;margin-top:6px;opacity:.7}.sourcing-project-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}.sourcing-calendar{margin:0 0 24px}.sourcing-calendar-help{padding:0 24px 16px;font-size:13px;line-height:1.6}.sourcing-calendar .calendar-event{grid-template-columns:minmax(0,1fr);overflow-wrap:anywhere;font-size:12px;gap:4px}.sourcing-calendar .calendar-event-project{white-space:normal;font-weight:700}.sourcing-calendar .calendar-event-status{font-size:12px}.supply-po>summary{line-height:1.8}.supply-po>summary .supply-po-status{display:inline-block;padding:1px 8px;border:1px solid hsl(var(--border));border-radius:4px;font-size:12px;font-weight:700;background:hsl(var(--background));color:hsl(var(--foreground))}.supply-po>summary .supply-po-fulfilled{color:hsl(var(--primary));background:hsl(var(--accent));border-color:hsl(var(--primary) / .4)}.supply-po>summary .supply-po-partial{border-color:#cd870e99}.variation-workspace{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:12px;padding:20px;margin-bottom:24px;min-width:0;scroll-margin-top:90px}.variation-workspace h2{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600}.variation-workspace .section-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.variation-workspace p{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.variation-section{border-top:1px solid hsl(var(--border));margin-top:20px;padding-top:16px}.variation-section summary{cursor:pointer;font-weight:600;font-size:15px;padding-bottom:12px}.variation-section summary>svg{display:inline-block;vertical-align:middle;margin-right:6px}.variation-section summary span{font-weight:400;color:hsl(var(--muted-foreground));font-size:12px;margin-left:12px}.variation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.variation-cards article{padding:16px;border:1px solid hsl(var(--border));border-radius:8px}.variation-cards article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.variation-cards h3{font-weight:600;font-size:16px;overflow-wrap:anywhere}.variation-cards dl{display:flex;justify-content:space-between;gap:12px;margin:12px 0}.variation-cards dt{font-size:12px;color:hsl(var(--muted-foreground))}.variation-cards dd{font-size:20px;font-variant-numeric:tabular-nums}.variation-workspace select,.variation-form select{width:100%;border:1px solid hsl(var(--border));background:hsl(var(--card));color:inherit;border-radius:6px;min-height:40px;padding:8px}.variation-toolbar,.variation-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.variation-movements{display:grid;grid-template-columns:minmax(180px,340px) 100px max-content minmax(160px,1fr);align-items:end;gap:16px;padding:16px;background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border));border-radius:8px}.variation-movements .field{min-width:0}.variation-build-button{min-height:40px}.variation-movement-context{display:flex;gap:8px;align-items:center;align-self:center;padding-top:22px;font-size:13px;color:hsl(var(--muted-foreground))}.variation-movement-context strong{color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.variation-movement-context svg{flex-shrink:0}.variation-select-menu{min-width:var(--radix-select-trigger-width);max-width:calc(100vw - 32px);max-height:300px;background:hsl(var(--popover));color:hsl(var(--popover-foreground))}.variation-override{margin-top:12px;padding:12px 16px;border:1px dashed hsl(var(--border));border-radius:8px}.variation-override summary{font-size:13px;color:hsl(var(--muted-foreground));font-weight:500;padding-bottom:0}.variation-override p{margin:12px 0}.existing-units-controls{display:grid;grid-template-columns:minmax(160px,320px) minmax(100px,160px) max-content;align-items:end;gap:12px}.existing-units-controls>*{min-width:0}@media(max-width:700px){.existing-units-controls{grid-template-columns:minmax(0,1fr) minmax(100px,140px)}.existing-units-controls>button{grid-column:1/-1}}.variation-toolbar{justify-content:space-between;align-items:center;margin:8px 0 16px}.variation-toolbar p{flex:1;min-width:200px}.variation-po{margin:16px 0;border:1px solid hsl(var(--border));border-radius:8px;overflow:hidden}.variation-po h3{padding:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:15px;font-weight:600}.variation-po h3 span{font-size:12px;font-weight:400}.variation-table-wrap{max-width:100%;overflow:auto}.variation-table-wrap table{width:100%;min-width:0;table-layout:auto;border-collapse:collapse;font-size:14px}.variation-table-wrap th{position:static;padding:12px;white-space:nowrap;font-size:12px;text-align:left;color:hsl(var(--muted-foreground));background:hsl(var(--muted))}.variation-table-wrap td{padding:12px;border-top:1px solid hsl(var(--border));vertical-align:top;min-width:90px}.variation-table-wrap tr:nth-child(2n){background:hsl(var(--muted))}.variation-table-wrap small{display:block;color:hsl(var(--muted-foreground));font-size:12px;max-width:270px;margin-top:4px}.variation-table-wrap .variation-actions{flex-wrap:nowrap}.variation-status{font-size:12px;white-space:nowrap;text-transform:capitalize}.variation-status.at-risk,.variation-status.overdue,.variation-error{color:#c44d35}.variation-status.on-track,.variation-status.completed{color:#22845b}.dark .variation-status.at-risk,.dark .variation-status.overdue,.dark .variation-error{color:#ffa483}.dark .variation-status.on-track,.dark .variation-status.completed{color:#72d5aa}.variation-dialog{max-width:880px!important;width:calc(100vw - 32px);max-height:90vh;overflow-y:auto}.variation-dialog>*,.variation-dialog form,.variation-fields>*{min-width:0}.variation-fields{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 20px}.variation-usage{max-height:42vh;margin:16px 0}.variation-usage th{position:sticky;top:0}.variation-usage td:first-child{min-width:240px}.variation-usage input{min-width:80px}.variation-form{display:grid;gap:16px}.variation-workspace .field-help{margin:12px 0}.bom-variation-filter{padding:16px 20px;border-bottom:1px solid hsl(var(--border))}.bom-variation-toggles{display:flex;flex-wrap:wrap;gap:8px}.bom-variation-toggles button{max-width:100%;height:auto;min-height:36px;white-space:normal;overflow-wrap:anywhere}.bom-variation-filter p{margin:12px 0 0;font-size:12px;color:hsl(var(--muted-foreground))}.bom-used-in{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px;font-size:12px;color:hsl(var(--muted-foreground));white-space:normal}.bom-variation-tag{padding:2px 6px;border-radius:4px;background:hsl(var(--muted));border:1px solid hsl(var(--border));color:hsl(var(--foreground));overflow-wrap:anywhere}.bom-table .col-variation-usage{width:10%}.bom-table td.bom-usage-cell{white-space:normal;min-width:125px}.bom-variation-usage{display:grid;gap:8px;text-align:left}.bom-usage-line{display:grid;gap:2px}.bom-usage-line>span,.bom-unassigned{font-size:12px;color:hsl(var(--muted-foreground));overflow-wrap:anywhere}.bom-usage-line strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.bom-mobile-usage{display:block;padding:12px 0}.bom-mobile-usage>span:first-child{display:block;font-size:12px;color:hsl(var(--muted-foreground));margin-bottom:8px}.bom-mobile-usage .bom-variation-usage{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.variant-breakdown-group+.variant-breakdown-group{border-top:1px solid hsl(var(--border));padding-top:12px;margin-top:12px}.variant-piece-editor{font-size:13px;padding:4px 0}.variant-piece-editor summary{cursor:pointer;color:hsl(var(--primary))}.variant-piece-editor p{margin:12px 0;font-size:12px;color:hsl(var(--muted-foreground))}.variant-piece-row{display:grid;grid-template-columns:80px 110px 70px minmax(140px,1fr) auto;align-items:end;gap:8px;padding:8px 0}.variant-piece-row label{font-size:12px;min-width:0}.variation-usage .variant-piece-row input{min-width:0}.variation-table-wrap .variant-piece-table-row td{padding-top:0;border-top:0}@media(max-width:700px){.variation-usage .variant-piece-table-row{display:block;padding:0 6px 12px;border-top:0}.variation-usage .variant-piece-table-row td{display:block;width:100%}.variation-usage tr.variant-piece-table-row td:before{content:none}.variant-piece-row{grid-template-columns:repeat(3,minmax(0,1fr))}.variant-piece-note,.variant-piece-row button{grid-column:1/-1}.variation-workspace{padding:14px}.variation-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.variation-fields .field:first-child{grid-column:1/-1}.variation-section summary span{display:block;margin:4px 0 0}.variation-dialog{max-height:85vh}.variation-target{font-size:12px;padding:6px 8px}.variation-target span,.variation-usage thead{display:none}.variation-usage tbody,.variation-usage tr{display:block;width:100%}.variation-usage tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px 0;border-top:1px solid hsl(var(--border))}.variation-usage td{min-width:0;border:0;padding:6px}.variation-usage td:first-child{grid-column:1/-1;min-width:0}.variation-usage td:nth-child(2):before{content:"Quantity used"}.variation-usage td:nth-child(3):before{content:"Builds covered"}.variation-usage td:last-child{grid-column:1/-1}.variation-usage td:last-child:before{content:"Shared stock: "}.variation-usage td:before{font-size:12px;color:hsl(var(--muted-foreground))}.variation-movements{grid-template-columns:minmax(0,1fr) 88px;padding:12px;gap:12px}.variation-build-button{grid-column:1/-1}.variation-movement-context{grid-column:1/-1;padding-top:0}}@media(min-width:701px)and (max-width:1200px){.variation-movements{grid-template-columns:minmax(160px,1fr) 100px max-content}.variation-movement-context{grid-column:1/-1;padding-top:0}}.component-variation-picker{display:grid;gap:12px;padding:16px;border:1px solid hsl(var(--border));border-radius:10px}.component-variation-picker h3{font-weight:600}.component-variation-choice{display:grid;gap:12px;padding:12px 0;border-top:1px solid hsl(var(--border))}.component-variation-check{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.component-variation-check input{width:18px;height:18px;accent-color:hsl(var(--primary))}.shipment-commitment-select{flex:1 1 100%;min-width:0;display:grid;gap:6px}.shipment-commitment-select label,.shipment-commitment-select small{font-size:12px;color:hsl(var(--muted-foreground))}.movement-control:has(.shipment-commitment-select){flex-wrap:wrap}.movement-card:has(.shipment-commitment-select){grid-template-columns:auto minmax(0,1fr)}.movement-card:has(.shipment-commitment-select) .movement-control{grid-column:1 / -1;min-width:0}.shipment-commitment-select button{width:100%;min-width:0}.shipment-commitment-select button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commitment-progress{font-family:var(--font-sans);line-height:1.5}.shipment-reference,.commitment-progress{display:block;font-size:12px;font-weight:400;color:hsl(var(--muted-foreground));margin-top:4px;overflow-wrap:anywhere}.commitment-status{display:inline-block;font-size:12px;margin-top:6px;padding:3px 8px;background:hsl(var(--muted));border-radius:6px}.commitment-status.completed{color:hsl(var(--primary));background:hsl(var(--primary) / .12)}.commitment-legacy-note{padding:12px;border:1px solid hsl(var(--border));border-radius:8px;color:hsl(var(--muted-foreground));font-size:13px}.shipment-allocation-dialog{max-width:680px;max-height:90dvh;overflow-y:auto}.allocation-rows,.allocation-review{display:grid;gap:16px;min-width:0}.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:end;gap:12px;padding:12px;border:1px solid hsl(var(--border));border-radius:8px}.allocation-row label,.allocation-row button{min-width:0}.allocation-row [role=combobox]>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.allocation-review>div{display:grid;gap:5px;padding:12px;border:1px solid hsl(var(--border));border-radius:8px}.allocation-review small,.variation-historical-allocation small{color:hsl(var(--muted-foreground))}.shipment-allocation-line{display:block;margin:4px 0;overflow-wrap:anywhere}.variation-historical-allocation{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px;border-bottom:1px solid hsl(var(--border))}.variation-historical-allocation small{display:block}.commitment-legacy-note>button{margin-top:10px}@media(max-width:600px){.allocation-row{grid-template-columns:minmax(0,1fr)}}.forecast-row.forecast-completed{border-left-color:hsl(var(--primary));background:hsl(var(--primary) / .04)}.forecast-completed .forecast-badge{color:hsl(var(--primary));background:hsl(var(--primary) / .12)}.forecast-more{margin-top:.75rem}.supply-shipment-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-start}.tracking-link{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.tracking-link:hover{text-decoration-thickness:2px}.shipment-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.shipment-detail-fields label{display:grid;gap:.35rem;font-size:.85rem;color:hsl(var(--muted-foreground))}.link-button{all:unset;cursor:pointer;margin-left:.5rem;color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px;font-size:inherit}.link-button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:3px}@media(max-width:640px){.shipment-detail-fields{grid-template-columns:1fr}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:block:after{content:var(--tw-content);display:block}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-black\/10:after{content:var(--tw-content);border-color:#0000001a}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.first\:rounded-l-md:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.hover\:bg-sidebar-accent:hover{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.hover\:text-muted-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.hover\:text-sidebar-accent-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1))}.focus\:bg-accent:focus{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.focus\:bg-primary:focus{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.focus\:text-accent-foreground:focus{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.focus\:text-primary-foreground:focus{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background) / 1)}.active\:bg-sidebar-accent:active{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.active\:text-sidebar-accent-foreground:active{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.active\:shadow-none:active{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--destructive) / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.aria-selected\:text-muted-foreground[aria-selected=true]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity: 1;background-color:hsl(var(--input) / var(--tw-bg-opacity, 1))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-xs[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]{width:var(--sidebar-width-icon)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5625rem}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{--tw-border-opacity: 1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity, 1))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity, 1))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.dark\:border-destructive:is(.dark *){--tw-border-opacity: 1;border-color:hsl(var(--destructive) / var(--tw-border-opacity, 1))}.dark\:after\:border-white\/10:is(.dark *):after{content:var(--tw-content);border-color:#ffffff1a}@media(min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5625rem}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media(min-width:768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.\[\&\>svg\]\:text-foreground>svg{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.\[\&\>svg\]\:text-muted-foreground>svg{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground) / 1)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border) / 1)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border) / 1)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted) / 1)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border) / 1)}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}
