/* ============================================================
   LUV 방송센터 — 레이아웃/화면 스타일 (schedule.css)
   ※ 색·버튼·카드 등 공통 토큰은 ../shared/design-system.css 에 있음.
     여기는 방송센터 화면 배치와 다이어리 감성 디테일만.
   ============================================================ */

body{ margin:0; min-height:100vh; font-family:var(--luv-font); color:var(--luv-ink); }

.bc-app{
  display:grid; grid-template-columns:210px minmax(0,1fr) 290px; gap:22px;
  max-width:1340px; margin:0 auto; padding:22px 24px 56px;
}

/* ── 상단 타이틀 바 ─────────────────────────────── */
.bc-top{ grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.bc-top .brand{ display:flex; align-items:center; gap:10px; }
.bc-logo{ height:54px; width:auto; }
.bc-top .sub{ font-family:var(--luv-font-round); font-size:15px; color:var(--luv-ink-soft); }
.bc-month{
  font-family:var(--luv-font-round); font-size:19px; color:var(--luv-ink);
  background:#fff; border:2px dashed var(--luv-pink-soft); padding:6px 18px;
  border-radius:var(--luv-radius-pill); box-shadow:var(--luv-shadow-sm);
}

/* ── 왼쪽 메뉴 ──────────────────────────────────── */
.bc-menu{ display:flex; flex-direction:column; gap:11px; position:sticky; top:18px; align-self:start; }
.bc-home{ display:flex; align-items:center; justify-content:center; gap:6px; text-decoration:none;
  font-family:var(--luv-font-round); font-size:16px; color:var(--luv-pink); padding:2px 0 4px; }
.bc-home img{ height:30px; }
.bc-mcard{
  display:flex; align-items:center; gap:11px; width:100%; text-align:left;
  background:#fff; border:2px solid transparent; border-radius:var(--luv-radius-sm);
  padding:13px 15px; cursor:pointer; box-shadow:var(--luv-shadow-sm); color:var(--luv-ink);
  font-size:15px; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.bc-mcard .em{ font-size:19px; }
.bc-mcard:hover{ transform:translateY(-2px); }
.bc-mcard.active{ border-color:var(--luv-pink); color:var(--luv-pink-deep); background:var(--luv-pink-bg);
  transform:scale(1.04); box-shadow:var(--luv-shadow); font-family:var(--luv-font-round); }
.bc-menu .section{ font-family:var(--luv-font-round); font-size:12px; color:var(--luv-ink-soft); text-align:center; margin-top:6px; }
.bc-quick{ display:flex; flex-direction:column; gap:8px; }
.bc-quick a{ display:flex; align-items:center; gap:9px; text-decoration:none; color:var(--luv-ink);
  background:#fff; border:1.5px solid var(--luv-line); border-radius:var(--luv-radius-sm); padding:9px 13px; font-size:13px; transition:all .14s ease; }
.bc-quick a:hover{ border-color:var(--luv-pink-soft); transform:translateY(-2px); }
.bc-corner{ margin-top:8px; background:var(--luv-pink-bg); border-radius:var(--luv-radius);
  padding:14px 10px 6px; text-align:center; position:relative; }
.bc-corner .cap{ font-family:var(--luv-font-hand); font-size:13px; color:var(--luv-ink-soft); line-height:1.4; }
.bc-corner img{ width:96px; height:auto; margin-top:4px; }

/* ── 메인 ───────────────────────────────────────── */
.bc-main{ min-width:0; }
.bc-paper{
  position:relative; border-radius:var(--luv-radius-lg); box-shadow:var(--luv-shadow);
  background-color:var(--luv-paper);
  background-image:radial-gradient(rgba(214,138,164,.05) 1px, transparent 1px);
  background-size:15px 15px; padding:18px 22px 24px; border:1px solid #fff;
}
.bc-spring{ display:flex; gap:26px; justify-content:center; margin:-30px 0 12px; }
.bc-spring i{ width:13px; height:22px; border-radius:7px; background:#fff;
  border:2px solid var(--luv-pink-soft); box-shadow:inset 0 -3px 4px rgba(214,138,164,.25); }

.bc-shead{ display:flex; align-items:center; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.bc-shead h2{ font-family:var(--luv-font-round); font-weight:400; font-size:20px; margin:0; }
.bc-hint{ font-size:12px; color:var(--luv-ink-soft); }

/* 필터 */
.bc-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }

/* 월간 캘린더 */
.bc-dow{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; margin-bottom:8px; }
.bc-dow span{ text-align:center; font-size:12px; color:var(--luv-ink-soft); }
.bc-dow .sun{ color:#f08aa3; } .bc-dow .sat{ color:#8bb6e0; }
.bc-cal{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; }
.bc-cell{
  position:relative; min-height:94px; border-radius:var(--luv-radius-sm); background:#fff;
  border:1.5px solid var(--luv-line); padding:7px 8px 9px; cursor:pointer;
  display:flex; flex-direction:column; gap:5px; transition:transform .14s ease, box-shadow .14s ease;
}
.bc-cell:hover{ transform:translateY(-3px); box-shadow:var(--luv-shadow); z-index:4; }
.bc-cell.empty{ background:transparent; border:none; cursor:default; }
.bc-cell.today{ border:2px solid var(--luv-pink); box-shadow:var(--luv-shadow-sm); }
.bc-cell.dim{ opacity:.32; }
.bc-cell .dn{ font-family:var(--luv-font-round); font-size:15px; color:var(--luv-ink); }
.bc-cell.today .dn{ color:var(--luv-pink-deep); }
.bc-cell .ic{ display:flex; flex-wrap:wrap; gap:2px; font-size:16px; line-height:1; }
.bc-cell .ic img{ width:16px; height:16px; object-fit:contain; }
.bc-cell .st{ margin-top:auto; align-self:flex-start; }
.bc-cell .note{ font-size:10px; color:var(--luv-ink-soft); line-height:1.25; }
.bc-stk{ position:absolute; top:-9px; right:-6px; width:30px; height:auto; transform:rotate(8deg); pointer-events:none; }
.bc-tape{ position:absolute; top:-6px; left:14px; width:42px; height:16px; background:rgba(255,143,177,.30); transform:rotate(-6deg); border-radius:2px; }

/* ON 말풍선 배지 */
.bc-on{ font-size:11px; font-weight:600; color:#fff; background:#52c79e; border-radius:var(--luv-radius-pill); padding:2px 10px; display:inline-flex; align-items:center; gap:3px; box-shadow:0 2px 5px rgba(82,199,158,.35); }
.bc-rest{ font-size:11px; color:var(--luv-rest-fg); background:var(--luv-rest-bg); border-radius:var(--luv-radius-pill); padding:2px 10px; }
.bc-sp{ font-size:11px; font-weight:600; color:#fff; background:var(--luv-gold); border-radius:var(--luv-radius-pill); padding:2px 10px; box-shadow:0 2px 5px rgba(230,185,100,.4); }

/* hover 미니 팝업 */
.bc-pop{ position:absolute; z-index:30; min-width:172px; max-width:230px; background:#fff;
  border:1.5px solid var(--luv-pink-soft); border-radius:var(--luv-radius-sm); box-shadow:var(--luv-shadow);
  padding:11px 13px; font-size:12.5px; pointer-events:none; opacity:0; transform:translateY(4px); transition:opacity .12s, transform .12s; }
.bc-pop.show{ opacity:1; transform:none; }
.bc-pop b{ font-family:var(--luv-font-round); color:var(--luv-pink-deep); }
.bc-pop .r{ display:flex; gap:6px; margin-top:4px; }

/* 주간 */
.bc-weeknav{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.bc-weeknav button{ background:#fff; border:1.5px solid var(--luv-line); border-radius:var(--luv-radius-pill);
  width:34px; height:34px; cursor:pointer; font-size:16px; color:var(--luv-pink); }
.bc-weeknav .lab{ font-family:var(--luv-font-round); font-size:18px; }
.bc-week{ display:grid; grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:13px; }
.bc-dc{ background:#fff; border:1.5px solid var(--luv-line); border-radius:var(--luv-radius-sm);
  padding:13px 14px; box-shadow:var(--luv-shadow-sm); display:flex; flex-direction:column; gap:7px;
  cursor:pointer; transition:transform .14s, box-shadow .14s; }
.bc-dc:hover{ transform:translateY(-3px); box-shadow:var(--luv-shadow); }
.bc-dc.today{ border-color:var(--luv-pink); }
.bc-dc .d{ font-family:var(--luv-font-round); font-size:16px; }
.bc-dc .ti{ font-size:13px; color:var(--luv-pink-deep); font-weight:500; }
.bc-dc .tt{ font-size:14px; font-weight:500; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.bc-dc hr{ border:none; border-top:1.5px dashed var(--luv-line); margin:1px 0; }
.bc-dc .p{ font-size:12.5px; display:flex; gap:7px; }
.bc-dc .p .dot{ width:5px; height:5px; border-radius:50%; background:var(--luv-pink); flex:none; margin-top:6px; }
.bc-dc .rst{ font-size:12.5px; color:var(--luv-ink-soft); }

/* 오늘 방송 (일별) */
.bc-day{ display:flex; gap:20px; flex-wrap:wrap; }
.bc-day-img{ flex:1 1 230px; min-height:200px; border-radius:var(--luv-radius); overflow:hidden;
  background:linear-gradient(135deg,var(--luv-pink-soft),var(--luv-mint-soft)); display:flex; align-items:center; justify-content:center; position:relative; }
.bc-day-img img{ width:100%; height:100%; object-fit:cover; }
.bc-day-img .char{ width:160px; height:auto; }
.bc-day-info{ flex:2 1 280px; }
.bc-day-info .bd{ font-family:var(--luv-font-round); font-size:25px; }
.bc-day-info .bt-time{ font-size:16px; color:var(--luv-pink-deep); font-weight:500; margin-left:8px; }
.bc-day-info .bt{ font-size:20px; font-weight:500; margin:10px 0 14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bc-block{ margin-top:15px; }
.bc-block h4{ font-family:var(--luv-font-round); font-weight:400; font-size:15px; margin:0 0 8px; }
.bc-order{ display:flex; flex-direction:column; gap:7px; }
.bc-order .it{ display:flex; gap:10px; align-items:center; font-size:14px; }
.bc-order .it .n{ flex:none; width:22px; height:22px; border-radius:50%; background:var(--luv-pink-soft); color:var(--luv-pink-deep); font-size:12px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.bc-kv{ font-size:13.5px; margin:5px 0; } .bc-kv b{ color:var(--luv-ink-soft); font-weight:500; margin-right:6px; }
.bc-rest-day{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.bc-rest-day img{ width:150px; height:auto; }

/* ── 오른쪽 패널 ────────────────────────────────── */
.bc-side{ display:flex; flex-direction:column; gap:15px; position:sticky; top:18px; align-self:start; }
.bc-box{ background:rgba(255,255,255,.82); backdrop-filter:blur(6px); border:1px solid #fff;
  border-radius:var(--luv-radius-sm); box-shadow:var(--luv-shadow-sm); padding:15px 16px; position:relative; }
.bc-box h3{ font-family:var(--luv-font-round); font-weight:400; font-size:15px; margin:0 0 11px; display:flex; align-items:center; gap:7px; }
.bc-goal{ display:flex; flex-direction:column; gap:8px; }
.bc-goal label{ display:flex; align-items:center; gap:9px; font-size:13.5px; cursor:pointer; }
.bc-goal input{ width:16px; height:16px; accent-color:var(--luv-pink); }
.bc-goal input:checked + span{ color:var(--luv-ink-soft); text-decoration:line-through; }
.bc-ev{ display:flex; flex-direction:column; gap:7px; }
.bc-ev .e{ display:flex; align-items:center; gap:8px; font-size:13.5px; }
.bc-ev .e .dd{ font-size:11px; color:#fff; background:var(--luv-pink); border-radius:var(--luv-radius-pill); padding:2px 8px; flex:none; }
.bc-ev .e .dd.none{ background:var(--luv-pink-soft); color:var(--luv-pink-deep); }
.bc-times .t{ display:flex; align-items:center; gap:9px; padding:7px 0; font-size:13.5px; }
.bc-times .t + .t{ border-top:1.5px dashed var(--luv-line); }
.bc-times .t .tm{ margin-left:auto; color:var(--luv-pink-deep); font-weight:500; }
.bc-note-line{ font-size:11.5px; color:var(--luv-ink-soft); margin-top:8px; }
.bc-word-box{ text-align:center; }
.bc-word{ font-family:var(--luv-font-hand); font-size:17px; line-height:1.5; padding:2px; }
.bc-word-char{ width:70px; height:auto; margin-top:6px; }
.bc-coffee{ position:absolute; top:-34px; right:8px; width:60px; height:auto; }
.bc-legend{ display:flex; flex-direction:column; gap:6px; }
.bc-legend .lg{ display:flex; align-items:center; gap:9px; font-size:13px; }
.bc-legend .lg .ic{ width:20px; text-align:center; font-size:16px; }
.bc-legend .lg .ic img{ width:18px; height:18px; object-fit:contain; vertical-align:middle; }

/* ── 하단 계절 ──────────────────────────────────── */
.bc-footer{ grid-column:1/-1; margin-top:24px; border-radius:var(--luv-radius-lg);
  background:linear-gradient(180deg,transparent,var(--luv-pink-bg)); padding:24px; text-align:center; }
.bc-footer .ill{ font-size:32px; letter-spacing:6px; }
.bc-footer img{ max-width:100%; height:auto; border-radius:var(--luv-radius); }
.bc-footer .cap{ font-family:var(--luv-font-hand); font-size:17px; color:var(--luv-ink-soft); margin-top:8px; }

/* ── 화면 전환 ──────────────────────────────────── */
.bc-view{ display:none; }
.bc-view.active{ display:block; animation:bcfade .25s ease; }
@keyframes bcfade{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none;} }

/* ── 반응형 ─────────────────────────────────────── */
@media (max-width:1080px){
  .bc-app{ grid-template-columns:1fr; }
  .bc-menu{ position:static; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .bc-home{ width:100%; }
  .bc-mcard{ width:auto; flex:1 1 130px; }
  .bc-corner{ display:none; }
  .bc-side{ position:static; }
}

/* ============================================================
   [3차 추가]
   ============================================================ */

/* 월 이동 네비 */
.bc-monthnav{ display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:12px; }
.bc-monthnav button{ background:#fff; border:1.5px solid var(--luv-line); border-radius:var(--luv-radius-pill);
  width:36px; height:36px; cursor:pointer; font-size:18px; color:var(--luv-pink); transition:all .14s ease; }
.bc-monthnav button:hover{ border-color:var(--luv-pink); transform:translateY(-2px); }
.bc-monthnav .lab{ font-family:var(--luv-font-round); font-size:21px; min-width:130px; text-align:center; }

/* 토/일 캘린더 색 */
.bc-cell.sat{ background:#f3f8ff; border-color:#dbe9f8; }
.bc-cell.sat .dn{ color:#5a8ec9; }
.bc-cell.sun{ background:#fff4f4; border-color:#f6dede; }
.bc-cell.sun .dn{ color:#df6d6d; }
.bc-cell.today{ background:#fff; }

/* 공지/이벤트 목록 (오른쪽 패널) */
.bc-li{ display:flex; align-items:center; gap:8px; padding:8px 9px; border-radius:var(--luv-radius-sm);
  cursor:pointer; transition:background .14s ease; }
.bc-li:hover{ background:var(--luv-pink-bg); }
.bc-li + .bc-li{ border-top:1px dashed var(--luv-line); }
.bc-li .li-t{ font-size:13px; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bc-li .li-d{ font-size:11px; color:var(--luv-ink-soft); flex:none; }
.ev-badge{ font-size:10.5px; font-weight:600; padding:2px 8px; border-radius:var(--luv-radius-pill); flex:none; }
.ev-badge.live{ background:#d8f3ec; color:#2f8f70; }
.ev-badge.soon{ background:var(--luv-gold-soft); color:#b07d11; }
.ev-badge.done{ background:#f0eef0; color:#9a8a92; }
.bc-add{ width:100%; margin-top:8px; background:var(--luv-pink-bg); border:1.5px dashed var(--luv-pink-soft);
  color:var(--luv-pink-deep); border-radius:var(--luv-radius-sm); padding:7px; font-size:12.5px; cursor:pointer; }
.bc-add:hover{ background:#ffe6ee; }

/* 한마디 편집 버튼 */
.bc-word-box{ position:relative; }
#bc-word-edit{ position:absolute; top:13px; right:14px; background:#fff; border:1.5px solid var(--luv-line);
  border-radius:var(--luv-radius-pill); padding:3px 10px; font-size:12px; cursor:pointer; color:var(--luv-pink-deep); align-items:center; }

/* 링크 영역 */
.bc-link-world{ display:flex; align-items:center; justify-content:center; gap:8px; text-decoration:none;
  font-family:var(--luv-font-round); font-size:17px; color:#fff; background:var(--luv-pink);
  border-radius:var(--luv-radius); padding:16px; box-shadow:var(--luv-shadow-sm); transition:all .15s ease; }
.bc-link-world:hover{ background:var(--luv-pink-deep); transform:translateY(-2px); box-shadow:var(--luv-shadow); }
.bc-link-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.bc-link-ch{ display:flex; align-items:center; gap:7px; text-decoration:none; color:var(--luv-ink);
  background:#fff; border:1.5px solid var(--luv-line); border-radius:var(--luv-radius-sm); padding:9px 10px;
  font-size:12.5px; transition:all .14s ease; }
.bc-link-ch:hover{ border-color:var(--luv-pink); transform:translateY(-2px); box-shadow:var(--luv-shadow-sm); }
.bc-link-ch .e{ font-size:15px; }

/* 갤러리 */
.bc-upload{ display:inline-flex; align-items:center; gap:6px; background:var(--luv-pink); color:#fff;
  border-radius:var(--luv-radius-pill); padding:7px 15px; font-size:13px; cursor:pointer; box-shadow:var(--luv-shadow-sm); }
.bc-upload:hover{ background:var(--luv-pink-deep); }
.bc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.bc-gcard{ position:relative; aspect-ratio:1/1; border-radius:var(--luv-radius-sm); overflow:hidden;
  cursor:pointer; box-shadow:var(--luv-shadow-sm); background:var(--luv-pink-bg); transition:transform .15s ease, box-shadow .15s ease; }
.bc-gcard:hover{ transform:translateY(-3px); box-shadow:var(--luv-shadow); }
.bc-gcard img{ width:100%; height:100%; object-fit:cover; display:block; }
.bc-gcard .cap{ position:absolute; left:0; right:0; bottom:0; background:rgba(91,74,82,.6); color:#fff;
  font-size:11px; padding:5px 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bc-gdel{ position:absolute; top:6px; right:6px; width:24px; height:24px; border-radius:50%; border:none;
  background:rgba(0,0,0,.45); color:#fff; cursor:pointer; font-size:12px; }
.bc-empty{ text-align:center; color:var(--luv-ink-soft); padding:50px 20px; font-family:var(--luv-font-hand); font-size:16px; }

/* 라이트박스 (크게보기 + 슬라이드) */
#bc-lightbox{ display:none; position:fixed; inset:0; z-index:200; background:rgba(60,40,50,.82);
  align-items:center; justify-content:center; }
#bc-lightbox.show{ display:flex; }
#bc-lightbox img{ max-width:84vw; max-height:78vh; border-radius:var(--luv-radius); box-shadow:0 20px 50px rgba(0,0,0,.4); }
#bc-lb-cap{ position:absolute; bottom:28px; left:0; right:0; text-align:center; color:#fff; font-size:14px; }
.bc-lb-btn{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
  border:none; background:rgba(255,255,255,.9); color:var(--luv-pink-deep); font-size:22px; cursor:pointer; }
#bc-lb-prev{ left:24px; } #bc-lb-next{ right:24px; }
#bc-lb-close{ position:absolute; top:24px; right:24px; width:42px; height:42px; border-radius:50%;
  border:none; background:rgba(255,255,255,.9); color:var(--luv-ink); font-size:18px; cursor:pointer; }

/* 공지/이벤트 상세 모달 */
#bc-modal{ display:none; position:fixed; inset:0; z-index:180; background:rgba(91,74,82,.4);
  align-items:center; justify-content:center; padding:20px; }
#bc-modal.show{ display:flex; }
.bc-modal-card{ background:#fff; border-radius:var(--luv-radius-lg); box-shadow:var(--luv-shadow-lg);
  max-width:460px; width:100%; padding:24px 26px; position:relative; max-height:80vh; overflow:auto; }
#bc-modal-close{ position:absolute; top:14px; right:16px; border:none; background:transparent; font-size:20px; cursor:pointer; color:var(--luv-ink-soft); }
.bc-modal-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
.bc-modal-head .m-date{ font-size:12px; color:var(--luv-ink-soft); }
.bc-modal-card h3{ font-family:var(--luv-font-round); font-weight:400; font-size:19px; margin:6px 0 12px; }
.bc-modal-card .m-body{ font-size:14px; line-height:1.7; color:var(--luv-ink); }
.bc-modal-tools{ margin-left:auto; display:flex; gap:6px; }
.bc-modal-tools button{ font-size:12px; border:1.5px solid var(--luv-line); background:#fff; border-radius:var(--luv-radius-sm); padding:4px 10px; cursor:pointer; }
.bc-modal-tools button.danger{ color:#df6d6d; border-color:#f6dede; }

/* 관리자 바 */
#bc-admin-bar{ display:none; position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:150;
  background:var(--luv-ink); color:#fff; border-radius:var(--luv-radius-pill); padding:9px 12px 9px 18px;
  align-items:center; gap:12px; box-shadow:var(--luv-shadow-lg); }
body.is-admin #bc-admin-bar{ display:flex; }
#bc-admin-bar .tag{ font-size:13px; font-family:var(--luv-font-round); }
#bc-admin-bar button{ border:none; border-radius:var(--luv-radius-pill); padding:6px 14px; font-size:12.5px; cursor:pointer; }
#bc-admin-export{ background:var(--luv-pink); color:#fff; }
#bc-admin-off{ background:rgba(255,255,255,.18); color:#fff; }
/* 관리자 진입 버튼 (항상 작게) */
#bc-admin-toggle{ position:fixed; bottom:18px; right:18px; z-index:150; width:40px; height:40px; border-radius:50%;
  border:none; background:#fff; box-shadow:var(--luv-shadow); cursor:pointer; font-size:16px; opacity:.5; }
#bc-admin-toggle:hover{ opacity:1; }
body.is-admin #bc-admin-toggle{ display:none; }

/* ============================================================
   [5차] 기념일 / 공휴일
   ============================================================ */
/* 칸 안의 라벨 */
.bc-anniv{ font-size:10px; font-weight:600; padding:2px 7px; border-radius:var(--luv-radius-pill);
  align-self:flex-start; line-height:1.3; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bc-anniv.sp-broadcast{ background:linear-gradient(90deg,#ffe9b0,#ffd9e4); color:#a8730f; }
.bc-anniv.sp-birthday{ background:var(--luv-pink-soft); color:var(--luv-pink-deep); }
.bc-anniv.sp-event{ background:var(--luv-mint-soft); color:#2f8f70; }
.bc-anniv.sp-holiday{ background:#fff4f4; color:#df6d6d; }
/* 칸 모서리 장식 (하트·별·왕관·리본·반짝) */
.bc-deco{ position:absolute; top:-8px; left:-5px; font-size:15px; pointer-events:none; transform:rotate(-12deg); z-index:5; }

/* 특별한 날 칸 꾸미기 */
.bc-cell.sp-broadcast{ border:2px solid var(--luv-gold); background:linear-gradient(135deg,#fffaf0,#fff2f6);
  animation:bcSparkle 2.4s ease-in-out infinite; }
.bc-cell.sp-birthday{ border:2px solid var(--luv-pink); background:#fff2f6; }
.bc-cell.sp-event{ border:2px solid var(--luv-mint); background:#f3fbf8; }
.bc-cell.sp-holiday{ border-color:#f6dede; background:#fff7f7; }
.bc-cell.sp-holiday .dn{ color:#df6d6d; }
/* 반짝이는 칸 (설날·추석·크리스마스·연말 등 deco:sparkle) */
.bc-cell.deco-sparkle{ border:2px solid var(--luv-gold); background:linear-gradient(135deg,#fffaf0,#fff2f6);
  animation:bcSparkle 2.4s ease-in-out infinite; }
@keyframes bcSparkle{
  0%,100%{ box-shadow:0 0 0 2px #fff, 0 4px 14px rgba(243,201,105,.30); }
  50%    { box-shadow:0 0 0 2px #fff, 0 4px 22px rgba(255,143,177,.50); }
}

/* ============================================================
   [6차] 방송일수 배지 + UI 개선 (가독성·커서·hover)
   ============================================================ */
/* 방송일수 배지 (상단) */
.bc-bcdays{ font-family:var(--luv-font-round); font-size:14px; color:var(--luv-pink-deep);
  background:#fff; padding:6px 16px; border-radius:var(--luv-radius-pill);
  box-shadow:var(--luv-shadow-sm); white-space:nowrap; }

/* 달력 숫자 — 크게 + 굵게 */
.bc-cell .dn{ font-size:18px; font-weight:500; }
.bc-dc .d{ font-size:17px; }

/* 요일 — 더 진하게 (토 파랑 / 일 빨강 유지) */
.bc-dow span{ font-size:13px; font-weight:500; color:var(--luv-ink); }
.bc-dow .sun{ color:#df6d6d; }
.bc-dow .sat{ color:#5a8ec9; }

/* 일정 제목 — 가독성 */
.bc-dc .tt{ font-size:15px; font-weight:500; line-height:1.35; }
.bc-day-info .bt{ font-weight:500; }

/* 클릭 가능한 모든 요소 커서 */
.bc-cell, .bc-li, .bc-link-ch, .bc-link-world, .bc-mcard, .bc-gcard, .bc-dc,
.bc-monthnav button, .bc-weeknav button, .luv-chip, .luv-btn,
#bc-admin-toggle, #bc-admin-bar button, #bc-cal-save, .bc-add, #bc-word-edit,
#bc-modal-close, #bc-lb-close, .bc-lb-btn, .bc-upload, .bc-gdel{ cursor:pointer; }

/* hover — 살짝 확대 + 그림자 + 색 (자연스럽게) */
.bc-cell:hover{ transform:translateY(-3px) scale(1.02); }
.bc-mcard:hover{ transform:translateY(-2px) scale(1.02); }
.bc-link-ch:hover, .bc-dc:hover{ transform:translateY(-3px) scale(1.02); }
.bc-li:hover{ transform:translateX(2px); background:var(--luv-pink-bg); }
.bc-monthnav button:hover, .bc-weeknav button:hover{ transform:translateY(-2px) scale(1.05); }

/* ============================================================
   [7차] 날짜 옆 방송 시간대 배지
   ============================================================ */
.bc-cell-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:3px; }
.bc-slot{ font-size:8.5px; font-weight:600; padding:1px 6px; border-radius:var(--luv-radius-pill);
  white-space:nowrap; line-height:1.5; margin-top:2px; }
.bc-slot-morning{ background:#fff3d6; color:#b07d11; }
.bc-slot-evening{ background:#ece9f6; color:#6b5fa8; }
/* 좁은 화면에선 아이콘만 */
@media (max-width:1080px){ .bc-slot{ font-size:8px; padding:1px 4px; } }

/* ============================================================
   [8차] 가독성 리디자인 — 1920 기준 전체 확대 + 굵기 ↑
   (예쁜 다이어리 + 고급 스트리머 + 귀여운 게임 UI)
   ============================================================ */
body{ font-weight:500; }

/* 레이아웃: 더 넓게, 여백은 조금 줄이고 내용은 크게 */
.bc-app{ max-width:1600px; grid-template-columns:240px minmax(0,1fr) 340px; gap:22px; padding:26px 30px 64px; }

/* ── 방송일수 대표 카드 (상단 중앙, 2배) ── */
.bc-bcdays{ display:flex; flex-direction:column; align-items:center; gap:3px; white-space:nowrap;
  background:linear-gradient(135deg,#ffffff,#fff2f6); border:2px solid var(--luv-pink-soft);
  border-radius:26px; padding:14px 40px; box-shadow:var(--luv-shadow); }
.bc-bcdays .d1{ font-family:var(--luv-font-round); font-size:32px; color:var(--luv-pink-deep); line-height:1.1; }
.bc-bcdays .d2{ font-size:14px; color:var(--luv-ink-soft); font-weight:600; }
.bc-logo{ height:60px; }
.bc-top .sub{ font-size:16px; font-weight:600; }
.bc-month{ font-size:21px; padding:9px 22px; }

/* ── 왼쪽 메뉴 (크게, 클릭 편하게) ── */
.bc-home{ font-size:19px; }
.bc-mcard{ padding:17px 18px; font-size:17px; font-weight:600; border-radius:var(--luv-radius); }
.bc-mcard .em{ font-size:24px; }

/* ── 섹션 제목 / 힌트 ── */
.bc-shead h2{ font-size:24px; }
.bc-hint{ font-size:13.5px; }
.luv-btn{ font-size:15px; font-weight:600; padding:11px 18px; }

/* ── 필터 칩 ── */
.luv-chip{ font-size:15px; font-weight:600; padding:8px 16px; }

/* ── 월 이동 ── */
.bc-monthnav{ margin-bottom:16px; }
.bc-monthnav .lab{ font-size:25px; min-width:160px; }
.bc-monthnav button{ width:44px; height:44px; font-size:21px; }

/* ── 요일 ── */
.bc-dow{ gap:11px; }
.bc-dow span{ font-size:16px; font-weight:700; }

/* ── 달력 칸 (높이·여백·글씨 ↑) ── */
.bc-cal{ gap:11px; }
.bc-cell{ min-height:138px; padding:11px 12px 13px; gap:7px; border-width:2px; }
.bc-cell-top{ gap:5px; }
.bc-cell .dn{ font-size:25px; font-weight:700; }
.bc-cell .ic{ font-size:23px; gap:4px; }
.bc-cell .ic img{ width:23px; height:23px; }
.bc-cell .note{ font-size:13px; font-weight:600; line-height:1.4; color:var(--luv-ink); }
.bc-slot{ font-size:11px; font-weight:700; padding:2px 9px; margin-top:3px; }
.bc-anniv{ font-size:12.5px; font-weight:700; padding:3px 10px; }
.bc-deco{ font-size:18px; }

/* 방송 ON / 휴방 / 특별 배지 (크게·굵게) */
.bc-on, .bc-sp{ font-size:13.5px; font-weight:700; padding:4px 13px; }
.bc-rest{ font-size:13.5px; font-weight:600; padding:4px 13px; }

/* ── 주간 / 일별 ── */
.bc-dc{ padding:15px 16px; }
.bc-dc .d{ font-size:19px; }
.bc-dc .tt{ font-size:17px; font-weight:700; }
.bc-dc .p{ font-size:14px; font-weight:500; }
.bc-day-info .bd{ font-size:28px; }
.bc-day-info .bt{ font-size:22px; font-weight:700; }
.bc-order .it{ font-size:15px; font-weight:500; }
.bc-order .it .n{ width:25px; height:25px; font-size:13px; }

/* ── 오른쪽 패널 (전체 확대) ── */
.bc-box{ padding:18px 20px; }
.bc-box h3{ font-size:19px; }
.bc-goal label{ font-size:15.5px; font-weight:500; }
.bc-goal input{ width:18px; height:18px; }
.bc-li{ padding:10px 10px; }
.bc-li .li-t{ font-size:15px; font-weight:600; }
.bc-li .li-d{ font-size:12.5px; }
.ev-badge{ font-size:12px; font-weight:700; padding:3px 10px; }
.bc-ev .e{ font-size:15px; }

/* 방송시간 안내 — 훨씬 잘 보이게 */
.bc-times .t{ padding:11px 0; font-size:17px; font-weight:600; }
.bc-times .t span:first-child{ font-size:20px; }
.bc-times .t .tm{ font-size:17px; font-weight:700; }
.bc-note-line{ font-size:13px; font-weight:500; line-height:1.6; margin-top:10px; }

/* 한마디 / 링크 */
.bc-word{ font-size:19px; }
.bc-link-ch{ font-size:14px; font-weight:600; padding:11px 12px; }
.bc-link-ch .e{ font-size:18px; }
.bc-link-world{ font-size:19px; padding:18px; }

/* 굵기 보강 (제목류) */
.luv-title, .bc-shead h2, .bc-box h3, .bc-mcard.active{ font-weight:700; }

/* ============================================================
   [9차] 레이아웃 비율 재조정 — 캘린더 중심, 1920×1080 한 화면
   우선순위: 캘린더 > 오른쪽 패널 > 왼쪽 메뉴
   ============================================================ */
/* 메뉴 축소 / 캘린더 확대 / 패널 축소 */
.bc-app{ max-width:1840px; grid-template-columns:190px minmax(0,1fr) 296px; gap:18px; padding:14px 26px 28px; }

/* 위 여백 줄여 캘린더가 위로 */
.bc-top{ margin-bottom:0; }
.bc-paper{ padding:14px 22px 18px; }
.bc-spring{ margin:-26px 0 8px; }
.bc-shead{ margin-bottom:10px; }

/* 방송일수 카드: 폭 ↓ 높이 ↑ */
.bc-bcdays{ padding:15px 26px; gap:4px; }
.bc-bcdays .d1{ font-size:28px; }
.bc-bcdays .d2{ font-size:13px; }
.bc-logo{ height:54px; }

/* 왼쪽 메뉴 (폭 줄어든 만큼 정돈) */
.bc-mcard{ padding:13px 13px; font-size:15.5px; gap:9px; }
.bc-mcard .em{ font-size:21px; }
.bc-home{ font-size:16px; }
.bc-corner img{ width:84px; }

/* 필터 한 줄 */
.bc-filters{ gap:6px; margin-bottom:11px; }
.luv-chip{ font-size:13.5px; font-weight:600; padding:6px 11px; }

/* 월 이동 */
.bc-monthnav{ margin-bottom:11px; }
.bc-monthnav .lab{ font-size:24px; }

/* 캘린더 칸 — 한 화면에 들어오게 높이 조정 (글씨 크기는 유지) */
.bc-cal{ gap:9px; }
.bc-dow{ gap:9px; margin-bottom:6px; }
.bc-cell{ min-height:112px; padding:9px 10px 10px; gap:5px; }
.bc-cell .dn{ font-size:23px; }
.bc-cell .ic{ font-size:21px; }
.bc-cell .ic img{ width:21px; height:21px; }

/* 오른쪽 패널 (폭 줄어든 만큼 콤팩트하게, 가독성은 유지) */
.bc-side{ gap:13px; }
.bc-box{ padding:14px 16px; }
.bc-box h3{ font-size:17px; margin-bottom:9px; }
.bc-goal{ gap:6px; } .bc-goal label{ font-size:15px; }
.bc-li{ padding:8px 9px; }
.bc-times .t{ padding:9px 0; font-size:16px; }
.bc-coffee{ width:54px; top:-30px; }

/* 하단 계절은 캘린더 아래(스크롤 영역) */
.bc-footer{ margin-top:18px; padding:18px; }

/* ============================================================
   [10차] 캘린더 중심 — 2분할 + 상단 카드3 + LUV 배너
   ============================================================ */
.bc-app{ grid-template-columns:188px minmax(0,1fr); max-width:1640px; gap:18px; padding:14px 26px 30px; }
.bc-main{ display:flex; flex-direction:column; }

/* 상단 정보 카드 3개 (동일 크기, 가로) */
.bc-cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:14px; align-items:stretch; }
.bc-card3{ background:rgba(255,255,255,.85); backdrop-filter:blur(6px); border:1px solid #fff;
  border-radius:var(--luv-radius); box-shadow:var(--luv-shadow-sm); padding:13px 17px;
  display:flex; flex-direction:column; }
.bc-card3.clickable{ cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
.bc-card3.clickable:hover{ transform:translateY(-3px); box-shadow:var(--luv-shadow); }
.bc-card3 .c3-h{ font-family:var(--luv-font-round); font-size:16px; color:var(--luv-ink);
  margin-bottom:7px; display:flex; align-items:center; gap:7px; }
.bc-card3 .c3-h #bc-word-edit{ position:static; margin-left:auto; padding:2px 9px; font-size:11px; }
.bc-card3 .c3-body{ font-size:15px; color:var(--luv-ink); flex:1; }
.bc-card3 .c3-foot{ font-size:11.5px; color:var(--luv-pink-deep); margin-top:7px; }
#bc-notice-card .c3-body{ font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.c3-word{ font-family:var(--luv-font-hand); font-size:18px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#bc-time-card .c3-body .t{ display:flex; align-items:center; gap:7px; padding:3px 0; font-size:14px; font-weight:600; }
#bc-time-card .c3-body .t + .t{ border-top:1px dashed var(--luv-line); }
#bc-time-card .c3-body .t span:first-child{ font-size:16px; }
#bc-time-card .c3-body .t .tm{ margin-left:auto; color:var(--luv-pink-deep); font-weight:700; }
#bc-time-card .bc-note-line{ font-size:11px; color:var(--luv-ink-soft); margin-top:6px; line-height:1.5; }

/* 캘린더 — 화면의 주인공 */
.bc-paper{ padding:16px 22px 20px; }
.bc-cell{ min-height:122px; }
.bc-cell .dn{ font-size:24px; }

/* LUV 브랜드 배너 (캘린더 아래, 크게) */
.bc-banner{ display:flex; align-items:center; gap:26px; margin-top:18px; padding:18px 32px;
  background:linear-gradient(135deg,#fff2f6,#ffe6ee); border:2px solid #fff;
  border-radius:var(--luv-radius-lg); box-shadow:var(--luv-shadow); }
.bc-banner .bn-char img{ width:118px; height:auto; }
.bc-banner .bn-char .luv-char-ph{ width:100px; height:100px; }
.bc-banner .bn-title{ font-family:var(--luv-font-round); font-size:34px; color:var(--luv-pink-deep); line-height:1.1; }
.bc-banner .bn-msg{ font-family:var(--luv-font-hand); font-size:21px; color:var(--luv-ink); margin-top:4px; }

/* 하단 보조: 이벤트 / 목표 / 채널 */
.bc-extras{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.bc-extras .bc-box{ background:rgba(255,255,255,.82); }

/* 공지 목록 모달 */
.bc-mlist{ display:flex; flex-direction:column; gap:2px; margin:12px 0; }
.ml-item{ display:flex; justify-content:space-between; gap:10px; padding:11px 12px;
  border-radius:var(--luv-radius-sm); cursor:pointer; transition:background .14s ease; }
.ml-item:hover{ background:var(--luv-pink-bg); }
.ml-item b{ font-weight:600; }
.ml-item .ml-d{ font-size:12px; color:var(--luv-ink-soft); flex:none; }
.ml-empty{ color:var(--luv-ink-soft); padding:18px; text-align:center; }

/* 좁은 화면 */
@media (max-width:1080px){
  .bc-app{ grid-template-columns:1fr; }
  .bc-cards3, .bc-extras{ grid-template-columns:1fr; }
  .bc-banner{ flex-direction:column; text-align:center; }
}

/* ============================================================
   [11차] 요일 색 (월간·주간·일별 통일) + 헤더 타이틀
   우선순위: 공휴일 > 일요일 > 토요일 > 평일
   ============================================================ */
.bc-dc .d.wd-sun, .bc-day-info .bd.wd-sun, .bc-rest-day .bd.wd-sun,
.bc-dc .d.wd-holiday, .bc-day-info .bd.wd-holiday, .bc-rest-day .bd.wd-holiday{ color:#df6d6d !important; }
.bc-dc .d.wd-sat, .bc-day-info .bd.wd-sat, .bc-rest-day .bd.wd-sat{ color:#5a8ec9 !important; }
.bc-cell.sp-holiday .dn{ color:#df6d6d; }

/* 헤더 메인 타이틀 */
.bc-title{ font-family:var(--luv-font-round); font-size:42px; color:var(--luv-pink); text-decoration:none; letter-spacing:.5px; }
.bc-title:hover{ color:var(--luv-pink-deep); }

/* ============================================================
   [12차] 글씨 확대 (20~30%)
   ============================================================ */
.bc-bcdays .d1{ font-size:36px; }
.bc-bcdays .d2{ font-size:15px; }
.bc-shead h2{ font-size:30px; }
.bc-monthnav .lab{ font-size:27px; }

/* 월간 칸 */
.bc-cell{ min-height:132px; }
.bc-cell .dn{ font-size:30px; }
.bc-cell .ic{ font-size:25px; }
.bc-cell .ic img{ width:25px; height:25px; }
.bc-cell .note{ font-size:14.5px; font-weight:600; }
.bc-on, .bc-sp, .bc-rest{ font-size:14.5px; }
.bc-slot{ font-size:12px; }
.bc-anniv{ font-size:13.5px; }
.bc-dow span{ font-size:17px; }

/* 주간 */
.bc-dc .d{ font-size:24px; }
.bc-dc .tt{ font-size:22px; }
.bc-dc .p{ font-size:17px; }
.bc-dc .rst{ font-size:16px; }

/* 일별 */
.bc-day-info .bd{ font-size:36px; }
.bc-day-info .bt{ font-size:28px; }
.bc-order .it{ font-size:18px; }
.bc-kv{ font-size:16px; }

/* 상단 카드 3개 */
.bc-card3 .c3-h{ font-size:18px; }
#bc-notice-card .c3-body{ font-size:18px; }
#bc-time-card .c3-body .t{ font-size:17px; }
#bc-time-card .c3-body .t span:first-child{ font-size:19px; }
#bc-time-card .bc-note-line{ font-size:12.5px; }
.c3-word{ font-size:23px; }

/* 하단 패널 */
.bc-box h3{ font-size:19px; }
.bc-li .li-t{ font-size:16px; }
.bc-ev .e{ font-size:16px; }
.bc-times .t .tm{ font-size:17px; }

/* ── [레이아웃 정리] 콘텐츠 공지 + LUV채널 단독 ── */
/* 콘텐츠 공지: 여러 줄 보이게 (한마디처럼 한 줄로 자르지 않음) */
.bc-card3 .c3-h #bc-content-edit{ position:static; margin-left:auto; padding:2px 9px; font-size:12px; }
#bc-content-card .c3-body{ font-family:var(--luv-font-round); font-size:15px; line-height:1.7;
  white-space:normal; overflow:hidden; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; }
#bc-content-card .c3-body br{ display:block; content:""; margin-top:3px; }
/* 상단 카드 제목·푸터 조금 더 크게 (3초 안에 파악) */
.bc-card3 .c3-h{ font-size:19px; }
.bc-card3 .c3-foot{ font-size:13px; }
/* LUV 채널 단독 카드 — 가운데 정렬, 너무 넓지 않게 */
.bc-extras--single{ grid-template-columns:1fr !important; max-width:560px; margin-left:auto; margin-right:auto; }

/* ============================================================
   [통일] 상단 정보 카드 3개 — 하나의 디자인 시스템 (공지·콘텐츠·방송시간)
   ★ CSS·레이아웃만. 데이터·기능 무관. 흩어진 기존 규칙을 여기서 일괄 덮어씀.
   ============================================================ */
/* 1) 카드 — 동일 너비·높이·패딩·radius·그림자·여백 */
.bc-cards3{ grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; margin-bottom:16px; }
.bc-card3{ padding:18px 20px; border-radius:var(--luv-radius);
  box-shadow:var(--luv-shadow-sm); min-height:192px; }

/* 2) 제목 — 아이콘+제목, 동일 크기·굵기 + 아래 구분선 */
.bc-card3 .c3-h{ font-size:21px; font-weight:700; gap:8px;
  margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--luv-line); }
.bc-card3 .c3-h button{ position:static; margin-left:auto; padding:3px 11px; font-size:13px; }

/* 3) 내용 영역 — 세 카드 공통 (제목 ─ 내용 ─ 안내) */
.bc-card3 .c3-body{ font-size:16.5px; line-height:1.7; color:var(--luv-ink);
  flex:1; white-space:normal; overflow:hidden; }

/* 안내/푸터 — 공지 foot 과 방송시간 안내문을 동일 스타일로 */
.bc-card3 .c3-foot,
#bc-time-card .bc-note-line{ font-size:13px; margin-top:12px; padding-top:10px;
  border-top:1px dashed var(--luv-line); line-height:1.55; }
.bc-card3 .c3-foot{ color:var(--luv-pink-deep); }
#bc-time-card .bc-note-line{ color:var(--luv-ink-soft); font-weight:500; }

/* 4) 공지 — 최신 1건, 최대 3줄 (한 줄 잘림 해제) */
#bc-notice-card .c3-body{ font-weight:600; white-space:normal; text-overflow:clip;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }

/* 5) 콘텐츠 공지 — 여러 줄 자유 (구 c3-word 한 줄 규칙 무력화) */
#bc-content-card .c3-body{ font-family:var(--luv-font-round); font-weight:500;
  font-size:16.5px; white-space:normal; text-overflow:clip;
  display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; }
#bc-content-card .c3-body br{ display:block; content:""; margin-top:5px; }

/* 6) 방송시간 — 공지처럼 리스트 (라벨 … 시간), 점선 구분 */
#bc-time-card .c3-body .t{ display:flex; align-items:center; gap:8px;
  padding:8px 0; font-size:16.5px; font-weight:600; }
#bc-time-card .c3-body .t + .t{ border-top:1px dashed var(--luv-line); }
#bc-time-card .c3-body .t span:first-child{ font-size:19px; }
#bc-time-card .c3-body .t .tm{ margin-left:auto; color:var(--luv-pink-deep); font-weight:700; }

/* 7) 모바일 — 공지 ↓ 콘텐츠 ↓ 방송시간 (기존 1080px 규칙에 맞춤) */
@media (max-width:1080px){
  .bc-cards3{ grid-template-columns:1fr; gap:13px; }
  .bc-card3{ min-height:0; padding:17px 19px; }
  .bc-card3 .c3-h{ font-size:20px; }
  .bc-card3 .c3-body,
  #bc-content-card .c3-body,
  #bc-time-card .c3-body .t{ font-size:16.5px; }
}

/* 휴방 스티커 / 폴백 배지 (PNG 없으면 알약 배지) */
.bc-rest-stk{ display:block; margin:2px auto 0; }
.bc-rest-badge{ display:inline-flex; align-items:center; gap:3px;
  background:var(--luv-pink-bg); color:var(--luv-pink-deep);
  font-size:13px; font-weight:700; padding:3px 11px; border-radius:999px; }

/* ============================================================
   [모바일 최우선] 폰(≤560px) 최적화 — 사용자 99%가 휴대폰
   글씨·칸·터치·캘린더 가독성. PC 큰 글씨를 폰용으로 재조정.
   ============================================================ */
@media (max-width:560px){
  .bc-app{ padding:14px 12px 40px; gap:14px; }
  .bc-top{ gap:6px; }
  .bc-title{ font-size:26px; }
  .bc-bcdays .d1{ font-size:21px; } .bc-bcdays .d2{ font-size:11px; }

  /* 상단 카드 — 공지 ↓ 콘텐츠 ↓ 방송시간, 3초 확인 */
  .bc-cards3{ gap:10px; margin-bottom:12px; }
  .bc-card3{ padding:14px 15px; }
  .bc-card3 .c3-h{ font-size:18px; padding-bottom:8px; margin-bottom:9px; }
  .bc-card3 .c3-body,
  #bc-content-card .c3-body,
  #bc-time-card .c3-body .t{ font-size:15.5px; }

  /* 메뉴 — 가로 2열, 터치 크게 */
  .bc-menu{ gap:8px; }
  .bc-mcard{ flex:1 1 calc(50% - 8px); padding:13px 10px; font-size:15px; min-height:48px; justify-content:center; }

  /* 섹션 제목 / 월 이동 — 터치 46px */
  .bc-shead h2{ font-size:20px; }
  .bc-monthnav .lab{ font-size:19px; min-width:118px; }
  .bc-monthnav button, .bc-weeknav button{ width:46px; height:46px; font-size:22px; }

  /* 필터 칩 — 터치 영역 */
  .bc-filters{ gap:6px; margin-bottom:12px; }
  .luv-chip{ font-size:13px; padding:8px 13px; }
  .bc-dow span{ font-size:12px; }

  /* 월간 캘린더 — 7열 유지, 칸 압축 */
  .bc-cell{ min-height:66px; padding:3px 2px; border-radius:10px; }
  .bc-cell .dn{ font-size:15px; }
  .bc-cell .ic{ font-size:13px; } .bc-cell .ic img{ width:13px; height:13px; }
  .bc-on, .bc-sp, .bc-rest{ font-size:9.5px; }
  .bc-cell .note{ font-size:9px; line-height:1.2; }
  .bc-slot{ font-size:7.5px; padding:1px 3px; }
  .bc-anniv{ font-size:8.5px; }
  .bc-stk{ width:18px !important; }
  .bc-rest-stk{ height:26px !important; }
  .bc-rest-badge{ font-size:9px; padding:2px 6px; }
  .bc-deco{ font-size:12px; }
  .bc-pop{ display:none !important; }

  /* 주간 / 오늘 방송 / 패널 */
  .bc-dc .d{ font-size:18px; } .bc-dc .tt{ font-size:17px; }
  .bc-dc .p{ font-size:14px; } .bc-dc .rst{ font-size:14px; }
  .bc-day-info .bd{ font-size:26px; } .bc-day-info .bt{ font-size:21px; }
  .bc-order .it{ font-size:15px; } .bc-kv{ font-size:14px; }
  .bc-box h3{ font-size:17px; }
}

/* ============================================================
   [모바일 3단계] 가로 스크롤 제거 + 캘린더 화면 안에 맞춤
   ============================================================ */
html, body{ overflow-x:hidden; }
@media (max-width:560px){
  html, body{ max-width:100%; }
  .bc-app{ max-width:100%; box-sizing:border-box; overflow-x:hidden; }
  .bc-cal, .bc-dow{ gap:4px; }
  .bc-mcard{ flex:1 1 0; min-width:0; font-size:13.5px; padding:12px 6px; }
}

/* ============================================================
   [모바일 강제 보정] 768px 이하 — 가로 스크롤 완전 제거 (최종 안전망)
   ============================================================ */
html, body{ overflow-x:hidden; max-width:100%; }
@media (max-width:768px){
  html, body{ overflow-x:hidden !important; max-width:100% !important; }
  .bc-app{ max-width:100% !important; width:100% !important; box-sizing:border-box; overflow-x:hidden; padding-left:12px; padding-right:12px; }
  .bc-main{ max-width:100%; min-width:0; }
  .bc-paper{ max-width:100%; box-sizing:border-box; }
  .bc-cal, .bc-dow{ grid-template-columns:repeat(7,minmax(0,1fr)) !important; }
  .bc-cards3, .bc-card3{ max-width:100%; box-sizing:border-box; }
  .bc-menu{ max-width:100%; }
  .bc-cell{ min-width:0; overflow:hidden; }
  img{ max-width:100%; height:auto; }
}

/* ============================================================
   [모바일 캘린더 폭 보정] 압축 풀기 — 칸 넓고 시원하게
   가로(overflow-x)만 차단, 세로 스크롤은 유지. 셀 압축 되돌림.
   ============================================================ */
@media (max-width:768px){
  /* 좌우 여백 최소화 → 캘린더가 화면 폭 거의 끝까지 */
  .bc-app{ padding-left:6px !important; padding-right:6px !important; }
  .bc-paper{ padding-left:8px !important; padding-right:8px !important; }
  /* 7열 유지하되 칸을 넓게·적당히 높게 (찌그러짐 방지) */
  .bc-cal, .bc-dow{ gap:3px !important; }
  .bc-cell{ min-height:88px !important; padding:6px 3px !important; }
  .bc-cell .dn{ font-size:16px; }
  .bc-cell .ic{ font-size:15px; }
  /* 방송 ON·특별·휴방 배지: 한 줄로 (세로로 안 찌그러지게) */
  .bc-on, .bc-sp, .bc-rest{ white-space:nowrap; font-size:9.5px; }
}

/* [UI마무리 1] 방송일수 카드 — 가운데 정렬 + 가로 여유 */
@media (max-width:768px){
  .bc-top{ flex-direction:column; align-items:center; gap:9px; }
  .bc-bcdays{ align-self:center; margin:0 auto; padding:14px 38px; }
}

/* [UI마무리 3] 상단 고정 공지 카드 제거 — 공지·콘텐츠는 '메인 공지' 메뉴에서만 표시 */
.bc-cards3{ display:none !important; }

/* [UI마무리 5] 캘린더 셀 정사각 비율(세로↓ 가로↑) + 방송일수 카드 넓게 */
@media (max-width:768px){
  .bc-app{ padding-left:4px !important; padding-right:4px !important; }
  .bc-paper{ padding-left:5px !important; padding-right:5px !important; }
  .bc-cal, .bc-dow{ gap:2px !important; }
  .bc-cell{ min-height:64px !important; padding:4px 2px !important; }
  .bc-bcdays{ width:88%; max-width:420px; padding:15px 22px; }
}

/* [UI마무리] 휴방일 회색 배경 (방송일은 밝게 유지) */
.bc-cell.is-rest{ background:#ece9e4 !important; box-shadow:none !important; }
.bc-cell.is-rest .dn{ color:#ada69c; }

/* [UI마무리 5] 오늘 방송 계획 입력폼 */
.bc-form{ display:flex; flex-direction:column; gap:12px; max-width:560px; }
.bc-form label{ display:flex; flex-direction:column; gap:5px; font-size:15px; font-weight:600; color:var(--luv-ink); }
.bc-form input, .bc-form select, .bc-form textarea{ font-family:inherit; font-size:15px; padding:10px 12px; border:1.5px solid var(--luv-line); border-radius:12px; background:#fff; color:var(--luv-ink); width:100%; box-sizing:border-box; }
.bc-form .bc-chkrow{ flex-direction:row; align-items:center; gap:8px; }
.bc-catlabel{ font-size:15px; font-weight:600; margin-top:4px; }
.bc-catgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.bc-catchk{ display:flex !important; flex-direction:row !important; align-items:center; gap:6px; font-weight:500 !important; background:#fff; padding:9px 11px; border-radius:12px; border:1.5px solid var(--luv-line); }
.bc-form .luv-btn{ margin-top:8px; padding:13px; font-size:16px; }

/* 오늘 방송 보기 전용 + 러브왈 ♥ */
.bc-day-view{ display:flex; flex-direction:column; gap:16px; max-width:560px; }
.bc-day-view .bc-kv{ display:flex; flex-direction:column; gap:5px; }
.bc-day-view .bc-kv b{ font-size:13px; font-weight:700; color:var(--luv-pink); }
.bc-day-view .bc-kv > div, .bc-day-view .bc-kv{ font-size:16.5px; line-height:1.95; color:var(--luv-ink); }
@media (max-width:560px){
  .bc-day-view{ gap:14px; }
  .bc-day-view .bc-kv > div, .bc-day-view .bc-kv{ font-size:16px; }
  .bc-lovewal{ font-size:16px; padding:13px 14px; }
}
.bc-lovewal{ position:relative; margin-top:34px; background:var(--luv-pink-bg); color:var(--luv-pink-deep); border-radius:18px; padding:17px 18px; font-family:var(--luv-font-hand); font-size:17px; line-height:1.85; text-align:center; box-shadow:0 4px 14px rgba(214,138,164,.14); }
.bc-lovewal::before{ content:"💗 러브왈 ♥"; position:absolute; top:-27px; left:2px; font-size:14px; font-weight:700; color:var(--luv-pink); font-family:var(--luv-font-round); }
.bc-lovewal::after{ content:""; position:absolute; bottom:-9px; left:34px; width:18px; height:18px; background:var(--luv-pink-bg); transform:rotate(45deg); border-radius:0 0 5px 0; }

/* 러브숲 메인 버튼 — 시그 페이지와 동일 (작은 핑크 pill, 15px) */
.bc-home{ display:inline-block !important; background:#ff8fb1 !important; color:#fff !important; text-decoration:none;
  border-radius:999px !important; padding:11px 18px !important; font-size:15px !important; font-weight:600;
  box-shadow:0 6px 16px rgba(214,138,164,.25); width:auto !important; margin-bottom:0; }
.bc-home:hover{ background:#f26d97 !important; }

/* 상단: 러브숲 메인 버튼 왼쪽 정렬 + 방송일수 가운데 */
.bc-top{ flex-direction:column; align-items:flex-start; gap:12px; }
.bc-top .bc-bcdays{ align-self:center; }

/* ============================================================
   방송 현황 3카드(방송일수·오늘·다음) + 캘린더 인라인 상세 — UX개편 2026-06-25
   ============================================================ */
.bc-bcast3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.bc-bcard{ background:#fff; border-radius:18px; padding:15px 16px 17px; box-shadow:0 4px 16px rgba(214,138,164,.14);
  border:1.5px solid #fbe4ee; display:flex; flex-direction:column; gap:7px; min-width:0; }
.bc-bcard--today{ border-color:#ffc2da; background:linear-gradient(180deg,#fff6fa 0,#fff 62%); }
.bc-bcard--next{ border-color:#cfe9ff; background:linear-gradient(180deg,#f5fbff 0,#fff 62%); }
.bc-bcard--days{ align-items:center; justify-content:center; text-align:center; border-color:#ffe6c2;
  background:linear-gradient(180deg,#fffaf3 0,#fff 62%); }
.bb-label{ font-family:'Jua',sans-serif; font-size:15px; color:#f26d97; }
.bc-bcard--next .bb-label{ color:#5b9bd5; }
.bc-bcard--days .bb-label{ color:#e09b4a; }
.bb-days{ font-family:'Jua',sans-serif; font-size:25px; color:#5b4a52; line-height:1.2; }
.bb-days [data-luv-bcdays]{ color:#f26d97; }
.bb-card-body{ font-size:14px; color:#5b4a52; line-height:1.6; min-width:0; }
.bb-date{ font-weight:700; color:#5b4a52; font-size:15px; }
.bb-dow{ font-weight:400; color:#9a8a92; font-size:13px; }
.bb-slot{ display:inline-block; font-size:13px; color:#d4537e; font-weight:600; margin-top:2px; }
.bb-title{ font-size:16px; font-weight:700; color:#5b4a52; margin-top:2px; word-break:break-all; }
.bb-cats{ display:flex; flex-wrap:wrap; gap:5px; margin-top:3px; }
.bb-chip{ background:#fbe4ee; color:#c4567e; font-size:12px; padding:3px 9px; border-radius:999px; }
.bb-content{ font-size:13.5px; color:#6b5b62; line-height:1.7; margin-top:4px; }
.bb-wal{ margin-top:7px; background:#fff0f6; border-radius:12px; padding:8px 11px; font-size:13px; color:#c4567e; line-height:1.6; }
.bb-empty{ font-size:13.5px; color:#b0a9a0; padding:6px 0; }
.bb-rest{ font-size:14px; color:#9a8a92; font-weight:600; margin-top:2px; }

/* 캘린더 아래 인라인 상세 (팝업 대체) */
.bc-day-inline{ display:none; margin-top:14px; background:#fff; border-radius:18px; padding:16px 18px;
  box-shadow:0 4px 16px rgba(214,138,164,.14); border:1.5px solid #fbe4ee; }
.bc-day-inline.show{ display:block; animation:bcInlineIn .25s ease; }
@keyframes bcInlineIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.bc-inline-head{ font-family:'Jua',sans-serif; font-size:18px; color:#5b4a52; margin-bottom:10px; }
.bc-day-inline .bb-slot{ font-size:14px; }
.bc-day-inline .bb-title{ font-size:17px; }
.bc-cell.picked{ outline:2.5px solid #ff8fb1; outline-offset:-2px; border-radius:10px; }

/* 모바일: 3카드 세로 스택 */
@media (max-width:640px){
  .bc-bcast3{ grid-template-columns:1fr; gap:10px; }
  .bc-bcard--days{ flex-direction:row; gap:10px; }
  .bb-days{ font-size:22px; }
}
