@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--enamel: #1f4d3a;--enamel-hover: #295c47;--enamel-active: #33694f;--enamel-line: #3d6e59;--on-enamel: #ffffff;--on-enamel-2: #d5e4dc;--on-enamel-3: #a9c4b7;--ground: #f4f3f0;--surface: #ffffff;--surface-2: #faf9f7;--line: #e3e1db;--line-strong: #cfccc3;--ink: #2b2b28;--ink-2: #5f5e58;--ink-3: #6c6a63;--brass: #b08d3c;--brass-ink: #7d6224;--brass-wash: #fbf8ef;--pursuing: #e4efe8;--pursuing-rim: #9fbfad;--pursuing-ink: #245c41;--reviewed: #e6ebf1;--reviewed-rim: #a9b8c9;--reviewed-ink: #3b5370;--archived: #eceae4;--archived-rim: #bdb9ad;--archived-ink: #5f5c52;--discarded: #f4e6e2;--discarded-rim: #cfa196;--discarded-ink: #8c3b2e;--score-strong: #17704b;--score-fair: #9a5800;--score-weak: #b02a1f;--meter-on: #5f5e58;--meter-off: #dcd9d1;--chart-series: #2a78d6;--chart-promo: #eda100;--chart-oos: #5f5e58;--danger: #a3352a;--danger-wash: #fbeeeb;--success: #3f8a63;--font: "Public Sans Variable", "Public Sans", system-ui, sans-serif;--text-sm: .75rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.375rem;--leading-sm: 1rem;--leading-md: 1.25rem;--leading-lg: 1.5rem;--leading-xl: 2rem;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--rail-width: 232px;--frame-width: 320px;--ease-out: cubic-bezier(.16, 1, .3, 1);--fast: .15s;--base: .22s;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--text-md);line-height:var(--leading-md);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-underline-offset:3px}::selection{background:color-mix(in srgb,var(--brass) 30%,#fff);color:var(--ink)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}input::placeholder,textarea::placeholder{color:var(--ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:inherit;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--fast) var(--ease-out),border-color var(--fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3)}.btn:active:not(:disabled){background:var(--ground)}.btn:disabled{color:var(--ink-3);cursor:not-allowed;opacity:.7}.btn svg{flex:none}.btn-primary{background:var(--enamel);border-color:var(--enamel);color:var(--on-enamel);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--enamel-hover);border-color:var(--enamel-hover)}.btn-primary:active:not(:disabled){background:var(--enamel-active)}.btn-quiet{border-color:transparent;background:transparent}.field{height:32px;padding:0 var(--s2);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);transition:border-color var(--fast) var(--ease-out)}.field:hover{border-color:var(--ink-3)}select.field{padding-right:var(--s6);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f5e58' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}kbd{display:inline-block;min-width:20px;padding:0 var(--s1);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:600 var(--text-sm) / var(--leading-sm) var(--font);text-align:center;color:var(--ink-2)}.skeleton{display:block;height:12px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--ground),var(--surface-2),var(--ground));background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.plate{min-width:0;--tint: var(--surface);--rim: var(--line);--plate-ink: var(--ink);display:flex;flex-direction:column;min-height:156px;padding:var(--s3);border:0;border-radius:var(--radius);background:var(--tint);color:var(--plate-ink);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px var(--rim);text-align:left;cursor:pointer;transition:box-shadow var(--fast) var(--ease-out)}.plate.is-pursuing{--tint: var(--pursuing);--rim: var(--pursuing-rim);--plate-ink: var(--pursuing-ink)}.plate.is-reviewed{--tint: var(--reviewed);--rim: var(--reviewed-rim);--plate-ink: var(--reviewed-ink)}.plate.is-archived{--tint: var(--archived);--rim: var(--archived-rim);--plate-ink: var(--archived-ink)}.plate.is-discarded{--tint: var(--discarded);--rim: var(--discarded-rim);--plate-ink: var(--discarded-ink)}.plate:hover,.plate[aria-pressed=true]{box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px var(--brass)}.bin-tag{--tint: var(--surface);--rim: var(--line);--plate-ink: var(--ink);display:inline-flex;align-items:center;gap:var(--s2);padding:3px var(--s1) 3px var(--s2);border-radius:var(--radius-sm);background:var(--tint);color:var(--plate-ink);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px var(--rim);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600}.bin-key{min-width:16px;border-radius:var(--radius-sm);background:#fff;color:var(--ink-2);text-align:center}.bin-tag.is-pursuing,.act.is-pursuing kbd{--tint: var(--pursuing);--rim: var(--pursuing-rim);--plate-ink: var(--pursuing-ink)}.bin-tag.is-reviewed,.act.is-reviewed kbd{--tint: var(--reviewed);--rim: var(--reviewed-rim);--plate-ink: var(--reviewed-ink)}.bin-tag.is-archived,.act.is-archived kbd{--tint: var(--archived);--rim: var(--archived-rim);--plate-ink: var(--archived-ink)}.bin-tag.is-discarded,.act.is-discarded kbd{--tint: var(--discarded);--rim: var(--discarded-rim);--plate-ink: var(--discarded-ink)}.act kbd{background:var(--tint);color:var(--plate-ink);box-shadow:inset 0 0 0 1px var(--rim)}.bin-tag.is-moving{--tint: var(--brass-wash);--rim: var(--brass);--plate-ink: var(--brass-ink);padding-right:var(--s2)}.level{display:inline-flex;align-items:center;gap:var(--s2)}.meter{display:inline-flex;gap:2px}.meter i{width:6px;height:12px;border-radius:0;background:var(--meter-off)}.meter i.is-on{background:var(--meter-on)}.score{font-weight:700}.score.is-strong{color:var(--score-strong)}.score.is-fair{color:var(--score-fair)}.score.is-weak{color:var(--score-weak)}@keyframes drop-rim{0%{box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px var(--brass)}to{box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px var(--rim)}}.bin-tag:not(:has(.bin-key)){padding-right:var(--s2)}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);min-height:72px;padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);background:var(--surface)}.page-head h1{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.page-head-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-left:auto}.page-back{display:inline-flex;align-items:center;gap:var(--s2);font-weight:500;text-decoration:none}.page-back:hover{text-decoration:underline}.page-body{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s4) var(--s5) var(--s6)}.page-note{color:var(--ink-2)}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.panel-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}.panel-head h2{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700}.panel-head .panel-meta{margin-left:auto;color:var(--ink-2);font-size:var(--text-sm)}.panel-body{padding:var(--s4)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:0 var(--s3);text-align:left;vertical-align:middle;white-space:nowrap}.data-table th:first-child,.data-table td:first-child{padding-left:var(--s4)}.data-table th:last-child,.data-table td:last-child{padding-right:var(--s4)}.data-table thead th{height:36px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600}.data-table tbody tr{height:52px;border-top:1px solid var(--line)}.data-table tbody tr:first-child{border-top:0}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .num{text-align:right}.data-table .wrap{min-width:220px;white-space:normal}.data-table .muted{color:var(--ink-2)}.data-table .sub{display:block;color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.cell-link{font-weight:600;text-decoration:none}.cell-link.clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cell-link:hover{text-decoration:underline}.table-empty{padding:var(--s6) var(--s4)!important;color:var(--ink-2);white-space:normal!important}.status-pill{display:inline-flex;align-items:center;gap:var(--s2);padding:2px var(--s3) 2px var(--s2);border-radius:999px;background:var(--ground);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500}.status-pill i{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}.status-pill.is-completed i{background:var(--success)}.status-pill.is-running i,.status-pill.is-pending i{background:var(--brass)}.status-pill.is-failed{background:var(--danger-wash);color:var(--danger)}.status-pill.is-failed i{background:var(--danger)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);color:var(--ink-2)}.pager span{margin-right:var(--s2)}.banner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s2) var(--s2) var(--s2) var(--s4);border-radius:var(--radius-lg)}.banner.is-error{background:var(--danger-wash);color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 30%,transparent)}.banner.is-success{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.banner-actions{display:flex;flex:none;gap:var(--s2)}.cost-box{padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--brass-wash);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass) 40%,transparent)}.cost-box b{color:var(--brass-ink);font-weight:600}.facts-row{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);margin:0}.facts-row dt{color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600}.facts-row dd{margin:0;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:600}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.filter-search{position:relative;display:flex;align-items:center}.filter-search svg{position:absolute;left:10px;color:var(--ink-3);pointer-events:none}.filter-search .field{width:260px;padding-left:var(--s6);padding-right:var(--s6)}.filter-search kbd{position:absolute;right:var(--s2);pointer-events:none}@media(max-width:720px){.page-head,.page-body{padding-left:var(--s4);padding-right:var(--s4)}.page-head-actions{width:100%;margin-left:0}.filter-search,.filter-search .field{width:100%}.filters label{flex:1 1 140px}.filters .filter-search{flex-basis:100%}.filters select.field{width:100%}}.shell{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:var(--s4) var(--s3);background:var(--enamel);color:var(--on-enamel-2)}.rail-brand{padding:var(--s1) var(--s3);color:var(--on-enamel);font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700;text-decoration:none}.rail-mock{align-self:flex-start;margin:var(--s1) var(--s3) 0;padding:0 var(--s2);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--on-enamel-3);color:var(--on-enamel);font-size:var(--text-sm);line-height:var(--leading-md);font-weight:600}.rail-nav{display:flex;flex-direction:column;gap:var(--s5);margin-top:var(--s6)}.rail-group{display:flex;flex-direction:column;gap:2px}.rail-group-label{padding:0 var(--s3) var(--s1);color:var(--on-enamel-3);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500}.rail-link{padding:var(--s2) var(--s3);border-radius:var(--radius);color:var(--on-enamel-2);text-decoration:none;transition:background var(--fast) var(--ease-out)}.rail-link:hover{background:var(--enamel-hover);color:var(--on-enamel)}.rail-link.is-active{background:var(--surface);color:var(--enamel);font-weight:600}.rail-link:focus-visible,.rail-brand:focus-visible,.rail-user-button:focus-visible{outline-color:color-mix(in srgb,var(--brass) 60%,#fff)}.rail-footer{display:flex;flex-direction:column;gap:var(--s2);margin-top:auto;padding:var(--s3) var(--s3) 0;border-top:1px solid var(--enamel-line)}.rail-settings{display:inline-flex;align-items:center;gap:var(--s2);margin:0 calc(-1 * var(--s3))}.rail-user{position:relative;min-width:0}.rail-user-button{display:flex;align-items:center;gap:var(--s2);width:calc(100% + 2 * var(--s3));margin:0 calc(-1 * var(--s3));padding:var(--s2) var(--s3);border:0;border-radius:var(--radius);background:none;color:var(--on-enamel-2);font-size:var(--text-sm);line-height:var(--leading-sm);text-align:left;cursor:pointer;transition:background var(--fast) var(--ease-out)}.rail-user-button>svg{flex:none}.rail-user-button:hover,.rail-user-button[aria-expanded=true]{background:var(--enamel-hover);color:var(--on-enamel)}.rail-user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-user-menu{position:absolute;bottom:calc(100% + var(--s1));left:calc(-1 * var(--s3));z-index:10;min-width:160px;padding:var(--s1);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 8px 24px #141e192e}.rail-user-item{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border:0;border-radius:var(--radius);background:none;color:var(--ink);text-align:left;cursor:pointer}.rail-user-item:hover{background:var(--ground)}.shell-main{min-width:0}@media(max-width:960px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.rail{position:static;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s2);height:auto;padding:var(--s2) var(--s4)}.rail-brand{padding-left:0}.rail-mock{margin:0}.rail-nav{flex-direction:row;gap:var(--s1);order:3;width:100%;margin:0;overflow-x:auto}.rail-group{flex-direction:row}.rail-group-label{display:none}.rail-link{white-space:nowrap}.rail-footer{flex-direction:row;align-items:center;margin:0 0 0 auto;padding:0;border:0}.rail-settings{margin:0}.rail-user-button{width:auto;margin:0}.rail-user-email{display:none}.rail-user-menu{top:calc(100% + var(--s1));right:0;bottom:auto;left:auto}}.login{display:grid;place-items:center;min-height:100vh;padding:var(--s4);background:var(--enamel)}.login-form{display:flex;flex-direction:column;gap:var(--s4);width:min(100%,360px);padding:var(--s6) var(--s5);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 12px 32px #0a1e1659}.login-brand{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700;color:var(--enamel)}.login-note{color:var(--ink-2)}.login-field{display:flex;flex-direction:column;gap:var(--s1);font-weight:500}.login-field .field{height:40px}.login-error{padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--danger-wash);color:var(--danger)}.login-submit{justify-content:center;height:40px}.login-hint{margin-top:calc(var(--s2) * -1);color:var(--ink-2);font-size:var(--text-sm)}.login-notice{padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--surface-2);color:var(--ink)}.login-link{align-self:center;padding:var(--s1) var(--s2);border:0;background:none;color:var(--ink-2);font:inherit;text-decoration:underline;cursor:pointer}.login-link:hover{color:var(--ink)}.not-found{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4);max-width:36rem;padding:var(--s6) var(--s5)}.not-found h1{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.not-found p{color:var(--ink-2)}.not-found .btn{text-decoration:none}.wf-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.wf-title{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.wf-id{color:var(--ink-3);font-size:var(--text-sm)}.wf-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s4);align-items:start}.funnel{display:flex;flex-direction:column;gap:var(--s2);margin:0;padding:0;list-style:none}.funnel li{display:grid;grid-template-columns:120px minmax(0,1fr) 48px 40px;align-items:center;gap:var(--s3)}.funnel-label{color:var(--ink-2);font-size:var(--text-sm)}.funnel-track{height:12px;border-radius:var(--radius-sm);background:var(--ground)}.funnel-track i{display:block;height:100%;border-radius:var(--radius-sm);background:var(--meter-on)}.funnel-track i.is-last{background:var(--ink)}.funnel-value{font-weight:700;text-align:right}.funnel-lost{color:var(--ink-3);font-size:var(--text-sm)}.wf-history{display:flex;flex-direction:column;gap:var(--s2);margin:var(--s4) 0 0;padding:var(--s4) 0 0;border-top:1px solid var(--line);list-style:none}.wf-history li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);color:var(--ink-2)}.wf-reason{flex-basis:100%;color:var(--danger)}.wf-products{display:flex;flex-direction:column;gap:var(--s3)}.wf-products-head{display:flex;align-items:center;gap:var(--s4)}.wf-products-head h2{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700}@media(max-width:1100px){.wf-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.funnel li{grid-template-columns:96px minmax(0,1fr) 40px 32px}}.rules-version{color:var(--ink-2);font-size:var(--text-sm)}.rules{overflow:hidden}.rules-tabs{display:flex;gap:var(--s1);padding:0 var(--s3);border-bottom:1px solid var(--line);background:var(--surface-2);overflow-x:auto}.rules-tab{display:inline-flex;align-items:center;gap:var(--s2);height:44px;padding:0 var(--s3);border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-2);font-weight:500;cursor:pointer}.rules-tab:hover{color:var(--ink)}.rules-tab[aria-selected=true]{border-bottom-color:var(--brass);color:var(--ink);font-weight:600}.rules-dot{width:6px;height:6px;border-radius:50%;background:var(--brass)}.rules-body{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4)}.rules-help{color:var(--ink-2)}.rules-text{width:100%;min-height:320px;height:auto;padding:var(--s3);font-size:var(--text-lg);line-height:var(--leading-lg);resize:vertical}.rules-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s3)}.rules-unsaved{color:var(--brass-ink);font-weight:600}.rules-saved{color:var(--ink-2)}.rules-error{color:var(--danger)}.graphs{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:var(--s4)}.graph-body{padding:var(--s4)}.graph-body img{display:block;width:100%;height:auto}.graph-skeleton{height:200px}.graph-error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);min-height:200px;color:var(--danger)}@media(max-width:720px){.graphs{grid-template-columns:minmax(0,1fr)}}.settings-tabs{display:flex;gap:var(--s4);padding:0 var(--s5);border-bottom:1px solid var(--line);background:var(--surface);overflow-x:auto}.settings-tabs a{padding:var(--s3) 0 calc(var(--s3) - 2px);border-bottom:2px solid transparent;color:var(--ink-2);font-weight:500;text-decoration:none;white-space:nowrap}.settings-tabs a:hover{color:var(--ink)}.settings-tabs a.is-active{border-bottom-color:var(--enamel);color:var(--ink)}@media(max-width:720px){.settings-tabs{padding:0 var(--s4)}}.users-table .user-actions{display:flex;justify-content:flex-end;gap:var(--s1)}.user-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s3) var(--s4);align-items:end}.user-form label{display:flex;flex-direction:column;gap:var(--s1);font-weight:500}.user-form-actions{display:flex;gap:var(--s2)}.user-form-error{grid-column:1 / -1;color:var(--danger)}.np-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);min-height:72px;padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);background:var(--surface)}.np-head h1{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.np-head-actions{display:flex;gap:var(--s2);margin-left:auto}.btn-cost{padding-left:var(--s2);border-left:1px solid var(--enamel-line);color:var(--on-enamel-2);font-size:var(--text-sm);font-weight:500}.btn-square{justify-content:center;width:32px;padding:0}.btn:not(.btn-primary) .btn-cost{border-left-color:var(--line);color:var(--ink-2)}.seg{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--ground)}.seg button{height:28px;padding:0 var(--s3);border:0;border-radius:var(--radius);background:none;color:var(--ink-2);cursor:pointer}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface);box-shadow:0 0 0 1px var(--line),0 1px 2px #2b2b2814;color:var(--ink);font-weight:600}.run-chip{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);border-radius:999px;background:var(--ground);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}a.run-chip{text-decoration:none}a.run-chip:hover{text-decoration:underline}.run-chip i{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}.run-chip.is-completed i{background:var(--success)}.run-chip.is-running i,.run-chip.is-pending i{background:var(--brass);animation:pulse 1.6s var(--ease-out) infinite}.run-chip.is-failed{background:var(--danger-wash);color:var(--danger)}.run-chip.is-failed i{background:var(--danger)}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.run-chip i{animation:none!important}}.np-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);padding:var(--s4) var(--s5) var(--s6)}.np-body.has-frame{grid-template-columns:minmax(0,1fr) var(--frame-width);align-items:start}.np-summary{display:flex;flex-wrap:wrap;gap:var(--s2);min-height:var(--leading-lg);font-size:var(--text-lg);line-height:var(--leading-lg)}.np-summary b{font-weight:600}.np-summary span{color:var(--ink-2)}.np-queue .filters{margin:var(--s3) 0}.np-queue .banner{margin-bottom:var(--s3)}.queue{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.queue-table{width:100%;border-collapse:collapse;table-layout:fixed}.queue-table th,.queue-table td{padding:0 var(--s2);text-align:left;vertical-align:middle}.queue-table th:first-child,.queue-table td:first-child{padding-left:var(--s4)}.queue-table th:last-child,.queue-table td:last-child{padding-right:var(--s4)}.queue-table .num{text-align:right}.c-thumb{width:56px}.c-score{width:64px}.c-opportunity{width:140px}.c-competition{width:108px}.c-price{width:80px}.c-searches{width:104px}.c-bin{width:112px}.queue-table thead th{height:36px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600;white-space:nowrap}.th-product{display:inline-flex;align-items:center;gap:var(--s3)}.th-sort{display:inline-flex;align-items:center;gap:2px;margin:0 calc(-1 * var(--s1));padding:var(--s1);border:0;border-radius:var(--radius-sm);background:none;color:inherit;font-weight:inherit;cursor:pointer}.th-sort:hover{background:var(--ground);color:var(--ink)}.th-sort{text-decoration:underline dotted var(--ink-3);text-underline-offset:3px}.th-sort.is-active{color:var(--ink);text-decoration-color:var(--ink)}.th-product .th-sort{font-weight:500}.row{height:56px;border-top:1px solid var(--line);cursor:default;transition:background var(--fast) var(--ease-out)}tbody .row:first-child{border-top:0}.row:hover{background:var(--surface-2)}.row.is-selected,.row.is-selected:hover{background:var(--brass-wash)}.row.is-selected td{box-shadow:inset 0 1px 0 var(--brass)}.row.is-selected .thumb{box-shadow:inset 0 0 0 1px var(--brass)}.thumb{display:block;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--ground);object-fit:contain;box-shadow:inset 0 0 0 1px var(--line)}.cell-product{overflow:hidden}.product-name{display:inline-block;max-width:100%;overflow:hidden;vertical-align:top;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.product-name:hover{text-decoration:underline}.product-meta{display:block;overflow:hidden;margin-top:2px;color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);text-overflow:ellipsis;white-space:nowrap}.cell-score{font-size:var(--text-lg);font-weight:700}.row.is-decided{color:var(--ink-2)}.row.is-decided .product-name{color:var(--ink-2);font-weight:500}.row.is-decided .score{font-weight:500}.row.is-decided .score.is-strong{color:color-mix(in srgb,var(--score-strong) 50%,var(--ink-2))}.row.is-decided .score.is-fair{color:color-mix(in srgb,var(--score-fair) 50%,var(--ink-2))}.row.is-decided .score.is-weak{color:color-mix(in srgb,var(--score-weak) 50%,var(--ink-2))}.row.is-decided .meter i.is-on{background:var(--ink-3)}.row.is-decided .thumb{opacity:.55}.bin-unsorted{color:var(--ink-3);font-size:var(--text-sm)}.row-actions td{padding-top:0;padding-bottom:var(--s3);background:var(--brass-wash)}.row-actions td{box-shadow:inset 0 -1px 0 var(--brass)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.actions-label{color:var(--ink-2);font-size:var(--text-sm)}.act{display:inline-flex;align-items:center;gap:var(--s2);height:28px;padding:0 var(--s3) 0 var(--s1);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:border-color var(--fast) var(--ease-out),background var(--fast) var(--ease-out)}.act kbd{border:0}.actions-move{margin-left:var(--s2);color:var(--ink-2);font-size:var(--text-sm);white-space:nowrap}.act:hover:not(:disabled){border-color:var(--ink-3)}.act.is-discarded{color:var(--discarded-ink)}.act:disabled{color:var(--ink-3);cursor:not-allowed;opacity:.6}.actions-reason{flex:1 1 240px;min-width:0;margin-left:var(--s3);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.queue-empty{padding:var(--s6) var(--s4)!important}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);color:var(--ink-2)}.empty b{color:var(--ink);font-weight:600}.row.is-skeleton:hover{background:none}.np-queue .pager{margin-top:var(--s3)}.frame{position:sticky;top:var(--s4);display:flex;flex-direction:column;gap:0;margin-top:calc(var(--leading-lg) + var(--s3) + 32px + var(--s3))}.frame-unsorted{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s1) var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);text-align:left;cursor:pointer;transition:background var(--fast) var(--ease-out)}.frame-unsorted:hover{background:var(--surface-2)}.frame-unsorted[aria-pressed=true]{background:var(--brass-wash);box-shadow:inset 0 0 0 2px var(--brass)}.frame-unsorted-label{color:var(--ink-2);font-size:var(--text-sm)}.frame-unsorted-count{grid-row:2;color:var(--brass-ink);font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.frame-unsorted-count span{color:var(--ink-2);font-size:var(--text-md);font-weight:400}.frame-ticks{grid-row:2;display:flex;gap:2px;width:132px;height:8px}.frame-ticks i{flex:1;border-radius:0;background:var(--line);transition:background var(--base) var(--ease-out)}.frame-ticks i.is-done{background:var(--brass)}.frame-hint{grid-column:2;grid-row:1;justify-self:end;color:var(--ink-2);font-size:var(--text-sm)}.frame-bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);padding:var(--s2);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--enamel)}.plate:focus-visible{outline-color:color-mix(in srgb,var(--brass) 60%,#fff)}.plate.is-dropped{animation:drop-rim .7s var(--ease-out)}.plate.is-dropped .plate-count{animation:count-tick var(--base) var(--ease-out)}@keyframes count-tick{0%{transform:translateY(-6px);opacity:.4}}.frame-unsorted.is-done .frame-unsorted-count{color:var(--enamel)}.plate-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700}.plate-head kbd{border:0}.plate-count{margin-top:var(--s1);color:var(--brass-ink);font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.plate-last{display:flex;flex-direction:column;margin-top:auto;color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.plate-last b{overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.plate-filter{margin-top:var(--s2);color:var(--brass-ink);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600;opacity:0;transition:opacity var(--fast) var(--ease-out)}.plate:hover .plate-filter,.plate:focus-visible .plate-filter,.plate[aria-pressed=true] .plate-filter{opacity:1}.frame-keys{display:flex;flex-direction:column;gap:var(--s2);margin:var(--s4) 0 0;font-size:var(--text-sm);line-height:var(--leading-sm)}.frame-keys div{display:grid;grid-template-columns:112px 1fr;align-items:center}.frame-keys dd{margin:0;color:var(--ink-2)}.frame-note{margin-top:var(--s3);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.dialog{width:min(520px,calc(100vw - 2 * var(--s4)));padding:0;border:0;border-radius:var(--radius-lg);color:var(--ink);box-shadow:0 16px 48px #141e1947}.dialog::backdrop{background:#14261e73}.dialog-body{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s5)}.dialog-body h2{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.dialog-text,.dialog-help{color:var(--ink-2)}.dialog-help{font-size:var(--text-sm);line-height:var(--leading-sm)}.dialog-field{display:flex;flex-direction:column;gap:var(--s1);font-weight:500}.dialog-field textarea{height:auto;padding:var(--s2);font-weight:400;text-transform:uppercase;resize:vertical}.dialog-cost{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--brass-wash);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass) 40%,transparent)}.dialog-cost b{color:var(--brass-ink);font-weight:600}.dialog-error{color:var(--danger)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--s2)}@media(max-width:1679px){.np-body.has-frame{grid-template-columns:minmax(0,1fr)}.frame{position:static;order:-1;display:grid;grid-template-columns:200px minmax(0,1fr);margin-top:0}.frame-unsorted{grid-template-columns:1fr;border-bottom:1px solid var(--line);border-right:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.frame-hint{grid-column:1;grid-row:4;justify-self:start}.frame-ticks{grid-row:3;width:100%}.frame-bins{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:0 var(--radius-lg) var(--radius-lg) 0}.plate{min-height:112px}.frame-keys,.frame-note{display:none}}@media(max-width:1100px){.c-opportunity{display:none}}@media(max-width:720px){.np-head,.np-body{padding-left:var(--s4);padding-right:var(--s4)}.np-head-actions{flex-wrap:wrap;width:100%;margin-left:0}.np-head-actions .btn-primary{flex:1 1 100%;justify-content:center}.c-price,.c-searches,.c-competition{display:none}.c-thumb{width:48px}.th-product .th-sort{display:none}.c-score{width:48px}.c-bin{width:104px}.bin-unsorted,.bin-key{display:none}.product-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.row{height:auto}.row td{padding-top:var(--s2);padding-bottom:var(--s2)}.actions-move{display:none}.frame{grid-template-columns:1fr}.frame-unsorted{border-right:1px solid var(--line);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.frame-bins{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:0 0 var(--radius-lg) var(--radius-lg)}.plate{min-height:96px}.plate-last{display:none}.actions-reason{flex-basis:100%;margin-left:0}}.pd{min-height:100vh}.pd-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--s2);height:56px;padding:0 var(--s5);border-bottom:1px solid var(--line);background:var(--surface)}.pd-back{display:inline-flex;align-items:center;gap:var(--s2);font-weight:500;text-decoration:none}.pd-back:hover{text-decoration:underline}.pd-nav{display:flex;align-items:center;gap:var(--s2);margin-left:auto}.pd-pos{padding:0 var(--s2);color:var(--ink-2)}.pd-pos b{color:var(--brass-ink);font-weight:600}.pd-moved{display:inline-flex;align-items:center;gap:var(--s2);min-width:0;margin-left:var(--s4);padding:var(--s1) var(--s1) var(--s1) var(--s3);border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--text-sm);line-height:var(--leading-sm)}.pd-moved>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-moved a{font-weight:600}.pd-cols{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:start;min-height:calc(100vh - 56px);background:var(--surface)}.pd-side{position:sticky;top:56px;max-height:calc(100vh - 56px);overflow-y:auto;padding:var(--s5);background:var(--surface)}.pd-image{display:block;width:160px;height:160px;border-radius:var(--radius-sm);background:var(--ground);object-fit:contain;box-shadow:inset 0 0 0 1px var(--line)}.pd-name{margin-top:var(--s3);font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700;text-wrap:balance}.pd-meta{margin-top:var(--s1);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.pd-price{margin-top:var(--s1);font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:600}.pd-links{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500}.pd-links a{display:inline-flex;align-items:center;gap:var(--s1);text-decoration-color:var(--line-strong)}.pd-links a:hover{text-decoration-color:currentColor}.pd-facts{margin:var(--s4) 0 0;border-top:1px solid var(--line)}.pd-facts div{display:flex;align-items:center;justify-content:space-between;min-height:32px;border-bottom:1px solid var(--line)}.pd-facts dt{color:var(--ink-2);font-size:var(--text-sm)}.pd-facts dd{margin:0;font-weight:600}.pd-status{margin-top:var(--s4);padding:var(--s2) var(--s3);border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--leading-sm)}.pd-status.is-discarded{background:var(--danger-wash);color:var(--danger)}.pd-label{margin:var(--s4) 0 var(--s2);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600}.pd-label b{color:var(--ink)}.pd-bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}.pd-plate.plate{flex-direction:row;align-items:center;justify-content:space-between;min-height:56px;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700}.pd-plate kbd{border:0;background:var(--surface);color:var(--plate-ink);box-shadow:inset 0 0 0 1px var(--rim)}.pd-plate.is-dropped{animation:drop-rim .7s var(--ease-out)}.pd-plate[aria-pressed=true]{box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px var(--brass)}.pd-plate:disabled{cursor:progress}.pd-reason textarea{display:block;width:100%;height:auto;margin-top:var(--s2);padding:var(--s2);resize:vertical}.pd-error{margin-top:var(--s2);color:var(--danger);font-size:var(--text-sm);line-height:var(--leading-sm)}.pd-note{margin-top:var(--s2);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.rerun{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.rerun-start{margin-left:calc(-1 * var(--s3))}.rerun-start span{color:var(--ink-2);font-size:var(--text-sm);font-weight:400}.rerun-note{color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}.rerun-cost{padding:var(--s3);border-radius:var(--radius);background:var(--brass-wash);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass) 40%,transparent);font-size:var(--text-sm);line-height:var(--leading-sm)}.rerun-cost b{color:var(--brass-ink);font-weight:600}.rerun-actions{display:flex;gap:var(--s2);margin-top:var(--s2)}.rerun-error{margin-top:var(--s2);color:var(--danger);font-size:var(--text-sm);line-height:var(--leading-sm)}.evidence{align-self:stretch;min-width:0;min-height:calc(100vh - 56px);border-left:1px solid var(--line);background:var(--surface)}.stage{padding:var(--s5) var(--s6);border-bottom:1px solid var(--line)}.stage-head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}.stage-head h2{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700}.stage-result{display:inline-flex;align-items:center;gap:var(--s1);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600}.stage-result.is-passed{color:var(--ink-2)}.stage-result.is-failed{color:var(--danger)}.stage-result.is-missing{color:var(--ink-3);font-weight:500}.stage-model{margin-left:auto;color:var(--ink-3);font-size:var(--text-sm);line-height:var(--leading-sm)}.stage-reason{margin-bottom:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--danger-wash);color:var(--danger)}.stage-empty{color:var(--ink-2)}.stats{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);margin:0 0 var(--s3)}.stats dt{color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:600}.stats dd{margin:0;font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.stats dd.stat-text{font-size:var(--text-lg);font-weight:600}.reasoning{max-width:70ch;font-size:var(--text-lg);line-height:var(--leading-lg)}.facts{max-width:560px;margin:0;border-top:1px solid var(--line)}.facts div{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:32px;border-bottom:1px solid var(--line)}.facts dt{color:var(--ink-2);font-size:var(--text-sm)}.facts dd{margin:0;font-weight:600;text-align:right}.facts dd.is-warning{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--s1)}.capitalize{text-transform:capitalize}.flags{max-width:560px;margin:var(--s3) 0 0;padding:0;list-style:none}.flags li{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.flags svg,.facts dd.is-warning svg{flex:none;color:var(--ink-2)}.flags li+li{margin-top:var(--s1)}.keywords{width:100%;max-width:560px;border-collapse:collapse;table-layout:fixed}.keywords th,.keywords td{height:36px;padding:0 var(--s3);border-bottom:1px solid var(--line);text-align:left}.keywords th{height:32px;background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:600}.keywords .num{width:160px;text-align:right}.keywords tfoot td{border-bottom:0;font-weight:600}.pd-message{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);max-width:36rem;padding:var(--s6) var(--s5)}.pd-message h1{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700}.pd-message p{color:var(--ink-2)}@media(max-width:960px){.pd-top{position:static}.pd-cols{grid-template-columns:minmax(0,1fr);background:var(--surface)}.pd-side{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:720px){.pd-top{flex-wrap:wrap;height:auto;padding:var(--s2) var(--s4)}.pd-nav{width:100%;margin-left:0}.pd-nav .pd-pos{margin-right:auto;padding-left:0}.pd-nav kbd{display:none}.pd-side,.stage{padding:var(--s4)}.pd-image{width:96px;height:96px}}
