/* 포치의 랜선 작업실 — 바깥 페이지. 단추 · 창 모양은 아늑한 방 안(캘린더북 할 일 창)과 같게: 흰 바탕 + 손그림 회색 선 #8C8887, 단추 = Pretendard · 둥근 7 · 회색 테두리, 고른 것 = 하늘색 #80b7eb */
:root{--f:'Pretendard',system-ui,-apple-system,'Malgun Gothic',sans-serif;--bg:#f4f1f8;--ink:#111827;--ink2:#374151;--mute:#6b7280;--line:#e5e7eb;--sky:#80b7eb;--pk:#fde2ec;--pkt:#9A3D6B}
html,body{margin:0;height:100%;background:var(--bg);font-family:var(--f);color:var(--ink2);overflow:hidden}
body{display:flex;flex-direction:column}
#bar{flex:none;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);box-sizing:border-box;min-height:48px}
#bar .l{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px}
#bar .tt{font-size:15px;color:var(--ink);white-space:nowrap}
#bar .till{font-size:12px;font-weight:600;color:var(--pkt);background:var(--pk);border-radius:6px;padding:2px 7px;white-space:nowrap}
#bar .c{flex:none;display:flex;justify-content:center}
#tg{font-size:13.5px;font-weight:600;color:var(--ink2);white-space:nowrap;font-variant-numeric:tabular-nums}#tg b{color:var(--ink)}
#bar .r{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:6px}
#cnt{font-size:12.5px;font-weight:600;color:var(--mute);white-space:nowrap;margin-right:2px}
.b{font:600 13px/18px var(--f);color:var(--mute);background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.b:active{transform:translateY(1px)}
.b.pri,.b.on{background:var(--sky);border-color:var(--sky);color:#fff}
.b.pk{background:var(--pk);border-color:var(--pk);color:var(--pkt)}
.b.sm{padding:2px 7px;font-size:12px;line-height:16px}
.b:disabled{opacity:.45;cursor:default}
#stage{flex:1 1 auto;min-height:0;position:relative}
#room{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:transparent}
/* 들어오기 안내(zzLanGate) — 위 줄 아래를 덮음 */
#gate{position:fixed;left:0;right:0;bottom:0;top:48px;z-index:200;display:none;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:var(--bg)}
#gate .gc{width:100%;max-width:360px;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 18px rgba(40,60,90,.10)}
#gate .gt{font-size:16px;color:var(--ink);word-break:keep-all}
#gate .gx{margin:0;font-size:13.5px;line-height:1.55;color:var(--mute);word-break:keep-all}
#gate .gb{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
#gate .gb .b{padding:8px 12px}
/* 창(할 일 · 다 같이 시작 · 오늘 카드) */
.pnl{position:fixed;z-index:20;background:#fff;border-radius:4px;box-sizing:border-box;display:none;flex-direction:column;color:var(--ink2)}
.pnl.open{display:flex}
.pnl .hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.pnl .hd b{font-size:14.5px;color:var(--ink)}
/* 오늘 할 일 = 캘린더북 위젯 책갈피 옆 오늘 할 일 창(zzBmToday) 값 그대로(11-07) */
#todo.zbm{position:fixed;z-index:20;display:none;width:min(var(--zw,350px),calc(100vw - 24px));filter:drop-shadow(rgba(40,60,90,.28) 0 6px 12px);font-family:Pretendard,system-ui,-apple-system,sans-serif;color:#111827;cursor:default;user-select:none;-webkit-user-select:none}
#todo.zbm.open{display:block}
#todo input,#todo textarea{user-select:text;-webkit-user-select:text}
#todo button{font-family:inherit;margin:0}
#todo .zc{position:relative;background:#fff;padding:16px;box-sizing:border-box}
#todo .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
#todo .zb-bg{position:absolute;inset:0;pointer-events:none}
#todo .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
#todo .zb-t{left:0;width:100%;top:-3px;height:6px}#todo .zb-b{left:0;width:100%;bottom:-3px;height:6px}#todo .zb-l{top:0;height:100%;left:-3px;width:6px}#todo .zb-r{top:0;height:100%;right:-3px;width:6px}
#todo .zcbn{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#F7F8FA}   /* zzLanCbn 11-09 맨 위 캘린더북 안내 */
#todo .zcbn-t{font-size:12px;line-height:1.45;font-weight:600;color:#1f2937;word-break:keep-all}
#todo .zcbn-go{box-sizing:border-box;padding:4px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:12px;line-height:16px;font-weight:600;color:#374151;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s}#todo .zcbn-go:hover{color:#111827;border-color:rgba(17,24,39,.3)}
#todo .zh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#todo .zh h3{margin:0;display:flex;align-items:center;gap:5px;font-size:12px;line-height:16px;font-weight:600;color:#111827;letter-spacing:-.015em}
#todo .zsum{margin:-7px 0 10px;font-size:11.5px;line-height:15px;color:#6B7280;letter-spacing:-.01em}#todo .zsum b{font-weight:600;color:#374151;font-variant-numeric:tabular-nums}   /* 순업무시간(zzLanWork) — 날짜 아래 한 줄 */
#todo .zhr{position:absolute;top:12px;right:13px;z-index:5;display:flex;align-items:center;gap:5px}   /* 11-08 포치 「x 랑 설정 버튼 날짜랑 같은 줄에」: 날짜(위 16 · 높이 16 → 가운데 24)와 단추(24) 가운데를 맞춤 */
/* 11-08 「할 일 표시」(캐릭터 머리 위 할 일 켜고 끄기) = 보기 고르기 스위치(.zsw-in) 색 그대로: 켬 = 하늘색 · 끔 = 연한 회색 */
#todo .zhead{height:22px;padding:0 9px;border:none;border-radius:999px;cursor:pointer;font-size:11.5px;font-weight:700;line-height:1;white-space:nowrap;transition:background-color .12s,color .12s;background-color:rgba(17,24,39,.055);color:rgba(31,41,55,.4)}
#todo .zhead.on{background-color:color-mix(in srgb,#80b7eb 45%,#fff);color:color-mix(in srgb,#80b7eb 60%,black)}
#todo .zmore{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:#6b7280;cursor:pointer}
#todo .zx{border:none;background:transparent;color:#9ca3af;font-size:14px;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
#todo .zsw{display:flex;justify-content:flex-start;margin:-4px 0 12px;position:relative;z-index:3}
#todo .zsw-in{display:flex;align-items:center;padding:2px;border-radius:999px;background-color:rgba(17,24,39,.055)}
#todo .zsw-in button{height:26px;padding:0 11px;border-radius:999px;border:none;cursor:pointer;font-size:12.5px;font-weight:700;line-height:1;white-space:nowrap;transition:background-color .12s,color .12s;background-color:transparent;color:rgba(31,41,55,.4)}
#todo .zsw-in button.on{background-color:color-mix(in srgb,#80b7eb 45%,#fff);color:color-mix(in srgb,#80b7eb 60%,black)}
/* 11-08 할 일이 하나도 없을 때 보기 고르기 자리 = 다른 어플 일정 동기화 안내 + 버튼 3개(할 일을 넣으면 사라짐) */
#todo .zsync{position:relative;z-index:3;display:flex;flex-direction:column;gap:6px;margin:-4px 0 10px}
#todo .zsync-t{font-size:13px;font-weight:700;line-height:1.35;color:#1f2937;margin-bottom:2px}
/* 버튼 = 캘린더북 할 일 창 「메인 일정 · 세부 할 일」 버튼(안 고른 회색 모양) 값 그대로: text-xs rounded-lg px-2 py-1 border border-border-line text-sub-gray hover:text-main-dark transition-colors(11-08 포치 「그 버튼 ui 모양으로」 → 「선 색상이 아니라 버튼 배경색상을 회색으로」: 배경 #f3f4f6) */
#todo .zsync button{box-sizing:border-box;padding:4px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#f3f4f6;font-size:12px;line-height:16px;font-weight:400;color:#6b7280;white-space:nowrap;cursor:pointer;transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}
#todo .zsync button:hover{color:#111827}
#todo .zsync-s{margin-top:3px;font-size:11.5px;line-height:1.4;color:#6b7280}
#todo .zlist{display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px;max-height:min(56vh,430px)}
#todo .zlist::-webkit-scrollbar,#todo .zcol::-webkit-scrollbar{display:none}
#todo .zr{position:relative;display:flex;align-items:center;cursor:grab;transition:margin .13s;box-sizing:border-box;min-height:25.4px;padding:3px 4.2px 3px 8px;font-size:var(--zfs,14px);line-height:1.35;font-weight:600;color:color-mix(in srgb,var(--tc) 42%,black)}
#todo .zr:active{cursor:grabbing}
#todo .zr.dn{cursor:pointer;color:rgba(107,114,128,.8);border:1px solid rgba(17,24,39,.09);opacity:.6}
#todo .zr.dn .znm{text-decoration:line-through}
#todo .zr-w.drag{opacity:.45}
#todo .zck{position:relative;z-index:4;flex-shrink:0;margin:0 6px 0 0;width:17px;height:17px;border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color .12s,border-color .12s;border:1.4px solid rgba(17,24,39,.22);background-color:rgba(255,255,255,.6)}
#todo .zr.dn .zck{border:1px solid transparent;background-color:color-mix(in srgb,var(--tc) 45%,#fff)}
#todo .znm{position:relative;z-index:3;flex:1 1 0%;min-width:0;white-space:normal;word-break:break-word}
#todo .zch{position:relative;z-index:4;flex-shrink:0;margin:1.2px 0 0 8px;float:right;height:16px;min-width:16px;box-sizing:border-box;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:2px;border-radius:5px;border:1.3px dashed rgba(17,24,39,.3);background:rgba(255,255,255,.55);font-size:10.5px;font-weight:600;line-height:1;white-space:nowrap;color:#8c8887;cursor:pointer}
#todo .zch.set{padding:0 5px;border:1px solid transparent;background:rgba(255,255,255,.72);color:color-mix(in srgb,var(--tc,#9ca3af) 45%,black)}
#todo .zch.set span{margin-left:2px}
#todo .zgrip{position:relative;z-index:3;flex-shrink:0;display:block;color:#9ca3af;box-sizing:content-box;padding:10px 9px 10px 3px;margin:-10px 0;touch-action:none}
#todo .zmemo{font-size:12px;color:#6b7280;white-space:pre-wrap;word-break:break-all;line-height:1.4;padding:4px 2px 0 25px}
#todo .zmemo-in{display:block;width:100%;box-sizing:border-box;margin-top:6px;min-height:52px;resize:vertical;border:1px solid #e5e7eb;border-radius:7px;padding:6px 8px;font:400 12.5px/1.45 Pretendard,system-ui,sans-serif;color:#111827;outline:none}
#todo .zmemo-in:focus{border-color:#80b7eb}
#todo .zg{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:0 14px;margin-bottom:8px}
#todo .zun{min-width:0;margin:0 -6px;padding:0 6px;border-radius:8px}
#todo .zun-hd{display:flex;align-items:center;justify-content:space-between;gap:6px;height:24px;margin-bottom:4px;font-size:13px;font-weight:700;line-height:1.3;color:#1f2937}
#todo .zcnt{font-size:11px;font-weight:500;color:#9ca3af}
#todo .zright{min-width:0}
#todo .zcol{display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:none;margin:0 -6px;padding:4px 6px;max-height:325px}
#todo .zun .zcol{min-height:60px}
#todo .zbd{position:relative;flex-shrink:0;box-sizing:border-box;padding:9px 10px 10px}
#todo .zoff{position:absolute;top:6px;right:6px;z-index:4;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:none;font-size:17px;line-height:1;color:#9ca3af;cursor:pointer}
#todo .zbd-in{position:relative;z-index:3;display:flex;flex-direction:column;gap:8px}
#todo .zbd-nm{align-self:flex-start;display:flex;align-items:center;gap:7px}
#todo .zbd-t{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:700;line-height:1.3;color:#1f2937}
#todo .zbd-t span:first-child{font-size:13px;line-height:1}
#todo .zadd1{position:relative;z-index:3;width:16px;height:16px;flex-shrink:0;box-sizing:border-box;padding:0;border-radius:999px;border:1px dashed #b6bac2;background:#fff;color:#8b9099;display:flex;align-items:center;justify-content:center;cursor:pointer}
#todo .zslot{cursor:pointer;height:34px;flex-shrink:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px dashed rgba(17,24,39,.16);font-size:12px;color:#9ca3af}
#todo .zsec.over .zslot,#todo .zun.over{background:rgba(128,183,235,.12)}
#todo .zbadd input{width:100%;box-sizing:border-box;height:30px;border:1.5px dashed rgba(17,24,39,.16);border-radius:8px;background:#fff;padding:0 9px;font:400 12px/1 Pretendard,system-ui,sans-serif;color:#111827;outline:none}
#todo .zbadd input:focus{border-color:#80b7eb}
#todo .zf{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;padding-top:10px}
/* 11-08 캘린더북 zzModeRow(메인 일정 · 세부 할 일) · zzCatChip · 세부로 추가 줄 · zzSideToday(‹ 오늘 ›) 값 그대로 */
#todo .zmd{display:flex;gap:6px;flex:1 1 100%;min-width:0;padding-bottom:8px;margin-bottom:2px;border-bottom:1px solid #e5e7eb}
#todo .zmd button{flex:1 1 0%;box-sizing:border-box;padding:4px 8px;border:1px solid #e5e7eb;border-radius:8px;background:transparent;font-size:12px;line-height:16px;font-weight:400;color:#6b7280;white-space:nowrap;cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}
#todo .zmd button:hover{color:#111827}
#todo .zmd button.on{background-color:#80b7eb;border-color:#80b7eb;color:#fff}
#todo .zcrow{margin-top:8px;display:flex;min-width:0}
#todo .zcat{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;height:26px;box-sizing:border-box;padding:0 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:12px;line-height:16px;font-weight:600;color:#374151;cursor:pointer}
#todo .zcat:disabled{color:#6b7280;cursor:default}
#todo .zcd{flex:none;width:8px;height:8px;border-radius:50%}
#todo .zcn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#todo .zsubto{margin-top:6px;display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7280}
#todo .zsubto b{color:#374151;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#todo .zsubto button{color:#9ca3af;text-decoration:underline;background:none;border:none;cursor:pointer;font-size:11px;padding:0;flex:none}
#todo .zsubno{color:#9ca3af}
#todo .ztd{display:flex;align-items:center;flex-shrink:0;margin:-3px -4px -3px 0}
#todo .zar{flex-shrink:0;width:28px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:8px;cursor:pointer;color:#6b6764}
#todo .ztdb{flex-shrink:0;height:28px;padding:0 6px;border:none;background:transparent;font-size:12.5px;font-weight:700;font-family:inherit;color:color-mix(in srgb,#80b7eb 50%,black);cursor:pointer}
#todo .ztdb:disabled{color:#b9b6b3;cursor:default}
/* 세부 할 일 블록(캘린더북 data-zz-hmsub): 높이 20.4 · 체크 15 · 글씨 = 줄 글씨 - 0.5 · 위에 메인 이름 10.5px */
#todo .zr.zs{min-height:20.4px;padding:0 3.6px 0 8px;font-size:calc(var(--zfs,14px) - .5px)}
#todo .zr.zs .zck{width:15px;height:15px}
#todo .zsl{display:block;min-width:0;max-width:100%}
#todo .zslp{display:block;font-size:10.5px;line-height:1.3;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#todo .zslc{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* 시간 미정 0개 = 왼쪽 칸 접고 시간대만 한 줄(캘린더북 zzBmAuto) · 끄는 동안만 「시간 미정으로 이동」 띠 */
#todo .zg.one{grid-template-columns:minmax(0,0fr) minmax(0,1fr);column-gap:0}
#todo .zg.one .zun{opacity:0;pointer-events:none;overflow:hidden;margin:0;padding:0}
#todo .zmv{display:none;height:38px;margin-bottom:8px;box-sizing:border-box;align-items:center;justify-content:center;border-radius:8px;border:1.5px dashed rgba(17,24,39,.22);background:#fff;font-size:12px;font-weight:600;color:#6b7280}
#todo.drg .zmv{display:flex}
#todo .zmv.over{border-color:#80b7eb;background:color-mix(in srgb,#80b7eb 12%,#fff);color:#80b7eb}
/* 고르기 창(메인 일정 · 카테고리) = 캘린더북 zzOpenPick · zzOpenCatPick: 폭 240 · 오른쪽 화살표 · 그림자 */
.zsbk{position:fixed;inset:0;z-index:58}
.zsp{position:fixed;width:240px;z-index:59;filter:drop-shadow(0 10px 24px rgba(17,24,39,.38));font-family:Pretendard,system-ui,-apple-system,sans-serif}
.zsp .zsa1{position:absolute;right:-8px;top:calc(var(--zay,50%) - 7px);width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:8px solid #e5e7eb;z-index:1}
.zsp .zsa2{position:absolute;right:-6px;top:calc(var(--zay,50%) - 6px);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #fff;z-index:2}
.zsp .zsb{border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}
.zsp .zst{padding:8px 10px;font-size:11.5px;font-weight:600;color:#374151;border-bottom:1px solid #f3f4f6}
.zsp .zsl2{padding:4px;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}
.zsp .zsl2:has(> .zgc){max-height:none;overflow:visible}
.zsp .zpk{position:relative;box-sizing:border-box;min-height:25.4px;padding:3px 8px;font-size:13px;line-height:1.35;font-weight:600;cursor:pointer;color:color-mix(in srgb,var(--tc) 42%,black);display:flex;align-items:center;gap:6px}
.zsp .zpkt{position:relative;z-index:3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zsp .zpkc{position:relative;z-index:3;flex:none;font-size:12px}
.zsp .zpk0{padding:10px 8px;font-size:12px;color:#9ca3af;text-align:center}
.zsp .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
.zsp .zb-bg{position:absolute;inset:0;pointer-events:none}
.zsp .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
.zsp .zb-t{left:0;width:100%;top:-3px;height:6px}.zsp .zb-b{left:0;width:100%;bottom:-3px;height:6px}.zsp .zb-l{top:0;height:100%;left:-3px;width:6px}.zsp .zb-r{top:0;height:100%;right:-3px;width:6px}
.zsp .zcnew{padding:6px 6px 7px;border-top:1px solid #f3f4f6}
.zsp .zcadd{width:100%;padding:6px 8px;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 0 rgba(17,24,39,.06);font-size:12px;font-weight:600;color:#374151;cursor:pointer;font-family:inherit}
.zsp .zcnf{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
.zsp .zcnf input{flex:1;min-width:0;font-size:12px;padding:5px 8px;border-radius:8px;background:#f7f8fa;border:1px solid #e5e7eb;color:#111827;outline:none;font-family:inherit}
.zsp .zcnf>button{padding:5px 10px;font-size:12px;font-weight:600;border-radius:8px;background:#e5e7eb;color:#111827;border:none;cursor:pointer;font-family:inherit}
.zsp .zcpal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.zsp .zcpal button{width:20px;height:20px;border-radius:999px;border:1px solid rgba(0,0,0,.08);cursor:pointer;padding:0}
/* zzGcLan(11-09) 구글 캘린더 동기화 창 — 캘린더북 「캘린더 연동」 줄 차례, 모양은 할 일 창 것 그대로(보기 고르기 .zsw-in · 동기화 단추 .zsync button · 빨간 글씨 .zpi.red) */
.zsp .zgc{display:flex;flex-direction:column;gap:7px;padding:6px 6px 7px}
.zsp .zgc-ok{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#1f2937;word-break:break-all}
.zsp .zgc-ok i{flex:none;width:7px;height:7px;border-radius:999px;background:#22c55e}
.zsp .zgc-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11.5px;line-height:1.4;color:#6b7280;word-break:keep-all}
.zsp .zgc-l{font-size:11.5px;font-weight:600;color:#374151;margin-top:2px}
.zsp .zgc-sw{display:flex;align-items:center;align-self:flex-start;padding:2px;border-radius:999px;background-color:rgba(17,24,39,.055)}
.zsp .zgc-sw button{height:26px;padding:0 11px;border-radius:999px;border:none;cursor:pointer;font-size:12.5px;font-weight:700;line-height:1;white-space:nowrap;background-color:transparent;color:rgba(31,41,55,.4);font-family:inherit}
.zsp .zgc-sw button.on{background-color:color-mix(in srgb,#80b7eb 45%,#fff);color:color-mix(in srgb,#80b7eb 60%,black)}
.zsp .zgc-s{font-size:11.5px;line-height:1.4;color:#6b7280;word-break:keep-all}
.zsp .zgc-s b{color:#374151;font-weight:700}
.zsp .zgc-m{font-size:11.5px;line-height:1.4;color:#1f2937;font-weight:600;word-break:keep-all}
.zsp .zgc-b{flex:none;box-sizing:border-box;padding:4px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#f3f4f6;font-size:12px;line-height:16px;color:#6b7280;white-space:nowrap;cursor:pointer;font-family:inherit}
.zsp .zgc-b:hover{color:#111827}
.zsp .zgc-b.pri{padding:6px 8px;color:#374151;font-weight:600}
.zsp .zgc-b:disabled{opacity:.55;cursor:default}
.zsp .zgc-x{align-self:flex-start;padding:2px 0;border:none;background:transparent;color:#b91c1c;font-size:12px;cursor:pointer;font-family:inherit}
.zsp .zcb-li{display:block;width:100%;height:30px;border:0;background:transparent;color-scheme:light}
/* 11-08 할 일 타이머 = 캘린더북 투두 줄 타이머 단추(rowBtn 26 · #8B8F96 · 재는 중 = 잰 시간 11px) */
#todo .ztm{position:relative;z-index:4;flex-shrink:0;width:26px;height:26px;margin:-1px -3px 0 2px;padding:0;border:none;border-radius:8px;background:none;color:#8b8f96;display:flex;align-items:center;justify-content:center;cursor:pointer}
#todo .ztm.on{width:auto;min-width:26px;padding:0 3px;color:color-mix(in srgb,#80b7eb 60%,black)}
#todo .ztmv{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
#todo .zr.zs .ztm{height:20px;margin-top:0}
/* 타이머 창 = 캘린더북 __zzPom 창(data-zz-win · 폭 270 · 「할 일 타이머 | 뽀모도로」) 값 그대로 */
.ztw{position:fixed;z-index:30;width:270px;display:none;filter:drop-shadow(rgba(40,60,90,.28) 0 6px 12px);font-family:Pretendard,system-ui,-apple-system,sans-serif;color:#111827;user-select:none;-webkit-user-select:none}
.ztw.open{display:block}
.ztw button{font-family:inherit;margin:0}
.ztw-in{position:relative;background:#fff;padding:16px;box-sizing:border-box}
.ztw .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
.ztw .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
.ztw .zb-t{left:0;width:100%;top:-3px;height:6px}.ztw .zb-b{left:0;width:100%;bottom:-3px;height:6px}.ztw .zb-l{top:0;height:100%;left:-3px;width:6px}.ztw .zb-r{top:0;height:100%;right:-3px;width:6px}
.ztw-hd{position:relative;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:12px}   /* 11-08 포치 「타이머 창 이름을 일정 블록으로(체크 상자까지) · ✕ 는 블록과 같은 줄」 */
.ztw-blk{flex:1 1 auto;min-width:0}
/* 아래 = 할 일 창 블록 규칙 그대로(#tdmini 것을 복사) */
.ztw-blk .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
.ztw-blk .zb-bg{position:absolute;inset:0;pointer-events:none}
.ztw-blk .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
.ztw-blk .zb-t{left:0;width:100%;top:-3px;height:6px}.ztw-blk .zb-b{left:0;width:100%;bottom:-3px;height:6px}.ztw-blk .zb-l{top:0;height:100%;left:-3px;width:6px}.ztw-blk .zb-r{top:0;height:100%;right:-3px;width:6px}
.ztw-blk .zr{position:relative;display:flex;align-items:center;cursor:grab;transition:margin .13s;box-sizing:border-box;min-height:25.4px;padding:3px 4.2px 3px 8px;font-size:var(--zfs,14px);line-height:1.35;font-weight:600;color:color-mix(in srgb,var(--tc) 42%,black)}
.ztw-blk .zr.dn{cursor:pointer;color:rgba(107,114,128,.8);border:1px solid rgba(17,24,39,.09);opacity:.6}
.ztw-blk .zr.dn .znm{text-decoration:line-through}
.ztw-blk .zck{position:relative;z-index:4;flex-shrink:0;margin:0 6px 0 0;width:17px;height:17px;border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color .12s,border-color .12s;border:1.4px solid rgba(17,24,39,.22);background-color:rgba(255,255,255,.6)}
.ztw-blk .zr.dn .zck{border:1px solid transparent;background-color:color-mix(in srgb,var(--tc) 45%,#fff)}
.ztw-blk .znm{position:relative;z-index:3;flex:1 1 0%;min-width:0;white-space:normal;word-break:break-word}
.ztw-blk .zslot{cursor:pointer;height:34px;flex-shrink:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px dashed rgba(17,24,39,.16);font-size:12px;color:#9ca3af}
.ztw-blk .zr.zs{min-height:20.4px;padding:0 3.6px 0 8px;font-size:calc(var(--zfs,14px) - .5px)}
.ztw-blk .zr.zs .zck{width:15px;height:15px}
.ztw-blk .zsl{display:block;min-width:0;max-width:100%}
.ztw-blk .zslp{display:block;font-size:10.5px;line-height:1.3;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ztw-blk .zslc{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ztw-blk .zr.zs .ztm{height:20px;margin-top:0}
.ztw-blk .zr{cursor:default}
.ztw-x{flex-shrink:0;display:flex;margin-right:-6px;padding:4px;border:none;border-radius:8px;background:none;color:#6b7280;cursor:pointer}
.ztw-x:hover{background:#f7f8fa}
.ztw-task{position:relative;z-index:3;margin:0 0 10px;font-size:13px;font-weight:600;color:#374151;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;text-align:center}
.ztw-est{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 12px}
.ztw-est .l{font-size:12px;color:#9ca3af;white-space:nowrap}
.ztw-est>div{display:flex;align-items:center;justify-content:center;gap:1px}
.ztw-est>div{border:1px solid #efefee;border-radius:10px;padding:2px 4px;background-color:#fbfbfa}
.ztw-est button{border:none;background:transparent;width:22px;height:22px;color:#9ca3af;font-size:14px;line-height:1;cursor:pointer}
.ztw-est button:disabled{cursor:default;opacity:.4}
.ztw-est .v{min-width:58px;text-align:center;font-size:13px;font-weight:600;color:#9ca3af;font-variant-numeric:tabular-nums;white-space:nowrap}
.ztw-est .v.on{color:#111827}
.ztw-big{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;min-height:96px;margin:4px 0 6px}
.ztw-big span{font-size:50px;font-weight:600;letter-spacing:-.03em;line-height:1;color:#111827;font-variant-numeric:tabular-nums}
.ztw-state{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:14px;min-height:22px}
.ztw-state span{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.ztw-state i{width:7px;height:7px;border-radius:99px}
.ztw-state .run{background-color:color-mix(in srgb,#80b7eb 18%,#fff);color:color-mix(in srgb,#80b7eb 65%,black)}.ztw-state .run i{background-color:#80b7eb}
.ztw-state .pause{background-color:#f3f4f6;color:#6b7280}.ztw-state .pause i{background-color:#9ca3af}
.ztw-btns{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.ztw-btns button{height:40px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;border:1px solid #e5e7eb;background-color:#fff;color:#374151}
.ztw-btns button.pri{border:none;background-color:#80b7eb;color:#111827}
.ztw-rs{position:relative;z-index:3;text-align:center}
.ztw-rs button{border:none;background:transparent;padding:4px 8px;font-size:12px;color:#9ca3af;cursor:pointer}
.ztw-go{position:relative;z-index:3;margin-top:6px}   /* 11-08 포치 「타이머 창 안에 오늘 할 일 보러가기」 — 동기화 단추처럼 회색 바탕 */
.ztw-go button{width:100%;height:34px;border:none;border-radius:10px;background-color:#f3f4f6;color:#374151;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
.ztw-go button:hover{background-color:#e5e7eb;color:#111827}
#todo .zgl{position:absolute;left:-16px;width:calc(100% + 32px);top:-3px;height:6px;overflow:visible;pointer-events:none}
#todo .zpl{flex-shrink:0;color:#6b7280}
#todo .zin{flex:1 1 0%;min-width:0;border:none;background:transparent;font-size:12px;line-height:16px;color:#111827;outline:none;letter-spacing:-.015em;padding:1px 0;font-family:inherit}
#todo .zin::placeholder{color:#6b7280}
#todo .zpop{position:absolute;z-index:30;width:206px;padding:6px;box-sizing:border-box;box-shadow:rgba(17,24,39,.14) 0 12px 32px;isolation:isolate}
#todo .zpop>.zb-w{z-index:-1}
#todo .zpi{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:#111827;font-size:14px;line-height:20px;cursor:pointer;transition:background-color .15s}
#todo .zpi:hover{background:#f9fafb}
#todo .zpi.red{color:#b91c1c}
/* 11-08 설정 메뉴 맨 위 「블록 글씨 크기」 = 캘린더북 책갈피 옆 창 ⋯ 메뉴 값 그대로(padding 7 10 9 · 13px · #201E1D · 막대 #8C8887) */
#todo .zfs{display:block;padding:7px 10px 9px;font-size:13px;color:#201e1d;border-bottom:1px solid #f0efec;margin-bottom:2px}
#todo .zfs-h{display:flex;justify-content:space-between;margin-bottom:6px}
#todo .zfs-h b{font-weight:600;font-variant-numeric:tabular-nums}
#todo .zfs input{display:block;width:100%;margin:0;accent-color:#8c8887}
#pom{width:min(250px,calc(100vw - 24px));padding:12px 13px 13px;gap:8px}
#pom .ru{font-size:12.5px;color:var(--mute);line-height:1.4}
#pom .rw2{display:flex;flex-direction:column;gap:6px}
#toast{position:fixed;left:50%;top:60px;transform:translateX(-50%);z-index:40;padding:7px 12px;border-radius:7px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.08);font:600 13px/1.4 var(--f);color:var(--ink2);white-space:nowrap;display:none;pointer-events:none}
/* 오늘 카드 */
#cardw{position:fixed;inset:0;z-index:30;background:rgba(30,27,46,.45);display:none;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
#cardw.open{display:flex}
#cardw .in{position:relative;background:#fff;border-radius:4px;padding:14px;box-sizing:border-box;width:min(400px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px}
#cardw img{display:block;width:100%;height:auto;max-height:calc(100vh - 170px);object-fit:contain;border-radius:3px;background:var(--bg)}
#cardw .rw2{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
/* 문 닫은 뒤(2027-01-02 00:00 한국 시간부터) */
#closed{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}
#closed b{font-size:18px;color:var(--ink)}#closed p{margin:0;font-size:14px;color:var(--mute);line-height:1.6}
@media (max-width:720px){
  #bar{flex-wrap:wrap;row-gap:6px;padding:7px 10px}
  #bar .l{flex:1 1 100%}
  #bar .c{flex:0 0 auto;justify-content:flex-start}
  #bar .r{flex:1 1 auto}
  #bar .tt{font-size:14px}
  #cnt{display:none}
  .lg{display:none}
  #tg{font-size:12.5px}
}
/* 11-07 포치 「맨 위 줄 아예 없애」 */
#bar{display:none!important}
/* 작업실 고르기 창 */
#rooms .bd{display:flex;flex-direction:column;gap:6px;min-width:250px}
#rooms .rw{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:#faf8f3}
#rooms .rw.me{background:#fff6dc}
#rooms .rw b{flex:none;font-size:14px;color:var(--ink);min-width:44px}
#rooms .rw .n{flex:1 1 auto;font-size:12.5px;color:#6b7280}
#rooms .rw .bar{flex:none;width:64px;height:6px;border-radius:3px;background:#ece7dc;overflow:hidden}
#rooms .rw .bar i{display:block;height:100%;background:#9fb58a}
#rooms .rw.full .bar i{background:#e3a6a0}
#rooms .tip{font-size:12px;color:#9ca3af;margin:2px 2px 0}
#rooms{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(17,24,39,.10)}
#rooms .rw .nm{flex:none;min-width:88px;font-size:12.5px;font-weight:600;color:#5b4146}
#rooms .bd{min-width:330px}
/* 11-08 타이머 켜 둔 채 할 일 창을 닫으면 방 「오늘 할 일」 단추 밑에 그 블록(#tdmini) — 아래 규칙은 할 일 창 블록 규칙을 그대로 복사 */
#tdmini{position:fixed;z-index:19;display:none;filter:drop-shadow(rgba(40,60,90,.22) 0 4px 10px);font-family:Pretendard,system-ui,-apple-system,sans-serif;color:#111827;cursor:default;user-select:none;-webkit-user-select:none}
#tdmini.open{display:block}
#tdmini button{font-family:inherit;margin:0}
#tdmini .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
#tdmini .zb-bg{position:absolute;inset:0;pointer-events:none}
#tdmini .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
#tdmini .zb-t{left:0;width:100%;top:-3px;height:6px}#tdmini .zb-b{left:0;width:100%;bottom:-3px;height:6px}#tdmini .zb-l{top:0;height:100%;left:-3px;width:6px}#tdmini .zb-r{top:0;height:100%;right:-3px;width:6px}
#tdmini .zr{position:relative;display:flex;align-items:center;cursor:grab;transition:margin .13s;box-sizing:border-box;min-height:25.4px;padding:3px 4.2px 3px 8px;font-size:var(--zfs,14px);line-height:1.35;font-weight:600;color:color-mix(in srgb,var(--tc) 42%,black)}
#tdmini .zr.dn{cursor:pointer;color:rgba(107,114,128,.8);border:1px solid rgba(17,24,39,.09);opacity:.6}
#tdmini .zr.dn .znm{text-decoration:line-through}
#tdmini .zck{position:relative;z-index:4;flex-shrink:0;margin:0 6px 0 0;width:17px;height:17px;border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color .12s,border-color .12s;border:1.4px solid rgba(17,24,39,.22);background-color:rgba(255,255,255,.6)}
#tdmini .zr.dn .zck{border:1px solid transparent;background-color:color-mix(in srgb,var(--tc) 45%,#fff)}
#tdmini .znm{position:relative;z-index:3;flex:1 1 0%;min-width:0;white-space:normal;word-break:break-word}
#tdmini .zslot{cursor:pointer;height:34px;flex-shrink:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px dashed rgba(17,24,39,.16);font-size:12px;color:#9ca3af}
#tdmini .zr.zs{min-height:20.4px;padding:0 3.6px 0 8px;font-size:calc(var(--zfs,14px) - .5px)}
#tdmini .zr.zs .zck{width:15px;height:15px}
#tdmini .zsl{display:block;min-width:0;max-width:100%}
#tdmini .zslp{display:block;font-size:10.5px;line-height:1.3;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tdmini .zslc{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
#tdmini .ztm{position:relative;z-index:4;flex-shrink:0;width:26px;height:26px;margin:-1px -3px 0 2px;padding:0;border:none;border-radius:8px;background:none;color:#8b8f96;display:flex;align-items:center;justify-content:center;cursor:pointer}
#tdmini .ztm.on{width:auto;min-width:26px;padding:0 3px;color:color-mix(in srgb,#80b7eb 60%,black)}
#tdmini .ztmv{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
#tdmini .zr.zs .ztm{height:20px;margin-top:0}
#tdmini .zr{cursor:pointer}   /* 11-08 포치 「일정 블록도 누를 수 있게 — 누르면 타이머 창」 */
/* 블록 밑 「휴식 / 이어서 시작」 = 타이머 창 「일시정지 / 이어서」 단추 모양(.ztw-btns) */
#todo .ztm.st,#tdmini .ztm.st{width:auto;height:22px;margin:1px 0 0 4px;padding:0 9px;border-radius:7px;background:#f3f4f6;color:#374151;font-size:11.5px;font-weight:700;white-space:nowrap;font-family:inherit}   /* 11-08 포치 「타이머 아이콘 말고 「시작」 이름 버튼」 — 동기화 단추처럼 회색 바탕 */
#todo .ztm.st:hover,#tdmini .ztm.st:hover{background:#e5e7eb;color:#111827}
#todo .zr.zs .ztm.st,#tdmini .zr.zs .ztm.st{height:18px;margin-top:1px;padding:0 7px;font-size:11px;border-radius:6px}
#todo .ztm.had,#tdmini .ztm.had{width:auto;min-width:26px;padding:0 3px}   /* 11-08 포치 「완료 눌러도 해당 일정 시간 타이머는 그대로」: 잰 시간이 있는 할 일은 아이콘 자리에 그 시간(회색) */
#tdmini .zmn-b{margin-top:6px;display:flex;justify-content:flex-end;align-items:flex-start;gap:6px}
#tdmini .zmn-pc{display:flex;flex-direction:column;align-items:flex-end;gap:4px}   /* 11-08 포치 「할 일 집중 시간은 휴식 버튼 밑에 오른쪽 정렬」 */
#tdmini .zmn-b>button.zmn-n{height:32px}
#tdmini .zmn-w{flex:none;font-size:12px;font-weight:600;color:#374151;white-space:nowrap;font-variant-numeric:tabular-nums;-webkit-text-stroke:3px #fff;paint-order:stroke fill;text-shadow:0 0 2px #fff}   /* 11-08 포치 「이어서 시작 / 휴식 버튼 왼쪽에 순업무시간」 — +n 처럼 흰 테두리 */
#tdmini .zmn-w b{font-weight:800}
.zfw{position:fixed;z-index:15;transform:translateX(-50%);font-family:Pretendard,system-ui,-apple-system,sans-serif;font-size:12px;line-height:16px;font-weight:600;color:#374151;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none}   /* 11-08 포치 「할 일 집중 시간은 피로도 박스 밑에 가운데 정렬 · 하얀색 라인 지우고」(흰 테두리 없음) */
.zfw b{font-weight:800}
#todo,.ztw{cursor:default}   /* 11-08 포치 「왜 이렇게 길쭉해? 우측 정렬 · 글씨만큼만」 */
#tdmini .zmn-b button{flex:none;padding:0 12px;height:32px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;border:1px solid #e5e7eb;background-color:#fff;color:#374151;font-family:inherit;margin:0}
#tdmini .zmn-b button.pri{border:none;background-color:#80b7eb;color:#111827}
#tdmini .zmn-b button.zmn-n{padding:0 4px;border:none;background:none;color:#374151;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;-webkit-text-stroke:3px #fff;paint-order:stroke fill;text-shadow:0 0 2px #fff,0 1px 3px rgba(255,255,255,.9)}   /* 11-08 포치 「+1 버튼은 박스로 감싸지 말고 글씨만 · 다른 배경에 묻혀 보이지 않게 하얀 테두리」 */   /* 남은 할 일 수 +n(누르면 할 일 창) — 11-08 포치 「일정 블록 아래 오른쪽에 남은 일정들 숫자로 +n」 */
/* 11-08 포치 「일정 블록 누르면 기존 캘린더북에서 할 일 블록 누르면 나오는 할 일 수정 창」 — 캘린더북 data-zz-win 값(머리 줄 px16 py10 · 본문 px16 py16 · 줄 사이 16 · 칩 11px 둥근 · 제목 15px 회색 바탕 · 입력 14px) */
/* 할 일 수정 창 — 캘린더북 dev-schedule 할 일 창(data-zz-win)을 열어 잰 값(글자 기준 18px: px-4 = 18 · gap-2 = 9 · text-xs = 13.5 · text-sm = 15.75) */
.zed{position:fixed;z-index:31;width:372px;max-width:calc(100vw - 16px);display:none;font-family:Pretendard,system-ui,-apple-system,sans-serif;color:#111827;--acc:#80B7EB;--edi:rgb(126,105,160)}
.zed.open{display:block}
.zed button{font-family:inherit;margin:0}
.zed-in0{position:relative;background:#fff;display:flex;flex-direction:column;max-height:calc(100vh - 16px);box-shadow:0 12px 32px rgba(17,24,39,.14)}
.zed .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
.zed .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
.zed .zb-t{left:0;width:100%;top:-3px;height:6px}.zed .zb-b{left:0;width:100%;bottom:-3px;height:6px}.zed .zb-l{top:0;height:100%;left:-3px;width:6px}.zed .zb-r{top:0;height:100%;right:-3px;width:6px}
.zed-hd{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:11.25px 18px;flex-shrink:0;user-select:none;-webkit-user-select:none}
.zed-hl{position:absolute;left:0;width:100%;bottom:-3px;height:6px;overflow:visible;pointer-events:none}
.zed-x{display:flex;align-items:center;gap:6.75px;border:none;background:none;padding:0;font-size:13.5px;line-height:18px;color:#6B7280;cursor:pointer}.zed-x:hover{color:#111827}
.zed-hr{display:flex;align-items:center;gap:9px}
.zed-tm{display:flex;align-items:center;gap:4.5px;font-size:13.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#6B7280}.zed-tm.on{color:color-mix(in srgb,var(--acc) 60%,black)}
.zed-del{display:flex;padding:6.75px;border:none;border-radius:7px;background:none;color:#6B7280;cursor:pointer}.zed-del:hover{color:#E8826E;background:rgba(232,130,110,.05)}
.zed-bd{position:relative;z-index:3;padding:18px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;min-height:0;scrollbar-width:none}.zed-bd::-webkit-scrollbar{display:none}
.zed-r{display:flex;align-items:center;gap:9px}.zed-r.zed-top{align-items:flex-start}
.zed-ic{display:flex;flex-shrink:0;color:var(--edi)}.zed-ic4{margin-top:4px}.zed-ic5{margin-top:5px}
.zed-wrap{display:flex;align-items:center;gap:6.75px;flex-wrap:wrap;min-width:0}
.zed-cat{display:flex;align-items:center;gap:6.75px;padding:4.5px 11.25px;border-radius:999px;font-size:11px;line-height:16.5px;border:1px solid #E5E7EB;background:#fff;color:#111827;cursor:pointer;white-space:nowrap}
.zed-cat i{width:9px;height:9px;border-radius:999px;background:var(--cc);flex-shrink:0}
.zed-cat:hover{border-color:rgba(17,24,39,.3)}
.zed-cat.on{background:var(--cc);border-color:var(--cc);color:#fff;font-weight:500}.zed-cat.on i{background:rgba(255,255,255,.9)}
span.zed-cat{cursor:default}
.zed-pt{font-size:15.75px;line-height:23px;color:#111827;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zed-cadd{width:27px;height:27px;border-radius:999px;border:1px dashed #E5E7EB;background:#fff;color:#6B7280;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.zed-cadd:hover{color:#111827;border-color:rgba(17,24,39,.4)}
.zed-ncf{display:flex;align-items:center;gap:6.75px;flex-wrap:wrap}
.zed-nci{width:104px;font-size:12px;padding:4.5px 11.25px;border-radius:999px;border:1px solid #E5E7EB;outline:none;color:#111827;font-family:inherit}.zed-nci:focus{border-color:#111827}
.zed-pal{display:flex;align-items:center;gap:4.5px}.zed-pal button{width:16px;height:16px;border-radius:999px;border:1px solid rgba(0,0,0,.08);padding:0;cursor:pointer;flex-shrink:0}
.zed-nca{font-size:12px;padding:4.5px 11.25px;border-radius:999px;border:none;background:#F3F4F6;color:#111827;cursor:pointer}
.zed-ncx{display:flex;padding:4.5px;border:none;background:none;color:rgba(107,114,128,.6);cursor:pointer}.zed-ncx:hover{color:#6B7280}
.zed-tr{gap:0}
.zed-star{flex-shrink:0;width:18px;margin-right:8px;padding:0;border:none;background:none;display:flex;align-items:center;justify-content:center;color:rgba(107,114,128,.55);cursor:pointer}.zed-star:hover{opacity:.7}
.zed-soft{border-color:transparent!important}.zed-soft:hover,.zed-soft:focus{border-color:#D1D5DB!important}
.zed-ti{width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:7px;padding:6.75px 13.5px;background:#F7F8FA;font-size:15px;font-weight:500;line-height:20.625px;letter-spacing:-.225px;color:#111827;resize:none;outline:none;overflow:hidden;font-family:inherit}.zed-ti:hover,.zed-ti:focus{border-color:#D1D5DB}
.zed-in{flex:1;min-width:0;box-sizing:border-box;border:1px solid #E5E7EB;border-radius:7px;padding:6.75px 13.5px;font-size:14px;line-height:22.5px;color:#111827;outline:none;background:#fff;font-family:inherit}
.zed-in::placeholder,.zed-ti::placeholder{color:rgba(107,114,128,.6)}
.zed-in:disabled{background:#fff;cursor:default}
.zed-memo{resize:none;line-height:21.7px;overflow:hidden;width:100%}
.zed-sadd{display:flex;padding:6.75px;border:none;border-radius:7px;background:#F9FAFB;color:#6B7280;cursor:pointer;flex-shrink:0}.zed-sadd:hover{background:#F3F4F6}.zed-sadd:disabled{opacity:.4;cursor:default}
.zed-subs{display:flex;flex-direction:column;gap:6.75px;margin-bottom:9px}
.zed-sub{position:relative;display:flex;align-items:center;gap:9px;padding:0 12px 0 24px}
.zed-sck{width:18px;height:18px;border-radius:4px;border:1px solid #E5E7EB;background:#fff;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;cursor:pointer;color:#fff;box-sizing:border-box}.zed-sck:hover{border-color:var(--cc)}
.zed-sub.dn .zed-sck{background:var(--cc);border-color:var(--cc)}
.zed-st{flex:1;min-width:0;font-size:13.5px;line-height:20.25px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;border-radius:4px;padding:0 4.5px;margin:0 -4.5px}.zed-st:hover{background:#F9FAFB}
.zed-sin{flex:1;min-width:0;font-size:13.5px;border:1px solid #111827;border-radius:7px;padding:2.25px 9px;outline:none;font-family:inherit;color:#111827}
.zed-chs1{display:flex;align-items:center;gap:4.5px;flex-shrink:0}
.zed-ch{height:22px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:4.5px;padding:0 9px;border:1px solid #E5E7EB;border-radius:7px;background:#fff;color:#111827;font-size:11px;line-height:1;cursor:pointer;flex-shrink:0}.zed-ch:hover{border-color:rgba(17,24,39,.4)}
.zed-chr{padding:0 6px;color:#6B7280}.zed-cht{padding:0 4px;color:#6B7280}.zed-chr:hover,.zed-cht:hover{color:#111827}
.zed-bt{flex-shrink:0;font-size:11.5px;font-weight:600;color:#6B7280;white-space:nowrap}
.zed-sx{display:flex;padding:2.25px;border:none;background:none;color:#6B7280;cursor:pointer;opacity:0;flex-shrink:0}.zed-sub:hover .zed-sx{opacity:1}.zed-sx:hover{color:#E8826E}
.zed-g{display:flex;flex-direction:column;gap:9px}
.zed-date{flex:1;min-width:0;height:34px;box-sizing:border-box;text-align:left;border:1px solid #E5E7EB;border-radius:7px;padding:0 13.5px;background:#fff;font-size:14px;line-height:21px;color:#111827;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zed-bt2{flex-shrink:0;font-size:13px;font-weight:600;color:#6B7280;white-space:nowrap;padding:0 2px}
.zed-chs{display:flex;align-items:center;gap:6.75px;padding:2.25px 0 0 23px}
.zed-cb2{height:28px;box-sizing:border-box;display:flex;align-items:center;gap:6.75px;padding:0 11.25px;border:1px solid #E5E7EB;border-radius:7px;background:#fff;color:#6B7280;font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap;flex-shrink:0}.zed-cb2:hover{color:#111827;border-color:rgba(17,24,39,.3)}
.zed-cb2.off{opacity:.45;cursor:default}.zed-cb2.off:hover{color:#6B7280;border-color:#E5E7EB}
.zed-tms{display:flex;align-items:center;gap:4.5px;flex-wrap:nowrap;min-width:0}   /* 11-08 시간 직접 입력 — 캘린더북 시각 칸(76 × 28 · 13.5px) */
.zed-tin{width:76px;height:28px;box-sizing:border-box;border:1px solid #E5E7EB;border-radius:7px;background:#fff;font-size:13.5px;color:#111827;text-align:center;padding:0 4px;outline:none;font-family:inherit}.zed-tin:focus{border-color:#111827}.zed-tin::placeholder{color:rgba(107,114,128,.6)}
.zed-tdash{font-size:11px;color:#6B7280}
.zed-tx{display:flex;padding:2.25px;border:none;background:none;color:rgba(107,114,128,.5);cursor:pointer}.zed-tx:hover{color:#6B7280}
button.zed-bt2{border:none;background:none;cursor:pointer;font-family:inherit;border-radius:6px}button.zed-bt2:hover{background:#F3F4F6}
.zed-bl button.zed-tdir{border-bottom:1px solid #F3F4F6;margin-bottom:2px}
.zed-bl{position:absolute;z-index:6;width:112px;box-sizing:border-box;padding:4.5px 0;background:#fff;border:1px solid #E5E7EB;border-radius:13.5px;box-shadow:0 10px 25px rgba(17,24,39,.14)}
.zed-bl button{display:block;width:100%;text-align:left;padding:4.5px 11.25px;border:none;background:none;font-size:13.5px;line-height:18px;color:#111827;cursor:pointer;white-space:nowrap}.zed-bl button.nb{color:#6B7280}
.zed-bl button:hover{background:#F9FAFB}.zed-bl button.on{background:#F3F4F6;color:#111827}
/* 캘린더북에서만 되는 것을 눌렀을 때 뜨는 작은 창 */
.zcb{position:fixed;z-index:70;width:264px;display:none;font-family:Pretendard,system-ui,-apple-system,sans-serif}
.zcb.open{display:block}
.zcb-in{position:relative;background:#fff;padding:22px 16px 16px;box-shadow:0 12px 32px rgba(17,24,39,.14);text-align:center}
.zcb .zb-w{position:absolute;inset:0;clip-path:inset(-4px);pointer-events:none;z-index:2}
.zcb .zb-w svg{position:absolute;overflow:visible;pointer-events:none}
.zcb .zb-t{left:0;width:100%;top:-3px;height:6px}.zcb .zb-b{left:0;width:100%;bottom:-3px;height:6px}.zcb .zb-l{top:0;height:100%;left:-3px;width:6px}.zcb .zb-r{top:0;height:100%;right:-3px;width:6px}
.zcb-x{position:absolute;top:8px;right:8px;z-index:3;display:flex;padding:4px;border:none;background:none;color:#6B7280;cursor:pointer}.zcb-x:hover{color:#111827}
.zcb p{position:relative;z-index:3;margin:0 0 14px;font-size:13.5px;line-height:1.5;color:#374151;word-break:keep-all}
.zcb-go{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;height:34px;border-radius:10px;background:#f3f4f6;color:#374151;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.zcb-go:hover{background:#e5e7eb;color:#111827}
