/* screening.css — WP-B 스크리닝 결과(search.html, app.js, _newsletter_optin.html) 전용.
   2026-10 화면 개편 WP0이 만들어 둔 빈 파일에 WP-B가 채웠다. 다른 WP는 이 파일을 고치지 않는다(병합 충돌 방지).
   색·크기·모서리는 style.css 맨 위 토큰과 tokens-base.css 공통 부품(.chip .dt .btn-* .state-* …)을 쓴다.
   docs/ui-review-2026-10/redesign-spec.md §10-C, §7, §10-H 참고.

   주의: style.css에 남은 옛 `.result-table` 규칙은 landing·detail·_accounts_table도 같이 쓴다(WP-C·WP-D 소관).
   그래서 지우지 않고, 검색 화면 안에서만(.search-main .result-table.dt) 새 규칙이 이기게 선택자를 한 단계 더 좁힌다. */

/* ── 화면 틀: 회색 바탕 위 흰 패널 ─────────────────────────────────── */
main:has(.search-layout) { max-width: 1440px; padding: var(--space-5) var(--space-5) var(--space-7); }
.search-layout { grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-5); }
.search-layout--collapsed { grid-template-columns: 44px minmax(0, 1fr); }
.filter-sidebar {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel);
  padding: var(--space-4); top: var(--space-4); gap: var(--space-3);
}
.filter-sidebar-title { font-size: var(--t-body); font-weight: 600; color: var(--ink-3); letter-spacing: 0; text-transform: none; }
.drawer-cat > summary { font-size: var(--t-body); font-weight: 600; color: var(--ink); }
.drawer-cat { border-bottom-color: var(--line); }
.filter-rail { background: var(--surface); border-color: var(--line); border-radius: var(--r-panel); }

/* ── 문장 입력(52px) — 스펙 §5 큰 검색창과 같은 모양 ─────────────────── */
.search-sticky {
  max-height: none; overflow: visible; margin: 0; padding: 0 0 var(--space-3); gap: var(--space-2);
  background: var(--bg);
}
.search-sticky .hero-search-row {
  display: flex; align-items: center; gap: var(--space-2); height: 52px; padding: 0 6px 0 16px;
  background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--r-control);
}
.search-sticky .hero-search-row:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
.search-sticky .hero-input {
  flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: none; background: transparent; color: var(--ink);
  font-size: 16px; font-family: inherit; box-shadow: none;
}
.search-sticky .hero-input:focus, .search-sticky .hero-input:focus-visible { box-shadow: none; border: 0; }
.search-sticky .hero-input::placeholder { color: var(--ink-4); }
.search-sticky #sentence-apply-btn { flex: none; min-height: 40px; height: 40px; white-space: nowrap; }

/* 첫 방문 제목: 히어로 대신 18px 제목 한 줄 */
.search-main .hero { text-align: left; padding: 0 0 var(--space-3); }
.search-main .hero h1 { margin: 0; font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: var(--t-title-w); letter-spacing: 0; }
.search-main .hero-sub { margin: 2px 0 0; font-size: var(--t-body); color: var(--ink-3); }

/* ── 안내 띠: 문장 해석 변환·반영 못 한 부분·Peer 안내 ───────────────── */
.search-sticky .conversion-banner, .search-sticky .sentence-detail {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin: 0;
  padding: 8px 12px; background: var(--surface-muted); border: 0; border-left: 2px solid var(--line-strong);
  border-radius: 0 var(--r-control) var(--r-control) 0; color: var(--ink-2); font-size: var(--t-body); line-height: var(--t-body-lh);
}
.search-sticky .sentence-detail { display: block; border-left-color: var(--caution); }
.search-sticky .conversion-banner[hidden], .search-sticky .sentence-detail[hidden] { display: none; }
.search-sticky .link-btn { min-height: 28px; padding: 0 8px; background: none; color: var(--ink-3); font-weight: 600; text-decoration: none; }
.search-sticky .link-btn:hover { color: var(--ink); background: none; }
.search-sticky .link-btn[hidden] { display: none; }
.team-upsell-banner {
  display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-3); padding: 8px 12px;
  background: var(--surface-muted); border: 0; border-radius: var(--r-control); color: var(--ink-2); font-size: var(--t-body);
}
.team-upsell-banner a.link-btn { background: none; color: var(--accent); font-weight: 600; text-decoration: none; }
.team-upsell-dismiss-form button { background: none; color: var(--ink-3); min-height: 32px; width: 32px; padding: 0; }

