/* ── 쉬운 이슈 화면 꼴 한 벌(#6158 · 대표 상수 «시안 코드를 그대로 옮기고 데이터만 잇는다») ──────────────
   정본 = airepo/sr/easy-screen-1023/v2c_6251/대표님_쉬운화면_시안_v2_완성본_1024.html 의 <style>(대표 승인 #6253)
   ★값은 시안 그대로(여백·글자 크기·색 토큰·둥글기·줄 높이) — 고친 것은 «이름»뿐:
     ① 클래스 = 시안 이름 앞에 ezi- (앱 전역에 같은 이름 .chip·.btn·.empty·.card·.av·.who·.tag·.crumb·.badges·.ab 가 있어
        값이 섞인다 · 겹친 덩이의 «첫 클래스»만 붙이고 뒤 꾸밈(.on·.un·.P1·.p·.sm …)은 시안 이름 그대로)
     ② 토큰 = 시안 :root 값을 쉬운 이슈 뿌리(.ezi)에만 둔다(앱 토큰과 섞이지 않게) · 다크 = 앱 테마 축(data-theme)만
     ③ 틀 기준점 = 시안 PC 틀(.pc 머리 54px)이 아니라 앱 칸 — 표시된 줄(틀 맞춤)만 시안과 다르다
   ★이 파일은 lib/issue-brief.js(EX_ISSUE_BRIEF.ensureCss)가 쉬운 이슈 화면이 처음 설 때 한 번 싣는다(index.html 무변). */

.ezi{
  --bg:#EEF1F5;--canvas:#F5F7FA;--surface:#FFFFFF;--sub:#F3F5F8;--line:#E3E7ED;--line2:#EDF0F4;
  --t1:#18212C;--t2:#4A5565;--t3:#7F8A9B;
  --brand:#1A8CC6;--brand-ink:#1769B8;--brand-soft:#E7F2FA;--on-brand:#FFFFFF;
  --red:#D23B3B;--red-bg:#FCEDED;--orange:#B95F08;--orange-bg:#FFF3E0;--yellow:#866100;--yellow-bg:#FFF5CC;
  --green:#0E7A5A;--green-bg:#E7F5EF;--blue:#2A5BD7;--blue-bg:#E8EEFD;--violet:#6A47D6;--violet-bg:#F2EEFF;--violet-line:#D9CCFB;
  --frame:#D3D9E2;--phone:#1B2430;--pin:#E04B72;
  --row:#F4F6F9;--row-h:#E9EDF3;--row-line:#E1E6ED;
  --shadow:0 1px 2px rgba(20,30,45,.05),0 6px 18px rgba(20,30,45,.07);--pop:0 16px 40px rgba(20,30,45,.18);--scrim:rgba(15,22,32,.28);
  color:var(--t1);font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;font-size:var(--fs-body);line-height:1.5;
}
:root[data-theme="dark"] .ezi{
  --bg:#0C1118;--canvas:#111823;--surface:#18202C;--sub:#1F2836;--line:#2B3546;--line2:#232C3B;
  --t1:#E5EAF1;--t2:#A8B3C4;--t3:#919DB0;
  --brand:#4FB3E6;--brand-ink:#7CC6EE;--brand-soft:#16293A;--on-brand:#0C1118;
  --red:#F37C7C;--red-bg:#2C1719;--orange:#F5B26B;--orange-bg:#2B1F10;--yellow:#E9C75A;--yellow-bg:#2A2410;
  --green:#4CCB9C;--green-bg:#10271F;--blue:#86A8FF;--blue-bg:#162140;--violet:#B4A0FA;--violet-bg:#221B3A;--violet-line:#3D3366;
  --frame:#2B3546;--phone:#05080D;--pin:#F0668A;
  --row:#222B3A;--row-h:#2A3446;--row-line:#323C4E;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.35);--pop:0 16px 40px rgba(0,0,0,.5);--scrim:rgba(0,0,0,.5);
}
:where(.ezi),:where(.ezi) *{box-sizing:border-box}
:where(.ezi) button{font:inherit;color:inherit;cursor:pointer}
:where(.ezi) input{font:inherit;color:inherit}
:where(.ezi) kbd{margin-left:auto;font-family:inherit;font-size:var(--fs-tiny);border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:0 6px;color:var(--t2)}
.ezi-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-tiny);font-weight:800;border-radius:6px;padding:2px 8px;white-space:nowrap;line-height:1.5}
.ezi-tag.keep{background:var(--green-bg);color:var(--green)}
.ezi-tag.hide{background:var(--red-bg);color:var(--red)}
.ezi-tag.new{background:var(--brand-soft);color:var(--brand-ink)}
.ezi-rw.done{opacity:.55}
.ezi-small{font-size:var(--fs-tiny);color:var(--t3)}

/* 틀(시안 .pc .scr · .pc.peeking .scr · .pcb.side 칸 폭) — 틀 맞춤: 높이·자리는 앱 칸 */
.ezi-main{flex:1;min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;background:var(--canvas)}
.ezi-scr{flex:1;min-height:0;overflow:auto;padding:18px 22px 40px}
.ezi-main.peeking .ezi-scr{padding-right:474px}
.ezi-head{padding:18px 22px 0;flex-shrink:0}

/* 이슈 왼쪽(시안 issueSide) */
.ezi-isd{background:var(--surface);border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow:auto;position:relative;
  width:214px;height:100%;flex-shrink:0}
.ezi-newb{background:var(--brand);color:var(--on-brand);border:0;border-radius:9px;padding:9px;font-weight:800;margin-bottom:8px}
.ezi-sn{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;font-weight:700;font-size:var(--fs-body);border:0;background:none;text-align:left;width:100%;color:var(--t1)}
.ezi-sn svg{width:16px;height:16px;color:var(--t3);flex-shrink:0}
.ezi-sn .ezi-c{margin-left:auto;font-size:var(--fs-tiny);border-radius:999px;padding:0 7px;font-weight:800;background:var(--red-bg);color:var(--red)}
.ezi-sn .ezi-c.my{background:var(--brand-soft);color:var(--brand-ink)}
.ezi-sn.on{background:var(--brand-soft);color:var(--brand-ink)}
.ezi-sn.on svg{color:var(--brand-ink)}
.ezi-sn:hover{background:var(--sub)}
.ezi-sn.on:hover{background:var(--brand-soft)}
.ezi-sep{height:1px;background:var(--line2);margin:6px 4px}
.ezi-mb{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;color:var(--t3);font-weight:700;font-size:var(--fs-tiny);border:0;background:none;width:100%;text-align:left}
.ezi-mb:hover{background:var(--sub)}
.ezi-ml{display:flex;flex-direction:column;gap:1px;padding:2px 0 4px 4px}
.ezi-mi{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:7px;font-size:var(--fs-tiny);color:var(--t2);border:0;background:none;text-align:left;width:100%}
.ezi-mi:hover{background:var(--sub)}
.ezi-mi .ezi-tag{margin-left:auto;font-size:var(--fs-tiny);padding:1px 5px}

