/* plan 탭 화면 — 앱 plan_screen · plan_ui · plan_edit · plan_pickers 값 */

/* 줄 — 앱 LgRow (18 · 9 · 타일 32 · 이름 15/500 · 아래 12.5 · 값 15/600) */
.pl-row{display:flex;align-items:center;width:100%;padding:9px 18px;text-align:left;background:#fff;position:relative}
a.pl-row:hover,button.pl-row:hover{background:#FBFBFC}
.pl-row .tx{flex:1;min-width:0;margin-left:12px;display:block;text-align:left}
.pl-row .tx.nl{margin-left:0}
.pl-row .tx b{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-row .tx>span{display:block;margin-top:1px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-row em{font-style:normal;font-weight:600;margin-left:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.pl-row .ar{font-style:normal;font-size:12px;color:#C3C8CE;margin-left:8px}
.pl-rows,.lgc.rows.pl-rows{padding:4px 0;margin-top:0;overflow:hidden}
.pl-col>*+.lgc.rows.pl-rows{margin-top:9px}
.pl-col>.pl-gh+.lgc.rows.pl-rows,.pl-col>.pl-lab+.lgc.rows.pl-rows,.pl-col>.pl-dhd+.lgc.rows.pl-rows{margin-top:0}
.pl-empty{text-align:center;font-size:12.5px;color:var(--t3)}
.pl-gone{padding:60px 0}

/* 옆으로 밀어 지우기 (앱 Dismissible) */
.pl-swipe{position:relative;overflow:hidden}
.pl-del{position:absolute;inset:0;background:#FDECEC;color:#D43B3B;font-size:12.5px;font-weight:500;display:flex;align-items:center;justify-content:flex-end;padding-right:22px}
.pl-swipe .pl-row{touch-action:pan-y;user-select:none;-webkit-user-drag:none}

/* 두 칸 — PC 왼쪽 본문 · 오른쪽 */
.pl-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.pl-col{min-width:0}
.pl-col>.lgc+.lgc,.pl-col>.lgc+.wb,.pl-col>.lgc+.pl-soft{margin-top:9px}
.pl-add{margin-top:9px;border-radius:16px}
.pl-col>.pl-add:first-child{margin-top:0}

/* ── 달력 (W39) — 칸 84 + 주 간격 4 + 「+N」 한 줄 15 = 103 ── */
.pl-calc{padding:12px 0 0}
.pl-calc .mh{padding:0 10px 12px}
.pl-calc .wkh{height:24px;align-items:center;font-weight:600;padding:0 6px}
.pl-weeks{padding:0 6px 10px}
.pl-wk{position:relative;display:grid;grid-template-columns:repeat(7,1fr);height:103px}
.pl-c{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:2px;border-radius:10px;min-width:0}
button.pl-c:hover{background:rgba(26,111,209,.04)}
.pl-c .dn.pl-today{box-shadow:inset 0 0 0 1.4px var(--primary)}
.pl-more{position:absolute;left:5px;top:84px;font-size:9.5px;line-height:1.4;color:var(--t3)}
.pl-bar{position:absolute;height:15px;padding:0 4px;font-size:9.5px;font-weight:500;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:clip;pointer-events:none;text-align:left}
.pl-dhd{display:flex;align-items:baseline;padding:4px 4px 8px}
.pl-dhd b{flex:1;font-size:15px;font-weight:600}
.pl-dhd span{font-size:12.5px;color:var(--t3)}

/* ── 다가올 날 ── */
.pl-today{padding:16px 18px}
.pl-today>span{display:block;font-size:12.5px;color:var(--t3)}
.pl-today>b{display:block;margin-top:4px;font-size:26px;font-weight:600;line-height:1.3;word-break:keep-all}
.pl-today>small{display:block;margin-top:6px;font-size:12.5px;color:var(--t3)}
.pl-lh{display:flex;align-items:baseline;padding:12px 18px 6px}
.pl-lh b{flex:1;font-size:13px;font-weight:600}
.pl-lh a{font-size:12.5px;color:var(--t3)}
.pl-list{padding:0}

/* 앱 LgNote — 옅은 파랑 상자 */
.pl-note{background:var(--soft);border-radius:16px;padding:13px 14px}
.pl-note b{display:block;font-size:13.5px;font-weight:500;color:var(--primary)}
.pl-note span{display:block;margin-top:3px;font-size:12.5px;color:rgba(26,111,209,.8)}

/* ── 할일 ── */
.pl-gh{display:flex;align-items:baseline;padding:14px 18px 7px}
.pl-col>.pl-gh:first-child{padding-top:0}
.pl-gh span{font-size:13px;font-weight:600;color:var(--t3)}
.pl-gh b{margin-left:5px;font-size:13px;font-weight:700;color:var(--primary)}
.pl-trow{padding:9px 18px 9px 12px}
.pl-trow .tx{padding:0;margin-left:6px}
.pl-ck{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center}
.pl-ck i{width:19px;height:19px;border-radius:6px;border:1.6px solid var(--divider);display:flex;align-items:center;justify-content:center}
.pl-ck.on i{background:var(--primary);border-color:var(--primary)}
.pl-addtodo{display:block;width:100%;margin-top:14px;padding:15px 0;text-align:center;font-size:15px;font-weight:600;color:var(--primary)}

/* ── 넣기 · 수정 (PC 는 분류 · 되풀이를 옆에 펼침 — W52 와 같은 구성) ── */
.pl-edit{display:grid;grid-template-columns:minmax(380px,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.pl-form>.lgc{margin-bottom:8px}
.pl-lab{padding:8px 4px 6px;font-size:13px;font-weight:500;color:var(--t2)}
.pl-days{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.pl-box{display:block;width:100%;padding:12px 14px;background:#fff;border-radius:16px;box-shadow:var(--cardShadow);text-align:left;border:1.6px solid transparent;cursor:pointer}
.pl-box span{display:block;font-size:11.5px;color:var(--t3)}
.pl-box b{display:block;margin-top:3px;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-box b.dim{font-weight:400;color:var(--t3)}
.pl-box.on{border-color:var(--primary)}
.pl-nl{padding:0 4px 10px;font-size:11.5px;color:var(--t3)}
.pl-fr span{width:82px}
.pl-fr b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
div.pl-fr{cursor:default}
.pl-in{cursor:text}
.pl-in input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15px;font-weight:500;color:var(--ink);border-bottom:1.5px solid transparent;padding-bottom:2px}
.pl-in input:focus{border-bottom-color:var(--primary)}
.pl-in input::placeholder{font-weight:400;color:var(--t3)}
.pl-in span{width:82px;flex:none;font-size:15px;color:var(--t3)}
.pl-dot{width:20px;height:20px;border-radius:99px;flex:none;margin-right:10px}
.pl-card{padding:0;overflow:hidden}
.pl-sw{padding:12px 18px}
.pl-sw span small{display:block;margin-top:1px;font-size:12.5px;color:var(--t3)}
.pl-delcard{display:block;width:100%;padding:15px 0;text-align:center;font-size:15px;font-weight:500;color:#D9534F;margin-bottom:8px}
.pl-save{margin-top:6px}
.savebtn:disabled{background:rgba(26,111,209,.31);cursor:default}
.side .lr b.nl{margin-left:0}
.side .lr.on b{font-weight:600}

/* 일정 하나 보기 */
.pl-dhead{display:flex;align-items:center;padding:18px 18px 16px;margin-bottom:8px}
.pl-dhead>i{width:5px;height:44px;border-radius:99px;flex:none}
.pl-dhead>div{flex:1;min-width:0;margin:0 10px 0 14px}
.pl-dhead b{display:block;font-size:19px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-dhead span{display:block;margin-top:3px;font-size:13px;color:var(--t2)}
.pl-dhead em{font-style:normal;font-size:15px;font-weight:600;color:var(--primary);white-space:nowrap}
.pl-btns button,.pl-btns a{height:52px;border-radius:16px;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center}
.pl-btns .pl-rm{background:#fff;color:#D9534F;box-shadow:var(--cardShadow)}

/* 그 날 */
.pl-one{margin-bottom:8px;overflow:hidden}
.pl-one .pl-row{border-radius:18px}
.pl-soft{display:block;margin-top:4px;padding:14px 0;text-align:center;border-radius:14px;background:var(--soft);color:var(--primary);font-size:15px;font-weight:600}

/* 찾기 */
.pl-search{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:14px;background:var(--chip);margin-bottom:8px;cursor:text}
.pl-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15px;color:var(--ink)}
.pl-search input::placeholder{color:var(--t3)}
.pl-filt .pl-row .tx b{font-size:15px}
.pl-res>.pl-lab:first-child{padding-top:0}

/* 설정 */
.pl-sh{padding:14px 4px 8px}
.pl-col>.pl-sh:first-child{padding-top:0}
.pl-sh b{display:block;font-size:15px;font-weight:600}
.pl-sh span{display:block;margin-top:2px;font-size:12.5px;color:var(--t3)}
.pl-addcat{display:block;margin-top:9px;padding:15px 0;text-align:center;font-size:15px;font-weight:500;color:var(--primary)}
.pl-cathead{display:flex;flex-direction:column;align-items:center;padding:18px;margin-bottom:8px}
.pl-cathead input{margin-top:12px;width:100%;text-align:center;border:0;outline:0;background:none;font:inherit;font-size:17px;font-weight:500;color:var(--ink)}
.pl-cathead input::placeholder{color:var(--t3)}
.pl-cathead small{margin-top:3px;font-size:11.5px;color:var(--t3)}
.pl-colors{display:flex;flex-wrap:wrap;gap:10px;padding:14px;margin-bottom:8px}
.pl-colors button{width:34px;height:34px;border-radius:99px}
.pl-colors button.on{box-shadow:inset 0 0 0 2.4px rgba(0,0,0,0),inset 0 0 0 4.4px #fff}
.pl-glyphs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:12px 14px 14px}
.pl-glyphs button{height:44px;border-radius:14px;background:#F3F5F7;display:flex;align-items:center;justify-content:center;border:1.6px solid transparent}
.pl-glyphs button.on{background:var(--soft);border-color:var(--primary)}

/* ── 판 (앱 plan_pickers · 할 일 날짜) ── */
.lgp .lr b.nl{margin-left:0}
.pl-pday{padding:0 10px 8px}
.pl-pmh{display:flex;align-items:center;padding:0 0 4px}
.pl-pmh .mv{width:40px;height:34px;font-size:18px;color:var(--t3);border-radius:10px}
.pl-pmh .mv:hover{background:rgba(34,40,47,.05)}
.pl-pmh b{flex:1;text-align:center;font-size:16px;font-weight:600}
.pl-pmh b.ym{cursor:pointer}
.pl-pwk{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11.5px;margin-bottom:4px}
.pl-pgr{display:grid;grid-template-columns:repeat(7,1fr)}
.pl-pgr .pc{height:42px;display:flex;align-items:center;justify-content:center}
.pl-pgr .pc span{width:32px;height:32px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500}
.pl-pgr .pc.td span{background:var(--chip)}
.pl-pgr .pc.on span{background:rgba(255,255,255,.46);border:1px solid rgba(255,255,255,.95);
  box-shadow:0 1px 3px rgba(16,42,58,.13),inset 0 3px 22px rgba(0,0,0,.05),inset 2px -1px 5px rgba(255,255,255,.95),inset 3px 5px 14px rgba(255,255,255,.8)}
.pl-pgr .pc.rg{height:40px}
.pl-pgr .pc.rg span{width:30px;height:30px}
.pl-pgr .pc.end span{background:var(--primary)}
.pl-pgr .pc.in span{background:var(--soft)}
.pl-clear{margin:0 14px 10px;padding:14px 0;text-align:center;font-size:15px;font-weight:500;color:var(--t2)}
.pl-hdr{display:flex;align-items:center;gap:10px}
.pl-hdr>span{flex:1}
.pl-hdr .act{font-size:15px;color:var(--t3);padding:2px 6px;border-radius:8px;flex:none}
.pl-hdr .act[hidden]{display:none}
.pl-tt{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15px;font-weight:500;color:var(--ink);border-bottom:1.5px solid var(--divider);padding:2px 0}
.pl-tt:focus{border-bottom-color:var(--primary)}
.lgp>.pl-lab{padding:0 20px 8px}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px}
.pl-chip2{padding:8px 13px;border-radius:99px;background:var(--chip);color:#B9C0C8;font-size:15px;font-weight:500}
.pl-chip2.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(16,35,58,.12)}
.pl-chips.wd{padding-bottom:14px}
.pl-wchip{padding:10px 15px;border-radius:12px;border:1.4px solid var(--divider);background:#fff;font-size:15px;font-weight:500}
.pl-wchip.on{background:var(--soft);border-color:var(--soft);color:var(--primary);font-weight:600}
.pl-tdel{margin:-10px 14px 16px;padding:10px 0;font-size:15px;font-weight:500;color:#D43B3B;flex:none}
.lgp .pl-card{margin:0 14px 10px}
.pl-ampm{display:flex;gap:8px;padding:0 18px 10px}
.pl-ampm[hidden]{display:none}
.pl-hm{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 6px}
.pl-hm .pl-box{padding:11px 14px;cursor:text}
.pl-hm input{display:block;width:100%;margin-top:3px;border:0;outline:0;background:none;font:inherit;font-size:17px;font-weight:600;color:var(--ink)}
.lgp>.pl-nl{padding:4px 20px 10px}
.pl-years{max-height:320px;padding:0 0 10px}
.pl-years .lr{padding:11px 20px}
.pl-range .scroll{flex:1;min-height:0}
.pl-boxes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 10px}
.pl-boxes .pl-box{box-shadow:none}

/* 앱 showSurfyInput */
.pl-input{text-align:left}
.pl-input>b{text-align:center}
.pl-input input{display:block;width:100%;margin-top:16px;border:0;outline:0;border-radius:14px;background:var(--chip);padding:16px;font:inherit;font-size:15px;font-weight:500;color:var(--ink)}
.pl-input input::placeholder{color:var(--t3);font-weight:400}
.pl-input small{display:block;margin-top:6px;padding-right:4px;text-align:right;font-size:11.5px;color:var(--t3)}
.pl-ib{display:grid;grid-template-columns:100fr 135fr;gap:9px;margin-top:10px}
.pl-ib .no{height:52px;border-radius:26px;border:1px solid var(--divider);font-size:15px;font-weight:500;color:var(--t2)}

/* ── ㉮ 폰 모양 — 앱처럼 한 줄로 쌓기 ── */
@media (max-width:599px){
  .pl-two,.pl-edit{display:block}
  .pl-two>.pl-col+.pl-col{margin-top:9px}
  .pl-col>.pl-gh:first-child{padding-top:14px}
  .pl-two>.pl-col:first-child>.pl-gh:first-child{padding-top:0}
  .pl-col>.pl-sh:first-child{padding-top:14px}
  .pl-two>.pl-col:first-child>.pl-sh:first-child{padding-top:0}
  .pl-edit .side{display:none}
  .pl-weeks{padding:0 2px 10px}
  .pl-calc .wkh{padding:0 2px}
  .pl-bar{padding:0 3px}
  .pl-col:empty{display:none}
  /* PC 에만 보이는 것 (공휴일 이름 · 지난 날 분류 수) */
  .pl-hn,.pl-pconly{display:none}
}

/* ══ ㉯ PC 새 틀 (W61 ③ · 2026-09-23 승인) — 폭 600 이상만. 폰 모양은 위 규칙 그대로 ══ */
@media (min-width:600px){
  /* 화면 높이 채우기 — 제목 줄 52 + 틈 14 */
  .pl-page{height:100%;min-height:620px;--red:#D9534F}
  .pl-page>.pl-fill{height:calc(100% - 66px);min-height:0}
  .pl-card2{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 20px;min-width:0}
  .pl-cb{width:38px;height:38px;border-radius:50%;border:1px solid #E3E7EC;display:flex;align-items:center;justify-content:center;background:#fff;flex:none}
  .pl-cb:hover,.pl-ghost:hover{background:var(--fill)}
  .pl-ghost{height:36px;padding:0 14px;border-radius:18px;border:1px solid #E3E7EC;background:#fff;font-size:13.5px;font-weight:600;color:var(--t2);display:flex;align-items:center;gap:6px}
  .pl-cta{height:38px;padding:0 17px;border-radius:19px;background:var(--primary);color:#fff;font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px}
  .pl-cta:hover{background:#1864BE}

  /* ── 이번 주 (시안 S3) ── */
  .page.pl-wkpage>.tbar>.pl-wnav{order:0}
  .page.pl-wkpage>.tbar>h2+.pl-wnav{margin-left:0}
  .page.pl-wkpage>.tbar>h2{font-variant-numeric:tabular-nums}
  .page.pl-wkpage>.seg{margin-left:6px}
  .page.pl-wkpage>.tbar>.pl-ghost{margin-left:auto}
  .page.pl-wkpage>.tbar>.pl-cta{margin-left:0}
  .pl-wmain{display:grid;grid-template-columns:232px minmax(0,1fr);gap:14px}
  .pl-lp{display:flex;flex-direction:column;gap:12px;min-height:0}
  .pl-mini{padding:14px 14px 10px;flex:none}
  .pl-mini .mh{display:flex;align-items:center;padding:0;margin-bottom:8px;font-size:14px;font-weight:700}
  .pl-mini .mh b{font-weight:700}
  .pl-mini .mh span{margin-left:auto;display:flex;gap:6px}
  .pl-mini .mh button{display:flex;border-radius:6px}
  .pl-mini .mh button:hover{background:var(--fill)}
  .pl-mini .mg{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;text-align:center;font-size:12px}
  .pl-mini .mg b{font-weight:600;font-size:11px;padding-bottom:4px}
  .pl-mini .mg button{height:26px;display:flex;align-items:center;justify-content:center;border-radius:8px;position:relative;font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}
  .pl-mini .mg button:hover{background:#EEF1F5}
  .pl-mini .mg .o{color:#C5CCD3}.pl-mini .mg .r{color:var(--red)}.pl-mini .mg .o.r{color:#EBB2B0}
  .pl-mini .mg .wk{background:var(--fill)}
  .pl-mini .mg .t{background:var(--primary);color:#fff;font-weight:700;border-radius:50%;width:26px;justify-self:center}
  .pl-mini .mg .t:hover{background:var(--primary)}
  .pl-mini .mg .dot:after{content:"";position:absolute;bottom:2px;left:50%;margin-left:-2px;width:4px;height:4px;border-radius:2px;background:#4C7DF0}
  .pl-mini .mg .t.dot:after{background:#fff}
  .pl-cats{padding:14px 16px;flex:none}
  .pl-cats .ct{display:flex;align-items:center;gap:8px;margin-bottom:6px}
  .pl-cats .ct b{font-size:14px;font-weight:700}
  .pl-cats .ct s{text-decoration:none;font-size:12.5px;color:var(--t3);font-weight:500}
  .pl-cats .r{display:flex;align-items:center;gap:9px;height:30px;font-size:13.5px;width:100%;text-align:left;min-width:0}
  .pl-cats .r>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pl-cats .r s{margin-left:auto;text-decoration:none;font-size:12px;color:var(--t3);flex:none;font-variant-numeric:tabular-nums}
  .pl-ckb{width:16px;height:16px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex:none;border:1.6px solid #D5DAE0;font-style:normal}
  .pl-ckb.on{border:0}
  .pl-wtodo{flex:1;min-height:0;display:flex;flex-direction:column}
  .pl-wtodo .sc{flex:1;min-height:0;overflow-y:auto}
  .pl-wtodo .r{gap:0}
  .pl-tck{display:flex;align-items:center;height:30px;padding-right:9px;flex:none}
  .pl-wtodo .tt{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;height:30px}
  .pl-wtodo .tt.done{color:var(--t4);text-decoration:line-through}
  .pl-wtodo .r s{padding-left:8px}
  .pl-wnone{font-size:12.5px;color:var(--t3);padding:4px 0}

  .pl-wv{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0}
  .pl-wh{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);flex:none}
  .pl-wh>div{padding:10px 10px 8px;border-left:1px solid var(--line);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pl-wh>div:first-child{border:0}
  .pl-wh b{display:block;font-size:12px;font-weight:600}
  .pl-wh strong{font-size:20px;font-weight:700;letter-spacing:-.5px}
  .pl-wh .td{background:#F2F7FD}.pl-wh .td strong{color:var(--primary)}
  .pl-wh em{font-style:normal;margin-left:6px;font-size:11px;font-weight:700;color:var(--red)}
  .pl-ad{position:relative;border-bottom:1px solid var(--line);flex:none}
  .pl-ad>span{position:absolute;left:0;top:0;width:56px;height:36px;font-size:11px;color:var(--t3);display:flex;align-items:center;justify-content:center}
  .pl-adc{position:absolute;top:0;bottom:0}
  .pl-adc:hover{background:rgba(26,111,209,.04)}
  .pl-adbar{position:absolute;height:24px;border-radius:8px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px;padding:0 10px 0 8px;white-space:nowrap;overflow:hidden;border-left:3px solid;color:var(--ink);text-align:left;z-index:1}
  .pl-adbar span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .pl-adbar svg{flex:none}
  .pl-adbar.hol{background:#FDECEC;color:var(--red);border:0;padding:0 10px;pointer-events:none}
  .pl-gs{flex:1;min-height:0;overflow-y:auto;position:relative}
  .pl-gi{position:relative;display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--n),minmax(0,1fr));margin-top:8px}
  .pl-gi .h{font-size:11.5px;color:var(--t3);text-align:right;padding-right:8px;transform:translateY(-7px);font-variant-numeric:tabular-nums}
  .pl-gi .cl{border-left:1px solid var(--line);border-top:1px solid var(--line);cursor:pointer}
  .pl-gi .cl.td{background:#F7FAFE}.pl-gi .cl.hd{background:#FFF9F9}
  .pl-gi .cl:hover{background:rgba(26,111,209,.05)}
  .pl-ev{z-index:3;position:absolute;border-radius:12px;padding:7px 9px;font-size:12px;overflow:hidden;border-left:3px solid;text-align:left;color:var(--ink);display:block;min-width:0}
  .pl-ev:hover{filter:brightness(.97)}
  .pl-ev b{display:block;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pl-ev span{display:block;margin-top:2px;opacity:.75;font-variant-numeric:tabular-nums;white-space:nowrap}
  .pl-ev.dk{background:var(--ink);color:#fff}
  .pl-ev.nar{padding:6px 6px 6px 7px;border-radius:10px}
  .pl-now{position:absolute;left:56px;right:0;height:2px;margin-top:-1px;background:var(--ink);z-index:2;opacity:.9;pointer-events:none}
  .pl-now i{position:absolute;left:-54px;top:-10px;height:22px;padding:0 7px;border-radius:11px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;font-style:normal;font-variant-numeric:tabular-nums}

  /* ── 달력 (월) — 칸이 화면 높이를 채우고, 공휴일 이름 · 일정 이름 줄 ── */
  .pl-page>.pl-lg{grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:14px;align-items:stretch}
  .pl-page .pl-calc{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;box-shadow:none;padding:12px 0 0;min-height:0;min-width:0}
  .pl-page .pl-calc .mh{padding:0 14px 10px}
  .pl-page .pl-calc .wkh{padding:0 10px;text-align:left;border-bottom:1px solid var(--line);height:28px}
  .pl-page .pl-calc .wkh span{padding-left:8px}
  .pl-page .pl-weeks{flex:1;min-height:0;display:grid;grid-auto-rows:minmax(0,1fr);padding:0 10px 8px}
  .pl-page .pl-wk{height:auto;min-height:0;overflow:hidden}
  .pl-page .pl-wk+.pl-wk{border-top:1px solid var(--line)}
  .pl-page .pl-c{flex-direction:row;align-items:flex-start;gap:4px;padding:4px 4px 0 5px;border-radius:0;min-height:0}
  .pl-page .pl-c+.pl-c{box-shadow:inset 1px 0 0 var(--line)}
  .pl-page .pl-c.pl-hol{background:#FFF9F9}
  .pl-page .pl-c.pl-sel{background:#F2F7FD}
  .pl-page .pl-c.pl-hol .dn:not(.sel){color:var(--red)!important}
  .pl-hn{min-width:0;flex:1;font-size:11px;font-weight:700;color:var(--red);line-height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
  .pl-page .pl-bar{height:16px;line-height:16px;font-size:10.5px;font-weight:600;background:color-mix(in srgb,var(--c) 15%,#fff)!important;color:var(--ink)!important;box-shadow:inset 3px 0 0 var(--c);padding:0 5px 0 7px}
  .pl-page .pl-more{top:auto;bottom:2px;left:8px;font-size:10.5px}
  .pl-page .pl-dcol{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 0 14px;min-height:0;overflow:hidden}
  .pl-page .pl-dcol>.pl-dhd{padding:0 20px 8px}
  .pl-page .pl-dcol>.lgc{box-shadow:none;border-radius:0;flex:0 1 auto;min-height:0;overflow-y:auto}
  .pl-page .pl-dcol>.pl-add{margin:auto 16px 0;flex:none;padding:13px 0;border-radius:14px}

  /* ── 할일 · 다가올 날 · 지난 날 — 칸마다 카드 하나, 아래 끝까지 ── */
  .pl-page>.pl-two{gap:14px;align-items:stretch}
  .pl-page>.pl-two>.pl-col{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 0 14px;overflow-y:auto;min-height:0}
  .pl-page>.pl-two>.pl-col>.lgc,.pl-page>.pl-two>.pl-col>.pl-addtodo{box-shadow:none;border-radius:0;background:none;flex:none}
  .pl-page>.pl-two>.pl-col>.lgc+.lgc{margin-top:0;border-top:1px solid var(--line)}
  .pl-page>.pl-two>.pl-col>.pl-gh:first-child{padding-top:2px}
  .pl-page>.pl-two>.pl-col>.pl-add{margin:auto 16px 0;flex:none;padding:13px 0;border-radius:14px}
  .pl-page>.pl-two>.pl-col>.lgc+.pl-add{margin-top:auto}
  .pl-page>.pl-two>.pl-col>.pl-addtodo.lgc{margin-top:auto;border-top:1px solid var(--line);padding:14px 0 2px}
  .pl-page>.pl-two>.pl-col>.pl-list .pl-lh:first-child{padding-top:0}
  .pl-page>.pl-two>.pl-col>.pl-note{margin:0 16px}
  .pl-page>.pl-two>.pl-col>.pl-empty{padding:40px 0!important}
  .pl-page>.pl-two .lgc.pl-today{padding:4px 20px 16px}
  .pl-lhe{padding-top:0}
  .pl-holchip{height:26px;padding:0 10px;border-radius:13px;background:var(--fill);color:var(--t3);font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px;margin-right:10px;align-self:center}
  .pl-holchip.on{background:var(--ink);color:#fff}
  .pl-pcats{margin-top:14px}
  .pl-pcats .pl-lh{padding:6px 20px 6px}
  .pl-pcr{display:flex;align-items:center;gap:10px;padding:8px 20px;font-size:14px}
  .pl-pcr i{width:10px;height:10px;border-radius:5px;flex:none}
  .pl-pcr span{flex:1;min-width:0}
  .pl-pcr b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--t2)}
}
/* 좁은 PC (600 ~ 1023) — 이번 주는 시간표만, 두 칸은 한 칸으로 */
@media (min-width:600px) and (max-width:1023px){
  .pl-wmain{grid-template-columns:minmax(0,1fr)}
  .pl-lp{display:none}
  .pl-page>.pl-two{display:block;height:auto}
  .pl-page>.pl-two>.pl-col+.pl-col{margin-top:14px}
  .pl-page>.pl-lg{grid-template-columns:minmax(0,1fr)}
  .pl-page:not(.pl-wkpage){height:auto}
  .pl-page>.pl-lg{height:auto}
  .pl-page .pl-weeks{grid-auto-rows:110px}
}
