:root{--bg: #f4f5f8;--bg-glow: radial-gradient(1200px 520px at 12% -10%, rgba(99, 91, 255, .09), transparent 60%), radial-gradient(900px 480px at 100% 0%, rgba(56, 189, 248, .07), transparent 55%);--card: #ffffff;--ink: #0d0f17;--ink-2: #353a4a;--muted: #6a7084;--faint: #9aa0b2;--line: rgba(15, 20, 40, .08);--line-strong: rgba(15, 20, 40, .15);--subtle: #f8f9fb;--accent: #5b4ff0;--accent-hover: #4a3fd8;--accent-soft: #f0eeff;--accent-line: #d5d0fd;--accent-grad: linear-gradient(135deg, #6d5dfc 0%, #4f46e5 55%, #3b82f6 100%);--ok: #0a7a55;--ok-soft: #e6f6ee;--ok-line: #b8e5cf;--warn: #b25b05;--warn-soft: #fef4e4;--warn-line: #f6d8a8;--bad: #cc2b36;--bad-soft: #fdeeee;--bad-line: #f5c4c7;--radius: 16px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(13, 15, 23, .04), 0 1px 1px rgba(13, 15, 23, .02);--shadow: 0 1px 2px rgba(13, 15, 23, .04), 0 6px 20px -4px rgba(13, 15, 23, .08);--shadow-lg: 0 2px 6px rgba(13, 15, 23, .05), 0 24px 48px -12px rgba(13, 15, 23, .18);--ring: 0 0 0 3px rgba(91, 79, 240, .2);--mono: "Geist Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;font-family:Geist,DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg-glow),var(--bg);background-attachment:fixed;color:var(--ink);font-size:14px;line-height:1.55}::selection{background:#5b4ff02e}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{max-width:1240px;margin:0 auto;padding:0 28px 80px}@media(max-width:640px){.app{padding:0 16px 56px}}.app>header{position:sticky;top:12px;z-index:20;display:flex;align-items:center;gap:20px;padding:10px 12px 10px 14px;margin:12px 0 32px;flex-wrap:wrap;background:#ffffffc7;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--accent-grad);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 12px -2px #5b4ff073,inset 0 1px #ffffff40}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text b{font-size:14px;font-weight:650;letter-spacing:-.01em}.brand-text span{font-size:11.5px;color:var(--muted)}.app>header nav{display:flex;gap:2px;flex:1;flex-wrap:wrap;justify-content:center}.who{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#eef0ff,#e0e7ff);color:var(--accent);font-size:12px;font-weight:650;border:1px solid var(--accent-line)}.who-text{display:flex;flex-direction:column;line-height:1.15}.who-text b{font-weight:600;font-size:13px}.who-text span{font-size:11.5px;color:var(--muted);text-transform:capitalize}@media(max-width:900px){.who-text{display:none}.app>header nav{justify-content:flex-start;order:3;flex-basis:100%}}.icon{flex-shrink:0}button{font:inherit;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);padding:7px 14px;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .08s}button:hover:not(:disabled){border-color:#0f142838;background:var(--subtle)}button:active:not(:disabled){transform:translateY(.5px)}button:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg,#6a5ff5,var(--accent));color:#fff;border-color:var(--accent-hover);box-shadow:0 1px 2px #4a3fd84d,0 4px 12px -4px #5b4ff080,inset 0 1px #ffffff2e}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#5f54ee,var(--accent-hover));border-color:var(--accent-hover)}button.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-2)}button.ghost:hover:not(:disabled){background:#0f14280d;border-color:transparent}button.block{width:100%}button.lg{padding:11px 18px;font-size:14.5px;border-radius:12px}button.sm{padding:4px 10px;font-size:12.5px}button.icon-btn{padding:0;width:32px;height:32px;border-color:transparent;background:transparent;box-shadow:none;color:var(--muted);border-radius:9px}button.icon-btn:hover:not(:disabled){background:#0f14280f;color:var(--ink);border-color:transparent}button.nav,button.tab{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted);padding:7px 13px;border-radius:10px}button.nav:hover:not(:disabled),button.tab:hover:not(:disabled){background:#0f14280d;color:var(--ink);border-color:transparent}button.nav.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 2px 6px -1px #0d0f174d}button.tab.active{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}button.link{display:inline;border:none;background:none;box-shadow:none;color:var(--accent);padding:0 4px;font-weight:500}button.link:hover:not(:disabled){background:none;text-decoration:underline}.decide{display:flex;gap:8px}.decide button{min-width:100px;text-align:center}button.approve{background:var(--ok);border-color:var(--ok);color:#fff}button.approve:hover:not(:disabled){background:#065f46;border-color:#065f46}button.reject{background:#fff;border-color:var(--bad-line);color:var(--bad)}button.reject:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow-sm)}@media(max-width:640px){.card{padding:18px}}.stack{display:flex;flex-direction:column;gap:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:860px){.grid-2{grid-template-columns:1fr}}h1,h2{margin:0 0 6px;font-size:18px;font-weight:650;letter-spacing:-.02em}h3{margin:24px 0 8px;font-size:14px;font-weight:600;letter-spacing:-.005em}h4{margin:16px 0 6px;font-size:13px;font-weight:600}p{margin:6px 0}code{font-family:var(--mono);font-size:12px;background:#f1f3f7;padding:1px 6px;border-radius:5px}.muted{color:var(--muted)}.small{font-size:12.5px}.ok{color:var(--ok)}.warn{color:var(--warn)}.error{color:var(--bad)}p.warn,p.error{padding:10px 14px;border-radius:var(--radius-sm)}p.warn{background:var(--warn-soft)}p.error{background:var(--bad-soft)}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.tabs{display:inline-flex;gap:2px;margin:16px 0 4px;padding:3px;background:#eff1f6;border-radius:11px;flex-wrap:wrap}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:var(--muted);font-size:12px;background:var(--subtle)}th:first-child{border-top-left-radius:var(--radius-sm)}th:last-child{border-top-right-radius:var(--radius-sm)}tbody tr{transition:background .1s}tbody tr:hover{background:#fafbfd}tbody tr.selected{background:var(--accent-soft)}tbody tr.clickable{cursor:pointer}.expander{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:15px;line-height:1;color:var(--muted);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.expander:hover{background:var(--accent-soft);color:var(--accent)}tr.selected .expander{color:var(--accent)}tbody tr.detail-row:hover{background:transparent}tbody tr.detail-row>td{background:var(--subtle);padding:6px 16px 16px 34px}.detail ul.issues li:last-child{border-bottom:none}.detail details summary{margin-top:8px;font-size:12px}.detail .issue-code+.issue-code{margin-left:6px}.name-edit{border-color:transparent;background:transparent;padding:4px 6px;width:150px;box-shadow:none}.name-edit:hover{border-color:var(--line);background:#fff}.name-edit:focus{border-color:var(--accent);background:#fff}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}label small{font-weight:400}label.check{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--ink);margin-top:12px}td label.check{margin-top:0}input,select,textarea{font:inherit;font-weight:400;color:var(--ink);padding:8px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;min-width:0;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#a3a9b6}input:hover,select:hover,textarea:hover{border-color:#c3c8d2}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input:disabled{background:var(--subtle)}input[type=checkbox]{width:16px;height:16px;padding:0;accent-color:var(--accent);box-shadow:none}.form-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin:14px 0}.form-row label{min-width:220px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:12px;align-items:start}.form-grid .wide{grid-column:1 / -1}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.stat{background:var(--subtle);border:1px solid var(--line);border-radius:var(--radius);padding:14px 20px;min-width:120px}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat-label{color:var(--muted);font-size:12px}.stat-ok .stat-value{color:var(--ok)}.stat-warn .stat-value{color:var(--warn)}.stat-bad .stat-value{color:var(--bad)}.verdict{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.verdict-pass{background:var(--ok-soft);color:var(--ok)}.verdict-needs_review{background:var(--warn-soft);color:var(--warn)}.verdict-fail{background:var(--bad-soft);color:var(--bad)}.sev{display:inline-block;min-width:82px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sev-high{color:var(--bad)}.sev-medium{color:var(--warn)}.sev-low{color:var(--muted)}.issue-code{font-family:var(--mono);font-size:10px;color:var(--muted);opacity:.7;cursor:help}.pill{font-size:11.5px;font-weight:500;padding:3px 10px;border-radius:999px;background:#eef0f4;color:var(--muted);white-space:nowrap}.pill-published,.pill-applied{background:var(--ok-soft);color:var(--ok)}.pill-draft,.pill-pending,.pill-dry_run{background:var(--warn-soft);color:var(--warn)}.pill-failed,.pill-rejected{background:var(--bad-soft);color:var(--bad)}ul.issues,ul.changes{list-style:none;padding:0;margin:8px 0}ul.issues li,ul.changes li{padding:9px 0;border-bottom:1px solid var(--line)}ul.issues li:last-child,ul.changes li:last-child{border-bottom:none}ul.issues li.dismissed{opacity:.45;text-decoration:line-through}ul.inline{list-style:none;display:flex;gap:12px;flex-wrap:wrap;padding:0}.changes .from{color:var(--muted)}.csv{background:#0f1220;color:#e4e6ee;padding:14px;border-radius:var(--radius-sm);overflow-x:auto;font-size:11px;font-family:var(--mono)}details summary{cursor:pointer;color:var(--accent);margin-top:12px;font-weight:500}details summary:hover{text-decoration:underline}dl.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;margin:10px 0}dl.kv dt{color:var(--muted);font-size:12.5px}dl.kv dd{margin:0}dl.kv.wide-kv{grid-template-columns:180px 1fr}.preview{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.stepper-panel{display:flex;align-items:center;gap:16px;padding:14px 18px;flex-wrap:wrap}.stepper{display:flex;flex:1;list-style:none;margin:0;padding:0;gap:0;min-width:0}.stepper li{flex:1;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:500;min-width:0}.stepper li+li:before{content:"";flex:0 1 40px;height:2px;border-radius:2px;background:var(--line-strong);margin-right:6px}.stepper li.done+li:before,.stepper li.done+li.done:before{background:var(--accent)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid var(--line-strong);font-size:12px;font-weight:650;flex-shrink:0;transition:background .2s,border-color .2s}.step-text{display:flex;flex-direction:column;line-height:1.25;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-kicker{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.stepper li.current{color:var(--ink);font-weight:600}.stepper li.current .step-number{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px #5b4ff026}.stepper li.current .step-kicker{color:var(--accent)}.stepper li.done{color:var(--ink-2)}.stepper li.done .step-number{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}@media(max-width:760px){.stepper li:not(.current) .step-text{display:none}.stepper li+li:before{flex-basis:20px}}.saved-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line);padding:4px 10px;border-radius:999px;white-space:nowrap}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700}dialog.modal{width:min(720px,calc(100% - 32px));max-height:calc(100vh - 64px);padding:0;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}dialog.modal::backdrop{background:#11182759}.modal-body{padding:22px 24px}.modal-body h2{margin:0}label.wide{width:100%;margin-top:14px}textarea{resize:vertical;min-height:76px;font-family:inherit;line-height:1.5}.photo-row{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 4px}.photo,.photo-add{width:156px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.photo{margin:0;box-shadow:var(--shadow-sm)}.photo img{display:block;width:100%;height:116px;object-fit:cover;background:#f1f3f7}.photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px}.photo figcaption .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-add{display:flex;align-items:center;justify-content:center;height:150px;border:1.5px dashed var(--line-strong);background:var(--subtle);color:var(--accent);font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.photo-add:hover{border-color:var(--accent);background:var(--accent-soft)}.photo-add input{display:none}.photo-placeholder{display:flex;align-items:center;justify-content:center;height:116px;font-size:28px;background:#f1f3f7;color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 5px 3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--subtle);font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.chip.chip-text{font-family:inherit;font-size:12.5px}.chip-x{border:none;background:none;box-shadow:none;color:var(--muted);font-size:14px;line-height:1;padding:0 4px;border-radius:50%;cursor:pointer}.chip-x:hover:not(:disabled){color:var(--bad);background:var(--bad-soft)}.chip-add{display:flex;gap:8px;margin-top:8px}.chip-add input{flex:1;max-width:360px}.mono{font-family:var(--mono);font-size:12px}.option-tags{padding:8px 0;border-top:1px solid var(--line)}.option-tags>b{font-size:12px}tbody tr.muted-row td{opacity:.45}tbody tr.muted-row input[type=checkbox]{opacity:1}label.checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;margin:6px 0;color:var(--ink);font-weight:400}.abbrev-grid{display:grid;grid-template-columns:1fr auto auto;gap:6px 10px;align-items:center;margin:8px 0}.abbrev-grid input{margin:0}.import-banner{display:flex;gap:8px;background:var(--accent-soft);border:1px solid var(--accent-line);color:#3730a3;border-radius:var(--radius-sm);padding:10px 14px;margin:14px 0 10px;font-size:13px}.import-summary{margin:10px 0 6px;color:var(--ink-2)}.sheets{gap:12px}.sheet{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.sheet:hover{border-color:var(--line-strong)}.sheet-head{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;border-radius:var(--radius)}.sheet-title{flex:1;min-width:0;font-weight:600;font-size:14.5px}.sheet-title .mono{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.sheet-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.sheet-body{padding:0 20px 20px}.sheet-card{background:var(--subtle);border:1px solid var(--line);border-radius:12px;padding:2px 18px}.sheet-row{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.sheet-row:last-child{border-bottom:none}.sheet-label{font-weight:600;font-size:13px;color:var(--ink-2);padding-top:8px}.sheet-value{min-width:0}.sheet-input{width:100%}.sheet-input.price{max-width:120px}@media(max-width:640px){.sheet-row{grid-template-columns:1fr;gap:6px}.sheet-label{padding-top:0}}.sheet-row.flagged{background:var(--warn-soft);margin:0 -18px;padding-left:18px;padding-right:18px}.flag-note{display:block;font-size:11px;font-weight:700;color:var(--warn);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.variant-table.flagged{outline:2px solid #f2cf98}.feedback-box{background:var(--warn-soft);border:1px solid #f2cf98;border-radius:var(--radius-sm);padding:10px 14px;margin:2px 0 14px}.variant-table{border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;margin-top:14px;overflow:hidden}.variant-table th{background:var(--subtle)}.variant-table tr:last-child td{border-bottom:none}.variant-table tbody tr:hover{background:transparent}.desc-frame{width:100%;height:160px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.suggest{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.suggest-chip{font-size:12px;padding:4px 11px;border-radius:999px;border:1px dashed var(--accent-line);background:#fff;color:var(--accent);box-shadow:none}.suggest-chip:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.suggest-chip.mono{font-family:var(--mono);font-size:11px}.suggest-chip.chosen{border-style:solid;background:var(--accent-soft);font-weight:600}.title-options{display:flex;flex-direction:column;gap:6px;margin-top:10px}.title-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;border:1px solid var(--line);background:#fff;box-shadow:none;border-radius:var(--radius-sm);padding:8px 12px}.title-option:hover:not(:disabled){border-color:var(--accent-line);background:#fbfbff}.title-option-text{color:var(--ink);font-weight:600}.title-option.chosen{border-color:var(--accent);background:var(--accent-soft)}.title-option.chosen .title-option-text{color:var(--accent)}.title-option.chosen .title-option-text:after{content:"  ✓ in use";color:var(--ok);font-size:11px;font-weight:600}.name-options .title-option.chosen .title-option-text:after{content:"  ✓ chosen"}.auto-collections{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.chip-auto{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.collection-subhead{margin-top:4px}.title-option-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill-recommended{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);font-weight:600}.seo-preview{display:flex;flex-direction:column;gap:6px}.seo-title{color:#1a0dab;font-size:15px}.sheet-findings h4{margin:18px 0 4px}.sheet-actions{margin-top:18px;display:flex;justify-content:flex-end}.action-bar{position:sticky;bottom:16px;z-index:10;box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.action-bar{padding:14px 20px}.action-bar ul.issues,.action-bar p{margin:0 0 8px}.action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.action-row label.checkbox{margin:0}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.card.attention{border-color:#f2cf98;background:#fffaf1}.send-back{width:100%;border:1px solid #f0c3c5;background:#fff9f9;border-radius:12px;padding:16px}.field-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 14px;margin:8px 0}.send-back .decide{justify-content:flex-end;margin-top:12px}li.finding{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.finding-text{flex:1;min-width:0}.dismissed-text{opacity:.55;text-decoration:line-through}.finding-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.finding-actions button:not(.link){padding:4px 12px;font-size:12.5px}.tag-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.tag-picker select,.tag-picker input{min-width:200px}@keyframes pulse-field{0%{box-shadow:0 0 #4f46e559;background:var(--accent-soft)}to{box-shadow:0 0 0 12px #4f46e500}}.sheet-row.pulse,.variant-table.pulse{animation:pulse-field 1.2s ease-out;border-radius:8px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}button .spinner{margin-right:8px}button.is-busy:disabled{opacity:.85;cursor:progress}.progress-card{display:flex;gap:16px;align-items:flex-start;border-color:var(--accent-line);background:linear-gradient(180deg,#fbfbff,#fff)}.progress-card .spinner{width:22px;height:22px;border-width:3px;color:var(--accent);margin-top:2px}.progress-steps{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:4px}.progress-steps li{color:var(--muted);font-size:13px}.progress-steps li.done{color:var(--ok)}.progress-steps li.current{color:var(--ink);font-weight:600}.busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#11182759;cursor:progress}.busy-dock{position:fixed;left:50%;bottom:16px;z-index:901;width:min(640px,calc(100% - 32px));transform:translate(-50%)}.busy-dock .card{box-shadow:var(--shadow);margin:0}.warn-box{background:var(--warn-soft);border:1px solid #f2cf98;color:#7c3d06;border-radius:var(--radius-sm);padding:10px 14px;margin:8px 0}.warn-box ul{margin:6px 0;padding-left:18px}.page{display:flex;flex-direction:column;gap:22px}.page-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:4px}.page-head-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#fff;color:var(--accent);border:1px solid var(--line);box-shadow:var(--shadow)}.page-head-text{flex:1;min-width:240px}.page-head h1{font-size:26px;font-weight:650;letter-spacing:-.03em;margin:0;line-height:1.2}.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.page-head-sub{margin:4px 0 0;color:var(--muted);max-width:640px}.page-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:6px}.field+.field{margin-top:14px}.field-label{font-size:13px;font-weight:550;color:var(--ink)}.field-help{font-size:12px;color:var(--muted);font-weight:400}.field-help.center{text-align:center;display:block;margin:8px 0 0}.optional{font-size:11px;font-weight:500;color:var(--faint);margin-left:4px}.callout{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:12px;font-size:13px;border:1px solid}.callout .icon{margin-top:2px}.callout-bad{background:var(--bad-soft);border-color:var(--bad-line);color:#8f1d25}.callout-warn{background:var(--warn-soft);border-color:var(--warn-line);color:#7a3e04}.callout-ok{background:var(--ok-soft);border-color:var(--ok-line);color:#075a3f}.callout ul{margin:6px 0 0;padding-left:18px}.panel-footer .callout{margin-top:12px}.dropzone{display:flex;align-items:center;gap:12px;border:1.5px dashed var(--line-strong);border-radius:14px;background:var(--subtle);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;font-weight:400;color:var(--ink-2)}.dropzone input{display:none}.dropzone:hover,.dropzone:focus-visible,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft);outline:none}.dropzone.dragging{box-shadow:var(--ring)}.dropzone.disabled{cursor:not-allowed;opacity:.6}.dropzone-sm{padding:12px 14px;flex-direction:row;font-size:13px}.dropzone-lg{flex-direction:column;justify-content:center;text-align:center;gap:6px;padding:44px 24px;border-radius:18px}.dropzone-lg b{font-size:15px;font-weight:600;color:var(--ink)}.dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--accent);box-shadow:var(--shadow-sm);flex-shrink:0}.dropzone-icon.lg{width:54px;height:54px;border-radius:16px;margin-bottom:6px}.dropzone-icon .spinner{color:var(--accent)}.workspace{display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:22px;align-items:start}@media(max-width:960px){.workspace{grid-template-columns:1fr}}.input-panel{position:sticky;top:96px;overflow:hidden}@media(max-width:960px){.input-panel{position:static}}.panel-section{padding:20px 22px;border-bottom:1px solid var(--line)}.panel-footer{padding:18px 22px 20px;background:var(--subtle)}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:10px}.section-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--ink);color:#fff;font-size:11.5px;font-weight:650}.section-title{font-weight:600;font-size:14px;flex:1}.section-hint{font-size:11.5px;color:var(--faint);font-weight:500}.hint{font-size:12.5px;color:var(--muted);margin:-2px 0 12px}.specs-input{width:100%;font-family:var(--mono);font-size:12.5px;line-height:1.7;min-height:170px;margin-bottom:6px}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:10px}.thumb{position:relative;margin:0;aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-remove{position:absolute;top:5px;right:5px;width:22px;height:22px;padding:0;border-radius:50%;border:none;background:#0d0f17a6;color:#fff;opacity:0;transition:opacity .15s}.thumb:hover .thumb-remove,.thumb-remove:focus-visible{opacity:1}.thumb-remove:hover:not(:disabled){background:var(--bad)}.results-col{min-width:0}.empty-state{text-align:center;padding:56px 32px;border:1.5px dashed var(--line-strong);border-radius:20px;background:#ffffff8c}.empty-state h2{font-size:18px;margin:18px 0 6px}.empty-state>p{max-width:440px;margin:0 auto}.empty-art{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;background:var(--accent-grad);color:#fff;box-shadow:0 12px 28px -8px #5b4ff08c}.feature-list{list-style:none;padding:0;margin:28px auto 0;max-width:420px;display:flex;flex-direction:column;gap:10px;text-align:left}.feature-list li{display:flex;gap:12px;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink-2);box-shadow:var(--shadow-sm)}.feature-list .icon{color:var(--accent)}.hero-card{position:relative;padding:24px 26px;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfaff);border:1px solid var(--accent-line);box-shadow:0 1px 2px #5b4ff00f,0 16px 36px -16px #5b4ff059;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent-grad)}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.hero-title-row{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;margin:10px 0 14px}.hero-title{font-size:24px;font-weight:650;letter-spacing:-.025em;line-height:1.25;margin:0;overflow-wrap:anywhere}.hero-why{margin:14px 0 0;color:var(--ink-2);font-size:13px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.web-address{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 8px 8px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-family:var(--mono);font-size:12.5px;color:var(--muted)}.web-address-text{flex:1;min-width:0;overflow-wrap:anywhere}.web-address-text b{color:var(--ink);font-weight:500}.source-chip{display:inline-flex;font-size:11.5px;padding:2px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted)}.alt-side .copy-btn{padding:4px 9px;font-size:12px}.copy-btn{padding:6px 11px;font-size:12.5px;flex-shrink:0}.copy-btn.compact{padding:0;width:30px;height:30px;border-color:transparent;background:transparent;box-shadow:none;color:var(--muted)}.copy-btn.compact:hover:not(:disabled){background:#0f14280f;color:var(--ink);border-color:transparent}.copy-btn.copied{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.meter{display:flex;align-items:center;gap:10px}.meter-track{flex:1;height:5px;border-radius:999px;background:#0f142812;overflow:hidden}.meter-fill{height:100%;border-radius:inherit;transition:width .3s}.meter-text{font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.meter-ok .meter-fill{background:#23b07d}.meter-warn .meter-fill{background:#f0a73a}.meter-bad .meter-fill{background:var(--bad)}.meter-bad .meter-text{color:var(--bad);font-weight:600}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.card-head h3{margin:0;font-size:15px;letter-spacing:-.01em}.alt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.alt{display:flex;gap:14px;align-items:center;padding:12px 4px;border-top:1px solid var(--line)}.alt:first-child{border-top:none;padding-top:2px}.alt-main{flex:1;min-width:0}.alt-title{font-weight:550;overflow-wrap:anywhere}.alt-handle{color:var(--muted);font-size:11.5px;margin-top:2px;overflow-wrap:anywhere}.alt-why{font-size:12.5px;color:var(--muted);margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.alt-side{display:flex;align-items:center;gap:6px;flex-shrink:0}.count{font-size:11.5px;font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:999px;margin-right:4px}.count-ok{background:var(--subtle);color:var(--muted);border:1px solid var(--line)}.count-bad{background:var(--bad-soft);color:var(--bad)}.serp{padding:18px 20px;border-radius:14px;border:1px solid var(--line);background:#fff;font-family:Arial,Helvetica,sans-serif}.serp-site{display:flex;align-items:center;gap:10px;margin-bottom:6px}.serp-favicon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#f1f3f4;border:1px solid #e3e5e8;font-size:9.5px;font-weight:700;color:#3c4043}.serp-site>span:last-child{display:flex;flex-direction:column;line-height:1.3;min-width:0}.serp-name{font-size:14px;color:#202124}.serp-url{font-size:12px;color:#4d5156;overflow-wrap:anywhere}.serp-title{color:#1a0dab;font-size:20px;line-height:1.3;margin-bottom:4px}.serp-desc{color:#4d5156;font-size:14px;line-height:1.58}.serp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 24px;margin-top:16px}.serp-field-head{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:550;margin-bottom:6px}.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.rank-list li{display:flex;gap:14px;padding:14px;border-radius:12px;background:var(--subtle);border:1px solid var(--line)}.rank{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:#fff;border:1px solid var(--line);font-weight:650;font-size:13px;flex-shrink:0;box-shadow:var(--shadow-sm)}.rank-list li:first-child .rank{background:var(--accent-grad);color:#fff;border-color:transparent}.rank-body{min-width:0;flex:1}.rank-title{font-weight:550;overflow-wrap:anywhere}.rank-title a{color:var(--ink);display:inline}.rank-title a:hover{color:var(--accent)}.rank-title .icon{vertical-align:-2px;color:var(--faint)}.rank-source{font-size:12px;color:var(--muted);margin-top:1px}.rank-convention{margin-top:8px;font-size:12.5px;color:var(--ink-2);padding-left:10px;border-left:2px solid var(--accent-line)}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.insight-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.insight-head h3{margin:0;font-size:15px}.insight-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px}.tone-accent{background:var(--accent-soft);color:var(--accent)}.insight-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.dot-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.dot-list li{position:relative;padding-left:16px;color:var(--ink-2);font-size:13.5px}.dot-list li:before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--faint)}.upload-panel{padding:24px;display:flex;flex-direction:column;gap:20px}.csv-settings{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.segmented{display:inline-flex;padding:4px;gap:2px;background:#0f14280d;border-radius:12px;flex-wrap:wrap}.segmented .seg{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted);padding:7px 14px;border-radius:9px}.segmented .seg:hover:not(:disabled){color:var(--ink);background:#fff9;border-color:transparent}.segmented .seg.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm),0 0 0 1px var(--line);font-weight:600}.switch-row{display:flex;flex-direction:row;align-items:center;gap:12px;cursor:pointer;font-weight:400}.switch-row>span:last-child{display:flex;flex-direction:column}.switch{position:relative;display:inline-flex;flex-shrink:0}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{width:38px;height:22px;border-radius:999px;background:#d4d7e0;transition:background .2s;position:relative}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--ring)}.checks{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:4px}.checks-label{font-size:12px;color:var(--muted);font-weight:500}.checks-list{display:flex;gap:6px;flex-wrap:wrap}.check-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--subtle);border:1px solid var(--line);color:var(--ink-2)}.check-chip .icon{color:var(--ok)}.summary-panel{padding:22px 24px;display:flex;flex-direction:column;gap:16px}.summary-file{display:flex;align-items:center;gap:14px}.file-badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-line);flex-shrink:0}.summary-file-text{flex:1;min-width:0}.summary-filename{font-weight:650;font-size:16px;letter-spacing:-.01em;overflow-wrap:anywhere}.score-ring{--tone: var(--ok);width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--tone) calc(var(--pct) * 1%),rgba(15,20,40,.07) 0);display:grid;place-items:center;flex-shrink:0}.score-ring.tone-warn{--tone: #f0a73a}.score-ring.tone-bad{--tone: var(--bad)}.score-ring-inner{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}.score-ring-inner b{font-size:14px;font-variant-numeric:tabular-nums}.score-ring-inner span{font-size:10px;color:var(--muted)}.health-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;gap:2px;background:#0f14280d}.health-bar span{min-width:4px}.hb-pass{background:#23b07d}.hb-needs_review{background:#f0a73a}.hb-fail{background:var(--bad)}.filter-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:760px){.filter-tiles{grid-template-columns:repeat(2,1fr)}}.filter-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;justify-content:stretch;text-align:left;padding:12px 14px;border-radius:14px;background:var(--subtle);border:1px solid var(--line);box-shadow:none}.filter-tile:hover:not(:disabled){background:#fff;border-color:var(--line-strong)}.ft-icon{grid-row:1 / 3;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}.ft-value{font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.ft-label{font-size:12px;color:var(--muted);font-weight:500}.filter-tile.tone-ok .ft-icon{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.filter-tile.tone-warn .ft-icon{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.filter-tile.tone-bad .ft-icon{color:var(--bad);background:var(--bad-soft);border-color:var(--bad-line)}.filter-tile.active{background:#fff;border-color:var(--accent);box-shadow:var(--ring)}.note-list{margin:6px 0 0;padding-left:18px}.note-list li+li{margin-top:4px}.list-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.search-box{position:relative;display:flex;align-items:center;flex:1;min-width:220px;max-width:420px}.search-box>.icon{position:absolute;left:12px;color:var(--faint);pointer-events:none}.search-box input{width:100%;padding-left:36px;padding-right:36px;border-radius:12px;background:#fff}.search-box .icon-btn{position:absolute;right:3px;width:28px;height:28px}.list-toolbar .ghost{margin-left:auto}.product-list{display:flex;flex-direction:column;gap:10px}.pcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .15s,border-color .15s}.pcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.verdict-edge-pass:before{background:#23b07d}.verdict-edge-needs_review:before{background:#f0a73a}.verdict-edge-fail:before{background:var(--bad)}.pcard:hover{border-color:var(--line-strong)}.pcard.open{box-shadow:var(--shadow)}.pcard-head{display:flex;width:100%;align-items:center;justify-content:flex-start;gap:12px;padding:14px 18px 14px 16px;border:none;border-radius:0;background:transparent;box-shadow:none;text-align:left}.pcard-head:hover:not(:disabled){background:#0f142805}.pcard-head:focus-visible{box-shadow:inset var(--ring)}.pcard-chevron{color:var(--faint);transition:transform .2s}.pcard.open .pcard-chevron{transform:rotate(90deg);color:var(--ink)}.pcard-title{flex:1;min-width:0}.pcard-name{font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard-sub{display:flex;align-items:center;gap:8px;color:var(--muted);margin-top:2px;min-width:0}.pcard-sub .mono{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--faint);flex-shrink:0}.pcard-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.count-pill{font-size:11.5px;font-weight:550;padding:2px 9px;border-radius:999px;background:var(--subtle);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.count-pill.tone-bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}.count-pill.tone-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}@media(max-width:640px){.pcard-head{flex-wrap:wrap}.pcard-badges{width:100%;justify-content:flex-start;padding-left:28px}}.pcard-body{padding:4px 20px 20px 44px;display:flex;flex-direction:column;gap:18px;animation:fade-in .18s ease-out}@media(max-width:640px){.pcard-body{padding:4px 16px 18px}}@keyframes fade-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.finding-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.finding-card{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);border-left-width:3px;display:flex;flex-direction:column;gap:6px}.sev-edge-high{border-left-color:var(--bad)}.sev-edge-medium{border-left-color:var(--warn)}.sev-edge-low{border-left-color:var(--line-strong)}.finding-top{display:flex;gap:10px;align-items:flex-start}.finding-msg{font-weight:500;color:var(--ink)}.sev-badge{font-size:10.5px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:6px;white-space:nowrap;margin-top:1px}.sev-badge-high{background:var(--bad-soft);color:var(--bad)}.sev-badge-medium{background:var(--warn-soft);color:var(--warn)}.sev-badge-low{background:var(--subtle);color:var(--muted);border:1px solid var(--line)}.finding-evidence{font-size:11.5px;color:var(--ink-2);background:var(--subtle);padding:6px 10px;border-radius:8px;overflow-wrap:anywhere}.finding-fix{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#075a3f}.finding-fix .icon{margin-top:3px;color:var(--ok)}.finding-card .issue-code{align-self:flex-start}.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.fact{background:#fff;padding:10px 14px}.fact dt{font-size:11.5px;color:var(--muted);font-weight:500}.fact dd{margin:2px 0 0;display:flex;align-items:center;gap:5px;overflow-wrap:anywhere;font-weight:500}.fact-bad dd{color:var(--bad);font-weight:600}.fact-ok dd{color:var(--ok)}.tag-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 24px}.tag-group-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:550}.tag-count{font-size:10.5px;padding:0 6px;border-radius:999px;background:var(--subtle);border:1px solid var(--line)}.tag-group .chips{margin:6px 0 0}.tag-group .chip{padding:3px 10px}.chip-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.chip-muted{color:var(--faint);text-decoration:line-through}.empty-inline{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px;color:var(--muted);border:1.5px dashed var(--line-strong);border-radius:16px}label.checkbox{flex-direction:row;align-items:center;gap:8px}@media(max-width:640px){.alt{flex-wrap:wrap}.alt-side{width:100%;justify-content:flex-start}.hero-title{font-size:20px}}table{border-collapse:separate;border-spacing:0}th{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--muted);background:var(--subtle);border-bottom:1px solid var(--line)}td{border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fafaff}.data-table{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.data-table th:first-child,.data-table td:first-child{padding-left:16px}.data-table th:last-child,.data-table td:last-child{padding-right:16px}.data-table td{vertical-align:middle}.data-table td.num{font-variant-numeric:tabular-nums;width:1%;white-space:nowrap}.data-table input:not([type=checkbox]){max-width:140px;padding:6px 10px}.axes-table td:first-child{width:190px;vertical-align:top}.axes-table td:first-child select{width:100%}.axes-table td:last-child{width:1%;vertical-align:top}.cell-flag{display:inline-flex;margin-top:3px;font-family:inherit;font-size:11px;font-weight:600;color:var(--bad);background:var(--bad-soft);padding:1px 7px;border-radius:999px}tr.clickable:hover .row-chevron{color:var(--accent);transform:translate(2px)}.row-chevron{color:var(--faint);transition:transform .15s,color .15s}.verdict{font-size:11.5px;font-weight:600;padding:3px 10px 3px 8px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent}.verdict:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.verdict-pass{border-color:var(--ok-line)}.verdict-needs_review{border-color:var(--warn-line)}.verdict-fail{border-color:var(--bad-line)}.pill{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent}.pill-published,.pill-applied{border-color:var(--ok-line)}.pill-draft,.pill-pending,.pill-dry_run{border-color:var(--warn-line)}.pill-failed,.pill-rejected{border-color:var(--bad-line)}.pill-recommended{border-color:var(--accent-line)}details summary{list-style:none;display:inline-flex;align-items:center;gap:6px}details summary::-webkit-details-marker{display:none}details summary:before{content:"›";display:inline-block;font-size:16px;line-height:1;transition:transform .15s}details[open]>summary:before{transform:rotate(90deg)}details summary:hover{text-decoration:none;color:var(--accent-hover)}dialog.modal{border-radius:20px;border-color:var(--line);box-shadow:var(--shadow-lg)}dialog.modal::backdrop{background:#0d0f1766;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-body{padding:24px 26px}.modal-body table{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.busy-overlay{background:#0d0f1752;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.progress-card{border-radius:18px;border-color:var(--accent-line);background:#fff;box-shadow:var(--shadow-lg);padding:20px 22px}.progress-steps{gap:6px}.progress-steps li{display:flex;gap:6px}.count-badge.soft{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);vertical-align:1px}.warn-box{border-radius:12px;border-color:var(--warn-line)}.step-panel{overflow:hidden}.step-panel-head{padding:22px 24px 18px;border-bottom:1px solid var(--line)}.step-panel-head h2{font-size:18px;margin:0 0 4px}.step-panel-head p{margin:0;max-width:720px}.step-body{padding:20px 24px 22px;display:flex;flex-direction:column;gap:14px}.step-body>table{margin:0}.step-body .button-row{margin-top:0}.step-body details summary{margin-top:2px}.step-grid{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr}.step-grid>.panel-section+.panel-section{border-left:1px solid var(--line)}@media(max-width:860px){.step-grid{grid-template-columns:1fr}.step-grid>.panel-section+.panel-section{border-left:none}}.step-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 24px;background:var(--subtle);border-top:1px solid var(--line)}.step-footer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.section-label-spaced{margin-top:22px}.sub-head{margin:4px 0 0;font-size:14px;display:flex;align-items:center;gap:6px}.dropzone-md{flex-direction:column;justify-content:center;text-align:center;gap:4px;padding:26px 18px}.dropzone-md b{color:var(--ink);font-weight:600}.thumb-placeholder{display:grid;place-items:center;width:100%;height:100%;background:var(--subtle);color:var(--faint)}.title-options{gap:8px;margin:0}.title-option{position:relative;display:grid;grid-template-columns:20px 1fr;column-gap:12px;row-gap:2px;align-items:center;justify-content:stretch;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}.title-option:hover:not(:disabled){border-color:var(--accent-line);background:#fcfcff}.title-option .title-option-head,.title-option-why{grid-column:2}.title-option-text{font-size:15px}.title-option-count{margin-left:auto;font-size:11.5px;color:var(--faint);font-weight:500;font-variant-numeric:tabular-nums}.radio-dot{grid-row:1;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;transition:border .15s}.title-option.chosen{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--ring)}.title-option.chosen .radio-dot{border:5.5px solid var(--accent)}.title-option.chosen .title-option-text{color:var(--ink)}.name-options .title-option.chosen .title-option-text:after,.title-option.chosen .title-option-text:after{content:none}.overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:760px){.overview-stats{grid-template-columns:repeat(2,1fr)}}.ov-stat{display:flex;flex-direction:column;padding:12px 16px;border-radius:14px;background:var(--subtle);border:1px solid var(--line)}.ov-value{font-size:24px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.ov-label{font-size:12px;color:var(--muted);font-weight:500}.ov-stat.tone-ok .ov-value{color:var(--ok)}.ov-stat.tone-bad{background:var(--bad-soft);border-color:var(--bad-line)}.ov-stat.tone-bad .ov-value{color:var(--bad)}.guarantees{margin:0}.similar-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.similar-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:10px;background:var(--subtle);border:1px solid var(--line)}.similar-title{min-width:0;overflow-wrap:anywhere}.table-panel{overflow:hidden}.table-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px 14px}.table-panel-head h3{margin:0;font-size:15px}.table-panel .data-table{border:none;border-top:1px solid var(--line);border-radius:0}.table-panel{overflow-x:auto}.section-heading{margin:0;font-size:15px}.toolbar-actions{display:flex;gap:4px;margin-left:auto}.sheets{gap:10px}.sheet{border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.sheet.open{box-shadow:var(--shadow);border-color:var(--line-strong)}.sheet-head{padding:14px 18px;border-radius:0;transition:background .15s}.sheet-head:hover{background:#0f142805}.sheet-chevron{color:var(--faint);transition:transform .2s}.sheet.open .sheet-chevron{transform:rotate(90deg);color:var(--ink)}.sheet.open .sheet-head{border-bottom:1px solid var(--line)}.sheet-body{padding:18px 20px 20px;animation:fade-in .18s ease-out}.sheet-card{background:#fff;border-radius:14px}.sheet-label{font-weight:550;color:var(--muted);font-size:12.5px}.action-bar{position:sticky;bottom:16px;z-index:10;padding:14px 18px;border-radius:18px;border:1px solid var(--line-strong);background:#ffffffdb;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);box-shadow:var(--shadow-lg)}.action-notes{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}.action-notes li{display:flex;gap:6px;align-items:flex-start}.action-notes .icon{margin-top:3px}.action-blocker{display:flex;gap:8px;align-items:center;margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--bad-soft);color:#8f1d25;font-size:12.5px}.action-row label.checkbox{font-size:13px;color:var(--ink-2)}.success-panel{padding:32px 28px 24px}.success-head{text-align:center;margin-bottom:22px}.success-head h2{font-size:20px;margin:14px 0 4px}.success-head p{max-width:520px;margin:0 auto}.success-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-line);box-shadow:0 0 0 8px #0a7a550f}.success-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.attention-panel{padding:18px 20px;border-color:var(--warn-line);background:linear-gradient(180deg,#fffaf2,#fff 60%)}.attention-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.attention-head h2{margin:0;font-size:16px}.attention-head p{margin:0}.sentback-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sentback-item{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line)}.sentback-main{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px}.sentback-product{display:flex;flex-direction:column;gap:4px}.inline-chips{display:inline-flex;margin:0 6px 0 0}.sentback-note{color:var(--ink-2);font-style:italic}.sentback-actions{display:flex;gap:6px}.approval-tabs{display:flex;gap:4px;padding:4px;background:#0f14280d;border-radius:14px;width:fit-content;max-width:100%;flex-wrap:wrap}.approval-tab{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted);padding:8px 12px 8px 14px;border-radius:10px}.approval-tab:hover:not(:disabled){background:#fff9;color:var(--ink);border-color:transparent}.approval-tab.active{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}.tab-count{min-width:22px;padding:0 7px;border-radius:999px;font-size:11.5px;font-weight:600;background:#0f142812;color:var(--ink-2);font-variant-numeric:tabular-nums}.approval-tab.tab-waiting.has-items .tab-count{background:var(--accent);color:#fff}.approval-tab.tab-failed.has-items .tab-count{background:var(--bad-soft);color:var(--bad)}.empty-state.compact{padding:40px 24px}.empty-art.soft{width:52px;height:52px;border-radius:16px;background:#fff;color:var(--accent);border:1px solid var(--line);box-shadow:var(--shadow)}.batch{padding:18px 20px 20px}.batch-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.batch-title{flex:1;min-width:220px}.batch-title h2{margin:0;font-size:17px}.batch-title p{margin:2px 0 0}.file-badge.accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}button.approve{background:linear-gradient(180deg,#129467,var(--ok));border-color:#066a49;box-shadow:0 1px 2px #065f4640,inset 0 1px #ffffff2e}.sheet-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.outcome{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:550}.outcome-ok{background:var(--ok-soft);color:var(--ok)}.outcome-bad{background:var(--bad-soft);color:var(--bad)}.send-back{border-radius:14px;border-color:var(--bad-line);background:snow}.send-back-head{display:flex;align-items:center;gap:8px;color:var(--bad)}.send-back-head b{color:var(--ink)}@media(max-width:640px){.hide-sm{display:none}.step-panel-head,.step-body{padding-left:16px;padding-right:16px}.step-footer{padding:12px 16px}}@media(max-width:640px){.stack-sm thead{display:none}.stack-sm tr{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.stack-sm tbody tr:last-child{border-bottom:none}.data-table.stack-sm td{border:none;padding:0}.stack-sm td:nth-child(1){width:20px}.stack-sm td:nth-child(3){flex:1 1 calc(100% - 64px);font-weight:550}.stack-sm td:nth-child(8){order:1}.stack-sm td:nth-child(5){order:2;margin-left:30px}.stack-sm td:nth-child(6){order:3}.stack-sm td:nth-child(7){order:4;margin-left:auto}.batch{padding:14px 12px 12px}.sheet-body{padding:14px 12px 16px}.sheet-head{padding:12px}}.summary-panel .card-head{margin-bottom:12px}.stat-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}.stat-tile .ft-icon{grid-row:1 / 3}.ov-stat.tone-warn .ov-value{color:var(--warn)}.stat-tile.tone-ok .ft-icon{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.stat-tile.tone-warn .ft-icon{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.stat-tile.tone-bad{background:var(--subtle);border-color:var(--line)}.stat-tile.tone-bad .ft-icon{color:var(--bad);background:var(--bad-soft);border-color:var(--bad-line)}.top-issues{border-top:1px solid var(--line);padding-top:16px}.bar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bar-list li{display:grid;grid-template-columns:minmax(140px,260px) 1fr 36px;gap:12px;align-items:center}.bar-label{font-size:11.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:8px;border-radius:999px;background:#0f14280f;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:inherit;background:var(--accent-grad)}.bar-value{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}@media(max-width:640px){.bar-list li{grid-template-columns:1fr 36px}.bar-track{grid-column:1 / -1;grid-row:2}}.quick-check{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.quick-check-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.quick-check-head h3{margin:0;font-size:15px}.quick-check-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.search-box.grow{flex:1;max-width:none;min-width:260px}.search-box.grow input{font-family:var(--mono);font-size:12.5px;padding-top:10px;padding-bottom:10px}.callout-info{background:var(--accent-soft);border-color:var(--accent-line);color:#3a2fa8}.table-panel-head .segmented .seg{padding:5px 11px;font-size:12.5px}.checks-table .chev-cell{width:36px;padding-right:0}.row-chevron.open,tr.clickable:hover .row-chevron.open{transform:rotate(90deg);color:var(--ink)}.checks-table tr.selected{background:var(--accent-soft)}.checks-table tr.selected td{border-bottom-color:transparent}.product-cell{overflow-wrap:anywhere}tbody tr.detail-row>td{background:var(--subtle);padding:6px 20px 20px 52px;border-bottom:1px solid var(--line)}@media(max-width:640px){tbody tr.detail-row>td{padding:6px 12px 16px}}.detail{display:flex;flex-direction:column;gap:12px}.detail-meta{font-size:12px;color:var(--muted)}.finding-ignore{margin-left:auto;flex-shrink:0;margin-top:-3px}.dismissed-card{opacity:.6}.dismissed-card .finding-msg{text-decoration:line-through}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.earlier-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.earlier-list li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}.earlier-codes{display:flex;gap:6px;flex-wrap:wrap}.empty-inline.flush{border:none;border-top:1px solid var(--line);border-radius:0}.history-panel{padding:18px 20px}.timeline{list-style:none;margin:4px 0 0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}.timeline li{position:relative;display:flex;gap:14px;padding:8px 0}.timeline-dot{position:relative;z-index:1;flex-shrink:0;width:14px;height:14px;margin-top:4px;border-radius:50%;background:#fff;border:3px solid #23b07d}.timeline li.practice .timeline-dot{border-color:#f0a73a}.timeline li.failed .timeline-dot{border-color:var(--bad)}.timeline-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line)}.timeline li:last-child .timeline-body{border-bottom:none}.timeline-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timeline-top .mono{overflow-wrap:anywhere}.version-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:12.5px;font-weight:550}.live-dot{width:8px;height:8px;border-radius:50%;background:#23b07d;box-shadow:0 0 0 3px #23b07d2e}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.settings-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}.settings-nav-item{justify-content:flex-start;gap:10px;border-color:transparent;background:transparent;box-shadow:none;color:var(--muted);padding:9px 12px;border-radius:11px;text-align:left}.settings-nav-item:hover:not(:disabled){background:#0f14280d;color:var(--ink);border-color:transparent}.settings-nav-item.active{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}.settings-nav-item.active .icon{color:var(--accent)}@media(max-width:860px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.settings-nav-item{flex-shrink:0;white-space:nowrap}}.settings-content{min-width:0;overflow:hidden}.settings-content-head{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}.settings-content-head h2{margin:0;font-size:17px}.settings-body{padding:20px 24px 26px;display:flex;flex-direction:column;gap:12px}@media(max-width:640px){.settings-content-head,.settings-body{padding-left:16px;padding-right:16px}}.settings-body>p.muted:first-child,.settings-body>.callout+p.muted{margin-top:0}.settings-body h3{margin:14px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:14.5px}.settings-body>.form-grid,.settings-body>table,.settings-body>label.wide{margin-top:0}.settings-body .data-table{overflow-x:auto;display:table}.settings-body .data-table select{min-width:130px}.settings-body details{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}.settings-body details summary{margin:0;color:var(--ink);font-weight:550}.settings-body details[open] summary{margin-bottom:10px}.abbrev-grid{grid-template-columns:1fr 140px auto;gap:6px 10px}.abbrev-grid>.small{font-size:13px}.toggles input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:36px;height:21px;border-radius:999px;border:none;background:#d4d7e0;cursor:pointer;flex-shrink:0;transition:background .2s}.toggles input[type=checkbox]:before{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggles input[type=checkbox]:checked{background:var(--accent)}.toggles input[type=checkbox]:checked:before{transform:translate(15px)}.toggles input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--ring)}.toggles input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.settings-page label.check{gap:12px;padding:12px 14px;margin-top:4px;border:1px solid var(--line);border-radius:12px;background:var(--subtle);font-weight:500}.preview-panel{padding:20px 22px;display:flex;flex-direction:column;gap:14px;animation:fade-in .2s ease-out}.preview-panel .card-head{margin-bottom:0}.verdict-change{white-space:nowrap}.verdict-change .icon{vertical-align:-2px;color:var(--faint)}.publish-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.publish-status{display:flex;align-items:center;gap:12px;min-width:0}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.pending{background:#f0a73a;box-shadow:0 0 0 4px #f0a73a2e}.status-dot.ready{background:#23b07d;box-shadow:0 0 0 4px #23b07d2e}.toggles td>input[type=checkbox]{display:block}.preview-panel{scroll-margin-top:96px}@media(max-width:640px){.settings-body .data-table{display:block;overflow-x:auto}.settings-body .data-table td{white-space:nowrap}.settings-body .data-table td:first-child{white-space:normal;min-width:180px}.publish-bar{padding:10px 12px;gap:8px}.publish-status .muted{display:none}.publish-bar .action-buttons{width:100%;gap:4px}.publish-bar .action-buttons button{padding:6px 10px;font-size:12.5px}.publish-bar .action-buttons button.primary{margin-left:auto}}.input-icon{position:relative;display:flex;align-items:center}.input-icon>.icon{position:absolute;left:12px;color:var(--faint);pointer-events:none}.input-icon input{width:100%;padding-left:38px}.input-icon .input-action{position:absolute;right:4px;width:30px;height:30px}.input-icon .input-action~input,.input-icon input:has(+.input-action){padding-right:40px}.login{display:grid;grid-template-columns:minmax(360px,5fr) 7fr;min-height:100vh}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:40px 44px;color:#fff;background:radial-gradient(600px 400px at 0% 0%,rgba(255,255,255,.16),transparent 60%),radial-gradient(500px 500px at 100% 100%,rgba(56,189,248,.35),transparent 60%),linear-gradient(150deg,#3d2fd6,#5b4ff0 45%,#2f6fe6);overflow:hidden}.login-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}.login-brand>*{position:relative;z-index:1}.login-brand .brand-mark{background:#ffffff29;border:1px solid rgba(255,255,255,.3);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-brand .brand-text span{color:#ffffffb3}.login-pitch h1{font-size:34px;line-height:1.15;letter-spacing:-.035em;font-weight:650;margin:0 0 28px;max-width:420px}.login-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:420px}.login-features li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-features li>span:last-child{display:flex;flex-direction:column;gap:1px}.login-features b{font-weight:600}.login-features li span span{color:#ffffffbf;font-size:13px}.login-feature-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffffff2e;flex-shrink:0}.login-foot{font-size:12px;color:#fff9}.login-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}.login-form .field+.field{margin-top:0}.login-form-head h2{font-size:26px;letter-spacing:-.03em;margin:0 0 4px}.login-form-head p{margin:0}.login-form input{padding-top:10px;padding-bottom:10px}.login-help{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.login-help p{margin:0}.login-help b{color:var(--ink-2);font-weight:550}@media(max-width:860px){.login{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-brand{padding:22px 20px;gap:0}.login-pitch,.login-foot{display:none}.login-main{align-items:flex-start;padding:32px 16px}}.people-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}@media(max-width:960px){.people-layout{grid-template-columns:1fr}}.people-panel{overflow:hidden}.people-panel .table-panel-head{border-bottom:1px solid var(--line)}.people-list{list-style:none;margin:0;padding:0}.person{display:grid;grid-template-columns:auto minmax(0,1fr) 150px 150px 32px;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);transition:background .15s}.person:hover{background:#fafaff}.person.inactive .avatar{filter:grayscale(1);opacity:.55}.person.inactive .person-id{opacity:.6}.person .avatar{width:38px;height:38px;font-size:13px}.avatar-admin{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6;border-color:#c4b5fd}.avatar-manager{background:linear-gradient(135deg,#fef4e4,#fde6c2);color:#9a5b00;border-color:var(--warn-line)}.avatar-approver{background:linear-gradient(135deg,#e6f6ee,#c9eedc);color:var(--ok);border-color:var(--ok-line)}.avatar-checker{background:linear-gradient(135deg,#e0f2fe,#cfe8fb);color:#0369a1;border-color:#a5d5f5}.person-id{min-width:0}.person-name-row{display:flex;align-items:center;gap:6px}.person .name-edit{width:auto;max-width:100%;font-weight:600;margin-left:-7px}.you-badge{font-size:10.5px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);padding:1px 7px;border-radius:999px;flex-shrink:0}.person-email{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-role select{width:100%}.person-access{flex-direction:row;align-items:center;gap:10px;font-weight:500;cursor:pointer}.access-on{color:var(--ok);font-size:12.5px}.access-off{color:var(--muted);font-size:12.5px}@media(max-width:640px){.person{grid-template-columns:auto minmax(0,1fr);padding:14px 16px;row-gap:10px}.person-role,.person-access{grid-column:2}.person>.icon-btn,.person>span:last-child{grid-column:2;justify-self:start}}.people-foot{display:flex;gap:10px;align-items:flex-start;padding:14px 20px;background:var(--subtle);font-size:12.5px;color:var(--muted)}.people-foot .icon{margin-top:2px;flex-shrink:0}.people-foot b{color:var(--ink-2)}.people-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}@media(max-width:960px){.people-side{position:static}}.add-panel,.roles-panel{padding:18px 20px}.add-form{display:flex;flex-direction:column;gap:14px}.add-form .field+.field{margin-top:0}.role-picker{display:grid;grid-template-columns:repeat(4,1fr);padding:3px;gap:2px;background:#0f14280d;border-radius:11px}.role-picker .seg{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted);padding:6px 4px;font-size:12.5px;border-radius:8px}.role-picker .seg:hover:not(:disabled){background:#fff9;border-color:transparent;color:var(--ink)}.role-picker .seg.active{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}.roles-panel h3{margin:0 0 2px;font-size:15px}.role-ladder{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.role-ladder li{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--ink-2)}.role-ladder li:last-child{border-bottom:none;padding-bottom:0}.role-chip{align-self:flex-start;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid}.role-admin{background:#f3f0ff;color:#5b21b6;border-color:#ddd6fe}.role-manager{background:var(--warn-soft);color:#9a5b00;border-color:var(--warn-line)}.role-approver{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.role-checker{background:#eaf6fe;color:#0369a1;border-color:#bfe0f7}.notif,.notif-btn{position:relative}.notif-badge{position:absolute;top:2px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--card)}.notif-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(380px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card)}.notif-empty{padding:18px 16px;line-height:1.5}.notif-list{list-style:none;margin:0;padding:6px}button.notif-item{display:flex;gap:10px;width:100%;text-align:left;align-items:flex-start;padding:10px;border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;font-weight:400;color:var(--ink-2)}button.notif-item:hover:not(:disabled){background:var(--subtle);border-color:transparent}button.notif-item.unread{background:var(--accent-soft);color:var(--ink)}button.notif-item.unread .notif-title{font-weight:600}.notif-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--subtle);color:var(--muted)}.notif-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.notif-icon.tone-bad{background:var(--bad-soft);color:var(--bad)}.notif-text{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-title{font-size:13px;overflow-wrap:anywhere}.notif-body{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.notif-meta{font-size:11.5px;color:var(--faint)}.fix-all{align-items:flex-start}.fix-all>.icon{flex:none;margin-top:6px}.pcard-actions{display:flex;flex-wrap:wrap;gap:8px}.finding-buttons{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.cell-editor{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius-sm);padding:14px;margin-bottom:14px}.cell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 12px}.cell-grid .field{margin:0;min-width:0}.cell-grid .field.wide{grid-column:1 / -1}.cell-grid .field.focused .field-label{color:var(--accent)}.cell-grid input,.cell-grid textarea{width:100%}.cell-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.price-card .card-head h3{display:flex;align-items:center;gap:6px}.price-hero{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.price-big{font-size:34px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.price-math{display:flex;flex-direction:column;gap:2px;font-size:13px;flex:1;min-width:200px}.price-down{color:var(--ok);font-weight:600}.price-up{color:var(--warn);font-weight:600}.price-actions{display:flex;gap:6px;align-items:center}.price-why{margin:12px 0 0;font-size:13.5px;color:var(--ink-2)}.competitor-list{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--line)}.competitor-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.competitor-title{min-width:0;overflow-wrap:anywhere}.competitor-price{font-variant-numeric:tabular-nums;white-space:nowrap}.competitor-median{color:var(--muted)}.count-pill.sev-medium{color:var(--warn);font-weight:600}.finding-top .sev{min-width:0;margin-top:2px}.notice-body{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.callout .fix-summary{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.callout .fix-summary ul{margin:2px 0 0;padding-left:18px}.fix-all-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.fix-all-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fix-all-head>span{flex:1;min-width:200px}.fix-list{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--accent-line);padding-top:10px}.fix-list-product{display:flex;flex-direction:column;gap:2px;font-size:13px}.fix-list-product>b{margin-bottom:2px}label.fix-list-item{flex-direction:row;align-items:center;gap:10px;padding:3px 0 3px 4px;font-weight:400;color:var(--ink);cursor:pointer}label.fix-list-item input{flex:none;margin:0}label.fix-list-item span{line-height:1.4}.card-fix-list{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-soft);padding:10px 12px;margin-top:-8px;gap:2px}.card-fix-list>.small{margin-bottom:4px}.example-product{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}.example-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.example-title{font-size:18px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.example-note{margin:0;font-size:12.5px;color:var(--muted)}.alt-example{font-size:13px;color:var(--ink-2);margin-top:2px}.send-box{align-items:flex-start}.send-box>.icon{flex:none;margin-top:6px}.send-box .fix-all-head{flex:1;min-width:0}.send-list{border-top:0;padding-top:0;max-height:50vh;overflow:auto}label.fix-list-item.held{cursor:default;color:var(--muted)}.csv-finish-bar{margin-top:18px;flex-wrap:nowrap}.csv-finish-bar .publish-status{flex:1 1 auto}.csv-finish-bar .finish-choices{flex:none;align-items:center;flex-wrap:nowrap}@media(max-width:760px){.csv-finish-bar,.csv-finish-bar .finish-choices{flex-wrap:wrap}}.send-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}dialog.modal.guide-modal{width:min(960px,calc(100% - 32px));height:min(720px,calc(100vh - 64px));overflow:hidden}.guide{display:grid;grid-template-columns:220px 1fr;height:100%}.guide-nav{background:var(--subtle);border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.guide-nav-title{font-size:11.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 10px 10px}.guide-nav button.guide-nav-item{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;text-align:left;padding:8px 10px;min-height:0;border-radius:9px;border:0;box-shadow:none;background:transparent;color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;transform:none}.guide-nav button.guide-nav-item:hover{background:var(--line)}.guide-nav button.guide-nav-item:focus{outline:none}.guide-nav button.guide-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.guide-nav button.guide-nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.guide-content{overflow-y:auto;padding:22px 28px 26px;font-size:14.5px;line-height:1.6}.guide-head{position:sticky;top:-22px;margin:-22px -28px 10px;padding:22px 28px 10px;background:var(--card);z-index:1}.guide-head h2{margin:0;font-size:20px}.guide-content h3{margin:22px 0 8px;font-size:15px}.guide-content p{margin:0 0 12px}.guide-steps,.guide-list{margin:0 0 12px;padding-left:22px;display:grid;gap:7px}.guide-list{list-style:disc}.guide-list li .icon,.guide-content p .icon{vertical-align:-2px}.guide-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px;color:var(--muted)}.guide-flow>span{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);font-size:13px;font-weight:600}.guide-table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:13.5px}.guide-table th,.guide-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--line)}.guide-table th{white-space:nowrap;font-weight:600;width:1%}.guide-tip{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;margin:6px 0 12px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:13.5px}.guide-tip .icon{flex-shrink:0;margin-top:3px;color:var(--accent)}.guide-tip-warn{background:var(--warn-soft);border-color:var(--warn-line)}.guide-tip-warn .icon{color:var(--warn)}.guide-faq dt{font-weight:600;margin-top:14px}.guide-faq dt:first-child{margin-top:0}.guide-faq dd{margin:4px 0 0;color:var(--muted)}.guide-foot{display:flex;justify-content:flex-end;margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}.guide-button{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){dialog.modal.guide-modal{height:calc(100vh - 32px)}.guide{grid-template-columns:1fr;grid-template-rows:auto 1fr}.guide-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.guide-nav-title{display:none}.guide-nav-item{width:auto;white-space:nowrap}.guide-content{padding:18px 16px 22px}.guide-head{top:-18px;margin:-18px -16px 10px;padding:18px 16px 10px}.guide-button-label{display:none}}