/* AI 띠 · 줄(시안 aihint · rw · rwb · pl · rt · snip · rm · chev · ab · allb) */
.ezi-aihint{font-size:var(--fs-tiny);color:var(--t3);margin:0 0 12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ezi-aib{display:inline-flex;align-items:center;justify-content:center;height:19px;padding:0 6px;border-radius:6px;background:var(--violet);color:#fff;font-size:var(--fs-tiny);font-weight:900;
  letter-spacing:.02em;flex-shrink:0}
.ezi-rw{display:flex;align-items:center;gap:6px;min-width:0;background:var(--row);border:1px solid var(--row-line);border-radius:10px;padding:0 6px 0 8px;margin-top:8px;position:relative}
.ezi-rw:first-child{margin-top:0}
.ezi-rwb{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:none;padding:9px 2px;text-align:left}
.ezi-rwb:hover .ezi-rt{color:var(--brand-ink)}
.ezi-rw.un .ezi-rt{font-weight:800}
.ezi-udot{width:7px;height:7px;border-radius:50%;background:transparent;flex-shrink:0}
.ezi-rw.un .ezi-udot{background:var(--brand)}
.ezi-pl{font-size:var(--fs-tiny);font-weight:900;border-radius:5px;padding:1px 6px;flex-shrink:0;white-space:nowrap}
.ezi-pl.P1{background:var(--red-bg);color:var(--red)} .ezi-pl.P2{background:var(--yellow-bg);color:var(--yellow)} .ezi-pl.P3{background:var(--blue-bg);
  color:var(--blue)} .ezi-pl.P4{background:var(--sub);color:var(--t2)}
.ezi-pl.ty{background:var(--brand-soft);color:var(--brand-ink);min-width:24px;text-align:center}
.ezi-rt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:var(--fs-body)}
.ezi-snip{font-size:var(--fs-tiny);color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;max-width:42%}
.ezi-rm{font-size:var(--fs-tiny);color:var(--t3);flex-shrink:0;white-space:nowrap}
.ezi-rm.hot{color:var(--orange);font-weight:800} .ezi-rm.hot2{color:var(--red);font-weight:800}
.ezi-chev{color:var(--t3);font-size:var(--fs-body);flex-shrink:0;line-height:1}
.ezi-ab{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:2px 8px;font-size:var(--fs-tiny);font-weight:700;color:var(--t2);white-space:nowrap}
.ezi-ab:hover{border-color:var(--brand);color:var(--brand-ink)}
.ezi-ab.ok{border-color:var(--green);color:var(--green)}
.ezi-allb{display:block;width:100%;text-align:center;border:0;background:none;color:var(--t3);font-size:var(--fs-tiny);font-weight:700;padding:7px 0 1px}
.ezi-allb:hover{color:var(--brand-ink)}
.ezi-pb{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 12px;font-size:var(--fs-tiny);font-weight:800;color:var(--t1);white-space:nowrap}
.ezi-pb:hover{border-color:var(--brand)}
.ezi-pb.p{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.ezi-empty{text-align:center;padding:24px 10px;color:var(--t2)}
.ezi-empty b{display:block;font-size:var(--fs-body);color:var(--t1);margin-bottom:10px}
.ezi-who{width:22px;height:22px;border-radius:50%;background:var(--sub);color:var(--t2);font-size:var(--fs-tiny);font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  border:1px solid var(--line)}
.ezi-rwm{min-width:28px;height:28px;font-size:15px;color:var(--t3);flex-shrink:0;padding:0 4px;border:0;background:none;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}
.ezi-rwm:hover{background:var(--sub)}

/* 받은편지함 묶음 줄(시안 v2d · SR #5793 — .grw · .gav · .gun · .gsub) */
.ezi-rw.grw .ezi-rt{flex:0 1 auto}
.ezi-gav{display:inline-flex;flex-shrink:0;margin-left:auto;padding-left:6px}
.ezi-gav .ezi-who{width:22px;height:22px;font-size:var(--fs-tiny);margin-left:-7px;border:2px solid var(--row);background:var(--brand-soft);color:var(--brand-ink)}
.ezi-gav .ezi-who:first-child{margin-left:0}
.ezi-rw.grw.un .ezi-gav .ezi-who{border-color:var(--row)}
.ezi-gun{font-size:var(--fs-tiny);font-weight:800;color:var(--brand-ink);background:var(--brand-soft);border-radius:999px;padding:0 7px;flex-shrink:0;white-space:nowrap}
.ezi-rw.grw.open{border-color:var(--brand)}
.ezi-gsub{margin:8px 0 0 16px;padding-left:10px;border-left:2px solid var(--line)}
.ezi-gsub .ezi-rw:first-child{margin-top:0}
.ezi-gsub .ezi-who{width:20px;height:20px;font-size:10px}
.ezi-ph .ezi-gsub .ezi-snip{display:none}
.ezi-ph .ezi-rw.grw .ezi-gav .ezi-who:nth-child(n+3){display:none}

/* 떠 있는 차림(시안 .pop · .rwpop) */
.ezi-pop{position:absolute;z-index:22;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--pop);padding:6px;min-width:220px}
.ezi-pop .ph1{font-size:var(--fs-tiny);font-weight:900;color:var(--t3);padding:4px 8px 2px}
.ezi-pop button{display:flex;width:100%;align-items:center;gap:8px;border:0;background:none;border-radius:8px;padding:7px 10px;font-size:var(--fs-tiny);text-align:left;color:var(--t1)}
.ezi-pop button:hover{background:var(--sub)}
.ezi-pop button:disabled{color:var(--t3);cursor:not-allowed;background:none}
.ezi-idt .ezi-pop button[aria-disabled="true"]{color:var(--t3)}
.ezi-pop button .ezi-tag{margin-left:auto}
.ezi-pop.rwpop{right:4px;top:calc(100% + 4px);min-width:180px}
.ezi-pop.rwpop .ezi-ab{border:0;border-radius:8px;font-size:var(--fs-tiny);text-align:left}
.ezi-pop.rwpop .ezi-ab.ok{color:var(--green)}

/* 목록(시안 vh · tabs · tab · tb · chip · lay · grh · lst · stb · nc · qc · tree) */
.ezi-vh{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.ezi-vh h3{margin:0;font-size:var(--fs-h3)}
.ezi-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:10px;flex-wrap:wrap}
.ezi-tab{border:0;background:none;padding:7px 11px;font-weight:700;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;font-size:var(--fs-body);white-space:nowrap}
.ezi-tab.on{color:var(--brand-ink);border-bottom-color:var(--brand)}
.ezi-tab .ezi-c{font-size:var(--fs-tiny);margin-left:3px;color:var(--t3)}
.ezi-tb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;position:relative}
.ezi-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:var(--fs-tiny);color:var(--t2);white-space:nowrap}
.ezi-chip:hover{border-color:var(--brand)}
.ezi-chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink);font-weight:700}
.ezi-chip.sv{border-style:dashed}
.ezi-grh{font-size:var(--fs-tiny);font-weight:900;color:var(--t3);margin:10px 4px 2px;display:flex;align-items:center;gap:6px}
.ezi-grh.late{color:var(--red)} .ezi-grh.today{color:var(--orange)}
.ezi-lst{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px}
.ezi-stb{font-size:var(--fs-tiny);font-weight:800;border-radius:6px;padding:1px 7px;flex-shrink:0;white-space:nowrap}
.ezi-stb.ing{background:var(--blue-bg);color:var(--blue)} .ezi-stb.hold{background:var(--yellow-bg);color:var(--yellow)} .ezi-stb.new{background:var(--green-bg);
  color:var(--green)} .ezi-stb.end{background:var(--sub);color:var(--t3)}