/* ── 해석된 조건 칩 줄(스펙 §10-C 3번) ───────────────────────────────── */
.interp-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin: 0 0 var(--space-4); }
.interp-row[hidden] { display: none; }
.interp-row-label { font-size: var(--t-caption); line-height: var(--t-caption-lh); font-weight: var(--t-caption-w); color: var(--ink-3); }
.interp-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.interp-row .chip-filter { min-height: 28px; height: 28px; padding: 4px 8px; }
.interp-row .chip-filter-x {
  min-height: 20px; height: 20px; width: 20px; padding: 0; background: none; color: inherit; border-radius: var(--r-chip);
  font-size: var(--t-body); line-height: 1; margin-right: -4px;
}
.interp-row .chip-filter-x:hover { background: var(--accent-tint); opacity: 1; }
.interp-row .interp-add { border: 0; cursor: pointer; }
.interp-row .interp-add:hover { background: var(--accent-tint); color: var(--accent); }

/* ── 결과 머리: 18px 제목 + 보조 버튼 ─────────────────────────────────── */
.results-header {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; margin: 0 0 var(--space-3);
}
.results-summary { min-width: 0; flex: 1 1 320px; }
.results-title { margin: 0; font-family: var(--font-body); font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: var(--t-title-w); letter-spacing: 0; color: var(--ink); }
.results-summary .hint.results-meta { display: block; margin: 2px 0 0; font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-4); }
.results-header-actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
/* Excel로 받기·링크 복사는 보조 버튼이다(스펙 §3·§6: 초록 강조 버튼 폐지). */
.results-header .secondary-btn, #export-btn {
  display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 0; border-radius: var(--r-control);
  background: var(--chip-bg); color: var(--ink); font-size: var(--t-body); font-weight: 600; box-shadow: none;
}
.results-header .secondary-btn:hover:not(:disabled), #export-btn:hover:not(:disabled) { background: var(--accent-tint); color: var(--ink); border: 0; }
.results-header .secondary-btn:disabled, #export-btn:disabled { background: var(--chip-bg); color: var(--ink-4); opacity: .7; border: 0; }
.row-cap-banner, .unique-cap-badge, .trend-error-banner, .trend-undecided-banner {
  margin: var(--space-2) 0 0; padding: 8px 12px; background: var(--surface-muted); border: 0; border-left: 2px solid var(--caution);
  border-radius: 0 var(--r-control) var(--r-control) 0; color: var(--ink-2); font-size: var(--t-body); font-weight: 400; line-height: var(--t-body-lh);
}
.trend-error-banner { border-left-color: var(--danger); }
.unique-cap-badge a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; }
.trend-undecided-banner summary, .trend-undecided-banner summary strong { color: var(--ink); }
/* 엑셀을 못 쓰는 이유(한도·플랜) 한 줄: 같은 띠 모양으로 */
.export-disabled-hint {
  margin: 0 0 var(--space-3); padding: 8px 12px; background: var(--surface-muted); border-left: 2px solid var(--caution);
  border-radius: 0 var(--r-control) var(--r-control) 0; color: var(--ink-2); font-size: var(--t-body); text-align: left;
}
.export-disabled-hint a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }

/* ── 새 소식 받기: 자리는 그대로(표 위), 모양만 작게. 동의 문구·체크박스는 그대로다 ─────────────── */
.newsletter-optin {
  margin: 0 0 var(--space-3); padding: var(--space-3) var(--space-4); background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--r-panel);
}
.newsletter-optin { padding-top: var(--space-2); padding-bottom: var(--space-2); }
.newsletter-optin-details > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: var(--space-1); min-height: 28px; }
.newsletter-optin-details > summary::-webkit-details-marker { display: none; }
.newsletter-optin-caret { display: inline-block; color: var(--ink-3); transition: transform .12s; }
.newsletter-optin-details[open] .newsletter-optin-caret { transform: rotate(90deg); }
.newsletter-optin-details[open] > summary { margin-bottom: var(--space-2); }
.newsletter-optin-form { gap: 6px; }
.newsletter-optin-ttl { font-size: var(--t-body); font-weight: 600; color: var(--ink); }
.newsletter-optin-sub, .newsletter-optin-meta { font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-3); }
.newsletter-optin-row { gap: var(--space-2); }
.newsletter-optin-input {
  flex: 1 1 220px; max-width: 360px; min-height: 36px; padding: 0 12px; border: 1px solid var(--line-strong);
  border-radius: var(--r-control); background: var(--surface); color: var(--ink); font-size: var(--t-body);
}
.newsletter-optin-btn { min-height: 36px; padding: 0 14px; font-size: var(--t-body); }
.newsletter-optin-agree { font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-3); }
.newsletter-optin-agree input { accent-color: var(--accent); }
.newsletter-optin-meta a { color: var(--ink-3); }

