.backup-page{max-width:1120px}.backup-heading{margin-bottom:var(--space-lg)}.backup-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:var(--space-sm)}.backup-panel{display:flex;min-height:260px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:var(--space-lg);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-soft)}.backup-panel:first-child{border-color:var(--line-strong)}.backup-panel-copy{display:grid;gap:var(--space-2xs)}.backup-panel h2{font-size:var(--text-lg);letter-spacing:var(--tracking-display)}.backup-panel-copy p{max-width:45ch;line-height:1.6}.backup-result{min-height:46px;margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--muted);font-size:var(--text-sm)}.backup-result.is-success{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.backup-result.is-error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.new-recipe-page{max-width:960px}.new-recipe-card{display:grid;gap:var(--space-lg);padding:var(--space-lg);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.new-recipe-card .field{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.new-recipe-mode{display:grid;gap:var(--space-xs);margin:0;padding:0;border:0}.new-recipe-mode legend{margin-bottom:var(--space-xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.new-recipe-mode>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.new-recipe-mode label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3xs) var(--space-2xs);min-height:78px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer}.new-recipe-mode label.is-selected{border-color:var(--accent);background:var(--accent-soft)}.new-recipe-mode input{grid-row:1 / span 2;align-self:start;margin-top:3px;accent-color:var(--accent)}.new-recipe-mode strong{font-size:var(--text-sm)}.new-recipe-mode span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.new-recipe-source,.new-recipe-selected{display:grid;gap:var(--space-sm);padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--line)}.new-recipe-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.new-recipe-section-heading>div{display:grid;gap:var(--space-3xs)}.new-recipe-section-heading>span,.new-recipe-section-heading>div>span{color:var(--muted);font-size:var(--text-xs)}.new-recipe-section-heading h2{margin:0;color:var(--ink);font-size:var(--text-md)}.new-recipe-section-heading .text-button{padding:var(--space-3xs) var(--space-2xs);border:0;background:transparent;color:var(--accent);cursor:pointer}.new-recipe-source-field{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.new-recipe-source-picker{position:relative;width:min(100%,560px)}.new-recipe-source-control{display:grid;grid-template-columns:minmax(0,1fr) max-content;min-height:var(--control-height);overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised)}.new-recipe-source-control[data-state=loading]{cursor:progress;opacity:.72}.new-recipe-source-control[data-state=error]{border-color:var(--danger);outline:var(--rule-fine) solid var(--danger);outline-offset:1px}.new-recipe-source-control[data-state=success]{border-color:var(--accent)}.new-recipe-source-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:0;min-height:var(--control-height);padding:var(--space-3xs) var(--space-xs);border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.new-recipe-source-trigger>span{display:flex;align-items:baseline;gap:var(--space-2xs);min-width:0}.new-recipe-source-trigger strong{overflow:hidden;font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.new-recipe-source-trigger small{overflow:hidden;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal);text-overflow:ellipsis;white-space:nowrap}.new-recipe-source-trigger .ui-icon{flex:0 0 16px;width:16px;height:16px;transition:transform var(--dur-short) var(--ease-out)}.new-recipe-source-trigger[aria-expanded=true] .ui-icon{transform:rotate(180deg)}.new-recipe-source-open{display:grid;min-width:64px;min-height:var(--control-height);padding:0 var(--space-xs);place-items:center;border-left:var(--rule-hair) solid var(--line);color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong);text-decoration:none}.new-recipe-source-trigger:focus-visible,.new-recipe-source-open:focus-visible{position:relative;z-index:1;outline:2px solid var(--focus);outline-offset:-2px}.new-recipe-source-trigger:active,.new-recipe-source-open:active{transform:translateY(1px)}.new-recipe-source-trigger:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.new-recipe-source-open[aria-disabled=true]{color:var(--muted);cursor:not-allowed;opacity:.55}.new-recipe-source-popover{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;left:0;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.new-recipe-recipe-search{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--space-xs);min-height:56px;padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.new-recipe-recipe-search .text-input{min-height:36px}.new-recipe-recipe-search>span{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.new-recipe-source-filter{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--space-xs);min-height:56px;padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs)}.new-recipe-source-filter>span{color:var(--ink-soft);font-weight:var(--font-weight-strong)}.new-recipe-rating-menu{position:relative}.new-recipe-rating-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:148px;min-height:36px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px;background:var(--surface-raised);color:var(--ink);font-size:var(--text-xs);font-weight:var(--font-weight-strong);cursor:pointer;list-style:none;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.new-recipe-rating-menu>summary::-webkit-details-marker{display:none}.new-recipe-rating-menu>summary .ui-icon{flex:0 0 16px;width:16px;height:16px;transition:transform var(--dur-short) var(--ease-out)}.new-recipe-rating-menu[open]>summary .ui-icon{transform:rotate(180deg)}.new-recipe-rating-menu>summary:focus-visible{outline-color:var(--focus)}.new-recipe-rating-menu>summary:active{transform:translateY(1px)}.new-recipe-rating-menu[aria-disabled=true]>summary{color:var(--muted);cursor:not-allowed;opacity:.55}.new-recipe-rating-menu[data-state=loading]>summary{cursor:progress;opacity:.72}.new-recipe-rating-menu[data-state=error]>summary{outline-color:var(--danger);color:var(--danger)}.new-recipe-rating-menu[data-state=success]>summary{color:var(--accent)}.new-recipe-source-filter-options{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;display:grid;width:184px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.new-recipe-source-filter-options label{display:flex;align-items:center;gap:var(--space-2xs);min-height:36px;padding:0 var(--space-2xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.new-recipe-source-filter-options label:first-child{margin-bottom:var(--space-3xs);border-bottom:var(--rule-hair) solid var(--line);border-radius:var(--radius-input) var(--radius-input) 0 0;font-weight:var(--font-weight-strong)}.new-recipe-source-filter-options label:has(input:checked){color:var(--ink)}.new-recipe-source-filter-options input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.new-recipe-source-filter-options label:focus-within{outline:2px solid var(--focus);outline-offset:1px}.new-recipe-source-filter-options label:active{transform:translateY(1px)}.new-recipe-source-filter-options label:has(input:disabled),.new-recipe-source-filter-options label[aria-disabled=true]{color:var(--muted);cursor:not-allowed;opacity:.55}.new-recipe-source-filter-options label[data-state=loading]{cursor:progress;opacity:.72}.new-recipe-source-filter-options label[data-state=error]{outline:2px solid var(--danger);outline-offset:1px;color:var(--danger)}.new-recipe-source-filter-options label[data-state=success]{color:var(--accent);font-weight:var(--font-weight-strong)}.new-recipe-source-options{max-height:300px;overflow-y:auto}.new-recipe-source-option{display:grid;grid-template-columns:minmax(0,1fr) max-content;border-bottom:var(--rule-hair) solid var(--line)}.new-recipe-source-option:last-child{border-bottom:0}.new-recipe-source-option[data-selected]{background:var(--surface-soft);box-shadow:inset 0 -2px 0 var(--accent)}.new-recipe-source-option>button{display:flex;align-items:baseline;gap:var(--space-xs);min-width:0;min-height:var(--control-height);padding:0 var(--space-xs);border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.new-recipe-source-option>button strong{flex:0 1 auto;max-width:45%;overflow:hidden;font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.new-recipe-source-option>button span{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.new-recipe-source-option[data-selected]>button:after{margin-left:auto;color:var(--accent);content:"已选";font-size:var(--text-xs);font-weight:var(--font-weight-strong);white-space:nowrap}.new-recipe-source-option>a{display:grid;min-width:64px;padding:0 var(--space-xs);place-items:center;border-left:var(--rule-hair) solid var(--line);color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong);text-decoration:none}.new-recipe-source-option>button:focus-visible,.new-recipe-source-option>a:focus-visible{position:relative;z-index:1;outline:2px solid var(--focus);outline-offset:-2px}.new-recipe-source-option>button:active,.new-recipe-source-option>a:active{transform:translateY(1px)}.new-recipe-source-no-result{display:grid;min-height:96px;padding:var(--space-sm);place-items:center;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.new-recipe-results{display:grid;max-height:320px;overflow-y:auto;border-top:var(--rule-hair) solid var(--line)}.new-recipe-result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:72px;padding:var(--space-xs) 0;border-bottom:var(--rule-hair) solid var(--line)}.new-recipe-result:last-child{border-bottom:0}.new-recipe-result>div{display:grid;gap:var(--space-3xs);min-width:0}.new-recipe-result strong{color:var(--ink);font-size:var(--text-sm)}.new-recipe-result span{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.new-recipe-result .button{min-width:72px;box-shadow:none}.new-recipe-empty{display:grid;min-height:120px;place-items:center;color:var(--muted);font-size:var(--text-sm)}.new-recipe-copy-scope{margin:0;color:var(--muted);font-size:var(--text-xs)}.field-error{min-height:1lh;color:var(--danger);font-size:var(--text-xs)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-xs)}.new-recipe-cancel-dialog{position:fixed;inset:0;width:460px;height:fit-content;max-height:calc(100vh - var(--space-2xl));margin:auto;padding:0;overflow:hidden;color:var(--ink)}.new-recipe-cancel-dialog::backdrop{background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.new-recipe-cancel-dialog>header{padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.new-recipe-cancel-dialog h2{margin:0;font-size:var(--text-lg)}.new-recipe-cancel-copy{display:grid;gap:var(--space-2xs);padding:var(--space-md);color:var(--ink-soft);font-size:var(--text-sm)}.new-recipe-cancel-copy strong{color:var(--ink);font-size:var(--text-base)}.new-recipe-cancel-copy p{max-width:52ch;color:var(--muted);line-height:1.65}.new-recipe-cancel-dialog>footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-top:var(--rule-hair) solid var(--line)}.new-recipe-discard-button{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);box-shadow:none}.new-recipe-discard-button:focus-visible{outline-color:var(--danger)}.new-recipe-discard-button:active:not(:disabled){transform:translateY(1px)}.new-recipe-discard-button:disabled{cursor:not-allowed;opacity:.55}@media(hover:hover){.new-recipe-mode label:hover,.new-recipe-section-heading .text-button:hover{background:var(--surface-hover)}.new-recipe-source-trigger:hover,.new-recipe-source-open:hover:not([aria-disabled=true]),.new-recipe-source-option>button:hover,.new-recipe-source-option>a:hover{background:var(--surface-hover)}.new-recipe-rating-menu>summary:hover:not([aria-disabled=true]){background:var(--surface-hover)}.new-recipe-source-filter-options label:hover:not(:has(input:disabled)):not([aria-disabled=true]){background:var(--surface-hover);color:var(--accent)}.new-recipe-discard-button:hover:not(:disabled){background:var(--danger);color:var(--accent-ink)}}@media(prefers-reduced-motion:reduce){.new-recipe-rating-menu>summary,.new-recipe-source-filter-options label{transition-duration:0ms}}.recipe-library-page{max-width:1280px}.library-heading{margin-bottom:var(--space-lg)}.library-heading-actions{display:flex;align-items:center;gap:var(--space-xs)}.library-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xs)}.search-field{display:grid;gap:var(--space-2xs);width:360px;color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.search-input{width:360px;padding-left:var(--space-sm)}.result-count{padding-bottom:var(--space-xs);color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.table-frame{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.recipe-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.recipe-table th,.recipe-table td{padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:middle}.recipe-table th{height:46px;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-label)}.recipe-table td{height:62px}.recipe-table th:last-child,.recipe-table td:last-child{text-align:right}.recipe-table tbody tr:last-child td{border-bottom:0}.recipe-table tbody tr:not(.skeleton-row){transition:background-color var(--dur-short) var(--ease-out)}.recipe-name{color:var(--ink);letter-spacing:-.01em}.recipe-name strong{display:block;font-weight:var(--font-weight-strong)}.recipe-name span{display:block;margin-top:var(--space-3xs);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.row-actions{width:172px}.row-action-buttons{display:flex;justify-content:flex-end;gap:var(--space-md)}.text-button{min-height:32px;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong);white-space:nowrap;transition:color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.text-button:focus-visible{outline:var(--rule-fine) solid var(--focus);outline-offset:var(--space-3xs)}.text-button-danger{color:var(--danger)}.library-feedback{position:fixed;z-index:var(--z-toast);right:var(--space-lg);bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-md);min-width:320px;max-width:520px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--ink-soft);box-shadow:var(--shadow-popover)}.library-feedback span{flex:1;font-size:var(--text-sm)}.library-feedback.is-error{border-color:var(--danger);color:var(--danger)}.empty-cell{height:210px;color:var(--muted);text-align:center!important}.library-empty-state,.table-error-state{display:grid;justify-items:center;gap:var(--space-xs)}.library-empty-state strong{color:var(--ink);font-size:var(--text-base)}.library-empty-state span{max-width:45ch;font-size:var(--text-sm)}.library-empty-state .button,.table-error-state .button{margin-top:var(--space-2xs)}.table-error-state strong{color:var(--danger);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.skeleton-row td{height:62px}.skeleton-row .skeleton{height:12px}.skeleton-name{width:132px}.skeleton-short{width:44px}.skeleton-time{width:92px}.skeleton-action{width:116px;margin-left:auto}@media(hover:hover){.recipe-table tbody tr:not(.skeleton-row):hover{background:var(--surface-hover)}.text-button:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:var(--space-3xs)}.text-button-danger:hover{color:var(--danger)}}.recipe-trash-page{max-width:1280px}.trash-heading{margin-bottom:var(--space-lg)}.trash-table-frame{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.trash-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.trash-table th,.trash-table td{height:58px;padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:middle}.trash-table th{height:46px;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.trash-table th:last-child,.trash-table td:last-child{width:100px;text-align:right}.trash-table tbody tr:last-child td{border-bottom:0}.trash-table .text-button{min-height:32px;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.trash-empty{height:210px!important;color:var(--muted);text-align:center!important}.trash-feedback{position:fixed;z-index:var(--z-toast);right:var(--space-lg);bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);min-width:300px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.trash-feedback span{flex:1;font-size:var(--text-sm)}.trash-feedback button{width:28px;height:28px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-lg)}@media(hover:hover){.trash-table tbody tr:hover{background:var(--surface-hover)}.trash-table .text-button:hover{color:var(--accent-hover);text-decoration:underline}}.history-compare{min-width:0;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.history-toolbar{display:flex;align-items:flex-end;gap:var(--space-md);min-height:72px;padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line-strong)}.history-search{display:grid;gap:var(--space-3xs);width:min(440px,38vw);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-search input{width:100%;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px;background:var(--surface);color:var(--ink)}.history-search input:focus-visible{outline-color:var(--focus)}.history-toggle{display:flex;align-items:center;gap:var(--space-2xs);min-height:var(--control-height);color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.history-toggle input,.history-field-filter input,.history-snapshot input,.history-column-head input{accent-color:var(--accent)}.history-result-count{margin-left:auto;padding-bottom:var(--space-xs);color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.history-workbench{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:590px}.history-index{min-width:0;border-right:var(--rule-hair) solid var(--line-strong);background:var(--surface-soft)}.history-index-head{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 var(--space-xs);border-bottom:var(--rule-hair) solid var(--line)}.history-index-head>div{display:grid;gap:var(--space-3xs)}.history-index-head strong{color:var(--ink);font-size:var(--text-sm)}.history-index-head span{color:var(--muted);font-size:var(--text-xs)}.history-index-head button,.history-no-result button{min-height:32px;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-snapshot-list{max-height:720px;overflow-y:auto}.history-version-block{display:contents}.history-version-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);padding:var(--space-sm) var(--space-xs) var(--space-2xs);border-top:var(--rule-hair) solid var(--line-strong)}.history-version-block:first-child .history-version-title{border-top:0}.history-version-title strong{color:var(--ink);font-family:var(--font-outlier);font-size:var(--text-sm)}.history-version-title span{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.history-snapshot{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:var(--space-2xs);min-height:58px;padding:var(--space-xs);border-top:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.history-snapshot[data-selected]{box-shadow:inset var(--rule-fine) 0 0 var(--accent)}.history-snapshot input{margin-top:var(--space-3xs)}.history-snapshot-main{display:grid;min-width:0;gap:var(--space-3xs);padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.history-snapshot-main strong{font-family:var(--font-outlier);font-size:var(--text-sm)}.history-rating-trigger,.history-column-head em{min-height:24px;padding:2px 6px;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);font-style:normal;font-weight:var(--font-weight-medium);white-space:nowrap}.history-rating-trigger{display:inline-flex;align-items:center;gap:var(--space-3xs);border:0}.history-rating-trigger i{color:currentColor;font-size:10px;font-style:normal;line-height:1}.history-column-head em{cursor:default}.history-rating-trigger[data-result=official],.history-column-head em[data-result=official]{border-color:var(--accent);color:var(--accent)}.history-rating-trigger[data-result=discarded],.history-column-head em[data-result=discarded]{border-color:var(--danger);color:var(--danger)}.history-rating-trigger[data-result=iteration],.history-column-head em[data-result=iteration]{border-color:var(--warning);color:var(--warning)}.history-snapshot-main small{overflow:hidden;color:var(--muted);font-size:var(--text-xs);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.history-comparison{min-width:0}.history-comparison-tools{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.history-selection-summary{display:grid;gap:var(--space-3xs)}.history-selection-summary strong{font-size:var(--text-sm)}.history-selection-summary span{color:var(--muted);font-size:var(--text-xs)}.history-field-filter{display:grid;gap:var(--space-2xs);margin:0;padding:var(--space-xs) var(--space-sm);border:0;border-bottom:var(--rule-hair) solid var(--line)}.history-field-filter legend{padding:0;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-field-filter>div{display:flex;flex-wrap:wrap;gap:var(--space-3xs) var(--space-md)}.history-field-filter label{display:flex;align-items:center;gap:var(--space-3xs);min-height:28px;color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.history-table-scroll{max-width:100%;overflow:auto}.history-table{min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.history-table th,.history-table td{width:224px;min-width:224px;padding:var(--space-xs);border-right:var(--rule-hair) solid var(--line);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:top}.history-table thead th{position:sticky;z-index:var(--z-raised);top:0;background:var(--surface-soft)}.history-table .history-row-anchor{position:sticky;z-index:calc(var(--z-raised) + 1);left:0;width:210px;min-width:210px;background:var(--surface-soft)}.history-table tbody .history-row-anchor{color:var(--ink-soft);font-weight:var(--font-weight-medium)}.history-table tbody .history-row-anchor span{display:block;margin-bottom:var(--space-3xs);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-table tr[data-section-start]>*{border-top:var(--rule-hair) solid var(--line-strong)}.history-column-head{display:grid;gap:var(--space-xs)}.history-column-head>span{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs)}.history-column-head strong{font-family:var(--font-body)}.history-column-head label{display:flex;align-items:center;gap:var(--space-3xs);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.history-table td[data-baseline]{background:var(--surface-soft)}.history-table td[data-changed]{box-shadow:inset var(--rule-fine) 0 0 var(--warning)}.history-table td>div{display:grid;gap:var(--space-2xs);line-height:1.5;overflow-wrap:anywhere}.history-table td small{width:max-content;padding:1px 5px;border:var(--rule-hair) solid var(--warning);border-radius:var(--radius-pill);color:var(--warning);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-table-empty{height:190px;color:var(--muted);text-align:center!important;vertical-align:middle!important}.history-empty,.history-no-result{display:grid;place-content:center;justify-items:center;gap:var(--space-2xs);min-height:280px;padding:var(--space-md);color:var(--muted);text-align:center}.history-empty strong,.history-no-result strong{color:var(--ink)}.history-empty p{margin:0;font-size:var(--text-sm)}.history-empty.is-compact{min-height:320px}.history-rating-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:grid;padding:var(--space-lg);place-items:center;background:color-mix(in oklch,var(--ink) 28%,transparent)}.history-rating-dialog{display:grid;width:min(440px,100%);max-height:calc(100vh - var(--space-2xl));overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.history-rating-dialog>header,.history-rating-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-sm)}.history-rating-dialog>header{border-bottom:var(--rule-hair) solid var(--line)}.history-rating-dialog>header>div{display:grid;gap:var(--space-3xs)}.history-rating-dialog>header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-rating-dialog h2,.history-rating-dialog h3{margin:0}.history-rating-dialog h2{font-size:var(--text-lg)}.history-rating-dialog h3{font-size:var(--text-sm)}.history-rating-dialog>header button{display:grid;width:var(--control-height);height:var(--control-height);padding:0;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-lg)}.history-rating-body{display:grid;gap:var(--space-sm);padding:var(--space-sm);overflow-y:auto}.history-rating-body>label{display:grid;gap:var(--space-3xs);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.history-rating-body>label span{display:flex;align-items:center;justify-content:space-between}.history-rating-body>label em{color:var(--muted);font-style:normal;font-weight:var(--font-weight-normal)}.history-rating-body select,.history-rating-body textarea{width:100%;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px;background:var(--surface);color:var(--ink);font:inherit;font-weight:var(--font-weight-normal)}.history-rating-body select{min-height:var(--control-height)}.history-rating-body textarea{resize:vertical}.history-rating-body select:focus-visible,.history-rating-body textarea:focus-visible{outline-color:var(--focus)}.history-rating-notice{margin:0;padding:var(--space-xs);border-left:var(--rule-fine) solid var(--accent);background:var(--accent-soft);color:var(--ink-soft);font-size:var(--text-xs)}.history-rating-notice.is-warning{border-left-color:var(--warning);background:var(--warning-soft)}.history-rating-records{display:grid;gap:var(--space-2xs);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--line)}.history-rating-records>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3xs) var(--space-xs);color:var(--muted);font-size:var(--text-xs)}.history-rating-records strong{color:var(--ink-soft);font-weight:var(--font-weight-medium)}.history-rating-records small{grid-column:2;color:var(--muted)}.history-rating-dialog>footer{justify-content:flex-end;border-top:var(--rule-hair) solid var(--line)}.history-rating-feedback{position:fixed;z-index:var(--z-toast);right:var(--space-lg);bottom:var(--space-lg);padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);box-shadow:var(--shadow-popover);font-size:var(--text-sm)}@media(hover:hover){.history-search input:hover{background:var(--surface-soft)}.history-index-head button:hover,.history-no-result button:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:var(--space-3xs)}.history-snapshot:hover{background:var(--surface-hover)}.history-rating-trigger:hover,.history-rating-dialog>header button:hover{background:var(--surface-hover);color:var(--accent)}}.history-index-head button:focus-visible,.history-no-result button:focus-visible,.history-snapshot-main:focus-visible,.history-rating-trigger:focus-visible,.history-rating-dialog>header button:focus-visible{outline:var(--rule-fine) solid var(--focus);outline-offset:1px}.history-index-head button:active,.history-no-result button:active,.history-rating-trigger:active,.history-rating-dialog>header button:active{transform:translateY(1px)}.history-snapshot:active{background:var(--surface-hover)}.history-index-head button:disabled,.history-no-result button:disabled,.history-search input:disabled{cursor:not-allowed;opacity:.55}@media(prefers-reduced-motion:reduce){.history-index-head button:active,.history-no-result button:active,.history-rating-trigger:active,.history-rating-dialog>header button:active{transform:none}}.workspace-page{width:min(1540px,calc(100% - 48px))}.workspace-crumb{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);color:var(--muted);font-size:var(--text-xs)}.workspace-crumb button{padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer}.page-heading.workspace-heading{align-items:center;margin-bottom:var(--space-sm)}.workspace-title{display:flex;flex:1 1 auto;align-items:center;min-width:0}.workspace-name-control{display:flex;align-items:center;gap:var(--space-2xs)}.workspace-name-control h1{margin:0}.workspace-name-edit{display:grid;width:30px;height:30px;padding:0;place-items:center;border:var(--rule-hair) solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--accent);cursor:pointer}.workspace-name-edit .ui-icon{width:16px;height:16px}.workspace-name-edit:hover,.workspace-name-edit:focus-visible{border-color:var(--line);background:var(--surface-soft)}.workspace-name-form{display:flex;align-items:center;gap:var(--space-2xs)}.workspace-name-form input{width:min(420px,38vw);min-height:40px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px;background:var(--surface-raised);color:var(--ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-display)}.workspace-name-form input:focus-visible{outline-color:var(--focus)}.workspace-name-form button{min-height:32px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);cursor:pointer;white-space:nowrap}.workspace-name-form button[type=submit]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.workspace-heading-actions{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.workspace-version-controls{display:grid;flex:0 0 auto;grid-template-columns:76px auto auto;grid-template-rows:32px 32px;align-items:center;justify-content:end;column-gap:var(--space-2xs);margin-left:auto}.workspace-version-row{display:contents}.workspace-version-row.is-current>.workspace-version-label{grid-row:1;grid-column:1}.workspace-version-row.is-current>:nth-child(2){grid-row:1;grid-column:2}.workspace-version-row.is-current>:nth-child(3){grid-row:1;grid-column:3}.workspace-version-row.is-official>.workspace-version-label{grid-row:2;grid-column:1}.workspace-version-label{color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:1;text-align:right;white-space:nowrap}.workspace-official-version{grid-row:2;grid-column:2 / -1;display:inline-flex;align-items:center;gap:var(--space-3xs);color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);line-height:1}.workspace-official-version em{padding-left:var(--space-3xs);border-left:var(--rule-hair) solid var(--line);color:var(--accent);font-style:normal;font-weight:var(--font-weight-strong)}.version-menu-anchor{position:relative}.version-menu-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:88px;min-height:32px;padding:0 var(--space-2xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);cursor:pointer;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.version-menu-trigger strong{font-weight:var(--font-weight-strong)}.version-menu-trigger .ui-icon{width:16px;height:16px;transition:transform var(--dur-short) var(--ease-out)}.version-menu-trigger[aria-expanded=true] .ui-icon{transform:rotate(180deg)}.version-menu-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.version-menu-trigger:active{transform:translateY(1px)}.version-menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;display:grid;width:190px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.version-menu-list{display:grid;max-height:280px;overflow-y:auto}.version-menu button{min-height:var(--control-height);padding:0 var(--space-xs);border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-variant-numeric:tabular-nums}.version-menu button.is-selected{background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-strong)}.version-menu button.is-selected:after{float:right;content:"✓"}.version-menu button.version-menu-create{margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);border-radius:0 0 calc(var(--radius-control) - 2px) calc(var(--radius-control) - 2px);color:var(--accent);font-weight:var(--font-weight-strong)}.version-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.version-menu button:active{transform:translateY(1px)}.version-menu button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.workspace-version-status{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-2xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}@media(hover:hover){.version-menu-trigger:hover,.version-menu button:hover:not(:disabled){background:var(--surface-hover)}.version-menu button.version-menu-create:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}}.workspace-tabs{display:flex;gap:var(--space-3xs);margin-bottom:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line-strong)}.workspace-tabs button{min-width:112px;min-height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-weight:var(--font-weight-strong)}.workspace-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent)}.formula-panel{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.view-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.view-toolbar-actions{justify-content:flex-end}.formula-scroll{overflow:auto}.formula-table{table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.formula-table th,.formula-table td{min-width:0;padding:var(--space-3xs) var(--space-2xs);border-right:var(--rule-hair) solid var(--line);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:middle}.formula-table thead th{background:var(--surface-soft);color:var(--muted)}.formula-table tbody th,.formula-table .material-head{position:sticky;left:0;z-index:2;background:var(--surface-raised);color:var(--ink)}.formula-table .material-head{z-index:3;background:var(--surface-soft)}.formula-table .formula-subhead-row,.formula-table .formula-subhead-row th{height:0;line-height:0}.formula-table .formula-subhead-row th{padding-block:0;border-bottom:0}.formula-column-resizer{position:absolute;z-index:5;top:0;bottom:0;width:10px;transform:translate(-50%);cursor:col-resize;touch-action:none}.formula-column-resizer:after{position:absolute;top:0;bottom:0;left:50%;width:var(--rule-hair);background:transparent;content:"";transform:translate(-50%)}.formula-column-resizer:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.formula-column-resizer:active:after{width:var(--rule-fine);background:var(--accent)}@media(hover:hover){.formula-column-resizer:hover:after{background:var(--line-strong)}}.formula-table tfoot th{background:var(--surface-soft)}.formula-table tfoot tr:last-child th,.formula-table tfoot tr:last-child td{border-bottom:0}.formula-group-head{position:relative;border-right-color:var(--line-strong)}.formula-group-header{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3xs);min-height:32px}.formula-group-identity{display:flex;align-items:center;gap:var(--space-3xs);min-width:0;color:var(--ink)}.formula-group-identity strong{white-space:nowrap}.formula-group-identity span{padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--muted);font-weight:var(--font-weight-medium);white-space:nowrap}.formula-group-controls{display:flex;align-items:center;gap:var(--space-3xs)}.formula-group-control{min-height:30px;padding:0 var(--space-2xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.formula-group-control:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.formula-group-control:active{transform:translateY(1px)}.formula-group-control:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.formula-material-drawer-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:flex;justify-content:flex-end;background:color-mix(in oklch,var(--ink) 28%,transparent)}.formula-material-drawer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:460px;max-width:calc(100% - var(--space-2xl));height:100%;border:0;border-left:var(--rule-hair) solid var(--line-strong);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-popover)}.formula-material-drawer>header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.formula-material-drawer>header>div{display:grid;gap:var(--space-3xs)}.formula-material-drawer>header span{color:var(--muted);font-size:var(--text-xs)}.formula-material-drawer>header h2{margin:0;font-size:var(--text-lg)}.formula-material-drawer>header button{width:var(--control-height);height:var(--control-height);padding:0;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-xl);line-height:1}.formula-material-drawer-body{display:grid;align-content:start;gap:var(--space-md);overflow-y:auto;padding:var(--space-md)}.formula-material-section{display:grid;gap:var(--space-xs);padding-bottom:var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.formula-material-section:last-child{padding-bottom:0;border-bottom:0}.formula-material-section>h3{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:1.3}.formula-material-combobox{position:relative}.formula-material-field{display:grid;gap:var(--space-3xs)}.formula-material-field>span:first-child{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.formula-material-field input,.formula-material-field select,.formula-material-field textarea{width:100%;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px;background:var(--surface);color:var(--ink)}.formula-material-field textarea{min-height:72px;padding-block:var(--space-2xs);resize:vertical}.formula-material-field input:focus-visible,.formula-material-field select:focus-visible,.formula-material-field textarea:focus-visible{border-color:var(--accent);outline-color:var(--focus)}.formula-material-field input[aria-invalid=true],.formula-material-field select[aria-invalid=true]{border-color:var(--danger)}.formula-placement-field,.formula-material-source{display:grid;gap:var(--space-3xs);margin:0;padding:0;border:0}.formula-placement-field>div,.formula-material-source>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3xs)}.formula-placement-field label,.formula-material-source label{display:flex;align-items:center;gap:var(--space-2xs);min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-soft);cursor:pointer}.formula-placement-field label:has(input:checked),.formula-material-source label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.formula-placement-field label:has(input:disabled),.formula-material-source label:has(input:disabled){color:var(--muted);cursor:not-allowed;opacity:.55}.formula-inherited-process{margin:0;padding-left:var(--space-2xs);border-left:var(--rule-fine) solid var(--line-strong);color:var(--muted);font-size:var(--text-xs);line-height:1.5}.formula-new-process-fields{display:grid;gap:var(--space-xs)}.formula-material-amounts{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-sm)}.formula-material-number{display:flex;align-items:center;min-height:var(--control-height);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.formula-material-number input{min-width:0;border:0;background:transparent}.formula-material-number:focus-within{border-color:var(--accent);outline:2px solid var(--focus);outline-offset:1px}.formula-material-number:has(input[aria-invalid=true]){border-color:var(--danger)}.formula-material-number input:focus-visible{outline:0}.formula-material-number b{padding-right:var(--space-xs);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.formula-material-calculation{display:grid;align-content:start;gap:var(--space-3xs)}.formula-material-calculation>span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.formula-material-calculation output{display:flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);color:var(--ink-soft);font-variant-numeric:tabular-nums}.formula-material-drawer>footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);min-height:64px;padding:0 var(--space-md);border-top:var(--rule-hair) solid var(--line)}.formula-material-drawer>footer button{min-height:var(--control-height);padding:0 var(--space-sm);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer}.formula-material-drawer>footer button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.formula-material-drawer button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.formula-material-drawer button:active{transform:translateY(1px)}.formula-material-drawer button:disabled{cursor:not-allowed;opacity:.5}.formula-material-suggestions{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;left:0;display:grid;max-height:184px;overflow-y:auto;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.formula-material-suggestions button{display:grid;align-content:center;gap:var(--space-3xs);min-height:var(--control-height);padding:var(--space-3xs) var(--space-xs);border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.formula-material-suggestions button small{color:var(--muted);font-size:var(--text-xs)}.formula-material-suggestions button.is-active{background:var(--surface-hover);color:var(--accent)}.formula-material-suggestions button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.formula-material-suggestions button:active{background:var(--accent-soft);color:var(--accent)}.formula-field-message{min-height:1lh;color:var(--muted);font-size:var(--text-xs);line-height:1.45}.formula-field-message.is-error{color:var(--danger)}@media(hover:hover){.formula-material-field input:hover,.formula-material-field select:hover,.formula-material-field textarea:hover{background:var(--surface-soft)}.formula-material-drawer>header button:hover,.formula-material-drawer>footer button:not(:disabled):hover{border-color:var(--line-strong);background:var(--surface-hover);color:var(--accent)}.formula-material-drawer>footer button.is-primary:not(:disabled):hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--accent-ink)}.formula-material-suggestions button:hover{background:var(--surface-hover);color:var(--accent)}}.formula-overflow-trigger{min-width:30px;padding:0;font-size:var(--text-base);line-height:1}.formula-overflow-trigger.is-open{background:var(--surface-hover);color:var(--accent)}.formula-table .is-group-start{border-right-color:var(--line-strong)}.group-actions{display:flex;gap:var(--space-xs)}.group-actions button{padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs)}.group-actions button:disabled{color:var(--muted)}.number-cell,.target-cell,.formula-total-value{display:grid;grid-template-columns:minmax(0,68px) 14px;align-items:center;justify-content:start;gap:3px;width:100%;font-variant-numeric:tabular-nums}.number-cell input,.target-cell input,.cell-input{width:100%;min-height:28px;padding:0 var(--space-2xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-control);background:transparent}.number-cell input,.target-cell input,.formula-total-value>span:first-child{text-align:left}.number-cell>span,.target-cell>span,.formula-total-value>span:last-child{color:var(--muted);text-align:left}.number-cell.is-empty>span{visibility:hidden}.formula-empty-value{display:block;color:var(--muted);text-align:left}.number-cell input:hover:not(:disabled),.target-cell input:hover:not(:disabled),.cell-input:hover:not(:disabled){border-color:var(--line);background:var(--surface-soft)}.formula-ratio-editor{display:grid;gap:var(--space-3xs)}.formula-table tbody tr:hover>th,.formula-table tbody tr:hover>td,.formula-table tbody tr:focus-within>th,.formula-table tbody tr:focus-within>td{background:var(--accent-soft)}.official-label{color:var(--accent)}.empty-panel{display:grid;min-height:260px;place-content:center;justify-items:center;gap:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);color:var(--muted)}.process-view{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.group-switcher,.process-toolbar{display:flex;align-items:center;gap:var(--space-sm);min-height:54px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.group-switcher{position:relative;align-items:flex-end;overflow-x:auto;padding:var(--space-xs) var(--space-sm) 7px;border-bottom:0;background:var(--surface-soft)}.group-switcher:after{position:absolute;z-index:0;right:0;bottom:0;left:0;height:7px;background:var(--surface-raised);content:"";pointer-events:none}.group-switcher>*{position:relative;z-index:1}.process-toolbar{justify-content:space-between}.group-tabs,.process-toolbar>div{display:flex;align-items:center;gap:var(--space-xs)}.test-objective{flex:1;min-width:0}.test-objective label{flex:0 0 auto;font-weight:var(--font-weight-strong)}.test-objective input{width:min(560px,100%);min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.test-objective input:hover:not(:disabled),.test-objective input:focus{border-color:var(--line-strong);background:var(--surface-raised)}.test-objective input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.test-objective input:disabled{background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.ratio-basis-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:54px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.ratio-basis-settings{display:flex;align-items:center;gap:var(--space-md)}.ratio-basis-select,.ratio-basis-target{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-xs)}.ratio-basis-select select{min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.ratio-basis-target .table-number{width:118px;min-height:var(--control-height);padding:0 7px;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.ratio-basis-target .table-number input{flex:1 1 auto;width:0;min-width:0;min-height:30px;padding:0;border:0;box-sizing:border-box;background:transparent}.ratio-basis-target .table-number>span{flex:0 0 auto}.ratio-basis-target.is-adjustable>span:first-child{color:var(--accent);font-weight:var(--font-weight-strong)}.ratio-basis-target.is-adjustable .table-number{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 2px var(--accent-soft)}.ratio-basis-target.is-adjustable .table-number input{color:var(--ink);cursor:text;font-weight:var(--font-weight-strong)}.target-cell.is-adjustable input{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 2px var(--accent-soft);font-weight:var(--font-weight-strong)}.ratio-lock-button{min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent);cursor:pointer;font-weight:var(--font-weight-strong)}.ratio-lock-button.is-locked{border-color:var(--accent);background:var(--accent-soft)}.ratio-lock-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.ratio-basis-empty{color:var(--danger);font-size:var(--text-xs);white-space:nowrap}.process-view-controls{display:flex;align-items:center;gap:var(--space-2xs);flex:0 0 auto}.process-view-presets{display:inline-flex;align-items:center;padding:2px;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.process-view-presets button{min-height:30px;padding:0 var(--space-xs);border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-xs)}.process-view-presets button.is-active{background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-strong)}.process-view-presets button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.process-long-image-entry,.process-mobile-link-entry{min-height:var(--control-height);padding:0 var(--space-sm);border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong);white-space:nowrap}.process-mobile-execution-entry{min-height:var(--control-height);padding:0 var(--space-sm);border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong);white-space:nowrap}.process-long-image-entry:focus-visible,.process-mobile-link-entry:focus-visible,.process-mobile-execution-entry:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.process-long-image-entry:disabled{cursor:wait;opacity:.6}.process-mobile-execution-feedback{color:var(--accent);font-size:var(--text-xs);white-space:nowrap}.process-long-image-error{color:var(--danger);font-size:var(--text-xs);white-space:nowrap}.process-field-visibility{position:relative;flex:0 0 auto}.process-field-trigger{display:inline-flex;align-items:center;gap:var(--space-3xs);min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);white-space:nowrap}.process-field-trigger.is-open{border-color:var(--accent);color:var(--accent)}.process-field-trigger .ui-icon{width:16px;height:16px}.process-field-menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;display:grid;width:210px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.process-field-menu button{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:var(--space-2xs);min-height:34px;padding:0 var(--space-xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-size:var(--text-sm)}.process-field-menu button>span{display:grid;width:18px;height:18px;place-items:center;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-input);color:transparent;font-size:var(--text-xs)}.process-field-menu button.is-visible>span{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.process-field-menu button.show-all{display:block;margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);border-radius:0 0 var(--radius-input) var(--radius-input);color:var(--accent);text-align:center}.process-field-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.process-field-menu button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}@media(hover:hover){.process-view-presets button:hover,.process-field-trigger:hover,.process-field-menu button:hover:not(:disabled){background:var(--surface-hover);color:var(--accent)}.process-long-image-entry:hover:not(:disabled),.process-mobile-link-entry:hover{background:var(--accent-soft)}.process-mobile-execution-entry:hover{background:var(--accent-hover)}}.group-tabs{position:relative;align-items:flex-end;min-width:max-content;padding-right:var(--rule-hair);gap:0}.group-tabs:after{position:absolute;top:11px;right:0;width:var(--rule-hair);height:20px;background:var(--accent);content:"";pointer-events:none}.group-tabs:has(.group-tab-unit:last-child.is-active){padding-right:0}.group-tabs:has(.group-tab-unit:last-child.is-active):after{display:none}.formula-view-options{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2xs);min-height:44px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.formula-restore-groups{min-height:32px;padding:0 var(--space-2xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.formula-restore-groups:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.formula-restore-groups:active{transform:translateY(1px)}.formula-restore-groups:disabled{opacity:.5;cursor:not-allowed}.formula-ratio-cell{position:relative}.formula-note-indicator{position:absolute;top:0;right:0;width:20px;height:20px;padding:0;border:0;outline:0;background:transparent;cursor:pointer;opacity:0}.formula-note-indicator:after{position:absolute;top:0;right:0;width:0;height:0;border-top:12px solid var(--accent);border-left:12px solid transparent;content:""}.formula-note-indicator.has-note{opacity:1}.formula-ratio-cell:hover .formula-note-indicator:not(.has-note):not([aria-disabled=true]),.formula-note-indicator:focus-visible{opacity:.4}.formula-note-indicator:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.formula-note-indicator[aria-disabled=true]{cursor:default}.formula-note-editor-layer{position:fixed;z-index:var(--z-modal);inset:0}.formula-note-editor{position:fixed;display:grid;grid-template-rows:auto minmax(120px,1fr) auto;width:360px;min-height:224px;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.formula-note-editor>header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.formula-note-editor>header>div{display:flex;align-items:baseline;gap:var(--space-2xs);min-width:0}.formula-note-editor>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-note-editor>header span{flex:0 0 auto;color:var(--muted);font-size:var(--text-xs)}.formula-note-editor>header button{width:30px;height:30px;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-lg)}.formula-note-editor textarea{width:100%;min-height:120px;padding:var(--space-xs);border:0;outline:0;background:var(--surface);color:var(--ink);resize:vertical}.formula-note-editor>footer{display:flex;align-items:center;justify-content:flex-end;min-height:48px;padding:0 var(--space-sm);border-top:var(--rule-hair) solid var(--line)}.formula-note-editor>footer button{min-height:32px;padding:0 var(--space-sm);border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);cursor:pointer}.formula-group-menu-anchor{position:relative}.formula-group-menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 6px);right:0;display:grid;width:176px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.formula-group-menu button{min-height:var(--control-height);padding:0 var(--space-xs);border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-size:var(--text-sm)}.formula-group-menu button.is-danger{margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);border-radius:0 0 calc(var(--radius-control) - 2px) calc(var(--radius-control) - 2px);color:var(--danger)}.formula-group-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.formula-group-menu button:active{transform:translateY(1px)}.formula-group-menu button:disabled{opacity:.5;cursor:not-allowed}@media(hover:hover){.formula-group-control:hover:not(:disabled),.formula-restore-groups:hover:not(:disabled),.formula-group-menu button:hover:not(:disabled),.formula-note-editor>header button:hover{background:var(--surface-hover);color:var(--accent)}.formula-group-menu button.is-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}}.group-tab-unit{position:relative;display:grid;grid-template-columns:minmax(44px,1fr) 30px;grid-template-rows:42px;min-width:82px;overflow:visible;border:0;border-radius:12px 12px 0 0;background:transparent;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.group-tab-unit.is-flow-tab{grid-template-columns:minmax(74px,1fr)}.group-tab-unit.is-flow-tab .group-tab-select{grid-column:1;padding-right:12px;border-radius:12px 12px 0 0}.group-tab-unit+.group-tab-unit:not(.is-active):before{position:absolute;z-index:3;top:11px;left:0;width:var(--rule-hair);height:20px;background:var(--accent);content:"";pointer-events:none}.group-tab-unit.is-active+.group-tab-unit:before{display:none}.group-tab-unit.is-active{z-index:2;background:var(--surface-raised);box-shadow:0 -2px 8px color-mix(in oklch,var(--ink) 8%,transparent)}.group-tab-unit.is-active:before,.group-tab-unit.is-active:after{position:absolute;z-index:-1;bottom:0;width:12px;height:12px;content:"";pointer-events:none}.group-tab-unit.is-active:before{left:-12px;border-bottom-right-radius:12px;box-shadow:6px 6px 0 6px var(--surface-raised)}.group-tab-unit.is-active:after{right:-12px;border-bottom-left-radius:12px;box-shadow:-6px 6px 0 6px var(--surface-raised)}.group-tab-select{grid-row:1;grid-column:1;display:flex;align-items:center;gap:var(--space-3xs);min-width:0;min-height:42px;padding:2px 4px 0 12px;border:0;border-radius:12px 0 0;background:transparent;color:var(--ink-soft);cursor:pointer;font-weight:var(--font-weight-medium)}.test-result-badge{display:inline-flex;align-items:center;min-height:20px;padding:1px 6px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-style:normal;font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.test-result-badge.is-official{background:var(--accent-soft);color:var(--accent)}.test-result-badge.is-iteration{background:var(--warning-soft);color:var(--warning)}.test-result-badge.is-discarded{color:var(--muted);text-decoration:line-through}.test-result-badge.is-historical-official{border:var(--rule-hair) solid var(--line-strong);background:transparent;color:var(--ink-soft)}.formula-group-identity .test-result-badge{background:var(--surface-soft);color:var(--muted)}.formula-group-identity .test-result-badge.is-official{background:var(--accent-soft);color:var(--accent)}.formula-group-identity .test-result-badge.is-iteration{background:var(--warning-soft);color:var(--warning)}.formula-group-identity .test-result-badge.is-historical-official{border:var(--rule-hair) solid var(--line-strong);background:transparent;color:var(--ink-soft)}.group-tab-unit.is-active .group-tab-select{color:var(--accent);font-weight:var(--font-weight-strong)}.group-menu-trigger{position:relative;z-index:0;isolation:isolate;grid-row:1;grid-column:2;display:grid;min-width:30px;min-height:42px;padding:2px 5px 0 0;place-items:center;border:0;border-radius:0 12px 0 0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-md);line-height:1;transition:color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.group-menu-trigger:before{position:absolute;z-index:-1;top:50%;left:calc(50% - 2px);width:26px;height:26px;border-radius:var(--radius-pill);background:transparent;content:"";pointer-events:none;transform:translate(-50%,-50%);transition:background-color var(--dur-short) var(--ease-out)}.group-menu-trigger.is-open{color:var(--accent)}.group-menu-trigger.is-open:before{background:var(--surface-hover)}.group-menu-trigger .ui-icon{width:16px;height:16px}.group-add-tab{display:grid;flex:0 0 42px;width:42px;height:42px;margin-bottom:0;padding:0;place-items:center;border:var(--rule-hair) solid transparent;border-radius:var(--radius-control) var(--radius-control) 0 0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-lg);line-height:1}.group-add-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.group-add-tab:active{transform:translateY(1px)}.group-add-tab:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.group-action-menu{position:fixed;z-index:var(--z-dropdown);display:grid;width:176px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.group-action-menu button{min-height:var(--control-height);padding:0 var(--space-xs);border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-size:var(--text-sm)}.group-action-menu button.is-danger{margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);border-radius:0 0 calc(var(--radius-control) - 2px) calc(var(--radius-control) - 2px);color:var(--danger)}.group-action-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.group-action-menu button:active{transform:translateY(1px)}.group-action-menu button:disabled{opacity:.5;cursor:not-allowed}.group-hidden-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-height);min-height:var(--control-height);padding:0;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);cursor:pointer;font-size:var(--text-md);font-weight:var(--font-weight-strong);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.group-hidden-button{gap:var(--space-3xs);padding:0 var(--space-2xs);color:var(--muted);font-size:var(--text-xs)}.group-hidden-button .ui-icon{width:17px;height:17px}.group-hidden-button .ui-icon:last-child{width:14px;height:14px;transition:transform var(--dur-short) var(--ease-out)}.group-hidden-button.is-open{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.group-hidden-button.is-open .ui-icon:last-child{transform:rotate(180deg)}.group-tab-select:focus-visible{z-index:2;outline:2px solid var(--focus);outline-offset:-3px}.group-menu-trigger:focus-visible{z-index:2;outline:2px solid var(--focus);outline-offset:-6px}.group-hidden-button:focus-visible{z-index:2;outline:2px solid var(--focus);outline-offset:2px}.group-tab-select:active,.group-menu-trigger:active,.group-hidden-button:active{transform:translateY(1px)}.group-tab-select:disabled,.group-menu-trigger:disabled,.group-hidden-button:disabled{opacity:.5;cursor:not-allowed}.hidden-groups-menu{position:fixed;z-index:var(--z-dropdown);display:grid;width:196px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.hidden-groups-menu button{display:flex;align-items:center;justify-content:space-between;min-height:var(--control-height);padding:0 var(--space-xs);border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.hidden-groups-menu button strong{color:var(--accent);font-size:var(--text-xs)}.hidden-groups-menu button.restore-all{justify-content:center;margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);border-radius:0 0 calc(var(--radius-control) - 2px) calc(var(--radius-control) - 2px);color:var(--muted);font-size:var(--text-xs)}.hidden-groups-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.hidden-groups-menu button:active{transform:translateY(1px)}.group-feedback{position:fixed;z-index:var(--z-toast);right:var(--space-lg);bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-md);min-width:280px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--ink-soft);box-shadow:var(--shadow-popover)}.group-feedback>span{flex:1;font-size:var(--text-sm)}@media(hover:hover){.group-tab-unit:not(.is-active):hover{background:var(--surface-hover)}.group-menu-trigger:hover:not(:disabled):before,.group-add-tab:hover:not(:disabled),.group-hidden-button:hover:not(:disabled),.group-action-menu button:hover:not(:disabled),.hidden-groups-menu button:hover{background:var(--surface-hover)}.group-action-menu button.is-danger:hover:not(:disabled){background:var(--danger-soft)}}.status-pill{padding:3px 8px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs)}.status-pill.is-active,.status-pill.is-review{background:var(--warning-soft);color:var(--warning)}.irreversible-edit-dialog{position:fixed;inset:0;height:fit-content;margin:auto;color:var(--ink)}.irreversible-edit-dialog::backdrop{background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.irreversible-edit-dialog{width:480px;padding:0;overflow:hidden}.irreversible-edit-heading{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.irreversible-edit-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--warning-soft);color:var(--warning);font-size:var(--text-lg);font-weight:var(--font-weight-strong)}.irreversible-edit-heading>div{display:grid;gap:var(--space-3xs)}.irreversible-edit-heading>div>span{color:var(--warning);font-size:var(--text-xs);font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-label)}.irreversible-edit-dialog .irreversible-edit-heading h2{margin:0}.irreversible-edit-copy{display:grid;gap:var(--space-sm);padding:var(--space-md);color:var(--ink-soft);font-size:var(--text-sm);line-height:1.65}.irreversible-edit-copy strong{color:var(--ink)}.irreversible-edit-copy p{margin:0}.irreversible-edit-consequence{padding:var(--space-xs) var(--space-sm);border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--ink)}.irreversible-edit-dialog .modal-actions{padding:0 var(--space-md) var(--space-md);margin:0}.irreversible-edit-dialog .irreversible-edit-confirm{border-color:var(--warning);background:var(--warning);color:var(--surface-raised)}@media(hover:hover){.irreversible-edit-dialog .irreversible-edit-confirm:hover:not(:disabled){border-color:var(--warning);background:color-mix(in oklch,var(--warning) 88%,var(--ink));color:var(--surface-raised)}}.new-test-dialog{position:fixed;inset:0;width:560px;height:fit-content;max-height:calc(100vh - var(--space-2xl));padding:0;margin:auto;overflow:hidden;color:var(--ink)}.new-test-dialog::backdrop{background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.new-test-dialog>form{display:grid;max-height:calc(100vh - var(--space-2xl))}.new-test-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.new-test-header>div{display:grid;gap:var(--space-3xs)}.new-test-header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.new-test-dialog .new-test-header h2{margin:0}.new-test-header>button{display:grid;width:var(--control-height);height:var(--control-height);padding:0;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-lg)}.new-test-body{display:grid;gap:var(--space-md);padding:var(--space-md);overflow-y:auto}.new-test-mode{display:grid;gap:var(--space-xs);padding:0;margin:0;border:0}.new-test-mode legend{margin-bottom:var(--space-xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.new-test-mode>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.new-test-mode label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3xs) var(--space-2xs);min-height:78px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer}.new-test-mode label.is-selected{border-color:var(--accent);background:var(--accent-soft)}.new-test-mode input{grid-row:1 / span 2;align-self:start;margin-top:3px;accent-color:var(--accent)}.new-test-mode strong{font-size:var(--text-sm)}.new-test-mode span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.new-test-source{display:grid;gap:var(--space-sm);padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--line)}.new-test-source label{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.new-test-source-control{display:grid;grid-template-columns:minmax(0,1fr) 64px;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised)}.new-test-source select{width:100%;min-height:var(--control-height);padding:0 var(--space-xs);border:0;outline:2px solid transparent;outline-offset:-2px;background:var(--surface-raised);color:var(--ink);font:inherit}.new-test-source select:focus-visible{outline-color:var(--focus)}.new-test-source select:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.new-test-source-open{display:grid;min-height:var(--control-height);place-items:center;border-left:var(--rule-hair) solid var(--line);color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong);text-decoration:none}.new-test-source-open[aria-disabled=true]{color:var(--muted);cursor:not-allowed;opacity:.55}.new-test-source-open:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.new-test-source p{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.6}.new-test-source p.new-test-no-source{color:var(--warning)}.new-test-dialog>form>footer{display:flex;justify-content:flex-end;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-top:var(--rule-hair) solid var(--line)}@media(hover:hover){.new-test-mode label:hover,.new-test-header>button:hover,.new-test-source-open:hover:not([aria-disabled=true]){background:var(--surface-hover)}}.process-mobile-assignment-dialog{position:fixed;inset:0;width:min(440px,calc(100% - var(--space-lg)));height:fit-content;padding:0;margin:auto;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-dialog)}.process-mobile-assignment-dialog::backdrop{background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.process-mobile-assignment-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.process-mobile-assignment-dialog>header>div{display:grid;gap:var(--space-3xs)}.process-mobile-assignment-dialog>header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.process-mobile-assignment-dialog>header h2{margin:0;font-size:var(--text-md)}.process-mobile-assignment-dialog>header button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-lg)}.process-mobile-assignment-dialog>div{display:grid;gap:var(--space-sm);padding:var(--space-md)}.process-mobile-assignment-dialog>div>p{color:var(--muted);font-size:var(--text-sm)}.process-mobile-assignment-dialog>div>p.is-error{color:var(--danger)}.process-mobile-assignment-dialog label{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.process-mobile-assignment-dialog select,.process-mobile-assignment-dialog input{width:100%;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit}.process-mobile-assignment-dialog>footer{display:flex;justify-content:flex-end;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-top:var(--rule-hair) solid var(--line)}.process-mobile-assignment-dialog>footer a{text-decoration:none}.process-mobile-assignment-dialog select:focus-visible,.process-mobile-assignment-dialog input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.process-mobile-assignment-dialog select:disabled{cursor:not-allowed;opacity:.5}.process-long-image-overlay{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:var(--space-md)}.process-long-image-overlay:before{position:absolute;inset:0;background:color-mix(in oklch,var(--ink) 52%,transparent);content:"";-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.process-long-image-overlay>section{position:relative;z-index:var(--z-raised);display:grid;width:min(640px,100%);max-height:calc(100dvh - var(--space-2xl));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.process-long-image-overlay>section>header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:0 var(--space-md);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.process-long-image-overlay>section>header>div{display:grid;gap:var(--space-3xs)}.process-long-image-overlay>section>header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.process-long-image-overlay>section>header h2{margin:0;font-size:var(--text-md)}.process-long-image-overlay>section>header button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer}.process-long-image-overlay>section>header .ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.process-long-image-overlay>section>div{min-height:0;padding:var(--space-sm);overflow:auto;background:var(--surface-soft)}.process-long-image-overlay img{display:block;width:100%;height:auto;border:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.process-long-image-overlay>section>footer{padding:var(--space-sm) var(--space-md);border-top:var(--rule-hair) solid var(--line)}.process-long-image-overlay>section>footer a{display:grid;min-height:var(--control-height);place-items:center;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-size:var(--text-sm);font-weight:var(--font-weight-strong);text-decoration:none}.join-editor{display:grid;gap:var(--space-xs);padding:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.join-head{display:flex;align-items:center;justify-content:space-between}.join-list{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.join-chip{padding:5px 9px;border:var(--rule-hair) solid var(--line);border-radius:999px;background:var(--surface-raised);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.join-edit-row{display:flex;align-items:center;gap:var(--space-xs)}.join-edit-row .text-input{width:180px;min-height:34px}.process-scroll{overflow:auto}.process-table{border-collapse:collapse;table-layout:fixed;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.process-table th,.process-table td{padding:8px;border-right:var(--rule-hair) solid var(--line);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:top}.process-table tbody tr:hover>.material-data-cell,.process-table tbody tr:focus-within>.material-data-cell{background:var(--accent-soft)}.process-table thead th{position:relative;padding:12px 12px 12px 8px;background:var(--surface-soft);color:var(--muted)}.process-table .column-resize-handle{position:absolute;z-index:3;top:0;right:-5px;width:10px;height:100%;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}.process-table .column-resize-handle:after{content:"";position:absolute;top:20%;right:4px;width:1px;height:60%;background:var(--line-strong);opacity:0}.process-table .column-resize-handle:hover:after,.process-table .column-resize-handle:focus-visible:after{opacity:1}.process-table .column-resize-handle:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.process-table .material-filter,.formula-table .material-filter{position:relative}.process-table .material-filter-trigger,.formula-table .material-filter-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:var(--font-weight-strong)}.process-table .material-filter-trigger i,.formula-table .material-filter-trigger i{width:0;height:0;border-top:5px solid currentColor;border-right:4px solid transparent;border-left:4px solid transparent}.process-table .material-filter-trigger.is-active,.formula-table .material-filter-trigger.is-active{color:var(--accent)}.modal.compound-material-dialog{position:fixed;inset:0;width:600px;height:fit-content;max-height:calc(100vh - var(--space-2xl));padding:0;margin:auto;overflow:hidden;color:var(--ink)}.compound-material-dialog::backdrop{background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.compound-material-dialog>form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - var(--space-2xl))}.compound-material-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.compound-material-dialog-header>div{display:grid;gap:var(--space-3xs)}.compound-material-dialog-header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.compound-material-dialog .compound-material-dialog-header h2{margin:0}.compound-material-dialog-header>button{display:grid;width:var(--control-height);height:var(--control-height);padding:0;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer}.compound-material-dialog-body{display:grid;gap:var(--space-md);padding:var(--space-md);overflow-y:auto}.compound-material-name{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.compound-material-name input{width:100%;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit;font-weight:var(--font-weight-normal)}.compound-material-name input:focus{border-color:var(--accent);outline:2px solid color-mix(in oklch,var(--accent) 22%,transparent)}.compound-material-members{display:grid;gap:var(--space-2xs);min-height:0}.compound-material-members>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.compound-material-members>header strong{font-size:var(--text-sm)}.compound-material-members>header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.compound-material-member-list{display:grid;max-height:340px;overflow-y:auto;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control)}.compound-material-member-list label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);min-height:46px;padding:var(--space-2xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);cursor:pointer}.compound-material-member-list label:last-child{border-bottom:0}.compound-material-member-list label.is-selected{background:var(--accent-soft)}.compound-material-member-list label:has(input:disabled){color:var(--muted);cursor:not-allowed;opacity:.65}.compound-material-member-list input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.compound-material-member-list label>span{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-width:0}.compound-material-member-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.compound-material-member-list small{color:var(--muted);white-space:nowrap;font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.compound-material-member-list em{color:var(--muted);white-space:nowrap;font-size:var(--text-xs);font-style:normal}.compound-material-dialog>form>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:var(--rule-hair) solid var(--line)}.compound-material-dialog>form>footer>div{display:flex;gap:var(--space-2xs)}.compound-material-dialog .compound-material-dissolve{border-color:var(--danger);color:var(--danger)}.process-table .material-filter-popover,.formula-table .material-filter-popover{position:absolute;z-index:var(--z-raised);top:calc(100% + var(--space-2xs));left:0;display:grid;width:220px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.process-table .material-filter-popover>input,.formula-table .material-filter-popover>input{min-height:32px;margin-bottom:var(--space-3xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);font-size:var(--text-xs)}.process-table .material-filter-options,.formula-table .material-filter-options{display:grid;max-height:260px;overflow-y:auto}.process-table .material-filter-options button,.formula-table .material-filter-options button{padding:var(--space-2xs) var(--space-xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.process-table .material-filter-options button,.formula-table .material-filter-options button{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:var(--space-3xs)}.process-table .material-filter-options button>span,.formula-table .material-filter-options button>span{display:grid;width:16px;height:16px;place-items:center;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-input);color:transparent;font-size:var(--text-xs);line-height:1}.process-table .material-filter-options button.is-selected>span,.formula-table .material-filter-options button.is-selected>span{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.process-table .material-filter-options button:hover,.process-table .material-filter-options button.is-selected,.formula-table .material-filter-options button:hover,.formula-table .material-filter-options button.is-selected{background:var(--surface-hover);color:var(--accent)}.process-table .material-filter-options button:focus-visible,.formula-table .material-filter-options button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.process-table .material-filter-options button:active,.formula-table .material-filter-options button:active{background:var(--accent-soft)}.process-table .material-filter-options>span,.formula-table .material-filter-options>span{padding:var(--space-xs);color:var(--muted);text-align:center;font-size:var(--text-xs)}.process-material-filter-footer,.formula-material-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);margin-top:var(--space-3xs);padding-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);color:var(--muted);font-size:var(--text-xs)}.process-material-filter-footer>div,.formula-material-filter-footer>div{display:flex;align-items:center;gap:var(--space-3xs)}.process-material-filter-footer button,.formula-material-filter-footer button{min-height:28px;padding:0 var(--space-2xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-soft);cursor:pointer}.process-material-filter-footer button.is-primary,.formula-material-filter-footer button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.process-material-filter-footer button:focus-visible,.formula-material-filter-footer button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.process-material-filter-footer button:active,.formula-material-filter-footer button:active{transform:translateY(1px)}.process-material-filter-footer button:disabled,.formula-material-filter-footer button:disabled{opacity:.5;cursor:not-allowed}.formula-table tr.is-material-filtered>th{background:var(--accent-soft)}.process-table tbody th{background:var(--surface-soft)}.process-table tbody th button{margin-top:var(--space-2xs);padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs)}.process-table .step-cell{position:relative}.process-table .step-heading{display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;align-items:start;gap:var(--space-3xs)}.process-table .step-code-label{display:flex;align-items:center;min-height:28px;padding:var(--space-3xs) var(--space-2xs);color:var(--ink);font-weight:var(--font-weight-strong)}.process-table .step-add-button{display:grid;width:28px;height:28px;margin-top:0;padding:0;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--accent);cursor:pointer;line-height:1}.process-table .step-add-button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.process-table .step-add-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.process-table .step-menu-control{position:static;grid-column:3}.process-table .step-cell:has(.step-action-menu){z-index:var(--z-dropdown)}.process-table .step-menu-trigger{display:grid;width:28px;height:28px;margin-top:0;place-items:center;border-radius:var(--radius-control);color:var(--muted);cursor:pointer;line-height:1}.process-table .step-menu-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.process-table .step-action-menu{position:absolute;z-index:var(--z-dropdown);top:36px;left:var(--space-2xs);display:grid;width:150px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.process-table .step-action-menu>button{min-height:30px;margin:0;padding:0 var(--space-2xs);border-radius:var(--radius-input);color:var(--ink);text-align:left}.process-table .step-action-menu>button:hover:not(:disabled){background:var(--surface-hover);color:var(--accent)}.process-table .step-action-menu>button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.process-table .step-action-menu>span{margin-top:var(--space-3xs);padding:var(--space-2xs) var(--space-2xs) var(--space-3xs);border-top:var(--rule-hair) solid var(--line);color:var(--muted);font-size:var(--text-xs)}.process-table .step-action-menu>em{padding:var(--space-2xs);color:var(--muted);font-size:var(--text-xs);font-style:normal}.process-table .step-action-menu>button.is-danger{margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);border-radius:0;color:var(--danger)}.process-table .step-action-menu>button.is-cancel{margin-top:var(--space-3xs);border-top:var(--rule-hair) solid var(--line);color:var(--muted)}.process-table .add-material-button{color:var(--accent)}.process-table td.is-material-match{background:var(--accent-soft)}.process-table .material-filter-empty{padding:var(--space-md);color:var(--muted);text-align:center}.process-table .process-empty-cell{padding:var(--space-lg)}.process-table .process-empty-state{display:grid;justify-items:center;gap:var(--space-sm);color:var(--muted)}.process-table .process-new-line-row td{padding:var(--space-2xs) var(--space-xs);background:var(--surface-soft)}.process-table .process-new-line-row button{display:inline-flex;align-items:center;gap:var(--space-3xs);min-height:30px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.process-table .process-new-line-row td{padding-block:var(--space-xs)}.process-table .process-new-line-row button{border-color:var(--accent)}.process-table .process-new-line-row button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.process-table tr.step-start>*{border-top:var(--rule-fine) solid var(--line-strong)}.process-table input,.process-table textarea{width:100%;min-height:34px;padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-control);background:transparent;resize:vertical}.process-table textarea{min-height:58px}.process-table .step-detail-cell{padding:var(--space-2xs)}.process-table tr.operation-step-start:not(.step-start)>td{border-top:var(--rule-hair) solid var(--line-strong)}.process-table .operation-step-cell{background:color-mix(in srgb,var(--surface-soft) 70%,var(--surface));color:var(--ink-soft);text-align:center;vertical-align:middle;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-strong)}.process-table .operation-step-cell span{display:inline-grid;width:28px;height:28px;place-items:center;border:var(--rule-hair) solid var(--line-strong);border-radius:50%;background:var(--surface-raised)}.process-table .operation-step-detail-cell{vertical-align:middle}.process-table .operation-step-drop-row td{padding:4px var(--space-xs);border-top:0;background:var(--surface-soft)}.process-table .operation-step-drop-row span{display:flex;min-height:28px;align-items:center;justify-content:center;gap:var(--space-3xs);border:var(--rule-hair) dashed var(--line-strong);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-xs);transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.process-table .operation-step-drop-row .ui-icon{width:14px;height:14px}.process-table .operation-step-drop-row.is-active span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-strong)}.process-table .step-detail-cell textarea{position:static;display:block;width:100%;height:auto;min-height:58px;overflow-y:auto;field-sizing:content;resize:vertical}.process-table input:hover:not(:disabled),.process-table textarea:hover:not(:disabled),.process-table input:focus,.process-table textarea:focus{border-color:var(--line-strong);background:var(--surface-raised)}.material-editor{display:flex;align-items:center;gap:var(--space-3xs);min-width:0}.material-editor input{flex:1 1 auto;min-width:60px}.material-editor .material-drag-handle{display:grid;flex:0 0 24px;width:24px;height:28px;padding:0;place-items:center;color:var(--muted);cursor:grab;font-size:17px;letter-spacing:-2px;line-height:1}.material-editor .material-drag-handle:active:not(:disabled){cursor:grabbing}.material-editor .material-drag-handle:disabled{color:var(--line-strong);cursor:not-allowed;opacity:.55}.process-table tbody tr.material-drop-step>.material-data-cell{background:var(--accent-soft)}.process-table tbody tr.material-drop-step>.step-cell{background:var(--accent-soft)}.process-table tbody tr.material-drop-before>*{border-top:2px solid var(--accent)}.process-table tbody tr.material-drop-after>*{border-bottom:2px solid var(--accent)}.process-table tbody tr.material-drop-before>.step-cell,.process-table tbody tr.material-drop-after>.step-cell{box-shadow:inset 3px 0 0 var(--accent)}.compound-material-status{display:inline-flex;align-items:center;gap:5px;margin-top:var(--space-3xs);padding:4px 8px;border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong);line-height:1.25;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease,transform 80ms ease}.compound-material-status em{font-style:normal;font-weight:var(--font-weight-normal)}.compound-material-status i{font-style:normal;font-size:15px;line-height:10px;transition:transform .12s ease}.compound-material-status:active:not(:disabled){transform:translateY(1px)}.compound-material-status:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.compound-material-status:disabled{border-color:var(--line-strong);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.material-editor button{padding:var(--space-3xs) var(--space-2xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--accent);cursor:pointer;white-space:nowrap;font-size:var(--text-xs)}.material-editor .material-inline-action{display:grid;flex:0 0 28px;width:28px;height:28px;padding:0;place-items:center;border-radius:var(--radius-control);font-size:16px;line-height:1}.material-editor .basis-material-toggle{color:var(--muted)}.material-editor .basis-material-toggle.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.material-editor .delete-inline{color:var(--danger)}.material-editor .delete-inline .ui-icon{width:17px;height:17px}.material-editor .delete-inline:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.locked-text,.source-note{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.source-note{display:block;margin-top:var(--space-3xs)}.source-restore-button{padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;text-align:left}.process-table .material-data-cell:has(.material-add-menu),.process-table .material-data-cell:has(.product-picker){position:relative;z-index:var(--z-dropdown)}.product-picker{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;display:grid;min-width:220px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.product-picker input{margin-bottom:var(--space-3xs);border-color:var(--line);background:var(--surface)}.product-picker button{display:grid;gap:var(--space-3xs);padding:var(--space-2xs) var(--space-xs);border:0;background:transparent;text-align:left;cursor:pointer}.product-picker button small{color:var(--muted);font-size:var(--text-xs)}.product-picker-empty{padding:var(--space-xs);color:var(--muted);text-align:center;font-size:var(--text-xs)}.material-add-control{position:relative;flex:0 0 26px;width:26px}.material-add-menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-3xs));right:0;display:grid;min-width:150px;padding:var(--space-3xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.material-add-menu button{padding:var(--space-2xs) var(--space-xs);border:0;background:transparent;text-align:left;cursor:pointer;white-space:nowrap}@media(hover:hover){.compound-material-dialog-header>button:hover,.compound-material-member-list label:hover:not(:has(input:disabled)){background:var(--surface-hover)}.compound-material-dialog .compound-material-dissolve:hover:not(:disabled){background:var(--danger-soft)}.compound-material-status:hover:not(:disabled){border-color:var(--accent-hover);background:var(--surface-hover);box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-hover)}.compound-material-status:hover:not(:disabled) i{transform:translate(2px)}.process-table .step-menu-trigger:hover{background:var(--surface-hover);color:var(--accent)}.process-table .step-add-button:hover:not(:disabled),.material-editor .add-material-button:hover:not(:disabled){background:var(--accent-soft)}.material-editor .delete-inline:hover:not(:disabled){background:var(--danger-soft)}.source-restore-button:hover{color:var(--accent-hover);text-decoration:underline}}.product-picker button:hover,.material-add-menu button:hover{background:var(--surface-hover)}.table-number{display:flex;align-items:center;gap:var(--space-3xs)}.table-number span{color:var(--muted)}.add-process-row td{height:48px;background:var(--surface-soft)}.process-table tfoot th,.process-table tfoot td{padding:var(--space-xs) var(--space-2xs);background:var(--surface-soft);font-weight:var(--font-weight-strong)}.flow-view{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.flow-status,.flow-actions{display:flex;align-items:center;gap:var(--space-sm)}.flow-status span{color:var(--muted);font-size:var(--text-xs)}.flow-relation-form{display:flex;align-items:end;gap:var(--space-xs)}.flow-relation-form>label{display:grid;gap:var(--space-3xs)}.flow-relation-form>label>span{color:var(--muted);font-size:var(--text-xs)}.flow-relation-form select{width:230px;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink)}.flow-relation-form>span{align-self:center;color:var(--muted)}.flow-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:560px}.flow-canvas-wrap{min-width:0;overflow:auto;padding:var(--space-sm) var(--space-md) var(--space-md) var(--space-sm);background:var(--surface-soft)}.flow-canvas{position:relative}.flow-connectors{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.flow-connectors marker#flow-arrow path{fill:var(--line-strong)}.flow-connectors marker#join-arrow path{fill:var(--accent)}.sequence-line{fill:none;stroke:var(--line-strong);stroke-width:1.5}.join-line,.join-trunk,.join-output{fill:none;stroke:var(--accent);stroke-width:2.25;stroke-linecap:square;stroke-linejoin:miter}.join-line{cursor:pointer;pointer-events:stroke}.join-line.is-selected{stroke-width:4}.flow-connectors g.is-selected .join-trunk,.flow-connectors g.is-selected .join-output{stroke-width:3}.join-preview{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none}.flow-join-action{position:absolute;z-index:4;transform:translate(-50%,calc(-100% - 8px))}.flow-join-action button{min-height:30px;padding:0 var(--space-2xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--danger);box-shadow:var(--shadow-popover);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.flow-join-action button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.flow-join-action button:active{transform:translateY(1px)}.flow-lane{position:absolute;z-index:1;left:0;display:grid;place-items:center;width:112px;border-right:var(--rule-fine) solid var(--line-strong);color:var(--muted)}.flow-lane-title{display:flex;align-items:center;justify-content:center;gap:5px;max-width:104px}.flow-lane strong[contenteditable=true]{max-width:82px;padding:3px 5px;border-radius:3px;outline:1px dashed var(--line-strong);cursor:text;text-align:center}.flow-lane strong[contenteditable=true]:focus{outline:2px solid var(--focus);background:var(--surface);color:var(--ink)}.flow-lane-edit-icon{display:grid;flex:0 0 20px;width:20px;height:20px;padding:0;place-items:center;border:0;border-radius:3px;background:transparent;color:var(--muted);cursor:pointer}.flow-lane-edit-icon:hover,.flow-lane-edit-icon:focus-visible{background:var(--surface-hover);color:var(--accent)}.flow-lane-edit-icon .ui-icon{width:13px;height:13px}.flow-node{position:absolute;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:5px;box-sizing:border-box;padding:10px 14px;overflow:hidden;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-panel);outline:2px solid transparent;outline-offset:2px;background:var(--surface-raised);text-align:left;cursor:pointer;box-shadow:var(--shadow-card)}.flow-node>span{color:var(--accent);font-family:var(--font-outlier);font-size:11px;font-weight:var(--font-weight-strong);letter-spacing:.01em}.flow-node-title{display:flex;align-items:start;gap:5px;min-width:0;overflow:hidden}.flow-node strong{line-height:1.25}.flow-node-title strong{min-width:0;overflow-wrap:anywhere}.flow-node-title strong:not([contenteditable=true]){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.flow-node-edit-icon{display:grid;flex:0 0 16px;width:16px;height:16px;place-items:center;color:var(--muted);cursor:pointer;opacity:.7}.flow-node-edit-icon .ui-icon{width:14px;height:14px}.flow-node strong[contenteditable=true]{max-height:62px;margin-inline:-4px;padding:2px 4px;overflow:auto;border-radius:3px;outline:1px dashed var(--line-strong);cursor:text}.flow-node strong[contenteditable=true]:focus{outline:2px solid var(--focus);background:var(--surface)}.flow-node>small{display:flex;align-items:center;gap:6px;color:var(--muted)}.flow-node>small:before{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--line-strong);content:""}.flow-node.is-complete{border-color:var(--accent);background:var(--accent-soft)}.flow-node.is-complete>small:before{background:var(--accent)}.flow-node.is-selected{border-color:var(--accent);outline-color:var(--accent-soft)}.flow-node.is-join-source{border-color:var(--accent)}.flow-node.is-join-target{border-color:var(--accent);outline:3px solid var(--accent);outline-offset:3px;background:var(--surface-raised)}.flow-node:focus-visible{border-color:var(--focus);outline-color:var(--focus)}.flow-canvas.is-editing .flow-node{cursor:ew-resize;touch-action:none}.flow-join-handle{position:absolute;top:50%;right:-9px;width:18px;height:18px;border:0;border-radius:var(--radius-pill);background:transparent;cursor:crosshair;opacity:.58;transform:translateY(-50%);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.flow-join-handle:after{position:absolute;inset:5px;box-sizing:border-box;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-pill);background:radial-gradient(circle,var(--line-strong) 0 1px,var(--surface-raised) 1.5px);content:""}.flow-join-handle:before{position:absolute;z-index:var(--z-tooltip);top:50%;left:21px;width:max-content;padding:5px 8px;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-popover);content:attr(data-tooltip);font-size:var(--text-xs);font-style:normal;font-weight:var(--font-weight-normal);opacity:0;pointer-events:none;transform:translateY(-50%) translate(-3px);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);white-space:nowrap}.flow-node.is-join-source .flow-join-handle,.flow-node:hover .flow-join-handle{opacity:1;transform:translateY(-50%) scale(1.08)}.flow-node.is-join-source .flow-join-handle:after,.flow-node:hover .flow-join-handle:after{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 1px,var(--surface-raised) 1.5px)}.flow-join-handle:hover:before{opacity:1;transform:translateY(-50%) translate(0);transition-delay:.8s}.flow-canvas.is-editing .flow-join-handle{cursor:crosshair}@media(hover:hover){.flow-node:hover{border-color:var(--line-strong)}.flow-node:hover .flow-node-edit-icon{color:var(--accent);opacity:1}.join-line:hover{stroke-width:4}}.flow-detail{display:grid;align-content:start;gap:var(--space-md);padding:var(--space-md);border-left:var(--rule-hair) solid var(--line-strong);background:var(--surface-raised)}.flow-detail header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-xs);padding-bottom:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.flow-detail header>div{display:grid;gap:var(--space-3xs)}.flow-detail header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.flow-detail header em{color:var(--muted);font-size:var(--text-xs);font-style:normal;white-space:nowrap}.flow-detail section{display:grid;gap:var(--space-2xs)}.flow-detail h3{margin:0;font-size:var(--text-sm)}.flow-detail ul{display:grid;margin:0;padding:0;border-top:var(--rule-hair) solid var(--line);list-style:none}.flow-detail li{display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:baseline;gap:var(--space-xs);min-height:32px;padding:6px 4px;border-bottom:var(--rule-hair) solid var(--line);font-size:var(--text-xs);line-height:1.35}.flow-detail li:hover{background:var(--surface-hover)}.flow-detail li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-detail li strong{display:grid;grid-template-columns:1fr 16px;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.flow-detail li strong small{color:var(--muted);font-size:inherit;font-weight:var(--font-weight-normal);text-align:left}.flow-detail p{margin:0;color:var(--muted);font-size:var(--text-xs)}.flow-detail dl{display:grid;gap:var(--space-sm);margin:0}.flow-detail dl>div{display:grid;gap:var(--space-3xs)}.flow-detail dt{color:var(--muted);font-size:var(--text-xs)}.flow-detail dd{margin:0;line-height:1.5}.execution-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);padding:var(--space-md);background:var(--surface-soft)}.execution-board button{display:grid;gap:5px;min-height:118px;padding:var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);text-align:left;cursor:pointer}.execution-board button>span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.execution-board button small{color:var(--muted)}.execution-board button em{align-self:end;color:var(--muted);font-size:var(--text-xs);font-style:normal}.execution-board button.is-complete{background:var(--accent-soft)}.assignment-modal{display:grid;gap:var(--space-sm)}.assignment-modal>h2{margin:0}.assignment-modal .field{display:grid;gap:var(--space-2xs);margin:0}.execution-share-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:var(--space-2xs)}.execution-share-link input{min-width:0}.execution-share-feedback{min-height:1lh;margin:0;color:var(--accent);font-size:var(--text-xs)}.assignment-modal .modal-actions{align-items:center;margin:0}.assignment-modal .modal-actions a{text-decoration:none}.mobile-stage{width:100%;min-height:100dvh;overflow-x:clip;background:var(--page-bg);color:var(--ink)}.mobile-shell{display:flex;width:100%;min-height:100dvh;flex-direction:column;margin-inline:auto;background:var(--surface)}.mobile-header{position:sticky;z-index:var(--z-sticky);top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-height:calc(var(--control-height) + var(--space-md));padding:max(var(--space-xs),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) var(--space-xs) max(var(--space-sm),env(safe-area-inset-left));border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.mobile-header div{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3xs)}.mobile-header strong{grid-column:2;line-height:1.2}.mobile-header .mobile-brand{display:grid;width:calc(var(--control-height) - var(--space-2xs));height:calc(var(--control-height) - var(--space-2xs));grid-row:1 / 3;place-items:center;align-self:center;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-family:var(--font-outlier);font-size:var(--text-sm)}.mobile-header span{grid-column:2;overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.mobile-header button{min-width:calc(var(--control-height) + var(--space-3xs));min-height:calc(var(--control-height) + var(--space-3xs));flex:0 0 auto;padding:0 var(--space-2xs);border:0;border-radius:var(--radius-control);background:transparent;color:var(--accent);cursor:pointer;font-weight:var(--font-weight-strong);white-space:nowrap}.mobile-progress{display:grid;gap:var(--space-2xs);padding:var(--space-2xs) max(var(--space-sm),env(safe-area-inset-right)) var(--space-xs) max(var(--space-sm),env(safe-area-inset-left));border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.mobile-progress-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.mobile-progress-summary span{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.mobile-progress-summary strong{flex:0 0 auto;font-family:var(--font-outlier);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.mobile-progress-track{height:var(--space-3xs);overflow:hidden;border-radius:var(--radius-pill);background:var(--line)}.mobile-progress-track i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:var(--accent);transition:transform var(--dur-short) var(--ease-out)}.mobile-entry>main{display:grid;width:100%;flex:1;align-content:center;justify-items:stretch;gap:var(--space-xs);padding:var(--space-xl) max(var(--space-sm),env(safe-area-inset-right)) calc(var(--space-xl) + env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left))}.mobile-entry>main>span,.mobile-step-heading>span{color:var(--accent);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.mobile-entry>main h1{max-width:24ch;font-size:var(--text-2xl)}.mobile-entry>main button,.mobile-actions button{min-height:calc(var(--control-height) + var(--space-2xs));padding:0 var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;font-weight:var(--font-weight-strong);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.mobile-entry>main button{width:100%;margin-top:var(--space-xs);border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.mobile-step{display:grid;width:100%;flex:1;align-content:start;gap:var(--space-sm);padding:var(--space-md) max(var(--space-sm),env(safe-area-inset-right)) var(--space-xl) max(var(--space-sm),env(safe-area-inset-left));animation:mobile-step-enter var(--dur-short) var(--ease-out)}.mobile-step-heading{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3xs) var(--space-xs);align-items:start}.mobile-step-heading>span{grid-column:1 / -1}.mobile-step-heading h1{min-width:0;font-size:var(--text-xl)}.mobile-step-heading em{color:var(--muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}.mobile-block{min-width:0;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.mobile-block h2{padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft);font-size:var(--text-sm)}.mobile-material,.mobile-facts div{display:flex;min-width:0;justify-content:space-between;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line)}.mobile-material:last-child,.mobile-facts div:last-child{border-bottom:0}.mobile-material span,.mobile-facts strong{min-width:0;overflow-wrap:anywhere}.mobile-material strong{flex:0 0 auto;font-family:var(--font-outlier);font-variant-numeric:tabular-nums;white-space:nowrap}.mobile-facts div{display:grid}.mobile-facts span{color:var(--muted);font-size:var(--text-xs)}.mobile-facts strong{font-size:var(--text-sm)}.mobile-complete{display:flex;min-height:calc(var(--control-height) + var(--space-2xs));align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent-soft);cursor:pointer;font-weight:var(--font-weight-strong)}.mobile-complete:focus-within{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}.mobile-complete input{width:var(--space-md);height:var(--space-md);flex:0 0 auto;accent-color:var(--accent)}.mobile-note{display:grid;min-width:0;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.mobile-note input,.mobile-note textarea{width:100%;min-height:calc(var(--control-height) + var(--space-2xs));padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:var(--rule-fine) solid transparent;outline-offset:1px;background:var(--surface-raised);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base)}.mobile-note input{padding-block:0}.mobile-note textarea{resize:vertical;line-height:1.5}.mobile-note input:focus-visible,.mobile-note textarea:focus-visible{border-color:var(--accent);outline-color:var(--focus)}.mobile-actual-weight input{font-family:var(--font-outlier);font-variant-numeric:tabular-nums}.mobile-images{display:grid;min-width:0;gap:var(--space-xs);padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-soft)}.mobile-images-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.mobile-images-heading strong{font-size:var(--text-sm)}.mobile-images-heading span{color:var(--muted);font-size:var(--text-xs)}.mobile-capture-grid,.mobile-library-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.mobile-capture-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mobile-capture-action,.mobile-library-actions label{display:inline-flex;min-width:0;min-height:calc(var(--control-height) + var(--space-xs));align-items:center;justify-content:center;padding:var(--space-2xs) var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent);cursor:pointer;font-weight:var(--font-weight-strong);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.mobile-capture-action{flex-direction:column;gap:var(--space-3xs)}.mobile-capture-action strong{font-size:var(--text-sm)}.mobile-capture-action span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.mobile-library-actions label{gap:var(--space-3xs);min-height:calc(var(--control-height) + var(--space-3xs));color:var(--ink-soft);font-size:var(--text-xs)}.mobile-capture-input:focus-visible+label{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}.mobile-capture-input:disabled+label{cursor:wait;opacity:.55}.mobile-capture-action:active,.mobile-library-actions label:active{transform:translateY(var(--rule-hair))}.mobile-images[data-state=loading] .mobile-capture-action,.mobile-images[data-state=loading] .mobile-library-actions label{background:var(--surface-soft)}.mobile-images[data-state=error]{border-color:var(--danger);background:var(--danger-soft);color:var(--ink)}.mobile-images[data-state=success]{border-color:var(--accent)}.mobile-image-list{display:grid;gap:var(--space-3xs);margin:0;padding:0;list-style:none}.mobile-image-list li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);background:var(--surface-raised)}.mobile-image-list .mobile-media-open{min-width:0;width:auto;height:calc(var(--control-height) + var(--space-3xs));flex:1;display:block;overflow:hidden;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-xs);text-align:left;text-overflow:ellipsis;white-space:nowrap}.mobile-image-list .mobile-media-open:disabled{cursor:default;opacity:.55}.mobile-media-legacy{flex:0 0 auto;color:var(--danger);font-size:var(--text-xs);white-space:nowrap}.mobile-image-list em{flex:0 0 auto;padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-style:normal;font-weight:var(--font-weight-strong)}.mobile-image-list .mobile-media-remove{display:grid;width:calc(var(--control-height) + var(--space-3xs));height:calc(var(--control-height) + var(--space-3xs));flex:0 0 auto;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer}.mobile-media-preview{display:grid;gap:var(--space-2xs);overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.mobile-media-preview.is-pending{border-color:var(--accent)}.mobile-media-preview header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs) 0}.mobile-media-preview header>div{display:grid;min-width:0;gap:var(--space-3xs)}.mobile-media-preview header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.mobile-media-preview header strong{min-width:0;overflow:hidden;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.mobile-media-preview header button{display:grid;width:calc(var(--control-height) + var(--space-3xs));height:calc(var(--control-height) + var(--space-3xs));flex:0 0 auto;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer}.mobile-media-preview img,.mobile-media-preview video{display:block;width:100%;max-height:60dvh;object-fit:contain;background:var(--ink)}.mobile-media-preview-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs);padding:0 var(--space-xs) var(--space-xs)}.mobile-media-preview-actions button{min-width:0;min-height:calc(var(--control-height) + var(--space-3xs));padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;font-weight:var(--font-weight-strong);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.mobile-media-preview-actions button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.mobile-media-preview>a,.mobile-media-playback-error a{display:inline-flex;width:fit-content;min-height:calc(var(--control-height) + var(--space-3xs));margin:0 var(--space-xs) var(--space-xs);align-items:center;color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong);white-space:nowrap}.mobile-media-playback-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2xs);padding:0 var(--space-xs) var(--space-xs);color:var(--danger);font-size:var(--text-xs)}.mobile-media-playback-error a{margin:0}.mobile-images[data-state=error] .mobile-media-message{color:var(--danger);font-weight:var(--font-weight-strong)}.mobile-media-message{color:var(--muted);font-size:var(--text-xs)}.mobile-message{color:var(--warning);font-size:var(--text-xs)}.mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border-top:var(--rule-hair) solid var(--line-strong);background:var(--surface-raised)}.mobile-actions button{min-width:0;flex:1}.mobile-actions button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.mobile-shell button:active:not(:disabled),.mobile-capture-action:active,.mobile-library-actions label:active{transform:translateY(var(--rule-hair))}.mobile-shell button:focus-visible,.mobile-media-preview a:focus-visible{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}.mobile-shell button:disabled{cursor:not-allowed;opacity:.5}.mobile-shell button[data-state=loading]{cursor:wait;opacity:.7}.mobile-shell button[data-state=error]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.mobile-shell button[data-state=success]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.mobile-missing{display:grid;min-width:0;min-height:100dvh;place-content:center;gap:var(--space-xs);padding:var(--space-sm)}@keyframes mobile-step-enter{0%{opacity:0;transform:translateY(var(--space-2xs))}to{opacity:1;transform:translateY(0)}}@media(min-width:40rem){.mobile-shell{max-width:52rem}.mobile-header,.mobile-progress,.mobile-actions{padding-inline:var(--space-lg)}.mobile-step,.mobile-entry>main{padding-inline:var(--space-lg)}.mobile-entry>main{justify-items:start}.mobile-entry>main button{width:auto;min-width:10rem}}@media(hover:hover)and (pointer:fine){.mobile-header button:hover{background:var(--surface-hover)}.mobile-capture-action:hover,.mobile-library-actions label:hover,.mobile-image-list button:hover,.mobile-media-preview header button:hover,.mobile-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.mobile-media-preview-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.mobile-media-preview-actions button.is-primary:hover:not(:disabled),.mobile-actions button.is-primary:hover:not(:disabled),.mobile-entry>main button:hover{background:var(--accent-hover);color:var(--accent-ink)}}@media(prefers-reduced-motion:reduce){.mobile-step{animation:none}.mobile-progress-track i,.mobile-capture-action,.mobile-library-actions label,.mobile-media-preview-actions button,.mobile-entry>main button,.mobile-actions button{transition-duration:.01ms}}.review-page{width:min(1460px,calc(100% - 64px))}.review-heading{align-items:center}.review-title-copy{display:grid;gap:var(--space-3xs)}.review-title-copy>p{color:var(--muted);font-size:var(--text-sm)}.review-title-line{display:flex;align-items:center;gap:var(--space-xs)}.review-version,.review-status,.review-record-state{display:inline-flex;min-height:var(--space-md);align-items:center;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-weight-strong);line-height:1}.review-version{color:var(--muted);font-family:var(--font-outlier)}.review-status{padding:0 var(--space-2xs)}.review-status.is-pending{background:var(--warning-soft);color:var(--warning)}.review-status.is-approved{background:var(--accent-soft);color:var(--accent)}.review-objective{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:96px;margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.review-objective>div{display:grid;gap:var(--space-3xs);min-width:0}.review-objective>div>span,.review-kicker{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-label)}.review-objective h2{font-size:var(--text-md);line-height:1.4}.review-objective dl{display:flex;flex:0 0 auto;margin:0}.review-objective dl>div{display:grid;min-width:112px;gap:var(--space-3xs);padding:0 var(--space-sm);border-left:var(--rule-hair) solid var(--line)}.review-objective dt,.review-process-facts dt{color:var(--muted);font-size:var(--text-xs)}.review-objective dd,.review-process-facts dd{margin:0;color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.review-objective dd.has-alert{color:var(--danger)}.review-workbench{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:var(--space-md)}.review-records-panel,.review-reference{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.review-records-panel{min-height:560px}.review-panel-heading,.review-reference>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.review-panel-heading>div:first-child,.review-reference>header>div{display:grid;gap:var(--space-3xs)}.review-filters{display:flex;gap:var(--space-3xs)}.review-filters .button{min-height:32px;padding-inline:var(--space-xs);box-shadow:none}.review-filters .button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.review-empty-state{display:grid;min-height:432px;place-content:center;justify-items:center;gap:var(--space-2xs);padding:var(--space-lg);color:var(--muted);text-align:center}.review-empty-state strong{color:var(--ink);font-size:var(--text-md)}.review-empty-state p{max-width:48ch;font-size:var(--text-sm)}.review-empty-state .button{margin-top:var(--space-xs)}.review-record-list{display:grid}.review-record{border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.review-record:last-child{border-bottom:0}.review-record.is-selected{background:var(--surface-soft)}.review-record[data-state=error]{box-shadow:inset var(--rule-fine) 0 0 var(--danger)}.review-record[data-state=success]{box-shadow:inset var(--rule-fine) 0 0 var(--accent)}.review-record-head{display:grid;width:100%;grid-template-columns:72px minmax(0,1fr) 88px;align-items:center;gap:var(--space-xs);min-height:64px;padding:var(--space-xs) var(--space-sm);border:0;outline:var(--rule-fine) solid transparent;outline-offset:calc(-1 * var(--rule-fine));background:transparent;cursor:pointer;text-align:left;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.review-step-code{color:var(--accent);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.review-step-name{overflow:hidden;min-width:0;color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-weight-strong);text-overflow:ellipsis;white-space:nowrap}.review-record-state{justify-self:end;padding:0 var(--space-2xs)}.review-record-state.is-exception{background:var(--danger-soft);color:var(--danger)}.review-record-state.is-resolved{background:var(--accent-soft);color:var(--accent)}.review-record-state.is-normal{color:var(--muted)}.review-record-head:focus-visible{outline-color:var(--focus)}.review-record-head:active:not(:disabled){transform:translateY(1px)}.review-record-head:disabled,.review-record-head[data-state=loading]{cursor:not-allowed;opacity:.5}.review-record-head[data-state=error]{color:var(--danger)}.review-record-head[data-state=success]{color:var(--accent)}.review-record-body{display:grid;gap:var(--space-sm);padding:0 var(--space-sm) var(--space-sm) calc(var(--space-sm) + var(--space-3xs))}.review-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.review-evidence-grid section{display:grid;align-content:start;gap:var(--space-2xs);min-height:112px;padding:var(--space-xs)}.review-evidence-grid section+section{border-left:var(--rule-hair) solid var(--line)}.review-evidence-grid section>span,.review-confirmation>label,.review-auto-result span,.review-decision-field>span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.review-evidence-grid p,.review-auto-result strong{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-normal);line-height:1.65}.review-evidence-grid em{color:var(--muted);font-size:var(--text-xs);font-style:normal}.review-image-list{display:flex;flex-wrap:wrap;gap:var(--space-3xs);margin:0;padding:0;list-style:none}.review-image-list li{display:inline-flex;align-items:center;gap:var(--space-3xs);max-width:220px;overflow:hidden;padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.review-image-list b{color:var(--accent);font-size:inherit}.review-image-list a,.review-image-list span{min-width:0;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.review-image-list a{text-decoration:underline}.review-confirmation{display:grid;gap:var(--space-2xs)}.review-confirmation textarea{width:100%;min-height:92px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:var(--rule-fine) solid transparent;outline-offset:1px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);resize:vertical;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.review-confirmation textarea:focus-visible{border-color:var(--accent);outline-color:var(--focus)}.review-confirmation textarea:disabled{cursor:not-allowed;opacity:.65}.review-record-actions{display:flex;gap:var(--space-2xs)}.review-record-actions .button{box-shadow:none}.review-restore-button{margin-left:auto}.review-auto-result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:64px;padding:var(--space-xs);border-left:var(--rule-fine) solid var(--accent);background:var(--accent-soft)}.review-auto-result>div{display:grid;gap:var(--space-3xs)}.review-auto-result .button{flex:0 0 auto;box-shadow:none}.review-inline-note{color:var(--warning);font-size:var(--text-xs)}.review-reference{position:sticky;top:calc(64px + var(--space-sm))}.review-reference>header>span{color:var(--muted);font-size:var(--text-xs)}.review-reference-title{display:grid;gap:var(--space-3xs);padding:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.review-reference-title span,.review-full-recipe section>div>span{color:var(--accent);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.review-reference-title strong{font-size:var(--text-base)}.review-process-facts{display:grid;margin:0;border-bottom:var(--rule-hair) solid var(--line)}.review-process-facts>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.review-process-facts>div:last-child{border-bottom:0}.review-process-facts dd{overflow-wrap:anywhere;font-weight:var(--font-weight-medium)}.review-materials{display:grid;gap:var(--space-xs);padding:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.review-materials>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.review-materials>header>span{color:var(--muted);font-size:var(--text-xs)}.review-materials ul,.review-full-recipe ul{display:grid;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.review-materials li,.review-full-recipe li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);color:var(--ink-soft);font-size:var(--text-sm)}.review-materials li strong{flex:0 0 auto;font-size:var(--text-xs)}.review-materials li>span{display:grid;min-width:0;gap:var(--space-3xs)}.review-materials li>span small{color:var(--muted);font-size:var(--text-xs)}.review-materials li.is-adjusted>span{color:var(--accent);font-weight:var(--font-weight-strong)}.review-material-values{display:grid;flex:0 0 auto;grid-template-columns:112px 56px;align-items:center;gap:var(--space-2xs)}.review-material-values label{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface)}.review-material-values input{width:100%;min-width:0;height:34px;padding:0 var(--space-2xs);border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-xs);text-align:right}.review-material-values input:focus-visible{box-shadow:inset 0 0 0 var(--rule-fine) var(--focus)}.review-material-values input:disabled{color:var(--ink-soft);opacity:1}.review-material-values em{color:var(--muted);font-size:var(--text-xs);font-style:normal}.review-material-values>strong{color:var(--accent);text-align:right}.review-reference-empty{padding:var(--space-lg) var(--space-sm);color:var(--muted);font-size:var(--text-sm)}.review-full-recipe summary{min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);outline:var(--rule-fine) solid transparent;outline-offset:calc(-1 * var(--rule-fine));color:var(--accent);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-strong);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.review-full-recipe summary:focus-visible{outline-color:var(--focus)}.review-full-recipe summary:active{transform:translateY(1px)}.review-full-recipe>div{display:grid;max-height:420px;overflow:auto;border-top:var(--rule-hair) solid var(--line)}.review-full-recipe section{display:grid;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.review-full-recipe section:last-child{border-bottom:0}.review-full-recipe section>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-xs)}.review-full-recipe section>div>strong{font-size:var(--text-sm)}.review-full-recipe li{padding-left:calc(48px + var(--space-xs));color:var(--muted);font-size:var(--text-xs)}.review-full-recipe li em{flex:0 0 auto;font-style:normal}.review-decision{position:sticky;z-index:var(--z-raised);bottom:var(--space-sm);display:grid;grid-template-columns:minmax(280px,1fr) 180px 190px auto;align-items:end;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.review-decision-copy{display:grid;gap:var(--space-3xs)}.review-decision-copy p{color:var(--muted);font-size:var(--text-xs)}.review-decision-field{display:grid;gap:var(--space-3xs)}.review-decision-field select,.review-weight-field>span:last-child{width:100%;min-height:var(--control-height);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-size:var(--text-sm)}.review-decision-field select{padding:0 var(--space-xs)}.review-weight-field>span:last-child{display:flex;align-items:center;gap:var(--space-3xs);padding:0 var(--space-xs)}.review-weight-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums}.review-weight-field em{color:var(--muted);font-style:normal}.review-decision-field select:focus-visible,.review-weight-field>span:last-child:focus-within{border-color:var(--accent);outline:var(--rule-fine) solid var(--focus);outline-offset:1px}.review-decision-field select:disabled,.review-weight-field:has(input:disabled)>span:last-child{cursor:not-allowed;opacity:.65}.review-approve-button{min-width:112px}@media(hover:hover){.review-record-head:hover:not(:disabled),.review-full-recipe summary:hover{background:var(--surface-hover)}.review-confirmation textarea:hover:not(:disabled),.review-decision-field select:hover:not(:disabled),.review-weight-field:has(input:not(:disabled)):hover>span:last-child{border-color:var(--accent)}}@media(prefers-reduced-motion:reduce){.review-record-head,.review-confirmation textarea,.review-full-recipe summary{transition:none}}.new-version-page{max-width:1040px}.version-heading{align-items:center}.version-card{display:grid;gap:var(--space-lg);padding:var(--space-lg);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.version-pair{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.version-pair span{display:grid;gap:var(--space-3xs);color:var(--muted);font-size:var(--text-xs)}.version-pair strong{color:var(--ink);font-family:var(--font-outlier);font-size:var(--text-lg)}.version-pair b{color:var(--accent);font-size:var(--text-lg);font-weight:var(--font-weight-medium)}.version-options{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:var(--space-lg);align-items:start}.version-card fieldset{display:grid;gap:var(--space-xs);margin:0;padding:0;border:0}.version-card legend{margin-bottom:var(--space-xs);color:var(--ink-soft);font-weight:var(--font-weight-strong)}.version-card fieldset label{display:flex;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);cursor:pointer}.version-card fieldset label:has(input:checked){background:var(--accent-soft);color:var(--ink)}.version-card fieldset input{accent-color:var(--accent)}.version-card fieldset label:focus-within{outline:var(--rule-fine) solid var(--focus);outline-offset:-2px}.version-card fieldset label em{margin-left:auto;color:var(--muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-style:normal;font-variant-numeric:tabular-nums}.version-card label.is-disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.version-card .form-actions{padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--line)}@media(hover:hover){.version-card fieldset label:hover:not(.is-disabled){background:var(--surface-hover)}}.account-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#0006;padding:24px}.account-modal{width:min(440px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 20px 60px #0003}.account-modal h2{margin:0 0 20px;font-size:20px}.confidential-prototype-page{--confidential-secret: #8a5722;--confidential-secret-soft: #faf1e6;--confidential-public: #426273;--confidential-public-soft: #edf3f6;display:grid;align-content:start;gap:0;min-height:calc(100dvh - 64px);padding-top:18px}.confidential-prototype-banner,.confidential-prototype-steps,.confidential-prototype-workspace{width:min(1380px,calc(100% - 48px));margin-inline:auto}.confidential-prototype-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:46px;padding:8px 14px;border:var(--rule-fine) solid var(--line);border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-banner>div{display:flex;align-items:center;gap:12px}.confidential-prototype-banner strong{color:var(--ink);font-size:var(--text-sm)}.confidential-prototype-banner button{padding:2px 0;border:0;border-bottom:var(--rule-fine) solid currentColor;background:transparent;cursor:pointer}.confidential-prototype-steps{display:flex;min-height:58px;border-inline:var(--rule-fine) solid var(--line);border-bottom:var(--rule-fine) solid var(--line);background:var(--surface)}.confidential-prototype-steps button{display:flex;flex:1;align-items:center;justify-content:center;gap:9px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.confidential-prototype-steps button span{display:grid;width:22px;height:22px;place-items:center;border:var(--rule-fine) solid var(--line-strong);border-radius:50%;font-size:11px}.confidential-prototype-steps button.is-active{border-bottom-color:var(--ink);color:var(--ink);font-weight:var(--font-weight-strong)}.confidential-prototype-steps button.is-active span{border-color:var(--ink);background:var(--ink);color:var(--surface)}.confidential-prototype-workspace{min-height:680px;padding:24px;border-inline:var(--rule-fine) solid var(--line);border-bottom:var(--rule-fine) solid var(--line);background:var(--page-bg)}.confidential-prototype-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.confidential-prototype-heading>div:first-child{display:grid;gap:7px}.confidential-prototype-heading>div:last-child{display:flex;gap:9px}.confidential-prototype-heading p{color:var(--muted);font-size:var(--text-sm)}.confidential-prototype-crumb{color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-title{display:flex;align-items:center;gap:9px}.confidential-prototype-title span,.confidential-prototype-title em,.confidential-prototype-task header span,.confidential-prototype-table td>span{display:inline-flex;width:fit-content;padding:3px 8px;border:var(--rule-fine) solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-style:normal}.confidential-prototype-title em,.confidential-prototype-task header span.is-secret,.confidential-prototype-table td>span.is-secret{border-color:#cda97e;background:var(--confidential-secret-soft);color:var(--confidential-secret)}.confidential-prototype-table td>span.is-public{border-color:#b8cad4;background:var(--confidential-public-soft);color:var(--confidential-public)}.confidential-prototype-editor-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.confidential-prototype-editor-bar>div:first-child{display:flex;align-items:baseline;gap:10px}.confidential-prototype-editor-bar span{color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-view-toggle{display:flex;padding:3px;border:var(--rule-fine) solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft)}.confidential-prototype-view-toggle button{min-height:32px;padding:5px 12px;border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--muted);cursor:pointer}.confidential-prototype-view-toggle button.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft);font-weight:var(--font-weight-strong)}.confidential-prototype-editor-grid,.confidential-prototype-prep-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.confidential-prototype-panel{overflow:hidden;border:var(--rule-fine) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface)}.confidential-prototype-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:10px 14px;border-bottom:var(--rule-fine) solid var(--line)}.confidential-prototype-panel>header span{color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-side{display:grid;gap:12px}.confidential-prototype-side-body{display:grid;gap:13px;padding:15px}.confidential-prototype-side-body p{color:var(--muted);font-size:var(--text-sm);line-height:1.65}.confidential-prototype-side-body label,.confidential-prototype-production-form>label,.confidential-prototype-modal label{display:grid;gap:6px;color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-side-body input,.confidential-prototype-production-form input,.confidential-prototype-production-form select,.confidential-prototype-modal input,.confidential-prototype-modal select,.confidential-prototype-modal textarea{width:100%;min-height:38px;padding:7px 9px;border:var(--rule-fine) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.confidential-prototype-table{width:100%;border-collapse:collapse;table-layout:fixed}.confidential-prototype-table th,.confidential-prototype-table td{padding:11px 12px;border-bottom:var(--rule-fine) solid var(--line);text-align:left;vertical-align:top}.confidential-prototype-table th{background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.confidential-prototype-table th:first-child,.confidential-prototype-table td:first-child{width:42px;text-align:center}.confidential-prototype-table th:nth-child(2),.confidential-prototype-table td:nth-child(2){width:68px;color:var(--muted)}.confidential-prototype-table th:nth-child(4),.confidential-prototype-table td:nth-child(4){width:90px;text-align:right;font-variant-numeric:tabular-nums}.confidential-prototype-table th:nth-child(5),.confidential-prototype-table td:nth-child(5){width:110px}.confidential-prototype-table th:last-child,.confidential-prototype-table td:last-child{width:220px}.confidential-prototype-table td{font-size:var(--text-sm)}.confidential-prototype-table td strong,.confidential-prototype-table td small{display:block}.confidential-prototype-table td small{margin-top:4px;color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-table tr.is-secret{background:color-mix(in srgb,var(--confidential-secret-soft) 32%,var(--surface))}.confidential-prototype-table tr.is-selected{background:var(--confidential-secret-soft)}.confidential-prototype-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--confidential-secret)}.confidential-prototype-table tbody tr:last-child td{border-bottom:0}.confidential-prototype-mapping td{padding-block:8px;background:var(--confidential-secret-soft)}.confidential-prototype-mapping td>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.confidential-prototype-mapping span strong,.confidential-prototype-mapping span small{display:block}.confidential-prototype-mapping button{border:0;border-bottom:var(--rule-fine) solid currentColor;background:transparent;color:var(--confidential-secret);cursor:pointer}.confidential-prototype-checks{display:grid;gap:10px;margin:0;padding:15px;list-style:none;color:var(--muted);font-size:var(--text-sm)}.confidential-prototype-checks li:before{content:"○";display:inline-block;width:22px;color:var(--line-strong)}.confidential-prototype-checks li.is-ok:before{content:"✓";color:#2f6c4e;font-weight:var(--font-weight-strong)}.confidential-prototype-preview-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:var(--rule-fine) solid #b8cad4;background:var(--confidential-public-soft);color:var(--confidential-public);font-size:var(--text-sm)}.confidential-prototype-preview-head em{font-style:normal}.confidential-prototype-preview-actions{display:flex;justify-content:flex-end;gap:9px;padding:12px 14px;border-top:var(--rule-fine) solid var(--line)}.confidential-prototype-empty{display:grid;min-height:340px;place-items:center;text-align:center}.confidential-prototype-empty>div{display:grid;gap:12px}.confidential-prototype-empty p{color:var(--muted)}.confidential-prototype-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.confidential-prototype-task>div{display:grid;gap:16px;padding:17px}.confidential-prototype-task-title{display:flex;justify-content:space-between;gap:16px}.confidential-prototype-task-title>span{display:grid;gap:4px}.confidential-prototype-task-title small{color:var(--muted)}.confidential-prototype-task-title em{color:var(--confidential-secret);font-style:normal;font-weight:var(--font-weight-strong)}.confidential-prototype-task dl,.confidential-prototype-production-form dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.confidential-prototype-task dl div,.confidential-prototype-production-form dl div{display:grid;gap:4px;padding:10px 11px;border-radius:var(--radius-control);background:var(--surface-soft)}.confidential-prototype-task dt,.confidential-prototype-production-form dt{color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-task dd,.confidential-prototype-production-form dd{margin:0;font-weight:var(--font-weight-strong)}.confidential-prototype-prep-list{margin:0;padding:0;list-style:none}.confidential-prototype-prep-list li{border-bottom:var(--rule-fine) solid var(--line)}.confidential-prototype-prep-list li:last-child{border-bottom:0}.confidential-prototype-prep-list li.is-done{background:#edf6f0}.confidential-prototype-prep-list label{display:grid;grid-template-columns:32px minmax(0,1fr) 100px 70px;gap:12px;align-items:center;min-height:66px;padding:10px 14px;cursor:pointer}.confidential-prototype-prep-list input{position:absolute;opacity:0;pointer-events:none}.confidential-prototype-prep-list i{display:grid;width:24px;height:24px;place-items:center;border:var(--rule-fine) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:transparent;font-style:normal}.confidential-prototype-prep-list li.is-done i{border-color:#2f6c4e;background:#2f6c4e;color:#fff}.confidential-prototype-prep-list label>span{display:grid;gap:3px}.confidential-prototype-prep-list small,.confidential-prototype-prep-list em{color:var(--muted);font-size:var(--text-xs);font-style:normal}.confidential-prototype-prep-list b{text-align:right}.confidential-prototype-production{padding:18px}.confidential-prototype-gate{margin-bottom:15px;padding:11px 13px;border:var(--rule-fine) solid #e4c89f;border-radius:var(--radius-control);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm)}.confidential-prototype-production-form{display:grid;gap:15px;max-width:720px;margin:0 auto}.confidential-prototype-production-form>div:first-child{display:grid;gap:4px}.confidential-prototype-production-form>div:first-child span{color:var(--muted);font-size:var(--text-xs)}.confidential-prototype-operation{padding:13px;border-left:3px solid var(--ink);background:var(--surface-soft)}.confidential-prototype-operation p{margin-top:4px;color:var(--muted);font-size:var(--text-sm)}.confidential-prototype-lock{display:flex;justify-content:space-between;gap:14px;padding:11px 13px;border:var(--rule-fine) solid #b8cad4;border-radius:var(--radius-control);background:var(--confidential-public-soft);color:var(--confidential-public);font-size:var(--text-sm)}.confidential-prototype-production-form>.button{justify-self:end}.confidential-prototype-done{display:grid;min-height:300px;place-items:center;align-content:center;gap:10px;text-align:center}.confidential-prototype-done>span{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#2f6c4e;color:#fff;font-size:26px}.confidential-prototype-done p{color:var(--muted)}.confidential-prototype-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#14131173}.confidential-prototype-modal{width:560px;overflow:hidden;border:var(--rule-fine) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface);box-shadow:0 24px 70px #00000040}.confidential-prototype-modal>header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:var(--rule-fine) solid var(--line)}.confidential-prototype-modal>header button{border:0;background:transparent;cursor:pointer;font-size:21px}.confidential-prototype-modal>div{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:17px}.confidential-prototype-modal>div>p,.confidential-prototype-modal label.is-wide{grid-column:1 / -1}.confidential-prototype-modal>div>p{padding:10px 12px;border-radius:var(--radius-control);background:var(--confidential-secret-soft);color:var(--confidential-secret);font-size:var(--text-sm)}.confidential-prototype-modal textarea{min-height:74px;resize:vertical}.confidential-prototype-modal>footer{display:flex;justify-content:flex-end;gap:9px;padding:12px 17px;border-top:var(--rule-fine) solid var(--line)}.production-task-list-page{max-width:1280px}.production-task-heading{align-items:center;margin-bottom:var(--space-lg)}.production-task-table-frame{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.production-task-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.production-task-table th,.production-task-table td{padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:middle}.production-task-table th{height:46px;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-label)}.production-task-table tbody tr:last-child td{border-bottom:0}.production-task-table td{height:62px}.production-task-table td:nth-child(2) small{display:block;margin-top:var(--space-3xs);color:var(--muted);font-size:var(--text-xs)}.production-task-table th:last-child,.production-task-table td:last-child{text-align:right}.production-task-empty{display:grid;min-height:220px;place-items:center;color:var(--muted);font-size:var(--text-sm)}.production-task-stage{display:inline-flex;padding:3px var(--space-2xs);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-stage.is-completed{background:var(--surface-soft);color:var(--muted)}.production-task-detail-page{max-width:1180px}.production-task-back{min-height:var(--control-height);padding:0 var(--space-2xs);margin:calc(var(--space-2xs) * -1) 0 var(--space-sm) calc(var(--space-2xs) * -1);border:0;border-radius:var(--radius-control);background:transparent;color:var(--accent);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg)}.production-task-detail-heading>div{display:grid;gap:var(--space-3xs)}.production-task-detail-heading>div>span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-detail-heading p{color:var(--muted);font-size:var(--text-sm)}.production-task-detail-status{padding:var(--space-2xs) var(--space-xs);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs)}.production-task-detail-status.is-completed{background:var(--surface-soft);color:var(--muted)}.production-task-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0 0 var(--space-lg);list-style:none}.production-task-progress li{position:relative;display:grid;justify-items:center;gap:var(--space-2xs);color:var(--muted);font-size:var(--text-xs)}.production-task-progress li:before{position:absolute;z-index:var(--z-base);top:15px;left:0;width:100%;height:1px;background:var(--line-strong);content:""}.production-task-progress li:first-child:before{left:50%;width:50%}.production-task-progress li:last-child:before{width:50%}.production-task-progress li>span{position:relative;z-index:var(--z-raised);display:grid;width:30px;height:30px;place-items:center;border:var(--rule-hair) solid var(--line-strong);border-radius:50%;background:var(--surface-raised)}.production-task-progress li.is-complete,.production-task-progress li.is-current{color:var(--accent)}.production-task-progress li.is-complete>span{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.production-task-progress li.is-current>span{border-color:var(--accent);background:var(--accent-soft);font-weight:var(--font-weight-strong)}.production-task-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--space-md);overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.production-task-summary>div{display:grid;gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);border-right:var(--rule-hair) solid var(--line)}.production-task-summary>div:last-child{border-right:0}.production-task-summary span,.production-task-summary small{color:var(--muted);font-size:var(--text-xs)}.production-task-owner>div{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-2xs)}.production-task-owner .button{min-height:32px;padding:0 var(--space-2xs);font-size:var(--text-xs)}.production-task-stage-panel{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.production-task-stage-panel.is-weight{overflow:visible;box-shadow:none}.production-task-stage-panel>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.production-task-stage-panel>header>div{display:grid;gap:var(--space-3xs)}.production-task-stage-panel>header span,.production-task-stage-panel>header p{color:var(--muted);font-size:var(--text-xs)}.production-task-stage-panel>footer{display:flex;justify-content:flex-end;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-top:var(--rule-hair) solid var(--line)}.production-task-stage-panel>footer>span{align-self:center;margin-right:auto;color:var(--muted);font-size:var(--text-xs)}.production-task-materials{max-height:420px;overflow-y:auto}.production-task-materials>div{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:var(--space-md);padding:var(--space-xs) var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.production-task-materials>div:last-child{border-bottom:0}.production-task-materials strong{text-align:right;font-variant-numeric:tabular-nums}.production-task-materials .production-task-materials-head{background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-materials .production-task-materials-head span:last-child{text-align:right}.production-task-setup{display:grid;gap:var(--space-md);padding:var(--space-md)}.production-task-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:var(--rule-hair) solid var(--line)}.production-task-setup-section{display:grid;align-content:start;gap:var(--space-sm);min-width:0;padding:0 var(--space-lg) var(--space-md) 0}.production-task-setup-section+.production-task-setup-section{padding-right:0;padding-left:var(--space-lg);border-left:var(--rule-hair) solid var(--line)}.production-task-setup-section>h2{padding-bottom:var(--space-xs);border-bottom:var(--rule-hair) solid var(--line)}.production-task-setup label{display:grid;width:min(100%,460px);gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.production-task-setup input,.production-task-setup select{width:100%;min-width:0;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit;font-weight:var(--font-weight-normal)}.production-task-setup input[type=number]{font-variant-numeric:tabular-nums}.production-task-setup-weight{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control)}.production-task-setup-weight input{border:0;border-radius:0}.production-task-setup-weight:has(input[aria-invalid=true]){border-color:var(--danger)}.production-task-setup-weight em{color:var(--muted);text-align:center;font-size:var(--text-xs);font-style:normal}.production-task-setup label>small{min-height:1lh;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.production-task-setup label>small.is-error{color:var(--danger)}.production-task-setup-select,.production-task-setup-basis{display:grid;gap:var(--space-3xs)}.production-task-setup-select span,.production-task-setup-basis span{color:var(--muted);font-size:var(--text-xs)}.production-task-basis-options{display:grid;width:min(100%,460px);gap:var(--space-2xs);padding:0;border:0}.production-task-basis-options legend{margin-bottom:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.production-task-basis-options>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.production-task-basis-options label{position:relative;display:block;width:auto}.production-task-basis-options input{position:absolute;width:1px;min-height:1px;opacity:0}.production-task-basis-options label>span{display:grid;min-height:var(--control-height);place-items:center;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);white-space:nowrap}.production-task-basis-options input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.production-task-basis-options input:focus-visible+span{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}.production-task-basis-options input:disabled+span{cursor:not-allowed;opacity:.5}.production-task-basis-options>p{min-height:1lh;color:var(--muted);font-size:var(--text-xs)}.production-task-basis-materials{display:grid;width:min(100%,460px);border-top:var(--rule-hair) solid var(--line)}.production-task-basis-materials h3{padding:var(--space-xs) 0}.production-task-basis-materials>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0;border-top:var(--rule-hair) solid var(--line)}.production-task-basis-materials>div strong{font-variant-numeric:tabular-nums}.production-task-complete-materials{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel)}.production-task-complete-materials>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--surface-soft);cursor:pointer;font-weight:var(--font-weight-strong);list-style-position:inside}.production-task-complete-materials>summary span{margin-right:auto}.production-task-complete-materials>summary strong{color:var(--muted);font-size:var(--text-xs)}.production-task-complete-materials-table{overflow-x:auto;border-top:var(--rule-hair) solid var(--line)}.production-task-complete-materials-table table{width:100%;min-width:820px;border-collapse:collapse}.production-task-complete-materials-table th,.production-task-complete-materials-table td{padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:top}.production-task-complete-materials-table th{background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs)}.production-task-complete-materials-table th:nth-child(2),.production-task-complete-materials-table td:nth-child(2){width:90px}.production-task-complete-materials-table th:nth-child(3),.production-task-complete-materials-table td:nth-child(3),.production-task-complete-materials-table th:nth-child(4),.production-task-complete-materials-table td:nth-child(4){width:120px;text-align:right;font-variant-numeric:tabular-nums}.production-task-complete-materials-table tbody tr:last-child td{border-bottom:0}.production-task-complete-materials-table td:first-child strong{display:block}.production-task-complete-materials-table td:first-child small{display:inline-block;margin:var(--space-3xs) var(--space-3xs) 0 0;padding:2px var(--space-3xs);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}.production-task-stage-panel.is-weight>footer{position:sticky;z-index:var(--z-sticky);bottom:0;background:var(--surface-raised)}.production-task-prep-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:var(--space-md);padding:var(--space-md)}.production-task-prep-assignment{display:grid;align-content:start;gap:var(--space-sm);padding:0 var(--space-md) 0 0;border-right:var(--rule-hair) solid var(--line)}.production-task-prep-assignment>div{display:grid;gap:var(--space-2xs)}.production-task-prep-assignment>div>span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-prep-assignment>div>strong{font-size:var(--text-lg)}.production-task-prep-assignment>.button{justify-self:start}.production-task-prep-assignment p{color:var(--accent);font-size:var(--text-xs)}.production-task-prep-mobile-entry{justify-self:start}.production-task-prep-groups{display:grid;align-content:start;gap:var(--space-md)}.production-task-prep-step{display:grid;gap:var(--space-2xs);min-width:0}.production-task-prep-step>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:0 0 var(--space-2xs);border-bottom:var(--rule-hair) solid var(--line-strong)}.production-task-prep-step>header strong{color:var(--accent)}.production-task-prep-step>header span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-prep-step>div{display:grid;gap:var(--space-2xs)}.production-task-prep-groups details{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.production-task-prep-groups summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--accent-soft);cursor:pointer;list-style-position:inside}.production-task-prep-groups summary>span{display:inline-grid;gap:var(--space-3xs);margin-right:auto}.production-task-prep-groups summary small{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-normal)}.production-task-prep-groups summary b{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.production-task-prep-groups details>div{display:grid}.production-task-prep-groups details>div>div{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border-top:var(--rule-hair) solid var(--line)}.production-task-prep-groups details>div>div>strong{text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.production-task-prep-issues{grid-column:1 / -1;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.production-task-prep-issues>header{padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.production-task-prep-issues>header>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.production-task-prep-issues>header span{color:var(--muted);font-size:var(--text-xs)}.production-task-prep-issues-table{overflow-x:auto}.production-task-prep-issues-table table{width:100%;min-width:820px;border-collapse:collapse}.production-task-prep-issues-table th,.production-task-prep-issues-table td{padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);text-align:left;vertical-align:top}.production-task-prep-issues-table th{color:var(--muted);font-size:var(--text-xs)}.production-task-prep-issues-table tbody tr:last-child td{border-bottom:0}@media(hover:hover)and (pointer:fine){.production-task-prep-groups summary:hover{background:var(--surface-hover)}}.production-task-sync-actions{display:flex;align-items:center;gap:var(--space-xs)}.production-task-sync-actions span{color:var(--accent);font-size:var(--text-xs)}.production-task-production-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px}.production-task-steps{display:grid;border-right:var(--rule-hair) solid var(--line)}.production-task-steps article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.production-task-steps article:last-child{border-bottom:0}.production-task-steps article>header{display:grid;align-content:start;gap:var(--space-2xs)}.production-task-steps article>header strong{color:var(--accent)}.production-task-steps article>header span{color:var(--muted);font-size:var(--text-xs)}.production-task-steps article>div{display:grid;gap:var(--space-sm)}.production-task-steps label{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-steps textarea{width:100%;min-height:var(--control-height);overflow:hidden;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:var(--rule-fine) solid transparent;outline-offset:1px;background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-normal);line-height:1.55;resize:none}.production-task-steps article.is-locked{background:var(--surface-soft)}.production-task-steps article.is-locked textarea{cursor:not-allowed;opacity:.65}.production-task-production-side{display:grid;align-content:start}.production-task-production-side>section{display:grid;gap:var(--space-2xs);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--line)}.production-task-production-side>section>span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-task-production-side>section>.button{justify-self:start;margin-top:var(--space-2xs)}.production-task-production-side>section>div{display:flex;align-items:center;gap:var(--space-sm)}.production-task-production-side p{color:var(--accent);font-size:var(--text-xs)}.production-task-dialog{position:fixed;inset:0;width:min(440px,calc(100% - var(--space-lg)));max-height:min(80dvh,640px);padding:0;margin:auto;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-dialog)}.production-task-dialog::backdrop{background:var(--ink);opacity:.32}.production-task-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.production-task-dialog>header h2{font-size:var(--text-md)}.production-task-dialog>header button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);font-size:var(--text-lg)}.production-task-dialog>div{display:grid;gap:var(--space-sm);padding:var(--space-md)}.production-task-dialog label{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.production-task-dialog select{width:100%;min-height:var(--control-height);padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit}.production-task-dialog>footer{display:flex;justify-content:flex-end;gap:var(--space-2xs);padding:var(--space-sm);border-top:var(--rule-hair) solid var(--line)}@media(hover:hover)and (pointer:fine){.production-task-steps textarea:hover:not(:disabled),.production-task-dialog select:hover:not(:disabled){background:var(--surface-hover)}.production-task-dialog>header button:hover{background:var(--surface-hover);color:var(--accent)}}.production-task-steps textarea:focus-visible,.production-task-dialog select:focus-visible{outline-color:var(--focus)}.production-task-steps textarea:active:not(:disabled),.production-task-dialog select:active:not(:disabled){background:var(--surface-soft)}.production-task-dialog select:disabled{cursor:not-allowed;opacity:.5}.production-task-review{display:grid;padding:0 var(--space-md)}.production-task-review>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:var(--rule-hair) solid var(--line)}.production-task-review>div:last-child{border-bottom:0}.production-task-review span{color:var(--muted);font-size:var(--text-sm)}.production-task-complete{display:grid;min-height:300px;place-items:center;align-content:center;gap:var(--space-xs)}.production-task-complete>span{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:var(--text-lg)}.production-task-complete p{color:var(--muted)}.prep-mobile-stage{min-height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom));overflow-x:clip;background:var(--page-bg);color:var(--ink)}.prep-mobile-stage>header{position:sticky;z-index:var(--z-sticky);top:0;display:grid;gap:var(--space-xs);padding:max(var(--space-sm),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) var(--space-xs) max(var(--space-sm),env(safe-area-inset-left));border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.prep-mobile-identity{display:grid;min-width:0;gap:var(--space-3xs)}.prep-mobile-identity>span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.prep-mobile-identity h1{min-width:0;font-size:var(--text-lg);line-height:1.25;overflow-wrap:anywhere}.prep-mobile-identity p{min-width:0;color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.prep-mobile-progress{display:grid;gap:var(--space-2xs)}.prep-mobile-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);color:var(--ink-soft);font-size:var(--text-xs)}.prep-mobile-progress>div:first-child span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.prep-mobile-progress>div:first-child strong{min-width:0;overflow-wrap:anywhere}.prep-mobile-progress>div[role=progressbar]{height:var(--space-3xs);overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-soft)}.prep-mobile-progress>div[role=progressbar] span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left center;transition:transform var(--dur-long) var(--ease-in-out)}.prep-mobile-stage>main{display:grid;padding:var(--space-sm) max(var(--space-sm),env(safe-area-inset-right)) var(--space-lg) max(var(--space-sm),env(safe-area-inset-left))}.prep-mobile-step{display:grid;gap:var(--space-xs);min-width:0}.prep-mobile-step>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:var(--rule-hair) solid var(--line-strong)}.prep-mobile-step>header h2{min-width:0;color:var(--accent);font-size:var(--text-base);overflow-wrap:anywhere}.prep-mobile-step>header>strong{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.prep-mobile-step>div{display:grid;gap:var(--space-xs)}.prep-mobile-group{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.prep-mobile-group>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs);border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-soft)}.prep-mobile-group.is-compound>header{background:var(--accent-soft)}.prep-mobile-group>header>div{display:grid;min-width:0;gap:var(--space-3xs)}.prep-mobile-group>header span{color:var(--muted);font-size:var(--text-xs)}.prep-mobile-group>header h2{min-width:0;font-size:var(--text-base);overflow-wrap:anywhere}.prep-mobile-group>header>strong{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.prep-mobile-group>div{display:grid}.prep-mobile-group article{display:grid;min-height:56px;grid-template-columns:minmax(0,1fr) auto minmax(44px,auto);align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-2xs) var(--space-3xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line)}.prep-mobile-group article:last-child{border-bottom:0}.prep-mobile-group article>strong{min-width:0;line-height:1.35;overflow-wrap:anywhere}.prep-mobile-group article>span{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.prep-mobile-material-issue{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:var(--space-3xs);padding:0 var(--space-3xs);border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.prep-mobile-material-issue svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.prep-mobile-material-issue b{font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.prep-mobile-material-issue.has-issue{background:var(--warning-soft);color:var(--warning)}.prep-mobile-issue-overlay{position:fixed;z-index:var(--z-modal);inset:0;display:grid;align-items:end}.prep-mobile-issue-overlay:before{position:absolute;inset:0;background:var(--ink);content:"";opacity:.32}.prep-mobile-issue-sheet{position:relative;z-index:var(--z-raised);display:grid;max-height:88dvh;gap:var(--space-sm);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-sm) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border:var(--rule-hair) solid var(--line-strong);border-bottom:0;border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-dialog)}.prep-mobile-issue-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs)}.prep-mobile-issue-sheet>header>div{display:grid;min-width:0;gap:var(--space-3xs)}.prep-mobile-issue-sheet>header h2{min-width:0;font-size:var(--text-lg);overflow-wrap:anywhere}.prep-mobile-issue-sheet>header p{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.prep-mobile-issue-sheet>header>button,.prep-mobile-issue-media article>button{display:grid;min-width:44px;min-height:44px;place-items:center;flex:0 0 auto;border:0;border-radius:var(--radius-control);background:var(--surface-soft);color:var(--muted);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.prep-mobile-issue-sheet .ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.prep-mobile-issue-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs)}.prep-mobile-issue-actions>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.prep-mobile-issue-actions>button,.prep-mobile-issue-actions>label{display:grid;min-height:48px;place-items:center;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;font-weight:var(--font-weight-strong);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.prep-mobile-issue-actions>button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.prep-mobile-issue-text{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.prep-mobile-issue-text textarea{width:100%;min-height:112px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:var(--rule-fine) solid transparent;outline-offset:1px;background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--text-base);resize:vertical}.prep-mobile-issue-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.prep-mobile-issue-media article{position:relative;min-width:0;min-height:116px;overflow:hidden;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);color:var(--ink)}.prep-mobile-issue-media img{display:block;width:100%;height:116px;object-fit:cover}.prep-mobile-video-info{display:grid;min-height:116px;align-content:center;gap:var(--space-3xs);padding:var(--space-xs)}.prep-mobile-video-info span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.prep-mobile-video-info strong{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere}.prep-mobile-issue-media article>button{position:absolute;top:var(--space-3xs);right:var(--space-3xs);background:var(--surface-raised);color:var(--ink)}.prep-mobile-issue-message{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);font-size:var(--text-xs)}.prep-mobile-issue-message.is-progress{background:var(--accent-soft);color:var(--accent)}.prep-mobile-issue-message.is-error{background:var(--danger-soft);color:var(--danger)}.prep-mobile-issue-sheet>footer{position:sticky;bottom:calc(var(--space-sm) * -1);padding-top:var(--space-2xs);padding-bottom:var(--space-sm);background:var(--surface-raised)}.prep-mobile-issue-sheet>footer button{width:100%;min-height:calc(var(--control-height) + var(--space-xs));border:0;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:var(--font-weight-strong);white-space:nowrap}.prep-mobile-stage>footer{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--space-2xs);padding:var(--space-xs) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border-top:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.prep-mobile-stage>footer button{width:100%;min-height:calc(var(--control-height) + var(--space-xs));border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:var(--font-weight-strong);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.prep-mobile-stage>footer button.is-secondary{border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink-soft)}.prep-mobile-stage button:focus-visible,.prep-mobile-stage input:focus-visible+label,.prep-mobile-stage textarea:focus-visible{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}.prep-mobile-stage button:active:not(:disabled),.prep-mobile-stage label:active{transform:translateY(1px)}.prep-mobile-stage textarea:active:not(:disabled){background:var(--surface-soft)}.prep-mobile-stage button:disabled,.prep-mobile-stage textarea:disabled,.prep-mobile-stage input:disabled+label{cursor:not-allowed;opacity:.5}.prep-mobile-stage button[data-state=loading]{cursor:wait}.prep-mobile-stage button[data-state=error]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.prep-mobile-stage button[data-state=success]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}@media(hover:hover)and (pointer:fine){.prep-mobile-material-issue:hover:not(:disabled),.prep-mobile-issue-sheet>header>button:hover:not(:disabled),.prep-mobile-issue-media article>button:hover:not(:disabled){background:var(--surface-hover);color:var(--accent)}.prep-mobile-issue-actions>button:hover:not(:disabled),.prep-mobile-issue-actions>input:not(:disabled)+label:hover,.prep-mobile-stage>footer button:hover:not(:disabled){transform:translateY(-1px)}}@media(min-width:40rem){.prep-mobile-stage>header,.prep-mobile-stage>main,.prep-mobile-stage>footer{padding-right:max(var(--space-lg),env(safe-area-inset-right));padding-left:max(var(--space-lg),env(safe-area-inset-left))}.prep-mobile-issue-sheet{width:min(100%,720px);margin-inline:auto;border-right:var(--rule-hair) solid var(--line-strong);border-left:var(--rule-hair) solid var(--line-strong)}}@media(prefers-reduced-motion:reduce){.prep-mobile-stage *,.prep-mobile-stage *:before,.prep-mobile-stage *:after{animation-duration:var(--dur-micro)!important;transition-duration:var(--dur-micro)!important}.prep-mobile-progress>div[role=progressbar] span{transition-property:opacity}}.prep-mobile-missing{display:grid;min-width:0;min-height:100dvh;place-content:center;gap:var(--space-xs);padding:var(--space-lg);background:var(--page-bg);text-align:center}.prep-mobile-missing p{color:var(--muted);font-size:var(--text-sm)}html.mobile-route,html.mobile-route body,html.mobile-route #root{min-width:0;min-height:100%;overflow-x:clip;background:var(--page-bg)}.production-mobile-stage{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);overflow-x:clip;background:var(--page-bg);color:var(--ink)}.production-mobile-stage>header{position:sticky;z-index:var(--z-sticky);top:0;display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:max(var(--space-2xs),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) var(--space-2xs) max(var(--space-sm),env(safe-area-inset-left));border-bottom:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.production-mobile-stage>header h1{min-width:0;overflow:hidden;font-size:var(--text-base);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.production-mobile-stage>header button{flex:0 0 auto;min-width:44px;min-height:40px;padding:0 var(--space-2xs);border:0;border-radius:var(--radius-control);background:transparent;color:var(--accent)}.production-mobile-stage>main{display:grid;gap:var(--space-xs);padding:var(--space-xs) max(var(--space-sm),env(safe-area-inset-right)) var(--space-lg) max(var(--space-sm),env(safe-area-inset-left))}.production-mobile-workflow{display:grid;min-height:44px;grid-template-columns:28px auto minmax(24px,1fr) 28px auto;align-items:center;gap:var(--space-2xs);color:var(--muted);font-size:var(--text-sm)}.production-mobile-workflow strong,.production-mobile-workflow b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs)}.production-mobile-workflow strong{background:var(--accent);color:var(--accent-ink)}.production-mobile-workflow i{height:var(--rule-hair);background:var(--line-strong)}.production-mobile-workflow button{min-height:40px;padding:0;border:0;background:transparent;color:var(--accent);text-align:left;font:inherit;font-weight:var(--font-weight-strong)}.production-mobile-workflow.is-operation b{background:var(--accent);color:var(--accent-ink)}.production-mobile-material-confirmation{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.production-mobile-material-confirmation>header{display:grid;gap:var(--space-3xs);padding:var(--space-sm) 0 var(--space-xs)}.production-mobile-material-confirmation>header span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-mobile-material-confirmation>header h2{font-size:var(--text-xl)}.production-mobile-material-confirmation>header p{color:var(--muted);font-size:var(--text-sm);line-height:1.6}.production-mobile-confirm-materials{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.production-mobile-confirm-materials>article{display:grid;min-height:50px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line)}.production-mobile-confirm-materials>article:last-child{border-bottom:0}.production-mobile-confirm-materials>article>span{min-width:0;overflow-wrap:anywhere}.production-mobile-confirm-materials>article>button,.production-mobile-material-issues button{min-height:38px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent)}.production-mobile-material-editor{display:grid;grid-column:1 / -1;gap:var(--space-2xs);padding:var(--space-2xs) 0}.production-mobile-material-editor label{display:grid;gap:var(--space-3xs);color:var(--muted);font-size:var(--text-xs)}.production-mobile-material-editor input{width:100%;min-height:46px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit}.production-mobile-material-editor>p{color:var(--warning);font-size:var(--text-xs);line-height:1.5}.production-mobile-material-editor>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.production-mobile-material-editor button,.production-mobile-material-actions button{min-height:46px;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);font-weight:var(--font-weight-strong)}.production-mobile-material-editor button.is-primary,.production-mobile-material-actions button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.production-mobile-material-issues{display:grid;gap:var(--space-2xs);padding-top:var(--space-sm)}.production-mobile-material-issues>header,.production-mobile-material-issues>article{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.production-mobile-material-issues>header span{color:var(--muted);font-size:var(--text-xs)}.production-mobile-material-issues>article{padding:var(--space-xs);border:var(--rule-hair) solid var(--warning);border-radius:var(--radius-control);background:var(--warning-soft)}.production-mobile-material-issues>article>div:first-child{display:grid;min-width:0;gap:var(--space-3xs)}.production-mobile-material-issues>article p{color:var(--ink-soft);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.production-mobile-material-issues>article>div:last-child{display:flex;flex:0 0 auto;gap:var(--space-3xs)}.production-mobile-material-issues button.is-danger{color:var(--danger)}.production-mobile-material-message{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs)}.production-mobile-material-message.is-error{background:var(--danger-soft);color:var(--danger)}.production-mobile-material-actions{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);padding:var(--space-xs) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border-top:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.production-mobile-step-heading{display:flex;min-height:44px;align-items:center;gap:var(--space-xs);border-bottom:var(--rule-hair) solid var(--line-strong)}.production-mobile-step-heading strong{color:var(--accent);font-size:var(--text-base)}.production-mobile-step-heading em{padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-style:normal}.production-mobile-step-heading nav{display:flex;margin-left:auto;align-items:center;gap:var(--space-3xs)}.production-mobile-step-heading nav span{min-width:44px;color:var(--muted);text-align:center;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.production-mobile-step-heading nav button{display:grid;width:32px;height:32px;place-items:center;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent);font-size:var(--text-md)}.production-mobile-operation-list{display:grid;gap:var(--space-lg)}.production-mobile-execution-item{display:grid;gap:var(--space-xs)}.production-mobile-execution-item>header{display:flex;min-height:40px;align-items:center;gap:var(--space-2xs);border-bottom:var(--rule-hair) solid var(--line-strong)}.production-mobile-execution-item>header strong{color:var(--accent);font-size:var(--text-base)}.production-mobile-execution-item>header span{color:var(--muted);font-size:var(--text-sm)}.production-mobile-operation-card{display:grid;gap:var(--space-xs);padding:var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised)}.production-mobile-operation-card>header{display:flex;align-items:center;gap:var(--space-2xs)}.production-mobile-operation-card>header span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-mobile-operation-card>header strong{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.production-mobile-operation-card>p{color:var(--ink);font-size:15px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.production-mobile-material-summary{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.production-mobile-material-list{overflow:hidden;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control)}.production-mobile-material-row{display:grid;min-height:44px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--line)}.production-mobile-material-row:last-child{border-bottom:0}.production-mobile-material-row span{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere}.production-mobile-material-row strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.production-mobile-material-list>p{padding:var(--space-xs);color:var(--muted);font-size:var(--text-sm);text-align:center}.production-mobile-record-history{display:grid;gap:var(--space-xs);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--line-strong)}.production-mobile-record-history>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.production-mobile-record-history>header strong{font-size:var(--text-sm)}.production-mobile-record-history>header span{color:var(--muted);font-size:var(--text-xs)}.production-mobile-record-history>div{display:grid;gap:var(--space-xs)}.production-mobile-record-history>div>article{display:grid;gap:var(--space-xs);padding:var(--space-sm);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised)}.production-mobile-record-history article>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.production-mobile-record-history time{color:var(--muted);font-size:var(--text-xs)}.production-mobile-record-history article>header>div{display:flex;gap:var(--space-3xs)}.production-mobile-record-history article>header button{min-height:36px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent)}.production-mobile-record-history article>header button.is-danger{color:var(--danger)}.production-mobile-record-history article>p{line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.production-mobile-record-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs)}.production-mobile-record-media>a,.production-mobile-record-media>button{display:grid;min-width:0;height:88px;place-items:center;overflow:hidden;padding:0;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);color:var(--accent);text-decoration:none}.production-mobile-record-media img{width:100%;height:100%;object-fit:cover}.production-mobile-record-media button span{font-size:var(--text-lg)}.production-mobile-record-media button small{width:100%;padding:0 var(--space-3xs);overflow:hidden;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap}.production-mobile-record-button{min-height:48px;border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:var(--font-weight-strong)}.production-mobile-update{display:grid;gap:var(--space-sm);padding:var(--space-sm);border:var(--rule-hair) solid var(--warning);border-radius:var(--radius-panel);background:var(--warning-soft);color:var(--ink)}.production-mobile-update>header{display:grid;gap:var(--space-3xs)}.production-mobile-update>header strong{color:var(--warning)}.production-mobile-update>header span{color:var(--ink-soft);font-size:var(--text-xs)}.production-mobile-update>div{display:grid;gap:var(--space-xs)}.production-mobile-update>div section{display:grid;gap:var(--space-3xs);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--line-strong)}.production-mobile-update>div section strong{font-size:var(--text-sm)}.production-mobile-update>div section p{color:var(--ink-soft);font-size:var(--text-sm);white-space:pre-wrap}.production-mobile-update>button{min-height:48px;border:0;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:var(--font-weight-strong)}.production-mobile-step-actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-2xs)}.production-mobile-step-actions button,.production-mobile-submit>button{min-height:48px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);font-weight:var(--font-weight-strong);white-space:nowrap}.production-mobile-step-actions button.is-primary,.production-mobile-submit>button{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.production-mobile-submit{display:grid;gap:var(--space-sm);padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--line-strong)}.production-mobile-submit label{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.production-mobile-submit label>div{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised)}.production-mobile-submit input,.production-mobile-submit textarea{width:100%;min-height:48px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);outline:var(--rule-fine) solid transparent;outline-offset:1px;background:var(--surface-raised);color:var(--ink);font:inherit}.production-mobile-submit label>div input{border:0;border-radius:0}.production-mobile-submit em{color:var(--muted);text-align:center;font-size:var(--text-xs);font-style:normal}.production-mobile-stage>footer{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);padding:var(--space-xs) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border-top:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.production-mobile-stage>footer button{min-height:48px;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);white-space:nowrap}.production-mobile-stage>footer button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.production-mobile-long-image-overlay{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:var(--space-sm)}.production-mobile-long-image-overlay:before{position:absolute;inset:0;background:var(--ink);content:"";opacity:.42}.production-mobile-long-image-overlay>section{position:relative;z-index:var(--z-raised);display:grid;width:min(100%,620px);max-height:calc(100dvh - var(--space-lg));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.production-mobile-long-image-overlay>section>header{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:0 var(--space-sm);border-bottom:var(--rule-hair) solid var(--line)}.production-mobile-long-image-overlay>section>header h2{font-size:var(--text-md)}.production-mobile-long-image-overlay>section>header button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted)}.production-mobile-long-image-overlay .ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.production-mobile-long-image-overlay>section>div{min-height:0;padding:var(--space-xs);overflow:auto;background:var(--surface-soft)}.production-mobile-long-image-overlay img{display:block;width:100%;height:auto;border:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.production-mobile-long-image-overlay>section>footer{padding:var(--space-xs) var(--space-sm) max(var(--space-xs),env(safe-area-inset-bottom));border-top:var(--rule-hair) solid var(--line)}.production-mobile-long-image-overlay>section>footer a{display:grid;min-height:48px;place-items:center;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:var(--font-weight-strong);text-decoration:none}.production-mobile-issue-overlay{position:fixed;z-index:var(--z-modal);inset:0;display:grid;align-items:end}.production-mobile-issue-overlay:before{position:absolute;inset:0;background:var(--ink);content:"";opacity:.32}.production-mobile-issue-overlay>section{position:relative;z-index:var(--z-raised);display:grid;max-height:88dvh;gap:var(--space-sm);overflow-y:auto;padding:var(--space-sm) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border:var(--rule-hair) solid var(--line-strong);border-bottom:0;border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.production-mobile-issue-overlay>section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs)}.production-mobile-issue-overlay>section>header>div{display:grid;min-width:0;gap:var(--space-3xs)}.production-mobile-issue-overlay>section>header h2{font-size:var(--text-lg);overflow-wrap:anywhere}.production-mobile-issue-overlay>section>header p{color:var(--muted);font-size:var(--text-xs)}.production-mobile-issue-overlay>section>header button,.production-mobile-issue-media article>button{display:grid;min-width:44px;min-height:44px;place-items:center;border:0;border-radius:var(--radius-control);background:var(--surface-soft);color:var(--muted)}.production-mobile-issue-overlay .ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.production-mobile-issue-text{display:grid;gap:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-mobile-issue-text textarea{width:100%;min-height:112px;padding:var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--text-base)}.production-mobile-issue-text select{width:100%;min-height:48px;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font:inherit}.production-mobile-add-media{width:100%;min-height:48px;border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-strong)}.production-mobile-issue-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.production-mobile-issue-media article{position:relative;min-width:0;min-height:116px;overflow:hidden;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft)}.production-mobile-issue-media article img,.production-mobile-issue-media article video{display:block;width:100%;height:116px;object-fit:cover}.production-mobile-video-thumbnail{position:relative;display:block;width:100%;height:116px;padding:0;overflow:hidden;border:0;background:var(--ink);color:var(--accent-ink)}.production-mobile-video-thumbnail video{pointer-events:none}.production-mobile-video-thumbnail span{position:absolute;right:0;bottom:0;left:0;padding:var(--space-2xs);background:color-mix(in oklch,var(--ink) 72%,transparent);color:#fff;text-align:center;font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.production-mobile-issue-media article>div{display:grid;min-height:116px;align-content:center;gap:var(--space-3xs);padding:var(--space-xs)}.production-mobile-issue-media article>div span{color:var(--accent);font-size:var(--text-xs)}.production-mobile-issue-media article>div strong{overflow-wrap:anywhere}.production-mobile-issue-media article>button:last-child{position:absolute;z-index:var(--z-raised);top:var(--space-3xs);right:var(--space-3xs)}.production-mobile-issue-overlay>section>p{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs)}.production-mobile-issue-overlay>section>p.is-error{background:var(--danger-soft);color:var(--danger)}.production-mobile-issue-overlay>section>footer button{width:100%;min-height:48px;border:0;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:var(--font-weight-strong)}.production-mobile-media-choice{position:fixed;z-index:var(--z-modal);inset:0;display:grid;align-items:end;background:color-mix(in oklch,var(--ink) 32%,transparent)}.production-mobile-media-choice>section{display:grid;gap:var(--space-2xs);padding:var(--space-sm) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.production-mobile-media-choice h3{margin:0 0 var(--space-xs);font-size:var(--text-md)}.production-mobile-media-choice input{position:absolute;width:1px;height:1px;opacity:0}.production-mobile-media-choice label,.production-mobile-media-choice button{display:grid;min-height:50px;place-items:center;border:var(--rule-hair) solid var(--line);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font-weight:var(--font-weight-strong)}.production-mobile-media-choice button{margin-top:var(--space-xs);color:var(--muted)}.production-mobile-delete-confirm{position:fixed;z-index:calc(var(--z-modal) + 1);inset:0;display:grid;padding:var(--space-sm);background:color-mix(in oklch,var(--ink) 72%,transparent)}.production-mobile-video-preview-overlay{position:fixed;z-index:calc(var(--z-modal) + 2);inset:0;display:grid;place-items:center;padding:var(--space-sm);background:color-mix(in oklch,var(--ink) 76%,transparent)}.production-mobile-video-preview-overlay>section{display:grid;width:min(100%,720px);max-height:calc(100dvh - var(--space-lg));overflow:hidden;border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.production-mobile-video-preview-overlay header{display:flex;min-height:56px;align-items:center;justify-content:space-between;padding:0 var(--space-sm)}.production-mobile-video-preview-overlay header button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted)}.production-mobile-video-preview-overlay video{display:block;width:100%;max-height:calc(100dvh - 190px);background:#000}.production-mobile-video-preview-overlay>section>p{padding:var(--space-xs) var(--space-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm)}.production-mobile-video-preview-overlay footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs);padding:var(--space-sm)}.production-mobile-video-preview-overlay footer button,.production-mobile-video-preview-overlay footer a{display:grid;min-height:48px;place-items:center;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent);text-align:center;font-size:var(--text-sm);font-weight:var(--font-weight-strong);text-decoration:none}.production-mobile-video-preview-overlay footer button{background:var(--accent);color:var(--accent-ink)}.production-mobile-delete-confirm{place-items:center}.production-mobile-delete-confirm>section{display:grid;width:min(100%,360px);gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.production-mobile-delete-confirm h3{margin:0;font-size:var(--text-md)}.production-mobile-delete-confirm p{color:var(--muted);font-size:var(--text-sm)}.production-mobile-delete-confirm footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs);margin-top:var(--space-xs)}.production-mobile-delete-confirm footer button{min-height:46px;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);font-weight:var(--font-weight-strong)}.production-mobile-delete-confirm footer button.is-danger{border-color:var(--danger);background:var(--danger);color:#fff}.production-mobile-stage button:focus-visible,.production-mobile-stage input:focus-visible,.production-mobile-stage textarea:focus-visible,.production-mobile-stage input:focus-visible+label{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}.production-mobile-stage button:active:not(:disabled),.production-mobile-stage label:active{transform:translateY(1px)}.production-mobile-stage button:disabled,.production-mobile-stage input:disabled,.production-mobile-stage textarea:disabled,.production-mobile-stage input:disabled+label{cursor:not-allowed;opacity:.5}@media(hover:hover)and (pointer:fine){.production-mobile-stage button:hover:not(:disabled),.production-mobile-media-choice input:not(:disabled)+label:hover{background:var(--surface-hover);color:var(--accent)}.production-mobile-stage button.is-primary:hover:not(:disabled),.production-mobile-submit>button:hover:not(:disabled),.production-mobile-update>button:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-ink)}}@media(min-width:40rem){.production-mobile-stage>header,.production-mobile-stage>main,.production-mobile-stage>footer{padding-right:max(var(--space-lg),env(safe-area-inset-right));padding-left:max(var(--space-lg),env(safe-area-inset-left))}.production-mobile-material-actions{padding-right:max(var(--space-lg),env(safe-area-inset-right));padding-left:max(var(--space-lg),env(safe-area-inset-left))}.production-mobile-issue-overlay>section{width:min(100%,720px);margin-inline:auto}.production-mobile-media-choice>section{width:min(100%,720px);margin-inline:auto}}@media(prefers-reduced-motion:reduce){.production-mobile-stage *,.production-mobile-stage *:before,.production-mobile-stage *:after{transition-duration:var(--dur-micro)!important}}.production-mobile-missing{display:grid;min-width:0;min-height:100dvh;place-content:center;gap:var(--space-xs);padding:var(--space-lg);background:var(--page-bg);text-align:center}.production-mobile-missing p{color:var(--muted)}.production-mobile-missing button{min-height:44px;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--accent)}.operator-task-page{min-height:100dvh;padding:24px;background:var(--surface-soft);color:var(--ink)}.operator-task-page>header{display:flex;align-items:end;justify-content:space-between;gap:16px;max-width:760px;margin:0 auto 20px}.operator-task-page>header>div{display:grid;gap:4px}.operator-task-page>header span,.operator-task-page>header b{color:var(--muted);font-size:var(--text-xs)}.operator-task-page>header strong{color:var(--accent);font-size:var(--text-sm)}.operator-task-page>header h1{margin-top:4px;font-size:28px}.operator-task-page>section{max-width:760px;margin:0 auto 16px;overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.operator-task-page>section>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:var(--rule-hair) solid var(--line);background:var(--accent-soft)}.operator-task-page>section>header h2{font-size:var(--text-md)}.operator-task-page>section>header span{color:var(--muted);font-size:var(--text-xs)}.operator-task-page>section>p{padding:28px 16px;color:var(--muted);text-align:center}.operator-task-page>section>div{display:grid}.operator-task-page article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:var(--rule-hair) solid var(--line)}.operator-task-page article:last-child{border-bottom:0}.operator-task-page article>div{display:grid;min-width:0;gap:3px}.operator-task-page article span,.operator-task-page article small{color:var(--muted);font-size:var(--text-xs)}.operator-task-page article strong{overflow:hidden;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap}.operator-task-page article button,.operator-task-state button{min-height:44px;padding:0 16px;border:var(--rule-hair) solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--surface-raised);font-weight:var(--font-weight-strong);white-space:nowrap}.operator-task-state{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:16px;background:var(--surface-soft)}@media(max-width:640px){.operator-task-page{padding:16px 12px}.operator-task-page article{align-items:stretch;flex-direction:column}.operator-task-page article button{width:100%}}:root{--color-paper: oklch(97.8% .008 155);--color-paper-2: oklch(95.5% .01 155);--color-paper-3: oklch(92.5% .012 155);--color-ink: oklch(22% .02 155);--color-ink-2: oklch(34% .018 155);--color-neutral: oklch(43% .016 155);--color-muted: oklch(48% .014 155);--color-rule: oklch(86% .012 155);--color-rule-2: oklch(65% .014 155);--color-accent: oklch(45% .12 160);--color-accent-strong: oklch(39% .105 160);--color-accent-soft: oklch(92% .032 160);--color-accent-ink: oklch(97.8% .008 155);--color-focus: oklch(34% .16 160);--color-danger: oklch(51% .16 25);--color-danger-soft: oklch(94% .025 25);--color-warning: oklch(50% .115 80);--color-warning-soft: oklch(94% .03 80);--font-display: "Avenir Next", "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-body: "PingFang SC", "Noto Sans CJK SC", "Avenir Next", sans-serif;--font-outlier: "SFMono-Regular", "SF Mono", "Menlo", monospace;--font-weight-body: 400;--font-weight-medium: 560;--font-weight-strong: 680;--font-weight-display: 720;--tracking-display: -.032em;--tracking-label: .06em;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.125rem;--text-display: clamp(2.25rem, 3vw, 3.5rem);--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 8rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .1s;--dur-short: .18s;--dur-long: .28s;--rule-hair: 1px;--rule-fine: 2px;--radius-input: 6px;--radius-card: 8px;--radius-pill: 999px;--control-height: 40px;--shadow-card: 0 1px 2px oklch(22% .02 155 / .05);--shadow-popover: 0 16px 36px oklch(22% .02 155 / .14);--shadow-dialog: 0 28px 70px oklch(18% .018 155 / .24);--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}@media(prefers-color-scheme:dark){:root{--color-paper: oklch(17% .012 155);--color-paper-2: oklch(21% .014 155);--color-paper-3: oklch(25% .016 155);--color-ink: oklch(94% .008 155);--color-ink-2: oklch(82% .01 155);--color-neutral: oklch(74% .01 155);--color-muted: oklch(68% .01 155);--color-rule: oklch(31% .014 155);--color-rule-2: oklch(52% .014 155);--color-accent: oklch(72% .1 160);--color-accent-strong: oklch(78% .09 160);--color-accent-soft: oklch(29% .035 160);--color-accent-ink: oklch(17% .012 155);--color-focus: oklch(84% .13 160);--color-danger: oklch(76% .11 25);--color-danger-soft: oklch(28% .04 25);--color-warning: oklch(80% .1 80);--color-warning-soft: oklch(28% .04 80);--shadow-card: 0 1px 2px oklch(8% .01 155 / .24);--shadow-popover: 0 16px 36px oklch(8% .01 155 / .36);--shadow-dialog: 0 28px 70px oklch(8% .01 155 / .5)}}:root{color-scheme:light dark;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;--page-bg: var(--color-paper-2);--page-bg-top: var(--color-paper);--surface: var(--color-paper);--surface-raised: var(--color-paper);--surface-soft: var(--color-paper-2);--surface-hover: var(--color-paper-3);--ink: var(--color-ink);--ink-soft: var(--color-ink-2);--muted: var(--color-muted);--placeholder: var(--color-muted);--line: var(--color-rule);--line-strong: var(--color-rule-2);--accent: var(--color-accent);--accent-hover: var(--color-accent-strong);--accent-soft: var(--color-accent-soft);--accent-ink: var(--color-accent-ink);--danger: var(--color-danger);--danger-soft: var(--color-danger-soft);--warning: var(--color-warning);--warning-soft: var(--color-warning-soft);--focus: var(--color-focus);--shadow-soft: var(--shadow-card);--radius-control: var(--radius-input);--radius-panel: var(--radius-card)}*{box-sizing:border-box}.ui-icon{display:block;width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}html,body,#root{min-width:1100px;min-height:100%;margin:0}html,body{overflow-x:clip}body{min-height:100dvh;background:var(--page-bg);color:var(--ink);font-size:var(--text-base);font-weight:var(--font-weight-body);line-height:1.5}button,input{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent;font-family:var(--font-body)}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:var(--rule-fine) solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}input:disabled{cursor:not-allowed;opacity:.55}input::placeholder{color:var(--placeholder);opacity:1}h1,h2,h3,p{margin:0}h1{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);font-size:var(--text-xl);font-style:normal;font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:1.15}h2{font-family:var(--font-display);font-size:var(--text-base);font-style:normal;font-weight:var(--font-weight-strong);letter-spacing:-.012em}h3{font-family:var(--font-display);font-size:var(--text-sm);font-style:normal;font-weight:var(--font-weight-strong)}.app-frame{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}.app-sidebar{position:sticky;z-index:var(--z-sticky);top:0;display:flex;flex-direction:column;height:100dvh;padding:var(--space-sm);border-right:var(--rule-hair) solid var(--line);background:var(--surface-raised)}.app-content{min-width:0}.persistence-notice{position:fixed;z-index:var(--z-toast);right:var(--space-lg);bottom:var(--space-lg);display:flex;align-items:center;max-width:520px;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-popover);color:var(--ink-soft);font-size:var(--text-sm)}.persistence-notice.is-offline,.persistence-notice.is-conflict{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.persistence-notice button{padding:4px 10px;border:var(--rule-hair) solid currentColor;border-radius:var(--radius-input);background:transparent;color:inherit;cursor:pointer;white-space:nowrap}.brand-button{display:flex;align-items:center;width:100%;min-height:var(--control-height);gap:var(--space-xs);padding:0 var(--space-xs);margin-bottom:var(--space-lg);border:0;border-radius:var(--radius-control);background:transparent;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-weight-strong);letter-spacing:-.012em}.brand-mark{display:grid;width:30px;height:30px;place-items:center;border-radius:var(--radius-input);background:var(--accent);color:var(--accent-ink);font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:var(--font-weight-strong);box-shadow:var(--shadow-card)}.product-nav{display:flex;flex:1;flex-direction:column;gap:var(--space-lg);white-space:nowrap}.product-nav section{display:grid;gap:var(--space-3xs)}.product-nav section>span{padding:0 var(--space-xs) var(--space-3xs);color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-label)}.product-nav .system-nav{margin-top:auto}.product-nav button{width:100%;min-height:var(--control-height);padding:0 var(--space-sm);border:var(--rule-hair) solid transparent;border-radius:var(--radius-input);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-align:left;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.product-nav button.is-active{border-color:var(--line-strong);background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-strong)}.page{width:min(1460px,calc(100% - 64px));margin:0 auto;padding:var(--space-lg) 0 var(--space-2xl)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);min-height:44px;margin-bottom:var(--space-md)}.page-title-copy{display:grid;gap:var(--space-3xs)}.page-title-copy p{color:var(--muted);font-size:var(--text-sm)}.access-page{display:grid;min-height:100dvh;place-items:center;padding:max(var(--space-sm),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left));background:var(--page-bg)}.access-card{width:min(420px,100%);padding:var(--space-md);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.access-brand{display:grid;width:42px;height:42px;margin-bottom:var(--space-md);place-items:center;border-radius:var(--radius-input);background:var(--accent);color:var(--accent-ink);font-family:var(--font-outlier);font-weight:var(--font-weight-strong)}.access-lead{margin-top:var(--space-xs);color:var(--muted);font-size:var(--text-sm)}.access-form{display:grid;gap:var(--space-md);margin-top:var(--space-lg)}.access-pin-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-lg);letter-spacing:.36em}.access-error{font-size:var(--text-sm)}.access-submit{width:100%;margin-top:var(--space-lg)}.access-form .access-submit{margin-top:0}html.access-route,html.access-route body,html.access-route #root{min-width:0;overflow-x:clip}html.access-route .text-input,html.access-route .access-submit{min-height:calc(var(--control-height) + var(--space-2xs));font-size:var(--text-base)}@media(min-width:40rem){.access-page,.access-card{padding:var(--space-xl)}}.device-panel{overflow:hidden;border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-card)}.device-panel>.muted-text,.device-panel>.error-text{padding:var(--space-lg)}.device-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);border-bottom:var(--rule-hair) solid var(--line)}.device-row:last-child{border-bottom:0}.device-copy{display:grid;gap:var(--space-3xs);color:var(--muted);font-size:var(--text-sm)}.device-name{display:flex;align-items:center;gap:var(--space-xs);color:var(--ink);font-size:var(--text-base)}.status-badge{padding:2px var(--space-xs);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-strong)}.status-badge.is-neutral{background:var(--surface-soft);color:var(--muted)}.device-actions{display:flex;align-items:center;gap:var(--space-xs)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:var(--control-height);padding:0 var(--space-sm);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-strong);line-height:1;white-space:nowrap;box-shadow:var(--shadow-card);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.button:active:not(:disabled),.text-button:active:not(:disabled),.brand-button:active:not(:disabled),.product-nav button:active:not(:disabled){transform:translateY(1px)}.button-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-card)}.button[data-state=loading]{cursor:progress}.button[data-state=error]{border-color:var(--danger);color:var(--danger)}.button[data-state=success]{border-color:var(--accent);color:var(--accent)}.button-primary[data-state=error]{background:var(--danger-soft);color:var(--danger)}.button-primary[data-state=success]{background:var(--accent-soft);color:var(--accent)}.text-input,.table-input{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--ink);outline:var(--rule-fine) solid transparent;outline-offset:1px;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.text-input{width:100%;min-height:var(--control-height);padding:0 var(--space-sm)}.text-input:focus,.table-input:focus{border-color:var(--focus);outline-color:var(--focus)}.text-input.is-invalid,.table-input.is-invalid,.text-input[aria-invalid=true],.table-input[aria-invalid=true]{border-color:var(--danger);outline-color:var(--danger)}.text-input.is-valid,.table-input.is-valid{border-color:var(--accent)}.muted-text{color:var(--muted);font-size:var(--text-sm)}.error-text,.field-error,.inline-error{color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:calc(var(--rule-hair) * -1);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:var(--space-lg);background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:440px;padding:var(--space-md);border:var(--rule-hair) solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.modal h2{margin-bottom:var(--space-md);font-size:var(--text-lg);letter-spacing:var(--tracking-display)}.field{display:grid;gap:var(--space-2xs)}.field>span{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--font-weight-strong)}.field-error{min-height:1lh;padding-top:var(--space-2xs);font-size:var(--text-xs)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2xs);margin-top:var(--space-sm)}.skeleton{display:block;overflow:hidden;border-radius:var(--radius-input);background:var(--surface-soft)}.skeleton:after{display:block;width:45%;height:100%;content:"";background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--surface-raised) 72%,transparent),transparent)}@media(prefers-reduced-motion:no-preference){.modal{animation:modal-enter var(--dur-long) var(--ease-out) both}.skeleton:after{animation:skeleton-shimmer 1.4s var(--ease-in-out) infinite}}@keyframes modal-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes skeleton-shimmer{0%{transform:translate(-120%)}to{transform:translate(260%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}}@media(hover:hover){.product-nav button:hover{background:var(--surface-soft);color:var(--ink)}.button:hover:not(:disabled){border-color:var(--ink-soft);background:var(--surface-hover)}.button-primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:var(--accent-ink);transform:translateY(-1px)}.text-input:hover,.table-input:hover:not([readonly]){background:var(--surface-soft)}}
