/* ═══════════════════════════════════════════════════
   daeatda 관리자 전용 CSS — v2
   컨셉: 다크 사이드바 + 클린 카드 + amber 포인트
═══════════════════════════════════════════════════ */

/* ── 관리자 공통 레이아웃 ── */
#s-admin .pg { padding:16px 18px; animation:admFadeIn .18s ease; }
@keyframes admFadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
#s-admin .content-area { background:var(--bg); }
#s-admin .topbar { background:var(--white); border-bottom:1px solid var(--line); }
#s-admin .tb-title { font-size:15px; font-weight:800; color:var(--ink); }

/* ── 섹션 타이틀 (sec-ttl 재정의) ── */
#s-admin .sec-ttl {
  font-size:15px; font-weight:800; color:var(--ink);
  margin:0 0 14px; display:flex; align-items:center; gap:8px;
  padding-bottom:10px; border-bottom:2px solid var(--line);
}

/* ═══ adm-card: 메인 컨테이너 카드 ═══ */
.adm-card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:16px;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.adm-card-hdr {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; border-bottom:1px solid var(--line);
  background:var(--line-l);
}
.adm-card-ttl {
  font-size:13.5px; font-weight:700; color:var(--ink);
  display:flex; align-items:center; gap:8px;
}
.adm-card-body { padding:18px 20px; }

