/* 갓잇 데스크 — 라이트 기본(배너의 햇빛 든 사무실), ☀/☾ 로 고정(localStorage gd_theme). 녹색은 체크 상태에만. */
:root{--bg:#f6f3ee;--bg2:#fbfaf7;--card:#ffffff;--line:#e4dfd6;--fg:#1f2320;--muted:#6f7369;--body:#363b36;--chip:#efebe3;--chipfg:#4a4f48;
  --accent:#1f5f8b;--accent-soft:#e3eef6;--accent2:#d9601a;--accent2-soft:#fbead9;--ok:#2f7a4a;--ok-soft:#e1f1e6;--warn:#b4570f;--danger:#c23b3b;--toast:#1f2320;
  --mono:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo",system-ui,sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#15171a;--bg2:#1a1d21;--card:#1f2327;--line:#30353b;--fg:#e8e8e3;--muted:#9a9e97;--body:#cfd2cc;--chip:#2a2f35;--chipfg:#c9cdd6;
  --accent:#7fb4dc;--accent-soft:#1e2f3c;--accent2:#e5a068;--accent2-soft:#3a2a1a;--ok:#7dc695;--ok-soft:#1b3324;--warn:#e5a068;--danger:#ff7b7b;--toast:#2a2f35;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15171a;--bg2:#1a1d21;--card:#1f2327;--line:#30353b;--fg:#e8e8e3;--muted:#9a9e97;--body:#cfd2cc;--chip:#2a2f35;--chipfg:#c9cdd6;
  --accent:#7fb4dc;--accent-soft:#1e2f3c;--accent2:#e5a068;--accent2-soft:#3a2a1a;--ok:#7dc695;--ok-soft:#1b3324;--warn:#e5a068;--danger:#ff7b7b;--toast:#2a2f35;color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.55 "Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}
a{color:var(--accent);text-decoration:none}
.hidden{display:none!important}
.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.n,.d,.cnt,.k,.kbd,.cgrid .day .n,pre.copy{font-variant-numeric:tabular-nums}
/* 메모 패널(AI 없이 즉시, 체크·숫자) */
.capture .modes{display:flex;gap:4px}
.memo{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px dashed var(--line)}
.memo:last-child{border-bottom:0}
.memo input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--ok);flex:0 0 auto}
.memo .mt{flex:1;min-width:0;background:transparent;border:1px solid transparent;padding:3px 6px;border-radius:6px}
.memo .mt:focus{border-color:var(--line);background:var(--bg2)}
.memo .mn{width:64px;text-align:right;padding:3px 6px;font-variant-numeric:tabular-nums;flex:0 0 auto}
.memo.done .mt{text-decoration:line-through;color:var(--muted)}
.memo .mx{opacity:.5;border:0;background:transparent;padding:2px 4px}
.memo .mx:hover{opacity:1}
.memo .small{white-space:nowrap}
@media (max-width:600px){.memo .small{display:none}}
.memo.row,.memo.head{display:grid;grid-template-columns:22px 150px 1fr 130px 130px auto;gap:8px;align-items:center}
.memo .md{padding:3px 4px;font-size:12px;background:transparent;border:1px solid transparent;border-radius:6px;min-width:0}
.memo .md:focus{border-color:var(--line);background:var(--bg2)}
.memo .mdue.over{color:var(--danger);font-weight:600}.memo .mdue.today{color:var(--accent2);font-weight:600}.memo .mdue.soon{color:var(--warn)}
@media (max-width:900px){.memo.row,.memo.head{grid-template-columns:22px 96px 1fr 112px auto}.memo .mr,.memo.head span:nth-child(4){display:none}}
.memo.head{font-size:11px;color:var(--muted);padding:4px 10px;border-bottom:1px solid var(--line)}
.memo.head .r{text-align:right}
.memo .mc{min-width:0;background:transparent;border:1px solid transparent;padding:3px 6px;border-radius:6px;font-weight:600}
.memo .mc:focus{border-color:var(--line);background:var(--bg2)}
.memo .acts2{display:flex;gap:2px;align-items:center}
.memo.add{justify-content:flex-start;gap:10px}
@media (max-width:600px){.memo.row,.memo.head{grid-template-columns:22px 80px 1fr 104px auto;gap:4px}.memo .acts2 .ghost{display:none}}
/* 캘린더 목록·주 */
.agenda{display:flex;flex-direction:column;gap:8px}
.cday{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 10px 8px}
.cday.empty{background:transparent;border-style:dashed;padding:4px 10px}
.cday.today{border-color:var(--accent2);box-shadow:0 0 0 2px var(--accent2-soft)}
.cdh{display:flex;align-items:center;gap:8px;font-weight:700;padding:4px 0;font-size:13px}
.cdh .cnt{font-weight:400;color:var(--muted);font-size:11px}
.cdh.hol>span:first-child{color:var(--danger)}
.cdh.over{color:var(--danger)}
.cdh .ghost{margin-left:auto}
.citem{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px dashed var(--line)}
.citem .chk{width:17px;height:17px;margin:3px 0 0;accent-color:var(--ok);flex:0 0 auto}
.citem .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.citem .cbody{flex:1;min-width:0}
.citem .ct{font-weight:500;line-height:1.4}
.citem .cs{font-size:12px;color:var(--muted)}
.citem .cacts{display:flex;gap:4px;margin-top:3px}
.citem .cacts .ghost{padding:1px 8px;font-size:11px}
.citem .ct a{color:var(--fg)}
.citem .ct a:hover{color:var(--accent)}
.citem.done .ct{text-decoration:line-through;color:var(--muted)}
.citem.over .ct a{color:var(--danger)}
.citem>.chip{flex:0 0 auto;margin-top:3px}
.qadd{display:flex;gap:6px;margin-top:6px}
.qadd input{flex:1}.qadd select{width:auto;max-width:40%}
.wgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.wcol{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 8px;min-width:0}
.wcol.today{border-color:var(--accent2)}
.wcol .citem{flex-wrap:wrap}.wcol .citem>.chip{display:none}
@media (max-width:900px){.wgrid{grid-template-columns:1fr}}
.layers .lc{font-size:10px;color:var(--muted);margin-left:2px}
.layers .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
/* 업무 체크·진행률 */
.task .chk{width:18px;height:18px;margin:2px 8px 0 0;accent-color:var(--ok);flex:0 0 auto}
.task .tl2{display:flex;align-items:flex-start;min-width:0}
.task .prog{width:58px;padding:2px 6px;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.task.done .t{text-decoration:line-through;color:var(--muted)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
input,select,textarea{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--fg);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{min-height:80px;resize:vertical}
.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:600;white-space:nowrap}
.btn.sec{background:var(--card);border:1px solid var(--line);color:var(--fg)}
.btn.warn{background:var(--accent2);color:#fff}
.btn.small{padding:4px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:default}
.ghost{background:transparent;color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.ghost.small{padding:3px 9px;font-size:12px}
.ghost.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.icon{background:transparent;border:0;color:var(--fg);font-size:18px;padding:4px 8px}

/* 로그인 */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.login .card{text-align:center;max-width:380px;width:100%;padding:32px 24px}
.login .logo{width:72px;height:72px;border-radius:16px}
.login h1{margin:10px 0 6px;font-size:22px}
#gbtn{display:flex;justify-content:center;margin:18px 0 8px;min-height:44px}
.msg{min-height:1.5em;color:var(--accent2);font-size:13px}

/* 쉘 */
.shell{min-height:100vh;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:14px;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--bg2);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--fg);white-space:nowrap}
.brand img{width:26px;height:26px;border-radius:7px}
.nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav a{padding:6px 11px;border-radius:999px;color:var(--muted);white-space:nowrap;font-weight:500;display:flex;gap:4px;align-items:center}
.nav a:hover{background:var(--chip);color:var(--fg)}
.nav a.active{background:var(--accent-soft);color:var(--accent)}
.badge{background:var(--accent2);color:#fff;border-radius:999px;font-size:11px;padding:0 6px;font-weight:700;line-height:17px}
.badge:empty{display:none}
.who{display:flex;align-items:center;gap:8px;white-space:nowrap}
.avatar{width:26px;height:26px;border-radius:50%;background:var(--chip)}
.view{padding:18px;max-width:1100px;width:100%;margin:0 auto;flex:1}
.tabbar{display:none}
@media (max-width:760px){
  .top{padding:8px 12px;gap:8px}.nav{display:none}.who .small,.who .ghost{display:none}
  .view{padding:12px 12px 80px}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));z-index:5}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;color:var(--muted);padding:2px 0}
  .tabbar a span{font-size:11px}.tabbar a.active{color:var(--accent)}
}