/* 머리 한 벌 C5(대표님 #7643·#7645 · 기획 #19285 Q1·#19585) — 폰 «처리중» 줄 상태 꼬리표 바로 아래 가는 선 + %(숫자 있을 때만 · 선 2px 추정 · 색 = 쉬운 강조 · 100% = 초록) · 숫자 없음 = «진척 미입력»(.none) */
.ezi-stw{display:inline-flex;flex-direction:column;align-items:stretch;gap:2px;flex-shrink:0}
.ezi-pg{display:flex;align-items:center;gap:3px;font-size:var(--fs-tiny);font-weight:700;color:var(--t3);line-height:1;white-space:nowrap}
.ezi-pg i{flex:1;min-width:22px;height:2px;border-radius:1px;background:var(--line);overflow:hidden}
.ezi-pg i b{display:block;height:100%;background:var(--brand)}
.ezi-pg i b.full{background:var(--green)}
.ezi-pg.none{font-weight:600}
.ezi-nc{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}
.ezi-qc{display:flex;align-items:center;gap:8px;border:1px dashed var(--frame);border-radius:10px;padding:2px 10px;margin-top:10px;background:var(--surface)}
.ezi-qc input{flex:1;border:0;outline:0;background:none;padding:8px 0;font-size:var(--fs-body);min-width:0}
.ezi-qc>span{color:var(--brand);font-weight:900;font-size:var(--fs-h3)}
.ezi-tree{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:var(--fs-body)}
/* 카테고리 2칸(#6702 · 시안 c2b_8472 .cat2 · .ctree · .tn · .clist · .seg · .sort · 폰 .mtree · .back) — 값 = 시안 그대로 */
.ezi-tree .ezi-tr{display:flex;align-items:center;gap:2px}
.ezi-tree .ezi-tr[data-easy-depth="1"]{padding-left:16px}
.ezi-tree .ezi-tr[data-easy-depth="2"]{padding-left:32px}
.ezi-tree .ezi-tr[data-easy-depth="3"]{padding-left:48px}
.ezi-tg{width:16px;flex-shrink:0;border:0;background:none;padding:0;color:var(--t3);font-size:var(--fs-tiny);text-align:center;border-radius:4px}
.ezi-tg:disabled{cursor:default}
.ezi-tn{display:flex;align-items:center;gap:6px;flex:1;min-width:0;border:0;background:none;text-align:left;padding:5px 8px;border-radius:7px;font-size:var(--fs-body);font-weight:700;color:var(--t1)}
.ezi-tn .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezi-tn .n{font-size:var(--fs-tiny);font-weight:800;color:var(--t3);background:var(--sub);border-radius:999px;padding:0 7px;flex-shrink:0}
.ezi-tn .go{color:var(--t3);font-size:var(--fs-body);flex-shrink:0}
.ezi-tn.s{font-weight:500;color:var(--t2)}
.ezi-tn:hover{background:var(--sub)}
.ezi-tn.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:800;box-shadow:inset 3px 0 0 var(--brand)}
.ezi-tn.on .n{background:var(--brand);color:var(--on-brand)}
.ezi-tn.pon{color:var(--brand-ink)}
.ezi-tn.zero .n{opacity:.55}
.ezi-tdot{width:6px;height:6px;border-radius:50%;background:var(--violet);flex-shrink:0}
.ezi-tpc{margin-top:6px;padding-top:6px;border-top:1px solid var(--line2)}
.ezi-tbar{display:flex;justify-content:flex-end;gap:2px;margin:0 0 4px}
.ezi-tbar button{border:0;background:none;border-radius:6px;padding:1px 6px;font-size:var(--fs-tiny);font-weight:700;color:var(--t3)}
.ezi-tbar button:hover{background:var(--sub);color:var(--brand-ink)}
.ezi-cat2{flex:1;min-width:0;min-height:0;display:flex;background:var(--canvas)}
.ezi-ctree{width:236px;flex-shrink:0;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}
.ezi-cth{display:flex;align-items:center;gap:8px;padding:14px 12px 8px}
.ezi-cth h3{margin:0;font-size:var(--fs-h3)}
.ezi-cth .ezi-ab{margin-left:auto;font-size:var(--fs-tiny);padding:1px 8px;color:var(--t3)}
.ezi-ctsc{flex:1;min-height:0;overflow:auto;padding:0 8px 12px}
.ezi-ctsc .ezi-tree{border:0;border-radius:0;padding:0;background:none}
/* 결정 2(#6702 · 기획 #8751) — 창 폭 < 1280 + 퀵뷰 = 나무 아이콘 칸 48px(나무는 숨김만 · 상태 보존) · 목록 칸 최소 360px
   = 퀵뷰 동안 목록 상자 최소 854px(360 + 왼쪽 여백 20 + 퀵뷰 자리 474 · border-box) · 모자라면 퀵뷰가 목록 오른쪽을 덮는다(가로 밀림 0) */
.ezi-ctree.fold{width:48px;align-items:center}
.ezi-ctree.fold>.ezi-cth,.ezi-ctree.fold>.ezi-ctsc{display:none}
.ezi-tunf{margin-top:14px;font-size:var(--fs-body);font-weight:800;padding:2px 10px;color:var(--brand-ink)}
.ezi-main.peeking .ezi-cat2{overflow:hidden}
.ezi-main.peeking .ezi-cat2 .ezi-scr{min-width:854px}
.ezi-cat2 .ezi-scr{padding:16px 20px 20px}
.ezi-crumb{font-size:var(--fs-tiny);color:var(--t3);margin-bottom:2px}
.ezi-seg{display:inline-flex;background:var(--sub);border:1px solid var(--line);border-radius:9px;padding:2px;flex-shrink:0}
.ezi-seg button{border:0;background:none;font-weight:700;font-size:var(--fs-tiny);padding:3px 10px;border-radius:7px;color:var(--t3);white-space:nowrap}
.ezi-seg button.on{background:var(--surface);color:var(--brand-ink);box-shadow:0 1px 3px rgba(20,30,45,.12)}
.ezi-sort{margin-left:auto;font:inherit;font-size:var(--fs-tiny);color:var(--t2);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:3px 10px}
.ezi-tree.m{padding:6px}
.ezi-tree.m .ezi-tn{padding:9px 8px}
.ezi-cback{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.ezi-cback .ezi-chip{font-weight:700;color:var(--brand-ink)}

/* 카드 보기 카드(#4736 · 시안 v2d .kcard 값 · 갈래 = components/list/EasyKanbanCard.jsx · 폰 칸반도 이 꼴 한 벌)
   카드 자신이 .ezi 뿌리를 겸한다(틀 밖에서 그려져도 같은 토큰) · 글자 크기·보조 글자색 = 정본 R-371·372 가 시안 값을 덮음 */
.ezi-kcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:6px;font-size:var(--fs-tiny);
  text-align:left;width:100%;display:flex;flex-direction:column;gap:5px}
