.source-crop-gallery-backdrop[data-v-55f89e93]{z-index:235;padding:14px}.source-crop-gallery[data-v-55f89e93]{width:min(1040px,100%);height:min(820px,calc(100dvh - 28px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff;border-radius:7px;box-shadow:0 24px 70px #0000004d}.source-crop-gallery-header[data-v-55f89e93]{min-height:72px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.source-crop-gallery-header h2[data-v-55f89e93]{margin:1px 0 2px;display:flex;align-items:center;gap:7px;font-size:17px}.source-crop-gallery-header h2 i[data-v-55f89e93]{width:21px;height:21px;border:1px solid rgba(0,0,0,.14)}.source-crop-gallery-header span[data-v-55f89e93]{color:var(--muted);font-size:10px}.source-crop-grid[data-v-55f89e93]{min-height:0;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));align-content:start;gap:7px;overflow-y:auto;background:#eef0f2}.source-crop-item[data-v-55f89e93]{min-width:0;padding:4px;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;border:1px solid #cfd4d8;background:#fff;color:var(--ink);cursor:pointer}.source-crop-item[data-v-55f89e93]:hover,.source-crop-item[data-v-55f89e93]:focus-visible{border-color:#1677b8;box-shadow:0 0 0 2px #1677b829;outline:0}.source-crop-media[data-v-55f89e93]{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:#e3e6e8;color:var(--muted)}.source-crop-media img[data-v-55f89e93]{width:100%;height:100%;display:block;object-fit:contain;image-rendering:pixelated}.source-crop-label[data-v-55f89e93]{overflow:hidden;font-size:9px;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}.source-crop-edit-icon[data-v-55f89e93]{position:absolute;right:7px;bottom:7px;padding:2px;box-sizing:content-box;color:#fff;background:#075985e0;opacity:0}.source-crop-item:hover .source-crop-edit-icon[data-v-55f89e93],.source-crop-item:focus-visible .source-crop-edit-icon[data-v-55f89e93]{opacity:1}.source-crop-empty[data-v-55f89e93]{display:grid;place-content:center;justify-items:center;gap:7px;color:var(--muted);text-align:center}.source-crop-empty strong[data-v-55f89e93]{color:var(--ink)}.source-crop-empty span[data-v-55f89e93]{font-size:10px}.source-crop-gallery-footer[data-v-55f89e93]{min-height:60px;padding:8px 12px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid var(--line)}.source-crop-gallery-footer span[data-v-55f89e93]{margin-right:auto;color:var(--muted);font-size:10px}@media (max-width: 560px){.source-crop-gallery-backdrop[data-v-55f89e93]{padding:0}.source-crop-gallery[data-v-55f89e93]{width:100%;height:100dvh;border-radius:0}.source-crop-grid[data-v-55f89e93]{padding:7px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.source-crop-gallery-footer span[data-v-55f89e93]{display:none}.source-crop-gallery-footer button[data-v-55f89e93]{flex:1}}.coverage-table-section[data-v-0021df1b]{overflow:hidden;border:1px solid #d8dddf;background:#fff;box-shadow:0 10px 28px #1721260d}.table-heading[data-v-0021df1b]{min-height:94px;padding:17px 19px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.table-heading h2[data-v-0021df1b]{margin:4px 0;color:#172126;font-size:18px}.table-heading>div:first-child>span[data-v-0021df1b]{color:#778188;font-size:11px}.table-kicker[data-v-0021df1b]{color:#167a5b;font-size:10px;font-weight:800}.coverage-controls[data-v-0021df1b]{display:flex;align-items:center;gap:7px}.coverage-search[data-v-0021df1b]{width:190px;height:38px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #ccd3d5;background:#fff;color:#647079}.coverage-search[data-v-0021df1b]:focus-within{border-color:#167a5b;box-shadow:0 0 0 3px #167a5b1a}.coverage-search input[data-v-0021df1b]{width:100%;height:34px;padding:0;border:0;outline:0;font-size:12px}.coverage-controls select[data-v-0021df1b]{height:38px;padding:0 30px 0 10px;border:1px solid #ccd3d5;background:#fff;color:#354148;font-size:11px}.coverage-table-scroll[data-v-0021df1b]{max-height:620px;overflow:auto;border-top:1px solid #dfe4e5}table[data-v-0021df1b]{width:100%;border-collapse:collapse;color:#354148;font-size:12px;font-variant-numeric:tabular-nums}th[data-v-0021df1b]{position:sticky;top:0;z-index:2;height:42px;padding:0 14px;color:#647079;background:#f4f6f6;border-bottom:1px solid #d8dddf;font-size:10px;font-weight:800;text-align:left;white-space:nowrap}td[data-v-0021df1b]{height:52px;padding:0 14px;border-bottom:1px solid #e8ebec;white-space:nowrap}tbody tr[data-v-0021df1b]:hover{background:#f6faf8}.color-cell[data-v-0021df1b]{display:inline-flex;align-items:center;gap:9px}.color-cell i[data-v-0021df1b]{width:30px;height:30px;border:1px solid rgba(0,0,0,.16)}.color-cell strong[data-v-0021df1b]{color:#172126;font-size:12px}.table-priority[data-v-0021df1b]{min-width:44px;min-height:23px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid;font-size:9px;font-weight:800}.table-priority.critical[data-v-0021df1b]{color:#a13c2f;border-color:#e7aea5;background:#fff0ed}.table-priority.high[data-v-0021df1b]{color:#8a6114;border-color:#e2c67d;background:#fff8df}.table-priority.medium[data-v-0021df1b]{color:#365f75;border-color:#aec9d6;background:#eef7fb}.table-priority.covered[data-v-0021df1b]{color:#276350;border-color:#a8d3c4;background:#edf8f4}.coverage-progress[data-v-0021df1b]{width:118px;height:7px;display:block;overflow:hidden;background:#e2e7e5}.coverage-progress i[data-v-0021df1b]{height:100%;display:block;background:#6c8c96}.coverage-progress.tasks i[data-v-0021df1b]{background:#43a17d}@media (max-width: 720px){.table-heading[data-v-0021df1b]{align-items:stretch;flex-direction:column}.coverage-controls[data-v-0021df1b]{width:100%;display:grid;grid-template-columns:1fr 1fr}.coverage-search[data-v-0021df1b]{width:auto;grid-column:1 / -1}.coverage-table-scroll[data-v-0021df1b]{max-height:70vh}th[data-v-0021df1b],td[data-v-0021df1b]{padding:0 10px}}.heatmap-panel[data-v-dec2440f]{min-width:0;overflow:hidden;border:1px solid #d8dddf;background:#fff;box-shadow:0 10px 28px #1721260d}.heatmap-heading[data-v-dec2440f]{min-height:82px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e1e5e6}.heatmap-heading h2[data-v-dec2440f]{margin-top:4px;color:#172126;font-size:18px}.heatmap-heading>span[data-v-dec2440f]{color:#647079;font-size:12px}.heatmap-kicker[data-v-dec2440f]{display:flex;align-items:center;gap:6px;color:#167a5b;font-size:11px;font-weight:800}.family-tabs[data-v-dec2440f]{padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:4px;border-bottom:1px solid #e1e5e6;background:#f6f8f8}.family-tabs button[data-v-dec2440f]{min-width:0;height:44px;padding:5px 3px;display:grid;place-items:center;gap:2px;border:1px solid transparent;background:transparent;color:#647079;cursor:pointer}.family-tabs button[data-v-dec2440f]:hover{background:#fff;border-color:#d6dcde}.family-tabs button.active[data-v-dec2440f]{color:#116749;background:#fff;border-color:#70aa96;box-shadow:inset 0 -2px #167a5b}.family-tabs strong[data-v-dec2440f]{font-size:13px}.family-tabs small[data-v-dec2440f]{font-size:9px;font-variant-numeric:tabular-nums}.heatmap-grid[data-v-dec2440f]{min-height:116px;padding:13px;display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));align-content:start;gap:6px}.heatmap-grid button[data-v-dec2440f]{height:49px;min-width:0;position:relative;padding:0;overflow:hidden;border:1px solid #d9dddf;background:#fff;cursor:pointer}.heatmap-grid button[data-v-dec2440f]:hover{border-color:#667178;transform:translateY(-1px)}.heatmap-grid button.selected[data-v-dec2440f]{outline:2px solid #172126;outline-offset:1px}.heatmap-grid button.critical[data-v-dec2440f]{box-shadow:inset 0 -4px #c84d3b}.heatmap-grid button.high[data-v-dec2440f]{box-shadow:inset 0 -4px #c58a16}.heatmap-grid button.medium[data-v-dec2440f]{box-shadow:inset 0 -4px #4d8297}.heatmap-grid button.covered[data-v-dec2440f]{box-shadow:inset 0 -4px #167a5b}.heatmap-grid button>i[data-v-dec2440f]{width:100%;height:100%;display:block}.heatmap-grid button>span[data-v-dec2440f]{position:absolute;right:2px;bottom:5px;left:2px;padding:2px;overflow:hidden;color:#172126;background:#ffffffe0;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.color-focus[data-v-dec2440f]{margin:0;padding:16px 18px 18px;display:grid;gap:14px;color:#dfe9e5;border-top:1px solid #d8dddf;background:#1f2b2d}.color-focus>header[data-v-dec2440f]{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px}.color-focus>header>i[data-v-dec2440f]{width:44px;height:44px;border:1px solid rgba(255,255,255,.35)}.color-focus>header div[data-v-dec2440f]{display:grid;gap:3px}.color-focus>header span[data-v-dec2440f]{color:#9fb0ad;font-size:10px}.color-focus>header strong[data-v-dec2440f]{color:#fff;font-size:20px}.color-focus>header em[data-v-dec2440f]{padding:4px 6px;color:#fff;border:1px solid #6b7778;font-size:9px;font-style:normal;font-weight:800}.color-focus>header em.critical[data-v-dec2440f]{color:#ffb6ac;border-color:#a94b3f}.color-focus>header em.high[data-v-dec2440f]{color:#f0cc79;border-color:#876b2d}.color-focus>header em.covered[data-v-dec2440f]{color:#8fd1b9;border-color:#3a8269}.color-focus>p[data-v-dec2440f]{min-height:38px;color:#b9c6c3;font-size:12px;line-height:1.55}.color-focus dl[data-v-dec2440f]{display:grid;gap:12px}.color-focus dl>div[data-v-dec2440f]{display:grid;gap:6px}.color-focus dt[data-v-dec2440f]{display:flex;justify-content:space-between;color:#aebbb8;font-size:10px}.color-focus dt b[data-v-dec2440f]{color:#fff;font-size:11px;font-variant-numeric:tabular-nums}.color-focus dd[data-v-dec2440f]{height:6px;overflow:hidden;background:#465254}.color-focus dd i[data-v-dec2440f]{height:100%;display:block;background:#51ad8b}.color-focus footer[data-v-dec2440f]{padding-top:12px;display:flex;align-items:center;gap:7px;border-top:1px solid #465254;color:#f0cc79;font-size:11px;font-weight:700}.color-focus footer.covered[data-v-dec2440f]{color:#8fd1b9}@media (max-width: 920px){.color-focus[data-v-dec2440f]{grid-template-columns:1fr}}.metric-strip[data-v-e16f83e5]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d8dddf;background:#fff;box-shadow:0 10px 28px #1721260f}.metric-item[data-v-e16f83e5]{min-width:0;min-height:138px;padding:20px 22px 18px;display:grid;align-content:space-between;gap:9px;border-left:1px solid #e2e6e7}.metric-item[data-v-e16f83e5]:first-child{border-left:0}.metric-primary[data-v-e16f83e5]{box-shadow:inset 0 4px #167a5b}.metric-attention[data-v-e16f83e5]{box-shadow:inset 0 4px #c58a16}.metric-label[data-v-e16f83e5]{display:flex;align-items:center;gap:8px;color:#647079;font-size:13px;font-weight:700}.metric-item strong[data-v-e16f83e5]{color:#172126;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.metric-item strong em[data-v-e16f83e5]{margin-left:5px;color:#8b959b;font-size:15px;font-style:normal;font-weight:600}.metric-item small[data-v-e16f83e5]{color:#7a858c;font-size:12px;line-height:1.4}@media (max-width: 800px){.metric-strip[data-v-e16f83e5]{grid-template-columns:1fr 1fr}.metric-item[data-v-e16f83e5]:nth-child(3){border-left:0}.metric-item[data-v-e16f83e5]:nth-child(n+3){border-top:1px solid #e2e6e7}}@media (max-width: 480px){.metric-item[data-v-e16f83e5]{min-height:118px;padding:16px}.metric-item strong[data-v-e16f83e5]{font-size:25px}}.trend-panel[data-v-02aa1099]{min-width:0;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);border:1px solid #d8dddf;background:#fff;box-shadow:0 10px 28px #1721260d}.trend-main[data-v-02aa1099]{min-width:0;padding:19px 20px 16px}.trend-heading[data-v-02aa1099]{display:flex;align-items:center;justify-content:space-between;gap:12px}.trend-heading p[data-v-02aa1099]{display:flex;align-items:center;gap:6px;color:#167a5b;font-size:11px;font-weight:800}.trend-heading h2[data-v-02aa1099]{margin-top:4px;color:#172126;font-size:18px}.trend-mode[data-v-02aa1099]{padding:3px;display:flex;background:#edf0f0}.trend-mode button[data-v-02aa1099]{min-width:54px;height:30px;padding:0 10px;border:0;background:transparent;color:#647079;font-size:11px;font-weight:700;cursor:pointer}.trend-mode button.active[data-v-02aa1099]{color:#116749;background:#fff;box-shadow:0 1px 4px #1721261f}.trend-summary[data-v-02aa1099]{margin-top:20px;display:flex;gap:30px}.trend-summary>div[data-v-02aa1099]{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 8px}.trend-summary span[data-v-02aa1099]{grid-column:1 / -1;color:#778188;font-size:10px}.trend-summary strong[data-v-02aa1099]{color:#172126;font-size:20px;font-variant-numeric:tabular-nums}.trend-summary small[data-v-02aa1099]{color:#778188;font-size:9px}.trend-chart[data-v-02aa1099]{height:215px;position:relative;margin-top:8px;padding-left:40px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 52px,#e6e9ea 53px,transparent 54px)}.axis-label[data-v-02aa1099]{position:absolute;left:0;color:#879096;font-size:9px;font-variant-numeric:tabular-nums}.axis-top[data-v-02aa1099]{top:10px}.axis-mid[data-v-02aa1099]{top:102px}.chart-bars[data-v-02aa1099]{height:100%;display:grid;grid-template-columns:repeat(30,minmax(4px,1fr));align-items:end;gap:4px}.mode-weekly .chart-bars[data-v-02aa1099]{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:14px}.chart-bars>div[data-v-02aa1099]{height:100%;min-width:0;position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:5px}.chart-bars i[data-v-02aa1099]{min-height:0;display:block;background:#55a98a;transition:height .2s ease}.chart-bars small[data-v-02aa1099]{height:13px;overflow:hidden;color:#7d878d;font-size:8px;text-align:center;white-space:nowrap}.mode-daily .chart-bars>div:not(:nth-child(5n+1)) small[data-v-02aa1099]{color:transparent}.chart-bars .trend-peak i[data-v-02aa1099]{background:#c58a16}.chart-bars .trend-peak>b[data-v-02aa1099]{position:absolute;top:3px;left:50%;display:flex;align-items:center;gap:2px;transform:translate(-50%);color:#9a6810;font-size:8px;white-space:nowrap}.trend-breakdown[data-v-02aa1099]{padding:19px;display:grid;align-content:start;gap:22px;border-left:1px solid #e1e5e6;background:#f7f9f9}.trend-breakdown>header[data-v-02aa1099]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;color:#167a5b}.trend-breakdown>header strong[data-v-02aa1099]{color:#172126;font-size:14px}.trend-breakdown>header span[data-v-02aa1099]{grid-column:2;color:#7b858b;font-size:10px}.trend-breakdown section[data-v-02aa1099]{display:grid;gap:10px}.trend-breakdown h3[data-v-02aa1099]{color:#647079;font-size:10px}.breakdown-row[data-v-02aa1099]{display:grid;grid-template-columns:1fr auto;gap:5px 9px}.breakdown-row span[data-v-02aa1099]{color:#465158;font-size:11px}.breakdown-row strong[data-v-02aa1099]{color:#172126;font-size:11px;font-variant-numeric:tabular-nums}.breakdown-row>i[data-v-02aa1099]{grid-column:1 / -1;height:5px;overflow:hidden;background:#e0e5e4}.breakdown-row>i b[data-v-02aa1099]{height:100%;display:block;background:#55a98a}.status-row>i b[data-v-02aa1099]{background:#718a92}@media (max-width: 850px){.trend-panel[data-v-02aa1099]{grid-template-columns:1fr}.trend-breakdown[data-v-02aa1099]{grid-template-columns:1fr 1fr;border-top:1px solid #e1e5e6;border-left:0}.trend-breakdown>header[data-v-02aa1099]{grid-column:1 / -1}}@media (max-width: 560px){.trend-main[data-v-02aa1099]{padding:16px 12px}.trend-summary[data-v-02aa1099]{gap:16px}.trend-chart[data-v-02aa1099]{height:190px;padding-left:34px}.chart-bars[data-v-02aa1099]{gap:2px}.trend-breakdown[data-v-02aa1099]{grid-template-columns:1fr}.trend-breakdown>header[data-v-02aa1099]{grid-column:auto}.mode-weekly .chart-bars[data-v-02aa1099]{gap:7px}}.recommendation-panel[data-v-0ed0a17f]{min-width:0;overflow:hidden;border:1px solid #d8dddf;border-top:4px solid #167a5b;background:#fff;box-shadow:0 10px 28px #1721260f}.recommendation-heading[data-v-0ed0a17f]{min-height:102px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dfe4e5}.recommendation-heading h2[data-v-0ed0a17f]{margin:4px 0;color:#172126;font-size:20px}.recommendation-heading>div:first-child>span[data-v-0ed0a17f]{color:#6f7a80;font-size:12px}.recommendation-kicker[data-v-0ed0a17f]{color:#167a5b;font-size:11px;font-weight:800}.recommendation-targets[data-v-0ed0a17f]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.recommendation-targets span[data-v-0ed0a17f]{min-height:31px;padding:0 9px;display:inline-flex;align-items:center;gap:6px;color:#526067;border:1px solid #d9dfe0;background:#f5f7f7;font-size:10px;font-weight:700}.recommendation-list[data-v-0ed0a17f]{display:grid}.recommendation-item[data-v-0ed0a17f]{width:100%;min-width:0;min-height:88px;padding:13px 16px;display:grid;grid-template-columns:28px 40px minmax(190px,1fr) minmax(120px,.7fr) minmax(110px,.62fr) minmax(105px,auto) 22px;align-items:center;gap:12px;border:0;border-top:1px solid #e3e7e8;background:#fff;color:#172126;text-align:left;cursor:pointer}.recommendation-item[data-v-0ed0a17f]:first-child{border-top:0}.recommendation-item[data-v-0ed0a17f]:hover{background:#f7faf9}.recommendation-item.selected[data-v-0ed0a17f]{background:#eef7f4;box-shadow:inset 4px 0 #167a5b}.recommendation-rank[data-v-0ed0a17f]{color:#8a9499;font-size:11px;font-variant-numeric:tabular-nums}.recommendation-swatch[data-v-0ed0a17f]{width:40px;height:40px;border:1px solid rgba(0,0,0,.17);box-shadow:inset 0 0 0 1px #ffffff59}.recommendation-copy[data-v-0ed0a17f]{min-width:0;display:grid;gap:6px}.recommendation-copy>span[data-v-0ed0a17f]{display:flex;align-items:center;gap:7px}.recommendation-copy strong[data-v-0ed0a17f]{font-size:16px}.recommendation-copy em[data-v-0ed0a17f]{min-height:21px;padding:0 6px;display:inline-flex;align-items:center;color:#47616a;border:1px solid #bdcdd2;background:#f2f7f8;font-size:9px;font-style:normal;font-weight:800}.recommendation-copy em.critical[data-v-0ed0a17f]{color:#a23e31;border-color:#e7aea5;background:#fff0ed}.recommendation-copy em.high[data-v-0ed0a17f]{color:#8a6114;border-color:#e2c67d;background:#fff8df}.recommendation-copy small[data-v-0ed0a17f]{overflow:hidden;color:#6b777d;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.recommendation-progress[data-v-0ed0a17f]{min-width:0;display:grid;gap:7px}.recommendation-progress>span[data-v-0ed0a17f]{display:flex;justify-content:space-between;gap:6px}.recommendation-progress small[data-v-0ed0a17f]{color:#778188;font-size:9px}.recommendation-progress b[data-v-0ed0a17f]{font-size:10px;font-variant-numeric:tabular-nums}.recommendation-progress>i[data-v-0ed0a17f]{height:6px;overflow:hidden;background:#e2e7e5}.recommendation-progress>i b[data-v-0ed0a17f]{height:100%;display:block;background:#43a17d}.task-progress>i b[data-v-0ed0a17f]{background:#6c8c96}.recommendation-gap[data-v-0ed0a17f]{display:grid;justify-items:start;gap:4px}.recommendation-gap>span[data-v-0ed0a17f]{display:flex;align-items:center;gap:3px;color:#a46c10;font-size:10px;font-weight:800;white-space:nowrap}.recommendation-arrow[data-v-0ed0a17f]{color:#8b959a}.recommendation-item.selected .recommendation-arrow[data-v-0ed0a17f]{color:#167a5b}.recommendation-empty[data-v-0ed0a17f]{min-height:140px;display:flex;align-items:center;justify-content:center;gap:8px;color:#167a5b;font-size:12px}@media (max-width: 1120px){.recommendation-item[data-v-0ed0a17f]{grid-template-columns:24px 36px minmax(180px,1fr) minmax(110px,.7fr) minmax(100px,auto) 20px}.task-progress[data-v-0ed0a17f]{display:none}}@media (max-width: 720px){.recommendation-heading[data-v-0ed0a17f]{align-items:flex-start;flex-direction:column}.recommendation-targets[data-v-0ed0a17f]{justify-content:flex-start}.recommendation-item[data-v-0ed0a17f]{grid-template-columns:24px 36px minmax(0,1fr) 18px;padding:12px;gap:9px}.recommendation-progress[data-v-0ed0a17f]{grid-column:3}.recommendation-gap[data-v-0ed0a17f]{grid-column:3;display:flex;flex-wrap:wrap}.recommendation-arrow[data-v-0ed0a17f]{grid-column:4;grid-row:1 / span 3}.recommendation-copy small[data-v-0ed0a17f]{white-space:normal}}.training-dashboard[data-v-d32c5f8e]{padding:34px 0 76px;display:grid;gap:18px;color:#172126}.dashboard-heading[data-v-d32c5f8e]{min-height:78px;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.dashboard-heading h1[data-v-d32c5f8e]{margin:4px 0 7px;font-size:27px}.dashboard-heading>div:first-child>p[data-v-d32c5f8e]:last-child{color:#647079;font-size:13px}.dashboard-kicker[data-v-d32c5f8e]{color:#167a5b;font-size:11px;font-weight:800}.dashboard-refresh[data-v-d32c5f8e]{display:flex;align-items:center;gap:11px}.dashboard-refresh>span[data-v-d32c5f8e]{color:#768087;font-size:11px}.dashboard-refresh .secondary[data-v-d32c5f8e]{min-height:38px}.dashboard-loading[data-v-d32c5f8e]{min-height:390px;display:flex;align-items:center;justify-content:center;gap:9px;color:#167a5b;font-size:13px}.decision-intro[data-v-d32c5f8e]{min-height:64px;padding:10px 16px;display:grid;grid-template-columns:auto auto minmax(240px,1fr);align-items:center;gap:18px;border-left:4px solid #c58a16;background:#fff8e7}.decision-intro>div[data-v-d32c5f8e]{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.decision-intro strong[data-v-d32c5f8e]{color:#9a6810;font-size:22px;font-variant-numeric:tabular-nums}.decision-intro span[data-v-d32c5f8e]{color:#725b30;font-size:11px}.decision-intro p[data-v-d32c5f8e]{justify-self:end;color:#665b47;font-size:12px;line-height:1.55;text-align:right}.decision-intro b[data-v-d32c5f8e]{color:#4d4332;font-variant-numeric:tabular-nums}.dashboard-decision-grid[data-v-d32c5f8e]{min-width:0;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(360px,.85fr);align-items:stretch;gap:18px}@media (max-width: 1080px){.dashboard-decision-grid[data-v-d32c5f8e]{grid-template-columns:1fr}.decision-intro[data-v-d32c5f8e]{grid-template-columns:auto auto 1fr}}@media (max-width: 720px){.training-dashboard[data-v-d32c5f8e]{width:min(100% - 24px,760px);padding-top:24px}.dashboard-heading[data-v-d32c5f8e]{flex-direction:column}.dashboard-refresh[data-v-d32c5f8e]{width:100%;justify-content:space-between}.decision-intro[data-v-d32c5f8e]{grid-template-columns:1fr 1fr}.decision-intro p[data-v-d32c5f8e]{grid-column:1 / -1;justify-self:start;text-align:left}.dashboard-decision-grid[data-v-d32c5f8e]{grid-template-columns:minmax(0,1fr)}}.delete-task-backdrop[data-v-c34dcaf4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:280;padding:18px;display:grid;place-items:center;background:#191f25ad}.delete-task-modal[data-v-c34dcaf4]{width:min(520px,100%);overflow:hidden;background:#fff;border-radius:7px;box-shadow:0 26px 80px #00000057}.delete-task-modal>header[data-v-c34dcaf4]{min-height:76px;padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.delete-task-modal h2[data-v-c34dcaf4]{margin-top:2px;font-size:17px;overflow-wrap:anywhere}.delete-task-icon[data-v-c34dcaf4]{width:40px;height:40px;display:grid;place-items:center;color:#ad3b2e;background:var(--coral-soft);border:1px solid #efc4bc;border-radius:5px}.delete-task-content[data-v-c34dcaf4]{padding:16px;display:grid;gap:15px}.delete-task-content>p[data-v-c34dcaf4]:first-child{color:#555f68;font-size:12px;line-height:1.65}.delete-task-boundary[data-v-c34dcaf4]{padding:9px 10px;color:#7d5515;background:#fff7e8;border:1px solid #efd49e;font-size:11px;line-height:1.55}.delete-task-content dl[data-v-c34dcaf4]{display:grid;gap:5px}.delete-task-content dl>div[data-v-c34dcaf4]{min-width:0;display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;font-size:11px}.delete-task-content dt[data-v-c34dcaf4]{color:var(--muted)}.delete-task-content dd[data-v-c34dcaf4]{overflow-wrap:anywhere;font-family:Consolas,monospace}.delete-task-content label[data-v-c34dcaf4]{display:grid;gap:7px;color:#424b55;font-size:12px}.delete-task-content label strong[data-v-c34dcaf4]{color:#a4382c;font-family:Consolas,monospace}.delete-task-modal>footer[data-v-c34dcaf4]{min-height:62px;padding:10px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:#fafbfb}.delete-task-confirm[data-v-c34dcaf4]{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #a93629;border-radius:5px;color:#fff;background:#b53f30;font-weight:700;font-size:13px;cursor:pointer}.delete-task-confirm[data-v-c34dcaf4]:hover:not(:disabled){background:#9f3327}.delete-task-confirm[data-v-c34dcaf4]:disabled{cursor:not-allowed;opacity:.45}@media (max-width: 560px){.delete-task-backdrop[data-v-c34dcaf4]{padding:10px}.delete-task-modal>footer button[data-v-c34dcaf4]{flex:1}}.comparison-backdrop[data-v-50e1e878]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;padding:18px;display:grid;place-items:center;background:#191f25ad}.comparison-modal[data-v-50e1e878]{width:min(1480px,100%);height:min(920px,calc(100dvh - 36px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#fff;border-radius:7px;box-shadow:0 26px 80px #00000057}.comparison-header[data-v-50e1e878]{min-height:76px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.comparison-header h2[data-v-50e1e878]{margin:2px 0;font-size:17px;overflow-wrap:anywhere}.comparison-header span[data-v-50e1e878]{color:var(--muted);font-size:10px}.comparison-content[data-v-50e1e878]{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#e9ecef}.comparison-pane[data-v-50e1e878]{min-width:0;min-height:0;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#f7f8f9}.comparison-pane>figcaption[data-v-50e1e878]{min-height:48px;padding:0 13px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);background:#fff}.comparison-pane>figcaption span[data-v-50e1e878]{margin-left:auto;color:var(--muted);font-size:10px}.original-pane[data-v-50e1e878]{border-right:1px solid #bfc5ca}.comparison-image-stage[data-v-50e1e878]{min-height:0;padding:14px;display:grid;place-items:center;overflow:auto;background:#dfe3e6}.comparison-image-stage img[data-v-50e1e878]{width:100%;height:100%;display:block;object-fit:contain}.comparison-generated[data-v-50e1e878]{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 220px}.generated-stage[data-v-50e1e878]{background:#f1f3f4}.generated-stage img[data-v-50e1e878]{image-rendering:pixelated}.comparison-loading[data-v-50e1e878]{display:grid;place-items:center;gap:8px;color:var(--violet);font-size:11px}.comparison-palette[data-v-50e1e878]{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border-left:1px solid var(--line);background:#fff}.comparison-palette>header[data-v-50e1e878]{min-height:103px;padding:9px 10px;display:grid;align-content:center;gap:7px;border-bottom:1px solid var(--line)}.comparison-palette-heading[data-v-50e1e878]{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.comparison-palette h3[data-v-50e1e878]{margin:2px 0 0;font-size:14px}.comparison-palette-heading>span[data-v-50e1e878]{color:var(--muted);font-size:10px}.comparison-palette .color-sort-control[data-v-50e1e878]{width:100%}.comparison-palette .color-sort-control button[data-v-50e1e878]{min-width:0;flex:1}.comparison-color-list[data-v-50e1e878]{min-height:0;padding:7px;display:grid;align-content:start;gap:3px;overflow-y:auto}.comparison-color-list>div[data-v-50e1e878]{min-height:39px;padding:4px;display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:7px;border-bottom:1px solid #eceef0}.comparison-color-list i[data-v-50e1e878]{width:27px;height:27px;border:1px solid rgba(0,0,0,.14)}.comparison-color-list span[data-v-50e1e878]{min-width:0;display:grid}.comparison-color-list strong[data-v-50e1e878]{font-size:10px}.comparison-color-list small[data-v-50e1e878]{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.comparison-color-list b[data-v-50e1e878]{font-size:11px;font-variant-numeric:tabular-nums}@media (max-width: 980px){.comparison-content[data-v-50e1e878]{grid-template-columns:1fr;overflow-y:auto}.comparison-pane[data-v-50e1e878]{min-height:55vh}.original-pane[data-v-50e1e878]{border-right:0;border-bottom:1px solid #bfc5ca}.comparison-generated[data-v-50e1e878]{min-height:58vh}}@media (max-width: 620px){.comparison-backdrop[data-v-50e1e878]{padding:0}.comparison-modal[data-v-50e1e878]{width:100%;height:100dvh;border-radius:0}.comparison-generated[data-v-50e1e878]{grid-template-columns:1fr;grid-template-rows:minmax(380px,1fr) auto}.comparison-palette[data-v-50e1e878]{height:280px;max-height:320px;border-left:0;border-top:1px solid var(--line)}.comparison-pane>figcaption span[data-v-50e1e878]{display:none}}.legend-selector-viewport[data-v-84051c8c]{overflow:auto;min-height:0;background:#eef1f4}.legend-selector-stage[data-v-84051c8c]{position:relative;width:100%;min-width:420px;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.legend-selector-stage.dragging[data-v-84051c8c]{cursor:grabbing}.legend-selector-stage.disabled[data-v-84051c8c]{cursor:default}.legend-selector-stage>img[data-v-84051c8c]{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.legend-manual-selection[data-v-84051c8c]{position:absolute;z-index:6;box-sizing:border-box;border:2px solid #d97706;background:#f59e0b1a;cursor:move}.legend-manual-selection>span[data-v-84051c8c]{position:absolute;top:0;left:0;padding:3px 6px;color:#fff;background:#b45309;font-size:12px;line-height:1.2;pointer-events:none}.legend-manual-selection>button[data-v-84051c8c]{position:absolute;width:14px;height:14px;padding:0;border:2px solid white;border-radius:50%;background:#b45309;box-shadow:0 0 0 1px #92400e}.legend-manual-selection>.nw[data-v-84051c8c]{left:-8px;top:-8px;cursor:nwse-resize}.legend-manual-selection>.ne[data-v-84051c8c]{right:-8px;top:-8px;cursor:nesw-resize}.legend-manual-selection>.se[data-v-84051c8c]{right:-8px;bottom:-8px;cursor:nwse-resize}.legend-manual-selection>.sw[data-v-84051c8c]{left:-8px;bottom:-8px;cursor:nesw-resize}.legend-review-backdrop[data-v-e9019d21]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:280;padding:16px;display:grid;place-items:center;background:#181e23b8}.legend-review-modal[data-v-e9019d21]{width:min(1500px,100%);height:min(940px,calc(100dvh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#fff;border-radius:7px;box-shadow:0 28px 80px #00000057}.legend-review-header[data-v-e9019d21]{min-height:76px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.legend-review-header h2[data-v-e9019d21]{margin:2px 0;font-size:17px;overflow-wrap:anywhere}.legend-review-header span[data-v-e9019d21]{color:var(--muted);font-size:10px}.legend-review-content[data-v-e9019d21]{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.82fr)}.legend-review-state[data-v-e9019d21]{min-height:360px;display:grid;place-content:center;justify-items:center;gap:9px;color:var(--muted);text-align:center}.legend-review-state.error[data-v-e9019d21]{color:var(--coral)}.legend-source-pane[data-v-e9019d21],.legend-entry-pane[data-v-e9019d21]{min-width:0;min-height:0;display:grid;overflow:hidden}.legend-source-pane[data-v-e9019d21]{grid-template-rows:auto auto minmax(0,1fr) auto;background:#e2e6e8;border-right:1px solid var(--line)}.legend-gate-bar[data-v-e9019d21]{min-height:52px;padding:8px 12px;display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid var(--line);background:#fff}.legend-gate-bar>i[data-v-e9019d21]{width:12px;height:12px;border-radius:50%;background:#8b949b;box-shadow:0 0 0 4px #8b949b24}.legend-gate-bar>div[data-v-e9019d21]{min-width:0;display:grid;gap:2px}.legend-gate-bar strong[data-v-e9019d21]{font-size:12px}.legend-gate-bar span[data-v-e9019d21],.legend-gate-bar small[data-v-e9019d21]{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.legend-gate-bar.green>i[data-v-e9019d21]{background:#27845f;box-shadow:0 0 0 4px #27845f24}.legend-gate-bar.yellow>i[data-v-e9019d21]{background:#d28a16;box-shadow:0 0 0 4px #d28a1629}.legend-gate-bar.red>i[data-v-e9019d21]{background:#c7463a;box-shadow:0 0 0 4px #c7463a24}.legend-region-tabs[data-v-e9019d21]{min-height:48px;padding:7px;display:flex;gap:6px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--line)}.legend-region-tabs button[data-v-e9019d21]{min-width:110px;padding:5px 8px;display:grid;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.legend-region-tabs button.active[data-v-e9019d21]{border-color:var(--violet);background:var(--violet-soft)}.legend-region-tabs small[data-v-e9019d21]{color:var(--muted);font-size:9px}.legend-region-tabs>span[data-v-e9019d21]{padding:7px;color:var(--muted);font-size:10px}.legend-source-viewport[data-v-e9019d21]{min-height:0;padding:12px;overflow:auto}.legend-source-stage[data-v-e9019d21]{width:100%;position:relative;background:#fff}.legend-source-stage>img[data-v-e9019d21]{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;display:block;object-fit:fill}.legend-region-box[data-v-e9019d21],.legend-entry-box[data-v-e9019d21]{position:absolute;box-sizing:border-box;pointer-events:none}.legend-region-box[data-v-e9019d21]{border:2px solid rgba(22,119,184,.75);background:#1677b80d}.legend-region-box.active[data-v-e9019d21]{border-width:3px;border-color:#075985}.legend-region-box.rejected[data-v-e9019d21]{border-color:#a64134;background:#a6413414}.legend-entry-box[data-v-e9019d21]{min-width:7px;min-height:7px;pointer-events:auto;cursor:pointer;border:1px solid #e34d3d;background:#f2d05e2e}.legend-entry-box.selected[data-v-e9019d21]{border:2px solid #075985;background:#1677b842}.legend-entry-box.rejected[data-v-e9019d21]{opacity:.35}.legend-region-actions[data-v-e9019d21],.legend-batch-actions[data-v-e9019d21]{min-height:60px;padding:8px 12px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid var(--line);background:#fff}.legend-region-actions span[data-v-e9019d21],.legend-batch-actions span[data-v-e9019d21]{margin-right:auto;color:var(--muted);font-size:10px}.legend-region-actions .secondary.active[data-v-e9019d21]{border-color:#b45309;color:#92400e;background:#fff7ed}.legend-entry-pane[data-v-e9019d21]{grid-template-rows:auto auto minmax(0,1fr) auto;background:#f4f5f6}.legend-entry-toolbar[data-v-e9019d21]{min-height:56px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-bottom:1px solid var(--line)}.legend-entry-toolbar label[data-v-e9019d21]{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.legend-save-strip[data-v-e9019d21]{min-height:34px;padding:7px 10px;display:flex;align-items:center;gap:6px;color:#276650;background:var(--green-soft);font-size:10px}.legend-save-strip.error[data-v-e9019d21]{color:#a64134;background:var(--coral-soft)}.legend-entry-list[data-v-e9019d21]{min-height:0;padding:8px;display:grid;align-content:start;gap:6px;overflow-y:auto}.legend-entry-row[data-v-e9019d21]{min-width:0;min-height:78px;padding:6px;display:grid;grid-template-columns:22px 72px minmax(150px,1fr) auto;align-items:center;gap:7px;border:1px solid var(--line);background:#fff}.legend-entry-row.unverified[data-v-e9019d21]{border-left:3px solid #d39727}.legend-entry-row.confirmed[data-v-e9019d21],.legend-entry-row.corrected[data-v-e9019d21]{border-left:3px solid #3c8b69}.legend-entry-row.rejected[data-v-e9019d21]{opacity:.64;border-left:3px solid #ad4a3f}.legend-entry-select[data-v-e9019d21]{display:grid;place-items:center}.legend-entry-crop[data-v-e9019d21]{width:72px;aspect-ratio:2.3;display:grid;place-items:center;overflow:hidden;background:#e3e6e8;color:var(--muted)}.legend-entry-crop img[data-v-e9019d21]{width:100%;height:100%;display:block;object-fit:contain}.legend-entry-copy[data-v-e9019d21]{min-width:0;display:grid;gap:3px}.legend-entry-value[data-v-e9019d21]{display:flex;align-items:center;gap:6px}.legend-entry-value i[data-v-e9019d21]{width:18px;height:18px;border:1px solid rgba(0,0,0,.14)}.legend-entry-value strong[data-v-e9019d21]{font-size:13px}.legend-entry-value b[data-v-e9019d21]{color:var(--muted);font-size:10px}.legend-entry-copy>span[data-v-e9019d21]{color:var(--muted);font-size:9px}.legend-entry-copy>small[data-v-e9019d21]{width:max-content;padding:2px 5px;color:#8a5a16;background:#fff4d7;font-size:8px;font-weight:800}.legend-entry-copy>small.confirmed[data-v-e9019d21],.legend-entry-copy>small.corrected[data-v-e9019d21]{color:#276650;background:var(--green-soft)}.legend-entry-copy>small.rejected[data-v-e9019d21]{color:#a64134;background:var(--coral-soft)}.legend-entry-actions[data-v-e9019d21]{display:flex;gap:4px}.legend-entry-actions .success[data-v-e9019d21]{color:#276650}.legend-entry-actions .danger[data-v-e9019d21]{color:#a64134}.legend-entry-editor[data-v-e9019d21]{min-width:0;grid-column:3 / 5;display:grid;grid-template-columns:minmax(100px,1fr) 88px 58px 32px 32px;align-items:end;gap:5px}.legend-entry-editor label[data-v-e9019d21]{min-width:0;display:grid;gap:3px;color:var(--muted);font-size:8px}.legend-entry-editor input[data-v-e9019d21]{width:100%;min-width:0;height:31px;padding:4px 6px;border:1px solid var(--line)}.legend-entry-editor input[type=color][data-v-e9019d21]{padding:2px}.legend-entry-empty[data-v-e9019d21]{min-height:220px;padding:18px;display:grid;place-content:center;justify-items:center;gap:7px;color:var(--muted);text-align:center}.legend-entry-empty span[data-v-e9019d21]{max-width:360px;font-size:10px}.legend-entry-empty small[data-v-e9019d21]{max-width:420px;font-size:9px}@media (max-width: 960px){.legend-review-backdrop[data-v-e9019d21]{padding:0}.legend-review-modal[data-v-e9019d21]{width:100%;height:100dvh;border-radius:0}.legend-review-content[data-v-e9019d21]{grid-template-columns:1fr;grid-template-rows:minmax(260px,44%) minmax(0,1fr)}.legend-source-pane[data-v-e9019d21]{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width: 560px){.legend-review-header[data-v-e9019d21]{min-height:68px;padding:9px 10px}.legend-review-header h2[data-v-e9019d21]{font-size:14px}.legend-review-content[data-v-e9019d21]{grid-template-rows:minmax(220px,38%) minmax(0,1fr)}.legend-entry-toolbar[data-v-e9019d21]{align-items:stretch;flex-direction:column}.legend-entry-toolbar .segmented[data-v-e9019d21]{width:100%}.legend-entry-toolbar .segmented button[data-v-e9019d21]{flex:1;padding-inline:4px}.legend-entry-row[data-v-e9019d21]{grid-template-columns:20px 56px minmax(0,1fr) auto}.legend-entry-crop[data-v-e9019d21]{width:56px}.legend-entry-editor[data-v-e9019d21]{grid-column:3 / 5;grid-template-columns:1fr 74px 50px}.legend-entry-editor .icon-button[data-v-e9019d21]{grid-row:2}.legend-region-actions span[data-v-e9019d21],.legend-batch-actions span[data-v-e9019d21]{display:none}.legend-region-actions button[data-v-e9019d21],.legend-batch-actions button[data-v-e9019d21]{flex:1}}:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#20262d;background:#f4f5f6;font-synthesis:none;--ink: #20262d;--muted: #6b737d;--line: #dce0e4;--line-strong: #c8ced4;--surface: #fff;--soft: #eef0f2;--violet: #6251d8;--violet-dark: #4e3fc0;--violet-soft: #efedff;--green: #168765;--green-soft: #e6f4ee;--coral: #d45443;--coral-soft: #fff0ed;--amber: #996314;--shadow: 0 14px 36px rgba(29, 38, 48, .12)}*{box-sizing:border-box}html{min-width:320px;background:#f4f5f6}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(98,81,216,.2);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p,dl,dd{margin:0}h1{font-size:27px;line-height:1.25;letter-spacing:0}h2{font-size:19px;line-height:1.3;letter-spacing:0}h3{font-size:12px;line-height:1.4;letter-spacing:0}code{font-family:Consolas,monospace}.eyebrow{color:var(--violet);font-size:10px;font-weight:800;text-transform:uppercase;margin-bottom:6px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary,.secondary,.ghost,.button,.danger-button,.icon-button,.debug-trigger,.compact-button{min-height:40px;border:0;border-radius:5px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:13px;white-space:nowrap;cursor:pointer}.primary{background:var(--violet);color:#fff}.primary:hover:not(:disabled){background:var(--violet-dark)}.secondary{background:#fff;border:1px solid var(--line-strong)}.secondary:hover:not(:disabled),.ghost:hover:not(:disabled){background:var(--soft)}.ghost{background:transparent;color:#56606b}.danger-button{color:#b53f30;background:var(--coral-soft);border:1px solid #efc4bc}.wide{width:100%}.icon-button{width:38px;min-height:38px;padding:0;background:transparent}.icon-button:hover{background:var(--soft)}.compact-button{min-height:32px;padding:0 9px}.login-shell{min-height:100vh;padding:24px;display:grid;place-items:center;background:#e9ecef}.login-panel{width:min(420px,100%);padding:36px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:23px}.login-panel>div:nth-child(2) p:last-child{color:var(--muted);font-size:13px;margin-top:6px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:6px;color:#fff;background:var(--violet)}.brand-mark.small{width:36px;height:36px}.login-form{display:grid;gap:15px}.login-form label,.editor-label{display:grid;gap:7px;color:#424b55;font-size:12px;font-weight:700}input{width:100%;height:42px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid #cdd2d7;border-radius:5px}input:hover{border-color:#aeb5bd}input:focus{border-color:var(--violet)}.app-shell{min-height:100vh}.app-header{height:62px;position:sticky;top:0;z-index:30;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#fffffff7}.header-brand,.header-actions,.reviewer,.debug-trigger{display:flex;align-items:center}.header-brand{gap:10px}.header-brand>div:last-child{display:grid}.header-brand strong{font-size:15px}.header-brand span,.header-center span{color:var(--muted);font-size:10px}.header-center{text-align:center;display:grid;gap:2px}.header-center strong{font-size:14px}.header-actions{justify-content:flex-end;gap:8px}.page-nav{padding:3px;display:flex;gap:2px;background:#eef0f2;border-radius:5px}.page-nav button{min-height:30px;padding:0 8px;display:flex;align-items:center;gap:5px;border:0;border-radius:3px;background:transparent;color:#626b74;font-size:10px;font-weight:700;cursor:pointer}.page-nav button.active{color:var(--violet);background:#fff;box-shadow:0 1px 3px #0000001f}.reviewer{gap:7px;color:#58616b;font-size:12px;padding:0 10px;border-right:1px solid var(--line)}.debug-trigger{min-height:34px;padding:0 10px;background:var(--soft)}.debug-trigger.active{color:var(--violet);background:var(--violet-soft)}.stepper{height:50px;position:sticky;top:62px;z-index:25;display:flex;justify-content:center;gap:32px;border-bottom:1px solid var(--line);background:#f4f5f6f7}.stepper button{min-width:118px;border:0;border-bottom:2px solid transparent;background:transparent;color:#7b838d;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;cursor:pointer}.stepper button span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#dde1e5;font-size:10px;font-weight:800}.stepper button.active{color:var(--violet);border-color:var(--violet);font-weight:800}.stepper button.done{color:var(--green)}.stepper button.active span{background:var(--violet);color:#fff}.stepper button.done span{background:var(--green);color:#fff}.page-width{width:min(1320px,calc(100% - 40px));margin:0 auto}.app-content{min-width:0;transition:padding-right .2s}.app-content.with-debug{padding-right:420px}.page-heading{margin-bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:24px}.page-heading>p{max-width:430px;color:var(--muted);font-size:13px;text-align:right}.page-heading>div>p:last-child{margin-top:5px;color:var(--muted);font-size:12px}.training-review-queue{max-width:1320px;padding-top:42px}.review-desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:start;gap:18px}.training-review-list{border:1px solid var(--line);background:var(--surface)}.training-review-item{width:100%;min-height:68px;padding:10px 14px;display:grid;grid-template-columns:minmax(200px,1fr) 82px 92px minmax(110px,auto) minmax(135px,auto) auto;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;text-align:left;cursor:pointer}.training-review-queue.reviewed .training-review-item{grid-template-columns:minmax(180px,1fr) 72px 86px 70px minmax(100px,auto) minmax(125px,auto) auto}.training-review-item:last-child{border-bottom:0}.training-review-item:hover{background:var(--violet-soft);color:var(--ink)}.training-review-item.active{background:var(--violet-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--violet)}.training-review-item.unreviewed{background:#fff8e7}.training-review-item.unreviewed:hover,.training-review-item.unreviewed.active{background:#fdf0d3}.provenance-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px}.provenance-chip.warn{color:var(--amber);font-weight:700}.review-status-chip{min-height:24px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--muted);background:var(--soft);font-size:10px;font-weight:800}.review-status-chip.station_approved{color:#276650;border-color:#b8ddcf;background:var(--green-soft)}.review-status-chip.station_rejected{color:#a64134;border-color:#efc3bb;background:var(--coral-soft)}.review-status-chip.legacy_confirmed{color:#8a5a16;border-color:#e8cf9f;background:#fff8e7}.training-review-file{min-width:0;display:grid;gap:4px}.training-review-file strong,.training-review-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-review-file strong{color:var(--ink);font-size:13px}.training-review-file small{color:var(--muted);font:10px/1.25 Consolas,monospace}.review-detail{position:sticky;top:16px;display:grid;gap:13px;padding:15px;border:1px solid var(--line);background:var(--surface)}.review-detail>header{display:flex;align-items:start;justify-content:space-between;gap:10px}.review-detail>header h2{margin:2px 0 0;font-size:15px;overflow-wrap:anywhere}.review-detail>header .eyebrow{font:10px/1.25 Consolas,monospace;color:var(--muted)}.detail-warning{padding:10px 11px;display:flex;align-items:start;gap:8px;border:1px solid #ead5a0;background:#fff8e7;color:var(--amber);font-size:11px;line-height:1.55}.detail-warning svg{flex:0 0 auto;margin-top:1px}.provenance-grid{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.provenance-grid>div{padding:8px 6px;display:grid;gap:3px;background:var(--surface);text-align:center}.provenance-grid dt{color:var(--muted);font-size:10px}.provenance-grid dd{margin:0;font-size:16px;font-weight:700}.provenance-grid dd.warn{color:var(--amber)}.review-history-summary{margin:0;display:grid;gap:6px}.review-history-summary>div{display:grid;grid-template-columns:76px 1fr;gap:8px;font-size:10px}.review-history-summary dt{color:var(--muted)}.review-history-summary dd{margin:0;color:var(--ink);font-weight:700}.detail-source{margin:0;display:grid;gap:5px}.detail-source img{width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);background:var(--soft)}.detail-source figcaption{color:var(--muted);font-size:10px}.detail-matrix{display:grid;gap:6px}.comparison-trigger{min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--violet);background:var(--violet-soft);color:var(--violet);font-size:11px;font-weight:800;cursor:pointer}.detail-hint{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.matrix-scroll{max-height:220px;overflow:auto;padding:5px;border:1px solid var(--line);background:var(--soft)}.matrix-row{display:flex;gap:1px;margin-bottom:1px}.matrix-cell{width:7px;height:7px;flex:0 0 auto;border-radius:1px}.matrix-cell.blank{background:repeating-linear-gradient(45deg,#fff,#fff 2px,#e2e6ea 2px,#e2e6ea 4px)}.detail-note{display:grid;gap:5px;color:var(--muted);font-size:11px}.detail-note input{min-height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:4px;font-size:12px}.detail-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px}.detail-actions .primary,.detail-actions .danger-button{font-size:12px}.publication-confirmed{min-height:38px;margin:0;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #b8ddcf;background:var(--green-soft);color:#276650;font-size:11px;font-weight:700}.queue-empty{min-height:180px;display:grid;place-items:center;border:1px dashed var(--line-strong);color:var(--muted);font-size:13px}.source-page{max-width:920px;padding-top:42px}.source-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px}.source-tabs button{min-width:150px;height:43px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.source-tabs button.active{color:var(--violet);border-color:var(--violet);font-weight:800}.upload-panel{min-height:310px;position:relative;border:1px dashed #aeb6be;border-radius:7px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer}.upload-panel:hover{border-color:var(--violet);background:#fdfcff}.upload-panel.disabled{cursor:wait}.upload-panel input{position:absolute;width:1px;height:1px;opacity:0}.upload-panel strong{font-size:17px}.upload-panel>span:not(.button):not(.upload-icon),.upload-panel small{color:var(--muted);font-size:12px}.upload-icon{width:54px;height:54px;display:grid;place-items:center;color:var(--violet);background:var(--violet-soft);border-radius:50%}.upload-panel .button{margin-top:8px}.progress-track{width:min(360px,70%);height:5px;margin-top:8px;background:#e3e6e9;overflow:hidden;border-radius:3px}.progress-track i{display:block;height:100%;background:var(--violet);transition:width .2s}.social-entry{min-height:310px;padding:38px;border:1px solid var(--line);background:#fff;display:grid;align-content:center;gap:16px}.social-entry-copy{display:grid;gap:5px}.social-entry-copy p{color:var(--muted);font-size:12px}.source-badge{width:max-content;color:var(--violet);background:var(--violet-soft);padding:4px 7px;border-radius:4px;font-size:10px;font-weight:800}.link-field{display:grid;grid-template-columns:1fr auto;gap:8px}.resolve-button{justify-self:start;min-width:150px}.social-picker{border:1px solid var(--line);background:#fff}.picker-head{min-height:76px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.picker-head>div{min-width:0}.picker-head h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-head span{color:var(--muted);font-size:11px}.social-stage{min-height:430px;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;background:#e9ecef}.carousel-arrow{width:36px;height:54px;justify-self:center;border:1px solid #cbd0d5;background:#ffffffe6;display:grid;place-items:center;cursor:pointer}.social-main-image{height:430px;position:relative;display:grid;place-items:center;overflow:hidden}.social-main-image img{max-width:100%;max-height:100%;object-fit:contain}.media-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted);background:#e9ecef;font-size:12px}.media-retry{position:absolute;z-index:3;border:1px solid var(--line-strong);background:#fff;min-height:40px;padding:0 14px;display:flex;align-items:center;gap:7px;cursor:pointer}.image-count{position:absolute;right:10px;bottom:10px;padding:4px 8px;color:#fff;background:#191e23b8;font-size:11px;border-radius:4px}.thumbnail-track{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;border-top:1px solid var(--line)}.thumbnail-track button{width:70px;height:70px;flex:0 0 70px;position:relative;padding:2px;border:2px solid transparent;background:#eef0f2;cursor:pointer}.thumbnail-track button.active{border-color:var(--violet)}.thumbnail-track img{width:100%;height:100%;display:block;object-fit:cover}.thumbnail-track span{position:absolute;right:3px;bottom:3px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#191e23bf;font-size:9px}.picker-actions{min-height:62px;padding:10px 14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.picker-actions>span{color:var(--muted);font-size:12px}.calibration-workspace{padding-top:22px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.calibration-workspace.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;width:100%;max-width:none;padding:12px;background:#f4f5f6}.calibration-main{min-width:0}.workspace-heading{min-height:68px;display:flex;align-items:start;justify-content:space-between;gap:18px}.workspace-heading p:last-child{color:var(--muted);font-size:12px;margin-top:5px}.canvas-toolbar{height:42px;padding:0 7px;display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-bottom:0;background:#fff}.canvas-toolbar>span{width:46px;text-align:center;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.canvas-toolbar>i{flex:1}.canvas-toolbar label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.canvas-toolbar label input{width:15px;height:15px;accent-color:var(--violet)}.image-viewport{height:calc(100vh - 245px);min-height:460px;position:relative;overflow:auto;background:#dfe2e5;border:1px solid var(--line-strong);overscroll-behavior:contain}.image-stage{min-width:100%;max-width:none;height:auto;position:relative;margin:auto;touch-action:auto;-webkit-user-select:none;user-select:none;background:#d6dade}.image-stage>img{width:100%;height:100%;display:block;object-fit:fill;pointer-events:none}.selection{position:absolute;z-index:3;border:2px solid var(--violet);cursor:move;box-shadow:0 0 0 9999px #191f2638;touch-action:none}.selection.inactive{pointer-events:none;border-width:1px;box-shadow:none;opacity:.6}.sample-selection{z-index:4;border-color:var(--green);background:#16876514;box-shadow:none}.selection-label{position:absolute;left:-2px;top:-24px;min-width:44px;height:22px;padding:0 6px;display:grid;place-items:center;color:#fff;background:var(--violet);font-size:10px;font-weight:800}.sample-selection .selection-label{background:var(--green)}.handle{width:28px;height:28px;position:absolute;padding:0;border:3px solid currentColor;border-radius:50%;color:var(--violet);background:#fff;box-shadow:0 2px 7px #0000003d;touch-action:none}.sample-selection .handle{color:var(--green)}.handle.left{left:-15px;top:calc(50% - 14px);cursor:ew-resize}.handle.right{right:-15px;top:calc(50% - 14px);cursor:ew-resize}.handle.top{top:-15px;left:calc(50% - 14px);cursor:ns-resize}.handle.bottom{bottom:-15px;left:calc(50% - 14px);cursor:ns-resize}.detected-line{position:absolute;z-index:2;pointer-events:none;background:#1d8fb194}.detected-line.vertical{width:1px}.detected-line.horizontal{height:1px}.calibration-controls{min-height:calc(100vh - 135px);padding:17px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:14px}.file-meta{display:grid;gap:3px;padding-bottom:13px;border-bottom:1px solid var(--line);min-width:0}.file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.file-meta span{color:var(--muted);font-size:11px}.detection-summary{padding:11px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;color:var(--green);background:var(--green-soft);border:1px solid #b9dfd1}.detection-summary.yellow{color:var(--amber);background:#fff8e7;border-color:#ead5a0}.detection-summary.red{color:#b33a31;background:#fff1ef;border-color:#e6b8b2}.detection-summary.pending{color:#59646f;background:#f3f5f7;border-color:var(--line)}.detection-summary div{display:grid;gap:2px}.detection-summary strong{font-size:12px}.detection-summary span{color:#5e6a66;font-size:10px}.detection-summary b{font-size:10px}.manual-grid-constraint{padding:10px 11px;display:grid;gap:9px;border:1px solid var(--line);background:#f7f8f9}.manual-grid-constraint.active{border-color:#d7c47d;background:#fffaf0}.manual-grid-constraint>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.manual-grid-constraint>header>div{min-width:0;display:flex;align-items:center;gap:7px;color:var(--amber)}.manual-grid-constraint>header span{display:grid;gap:1px}.manual-grid-constraint strong{color:var(--ink);font-size:11px}.manual-grid-constraint small{color:var(--muted);font-size:8px}.constraint-toggle{flex:0 0 auto;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.constraint-toggle input{width:16px;height:16px;accent-color:var(--amber)}.constraint-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:7px}.constraint-fields label{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:9px}.constraint-fields input{width:100%;height:36px;padding:0 8px;font-size:12px;font-weight:800}.constraint-fields>svg{margin-bottom:10px;color:var(--muted)}.manual-grid-constraint>p{margin:0;color:#775f22;font-size:9px;line-height:1.45}.manual-grid-constraint>p.invalid{color:#b33a31}.detection-explanation{padding:9px 11px;display:grid;gap:3px;border:1px solid var(--line);background:#f7f8fa;color:#5e6a66;font-size:10px;line-height:1.5}.detection-explanation.sticky{border-color:#ead5a0;background:#fff8e7;color:var(--amber)}.detection-explanation small{color:var(--muted);font-size:10px}.suggestion-box{padding:11px;border:1px solid #cfc9f1;background:var(--violet-soft);display:grid;gap:9px}.suggestion-box div{display:grid;gap:2px}.suggestion-box strong{font-size:11px}.suggestion-box span{color:var(--muted);font-size:10px}.calibration-focus-panel{overflow:hidden;border:1px solid var(--line-strong);background:#f7f8f9}.calibration-focus-panel>header{min-height:52px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-bottom:1px solid var(--line)}.calibration-focus-panel>header>div:first-child{min-width:0;display:flex;align-items:center;gap:7px;color:var(--violet)}.calibration-focus-panel>header span{min-width:0;display:grid;gap:1px}.calibration-focus-panel>header strong{color:var(--ink);font-size:11px}.calibration-focus-panel>header small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.focus-anchor-tabs{flex:0 0 auto;display:flex}.focus-anchor-tabs button{min-width:38px;height:29px;padding:0 5px;border:1px solid var(--line);border-right:0;background:#fff;color:var(--muted);font-size:8px;cursor:pointer}.focus-anchor-tabs button:last-child{border-right:1px solid var(--line)}.focus-anchor-tabs button.active{color:#fff;border-color:var(--violet);background:var(--violet)}.calibration-focus-viewport{width:100%;max-height:240px;position:relative;overflow:hidden;background:#d9dee2;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.calibration-focus-viewport.dragging{cursor:grabbing}.calibration-focus-viewport>img{max-width:none;max-height:none;position:absolute;display:block;object-fit:fill;pointer-events:none;-webkit-user-drag:none}.focus-grid-line{position:absolute;z-index:2;background:#1d8fb1d6;box-shadow:0 0 0 1px #ffffff80;pointer-events:none}.focus-grid-line.vertical{width:1px;top:0;bottom:0}.focus-grid-line.horizontal{height:1px;left:0;right:0}.snap-cell{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid rgba(14,122,88,.74);background:#16876521;pointer-events:none}.snap-cell span{max-width:calc(100% - 4px);padding:2px 3px;overflow:hidden;color:#fff;background:#10624ad1;font:8px/1 Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.snap-target-outline{position:absolute;z-index:4;border:3px solid var(--green);box-shadow:0 0 0 1px #fff,0 0 12px #16876580;pointer-events:none}.focus-current-selection{position:absolute;z-index:5;border:3px solid var(--coral);background:#e75d4814;box-shadow:0 0 0 1px #fff;pointer-events:none}.focus-current-selection.frame{border-color:var(--violet);background:#6959b414}.focus-active-edge{position:absolute;z-index:6;background:#fff;box-shadow:0 0 0 2px var(--coral),0 0 14px #e75d48b3;pointer-events:none}.focus-active-edge.left,.focus-active-edge.right{top:0;bottom:0;width:2px}.focus-active-edge.top,.focus-active-edge.bottom{left:0;right:0;height:2px}.focus-drag-hint{position:absolute;right:7px;bottom:7px;z-index:7;padding:4px 6px;color:#fff;background:#22282ec7;font-size:8px;font-weight:800;pointer-events:none}.calibration-focus-panel>footer{min-height:58px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-top:1px solid var(--line)}.calibration-focus-panel>footer>div{min-width:0;display:grid;gap:2px}.calibration-focus-panel>footer strong{color:var(--coral);font-size:10px}.calibration-focus-panel>footer .aligned strong{color:var(--green)}.calibration-focus-panel>footer .warning strong{color:var(--amber)}.calibration-focus-panel>footer span{color:var(--muted);font-size:8px;line-height:1.35}.snap-button{min-height:34px;flex:0 0 auto;padding:0 8px;font-size:9px}.nudge-panel{border-top:1px solid var(--line);padding-top:13px}.nudge-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.nudge-panel header strong{font-size:11px}.nudge-panel header div{display:flex;align-items:center}.nudge-panel header button{width:25px;height:24px;padding:0;border:1px solid var(--line);background:#fff;font-size:9px;cursor:pointer}.nudge-panel header button.active{color:#fff;background:var(--violet);border-color:var(--violet)}.nudge-panel header span{color:var(--muted);font-size:9px;margin-left:4px}.adjust-targets{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.adjust-targets button{min-width:0;height:42px;padding:3px 1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid var(--line);background:#fff;color:#4f5963;font-size:8px;cursor:pointer}.adjust-targets button.active{color:var(--violet);border-color:var(--violet);background:var(--violet-soft);font-weight:800}.nudge-direction-pad{width:184px;margin:9px auto 0;display:grid;grid-template-columns:48px 88px 48px;grid-template-rows:48px 54px 48px;grid-template-areas:". up ." "left label right" ". down .";place-items:stretch}.nudge-direction-pad button{padding:0;display:grid;place-items:center;border:1px solid var(--line-strong);background:#fff;color:#3d4650;cursor:pointer}.nudge-direction-pad button:not(:disabled):active{color:#fff;border-color:var(--violet);background:var(--violet)}.nudge-direction-pad button:disabled{color:#bbc0c5;background:#f1f3f4;cursor:not-allowed}.nudge-direction-pad .up{grid-area:up}.nudge-direction-pad .left{grid-area:left}.nudge-direction-pad .right{grid-area:right}.nudge-direction-pad .down{grid-area:down}.nudge-direction-pad>span{grid-area:label;display:grid;place-items:center;align-content:center;gap:3px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f6f7;text-align:center}.nudge-direction-pad strong{font-size:10px}.nudge-direction-pad small{max-width:82px;overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.coordinate-details{border-top:1px solid var(--line);padding-top:12px}.coordinate-details summary{cursor:pointer;color:#4e5760;font-size:11px;font-weight:700}.coordinate-grid{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.coordinate-grid label{display:grid;gap:4px;color:var(--muted);font-size:9px}.coordinate-grid input{height:34px;padding:0 7px;font-size:11px}.workspace-actions{margin-top:auto;padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:7px}.recognition-page{max-width:720px;padding-top:90px;text-align:center;display:flex;flex-direction:column;align-items:center}.recognition-visual{width:84px;height:84px;position:relative;display:grid;place-items:center;color:var(--violet);background:#fff;border:1px solid var(--line);border-radius:50%}.recognition-visual span{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:3px solid transparent;border-top-color:var(--violet);border-radius:50%;animation:spin 1.3s linear infinite}.recognition-page .eyebrow{margin-top:22px}.recognition-page>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:12px;line-height:1.7;margin-top:8px}.recognition-track{width:min(520px,100%);height:7px;margin-top:27px;overflow:hidden;border-radius:4px;background:#dfe3e7}.recognition-track i{display:block;height:100%;background:var(--violet);transition:width .35s}.recognition-stats{width:min(520px,100%);margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.recognition-stats span{min-height:63px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10px;border-right:1px solid var(--line)}.recognition-stats span:last-child{border-right:0}.recognition-stats strong{color:var(--ink);font-size:14px}.recovery-panel{width:min(600px,100%);margin-top:20px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;color:#a34134;background:var(--coral-soft);border:1px solid #efc3bb}.recovery-panel div{display:grid;gap:2px}.recovery-panel strong{font-size:12px}.recovery-panel span{color:var(--muted);font-size:10px}.recognition-back{margin-top:18px}.review-workspace{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:22px 0 100px}.review-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.review-header>div:first-child>p:last-child{color:var(--muted);font-size:11px;margin-top:4px}.review-metrics{display:flex;border:1px solid var(--line);background:#fff}.review-metrics span{min-width:110px;min-height:50px;padding:8px 12px;display:flex;flex-direction:column;justify-content:center;color:var(--muted);font-size:9px;border-right:1px solid var(--line)}.review-metrics span:last-child{border-right:0}.review-metrics strong{color:var(--ink);font-size:17px}.review-metrics .warning strong{color:var(--coral)}.save-strip{min-height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;color:#52615b;background:#edf4f1;border:1px solid #cbded6;font-size:11px}.save-strip.error{color:#ad4133;background:var(--coral-soft);border-color:#efc3bb;cursor:pointer}.save-strip.saving{color:var(--violet);background:var(--violet-soft);border-color:#d6d1f0}.save-strip span{flex:1}.save-strip button{border:0;background:transparent;color:inherit;font-weight:800;cursor:pointer}.geometry-strip{min-height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;color:#ad4133;background:var(--coral-soft);border:1px solid #efc3bb;font-size:11px}.geometry-strip span{flex:1}.geometry-strip button{border:0;background:transparent;color:inherit;font-weight:800;cursor:pointer}.undo-strip{min-height:38px;padding:0 11px;display:flex;align-items:center;gap:8px;color:#fff;background:#26332f;font-size:12px}.undo-strip span{flex:1}.undo-strip button{min-height:28px;padding:0 10px;border:1px solid #697771;background:transparent;color:#fff;font-weight:800;cursor:pointer}.undo-strip button:disabled{opacity:.45;cursor:wait}.review-toolbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.segmented{padding:3px;display:flex;background:#e6e9ec;border-radius:5px}.segmented button{min-height:32px;padding:0 12px;border:0;border-radius:3px;background:transparent;color:#5e6670;font-size:11px;cursor:pointer}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001f;font-weight:800}.segmented span{color:var(--muted);margin-left:4px}.color-sort-control{padding:2px;display:inline-flex;align-items:center;gap:2px;border:1px solid #d7dce1;border-radius:5px;background:#e9ecef}.color-sort-control button{min-width:50px;min-height:27px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#5b6570;border:0;border-radius:3px;background:transparent;font-size:9px;cursor:pointer}.color-sort-control button:hover{color:var(--ink)}.color-sort-control button.active{color:#075985;background:#fff;box-shadow:0 1px 3px #00000021;font-weight:800}.color-sort-control button:focus-visible{outline:2px solid #1677b8;outline-offset:1px}.toolbar-actions{display:flex;gap:5px}.toolbar-actions button{min-height:33px;padding:0 9px}.group-list,.row-list{margin-top:12px;display:grid;gap:8px}.row-selection-toolbar{min-height:48px;padding:7px 9px;position:sticky;top:120px;z-index:8;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fffffff5;box-shadow:0 4px 14px #181f250f}.row-selection-toolbar label{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px;font-weight:700}.row-selection-toolbar input,.row-select input{width:16px;height:16px;accent-color:var(--violet)}.row-selection-toolbar>span{margin-left:auto;color:var(--muted);font-size:10px}.row-selection-toolbar button{min-height:32px;padding:0 9px;display:flex;align-items:center;gap:5px}.review-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--green)}.review-empty span{color:var(--muted);font-size:11px}.review-group,.review-row{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}.group-summary{width:100%;min-height:54px;padding:8px 13px;border:0;background:#fff;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.group-summary>span{display:grid;gap:1px}.group-summary small,.group-summary b{color:var(--muted);font-size:10px;font-weight:500}.group-summary svg,.row-toggle svg{transition:transform .18s}.rotated{transform:rotate(180deg)}.color-swatch{width:28px;height:28px;border:1px solid #c9ced3;border-radius:3px}.group-body{padding:12px 14px 14px;border-top:1px solid var(--line)}.group-selection-toolbar{min-height:34px;margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.group-selection-toolbar>span{margin-right:auto;color:var(--muted);font-size:10px;font-weight:700}.group-selection-toolbar button{min-height:32px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.group-selection-toolbar .secondary.active{color:var(--violet);border-color:var(--violet);background:#f4f1ff}.cell-review-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,72px));justify-content:start;gap:6px}.cell-review-item{width:100%;min-width:0;aspect-ratio:1;padding:3px;overflow:hidden;border:1px solid var(--line);background:#f7f8f9;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cell-review-item.drag-select-enabled{cursor:crosshair}.cell-review-item:hover,.cell-review-item:focus-visible{border-color:var(--violet);background:#fff;box-shadow:0 0 0 2px #6959b424;outline:0}.cell-review-item.selected{border-color:var(--violet);background:#f4f1ff;box-shadow:0 0 0 2px #6959b42e}.preview-media{width:100%;height:100%;position:relative;display:grid;place-items:center;overflow:hidden;background:#fff}.preview-media img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.preview-failed{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#a64134;background:#fff0edf0}.selection-mark{position:absolute;top:3px;right:3px;width:20px;height:20px;display:grid;place-items:center;color:#fff;background:var(--violet);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #1a18273d}.group-preview-controls{min-height:34px;padding:7px 0 2px;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.group-preview-controls>span{margin-right:auto;color:var(--muted);font-size:10px;font-weight:700}.group-preview-controls button{min-height:30px;padding:0 8px}.evidence-suggestions{padding:9px 0;border-top:1px solid var(--line);display:grid;gap:7px}.evidence-suggestions>span{color:var(--muted);font-size:9px;font-weight:800}.evidence-suggestions>div{display:flex;flex-wrap:wrap;gap:5px}.evidence-suggestions button,.suggestion-buttons button{min-height:30px;padding:0 8px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;font-size:10px;cursor:pointer}.evidence-suggestions button i,.suggestion-buttons button i{width:13px;height:13px;border:1px solid rgba(0,0,0,.12)}.evidence-suggestions small{color:var(--muted);font-size:9px}.scope-option{min-height:34px;padding:0 8px;display:flex;align-items:center;gap:7px;background:#f6f7f8;font-size:10px}.scope-option input{width:14px;height:14px;accent-color:var(--violet)}.scope-option span{margin-left:auto;color:var(--muted)}.group-actions{padding-top:10px;display:flex;gap:6px}.group-actions button{min-height:34px}.review-row>header{min-height:52px;padding:0 10px 0 4px;display:flex;align-items:center}.review-row.selected{border-color:#b9afe2;box-shadow:inset 3px 0 0 var(--violet)}.row-select{width:34px;height:42px;display:grid;place-items:center;cursor:pointer}.sr-only{width:1px;height:1px;position:absolute;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row-toggle{height:52px;flex:1;border:0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.row-toggle>span:not(.row-number){display:grid;gap:1px}.row-toggle small{color:var(--muted);font-size:9px}.row-number{width:28px;height:28px;display:grid;place-items:center;border-radius:4px;background:var(--soft);font-size:10px;font-weight:800}.confirm-row{min-height:32px;padding:0 9px;display:flex;align-items:center;gap:5px;color:var(--green);background:var(--green-soft);border:1px solid #b8ddcf;font-size:10px;font-weight:800;cursor:pointer}.review-row.confirmed .confirm-row{color:var(--muted);background:var(--soft);border-color:var(--line)}.row-body{padding:12px;border-top:1px solid var(--line)}.row-preview-wrap{min-height:50px;position:relative;margin-bottom:9px;display:flex;align-items:center}.row-preview-wrap img{width:auto;max-width:100%;height:auto;max-height:100px;display:block;border:1px solid var(--line)}.row-preview-wrap button{position:absolute;min-height:32px;border:1px solid #efc3bb;background:var(--coral-soft);display:flex;align-items:center;gap:5px;font-size:9px;cursor:pointer}.cell-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,54px));justify-content:start;gap:4px}.cell-grid button{width:100%;height:54px;padding:3px;border:1px solid var(--line);background:#fff;cursor:pointer}.cell-grid button.pending{border-color:var(--coral);background:var(--coral-soft)}.cell-grid button>i{height:20px;display:block;border:1px solid rgba(0,0,0,.12)}.cell-grid button span{display:block;margin-top:2px;font-size:9px;font-weight:700;overflow:hidden}.cell-grid button small{display:block;color:var(--muted);font-size:7px}.color-usage-summary{margin-top:14px;border:1px solid var(--line);background:#fff}.color-usage-summary>header{min-height:78px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.color-usage-summary>header h2{margin:2px 0 3px;font-size:15px}.color-usage-summary>header span{color:var(--muted);font-size:9px}.color-usage-summary dl{display:grid;grid-template-columns:repeat(3,82px);border:1px solid var(--line)}.color-usage-summary dl>div{min-height:48px;display:grid;place-items:center;align-content:center;gap:2px;border-right:1px solid var(--line)}.color-usage-summary dl>div:last-child{border-right:0}.color-usage-summary dt{color:var(--muted);font-size:8px}.color-usage-summary dd{font-size:15px;font-weight:800}.color-usage-list{padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:6px}.color-usage-list button{min-width:0;min-height:48px;padding:6px 8px;display:grid;grid-template-columns:30px minmax(0,1fr) auto 18px;align-items:center;gap:8px;color:var(--ink);border:1px solid var(--line);background:#fafbfb;text-align:left;cursor:pointer}.color-usage-list button:hover,.color-usage-list button:focus-visible{border-color:var(--violet);background:#fff;box-shadow:0 0 0 2px #6959b424;outline:0}.color-usage-list button>i{width:30px;height:30px;border:1px solid rgba(0,0,0,.14)}.color-usage-list button>span{min-width:0;display:grid;gap:1px}.color-usage-list strong{font-size:11px}.color-usage-list span small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.color-usage-list b{font-size:15px;font-variant-numeric:tabular-nums}.color-usage-list b small{margin-left:2px;color:var(--muted);font-size:8px;font-weight:500}.color-usage-list button>svg{color:var(--violet)}.color-usage-list button.unknown{border-color:#e3c58b;background:#fffaf0}.color-usage-empty{margin:0;padding:18px 14px;color:var(--muted);font-size:10px}.review-footer{position:fixed;left:0;right:420px;bottom:0;z-index:20;min-height:74px;padding:9px max(20px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:flex-end;gap:8px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -7px 20px #1e273012;transition:right .2s}.review-footer>div{margin-right:auto;display:grid;gap:2px}.review-footer strong{font-size:12px}.review-footer span{color:var(--muted);font-size:9px}.submit-button{min-width:245px}.app-content:not(.with-debug) .review-footer{right:0}.debug-inspector{width:420px;position:fixed;top:62px;right:0;bottom:0;z-index:29;border-left:1px solid var(--line);background:#fff;box-shadow:-8px 0 22px #1f272f0f;overflow:hidden}.debug-inspector:not(.open){width:48px;bottom:auto;box-shadow:none;border-bottom:1px solid var(--line)}.debug-inspector>header{height:49px;padding:0 8px 0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.debug-inspector>header>div{display:flex;align-items:center;gap:8px;color:var(--violet)}.debug-inspector>header span{display:grid}.debug-inspector>header strong{color:var(--ink);font-size:12px}.debug-inspector>header small{color:var(--muted);font-size:8px}.debug-inspector:not(.open)>header>div{display:none}.debug-tabs{height:38px;padding:0 8px;display:flex;border-bottom:1px solid var(--line)}.debug-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.debug-tabs button.active{color:var(--violet);border-color:var(--violet);font-weight:800}.debug-body{height:calc(100% - 142px);padding:12px;overflow-y:auto;display:grid;align-content:start;gap:12px}.debug-body section{border-bottom:1px solid var(--line);padding-bottom:10px}.debug-body h3{color:#565f69;margin-bottom:6px}.debug-body dl{display:grid}.debug-body dl>div{min-height:27px;display:grid;grid-template-columns:88px 1fr;align-items:center;border-top:1px solid #eef0f2;font-size:9px}.debug-body dt{color:var(--muted)}.debug-body dd{min-width:0;display:flex;align-items:center;gap:4px;overflow-wrap:anywhere}.debug-body dd button{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}.debug-warning{color:var(--coral);font-weight:800}.debug-body dd small{color:var(--muted);font-weight:400}.geometry-note{display:flex;align-items:center;gap:4px;margin-top:7px;font-size:9px;line-height:1.5}.timing-list{display:grid;gap:6px}.timing-list>span{display:grid;grid-template-columns:85px 42px 1fr;align-items:center;gap:5px;font-size:9px}.timing-list i{color:var(--muted);font-style:normal}.timing-list b{font-variant-numeric:tabular-nums}.timing-list em{height:4px;overflow:hidden;background:#e6e9ec}.timing-list em i{display:block;height:100%;background:var(--violet)}.raw-body p{color:var(--muted);font-size:9px;line-height:1.5}.raw-body pre{margin:0;padding:9px;overflow:auto;color:#d9e2e8;background:#22282e;font:8px/1.5 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.debug-inspector>footer{height:55px;padding:7px 10px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:5px}.debug-inspector>footer span{margin-right:auto;color:var(--green);font-size:9px}.debug-inspector>footer button{min-height:32px;padding:0 8px;font-size:10px}.debug-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:8px}.debug-metrics span{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:8px;border-right:1px solid var(--line)}.debug-metrics span:last-child{border-right:0}.debug-metrics b{color:var(--ink);font-size:15px}.failure-controls p{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.5}.failure-filters{display:flex;flex-wrap:wrap;gap:4px}.failure-filters button{min-height:28px;padding:0 7px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:9px;cursor:pointer}.failure-filters button.active{color:var(--violet);border-color:#bbb2e4;background:var(--violet-soft);font-weight:800}.failure-filters b{margin-left:2px}.coordinate-jump{margin-bottom:8px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:5px}.coordinate-jump label{min-width:0;display:grid;gap:3px;color:var(--muted);font-size:8px;font-weight:700}.coordinate-jump input{width:100%;height:30px;padding:0 7px}.coordinate-jump button{min-height:30px;padding:0 8px;font-size:9px}.issue-navigation{min-height:34px;margin-top:7px;padding:3px 4px 3px 9px;display:flex;align-items:center;justify-content:flex-end;gap:3px;background:#f4f5f6;border:1px solid var(--line)}.issue-navigation span{margin-right:auto;color:var(--muted);font:9px/1 Consolas,monospace}.issue-navigation button{width:27px;height:27px}.failure-list{display:grid;border-bottom:0!important}.failure-list>button{min-height:46px;padding:6px 8px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.failure-list>button:hover,.failure-list>button.active{background:#f4f2fb}.failure-list span{display:grid}.failure-list span b{font-size:11px}.failure-list small{color:var(--muted);font-size:8px}.failure-list em{color:var(--coral);font-size:8px;font-style:normal}.debug-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--green)}.lab-heading{display:flex;align-items:center;justify-content:space-between}.lab-heading>div{display:grid;gap:4px}.lab-heading span{color:var(--muted);font-size:9px}.lab-heading span.risk{color:var(--coral);font-weight:800}.lab-heading button{min-height:29px;padding:0 7px;font-size:9px}.lab-summary{display:grid;grid-template-columns:112px 1fr;gap:10px}.lab-summary>img{width:112px;height:112px;object-fit:contain;image-rendering:pixelated;background:#eef0f2;border:1px solid var(--line)}.lab-summary dl>div{grid-template-columns:68px 1fr}.section-heading{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:8px}.section-heading h3{margin:0}.section-heading span{color:var(--muted);font-size:8px}.neighbor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.neighbor-grid button{min-width:0;height:58px;padding:5px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;border:1px solid var(--line);background:#f7f8f9;color:var(--ink);text-align:left;cursor:pointer}.neighbor-grid button:hover{border-color:#a8aeb5;background:#fff}.neighbor-grid button.center{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet);background:var(--violet-soft)}.neighbor-grid button.risk:not(.center){border-color:#e4aca2;background:var(--coral-soft)}.neighbor-grid small{grid-column:1 / -1;color:var(--muted);font:7px/1 Consolas,monospace}.neighbor-grid strong{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis}.neighbor-grid span{color:var(--muted);font:8px/1 Consolas,monospace}.lab-loading{min-height:90px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--violet);font-size:9px}.lab-error{padding:8px;display:flex;align-items:center;gap:6px;color:#a94034;background:var(--coral-soft);border:1px solid #efc3bb;font-size:9px}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-bottom:0!important}.view-grid article{min-width:0;border:1px solid var(--line);background:#f7f8f9}.view-grid article.recovered{border-color:#7abda5;box-shadow:inset 0 0 0 1px #7abda5}.view-grid img{width:100%;height:80px;object-fit:contain;image-rendering:pixelated;background:#fff}.view-grid article>div{padding:6px;display:grid;grid-template-columns:1fr auto;gap:2px 5px}.view-grid strong{font-size:9px}.view-grid span{color:var(--muted);font:8px Consolas,monospace}.view-grid b{grid-row:1 / 3;grid-column:2;align-self:center;color:var(--violet);font-size:9px}.engine-results dl>div{grid-template-columns:78px 1fr}.vote-summary>p{margin:5px 0 0;color:var(--muted);font-size:9px}.vote-list{display:grid;gap:5px}.vote-list>span{min-height:20px;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:6px}.vote-list strong,.vote-list b{font:9px/1 Consolas,monospace}.vote-list b{color:var(--muted);text-align:right}.vote-list em{height:6px;overflow:hidden;background:#e4e7e9}.vote-list i{height:100%;display:block;background:var(--green)}.global-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;background:#f5f6f7c2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.global-loading>div{min-width:230px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);color:var(--violet)}.global-loading strong{color:var(--ink);font-size:13px}.global-loading span{color:var(--muted);font-size:10px}.inline-error,.floating-error{display:flex;align-items:center;gap:7px;color:#ab4032;background:var(--coral-soft);border:1px solid #efc3bb;font-size:11px}.inline-error{padding:9px}.floating-error{position:fixed;right:18px;bottom:18px;z-index:180;max-width:min(440px,calc(100vw - 36px));padding:10px 11px;box-shadow:var(--shadow)}.floating-error span{flex:1}.floating-error button{width:26px;height:26px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.floating-notice{position:fixed;top:76px;right:18px;z-index:180;max-width:min(470px,calc(100vw - 36px));margin:0;padding:10px 11px;display:flex;align-items:center;gap:7px;color:#295f50;background:var(--green-soft);border:1px solid #acd6c7;box-shadow:var(--shadow);font-size:11px}.floating-notice span{flex:1}.floating-notice button{width:26px;height:26px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;padding:18px;display:grid;place-items:center;background:#191f258f}.editor-backdrop{z-index:240}.editor-modal,.dictionary-modal{width:min(620px,100%);max-height:calc(100vh - 36px);overflow-y:auto;background:#fff;border-radius:7px;box-shadow:0 24px 70px #00000042}.editor-modal>header,.dictionary-modal>header{min-height:65px;padding:13px 16px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line)}.editor-content{display:grid;grid-template-columns:210px 1fr;border-bottom:1px solid var(--line)}.editor-preview{min-height:180px;position:relative;display:grid;place-items:center;background:#eceff1}.editor-preview img{max-width:100%;max-height:230px;image-rendering:pixelated}.source-location-button{position:absolute;right:8px;bottom:8px;min-height:34px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid var(--line-strong);background:#fffffff0;color:var(--ink);font-size:10px;font-weight:800;cursor:pointer}.evidence-panel{padding:12px;display:grid;align-content:center;gap:7px}.evidence-panel span{display:grid;grid-template-columns:70px 1fr;color:#555f68;font-size:10px}.evidence-panel strong{color:var(--muted)}.editor-label{padding:15px 16px 0}.code-input{display:flex;align-items:center;gap:7px}.code-input input{flex:1}.suggestion-buttons{padding:10px 16px 15px;display:flex;flex-wrap:wrap;gap:5px}.editor-modal>footer{min-height:58px;padding:9px 16px;display:flex;justify-content:flex-end;gap:6px;border-top:1px solid var(--line)}.dictionary-modal{width:min(700px,100%)}.dictionary-modal>input{width:calc(100% - 32px);margin:12px 16px}.dictionary-grid{max-height:56vh;padding:0 16px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;overflow-y:auto}.dictionary-grid>div{min-height:46px;padding:5px;display:flex;align-items:center;gap:7px;border:1px solid var(--line)}.dictionary-grid i{width:30px;height:30px;border:1px solid rgba(0,0,0,.12)}.dictionary-grid span{min-width:0;display:grid}.dictionary-grid strong{font-size:10px}.dictionary-grid small{color:var(--muted);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-locator-backdrop{z-index:230;padding:12px}.source-locator-backdrop.fullscreen{padding:0}.source-locator{width:min(1120px,100%);height:min(860px,calc(100vh - 24px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff;border-radius:7px;box-shadow:0 24px 70px #0000004d}.source-locator.fullscreen{width:100vw;height:100dvh;border-radius:0}.source-locator>header{min-height:72px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.source-locator>header>div:first-child{min-width:0}.source-locator h2{margin:1px 0 2px;font-size:17px}.source-locator header span{display:block;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.source-locator-content{min-height:0;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden}.source-locator-colors{min-width:0;min-height:0;padding:10px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;overflow:hidden;border-right:1px solid var(--line);background:#f7f8f9}.source-locator-colors-heading{min-height:34px;padding:0 3px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:9px}.source-locator-colors-heading>div:first-child{min-width:0;display:grid;gap:1px}.source-locator-colors-heading strong{color:var(--ink);font-size:11px}.source-locator-color-list{min-height:0;display:grid;align-content:start;gap:5px;overflow-y:auto}.source-locator-color-row{min-width:0;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;border:1px solid transparent;background:transparent}.source-locator-color-row:hover,.source-locator-color-row:focus-within{border-color:#c8bfe8;background:#fff}.source-locator-color-row.active{border-color:var(--violet);background:#f2efff;box-shadow:inset 3px 0 0 var(--violet)}.source-locator-color-row.unknown{color:#8b6320}.source-locator-color-main{min-width:0;padding:5px 4px 5px 6px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;color:inherit;border:0;background:transparent;text-align:left;cursor:pointer}.source-locator-color-main:focus-visible,.source-locator-crops-button:focus-visible{outline:2px solid #1677b8;outline-offset:-2px}.source-locator-color-main>i{width:25px;height:25px;border:1px solid rgba(0,0,0,.14)}.source-locator-color-main>span{min-width:0;display:grid;gap:1px}.source-locator-color-main small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.source-locator-color-main>b{font-size:13px;font-variant-numeric:tabular-nums}.source-locator-crops-button{width:34px;min-height:40px;display:grid;place-items:center;color:#58636d;border:0;border-left:1px solid var(--line);background:transparent;cursor:pointer}.source-locator-crops-button:hover{color:#075985;background:#e7f4fa}.locator-actions{display:flex;align-items:center;gap:3px}.locator-actions b{width:48px;color:var(--muted);font-size:10px;text-align:center}.source-locator-viewport{min-height:0;overflow:auto;background:#dfe2e5;overscroll-behavior:contain;touch-action:pan-x pan-y}.source-locator-stage{min-width:100%;height:auto;position:relative;margin:auto;background:#cfd4d8}.source-locator-stage>img{width:100%;height:100%;display:block;object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.source-color-overlay{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;cursor:default;touch-action:pan-x pan-y}.source-color-overlay.interactive{cursor:pointer}.source-cell-highlight{min-width:8px;min-height:8px;position:absolute;z-index:2;border:3px solid #e34d3d;background:#e34d3d2e;box-shadow:0 0 0 2px #fff,0 0 16px #e34d3db3;pointer-events:none}.source-cell-highlight:before,.source-cell-highlight:after{content:"";position:absolute;background:#e34d3dcc}.source-cell-highlight:before{width:1px;height:200vh;left:50%;top:-100vh}.source-cell-highlight:after{width:200vw;height:1px;left:-100vw;top:50%}.source-cell-highlight span{position:absolute;left:50%;bottom:calc(100% + 5px);padding:3px 5px;transform:translate(-50%);color:#fff;background:#d94334;font-size:9px;font-weight:800;white-space:nowrap}.source-locator>footer{min-height:60px;padding:8px 12px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid var(--line)}.source-locator>footer>span{margin-right:auto;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.source-locator>footer>span>i{width:17px;height:17px;border:1px solid rgba(0,0,0,.15)}@media (max-width: 1179px){.app-content.with-debug{padding-right:0}.debug-inspector{top:0;z-index:120;width:min(360px,92vw);box-shadow:-14px 0 34px #191f2533}.debug-inspector:not(.open){top:62px;width:48px}.review-footer{right:0}.calibration-workspace{grid-template-columns:minmax(0,1fr) 330px}}@media (max-width: 860px){.page-width,.review-workspace{width:min(100% - 24px,760px)}.app-header{grid-template-columns:1fr auto;padding:0 12px}.header-center,.reviewer,.page-nav button span{display:none}.page-nav button{width:32px;padding:0;justify-content:center}.stepper{gap:5px;justify-content:space-around}.stepper button{min-width:0;padding:0 5px}.page-heading,.review-header{align-items:start;flex-direction:column}.page-heading>p{text-align:left}.source-page{padding-top:28px}.social-stage{min-height:360px}.social-main-image{height:360px}.calibration-workspace{grid-template-columns:1fr;padding-top:14px}.image-viewport{height:auto;min-height:420px}.calibration-controls{min-height:0}.workspace-actions{margin-top:10px}.review-metrics{width:100%;overflow-x:auto}.review-metrics span{flex:1}.review-toolbar{align-items:stretch;flex-direction:column;padding:8px 0}.toolbar-actions{overflow-x:auto}.review-footer{min-height:84px;padding:8px 12px}.review-footer>div{display:none}.color-usage-summary>header{align-items:start;flex-direction:column}.color-usage-summary dl{width:100%;grid-template-columns:repeat(3,1fr)}.source-locator-content{grid-template-columns:190px minmax(0,1fr)}}@media (max-width: 560px){h1{font-size:22px}.login-shell{padding:12px}.login-panel{padding:25px 20px}.app-header{height:58px}.header-brand span{display:none}.stepper{top:58px;height:48px}.stepper button{font-size:9px}.stepper button span{width:19px;height:19px}.source-tabs button{min-width:0;flex:1;font-size:11px}.upload-panel{min-height:250px;padding:15px;text-align:center}.social-entry{padding:24px 16px}.link-field{grid-template-columns:1fr}.resolve-button{width:100%}.picker-head h2{max-width:230px}.picker-head .ghost{padding:0 6px}.social-stage{min-height:300px;grid-template-columns:40px minmax(0,1fr) 40px}.social-main-image{height:300px}.carousel-arrow{width:31px}.picker-actions>span{display:none}.picker-actions .primary{width:100%}.workspace-heading p:last-child{display:none}.canvas-toolbar label,.canvas-toolbar .compact-button:first-of-type{display:none}.image-viewport{height:34vh;min-height:250px;max-height:330px}.calibration-controls{padding:10px;gap:10px}.workspace-actions button{flex:1;padding:0 7px}.handle{width:36px;height:36px}.handle.left{left:-19px;top:calc(50% - 18px)}.handle.right{right:-19px;top:calc(50% - 18px)}.handle.top{top:-19px;left:calc(50% - 18px)}.handle.bottom{bottom:-19px;left:calc(50% - 18px)}.calibration-focus-panel>header{align-items:stretch;flex-direction:column}.focus-anchor-tabs button{flex:1;min-height:44px}.calibration-focus-viewport{max-height:none}.calibration-focus-panel>footer{align-items:stretch;flex-direction:column}.snap-button{width:100%;min-height:42px}.nudge-panel header button{width:44px;height:40px}.adjust-targets button{height:48px;font-size:9px}.nudge-direction-pad{width:244px;grid-template-columns:64px 116px 64px;grid-template-rows:58px 64px 58px}.nudge-direction-pad small{max-width:108px}.recognition-page{padding-top:55px}.recognition-stats strong{font-size:12px}.recovery-panel{grid-template-columns:auto 1fr}.recovery-panel button{grid-column:1 / -1}.review-workspace{padding-top:15px}.review-metrics span{min-width:96px;padding:7px}.review-metrics strong{font-size:15px}.segmented{width:100%}.segmented button{flex:1;padding:0 6px}.toolbar-actions{padding-bottom:2px}.group-summary{padding-left:9px}.group-actions{display:grid;grid-template-columns:1fr 1fr}.group-actions .danger-button{grid-column:1 / -1}.review-footer{gap:5px}.review-footer>button{min-width:0;flex:1;padding:0 8px;font-size:10px}.row-selection-toolbar{top:106px;flex-wrap:wrap}.row-selection-toolbar>span{order:2;margin-left:0;margin-right:auto}.row-selection-toolbar .primary{margin-left:auto}.group-body{padding:8px}.group-selection-toolbar>span{width:100%;order:2}.group-selection-toolbar .primary{margin-left:auto}.cell-review-list{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:5px}.cell-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.color-usage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.color-usage-list button{grid-template-columns:25px minmax(0,1fr) auto 16px;padding:5px;gap:5px}.color-usage-list button>i{width:25px;height:25px}.editor-content{grid-template-columns:1fr}.editor-preview{min-height:145px}.dictionary-grid{grid-template-columns:repeat(2,1fr)}.source-locator-backdrop{padding:0}.source-locator{width:100%;height:100dvh;border-radius:0}.source-locator>header{min-height:66px;padding:8px 10px}.source-locator h2{font-size:15px}.source-locator header span{max-width:150px}.locator-actions{gap:0}.locator-actions b{width:38px}.source-locator-content{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.source-locator-colors{padding:7px;grid-template-rows:auto 40px;border-right:0;border-bottom:1px solid var(--line)}.source-locator-colors-heading{min-height:31px;padding:0}.source-locator-colors-heading>div:first-child{display:flex;align-items:baseline;gap:5px}.source-locator-color-list{grid-auto-flow:column;grid-auto-columns:minmax(132px,158px);overflow-x:auto;overflow-y:hidden}.source-locator-color-row{min-height:40px;grid-template-columns:minmax(0,1fr) 32px}.source-locator-color-main{grid-template-columns:22px minmax(0,1fr) auto;gap:5px}.source-locator-color-main>i{width:22px;height:22px}.source-locator-crops-button{width:32px;min-height:38px}.source-locator>footer{min-height:62px;flex-wrap:wrap}.source-locator>footer>span{display:none}.source-locator>footer button{min-width:calc(33.333% - 7px);flex:1}}@media (max-width: 720px){.training-review-queue{width:min(100% - 24px,760px);padding-top:24px}.review-desk{grid-template-columns:minmax(0,1fr)}.review-detail{position:static}.training-review-item{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.training-review-item>span:not(.training-review-file){font-size:10px}.training-review-item>svg{grid-column:2;grid-row:1 / span 2}}