/* ── 표 패널: 헤드 줄 + 표 한 장(스펙 §7) ─────────────────────────────── */
.search-main .result-table-wrap {
  max-height: none; overflow: hidden; margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel);
}
.dt-head-caption { margin: 0; font-size: var(--t-caption); line-height: var(--t-caption-lh); font-weight: var(--t-caption-w); color: var(--ink-3); }
.dt-head-caption strong { color: var(--ink); font-weight: 600; }
.search-main .dt-wrap { overflow-x: auto; }

/* 표 본체: 옛 .result-table(10열 카드 변환 포함)을 이 화면 안에서만 되돌린다. */
.search-main .result-table.dt { display: table; width: 100%; border-collapse: collapse; border-spacing: 0; font-size: var(--t-cell); }
.search-main .result-table.dt thead { display: table-header-group; }
.search-main .result-table.dt tbody { display: table-row-group; width: auto; }
.search-main .result-table.dt tr { display: table-row; width: auto; background: none; border: 0; border-radius: 0; padding: 0; }
.search-main .result-table.dt thead th {
  position: static; height: 36px; padding: 0 8px; background: none; text-align: left; white-space: nowrap;
  font-size: var(--t-header); line-height: var(--t-header-lh); font-weight: var(--t-header-w); color: var(--ink-3);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.search-main .result-table.dt td {
  display: table-cell; height: 40px; padding: 0 8px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap;
  font-weight: var(--t-cell-w); font-size: var(--t-cell); color: var(--ink-2); justify-content: initial;
}
.search-main .result-table.dt td::before { content: none; }
.search-main .result-table.dt tr.two-line > td { height: 52px; }
.search-main .result-table.dt tbody tr:last-child > td { border-bottom: 0; }
.search-main .result-table.dt th.num, .search-main .result-table.dt td.num { text-align: right; font-variant-numeric: tabular-nums; }
.search-main .result-table.dt th:first-child, .search-main .result-table.dt td:first-child { padding-left: 16px; }
.search-main .result-table.dt th:last-child, .search-main .result-table.dt td:last-child { padding-right: 16px; }
.search-main .result-table.dt th a { color: inherit; text-decoration: none; }
.search-main .result-table.dt th.is-sorted, .search-main .result-table.dt th.is-sorted a { color: var(--ink); }
.search-main .result-table.dt tbody tr:hover > td { background: var(--surface-muted); color: var(--ink-2); }
.search-main .result-table.dt .clickable-row { cursor: pointer; }
.search-main .result-table.dt .empty { color: var(--ink-4); font-weight: var(--t-cell-w); }

/* 앞 두 열(# · 회사) 고정: 가로로 밀어도 회사 이름이 남는다. 오른쪽 1px 선은 회사 열에만. */
.search-main .result-table.dt th.rank, .search-main .result-table.dt td.rank {
  width: 44px; min-width: 44px; max-width: 44px; padding-left: 16px; padding-right: 0; color: var(--ink-3); font-weight: var(--t-cell-w);
  position: sticky; left: 0; z-index: 2; background: var(--surface); box-shadow: none;
}
.search-main .result-table.dt th:nth-child(2), .search-main .result-table.dt td:nth-child(2) {
  position: sticky; left: 44px; z-index: 2; background: var(--surface); box-shadow: inset -1px 0 0 var(--line);
  min-width: 190px; max-width: 280px; padding-left: 4px;
}
.search-main .result-table.dt tbody tr:hover > td.rank, .search-main .result-table.dt tbody tr:hover > td:nth-child(2) { background: var(--surface-muted); }
.search-main .result-table.dt th.num a { white-space: nowrap; }

/* 회사 칸: 네모 첫 글자 + 이름, 아래 줄 "업종 · 시도" */
.search-main .result-table.dt td.co { color: var(--ink); }
.co-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
.co-name { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ink); font-size: var(--t-cell-strong); line-height: var(--t-cell-strong-lh); font-weight: var(--t-cell-strong-w); }
.search-main .result-table.dt .co-sub {
  display: block; margin-left: 22px; overflow: hidden; text-overflow: ellipsis; max-width: 250px;
  font-size: var(--t-caption); line-height: var(--t-caption-lh); font-weight: var(--t-caption-w); color: var(--ink-4);
}
.search-main .result-table.dt .co-mark { margin-right: 0; flex: none; }
/* 영업이익 꼬리표(흑자/적자): 색 없는 중립 칩 */
.search-main .result-table.dt td.num .chip { margin-left: 4px; min-width: 32px; justify-content: center; }
.search-main .result-table.dt td.num > span[title] { cursor: default; }

