@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#F0F4F8;--surface:#fff;--border:#E2E8F0;
  --text:#0F172A;--text2:#475569;--text3:#94A3B8;--accent:#2563EB;
  /* 기사 구분: 남궁덕=진한파랑, 박석호=진한빨강 */--ng:#1D4ED8;--ps:#DC2626;--bt:#059669;--co:#7C3AED;
}
body{font-family:'Noto Sans KR',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:80px}

/* ── COLORS ── */
.c-ng{--c:#1D4ED8;--cl:#EFF6FF;--cm:#93C5FD}
.c-ng2{--c:#0891B2;--cl:#ECFEFF;--cm:#A5F3FC}
.c-ng3{--c:#7C3AED;--cl:#FAF5FF;--cm:#DDD6FE}
.c-ps{--c:#DC2626;--cl:#FEF2F2;--cm:#FCA5A5}
.c-ps2{--c:#16A34A;--cl:#F0FDF4;--cm:#BBF7D0}
.c-ps3{--c:#BE185D;--cl:#FDF2F8;--cm:#F9A8D4}
.c-ps4{--c:#0D9488;--cl:#F0FDFA;--cm:#99F6E4}
.c-bt{--c:#059669;--cl:#ECFDF5;--cm:#A7F3D0}
.c-bt2{--c:#0284C7;--cl:#E0F2FE;--cm:#BAE6FD}
.c-co{--c:#7C3AED;--cl:#FAF5FF;--cm:#DDD6FE}
.c-co2{--c:#BE185D;--cl:#FDF2F8;--cm:#FBCFE8}
.event-stripe{background:var(--c,#2563EB)}
.ev-time{background:var(--c,#2563EB)}
.ev-badge{color:var(--c);background:var(--cl);border-color:var(--cm)}

/* ── 모바일 최적화 ── */
@media (max-width: 600px) {
  /* 헤더 */
  .top-bar { padding: 10px 12px 6px; }
  .top-bar h1 { font-size: 15px; }

  /* 탭 */
  .main-tabs { gap: 4px; padding: 0 8px; overflow-x: auto; flex-wrap: nowrap; }
  .main-tab { font-size: 11px; padding: 7px 10px; white-space: nowrap; flex-shrink: 0; }

  /* 필터 */
  .filter-bar { gap: 5px; padding: 6px 10px; overflow-x: auto; flex-wrap: nowrap; }
  .filter-btn { font-size: 12px; padding: 5px 10px; white-space: nowrap; flex-shrink: 0; }

  /* 카드 */
  .event-card { border-radius: 10px; }
  .event-body { padding: 9px 10px 8px; }
  .event-address { font-size: 13px; }
  .event-meta-item { font-size: 12px; }

  /* 버튼 */
  .btn { font-size: 11px; padding: 6px 10px; min-height: 34px; }
  .add-fab { width: 52px; height: 52px; font-size: 24px; bottom: 20px; right: 16px; }

  /* 주간달력 칩 */
  .cal-chip { font-size: 10px; }
  .chip-addr { max-width: 60px; }

  /* 모달 */
  .modal-sheet { border-radius: 20px 20px 0 0; max-height: 95vh; }
  .form-label { font-size: 12px; }
  .form-input { font-size: 14px; padding: 9px 11px; }

  /* 날짜팝업 카드 */
  #day-popup-list > div { margin-bottom: 8px; }

  /* 완료탭 카드 */
  .unsched-card { border-radius: 10px; }
}

/* ── PC 풀너비 & 큰 폰트 & 2단 카드 ── */
@media (min-width: 900px) {
  .schedule-container { max-width: 100%; padding: 20px 28px 0; }
  .event-body { padding: 16px 20px; }
  .event-address { font-size: 17px; font-weight: 800; margin-bottom: 6px; }
  .ev-time { font-size: 14px !important; padding: 4px 14px !important; }
  .ev-done { font-size: 13px; padding: 4px 12px; }
  .ev-badge { font-size: 12px; padding: 4px 11px; }
  .ev-person { font-size: 12px; padding: 4px 11px; }
  .event-top { gap: 8px; margin-bottom: 10px; }
  .event-meta-item { font-size: 14px; }
  .pay-box { padding: 7px 14px; }
  .pay-box .pay-label { font-size: 11px; }
  .pay-box .pay-val { font-size: 15px; font-weight: 800; }
  .special-note { font-size: 13px; padding: 8px 12px; }
  .btn { font-size: 13px; padding: 7px 12px; min-height: 36px; }
  .event-actions { gap: 8px; padding-top: 10px; }
  .photo-thumb { width: 72px; height: 72px; } .photo-thumb video { width: 72px; height: 72px; }
  /* 2단 그리드 */
  .card-pc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 6px;
  }
  .card-left { min-width: 0; }
  .card-right { min-width: 0; }
  /* 품목표 PC 폰트 */
  .card-right .items-code { font-size: 12px !important; }
  .card-right .items-name { font-size: 13px !important; }
  .card-right .items-qty { font-size: 13px !important; }
}
