:root{--ss-flag: #b91c1c;--ss-flag-soft: #fee2e2;--ss-stale: #b45309;--ss-stale-soft: #fef3c7;--ss-muted-soft: #eef1f5}.safescan-app{max-width:1100px;margin:0 auto;padding:16px 14px 64px}.safescan-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0 14px;border-bottom:1px solid var(--border);margin-bottom:16px}.safescan-header h1{font-size:17px;font-weight:650;letter-spacing:-.014em;margin:0}.safescan-header-spacer{flex:1}.safescan-user{color:var(--text-muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;max-width:180px;white-space:nowrap}.safescan-signout{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;font-size:12.5px;padding:5px 10px;cursor:pointer}.safescan-signout:hover{background:var(--ss-muted-soft)}.safescan-update-pill{border:1px solid var(--border);background:var(--ss-stale-soft);color:var(--ss-stale);border-radius:999px;font-size:12.5px;padding:4px 12px;cursor:pointer}.safescan-head{margin-bottom:14px}.safescan-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.014em}.safescan-lede{color:var(--text-muted);font-size:12.5px;margin:4px 0 0}.safescan-note{color:var(--text-muted);font-size:13px;padding:16px 0}.safescan-foot{color:var(--text-muted);font-size:12px;margin-top:10px}.safescan-error{background:var(--ss-flag-soft);color:var(--ss-flag);border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px;margin:0 0 12px}.safescan-stale{background:var(--ss-stale-soft);color:var(--ss-stale);border:1px solid var(--ss-stale);border-radius:8px;padding:10px 12px;font-size:13px;font-weight:600;margin:0 0 12px}.safescan-back{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;font-size:12.5px;padding:5px 10px;cursor:pointer;margin-bottom:12px}.safescan-back:hover{background:var(--ss-muted-soft)}.safescan-link{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--primary);text-decoration:underline;cursor:pointer}.safescan-link:hover{color:var(--primary-dark)}.safescan-age{color:var(--text-muted);font-size:12px}.safescan-age.is-stale{color:var(--ss-stale);font-weight:650}.safescan-unconfirmed{color:var(--ss-stale);font-size:12px;font-weight:650;font-style:italic}.safescan-unconfirmed .safescan-age{color:inherit;font-weight:inherit}.safescan-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.safescan-table th{text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.safescan-table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.safescan-table tbody tr:last-child td{border-bottom:none}.safescan-row.has-issues,.safescan-row.is-flagged{background:var(--ss-flag-soft)}.safescan-row.is-openable{cursor:pointer}.safescan-row.is-openable:hover{background:var(--ss-muted-soft)}.safescan-row.is-openable.has-issues:hover{background:var(--ss-flag-soft)}.safescan-flag{display:inline-block;background:var(--ss-flag);color:#fff;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 6px;margin-left:6px;white-space:nowrap}.safescan-table td>.safescan-flag:only-child{margin-left:0}.safescan-issues{background:var(--ss-flag-soft);border:1px solid #fecaca;border-radius:var(--radius);padding:12px 14px;margin-bottom:18px}.safescan-issues h3{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ss-flag)}.safescan-issues ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.safescan-hint{color:var(--text-muted);font-size:12px;margin:8px 0 0}.safescan-basket{margin-bottom:18px}.safescan-basket h3{margin:0 0 6px;font-size:14px;font-weight:650;letter-spacing:-.01em}.safescan-state{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap;background:var(--ss-muted-soft);color:var(--text);border:1px solid var(--border)}.safescan-state.is-completed{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.safescan-table th{padding:10px 14px}.safescan-table td{padding:13px 14px;vertical-align:middle}.safescan-table td .safescan-link{text-decoration:none;font-weight:650}.safescan-table td .safescan-link:hover{text-decoration:underline}