.ezi-kcard .r1{display:flex;gap:6px;align-items:center}
.ezi-kcard{border-left-width:3px;margin-bottom:8px;padding:8px 10px;gap:6px}
.ezi-kcard-p1{border-left-color:var(--red)}
.ezi-kcard-p2{border-left-color:var(--orange)}
.ezi-kcard-p3{border-left-color:var(--blue)}
.ezi-kcard-p4{border-left-color:var(--t3)}
.ezi-kcard b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;line-height:1.4;font-size:var(--fs-meta)}
.ezi-kcard b{overflow-wrap:anywhere}
.ezi-kcard:hover{box-shadow:var(--shadow)}
/* 틀 맞춤 한 줄 — 카드 사이 8px 는 지금 열의 gap 8 이 이미 준다(시안 margin-bottom 8 몫 · 둘 다 두면 16) */
.ezi-kcard{margin-bottom:0}
/* 보조 글자 = 공용 토큰(색 바탕 = 제 값 · 다크 = 위 다크 묶음이 선택자 무게로 이긴다) */
.ezi-kcard{--t3:var(--text-tertiary)}
.ezi-kcard .ezi-rm{font-size:var(--fs-tiny)}
.ezi-ph .ezi-kcard .ezi-rm{font-size:11.5px}
.ezi-ph .ezi-kcard b{font-weight:700;font-size:13.5px}

/* 폰(시안 .ph 덮어쓰기 · mseg · hsc) */
.ezi-ph{background:var(--canvas)}
.ezi-ph .ezi-scr{flex:1;padding:12px 12px 96px}
/* #7511 «기존 목록»에서 연 이슈 카드 = 위 세그·칩 줄을 걷어 카드가 화면 높이를 다 쓴다(다른 길의 전체 화면 상세와 같은 꼴) */
.ezi-ph[data-easy-mode-now="classic"]:has(.icd-ph) > div:first-child{display:none}
.ezi-ph .ezi-snip{display:none}
.ezi-ph .ezi-rwb{padding:11px 2px}
.ezi-ph .ezi-ab{padding:5px 9px}
/* 폰 쉬운 이슈 목록 줄 — 제목이 칩·상태·기한·별표에 밀려 두 글자로 잘림(375 실측 21px) */
/*   제목 = 맨 위 자기 줄 · 나머지 = 아래 줄(넘치면 또 접힘 · 칸 뺌 0) · PC 줄·폰 받은 칸 = 표지 밖 무변 */
.ezi-ph [data-easy-list="m"] .ezi-rwb{flex-wrap:wrap;gap:5px 8px}
.ezi-ph [data-easy-list="m"] .ezi-rt{order:-1;flex:0 0 100%}
.ezi-ph [data-easy-list="m"] .ezi-rm{margin-left:auto}
.ezi-mseg{display:flex;background:var(--sub);border:1px solid var(--line);border-radius:11px;padding:3px;margin-bottom:8px}
.ezi-mseg button{flex:1;border:0;background:none;border-radius:8px;padding:7px 0;font-weight:800;font-size:var(--fs-tiny);color:var(--t3);white-space:nowrap}
.ezi-mseg button.on{background:var(--surface);color:var(--brand-ink);box-shadow:0 1px 3px rgba(20,30,45,.12)}
.ezi-hsc{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:6px;scrollbar-width:none}
.ezi-hsc::-webkit-scrollbar{display:none}

/* 폰 머리 = 공용 한 줄 머리(MApp.jsx MAppHeader · 대표님 #7649 ③ · 기획 #19285) — 쉬운 이슈 전용 머리 꼴(.phh·.hb·.bd · 종) 걷음
   남김 = .ezi-av(PC 퀵뷰 처리 줄 .ezi-idt .ezi-av 의 바탕 값) */
.ezi-av{width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:var(--fs-tiny);flex-shrink:0}

/* PC 퀵뷰(시안 .peek · .pkh · .ib · .idt.qv 묶음) — 틀 맞춤: 시안 top:54px(시안 PC 머리) → 앱 칸 위 0 */
.ezi-peek{position:absolute;top:0;right:0;bottom:0;width:456px;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--pop);z-index:30;display:flex;flex-direction:column}
.ezi-pkh{display:flex;align-items:center;gap:2px;padding:7px 10px;border-bottom:1px solid var(--line);position:relative}
.ezi-pkb{flex:1;overflow:auto;padding:14px 16px 26px}
.ezi-idt{font-size:var(--fs-body);line-height:1.5;color:var(--t1);text-align:left}
.ezi-idt textarea{font:inherit;color:inherit}
.ezi-idt button:disabled{cursor:not-allowed}
.ezi-idt .ezi-ib{border:1px solid transparent;background:none;border-radius:8px;min-width:30px;height:30px;padding:0 6px;font-size:var(--fs-body);color:var(--t2);display:inline-flex;
  align-items:center;justify-content:center;gap:4px;flex-shrink:0}
.ezi-idt .ezi-ib:hover{background:var(--sub);border-color:var(--line)}
.ezi-idt .ezi-ib:disabled{opacity:.4}
.ezi-idt .ezi-ib.on{color:var(--orange)}
.ezi-idt .ezi-btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:6px 12px;font-size:var(--fs-tiny);font-weight:700;white-space:nowrap;display:inline-flex;
  align-items:center;gap:5px}
