/* 비행자료 통계 (features/admin-flight-stat) — 관리자 전용 왼쪽 서랍. 접두어 afs-
   색·글꼴은 공용 변수(theme.css)만 쓴다 — 어두운 화면에서도 같은 변수가 바뀐다. */
.afs{font-variant-numeric:tabular-nums;font-size:var(--fs-md,12px)}
.afs-filter,.afs-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:2px 0 8px}
.afs-filter label,.afs-sub label{display:flex;gap:4px;align-items:center;white-space:nowrap;
  font-size:var(--fs-sm,11px);color:var(--text-secondary,#475569)}
.afs-filter input,.afs-filter select,.afs-sub input,.afs-sub select{font:inherit;font-size:var(--fs-sm,11px);padding:3px 6px;
  border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-sm,6px);
  background:var(--bg-sunken,#f6f8fa);color:var(--text-primary,#0f172a)}
.afs-tilde{color:var(--text-tertiary,#64748b)}
.afs button{width:auto;margin:0;font:inherit;font-size:var(--fs-sm,11px);padding:4px 11px;cursor:pointer;
  border:1px solid var(--border-medium,#cbd5e1);border-radius:var(--radius-sm,6px);
  background:var(--bg-surface-elevated,#fff);color:var(--text-primary,#0f172a)}
.afs-tabs{display:flex;gap:4px;margin:0 0 8px;border-bottom:1px solid var(--border-subtle,#e2e8f0)}
.afs-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:6px 10px;
  color:var(--text-secondary,#475569)}
.afs-tabs button.on{border-bottom-color:var(--accent,#2563eb);color:var(--text-primary,#0f172a);font-weight:700}
.afs-sum{margin:2px 0 6px;color:var(--text-secondary,#475569)}
.afs-h{margin:12px 0 4px;font-weight:700;font-size:var(--fs-lg,13px)}
.afs-h small,.afs-t small{font-weight:400;color:var(--text-tertiary,#64748b);font-size:var(--fs-xs,10px)}
.afs-hint{font-size:var(--fs-xs,10px);color:var(--text-tertiary,#64748b);line-height:1.5}
.afs-err{font-size:var(--fs-sm,11px);color:var(--fc-hi-fg,#c2261f);line-height:1.5}
.afs-tw{overflow-x:auto;max-width:100%}
.afs-t{width:100%;border-collapse:collapse;font-size:var(--fs-sm,11px);white-space:nowrap}
.afs-t th{position:sticky;top:0;background:var(--bg-surface,#fff);text-align:left;font-weight:600;
  color:var(--text-tertiary,#64748b);padding:4px 6px;border-bottom:1px solid var(--border-subtle,#e2e8f0)}
.afs-t td{padding:4px 6px;border-bottom:1px solid var(--border-subtle,#e2e8f0)}
.afs-row{cursor:pointer}
.afs-row:hover,.afs-row.on{background:var(--bg-sunken,#f6f8fa)}
.afs-row:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:-2px}
.afs-det>td{background:var(--bg-sunken,#f6f8fa);white-space:normal}
.afs-in{margin:4px 0}
.afs-k{margin:6px 0 2px;font-size:var(--fs-xs,10px);color:var(--text-tertiary,#64748b)}
.afs-enr{font-size:var(--fs-xs,10px);line-height:1.5;word-break:break-word}
.afs-bars{display:flex;align-items:flex-end;gap:2px;height:56px;margin:2px 0 14px}
.afs-bars span{flex:1 1 0;min-width:6px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.afs-bars i{display:block;background:var(--accent,#2563eb);opacity:.75;border-radius:2px 2px 0 0;min-height:1px}
.afs-bars em{position:absolute;bottom:-12px;left:0;right:0;text-align:center;font-style:normal;
  font-size:8px;color:var(--text-tertiary,#64748b);overflow:hidden}
.afs-more{margin:8px 0 0 !important}
.afs-foot{margin-top:12px;font-size:var(--fs-xs,10px);color:var(--text-tertiary,#64748b);line-height:1.6}
@media (max-width:600px){ .afs-filter button{min-height:40px} }
.afs-part{display:inline-block;padding:0 6px;border-radius:9px;font-size:var(--fs-xs,10px);
  background:var(--fc-hi-bg,#fff1f0);color:var(--fc-hi-fg,#c2261f)}
.afs-t sup{font-size:8px;color:var(--text-tertiary,#64748b)}
/* ⭐ 넓은 창 (운영자 지시 2026-10-06 「너비를 넓게 하여 팝업창처럼」) — 서랍 공통의 「화면 절반」 상한(shell.css
   --drawer-eff)을 이 메뉴만 푼다: 화면 폭 − 레일 − 여백 48px, 최대 1,400px. 손으로 늘린 폭(inline)은 여전히 이긴다. */
body[data-tab="fstat"] { --drawer-w: 1400px; --drawer-eff: min(1400px, calc(100vw - var(--rail-w, 58px) - 48px)); }
/* 편 목록 섹터 칸 — 한 줄에 한 편, 섹터마다 「진입–이탈 / FL·체류」 두 줄 */
.afs-mx{max-height:calc(100vh - 260px);overflow:auto}
.afs-mx th{z-index:1}
.afs-stk{position:sticky;left:0;background:var(--bg-surface,#fff);z-index:2}
.afs-row:hover .afs-stk,.afs-row.on .afs-stk{background:var(--bg-sunken,#f6f8fa)}
.afs-ch{text-align:center;border-left:1px solid var(--border-subtle,#e2e8f0)}
.afs-c{border-left:1px solid var(--border-subtle,#e2e8f0);line-height:1.25;min-width:96px}
.afs-c b{font-weight:600;font-size:var(--fs-sm,11px)}
.afs-c i{display:block;font-style:normal;font-size:var(--fs-xs,10px);color:var(--text-tertiary,#64748b)}
.afs-cp b,.afs-cp i{opacity:.55}
/* FIR 진출입점 — 고도별 편수 칸(많은 순) */
.afs-pt td{vertical-align:top}
.afs-pt0>td{border-top:2px solid var(--border-medium,#cbd5e1)}
.afs-fls{white-space:normal}
.afs-fl{display:inline-flex;align-items:center;gap:4px;margin:1px 8px 1px 0;font-size:var(--fs-xs,10px);color:var(--text-secondary,#475569)}
.afs-fl i{display:inline-block;height:8px;background:var(--accent,#2563eb);opacity:.7;border-radius:2px}
.afs-fl b{color:var(--text-primary,#0f172a)}
.afs-fl0{color:var(--text-tertiary,#64748b)}
.afs-fls .afs-hint{margin-right:8px}
/* 편 목록 — 한 칸 한 값(v4): 묶음 경계선·2단 머리글 */
.afs-mx thead tr:nth-child(2) th{top:22px}
.afs-mx td,.afs-mx th{padding:3px 5px}
.afs-g0{border-left:1px solid var(--border-medium,#cbd5e1)}
.afs-multi{border-bottom:1px dashed var(--accent,#2563eb)}
.afs-atd-s{color:var(--accent,#2563eb)}
.afs-atd-l{color:var(--text-tertiary,#64748b)}
/* 그래프 수치 표(v5, 2026-10-08) — 막대 아래 같은 값을 숫자로. 0은 옅게(실제 0이지 자료 없음이 아니다) */
.afs-num{border-collapse:collapse;table-layout:fixed;width:100%;min-width:480px;margin:0 0 10px;
  font-size:var(--fs-xs,10px);text-align:center;white-space:nowrap}
.afs-num th{font-weight:400;color:var(--text-tertiary,#64748b);padding:1px 0;overflow:hidden;
  border-bottom:1px solid var(--border-subtle,#e2e8f0)}
.afs-num td{padding:2px 0;color:var(--text-primary,#0f172a)}
.afs-num .afs-z{color:var(--text-tertiary,#64748b);opacity:.6}
/* 「통계 시스템 ↗」 링크(v7, 2026-10-09) — 거르기 줄 오른쪽 끝 */
.afs-sys{margin-left:auto;font-size:var(--fs-sm,11px);color:var(--accent,#2563eb);text-decoration:none;white-space:nowrap}
.afs-sys:hover{text-decoration:underline}
