:root{color-scheme:light;--bg: oklch(.984 .004 75);--paper: oklch(.997 .0016 75);--off-paper: oklch(.957 .006 75);--sidebar-bg: oklch(.972 .005 75);--hairline: oklch(.905 .006 75);--hairline-strong: oklch(.82 .009 70);--subtle: color-mix(in oklch, var(--ink) 5%, transparent);--ink: oklch(.255 .008 70);--ink-2: oklch(.42 .011 70);--ink-3: oklch(.515 .013 70);--ink-4: oklch(.66 .011 70);--ink-70: var(--ink-2);--ink-60: var(--ink-2);--ink-50: var(--ink-3);--ink-40: var(--ink-4);--ink-30: var(--ink-4);--tessera: oklch(.6 .118 64);--tessera-deep: oklch(.52 .115 62);--brand: var(--brand-primary, var(--tessera));--brand-hover: color-mix(in oklch, var(--brand) 82%, black);--brand-ink: var(--brand-on, #ffffff);--brand-soft: color-mix(in oklch, var(--brand) 12%, transparent);--brand-softer: color-mix(in oklch, var(--brand) 7%, transparent);--brand-accent: var(--brand-secondary, var(--ink));--red: var(--brand);--red-hover: var(--brand-hover);--red-tint: var(--brand-soft);--steel: var(--brand-accent);--steel-hover: color-mix(in oklch, var(--brand-accent) 80%, black);--success: oklch(.55 .1 150);--success-soft: color-mix(in oklch, var(--success) 13%, transparent);--warning: oklch(.62 .12 70);--warning-soft: color-mix(in oklch, var(--warning) 15%, transparent);--danger: oklch(.52 .17 25);--danger-hover: color-mix(in oklch, var(--danger) 84%, black);--danger-soft: color-mix(in oklch, var(--danger) 11%, transparent);--info: oklch(.53 .07 245);--info-soft: color-mix(in oklch, var(--info) 13%, transparent);--sage: var(--success);--sage-tint: var(--success-soft);--amber: var(--warning);--amber-tint: var(--warning-soft);--focus: var(--brand);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Libre Caslon Display", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-2xs: .6875rem;--t-xs: .75rem;--t-sm: .8125rem;--t-ui: .875rem;--t-base:.9375rem;--t-md: 1rem;--t-lg: 1.125rem;--t-xl: 1.375rem;--t-2xl: 1.75rem;--t-3xl: 2.25rem;--sp-0_5: .125rem;--sp-1: .25rem;--sp-1_5: .375rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--radius-sm: 5px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(38, 30, 18, .05);--shadow-sm: 0 1px 2px rgba(38, 30, 18, .06), 0 1px 1px rgba(38, 30, 18, .04);--shadow: 0 2px 4px rgba(38, 30, 18, .05), 0 6px 16px rgba(38, 30, 18, .07);--shadow-lg: 0 10px 28px rgba(38, 30, 18, .12), 0 2px 6px rgba(38, 30, 18, .06);--shadow-pop: 0 14px 38px rgba(38, 30, 18, .18), 0 2px 8px rgba(38, 30, 18, .08);--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-1: .12s;--dur-2: .18s;--dur-3: .24s;--z-raised: 10;--z-sticky: 20;--z-overlay: 25;--z-drawer: 30;--z-modal: 50;--z-popover: 60;--z-toast: 70;--z-tooltip: 80}[data-theme=dark]{color-scheme:dark;--bg: oklch(.205 .006 75);--paper: oklch(.247 .006 75);--off-paper: oklch(.175 .006 75);--sidebar-bg: oklch(.224 .006 75);--hairline: oklch(.33 .008 75);--hairline-strong: oklch(.42 .01 75);--ink: oklch(.93 .005 85);--ink-2: oklch(.78 .006 85);--ink-3: oklch(.645 .008 85);--ink-4: oklch(.48 .008 85);--tessera: oklch(.72 .12 68);--tessera-deep: oklch(.66 .12 66);--brand-hover: color-mix(in oklch, var(--brand) 80%, white);--success: oklch(.7 .13 150);--warning: oklch(.76 .13 72);--danger: oklch(.67 .16 25);--danger-hover: color-mix(in oklch, var(--danger) 82%, white);--info: oklch(.7 .09 240);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 2px 6px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 30px rgba(0, 0, 0, .5);--shadow-pop: 0 16px 40px rgba(0, 0, 0, .6)}*{box-sizing:border-box}*{outline:none}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.2;font-weight:600;text-wrap:balance}h1{font-family:var(--font-serif);font-weight:400;font-size:var(--t-2xl);letter-spacing:-.01em}h2{font-size:var(--t-xl);letter-spacing:-.01em}h3{font-size:var(--t-lg)}h4{font-size:var(--t-md)}p{margin:0}a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--hairline-strong);transition:color var(--dur-1) var(--ease),text-decoration-color var(--dur-1) var(--ease)}a:hover{color:var(--brand);text-decoration-color:var(--brand)}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}code{background:var(--off-paper);padding:.1em .34em;border-radius:var(--radius-sm)}::selection{background:var(--brand-soft)}::placeholder{color:var(--ink-3);opacity:1}[data-nums],.nums{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-48px;left:var(--sp-4);z-index:var(--z-tooltip);background:var(--ink);color:var(--bg);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);text-decoration:none;transition:top var(--dur-2) var(--ease)}.skip-link:focus{top:var(--sp-2);color:var(--bg)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.serif{font-family:var(--font-serif);font-weight:400}.muted{color:var(--ink-3)}.muted.error,.text-danger{color:var(--danger)}.text-success{color:var(--success)}.centered{display:grid;place-items:center;min-height:100%;color:var(--ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.spin{animation:tbl-spin .7s linear infinite}@keyframes tbl-spin{to{transform:rotate(360deg)}}@keyframes tbl-shimmer{to{transform:translate(100%)}}@keyframes tbl-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.btn{--btn-bg: var(--paper);--btn-fg: var(--ink);--btn-bd: var(--hairline-strong);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:.55rem 1rem;min-height:2.25rem;font-family:inherit;font-size:var(--t-ui);font-weight:500;line-height:1;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-bd);border-radius:var(--radius);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.btn:hover:not(:disabled):not([aria-disabled=true]){box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(.5px);box-shadow:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{--btn-bg: var(--ink);--btn-fg: var(--bg);--btn-bd: var(--ink)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){--btn-bg: var(--brand);--btn-fg: var(--brand-ink);--btn-bd: var(--brand)}.btn-brand{--btn-bg: var(--brand);--btn-fg: var(--brand-ink);--btn-bd: var(--brand)}.btn-brand:hover:not(:disabled):not([aria-disabled=true]){--btn-bg: var(--brand-hover);--btn-bd: var(--brand-hover)}.btn-secondary{--btn-bg: var(--paper);--btn-fg: var(--ink);--btn-bd: var(--hairline-strong)}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){--btn-bd: var(--ink-3);background:var(--off-paper)}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--ink-2);--btn-bd: transparent}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){--btn-fg: var(--ink);background:var(--subtle);box-shadow:none}.btn-danger{--btn-bg: var(--danger);--btn-fg: #fff;--btn-bd: var(--danger)}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){--btn-bg: var(--danger-hover);--btn-bd: var(--danger-hover)}.btn-danger-ghost{--btn-bg: transparent;--btn-fg: var(--danger);--btn-bd: var(--hairline-strong)}.btn-danger-ghost:hover:not(:disabled):not([aria-disabled=true]){--btn-bd: var(--danger);background:var(--danger-soft)}.btn-provider{--btn-bg: var(--paper);--btn-fg: var(--ink);--btn-bd: var(--hairline-strong);width:100%}.btn-provider:hover:not(:disabled){background:var(--off-paper);--btn-bd: var(--ink-3)}.btn-sm{padding:.34rem .7rem;min-height:1.85rem;font-size:var(--t-sm)}.btn-lg{padding:.7rem 1.35rem;min-height:2.7rem;font-size:var(--t-md)}.btn-block{width:100%}.btn-icon{padding:0;width:2.25rem;height:2.25rem;min-height:0}.btn-icon.btn-sm{width:1.85rem;height:1.85rem}.btn[data-loading=true]{color:transparent!important;position:relative;pointer-events:none}.btn[data-loading=true]:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;color:var(--btn-fg);animation:tbl-spin .7s linear infinite}.link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--hairline-strong);cursor:pointer;transition:color var(--dur-1) var(--ease),text-decoration-color var(--dur-1) var(--ease)}.link:hover{color:var(--brand);text-decoration-color:var(--brand)}.link-danger{color:var(--ink-3)}.link-danger:hover{color:var(--danger);text-decoration-color:var(--danger)}.input,.select,.textarea,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=url],input[type=date],textarea,select{width:100%;font:inherit;font-size:var(--t-ui);color:var(--ink);background:var(--paper);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:.5rem .7rem;min-height:2.25rem;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}textarea,.textarea{min-height:4.5rem;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input:disabled,input:disabled,textarea:disabled,select:disabled,.input[readonly],input[readonly]{background:var(--off-paper);color:var(--ink-3);cursor:not-allowed}.input[aria-invalid=true],input[aria-invalid=true],.input.error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}select,.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23736a5c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:2rem}[data-theme=dark] select,[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a39a8c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.field{display:flex;flex-direction:column;gap:var(--sp-1_5);margin-bottom:var(--sp-4)}.field>.label,.field-label{font-size:var(--t-sm);font-weight:500;color:var(--ink-2)}.field-hint{font-size:var(--t-xs);color:var(--ink-3)}.field-error{font-size:var(--t-xs);color:var(--danger)}.checkbox,.radio{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--t-ui);color:var(--ink);cursor:pointer}.checkbox input,.radio input,input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--brand)}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{width:2.4rem;height:1.4rem;border-radius:var(--radius-full);background:var(--hairline-strong);transition:background var(--dur-2) var(--ease);display:inline-flex;align-items:center;padding:2px}.switch-track:after{content:"";width:1rem;height:1rem;border-radius:50%;background:var(--paper);box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease)}.switch input:checked+.switch-track{background:var(--brand)}.switch input:checked+.switch-track:after{transform:translate(1rem)}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus);outline-offset:2px}.card{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs)}.card+.card{margin-top:var(--sp-4)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-title{font-size:var(--t-lg);font-weight:600}.card h2{font-size:var(--t-lg);margin-bottom:var(--sp-3)}.card-actions{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4)}.table-wrap{overflow-x:auto;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--paper)}.table,.data-table{width:100%;border-collapse:collapse;font-size:var(--t-base)}.table th,.data-table th{position:sticky;top:0;text-align:left;font-weight:600;color:var(--ink-2);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;padding:var(--sp-2) var(--sp-3);background:var(--off-paper);border-bottom:1px solid var(--hairline);white-space:nowrap}.table td,.data-table td{text-align:left;padding:var(--sp-3);vertical-align:middle;border-bottom:1px solid var(--hairline);color:var(--ink)}.table tr:last-child td,.data-table tr:last-child td{border-bottom:none}.table tbody tr,.data-table tbody tr{transition:background var(--dur-1) var(--ease)}.table tbody tr:hover td,.data-table tbody tr:hover td{background:color-mix(in oklch,var(--brand) 4%,var(--paper))}.table .num,.data-table .num,td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.clickable-row{cursor:pointer}.row-actions{display:flex;gap:var(--sp-3);justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:.34rem;padding:.12rem .55rem;font-size:var(--t-xs);font-weight:500;border-radius:var(--radius-full);border:1px solid transparent;white-space:nowrap;line-height:1.5}.pill:before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:currentColor}.pill-success,.pill-active,.pill-ready,.pill-verified{color:var(--success);background:var(--success-soft);border-color:color-mix(in oklch,var(--success) 30%,transparent)}.pill-warning,.pill-requested,.pill-pending,.pill-rendering{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in oklch,var(--warning) 30%,transparent)}.pill-danger,.pill-error{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 30%,transparent)}.pill-info{color:var(--info);background:var(--info-soft);border-color:color-mix(in oklch,var(--info) 30%,transparent)}.pill-neutral,.pill-archived,.pill-closed{color:var(--ink-2);background:var(--off-paper);border-color:var(--hairline)}.pill-brand{color:var(--brand);background:var(--brand-soft);border-color:color-mix(in oklch,var(--brand) 30%,transparent)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .4rem;font-size:var(--t-2xs);font-weight:600;border-radius:var(--radius-sm);background:var(--off-paper);color:var(--ink-2);font-variant-numeric:tabular-nums}.badge-brand{background:var(--brand-soft);color:var(--brand)}kbd,.kbd{font-family:var(--font-mono);font-size:var(--t-2xs);padding:.1rem .34rem;background:var(--off-paper);border:1px solid var(--hairline);border-bottom-width:2px;border-radius:var(--radius-sm);color:var(--ink-2)}.tabs,.tab-strip{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--hairline);margin-bottom:var(--sp-5);overflow-x:auto;scrollbar-width:thin}.tab,.tab-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font:inherit;cursor:pointer;padding:var(--sp-3) var(--sp-3);margin-bottom:-1px;color:var(--ink-3);font-size:var(--t-ui);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;text-decoration:none;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.tab:hover,.tab-button:hover{color:var(--ink)}.tab.active,.tab-button.active,a.tab-button.active{color:var(--ink);border-bottom-color:var(--brand);font-weight:600}a.tab-button{text-decoration:none}.tab-pane{display:flex;flex-direction:column}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--off-paper);border:1px solid var(--hairline);border-radius:var(--radius)}.segmented button,.segmented .seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font:inherit;cursor:pointer;padding:.3rem .7rem;font-size:var(--t-sm);font-weight:500;color:var(--ink-3);border-radius:calc(var(--radius) - 3px);transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button.active,.segmented .seg.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-xs)}.alert{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);font-size:var(--t-ui);border:1px solid transparent}.alert-error,.alert-danger{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 28%,transparent)}.alert-info{color:var(--ink);background:var(--off-paper);border-color:var(--hairline)}.alert-success{color:var(--success);background:var(--success-soft);border-color:color-mix(in oklch,var(--success) 28%,transparent)}.alert-warning{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in oklch,var(--warning) 28%,transparent)}.modal,.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:color-mix(in oklch,var(--ink) 45%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:var(--sp-4);animation:tbl-fade-in var(--dur-2) var(--ease)}.modal-card,.dialog{width:100%;max-width:520px;max-height:min(85vh,720px);overflow-y:auto;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--sp-6)}.modal-head,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.modal-head h2,.dialog-head h2{font-size:var(--t-lg)}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:1.1rem;line-height:1;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm)}.modal-close:hover{color:var(--ink);background:var(--subtle)}dialog.dialog{padding:var(--sp-6);border:1px solid var(--hairline)}dialog.dialog::backdrop{background:color-mix(in srgb,#261e12 45%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.menu{position:fixed;z-index:var(--z-popover);min-width:11rem;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:var(--sp-1);animation:tbl-fade-in var(--dur-1) var(--ease)}.menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);font:inherit;font-size:var(--t-ui);text-align:left;background:none;border:none;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer}.menu-item:hover{background:var(--subtle)}.menu-item.danger{color:var(--danger)}.menu-sep{height:1px;background:var(--hairline);margin:var(--sp-1) 0}.empty,.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-12) var(--sp-6);border:1px dashed var(--hairline-strong);border-radius:var(--radius-lg);background:var(--paper);background-image:radial-gradient(var(--off-paper) 1px,transparent 1.4px);background-size:14px 14px;color:var(--ink-3)}.empty-title,.empty-state .empty-title{font-family:var(--font-serif);font-weight:400;font-size:var(--t-xl);color:var(--ink);margin-bottom:var(--sp-1)}.empty p,.empty-state p{max-width:42ch}.empty .btn,.empty-state .btn{margin-top:var(--sp-3)}.skel{position:relative;overflow:hidden;background:var(--off-paper);border-radius:var(--radius-sm)}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--paper) 70%,transparent),transparent);animation:tbl-shimmer 1.3s var(--ease) infinite}.skel-line{height:.85rem;margin:var(--sp-2) 0}.skel-line.short{width:40%}.stat{display:flex;flex-direction:column;gap:var(--sp-1)}.stat-value{font-size:var(--t-2xl);font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink)}.stat-label{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-8)}.kpi-card{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-4);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);text-decoration:none;color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}a.kpi-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.kpi-value{font-size:1.65rem;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.kpi-label{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-2) var(--sp-4);align-items:baseline}.kv dt,.kv .k{color:var(--ink-3);font-size:var(--t-sm)}.kv dd,.kv .v{margin:0;color:var(--ink)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--off-paper);border:1px solid var(--hairline);border-radius:var(--radius-lg)}.hr{height:1px;background:var(--hairline);border:none;margin:var(--sp-5) 0}.divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0;color:var(--ink-3);font-size:var(--t-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--hairline)}@media (max-width: 899px){.input,.select,.textarea,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=url],input[type=date],textarea,select{font-size:var(--t-md)}.btn-sm{min-height:2.25rem}.btn-icon.btn-sm{width:2.25rem;height:2.25rem}.modal-close{min-width:2.5rem;min-height:2.5rem}.table-wrap .data-table td>.card,.table-wrap .table td>.card{position:sticky;left:0;max-width:calc(100vw - 3rem)}}@media (max-width: 600px){.hide-sm{display:none}}.shell{display:grid;grid-template-columns:16rem minmax(0,1fr);min-height:100vh;background:var(--bg)}.shell-topbar{display:none}.shell-sidebar{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5) var(--sp-3) var(--sp-4);background:var(--sidebar-bg);border-right:1px solid var(--hairline)}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-2);margin-bottom:var(--sp-3)}.sidebar-brand-row .drawer-toggle{display:none}.workspace-switcher{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-3);box-shadow:var(--shadow-xs)}.workspace-label,.eyebrow{display:block;font-size:var(--t-2xs);text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--ink-3);margin-bottom:var(--sp-1)}.workspace-switcher select{margin-top:var(--sp-1)}.workspace-name{font-weight:600;font-size:var(--t-ui);color:var(--ink)}.workspace-actions{margin-top:var(--sp-2);display:flex;justify-content:space-between;align-items:center}.workspace-action-link{font-size:var(--t-sm);color:var(--brand);text-decoration:none;font-weight:500}.workspace-action-link:hover{text-decoration:underline}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav:first-of-type{flex:1 1 auto}.sidebar-section-label{font-size:var(--t-2xs);text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--ink-3);padding:var(--sp-3) var(--sp-2) var(--sp-1)}.sidebar-link{position:relative;display:flex;align-items:center;gap:var(--sp-2);padding:.5rem .7rem;border-radius:var(--radius);font-size:var(--t-ui);font-weight:500;color:var(--ink-2);text-decoration:none;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.sidebar-link:hover{background:var(--subtle);color:var(--ink)}.sidebar-link.active{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--shadow-xs)}.sidebar-link.active:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:3px;height:1.1rem;border-radius:var(--radius-full);background:var(--brand)}.sidebar-settings{margin-top:var(--sp-1)}.sidebar-foot{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:var(--sp-2)}.who{padding:0 var(--sp-2)}.who-name{font-weight:600;font-size:var(--t-sm);color:var(--ink)}.who-meta{font-size:var(--t-xs);color:var(--ink-3);word-break:break-all}.theme-toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:transparent;border:1px solid var(--hairline);border-radius:var(--radius);padding:.4rem .7rem;font:inherit;font-size:var(--t-sm);color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.theme-toggle:hover{border-color:var(--hairline-strong);color:var(--ink);background:var(--subtle)}.theme-toggle-icon{font-size:1rem;line-height:1}.shell-main{min-width:0;padding:var(--sp-8) clamp(var(--sp-5),4vw,var(--sp-12));width:100%;max-width:1280px;margin:0 auto}.app-powered-by{margin-top:var(--sp-12);padding-top:var(--sp-4);border-top:1px solid var(--hairline);font-size:var(--t-xs);color:var(--ink-3)}.app-powered-by strong{color:var(--tessera);font-weight:600}.page{display:flex;flex-direction:column}.page-head,.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-head h1,.page-header h1{font-family:var(--font-serif);font-weight:400;font-size:var(--t-2xl);letter-spacing:-.01em}.page-head-titles{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.page-sub{color:var(--ink-3);font-size:var(--t-ui);margin:var(--sp-1) 0 0;max-width:70ch}.page-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.page-header.tight{margin-bottom:var(--sp-2)}.page-header.tight h2{font-size:var(--t-lg);font-weight:600}.crumb{font-size:var(--t-sm);color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.02em;margin-bottom:var(--sp-1)}.settings-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:var(--sp-8);align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--sp-8)}.settings-group-label{font-size:var(--t-2xs);text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--ink-3);padding:var(--sp-3) var(--sp-2) var(--sp-1)}.settings-content{min-width:0}@media (max-width: 760px){.settings-layout{grid-template-columns:1fr;gap:var(--sp-5)}.settings-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:var(--sp-1)}}.auth-page,.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--sp-8) var(--sp-5);background:var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--sp-8)}.auth-card .brand,.auth-brand{margin-bottom:var(--sp-6)}.auth-card h1{font-family:var(--font-serif);font-weight:400;font-size:var(--t-2xl);margin-bottom:var(--sp-2)}.auth-sub{color:var(--ink-3);font-size:var(--t-ui);margin-bottom:var(--sp-6)}.provider-row{display:flex;flex-direction:column;gap:var(--sp-2)}.email-form{display:flex;flex-direction:column;gap:var(--sp-4)}.email-form label{display:flex;flex-direction:column;gap:var(--sp-1_5);font-size:var(--t-sm);font-weight:500;color:var(--ink-2)}.email-form .btn{margin-top:var(--sp-1)}.auth-footer{display:flex;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-6);font-size:var(--t-ui)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:var(--t-lg);color:var(--ink);letter-spacing:-.01em;text-decoration:none}.brand-mark{width:1.05rem;height:1.05rem;border-radius:3px;background:var(--brand);display:inline-block;flex:none}.brand-tag{font-size:var(--t-sm);color:var(--ink-3);margin-top:.1rem}.wordmark-image{display:inline-block;height:1.4rem;width:auto;vertical-align:middle}.wordmark-tagline{color:var(--ink-3);font-size:var(--t-sm);margin-left:.4rem}.drawer-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-radius:var(--radius-sm);font-size:1.2rem;line-height:1;cursor:pointer;color:var(--ink);padding:.25rem .5rem}.drawer-toggle:hover{background:var(--subtle)}.shell-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklch,var(--ink) 40%,transparent);z-index:var(--z-overlay);animation:tbl-fade-in var(--dur-2) var(--ease)}@media (max-width: 899px){.shell{grid-template-columns:1fr}.shell-topbar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--sidebar-bg);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:var(--z-sticky)}.topbar-spacer{flex:1}.shell-sidebar{position:fixed;inset:0 auto 0 0;width:16rem;z-index:var(--z-drawer);transform:translate(-100%);transition:transform var(--dur-2) var(--ease);box-shadow:var(--shadow-lg);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom))}.shell-drawer-open .shell-sidebar{transform:translate(0)}.sidebar-brand-row .drawer-toggle{display:inline-flex}.shell-main{padding:var(--sp-5) var(--sp-4) var(--sp-8)}.drawer-toggle{min-width:2.5rem;min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center}}body:has(.shell-drawer-open){overflow:hidden}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--sp-6)}.auth-brand .wordmark-image{height:2.75rem;max-width:220px;width:auto}.auth-brand .wordmark-text{font-size:var(--t-xl);line-height:1.1}.auth-card h1,.auth-card .auth-sub{text-align:center}.wordmark-text{font-weight:700;letter-spacing:-.01em;color:var(--ink)}.brand-loading{display:inline-block;min-width:6rem;height:1.4rem}.email-form .name-fields{display:flex;gap:var(--sp-3)}.email-form .name-fields label{flex:1;min-width:0}@media (max-width: 360px){.email-form .name-fields{flex-direction:column}}.auth-signup{margin-top:var(--sp-4)}.auth-footer-center{justify-content:center}.auth-support{text-align:center;margin-top:var(--sp-4);font-size:var(--t-sm)}.powered-by{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--hairline);font-size:var(--t-xs);color:var(--ink-3)}.powered-by img{height:.95rem;width:auto;opacity:.85}.powered-by strong{font-weight:600;color:var(--tessera)}.topbar-home{text-decoration:none;display:inline-flex;align-items:center;min-width:0}.topbar-home:hover{color:inherit}.topbar-home .brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;margin-left:var(--sp-2);padding:0 .4rem;border-radius:var(--radius-full);background:var(--brand);color:var(--brand-ink);font-size:var(--t-2xs);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.sidebar-profile{position:relative;display:flex;flex-direction:column;gap:.05rem;padding:var(--sp-2);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:background var(--dur-1) var(--ease)}.sidebar-profile:hover{background:var(--subtle);color:var(--ink)}.sidebar-profile.active{background:var(--paper);box-shadow:var(--shadow-xs)}.sidebar-profile.active:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:3px;height:1.1rem;border-radius:var(--radius-full);background:var(--brand)}.sidebar-signout{align-self:flex-start}.workspace-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-1);font:inherit;font-size:var(--t-ui);font-weight:600;background:var(--paper);color:var(--ink);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:.45rem .6rem;cursor:pointer;text-align:left;transition:border-color var(--dur-1) var(--ease)}.workspace-trigger:hover{border-color:var(--ink-3)}.workspace-trigger-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.workspace-trigger-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-trigger-sub{font-size:var(--t-2xs);font-weight:400;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-trigger-chevron{color:var(--ink-3);flex:none}.workspace-menu{position:absolute;left:var(--sp-2);right:var(--sp-2);top:calc(100% - var(--sp-1));z-index:var(--z-popover);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:var(--sp-1);max-height:60vh;overflow-y:auto;animation:tbl-fade-in var(--dur-1) var(--ease)}.workspace-menu-item{position:relative;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);font:inherit;font-size:var(--t-ui);background:transparent;color:var(--ink);border:0;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;text-align:left}.workspace-menu-item:hover{background:var(--subtle)}.workspace-menu-item.is-active{font-weight:600}.workspace-menu-item.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:1rem;border-radius:var(--radius-full);background:var(--brand)}.workspace-menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-menu-check{color:var(--success);flex:none}.workspace-menu-divider{border-top:1px solid var(--hairline);margin:var(--sp-1) var(--sp-1)}.workspace-menu-add{color:var(--brand);font-weight:500}.workspace-menu-add:hover{background:var(--brand-soft)}.onboarding-shell{min-height:100vh;min-height:100dvh;background:var(--bg);display:flex;justify-content:center;align-items:flex-start;padding:var(--sp-12) var(--sp-5) var(--sp-16)}.onboarding-card{width:100%;max-width:40rem;display:flex;flex-direction:column;gap:var(--sp-5);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--sp-8)}.onboarding-card h1{text-align:left}.onboarding-step-meta{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3);letter-spacing:.02em}.onboarding-progress{display:flex;gap:var(--sp-2);list-style:none;padding:0;margin:0}.onboarding-dot{width:2.25rem;height:.3rem;border-radius:var(--radius-full);background:var(--hairline);transition:background-color var(--dur-2) var(--ease)}.onboarding-dot.active{background:var(--brand)}.onboarding-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-2);flex-wrap:wrap}.onboarding-toolbar .right{display:flex;gap:var(--sp-3);align-items:center}.profile-fieldset{border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4) var(--sp-4);margin-top:var(--sp-3)}.profile-fieldset legend{padding:0 var(--sp-2);color:var(--ink-3);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.profile-fieldset label{display:block;margin-bottom:var(--sp-3);font-size:var(--t-sm);font-weight:500;color:var(--ink-2)}.field-optional{color:var(--ink-3);font-weight:400;font-size:.9em}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}@media (max-width: 600px){.grid-3,.grid-2{grid-template-columns:1fr}}.form-actions{display:flex;gap:var(--sp-4);align-items:center;margin-top:var(--sp-3);flex-wrap:wrap}.same-as-shipping{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-3);font-size:var(--t-ui);color:var(--ink-2)}.same-as-shipping input{width:auto}.account-card h2{font-size:var(--t-lg);margin-bottom:var(--sp-3)}.account-card .kv{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.account-card .kv label{display:block;color:var(--ink-3);font-size:var(--t-2xs);text-transform:uppercase;letter-spacing:.04em}.card-form{display:flex;flex-direction:column;gap:var(--sp-2)}.card-form>.field{margin-bottom:0}.card-form>label{display:flex;flex-direction:column;gap:var(--sp-1_5);font-size:var(--t-sm);font-weight:500;color:var(--ink-2)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--sp-4);margin-top:var(--sp-5)}.project-card{display:flex;flex-direction:column;gap:var(--sp-1_5);padding:var(--sp-4) var(--sp-5);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);text-decoration:none;color:var(--ink);position:relative;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.project-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.project-insignia,.project-detail-insignia{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.project-detail-insignia{font-size:var(--t-sm);margin-bottom:var(--sp-1)}.project-name{font-size:var(--t-md);font-weight:600}.project-meta{display:flex;justify-content:space-between;font-size:var(--t-xs);color:var(--ink-3);margin-top:auto}.project-archive{position:absolute;top:var(--sp-2);right:var(--sp-3);font-size:var(--t-sm);opacity:0;transition:opacity var(--dur-1) var(--ease)}.project-card:hover .project-archive,.project-card:focus-within .project-archive{opacity:1}.parts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:var(--sp-4)}.part-tile{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--sp-3);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.part-tile:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-sm)}.part-tile-body{display:flex;flex-direction:column;gap:var(--sp-2);background:transparent;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.part-tile-body:hover .part-tile-name{color:var(--brand)}.part-thumb{aspect-ratio:1 / 1;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--off-paper);overflow:hidden;display:flex;align-items:center;justify-content:center}.part-thumb img{width:100%;height:100%;object-fit:contain}.part-thumb-loading{animation:thumb-pulse 1.4s var(--ease) infinite}@keyframes thumb-pulse{0%,to{opacity:1}50%{opacity:.55}}.part-thumb-icon{flex-direction:column;gap:var(--sp-1)}.part-thumb-ext{font-family:var(--font-mono);font-size:var(--t-md);font-weight:600;color:var(--ink-3);text-transform:lowercase}.part-thumb-note{font-size:var(--t-2xs);color:var(--ink-3)}.part-tile-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.part-tile-name{font-weight:600;font-size:var(--t-ui);word-break:break-word;min-width:0;transition:color var(--dur-1) var(--ease)}.part-tile-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--t-xs)}.part-tile-desc{margin:0;font-size:var(--t-sm);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.part-tile-order{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap}.part-tile-order input{width:4.5rem;min-height:2rem;padding:.3rem .45rem}.part-tile-price{font-weight:600;font-size:var(--t-ui);font-variant-numeric:tabular-nums;margin-right:auto}.part-tile-linetotal{font-size:var(--t-sm);margin-top:.1rem;font-variant-numeric:tabular-nums}.part-tile-breaks{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:.1rem}.part-tile-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:auto}.price-break{font-size:var(--t-2xs);padding:.05rem .4rem;border-radius:var(--radius-sm);background:var(--off-paper);color:var(--ink-2);font-variant-numeric:tabular-nums}.price-break.active{background:var(--success-soft);color:var(--success);font-weight:600}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-4)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.filter-chip{display:inline-flex;align-items:center;gap:var(--sp-1_5);font:inherit;font-size:var(--t-sm);padding:.3rem .7rem;border:1px solid var(--hairline-strong);border-radius:var(--radius-full);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.filter-chip:hover{border-color:var(--ink-3);color:var(--ink)}.filter-chip.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.filter-chip-n{font-size:var(--t-2xs);font-variant-numeric:tabular-nums;opacity:.85}.list-search{width:auto;min-width:12rem}.order-flow{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0 0 var(--sp-5);padding:var(--sp-4) var(--sp-2) var(--sp-3);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-xs)}.order-flow-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1_5);text-align:center;padding:0 var(--sp-1);min-width:0}.order-flow-step:before{content:"";position:absolute;top:.9rem;left:-50%;width:100%;height:2px;background:var(--hairline)}.order-flow-step:first-child:before{display:none}.order-flow-step.is-done:before,.order-flow-step.is-current:before{background:var(--success)}.order-flow-node{width:1.85rem;height:1.85rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--t-sm);font-weight:600;font-variant-numeric:tabular-nums;background:var(--paper);border:2px solid var(--hairline-strong);color:var(--ink-3);position:relative;z-index:1}.order-flow-step.is-done .order-flow-node{background:var(--success);border-color:var(--success);color:#fff}.order-flow-step.is-current .order-flow-node{border-color:var(--success);color:var(--success)}.order-flow-label{font-size:var(--t-sm);color:var(--ink-3)}.order-flow-step.is-done .order-flow-label,.order-flow-step.is-current .order-flow-label{color:var(--ink);font-weight:500}.order-flow-sub{font-size:var(--t-2xs);color:var(--ink-3)}.order-flow-halted{margin:0 0 var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--off-paper);color:var(--ink-2);font-size:var(--t-ui)}@media (max-width: 599px){.order-flow-label{font-size:var(--t-xs)}.order-flow-sub{display:none}}.action-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4);margin:0 0 var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid color-mix(in oklch,var(--success) 30%,transparent);border-radius:var(--radius-lg);background:var(--success-soft)}.action-banner-text{display:flex;flex-direction:column;gap:.1rem}.action-banner-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-1_5) var(--sp-5);margin:0 0 var(--sp-3)}.detail-grid dt{color:var(--ink-3);font-size:var(--t-sm)}.detail-grid dd{margin:0;font-size:var(--t-base)}.order-actions{flex-wrap:wrap;margin-top:var(--sp-4)}.order-options-cell{max-width:22rem;color:var(--ink-2);font-size:var(--t-sm)}.po-form{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--hairline)}.staging-title{font-size:var(--t-lg);font-weight:600;margin:var(--sp-6) 0 var(--sp-3);color:var(--ink)}.order-choice-grid{display:grid;gap:var(--sp-3);margin-top:var(--sp-2)}.order-choice{display:flex;flex-direction:column;gap:var(--sp-1);text-align:left;padding:var(--sp-4);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:var(--paper);cursor:pointer;font:inherit;transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.order-choice:hover{border-color:var(--brand);background:var(--off-paper);box-shadow:var(--shadow-xs)}.order-choice-title{font-weight:600}.order-choice-sub{font-size:var(--t-ui)}.order-type-engineering{color:var(--success)}.order-type-manufacturing{color:var(--warning)}.cart-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin:var(--sp-4) 0 var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--hairline)}.cart-total{display:flex;flex-direction:column;gap:.1rem}.cart-total strong{font-size:var(--t-lg);font-variant-numeric:tabular-nums}.qty-stepper{display:inline-flex;align-items:center;gap:var(--sp-2)}.qty-stepper .btn-sm{padding:.1rem .5rem;line-height:1;min-height:1.6rem}.qty-stepper>span{min-width:1.5rem;text-align:center;font-variant-numeric:tabular-nums}.cart-files{display:flex;flex-direction:column;gap:var(--sp-2);margin:var(--sp-2) 0}.cart-file-list{list-style:none;margin:0;padding:0}.cart-file-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-1_5) 0;border-bottom:1px solid var(--hairline);font-size:var(--t-ui)}.cart-file-list li:last-child{border-bottom:none}.empty-state h2{font-family:var(--font-serif);font-weight:400;font-size:var(--t-xl);color:var(--ink);margin-bottom:var(--sp-1)}.empty-actions{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-4)}.data-table td{font-variant-numeric:tabular-nums}.files-panel{margin-top:var(--sp-6)}.files-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);background:var(--off-paper);border:1px solid var(--hairline);border-radius:var(--radius-lg);margin-bottom:var(--sp-5)}.upload-button{cursor:pointer}.upload-button input[hidden]{display:none}.upload-drop-hint{font-size:var(--t-sm)}.tab-pane.drag-over{outline:2px dashed var(--brand);outline-offset:-6px;border-radius:var(--radius-lg);background:var(--brand-softer)}.folder-section{margin-bottom:var(--sp-6)}.folder-section-title{font-size:var(--t-ui);font-weight:600;color:var(--ink);margin:0 0 var(--sp-2);padding-bottom:var(--sp-1_5);border-bottom:1px solid var(--hairline)}.file-state{font-size:var(--t-sm);display:inline-flex;align-items:center;gap:var(--sp-1)}.file-state-wait{color:var(--warning)}.file-state-bad{color:var(--danger)}.file-state-bad a{color:inherit}.viewer-block{margin-top:var(--sp-6);padding:var(--sp-4);background:var(--off-paper);border:1px solid var(--hairline);border-radius:var(--radius-lg)}.viewer-block h2{font-size:var(--t-md);font-weight:600;margin-bottom:var(--sp-3);color:var(--ink-2)}.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--sp-5);align-items:start}@media (max-width: 900px){.viewer-layout{grid-template-columns:1fr}}.mesh-viewer{width:100%}.mesh-canvas{width:100%;background:var(--off-paper);border-radius:var(--radius);overflow:hidden}.mesh-error{color:var(--danger);font-size:var(--t-ui);margin-top:var(--sp-2);min-height:1.2em}.mesh-viewer-toolbar{display:flex;gap:var(--sp-4);align-items:center;margin-bottom:var(--sp-2);font-size:var(--t-ui)}.mesh-viewer-checkbox{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-3)}.mesh-metadata{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);font-size:var(--t-sm)}.mesh-metadata h3{font-size:var(--t-ui);font-weight:600;margin:0 0 var(--sp-2);color:var(--ink-2)}.mesh-metadata h4{font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:var(--sp-3) 0 var(--sp-1)}.mesh-metadata section+section{border-top:1px solid var(--hairline);padding-top:var(--sp-2)}.mesh-metadata-table{width:100%;border-collapse:collapse}.mesh-metadata-table th{text-align:left;font-weight:500;color:var(--ink-3);padding:.15rem .5rem .15rem 0;width:4.5rem}.mesh-metadata-table td{padding:.15rem .5rem .15rem 0;font-variant-numeric:tabular-nums}.mesh-metadata-table td.muted{color:var(--ink-3)}.mesh-metadata-warning{font-size:var(--t-sm);color:var(--warning);background:var(--warning-soft);padding:.4rem .6rem;border-radius:var(--radius);margin:0 0 var(--sp-2)}.mesh-metadata-note{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px solid var(--hairline);font-size:var(--t-2xs);color:var(--ink-3)}.pdf-viewer{width:100%}.pdf-viewer-toolbar{display:flex;gap:var(--sp-3);align-items:center;font-size:var(--t-ui);padding:.35rem .6rem;background:var(--off-paper);border-radius:var(--radius);margin-bottom:var(--sp-2)}.pdf-viewer-spacer{flex:1}.pdf-viewer-canvas-wrap{overflow:auto;background:#3a3d40;border-radius:var(--radius);display:flex;justify-content:center;padding:var(--sp-2)}.pdf-viewer-canvas-wrap canvas{box-shadow:var(--shadow-lg);background:#fff}.image-viewer{background:var(--off-paper);border-radius:var(--radius);padding:var(--sp-2);display:flex;justify-content:center}.image-viewer img{border-radius:calc(var(--radius) - 2px);max-width:100%;height:auto}.download-only-viewer{background:var(--off-paper);border:1px dashed var(--hairline-strong);border-radius:var(--radius);padding:var(--sp-6);text-align:center}.download-only-viewer .btn{margin-top:var(--sp-2)}.dxf-viewer{position:relative}.dxf-loading{position:absolute;top:var(--sp-2);right:var(--sp-3);background:color-mix(in oklch,var(--paper) 85%,transparent);padding:.15rem .5rem;border-radius:var(--radius)}.modal-card-wide{max-width:1000px}.modal-card-wide .modal-head{position:sticky;top:0;z-index:2;background:var(--paper);margin:calc(-1 * var(--sp-6)) calc(-1 * var(--sp-6)) var(--sp-4);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--hairline)}.qty-input{width:4.5rem;min-height:2rem;padding:.35rem .45rem}@media (max-width: 899px){.qty-stepper .btn-sm{min-height:2.25rem;min-width:2.25rem}.filter-chip{padding:.5rem .85rem}.row-actions .link,.part-tile-actions .link,.pdf-viewer-toolbar .link,.mesh-viewer-toolbar .link,.cart-file-list .link,.modal-head .link{display:inline-flex;align-items:center;min-height:2.5rem;padding:var(--sp-2) var(--sp-3)}}@media (hover: none){.project-archive{opacity:1}.upload-drop-hint{display:none}}@media (max-width: 600px){.table-wrap:has(>.stack-sm){border:none;border-radius:0;background:transparent;overflow:visible}.stack-sm,.stack-sm tbody,.stack-sm tr,.stack-sm td{display:block}.stack-sm thead{display:none}.stack-sm tr{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-xs);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3)}.stack-sm td{border-bottom:none;padding:.2rem 0}.stack-sm td:first-child{font-weight:600}.stack-sm td[data-label]:before{content:attr(data-label);display:inline-block;min-width:5.5rem;color:var(--ink-3);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em}.stack-sm tbody tr:hover td{background:transparent}.stack-sm .order-options-cell{max-width:none}}