/* 근거 칩: 숫자 열 바로 뒤. 바깥 <a class="evidence-link">는 테스트·행 클릭 예외용이고 모양은 안쪽 칩이 낸다. */
.search-main .result-table.dt td.ev { white-space: nowrap; }
.search-main .result-table.dt a.evidence-link { color: inherit; font-weight: var(--t-caption-w); text-decoration: none; }
.search-main .result-table.dt a.evidence-link:hover { text-decoration: none; }
.search-main .result-table.dt a.evidence-link:hover .chip-evidence { background: var(--accent-tint); color: var(--accent); }
.search-main .result-table.dt .evidence-missing { font-size: var(--t-caption); color: var(--ink-4); }

/* 사업내용: 한 줄 말줄임 — 전체는 DART 원문 링크 */
.search-main .result-table.dt td.business-snippet-cell {
  min-width: 180px; max-width: 240px; padding: 0 8px; height: 52px; white-space: nowrap;
  font-size: var(--t-cell); line-height: var(--t-cell-lh); color: var(--ink-3);
}
.search-main .result-table.dt .business-snippet-cell > a, .search-main .result-table.dt .business-snippet-cell > span {
  display: block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; color: inherit; text-decoration: none;
}
.search-main .result-table.dt .business-snippet-cell > a:hover { color: var(--ink); text-decoration: underline dotted; text-underline-offset: 3px; }
/* 품질상태: 중립 칩(정상) / 주의 칩 */
.search-main .result-table.dt .status-ok, .search-main .result-table.dt .status-warn {
  display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: var(--r-chip); border: 0;
  background: var(--chip-bg); color: var(--ink-3); font-size: var(--t-caption); font-weight: var(--t-caption-w); white-space: nowrap;
}
.search-main .result-table.dt .status-warn { color: var(--caution); }