/* ═══ adm-kpi: KPI 카드 ═══ */
.adm-kpi {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:14px;
}
.adm-kpi-card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px 18px;
  position:relative;
  overflow:hidden;
  transition:box-shadow .15s, transform .15s;
}
.adm-kpi-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); transform:translateY(-1px); }
.adm-kpi-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3.5px;
  border-radius:12px 12px 0 0;
}
.adm-kpi-card.c1::before { background:linear-gradient(90deg,var(--brand),var(--brand-m)); }
.adm-kpi-card.c2::before { background:linear-gradient(90deg,var(--blue-d),var(--blue)); }
.adm-kpi-card.c3::before { background:linear-gradient(90deg,var(--amber-d),var(--amber)); }
.adm-kpi-card.c4::before { background:linear-gradient(90deg,var(--red),#f87171); }
.adm-kpi-lbl {
  font-size:11px; font-weight:600; color:var(--ink-4);
  letter-spacing:.3px; text-transform:uppercase; margin-bottom:8px;
}
.adm-kpi-val {
  font-size:22px; font-weight:800; font-family:'Noto Sans KR',monospace;
  line-height:1.1; margin-bottom:4px;
}
.adm-kpi-sub {
  font-size:11.5px; color:var(--ink-4); display:flex; align-items:center; gap:4px;
}
.adm-kpi-ico {
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-size:32px; opacity:.12;
}

/* ═══ adm-section: 섹션 블록 ═══ */
.adm-section {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:14px;
}
.adm-sec-hdr {
  display:flex; align-items:center; justify-content:space-between;
  padding:13px 18px; border-bottom:1px solid var(--line);
  background:var(--line-l);
}
.adm-sec-ttl {
  font-size:13px; font-weight:700; color:var(--ink);
  display:flex; align-items:center; gap:8px;
}
.adm-sec-body { padding:16px 18px; }

/* ═══ adm-tbl: 테이블 ═══ */
.adm-tbl-wrap { overflow-x:auto; }
.adm-tbl {
  width:100%; border-collapse:collapse; font-size:12.5px;
}
.adm-tbl thead tr {
  background:linear-gradient(135deg,var(--ink-2) 0%,#2d3748 100%);
}
.adm-tbl th {
  padding:10px 16px; text-align:left;
  font-size:11px; font-weight:600; color:rgba(255,255,255,.7);
  white-space:nowrap; letter-spacing:.3px;
}
.adm-tbl th.c { text-align:center; }
.adm-tbl th.r { text-align:right; }
.adm-tbl td {
  padding:12px 16px; border-bottom:1px solid var(--line-l);
  color:var(--ink-3); vertical-align:middle;
}
.adm-tbl td.c { text-align:center; }
.adm-tbl td.r { text-align:right; font-family:monospace; }
.adm-tbl tbody tr { transition:background .1s; }
.adm-tbl tbody tr:hover { background:var(--line-l); }
.adm-tbl tbody tr:last-child td { border-bottom:none; }

/* ═══ adm-badge: 상태 뱃지 ═══ */
.adm-badge {
  display:inline-flex; align-items:center; gap:4px;
  font-size:11px; font-weight:700; padding:3px 10px;
  border-radius:99px; white-space:nowrap;
}
.adm-badge-green { background:var(--brand-l); color:var(--brand); border:1px solid var(--brand-m); }
.adm-badge-blue  { background:var(--blue-l); color:var(--blue-d); border:1px solid var(--blue-d); }
.adm-badge-amber { background:var(--amber-l); color:var(--amber-d); border:1px solid var(--amber); }
.adm-badge-red   { background:var(--red-l); color:var(--red); border:1px solid var(--red); }
.adm-badge-gray  { background:var(--line-l); color:var(--ink-4); border:1px solid var(--line); }
.adm-badge-purple{ background:var(--purple-l); color:var(--purple-d); border:1px solid var(--purple); }

/* ═══ adm-btn: 버튼 ═══ */
.adm-btn {
  display:inline-flex; align-items:center; gap:5px;
  height:32px; padding:0 14px; border-radius:8px;
  border:none; font-size:12px; font-weight:600;
  cursor:pointer; font-family:inherit; transition:all .15s;
  white-space:nowrap;
}
.adm-btn:hover { filter:brightness(1.1); transform:translateY(-1px); }
.adm-btn:active { transform:translateY(0); }
.adm-btn-primary { background:var(--brand); color:#fff; }
.adm-btn-blue    { background:var(--blue); color:#fff; }
.adm-btn-amber   { background:var(--amber); color:#fff; }
.adm-btn-red     { background:var(--red); color:#fff; }
.adm-btn-purple  { background:var(--purple); color:#fff; }
.adm-btn-gray    { background:var(--line-l); color:var(--ink-3); border:1px solid var(--line); }
.adm-btn-outline { background:transparent; color:var(--brand); border:1.5px solid var(--brand); }
.adm-btn-sm      { height:28px; padding:0 10px; font-size:11px; border-radius:6px; }
.adm-btn-lg      { height:38px; padding:0 20px; font-size:13px; border-radius:10px; }

/* ═══ adm-inp: 입력 ═══ */
.adm-inp {
  height:34px; padding:0 12px;
  border:1.5px solid var(--line); border-radius:8px;
  font-size:12.5px; font-family:inherit; color:var(--ink);
  outline:none; background:var(--white); transition:border-color .15s;
}
.adm-inp:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-xl); }
.adm-select {
  height:34px; padding:0 10px;
  border:1.5px solid var(--line); border-radius:8px;
  font-size:12.5px; font-family:inherit; color:var(--ink);
  background:var(--white); cursor:pointer; outline:none;
  transition:border-color .15s;
}
.adm-select:focus { border-color:var(--brand); }

/* ═══ adm-alert: 알림 배너 ═══ */
.adm-alert {
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; border-radius:10px; font-size:13px; margin-bottom:16px;
}
.adm-alert-amber { background:var(--amber-l); border:1px solid var(--amber); color:var(--amber-d); }
.adm-alert-green { background:var(--brand-xl); border:1px solid var(--brand-m); color:var(--brand); }
.adm-alert-red   { background:var(--red-l); border:1px solid var(--red); color:var(--red); }
.adm-alert-blue  { background:var(--blue-l); border:1px solid var(--blue-d); color:var(--blue-d); }
.adm-alert-ico   { font-size:18px; flex-shrink:0; }
.adm-alert-txt   { font-weight:600; }

/* ═══ adm-stat: 통계 바 ═══ */
.adm-stat-row {
  display:flex; align-items:center; gap:10px; margin-bottom:10px;
}
.adm-stat-lbl { min-width:80px; font-size:12.5px; font-weight:500; color:var(--ink-3); }
.adm-stat-bar-bg {
  flex:1; height:8px; background:var(--line); border-radius:4px; overflow:hidden;
}
.adm-stat-bar { height:100%; border-radius:4px; transition:width .6s ease; }
.adm-stat-val { min-width:48px; text-align:right; font-size:12px; font-weight:700; }

/* ═══ adm-notif: 알림 아이템 ═══ */
.adm-notif-item {
  display:flex; align-items:center; gap:14px;
  padding:14px 18px; border-bottom:1px solid var(--line-l);
  cursor:pointer; transition:background .12s;
}
.adm-notif-item:hover { background:var(--line-l); }
.adm-notif-item:last-child { border-bottom:none; }
.adm-notif-item.unread { background:var(--brand-xl); }
.adm-notif-item.unread:hover { background:#e4fae9; }
.adm-notif-ico { font-size:22px; flex-shrink:0; width:36px; height:36px; border-radius:50%; display:flex;align-items:center;justify-content:center; }
.adm-notif-dot { display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-left:5px;vertical-align:middle; }
.adm-notif-ttl { font-size:13px; font-weight:700; color:var(--ink); margin-bottom:2px; }
.adm-notif-desc { font-size:12px; color:var(--ink-4); }
.adm-notif-time { font-size:11px; color:var(--ink-4); white-space:nowrap; }

/* ═══ adm-grid: 카드 그리드 ═══ */
.adm-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.adm-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:14px; }
.adm-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }

/* ═══ adm-gong-card: 공구 카드 ═══ */
.adm-gong-card {
  border-radius:12px; padding:18px;
  border:1px solid var(--line);
  transition:box-shadow .15s, transform .15s;
}
.adm-gong-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.1); transform:translateY(-2px); }
.adm-gong-name { font-size:15px; font-weight:800; color:var(--ink); margin-bottom:4px; }
.adm-gong-meta { font-size:12px; color:var(--ink-4); margin-bottom:10px; }
.adm-gong-amt  { font-size:16px; font-weight:800; margin-bottom:12px; }

/* ═══ adm-person-row: 회원/공급사 행 ═══ */
.adm-person-avatar {
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; flex-shrink:0;
}

/* ═══ 홈 대시보드 quick-action ═══ */
.adm-quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.adm-quick-card {
  background:var(--white); border:1px solid var(--line);
  border-radius:10px; padding:14px 16px;
  cursor:pointer; transition:all .15s; text-align:center;
}
.adm-quick-card:hover { border-color:var(--brand); background:var(--brand-xl); transform:translateY(-2px); box-shadow:0 4px 12px rgba(15,110,46,.1); }
.adm-quick-ico { font-size:26px; margin-bottom:6px; }
.adm-quick-lbl { font-size:12px; font-weight:600; color:var(--ink-3); }
.adm-quick-cnt { font-size:18px; font-weight:800; color:var(--brand); margin-top:2px; }

/* ═══ adm-progress ═══ */
.adm-progress-wrap { display:flex; flex-direction:column; gap:12px; }
.adm-progress-item { display:flex; flex-direction:column; gap:4px; }
.adm-progress-hdr { display:flex; justify-content:space-between; font-size:12px; }
.adm-progress-bar-bg { height:6px; background:var(--line); border-radius:3px; overflow:hidden; }
.adm-progress-bar { height:100%; border-radius:3px; transition:width .6s ease; }

/* ═══ adm-toggle ═══ */
.adm-toggle {
  width:40px; height:22px; border-radius:99px;
  background:var(--line); border:none; cursor:pointer;
  position:relative; transition:background .2s; flex-shrink:0;
}
.adm-toggle.on { background:var(--brand); }
.adm-toggle::after {
  content:''; position:absolute; top:3px; left:3px;
  width:16px; height:16px; border-radius:50%;
  background:var(--white); transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.adm-toggle.on::after { transform:translateX(18px); }