.ezi-idt .ezi-btn:hover{background:var(--sub)}
.ezi-idt .ezi-btn.p{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.ezi-idt .ezi-btn.p:hover{filter:brightness(1.05)}
.ezi-idt .ezi-btn.ol{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}
.ezi-idt .ezi-btn.sm{padding:3px 9px;font-size:var(--fs-tiny);border-radius:7px}
.ezi-idt .ezi-btn:disabled{opacity:.42}
.ezi-idt .ezi-lnk{border:0;background:none;color:var(--brand-ink);font-weight:700;font-size:var(--fs-tiny);padding:0}
.ezi-idt .ezi-small{font-size:var(--fs-tiny);color:var(--t3)}
.ezi-idt .ezi-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:1px 9px;font-size:var(--fs-tiny);font-weight:700;background:var(--sub);border:1px solid var(--line);
  color:var(--t2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ezi-idt .ezi-chip.st{background:var(--blue-bg);border-color:transparent;color:var(--blue)}
.ezi-idt .ezi-chip.ok{background:var(--green-bg);border-color:transparent;color:var(--green)}
.ezi-idt .ezi-chip.warn{background:var(--orange-bg);border-color:transparent;color:var(--orange)}
.ezi-idt .ezi-chip.bad{background:var(--red-bg);border-color:transparent;color:var(--red)}
.ezi-idt .ezi-chip.br{background:var(--brand-soft);border-color:transparent;color:var(--brand-ink)}
.ezi-idt .ezi-av{width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-tiny);font-weight:900;display:inline-flex;align-items:center;
  justify-content:center;flex-shrink:0}
.ezi-idt .ezi-av.sm{width:20px;height:20px;font-size:10px}
.ezi-idt .ezi-crumb{font-size:var(--fs-tiny);color:var(--t3);display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin:0}
.ezi-idt .ezi-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.ezi-idt .ezi-pbar{height:7px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:5px}
.ezi-idt .ezi-pbar i{display:block;height:100%;background:var(--brand)}
.ezi-idt .ezi-crow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px;font-size:var(--fs-tiny)}
.ezi-idt .ezi-crow label{display:inline-flex;gap:4px;align-items:center}
.ezi-idt .ezi-eb{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}
.ezi-idt .ezi-pop{position:absolute;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--pop);padding:6px;min-width:220px}
.ezi-idt .ezi-pop .ph1{font-size:var(--fs-tiny);color:var(--t3);font-weight:800;padding:4px 8px}
.ezi-idt .ezi-pop button{display:flex;width:100%;text-align:left;border:0;background:none;border-radius:8px;padding:7px 9px;font-size:var(--fs-tiny);gap:8px;align-items:center;color:var(--t1)}
.ezi-idt .ezi-pop button:hover{background:var(--sub)}
.ezi-idt .ezi-pop button:disabled{opacity:.5;background:none;color:var(--t1)}
.ezi-idt .ezi-pop button small{margin-left:auto;color:var(--t3);font-size:var(--fs-tiny)}
.ezi-peek .ezi-idt.qv{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}
.ezi-idt.qv .ezi-pkh.qvh{gap:4px}
.ezi-idt.qv .ezi-qvl{font-size:var(--fs-tiny);margin:0 4px 0 2px}
.ezi-idt.qv .ezi-qvsrc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.ezi-idt.qv .ezi-pkb{flex:1;min-height:0;overflow:auto;padding:14px 16px 18px}
.ezi-idt.qv .ezi-qvt{margin:6px 0 8px;font-size:var(--fs-h3);line-height:1.4}
.ezi-idt.qv .ezi-qvt button{border:0;background:none;padding:0;text-align:left;font:inherit;font-weight:800;color:var(--t1);cursor:pointer}
.ezi-idt.qv .ezi-qvt button:hover{color:var(--brand-ink)}
.ezi-idt.qv .ezi-qpct{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:var(--fs-tiny);color:var(--t3)}
.ezi-idt.qv .ezi-qpct .ezi-pbar{flex:1;margin:0}
.ezi-idt.qv .ezi-qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.ezi-idt.qv .ezi-qf{background:var(--row);border:1px solid var(--row-line);border-radius:10px;padding:6px 10px;min-width:0}
.ezi-idt.qv .ezi-qf span{display:block;font-size:var(--fs-tiny);color:var(--t3);font-weight:700}
.ezi-idt.qv .ezi-qf b{font-size:var(--fs-tiny);font-weight:700;overflow-wrap:anywhere}
.ezi-idt.qv .ezi-qsec{margin-top:14px}
.ezi-idt.qv .ezi-qsh{font-size:var(--fs-tiny);font-weight:800;color:var(--t2);margin-bottom:6px}
.ezi-idt.qv .ezi-qbody{font-size:var(--fs-body);line-height:1.65;max-height:7.2em;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);
  mask-image:linear-gradient(180deg,#000 60%,transparent)}
.ezi-idt.qv .ezi-qbody.open{max-height:none;-webkit-mask-image:none;mask-image:none}
.ezi-idt.qv .ezi-qbl{display:flex;gap:12px;margin-top:4px}
.ezi-idt.qv .ezi-qtr{background:var(--row);border:1px solid var(--row-line);border-radius:10px;padding:8px 10px;margin-top:8px}
.ezi-idt.qv .ezi-qsh+.ezi-qtr{margin-top:0}
.ezi-idt.qv .ezi-qtr .th{display:flex;align-items:center;gap:6px;font-size:var(--fs-tiny)}
.ezi-idt.qv .ezi-qtr .tm{margin-left:auto;font-size:var(--fs-tiny);color:var(--t3)}
.ezi-idt.qv .ezi-qtb{font-size:var(--fs-tiny);line-height:1.55;color:var(--t2);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
/* #7300 1차-나 — 입력기 칸(스크롤 칸 밖 아래 고정) · 대화방 입력기 공용 토큰을 이 모듈 값으로 맞춤(선·글자·강조색 · 다크 = 같은 토큰)
   면(--surface-base) = 지역 선언 금지(screen-dark N1) · 보조 글자(--text-tertiary) = 공용 그대로(정본 보조색에 더 가까움) */
.ezi-idt.qv .ezi-qcomp[data-easy-qcomp],.ezi-idt.qv .ezi-qtr{--surface-sub:var(--sub);--surface-sunken:var(--row);--border-default:var(--line);
  --text-primary:var(--t1);--text-secondary:var(--t2);--explan-red:var(--brand);--explan-red-dark:var(--brand-ink);--text-on-red:var(--on-brand)}
.ezi-idt.qv .ezi-qcomp[data-easy-qcomp]{margin-top:0;flex-shrink:0;background:var(--surface);border-top:1px solid var(--line)}
.ezi-idt.qv .ezi-qcomp[data-easy-qcomp]>.ezi-eb{align-items:center;margin-top:0;padding:8px 12px 6px}
.ezi-idt.qv .ezi-qcomp[data-easy-qcomp]>.ezi-eb .ezi-qsh{margin-bottom:0;font-size:var(--fs-tiny)}
.ezi-idt.qv .ezi-qcnt{display:flex;gap:14px;margin-top:14px;font-size:var(--fs-tiny);color:var(--t3)}
.ezi-idt.qv .ezi-qfoot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface);position:relative;flex-shrink:0}
.ezi-idt.qv .ezi-pop.qstp{left:8px;bottom:calc(100% + 4px);min-width:240px}

/* 상세보기 = 목록 위 큰 팝업(시안 .dpopw · .idt.pcd.pm) — 안은 지금 상세(.detail-panel) · 쉬운 이슈 화면이 떠 있는 동안만(몸 표지)
   틀 맞춤: 바깥 막은 지금 상세 겹(.detail-panel-overlay)이 그린다 · 시안 토큰은 뿌리 밖이라 시안 밝은 값 그대로 적음 */
