@font-face{font-family:Bricolage Grotesque;src:url(/fonts/BricolageGrotesque-latin.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/BricolageGrotesque-latin-ext.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#f2f5f4;--chrome:#e7f0ee;--well:#ecf2f0;--panel:#fff;--hair:#dee5e2;--hair-soft:#e8eeec;--hair-strong:#d2dcd8;--ink:#15181b;--ink-soft:#5b626a;--ink-mute:#5e6664;--ink-faint:#8a918f;--leaf:#0f766e;--leaf-deep:#0b5d57;--leaf-wash:#d7f0ec;--husk:#5a4531;--husk-deep:#43331f;--water:#f3f0e7;--grove:#0c5f5a;--grove-active:#0e8175;--leaf-fill:linear-gradient(180deg, #0e8175 0%, #0a655d 100%);--leaf-fill-hover:linear-gradient(180deg, #0f8578 0%, #0b6a61 100%);--grove-fill:linear-gradient(180deg, #118275 0%, #0a544e 100%);--grove-active-fill:linear-gradient(180deg, #0f8578 0%, #0a655d 100%);--sheen:inset 0 1px 0 #fff3;--leaf-ring:0 0 0 3px #0f766e3d;--tender:#166534;--tender-wash:#dcfce7;--amber:#92400e;--amber-wash:#fef3c7;--clay:#b91c1c;--clay-wash:#fee2e2;--slate:#1d4ed8;--slate-wash:#dbeafe;--shadow-card:0 1px 2px #1f1a110d, 0 2px 10px #1f1a110a;--shadow-pop:0 6px 24px #15181b1a;--shadow-dialog:0 24px 64px #15181b2e;--shadow-drawer:0 0 44px #15181b47;--radius:10px;--radius-control:8px;--line:var(--hair);--muted:var(--ink-soft);--warning:var(--amber);--danger:var(--clay);--green:var(--leaf);--green-2:var(--leaf);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Bricolage Grotesque,system-ui,sans-serif}.type-display{letter-spacing:-.025em;font-size:46px;font-weight:600;line-height:1.05}.type-headline{letter-spacing:-.014em;font-size:26px;font-weight:600}.type-title{font-size:14px;font-weight:600}.type-label{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.type-num{font-variant-numeric:tabular-nums;font-weight:700}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}#root{min-height:100dvh}.app{grid-template-columns:250px minmax(0,1fr);max-width:100%;min-height:100dvh;display:grid;overflow-x:clip}body.drawer-open{overflow:hidden}.sidebar{background:var(--grove-fill);color:#ffffffeb;height:100vh;padding:24px 18px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.mark{background:var(--water);width:42px;height:42px;color:var(--husk);border-radius:50%;place-items:center;font-size:20px;font-weight:800;display:grid}.brand h1{margin:0;font-size:18px;line-height:1.1}.brand small{color:#ffffffa8;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:11px;display:block}.nav-title{letter-spacing:.14em;text-transform:uppercase;color:#ffffffa3;margin:18px 10px 8px;font-size:11px}.chip-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.chip-row-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:none;font-size:10px}.page-chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600}.page-chip.on{background:var(--leaf-fill);border-color:var(--leaf-deep);box-shadow:var(--sheen);color:#fff}.link-btn{font:inherit;color:var(--husk);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.nav-group{letter-spacing:.12em;text-transform:uppercase;color:#ffffffa3;margin:12px 10px 4px;font-size:10px}.nav .nav-group:first-child{margin-top:4px}.nav button{text-align:left;color:#ffffffd1;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;margin:2px 0;padding:11px 12px}.nav button:hover{color:#fff;background:#ffffff1a}.nav button.active{background:var(--grove-active-fill);color:#fff;box-shadow:var(--sheen), inset 2px 0 0 #ffffffd9}.sidebar-footer{border-top:1px solid #ffffff29;margin-top:30px;padding-top:18px}.sidebar-footer label{color:#fff9;margin-bottom:6px;font-size:11px;display:block}.sidebar-footer .small{color:#ffffffbf}.sidebar-footer .mirror-failed{color:#ff9d8d;margin-top:4px;font-weight:700;display:block}.sidebar-footer select{width:100%;color:var(--ink);border:1px solid var(--hair);background:#fff;border-radius:8px;padding:9px}.main{min-width:0;max-width:100%}.content{min-width:0}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair-strong);z-index:4;background:#ffffffeb;justify-content:space-between;align-items:center;padding:17px 26px;display:flex;position:sticky;top:0}.topbar h2{letter-spacing:-.014em;margin:0;font-size:26px;font-weight:600}.topbar p{color:var(--muted);margin:3px 0 0;font-size:13px}.topbar-actions{flex:none;align-items:center;gap:10px;display:flex}.topbar>:first-child{min-width:0}.pill{border:1px solid var(--hair);color:var(--ink-soft);background:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.mobile-appbar,.bottom-nav,.drawer-scrim{display:none}.icon-btn{width:44px;height:44px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.icon-btn:active{background:#ffffff1f}.icon-btn.drawer-close{display:none}.btn.btn-chip{border:1px solid var(--hair-strong);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;min-height:36px;padding:8px 13px;font-size:12px}.sidebar-footer-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.install-wrap{display:inline-flex;position:relative}.install-hint{z-index:70;background:var(--panel);width:max-content;max-width:min(260px,70vw);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:10px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;position:absolute;top:calc(100% + 8px);right:0}.sidebar-footer .install-hint{inset:auto auto calc(100% + 8px) 0}.offline-bar{background:var(--ink);color:#ffffffeb;align-items:center;gap:10px;padding:10px 26px;font-size:12.5px;font-weight:600;line-height:1.45;display:flex}.offline-bar.overdrawn{background:var(--amber-wash);color:var(--amber)}.overdrawn-lot{color:var(--amber);background:var(--amber-wash);border:1px solid var(--amber);border-radius:var(--radius-control);padding:8px 10px;font-size:12px;font-weight:600}.offline-dot{background:#c98a1f;border-radius:50%;flex:none;width:9px;height:9px;animation:1.8s ease-in-out infinite offline-pulse}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.offline-dot{animation:none}}.pwa-prompt{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:80;background:var(--panel);border:1px solid var(--line);width:min(440px,100vw - 32px);box-shadow:var(--shadow-pop);border-radius:10px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:fixed;transform:translate(-50%)}.pwa-prompt-text{gap:2px;min-width:0;display:grid}.pwa-prompt-actions{flex:none;gap:8px;margin-left:auto;display:flex}.content{max-width:1600px;margin:0 auto;padding:24px 26px 60px}.grid{align-items:start;gap:14px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px}.metric .label{color:var(--husk);text-transform:uppercase;letter-spacing:.14em;font-size:11px}.metric .value{margin:8px 0 2px;font-size:28px;font-weight:700}.metric .sub{color:var(--muted);font-size:12px}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;display:grid;overflow:hidden}.metric-strip .metric{border-left:1px solid var(--hair);border-radius:0}.metric-strip .metric:first-child{border-left:0}.metric-strip .metric:not(.metric-expandable){padding:16px 18px}.metric-strip.vendors-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.live-report .metric-strip{border:1px solid var(--hair);border-radius:var(--radius);margin-bottom:14px}.metric-expandable{padding:0}.metric-expand-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:8px;padding:18px;display:flex}.metric-chevron{color:var(--muted);margin-top:2px;line-height:1;transition:transform .15s}.metric-chevron.open{transform:rotate(180deg)}.metric-breakdown{border-top:1px dashed var(--line);padding:4px 18px 14px}.metric-breakdown-row{border-bottom:1px solid var(--hair-soft);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.metric-breakdown-row:last-child{border-bottom:0}.metric-breakdown-row span{color:var(--muted)}.metric-breakdown-row b{font-variant-numeric:tabular-nums}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 12px;display:flex}.collapsible-toggle{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex}.collapsible-toggle .metric-chevron{font-size:18px}.section-head-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;margin-left:auto;display:flex}.section-head>:first-child{min-width:0}.section-head h3{margin:0;font-size:18px}.section-head h4{margin:0;font-size:15px}.section-head span{color:var(--muted);font-size:12px}.btn{border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:10px 14px;font-weight:700}.btn-primary,.btn.primary{background:var(--leaf-fill);border-color:var(--leaf-deep);color:#fff;box-shadow:var(--sheen), inset 0 -1px 0 #00000024, 0 1px 2px #0d4a2c4d}.btn-primary:hover,.btn.primary:hover{background:var(--leaf-fill-hover);border-color:var(--leaf-deep)}.btn-light{border-color:var(--hair-strong);color:var(--ink);background:#fff}.btn-light:hover{background:var(--chrome);border-color:#c4cec9}.btn-danger{background:var(--clay-wash);border-color:var(--clay);color:var(--clay)}.btn-danger:hover{border-color:var(--clay)}.btn:disabled{opacity:.45;cursor:not-allowed}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar input,.toolbar select{border:1px solid var(--hair-strong);border-radius:var(--radius-control);background:#fff;padding:9px 10px}.toolbar input{min-width:min(320px,100%)}.stack{gap:14px;display:grid}.form-error{color:var(--clay);margin:0;font-weight:700}.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--hair);text-align:left;vertical-align:top;padding:10px 12px;font-size:13px}th{background:var(--chrome);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--hair-strong);font-size:11px;position:sticky;top:0}tr:last-child td{border-bottom:0}tbody tr:nth-child(2n) td{background:#f0f5f3}.selectable-row:hover td{background:var(--well)}.row-open{cursor:pointer}.row-open:hover td{background:var(--well)}.row-open:focus-visible{outline:none}.row-open:focus-visible td{background:var(--chrome)}.th-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.th-sort:hover,.th-sort:focus-visible{color:var(--leaf)}.sort-mark{opacity:.35;font-size:10px}.th-sort.active{color:var(--leaf)}.th-sort.active .sort-mark{opacity:1}.sort-select{display:none}.roster-grid td{padding:4px}.shift-cell{border:1px dashed var(--line);width:100%;min-height:46px;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:8px;align-content:center;justify-items:start;gap:1px;padding:4px 8px;display:grid}.shift-cell:hover,.shift-cell:focus-visible{border-color:var(--green-2)}.shift-cell.set{background:var(--water);border-style:solid}.shift-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--husk);font-size:11px;font-weight:700}.attendance-marks .type-tab{white-space:nowrap;padding:6px 10px;font-size:12px}.quick-picks{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.quick-pick{font:inherit;border:1px solid var(--line);background:var(--well);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.quick-pick:hover,.quick-pick.picked{border-color:var(--husk);color:var(--husk)}.roster-week-nav{align-items:center}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.table-wrap .row-actions{flex-wrap:nowrap;justify-content:flex-end}.table-wrap .cell-actions{white-space:nowrap;text-align:right;vertical-align:middle}.table-wrap .cell-actions,.table-wrap .cell-tight{white-space:nowrap;width:1%}.table-wrap .cell-actions .btn{border-radius:8px;padding:7px 11px;font-size:12px}.cell-id,.cell-num,.table-wrap td>b,.table-wrap .link-button{white-space:nowrap}.table-wrap .cell-id .cell-sub{white-space:normal}.cell-num{text-align:right;font-variant-numeric:tabular-nums}th.cell-num{text-align:right}.cell-sub{color:var(--ink-mute);margin-top:2px;font-size:11.5px;line-height:1.35}.status{border-radius:var(--radius-control);border:1px solid #0000;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.status.success{background:var(--tender-wash);border-color:var(--tender);color:var(--tender)}.status.warning{background:var(--amber-wash);border-color:var(--amber);color:var(--amber)}.status.danger{background:var(--clay-wash);border-color:var(--clay);color:var(--clay)}.status.neutral{color:var(--ink-soft);background:#e6eae8;border-color:#15181b38}.status.info{background:var(--slate-wash);border-color:var(--slate);color:var(--slate)}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field.span-2{grid-column:span 2}.field.span-3{grid-column:span 3}label{color:var(--ink-soft);font-size:12px;font-weight:700}input,select,textarea{border:1px solid var(--hair-strong);border-radius:var(--radius-control);background:#fff;outline:none;padding:10px 11px}input:focus,select:focus,textarea:focus{border-color:var(--leaf);box-shadow:var(--leaf-ring)}textarea{resize:vertical;min-height:90px}.detail-section+.detail-section{margin-top:18px}.detail-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--husk);margin:0 0 10px;font-size:13px}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.detail-item{background:var(--well);border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:3px;min-width:0;padding:9px 11px;display:flex}.detail-item.wide{grid-column:1/-1}.detail-label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-mute);font-size:11px;font-weight:700}.detail-value{color:var(--ink);overflow-wrap:anywhere;font-size:14px}@media (width<=720px){.detail-grid{grid-template-columns:minmax(0,1fr)}}input:disabled,select:disabled,textarea:disabled{background:var(--well);color:var(--ink-mute);cursor:not-allowed}.note{background:var(--water);border-left:4px solid var(--husk);color:var(--ink-soft);border-radius:10px;margin:12px 0;padding:12px 14px;font-size:13px}.warning-note{background:var(--amber-wash);border-left-color:var(--amber)}.danger-note{background:var(--clay-wash);border-left-color:var(--clay)}.warning-text{color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:34px}.kpi-list{gap:8px;display:grid}.kpi-row{border-bottom:1px solid var(--hair);border-left:3px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.kpi-row:last-child{border-bottom:0}.kpi-row-stat{grid-template-columns:minmax(14ch,1fr) minmax(0,max-content)}.kpi-row-stat>b{text-align:right;overflow-wrap:anywhere}.kpi-row:has(.status.danger){border-left-color:var(--clay)}.kpi-row:has(.status.warning){border-left-color:var(--amber)}.report-list{gap:8px;display:grid}.report-item{background:var(--well);border:1px solid var(--line);border-radius:var(--radius-control);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;padding:11px 13px;display:flex}.report-item-main{gap:3px;min-width:0;display:grid}.report-item-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.report-item-cat{color:var(--muted);font-size:13px}.report-item-side{flex-shrink:0;align-items:center;gap:10px;display:flex}.report-item-date{color:var(--muted);white-space:nowrap;font-size:12px}.exception-category{text-transform:uppercase;letter-spacing:.05em;color:var(--husk);background:var(--water);vertical-align:middle;border-radius:4px;margin-right:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.bar{background:var(--well);border-radius:999px;height:8px;margin-top:6px;overflow:hidden}.bar span{background:var(--leaf-fill);height:100%;display:block}.trace-search{min-width:min(360px,100%)}.trace-chain-wrap{position:relative}.trace-chain-wrap:after{content:"";pointer-events:none;background:linear-gradient(to right, #fff0, var(--panel,#fff));width:48px;opacity:var(--trace-fade,1);transition:opacity .15s;position:absolute;top:0;bottom:10px;right:0}.trace-chain{scrollbar-width:thin;align-items:stretch;gap:10px;padding:10px 0 14px;display:flex;overflow:auto hidden}.trace-chain::-webkit-scrollbar{height:8px}.trace-chain::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.trace-chain::-webkit-scrollbar-track{background:0 0}.node{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:180px;padding:13px}.arrow{color:var(--husk);place-items:center;font-weight:800;display:grid}.trace-date{border-top:1px dashed var(--line);color:var(--husk);margin-top:6px;padding-top:6px;font-size:12px;font-weight:600}.proof-strip{flex-wrap:wrap;gap:12px;display:flex}.proof-thumb{flex-direction:column;gap:6px;width:132px;margin:0;display:flex}.proof-thumb-open{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:0;line-height:0;overflow:hidden}.proof-thumb-open img{object-fit:cover;width:132px;height:100px;display:block}.proof-thumb-fallback{border:1px dashed var(--line);text-align:center;overflow-wrap:anywhere;border-radius:10px;place-items:center;width:132px;min-height:100px;padding:8px;display:grid}.proof-thumb figcaption{overflow-wrap:anywhere}.proof-thumb-remove{padding:4px 8px;font-size:12px}table tbody tr.subrow>td{background:var(--chrome);padding-top:0}.modal-backdrop{z-index:90;background:#15181b73;justify-content:center;align-items:flex-start;padding:0 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-box{background:var(--panel);width:100%;max-width:960px;max-height:none;box-shadow:var(--shadow-dialog);border-radius:14px;margin:clamp(20px,6vh,64px) 0 20px}.modal-box:has(.qc-review-grid){max-width:1100px}.modal-head{border-bottom:1px solid var(--line);background:var(--panel);z-index:2;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.modal-head h3{margin:0}.modal-body{padding:20px}.modal-foot.split{justify-content:space-between}.modal-foot-left{flex-wrap:wrap;gap:10px;display:flex}.modal-foot{border-top:1px solid var(--line);background:var(--panel);justify-content:flex-end;gap:10px;padding:16px 20px;display:flex;position:sticky;bottom:0}.close{cursor:pointer;background:0 0;border:0;font-size:24px}.toast{border:1px solid var(--hair);color:var(--ink);box-shadow:var(--shadow-pop);z-index:100;pointer-events:none;text-align:center;background:#fff;border-radius:10px;max-width:min(420px,100vw - 32px);padding:12px 16px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.small{color:var(--muted);font-size:12px}.login-page{min-height:100dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.login-shell{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:18px;width:min(920px,100%);margin:auto;display:grid}.login-stage{background:var(--water);border:1px solid var(--hair);border-left:3px solid var(--husk);border-radius:var(--radius);padding:30px 28px;position:relative;overflow:hidden}.login-rings{fill:none;width:260px;height:260px;stroke:var(--husk);stroke-width:1px;opacity:.09;pointer-events:none;position:absolute;top:-84px;right:-84px}.login-brand{align-items:center;gap:16px;display:flex;position:relative}.login-mark{flex:none;width:64px;height:64px;font-size:32px}.login-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--husk);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.login-wordmark{letter-spacing:-.02em;margin:0;font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.02}.login-lede{max-width:46ch;color:var(--ink-soft);margin:20px 0 0;font-size:14px;line-height:1.55;position:relative}.login-flow{color:var(--ink-soft);flex-wrap:wrap;align-items:center;margin-top:18px;font-size:12px;font-weight:600;display:flex;position:relative}.login-flow span{border:1px solid var(--hair);border-radius:var(--radius-control);background:#fff;align-items:center;padding:5px 10px;display:inline-flex}.login-flow span:not(:last-child):after{content:"›";color:var(--husk);margin-left:10px;font-weight:700}.login-flow span:not(:first-child){margin-left:8px}.login-points{color:var(--ink-soft);margin:20px 0 0;padding:0;font-size:13px;line-height:1.5;list-style:none;position:relative}.login-points li{border-top:1px solid var(--hair);gap:10px;padding:9px 0;display:flex}.login-points li:last-child{padding-bottom:0}.login-points b{color:var(--ink);font-weight:600}.login-points li:before{content:"";background:var(--husk);opacity:.55;border-radius:2px;flex:none;width:7px;height:7px;margin-top:6px}.login-panel{justify-items:center;gap:12px;display:grid}.login-card{width:100%;max-width:400px}.login-submit{width:100%;padding-block:12px;font-size:15px}.login-card .btn:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}.login-help{color:var(--ink-mute);text-align:center;margin:12px 0 0;font-size:12px;line-height:1.5}.login-foot{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:11px}.login-offline{padding-top:env(safe-area-inset-top);position:fixed;top:0;left:0;right:0}.login-offline .offline-bar{border-radius:0}.split{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:14px;display:grid}.subform{border:1px solid var(--line);border-radius:10px;margin-top:14px;overflow:hidden}.subform-head{background:var(--chrome);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.subform-row{border-top:1px solid var(--hair);background:#fff;grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;padding:10px 12px;display:grid}.subform-row input,.subform-row select{width:100%;padding:8px}.field-fixed{border-radius:var(--radius-control);background:var(--well);border:1px solid var(--line);color:var(--muted);padding:10px 12px;font-size:14px}.subform-unit{color:var(--muted);align-items:center;font-size:13px;display:flex}.subform-unit.off-recipe{color:var(--danger);font-weight:700}.pack-row{grid-template-columns:minmax(0,3fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.1fr) auto;align-items:center}.fill-row{grid-template-columns:minmax(0,3fr) minmax(0,.9fr) minmax(0,.7fr) minmax(0,1.1fr) auto}.recipe-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1.6fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,.9fr) auto;align-items:center}.blend-row{grid-template-columns:minmax(0,2.2fr) minmax(0,.8fr) minmax(0,2fr) minmax(0,.9fr) minmax(0,.9fr) auto}.pack-row-head{background:var(--well);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-top:none;font-size:12px;font-weight:700}.pack-row-head span:last-child{min-width:34px}.subform-body{background:#fff;padding:16px 14px}.subform-body+.subform-body{border-top:1px solid var(--hair)}.subform-body .table-wrap{border:none;border-radius:0;margin:-16px -14px}.autocomplete{position:relative}.autocomplete-list{z-index:1000;border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-pop);background:#fff;max-height:220px;padding:6px;overflow-y:auto}.autocomplete-option{cursor:pointer;border-radius:6px;padding:8px 10px;font-size:13px}.autocomplete-option:hover,.autocomplete-option.active{background:var(--well)}.table-cell-input{width:100%;min-width:120px;padding:6px 8px}.ui-select{min-width:150px;display:inline-flex;position:relative}.field .ui-select,.subform-row .ui-select,.qc-review-card .ui-select{width:100%;min-width:0;display:flex}.ui-select-trigger{border:1px solid var(--hair-strong);border-radius:var(--radius-control);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;display:flex}.ui-select-trigger:hover{border-color:#c5bfae}.ui-select-trigger[aria-expanded=true]{border-color:var(--leaf);box-shadow:var(--leaf-ring)}.ui-select-trigger:disabled{cursor:not-allowed;opacity:.6}.ui-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-select-placeholder{color:var(--muted)}.ui-select-chevron{color:var(--muted);flex-shrink:0;line-height:1;transition:transform .15s}.ui-select-chevron.open{transform:rotate(180deg)}.ui-select-list{z-index:1000;border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-pop);background:#fff;max-height:260px;padding:6px;overflow-y:auto}.ui-select-option{cursor:pointer;border-radius:6px;padding:8px 10px;font-size:13px}.ui-select-option:hover{background:var(--well)}.ui-select-option.active{background:var(--leaf);color:#fff}.ui-select-option.focused{outline:2px solid var(--leaf);outline-offset:-2px;background:var(--well)}.ui-select-option.active.focused{background:var(--leaf);outline-color:#fff}.ui-select-option.disabled{color:var(--muted);cursor:not-allowed}.toolbar .ui-select{min-width:170px}@media (width<=1100px){.grid-4,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field.span-3{grid-column:span 2}.split{grid-template-columns:minmax(0,1fr)}.metric-strip,.metric-strip.vendors-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip .metric:nth-child(odd){border-left:0}.metric-strip .metric:nth-child(n+3){border-top:1px solid var(--hair)}}@media (width<=760px){.content{padding:16px}.grid-4,.grid-3,.grid-2,.form-grid,.metric-strip,.metric-strip.vendors-stats{grid-template-columns:minmax(0,1fr)}.metric-strip .metric{border-left:0;border-top:1px solid var(--hair)}.metric-strip .metric:first-child{border-top:0}.field.span-2,.field.span-3{grid-column:auto}.subform-row,.pack-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pack-row>:first-child,.recipe-row>:first-child{grid-column:1/-1}.pack-row-head{display:none}}.vendors-page{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.vendors-stats .metric .value{font-size:32px}.vendors-panel{padding:22px}.vendors-actions{flex-wrap:wrap;gap:8px;display:flex}.vendors-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.type-tabs{background:var(--well);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.type-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.type-tab.active{background:var(--leaf-fill);box-shadow:var(--sheen);color:#fff}.vendors-search{border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;min-width:min(320px,100%);padding:10px 12px}.vendor-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.vendor-card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:10px;gap:14px;padding:16px;display:grid}.vendor-card:hover{border-color:#d5d1c8}.vendor-card.is-farmer{border-top:3px solid var(--tender)}.vendor-card.is-vendor{border-top:3px solid var(--slate)}.vendor-card-top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.vendor-avatar{color:#fff;border-radius:10px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.vendor-avatar.farmer{background:var(--tender)}.vendor-avatar.vendor{background:var(--slate)}.vendor-card-title h4{margin:0;font-size:16px}.type-chip{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.type-chip.farmer{background:var(--tender-wash);color:var(--tender)}.type-chip.vendor{background:var(--slate-wash);color:var(--slate)}.vendor-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.vendor-meta .meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:11px;display:block}.vendor-meta b{font-size:13px;font-weight:700}.vendor-notes{color:var(--muted);border-top:1px dashed var(--line);margin:0;padding-top:4px;font-size:12px}.vendor-card-actions{border-top:1px dashed var(--line);justify-content:flex-end;margin-top:4px;padding-top:8px;display:flex}.vendor-card-actions .btn{padding:4px 10px;font-size:12px}.vendors-empty{border:1px dashed var(--line);background:var(--well);border-radius:10px}.qc-card .vendor-card-top,.room-card .vendor-card-top{grid-template-columns:minmax(0,1fr) auto;align-items:start}.room-card .vendor-card-top .status{white-space:nowrap}.inline-select{vertical-align:middle;min-width:180px;display:inline-block}.room-stock{border-top:1px solid var(--line);margin-top:10px}.room-stock-row{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.room-stock-row>div{min-width:0}.qc-card .vendor-card-top .status{white-space:nowrap}.qc-mini-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.qc-mini{gap:4px;display:grid}.qc-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.qc-review-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:16px;display:grid}.qc-review-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.qc-review-head h4{margin:0;font-size:16px}.qc-upload-block{border-top:1px dashed var(--line);gap:8px;margin-top:8px;padding-top:10px;display:grid}.qc-file-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qc-file-row a,.qc-file-row .link-button{color:var(--husk);word-break:break-all;font-size:13px;font-weight:700}.link-button{font:inherit;color:var(--husk);text-align:left;cursor:pointer;word-break:break-all;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:progress}@media (width<=900px){.qc-review-grid{grid-template-columns:minmax(0,1fr)}}.products-page{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.products-panel{padding:22px}.product-card .btn,.product-card .row-actions{justify-self:start}.supplier-chips{flex-wrap:wrap;gap:6px;display:flex}.supplier-chip{background:var(--well);color:var(--ink-soft);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.supplier-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:6px;display:grid}.supplier-group{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:240px;padding:12px;overflow:auto}.check-row{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 4px;font-size:13px;display:flex}.check-row input{margin-top:2px}@media (width<=760px){.supplier-picker{grid-template-columns:minmax(0,1fr)}}.kind-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:6px;display:grid}.kind-option{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;gap:4px;padding:14px;display:grid}.kind-option strong{font-size:15px}.kind-option span{color:var(--muted);font-size:12px}.kind-option.active.farmer{border-color:var(--tender);background:var(--tender-wash);box-shadow:0 0 0 3px #2d6b4729}.kind-option.active.vendor{border-color:var(--slate);background:var(--slate-wash);box-shadow:0 0 0 3px #38618a29}@media (width<=760px){.vendors-toolbar{flex-direction:column;align-items:stretch}.vendors-search{min-width:0}.kind-picker{grid-template-columns:minmax(0,1fr)}}.report-sheet{box-sizing:border-box;background:#fff;border:1px solid #d8d0c1;border-radius:16px;width:100%;max-width:210mm;min-height:297mm;margin:0 auto;padding:18mm 16mm;box-shadow:0 10px 30px #1f251f14}.report-header{flex-direction:column;align-items:center;gap:4px;margin-bottom:10px;display:flex}.report-logo{object-fit:contain;width:auto;height:110px}.report-title{text-align:center;letter-spacing:.04em;font-size:22px;font-weight:800}.report-subtitle{text-align:center;color:var(--muted);margin-bottom:10px}.report-top-row{justify-content:space-between;gap:16px;margin-bottom:6px;display:flex}.report-row{margin-bottom:6px}.report-results-title{text-align:center;margin:18px 0 12px;font-weight:700;text-decoration:underline}.report-details-table{table-layout:fixed;border-collapse:collapse;border:1px solid var(--line);width:100%;min-width:0}.report-details-table td{border:1px solid var(--line);vertical-align:top;word-break:break-word;padding:8px 12px;font-size:13px}.report-details-table td:first-child{background:#f6f3ec;width:34%;font-weight:700}.report-results-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.report-results-table th,.report-results-table td{border:1px solid var(--line);text-align:left;word-break:break-word;padding:6px 8px;font-size:11.5px}.report-details-table tr:last-child td,.report-results-table tr:last-child td{border-bottom:1px solid var(--line)}.report-results-table th{white-space:nowrap;background:#f0ece3}.report-results-table th:first-child,.report-results-table td:first-child{width:10%}.report-results-table th:nth-child(2),.report-results-table td:nth-child(2){width:29%}.report-results-table th:nth-child(3),.report-results-table td:nth-child(3){width:25%}.report-results-table th:nth-child(4),.report-results-table td:nth-child(4){width:16%}.report-results-table th:nth-child(5),.report-results-table td:nth-child(5){width:20%}.report-end-of-report{text-align:center;margin-top:20px;font-weight:700}.report-signature{text-align:center;width:240px;margin-top:48px;margin-left:auto}.report-signature-line{border-top:1px solid var(--line);height:40px;margin-bottom:8px}.report-signature-name{font-weight:700}.report-footer{text-align:center;margin-top:24px}.report-sensory-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.report-sensory-table th,.report-sensory-table td{border:1px solid var(--line);text-align:left;vertical-align:top;word-break:normal;overflow-wrap:anywhere;padding:4px 6px;font-size:10.5px}.report-sensory-table th{text-transform:none;letter-spacing:normal;word-break:normal;overflow-wrap:break-word;background:#f0ece3}.register-doc .link-button{word-break:normal;white-space:nowrap}.report-sensory-table .num{text-align:center;padding-left:3px;padding-right:3px}.report-decision{font-weight:800}.report-comments{border:1px solid var(--line);white-space:pre-wrap;min-height:48px;padding:8px 12px;font-size:13px}.modal-box:has(.sensory-form){max-width:1200px}.sensory-form{gap:14px;display:grid}.sensory-table td{vertical-align:middle}.sensory-table .table-cell-input{min-width:140px}.score-picker{gap:4px;display:inline-flex}.score-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:30px;height:30px;font-weight:700}.score-btn.active{background:var(--green);border-color:var(--green);color:#fff}.score-btn.low.active{background:var(--clay-wash);border-color:var(--clay);color:var(--clay)}.sensory-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.sensory-summary>div{border:1px solid var(--line);background:#fff;border-radius:10px;align-content:start;gap:4px;padding:10px 12px;display:grid}.sensory-summary b{font-size:18px}.sensory-guide summary{cursor:pointer;margin-bottom:8px;font-size:13px;font-weight:700}.sample-row{grid-template-columns:minmax(0,2fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,1.4fr) auto;align-items:center}@media (width<=760px){.sample-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=900px){.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.topbar{display:none}.mobile-appbar{z-index:30;background:var(--grove-fill);min-width:0;max-width:100%;box-shadow:var(--sheen);color:#fffffff2;padding:8px 12px 8px 6px;padding-top:calc(8px + env(safe-area-inset-top));padding-left:calc(6px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));border-bottom:1px solid #0000002e;align-items:center;gap:6px;display:flex;position:sticky;top:0}.mobile-appbar-title{flex:1 1 0;min-width:0;overflow:hidden}.mobile-appbar-title h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:600;line-height:1.2;overflow:hidden}.mobile-appbar-title p{color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:11px;overflow:hidden}.drawer-scrim{z-index:50;opacity:0;pointer-events:none;background:#15181b66;transition:opacity .24s;display:block;position:fixed;inset:0}.drawer-scrim.open{opacity:1;pointer-events:auto}.sidebar{z-index:60;overscroll-behavior:contain;width:min(86vw,300px);height:100%;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:calc(18px + env(safe-area-inset-left));transition:transform .24s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.sidebar.open{box-shadow:var(--shadow-drawer);transform:none}.brand{align-items:flex-start}.icon-btn.drawer-close{color:#fffc;margin:-8px -6px 0 auto;display:grid}.nav button{padding:14px 12px;font-size:15px}.bottom-nav{z-index:40;background:var(--grove-fill);box-shadow:var(--sheen);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #ffffff24;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#ffffffc7;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-content:center;justify-items:center;gap:3px;min-height:58px;padding:8px 2px;font-size:10.5px;font-weight:700;display:grid;position:relative}.bottom-nav button svg{width:22px;height:22px}.bottom-nav button.active{color:#fff}.bottom-nav button.active svg{color:#8fe3d8}.bottom-nav button.active:before{content:"";background:#8fe3d8;border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.offline-bar{padding:10px 16px}.toast{max-width:none;left:16px;right:16px;top:calc(12px + env(safe-area-inset-top));transform:none}.pwa-prompt{bottom:calc(74px + env(safe-area-inset-bottom))}input,select,textarea,.ui-select-trigger{font-size:16px}.btn{min-height:44px;padding:12px 16px}.close{width:44px;height:44px}.type-tab{min-height:42px}.score-btn{width:42px;height:42px}.btn.btn-chip{min-height:44px}.modal-backdrop{align-items:stretch;padding:0}.modal-box{border-radius:0;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;display:flex;overflow:hidden}.modal-head{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top))}.modal-head h3{font-size:17px}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;padding:16px;overflow-y:auto}.modal-foot{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1 1 0}.section-head{flex-direction:column;align-items:stretch;gap:12px}.section-head>.btn,.vendors-actions .btn{width:100%}.section-head-actions{margin-left:0}.section-head-actions .btn{flex:1 1 0;width:auto}.vendors-actions{flex-direction:column}.toolbar{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.toolbar input,.toolbar select,.toolbar .ui-select,.toolbar .btn{width:100%;min-width:0}.card,.grid>*,.split>*,.products-page>*,.vendors-page>*,.form-grid>*{min-width:0}.type-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;flex-wrap:nowrap;max-width:100%;display:flex;overflow-x:auto}.type-tabs::-webkit-scrollbar{display:none}.type-tab{flex:none}.vendors-toolbar,.vendors-toolbar>*{min-width:0;max-width:100%}.sort-select{width:100%;margin:0 0 10px;display:block}.table-wrap{background:0 0;border:0;border-radius:0;overflow:visible}.table-wrap table{background:0 0;width:100%;min-width:0;display:block}.table-wrap thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.table-wrap tbody{gap:8px;display:grid}.table-wrap tr{border:1px solid var(--line);background:#fff;border-radius:10px;padding:2px 13px;display:block}.table-wrap td{border-bottom:1px solid var(--hair-soft);text-align:right;justify-content:flex-end;align-items:center;gap:14px;padding:10px 0;display:flex}.table-wrap tr td:last-child{border-bottom:0}.table-wrap tbody tr:nth-child(2n) td{background:0 0}.table-wrap td[data-label]:before{content:attr(data-label);text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--husk);flex:0 0 40%;font-size:11px;font-weight:700}.table-wrap td.empty,.table-wrap td.cell-actions{text-align:center;display:block}.table-wrap td.cell-actions .btn{width:100%}.table-wrap td.cell-actions .row-actions .btn{flex:1 1 0;width:auto}.table-wrap .cell-tight,.table-wrap .cell-actions{width:auto}.table-wrap .cell-id,.table-wrap .cell-num,.table-wrap .cell-tight{white-space:normal}.table-wrap .row-actions{flex-wrap:wrap;justify-content:stretch}.table-wrap .cell-actions .btn{font-size:inherit;border-radius:10px;padding:10px 14px}.table-wrap .cell-num{text-align:right}.table-wrap td{flex-wrap:wrap}.table-wrap td .cell-sub{text-align:right;flex:1 0 100%;margin-top:0}.table-wrap tr:has(td.empty){background:var(--well);border-style:dashed}.table-wrap .table-cell-input{flex:auto;min-width:0}.subform-body .table-wrap{margin:0}.login-shell{grid-template-columns:minmax(0,1fr)}.login-stage{padding:22px 18px}.login-brand{gap:12px}.login-mark{width:52px;height:52px;font-size:26px}.login-rings{width:180px;height:180px;top:-60px;right:-60px}}@media (width<=760px){.report-sheet{border-radius:12px;min-height:0;padding:16px 14px}}@media print{@page{size:A4;margin:12mm}.sidebar,.topbar,.mobile-appbar,.bottom-nav,.drawer-scrim,.offline-bar,.pwa-prompt,.toast,.no-print{display:none!important}.content{padding:0!important}.report-sheet{box-shadow:none;border:none;width:auto;min-height:0;padding:0}}.export-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-export{margin-bottom:16px}.main-output-pick{white-space:nowrap;align-items:center;gap:6px;margin:0;display:flex}@media (width<=760px){.export-actions{flex:100%}.export-actions .btn{flex:1 1 0}}.stickers-page{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.stage-picker{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.stage-card{text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex}.stage-card:hover{border-color:var(--green-2)}.stage-card.active{background:var(--leaf-fill);border-color:var(--leaf-deep);box-shadow:var(--sheen);color:#fff}.stage-card span{color:var(--muted);font-size:12px}.stage-card.active span{color:#ffffffc7}.sticker-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.pick-list{gap:6px;max-height:420px;display:grid;overflow-y:auto}.pick-row{text-align:left;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.pick-row:hover{border-color:var(--green-2)}.pick-row.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:var(--bg)}.sticker-stage{background:var(--bg);border:1px dashed var(--line);border-radius:10px;justify-content:center;padding:12px;display:flex}.sticker-preview{color:#000;border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;max-width:420px;padding:12px 14px;font-size:13px;overflow:hidden;container-type:inline-size}.sticker-preview-title{text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #000;margin-bottom:6px;padding-bottom:4px;font-weight:800}.sticker-preview table{border-collapse:collapse;background:0 0;width:100%;min-width:0}.sticker-preview th,.sticker-preview td{font-size:inherit;vertical-align:top;text-align:left;border-bottom:none}.sticker-preview th{text-transform:none;letter-spacing:normal;color:#444;white-space:nowrap;background:0 0;width:38%;padding:1px 8px 1px 0;font-weight:400;position:static}.sticker-preview td{color:#000;word-break:break-word;padding:1px 0;font-weight:700}.print-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:14px;display:flex}.print-bar .field{max-width:160px;margin:0}.print-bar .btn{flex:auto}.size-presets{flex-wrap:wrap;gap:6px;display:flex}.size-presets .btn.active{background:var(--leaf-fill);border-color:var(--leaf-deep);box-shadow:var(--sheen);color:#fff}.field-table{gap:6px;margin-top:12px;display:grid}.field-row{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--bg);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.field-row.on{background:var(--panel);border-color:var(--green-2)}.field-row .check-row{margin:0}@media (width<=900px){.sticker-columns,.field-row{grid-template-columns:minmax(0,1fr)}}.production-page{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.stage-picker-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:640px}.melange-setup-note{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.melange-setup-note .btn{flex:none}.setup-card{margin-bottom:16px}.setup-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.setup-steps li{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--bg);align-items:center;gap:12px;padding:10px 12px;display:flex}.setup-steps .setup-label{flex:1;min-width:0}.setup-steps li.done .setup-label{color:var(--muted)}.setup-tick{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:grid}.setup-steps li.done .setup-tick{background:var(--tender);border-color:var(--tender);color:#fff}.doc-link{color:var(--husk);text-underline-offset:2px;cursor:pointer;font-weight:700;-webkit-text-decoration:underline #5a453159;text-decoration:underline #5a453159}.doc-link:hover,.doc-link:focus-visible{text-decoration-color:currentColor}.audit-trail{margin:4px 0 8px}.trace-view-tabs{margin:4px 0 12px}.trace-network{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.trace-network-hint{color:var(--muted);padding:10px 14px 0;font-size:12px}.trace-network-scroll{overflow-x:auto}.trace-network-canvas{position:relative}.trace-network svg{touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;display:block}.trace-network-link{stroke:var(--line);stroke-width:1.5px;transition:opacity .12s}.trace-network-link.lit{stroke:var(--green);stroke-width:2.25px}.trace-network-link.dim,.trace-network-node.dim{opacity:.18}.trace-network-arrowhead{fill:var(--muted)}.trace-network-node{cursor:grab;touch-action:none;transition:opacity .12s}.trace-network-node.openable{cursor:pointer}.trace-network-node:focus{outline:none}.trace-network-node circle{fill:var(--swatch);stroke:#fff;stroke-width:2.5px}.trace-network-node.lit circle,.trace-network-node:focus-visible circle{stroke:var(--ink)}.trace-network-label{fill:var(--ink);paint-order:stroke;stroke:var(--panel);stroke-width:3px;pointer-events:none;font-size:11px;font-weight:700}.trace-network-tooltip{z-index:2;background:var(--ink);color:#fff;max-width:260px;box-shadow:var(--shadow-pop);pointer-events:none;border-radius:8px;padding:7px 10px;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.trace-network-tooltip .small{color:#ffffffb8}.trace-network-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:6px 14px;padding:10px 14px;font-size:12px;display:flex}.trace-network-legend span:before{content:"";background:var(--swatch);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.kind-source{--swatch:#b8892f}.kind-grn{--swatch:#166534}.kind-batch{--swatch:#5a4531}.kind-melange{--swatch:#5f8a63}.kind-qc{--swatch:#92400e}.kind-material{--swatch:#8a8478}.kind-packing{--swatch:#c96543}.kind-order{--swatch:#6a5fa8}.kind-dispatch{--swatch:#1d4ed8}.kind-issue{--swatch:#b91c1c}.kind-customer{--swatch:#15181b}.kind-stock{--swatch:#5b626a}.range-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.range-picker input[type=date]{width:auto}.range-vs{color:var(--muted);font-size:13px}.report-controls{background:var(--well);border-radius:var(--radius-control);flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 14px;padding:10px 12px;display:flex}.report-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;font-size:13px;display:flex}.method-note{background:var(--well);border-radius:var(--radius-control);color:var(--muted);max-width:70ch;margin:10px 0 0;padding:10px 12px;font-size:13px}.sync-note{align-items:center;gap:6px;display:inline-flex}.sync-note:before{content:"";background:var(--ink-mute);border-radius:50%;width:8px;height:8px}.sync-note.ok:before{background:var(--tender)}.sync-note.busy:before{background:var(--amber)}.sync-note.off:before{background:var(--clay)}.compare-table .delta{white-space:nowrap;font-weight:700}.compare-table .delta.good{color:var(--tender)}.compare-table .delta.bad{color:var(--clay)}.compare-table td:nth-child(3){font-weight:600}.report-catalog-family{margin-top:18px}.report-catalog-family h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:13px}.report-card{background:var(--well);border:1px solid var(--line);border-radius:var(--radius-control);color:inherit;align-content:start;gap:4px;padding:14px;text-decoration:none;display:grid}.report-card:hover{border-color:var(--husk);background:var(--hair-soft)}.report-card:hover b{color:var(--husk)}.report-card b{font-size:14px}.report-card span{color:var(--muted);font-size:13px}.report-card small{color:var(--muted);font-size:12px}
