/* Overview2: 반기·분기·월 목표(작게 한 줄) → 주 목표 카드 → 주 목표별 액션 포인트 */
.home-goals-page{--hg-ink:#392c23;--hg-muted:#817362;--hg-line:#eae4da;--hg-soft:#f7f3ed;--hg-orange:#ff7900;--hg-orange-ink:#9b4d0c}
body.home-page:has(.home-goals-page) #wrap{background:#faf9f7;padding-bottom:20px}
#panelHome.home-goals-page{padding-bottom:0}
.hg-no-actions{font-size:12px;color:var(--hg-muted);line-height:1.6;margin:6px 0}
#homeEditor.home-goal-editor{--hg-ink:#392c23;--hg-muted:#817362;--hg-line:#eae4da;--hg-soft:#f7f3ed;position:fixed;inset:0 0 0 auto;width:min(560px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0;padding:0;border:0;border-left:1px solid var(--hg-line);border-radius:16px 0 0 16px;background:#fffdf9;color:var(--hg-ink);box-sizing:border-box;overflow-y:auto}
#homeEditor.home-goal-editor::backdrop{background:#20212435;backdrop-filter:blur(2px)}
.home-goal-editor .home-dialog-head,.home-goal-editor .home-dialog-foot{background:#fffdf9;padding:20px 24px}
.home-goal-editor .home-dialog-head{align-items:center}
.home-goal-editor .home-dialog-head h2{font-size:21px;margin-top:5px}
.home-goal-editor .home-dialog-body{padding:22px 24px}
.home-goal-editor .home-field{font-size:12px;color:#817362;margin-bottom:16px}
.home-goal-editor .home-field input,.home-goal-editor .home-field select,.home-goal-editor .home-field textarea{font-size:14px;color:#392c23;border-color:#eae4da}
.home-goal-editor .home-field textarea{min-height:90px}
.hg-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-goal-editor .hg-period{margin:0;flex-wrap:nowrap}
.home-goal-editor .hg-period input,.home-goal-editor .hg-period select{padding:10px 8px;font-size:13px;background:#fff}
.home-goal-editor .hg-period input[type=number]{width:85px}
.hg-editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 12px}
.hg-editor-section-head h3{font-size:13px;letter-spacing:.025em;margin:0;font-weight:650}
.hg-editor-section-head h3 small{font-size:12px;font-weight:400;color:#817362;margin-left:6px}
#panelHome .hg-editor-section-head button{font-size:12px;padding:5px 8px;color:#9b4d0c;border:1px solid #eae4da;background:#fff4dd;border-radius:6px}
.hg-editor-row{border-bottom:1px solid #eae4da;padding:10px 0}
.hg-editor-row-main{display:flex;align-items:flex-start;gap:9px}
.hg-editor-row-main input[type=checkbox]{accent-color:#ff7900;flex:none;width:16px;height:16px;margin:11px 0 0}
.hg-editor-row-main input[data-row-title]{flex:1;min-width:0;padding:8px 9px;border:1px solid #eae4da;border-radius:7px;background:#fff;color:#392c23;font:inherit;font-size:14px;box-sizing:border-box}
#panelHome .hg-editor-row-main button{border:0;background:transparent;font-size:22px;color:#817362;padding:3px 5px;line-height:1.5}
.hg-editor-row-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:9px 0 0 25px}
.hg-editor-row-meta input{width:100%;min-width:0;font:inherit;font-size:12px;border:1px solid #eae4da;border-radius:6px;padding:6px 8px;color:#817362;background:#fff;box-sizing:border-box}
.home-goal-editor .home-dialog-foot .hg-delete{margin-right:auto;color:#b6404e;border-color:#f1d7da}
.home-goal-editor input:disabled,.home-goal-editor textarea:disabled,.home-goal-editor select:disabled{opacity:1;color:#655645;background:#faf8f5}
@media(max-width:760px){.hg-editor-grid{grid-template-columns:minmax(0,1fr)}.hg-editor-row-meta{grid-template-columns:minmax(0,1fr)}.home-goal-editor .home-dialog-head,.home-goal-editor .home-dialog-foot,.home-goal-editor .home-dialog-body{padding:16px}.home-goal-editor .home-field input,.home-goal-editor .home-field select,.home-goal-editor .home-field textarea,.hg-editor-row-main input[data-row-title],.hg-editor-row-meta input{font-size:16px}}

.ov2{--ov2-ink:#2b2838;--ov2-muted:#7c7790;--ov2-faint:#9a95a8;--ov2-week:#2F7FC1;--ov2-week-tint:#E9F2FD;color:var(--ov2-ink);font-size:14px;max-width:1280px}
.ov2 .halfyearly{--ac:#7A5AC8;--tint:#F1EDFD;--deep:#55369F}.ov2 .quarterly{--ac:#23968B;--tint:#E7F7F3;--deep:#14695F}.ov2 .monthly{--ac:#D9722B;--tint:#FFF2E6;--deep:#A9501A}
.ov2-week{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:6px 8px;box-shadow:0 2px 10px rgba(43,40,56,.06)}
#panelHome .ov2-week button{border:0;background:#f3f1f7;border-radius:50%;width:28px;height:28px;padding:0;color:#6d6880;display:grid;place-items:center;line-height:0}
#panelHome .ov2-week .ov2-today{width:auto;border-radius:999px;padding:0 10px;font-size:12px;color:var(--ov2-week)}
.ov2-week b{font-size:13px;color:var(--ov2-week);white-space:nowrap}.ov2-week span{font-size:13px;color:#4f4a60;font-weight:700;white-space:nowrap}
.ov2-minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ov2-mini{background:var(--tint);border-radius:16px;padding:12px 14px;min-width:0}
.ov2-mini-head{display:flex;align-items:center;gap:8px;font-size:12px}
.ov2-mini-head h3{margin:0;color:var(--ac);font-size:16px;font-weight:800}.ov2-mini-head span{color:#8a8598;font-size:12.5px}
#panelHome .ov2-mini-head button{margin-left:auto;border:0;background:transparent;color:var(--ac);font-size:17px;line-height:1;padding:0 2px}
.ov2-mini-count{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--ac);background:#fff;border-radius:8px;padding:2px 8px}
.ov2-mini-row{display:flex;gap:8px;margin-top:8px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.ov2-mini-row::-webkit-scrollbar{display:none}
#panelHome .ov2-chip{display:flex;align-items:center;gap:8px;background:#fff;border:0;border-radius:10px;padding:6px 10px;min-width:0;flex:0 1 auto;color:var(--ov2-ink);font:inherit;cursor:pointer}
.ov2-chip b{font-size:13.5px;flex:none}.ov2-chip em{font-style:normal;font-size:11.5px;color:var(--ac);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ov2-ring{width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--ac) calc(var(--p)*1%),#eeebf4 0);flex:none}
.ov2-section{margin-top:26px}
.ov2-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ov2-week-head{justify-content:flex-start;gap:16px}
.ov2-section-head h3{margin:0;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}
.ov2-section-head h3 small{font-size:12px;color:var(--ov2-faint);font-weight:500}
#panelHome .ov2-section-head h3 .ov2-count{font-size:12px;font-weight:800;border-radius:8px;padding:2px 8px;min-width:24px;text-align:center;line-height:1.5;box-sizing:border-box}
.ov2-count.week{background:#DDEEFC;color:#2F7FC1}.ov2-count.act{background:#ECE6FB;color:#6B4FC0}
.ov2-state{flex:none;margin-top:2px;font-size:11px;font-weight:700;letter-spacing:0;padding:3px 9px;border-radius:999px;background:var(--ov2-week-tint);color:var(--ov2-week)}
.ov2-state.todo{background:#E3EEFC;color:#2F6FC1}.ov2-state.doing{background:#E2F6EC;color:#1F8A55}.ov2-state.done{background:#FDE4E4;color:#D04545}
.ov2-track{height:6px;background:#eeebf4;border-radius:999px;overflow:hidden;margin-top:10px}
.ov2-track span{display:block;height:100%;background:var(--ov2-week);border-radius:999px}
.ov2-owner{background:#FFF4CC;color:#946500;border-radius:999px;padding:3px 10px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov2-due{background:#FCE7F3;color:#B83D7F;border-radius:999px;padding:3px 10px;font-weight:700;white-space:nowrap;flex:none}.ov2-due.late{background:#FDE4E4;color:#D04545}
.ov2-owner::before{content:'👤 '}.ov2-due::before{content:'⏰ '}
.ov2-done-field{display:flex;align-items:center;gap:8px;font-size:14px;color:#392c23;margin-bottom:16px}.ov2-done-field input{accent-color:#2F7FC1;width:16px;height:16px}
.ov2-empty{font-size:12.5px;color:var(--ov2-faint);margin:6px 0}.ov2-empty.wide{background:#fff;border-radius:16px;padding:18px}
.ov2 button:disabled{cursor:default;opacity:.55}
.ov2 button:focus-visible,.ov2 input:focus-visible{outline:2px solid #df864e;outline-offset:3px}
@media(max-width:1150px){.ov2-minis{grid-template-columns:minmax(0,1fr)}}
.ov2-rev{background:#fff;border-radius:14px;padding:12px 14px 10px;margin-top:8px}
.ov2-rev-top{display:flex;justify-content:space-between;align-items:center;min-height:24px}
.ov2-rev-top small,#panelHome .ov2-rev-label{font-size:11.5px;color:#8a8598;font-weight:700}
#panelHome .ov2-rev-label{border:0;background:transparent;padding:0;cursor:pointer}#panelHome .ov2-rev-label:hover{color:var(--ac)}
.ov2-rev-top b{font-size:20px;font-weight:800;color:var(--ac)}
.ov2-rev-num{font-size:12.5px;color:#6d6880;margin-top:1px;min-height:28px}.ov2-rev-num strong{font-size:20px;font-weight:800;color:var(--ov2-ink)}
.ov2-rev-wait{font-size:12.5px;color:var(--ov2-faint)}
#panelHome .ov2-rev-wait button{border:0;background:transparent;color:var(--ac);font-weight:700;font-size:12px;padding:0 0 0 4px;cursor:pointer}
.ov2-rev-bar{position:relative;height:10px;background:#eeebf4;border-radius:999px;margin-top:9px}
.ov2-rev-bar span{display:block;height:100%;background:var(--ac);border-radius:999px}
.ov2-rev-bar i{position:absolute;top:-4px;width:2px;height:18px;margin-left:-1px;background:var(--ov2-ink);border-radius:2px;opacity:.55}
.ov2-rev-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--ov2-faint);margin-top:6px}
#panelHome .ov2-rev-set{display:block;width:100%;margin-top:8px;border:1.5px dashed var(--ac);background:transparent;border-radius:10px;padding:8px;color:var(--ac);font-weight:700;font-size:12.5px;cursor:pointer;opacity:.85}
.ov2-rev-preview{font-size:13px;color:#392c23;font-weight:700;margin:-8px 0 8px;min-height:18px}
.ov2-rev-note{font-size:12px;color:#817362;line-height:1.6;margin:0 0 8px}
.home-goal-editor .hg-editor-title,.home-goal-view .hg-editor-title{font-size:22px;font-weight:800;color:#1f1a17;margin:0}
#homeEditor.home-goal-view{width:min(600px,calc(100vw - 36px));border:0;border-radius:22px;background:#fffdf9;color:#2b2838;box-shadow:0 20px 60px rgba(0,0,0,.18)}
#homeEditor.home-goal-view::backdrop{background:#20212435;backdrop-filter:blur(2px)}
.home-goal-view .home-dialog-head,.home-goal-view .home-dialog-foot{background:#fffdf9;padding:20px 24px}
.home-goal-view .home-dialog-body{padding:22px 24px}
.home-goal-view .gv-push{margin-left:auto}
.gv-title{font-size:24px;font-weight:800;margin:0 0 12px;color:#2b2838;overflow-wrap:anywhere}
.gv-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;margin-bottom:22px}.gv-chips .ov2-state{margin:0}
.gv-sec{margin-bottom:22px}.gv-sec:last-child{margin-bottom:0}
.gv-sec h4{font-size:14px;font-weight:800;margin:0 0 10px;display:flex;gap:8px;align-items:center;color:#2b2838}
.gv-sec h4 .ov2-count{font-size:12px;font-weight:800;border-radius:8px;padding:2px 8px;min-width:24px;text-align:center;box-sizing:border-box}
.gv-row{font-size:14px;padding:9px 2px;border-bottom:1px dashed #ebe7f0;overflow-wrap:anywhere}
.gv-act{display:flex;gap:6px;align-items:center;font-size:13px;padding:8px 2px;border-bottom:1px dashed #ebe7f0}
.gv-act>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.gv-act.done>span:first-child{color:#bdb8c8}.gv-act.done .ov2-owner,.gv-act.done .ov2-due{opacity:.5}
.gv-act .ov2-owner,.gv-act .ov2-due{font-size:11.5px;padding:2px 9px}
.gv-empty{font-size:13px;color:#9a95a8;margin:4px 0}
#homeEditor.home-goal-editor.home-goal-popup{position:fixed;inset:0;margin:auto;width:min(600px,calc(100vw - 36px));height:fit-content;max-height:88vh;border:0;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.home-goal-view .home-dialog-head,.home-goal-popup .home-dialog-head{margin-bottom:0;padding:16px 24px}
.home-goal-view .home-dialog-body,.home-goal-popup .home-dialog-body{padding-top:16px}
.ov2-dday{flex:none;font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;background:#f1eff6;color:#5f5a70;margin-top:1px}
.ov2-dday.soon{background:#FFEBD6;color:#C9682E}.ov2-dday.late{background:#FDE4E4;color:#D04545}.ov2-dday.done{background:#f3f3f5;color:#a5a1b0}
.hg-owner-pick{position:relative;font-size:14px;font-weight:400}
.hg-owner-pick summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #eae4da;border-radius:8px;padding:10px 12px;background:#fff;color:#392c23;min-height:20px}
.hg-owner-pick summary::-webkit-details-marker{display:none}.hg-owner-pick summary::after{content:'▾';color:#817362}
.hg-owner-empty{color:#b0a593}
.hg-owner-menu{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #eae4da;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08);padding:6px}
.hg-owner-menu label{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:#392c23;cursor:pointer}
.hg-owner-menu label:hover{background:#f7f3ed}.hg-owner-menu input{accent-color:#ff7900;width:16px;height:16px;margin:0}
.hg-owner-menu small{margin-left:auto;font-size:11px;color:#b0a593}
/* 리스트·캘린더 (Asana 리스트형) */
.ol-dot{color:#c3bfcc;font-weight:400}
.ol-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.ol-tabs{display:flex;background:#efedf3;border-radius:10px;padding:3px}
#panelHome .ol-tabs button{border:0;background:none;font:inherit;font-size:13px;padding:6px 12px;border-radius:8px;color:#6d6880;cursor:pointer}
#panelHome .ol-tabs button[aria-selected="true"]{background:#fff;color:var(--ov2-ink);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.ol-f{display:inline-flex;align-items:center;gap:6px;border:1px solid #e4e0ec;background:#fff;border-radius:8px;padding:5px 10px;font-size:12.5px;color:#6d6880}
.ol-f select{border:0;background:transparent;font:inherit;font-weight:700;color:var(--ov2-ink);cursor:pointer;padding:0}
.ol-f input{accent-color:var(--ov2-week);margin:0}
#panelHome .ol-newgoal{margin-left:auto;border:0;background:var(--ov2-week);color:#fff;border-radius:8px;padding:7px 14px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.ol-table{background:#fff;border:1px solid #e9e6ef;border-radius:14px;overflow:hidden}
.ol-row{display:grid;grid-template-columns:minmax(240px,1fr) 110px 340px 120px 76px minmax(120px,.5fr);align-items:stretch;border-top:1px solid #f0edf5;font-size:13.5px;min-height:42px}
.ol-row>span{padding:6px 12px;border-left:1px solid #f0edf5;display:flex;align-items:center;min-width:0}.ol-row>span:first-child{border-left:0}
.ol-th{border-top:0;background:#faf9fc;font-size:12px;color:#8a8598;font-weight:700;min-height:36px}
.ol-name{gap:10px;padding-left:38px!important}
.ol-name input{accent-color:var(--ov2-week);width:15px;height:15px;margin:0;flex:none;cursor:pointer}
.ol-title{display:flex;flex-direction:column;min-width:0}.ol-title small{font-size:11.5px;color:#9a95a8}
#panelHome .ol-title button{border:0;background:transparent;padding:0;font:inherit;font-weight:600;color:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
#panelHome .ol-title button:hover{color:var(--ov2-week)}
#panelHome .ol-row.done .ol-title button,.ol-row.done .ol-title small,.ol-row.done .ol-memo{color:#bdb8c8}
.ol-row.done .ov2-owner,.ol-row.done .ov2-due,.ol-row.done .ov2-dday,.ol-row.done .ol-name input{opacity:.5}
.ol-row .ov2-owner,.ol-row .ov2-due{font-size:12px;padding:2px 9px}
.ol-memo{color:#6d6880;font-size:12.5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block!important;line-height:30px}.ol-memo i{color:#c3bfcc;font-style:normal}
.ol-sec-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f7f9fd;border-top:1px solid #e6edf6;font-size:14px}
.ol-sec:first-of-type .ol-sec-head{border-top-color:#f0edf5}
#panelHome .ol-tog{border:0;background:none;color:#8a8598;font-size:11px;width:16px;padding:0;cursor:pointer}
#panelHome .ol-goal{border:0;background:none;padding:0;font:inherit;font-weight:800;color:var(--ov2-ink);cursor:pointer}#panelHome .ol-goal:hover{color:var(--ov2-week)}
.ol-gname{font-weight:800}
.ol-sec-head .ov2-state{margin:0}.ol-sec-head small{color:#8a8598}
.ol-prog{width:90px;height:6px;background:#e6e9f1;border-radius:9px;overflow:hidden;flex:none}.ol-prog i{display:block;height:100%;background:var(--ov2-week)}
#panelHome .ol-add{display:block;width:100%;text-align:left;border:0;border-top:1px solid #f0edf5;background:#fff;padding:9px 14px 9px 63px;font:inherit;font-size:13px;color:#9a95a8;cursor:pointer}#panelHome .ol-add:hover{color:var(--ov2-week);background:#fafcff}
#panelHome .ol-newsec{display:block;width:100%;text-align:left;border:0;border-top:1px solid #e6edf6;background:#fff;padding:12px 14px;font:inherit;font-size:13px;color:var(--ov2-week);font-weight:700;cursor:pointer}
.ol-empty{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:18px;color:var(--ov2-faint);font-size:13px;margin:0}
.oc-legend{display:flex;gap:14px;align-items:center;margin:0 0 10px;font-size:12.5px;flex-wrap:wrap}
#panelHome .oc-legend button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;font:inherit;color:#4f4a60;cursor:pointer}.oc-legend i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.oc-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e9e6ef;border-radius:14px;overflow:hidden;background:#fff}
.oc-day{border-left:1px solid #f0edf5;min-height:360px;padding:8px;display:flex;flex-direction:column;gap:6px;min-width:0}.oc-day:first-child{border-left:0}
.oc-day.weekend{background:#fbfafc}.oc-day.today{background:#f4f8fe}
.oc-date{display:flex;align-items:baseline;gap:5px;margin-bottom:4px}.oc-date b{font-size:18px}.oc-date span{font-size:12px;color:#8a8598}
.oc-date em{font-style:normal;font-size:11px;color:#fff;background:var(--ov2-week);border-radius:6px;padding:1px 6px;margin-left:auto}
.oc-ev{display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);border-radius:8px;padding:7px 8px 7px 26px;position:relative;font-size:12.5px}
.oc-ev input{position:absolute;left:7px;top:8px;margin:0;accent-color:var(--c);cursor:pointer}
#panelHome .oc-ev button{border:0;background:none;padding:0;font:inherit;font-weight:700;line-height:1.35;color:var(--ov2-ink);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.oc-ev small{font-size:11px;color:#8a8598}#panelHome .oc-ev.done button,.oc-ev.done small{color:#bdb8c8}.oc-ev.done{opacity:.6}
#panelHome .oc-flag{border:0;font:inherit;font-size:11.5px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border-radius:6px;padding:4px 7px;text-align:left;cursor:pointer}
#panelHome .oc-add{margin-top:auto;border:0;background:none;color:#c3bfcc;font-size:15px;cursor:pointer;padding:4px}#panelHome .oc-add:hover{color:var(--ov2-week)}
.oc-outside{font-size:12.5px;color:var(--ov2-faint);margin:8px 2px 0}
.ol-cal{margin-left:-4px}
#panelHome .ol-cal button[aria-pressed="true"]{background:#fff;color:var(--ov2-ink);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.om-grid{border:1px solid #e9e6ef;border-radius:14px;overflow:hidden;background:#fff}
.om-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#faf9fc;border-bottom:1px solid #f0edf5}.om-head span{padding:7px 10px;font-size:12px;color:#8a8598;font-weight:700}
.om-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.om-day{min-height:118px;border-left:1px solid #f0edf5;border-top:1px solid #f0edf5;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.om-day:nth-child(7n+1){border-left:0}.om-day:nth-child(-n+7){border-top:0}
.om-day.weekend{background:#fbfafc}.om-day.today{background:#f4f8fe}.om-day.out{background:#fafafa}.om-day.out .om-date b{color:#c9c5d3}
.om-date{display:flex;align-items:center;gap:5px;min-height:22px}.om-date b{font-size:13px}
.om-date em{font-style:normal;font-size:10.5px;color:#fff;background:var(--ov2-week);border-radius:6px;padding:1px 5px}
#panelHome .om-add{margin-left:auto;border:0;background:none;color:transparent;font-size:14px;padding:0 3px;cursor:pointer}
.om-day:hover .om-add{color:#b9b4c6}#panelHome .om-add:hover,#panelHome .om-add:focus-visible{color:var(--ov2-week)}
.om-ev{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);border-radius:6px;padding:3px 6px;font-size:12px;min-width:0}
.om-ev input{margin:0;accent-color:var(--c);width:12px;height:12px;flex:none;cursor:pointer}
#panelHome .om-ev button{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--ov2-ink);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#panelHome .om-ev.done button{color:#bdb8c8}.om-ev.done{opacity:.6}
#panelHome .ol-cell{border:0;background:none;padding:3px 4px;margin:-3px -4px;border-radius:8px;font:inherit;cursor:pointer;text-align:left;max-width:100%;min-width:0;display:flex}
#panelHome .ol-cell:hover,#panelHome .ol-cell[aria-expanded="true"]{background:#f3f1f8}
.ol-ph{font-size:12px;color:#c3bfcc}.ol-row:hover .ol-ph{color:#9a95a8}
.ol-pop{position:fixed;z-index:2000;background:#fff;border:1px solid #e4e0ec;border-radius:12px;box-shadow:0 12px 32px rgba(43,40,56,.16);padding:6px;min-width:190px;font-size:13.5px;color:#2b2838}
.ol-pop label{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer}.ol-pop label:hover{background:#f5f3f9}
.ol-pop label input{accent-color:#2F7FC1;width:15px;height:15px;margin:0}.ol-pop label small{margin-left:auto;font-size:11px;color:#b0aabd}
.ol-pop.ol-pop-cal{min-width:0;width:236px;padding:8px}
.ol-mc-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 6px}.ol-mc-head b{font-size:13px}
.ol-mc-head button{border:0;background:#f3f1f7;border-radius:50%;width:24px;height:24px;font-size:15px;line-height:1;color:#6d6880;cursor:pointer}
.ol-mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ol-mc-dow{font-size:10.5px;color:#9a95a8;text-align:center;padding:2px 0 4px}
.ol-mc-grid button{border:0;background:none;border-radius:8px;height:29px;font:inherit;font-size:12.5px;color:#2b2838;cursor:pointer}
.ol-mc-grid button:hover{background:#eef4fc}.ol-mc-grid button.out{color:#c9c5d3}
.ol-mc-grid button.today{box-shadow:inset 0 0 0 1.5px #2F7FC1;color:#2F7FC1;font-weight:700}
.ol-mc-grid button.sel{background:#2F7FC1;color:#fff;font-weight:700}
/* 오늘 할 일 */
.td-date{display:inline-block;font-size:13px;color:#fff;background:#6D3FD6;font-weight:800;border-radius:999px;padding:2px 11px;margin-right:4px;vertical-align:middle}
#panelHome .ov2-section-head h3 .ov2-count.td{background:#FFF4CC;color:#946500}
.td-card{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:10px 14px}
.td-sum{display:flex;align-items:center;gap:12px}.td-sum>div:last-child{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#6d6880}.td-sum>div:last-child b{font-size:14px;color:var(--ov2-ink)}
.td-ring{width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--ov2-week) calc(var(--p)*1%),#eceff5 0);display:grid;place-items:center;position:relative;flex:none}
.td-ring::before{content:'';position:absolute;inset:6px;border-radius:50%;background:#fff}.td-ring b{position:relative;font-size:12.5px}
.td-lists{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border-left:1px solid #f0edf5;padding-left:16px;min-width:0}
.td-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;min-width:0}
.td-row input{accent-color:var(--ov2-week);width:15px;height:15px;margin:0;flex:none;cursor:pointer}
#panelHome .td-title{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ov2-ink);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panelHome .td-title:hover{color:var(--ov2-week)}
.td-row .ov2-owner{font-size:11px;padding:1px 7px;flex:none}
.td-time{font-size:11.5px;font-weight:700;color:#3d5a80;background:#E9F2FD;border-radius:6px;padding:2px 7px;white-space:nowrap}
.td-row #panelHome .ol-cell,.td-row .ol-cell{flex:none;margin:-3px -2px}
#panelHome .td-row.done .td-title{color:#bdb8c8}.td-row.done .ov2-owner,.td-row.done .td-time,.td-row.done input{opacity:.5}
.td-empty{font-size:13px;color:var(--ov2-faint);margin:6px 0}
#panelHome .td-add{color:var(--ov2-week);font:inherit;font-weight:700;font-size:12.5px;border:1.5px dashed #d6e3f1;background:#fff;border-radius:10px;padding:8px 12px;white-space:nowrap;cursor:pointer}
.ol-pop.ol-pop-time{min-width:0;width:236px;padding:8px}
.ol-tm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;max-height:220px;overflow:auto}
.ol-tm-grid button{border:0;background:#faf9fc;border-radius:7px;padding:6px 0;font:inherit;font-size:12px;color:#2b2838;cursor:pointer}
.ol-tm-grid button:hover{background:#eef4fc}.ol-tm-grid button.sel{background:#2F7FC1;color:#fff;font-weight:700}
.ol-tm-clear{display:block;width:100%;margin-top:6px;border:0;background:none;font:inherit;font-size:12px;color:#c24545;cursor:pointer;padding:4px}
.td-routine{background:#fffbea;border-radius:8px;padding:4px 6px;margin:0 -6px}
.td-rtitle{display:flex;align-items:center;gap:5px;cursor:default!important}.td-repeat{font-size:11px}
.om-who{margin-left:auto;font-size:10.5px;font-weight:600;background:#FFF4CC;color:#946500;border-radius:999px;padding:1px 6px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
#panelHome .om-ev button{flex:1 0 auto;max-width:calc(100% - 18px)}
.ov2-team{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}
.ov2-team.t-0{background:#ECE6FB;color:#6B4FC0}.ov2-team.t-1{background:#DDF4EE;color:#1F8A75}.ov2-team.t-2{background:#FDE9DA;color:#C9682E}.ov2-team.t-3{background:#E3F4FB;color:#1C7FA6}
.ov2-prod{font-size:11px;font-weight:600;color:#6d6880;background:#f3f1f7;border-radius:6px;padding:2px 7px;white-space:nowrap}
.ol-row.done .ov2-team{opacity:.5}
.ol-pop.ol-pop-team{min-width:0;width:140px;display:flex;flex-direction:column;gap:2px}
.ol-pop-team button{border:0;background:none;text-align:left;padding:6px 8px;border-radius:8px;cursor:pointer;font:inherit}.ol-pop-team button:hover{background:#f5f3f9}.ol-pop-team button.sel{background:#eef4fc}
/* 제품별 목표 · 내 업무 · 매일 업무 관리 */
.pg-head h2,.mn-head h2{margin:0;font-size:20px;font-weight:800}.pg-head p{margin:4px 0 0;font-size:13px;color:var(--ov2-faint)}
.pg-head{margin-bottom:14px}
.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
.pg-card{background:#fff;border:1px solid #e9e6ef;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.pg-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:6px;border-bottom:1px solid #f0edf5}.pg-card header b{font-size:15px}.pg-card header small{font-size:11.5px;color:var(--ov2-faint);white-space:nowrap}
.pg-sub{font-size:11.5px;font-weight:800;color:#8a8598;margin-top:6px}
.pg-goal,.pg-week{display:flex;align-items:center;gap:6px;font-size:13px;padding:3px 0;min-width:0}
#panelHome .pg-goal button,#panelHome .pg-week button,#panelHome .pg-loose button{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ov2-ink);text-align:left;cursor:pointer;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panelHome .pg-goal button:hover,#panelHome .pg-week button:hover{color:var(--ov2-week)}
.pg-goal .ov2-state{margin:0;flex:none}.pg-goal .ov2-due{font-size:11px;padding:1px 7px;flex:none}.pg-goal small,.pg-week small{font-size:11px;color:var(--ov2-faint);flex:none}
.pg-week .ol-prog{width:60px}
.pg-empty{font-size:12px;color:#b5b0c2;margin:2px 0}
#panelHome .pg-add{align-self:flex-start;border:0;background:none;padding:2px 0;font:inherit;font-size:12.5px;font-weight:700;color:var(--ov2-week);cursor:pointer}
.pg-loose{margin-top:14px;background:#fff;border:1px dashed #e4e0ec;border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:4px}
.hg-products{border:0;padding:0;margin:0 0 16px}.hg-products legend{padding:0;margin-bottom:8px}
.hg-products>div{display:flex;flex-wrap:wrap;gap:6px}.hg-products label{display:inline-flex;align-items:center;gap:5px;border:1px solid #eae4da;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:500;color:#392c23;cursor:pointer;background:#fff}
.home-goal-editor .hg-products input{width:15px!important;height:15px;padding:0!important;flex:none}
.hg-products label{white-space:nowrap}
.hg-products label:has(input:checked){background:#E9F2FD;border-color:#bcd6f1;color:#2F7FC1;font-weight:700}.hg-products input{margin:0;accent-color:#2F7FC1}
.mn-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.mn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.mn-stat{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:10px 14px;display:flex;align-items:baseline;gap:8px}.mn-stat b{font-size:22px}.mn-stat span{font-size:12.5px;color:#6d6880}
.mn-stat.late b{color:#D04545}.mn-stat.today b{color:#2F7FC1}.mn-stat.done b{color:#1F8A55}
.mn-groups{display:flex;flex-direction:column;gap:12px}
.mn-group{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:8px 14px}.mn-group.late{border-color:#f5d0d0}.mn-group.today{border-color:#cfe0f3}
.mn-group h4{margin:4px 0 4px;font-size:13.5px}.mn-group h4 small{color:var(--ov2-faint);font-weight:500}
.mn-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #f3f1f7;font-size:13.5px;min-width:0}.mn-group h4+.mn-row,.mn-group h4+.td-row{border-top:0}
.mn-row input{accent-color:var(--ov2-week);width:15px;height:15px;margin:0;flex:none;cursor:pointer}
.mn-title{flex:1;min-width:0;display:flex;flex-direction:column}.mn-title small{font-size:11.5px;color:#9a95a8}
#panelHome .mn-title button{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ov2-ink);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#panelHome .mn-title button:hover{color:var(--ov2-week)}
.mn-row .ov2-due{font-size:11.5px;padding:2px 8px}.mn-row .ov2-team{font-size:11px;padding:1px 8px}
#panelHome .mn-row.done .mn-title button{color:#bdb8c8}.mn-row.done .ov2-team,.mn-row.done .ov2-due,.mn-row.done .ov2-dday,.mn-row.done input{opacity:.5}
.mn-group .td-routine{margin:2px 0}
#panelHome .td-manage{margin-left:auto;border:1px solid #e4e0ec;background:#fff;border-radius:8px;padding:5px 10px;font:inherit;font-size:12px;color:#6d6880;cursor:pointer}#panelHome .td-manage:hover{color:var(--ov2-week)}
#homeEditor.home-routine{width:min(720px,calc(100vw - 36px))}
.rt-help{font-size:12.5px;color:#817362;margin:0 0 12px}
.rt-row{display:grid;grid-template-columns:minmax(120px,1fr) 92px 100px auto 28px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eae4da}
.rt-row input[data-rt-title],.rt-row select{font:inherit;font-size:13.5px;border:1px solid #eae4da;border-radius:8px;padding:7px 9px;background:#fff;color:#392c23;min-width:0}
.rt-days{display:flex;gap:2px}.rt-days label{cursor:pointer}.rt-days input{position:absolute;opacity:0;pointer-events:none}
.rt-days span{display:grid;place-items:center;width:24px;height:26px;border-radius:7px;font-size:12px;color:#9a95a8;background:#faf8f5}
.rt-days input:checked+span{background:#2F7FC1;color:#fff;font-weight:700}.rt-days input:focus-visible+span{outline:2px solid #df864e}
#panelHome .rt-row button[data-rt-remove]{border:0;background:none;font-size:20px;color:#817362;cursor:pointer;padding:0}
#panelHome .rt-add{margin-top:10px;border:1px solid #eae4da;background:#fff4dd;border-radius:7px;padding:6px 10px;font:inherit;font-size:12.5px;color:#9b4d0c;cursor:pointer}
/* Overview 제품별 목표 줄 */
#panelHome .pc3-all{border:0;background:none;font:inherit;font-size:12.5px;font-weight:700;color:var(--ov2-week);cursor:pointer;margin-left:auto}
.pc3-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
#panelHome .pc3-card{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-width:0;text-align:left;font:inherit;color:var(--ov2-ink)}
#panelHome .pc3-card:hover,#panelHome .pc3-card:focus-within{border-color:#cfe0f3;box-shadow:0 4px 14px rgba(47,127,193,.08)}
#panelHome button.pc3-top,#panelHome button.pc3-goal,#panelHome button.pc3-more{border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:0}
#panelHome button.pc3-goal:hover .pc3-t{text-decoration:underline}
.pc3-quick{display:flex;gap:5px;min-width:0;margin-top:auto}
.pc3-quick input{flex:1;min-width:0;border:1.5px dashed #cfd8e6;background:#fbfcff;border-radius:9px;padding:5px 8px;font:inherit;font-size:12.5px;color:var(--ov2-ink)}
.pc3-quick input:focus{outline:none;border-style:solid;border-color:var(--ov2-week);background:#fff}
#panelHome .pc3-quick button{flex:none;border:0;background:var(--ov2-week);color:#fff;border-radius:9px;padding:5px 9px;font-weight:800;font-size:12px;cursor:pointer}
.pc3-top{display:flex;align-items:center;gap:9px;padding-bottom:7px;border-bottom:1px solid #f3f1f7;min-width:0}.pc3-top b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc3-img{width:40px;height:40px;border-radius:10px;background:#f7f5fb;display:grid;place-items:center;overflow:hidden;flex:none;font-size:18px}.pc3-img img{width:100%;height:100%;object-fit:contain}
.pc3-list{display:flex;flex-direction:column;gap:4px;min-width:0}
.pc3-goal{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;min-width:0}
.pc3-dot{width:7px;height:7px;border-radius:50%;flex:none;background:#1F8A55}.pc3-goal.todo .pc3-dot{background:#2F6FC1}.pc3-goal.done{color:#b5b0c2}.pc3-goal.done .pc3-dot{background:#c9c5d3}
.pc3-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pc3-due{margin-left:auto;font-style:normal;font-size:10.5px;color:#B83D7F;background:#FCE7F3;border-radius:999px;padding:1px 6px;flex:none}
.pc3-more{font-style:normal;font-size:11px;color:var(--ov2-week);font-weight:700}
.pc3-none{font-size:12.5px;font-weight:700;color:var(--ov2-week)}
.pp3-head{justify-content:flex-start!important;gap:12px}.pp3-head small{font-size:11.5px;color:#9a95a8}.pp3-head h2{margin:2px 0 0}.pp3-head button[data-goal-close]{margin-left:auto}
.pp3-img{width:46px;height:46px}
.pp3-row{display:flex;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px dashed #ebe7f0;font-size:14px}.pp3-row .ov2-state{margin:0;flex:none}
#panelHome .pp3-row button{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ov2-ink);text-align:left;cursor:pointer}#panelHome .pp3-row button:hover{color:var(--ov2-week)}
.pp3-row .ov2-due{font-size:11.5px;padding:2px 8px}
#panelHome .pp3-add{border:1.5px dashed #d6e3f1;background:#fff;border-radius:10px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--ov2-week);cursor:pointer}
/* 📁 프로젝트: Overview 카드(B) · 주간 트리 · 프로젝트 페이지 · 불러오기 창 */
.pj-sec{margin-top:24px}
.pj-dot{width:9px;height:9px;border-radius:3px;background:var(--c);flex:none;display:inline-block}
.pj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#panelHome .pj-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e9e6ef;border-radius:12px;padding:7px 10px;font:inherit;color:var(--ov2-ink);text-align:left;cursor:pointer;min-width:0}
#panelHome .pj-card:hover{border-color:#cfe0f3;box-shadow:0 4px 14px rgba(47,127,193,.08)}
#panelHome .pj-new{justify-content:center;border:1.5px dashed #d6e3f1;color:var(--ov2-week);font-weight:700;font-size:13px;min-height:52px}
.pj-ring{width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#eceff5 0);display:grid;place-items:center;position:relative;flex:none}
.pj-ring::before{content:'';position:absolute;inset:5px;border-radius:50%;background:#fff}.pj-ring b{position:relative;font-size:10.5px;color:var(--c)}
.pj-txt{display:flex;flex-direction:column;gap:4px;min-width:0}.pj-txt>b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-meta{display:flex;align-items:center;gap:4px;min-width:0}.pj-meta .ov2-owner,.pj-meta .ov2-due{font-size:11px;padding:1px 7px}.pj-meta small{font-size:11px;color:var(--ov2-faint);flex:none}
.pj-end{font-size:12px;color:#8a8598}
#panelHome .ol-pull{margin-left:auto;border:1px solid #d6e3f1;background:#fff;color:var(--ov2-week);border-radius:7px;padding:3px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.ol-row.tree .ol-name{padding-left:12px!important;gap:8px}
.ol-row.tree.d2 .ol-name{padding-left:36px!important}.ol-row.tree.d3 .ol-name{padding-left:60px!important}
.ol-row.tree.d2,.ol-row.tree.d3{background:#fcfcfe;font-size:13px;min-height:38px}
#panelHome .ol-row.tree.d2 .ol-title button,#panelHome .ol-row.tree.d3 .ol-title button{font-weight:500}
#panelHome .ol-atog{border:0;background:none;color:#8a8598;font-size:11px;width:14px;padding:0;flex:none;cursor:pointer}.ol-asp{width:14px;flex:none}
.ol-elbow{width:11px;height:11px;border-left:1.5px solid #cfcbd8;border-bottom:1.5px solid #cfcbd8;border-radius:0 0 0 5px;margin-top:-8px;flex:none}
.ol-subn{font-style:normal;font-size:11px;color:#8a8598;background:#f1eff5;border-radius:999px;padding:1px 7px;flex:none}
.ol-wk{font-size:10.5px;background:#E3EEFC;color:#2F6FC1;border-radius:999px;padding:1px 7px;flex:none;white-space:nowrap}
#panelHome .ol-addsub{margin-left:auto;border:0;background:transparent;color:#b3c3d4;border-radius:7px;padding:3px 8px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;flex:none}
#panelHome .ol-row:hover .ol-addsub,#panelHome .ol-addsub:focus-visible{background:#eef5fc;color:var(--ov2-week)}
.pp-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.pp-head h2{margin:0;font-size:20px;font-weight:800}.pp-head .ol-newgoal{margin-left:auto}
.pp{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
.pp-list{display:flex;flex-direction:column;gap:8px}
#panelHome .pp-item{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e9e6ef;border-left:4px solid var(--c);border-radius:12px;padding:9px 11px;font:inherit;color:var(--ov2-ink);text-align:left;cursor:pointer}
#panelHome .pp-item.on{border-color:#cfe0f3;border-left-color:var(--c);box-shadow:0 4px 14px rgba(47,127,193,.1)}
.pp-t{display:flex;align-items:center;gap:6px}.pp-t b{flex:1;font-size:14px;min-width:0}
.pp-bar{display:flex;align-items:center;gap:8px}.pp-bar>span{flex:1;height:5px;background:#eef0f5;border-radius:9px;overflow:hidden}.pp-bar i{display:block;height:100%;background:var(--c)}.pp-bar small{font-size:11px;color:var(--ov2-faint)}
.pp-sub{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pp-sub .ov2-owner,.pp-sub .ov2-due{font-size:11px;padding:1px 7px}.pp-sub small{font-size:11px;color:var(--ov2-faint)}
.pp-d{background:#fff;border:1px solid #e9e6ef;border-radius:16px;padding:16px 18px;min-width:0}
.pp-dt{display:flex;align-items:center;gap:10px}.pp-dt .pj-dot{width:12px;height:12px}.pp-dt h3{margin:0;font-size:19px;font-weight:800}.pp-dt .ov2-state{margin:0}
#panelHome .pp-btn{border:1px solid #e9e6ef;background:#fff;border-radius:8px;padding:5px 10px;font:inherit;font-size:12.5px;color:#4a4658;cursor:pointer}#panelHome .pp-btn:first-of-type{margin-left:auto}
.pp-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 14px;font-size:12.5px;color:#6d6880}.pp-meta .ov2-owner{font-size:12px;padding:2px 9px}
.pp-prog{display:flex;align-items:center;gap:8px;margin-left:auto}.pp-prog>span{width:150px;height:7px;background:#eef0f5;border-radius:9px;overflow:hidden}.pp-prog i{display:block;height:100%;background:var(--c)}.pp-prog small{color:var(--ov2-faint)}
.pp-desc{margin:-4px 0 14px;font-size:13px;color:#6d6880;white-space:pre-wrap}
.pp-h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px}.pp-h4 small{color:var(--ov2-faint);font-weight:600}
#panelHome .pp-link{margin-left:auto;border:0;background:none;font:inherit;font-size:12.5px;font-weight:700;color:var(--ov2-week);cursor:pointer}
.pp-goals{border:1px solid #eeebf3;border-radius:12px;padding:2px 12px;margin-bottom:16px;background:#fcfbfe}
.pp-g{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed #ebe7f0;font-size:14px}.pp-g:last-child{border:0}.pp-g>span:first-child{flex:1;min-width:0}.pp-g .ov2-state{margin:0}.pp-g .ov2-due{font-size:11.5px;padding:1px 8px}.pp-g.done>span:first-child{color:#bdb8c8}
.pp-table .ol-row{grid-template-columns:minmax(240px,1fr) 110px 320px 110px 72px}
#homeEditor.home-goal-editor.home-pick{position:fixed;inset:0;margin:auto;width:min(860px,calc(100vw - 36px));height:fit-content;max-height:88vh;border:0;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:0}
.home-pick .home-dialog-head{padding:16px 22px;margin:0}.pk-help{margin:4px 0 0;font-size:12.5px;color:#8a8598}
.pk-b{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:340px;max-height:60vh;border-top:1px solid #f0edf5;border-bottom:1px solid #f0edf5}
.pk-l{border-right:1px solid #f0edf5;padding:10px;display:flex;flex-direction:column;gap:5px;background:#fbfbfd;overflow:auto}
#panelHome .pk-p{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;border:1px solid transparent;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ov2-ink)}
.pk-p b{flex:1;font-size:13.5px;min-width:0}.pk-p small{font-size:11px;color:#9a95a8}#panelHome .pk-p.on{background:#fff;border-color:#cfe0f3;box-shadow:0 2px 8px rgba(47,127,193,.08)}
.pk-in{font-size:10.5px;background:#E2F6EC;color:#1F8A55;border-radius:999px;padding:1px 7px;white-space:nowrap}
#panelHome .pk-new{margin-top:auto;border:1.5px dashed #d6e3f1;border-radius:10px;padding:9px;background:none;font:inherit;color:var(--ov2-week);font-weight:700;font-size:12.5px;cursor:pointer}
.pk-r{padding:12px 18px;overflow:auto}.pk-r h4{margin:0 0 4px;font-size:14px;display:flex;align-items:center;gap:8px}.pk-r h4 .ov2-state{margin:0}
#panelHome .pk-out{margin-left:auto;border:0;background:none;font:inherit;font-size:12px;color:#D04545;cursor:pointer}
.pk-goal{font-size:12.5px;color:#6d6880;margin:0 0 10px}
.pk-sel{display:flex;justify-content:space-between;font-size:12px;color:#8a8598;margin:6px 0}.pk-sel b{color:var(--ov2-week)}
.pk-a{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px dashed #ebe7f0;font-size:13.5px}.pk-a input{accent-color:var(--ov2-week);width:15px;height:15px;margin:0}
.pk-t{flex:1;min-width:0}.pk-t.done{color:#bdb8c8}.pk-a .ov2-owner,.pk-a .ov2-due{font-size:11px;padding:1px 7px}
.pk-a.sub{padding-left:28px;color:#6d6880;font-size:12.5px;border-bottom-style:dotted}.pk-a.sub.d3{padding-left:50px}
.home-pick .home-form-error{margin:0 22px}.home-pick .home-dialog-foot{padding:12px 22px}
.hg-pgoal .hg-editor-row-main{align-items:center}.hg-pgoal select,.hg-pgoal input[type=date]{padding:7px 8px;border:1px solid #eae4da;border-radius:7px;background:#fff;font:inherit;font-size:13px;flex:none}
.hg-fixed{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:14px;font-weight:600}.hg-fixed span{color:#9a95a8}
.hg-kids{font-size:12.5px;color:#8a8598;margin:4px 0 0}

/* 반기·분기·월 목표: 한 줄 목록 + 팝업 없이 바로 추가 */
.ov2-gls{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.ov2-gl{display:flex;align-items:center;gap:8px;background:#fff;border-radius:10px;padding:6px 10px;min-width:0}
.ov2-gl input[type=checkbox]{flex:none;width:15px;height:15px;margin:0;accent-color:var(--ac)}
#panelHome .ov2-gl-t{flex:1;min-width:0;border:0;background:transparent;padding:0;text-align:left;font:inherit;font-size:13.5px;font-weight:700;color:var(--ov2-ink);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panelHome .ov2-gl-t:hover{color:var(--ac)}
.ov2-gl-t em{font-style:normal;font-size:11.5px;color:var(--ac);font-weight:700;margin-left:6px}
.ov2-gl-due{flex:none;font-size:11.5px;color:#6d6880;font-weight:700}
.ov2-gl .ov2-dday{margin-top:0}
#panelHome .ov2-gl.done .ov2-gl-t{color:#bdb8c8;text-decoration:line-through}
.ov2-gl.done .ov2-gl-due,.ov2-gl.done .ov2-dday{opacity:.5}
.ov2-gl-empty{font-size:12px;color:#8a8598;margin:4px 2px}
.ov2-quick{display:flex;gap:6px;margin-top:6px;min-width:0}
.ov2-quick input{min-width:0;border:1.5px dashed color-mix(in srgb,var(--ac) 45%,transparent);background:rgba(255,255,255,.7);border-radius:10px;padding:6px 10px;font:inherit;font-size:13px;color:var(--ov2-ink)}
.ov2-quick input[name=title]{flex:1}
.ov2-quick input[name=due]{flex:none;width:128px;font-size:12px;color:#6d6880}
.ov2-quick input:focus{outline:none;border-style:solid;border-color:var(--ac);background:#fff}
#panelHome .ov2-quick button{flex:none;border:0;background:var(--ac);color:#fff;border-radius:10px;padding:6px 12px;font-weight:800;font-size:12.5px;cursor:pointer}

/* 입력칸에 글자가 있을 때만 완료 버튼 표시 */
.ov2-quick:has(input[name=title]:placeholder-shown) button,.pc3-quick:has(input[name=title]:placeholder-shown) button{display:none}

#panelHome .ov2-gl-del{flex:none;border:0;background:none;color:#9b95ab;font-size:17px;line-height:1;cursor:pointer;padding:0 4px;opacity:.7}
.ov2-gl:hover .ov2-gl-del,.ov2-gl-del:focus-visible{opacity:1}
#panelHome .ov2-gl-del:hover{color:#c0392b}

/* 14일 일정 캘린더 (월~토) */
.fn-range{font-size:12.5px;font-weight:700;color:#6d6880;margin-left:6px}
.fn-legend{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:11.5px;color:#6d6880;font-weight:700}
.fn-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-left:6px}.fn-legend em{font-style:normal;color:#a29db0;margin-left:10px;font-weight:600}
.k-project{--c:#6D3FD6}.fn-legend i.k-project,.fn-bar.k-project{background:var(--c)}
.fn-legend i.k-task,.fn-bar.k-task{background:#2F7FC1}.fn-legend i.k-goal,.fn-bar.k-goal{background:#D9822B}.fn-legend i.k-meeting,.fn-bar.k-meeting{background:#1F8A55}
.fn-cal{display:flex;flex-direction:column;gap:8px}
.fn-week{background:#fff;border:1px solid #e9e6ef;border-radius:12px;overflow:hidden}
.fn-head,.fn-lanes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.fn-head{border-bottom:1px solid #f0eef5}
.fn-day{padding:6px 10px;font-size:12.5px;font-weight:800;color:var(--ov2-ink);border-right:1px solid #f0eef5}.fn-day:last-child{border-right:0}
.fn-day small{margin-left:4px;color:#8a8598;font-weight:700}.fn-day.off{background:#f6f5f9;color:#c2bdcf}.fn-day.off small{color:#cfcad9}
.fn-day.today{background:#6D3FD6;color:#fff}.fn-day.today small{color:#e3d7ff}
.fn-lanes{gap:3px 0;padding:6px 0;min-height:36px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100%/6 - 1px),#f0eef5 calc(100%/6 - 1px),#f0eef5 calc(100%/6))}
.fn-bar{margin:0 3px;padding:0 8px;border-radius:7px;color:#fff;font-size:12px;font-weight:700;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* Product Issues: 스테이지별 묶음 */

.fn-legend i.k-schedule,.fn-bar.k-schedule{background:#C2417A}
.fn-bar{display:flex;align-items:center;gap:4px}.fn-bar .fn-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panelHome .fn-del{flex:none;border:0;background:none;color:#fff;opacity:.55;font-size:15px;line-height:1;cursor:pointer;padding:0}.fn-bar:hover .fn-del{opacity:1}
.fn-quick{display:flex;gap:6px;margin-top:8px;min-width:0}
.fn-quick input{min-width:0;border:1.5px dashed #d9cfe8;background:#fbfaff;border-radius:10px;padding:6px 10px;font:inherit;font-size:13px;color:var(--ov2-ink)}
.fn-quick input[name=title]{flex:1}.fn-quick input[type=date]{flex:none;width:132px;font-size:12px;color:#6d6880}
.fn-quick input:focus{outline:none;border-style:solid;border-color:#6D3FD6;background:#fff}
#panelHome .fn-quick button{flex:none;border:0;background:#6D3FD6;color:#fff;border-radius:10px;padding:6px 12px;font-weight:800;font-size:12.5px;cursor:pointer}
.fn-quick:has(input[name=title]:placeholder-shown) button{display:none}

.fn-quick input[type=time]{flex:none;width:96px;font-size:12px;color:#6d6880}.fn-quick input[name=title]{flex:1;order:3}.fn-quick button{order:4}
.fn-bar .fn-t b{font-weight:800;opacity:.9}

.fn-legend i.k-internal,.fn-bar.k-internal{background:#6D3FD6}.fn-legend i.k-external,.fn-bar.k-external{background:#E07B20}
.fn-sec .ov2-section-head{gap:10px}
#panelHome .fn-add{flex:none;border:0;background:#6D3FD6;color:#fff;border-radius:999px;padding:5px 14px;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.fn-ext{font-style:normal;font-size:10.5px;font-weight:800;background:rgba(255,255,255,.28);border-radius:5px;padding:0 5px;margin-right:4px}
.fn-quick select{flex:none;border:1.5px dashed #d9cfe8;background:#fbfaff;border-radius:10px;padding:6px 8px;font:inherit;font-size:12.5px;color:var(--ov2-ink);order:2}

#panelHome .ov2-mini-head button.ov2-mini-add{margin-left:auto;flex:none;border:0;background:var(--ac);color:#fff;border-radius:999px;padding:3px 11px;font:inherit;font-size:11.5px;font-weight:800;line-height:1.5;cursor:pointer}
/* 스테이지 칩을 왼쪽 열로 — 세로 길이 줄이기 */

/* 이번 주 Main Issue: 날짜별 일정 표 */
.wk-sec .ov2-section-head{gap:10px;align-items:center}.wk-sec .td-manage{margin-left:auto}
.wk-sec .td-manage+.fn-add{margin-left:0}
.wk-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e9e6ef;border-radius:12px;overflow:hidden;font-size:13px}
.wk-table th{background:#f6f5f9;color:#6d6880;font-size:11.5px;font-weight:800;text-align:left;padding:7px 12px}
.wk-table td{padding:8px 12px;border-top:1px solid #f0eef5;vertical-align:middle;color:var(--ov2-ink)}
.wk-date{width:84px;background:#faf9fd;border-right:1px solid #f0eef5;white-space:nowrap}.wk-date b{font-size:15px;font-weight:800}.wk-date small{margin-left:6px;color:#8a8598;font-weight:700}
.wk-time{width:70px;color:#6d6880;font-weight:700;font-variant-numeric:tabular-nums}
.wk-title{font-weight:700}.wk-act{width:30px;text-align:right}
.wk-kind{display:inline-block;font-size:11px;font-weight:800;border-radius:999px;padding:1px 9px;color:#fff}.wk-kind.int{background:#6D3FD6}.wk-kind.ext{background:#E07B20}
.wk-table tr.today .wk-date{background:#6D3FD6;color:#fff}.wk-table tr.today .wk-date small{color:#e3d7ff}
.wk-table tr.past td{background:#f1f0f5;color:#a9a4b8}
.wk-table tr.past .wk-title,.wk-table tr.past .wk-time,.wk-table tr.past .wk-date b{text-decoration:line-through}
.wk-table tr.past .wk-kind{background:#b9b4c6}
.wk-empty{margin:6px 2px;font-size:13px;color:#8a8598}
#panelHome .wk-act .fn-del{color:#9b95ab;opacity:.8}
/* 🙋 내 업무 캘린더 (1·3·7days, 시간대별 Task·Schedule) */
.mc-head{flex-wrap:wrap;gap:8px 10px}
.mc-people{display:flex;gap:4px}.mc-person{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #e3dfeb;border-radius:999px;font-size:12px;cursor:pointer;background:#fff;color:#5b5568}
.mc-person{padding:0;gap:6px}.mc-person label{display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 0;cursor:pointer}
.mc-person .mc-pdot,.mc-person .mc-pcolor{flex:none;width:14px;height:14px;margin:0 0 0 9px;border-radius:50%;background:var(--pc,#8a8798)}.mc-pdot{display:inline-block}
.mc-pcolor{padding:0;border:0;cursor:pointer;overflow:hidden;appearance:none;-webkit-appearance:none}.mc-pcolor:hover{box-shadow:0 0 0 2px var(--pb,#eee),0 0 0 3px var(--pc,#8a8798)}
.mc-pcolor::-webkit-color-swatch-wrapper{padding:0}.mc-pcolor::-webkit-color-swatch{border:0;border-radius:50%}.mc-pcolor::-moz-color-swatch{border:0;border-radius:50%}
.mc-person input{margin:0;accent-color:var(--pc,#6b4fd8)}.mc-person.on{border-color:var(--pc);background:var(--pb);color:var(--pf);font-weight:700}
.mc-span,.mc-nav{display:inline-flex;border:1px solid #e3dfeb;border-radius:9px;overflow:hidden;background:#fff}
.mc-span button,.mc-nav button{border:0;background:none;padding:5px 9px;font-size:12px;color:#5b5568;cursor:pointer}.mc-span button+button,.mc-nav button+button{border-left:1px solid #eee9f3}
.mc-span button[aria-pressed="true"]{background:#6b4fd8;color:#fff;font-weight:700}
.mc-legend{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#8a8496}.mc-legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-left:6px}.mc-legend i.task{background:#cfd3dc}.mc-legend i.sched{background:#fff;outline:1px dashed #8a8798;outline-offset:-1px}
.mc-head .ol-newgoal{margin-left:0}.mc-head .mc-legend{margin-left:auto}
.mc-cal{background:#fff;border:1px solid #e9e6ef;border-radius:14px;overflow:hidden}
.mc-row{display:grid}
.mc-days{border-bottom:1px solid #eee9f3}.mc-day{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:6px 0;font-size:12px;color:#6d6778}.mc-day b{font-size:14px;color:#2b2735}.mc-day.today b{color:#6b4fd8}.mc-day.today{background:#faf8ff}
.mc-allday{border-bottom:1px solid #eee9f3;min-height:28px}.mc-hour{font-size:10.5px;color:#9a94a6;text-align:right;padding:6px 6px 0 0}
.mc-allday-cell{display:flex;flex-wrap:wrap;gap:3px;padding:4px;border-left:1px solid #f1eef5;min-width:0}
.mc-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:6px;padding:2px 7px;font-size:11px;cursor:pointer;text-align:left}
.mc-scroll{max-height:560px;overflow-y:auto}
.mc-grid{position:relative}
.mc-hours{position:relative}.mc-hours span{position:absolute;right:6px;transform:translateY(-6px);font-size:10.5px;color:#9a94a6}.mc-hours span:first-child{transform:none}
.mc-col{position:relative;border-left:1px solid #f1eef5;background-image:linear-gradient(#f1eef5 1px,transparent 1px)}.mc-col.today{background-color:#fcfbff}
.mc-now{position:absolute;left:0;right:0;height:2px;background:#e5484d;z-index:2}.mc-now::before{content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#e5484d}
.mc-ev{position:absolute;box-sizing:border-box;border:0;border-left:3px solid;border-radius:6px;padding:2px 5px;text-align:left;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:0;font:inherit;line-height:1.25}
.mc-ev .mc-time{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}.mc-ev b{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-ev small,.mc-chip small{font-size:10px;opacity:.75;margin-left:4px}.mc-ev small{margin-left:0}
/* 색은 담당자별 (--pb 배경 · --pc 선 · --pf 글자), Task = 채움 · Schedule = 점선 테두리 */
.mc-ev,.mc-chip,.mc-tray-item{background:var(--pb,#eeedf2);border-color:var(--pc,#8a8798);color:var(--pf,#4a4757)}
.mc-ev.sched,.mc-chip.sched,.mc-tray-item.sched{outline:1px dashed var(--pc);outline-offset:-1px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.55) 0 4px,transparent 4px 8px)}
.mc-ev.done,.mc-chip.done{opacity:.5;text-decoration:line-through}
.mc-ev:hover,.mc-chip:hover{filter:brightness(.97)}
.mc-list{margin-top:10px}.mc-list>summary{cursor:pointer;font-size:12.5px;color:#6d6778;padding:4px 2px}.mc-list[open]>summary{margin-bottom:8px}
@media(max-width:760px){.mc-head .mc-legend{margin-left:0}.mc-scroll{max-height:440px}}
.mc-ev>*{flex-shrink:0}
#panelHome .mc-head .ol-newgoal{margin-left:0;padding:5px 10px;font-size:12px;border-radius:9px;min-height:0;height:auto}
.mc-head h2{margin-right:4px}
/* 캘린더 드래그 · 시간 미정 사이드 패널 */
.mc-body{display:flex;gap:10px;align-items:flex-start}.mc-body>.mc-cal{flex:1;min-width:0}
.mc-tray{flex:0 0 210px;background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:8px;max-height:640px;overflow-y:auto;position:sticky;top:90px}
.mc-tray header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.mc-tray header b{font-size:12.5px}.mc-tray header small{font-size:10.5px;color:#9a94a6;flex:1}
.mc-tray header button{border:0;background:none;font-size:15px;color:#9a94a6;cursor:pointer;line-height:1}
.mc-tray-group h5{margin:8px 2px 4px;font-size:11px;color:#8a8496;font-weight:600}
.mc-tray-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;box-sizing:border-box;margin-bottom:4px;border:0;border-left:3px solid;border-radius:6px;padding:4px 7px;text-align:left;font:inherit;cursor:pointer}
.mc-tray-item b{font-size:11.5px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-tray-item small{font-size:10px;opacity:.75}
.mc-tray-empty{font-size:11px;color:#9a94a6;margin:6px 2px}
.mc-tray-toggle{border:1px solid #e3dfeb;background:#fff;border-radius:9px;padding:5px 9px;font-size:12px;color:#5b5568;cursor:pointer}.mc-tray-toggle.on{background:#f3efff;border-color:#b9a8f0;color:#4b35a8;font-weight:700}
.mc-ev.draggable,.mc-tray-item.draggable{cursor:grab;touch-action:none}
.mc-resize{position:absolute;left:0;right:0;height:max(4px,min(9px,28%));cursor:ns-resize;z-index:2}.mc-resize.top{top:0}.mc-resize.bottom{bottom:0}
.mc-ev:hover .mc-resize.bottom{background:linear-gradient(transparent calc(100% - 4px),var(--pc) calc(100% - 4px),var(--pc) calc(100% - 2px),transparent calc(100% - 2px))}.mc-ev:hover .mc-resize.top{background:linear-gradient(transparent 2px,var(--pc) 2px,var(--pc) 4px,transparent 4px)}
.mc-ghost{opacity:.9;box-shadow:0 8px 20px rgba(30,20,60,.25);cursor:grabbing}
.mc-source{opacity:.35}
.mc-col.drop{background-color:#f3efff}
body.mc-dragging,body.mc-dragging *{cursor:grabbing!important;user-select:none}
@media(max-width:900px){.mc-body{flex-direction:column}.mc-tray{flex-basis:auto;width:100%;position:static}}
.mc-ev .mc-time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.wk-table td.wk-none{color:#b3aec2;font-weight:600;font-size:12.5px}
.wk-table tr.past td.wk-none{color:#c4c0d0;text-decoration:none}

/* 이번 주 Main Issue: 캘린더 */
.wk-cols{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.wk-col{display:flex;flex-direction:column;gap:4px;min-height:96px;padding:6px 5px;border-right:1px solid #f0eef5;min-width:0}.wk-col:last-child{border-right:0}
.wk-col.today{background:#faf6ff}
.wk-ev{display:flex;align-items:center;gap:4px;border-radius:7px;color:#fff;font-size:12px;font-weight:700;line-height:1.35;padding:4px 7px}
.wk-ev.int{background:#6D3FD6}.wk-ev.ext{background:#E07B20}
.wk-ev .wk-ev-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-ev .wk-ev-t b{font-weight:800;opacity:.92}
.wk-col .wk-none{color:#c4c0d0;font-size:12px;font-weight:600;padding:3px 4px}
.wk-col.past{background:#f1f0f5}
.wk-col.past .wk-ev{background:#c9c5d3;color:#7d788b}.wk-col.past .wk-ev .wk-ev-t{text-decoration:line-through}

/* Overview: 오늘의 주요일정(왼쪽) + 3주 캘린더 */
.td-row{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:14px;align-items:start}
.td-panel{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:12px 14px;margin-top:24px}
.td-panel .ov2-section-head{margin:0 0 8px}.td-panel h3{font-size:15px}
.td-evs{display:flex;flex-direction:column;gap:5px}
.td-ev{display:flex;align-items:center;gap:8px;border-radius:9px;padding:6px 9px;font-size:13px;font-weight:700;color:#fff}.td-ev.int{background:#6D3FD6}.td-ev.ext{background:#E07B20}
.td-ev-time{flex:none;font-variant-numeric:tabular-nums;opacity:.92}.td-ev-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-ev .fn-del{color:#fff}
.td-none{margin:2px;font-size:12.5px;color:#a29db0;font-weight:600}
.td-foot{display:flex;gap:6px;align-items:center;margin-top:10px;flex-wrap:wrap}
#panelHome .td-foot .td-manage{margin-left:auto}
@media(max-width:1000px){.td-row{grid-template-columns:1fr}}
/* 2) 프로젝트: 이슈 줄 · 프로젝트|디벨롭 줄 */
.is-sec{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:12px 14px;margin-top:20px}.is-sec .ov2-section-head{margin:0 0 8px}.is-sec h3{font-size:15px}
.is-sec.prod{border-top:3px solid #2457E6}.is-sec.team{border-top:3px solid #1DA462}
.is-list{display:flex;flex-direction:column;gap:3px}
#panelHome .pc3-goal.is-line{width:100%;padding:5px 4px;border-radius:7px}#panelHome .pc3-goal.is-line:hover{background:#f6f5f9}
.is-prod{font-style:normal;font-size:10.5px;font-weight:800;color:#2457E6;background:#eaf0ff;border-radius:999px;padding:1px 7px;flex:none;white-space:nowrap}
.is-quick{margin-top:8px}.is-quick select{flex:none;max-width:120px;border:1.5px dashed #cfd8e6;background:#fbfcff;border-radius:9px;padding:5px 6px;font:inherit;font-size:12px;color:var(--ov2-ink)}
.pj-col{margin-top:20px;background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:12px 14px}.pj-col .ov2-section-head{margin:0 0 8px}.pj-col h3{font-size:15px}
.pj-col.prj{border-top:3px solid #6D3FD6}.pj-col.dev{border-top:3px solid #E07B20}
.pj-col .pj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pj-track{flex:none;font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 8px;color:#fff;margin-left:4px}.pj-track.prj{background:#6D3FD6}.pj-track.dev{background:#E07B20}
@media(max-width:1000px){.is-row,.pd-row{grid-template-columns:1fr}}

/* 화면 가로를 꽉 채움 */
#panelHome{max-width:none}
#panelHome .ov2{max-width:none}

/* 프로젝트·디벨롭 카드칩 안에서 바로 추가 */
.pj-newform{display:flex;flex-direction:column;gap:6px;border:1.5px dashed #cdbfe9;background:#fbfaff;padding:8px 10px;cursor:default}
.pj-newform input,.pj-newform select{min-width:0;border:1px solid #e1dcef;background:#fff;border-radius:8px;padding:5px 8px;font:inherit;font-size:12.5px;color:var(--ov2-ink)}
.pj-newform input[name=title]{font-weight:700}.pj-newform input:focus,.pj-newform select:focus{outline:none;border-color:#6D3FD6}
.pj-newrow{display:flex;gap:5px;align-items:center;min-width:0}.pj-newrow select{flex:none;max-width:92px}.pj-newrow input[type=date]{flex:1;min-width:0;font-size:12px}
#panelHome .pj-newrow button{flex:none;border:0;background:#6D3FD6;color:#fff;border-radius:8px;padding:5px 10px;font-weight:800;font-size:12px;cursor:pointer}
.pj-newform:has(input[name=title]:placeholder-shown) .pj-newrow button{display:none}

.pj-addchip{align-items:center;justify-content:center;border:1.5px dashed #cdbfe9;background:#fbfaff;color:#6D3FD6;font-weight:800;font-size:13px;min-height:52px;cursor:pointer}
.pj-col.dev .pj-addchip{border-color:#efc9a3;background:#fffaf5;color:#E07B20}
.pj-addchip:hover{background:#f3edff}.pj-col.dev .pj-addchip:hover{background:#fff1e3}
.pj-newtop{display:flex;gap:4px;align-items:center;min-width:0}.pj-newtop input{flex:1}
#panelHome .pj-cancel{flex:none;border:0;background:none;color:#9b95ab;font-size:17px;line-height:1;cursor:pointer;padding:0 3px}#panelHome .pj-cancel:hover{color:#c0392b}

/* ＋ 하위: 리스트 줄에서 바로 입력 */
.ol-subform{background:#faf9ff}
.ol-subform input,.ol-subform select{min-width:0;width:100%;border:1px solid #e1dcef;background:#fff;border-radius:7px;padding:4px 7px;font:inherit;font-size:12.5px;color:var(--ov2-ink)}
.ol-subform input[name=title]{font-weight:700}.ol-subform input:focus,.ol-subform select:focus{outline:none;border-color:#6D3FD6}
#panelHome .ol-subform button[type=submit]{border:0;background:#6D3FD6;color:#fff;border-radius:7px;padding:4px 10px;font-weight:800;font-size:12px;cursor:pointer}
#panelHome .ol-subform .ol-subx{border:0;background:none;color:#9b95ab;font-size:16px;line-height:1;cursor:pointer}
.ol-subform:has(input[name=title]:placeholder-shown) button[type=submit]{visibility:hidden}
/* ＋ 하위 입력 줄을 네모 박스로 넉넉하게 */
.ol-subform{padding:14px 16px;margin:8px 10px;min-height:72px;border:1.5px solid #d9cff2;border-radius:14px;background:#fbf9ff;box-shadow:0 2px 10px rgba(109,63,214,.07);align-items:center}
.ol-subform input,.ol-subform select{height:40px;padding:8px 12px;font-size:14px;border-radius:10px}
.ol-subform input[name=title]{font-size:14.5px}
#panelHome .ol-subform button[type=submit]{height:40px;padding:0 16px;font-size:13.5px;border-radius:10px}
#panelHome .ol-subform .ol-subx{font-size:20px}

/* 하위 업무 4단까지 */
.ol-row.tree.d4 .ol-name{padding-left:84px!important}
.ol-row.tree.d4{background:#fcfcfe;font-size:13px;min-height:38px}
#panelHome .ol-row.tree.d4 .ol-title button{font-weight:500}
.pk-a.sub.d4{padding-left:72px}

/* Product Issue 줄: 블록 + D-day */
#panelHome .pc3-list{gap:6px}
#panelHome button.pc3-goal{border:1px solid #e6e2ef;background:#faf9fd;border-radius:9px;padding:7px 9px;gap:6px;width:100%}
#panelHome button.pc3-goal:hover{border-color:#cfc8e2;background:#f4f1fb}
#panelHome button.pc3-goal.done{background:#f7f6f9}
#panelHome .pc3-goal .pc3-due{margin-left:auto}
#panelHome .pc3-goal .ov2-dday{margin:0;padding:1px 6px;font-size:10.5px}

/* Goal 목표: 진한 바탕 + 흰 글자 */
#panelHome .ov2-gl{background:var(--deep,#2B2540);padding:9px 12px}   /* 카드 칩 색의 진한 색 */
#panelHome .ov2-gl-t,#panelHome .ov2-gl-t:hover{color:#fff;font-weight:800}
#panelHome .ov2-gl-due{color:rgba(255,255,255,.82)}
#panelHome .ov2-gl .ov2-dday{background:rgba(255,255,255,.16);color:#fff}
#panelHome .ov2-gl .ov2-dday.soon{background:#F59E5B;color:#fff}
#panelHome .ov2-gl .ov2-dday.late{background:#E5484D;color:#fff}
#panelHome .ov2-gl-del{color:rgba(255,255,255,.75)}
#panelHome .ov2-gl-del:hover{color:#ff8a8a}

/* 2) 프로젝트: 왼쪽 위 탭 (Product · Progress · Run), 한 줄로 */
.pj-tabs{display:inline-flex;gap:4px;background:#f1eff5;border-radius:11px;padding:4px}
#panelHome .pj-tabs button{border:0;background:transparent;border-radius:8px;padding:7px 18px;font:inherit;font-size:14px;font-weight:800;color:#8a8598;cursor:pointer}
#panelHome .pj-tabs button[aria-selected=true]{background:#fff;color:var(--ov2-ink);box-shadow:0 1px 4px rgba(30,20,60,.1)}
#panelHome .pj-tabs button:not([aria-selected=true]):hover{color:var(--ov2-ink)}
.dnd-on .pj-tabs [data-drop-tab]:not([aria-selected=true]){outline:1.5px dashed #b9b2cc;outline-offset:-2px}
.dnd-on .pj-tabs [data-drop-tab].dnd-over{background:#ece7ff;color:#6D3FD6}
.pj-page .pj-col .pj-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.pj-page .pj-col .pj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Product Issues · Progress: Tasks 와 같은 표 — 우선순위(MoSCoW)는 한 칸, 칸 눌러 고르기, 드래그앤드롭 (Must → 프로젝트 · 디벨롭) */
.is-lsec{margin-top:16px}
.is-link{flex:none;font-size:12px;line-height:1}
.is-quick select[name=moscow]{max-width:84px}
.is-lsec .is-quick{margin-top:8px}
#panelHome .pj-card[data-dnd]{cursor:grab}
.dnd-src{opacity:.35}
.dnd-on .pj-col.dnd-over{background:#fbfaff;outline-color:#6D3FD6}.dnd-on .pj-col.dev.dnd-over{outline-color:#E07B20}
/* 🔁 Run (반복 업무): 같은 표 모양 */
.rn-sec{margin-top:16px}
.rn-help{font-size:12px;color:#9a95a8}
/* 🔁 Run 카드 (Product Issues 카드 모양): 이름·오늘 체크·✎ 설정, 아래 = 📝 회의록 목록. 바깥 박스 없이 카드가 가로를 채움 */
.rn-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.rn-top{gap:8px;align-items:center}
.rn-name{flex:1;min-width:0;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rn-card.done .rn-name{color:#b5b0c2;text-decoration:line-through}
.rn-card input[type=checkbox],.rn-wd input[type=checkbox]{accent-color:#1F8A75;width:14px;height:14px;margin:0}
.rn-today{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:#1F8A75;background:#E7F5F1;border-radius:999px;padding:2px 8px 2px 6px;cursor:pointer}
#panelHome .rn-edit{flex:none;border:0;background:none;font-size:14px;line-height:1;color:#a8a3b5;cursor:pointer;padding:3px 5px;border-radius:6px}#panelHome .rn-edit:hover{color:#5427C4;background:#f4f1fb}
.rn-days{display:flex;gap:3px}.rn-days label{cursor:pointer;display:inline-flex;position:relative}.rn-days input{position:absolute;opacity:0;pointer-events:none}
.rn-days label>span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:12px;font-weight:700;color:#a8a3b5;background:#f6f5f9}
.rn-days input:checked+span{background:#1F8A75;color:#fff}.rn-days input:focus-visible+span{outline:2px solid #1F8A75;outline-offset:1px}
.rn-mins{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px dashed #ece8f3;min-width:0}
.rn-mins .pc3-runh{display:flex;align-items:center;gap:5px}
#panelHome .rn-mins .pc3-runh .pc3-more{margin-left:auto;border:0;background:none;padding:0;font:inherit;font-size:11px;font-weight:700;color:var(--ov2-week);cursor:pointer}
#panelHome .rn-mins .pc3-list>.pc3-more{border:0;background:none;padding:0 2px;font:inherit;font-size:11px;font-weight:700;color:var(--ov2-week);text-align:left;cursor:pointer}
.rn-none{font-size:12px;color:#b5b0c2}
#panelHome .rn-addlink{margin-top:10px;border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:#8a8598;cursor:pointer}#panelHome .rn-addlink:hover{color:#5427C4}
.rn-wd{border:0;padding:0;margin:0 0 16px}.rn-wd legend{padding:0;margin-bottom:8px}.rn-wd .rn-days{gap:6px}.rn-wd .rn-days label>span{width:38px;height:32px;font-size:13px}
/* 📝 회의록 팝업 */
#homeEditor.home-minute.home-goal-popup{width:min(720px,calc(100vw - 36px))}
.home-minute .home-dialog-body{overflow-y:auto}
.rn-mchip{flex:none;font-size:12px;font-weight:800;color:#5427C4;background:#F1EDFD;border-radius:999px;padding:3px 10px}
.home-goal-view .pp3-row .rn-mchip{font-size:11.5px;padding:2px 8px}
.rn-mlink{font-size:12px;font-weight:700;color:#2F7FC1;background:#E9F2FD;border-radius:999px;padding:3px 10px;text-decoration:none}.rn-mlink:hover{text-decoration:underline}
.rn-mat{margin-left:auto;font-size:11.5px;color:#a8a3b5}
.rn-mbody{font-size:14px;line-height:1.75;color:#2b2838;min-height:120px}
/* 마크다운 확장 (노션처럼): 나란히 칸 · 색 제목 · 하위 목록 · 이미지 */
.tf-md .md-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;margin:4px 0 8px}.tf-md .md-cols>div{min-width:0}
.tf-md [class^="md-bg-"]{display:inline-block;padding:1px 8px;border-radius:6px}
.tf-md .md-bg-yellow{background:#FBF3DB}.tf-md .md-bg-orange{background:#FAEBDD}.tf-md .md-bg-red{background:#FBE4E4}.tf-md .md-bg-pink{background:#F4DFEB}.tf-md .md-bg-purple{background:#EAE4F2}.tf-md .md-bg-blue{background:#DDEBF1}.tf-md .md-bg-green{background:#DDEDEA}.tf-md .md-bg-gray{background:#EBECED}.tf-md .md-bg-brown{background:#E9E5E3}
.tf-md ul ul,.tf-md ol ol,.tf-md ul ol,.tf-md ol ul{margin:0 0 2px;padding-left:18px}
.tf-md img.md-img{display:block;max-width:100%;height:auto;border:1px solid #ece8f3;border-radius:8px;margin:6px 0}.tf-md .md-figure{margin:0 0 4px}
.tf-md hr{border:0;border-top:1px solid #ece8f3;margin:10px 0}
/* 표 · 🤖 자동 입력 블록 (보기·편집칸 공용) */
.tf-md table.md-table,.mn-ed table{border-collapse:collapse;width:100%;font-size:13px;margin:4px 0 8px;line-height:1.5}
.tf-md .md-table th,.tf-md .md-table td,.mn-ed th,.mn-ed td{border:1px solid #ece8f3;padding:4px 8px;text-align:left;vertical-align:top}
.tf-md .md-table th,.mn-ed th{background:#f7f5fb;font-weight:800;color:#5f5a70;font-size:12px}
.tf-md .md-table td.up,.mn-ed td.up{color:#1F8A55;font-weight:700}.tf-md .md-table td.dn,.mn-ed td.dn{color:#C9382E;font-weight:700}.tf-md .md-table td.nw,.mn-ed td.nw{color:#2F6FC1;font-weight:700}
.tf-md .md-table tr:last-child td,.mn-ed tr:last-child td{background:#fcfbfe}
.tf-md .md-up,.mn-ed .md-up{color:#1F8A55;font-weight:700}.tf-md .md-dn,.mn-ed .md-dn{color:#C9382E;font-weight:700}
.tf-md .md-dt{color:#8a8598;font-size:12px}   /* Retro 태스크 앞 날짜 */
.tf-md .md-auto ul+ul{margin-top:10px}   /* 광고예산 변화: 제품이 바뀌면 간격 */
.tf-md .md-cols2{columns:2;column-gap:28px}.tf-md .md-cols2>ul{break-inside:avoid;margin:0 0 10px}.tf-md .md-cols2>ul+ul{margin-top:0}
@media (max-width:720px){.tf-md .md-cols2{columns:1}}
.tf-md .md-auto{border:1px dashed #cfc8e2;border-radius:10px;padding:8px 10px;margin:4px 0 10px;background:#fbfaff}.tf-md .md-auto-h{font-size:11.5px;color:#8a8598;margin:0 0 6px}
.mn-boxh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#homeEditor .mn-autobtn{margin-left:auto;border:1px solid #e4e0ec;background:#fff;border-radius:8px;padding:3px 9px;font:inherit;font-size:12px;font-weight:700;color:#5427C4;cursor:pointer}#homeEditor .mn-autobtn:hover{background:#f4f1fb}#homeEditor .mn-autobtn:disabled{opacity:.6;cursor:default}
/* 📝 회의록 편집칸 (노션처럼 서식이 바로 보임): 스크럼 양식 = 한 줄 칸 + 좌|우 칸 2줄, 자유 형식 = 칸 하나 */
#homeEditor.home-minute.home-goal-popup{width:min(1100px,calc(100vw - 36px))}
.mn-meta{margin-bottom:4px}
.mn-modes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.mn-modes [role=tablist]{display:inline-flex;gap:4px;background:#f3f1f7;border-radius:9px;padding:3px}
#homeEditor .mn-modes button{border:0;background:none;border-radius:7px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:700;color:#7c7790;cursor:pointer}#homeEditor .mn-modes button[aria-selected="true"]{background:#fff;color:#5427C4;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.mn-modes small{font-size:11.5px;color:#9a95a8;line-height:1.5}.mn-modes code{background:#f3f1f7;border-radius:4px;padding:0 4px}
.mn-tpl{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.mn-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mn-box{position:relative;border:1px solid #eae4da;border-radius:12px;background:#fff;padding:8px 10px 10px;min-width:0}.mn-box:focus-within{border-color:#5427C4;box-shadow:0 0 0 3px #efe9ff}
.home-goal-editor .mn-box .mn-h{display:inline-block;width:auto;max-width:100%;border:1px solid transparent;background:#FAEBDD;border-radius:6px;padding:3px 8px;font:inherit;font-size:14px;font-weight:800;color:#2b2838}
.home-goal-editor .mn-box .mn-h[data-bg="yellow"]{background:#FBF3DB}.home-goal-editor .mn-box .mn-h:focus{outline:none;border-color:#5427C4}
.mn-ed{min-height:110px;outline:none;font-size:14px;line-height:1.7;color:#2b2838;padding:6px 2px 2px;overflow-wrap:anywhere;caret-color:#5427C4}.mn-freeform .mn-ed{min-height:300px}
.mn-ed:empty::before{content:attr(data-ph);color:#c3bfcc;pointer-events:none}
.tf-md .md-cols.md-full{grid-template-columns:minmax(0,1fr)}
[data-minute-action-lines]{min-height:110px;display:flex;flex-direction:column;gap:8px;padding-top:6px}
.mn-action-help{font-size:12px;color:#8a8598;margin:6px 0}
.mn-action-line{display:grid;grid-template-columns:20px minmax(150px,1fr) minmax(150px,220px) auto 28px;gap:8px;align-items:center}
.mn-action-no{font-size:12px;color:#9a95a8;text-align:center}
#homeEditor .mn-action-line input,#homeEditor .mn-action-line select{width:100%;min-width:0;border:1px solid #e4e0ec;border-radius:7px;padding:7px 8px;font:inherit;font-size:13px;background:#fff}
#homeEditor .mn-action-line input[readonly]{background:#f7f6fa;color:#6d6880}
#homeEditor .mn-action-line button,#homeEditor .mn-action-add{border:1px solid #e4e0ec;border-radius:7px;padding:7px 9px;font:inherit;font-size:12px;background:#fff;color:#5427C4;white-space:nowrap;cursor:pointer}
#homeEditor .mn-action-line button:disabled{color:#518260;cursor:default;background:#f2f8f3}
#homeEditor .mn-action-add{margin-top:8px}
@media(max-width:760px){.mn-action-line{grid-template-columns:20px minmax(0,1fr) auto 28px}.mn-action-line input{grid-column:2/5}.mn-action-line select{grid-column:2}.mn-action-no{grid-row:1/3}}
.mn-ed h1{font-size:17px;font-weight:800;margin:8px 0 4px}.mn-ed h2{font-size:15px;font-weight:800;margin:8px 0 3px}.mn-ed h3{font-size:14px;font-weight:800;margin:6px 0 2px}
.mn-ed h1[data-bg],.mn-ed h2[data-bg],.mn-ed h3[data-bg]{display:inline-block;padding:1px 8px;border-radius:6px;background:#EBECED}.mn-ed [data-bg="yellow"]{background:#FBF3DB!important}.mn-ed [data-bg="orange"]{background:#FAEBDD!important}
.mn-ed p{margin:0 0 2px}.mn-ed ul,.mn-ed ol{margin:2px 0 4px;padding-left:22px}.mn-ed li{margin:1px 0}.mn-ed ul ul,.mn-ed ol ol,.mn-ed ul ol,.mn-ed ol ul{margin:0}
.mn-ed blockquote{margin:2px 0;padding-left:9px;border-left:3px solid #ddd6ee;color:#6d6880}.mn-ed code{background:#f3f1f7;border-radius:4px;padding:0 4px}.mn-ed a{color:#5427C4}.mn-ed hr{border:0;border-top:1px solid #ece8f3;margin:8px 0}
.mn-ed .mn-mark{font-size:11px;color:#b5b0c2;font-family:ui-monospace,monospace}
.mn-ed img{display:block;max-width:100%;height:auto;border:1px solid #ece8f3;border-radius:8px;margin:6px 0;cursor:pointer}.mn-ed img.sel{outline:2px solid #5427C4;outline-offset:2px}
.mn-ed .mn-up{display:inline-block;font-size:12px;color:#5427C4;background:#F1EDFD;border-radius:6px;padding:2px 8px}
.mn-imgh{position:absolute;width:16px;height:16px;border-radius:5px;background:#5427C4;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:nwse-resize;z-index:3;touch-action:none}
.mn-imgw{position:absolute;font-size:10.5px;font-weight:800;color:#fff;background:#5427C4;border-radius:5px;padding:1px 6px;z-index:3;pointer-events:none}
/* ⛶ 전체화면 (보기·작성) */
#homeEditor .mn-fullbtn{margin-left:auto;flex:none;width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid #e4e0ec;background:#fff;border-radius:8px;font-size:14px!important;line-height:1;color:#7c7790;cursor:pointer}#homeEditor .mn-fullbtn:hover{border-color:#5427C4;color:#5427C4}
.home-minute .pp3-head button[data-goal-close]{margin-left:6px}
.home-minute .home-dialog-foot .mn-footr{margin-left:auto;display:flex;gap:8px;align-items:center}.home-minute .home-dialog-foot .hg-delete{margin-right:0}
#homeEditor.mn-full{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;display:flex;flex-direction:column}
#homeEditor.mn-full>form{display:flex;flex-direction:column;flex:1;min-height:0}
#homeEditor.mn-full .home-dialog-body{flex:1;min-height:0;overflow:auto}
#homeEditor.mn-full .rn-mbody,#homeEditor.mn-full .mn-tpl,#homeEditor.mn-full .mn-meta,#homeEditor.mn-full .mn-modes,#homeEditor.mn-full .gv-chips{max-width:1280px;margin-left:auto;margin-right:auto}
#homeEditor.mn-full .rn-mbody{font-size:15px}
@media(max-width:760px){.mn-row{grid-template-columns:minmax(0,1fr)}}
.home-minute .gv-chips{margin-bottom:16px}
.rn-mfield{gap:0}
.rn-mtabs{padding:0;background:none;margin-bottom:8px}
.rn-mtext{width:100%;box-sizing:border-box;min-height:260px!important;resize:vertical;border:1px solid #eae4da;border-radius:10px;padding:12px 14px;font:inherit;font-size:14px;line-height:1.7;color:#2b2838;background:#fff}
.rn-mtext:focus{outline:none;border-color:#5427C4}
.rn-mpreview{border:1px dashed #e4e0ec;border-radius:10px;padding:12px 14px;min-height:260px;box-sizing:border-box;background:#fff}
#panelHome .rn-step{border:1px solid #e4e0ec;background:#fff;border-radius:9px;padding:6px 11px;font:inherit;font-size:12.5px;font-weight:700;color:#7c7790;cursor:pointer}#panelHome .rn-step:hover{border-color:#5427C4;color:#5427C4}
/* 2) 프로젝트 탭: Product Issues · Progress · Tasks · Run 도 프로젝트처럼 큰 박스 하나에 */
.pj-box{background:#fff;border:1px solid #e9e6ef;border-radius:14px;padding:12px 14px;margin-top:20px}
.pj-box>.ov2-section-head{margin:0 0 10px}.pj-box>.ov2-section-head h3{font-size:15px}
/* 박스 제목은 왼쪽 위에 혼자 한 줄 — 주 이동·설명 등은 그 아래 줄로 */
.pj-box>.ov2-section-head,.pj-page .pj-col>.ov2-section-head{flex-wrap:wrap;justify-content:flex-start;row-gap:8px}
.pj-box>.ov2-section-head>h3,.pj-page .pj-col>.ov2-section-head>h3{flex:0 0 100%}
/* 뎁스별 같은 색, 아래로 갈수록 진하게: 1 이슈(Product Issues·Progress) → 2 프로젝트·디벨롭 → 3 Tasks·Run */
.pj-page{--d1:#CDBEF3;--d2:#9677E4;--d3:#5427C4}
.pj-page .pj-box.prod,.pj-page .pj-box.team{border-top:3px solid var(--d1)}
.pj-page .pj-col.prj,.pj-page .pj-col.dev{border-top:3px solid var(--d2)}
.pj-page .pj-box.prj,.pj-page .pj-box.dev,.pj-page .pj-box.run{border-top:3px solid var(--d3)}
/* 표 맨 아래 새 줄: 열마다 바로 입력 (Product Issues · Progress · Tasks · Run) */
.ol-addrow{min-height:40px;background:#fcfbfe}.ol-addrow:focus-within{background:#f7f5fc}
.ol-row>span.ol-addname{gap:8px}.ol-row>span.ol-addname.task{padding-left:38px}
.ol-addname input[name=title]{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:13.5px;color:var(--ov2-ink);padding:4px 0}
.ol-addname input[name=title]::placeholder{color:#a8a3b5}.ol-addname input[name=title]:focus{outline:none}
.ol-addsel{max-width:100%;min-width:0;font:inherit;font-size:12.5px;border:1px dashed #d9d4e4;border-radius:999px;padding:3px 8px;background:#fff;color:#6d6880;cursor:pointer}
.ol-addname .ol-addsel{flex:none;max-width:140px}
.ol-addin{width:100%;min-width:0;font:inherit;font-size:12.5px;border:1px dashed #d9d4e4;border-radius:8px;padding:3px 6px;background:#fff;color:#6d6880}
.ol-addsel:focus,.ol-addin:focus{outline:none;border-style:solid;border-color:#6D3FD6}
.ol-row>span.ol-addcell{grid-column:1/-1;padding-left:38px}
.ol-addrow.off .ol-addcell{color:#b5b0c2;font-size:12.5px}
/* Product Issues 제품 묶음 제목 (Tasks 프로젝트 묶음과 같은 모양) */
.is-pimg{width:22px;height:22px;border-radius:6px;background:#f7f5fb;display:inline-grid;place-items:center;overflow:hidden;flex:none;font-size:12px}.is-pimg img{width:100%;height:100%;object-fit:contain}
/* 박스 제목은 표 머리줄 맨 왼쪽 칸에 (Product Issues · Progress · Tasks · Run) */
.ol-th>span.ol-th-title{gap:7px;color:var(--ov2-ink);font-size:14px;font-weight:800}
.ol-th-title b{font-weight:800;white-space:nowrap}
#panelHome .ol-th-title .ov2-count{font-size:12px;font-weight:800;border-radius:8px;padding:1px 8px;min-width:22px;text-align:center;line-height:1.5}
/* ＋ 추가 버튼 → 누르면 열별 입력 줄 */
#panelHome .ol-addok{flex:none;border:0;background:#6D3FD6;color:#fff;border-radius:7px;padding:3px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
#panelHome .ol-addx{flex:none;border:0;background:none;color:#a8a3b5;font-size:17px;line-height:1;padding:0 2px;cursor:pointer}#panelHome .ol-addx:hover{color:#D6455D}
/* 🧭 Progress 기능 카드: 제품 사진 자리에 기능 이모지 */
.pc3-img.fn-badge{font-size:22px;background:#f3effd}
.ms-empty{margin:0;padding:9px 16px;font-size:12px;color:#c3bfcc;border-top:1px solid #f0edf5}
/* Tasks 타임블럭 칸: 시작–종료 + 실제 쓴 시간 */
.tb-spent{flex:none;margin-left:6px;font-size:11.5px;font-weight:800;color:#5427C4;background:#efe9fd;border-radius:999px;padding:1px 7px;white-space:nowrap}
.ol-pop.ol-pop-tb{width:390px;display:flex;flex-direction:column;gap:6px;padding:10px;max-height:340px;overflow:auto}
.ol-pop-tb label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:#6d6880;font-weight:700}
.ol-pop-tb select{flex:1;max-width:120px;font:inherit;font-size:13px;border:1px solid #e4e0ec;border-radius:8px;padding:4px 6px}
.tb-sum{margin:0;font-size:12px;color:#5427C4;font-weight:700}
.ol-row>span.tb-add{gap:4px}.tb-add .ol-addsel{flex:1}
/* 디벨롭 기능 칩 (프로젝트는 📦 제품 칩) */
.ov2-prod.fn{color:#5427C4;background:#efe9fd}
.pj-kind{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.pj-kind .ov2-prod{font-size:10.5px;padding:1px 6px}
/* Overview 주요일정·주요 스케줄 = Run(내부)·Task(외부) — 눌러서 Task 열기 / Run 탭으로 */
#panelHome .fn-bar{border:0;font:inherit;text-align:left;cursor:pointer}
.fn-bar.done{opacity:.5}
#panelHome .td-ev-t{border:0;background:none;padding:0;font:inherit;text-align:left;cursor:pointer;color:inherit;min-width:0}
#panelHome .td-ev.done .td-ev-t{color:#bdb8c8;text-decoration:line-through}
/* ⚡ Task 패널: 이름·완료 + 피드형 메모(마크다운) */
#homeEditor.home-feed{width:min(520px,100vw);overflow:hidden}
.tf{display:flex;flex-direction:column;height:100%;min-height:0}
.tf-head{display:flex;align-items:center;gap:10px;padding:16px 18px 10px;border-bottom:1px solid #f0edf5}
.tf-done{flex:none;width:18px;height:18px;margin:0;accent-color:#5427C4;cursor:pointer}
.tf-title{flex:1;min-width:0;border:1px solid transparent;border-radius:8px;padding:5px 7px;font:inherit;font-size:17px;font-weight:800;color:#2b2838;background:transparent}
.tf-title:hover{border-color:#ece8f3}.tf-title:focus{outline:none;border-color:#5427C4;background:#fff}
#homeEditor .tf-x{flex:none;border:0;background:none;font-size:22px;line-height:1;color:#9a95a8;cursor:pointer;padding:0 2px}
.tf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 18px 12px;border-bottom:1px solid #f0edf5;font-size:12.5px}
.tf-proj{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:#4a4560}
#homeEditor .tf-edit{margin-left:auto;border:1px solid #e4e0ec;background:#fff;border-radius:8px;padding:3px 9px;font:inherit;font-size:12px;color:#6d6880;cursor:pointer}
.tf-feed{flex:1;min-height:0;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px;background:#faf9fc}
.tf-empty{margin:auto;text-align:center;font-size:13px;color:#a8a3b5}
.tf-note{background:#fff;border:1px solid #ece8f3;border-radius:12px;padding:10px 12px}
.tf-note.pin{background:#fffaf0;border-color:#f3e3c3}
.tf-note header{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:12px}.tf-note header b{color:#2b2838}.tf-note time{color:#a8a3b5}
#homeEditor .tf-del{margin-left:auto;border:0;background:none;color:#c3bfcc;font-size:16px;line-height:1;cursor:pointer;padding:0}#homeEditor .tf-del:hover{color:#D6455D}
.tf-md{font-size:13.5px;line-height:1.6;color:#3a3550;overflow-wrap:anywhere}
.tf-md p{margin:0 0 4px}.tf-md ul,.tf-md ol{margin:2px 0 4px;padding-left:20px}.tf-md h3,.tf-md h4,.tf-md h5{margin:4px 0;font-size:14px}
.tf-md code{background:#f3f1f7;border-radius:4px;padding:0 4px;font-size:12.5px}.tf-md blockquote{margin:2px 0;padding-left:9px;border-left:3px solid #ddd6ee;color:#6d6880}
.tf-md a{color:#5427C4}
.tf-write{border-top:1px solid #f0edf5;padding:12px 18px 16px;background:#fff;display:flex;flex-direction:column;gap:8px}
.tf-write textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:72px;border:1px solid #e4e0ec;border-radius:10px;padding:9px 10px;font:inherit;font-size:13.5px;color:#2b2838}
.tf-write textarea:focus{outline:none;border-color:#5427C4}
.tf-bar{display:flex;align-items:center;gap:8px}.tf-bar small{margin-left:auto;color:#a8a3b5;font-size:11.5px}
.tf-bar select{border:1px solid #e4e0ec;border-radius:8px;padding:4px 6px;font:inherit;font-size:12.5px}
#homeEditor .tf-bar button{border:0;background:#5427C4;color:#fff;border-radius:8px;padding:6px 14px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
/* Time Block 📋 업무 배치: 프로젝트·디벨롭별 묶음 */
.mc-tray-group h5{display:flex;align-items:center;gap:5px;min-width:0}
.mc-tray-group h5 .pj-track{margin-left:0;font-size:9.5px;padding:1px 6px}
.mc-tray-group h5 small{margin-left:auto;color:#a8a3b5;font-weight:700}
/* 타임블럭 여러 개: 블럭마다 날짜·시작–종료 */
.tb-row{display:flex;align-items:center;gap:4px}.tb-row input[type=date]{flex:1;min-width:0;font:inherit;font-size:12.5px;border:1px solid #e4e0ec;border-radius:8px;padding:3px 5px}
.ol-pop-tb .tb-row select{flex:none;width:72px;max-width:none;font-size:12.5px;padding:3px 4px}
.ol-pop-tb .tb-del{border:0;background:none;color:#a8a3b5;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.ol-pop-tb .tb-del:hover{color:#D6455D}
.ol-pop-tb .tb-add{border:1px dashed #cfc7e6;background:#fff;border-radius:8px;padding:5px;font:inherit;font-size:12.5px;font-weight:700;color:#5427C4;cursor:pointer}
.tb-none{margin:0;font-size:12px;color:#a8a3b5}
/* 1뎁스 카드에 쌓이는 실행(프로젝트·디벨롭) + 연결 표시 */
.pc3-link{font-style:normal;font-size:10.5px;flex:none}
.pc3-runs{display:flex;flex-direction:column;gap:3px;padding-top:7px;border-top:1px dashed #ece8f3}
.pc3-runh{font-size:11px;font-weight:700;color:#8a8598}.pc3-runh b{color:#5427C4}.pc3-runh small{font-weight:600;color:#a8a3b5}
#panelHome button.pc3-run{display:flex;align-items:center;gap:5px;border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:700;color:var(--ov2-ink);text-align:left;cursor:pointer;min-width:0}
#panelHome button.pc3-run small{margin-left:auto;flex:none;font-size:10.5px;color:#5427C4;font-weight:800}
#panelHome button.pc3-run.done{color:#b5b0c2}#panelHome button.pc3-run.done small{color:#b5b0c2}
#panelHome button.pc3-run:hover .pc3-t{text-decoration:underline}
.ov2-prod.lk{color:#2F6FC1;background:#e9f1fc;max-width:180px;overflow:hidden;text-overflow:ellipsis}
/* 타임블럭 일자·미팅 체크 */
.tb-meet{display:inline-flex;align-items:center;gap:3px;flex:none;font-size:11.5px;font-weight:700;color:#6d6880;cursor:pointer;white-space:nowrap}.tb-meet input{margin:0;accent-color:#E07B20}
.ol-row>span.tb-add{gap:3px}.tb-add .tb-date{flex:1.3;min-width:0}.tb-add .ol-addsel{flex:1;min-width:0;padding:3px 4px}
.ol-sec-head .ov2-prod{flex:none}
/* 타임블럭 칸 여백 정리: 쓴 시간 · 시간대 / 추가 줄 일자 · 시작 – 종료 · 미팅 칩 */
#panelHome .ol-cell:has(.tb-spent){gap:8px;align-items:center}
.tb-spent{margin:0}
.ol-row>span.tb-add{gap:6px;flex-wrap:nowrap}
.tb-add .tb-date{flex:none;width:122px;padding:4px 6px}
.tb-add .ol-addsel{flex:none;width:70px;padding:4px 6px}
.tb-dash{flex:none;color:#a8a3b5;font-size:12px}
.tb-meet{gap:4px;padding:3px 9px 3px 7px;border:1px dashed #d9d4e4;border-radius:999px;background:#fff;user-select:none}
.tb-meet:has(input:checked){border-style:solid;border-color:#E07B20;color:#B85A10;background:#fff4ea}
.tb-row{gap:6px;padding:2px 0}
.ol-pop-tb .tb-row input[type=date]{flex:none;width:126px;padding:4px 6px}
.ol-pop-tb .tb-row select{width:70px;padding:4px 6px}
.ol-pop-tb .tb-row .tb-meet{margin-left:auto}
/* 1뎁스 카드에 끌어 놓기 (기능·제품 바꾸기), 미분류 카드 */
.dnd-on .pc3-card[data-drop-func],.dnd-on .pc3-card[data-drop-prod]{outline:1.5px dashed transparent;outline-offset:-3px}
.dnd-on .pc3-card.dnd-over{outline-color:#5427C4;background:#f7f4ff}
#panelHome button.pc3-run[data-dnd]{cursor:grab}
/* 📥 프로젝트·디벨롭 없는 Task 묶음 */
.ol-inbox{font-size:14px}
/* Tasks 묶음 줄 분류 칩 (프로젝트 = Product, 디벨롭 = Progress) — 눌러서 고르기 */
.ov2-prod.none{color:#a8a3b5;background:#f6f5f9;box-shadow:inset 0 0 0 1px #e4e0ec}
.ol-sec-head .ol-cell{flex:none;margin:0 2px 0 0}
/* 1뎁스 이슈 줄은 끌 수 있음 → 프로젝트·디벨롭 칸에 놓으면 실행 시작 */
#panelHome button.pc3-goal[data-dnd]{cursor:grab}
.dnd-on .pj-col[data-drop-proj]::after{content:'여기에 놓으면 실행 시작';display:block;margin-top:8px;padding:8px;border:1.5px dashed #c9bdf0;border-radius:10px;text-align:center;font-size:12px;font-weight:700;color:#5427C4;background:#f7f4ff}
/* 포인터 끌기: 손에 집힌 카드 (그림자·살짝 기울기), 끄는 동안 글자 선택·커서 */
.dnd-ghost{box-shadow:0 14px 34px rgba(40,20,90,.28),0 0 0 1.5px #5427C4!important;background:#fff!important;border-radius:10px!important;opacity:.97;transition:none!important}
body.dnd-dragging,body.dnd-dragging *{cursor:grabbing!important;user-select:none!important}
/* Overview 📁 프로젝트 현황 | 🛠 디벨롭 현황 — 나란히 */
.pd-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
@media(max-width:1000px){.pd-row{grid-template-columns:1fr}}
/* Time Block 📋 업무 패널: 오른쪽 30% 크게, 접으면 얇은 탭 — 업무 위주로 보고 캘린더로 끌어 놓기 */
.mc-body{align-items:stretch}
.mc-body.with-tray .mc-tray{flex:0 0 30%;min-width:300px;max-width:460px;box-sizing:border-box;max-height:calc(100vh - 110px);padding:0;display:flex;flex-direction:column;overflow:hidden;position:sticky;top:70px;border-radius:16px;box-shadow:0 6px 24px rgba(40,20,90,.08)}
.mc-tray header{flex:none;display:flex;align-items:center;gap:8px;padding:12px 14px;margin:0;border-bottom:1px solid #f0edf5;background:#fbfafd}
.mc-tray header b{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:800;color:var(--ov2-ink)}
.mc-tray header small{font-size:11.5px;color:#9a94a6;flex:1}
#panelHome .mc-tray .mc-tray-fold{flex:none;border:1px solid #e4e0ec;background:#fff;border-radius:8px;width:28px;height:28px;font-size:14px;color:#6d6880;cursor:pointer}
.mc-tray-body{flex:1;min-height:0;overflow-y:auto;padding:6px 14px 14px}
.mc-tray .mc-tray-group{margin-top:12px}
.mc-tray .mc-tray-group h5{margin:0 0 8px;font-size:13px;font-weight:800;color:#3a3550}
.mc-tray .mc-tray-group h5 .pj-track{font-size:10px;padding:1px 7px}
.mc-tray .mc-tray-item{padding:9px 11px;margin-bottom:6px;border-radius:10px;border-left-width:4px;gap:3px}
.mc-tray .mc-tray-item b{font-size:13.5px;white-space:normal;line-height:1.35}
.mc-tray .mc-tray-item small{font-size:11.5px;opacity:.8}
.mc-tray .mc-tray-item:hover{filter:brightness(.97)}
.mc-tray-empty{font-size:12.5px;margin:14px 2px}
#panelHome .mc-tray-tab{flex:0 0 36px;align-self:stretch;writing-mode:vertical-rl;border:1px solid #e4e0ec;background:#fbfafd;border-radius:12px;font:inherit;font-size:12.5px;font-weight:800;color:#5427C4;cursor:pointer;padding:12px 0;letter-spacing:.04em}
#panelHome .mc-tray-tab:hover{background:#f3efff}
@media(max-width:900px){.mc-body.with-tray .mc-tray{flex-basis:auto;max-width:none;width:100%;position:static;max-height:none}#panelHome .mc-tray-tab{writing-mode:horizontal-tb;align-self:auto}}
/* Time Block 📋 업무 패널: 버튼으로 여는 오른쪽 사이드 패널 (전체 높이) — 캘린더는 그만큼 비켜 줌 */
#panelHome .mc-panel-btn{margin-left:auto;border:1px solid #d9d0f3;background:#fff;border-radius:9px;padding:6px 12px;font:inherit;font-size:13px;font-weight:800;color:#5427C4;cursor:pointer}
#panelHome .mc-panel-btn.on{background:#5427C4;border-color:#5427C4;color:#fff}
.mc-page.with-drawer{padding-right:min(32vw,480px)}
.mc-drawer{position:fixed;top:0;right:0;bottom:0;width:min(30vw,460px);min-width:320px;z-index:950;background:#fff;border-left:1px solid #e9e6ef;box-shadow:-14px 0 40px rgba(40,20,90,.12);display:flex;flex-direction:column;animation:mcDrawerIn .18s ease-out}
@keyframes mcDrawerIn{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.mc-drawer header{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:16px 18px 12px;border-bottom:1px solid #f0edf5;background:#fbfafd}
.mc-drawer header b{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:800;color:var(--ov2-ink)}
.mc-drawer header small{flex:0 0 100%;font-size:12px;color:#9a94a6}
#panelHome .mc-drawer-x{margin-left:auto;border:0;background:none;font-size:22px;line-height:1;color:#9a95a8;cursor:pointer;padding:0 2px}
.mc-drawer .mc-tray-body{flex:1;min-height:0;overflow-y:auto;padding:4px 18px 18px}
.mc-drawer .mc-tray-group{margin-top:14px}
.mc-drawer .mc-tray-group h5{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13.5px;font-weight:800;color:#3a3550}
.mc-drawer .mc-tray-group h5 .pj-track{margin:0;font-size:10px;padding:1px 7px}
.mc-drawer .mc-tray-group h5 small{margin-left:auto;color:#a8a3b5;font-weight:700}
.mc-drawer .mc-tray-item{padding:10px 12px;margin-bottom:7px;border-radius:10px;border-left-width:4px;gap:4px}
.mc-tline{display:flex;align-items:flex-start;gap:6px;width:100%}.mc-tline b{flex:1;min-width:0;font-size:13.5px;white-space:normal;line-height:1.35}
.mc-who{flex:none;font-size:11px;font-weight:800;border-radius:999px;padding:2px 8px;background:var(--pb);color:var(--pf);box-shadow:inset 0 0 0 1px var(--pc)}
.mc-who.none{background:#f3f1f7;color:#a8a3b5;box-shadow:inset 0 0 0 1px #e4e0ec}
.mc-drawer .mc-tray-item small{font-size:11.5px;opacity:.8}
@media(max-width:900px){.mc-page.with-drawer{padding-right:0}.mc-drawer{width:100vw;min-width:0}}
/* 업무 패널 Product | Progress 탭 */
.mc-drawer header .mc-tray-tabs{flex:0 0 auto;margin-top:6px}
#panelHome .mc-tray-tabs button small{font-size:11px;font-weight:700;color:inherit;opacity:.7;flex:none}
/* 업무 패널 = Task 화면 같은 리스트: 묶음 머리줄 + 줄마다 업무 | 담당자 | 마감일 */
.mc-drawer .mc-tray-group{margin-top:12px;border:1px solid #e9e6ef;border-radius:12px;overflow:hidden;background:#fff}
.mc-drawer .mc-tray-group h5{margin:0;padding:9px 12px;background:#f7f9fd;border-bottom:1px solid #eef0f6;font-size:13px}
.mc-drawer .mc-tray-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:0;padding:9px 12px;border:0;border-top:1px solid #f0edf5;border-radius:0;background:#fff;color:var(--ov2-ink);box-shadow:inset 3px 0 0 var(--pc)}
.mc-drawer .mc-tray-group h5+.mc-tray-item{border-top:0}
.mc-drawer .mc-tray-item:hover{background:#faf9fd;filter:none}
.mc-drawer .mc-tray-item b{font-size:13.5px;font-weight:600;white-space:normal;line-height:1.35;min-width:0}
.mc-whos{display:inline-flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}
.mc-drawer .mc-tray-item .ov2-due{font-size:11.5px;padding:2px 8px;white-space:nowrap}
.mc-nodue{font-size:11px;color:#b5b0c2;white-space:nowrap}
.mc-drawer .mc-tray-group h5 .ov2-prod{flex:none;font-size:10.5px;padding:1px 7px}
/* Tasks 묶음 줄 ✓ 프로젝트 완료 */
#panelHome .ol-finish{flex:none;border:1px solid #bfe3cf;background:#effaf3;color:#1F8A55;border-radius:8px;padding:3px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
#panelHome .ol-finish:hover{background:#1F8A55;border-color:#1F8A55;color:#fff}
/* 📝 4) Retro */
.rt-page .pj-tabs{margin:4px 0 14px}
.rt-list{display:flex;flex-direction:column;gap:14px}
.rt-card{background:#fff;border:1px solid #e9e6ef;border-top:3px solid #5427C4;border-radius:14px;padding:14px 16px}
.rt-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.rt-head h3{margin:0;font-size:16px;font-weight:800;color:var(--ov2-ink)}
.rt-kind{font-size:11.5px;font-weight:700;color:#8a8598}.rt-period{font-size:12px;color:#6d6880}
#panelHome .rt-reopen{margin-left:auto;border:1px solid #e4e0ec;background:#fff;border-radius:8px;padding:4px 10px;font:inherit;font-size:12px;color:#6d6880;cursor:pointer}
.rt-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.rt-body h4{margin:0 0 8px;font-size:13px;font-weight:800;color:#3a3550}.rt-body h4 small{font-weight:700;color:#9a95a8}
.rt-task{display:flex;align-items:center;gap:6px;padding:5px 0;border-top:1px solid #f3f1f7;font-size:13px}.rt-task:first-of-type{border-top:0}
.rt-task.d2{padding-left:18px}.rt-task.d3{padding-left:34px}.rt-task.d4{padding-left:50px}
.rt-chk{flex:none;width:16px;color:#1F8A55;font-weight:800}.rt-task:not(.done) .rt-chk{color:#c3bfcc}
#panelHome .rt-tt{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;text-align:left;color:var(--ov2-ink);cursor:pointer}#panelHome .rt-tt:hover{color:#5427C4}
.rt-task.done .rt-tt{color:#6d6880}
.rt-notes textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #e4e0ec;border-radius:10px;padding:9px 10px;font:inherit;font-size:13.5px;color:var(--ov2-ink)}
.rt-notes textarea:focus{outline:none;border-color:#5427C4}
.rt-md{margin-top:10px;padding:10px 12px;background:#faf9fc;border-radius:10px}
.rt-empty{margin:4px 0;font-size:12.5px;color:#a8a3b5}
@media(max-width:900px){.rt-body{grid-template-columns:1fr}}
/* 🍱 사이드바 오늘의 메뉴 (윤식당) — 밝은 카드, 메인은 이모지 줄, 반찬은 칩 */
.rail-home{display:flex;flex-direction:column;min-height:100%}
.workspace-rail .lunch{margin-top:auto;margin-bottom:46px;padding-top:18px}
.lunch-card{--lp:#fffaf2;position:relative;background:var(--lp);color:#3a3029;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.lunch-h,.lunch-day,.lunch-mains,.lunch-sides,.lunch-next,.lunch-f,.lunch-empty{margin:0;padding-left:13px;padding-right:13px}
.lunch-h{display:flex;align-items:center;gap:6px;font-weight:800;font-size:13px;border-radius:12px 12px 0 0;padding-top:12px;padding-bottom:6px}.lunch-h small{margin-left:auto;font-weight:600;font-size:11px;color:#9a8f84}
.workspace-rail .lunch button.lunch-edit{display:inline-grid;place-items:center;grid-template-columns:none;width:22px;height:22px;min-height:0;padding:0;border-radius:6px;background:#f1e7d8;color:#7a6a5c;font-size:12px;font-weight:700;cursor:pointer;flex:none}
.workspace-rail .lunch button.lunch-edit:hover{background:#e8d9c4}
.lunch-day{font-size:11px;font-weight:800;color:#c25b12;letter-spacing:.02em;padding-bottom:6px}
.lunch-mains{display:flex;flex-direction:column;gap:5px;padding-bottom:8px}
.lunch-mains div{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;line-height:1.3}
.lunch-mains i{font-style:normal;width:22px;height:22px;border-radius:7px;background:#f3e9da;display:grid;place-items:center;font-size:12px;flex:none}
.lunch-sides{display:flex;flex-wrap:wrap;gap:4px;padding-top:8px;padding-bottom:8px;border-top:1px dashed #e2d6c6}
.lunch-sides span{font-size:10.5px;color:#5f5349;background:#f3ebdf;border-radius:999px;padding:2px 7px}
.lunch-next{display:flex;flex-direction:column;gap:3px;padding-top:7px;padding-bottom:8px;border-top:1px dashed #e2d6c6}.lunch-next b{font-size:11.5px;color:#6f6359}.lunch-next span{font-size:12px;font-weight:700}
.lunch-empty{font-size:12px;color:#9a8f84;padding-bottom:8px}
.lunch-f{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#9a8f84;white-space:nowrap;padding-top:4px;padding-bottom:11px;}
.lunch-f a{margin-left:auto;color:#9a8f84;text-decoration:underline;text-underline-offset:2px}
.lunch-dialog{border:0;border-radius:18px;padding:0;width:min(420px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.2)}
.lunch-dialog::backdrop{background:#20212435}
.lunch-dialog form{display:flex;flex-direction:column;gap:12px;padding:18px 20px}.lunch-dialog h2{margin:0;font-size:18px}
.lunch-dialog label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#4a4658}.lunch-dialog label small{font-weight:500;color:#9a95a8}
.lunch-dialog input,.lunch-dialog textarea{font:inherit;font-size:14px;font-weight:500;padding:8px 10px;border:1px solid #e4e0ea;border-radius:9px;resize:vertical}
.lunch-dialog footer{display:flex;justify-content:flex-end;gap:8px}.lunch-dialog footer button{border:0;border-radius:9px;padding:8px 16px;font:inherit;font-weight:700;background:#f1eff5;cursor:pointer}.lunch-dialog footer .primary{background:#ff7900;color:#fff}
.lunch-err{margin:0;color:#D04545;font-size:12.5px}
.pj-col .pj-grid>.td-none{grid-column:1/-1;margin:4px 2px;font-size:12.5px;color:#a8a3b5}
/* Product·Progress 보드 카드: ＋ 추가 버튼 → 입력칸 */
#panelHome .pc3-addbtn{margin-top:auto;width:100%;border:1.5px dashed #d9d4e4;background:#fff;border-radius:9px;padding:6px 8px;font:inherit;font-size:12.5px;font-weight:700;color:#8a8598;text-align:left;cursor:pointer}
#panelHome .pc3-addbtn:hover{border-color:#5427C4;color:#5427C4;background:#faf8ff}
#panelHome .pc3-quick .pc3-qx{flex:none;border:0;background:none;color:#a8a3b5;font-size:16px;line-height:1;padding:0 2px;cursor:pointer}
/* Overview 주요일정·주요 스케줄 톤다운: 진한 채움 → 연한 배경 + 왼쪽 띠 + 진한 글자 */
.fn-bar.k-internal,.td-ev.int{background:#F1ECFC;color:#4F3A9A;box-shadow:inset 3px 0 0 #9B85DC}
.fn-bar.k-external,.td-ev.ext{background:#FDF0E3;color:#9A5420;box-shadow:inset 3px 0 0 #E8A267}
.fn-legend i.k-internal{background:#B6A5E6}.fn-legend i.k-external{background:#EDB384}
.fn-bar.done,.td-ev.done{opacity:.55}
.fn-bar.past{opacity:.5}.fn-bar.past .fn-t{text-decoration:line-through}   /* 주요 스케줄: 날짜가 지난 것만 삭선 */
.td-ev .fn-del{color:inherit}
.td-date{background:#EDE7FB;color:#4F3A9A}
.fn-day.today{background:#EDE7FB;color:#4F3A9A}.fn-day.today small{color:#7A66B8}
#panelHome .fn-add{background:#F1ECFC;color:#5427C4;box-shadow:inset 0 0 0 1px #D9CEF5}
#panelHome .fn-add:hover{background:#E7DFFA}
/* 프로젝트·디벨롭 카드: 진행률 도넛을 오른쪽으로 (Overview 현황 · Task 공통) */
#panelHome .pj-card .pj-txt{flex:1;order:1}
#panelHome .pj-card .pj-ring{order:2;margin-left:auto}
.tb-allday:has(input:checked){border-style:solid;border-color:#9B85DC;color:#4F3A9A;background:#F1ECFC}
.ol-pop-tb .tb-row select:disabled{opacity:.45}
/* ＋ 업무 추가 줄 타임블럭 칸: 일자 · 시작 – 종료 / 종일 · 미팅 은 아래 줄 (칸 밖으로 넘치지 않게) */
.ol-row>span.tb-add{flex-wrap:wrap;row-gap:5px;padding-top:6px;padding-bottom:6px}
.tb-add .tb-allday{margin-left:0}
/* 프로젝트·디벨롭 카드 진행률 색 (연하게) — 0~50 초록 · 51~99 파랑 · 100 빨강(진하게, 눈에 띄게) */
#panelHome .pj-card.band-low{background:#F2FAF5;border-color:#CFEBD9}#panelHome .pj-card.band-low .pj-ring{--c:#5BBF86}
#panelHome .pj-card.band-mid{background:#EFF5FD;border-color:#CADCF4}#panelHome .pj-card.band-mid .pj-ring{--c:#5A9BE0}
#panelHome .pj-card.band-full{background:#FDE7E9;border-color:#EE9EA4;box-shadow:0 0 0 1px #EE9EA4}#panelHome .pj-card.band-full .pj-ring{--c:#E5484D}
#panelHome .pj-card.band-full .pj-ring b{color:#C53A40}
/* 프로젝트·디벨롭 수정 창: 할당된 Task 리스트 */
.pe-tasks{border:1px solid var(--hg-line,#eae4da);border-radius:12px;padding:4px 12px;background:#fff}
.pe-task{display:flex;align-items:center;gap:6px;padding:7px 0;border-top:1px solid #f3f1f7;font-size:13.5px}.pe-task:first-child{border-top:0}
.pe-task.d2{padding-left:18px}.pe-task.d3{padding-left:34px}.pe-task.d4{padding-left:50px}
.pe-task:not(.done) .rt-chk{color:#c3bfcc}.pe-task.done .rt-tt{color:#8a8598;text-decoration:line-through}
#homeEditor .pe-task .rt-tt{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;text-align:left;color:#2b2838;cursor:pointer}#homeEditor .pe-task .rt-tt:hover{color:#5427C4}
.pe-task .ov2-owner,.pe-task .ov2-due{font-size:11.5px;padding:2px 8px}
.hg-editor-section-head h3 small{font-size:12px;font-weight:600;color:#9a95a8;margin-left:4px}
/* Tasks 줄: 마감 D-Day 는 연한 빨강, 마감 지남은 더 진하게 (끝난 업무 제외) */
.ol-row.dueday{background:#FFF4F4}
.ol-row.overdue{background:#FDE4E4}
.ol-row.overdue .ol-title button{color:#A8282E}
/* 마감일 고르기: 오늘부터 5주 */
.ol-mc-head small{font-size:11.5px;color:#9a95a8}
.ol-mc-grid button:disabled{cursor:default;background:none}
.ol-mc-grid button.m1{font-weight:800;color:#5427C4}.ol-mc-grid button.m1.sel{color:#fff}
.ol-mc-cur{margin:0 2px 6px;font-size:11.5px;color:#B83D7F}
.ol-pop-cal .ol-tm-clear{margin-top:6px;width:100%}
/* 타임블럭: 미팅 · 종일 순서 (미팅이 왼쪽) */
.ol-pop-tb .tb-row .tb-meet+.tb-meet{margin-left:0}
.tb-add .tb-meet{margin-left:0}
/* Task 사이드 패널 본문: 마크다운 글 한 편 — 작성 / 미리보기, 저장 */
.tf-tabs{display:flex;gap:4px;padding:8px 18px 0;border-bottom:1px solid #f0edf5;background:#fff}
#homeEditor .tf-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:6px 10px;font:inherit;font-size:12.5px;font-weight:700;color:#9a95a8;cursor:pointer}
#homeEditor .tf-tabs button[aria-selected="true"]{color:#5427C4;border-bottom-color:#5427C4}
#homeEditor .tf-feed{background:#fff;gap:12px}
.tf-text{flex:1;min-height:260px;width:100%;box-sizing:border-box;resize:none;border:0;padding:0;font:inherit;font-size:14px;line-height:1.7;color:#2b2838;background:transparent}
.tf-text:focus{outline:none}
.tf-view{flex:1;font-size:14px;line-height:1.7}
.tf-view .tf-empty{margin:40px 0;text-align:center}
.tf-old{border-top:1px dashed #ece8f3;padding-top:8px;font-size:12.5px;color:#8a85a0}
.tf-old summary{cursor:pointer;font-weight:700;margin-bottom:6px}
.tf-old .tf-note{margin-top:6px;background:#faf9fc}
.tf-save{display:flex;align-items:center;gap:10px;border-top:1px solid #f0edf5;padding:10px 18px 14px;background:#fff}
.tf-save small{color:#a8a3b5;font-size:11.5px}.tf-save small:nth-child(2){margin-left:auto}
.tf-save small.dirty{color:#C25A10;font-weight:700}
#homeEditor .tf-save button{border:0;background:#5427C4;color:#fff;border-radius:8px;padding:7px 18px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
#homeEditor .tf-save button:disabled{background:#d9d4e4;cursor:default}
/* Task 리스트: 프로젝트·디벨롭 사이 구분선은 Task 사이 줄보다 굵고 진하게 (상위 구분) */
.ol-sec+.ol-sec .ol-sec-head{border-top:2px solid #C9C1DA}
/* Time Block 기간: 이번 주 · 이번 달 (월요일 시작) */
.mc-range{font-size:12.5px;font-weight:700;color:#4a4560;white-space:nowrap}
.mc-month{margin-top:4px}.mc-month .om-day{min-height:104px}
.mc-month .mc-chip{display:block;width:100%;box-sizing:border-box;flex:none}
.mc-month .mc-chip.done{opacity:.55;text-decoration:line-through}
.mc-month .mc-chip .mc-time{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}
/* Time Block 머리: 담당자 고르기는 📋 업무 패널 버튼 바로 왼쪽 (기간은 왼쪽 끝) */
.mc-head .mc-people{margin-left:auto}
#panelHome .mc-head .mc-panel-btn{margin-left:0}
/* 업무 패널 담당자 필터 */
.mc-drawer header .mc-tray-who{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
#panelHome .mc-tray-who button{border:1px solid #e3dfeb;background:#fff;border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;font-weight:700;color:#6d6880;cursor:pointer}
#panelHome .mc-tray-who button[aria-pressed="true"]{background:var(--pb,#EEE8FC);border-color:var(--pc,#6b4fd8);color:var(--pf,#4F3A9A)}
/* 주말 없음: 주요 스케줄 · Time Block 달력은 월~금 5칸 */
.fn-head,.fn-lanes{grid-template-columns:repeat(5,minmax(0,1fr))}
.fn-lanes{background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100%/5 - 1px),#f0eef5 calc(100%/5 - 1px),#f0eef5 calc(100%/5))}
.mc-month .om-head,.mc-month .om-cells{grid-template-columns:repeat(5,minmax(0,1fr))}
.mc-month .om-day:nth-child(n){border-left:1px solid #f0edf5;border-top:1px solid #f0edf5}
.mc-month .om-day:nth-child(5n+1){border-left:0}.mc-month .om-day:nth-child(-n+5){border-top:0}
/* Task 리스트 줄 삭제 버튼 × (마우스를 올리면 보임) */
#panelHome .ol-del{margin-left:auto;flex:none;border:0;background:transparent;border-radius:7px;padding:1px 6px;font-size:16px;font-weight:700;line-height:1;color:#A8282E;cursor:pointer;opacity:0}
#panelHome .ol-addsub+.ol-del{margin-left:2px}
#panelHome .ol-row:hover .ol-del,#panelHome .ol-del:focus-visible{opacity:.55}
#panelHome .ol-del:hover{opacity:1;background:#FDE4E4}
/* Retro 카드 완료 취소 버튼: 눈에 띄게 */
#panelHome .rt-reopen{border-color:#CFC3F2;color:#5427C4;font-weight:800;background:#F6F2FE}
#panelHome .rt-reopen:hover{background:#EDE6FC;border-color:#5427C4}
/* Product Issue · Progress 보기 팝업 삭제 버튼 (왼쪽 끝) */
.home-goal-view .home-dialog-foot .hg-delete{margin-right:auto;color:#b6404e;border-color:#f1d7da}

/* 업무 추가 빈 줄: 리스트 줄과 같은 모양 (2026-10-27) */
.ol-addrow.ol-ghost{background:#fff}.ol-addrow.ol-ghost:focus-within{background:#fafcff}
.ol-ghost .ol-addname input[type=checkbox]{opacity:.35;cursor:default}
.ol-ghost .ol-addname input[name=title]::placeholder{color:#b3aec0}
.ol-ghost .ol-addname .ol-addsel{opacity:0;transition:opacity .15s}.ol-ghost:focus-within .ol-addname .ol-addsel,.ol-ghost:hover .ol-addname .ol-addsel{opacity:1}
#panelHome .ol-subform{padding:0;margin:0;min-height:42px;border:0;border-top:1px solid #f0edf5;border-radius:0;background:#fff;box-shadow:none}#panelHome .ol-subform:focus-within{background:#fafcff}   /* 하위 업무 입력도 리스트 줄 모양 */
#panelHome .ol-subform .ol-name input[name=title]{flex:1;min-width:0;height:auto;border:0;border-radius:0;background:transparent;font:inherit;font-size:13.5px;font-weight:400;padding:4px 0}#panelHome .ol-subform .ol-name input[name=title]:focus{outline:none}

/* 업무 추가 빈 줄: 줄 어디를 눌러도 입력되고, 누르면 입력 중인 게 보이게 (2026-10-27) — 전에는 글자 줄(15px)만 눌려 '버튼이 안 눌리는' 것처럼 보였음 */
.ol-addrow.ol-ghost{cursor:text}.ol-addrow.ol-ghost:hover{background:#faf8ff}
.ol-addrow.ol-ghost:focus-within{background:#f4f0ff;box-shadow:inset 3px 0 0 #6b4de6}
.ol-ghost .ol-addname input[type=checkbox]{pointer-events:none}
#panelHome .ol-ghost .ol-addname input[name=title],.ol-ghost .ol-addname input[name=title]{align-self:stretch;min-height:28px;cursor:text}
.ol-ghost .ol-addname input[name=title]::placeholder{color:#8f86a8}
