:root{font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#172033;background:#f6f5fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f6f5fa;--panel: #ffffff;--panel-subtle: #fbfaff;--line: #ded9e9;--line-strong: #c9c1dc;--text: #172033;--muted: #667085;--primary: #6b4fd3;--primary-hover: #5a3fc1;--primary-active: #4d35ad;--primary-soft: #f0ebff;--primary-line: #cdbff3;--success: #187b63;--success-soft: #e8f7f2;--success-line: #b9dfd2;--warning: #8a5a0a;--warning-soft: #fff5df;--warning-line: #ebcf96;--danger: #b83863;--danger-hover: #a42f57;--danger-soft: #fff0f5;--danger-line: #efbfd0;--accent-mint: #2fb58d;--accent-pink: #f58aae;--accent-lavender: #c9b6ff;--soft-lavender: var(--primary-soft);--soft-mint: var(--success-soft);--soft-pink: var(--danger-soft);--blue: var(--primary);--green: var(--primary);--orange: var(--warning);--red: var(--danger);--radius-control: 8px;--radius-panel: 8px;--radius-pill: 999px;--shadow: 0 8px 24px rgba(56, 45, 92, .07);--shadow-modal: 0 24px 72px rgba(39, 30, 72, .22);--focus-ring: 0 0 0 3px rgba(107, 79, 211, .2);--motion-fast: .14s;--motion-base: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}::selection{color:var(--text);background:var(--accent-lavender)}.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr);background:var(--bg)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:linear-gradient(180deg,#fffcff,#f3effc);padding:20px 14px}.brand-block{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.brand-home-button{width:100%;border:0;text-align:left;background:transparent;color:inherit}.brand-home-button:hover .brand-mark,.topbar-home-button:hover .brand-mark{transform:translateY(-1px)}.brand-mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--accent-mint);color:#132d38;font-weight:800}.brand-block h1,.topbar h2,.tool-panel h3,.section-title{margin:0;letter-spacing:0}.brand-block h1{font-size:18px}.brand-block p,.eyebrow,.muted{margin:0;color:var(--muted);font-size:13px}.side-nav{display:grid;gap:6px}.account-chip{margin-left:auto;display:flex;align-items:center;gap:10px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px 6px 4px 12px;color:var(--muted);font-size:13px}.account-avatar{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;overflow:hidden;background:var(--soft-mint);color:#176b58;font-weight:900;flex:0 0 auto}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-chip span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chip small{color:var(--green);font-weight:800}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(420px,100%);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:22px;display:grid;gap:16px}.auth-brand{padding:0}.auth-tabs{width:100%}.auth-tabs button{flex:1}.auth-field{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.auth-field div{min-height:42px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--muted)}.auth-field input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.auth-note{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.legal-links{margin:0;display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:13px}.legal-links a{color:var(--green);font-weight:800;text-decoration:none}.legal-links a:hover{text-decoration:underline}.verify-panel{display:grid;gap:12px}.verify-panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.auth-flow-heading{display:flex;align-items:flex-start;gap:12px}.auth-flow-heading h2,.auth-flow-heading p{margin:0}.auth-flow-heading h2{font-size:19px}.auth-flow-heading p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.5}.auth-flow-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;color:var(--green);background:var(--soft-lavender)}.password-toggle{width:32px;height:32px;margin-right:-7px;border:0;border-radius:7px;display:grid;place-items:center;flex:0 0 auto;color:var(--muted);background:transparent}.password-toggle:hover,.password-toggle:focus-visible{color:var(--green);background:var(--soft-lavender)}.auth-text-button,.auth-back-button{width:fit-content;border:0;padding:0;color:var(--green);background:transparent;font-size:13px;font-weight:800}.auth-text-button{justify-self:end;margin-top:-6px}.auth-back-button{justify-self:center}.auth-text-button:hover,.auth-back-button:hover{text-decoration:underline}.landing-shell{min-height:100dvh;padding:28px;overflow:hidden;background:linear-gradient(135deg,#12323f,#173948 42%,#24435a),#173948;color:#eff8f7;position:relative;isolation:isolate}.landing-noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px}.pixel-hero{min-height:calc(100dvh - 56px);border:1px solid rgba(239,248,247,.16);border-radius:26px;position:relative;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);box-shadow:inset 0 1px #eff8f729,0 28px 90px #08161e57;background:linear-gradient(180deg,#ffffff0a,#ffffff05),#0f2934b8;contain:paint}.landing-nav{width:min(1180px,calc(100% - 48px));height:70px;margin:24px auto 0;padding:8px 10px 8px 14px;border:1px solid rgba(239,248,247,.16);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#122a37ad;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px #eff8f721;position:relative;z-index:3}.landing-brand,.landing-nav-actions,.landing-actions{display:flex;align-items:center}.landing-brand{gap:12px;min-width:0;color:#eff8f7;font-size:18px;font-weight:900}.landing-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#2fb58d;color:#11303c;font-weight:950;box-shadow:inset 0 -3px #11303c38}.landing-nav-actions{gap:10px;margin-left:auto;justify-content:flex-end}.landing-nav-button,.landing-primary,.landing-secondary{border:0;border-radius:14px;min-height:46px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:900;letter-spacing:0;-webkit-tap-highlight-color:transparent;will-change:transform;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s cubic-bezier(.22,1,.36,1),opacity .16s ease}.landing-nav-button.ghost,.landing-secondary{border:1px solid rgba(255,255,255,.28);background:#1023305c;color:#eff8f7}.landing-nav-button.strong,.landing-secondary{border-color:transparent;background:linear-gradient(135deg,#f58aae,#c9b6ff);color:#162235;box-shadow:inset 0 -3px #44245b38,0 12px 30px #f58aae3d}.landing-primary{min-width:132px;min-height:54px;background:linear-gradient(135deg,#f58aae,#f7a1bf);color:#182235;box-shadow:inset 0 -4px #69213a38,0 16px 40px #f58aae38}.landing-primary:disabled{cursor:wait;opacity:.78}.landing-secondary{min-width:132px;min-height:54px}.landing-nav-button:hover,.landing-primary:hover,.landing-secondary:hover{transform:translate3d(0,-2px,0)}.landing-nav-button:active,.landing-primary:active,.landing-secondary:active{transform:translate3d(0,1px,0)}.landing-nav-button:focus-visible,.landing-primary:focus-visible,.landing-secondary:focus-visible{outline:3px solid rgba(138,199,232,.88);outline-offset:3px}.landing-content{width:min(860px,calc(100% - 48px));margin:0 auto;align-self:center;position:relative;z-index:2;display:grid;justify-items:center;text-align:center;gap:22px;padding:64px 0 96px;transform:translateZ(0)}.landing-kicker{margin:0;border:1px solid rgba(239,248,247,.17);border-radius:999px;padding:8px 16px;background:#eff8f714;color:#c7e7e5;font-size:14px;font-weight:800}.landing-content h1{margin:0;color:#eff8f7;font-size:clamp(48px,8vw,92px);line-height:.98;letter-spacing:0;font-weight:950;text-shadow:0 4px 28px rgba(0,0,0,.34)}.landing-subtitle{margin:0;max-width:620px;color:#fff;font-size:clamp(16px,2vw,20px);line-height:1.7;text-shadow:0 2px 18px rgba(0,0,0,.45)}.landing-actions{gap:14px;justify-content:center;flex-wrap:wrap;padding-top:4px}.pixel-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;overflow:hidden;contain:paint;transform:translateZ(0)}.landing-pixel-fallback{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.84;pointer-events:none;background:radial-gradient(circle at 22% 34%,rgba(201,182,255,.32) 0 14%,transparent 32%),radial-gradient(circle at 74% 25%,rgba(138,199,232,.26) 0 12%,transparent 34%),radial-gradient(circle at 54% 72%,rgba(47,181,141,.24) 0 12%,transparent 32%),radial-gradient(circle at 1px 1px,rgba(201,182,255,.28) 1px,transparent 1.7px);background-size:100% 100%,100% 100%,100% 100%,12px 12px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}.landing-pixel-blast{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;transform:translateZ(0)}.pixel-tint{position:absolute;width:42vw;height:42vw;border-radius:999px;filter:blur(60px);opacity:.24;pointer-events:none}.pixel-tint.pink{left:8%;bottom:1%;background:#f58aae}.pixel-tint.green{right:6%;top:8%;background:#2fb58d}@media(prefers-reduced-motion:no-preference){.landing-content{animation:landing-rise .56s cubic-bezier(.22,1,.36,1) both}}@keyframes landing-rise{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.landing-content,.landing-nav-button,.landing-primary,.landing-secondary{animation:none;transition:none}}.nav-item,.bottom-item{display:flex;align-items:center;gap:10px;border:0;color:#334155;background:transparent}.nav-item{width:100%;height:42px;border-radius:8px;padding:0 12px}.nav-item.active{background:var(--soft-lavender);color:var(--green);font-weight:700}.main-panel{width:min(1180px,100%);padding:22px 28px 40px}.topbar{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar-actions .account-chip{margin-left:0}.notification-anchor,.notification-button{position:relative}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border:2px solid white;border-radius:10px;background:var(--primary);color:#fff;padding:0 4px;display:grid;place-items:center;font-size:10px;font-weight:900;line-height:1}.notification-center{position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 100px));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 20px 55px #23193a2e}.notification-center-head{min-height:62px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-center-head>div:first-child{display:grid;gap:2px}.notification-center-head span,.notification-copy span,.notification-copy time,.notification-empty span{color:var(--muted);font-size:12px}.notification-center-actions{display:flex;gap:6px}.notification-center-actions .icon-button{width:34px;height:34px}.notification-list{max-height:480px;overflow-y:auto}.notification-row{width:100%;min-height:84px;border:0;border-top:1px solid var(--line);background:#fff;color:inherit;padding:12px 14px;display:grid;grid-template-columns:8px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left}.notification-row:first-child{border-top:0}.notification-row:hover,.notification-row.unread{background:var(--primary-soft)}.notification-status{width:7px;height:7px;border-radius:50%;background:transparent}.notification-row.unread .notification-status{background:var(--primary)}.notification-copy{min-width:0;display:grid;gap:4px}.notification-copy strong,.notification-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-copy time{margin-top:2px}.notification-empty{min-height:210px;padding:28px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:var(--primary)}.topbar-home-button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);display:none;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-weight:900}.topbar-home-button .brand-mark{width:32px;height:32px;border-radius:7px;transition:transform .18s ease}.topbar h2{font-size:26px}.page-stack{display:grid;gap:16px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{min-height:78px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px;display:grid;align-content:center;gap:4px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:24px}.metric.warn strong{color:var(--orange)}.metric.ok strong{color:var(--green)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.search-field{min-width:min(100%,320px);height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;align-items:center;gap:10px;padding:0 12px}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.segmented,.series-strip,.button-row,.quick-row,.modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.segmented{padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--soft-lavender)}.segmented button,.series-strip button,.quick-row button{height:32px;border:0;border-radius:7px;padding:0 12px;background:transparent;color:#42505f}.segmented button.active,.series-strip button.active{background:#fff;color:var(--green);box-shadow:inset 0 0 0 1px #d2c2f0;font-weight:700}.series-strip{overflow-x:auto;padding-bottom:2px}.series-strip button{flex:0 0 auto;border:1px solid var(--line);background:#fff}.inventory-list{display:grid;gap:10px}.inventory-card{min-height:76px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px}.inventory-card.low{border-color:#efc987;background:#fffaf0}.inventory-info{min-width:0;display:grid;gap:8px}.inventory-topline,.inventory-subline{display:flex;align-items:center;gap:10px;min-width:0}.inventory-topline strong{min-width:52px;font-size:17px}.inventory-topline small{color:var(--orange);font-size:12px}.inventory-subline{color:var(--muted);font-size:13px;flex-wrap:wrap}.swatch{width:22px;height:22px;display:inline-block;border-radius:6px;border:1px solid rgba(0,0,0,.14);flex:0 0 auto}.inventory-actions{width:88px;display:flex;justify-content:flex-end;align-items:center;gap:8px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#2d3a45;display:inline-grid;place-items:center}.icon-button:hover,.nav-item:hover,.bottom-item:hover{background:var(--soft-lavender)}.tool-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px;box-shadow:var(--shadow)}.upload-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}.upload-panel p{margin:5px 0 0;color:var(--muted)}.file-picker{position:relative;min-width:180px;height:42px;border:1px dashed #9db7aa;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 12px;overflow:hidden;background:#f8fbf9}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.primary-button,.secondary-button,.ghost-button,.danger-button{min-height:40px;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-weight:700}.primary-button{background:var(--green);color:#fff}.secondary-button{background:var(--soft-lavender);color:var(--blue);border-color:#d2c2f0}.ghost-button{background:#fff;border-color:var(--line);color:#334155}.danger-button{background:var(--red);color:#fff}.wide{width:100%;margin-top:14px}.compact{min-height:30px;padding:0 10px}.notice{min-height:44px;border:1px solid #bfe7da;border-radius:8px;background:var(--soft-mint);color:#176b58;display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:14px}.notice.error{border-color:#efb8b4;background:#fff0ef;color:var(--red)}.notice span{flex:1}.notice-actions{display:flex;align-items:center;gap:6px}.connection-banner{min-height:52px;border:1px solid var(--warning-line);border-radius:8px;display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:14px}.connection-banner>div{min-width:0;flex:1;display:grid;gap:2px}.connection-banner strong,.connection-banner span{display:block}.connection-banner span{color:var(--muted);font-size:13px}.connection-banner.floating{position:fixed;z-index:80;top:12px;left:50%;width:min(620px,calc(100vw - 24px));margin:0;transform:translate(-50%);box-shadow:var(--shadow)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.panel-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recognition-preview{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:14px;align-items:start}.preview-mosaic{min-height:168px;border:1px solid var(--line);border-radius:8px;background:#f7faf8;padding:8px;display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.preview-mosaic span{min-height:12px;border-radius:3px;box-shadow:inset 0 0 0 1px #141e2814}.preview-legend{display:flex;align-content:flex-start;gap:8px;flex-wrap:wrap}.preview-legend span{min-height:30px;border:1px solid var(--line);border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;background:#fff;color:#334155;font-size:13px;font-weight:700}.preview-legend i{width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1px #141e2829}.trust-callout{margin-top:12px;border:1px solid #bfe7da;border-radius:8px;background:var(--soft-mint);color:#176b58;padding:10px 12px;display:grid;gap:4px;font-size:13px}.trust-callout.warn{border-color:#f0d3a3;background:#fff8eb;color:#8a5410}.recognition-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.recognition-compare-grid figure{min-width:0;margin:0;display:grid;grid-template-rows:minmax(220px,1fr) auto;gap:8px}.recognition-source-preview>div{min-height:220px;border:1px solid var(--line);border-radius:8px;background:#f7faf8;overflow:hidden;display:grid;place-items:center;color:var(--muted)}.recognition-source-preview img{width:100%;height:100%;max-height:360px;object-fit:contain;background:#fff}.recognition-overlay-preview{position:relative;min-height:220px;border:1px solid var(--line);border-radius:8px;background:#f8f6ff;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:13px}.recognition-overlay-preview img{width:100%;height:100%;max-height:360px;object-fit:contain;background:#fff}.recognition-cell-focus{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.recognition-cell-focus polygon{fill:#ffe35c52;stroke:#ffcf33;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(37,25,63,.8))}.recognition-result-preview .recognition-preview{min-height:220px;grid-template-columns:1fr;align-content:start}.recognition-compare-grid figcaption{color:var(--muted);font-size:13px;font-weight:800;text-align:center}.ocr-contribution-panel{gap:14px;border-color:color-mix(in srgb,var(--primary) 32%,var(--line));background:color-mix(in srgb,var(--primary-soft) 32%,white)}.ocr-contribution-heading,.ocr-contribution-state{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ocr-contribution-state>div{min-width:0;display:grid;gap:4px}.ocr-contribution-state span,.ocr-contribution-state small{color:var(--muted);font-size:12px;line-height:1.5}.ocr-contribution-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr) auto;align-items:end;gap:12px}.ocr-contribution-form>p{grid-column:1 / -1;max-width:820px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}.ocr-consent-check{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;color:var(--text);font-size:13px;line-height:1.55}.ocr-consent-check input{margin-top:3px}.ocr-contribution-note{display:grid;gap:6px}.ocr-contribution-note>span{color:var(--muted);font-size:12px;font-weight:700}.ocr-contribution-note input{width:100%}.ocr-contribution-unavailable{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.recognition-truth-notice{margin-top:12px;border:1px solid #e3c171;border-radius:8px;background:#fff8e8;color:#765013;padding:10px 12px;display:flex;align-items:flex-start;gap:9px}.recognition-truth-notice svg{flex:0 0 auto;margin-top:2px}.recognition-truth-notice p{margin:0;line-height:1.6}.recognition-confirm-check{margin-top:14px;border:1px solid var(--line);border-radius:8px;background:#faf8ff;padding:10px 12px;display:flex;align-items:flex-start;gap:9px;color:#4b5563;font-size:13px;line-height:1.5}.recognition-confirm-check input{margin-top:3px}.confidence-insight{margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;display:grid;gap:10px}.confidence-score{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.confidence-score span,.confidence-score small,.confidence-metrics span,.confidence-insight li{color:var(--muted);font-size:13px}.confidence-score strong{grid-row:span 2;min-width:54px;height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.confidence-score strong.ok{background:var(--primary)}.confidence-score strong.warn{background:#c76d16}.confidence-metrics{display:flex;flex-wrap:wrap;gap:8px}.confidence-metrics span{border:1px solid var(--line);border-radius:999px;background:#f8faf8;padding:5px 9px;font-weight:700;color:#334155}.confidence-insight ul{margin:0;padding-left:18px;display:grid;gap:4px}.grid-reviewer{overflow:hidden}.grid-review-heading{justify-content:space-between;align-items:flex-start}.grid-review-heading>div{display:flex;align-items:center;gap:8px}.grid-review-heading>span{color:var(--muted);font-size:13px;font-weight:700}.grid-review-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);border-top:1px solid var(--line)}.grid-cell-browser{min-width:0;padding:14px 16px 0 0}.grid-review-tabs{width:fit-content;display:inline-grid;grid-template-columns:repeat(2,minmax(132px,auto));border:1px solid var(--line);border-radius:8px;background:#f4f0ff;padding:3px}.grid-review-tabs button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0 12px;font-weight:800;cursor:pointer}.grid-review-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #2a1e4a1f}.grid-review-tabs button:disabled{opacity:.48;cursor:not-allowed}.grid-cell-list{max-height:430px;margin-top:12px;padding-right:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow-y:auto}.grid-cell-list>button{min-width:0;min-height:48px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 9px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:1px 8px;align-items:center;color:var(--ink);text-align:left;cursor:pointer}.grid-cell-list>button:hover,.grid-cell-list>button.selected{border-color:#9d83ea;background:#faf8ff}.grid-cell-list>button.uncertain{border-left:3px solid #d56b28}.grid-cell-list i,.grid-candidate-row i{width:20px;height:20px;border-radius:5px;box-shadow:inset 0 0 0 1px #131b2624}.grid-cell-list i{grid-row:1 / 3}.grid-cell-list span,.grid-cell-list small{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.grid-cell-list strong{grid-row:1 / 3;grid-column:3;font-size:14px}.grid-review-limit,.grid-review-empty{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.grid-cell-editor{min-width:0;border-left:1px solid var(--line);padding:16px 0 0 18px;display:grid;align-content:start;gap:14px}.grid-cell-position,.grid-candidate-row,.grid-color-select{display:grid;gap:5px}.grid-cell-position span,.grid-candidate-row>span,.grid-color-select>span{color:var(--muted);font-size:12px;font-weight:800}.grid-cell-position strong{font-size:20px}.grid-cell-position small,.grid-candidate-row small{color:var(--muted);font-size:12px}.grid-candidate-row strong{display:flex;align-items:center;gap:8px}.grid-color-select select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 10px}.report-grid div,.bean-list div,.deduction-row,.record-row{min-height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.report-grid span,.record-row small,.deduction-row small{color:var(--muted);font-size:13px}.bean-list,.record-list,.deduction-list{display:grid}.recognition-editor{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;display:grid;gap:10px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.recognition-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 36px;gap:8px;align-items:center}.recognition-editor-row input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;font-weight:700;color:var(--text);background:#fff}.transaction-group-list{display:grid;gap:10px}.transaction-group{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.transaction-summary{width:100%;min-height:64px;border:0;background:transparent;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);text-align:left}.transaction-summary div{min-width:0;display:grid;gap:4px}.transaction-summary strong,.transaction-summary small,.transaction-time span,.transaction-time small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-status{width:max-content;border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:800}.transaction-status.reversed{background:#f1eef7;color:#6b5a82}.transaction-status.undo{background:#e8f7f2;color:#16715d}.transaction-summary small,.transaction-time small{color:var(--muted);font-size:13px}.transaction-time{flex:0 0 auto;text-align:right}.transaction-time span{font-weight:800}.transaction-detail{border-top:1px solid var(--line);background:linear-gradient(180deg,#fffcff,#f3effc);padding:4px 12px 10px;display:grid}.transaction-detail p{margin:8px 0;color:var(--muted);font-size:13px;line-height:1.5}.transaction-detail-row{min-height:36px;border-top:1px solid var(--line);display:grid;grid-template-columns:64px 96px minmax(0,1fr);align-items:center;gap:8px}.transaction-detail-row:first-child{border-top:0}.transaction-detail-row span{font-weight:800}.transaction-detail-row small{color:var(--muted);font-size:13px;text-align:right}.transaction-undo-button{justify-self:end;margin-top:10px;color:#9a3412;border-color:#fed7aa}.shortage-list,.replacement-list{display:grid;gap:12px}.shortage-card,.replacement-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px;display:grid;gap:12px}.shortage-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.shortage-head div,.replacement-copy,.record-row div{min-width:0;display:grid;gap:4px}.shortage-head span,.replacement-copy span,.replacement-copy small{color:var(--muted);font-size:13px}.status-pill{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.status-pill.warn{color:#8c4c08;background:#fff2d6}.color-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.mini-color{min-height:58px;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 8px;padding:8px}.mini-color small{color:var(--muted);grid-column:2}.pair-arrow{color:var(--muted)}.deduction-row{display:grid;grid-template-columns:80px 90px minmax(0,1fr);justify-content:initial}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.color-grid>.empty-state{grid-column:1 / -1}.color-tile{min-height:214px;border:4px solid #2d3436;border-radius:0;background:#fff;display:grid;align-content:start;gap:12px;padding:22px;text-align:left;color:var(--text);box-shadow:0 1px #00000014;transition:transform .14s ease,box-shadow .14s ease}.color-tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1f2a3724}.large-swatch{width:100%;height:82px;border-radius:0;border:4px solid #2d3436;box-shadow:4px 4px #cfd4d6}.color-tile strong{margin-top:10px;font-size:24px;line-height:1}.color-tile span,.color-tile small,.color-tile em{color:#5d6c78;font-style:normal}.color-tile span,.color-tile small{font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.color-tile em{font-size:14px}.copy-hint{color:var(--green);font-weight:700;min-height:32px;display:inline-flex;align-items:center}.settings-stack{max-width:960px;display:grid;gap:16px}.settings-tabs{width:fit-content}.settings-form{display:grid;gap:12px}.profile-form{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;box-shadow:var(--shadow)}.profile-heading{display:flex;align-items:center;gap:12px}.profile-heading h3,.profile-heading p{margin:0}.profile-heading p{color:var(--muted);font-size:13px;font-weight:700}.avatar-preview{width:56px;height:56px;border-radius:8px;display:grid;place-items:center;overflow:hidden;background:var(--soft-mint);color:#176b58;font-weight:900}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-upload-block{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;display:grid;gap:8px}.avatar-upload-block>span{color:var(--muted);font-size:13px}.avatar-upload-block small{color:var(--muted);font-size:12px}.avatar-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-form .avatar-upload-label{width:fit-content;min-height:34px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(180deg,#fffcff,#f3effc);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text);font-size:13px;font-weight:800;cursor:pointer}.avatar-upload-label input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.settings-form label,.custom-form label,.modal-card label{border:1px solid var(--line);border-radius:8px;background:#fff;min-height:58px;padding:10px 12px;display:grid;gap:6px}.settings-form label span,.custom-form label span,.modal-card label span{color:var(--muted);font-size:13px}.settings-form input,.settings-form select,.settings-form textarea,.custom-form input,.modal-card input,.modal-card select{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--soft-lavender)}.settings-form input,.settings-form select,.custom-form input,.modal-card input,.modal-card select{height:36px;padding:0 10px}.settings-form textarea{min-height:92px;padding:10px;resize:vertical}.textarea-field{min-height:auto}.toggle-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.toggle-row input{width:22px}.feedback-panel,.admin-panel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;box-shadow:var(--shadow)}.feedback-history,.admin-list{display:grid;gap:10px}.feedback-history h4{margin:4px 0 0}.feedback-card,.admin-card{border:1px solid var(--line);border-radius:8px;background:#fbf9ff;padding:12px;display:grid;gap:10px}.feedback-card{grid-template-columns:minmax(0,1fr) auto}.feedback-card div,.admin-card-head div{min-width:0;display:grid;gap:3px}.feedback-card strong,.admin-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-card span,.admin-card span,.admin-card small,.feedback-card em,.admin-card em{color:var(--muted);font-size:13px;font-style:normal}.feedback-card p,.admin-card p{grid-column:1 / -1;margin:0;color:#334155;line-height:1.6;white-space:pre-wrap}.feedback-card em{grid-column:1 / -1}.admin-panel{display:grid;gap:14px}.admin-heading,.admin-card-head,.admin-user-title{display:flex;align-items:center;gap:12px}.admin-heading,.admin-card-head{justify-content:space-between}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-tabs{overflow-x:auto;flex-wrap:nowrap}.admin-tabs button{flex:0 0 auto}.admin-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:18px}.admin-overview-section{min-width:0;border-top:1px solid var(--line);padding-top:14px}.admin-overview-section .panel-heading h4{margin:0;font-size:15px}.activation-section{grid-column:1 / -1}.activation-hint{margin:0 0 12px;color:var(--muted);font-size:13px}.activation-funnel{display:grid;gap:9px}.activation-row{display:grid;grid-template-columns:120px minmax(120px,1fr) 44px 46px;align-items:center;gap:10px;font-size:13px}.activation-track{height:9px;overflow:hidden;border-radius:5px;background:var(--panel-subtle)}.activation-track span{display:block;height:100%;min-width:2px;border-radius:inherit;background:var(--primary)}.activation-row strong,.activation-row small{text-align:right}.activation-row small{color:var(--muted)}.admin-overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.admin-overview-metrics .metric{min-height:66px;padding:10px}.admin-overview-metrics .metric strong{font-size:20px}.admin-activity-table{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.admin-activity-row{min-width:560px;min-height:38px;display:grid;grid-template-columns:minmax(130px,1.3fr) repeat(4,minmax(78px,1fr));align-items:center;gap:8px;padding:7px 10px;border-top:1px solid var(--line);font-size:13px}.admin-activity-row:first-child{border-top:0}.admin-activity-row.head{min-height:34px;background:var(--panel-subtle);color:var(--muted);font-weight:700}.admin-activity-row span:not(:first-child){text-align:center}.admin-alert-list{display:grid;gap:8px}.admin-alert-list p,.admin-all-clear{min-height:42px;margin:0;border-left:3px solid var(--warning);background:var(--warning-soft);color:#60430c;padding:9px 10px;display:flex;align-items:flex-start;gap:8px;line-height:1.5;font-size:13px}.admin-all-clear{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.admin-audit-list{display:grid;gap:8px}.admin-audit-row{min-height:58px;border:1px solid var(--line);border-radius:8px;background:var(--panel-subtle);padding:9px 10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.admin-audit-icon{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.admin-audit-row>div:nth-child(2){min-width:0;display:grid;gap:3px}.admin-audit-row strong,.admin-audit-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-audit-row span,.admin-audit-row time{color:var(--muted);font-size:12px}.recognition-operations{display:grid;gap:18px}.recognition-operations>section{min-width:0;border-top:1px solid var(--line);padding-top:16px}.ocr-contribution-metrics{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ocr-contribution-metrics .metric{min-height:70px;padding:10px}.ocr-contribution-metrics .metric strong{font-size:20px}.ocr-contribution-review-list{margin-top:12px;display:grid;gap:8px}.ocr-contribution-review-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;grid-template-columns:132px minmax(150px,.7fr) minmax(360px,1.4fr) auto;align-items:center;gap:12px;background:#fff}.ocr-review-preview{width:132px;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;background:var(--panel-subtle)}.ocr-review-preview img{width:100%;height:100%;object-fit:contain}.ocr-review-preview small{padding:8px;color:var(--danger);font-size:11px;text-align:center}.ocr-review-copy{min-width:0;display:grid;gap:5px}.ocr-review-copy>div{display:grid;gap:2px}.ocr-review-copy span,.ocr-review-copy small,.ocr-review-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.ocr-review-fields{min-width:0;display:grid;grid-template-columns:minmax(100px,.45fr) minmax(150px,.8fr) minmax(180px,1fr);gap:8px}.ocr-review-fields label{min-width:0;display:grid;gap:5px}.ocr-review-fields label>span{color:var(--muted);font-size:11px;font-weight:700}.ocr-review-fields input,.ocr-review-fields select{width:100%;min-width:0;height:38px}.ocr-review-actions{display:grid;gap:6px}.ocr-annotation-review-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff}.ocr-annotation-summary{min-width:0;display:grid;gap:10px}.ocr-annotation-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ocr-annotation-status-row>div{min-width:0;display:grid;gap:2px}.ocr-annotation-status-row span:not(.status-pill),.ocr-annotation-reason,.ocr-annotation-review-card .ocr-review-actions small{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.ocr-annotation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ocr-annotation-stats>span{min-width:0;display:grid;gap:2px;border-left:2px solid var(--line);padding-left:8px}.ocr-annotation-stats small{color:var(--muted);font-size:11px}.ocr-annotation-stats strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.ocr-annotation-reason{border-left:2px solid var(--warning);padding-left:8px}.recognition-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.recognition-section-heading>div{min-width:0}.recognition-section-heading h4,.recognition-gates-section h4,.recognition-runs-section h4,.recognition-breakdown-section h4{margin:6px 0 0;font-size:15px}.recognition-section-heading p{max-width:760px;margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.recognition-rollout-form{margin-top:14px;display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1fr) minmax(250px,1.1fr) auto;align-items:end;gap:10px}.recognition-rollout-form>label,.recognition-rollout-form fieldset{min-width:0;margin:0;border:0;padding:0;display:grid;gap:6px}.recognition-rollout-form>label>span,.recognition-rollout-form legend{padding:0;color:var(--muted);font-size:12px;font-weight:700}.recognition-rollout-form select{width:100%;height:42px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;color:var(--text)}.rollout-percentage{width:100%;min-height:42px}.rollout-percentage button{min-width:54px;height:34px;padding:0 10px}.recognition-rollout-form .rollout-admin-toggle{min-height:42px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;grid-template-columns:minmax(0,1fr) auto;background:var(--panel-subtle)}.rollout-admin-toggle span{display:grid;gap:1px}.rollout-admin-toggle small{color:var(--muted);font-size:11px;font-weight:400}.recognition-health-metrics{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dataset-config-notice,.dataset-validation-error{min-height:40px;margin:12px 0 0;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--panel-subtle);color:var(--muted);font-size:13px;line-height:1.5}.dataset-config-notice code{color:var(--text);font-size:12px}.dataset-validation-error{display:flex;align-items:center;gap:7px;border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.dataset-intake-summary{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dataset-intake-summary .metric{min-height:70px;padding:10px}.dataset-intake-summary .metric strong{font-size:20px}.dataset-target-list{margin-top:10px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.dataset-target-row{min-height:42px;border-top:1px solid var(--line);padding:7px 10px;display:grid;grid-template-columns:24px minmax(110px,.65fr) minmax(140px,1.4fr) minmax(110px,auto);align-items:center;gap:9px;font-size:12px}.dataset-target-row:first-child{border-top:0}.dataset-target-row>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--warning-soft);color:#76500b}.dataset-target-row>span.passed{background:var(--success-soft);color:var(--success)}.dataset-progress-track{height:6px;overflow:hidden;border-radius:999px;background:var(--line)}.dataset-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.dataset-target-row small{color:var(--muted);text-align:right}.recognition-health-metrics .metric{min-height:70px;padding:10px}.recognition-health-metrics .metric strong{font-size:20px}.release-readiness{flex:0 0 auto;min-height:34px;border-radius:7px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.release-readiness.ready{background:var(--success-soft);color:var(--success)}.release-readiness.blocked{background:var(--warning-soft);color:#76500b}.recognition-gate-list{margin-top:10px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.recognition-gate-row{min-height:42px;border-top:1px solid var(--line);padding:7px 10px;display:grid;grid-template-columns:26px minmax(130px,1fr) minmax(120px,.8fr) minmax(120px,.8fr);align-items:center;gap:8px;font-size:13px}.recognition-gate-row:first-child{border-top:0}.recognition-gate-row>span:first-child{width:24px;height:24px;border-radius:50%;display:grid;place-items:center}.recognition-gate-row>span:first-child.passed{background:var(--success-soft);color:var(--success)}.recognition-gate-row>span:first-child.failed{background:var(--warning-soft);color:#8b5c06}.recognition-gate-row>span:not(:first-child),.recognition-gate-row small{color:var(--muted)}.recognition-breakdown-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.recognition-breakdown-section>div{min-width:0}.recognition-breakdown-section p{min-height:34px;margin:7px 0 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.recognition-breakdown-section p strong{color:var(--text)}.recognition-runs-table{margin-top:10px;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.recognition-run-row{min-width:720px;min-height:42px;border-top:1px solid var(--line);padding:7px 10px;display:grid;grid-template-columns:minmax(150px,1.3fr) 70px minmax(170px,1.2fr) minmax(150px,1fr) 90px;align-items:center;gap:8px;font-size:12px}.recognition-run-row:first-child{border-top:0}.recognition-run-row.head{min-height:34px;background:var(--panel-subtle);color:var(--muted);font-weight:700}.recognition-run-row time{color:var(--muted)}.recognition-run-row .run-success{color:var(--success)}.recognition-run-row .run-failed{color:var(--danger)}.admin-review-queue{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;display:grid;gap:8px}.admin-review-queue h4{margin:0;font-size:14px}.admin-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-review-list{display:grid;gap:8px}.admin-review-row{min-height:48px;border:1px solid var(--line);border-radius:8px;padding:8px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;background:#fbfdfc}.admin-review-row i{width:20px;height:20px;border-radius:5px;box-shadow:inset 0 0 0 1px #141e2829}.admin-review-row div{min-width:0;display:grid;gap:2px}.admin-review-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-review-actions{display:inline-flex;gap:6px}.admin-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-edit-grid label{border:1px solid var(--line);border-radius:8px;background:#fff;min-height:58px;padding:10px 12px;display:grid;gap:6px}.admin-edit-grid label span{color:var(--muted);font-size:13px}.admin-edit-grid input,.admin-edit-grid select,.admin-edit-grid textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fbf9ff}.admin-edit-grid input,.admin-edit-grid select{height:36px;padding:0 10px}.admin-edit-grid textarea{min-height:82px;padding:10px;resize:vertical}.admin-edit-grid .textarea-field{grid-column:1 / -1}.admin-user-stats{display:flex;flex-wrap:wrap;gap:8px}.admin-user-stats span{min-height:28px;border:1px solid var(--line);border-radius:999px;background:#fff;display:inline-flex;align-items:center;padding:0 10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#151d2652;display:grid;place-items:center;padding:18px}.modal-card{width:min(420px,100%);border-radius:8px;background:#fff;padding:18px;display:grid;gap:12px;box-shadow:0 18px 48px #0003}.batch-modal{width:min(760px,100%);max-height:min(86vh,760px);overflow:auto}.modal-card h3{margin:0}.onboarding-dialog{width:min(600px,100%)}.onboarding-eyebrow{margin-bottom:5px;color:var(--primary);display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800}.onboarding-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid}.onboarding-step{min-height:66px;display:grid;grid-template-columns:26px 28px minmax(0,1fr);align-items:center;gap:9px;border-top:1px solid var(--line);padding:9px 2px}.onboarding-step:first-child{border-top:0}.onboarding-step>span{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:900}.onboarding-step>svg{color:var(--success)}.onboarding-step>div{min-width:0;display:grid;gap:3px}.onboarding-step small{color:var(--muted);line-height:1.45}.onboarding-actions{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-heading>div{min-width:0}.confirm-dialog-copy{margin:0;color:var(--muted);line-height:1.65}.modal-help{margin:6px 0 0;color:var(--muted);font-size:13px}.batch-mode-tabs{width:fit-content}.batch-textarea{width:100%;min-height:150px;border:1px solid var(--line);border-radius:8px;resize:vertical;padding:12px;font:14px/1.45 Consolas,SFMono-Regular,monospace;color:var(--text);background:#fbf9ff}.package-import-panel{display:grid;gap:12px}.package-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.package-note{min-height:36px;border-radius:8px;display:flex;align-items:center;padding:0 12px;color:#176b58;background:var(--soft-mint);font-size:13px;font-weight:700}.batch-summary{display:flex;flex-wrap:wrap;gap:8px}.batch-summary span{min-height:30px;border-radius:999px;padding:6px 10px;color:#176b58;background:var(--soft-mint);font-size:13px;font-weight:700}.batch-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden}.batch-preview-head,.batch-preview-row{display:grid;grid-template-columns:80px 80px 80px 90px minmax(0,1fr);gap:8px;align-items:center;min-height:40px;padding:0 12px}.batch-preview-head{background:var(--soft-lavender);color:var(--muted);font-size:12px;font-weight:700}.batch-preview-row{border-top:1px solid var(--line);background:#fff;font-size:13px}.batch-preview-row.invalid{background:#fff0ef;color:var(--red)}.batch-preview-row small{color:var(--muted)}.batch-preview-row.invalid small{color:var(--red)}.batch-empty{min-height:72px;display:grid;place-items:center;color:var(--muted);font-size:13px}.modal-color-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.quick-row button{border:1px solid var(--line);background:#fff}.after-stock{min-height:36px;border-radius:8px;display:grid;place-items:center;background:var(--soft-mint);color:#176b58;font-weight:800}.after-stock.bad{background:#fff0ef;color:var(--red)}.modal-actions{justify-content:flex-end}.empty-state{min-height:164px;border:1px dashed #cbbbe9;border-radius:8px;display:grid;justify-items:center;align-content:center;gap:10px;padding:24px;color:var(--muted);background:#fffcffad;text-align:center}@media(max-width:540px){.notice{align-items:flex-start;flex-wrap:wrap}.notice>span{min-width:calc(100% - 32px)}.notice-actions{width:100%;justify-content:flex-end}.connection-banner{align-items:flex-start;flex-wrap:wrap}.connection-banner>div{min-width:calc(100% - 32px)}.connection-banner>button{margin-left:auto}}.empty-state-icon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;color:var(--green);background:var(--soft-lavender)}.empty-state-title{color:var(--text);font-size:15px}.empty-state-description{max-width:400px;margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.page-skeleton{display:grid;gap:12px;width:100%}.skeleton-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.skeleton-block{display:block;overflow:hidden;position:relative;border:1px solid #ebe4f5;border-radius:8px;background:#eee9f5}.skeleton-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-metric{min-height:82px}.skeleton-toolbar{width:min(720px,100%);min-height:42px}.skeleton-rows{display:grid;gap:10px}.skeleton-row{min-height:72px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.project-record-list{gap:8px}.project-record-button{width:100%;min-height:68px;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;color:var(--text);background:#fff;text-align:left;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.project-record-button:hover{border-color:#c7b5eb;background:#fbf9ff;transform:translateY(-1px)}.project-record-main{min-width:0;display:grid;gap:5px}.project-record-main strong,.project-record-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-record-main small{color:var(--muted);font-size:12px}.project-state{border-radius:999px;padding:5px 9px;color:#57429c;background:var(--soft-lavender);font-size:12px;font-weight:800;white-space:nowrap}.project-state.reversed{color:#8a5410;background:#fff2d6}.project-detail-backdrop{z-index:40}.project-detail-dialog{width:min(680px,100%);max-height:min(88vh,820px);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:0 24px 70px #2018443d}.project-detail-header{min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#fff}.project-detail-header h3,.project-meta-panel h4,.project-color-section h4{margin:0}.project-detail-header h3{margin-top:3px;font-size:20px}.project-detail-body{max-height:calc(min(88vh,820px) - 72px);overflow-y:auto;display:grid;gap:14px;padding:16px}.project-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.project-detail-summary span{min-height:68px;border:1px solid var(--line);border-radius:8px;display:grid;align-content:center;gap:3px;padding:10px;color:var(--muted);background:#fff;font-size:12px}.project-detail-summary strong{color:var(--text);font-size:17px}.project-name-editor{display:flex;gap:8px}.project-name-editor input{min-width:0;flex:1;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--text);background:#fff}.project-meta-panel,.project-color-section{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.project-meta-panel dl{margin:10px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.project-meta-panel dl div{min-width:0;display:grid;gap:3px}.project-meta-panel dt{color:var(--muted);font-size:12px}.project-meta-panel dd{margin:0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.project-warning{margin:10px 0 0;border-left:3px solid #e3b45d;padding-left:9px;color:#765013;font-size:12px;line-height:1.5}.project-color-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-color-row{min-height:42px;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px}.project-color-row i{width:18px;height:18px;border:1px solid rgba(23,32,51,.16);border-radius:5px}.project-color-row span{color:var(--muted);font-size:12px}.package-replacement-filter{min-height:76px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;background:var(--panel)}.package-replacement-filter label{min-width:210px;display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.package-replacement-filter select{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--text);background:#fff}.package-replacement-filter p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.bottom-nav{display:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.skeleton-block:after{animation:none}}@media(max-width:820px){.admin-overview{grid-template-columns:1fr}.recognition-rollout-form{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-health-metrics,.dataset-intake-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-shell{padding:14px}.pixel-hero{min-height:calc(100dvh - 28px);border-radius:20px}.landing-nav{width:calc(100% - 24px);height:auto;min-height:62px;margin-top:12px;padding:8px;border-radius:16px}.landing-brand{font-size:16px}.landing-brand-mark{width:34px;height:34px;border-radius:10px}.landing-nav-actions{gap:8px}.landing-nav-button{min-height:40px;padding:0 16px}.landing-content{width:calc(100% - 28px);padding:44px 0 72px;gap:18px}.landing-content h1{font-size:clamp(38px,11vw,54px)}.landing-subtitle{font-size:15px;line-height:1.65}.app-shell{display:block;padding-bottom:76px}.sidebar{display:none}.main-panel{padding:16px 12px 24px}.topbar h2{font-size:22px}.topbar-home-button{display:inline-flex}.topbar{flex-wrap:nowrap}.topbar>div:nth-child(2){min-width:0}.topbar-actions{flex:0 0 auto}.topbar-actions .account-chip>span,.topbar-actions .account-chip>small{display:none}.notification-center{position:fixed;top:72px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 156px)}.metrics-grid,.admin-metrics,.two-column{grid-template-columns:1fr 1fr}.warehouse-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.warehouse-metrics .metric{min-height:64px;padding:8px}.warehouse-metrics .metric span{font-size:11px}.warehouse-metrics .metric strong{overflow:hidden;font-size:18px;text-overflow:ellipsis}.recognition-preview,.recognition-compare-grid{grid-template-columns:1fr}.recognition-compare-grid figure{grid-template-rows:minmax(180px,auto) auto}.ocr-contribution-form,.ocr-contribution-review-card,.ocr-annotation-review-card{grid-template-columns:1fr}.ocr-contribution-form>p{grid-column:auto}.ocr-contribution-heading,.ocr-contribution-state{align-items:stretch;flex-direction:column}.ocr-contribution-metrics{grid-template-columns:1fr 1fr}.ocr-review-preview{width:100%;max-width:280px}.ocr-review-fields{grid-template-columns:1fr}.ocr-review-actions,.ocr-annotation-stats{grid-template-columns:1fr 1fr}.ocr-annotation-review-card .ocr-review-actions{grid-template-columns:1fr}.toolbar,.upload-panel{display:grid;grid-template-columns:1fr}.search-field,.file-picker{width:100%;min-width:0}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;height:68px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);background:#fffcfff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-item{justify-content:center;flex-direction:column;gap:3px;font-size:11px;min-width:0}.bottom-item.active{color:var(--green);font-weight:800}.inventory-card{grid-template-columns:minmax(0,1fr) 82px}.deduction-row{grid-template-columns:58px 72px minmax(0,1fr)}}@media(max-width:520px){.onboarding-actions{grid-template-columns:1fr}.admin-audit-row{grid-template-columns:34px minmax(0,1fr)}.admin-audit-row time{grid-column:2}.recognition-section-heading{align-items:stretch;flex-direction:column}.recognition-rollout-form,.recognition-health-metrics,.dataset-intake-summary,.recognition-breakdown-section{grid-template-columns:1fr}.dataset-target-row{grid-template-columns:24px minmax(0,1fr) auto}.dataset-progress-track{grid-column:2 / -1;grid-row:2}.recognition-gate-row{grid-template-columns:26px minmax(0,1fr) auto}.recognition-gate-row small{grid-column:2 / -1}.topbar-actions .account-chip{border:0;background:transparent;padding:0}.topbar-actions .account-chip .ghost-button,.topbar-actions .account-avatar{display:none}.activation-row{grid-template-columns:92px minmax(70px,1fr) 34px 38px;gap:7px;font-size:12px}.landing-nav{align-items:flex-start;flex-direction:column}.landing-nav-actions,.landing-actions{width:100%}.landing-nav-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.landing-nav-button.optional{display:none}.landing-nav-button,.landing-primary,.landing-secondary{flex:1;min-width:0}.metrics-grid,.admin-metrics,.admin-edit-grid,.two-column,.report-grid,.grid-review-layout{grid-template-columns:1fr}.grid-cell-browser{padding-right:0}.grid-cell-editor{border-top:1px solid var(--line);border-left:0;margin-top:14px;padding:14px 0 0}.grid-review-heading{gap:6px;flex-direction:column}.warehouse-metrics,.skeleton-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.color-tile{min-height:166px;gap:7px;border-width:3px;padding:10px}.large-swatch{height:58px;border-width:3px;box-shadow:3px 3px #cfd4d6}.color-tile strong{margin-top:5px;font-size:20px}.color-tile span,.color-tile small,.color-tile em{font-size:11px}.project-detail-backdrop{place-items:end stretch;padding:0}.project-detail-dialog{width:100%;max-height:92dvh;border-radius:8px 8px 0 0}.project-detail-body{max-height:calc(92dvh - 72px)}.project-detail-summary,.project-color-list,.project-meta-panel dl{grid-template-columns:1fr}.project-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail-summary span{min-height:60px;padding:8px}.project-detail-summary strong{font-size:14px}.package-replacement-filter{align-items:stretch;flex-direction:column;gap:8px}.package-replacement-filter label{min-width:0}.feedback-card{grid-template-columns:1fr}.admin-heading,.admin-card-head,.admin-review-head{align-items:flex-start;flex-direction:column}.inventory-card{min-height:84px}.inventory-topline,.inventory-subline{gap:8px}.color-pair{grid-template-columns:1fr}.pair-arrow{display:none}.shortage-head{align-items:flex-start;flex-direction:column}.batch-preview{overflow-x:auto}.batch-preview-head,.batch-preview-row{min-width:520px}.package-controls{grid-template-columns:1fr}}.app-shell{background:var(--bg)}.sidebar{background:#fbfaff;border-color:var(--line)}.main-panel{margin-inline:auto}.topbar{min-height:48px}.brand-mark,.landing-brand-mark{background:var(--accent-mint);color:#12323f}.account-chip,.metric,.inventory-card,.tool-panel,.shortage-card,.replacement-card,.feedback-card,.admin-card,.package-replacement-filter,.project-detail-dialog{border-color:var(--line);border-radius:var(--radius-panel);background:var(--panel)}.tool-panel,.feedback-panel,.admin-panel{box-shadow:none}.nav-item,.bottom-item,.icon-button,.primary-button,.secondary-button,.ghost-button,.danger-button,.segmented button,.series-strip button,.quick-row button,.project-record-button,.transaction-summary,.color-tile,.auth-text-button,.auth-back-button,.password-toggle{transition:color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.primary-button{background:var(--primary);color:#fff}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.primary-button:active:not(:disabled){background:var(--primary-active);transform:translateY(1px)}.secondary-button{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-line)}.secondary-button:hover:not(:disabled){color:var(--primary-active);background:#e7dfff;border-color:#b8a7ea}.ghost-button,.icon-button{color:#384152;background:var(--panel);border-color:var(--line)}.ghost-button:hover:not(:disabled),.icon-button:hover:not(:disabled){color:var(--primary);background:var(--primary-soft);border-color:var(--primary-line)}.danger-button{color:#fff;background:var(--danger)}.danger-button:hover:not(:disabled){background:var(--danger-hover)}.danger-button:active:not(:disabled),.secondary-button:active:not(:disabled),.ghost-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}.primary-button,.secondary-button,.ghost-button,.danger-button{border-radius:var(--radius-control)}.icon-button{width:40px;height:40px;border-radius:var(--radius-control)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.search-field:focus-within,.auth-field div:focus-within,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus,.custom-form input:focus,.modal-card input:focus,.modal-card select:focus,.batch-textarea:focus,.admin-edit-grid input:focus,.admin-edit-grid select:focus,.admin-edit-grid textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:0}.nav-item.active,.bottom-item.active{color:var(--primary);background:var(--primary-soft)}.segmented{border-color:var(--line);background:#ebe7f5}.segmented button.active,.series-strip button.active{color:var(--primary);background:var(--panel);box-shadow:inset 0 0 0 1px var(--primary-line)}.inventory-card.low{border-color:var(--warning-line);background:var(--warning-soft)}.metric.warn strong,.inventory-topline small{color:var(--warning)}.metric.ok strong,.copy-hint{color:var(--success)}.notice{color:var(--success);background:var(--success-soft);border-color:var(--success-line)}.notice.error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.connection-banner{color:var(--warning);background:var(--warning-soft);border-color:var(--warning-line)}.trust-callout,.package-note,.batch-summary span,.after-stock{color:var(--success);background:var(--success-soft);border-color:var(--success-line)}.trust-callout.warn,.recognition-truth-notice,.project-warning{color:var(--warning);background:var(--warning-soft);border-color:var(--warning-line)}.batch-preview-row.invalid,.after-stock.bad{color:var(--danger);background:var(--danger-soft)}.status-pill,.project-state,.transaction-status,.admin-user-stats span,.batch-summary span{border-radius:var(--radius-pill)}.status-pill:not(.warn),.project-state{color:var(--primary);background:var(--primary-soft)}.status-pill.warn,.project-state.reversed,.transaction-status.undo{color:var(--warning);background:var(--warning-soft)}.transaction-status.reversed{color:var(--success);background:var(--success-soft)}.file-picker{border-color:var(--primary-line);background:var(--panel-subtle)}.empty-state{min-height:156px;border-style:solid;border-color:var(--line);background:var(--panel-subtle)}.empty-state-icon{color:var(--primary);background:var(--primary-soft)}.skeleton-block{border-color:#e7e2ef;background:#efecf4}.color-grid{grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:10px}.color-tile{min-height:194px;border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px;gap:9px;box-shadow:none}.color-tile:hover{border-color:var(--primary-line);background:var(--panel-subtle);box-shadow:0 8px 22px #3f306917;transform:translateY(-1px)}.large-swatch{height:76px;border:1px solid rgba(23,32,51,.16);border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff57}.color-tile strong{margin-top:6px;font-size:21px}.modal-backdrop{background:#1e183175;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card,.project-detail-dialog{box-shadow:var(--shadow-modal)}.modal-card,.batch-textarea,.batch-preview,.project-record-button,.transaction-group,.project-color-row{border-radius:var(--radius-panel)}@media(max-width:820px){.icon-button{width:44px;height:44px;flex:0 0 44px}.inventory-card{grid-template-columns:minmax(0,1fr) 96px}.inventory-actions{width:96px}.bottom-nav{background:#fbfafff5;border-color:var(--line)}}.progressive-list-footer{min-height:36px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:13px}.progressive-list-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:progressive-list-pulse 1.1s ease-in-out infinite}.inventory-card,.color-tile,.replacement-card,.transaction-card{content-visibility:auto;contain-intrinsic-size:auto 88px}.color-tile{contain-intrinsic-size:auto 196px}@keyframes progressive-list-pulse{50%{opacity:.25;transform:scale(.72)}}@media(prefers-reduced-motion:reduce){.progressive-list-pulse{animation:none}}@media(max-width:520px){.color-grid{gap:8px}.color-tile{min-height:158px;border-width:1px;padding:10px}.large-swatch{height:56px;border-width:1px;box-shadow:inset 0 0 0 1px #ffffff57}}@media(prefers-reduced-motion:no-preference){.modal-backdrop{animation:overlay-in var(--motion-base) var(--ease-standard) both}.modal-card,.project-detail-dialog{animation:dialog-in var(--motion-base) var(--ease-standard) both}.notice,.connection-banner,.empty-state,.page-skeleton{animation:content-in var(--motion-base) var(--ease-standard) both}}@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.99)}}@keyframes content-in{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
