/* features/alert-history — 경보 이력 목록 스타일 (2026-08-31 신설)
   행 레이아웃은 conflict-replay의 .cr-ev(330px에서 검증된 밀도)를 승계해 .ah-*로 옮겼다.
   ⚠ 색·치수 토큰은 호스트(css/theme.css)를 따르되 폴백을 함께 쓴다 (모듈화 규약). */

.ah-root{display:flex; flex-direction:column; min-height:0; height:100%;
  font-size:var(--fs-sm,11px); color:var(--text-primary,#0f172a)}
/* 서랍 pane 안에서는 pane이 스크롤을 갖는다 — 목록이 자체 높이를 주장하지 않는다 */
.ah-drawer{height:auto}
.ah-drawer .ah-list{max-height:52vh; overflow-y:auto}
.ah-side .ah-list{flex:1 1 auto; min-height:0; overflow-y:auto; padding:6px}

.ah-hd{flex:none; display:flex; align-items:center; gap:6px; padding:4px 0 6px}
.ah-days{margin-left:auto; height:24px; font-family:inherit; font-size:var(--fs-xs,10px);
  border:1px solid var(--border-subtle,#e2e8f0); border-radius:var(--radius-sm,6px);
  background:var(--bg-surface-elevated,#fff); color:inherit}
.ah-kinds{display:flex; gap:4px}
.ah-k{height:24px; width:auto; flex:none; white-space:nowrap;
  padding:0 8px; cursor:pointer; font-family:inherit;
  font-size:var(--fs-xs,10px); color:var(--text-tertiary,#64748b);
  background:var(--bg-sunken,#f6f8fa); border:1px solid var(--border-subtle,#e2e8f0);
  border-radius:var(--radius-md,10px)}
.ah-k.on{color:var(--text-primary,#0f172a); font-weight:700;
  background:var(--bg-surface-elevated,#fff); border-color:var(--accent-cyan,#0284c7)}

.ah-flt{flex:none; display:flex; align-items:center; gap:8px; padding:0 0 6px}
.ah-cb{display:flex; align-items:center; gap:4px; white-space:nowrap; flex:none;
  font-size:var(--fs-xs,10px);
  color:var(--text-tertiary,#64748b); cursor:pointer}
.ah-zone{flex:1 1 160px; min-width:0; max-width:320px; height:24px; font-family:inherit; font-size:var(--fs-xs,10px);
  border:1px solid var(--border-subtle,#e2e8f0); border-radius:var(--radius-sm,6px);
  background:var(--bg-surface-elevated,#fff); color:inherit}

/* ── 행 — .cr-ev 승계 ── */
.ah-ev{display:grid; grid-template-columns:auto auto 1fr auto; gap:2px 8px; width:100%;
  padding:7px 9px; margin-bottom:4px; text-align:left; cursor:pointer;
  font-family:inherit; font-size:var(--fs-sm,11px); color:inherit;
  background:var(--bg-sunken,#f6f8fa); border:1px solid var(--border-subtle,#e2e8f0);
  border-radius:var(--radius-sm,6px); box-sizing:border-box}
.ah-ev:hover{background:var(--bg-hover,#eef3fa); border-color:var(--accent-cyan,#0284c7)}
.ah-ev.sel{border-color:var(--accent-cyan,#0284c7);
  box-shadow:0 0 0 1px var(--accent-cyan,#0284c7) inset}
.ah-kc{align-self:start; padding:0 5px; border-radius:3px; font-size:var(--fs-xs,10px);
  font-weight:700; background:rgba(2,132,199,.12); color:var(--accent-cyan,#0369a1)}
.ah-ev.k-sep .ah-kc{background:rgba(217,119,6,.14); color:var(--status-warn,#b45309)}
.ah-ev.k-sq  .ah-kc{background:rgba(220,38,38,.14); color:var(--status-danger,#c2261f)}
.ah-t{font-family:var(--font-mono,monospace); color:var(--text-tertiary,#64748b)}
.ah-ab{font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.ah-m{text-align:right; font-family:var(--font-mono,monospace); line-height:1.3}
.ah-m b{display:block; font-weight:700; color:var(--status-danger,#c2261f)}
.ah-m i{display:block; font-style:normal; font-size:var(--fs-xs,10px);
  color:var(--text-tertiary,#64748b)}
.ah-z{grid-column:1/-1; font-size:var(--fs-xs,10px); color:var(--text-tertiary,#64748b)}
/* ⭐ 「구역 기록 없음」 — 「—」로 줄이지 않는다(해당 없음으로 읽힌다) */
.ah-z.miss{font-style:italic}
.ah-au{margin-left:4px}
/* ⚠ 유령 의심 — 감추지 않고 흐리게 표시만 (감추면 그 자체가 왜곡이다) */
.ah-ev.suspect{opacity:.72; border-style:dashed}
.ah-warn{grid-column:1/-1; justify-self:start; padding:0 5px; border-radius:3px;
  font-size:var(--fs-xs,10px); font-weight:700;
  background:rgba(217,119,6,.14); color:var(--status-warn,#b45309)}
.ah-btns{grid-column:1/-1; display:flex; gap:5px}
.ah-btns button{height:22px; width:auto; flex:1 1 auto; white-space:nowrap;
  padding:0 8px; cursor:pointer; font-family:inherit;
  font-size:var(--fs-xs,10px); color:inherit;
  background:var(--bg-surface-elevated,#fff); border:1px solid var(--border-subtle,#e2e8f0);
  border-radius:var(--radius-sm,6px)}
.ah-btns button:hover{border-color:var(--accent-cyan,#0284c7)}
.ah-rownote{grid-column:1/-1; font-size:var(--fs-xs,10px);
  color:var(--status-warn,#b45309)}

.ah-msg{display:none; padding:5px 2px; font-size:var(--fs-xs,10px);
  color:var(--text-secondary,#475569)}
.ah-msg.on{display:block}
.ah-msg.bad{color:var(--status-warn,#b45309)}
.ah-note{flex:none; padding:7px 2px 0; font-size:var(--fs-xs,10px); line-height:1.55;
  color:var(--text-tertiary,#64748b); border-top:1px solid var(--border-subtle,#e2e8f0);
  margin-top:6px}

/* ⚠ 호스트 전역 button{width:100%} 상속 방어 (2026-08-31 화면 실측 — 칩이 세로로 찢어짐).
   shell.css의 #rcBar .rcb가 같은 이유로 width:auto를 명시한 전례를 따른다. */
.ah-root button{width:auto}
/* ⚠ 배치 방어 (2026-09-01, 사용자 지적 「화면 배치 일그러지지 않게」) — 메뉴가 **떠 있는 창**이
   되면서 폭이 860px까지 커졌다. flex:1이던 셀렉트가 그 폭을 통째로 먹어 칩 옆이 텅 비었다.
   ⇒ 늘어나되 **상한**을 둔다. ⛔ 고정폭으로 박지 않는다 — 좁은 창에서는 줄어들어야 한다. */
.ah-hd{flex-wrap:wrap}
.ah-hd .ah-days{flex:0 1 auto; min-width:64px; max-width:120px}
.ah-hd .ah-zone{flex:1 1 160px; min-width:0; max-width:320px}