/* ── 0건·못 찾음(스펙 §10-H): 그림 없이 왼쪽 정렬 ─────────────────────── */
.empty-results { padding: var(--space-5) var(--space-4); }
.empty-results .state-empty-title { margin-bottom: 6px; }
.empty-results .state-empty-body { margin: 0 0 var(--space-3); max-width: 640px; }
.empty-results .state-empty-body strong { color: var(--ink); font-weight: 600; }
.empty-results .empty-state-industry-headline { margin: 0 0 4px; font-size: var(--t-body); font-weight: 600; color: var(--ink); text-align: left; }
.empty-results .empty-state-industry-hint { margin: 0 0 var(--space-2); max-width: 640px; font-size: var(--t-body); color: var(--ink-3); text-align: left; }
.empty-results .empty-state-industry-list { margin: 0 0 var(--space-3); padding-left: var(--space-4); text-align: left; color: var(--ink-2); }
.empty-results .empty-state-industry-list li { color: var(--ink-2); }
.empty-results .empty-state-industry-count { color: var(--ink-3); }
/* 조건 빼고 다시 찾기 칩 + 예상 곳수(JS가 /api/search-count로 센 값) */
.empty-results .empty-state-relax-chips { margin-top: var(--space-2); }
.empty-results .empty-state-relax-label { margin: 0 0 var(--space-2); font-size: var(--t-caption); font-weight: var(--t-caption-w); color: var(--ink-3); }
.empty-results .empty-state-relax-list { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: flex-start; }
.empty-results .empty-state-relax-chip {
  display: inline-flex; align-items: center; gap: 6px; min-height: 28px; height: auto; padding: 4px 10px; border: 0; border-radius: var(--r-filter);
  background: var(--chip-bg); color: var(--ink-2); font-size: var(--t-cell); font-weight: 600; text-align: left;
}
.empty-results .empty-state-relax-chip:hover { background: var(--accent-tint); color: var(--accent); }
.empty-results .empty-state-relax-count { margin-left: 0; color: var(--accent); font-weight: 600; }
.empty-results .empty-state-undo-btn {
  display: inline-flex; align-items: center; margin-top: var(--space-2); min-height: 32px; padding: 0 12px; border: 0; border-radius: var(--r-control);
  background: var(--chip-bg); color: var(--ink); font-size: var(--t-body); font-weight: 600;
}
.empty-results .empty-state-undo-btn:hover { background: var(--accent-tint); color: var(--ink); }
.empty-results .empty-state-undo-btn[hidden], .empty-results .empty-state-relax-chips[hidden] { display: none; }
/* 한 줄 의견 입력 */
.empty-results .empty-state-ask { display: block; margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--line); text-align: left; }
.empty-results .empty-state-ask[hidden] { display: none; }
.zero-feedback { margin: 0; }
.zero-feedback-q { display: block; margin: 0 0 var(--space-2); font-size: var(--t-body); font-weight: 600; color: var(--ink); }
.zero-feedback-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.zero-feedback-row input[type="text"] {
  flex: 1 1 240px; min-width: 0; max-width: 520px; min-height: 36px; padding: 0 12px; border: 1px solid var(--line-strong);
  border-radius: var(--r-control); background: var(--surface); color: var(--ink); font-size: var(--t-body);
}
.zero-feedback-row .secondary-btn { min-height: 36px; padding: 0 14px; border: 0; border-radius: var(--r-control); background: var(--chip-bg); color: var(--ink); font-weight: 600; }
.zero-feedback-row .secondary-btn:hover:not(:disabled) { background: var(--accent-tint); }
.zero-feedback-row .secondary-btn[hidden] { display: none; }
.zero-feedback-row .button-link { min-height: 32px; padding: 0 8px; background: none; color: var(--ink-3); font-weight: 600; text-decoration: none; }
.zero-feedback-row .button-link:hover { background: none; color: var(--ink); }
.zero-feedback-row .empty-state-ask-x { margin-left: auto; width: 32px; min-width: 32px; padding: 0; background: none; color: var(--ink-3); }
.zero-feedback-msg { margin: var(--space-2) 0 0; font-size: var(--t-body); color: var(--ink-2); }
.zero-feedback-msg[hidden] { display: none; }

/* ── 불러오는 중: 표 자리 회색 막대 6줄 ─────────────────────────────── */
.results-skeleton { width: 100%; max-width: none; box-sizing: border-box; margin: 0; padding: var(--space-3) 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); }
.results-skeleton[hidden] { display: none; }
.results-skeleton .skeleton-spinrow {
  display: flex; align-items: center; gap: var(--space-2); margin: 0 var(--space-4) var(--space-3); padding: 0;
  font-size: var(--t-body); color: var(--ink-3); background: none; border: 0;
}
.results-skeleton .skeleton { gap: 6px; }
.results-skeleton .skeleton-row { animation: skel-pulse 1.4s ease-in-out infinite; }
@keyframes skel-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .results-skeleton .skeleton-row { animation: none; } }

/* ── 결과 아래 의견 한 줄(스펙 §9): 표 바로 아래 인라인 패널, 화면을 덮지 않는다 ───── */
#result-quality-ask {
  position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2);
  margin: var(--space-3) 0 0; padding: var(--space-4) 48px var(--space-4) var(--space-4);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); box-shadow: none;
}
#result-quality-ask[hidden] { display: none; }
#result-quality-ask .feedback-question { margin-right: var(--space-2); font-size: var(--t-body); font-weight: 600; color: var(--ink); }
#result-quality-ask .feedback-btn {
  min-height: 36px; padding: 0 14px; border: 0; border-radius: var(--r-control); background: var(--chip-bg); color: var(--ink);
  font-size: var(--t-body); font-weight: 600;
}
#result-quality-ask .feedback-btn:hover { background: var(--accent-tint); }
#result-quality-ask .empty-state-ask-x {
  position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; min-height: 32px; padding: 0; background: none; color: var(--ink-3);
}
#result-quality-ask .feedback-comment-row { flex: 1 1 100%; margin-top: var(--space-1); }
#result-quality-ask .feedback-comment-row input, #result-quality-ask .feedback-reply-email-input {
  min-height: 36px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-control); background: var(--surface); color: var(--ink);
}
#result-quality-ask .feedback-reply-email-label, #result-quality-ask .hint { font-size: var(--t-caption); color: var(--ink-3); }
#result-quality-ask .button-link { min-height: 32px; background: none; color: var(--ink-3); font-weight: 600; text-decoration: none; }

