/* ══════════════════════════════════════════════════════════════
   theme.css — 전 페이지 색·위계 단일 진실원천 (2026-07-30 UI 정돈)
   원칙: 색은 "긴급도"에만 쓴다(3단). 분류(유형·출처·종류)는 무채 아웃라인.
   cm.css(레이아웃) 뒤에 로드되어 색 규칙을 덮어쓴다.
   ══════════════════════════════════════════════════════════════ */
:root{
  /* 긴급도 3단 — 이 세 색 외에는 의미색을 쓰지 않는다 */
  --u-crit:#a32b2b;   /* 도과·오늘~D-3 */
  --u-warn:#a3742b;   /* D-4~D-7 */
  --u-calm:#3f4d5c;   /* 그 외(잉크) */
  --u-crit-bg:#f9ecec;
  --u-warn-bg:#f7efdf;
}

/* ── 분류 뱃지 전면 무채화 — 유형(법원/수사기관/경매/자문) ── */
.badge, .src-court, .src-police, .src-auction, .src-advisory{
  background:#fff !important; color:var(--ink-2) !important;
  border:1px solid var(--rule); font-weight:600;
}
/* 종류(불변/엄수/기타/수집기일)·출처(수집/수동)도 무채 아웃라인 */
.dl-badge, .dl-invariant, .dl-strict, .dl-etc, .dl-hearing{
  background:#fff !important; color:var(--ink-2) !important;
  border:1px solid var(--rule);
}
.dl-invariant{font-weight:800; border-color:var(--ink-3)}   /* 불변은 굵기·테두리로만 강조 */
.src-tag, .src-tag.manual{border-color:var(--rule); color:var(--ink-3); background:#fff}
.elec{color:var(--ink-3); border-color:var(--rule)}
.cat{color:var(--ink-3)}

/* ── 긴급도 3단 — D-day 칩 ── */
.dday{color:var(--ink-3)}
.dday.warn{color:var(--u-warn)}
.dday.near{color:var(--u-crit)}
.dday.past{color:var(--u-crit); text-decoration:none; font-weight:800}

/* ── 캘린더 항목: 분류 무채, 좌측 보더가 긴급도 ── */
.cal-item, .cal-item.k-hearing, .cal-item.k-invariant, .cal-item.k-strict{
  background:var(--surface-2); color:var(--ink-2);
  border-left:3px solid transparent; border-radius:2px;
}
.cal-item.k-invariant{font-weight:700}
.cal-item.u-warn{border-left-color:var(--u-warn); background:var(--u-warn-bg); color:var(--u-warn)}
.cal-item.u-crit{border-left-color:var(--u-crit); background:var(--u-crit-bg); color:var(--u-crit)}
.cal-item.done{color:#9aa4ad; text-decoration:line-through; background:var(--surface-2);
  border-left-color:transparent; font-weight:400}
table.cal td.holiday{background:#f6f2f2}
table.cal td.holiday .dnum, table.cal .hname{color:var(--u-crit)}

/* ── 도과 경고 구획 ── */
.overdue-band{background:var(--u-crit-bg); border-color:#e2c4c4}
.overdue-band h3{color:var(--u-crit)}

/* ── 요약 스트립(전 페이지 공통): 오늘 기일 · 이번 주 불변기한 · 도과 ── */
.tally .item.strip-today .n{color:var(--ink)}
.tally .item.strip-inv .n{color:var(--u-warn)}
.tally .item.strip-overdue .n{color:var(--u-crit)}
.tally .item.strip-overdue.zero .n, .tally .item.strip-inv.zero .n{color:var(--ink-3)}

/* ── 위계·밀도 미세 정돈 ── */
.panel > header h2{letter-spacing:.01em}
table.list tbody td, table.dl-list tbody td{padding-top:7px;padding-bottom:7px}
.filters{row-gap:6px}
.topbar .io a.new{border-color:#8a6a6a;color:#f2e6e6}

/* ── 로그인·계정 페이지 ── */
.authbox{max-width:380px;margin:9vh auto 0;padding:0 16px}
.authbox .panel{padding:22px 22px 24px}
.authbox h2{margin:0 0 4px;font-size:17px}
.authbox .sub{font-size:12px;color:var(--ink-3);margin-bottom:16px}
.authbox .field{margin-bottom:12px}
.authbox button.primary{width:100%;padding:11px}
.authbox .err-line{color:var(--u-crit);font-size:12.5px;min-height:18px;margin:6px 0 2px}
.who-chip{font-size:12px;color:#9fb0c0}

/* ══════════════════════════════════════════════════════════════
   ENC 브랜드 통일 (2026-07-30) — 별산제(enc-finance) index.html 실측 이식.
   원칙: 브랜드 네이비 = 크롬 영역(상단바·버튼·링크·구획바·포커스)에만.
        긴급도 적/호박(--u-crit/--u-warn) = 데이터 영역 전용으로 존치 — 혼동 분리.
   ══════════════════════════════════════════════════════════════ */
:root{
  --navy:#302E81; --navy-d:#252270; --navy-l:#5B57B0;          /* 별산제 주 색상 3종 */
  --paper:#f6f6fb; --surface-2:#f4f3fb;                        /* 별산제 --bg/--softer */
  --rule:#c9c9dc; --rule-2:#e3e3ee;                            /* 별산제 --line-d/--line */
  --focus:#5B57B0;                                             /* 포커스 = navy-l */
  --secbar:#302E81; --court:#302E81;                           /* 구획바·상세 헤더 크롬 */
}
body{font-family:"Malgun Gothic","맑은 고딕",sans-serif}

/* 상단바 — 별산제 topbar(navy, 워드마크 ENC | 시스템명) */
.topbar{background:var(--navy);border-bottom:none;padding:11px 22px}
.topbar h1 a{display:inline-flex;align-items:baseline}
.topbar .mk{font-weight:800;font-size:17px;color:#fff}
.tb-divider{display:inline-block;width:1px;height:18px;background:rgba(255,255,255,.25);margin:0 10px;align-self:center}
.topbar .sys{font-size:12.5px;color:#c9c7ea;font-weight:600}
.topbar .sub{color:#c9c7ea}
.topbar .io button,.topbar .io a{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:7px}
.topbar .io button:hover,.topbar .io a:hover{background:rgba(255,255,255,.2);color:#fff}
.topbar .io a.new{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff}
.who-chip{color:#c9c7ea}

/* 주 버튼·링크·활성 — navy 크롬 */
button.primary{background:var(--navy);border-color:var(--navy);border-radius:8px}
button.primary:hover{background:var(--navy-d)}
button.ghost,a.ghost{color:var(--navy);border-radius:8px}
td.no a{color:var(--navy);border-bottom-color:#c9c7ea}
td.no a:hover{color:var(--navy-d);border-bottom-color:var(--navy)}
.daybox a, table.dl-list a{color:var(--navy)}
.types label:has(input:checked){border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-l)}
table.kv{border-top-color:var(--navy)} table.grid{border-top-color:var(--navy)}
.detail > .dhead{background:var(--navy);border-bottom-color:var(--navy-d)}
.detail > .dhead button,.detail > .dhead a{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff;border-radius:7px}
.calcbox .chead{background:var(--navy);border-bottom-color:var(--navy-d)}
.calcbox .chead button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
table.cal td.today{outline-color:var(--navy-l)}
table.cal th.sat, table.cal td.sat .dnum{color:var(--navy-l)}
.tally{border-bottom-color:var(--rule-2)}

/* 로그인·비밀번호 변경 — 별산제 lcard(네이비 그라디언트 + 흰 카드) */
body.auth-bg{background:linear-gradient(135deg,#302E81,#252270 55%,#1a1850);min-height:100vh}
body.auth-bg .topbar{display:none}
.authbox{margin:13vh auto 0;max-width:400px}
.authbox .panel{border:none;border-radius:14px;box-shadow:0 24px 60px rgba(20,18,60,.4);padding:38px 34px}
.brandline{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.brandline .bmk{font-weight:800;color:var(--navy);font-size:21px}
.brandline .ben{font-size:10px;font-weight:700;color:var(--navy-l);letter-spacing:1.5px}
.authbox h2{font-size:18px;margin-top:10px}
.authbox .field input{border:1.5px solid var(--rule);border-radius:8px;padding:9px 11px}
.authbox .field input:focus{outline:none;border-color:var(--navy-l)}
.authbox button.primary{border-radius:8px}