/* 공통 */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap6{gap:6px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:860px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}}
h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:0 0 8px}
.section{margin:14px 0 6px;font-size:12px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.section:after{content:"";flex:1;height:1px;background:var(--line)}
.chip{display:inline-block;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;line-height:18px;background:var(--chip);color:var(--chipfg)}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--accent2-soft);color:var(--accent2)}.chip.acc{background:var(--accent-soft);color:var(--accent)}.chip.danger{background:#fde8e8;color:var(--danger)}
:root[data-theme=dark] .chip.danger{background:#3a1f1f}
.s-todo{background:var(--chip);color:var(--chipfg)}.s-doing{background:var(--accent-soft);color:var(--accent)}.s-done{background:var(--ok-soft);color:var(--ok)}.s-hold{background:var(--accent2-soft);color:var(--accent2)}
.p-high{color:var(--accent2)}.p-urgent{color:var(--danger);font-weight:700}.p-low{color:var(--muted)}
.t-ops{background:var(--accent-soft);color:var(--accent)}.t-data{background:#ece6f7;color:#5b3f9e}.t-support{background:var(--accent2-soft);color:var(--accent2)}.t-field{background:#e8efe3;color:#4a6b2f}.t-growth{background:#fdf1d6;color:#8a5a00}
:root[data-theme=dark] .t-data{background:#2b2340;color:#c7b3f0}:root[data-theme=dark] .t-field{background:#22301c;color:#a9cf8e}:root[data-theme=dark] .t-growth{background:#3a2e12;color:#f0c66e}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.item{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.item .t{font-weight:600}
.item .m{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:3px;align-items:center}
.item .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.due.over{color:var(--danger);font-weight:600}.due.today{color:var(--accent2);font-weight:600}.due.soon{color:var(--warn)}
.empty{color:var(--muted);padding:20px;text-align:center}
.toast{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);background:var(--toast);color:#fff;border-radius:10px;padding:10px 16px;z-index:50;font-size:13px;max-width:90vw}
.field{margin-bottom:10px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.kbd{font-family:var(--mono);font-size:11px;background:var(--chip);border-radius:4px;padding:1px 5px}
pre.copy{font-family:var(--mono);font-size:12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;white-space:pre-wrap;word-break:break-all;margin:8px 0}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:40px 12px;overflow:auto}
.mbox{width:100%;max-width:600px}
@media (prefers-reduced-motion:no-preference){.item,.btn{transition:border-color .15s,background .15s}}

/* 데스크 홈 */
.hero{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(120deg,#f7e6c9 0%,#f6f3ee 55%,#dbe9f3 100%);border:1px solid var(--line);display:flex;align-items:center;margin-bottom:14px}
.hero img.banner{width:100%;height:auto;display:block}   /* 원본 비율 그대로, 잘라내지 않는다(2026-10-02 사용자 요청) */
.hero .ph{display:flex;align-items:center;gap:14px;padding:16px 20px}
.hero .ph img{width:64px;height:64px;border-radius:14px}
.hero .ph .k{font-size:11px;letter-spacing:.12em;color:var(--muted);font-family:var(--mono)}
.hero .ph .h{font-size:22px;font-weight:800;line-height:1.2;color:#1f2320}
.hero .ph .s{color:#4a4f48;font-size:13px}
:root[data-theme=dark] .hero{background:linear-gradient(120deg,#2d2619 0%,#1d2024 55%,#1b2733 100%)}
:root[data-theme=dark] .hero .ph .h{color:var(--fg)}:root[data-theme=dark] .hero .ph .s{color:var(--body)}
.capture{display:flex;gap:8px;margin-bottom:14px}
.capture input{flex:1;font-size:15px;padding:11px 14px;border-radius:12px;background:var(--card)}
.brief .head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.slots{display:flex;gap:4px;background:var(--chip);border-radius:999px;padding:3px}
.slots button{background:transparent;border:0;border-radius:999px;padding:4px 12px;color:var(--muted);font-weight:600;font-size:13px}
.slots button.on{background:var(--card);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.headline{font-size:17px;font-weight:700;margin:4px 0 12px;text-wrap:balance}
.now3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
@media (max-width:860px){.now3{grid-template-columns:1fr}}
.now3 .item{display:flex;flex-direction:column;gap:5px;padding:12px 14px}
.bitem.done{opacity:.55}
.ihead{display:flex;align-items:center;gap:8px;min-height:30px}
.ticon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.ticon svg{width:17px;height:17px}
.ticon.t-notice{background:var(--accent-soft);color:var(--accent)}
.tlabel{font-size:11.5px;color:var(--muted);letter-spacing:.02em}
.tlabel b{color:var(--fg);font-weight:700}
.bitem .t{font-size:14.5px;line-height:1.4;text-wrap:balance}
.bitem .t a{color:var(--fg)}.bitem .t a:hover{color:var(--accent)}
.why{font-size:12.5px;color:var(--body)}
.action{font-size:13px;color:var(--fg);display:flex;gap:6px;align-items:flex-start}
.action svg{width:14px;height:14px;flex:0 0 auto;margin-top:3px;color:var(--accent)}
.bsec .bitem{display:flex;flex-direction:column;gap:3px}
.bsec .ihead{min-height:24px}.bsec .ticon{width:24px;height:24px;border-radius:7px}.bsec .ticon svg{width:14px;height:14px}
.bsec .bitem .t{font-size:13.5px}
.notice{border-left:0}
.bsec h3{margin:14px 0 6px;font-size:14px}
.bsec .item{padding:8px 12px}.bsec .item.done{opacity:.5}
.notice .copy{margin:6px 0 4px}
.meta{font-size:11px;color:var(--muted);margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.card.today{display:flex;flex-direction:column;gap:6px}
.tl{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:start;padding:6px 0;border-bottom:1px dashed var(--line)}
.tl .d{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:2px}

/* 업무 */
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.toolbar input[type=search]{max-width:240px}
.toolbar select{width:auto}
.grp{margin:14px 0 6px;font-weight:700;font-size:13px;display:flex;gap:8px;align-items:center}
.grp .cnt{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:400}
.grp.over{color:var(--danger)}.grp.today{color:var(--accent2)}
.task{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}
.task select{width:auto;padding:2px 6px;font-size:12px}
.task .links{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}

/* 캘린더 */
.cal{display:grid;grid-template-columns:1fr 320px;gap:14px}
@media (max-width:960px){.cal{grid-template-columns:1fr}}
.layers{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cgrid .dow{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}
.cgrid .day{min-height:86px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:4px;cursor:pointer;overflow:hidden}
.cgrid .day.out{opacity:.45}.cgrid .day.today{border-color:var(--accent2)}.cgrid .day.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.cgrid .day .n{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;justify-content:space-between}
.cgrid .day .n.hol{color:var(--danger)}
.cgrid .ev{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;padding:0 4px;margin-top:2px;line-height:17px}
.l-task{background:var(--accent-soft);color:var(--accent)}.l-team{background:var(--chip);color:var(--chipfg)}.l-flow{background:#ece6f7;color:#5b3f9e}.l-event{background:#fdf1d6;color:#8a5a00}.l-local{background:#e8efe3;color:#4a6b2f}.l-ob{background:var(--accent2-soft);color:var(--accent2)}.l-holiday{background:#fde8e8;color:var(--danger)}
:root[data-theme=dark] .l-flow{background:#2b2340;color:#c7b3f0}:root[data-theme=dark] .l-event{background:#3a2e12;color:#f0c66e}:root[data-theme=dark] .l-local{background:#22301c;color:#a9cf8e}:root[data-theme=dark] .l-holiday{background:#3a1f1f}
.cgrid .more{font-size:10px;color:var(--muted);padding:0 4px}
@media (max-width:600px){.cgrid .day{min-height:56px;padding:2px}.cgrid .ev{display:none}.cgrid .day .dots{display:flex;gap:2px;flex-wrap:wrap;margin-top:3px}.cgrid .dot{width:6px;height:6px;border-radius:50%}}
.dot.l-task{background:var(--accent)}.dot.l-team{background:var(--muted)}.dot.l-flow{background:#5b3f9e}.dot.l-event{background:#8a5a00}.dot.l-local{background:#4a6b2f}.dot.l-ob{background:var(--accent2)}.dot.l-holiday{background:var(--danger)}

/* 데이터 */
.ask{display:flex;gap:8px;margin-bottom:12px}
.ask textarea{min-height:48px}
.ans{white-space:pre-wrap;line-height:1.65}
.ans.user{background:var(--accent-soft);border-color:transparent}
.ans .tools{font-size:11px;color:var(--muted);margin-top:6px}
.saved{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}

/* ===== 2026-10-02 홈 점검판 · 캘린더 v3 ===== */
.caphint{font-size:12px;color:var(--muted);margin:-6px 2px 10px;line-height:1.7}
.caphint b{color:var(--body);font-weight:600;background:var(--chip);border-radius:4px;padding:0 4px}
.bstrip{padding:10px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.bs-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bs-h .bs-t{flex:1;min-width:0;font-size:15px;text-wrap:balance}
.bs-now{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bs-i{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}
.bs-i span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bs-i b{color:var(--muted);font-weight:600;margin-right:2px}
.bs-i.done{opacity:.5;text-decoration:line-through}
.bs-i .ticon{width:26px;height:26px;border-radius:8px}.bs-i .ticon svg{width:15px;height:15px}
@media (max-width:760px){.bs-now{grid-template-columns:1fr}}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:2px 0 6px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:1px;color:var(--fg)}
.kpi:hover{border-color:var(--accent)}
.kpi .v{font-size:24px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi .l{font-size:13px;font-weight:600}
.kpi .s{font-size:11px;color:var(--muted)}
.kpi.danger .v{color:var(--danger)}.kpi.warn .v{color:var(--accent2)}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:last-child{grid-column:1/-1}}
.memobox{padding:4px 6px}
.mgrp{font-size:12px;font-weight:700;padding:10px 10px 4px;display:flex;gap:6px;align-items:center;color:var(--body)}
.mgrp span{font-weight:500;color:var(--muted)}
.mgrp.b-over{color:var(--danger)}.mgrp.b-today{color:var(--accent2)}
.give{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px 10px 40px;background:var(--bg2);border-bottom:1px dashed var(--line)}
.give input,.give select{width:auto;padding:4px 8px;font-size:13px}
.give .gw{width:130px}.give select{max-width:220px}
.sent{margin-bottom:10px}
.mchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.mchip{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--chip);color:var(--chipfg)}
.mchip b{font-variant-numeric:tabular-nums}
.mchip.b-over:not(.zero){background:#fde8e8;color:var(--danger)}.mchip.b-today:not(.zero){background:var(--accent2-soft);color:var(--accent2)}
:root[data-theme=dark] .mchip.b-over:not(.zero){background:#3a1f1f}
.mchip.zero{opacity:.55}
.tlist2{display:flex;flex-direction:column}
.trow2{display:flex;align-items:center;gap:8px;padding:6px 2px;border-top:1px dashed var(--line);min-width:0}
.trow2:first-child{border-top:0}
.trow2 .chk{width:17px;height:17px;margin:0;accent-color:var(--ok);flex:0 0 auto}
.trow2 .tt{flex:1;min-width:0;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trow2 .tt:hover{color:var(--accent)}
.trow2 .due{font-size:12px;white-space:nowrap}
.trow2 .chip{flex:0 0 auto}
.more{padding-top:6px}
.person2{border-top:1px solid var(--line)}.person2:first-child{border-top:0}
.phead{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:8px 2px;text-align:left;color:var(--fg)}
.phead .av{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}
.phead .pn{font-weight:600;min-width:0}.phead .pn small{color:var(--muted);font-weight:400;margin-left:6px}
.phead .pst{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.phead .caret{color:var(--muted);transition:transform .15s}
.person2.open .caret{transform:rotate(180deg)}
.plist{display:none;padding:0 2px 8px 38px}.person2.open .plist{display:block}
.ev2{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px dashed var(--line);color:var(--fg)}
.ev2:first-child{border-top:0}
.ev2 .dot{margin-top:7px}
.ev2 small.d{display:block}
.ev2.more:hover{color:var(--accent)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--k,var(--muted))}
.k-event,.f-event{--k:#b7791f}.k-flow{--k:#6b4fbb}.k-ob,.f-ob{--k:var(--accent2)}.k-local,.f-local{--k:#4a7a3a}.k-holiday{--k:var(--danger)}
.f-mine{--k:var(--accent)}.f-team{--k:#8a7560}
:root[data-theme=dark] .k-event,:root[data-theme=dark] .f-event{--k:#e0b25c}
:root[data-theme=dark] .k-local,:root[data-theme=dark] .f-local{--k:#8fc47b}
:root[data-theme=dark] .f-team{--k:#bfae9a}

/* 캘린더 v3 */
.calbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ctitle{margin:0;font-size:20px;min-width:150px;text-align:center}
.cfilters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.fchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--body);border-radius:999px;padding:5px 12px;font-size:13px}
.fchip .fc{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.fchip.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.fchip.on .fc{color:inherit;opacity:.7}
.chkl{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-left:4px}
.chkl input{width:auto;margin:0}
.calwrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
@media (max-width:900px){.calwrap{grid-template-columns:1fr}}
.cmain{padding:8px}
.mgrid2{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.mdow{font-size:12px;color:var(--muted);text-align:center;padding:4px 0 8px;font-weight:600}
.mdow.sun{color:var(--danger)}.mdow.sat{color:var(--accent)}
.mc2{min-height:104px;border:0;border-top:1px solid var(--line);background:transparent;padding:6px 6px 4px;text-align:left;display:flex;flex-direction:column;gap:3px;color:var(--fg);min-width:0;border-radius:0;cursor:pointer;font:inherit}
.mc2:hover{background:var(--bg2)}
.mc2.out{opacity:.4}
.mc2.sel{background:var(--accent-soft)}
.mc2:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.mh{display:flex;align-items:center;gap:4px;min-width:0;width:100%}
.mn{font-size:13px;font-weight:600;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-variant-numeric:tabular-nums;flex:0 0 auto}
.mn.sun{color:var(--danger)}.mn.sat{color:var(--accent)}
.mc2.today .mn{background:var(--accent2);color:#fff}
.mhol{font-size:10.5px;color:var(--danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.mis{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}
.mi{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.35;min-width:0}
.mi i{width:6px;height:6px;border-radius:50%;background:var(--k,var(--muted));flex:0 0 auto}
.mi span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mi.over span{color:var(--danger)}
.mi.done span{text-decoration:line-through;color:var(--muted)}
.mmore{font-size:11px;color:var(--muted);padding-left:11px}
.mdots{display:none}
@media (max-width:600px){.mc2{min-height:58px;padding:4px 2px;align-items:center}.mis{display:none}.mdots{display:flex;gap:3px;justify-content:center}.mdots .dot{width:6px;height:6px}.mhol{display:none}.mh{justify-content:center}}
.cdaypanel{position:sticky;top:64px;max-height:calc(100vh - 80px);overflow:auto;padding:12px 14px}
@media (max-width:900px){.cdaypanel{position:static;max-height:none}}
.dph{display:flex;align-items:center;gap:8px;font-size:16px;margin-bottom:8px}
.dpadd input{font-size:13px;margin-bottom:6px}
.dpg{margin-top:10px}
.dpgh{font-size:12px;font-weight:700;color:var(--muted);display:flex;gap:6px;margin-bottom:2px}
.dpgh span{font-weight:400}
.dpi{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px dashed var(--line)}
.dpi .chk{width:17px;height:17px;margin:2px 0 0;accent-color:var(--ok);flex:0 0 auto}
.dpi>.dot{margin-top:7px}
.dpb{flex:1;min-width:0}
.dpt{font-size:13.5px;font-weight:500;line-height:1.4}
.dpt a{color:var(--fg)}.dpt a:hover{color:var(--accent)}
.dps{font-size:11.5px;color:var(--muted)}
.dpm{display:flex;gap:4px;margin-top:4px;align-items:center;flex-wrap:wrap}
.dpm .ghost{padding:1px 8px;font-size:11px}
.dpm .mvd{width:auto;padding:1px 6px;font-size:11px}
.dpi.done .dpt{text-decoration:line-through;color:var(--muted)}
.dpi.over .dpt{color:var(--danger)}
.dpi .due{font-size:11.5px;color:var(--muted);font-weight:400}
.dpi .due.over{color:var(--danger);font-weight:600}
.lday{padding:6px 6px 8px;border-top:1px solid var(--line)}
.lday:first-child{border-top:0}
.lday.over .lh{color:var(--danger)}.lday.today .lh{color:var(--accent2)}
.lh{font-size:13px;font-weight:700;padding:4px 0;display:flex;gap:6px;align-items:center}
.lh span{font-weight:400;color:var(--muted)}

.dpg-over .dpgh{color:var(--danger)}
/* 휴대폰: 메모 한 행을 두 줄로(위: 대분류·마감, 아래: 업무 내용 전체 폭) */
@media (max-width:600px){
  .memo.head{display:none}
  .memo.row{grid-template-columns:22px minmax(0,1fr) 128px auto;grid-template-areas:"chk cat due x" "chk title title title";row-gap:0;padding:6px 6px}
  .memo.row>input[type=checkbox]{grid-area:chk;align-self:start;margin-top:4px}
  .memo.row .mc{grid-area:cat;font-size:11.5px;color:var(--muted);padding:1px 6px}
  .memo.row .mt{grid-area:title;font-size:14px}
  .memo.row .mdue{grid-area:due}
  .memo.row .acts2{grid-area:x}
  .memo.row .mr{display:none}
  .give{padding-left:10px}
}
@media (max-width:600px){.memo.row .acts2 .ghost{display:inline-flex;padding:1px 7px;font-size:11px}.memo.row{grid-template-columns:22px minmax(0,1fr) 118px auto}}
/* 앱 설치 버튼·안내 */
.who .install{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}
.login .install{margin-top:10px}
.install-steps{margin:12px 0;padding-left:20px;line-height:1.8}
.install-steps b{background:var(--chip);border-radius:4px;padding:0 4px;font-weight:600}
@media (max-width:760px){.who .install{display:inline-flex}}

/* 폰에서 가로로 밀리지 않게: 칸 자식이 내용 폭으로 늘지 않도록, 그래도 넘치면 잘라 낸다(가로 스크롤 금지) */
.grid2>*,.grid3>*,.view>*{min-width:0}
html,body{overflow-x:clip;max-width:100%}
.view{overflow-x:clip}
/* 폰에서 입력칸을 누를 때 화면이 확대되지 않게 글자 16px 이상 */
@media (max-width:760px){input,select,textarea{font-size:16px}.memo .md,.dpm .mvd,.give input,.give select{font-size:14px}}
/* 요청자·시각 칸, 오늘 일정 시각, 검색 (2026-10-03) */
.memo.row,.memo.head{grid-template-columns:22px 112px minmax(0,1fr) 92px 118px 118px 86px auto}
.memo .mq{min-width:0;background:transparent;border:1px solid transparent;padding:3px 6px;border-radius:6px;font-size:13px;color:var(--body)}
.memo .mq:focus{border-color:var(--line);background:var(--bg2)}
.memo .mtm{padding:3px 4px}
@media (max-width:900px){.memo.row,.memo.head{grid-template-columns:22px 92px minmax(0,1fr) 80px 112px 80px auto}.memo .mr,.memo.head span:nth-child(5){display:none}.memo.head span:nth-child(4){display:inline}}
@media (max-width:600px){
  .memo.row{grid-template-columns:22px minmax(0,1fr) 118px auto;grid-template-areas:"chk cat due x" "chk title title title" "chk req tm tm"}
  .memo.row .mq{grid-area:req;font-size:12px;padding:1px 6px}
  .memo.row .mtm{grid-area:tm;font-size:12px}
}
.mtime{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;font-size:.92em}
.mi .mtime{color:var(--body)}
.ev2.mine{align-items:baseline}
.ev2 .tm{flex:0 0 42px;font-weight:700;color:var(--accent);font-size:12.5px;font-variant-numeric:tabular-nums}
.searchbar{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.searchbar input[type=search]{flex:1;font-size:16px;padding:10px 14px;border-radius:12px;background:var(--card)}
.srow{display:flex;gap:10px;align-items:flex-start;padding:8px 2px;border-top:1px dashed var(--line)}
.srow:first-child{border-top:0}
.srow .chk{width:17px;height:17px;margin:2px 0 0;accent-color:var(--ok);flex:0 0 auto}
.srow .chk-sp{width:17px;flex:0 0 auto}
.srow .sb{flex:1;min-width:0}
.srow .st{font-weight:500}.srow .st a{color:var(--fg)}
.srow .ss{font-size:12px;color:var(--muted)}
.srow.done .st{text-decoration:line-through;color:var(--muted)}
mark{background:#fdf1b8;color:inherit;border-radius:3px;padding:0 1px}
:root[data-theme=dark] mark{background:#5a4a12}
.who .srch{display:inline-flex;align-items:center;color:var(--fg)}
.who .srch.active{color:var(--accent)}
.memo .md.blank{opacity:.32}
.memo .md.blank:focus,.memo .md.blank:hover{opacity:1}
/* 아이디어 (2026-10-04) */
.ihead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.iinput{display:flex;gap:8px;align-items:flex-start;padding:10px;margin-bottom:10px}
.iinput select{width:auto;max-width:130px;flex:0 0 auto}
.iinput textarea{flex:1;min-height:40px;resize:none;font-size:15px;line-height:1.5;background:var(--bg2)}
.icats{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.icats .dot{width:8px;height:8px}
.newcat{width:180px!important;padding:4px 10px;border-radius:999px;font-size:13px}
.igrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
@media (max-width:960px){.igrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.igrid{grid-template-columns:minmax(0,1fr)}.iinput{flex-wrap:wrap}.iinput select{max-width:none;flex:1 1 100%}}
.icard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.icard.pinned{border-color:var(--k);box-shadow:0 0 0 1px var(--k) inset}
.icard.st-done,.icard.st-archived{opacity:.6}
.ich{display:flex;align-items:center;justify-content:space-between}
.icat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--k)}
.icat .dot{width:8px;height:8px;background:var(--k)}
.istar{background:transparent;border:0;font-size:18px;line-height:1;color:var(--k);padding:0 2px}
.it{font-size:15px;font-weight:600;line-height:1.45;word-break:break-word}
.ib{font-size:13px;color:var(--body);white-space:pre-wrap;word-break:break-word;margin-top:4px;line-height:1.55}
.iedit{display:flex;flex-direction:column;gap:6px}
.iedit select{width:auto}
.ifoot{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:8px}
.iacts{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.iacts .ghost{padding:2px 8px;font-size:11.5px}
.icard .mx{background:transparent;border:0;opacity:.45;font-size:14px;padding:2px 4px;color:var(--fg)}
.icard .mx:hover{opacity:1;color:var(--danger)}
/* 지운 메모·되돌리기 (2026-10-06) */
.trash-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px dashed var(--line)}
.trash-row .tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trash-row .small{white-space:nowrap}
.undobar{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--toast);color:#fff;border-radius:12px;padding:8px 10px 8px 14px;display:flex;gap:12px;align-items:center;z-index:60;font-size:13px;max-width:92vw;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.undobar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ghost.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.danger-t{color:var(--danger)!important}

/* ---------- SV에게 지시할 일(2026-10-13) ---------- */
.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis .kpi:last-child{grid-column:auto}}
.dirbox{padding:10px 12px}
.dhead{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.dsvs,.dsrcs{display:flex;flex-wrap:wrap;gap:6px}
.dsrcs .ghost{font-size:12px;padding:2px 9px}
.dl1{display:inline-block;min-width:17px;border-radius:999px;background:var(--accent2);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;padding:0 4px}
.dgrp{font-size:12px;font-weight:700;color:var(--muted);margin:10px 0 2px;display:flex;gap:6px;align-items:center}
.dgrp span{font-weight:600;color:var(--fg)}
.drow{border-top:1px dashed var(--line);padding:7px 0 6px}
.dgrp+.drow{border-top:0}
.dmain{display:flex;align-items:flex-start;gap:8px;min-width:0}
.dsel{width:16px;height:16px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.dic{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--chip);color:var(--chipfg)}
.dic.s-risk{background:#fde8e8;color:var(--danger)}.dic.s-ai{background:var(--accent-soft);color:var(--accent)}
.dic.s-visit,.dic.s-ob{background:var(--ok-soft);color:var(--ok)}.dic.s-sales,.dic.s-review{background:var(--accent2-soft);color:var(--accent2)}
:root[data-theme=dark] .dic.s-risk{background:#3a1f1f}
.dt{flex:1;min-width:0;background:none;border:0;padding:0;text-align:left;color:var(--fg);display:flex;flex-direction:column;gap:1px;cursor:pointer}
.dt b{font-weight:600;line-height:1.35}
.dt .dw{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drow.open .dt .dw{white-space:normal}
.dmeta{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:12px;white-space:nowrap}
.dsv{font-weight:600}
.dmeta .due.over{color:var(--danger);font-weight:600}.dmeta .due.today{color:var(--accent2);font-weight:600}
.dacts{flex:0 0 auto;display:flex;gap:4px;align-items:center}
.dacts .btn.small{padding:4px 11px}
.dtags{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 0 60px}
.chip.focus{background:#d92d20;color:#fff}
.ddet{display:none;margin:6px 0 2px 60px;padding:8px 10px;background:var(--bg2);border-radius:8px;font-size:13px;color:var(--body)}
.drow.open .ddet{display:block}
.ddet .dl{padding:2px 0;line-height:1.5}.ddet .dl.rel{color:var(--accent)}
.dmenu{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0 60px}
.dmorebtn{margin:6px 0 0 60px}
.dbulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--accent-soft);border-radius:10px;padding:8px 10px;margin:6px 0}
.dgive{margin:8px 0 4px 60px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);display:flex;flex-direction:column;gap:8px}
.dbulk+.dgive{margin-left:0}
.dg{display:flex;flex-direction:column;gap:6px}
.dg+.dg{border-top:1px dashed var(--line);padding-top:8px}
.dgr{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:6px}
.dg textarea{font-size:13px;line-height:1.5}
.dfoot{margin-top:8px}
.dhid{margin-top:6px}
@media (max-width:760px){
  .dmain{flex-wrap:wrap}
  .dt{flex-basis:calc(100% - 64px)}
  .dmeta{flex-direction:row;gap:8px;margin-left:60px}
  .dacts{margin-left:auto}
  .dtags,.ddet,.dmenu,.dmorebtn{margin-left:0}
  .dgive{margin-left:0}
  .dgr{grid-template-columns:1fr 1fr}.dgr select{grid-column:1/-1}
}

/* ---------- 비서 제안 줄 · 임원 칩 · 주간회의(2026-10-14) ---------- */
.bs-sec{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;border-top:1px dashed var(--line);padding-top:8px;font-size:13px}
.bs-sec a{color:var(--fg)}.bs-sec a b{color:var(--accent2);margin-left:2px}.bs-sec a:hover{color:var(--accent)}
.execs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 2px}
.execs .ghost{padding:2px 9px;font-size:12px}.execs .ghost small{color:var(--muted);margin-left:3px;font-size:10px}
.wkhead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}
.wkhead select{width:auto;max-width:100%}
.wkmeta{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.wkmeta b{font-size:16px;text-wrap:balance}
.wkfact{background:var(--bg2);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--body);margin:4px 0 6px}
.wksec{margin-top:16px}
.wklist{display:flex;flex-direction:column;gap:6px}
.wkrow{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card)}
.wkmain{display:flex;gap:8px;align-items:flex-start}
.wkn{flex:0 0 22px;height:22px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:4px}
.wkt{flex:1;min-width:0;min-height:0;resize:none;overflow:hidden;line-height:1.45;padding:6px 8px;font-size:14px}
.wksub{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 120px 140px auto;gap:6px;margin:6px 0 0 30px}
.wksub input,.wksub select{font-size:13px;padding:5px 8px}
.wkrow[data-k="achievements"] .wksub{grid-template-columns:140px 140px}
.wkrow[data-k="plans"] .wksub{grid-template-columns:140px 140px 110px}
.wkadd{margin:6px 0 0 30px}
.wknotes{margin:0;padding-left:18px;font-size:13px;color:var(--body)}.wknotes li{margin:2px 0}
@media (max-width:760px){.wksub{grid-template-columns:1fr 1fr;margin-left:0}.wkrow[data-k="achievements"] .wksub,.wkrow[data-k="plans"] .wksub{grid-template-columns:1fr 1fr}.wkadd{margin-left:0}.wkhead .row{width:100%}}
.section.wksec{text-transform:none;font-size:13px;font-weight:700;color:var(--fg)}

/* ---------- 메모 담아 두기(2026-10-14) ---------- */
.stage{padding:10px 12px;margin:-4px 0 12px;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.sthead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:6px}
.strow{display:grid;grid-template-columns:18px 112px minmax(0,1fr) 92px 118px 86px auto;gap:6px;align-items:center;padding:4px 0;border-top:1px dashed var(--line)}
.strow:first-of-type{border-top:0}
.strow input{padding:5px 8px;font-size:13px;background:var(--bg2)}
.strow .stt{font-size:14px}
.strow.child{background:var(--bg2);border-radius:8px;margin-left:18px;padding:4px 6px;border-top:0}
.strow.child input{background:var(--card)}
.stn{color:var(--accent);font-weight:700;text-align:center}
.sacts{display:flex;gap:4px;align-items:center;white-space:nowrap}
@media (max-width:760px){.strow{grid-template-columns:18px minmax(0,1fr) auto}.strow .sc,.strow .sq,.strow .sd,.strow .stm{grid-column:2/3}.strow.child{margin-left:8px}}

/* 하위 메모(2026-10-14) — 상위 바로 아래 들여쓰기 */
.memo.row{position:relative}
.memo.row.sub{padding-left:34px;background:var(--bg2)}
.memo.row.sub::before{content:"↳";position:absolute;left:14px;top:9px;color:var(--accent);font-weight:700;font-size:13px;pointer-events:none}
.memo.row.sub .mc{opacity:.7}
.memo.row.orphan .mt{font-style:italic}
.modes .btn.sec{padding:8px 10px}
@media (max-width:760px){.memo.row.sub{padding-left:22px}.memo.row.sub::before{left:6px}}

/* ---------- 빠른 선택(Tab)·요청자 드롭다운·메모 찾기(2026-10-15) ---------- */
.quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-8px 0 6px}
.quick .qf{width:auto;padding:5px 8px;font-size:13px;background:var(--card)}
.quick select.qf{max-width:190px}
.quick .qlab{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
.quick .qf:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.strow select.sq{padding:5px 6px;font-size:13px;background:var(--bg2)}
.strow{grid-template-columns:18px 112px minmax(0,1fr) 128px 118px 118px 86px auto}
.memoq{width:220px;padding:4px 10px;font-size:13px;border-radius:999px;background:var(--card)}
.memoq:focus{border-color:var(--accent)}
@media (max-width:760px){.quick{margin-top:-4px}.quick select.qf{max-width:150px}.memoq{width:100%}.section#secMemo{flex-wrap:wrap}.section#secMemo>span[style]{width:100%;margin-left:0!important}.strow{grid-template-columns:18px minmax(0,1fr) auto}.strow .sr{grid-column:2/3}}

/* ---------- 여러 메모 고르기·정리(2026-10-15) ---------- */
.memo.row.selmode input[type=checkbox]{accent-color:var(--accent)}
.memo.row.selected{background:var(--accent-soft)}
.selbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--accent-soft);border-radius:10px;padding:8px 10px;margin:4px 0 6px}
.sumgrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:10px;margin-top:8px}
.sumgrid pre{margin:0;white-space:pre-wrap}
.sumrep{background:var(--bg2);border-radius:8px;padding:8px 10px}
@media (max-width:760px){.sumgrid{grid-template-columns:1fr}}

/* 공통 계정 로그인·내 계정(2026-10-23) */
.pwform{display:flex;flex-direction:column;gap:8px;margin:14px 0 10px;text-align:left}
.pwform input{font-size:16px;padding:10px 12px}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:6px 0 10px}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.pwset{text-align:left;margin-top:14px;display:flex;flex-direction:column;gap:8px}.pwset h3{margin:0}
#acctBtn{text-decoration:none;font-size:15px}
#workBtn{white-space:nowrap}
@media (max-width:760px){#workBtn{display:none}}

/* ---------- 역할별 홈(2026-10-23) ---------- */
.ovbox{padding:10px 12px}
.ovgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}
.ovt{background:var(--bg2);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:1px;min-width:0}
.ovt b{font-size:22px;line-height:1.1}.ovt span{font-size:12px;font-weight:600}.ovt small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ovt.warn b{color:var(--accent2)}
.ovline{padding:6px 0;border-top:1px dashed var(--line);font-size:13px;line-height:1.5}.ovline .chip{margin-right:4px;vertical-align:1px}
.msbox{padding:10px 12px}
.msrow{padding:7px 0;border-top:1px dashed var(--line)}.msrow:first-child{border-top:0}
.msname{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.msmeta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted);margin-top:3px}
.msmeta .warn{color:var(--accent2);font-weight:600}.msmeta .bad{color:var(--danger);font-weight:600}
@media (max-width:760px){.ovgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- 알림함(2026-10-26) ---------- */
.pushcard{margin-bottom:12px}
.ibhead{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ibpill{display:inline-flex;gap:6px;align-items:center;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.ibday{font-size:11px;font-weight:700;color:var(--muted);margin:10px 0 2px;letter-spacing:.3px}
.ibrow{display:flex;gap:10px;align-items:flex-start;padding:8px 2px;border-top:1px dashed var(--line)}
.ibrow .ticon{flex:0 0 auto;margin-top:2px}
.ibmain{flex:1;min-width:0;cursor:pointer}
.ibt{font-size:14px;line-height:1.4}.ibrow.unread .ibt{font-weight:700}
.ibb{font-size:13px;color:var(--body);margin-top:2px;white-space:pre-wrap}
.ibrow.unread{background:var(--accent-soft);margin:0 -6px;padding-left:8px;padding-right:8px;border-radius:8px;border-top:0}
.badge.tb{position:absolute;top:2px;right:14px;min-width:16px;line-height:16px;font-size:10px}
.tabbar a{position:relative}

/* ---------- 모션·효율 개편(2026-10-27) — 120~260ms, 같은 가속 곡선. 접근성 움직임 줄이기·내 계정 스위치면 전부 꺼진다 ---------- */
:root{--ease:cubic-bezier(.2,.8,.2,1);--dur:180ms}
.btn,.ghost{transition:transform var(--dur) var(--ease),filter var(--dur),background var(--dur),border-color var(--dur)}
.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.97)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-soft);transition:border-color var(--dur),box-shadow var(--dur)}
kbd.k,.palhint kbd,.pal li kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:0 5px;background:var(--bg2);color:var(--muted)}
.btn kbd.k{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:#fff;margin-left:4px}
/* 배너: 처음만 크게, 그다음은 한 줄 */
.hero{transition:opacity 160ms}
.hero.fade{opacity:0}
.hero .herotg{position:absolute;right:10px;top:10px;background:rgba(255,255,255,.75);border-color:transparent;color:#1f2320;font-size:11px;padding:2px 9px;opacity:0;transition:opacity var(--dur)}
.hero:hover .herotg,.hero:focus-within .herotg,.hero.min .herotg{opacity:1}
.hero.min{margin-bottom:10px;background:var(--card)}
.hero.min .ph{padding:8px 14px;gap:10px}
.hero.min .ph img{width:30px;height:30px;border-radius:8px}
.hero.min .ph .k{display:none}
.hero.min .ph .h{font-size:14px;font-weight:600;color:var(--fg)}
.hero.min .ph .s{display:none}
.hero.min .herotg{position:static;margin-left:auto;margin-right:10px;background:transparent;border-color:var(--line);color:var(--muted)}
@media (hover:none){.hero .herotg{opacity:1}}
/* 숫자판: 스켈레톤·카운트업·번짐·고른 묶음 */
.sk{position:relative;overflow:hidden;background:var(--chip)!important;border-radius:6px;color:transparent!important}
.sk::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-100%);animation:shimmer 1.1s infinite}
:root[data-theme=dark] .sk::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}
@keyframes shimmer{to{transform:translateX(100%)}}
.kpi{transition:border-color var(--dur),transform var(--dur) var(--ease),box-shadow var(--dur);cursor:pointer}
.kpi:active{transform:scale(.98)}
.kpi.on{border-color:var(--accent);background:var(--accent-soft)}
.kpi.flash,.flash{animation:flash 700ms var(--ease)}
@keyframes flash{0%{box-shadow:0 0 0 0 var(--accent-soft)}40%{box-shadow:0 0 0 6px var(--accent-soft)}100%{box-shadow:0 0 0 0 transparent}}
.section.hl,.memo.row.hl,.drow.hl{animation:hl 900ms var(--ease)}
@keyframes hl{0%{background:var(--accent-soft)}100%{background:transparent}}
.mfilter{display:flex;gap:8px;align-items:center;justify-content:space-between;background:var(--accent-soft);border-radius:8px;padding:5px 10px;margin:4px 0 6px;font-size:13px}
/* 저장 체크 */
.savetick{position:absolute;right:6px;top:-6px;font-size:10px;font-weight:700;color:var(--ok);background:var(--ok-soft);border-radius:999px;padding:0 6px;line-height:16px;pointer-events:none;animation:tick 1000ms var(--ease) forwards;z-index:1}
@keyframes tick{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:none}75%{opacity:1}100%{opacity:0}}
.strow{position:relative}
/* 메모 담기: 날아가는 칩 · 줄이 떠오름 · 등록 체크 · 내려감 */
.fly{position:fixed;z-index:80;pointer-events:none;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;white-space:nowrap;max-width:60vw;overflow:hidden;text-overflow:ellipsis}
.strow.pre{visibility:hidden}
.strow.pop,.pop{animation:pop 220ms var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.strow{transition:opacity 260ms,transform 260ms var(--ease)}
.strow.sdone input,.strow.sdone select{opacity:.45;transition:opacity 200ms}
.strow.sdone .stn{color:var(--ok)}
.strow.sdone .stn::before{content:"✓";font-weight:800;animation:bounce 360ms var(--ease)}
.strow.sgone{opacity:0;transform:translateY(14px)}
.strow.tows{box-shadow:inset 3px 0 0 var(--accent)}
.strow select.sa{padding:5px 6px;font-size:12px;background:var(--bg2);max-width:150px}
.strow.tows select.sa{border-color:var(--accent);color:var(--accent);font-weight:600}
.strow{grid-template-columns:18px 104px minmax(0,1fr) 118px 112px 112px 82px 130px auto}
@media (max-width:760px){.strow{grid-template-columns:18px minmax(0,1fr) auto}.strow .sa{grid-column:2/3}}
.quick .qlab select.qf{max-width:170px}
/* 완료 체크: 튀고 → 취소선 → 줄이 빠짐 */
.memo.row input[type=checkbox]{transition:transform 200ms var(--ease)}
.memo.row.done input[type=checkbox]{animation:bounce 360ms var(--ease)}
@keyframes bounce{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.memo.row .mt{transition:color 300ms,text-decoration-color 300ms;text-decoration-color:transparent}
.memo.row.done .mt{text-decoration:line-through;text-decoration-color:var(--muted)}
.memo.row.gone{animation:slideout 320ms 420ms var(--ease) forwards;pointer-events:none}
@keyframes slideout{to{opacity:0;transform:translateX(16px)}}
/* 지시 후보: 호버에 버튼 · 휴대폰 스와이프 · 지시/넘김 뒤 옆으로 빠짐 */
.drow{position:relative;overflow:hidden;--x:0px}
.dunder{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-weight:700;font-size:13px;opacity:0;transition:opacity var(--dur);pointer-events:none}
.dunder .r{color:var(--ok)}.dunder .l{color:var(--muted)}
.drow.drag .dunder,.drow.out .dunder{opacity:1}
.dmain{position:relative;background:var(--card);transform:translateX(var(--x));transition:transform 220ms var(--ease),opacity 220ms;touch-action:pan-y}
.drow.drag .dmain{transition:none}
.drow.out .dmain{opacity:0}
.drow.collapse{max-height:0!important;opacity:0;padding-top:0;padding-bottom:0;border-top-width:0;transition:max-height 240ms var(--ease),opacity 200ms,padding 240ms}
@media (hover:hover){.dacts{opacity:0;transform:translateX(6px);transition:opacity var(--dur),transform var(--dur) var(--ease)}.drow:hover .dacts,.drow:focus-within .dacts,.drow.open .dacts{opacity:1;transform:none}}
.dgive.pop{animation:pop 200ms var(--ease)}
.gbd summary{cursor:pointer;padding:2px 0;list-style:none}.gbd summary::before{content:"▸ ";font-size:11px}.gbd[open] summary::before{content:"▾ "}
.gbd textarea{margin-top:6px}
.msrow[role=button]{cursor:pointer;border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px;transition:background var(--dur)}
.msrow[role=button]:hover{background:var(--bg2)}.msrow.on{background:var(--accent-soft)}
/* 되돌리기 막대 남은 시간 */
.undobar{overflow:hidden}
.undobar .ubar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent2);transform-origin:left;animation:shrink 8s linear forwards}
@keyframes shrink{to{transform:scaleX(0)}}
/* 화면 전환: 진행선 · 떠오름 */
.loadbar{position:sticky;top:0;z-index:6;height:2px;margin-bottom:-2px;background:var(--accent);transform-origin:left;transform:scaleX(0);opacity:0;pointer-events:none}
.loadbar.go{animation:load 650ms var(--ease) forwards}
@keyframes load{0%{transform:scaleX(0);opacity:1}80%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.view.rise{animation:rise 180ms var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sent.pop{animation:pop 220ms var(--ease)}
/* 토스트·배지 */
.toast{animation:toastin 220ms var(--ease)}
@keyframes toastin{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.badge{transition:transform 200ms var(--ease)}
.badge.pulse{animation:pulse 900ms var(--ease)}
@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 0 0 var(--accent2-soft)}30%{transform:scale(1.3)}60%{box-shadow:0 0 0 8px transparent}100%{transform:scale(1)}}
/* 스위치 */
.sw{position:relative;width:40px;height:22px;border-radius:999px;background:var(--line);border:0;cursor:pointer;transition:background var(--dur);flex:0 0 auto;padding:0}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform 200ms var(--ease)}
.sw.on{background:var(--ok)}.sw.on::after{transform:translateX(18px)}
.sw:disabled{opacity:.5;cursor:default}
/* 명령 팔레트 */
.palbtn{display:inline-flex;gap:3px;align-items:center;padding:3px 9px;font-size:12px;color:var(--muted)}
.palbtn .palk{border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:10px;line-height:14px}
@media (max-width:760px){.palbtn .palk{display:none}}
.pal-bg{position:fixed;inset:0;background:rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity 160ms;z-index:90}
.pal-bg.show{opacity:1;pointer-events:auto}
.pal{position:fixed;left:50%;top:calc(14% + env(safe-area-inset-top,0px));transform:translate(-50%,-8px) scale(.98);width:min(560px,calc(100vw - 24px));background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:91;opacity:0;pointer-events:none;transition:transform 180ms var(--ease),opacity 180ms;padding:10px}
.pal.show{opacity:1;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.pal input{font-size:15px;padding:10px 12px}
.pal ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:min(52vh,420px);overflow:auto}
.pal li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px}
.pal li span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal li.on{background:var(--accent-soft)}
.pal li.k-store span:first-child::before,.pal li.k-dir span:first-child::before,.pal li.k-memo span:first-child::before,.pal li.k-nav span:first-child::before{font-size:11px;color:var(--muted);margin-right:6px}
.pal li.k-store span:first-child::before{content:"🏪"}.pal li.k-dir span:first-child::before{content:"📌"}.pal li.k-memo span:first-child::before{content:"📝"}.pal li.k-nav span:first-child::before{content:"→"}
.palhint{font-size:11px;color:var(--muted);margin-top:8px;padding:0 4px}
/* 휴대폰: 떠 있는 「＋ 메모」·당겨서 새로고침 */
.fab{display:none;position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:0 16px 0 12px;height:44px;font-size:22px;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.22);align-items:center;gap:4px;transition:transform var(--dur) var(--ease)}
.fab span{font-size:13px}
.fab:active{transform:scale(.95)}
@media (max-width:760px){.fab{display:inline-flex}}
.ptr{position:fixed;left:50%;top:calc(8px + env(safe-area-inset-top,0px));transform:translate(-50%,-30px) scale(calc(.8 + .2*var(--p,0)));background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:12px;color:var(--muted);z-index:30;opacity:0;transition:transform 160ms var(--ease),opacity 160ms;pointer-events:none}
.ptr.show{opacity:1;transform:translate(-50%,calc(var(--p,0)*40px - 20px)) scale(calc(.8 + .2*var(--p,0)))}
/* 움직임 끄기 */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}
html[data-motion=off] .sk::after{display:none}

/* ---------- 홈 간소화(2026-10-29, 시안 MVGHpQ… 적용) — 6묶음 접기 · 떠 있는 패널(설명·시트·서랍) · 첫 방문 안내 ---------- */
:root{--line2:#d6cfc3;--danger-soft:#f8e4e1;--scrim:rgba(28,24,18,.42);--shadow:0 14px 38px rgba(40,32,20,.16),0 2px 6px rgba(40,32,20,.08);--serif:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo",system-ui,sans-serif}
:root[data-theme=dark]{--line2:#3a4047;--danger-soft:#3a1f1f;--scrim:rgba(0,0,0,.55);--shadow:0 14px 38px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--line2:#3a4047;--danger-soft:#3a1f1f;--scrim:rgba(0,0,0,.55);--shadow:0 14px 38px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3)}}
.num{font-variant-numeric:tabular-nums}
/* 인사 한 줄 */
.greet{padding:6px 2px 10px;animation:rise .4s var(--ease) both}
.greet .gk{font-size:12.5px;color:var(--muted)}
.greet .gh{font-family:var(--serif);font-size:24px;font-weight:700;margin:2px 0;line-height:1.3;text-wrap:balance}
.greet .gh em{font-style:normal;color:var(--accent)}
.greet .gs{margin:0;font-size:13.5px;color:var(--body)}
.greet .gs b.r{color:var(--danger)}
.capwrap .capture{margin-bottom:8px}
.capwrap .capture .modes{align-items:center}
/* ⓘ 설명 단추 */
.info{width:24px;height:24px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line2);background:var(--bg2);color:var(--muted);font:italic 600 12px/1 var(--serif);display:inline-grid;place-items:center;padding:0;cursor:pointer;transition:color .14s,border-color .14s,transform .14s var(--ease)}
.info:hover,.info[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}
.info:active{transform:scale(.9)}
.lnk{border:0;background:none;color:var(--accent);padding:2px 0;font-size:12.5px;font-weight:600;cursor:pointer}
.foldbar{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--muted);padding:10px 2px 6px}
/* 접는 묶음 */
.fold{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms + 120ms);transition:border-color .2s,box-shadow .2s}
.fold.open{border-color:var(--line2);box-shadow:0 4px 14px rgba(40,32,20,.06)}
.fh{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:13px 14px 13px 16px;border-radius:14px;color:var(--fg);cursor:pointer}
.fh:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fh.hl{animation:hl 900ms var(--ease)}
.fh .ft{display:flex;flex-direction:column;min-width:0}
.fh .ft>b{font-weight:700;font-size:15px}
.fh .fs{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fh .fs b{font-weight:600;color:var(--body)}.fh .fs b.r{color:var(--danger)}.fh .fs b.o{color:var(--accent2)}
.fh .fn{font-family:var(--serif);font-weight:900;font-size:22px;line-height:1;color:var(--fg)}
.chev{width:18px;height:18px;transition:transform .26s var(--ease);color:var(--muted)}
.fold.open .chev{transform:rotate(180deg)}
.fb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
.fold.open .fb{grid-template-rows:1fr}
.fbi{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s linear .3s}
.fold.open .fbi{visibility:visible;transition-delay:0s}
.fold.shown .fbi{overflow:visible}
.fbin{padding:4px 14px 16px 16px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:10px;min-width:0}
.fbin>.card{border-radius:10px}
.fold.open .rv{animation:rise .34s var(--ease) both;animation-delay:calc(var(--i,0) * 38ms + 60ms)}
.fsub{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.04em;margin-top:8px}
.memobar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.memobar .memoq{flex:1;min-width:160px}
.fbin .memobox{padding:0}
.fbin .dirbox{padding:0}
.fbin .dirbox:not(.hidden){border-top:1px dashed var(--line);padding-top:8px}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--chip);color:var(--chipfg);white-space:nowrap}
.tag.ob{background:var(--accent2-soft);color:var(--accent2)}
.tag.r{background:var(--danger-soft);color:var(--danger)}
/* 꼭 오늘 */
.top1{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line)}
.top1:last-child{border-bottom:0}
.top1 .t1k{font-family:var(--serif);font-weight:900;color:var(--accent2);font-size:18px;text-align:center}
.top1 .t1t{min-width:0}
.top1 .t1t b{display:block;font-weight:600;font-size:14px;line-height:1.4}
.top1 .t1t small{font-size:12px;color:var(--muted)}
.top1 .t1a{display:flex;gap:6px;align-items:center}
/* 사람별 지시서 */
.svs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
@media (max-width:640px){.svs{grid-template-columns:1fr}}
.svc{border:1px solid var(--line);border-radius:12px;background:var(--bg2);padding:10px 12px;transition:background .3s,border-color .3s;min-width:0}
.svc.sent{background:var(--card)}
.svh{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center}
.svav{width:30px;height:30px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-weight:700;font-size:13px}
.svh b{font-size:14px}.svh small{display:block;font-size:12px;color:var(--muted)}
.svh small em{font-style:normal;font-weight:700;color:var(--accent)}
.gls{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s var(--ease)}
.svc.sent .gls{grid-template-rows:0fr}
.glsi{overflow:hidden;min-height:0;display:flex;flex-direction:column}
.gl{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 0 6px;border-top:1px dashed var(--line);cursor:pointer}
.gl:first-child{margin-top:8px}
.gl input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--ok)}
.gl .gt{min-width:0}
.gl .gt b{display:block;font-weight:500;font-size:13.5px;line-height:1.4}
.gl .gt small{font-size:11.5px;color:var(--muted)}
.gl input:not(:checked)~.gt{opacity:.48}
.gmore{border:1px solid var(--line);background:var(--card);border-radius:8px;font-size:11.5px;padding:1px 7px;color:var(--muted);cursor:pointer}
.gmore:hover,.gmore[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}
.sentline{font-size:12.5px;color:var(--ok);font-weight:600;display:none}
.svc.sent .sentline{display:block}
/* 오픈보드 */
.oblist{display:flex;flex-direction:column;gap:8px}
.obr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);text-align:left;width:100%;color:var(--fg);cursor:pointer;transition:border-color .16s,transform .14s var(--ease)}
.obr:hover{border-color:var(--accent)}.obr:active{transform:scale(.99)}
.obr .obn{font-weight:700;font-size:14px}
.obr .os{font-size:12px;color:var(--muted)}
.obr .oc{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.obbar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--chip);overflow:hidden}
.obbar i{display:block;height:100%;width:0;background:var(--accent);border-radius:3px;transition:width .9s var(--ease)}
.obr.off{opacity:.6}
/* 내 업무의 오픈보드 줄 */
.omi{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}
.omi:last-child{border-bottom:0}
.omi .odot{width:8px;height:8px;border-radius:50%;background:var(--accent2);justify-self:center}
.omi .omt{min-width:0}
.omi .omt b{display:block;font-weight:500;font-size:14px;line-height:1.4}
.omi .omt small{font-size:12px;color:var(--muted)}
.omi .omd{font-size:12.5px;color:var(--muted);white-space:nowrap}
.omi .omd.soon{color:var(--accent2);font-weight:600}.omi .omd.past{color:var(--danger);font-weight:600}
/* 떠 있는 패널 */
.scrim{position:fixed;inset:0;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .24s var(--ease);z-index:92}
.scrim.on{opacity:1;pointer-events:auto}
.fsheet{position:fixed;left:50%;bottom:0;width:min(600px,100%);max-height:88vh;display:flex;flex-direction:column;transform:translate(-50%,105%);background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:var(--shadow);z-index:94;transition:transform .34s var(--ease);padding:0 max(18px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));visibility:hidden}
.fsheet.on{transform:translate(-50%,0);visibility:visible}
.grab{width:40px;height:4px;border-radius:2px;background:var(--line2);margin:9px auto 4px;flex:0 0 auto}
.phd{display:flex;align-items:center;gap:10px;padding:6px 0 10px;flex:0 0 auto}
.phd>b{flex:1;font-size:16px;min-width:0}
.phd small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.shb{overflow:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:4px;min-height:0}
.frow{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.frow label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.frow input,.frow select{padding:5px 8px;border-radius:9px;width:auto;min-width:0}
.frow .gw{width:150px}
.frow .gp{max-width:200px}
.seg{display:inline-flex;align-self:flex-start;border:1px solid var(--line);border-radius:10px;padding:2px;background:var(--bg2)}
.seg button{border:0;background:none;border-radius:8px;padding:4px 10px;font-size:12.5px;color:var(--muted);cursor:pointer;transition:background .18s,color .18s}
.seg button.on{background:var(--card);color:var(--fg);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.fsheet .gt{font-weight:600}
.shpre{width:100%;min-height:150px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);padding:10px 12px;font-size:13px;line-height:1.6;resize:vertical;color:var(--body)}
.shacts{display:flex;gap:8px;flex-wrap:wrap}
.shacts .btn{flex:1;min-width:150px;padding:11px 14px}
.btn.done{background:var(--ok);color:#fff}
.fdrawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,94vw);background:var(--card);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:94;transform:translateX(104%);transition:transform .34s var(--ease);display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) 18px;visibility:hidden}
.fdrawer.on{transform:none;visibility:visible}
.fdrawer .phd>b{font-size:17px}
.fdrawer .phd small{margin-bottom:2px}
.db{overflow:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:10px;min-height:0}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.tabs button{border:1px solid var(--line);background:var(--bg2);border-radius:999px;padding:4px 11px;font-size:12.5px;color:var(--muted);cursor:pointer;transition:all .18s}
.tabs button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.ot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 0;border-bottom:1px dashed var(--line);animation:rise .3s var(--ease) both;animation-delay:calc(var(--i,0) * 26ms)}
.ot>b{font-weight:500;font-size:13.5px;line-height:1.45;min-width:0}
.ot>b small{color:var(--muted);font-weight:400}
.ot small{font-size:12px;color:var(--muted)}
.ot .od{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}
.ot .od.past{color:var(--danger);font-weight:600}
.ot .oa{grid-column:1/-1;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.dfoot2{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hs h4{margin:12px 0 4px;font-size:13.5px}
.hs p,.hs li{font-size:13px;color:var(--body);margin:0}
.hs ul{margin:0;padding-left:18px}
.fpop{position:fixed;z-index:96;max-width:min(340px,calc(100vw - 24px));max-height:min(60vh,420px);overflow:auto;background:var(--card);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--shadow);padding:11px 13px;font-size:13px;line-height:1.6;color:var(--body);opacity:0;transform:translateY(-4px) scale(.97);transform-origin:top left;pointer-events:none;transition:opacity .16s var(--ease),transform .2s var(--ease)}
.fpop.on{opacity:1;transform:none;pointer-events:auto}
.fpop b{color:var(--fg)}
.fpop ul{margin:4px 0 0;padding-left:16px}
.fpop .pl{display:block;padding:6px 0;border-top:1px dashed var(--line);color:var(--body)}
.fpop a.pl:hover{color:var(--accent)}
.fpop .pl small{display:block;color:var(--muted);font-size:11.5px}
.who .bell{position:relative}
.who .bell .badge{position:absolute;top:-4px;right:-6px}
.who .help{font-weight:700}
/* 첫 방문 안내 */
.spot{position:fixed;z-index:98;border-radius:14px;box-shadow:0 0 0 9999px var(--scrim);pointer-events:none;opacity:0;transition:top .38s var(--ease),left .38s var(--ease),width .38s var(--ease),height .38s var(--ease),opacity .25s}
.spot.on{opacity:1}
.spot::after{content:"";position:absolute;inset:-4px;border-radius:17px;border:2px solid var(--accent2);animation:ring 1.6s var(--ease) infinite}
@keyframes ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.05)}}
.coach{position:fixed;z-index:99;width:min(320px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s var(--ease),transform .3s var(--ease),top .38s var(--ease),left .38s var(--ease)}
.coach.on{opacity:1;transform:none;pointer-events:auto}
.coach .cs{font-size:11.5px;color:var(--accent2);font-weight:700;letter-spacing:.06em}
.coach>b{display:block;font-size:15.5px;margin:2px 0 4px}
.coach p{margin:0 0 12px;font-size:13.5px;color:var(--body)}
.coach .cb{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.coach .dots{display:flex;gap:4px;margin-right:auto;align-items:center}
.coach .dots i{width:6px;height:6px;border-radius:3px;background:var(--line2);transition:width .25s var(--ease),background .25s}
.coach .dots i.on{width:16px;background:var(--accent2)}
html[data-motion=off] .spot::after{display:none}
/* 담기: 쓰기 시작할 때만 빠른 선택·받은 지시 칩이 열린다(평소엔 한 줄) */
.capwrap:not(.act) .quick,.capwrap:not(.act) .execs{display:none}
.capwrap.act .quick,.capwrap.act .execs{animation:rise .2s var(--ease)}
@media (max-width:760px){.capwrap .capture{flex-wrap:wrap}.capwrap .capture input{flex:1 1 100%}.capwrap .capture .modes{width:100%;justify-content:flex-end}}
@media (max-width:760px){.shacts .btn{flex:1 1 100%;white-space:normal}.shacts kbd{display:none}}

/* 나를 태그한 글(2026-10-29) — 운영보드 @내이름 → 데스크. 받은 지시·태그·메모 묶음 맨 위 */
.tagbox:empty{display:none}
.tagbox{margin:0 0 12px;border:1px solid var(--line2);border-radius:12px;background:var(--bg2);padding:6px 10px 8px}
.tagbar{display:flex;align-items:center;gap:8px;padding:4px 0 6px}
.tagbar .cnt{font-variant-numeric:tabular-nums;color:var(--danger,#c0392b);font-weight:700}
.tagbar #tagAll{margin-left:auto}
.tgr{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);transition:opacity .2s,transform .2s var(--ease)}
.tgr.out{opacity:0;transform:translateX(12px)}
.tgat{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--accent2);background:var(--card);border:1px solid var(--line2)}
.tgm{flex:1;min-width:0}
.tgt{font-size:13px;line-height:1.4}
.tgb{font-size:13px;color:var(--body,var(--fg));margin-top:2px;overflow-wrap:anywhere}
.tga{display:flex;gap:4px;flex:0 0 auto}
@media (max-width:760px){.tgr{flex-wrap:wrap}.tga{width:100%;padding-left:36px}}
@media (prefers-reduced-motion:reduce){.tgr{transition:none}}

/* 마감 빠른 선택(2026-10-29) — 담기 줄의 1·3·7일 뒤 단추 + 마감 날짜 칸 아래 떠 있는 선택 */
.quick .qdd{display:inline-flex;gap:4px}
.quick .qdd .ghost{padding:4px 8px;font-size:12px}
.ddpop{position:fixed;z-index:130;display:flex;gap:4px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.14);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .14s ease,transform .16s ease}
.ddpop.on{opacity:1;transform:none;pointer-events:auto}
.ddpop button{border:1px solid var(--line);background:var(--bg2);color:var(--fg);border-radius:7px;padding:4px 9px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.ddpop button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.ddpop button.x{color:var(--muted)}
@media (max-width:760px){.quick .qdd{order:3}}
@media (prefers-reduced-motion:reduce){.ddpop{transition:none}}

/* ---------- 업무 요청 · 주간회의 팀별 보고 · 팔로업(2026-10-29 시안 적용) ---------- */
.rq-head{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-bottom:12px}
.rq-subs{margin-bottom:14px}
.rq-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:900px){.rq-grid{grid-template-columns:minmax(0,1fr)}}
.rq-lbl{font-size:12px;font-weight:700;color:var(--muted);margin:14px 0 6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rq-form>.rq-lbl:first-child{margin-top:0}
.rq-tpl{width:auto;max-width:220px;font-size:12.5px;padding:4px 8px}
.rq-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:36px;padding:6px;border:1px dashed var(--line2);border-radius:9px;background:var(--bg2)}
.rq-pchip{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 4px 3px 10px;font-size:12.5px;font-weight:700}
.rq-pchip.person{background:var(--chip);color:var(--fg);font-weight:600}
.rq-pchip button{border:0;background:none;color:inherit;cursor:pointer;padding:0 5px;opacity:.7;font-size:11px}
.rq-chph{color:var(--muted);font-size:12.5px;padding:3px 4px}
.rq-f2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
@media (max-width:560px){.rq-f2{grid-template-columns:minmax(0,1fr)}}
.rq-send{display:grid;gap:8px}
.rq-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg2);cursor:pointer}
.rq-opt input{width:16px;height:16px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.rq-opt b{display:block;font-size:13.5px}
.rq-opt .small{display:block}
.rq-dm{margin-top:8px;border-left:3px solid var(--line2);padding:8px 10px;background:var(--card);border-radius:0 8px 8px 0;font-size:12.5px;white-space:pre-line;color:var(--body)}
.rq-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.rq-done{margin-top:12px;background:var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:13px}
.rq-done ul{margin:6px 0 0;padding-left:18px}
.rq-picker{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:sticky;top:64px}
@media (max-width:900px){.rq-picker{position:static;order:-1}.rq-plist{max-height:300px}}
.rq-ph{padding:10px;border-bottom:1px solid var(--line)}
.rq-plist{max-height:min(560px,62vh);overflow:auto}
.rq-pnote{padding:8px 12px;border-top:1px solid var(--line)}
.rq-dept{display:flex;align-items:center;gap:8px;padding:8px 12px 8px calc(12px + var(--lv,0)*14px);background:var(--bg2);border-top:1px solid var(--line);cursor:pointer;font-size:13px}
.rq-dept:first-child{border-top:0}
.rq-dept.big{cursor:default;color:var(--muted)}
.rq-dept .n{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}
.rq-pp{display:flex;align-items:center;gap:8px;padding:6px 12px 6px calc(30px + var(--lv,0)*14px);font-size:13px;cursor:pointer}
.rq-pp .t{color:var(--muted);font-size:12px}
.rq-dept input,.rq-pp input{width:15px;height:15px;margin:0;flex:0 0 auto;accent-color:var(--accent);pointer-events:none}
.rq-pp:hover,.rq-dept:not(.big):hover{background:var(--accent-soft)}
.rq-list{display:grid;gap:8px}
.rq-item{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.rq-item .t{font-weight:700}
.rq-item .t a{color:var(--fg)}.rq-item .t a:hover{color:var(--accent)}
.rq-item .m,.rq-fu .m{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted);margin-top:3px}
.rq-item .acts,.rq-fu .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rq-inline:not(:empty){margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.rq-inline textarea{margin-top:4px}
.rq-st{display:inline-block;font-size:11.5px;font-weight:700;border-radius:6px;padding:1px 7px;background:var(--chip);color:var(--body);white-space:nowrap}
.rq-st.late{background:var(--danger-soft);color:var(--danger)}
.rq-st.warn{background:var(--accent2-soft);color:var(--accent2)}
.rq-st.flow{color:var(--muted);font-weight:600}
.rq-band{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent2-soft);border-radius:10px;padding:9px 12px;font-size:13px;margin-top:12px}
.rq-band b{color:var(--accent2)}
.rq-band .r{margin-left:auto}
.rq-teamsum{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.rq-ts{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:12.5px}
.rq-ts b{display:block;font-size:13px}
.rq-ts .r{color:var(--danger);font-weight:700}
.rq-ts .bar{height:5px;border-radius:99px;background:var(--chip);margin-top:7px;overflow:hidden}
.rq-ts .bar i{display:block;height:100%;background:var(--accent)}
.rq-donebox summary{cursor:pointer;list-style:none}
.rq-dteams{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.rq-dt{font-size:12.5px;border:1px solid var(--line2);background:var(--card);color:var(--fg);border-radius:9px;padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:6px}
.rq-dt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}
.rq-legend{display:flex;align-items:center;gap:5px;margin-left:6px}
.rq-dot{width:8px;height:8px;border-radius:50%;background:var(--line2);display:inline-block;flex:0 0 auto}
.rq-dot.done{background:var(--accent)}.rq-dot.part{background:var(--accent2)}
.rq-rrow{display:grid;grid-template-columns:18px 130px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:13px;align-items:start}
.rq-rrow:first-child{border-top:0}
@media (max-width:560px){.rq-rrow{grid-template-columns:18px minmax(0,1fr)}.rq-rrow .v{grid-column:2}}
.rq-rrow .k{font-weight:700}
.rq-sig{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--line2)}
.rq-sig.r{background:var(--danger)}.rq-sig.y{background:#d9a21a}.rq-sig.g{background:var(--accent)}
.rq-close3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:800px){.rq-close3{grid-template-columns:minmax(0,1fr)}}
.rq-close3 .c{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;min-width:0}
.rq-close3 h4{font-size:12.5px;margin:0 0 6px;color:var(--muted)}
.rq-close3 ul{margin:0;padding-left:16px}
.rq-close3 li+li{margin-top:8px}
.rq-close3 .ghost{margin-top:4px}
.rq-fu .kind{font-size:11px;font-weight:700;color:var(--muted)}
.rq-fu .t{font-weight:700}
/* 주소 이전 안내 띠(2026-10-29) — 옛 godeat-desk.pages.dev 에서 넘어오면 */
.moved{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top,0px));transform:translateX(-50%);width:min(640px,calc(100% - 20px));z-index:70;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--warn);border-radius:14px;padding:12px 8px 12px 14px;box-shadow:0 8px 28px rgba(0,0,0,.25)}
.moved-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;line-height:1.45;font-size:13px;color:var(--body)}
.moved-t b{color:var(--fg);font-size:14px}
.moved-t .small{font-size:12px;color:var(--muted)}
.moved .btn{flex:none;white-space:nowrap}
.moved .icon{flex:none;font-size:20px;padding:4px 6px;color:var(--muted)}
@media (max-width:560px){.moved{flex-wrap:wrap}.moved-t{flex-basis:calc(100% - 40px)}.moved .btn{flex:1}}