body.ex-easy-issue-pop .detail-panel-overlay.open{background:rgba(15,22,32,.28)}
body.ex-easy-issue-pop .detail-panel-overlay .detail-panel{top:22px;bottom:22px;left:34px;right:34px;width:auto;max-width:none;
  border:1px solid #E3E7ED;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(20,30,45,.18);transform:scale(.98);opacity:0;transition:opacity .15s,transform .15s}
body.ex-easy-issue-pop .detail-panel-overlay.open .detail-panel{transform:none;opacity:1}
/* #6210 컷④ 새 카드(.icd-on = 쉬운 화면 part 'issue' 켬)가 팝업 안에 서면 테두리·그림자 = 카드 뿌리 토큰(다크 짝 · 밝은 값은 위와 같음)
   2단 1fr/360 ↔ 한 단 = issue-card.css 의 .icd-body 컨테이너(팝업 폭 − 좌우 34 − 본문 24)가 가른다 — 이 절은 폭 값 무변 */
body.ex-easy-issue-pop .detail-panel-overlay .detail-panel.icd-on{border-color:var(--line);box-shadow:var(--pop)}
@media (max-width:640px){body.ex-easy-issue-pop .detail-panel-overlay .detail-panel{top:0;bottom:0;left:0;right:0;border:none;border-radius:0}}

/* #6721 «⋯ 더 보기» 목록(시안 메뉴팝업 1025 · 5절 .mcard) — 아이콘 칸 · 굵은 이름 · 회색 설명 한 줄
   (대화 카드 줄과 같은 꼴 · 214 폭에 한 단계 작게) */
.ezi-mb .cv{margin-left:auto;font-size:var(--fs-tiny)}
.ezi-mb[aria-expanded="true"]{background:var(--sub);color:var(--t2)}
.ezi-ml.card{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 6px 18px rgba(20,30,45,.08);padding:4px;margin:2px 0 4px;gap:0}
.ezi-ni{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;width:100%;min-height:48px;border:0;background:none;border-radius:10px;
  padding:6px 7px;text-align:left}
.ezi-ni:hover{background:var(--sub)}
.ezi-ni .ic{width:30px;height:30px;border-radius:9px;background:var(--sub);color:var(--t2);display:flex;align-items:center;justify-content:center}
.ezi-ni .ic svg{width:15px;height:15px}
.ezi-ni .nm{font-size:var(--fs-tiny);font-weight:800;color:var(--t1);display:block;line-height:1.3}
.ezi-ni .ds{font-size:var(--fs-tiny);color:var(--t3);display:block;line-height:1.35}
.ezi-ml.card .sep{height:1px;background:var(--line2);margin:4px 6px}
@media (pointer:coarse){ .ezi-ni{min-height:52px} }

/* -b(C4 · 검수1 #8825 알릴 2 · PM #8830 11·12·19·22·23) ────────────────
   ① 목록 줄 💬·☆ = 옛 목록 IssueRow 💬 칸·별표 칸 값 그대로(파랑 알약 · 안 읽음 = 빨강 · 대화 0 = 흐린 아이콘 · 별 = kpi-warn) */
.ezi-rchat{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;border:0;cursor:pointer;font-size:var(--fs-tiny,11px);font-weight:700;padding:2px 5px;border-radius:8px;
  background:#DBEAFE;color:var(--kpi-info);white-space:nowrap}
.ezi-rchat.un{background:var(--explan-red);color:#fff}
.ezi-rchat.none{background:transparent;color:var(--text-muted,#9CA3AF);opacity:.55}
.ezi-rchat .mk{font-size:var(--fs-tiny)}
.ezi-rchat .mk.new{font-size:var(--fs-tiny);opacity:.85}
.ezi-rstar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border:0;background:none;cursor:pointer;padding:0}
/* I15(기획 #13483) 줄 📎 첨부 수 = 옛 목록 첨부 칸 값 그대로(paperclip 12 · 흐린 글 · 작은 글자 · 테두리·바탕 0) */
.ezi-ratt{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;border:0;background:none;cursor:pointer;padding:2px 4px;
  color:var(--text-tertiary);font-size:var(--fs-tiny,11px);white-space:nowrap}
/* ② 퀵뷰에 띄운 줄 = 다른 줄과 구분(aria-current 만이던 것 · 칩 «on» 과 같은 색) */
.ezi-rw[aria-current="true"]{background:var(--brand-soft);border-color:var(--brand)}
/* ③ 차림 줄 안 작은 글(퀵뷰 «상태 바꾸기» 꼬리 · ⋯ 도구 꼬리는 사진 5 뒤 EasyMenu .ezm-t) */
.ezi-pop button small{margin-left:auto;color:var(--t3);font-size:var(--fs-tiny);white-space:nowrap}
/* ④ 쉬운 틀 안 옛 표 목록(IssueList) — 단추 글자 두 줄 0(1040 최소 폭 · «칸/반»·«간/트» 깨짐) · «준비 중» 막힌 단추(엑셀 다운) 안 보임
     옛 IssueList.jsx 는 바이트 무변(스위치 꺼짐 = 운영 화면)이라 이 틀 안에서만 꾸밈으로 · DOM 은 옛 그대로 */
.ezi-main [data-easy-frame-body] button{white-space:nowrap}
.ezi-main [data-easy-frame-body] [data-fake-sweep="soon"]{display:none}
/* ⑥ 대표 긴급 «머리 한 벌» ③(PC) — 쉬운 틀 «표 보기» = 제목 한 줄: 틀 제목(.ezi-vh h3)만 남기고 태운 옛 표의 제목(h1)을 감춘다
     body = 'list' 는 틀이 옛 IssueList 를 태울 때만(EasyIssueFrame) · IssueList.jsx 바이트 무변
     건수 배지·도구 줄은 그대로 · 단독 IssueList(스위치 꺼짐)는 틀 밖이라 무관 */
.ezi-main [data-easy-frame-body="list"] h1{display:none}
/* ⑤ 1040~1280 퀵뷰 = 목록 위에 겹쳐 뜸(목록 칸을 474px 밀어 제목이 두세 글자로 줄던 것) · 1281 위 = 종전(옆으로 밂) */
@media (max-width:1280px){ .ezi-main.peeking .ezi-scr{padding-right:22px} }

/* «채울 것» 차례 카드(#4734 · 시안 4734-fill-order-mockup-1025 .guide·.gbar·.gs·.gfold 값 그대로) — PC 상세 «이슈 내용» 위 · 폰 제목 카드 뒤 */
.ezi-guide{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:18px 20px;margin-bottom:16px;
  box-shadow:0 1px 2px rgba(20,30,45,.04)}
.ezi-guide.ph{padding:14px;margin-bottom:9px}
.ezi-guide .ezi-gh{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.ezi-guide .ezi-gh h3{margin:0;font-size:var(--fs-body)}
.ezi-guide .ezi-gcnt{font-size:var(--fs-tiny);color:var(--t3);font-weight:700}
.ezi-guide .ezi-gnote{margin-bottom:6px}
.ezi-guide .ezi-gbar{height:6px;background:var(--sub);border-radius:3px;overflow:hidden;margin:2px 0 10px}
.ezi-guide .ezi-gbar i{display:block;height:100%;background:var(--brand);transition:width .25s}
.ezi-guide .ezi-gs{display:flex;align-items:center;gap:10px;background:var(--row);border:1px solid var(--row-line);border-radius:10px;padding:9px 10px;margin-top:8px;flex-wrap:wrap}
.ezi-guide .ezi-gn{width:24px;height:24px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line);font-size:var(--fs-tiny);font-weight:900;display:flex;
  align-items:center;justify-content:center;flex-shrink:0;color:var(--t2)}
.ezi-guide .ezi-gs.now{border-color:var(--brand);background:var(--brand-soft)}
.ezi-guide .ezi-gs.now .ezi-gn{border-color:var(--brand);color:var(--brand-ink)}
.ezi-guide .ezi-gs.done .ezi-gn{background:var(--green);border-color:var(--green);color:#fff}
.ezi-guide .ezi-gs.skip .ezi-gn{border-style:dashed;color:var(--t3)}
.ezi-guide .ezi-gt{flex:1;min-width:140px}
.ezi-guide .ezi-gt b{display:flex;align-items:center;gap:5px;font-size:var(--fs-body)}
.ezi-guide .ezi-gt span{font-size:var(--fs-tiny);color:var(--t3)}
.ezi-guide .ezi-aip,.ezi-guide .ezi-ged{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ezi-guide .ezi-ged select,.ezi-guide .ezi-ged input{border:1px solid var(--line);border-radius:7px;padding:5px 7px;background:var(--surface);min-width:0;max-width:220px}
.ezi-guide .ezi-gwhy{flex-basis:100%;padding-left:34px;font-size:var(--fs-tiny);color:var(--t3);margin-top:-4px}
.ezi-guide.ph .ezi-gwhy{padding-left:0}
.ezi-guide .ezi-gwhy b{color:var(--violet);font-weight:800}
.ezi-guide .ezi-gfold{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ezi-guide .ezi-gfold b{font-size:var(--fs-body)}
.ezi-guide .ezi-gfold .ezi-gn{background:var(--green);border-color:var(--green);color:#fff}
.ezi-idt .ezi-chip.ai{background:var(--violet-bg);border-color:transparent;color:var(--violet)}
.ezi-idt .ezi-btn.ai{border-color:var(--violet-bg);background:var(--violet-bg);color:var(--violet)}
/* 새 이슈 카드(#6210) 안 자리 — DOM 은 본문 뒤(.icd-lc 첫 칸 = 본문 상자 꼴 지킴) · 보이는 차례만 순서로 */
.icd-lc > .ezi-guide{order:-1;margin-bottom:0}
.icd-phs > .ezi-guide{order:0}
/* #7950·#7952 전체 이슈 도구 줄(시안 mock_7957) — 진행 칩 두 칸 · 보기 단추 한 벌 · 글자 = 옆 칩과 같은 크기 */
.ezi-main .ezi-seg[data-easy-act="closed"] button{font-size:var(--fs-caption);font-weight:500;padding:0 10px}
.ezi-main .ezi-seg[data-easy-act="closed"] button.on{background:var(--brand);color:var(--on-brand);font-weight:700}
.ezi-hsc .ezi-seg[data-easy-act="closed"] button{font-weight:500;padding:0 10px}
.ezi-hsc .ezi-seg[data-easy-act="closed"] button.on{background:var(--brand);color:var(--on-brand);font-weight:700}
.ezi-main [data-easy-lays]{display:inline-flex;gap:4px;margin-left:6px;padding-left:10px;border-left:1px solid var(--line);flex-shrink:0}
.ezi-main [data-easy-lay]{border:0;background:none;border-radius:8px;padding:2px 9px;font-size:var(--fs-caption);color:var(--t2);white-space:nowrap}
.ezi-main [data-easy-lay].on{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}
/* 좁을 때 1단 = 보기 단추 그림만(제목 풍선 = title) · 2단 = 검색칸만 자기 줄(시안 :41) — 폭 값은 어림(칸 합 · 실화면 못 잼) */
.ezi-main.peeking [data-easy-lay] span{display:none}
@media (max-width:1500px){ .ezi-main [data-easy-lay] span{display:none} }
@media (max-width:1340px){
  .ezi-main .filter-bar{height:auto;min-height:44px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
  .ezi-main .filter-bar > .input-with-icon{flex:1 1 100% !important;width:auto !important}
  .ezi-main [data-easy-lays]{border-left:0;padding-left:0;margin-left:0}
}
@media (max-width:1800px){
  .ezi-main.peeking .filter-bar{height:auto;min-height:44px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
  .ezi-main.peeking .filter-bar > .input-with-icon{flex:1 1 100% !important;width:auto !important}
  .ezi-main.peeking [data-easy-lays]{border-left:0;padding-left:0;margin-left:0}
}
/* #7960·#7970 폰 위 줄(시안 mock_7960) — «카테고리 ›» 칩 = 옆 보기 단추와 같은 꼴(높이 36 · 테두리 · 글자 · 눌림 색)
   글자 = 폰 표 단계(--fs-m-* · R-372) · 칩 글자는 파일 끝 폰 글자 표 .m-app-frame .ezi-chip(본문)이 정함 = 보기 단추 본문 */
.ezi-vline{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}
.ezi-vline .ezi-hsc{flex:0 0 auto;margin:0;padding:0;overflow:visible}
.ezi-vline .ezi-chip{height:36px;border-radius:9px;padding:0 10px;font-weight:600;color:var(--t3)}
.ezi-vline .ezi-chip:hover{border-color:var(--line)}
.ezi-vline .ezi-chip.on{background:var(--brand-soft);border-color:var(--line);color:var(--brand-ink);font-weight:800}
.ezi-views{display:inline-flex;align-items:center;height:36px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:2px;gap:1px}
.ezi-views button{border:0;background:none;border-radius:7px;height:30px;padding:0 8px;font-size:var(--fs-m-body);font-weight:600;color:var(--t3);white-space:nowrap}
.ezi-views button.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:800}
.ezi-views i{font-style:normal;margin-right:3px}
/* 폰 칸반차트 — 단계별 세로 묶음 · 보기만(카드 꼴 = #4736 .ezi-kcard) */
.ezi-kb{margin-bottom:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ezi-kb-h{width:100%;display:flex;align-items:center;gap:7px;border:0;background:none;padding:10px 11px;text-align:left}
.ezi-kb-h .bar{width:4px;height:14px;border-radius:2px;flex-shrink:0}
.ezi-kb-h b{font-size:var(--fs-m-row);font-weight:800}
.ezi-kb-h .n{font-size:var(--fs-m-body);color:var(--t3)}
.ezi-kb-h .tg{margin-left:auto;font-size:var(--fs-m-body);color:var(--t3)}
.ezi-kb-l{padding:0 8px 8px;display:flex;flex-direction:column;gap:6px}
.ezi-kb-more{border:0;background:none;color:var(--brand-ink);font-size:var(--fs-m-body);font-weight:700;padding:4px 0 0;text-align:left}
/* 폰 간트차트 — 가로 밀기 · 이슈 칸 고정 · 칸 무늬(주말·오늘 선) = 겹 하나(줄마다 칸 0) */
.ezi-gantt-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.ezi-gantt-m{min-width:0;font-size:var(--fs-m-sub);color:var(--t3)}
.ezi-gantt-bar .ezi-chip{flex-shrink:0}
.ezi-gantt{--gt-lw:108px;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ezi-gantt-sc{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.ezi-gantt-in{position:relative}
.ezi-gantt-lay{position:absolute;top:0;bottom:0;left:var(--gt-lw);right:0;pointer-events:none}
.ezi-gantt-lay .we{position:absolute;top:0;bottom:0;background:var(--sub)}
.ezi-gantt-lay .td{position:absolute;top:0;bottom:0;width:2px;background:var(--brand);opacity:.55;z-index:2}
.ezi-gantt-r{position:relative;display:flex;height:42px;border-top:1px solid var(--line2);cursor:pointer}
.ezi-gantt-r.head{height:38px;border-top:0;background:var(--sub);cursor:default}
.ezi-gantt-l{position:sticky;left:0;z-index:3;width:var(--gt-lw);flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);padding:5px 7px}
.ezi-gantt-l{display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.ezi-gantt-r.head .ezi-gantt-l{background:var(--sub);font-size:var(--fs-m-sub);font-weight:700;color:var(--t3)}
.ezi-gantt-l b{font-size:var(--fs-m-body);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezi-gantt-l span{font-size:var(--fs-m-sub);color:var(--t3);white-space:nowrap}
.ezi-gantt-t{position:relative;flex-shrink:0;display:flex}
.ezi-gantt-d{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:var(--fs-m-sub);line-height:1.25;color:var(--t3)}
.ezi-gantt-d.td{color:var(--brand-ink);font-weight:800}
.ezi-gantt-b{position:absolute;top:12px;height:18px;border-radius:5px;z-index:1}
.ezi-gantt-fade{position:absolute;top:0;right:0;bottom:0;width:26px;background:linear-gradient(to right,transparent,rgba(113,113,122,.2));pointer-events:none;z-index:4}
.ezi-gantt-hint{text-align:center;font-size:var(--fs-m-sub);color:var(--t3);padding:8px 0 2px}
.ezi-gantt-none{display:block;width:100%;margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 11px;
  font-size:var(--fs-m-body);color:var(--t2);text-align:left}
.ezi-gantt-nl{margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ezi-gantt-nl button{display:block;width:100%;border:0;border-top:1px solid var(--line2);background:none;padding:9px 11px;font-size:var(--fs-m-row);font-weight:700;text-align:left}
.ezi-gantt-nl button:first-child{border-top:0}
/* 좁은 폰(시안 폭 320) — 보기 단추 그림 뺌 · 글자 보조 단계(11.5 · R-372 폰 최소) · 이슈 칸 좁힘
   칩 = .ezi-hsc 한 칸 더(무게 0,3,0) — 파일 끝 표 .m-app-frame .ezi-chip(0,2,0)보다 무거워야 보기 단추와 같은 단계 */
@media (max-width:359px){
  .ezi-views button{padding:0 6px;font-size:var(--fs-m-sub)}
  .ezi-views i{display:none}
  .ezi-vline .ezi-hsc .ezi-chip{padding:0 8px;font-size:var(--fs-m-sub)}
  .ezi-gantt{--gt-lw:88px}
}
/* ── 폰 글자 크기 표(이희성 대표 #7926 · 규율 R-2026-09-04-372 · 컷 4) ──────────────
   폰 틀(.m-app-frame) 안에서만 위 규칙의 글자 크기를 폰 표 단계(tokens.css --fs-m-*)로 덮는다 — PC 무변.
   위 규칙과 같은 차례·같은 무게(+틀 한 칸)로 한 줄씩 옮겨 겹침 순서를 지킨다 · 18.5 넘는 큰 글자는 제 값 그대로. */
.m-app-frame .ezi{font-size:var(--fs-m-section)}
.m-app-frame :where(.ezi) kbd{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-tag{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-small{font-size:var(--fs-m-body)}
.m-app-frame .ezi-sn{font-size:var(--fs-m-row)}
.m-app-frame .ezi-sn .ezi-c{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-mb{font-size:var(--fs-m-body)}
.m-app-frame .ezi-mi{font-size:var(--fs-m-body)}
.m-app-frame .ezi-mi .ezi-tag{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-aihint{font-size:var(--fs-m-body)}
.m-app-frame .ezi-aib{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-pl{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-rt{font-size:var(--fs-m-row)}
.m-app-frame .ezi-snip{font-size:var(--fs-m-body)}
.m-app-frame .ezi-rm{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-chev{font-size:var(--fs-m-section)}
.m-app-frame .ezi-ab{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-allb{font-size:var(--fs-m-body)}
.m-app-frame .ezi-pb{font-size:var(--fs-m-body)}
.m-app-frame .ezi-empty b{font-size:var(--fs-m-section)}
.m-app-frame .ezi-who{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-rwm{font-size:var(--fs-m-section)}
.m-app-frame .ezi-gav .ezi-who{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-gun{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-gsub .ezi-who{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-pop .ph1{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-pop button{font-size:var(--fs-m-body)}
.m-app-frame .ezi-pop.rwpop .ezi-ab{font-size:var(--fs-m-body)}
.m-app-frame .ezi-vh h3{font-size:var(--fs-m-title)}
.m-app-frame .ezi-tab{font-size:var(--fs-m-row)}
.m-app-frame .ezi-tab .ezi-c{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-chip{font-size:var(--fs-m-body)}
.m-app-frame .ezi-grh{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-stb{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-pg{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-qc input{font-size:var(--fs-m-row)}
.m-app-frame .ezi-qc>span{font-size:var(--fs-m-section)}
.m-app-frame .ezi-tree{font-size:var(--fs-m-row)}
.m-app-frame .ezi-tg{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-tn{font-size:var(--fs-m-row)}
.m-app-frame .ezi-tn .n{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-tn .go{font-size:var(--fs-m-section)}
.m-app-frame .ezi-tbar button{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-cth h3{font-size:var(--fs-m-section)}
.m-app-frame .ezi-cth .ezi-ab{font-size:var(--fs-m-row)}
.m-app-frame .ezi-tunf{font-size:var(--fs-m-section)}
.m-app-frame .ezi-crumb{font-size:var(--fs-m-body)}
.m-app-frame .ezi-seg button{font-size:var(--fs-m-body)}
.m-app-frame .ezi-sort{font-size:var(--fs-m-body)}
.m-app-frame .ezi-mseg button{font-size:var(--fs-m-row)}
.m-app-frame .ezi-av{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt{font-size:var(--fs-m-section)}
.m-app-frame .ezi-idt .ezi-ib{font-size:var(--fs-m-section)}
.m-app-frame .ezi-idt .ezi-btn{font-size:var(--fs-m-row)}
.m-app-frame .ezi-idt .ezi-btn.sm{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt .ezi-lnk{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt .ezi-small{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt .ezi-chip{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt .ezi-av{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-idt .ezi-av.sm{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-idt .ezi-crumb{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt .ezi-crow{font-size:var(--fs-m-row)}
.m-app-frame .ezi-idt .ezi-pop .ph1{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-idt .ezi-pop button{font-size:var(--fs-m-row)}
.m-app-frame .ezi-idt .ezi-pop button small{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-idt.qv .ezi-qvl{font-size:var(--fs-m-row)}
.m-app-frame .ezi-idt.qv .ezi-qvt{font-size:var(--fs-m-title)}
.m-app-frame .ezi-idt.qv .ezi-qpct{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt.qv .ezi-qf span{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-idt.qv .ezi-qf b{font-size:var(--fs-m-row)}
.m-app-frame .ezi-idt.qv .ezi-qsh{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt.qv .ezi-qbody{font-size:var(--fs-m-row)}
.m-app-frame .ezi-idt.qv .ezi-qtr .th{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt.qv .ezi-qtr .tm{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-idt.qv .ezi-qtb{font-size:var(--fs-m-body)}
.m-app-frame .ezi-idt.qv .ezi-qcnt{font-size:var(--fs-m-body)}
.m-app-frame .ezi-mb .cv{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-ni .nm{font-size:var(--fs-m-body)}
.m-app-frame .ezi-ni .ds{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-rchat .mk{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-rchat .mk.new{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-pop button small{font-size:var(--fs-m-sub)}
.m-app-frame .ezi-guide .ezi-gh h3{font-size:var(--fs-m-section)}
.m-app-frame .ezi-guide .ezi-gcnt{font-size:var(--fs-m-body)}
.m-app-frame .ezi-guide .ezi-gn{font-size:var(--fs-m-body)}
.m-app-frame .ezi-guide .ezi-gt b{font-size:var(--fs-m-row)}
.m-app-frame .ezi-guide .ezi-gt span{font-size:var(--fs-m-body)}
.m-app-frame .ezi-guide .ezi-gwhy{font-size:var(--fs-m-body)}
.m-app-frame .ezi-guide .ezi-gfold b{font-size:var(--fs-m-section)}
