/* ════════════════════════════════════════════════════════════
   pg_base.css — 파크골프 시스템 공통 유틸리티 레이어  v1.0
   ────────────────────────────────────────────────────────────
   목적
   1) PHP 소스 내 인라인 style 제거 → 유틸 클래스로 통합
   2) 모든 유틸은 라이트/다크([data-theme="dark"]) 동시 정의
   로드: theme head.sub.php / p_admin admin_header.php
   접두사: u-  (utility)
   ════════════════════════════════════════════════════════════ */

/* ── 표시/배치 ── */
.u-hide        { display:none; }
.u-tc          { text-align:center; }
.u-flex1       { flex:1; min-width:0; }
.u-flex-c-g5   { display:flex; align-items:center; gap:.5rem; }
.u-flex-end-g5 { display:flex; gap:.5rem; flex:1 1 auto; justify-content:flex-end; }
.u-flex-grow-start { flex:1 1 100%; min-width:0; justify-content:flex-start; }
.u-flexwrap-g3 { display:flex; flex-wrap:wrap; gap:.3rem; padding:.5rem; }
.u-wrap-g4     { flex-wrap:wrap; gap:.4rem; }
.u-hide-ml8    { display:none; margin-left:.8rem; }
.u-ellipsis    { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.u-m1a         { margin:1rem auto; }
.u-w44         { width:44px; }

/* ── 글자 크기 ── */
.pg-guide { font-size:calc(1em - 2px); }
.u-fs95   { font-size:.95rem; }
.u-fs90   { font-size:.9rem; }
.u-fs85-b { font-size:.85rem; font-weight:700; }
.u-fs78-w60 { font-size:.78rem; min-width:60px; }
.u-bigicon  { font-size:2.5rem; display:block; margin-bottom:.6rem; }

/* ── 잉크(본문 보조색) — 다크 자동 보정 ── */
.u-ink2 { color:#4b5563; }
.u-ink3 { color:#6b7280; }
[data-theme="dark"] .u-ink2 { color:#cbd5e1; }
[data-theme="dark"] .u-ink3 { color:#94a3b8; }

/* ── 상태 색상 — 다크에서 밝은 톤 ── */
.u-red   { color:#ef4444; }
.u-green { color:#16a34a; }
.u-red-note { color:#ef4444; font-size:.8rem; margin-left:.6rem; }
.u-amber-ml4 { color:#d97706; margin-left:4px; }
[data-theme="dark"] .u-green { color:#4ade80; }
[data-theme="dark"] .u-amber-ml4 { color:#fbbf24; }

/* ── 숫자 강조 ── */
.u-num-blue    { font-weight:700; color:#3b82f6; }
.u-num-blue2   { font-weight:700; font-size:1rem; color:#3b82f6; }
.u-num-blue-lg { font-weight:700; color:#3b82f6; font-size:1.05rem; }
.u-num-green   { font-weight:700; color:#15803d; font-size:.95rem; }
.u-num-red     { font-weight:700; font-size:1rem; color:#ef4444; }
[data-theme="dark"] .u-num-blue,
[data-theme="dark"] .u-num-blue2,
[data-theme="dark"] .u-num-blue-lg { color:#60a5fa; }
[data-theme="dark"] .u-num-green   { color:#4ade80; }

/* ── 알약/칩 배지 (강색 배경 — 양 모드 공용) ── */
.u-tag-red { background:#fee2e2; color:#991b1b; border-radius:6px; padding:1px 6px; font-size:11px; font-weight:700; }
[data-theme="dark"] .u-tag-red { background:#7f1d1d; color:#fecaca; }
.u-pill-blue,   .u-pill-blue-s  { font-size:.7rem; background:#3b82f6; color:#fff; padding:1px 7px; border-radius:8px; margin-left:5px; }
.u-pill-blue-s  { padding:1px 6px; margin-left:4px; }
.u-pill-violet, .u-pill-violet-s{ font-size:.7rem; background:#8b5cf6; color:#fff; padding:1px 7px; border-radius:8px; margin-left:5px; }
.u-pill-violet-s{ padding:1px 6px; margin-left:4px; }
.u-pill-amber-s { font-size:.65rem; background:#f59e0b; color:#fff; padding:1px 6px; border-radius:8px; margin-left:4px; }
.u-pill-blue-h  { display:none; font-size:.7rem; background:#3b82f6; color:#fff; padding:2px 8px; border-radius:10px; margin-left:6px; }
.u-pill-blue-h2 { display:none; font-size:.75rem; background:#3b82f6; color:#fff; padding:1px 7px; border-radius:8px; margin-left:.4rem; }
.u-pill-slate-h { display:none; font-size:.7rem; background:#475569; color:#fff; padding:2px 8px; border-radius:10px; margin-left:4px; }
.u-pill-slate-h0{ display:none; font-size:.7rem; background:#475569; color:#fff; padding:2px 8px; border-radius:10px; }
.u-chip-slate   { font-size:.65rem; background:#475569; color:#fff; padding:1px 5px; border-radius:5px; }
.u-chip-gold    { font-size:.65rem; background:#92400e; color:#fcd34d; padding:1px 6px; border-radius:4px; margin-left:5px; }
.u-chip-navy    { font-size:.65rem; background:#1e3a5f; color:#93c5fd; padding:1px 5px; border-radius:4px; margin-left:4px; }

/* ── 숨김 + 배경 프리셋(상태 배지 토글용) ── */
.u-hide-bg-amber { display:none; background:#b45309; }
.u-hide-bg-blue  { display:none; background:#1d4ed8; }
.u-hide-bg-red   { display:none; background:#991b1b; }

/* ── 어두운 배경(전광판 헤더 등) 위 텍스트 — 모드 무관 고정 ── */
.u-ondark-85  { font-size:.85rem; color:#fff; font-weight:600; }
.u-ondark-dim { font-size:.68rem; color:rgba(255,255,255,.55); }

/* ── 위젯 변수 참조 유틸 (gs-/sc- 변수는 각 위젯 CSS에 정의) ── */
.u-gs-txt3    { color:var(--gs-txt3); }
.u-gs-bdr2    { color:var(--gs-bdr2); }
.u-gs-primary1{ font-size:1rem; color:var(--gs-primary); }
.u-sc-accent1 { font-size:1rem; color:var(--sc-accent); }
.u-sc-mut8    { color:var(--sc-muted); font-size:.8rem; }
.u-mut-70     { font-size:.7rem;  color:var(--sc-muted); margin-left:4px; }
.u-mut-75a    { font-size:.75rem; color:var(--sc-muted); margin-left:.3rem; }
.u-mut-75b    { font-size:.75rem; color:var(--sc-muted); margin-left:.4rem; }
.u-sc-note    { padding:.5rem; color:var(--sc-muted); font-size:.85rem; }
.u-sc-note-x  { padding:.5rem 1rem; color:var(--sc-muted); font-size:.85rem; }

/* ── 빈 상태/오류 플레이스홀더 ── */
.u-empty-pad   { text-align:center; padding:3rem; color:#374151; }
[data-theme="dark"] .u-empty-pad { color:#cbd5e1; }
.u-grid-empty  { grid-column:1/-1; text-align:center; padding:2.5rem; color:var(--sc-muted); }
.u-grid-empty2 { grid-column:1/-1; text-align:center; padding:2rem;   color:var(--sc-muted); }
.u-grid-empty3 { grid-column:1/-1; text-align:center; padding:2rem;   color:var(--gs-txt3); }
.u-grid-err    { grid-column:1/-1; text-align:center; padding:1.5rem; color:#ef4444; }
.u-gs-empty    { padding:2rem; color:var(--gs-txt3); text-align:center; }

/* ── 모달 닫기(X) 버튼 ── */
.u-modal-x { position:absolute; top:.5rem; right:.6rem; background:none; border:none;
             cursor:pointer; font-size:1.3rem; color:var(--gs-txt3); line-height:1;
             padding:.2rem .4rem; }