/* ── 검색 홈(첫 방문·재방문): 카드 → 평평한 목록 ───────────────────── */
.search-home { margin-bottom: var(--space-4); }
.search-home-ttl { margin: 0 0 2px; font-family: var(--font-body); font-size: var(--t-section); line-height: var(--t-section-lh); font-weight: var(--t-section-w); letter-spacing: 0; }
.search-home-sub { margin: 0 0 var(--space-3); font-size: var(--t-body); color: var(--ink-3); }
.recipe-card {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); box-shadow: none; padding: var(--space-3) var(--space-4);
  color: var(--ink); text-decoration: none;
}
.recipe-card:hover { border-color: var(--line-strong); background: var(--surface-muted); }
.recipe-card-kw { font-size: var(--t-caption); font-weight: 600; color: var(--ink-3); }
.recipe-card-sentence { font-size: var(--t-body); font-weight: 600; color: var(--ink); }
.recipe-card-count { font-size: var(--t-caption); color: var(--ink-4); }
.home-history-btn { background: var(--chip-bg); border: 0; border-radius: var(--r-filter); color: var(--ink-2); min-height: 28px; padding: 4px 10px; font-size: var(--t-cell); font-weight: 600; }
.home-history-btn:hover { background: var(--accent-tint); color: var(--accent); }

/* ── 좁은 화면 ─────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
  .search-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  main:has(.search-layout) { padding: var(--space-4) var(--space-4) var(--space-6); }
  .search-sticky { position: static; }
  .results-header { align-items: stretch; flex-direction: column; }
  .results-summary { flex: 0 0 auto; }
  .results-header-actions { flex-direction: row; align-items: center; }
  .results-header .secondary-btn { width: auto; flex: 1 1 0; justify-content: center; min-height: 40px; }
  /* 옛 "엑셀 버튼 하단 플로팅"은 쓰지 않는다 — 떠 있는 요소 없음(스펙 §11) */
  #export-btn { position: static; width: auto; height: auto; min-height: 40px; border-radius: var(--r-control); box-shadow: none; }
  .search-sticky #sentence-apply-btn { min-height: 40px; height: 40px; }
  .search-sticky .hero-search-row { flex-direction: row; height: 48px; padding-left: 12px; gap: var(--space-1); }
  .search-sticky #sentence-apply-btn { padding: 0 10px; font-size: var(--t-cell); }
  .search-sticky .hero-input { font-size: 16px; }
  .filter-toggle-btn { width: 100%; margin-bottom: var(--space-3); border: 0; background: var(--chip-bg); color: var(--ink); border-radius: var(--r-control); min-height: 40px; }
  .filter-sidebar { border-radius: 0; border: 0; }
  .interp-row .chip-filter, .interp-row .interp-add { min-height: 32px; height: 32px; }
  .interp-row .chip-filter-x { width: 28px; height: 28px; min-height: 28px; }
  .newsletter-optin-input { max-width: none; flex-basis: 100%; }
  .recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* 표 안에서만 가로로 민다. 쪽 전체가 옆으로 밀리면 안 된다(scrollWidth <= 375). # 열은 접고 회사 열을 고정한다. */
@media (max-width: 640px) {
  .search-main .result-table.dt th.rank, .search-main .result-table.dt td.rank { display: none; }
  .search-main .result-table.dt th:nth-child(2), .search-main .result-table.dt td:nth-child(2) {
    left: 0; min-width: 148px; max-width: 168px; padding-left: 16px;
  }
  .search-main .result-table.dt .co-sub { max-width: 140px; }
  .search-main .result-table.dt .co-name { max-width: 120px; }
  .search-main .result-table.dt td.num, .search-main .result-table.dt th.num { min-width: 84px; }
  .search-main .result-table.dt td.business-snippet-cell { min-width: 160px; }
  .dt-head { padding: var(--space-3); }
  #result-quality-ask { padding-right: 48px; }
  #result-quality-ask .feedback-btn { min-height: 40px; flex: 1 1 auto; }
  .zero-feedback-row input[type="text"] { flex-basis: 100%; max-width: none; }
}
