/* LUVIA WORK - 흰 바탕, 흑백 위주, Pretendard */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
:root{
  --bg:#FFFFFF; --side:#FAFAFA; --sunk:#F4F4F5; --ink:#111113; --muted:#6B6B73; --faint:#9A9AA2; --line:#E7E7EA;
  --accent:#111113; --on-accent:#FFFFFF; --hover:#F1F1F3;
  --good:#1F7A4D; --good-soft:#E6F3EC; --warn:#9A6400; --warn-soft:#FBF1DC; --crit:#B4321F; --crit-soft:#FBE7E3;
  --font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --r:8px; color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}

/* 버튼 · 입력 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--bg);font-size:13px;font-weight:600;padding:7px 13px;border-radius:7px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.primary:hover{opacity:.88}
.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}
.btn.ghost:hover{color:var(--ink);background:var(--hover)}
.btn.danger{color:var(--crit)}
.btn.danger:hover{border-color:var(--crit)}
.btn.small{font-size:12px;padding:4px 9px}
.btn[disabled]{opacity:.45;cursor:default}
label.f{display:grid;gap:5px;font-size:12.5px;font-weight:600;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=url],select{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 11px;background:var(--bg);font-size:14px;color:var(--ink);font-weight:400}
input:focus,select:focus{border-color:var(--ink);outline:none}
.check{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}
.check input{width:16px;height:16px;accent-color:var(--ink)}
.msg{font-size:13px;padding:9px 12px;border-radius:7px}
.msg.err{background:var(--crit-soft);color:var(--crit)}
.msg.ok{background:var(--good-soft);color:var(--good)}
.msg.info{background:var(--sunk);color:var(--muted)}

/* 로그인 화면 */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--side)}
.auth form{width:min(380px,100%);display:grid;gap:16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:32px 28px}
.auth .logo{font-size:20px;font-weight:800;letter-spacing:.06em}
.auth .logo small{display:block;font-size:12.5px;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:2px}
.auth .links{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.auth .links a{color:var(--muted)}
.auth p{margin:0;font-size:13.5px;color:var(--muted)}

/* 레이아웃 */
.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
aside.side{background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}
.side .logo{font-size:15px;font-weight:800;letter-spacing:.08em;padding:20px 20px 16px}
.side nav{display:grid;gap:1px;padding:0 10px;flex:1;align-content:start}
.side .grp{font-size:11.5px;font-weight:700;color:var(--faint);letter-spacing:.08em;padding:14px 10px 4px}
.side .item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;text-decoration:none;font-weight:600;font-size:14px;color:var(--muted)}
.side .item:hover{background:var(--hover);color:var(--ink)}
.side a.item.sub{padding-left:22px}
.side a.item[aria-current="page"]{background:var(--ink);color:var(--on-accent)}
.side .sep{height:1px;background:var(--line);margin:10px 10px}
.side .me{border-top:1px solid var(--line);padding:14px 16px;display:grid;gap:8px}
.side .me b{font-size:13.5px}
.side .me span{font-size:12px;color:var(--muted)}
.side .me .row{display:flex;gap:6px;flex-wrap:wrap}
.role{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:var(--sunk);color:var(--muted)}
.role.admin{background:var(--ink);color:var(--on-accent)}
.role.leader{background:#E9E9EC;color:var(--ink)}

main{min-width:0;display:flex;flex-direction:column}
.head{padding:22px 32px 0;border-bottom:1px solid var(--line)}
.head .crumb{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.04em}
.head h1{font-size:22px;margin:2px 0 14px}
nav.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:-1px}
nav.tabs a{padding:9px 12px 11px;border-bottom:2px solid transparent;font-weight:600;font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap}
nav.tabs a:hover{color:var(--ink)}
nav.tabs a[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
nav.tabs .ext{font-size:11px;margin-left:3px}
.body{padding:26px 32px 48px;max-width:1180px;width:100%}
.topm{display:none}

/* 카드 · 표 */
.card{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--bg)}
.card+.card{margin-top:16px}
.card h2{font-size:16px;margin-bottom:4px}
.card h3{font-size:14px}
.card p{margin:6px 0 0;color:var(--muted)}
.empty{border:1px dashed var(--line);border-radius:10px;padding:36px 24px;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:6px}
.empty ul{list-style:none;padding:0;margin:14px auto 0;display:grid;gap:4px;max-width:460px;font-size:13.5px;text-align:left}
.empty li::before{content:"- ";color:var(--faint)}
.stage{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--muted);margin-bottom:10px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.bar h2{font-size:18px}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);background:var(--side);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
tr.off td{color:var(--faint)}
td .actions{display:flex;gap:4px;justify-content:flex-end}
.pill{display:inline-block;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--sunk);color:var(--muted);margin:1px 2px 1px 0}
.pill.on{background:var(--good-soft);color:var(--good)}
.pill.off{background:var(--crit-soft);color:var(--crit)}
.kind{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.subnav{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}
.subnav a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:13px;font-weight:600;color:var(--muted)}
.subnav a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}

/* 팀별 탭 관리 */
.teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.team-card h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.tab-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}
.tab-row .nm{font-weight:600;font-size:13.5px}
.tab-row .meta{font-size:12px;color:var(--muted)}
.tab-row .actions{display:flex;gap:2px}

/* 대화상자 */
dialog{border:0;border-radius:12px;padding:0;width:min(520px,calc(100% - 32px));box-shadow:0 20px 60px rgba(0,0,0,.18)}
dialog::backdrop{background:rgba(17,17,19,.35)}
dialog form{display:grid;gap:14px;padding:24px}
dialog h2{font-size:17px}
dialog .foot{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
fieldset{border:1px solid var(--line);border-radius:8px;padding:10px 12px 12px;margin:0;display:grid;gap:8px}
legend{font-size:12.5px;font-weight:700;color:var(--muted);padding:0 4px}
.secret{display:flex;align-items:center;gap:8px;background:var(--sunk);border-radius:8px;padding:12px 14px;font-size:18px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.secret code{flex:1;font-family:inherit}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--on-accent);padding:10px 16px;border-radius:8px;font-size:13.5px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.2)}

/* 모바일 */
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  aside.side{position:fixed;inset:0 auto 0 0;width:260px;z-index:30;transform:translateX(-100%);transition:transform .2s}
  body.menu-open aside.side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.2)}
  body.menu-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:20}
  .topm{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:10}
  .topm b{font-weight:800;letter-spacing:.08em}
  .head{padding:16px 16px 0}
  .body{padding:20px 16px 40px}
  .grid2{grid-template-columns:1fr}
}

/* 메뉴 묶음 (KPI / WORK / TOOLS & SETTINGS) */
.side button.item{width:100%;border:0;background:none;cursor:pointer;justify-content:space-between;text-align:left;font-family:inherit}
.side .chev{margin-left:auto}
.side .chev{font-size:11px;color:var(--faint)}
.side .dot{color:var(--faint);margin-right:2px}
.side a.item[aria-current="page"] .dot{color:var(--on-accent)}
nav.sections{display:flex;gap:6px;margin:-4px 0 12px;flex-wrap:wrap}
nav.sections a{padding:5px 12px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
nav.sections a:hover{border-color:var(--ink);color:var(--ink)}
nav.sections a[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}
.sec-label{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--faint);padding:12px 0 2px}
.team-card .none{margin:0;padding:4px 0}
.warn-t{color:var(--warn)}
.link-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.embed-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
iframe.embed{width:100%;height:calc(100vh - 260px);min-height:480px;border:1px solid var(--line);border-radius:10px;background:var(--side)}
textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 11px;font-size:14px;resize:vertical;margin:10px 0}
.card form,.card>input{margin-top:10px}
.card input[type=text]{margin:10px 0 0}
#rcpt,#mailfrom{display:grid;gap:4px}

/* ---------- 2단계 화면 ---------- */
.small{font-size:12.5px}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:.01em}.r{text-align:right}.nowrap{white-space:nowrap}
td.wrap{min-width:180px;max-width:360px;white-space:pre-wrap;word-break:break-word}
.row-gap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bar .row-gap select,.bar .row-gap input[type=search],.bar .row-gap input[type=date],.bar .row-gap input[type=month],.filt input,.filt select{width:auto;padding:6px 10px;font-size:13px}
.filt input[type=search]{min-width:220px}
.linklike{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.linklike:hover{text-decoration:underline}
.btn.ok{background:var(--good);border-color:var(--good);color:#fff}
.segm{display:inline-flex;background:var(--sunk);border-radius:8px;padding:3px;gap:2px}
.segm button{border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600;padding:5px 12px;border-radius:6px;cursor:pointer}
.segm button[aria-pressed="true"]{background:var(--bg);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.grp-h{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:24px 0 10px}

/* 타일 */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:18px}
.tiles.small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.tile{border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;display:grid;gap:6px;background:var(--bg)}
a.tile:hover{border-color:var(--ink)}
.t-label{font-size:12px;font-weight:700;color:var(--muted)}
.t-big{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.t-big .muted{font-size:16px;font-weight:600}
.t-sub{font-size:12.5px;color:var(--muted)}
.bar1{height:6px;background:var(--sunk);border-radius:999px;overflow:hidden}
.bar1 span{display:block;height:100%;background:var(--ink);border-radius:999px}
.stack{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--sunk);gap:2px}
.seg-good{background:var(--good)}.seg-warn{background:#D69A1E}.seg-bad{background:var(--crit)}.seg-none{background:#D9D9DE}
.tile.st-bad{border-color:#F0C4BC;background:var(--crit-soft)}

/* KPI 카드 */
.kcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.kcard{border:1px solid var(--line);border-left:4px solid #D9D9DE;border-radius:10px;padding:12px 14px;display:grid;gap:6px}
.kcard.st-good{border-left-color:var(--good)}.kcard.st-warn{border-left-color:#D69A1E}.kcard.st-bad{border-left-color:var(--crit)}
.k-name{font-weight:700;font-size:13.5px;line-height:1.35}
.k-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.k-ach{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.kcard.st-good .k-ach{color:var(--good)}.kcard.st-warn .k-ach{color:var(--warn)}.kcard.st-bad .k-ach{color:var(--crit)}
.kcard.st-good .k-bar span{background:var(--good)}.kcard.st-warn .k-bar span{background:#D69A1E}.kcard.st-bad .k-bar span{background:var(--crit)}
.k-meta{font-size:12px;color:var(--muted)}
.spark rect.b-good{fill:var(--good)}.spark rect.b-warn{fill:#D69A1E}.spark rect.b-bad{fill:var(--crit)}.spark rect.b-none{fill:#C9C9CF}
.spark .tline{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3 2;opacity:.55}

/* TO DO */
.today-head{display:flex;align-items:center;gap:14px;margin:4px 0 6px}
.tasks{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid var(--line)}
.task:first-child{border-top:0}
.task.is-done{background:var(--good-soft)}.task.is-done .t-name{text-decoration:line-through;color:var(--muted)}
.task.is-not_done{background:var(--crit-soft)}
.t-main{min-width:0}.t-meta{font-size:12.5px;color:var(--muted);margin-top:2px}
.t-act{display:flex;gap:6px;flex-shrink:0}
.grid-wrap{max-height:calc(100vh - 300px)}
table.grid{font-size:12.5px}
table.grid th,table.grid td{padding:6px 7px}
table.grid th{position:sticky;top:0;z-index:2}
table.grid .sticky{position:sticky;left:0;background:var(--bg);z-index:1;min-width:220px;max-width:280px}
table.grid th.sticky{z-index:3;background:var(--side)}
table.grid th.off,table.grid th .dow{color:var(--faint)}
table.grid th.cur{background:#E9E9EC;color:var(--ink)}
table.grid td.c-done{color:var(--good);font-weight:800;text-align:center;background:var(--good-soft)}
table.grid td.c-nd{color:var(--crit);font-weight:800;text-align:center;background:var(--crit-soft);cursor:help}
table.grid td.c-miss{color:var(--faint);text-align:center}
tr.grp-row td{background:var(--side);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
tr.grp-row td:first-child{position:sticky;left:0}
.kpi-t td.mc{cursor:pointer;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.kpi-t td.mc:hover{outline:2px solid var(--ink);outline-offset:-2px}
td.st-good{background:var(--good-soft)}td.st-warn{background:var(--warn-soft)}td.st-bad{background:var(--crit-soft)}
td.ach.st-good b{color:var(--good)}td.ach.st-warn b{color:var(--warn)}td.ach.st-bad b{color:var(--crit)}
sup{color:var(--faint);margin-left:1px}
.kv{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;font-size:13.5px}
.kv span{color:var(--muted)}
.lbl{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.pre{white-space:pre-wrap;word-break:break-word;font-size:13.5px;background:var(--side);border-radius:8px;padding:10px 12px;max-height:260px;overflow:auto}
dialog form{max-height:calc(100vh - 40px);overflow:auto}
dialog textarea{margin:0}

/* Tools */
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.tool{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.tool b{word-break:break-word}
details.prompt summary{cursor:pointer}
details.prompt .pre{margin:10px 0}
.xl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:12px}
.xl-grid h3{margin-bottom:8px}
.xl-grid select{width:auto;padding:5px 9px;font-size:13px}

/* STOCK */
.abc{display:inline-block;min-width:22px;text-align:center;font-weight:800;font-size:12px;border-radius:5px;padding:1px 6px}
.abc-A{background:var(--ink);color:#fff}.abc-B{background:#D9D9DE;color:var(--ink)}.abc-C{background:var(--sunk);color:var(--muted)}
.bad-t{color:var(--crit);font-weight:700}
.pill.st-bad{background:var(--crit-soft);color:var(--crit)}.pill.st-warn{background:var(--warn-soft);color:var(--warn)}.pill.st-none{background:var(--sunk);color:var(--muted)}
.ship-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ship.received{opacity:.75}
.ship-items{margin-top:12px}
.params{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}
.side .item.ext{font-weight:500;font-size:13px}
@media (max-width:860px){.filt input[type=search]{min-width:0;width:100%}.task{flex-wrap:wrap}.tiles{grid-template-columns:1fr 1fr}}

/* ---- 왼쪽 메뉴 단계 ---- */
.side .item.team-i{color:var(--ink);font-weight:700}
.side .item.team-i[aria-current="true"]{background:var(--sunk)}
.side .item.sec{font-size:12px;font-weight:700;letter-spacing:.06em;padding-top:6px;padding-bottom:6px}
.side .item.sec[data-open]{color:var(--ink)}
.side .item.pg{font-size:13px;font-weight:500;padding-top:5px;padding-bottom:5px}
.side .item.sec[aria-current="page"],.side .item.pg[aria-current="page"]{background:var(--ink);color:var(--on-accent)}

/* ---- TO DO 월간 표 (한 화면) ---- */
body.wide .body{max-width:none;padding:18px 24px 24px}
body.wide .head{padding:16px 24px 0}
.todo-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.todo-bar .m-name{font-size:15px;min-width:132px;text-align:center}
.todo-bar input[type=month]{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font:inherit;font-size:13px}
.legend{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-right:6px}
.legend .ck{margin-left:6px}
.todo-sum{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:8px}
.todo-sum b{color:var(--ink)}
.todo-wrap{max-height:calc(100vh - 210px);overflow:auto;border:1.5px solid var(--ink);border-radius:8px}
table.todo{table-layout:fixed;width:100%;min-width:900px;border-collapse:separate;border-spacing:0}
table.todo col.c-task{width:clamp(240px,24vw,340px)}
table.todo col.c-done{width:48px}
table.todo th,table.todo td{padding:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;height:25px}
table.todo thead th{position:sticky;top:0;z-index:3;background:var(--side);font-size:11px;padding:3px 0;line-height:1.15;border-bottom:1.5px solid var(--ink)}
table.todo thead th .dn{font-weight:800;color:var(--ink);font-size:12px}
table.todo thead th .dw{font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.02em}
table.todo thead th.off{background:#EDEDF0;color:var(--faint)}
table.todo thead th.off .dn{color:var(--faint)}
table.todo th.today,table.todo td.today{background:#FFF7DB}
table.todo thead th.today{box-shadow:inset 0 -3px 0 #D69A1E}
table.todo .task-h,table.todo .task-c{position:sticky;left:0;z-index:2;text-align:left;background:var(--bg);border-right:1.5px solid var(--ink)}
table.todo thead .task-h{z-index:4;background:var(--side);padding-left:10px}
table.todo .task-c{padding:2px 6px 2px 10px}
table.todo .tn{display:flex;align-items:center;gap:4px;min-width:0}
table.todo .tn .linklike{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
table.todo .tm{margin-left:auto;padding-left:6px;font-size:10.5px;color:var(--faint);white-space:nowrap;flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis}
table.todo .edit-i{border:0;background:none;color:var(--faint);cursor:pointer;font-size:12px;padding:0 2px;flex:none}
table.todo .edit-i:hover{color:var(--ink)}
table.todo tr.mine .task-c{box-shadow:inset 3px 0 0 var(--ink)}
table.todo tr.g-row th{position:sticky;left:0;text-align:left;background:var(--sunk);padding:5px 10px;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--ink);height:auto}
table.todo tr.g-row th span{font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:.01em;position:sticky;left:10px}
table.todo tr.g-row th .btn{margin-left:8px;padding:1px 8px;font-size:11.5px}
table.todo tbody tr:first-child.g-row th{border-top:0}
table.todo td.off{background:repeating-linear-gradient(135deg,#F3F3F5 0 4px,#FAFAFB 4px 8px)}
table.todo td.dn-c{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap}
table.todo tbody tr:not(.g-row):hover td{background-color:#F7F7F8}
table.todo tbody tr:not(.g-row):hover td.today{background:#FCEFC4}
/* 체크박스 */
.ck{display:inline-block;width:15px;height:15px;border:1.5px solid #B9B9C0;border-radius:3px;background:var(--bg);padding:0;vertical-align:middle;position:relative;cursor:pointer;flex:none}
button.ck:hover:not(:disabled){border-color:var(--ink)}
button.ck:disabled{cursor:default;opacity:.35}
.ck.dis{border-color:#DADADF;background:#EDEDF0;cursor:not-allowed}
.ck.s-done{background:var(--good);border-color:var(--good)}
.ck.s-done::after{content:"";position:absolute;left:4px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ck.s-not_done{background:var(--crit);border-color:var(--crit)}
.ck.s-not_done::before,.ck.s-not_done::after{content:"";position:absolute;left:5.5px;top:1.5px;width:1.8px;height:9px;background:#fff;transform:rotate(45deg)}
.ck.s-not_done::after{transform:rotate(-45deg)}
.ck.s-na{background:#8E8E96;border-color:#8E8E96}
.ck.s-na::after{content:"";position:absolute;left:2.5px;top:5.3px;width:7px;height:1.8px;background:#fff}
.ck.s-cov-done{border-color:#9CCDB3;background:var(--good-soft)}
.ck.s-cov-na{border-color:#C9C9CE;background:var(--sunk)}
.ck.s-cov-not_done{border-color:#EBB0A5;background:var(--crit-soft)}
.ck.trig{border-style:dashed}
.ck-menu{position:absolute;z-index:60;background:var(--bg);border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px;display:grid;min-width:190px}
.ck-menu .ck-h{font-size:12px;font-weight:700;padding:6px 8px 8px;border-bottom:1px solid var(--line);margin-bottom:4px;max-width:240px}
.ck-menu button{display:flex;align-items:center;gap:9px;border:0;background:none;text-align:left;padding:7px 8px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer}
.ck-menu button:hover{background:var(--hover)}
.ck-menu .ck{cursor:inherit}
/* KPI 목표 묶음 */
tr.grp-row td{text-transform:none;letter-spacing:0;border-top:1.5px solid var(--ink)}
tr.grp-row .grp-in{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
tr.grp-row .g-name{font-size:14px;font-weight:800;color:var(--ink)}
tr.grp-row .g-obj{font-weight:500;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
tr.grp-row .g-act{margin-left:auto;display:inline-flex;gap:2px}
tr.grp-row .g-act .btn{padding:2px 8px;font-size:12px}
/* 담당자 */
table.list{width:100%;border-collapse:collapse}
.owners-t td{padding:6px 8px}.owners-t th{padding:8px}
.owners-t input,.owners-t select{padding:6px 9px;font-size:13.5px}
#p-add select{width:auto;max-width:240px}
#p-add input{width:220px}
/* 관리자 KPI Overview */
.side .logo{display:block;text-decoration:none;color:var(--ink)}
.logo-m{font-weight:800;letter-spacing:.06em;color:var(--ink);text-decoration:none}
.ov-t td{vertical-align:middle}
.ov-t .t-link{text-decoration:none;color:var(--ink)}
.ov-t .t-link:hover b{text-decoration:underline}
.ov-stack{min-width:140px;margin-bottom:3px}
.ov-bar{min-width:120px}
.ov-todo{display:block}
.bar1 span.b-good{background:var(--good)}.bar1 span.b-warn{background:#D69A1E}.bar1 span.b-bad{background:var(--crit)}
.crit{color:var(--crit)}
.ov-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:1000px){.ov-cols{grid-template-columns:1fr}}
.tiles + .grp-h{margin-top:22px}
.pill.link-p{background:#E8EEF9;color:#28508F}
/* Annual KPI: 화면 폭에 맞춤 (가로 스크롤 없음) */
.kpi-wrap{overflow:visible}
table.kpi-t{table-layout:fixed;width:100%;font-size:12px}
table.kpi-t col.c-k{width:19%}table.kpi-t col.c-t{width:10%}table.kpi-t col.c-m{width:4.4%}
table.kpi-t col.c-y{width:6%}table.kpi-t col.c-a{width:5.2%}table.kpi-t col.c-x{width:4.6%}
table.kpi-t th,table.kpi-t td{padding:5px 5px;overflow:hidden;text-overflow:ellipsis}
table.kpi-t th{top:0;text-align:center}
table.kpi-t th:first-child{text-align:left}
table.kpi-t .sticky{position:static;min-width:0;max-width:none}
table.kpi-t td.sticky .linklike{font-size:12.5px;line-height:1.3}
table.kpi-t td.nowrap{white-space:normal}
table.kpi-t td.mc{text-align:right;padding-right:4px}
table.kpi-t td.ach{text-align:right}
table.kpi-t .k-act{white-space:nowrap;text-align:center;padding:0}
.ib{border:0;background:none;color:var(--muted);cursor:pointer;font-size:13px;padding:2px 3px;border-radius:4px}
.ib:hover{color:var(--ink);background:var(--hover)}
tr.grp-row .grp-in{flex-wrap:nowrap}
tr.grp-row .g-obj{min-width:0;flex:1}
/* TO DO: 수정 · 삭제 */
table.todo .row-act{display:inline-flex;gap:1px;flex:none}
table.todo .edit-i.del{font-size:11px;opacity:0;transition:opacity .1s}
table.todo tr:hover .edit-i.del,table.todo .edit-i.del:focus-visible{opacity:.8}
table.todo tr.g-row th .btn.danger{color:var(--crit)}
.btn.ghost.danger{color:var(--crit)}
details.disc{margin-top:16px}details.disc summary{cursor:pointer}
.tool > .row-gap{flex-wrap:nowrap;flex:none}
.pill{white-space:nowrap}
/* Daily Dispatch 시트 */
.dd-tiles{margin-bottom:12px}
.dd-wrap{border:1.5px solid var(--ink);border-radius:8px;max-height:calc(100vh - 330px);overflow:auto}
table.dd{table-layout:fixed;width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;font-size:12px}
table.dd col.c-duty{width:62px}table.dd col.c-day{width:58px}table.dd col.c-n{width:auto}table.dd col.c-tot{width:46px}
table.dd col.c-gap{width:6px}table.dd col.c-claim{width:62px}table.dd col.c-note{width:14%}
table.dd th,table.dd td{padding:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;height:24px}
table.dd thead th{position:sticky;background:var(--side);font-size:10.5px;line-height:1.15;padding:3px 2px;white-space:normal;color:var(--ink);font-weight:700;z-index:2}
table.dd thead tr:first-child th{top:0;height:20px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.dd thead tr:nth-child(2) th{top:20px;border-bottom:1.5px solid var(--ink)}
table.dd th.ret{background:#F1F4F9}
table.dd td.day{text-align:left;padding-left:6px;white-space:nowrap}
table.dd td.day span{font-size:10px;color:var(--muted);text-transform:uppercase}
table.dd td.duty{font-size:11px;color:var(--muted)}
table.dd td.duty select{border:0;background:transparent;padding:0 2px;font-size:11px;width:100%;height:22px}
table.dd td.in input{width:100%;height:23px;border:0;background:transparent;text-align:right;padding:0 5px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink)}
table.dd td.note input{text-align:left;font-size:11.5px}
table.dd td.in input:focus{outline:2px solid var(--ink);outline-offset:-2px;background:#fff}
table.dd td.in input:disabled{cursor:not-allowed}
table.dd input.saving{background:#FFF7DB}table.dd input.saved{background:var(--good-soft)}table.dd input.err{background:var(--crit-soft)}
table.dd td.tot{font-weight:800;text-align:right;padding-right:5px;background:#FAFAFB}
table.dd td.nouse{color:var(--crit)}
table.dd td.gap,table.dd th:nth-child(1){}
table.dd td.gap{background:var(--ink);border-right:0}
table.dd tr.sun td{background:repeating-linear-gradient(135deg,#F3F3F5 0 4px,#FAFAFB 4px 8px)}
table.dd tr.sat td.day,table.dd tr.sat td.duty{background:#F6F6F8}
table.dd tr.hol td.day{color:var(--crit)}
table.dd tr.today td.day{box-shadow:inset 3px 0 0 #D69A1E;background:#FFF7DB}
table.dd tbody tr:hover td:not(.gap){background-color:#F7F7F8}
table.dd tfoot td{position:sticky;background:var(--side);font-weight:800;text-align:right;padding:0 5px;z-index:2}
table.dd tfoot tr.sum td{bottom:24px;border-top:1.5px solid var(--ink)}
table.dd tfoot tr.rate td{bottom:0;font-weight:600;color:var(--muted);font-size:11px}
table.dd tfoot td:first-child{text-align:left;padding-left:6px}
table.dd tfoot td.gap{background:var(--ink)}
.dd-ch{max-width:900px}
table.dd-year{font-size:12.5px}table.dd-year td,table.dd-year th{padding:7px 8px}
table.dd-year tr.sum td{font-weight:800;background:var(--side)}
table.dd thead tr:nth-child(2) th{overflow-wrap:anywhere;font-size:10px;padding:2px 1px}
table.dd tr.sun td.gap,table.dd tbody tr:hover td.gap{background:var(--ink)}
table.dd col.c-gap{width:4px}
table.dd td.nouse input,table.dd td.nouse-t{color:var(--crit)}
table.dd td.mismatch{background:var(--warn-soft)}
table.dd td.use,table.dd td.nouse{background:#FBFBFD}
#y-pick{width:auto}
.todo-bar .segm{margin-left:4px}
table.dd thead tr:nth-child(2) th{overflow-wrap:normal;word-break:normal;font-size:10.5px}
table.dd col.c-note{width:11%}
/* Daily Dispatch: 한 달 전체를 크게, 안쪽 스크롤 없이 */
.dd-wrap{max-height:none;overflow-x:auto;overflow-y:visible}
table.dd{font-size:13px}
table.dd th,table.dd td{height:32px}
table.dd td.in input{height:31px;font-size:13.5px}
table.dd td.duty select{height:30px;font-size:12px}
table.dd td.day{font-size:13px}
table.dd thead tr:first-child th{height:22px}
table.dd thead tr:nth-child(2) th{top:22px;font-size:11px;height:38px}
table.dd tfoot td{position:static;height:32px}
table.dd tfoot tr.rate td{height:26px}
.dd-wrap{overflow:visible}
/* NDR */
.ndr-status{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:600;margin-bottom:12px}
.ndr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-bottom:8px}
.ndr-c{display:grid;gap:10px;align-content:start}
.ndr-c.warn{border-color:#E8C77A;background:var(--warn-soft)}
.ndr-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ndr-h h2{margin:0}
.ndr-n{text-align:right}.ndr-n b{display:block;font-size:30px;line-height:1}.ndr-n span{font-size:12px;color:var(--muted)}
.ndr-list{max-height:360px;overflow:auto;font-size:12px}.ndr-list td,.ndr-list th{padding:5px 7px}
.ndr-set{display:grid;gap:12px;margin-top:20px}
.ndr-f{display:grid;grid-template-columns:1fr 120px 2fr 2fr;gap:10px}
.ndr-f2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ndr-set textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 11px;font:inherit;font-size:13.5px}
@media (max-width:900px){.ndr-f{grid-template-columns:1fr 1fr}}
.ndr-grid{align-items:start}
.ndr-c.open{grid-column:1/-1}
.ndr-list td{white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}
.kv.small{font-size:13px}
.segm.cm{align-items:center}.segm.cm .cm-l{font-size:12px;color:var(--muted);padding:0 6px 0 8px;font-weight:600}
.segm.cm button{padding:4px 10px;font-size:12.5px}
.msg.warn{background:var(--warn-soft);color:#6B4A00;border:1px solid #E8C77A}
.reminder ol{margin:6px 0 0;padding-left:20px;display:grid;gap:3px}
.reminder{margin-bottom:12px}
/* Incoming: 연간 발주 표 */
.po-months{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:4px 0 16px}
@media (max-width:1100px){.po-months{grid-template-columns:repeat(4,1fr)}}
.po-m{border:1px solid var(--line);border-radius:9px;padding:9px 10px;display:grid;gap:3px;align-content:start;min-height:92px;background:var(--bg)}
.po-m.st-none{background:var(--side);color:var(--faint)}
.po-m.st-late{border-color:#EBB0A5;background:var(--crit-soft)}
.po-m.st-received{background:var(--good-soft);border-color:#9CCDB3}
.po-mh{display:flex;justify-content:space-between;align-items:center}
.po-q{font-size:20px;font-weight:800}.po-q span{font-size:12px;font-weight:500;color:var(--muted)}
.po-act .btn{padding:2px 8px;font-size:12px}
.po-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.po-t{font-size:12.5px}.po-t td,.po-t th{padding:6px 8px}
.po-t th.rcv,.po-t td.rcv{background:#F2F8F4}
.po-t td.po-c{cursor:pointer;white-space:nowrap}.po-t td.po-c:hover{outline:2px solid var(--ink);outline-offset:-2px}
.po-t .po-name{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.po-o{color:var(--faint)}.po-short{color:var(--crit)}.po-was{color:var(--faint);font-size:11px;margin-left:4px}
.po-shortlist{border-color:#EBB0A5;margin-bottom:14px}
.po-type{display:grid;gap:6px;background:none;padding:0}.po-type label{display:flex;gap:6px;align-items:center;font-size:13.5px}
.po-m.st-none{min-height:0}
/* NDR CRM */
.nc-tiles .tile{cursor:pointer;text-align:left;font:inherit;color:inherit}
.nc-tiles .tile.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.nc-t{table-layout:fixed;width:100%;font-size:12.5px}.nc-t td{vertical-align:top;padding:8px}
.nc-t select,.nc-t textarea{width:100%;font:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:6px;padding:5px 6px;background:var(--bg)}
.nc-t textarea{resize:vertical;min-height:34px}
.nc-t select:disabled{background:var(--sunk);color:var(--muted)}
.nc-t .saving{background:#FFF7DB}
.nc-t tr.nc-crm td:first-child{box-shadow:inset 3px 0 0 var(--crit)}
.nc-t tr.nc-scm td:first-child{box-shadow:inset 3px 0 0 #D69A1E}
.nc-t tr.nc-closed td{color:var(--muted);background:var(--side)}
.nc-log{display:grid;gap:8px;max-height:360px;overflow:auto;border-top:1px solid var(--line);padding-top:10px}
.crm-btn{border-color:var(--good);color:var(--good);font-weight:700}
.crm-btn:hover{background:var(--good);color:#fff;border-color:var(--good)}
.crm-done{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--good);background:var(--good-soft);border:1px solid #9CCDB3;border-radius:7px;padding:5px 10px}
.po-bulk{padding:12px 14px;margin-bottom:12px;background:var(--side)}
.po-bulk input[type=text]{padding:5px 8px}
.po-t .po-ck{width:34px;text-align:center}
.po-t tr.sel td{background:#F1F4F9}
.po-filter{flex-wrap:wrap;margin:8px 0}
.po-filter button small{opacity:.7;margin-left:3px}
.po-filter button.po-empty{opacity:.55}
.po-t th.po-on,.po-t td.po-on{background:#fff7d6}
.po-t td.po-on .po-o{color:#555}
.po-t .po-pack{white-space:nowrap;font-size:12px}
.po-t tr.po-sum td{border-top:2px solid var(--line,#ccc);font-weight:600;background:var(--bg2,#f6f6f6)}
.po-t td.mono{white-space:nowrap}
/* Incoming · Reorder · Closing 표: 칸 테두리 */
.po-t{border-collapse:collapse}
.po-t th,.po-t td{border:1px solid #D9D9DE}
.po-t thead th{background:var(--sunk)}
.po-t tbody tr:hover td{background:#fafafa}
.po-t tbody tr:hover td.po-on{background:#fff2c2}
.po-t .ro-q{width:80px;text-align:right;padding:4px 6px}
.lc-t tr.nc-ready td:first-child{box-shadow:inset 3px 0 0 #2E8B57}
.lc-t tr.nc-wait td:first-child{box-shadow:inset 3px 0 0 #D69A1E}
.lc-t tr.nc-complete td{color:var(--muted);background:var(--side)}
.lc-t .nowrap .btn{margin:0 4px 4px 0}
.todo th.day-btn{cursor:pointer}
.todo th.day-btn:hover{outline:2px solid var(--ink);outline-offset:-2px}
.todo th.opened{background:#E8F5EC}
.todo th.hol .dw{color:var(--crit,#c0392b);font-weight:600}
.sc-box{display:flex;gap:8px;margin:8px 0}
.sc-box #sc-in{flex:1;font-size:22px;padding:14px 16px;border:2px solid var(--ink);border-radius:10px;font-family:ui-monospace,monospace}
.sc-box #sc-q{width:80px;font-size:18px;text-align:center;border:1px solid var(--line);border-radius:10px}
#sc-v{width:100%;max-width:420px;border-radius:10px;margin:6px 0}
.sc-last{font-size:17px;padding:12px 14px;border-radius:10px;background:var(--sunk);margin:0 0 12px}
.sc-last.ok{background:#E8F5EC;color:#14532d}
.sc-last.bad{background:#FDECEA;color:#9b1c1c}
.sc-unk{border-color:#e7a1a1}
.sc-big{}
.sc-stop{background:#b42318;border-color:#b42318}
.sc-start p{max-width:760px}
.po-t input.bc-in{width:150px;padding:4px 6px;font-size:13px;border-radius:6px}
.sc-go-row{margin-top:6px}
.sc-ml{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.sc-go-in{display:flex;gap:10px;align-items:stretch;max-width:640px}
.sc-go-in input#sc-m{width:220px;height:52px;font-size:16px;margin:0}
.sc-go-in #sc-go{flex:1;height:52px;font-size:17px}
.sc-steps{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;margin-left:8px}
.sc-steps span{padding:3px 9px;border-radius:999px;background:var(--sunk);color:var(--muted)}
.sc-steps span.on{background:var(--ink);color:#fff;font-weight:600}
.sc-steps i{color:var(--faint);font-style:normal}
.po-t input.sc-qty{width:90px;text-align:right;padding:4px 6px;font-size:13px}
.hr-t td,.hr-t th{white-space:nowrap;font-size:12.5px}
.hr-t th{white-space:normal;min-width:64px;max-width:118px;line-height:1.25;vertical-align:bottom}
.hr-t th.hr-note,.hr-t td.hr-note{min-width:140px;max-width:240px;white-space:normal}
.hr-foot{margin-top:8px;line-height:1.6}
.hr-t td.hr-name{font-weight:600}
.hr-wrap{max-height:70vh;overflow:auto}
.hr-t tr.hr-off td{color:var(--muted)}
.po-t input.hr-in{min-width:110px;padding:4px 6px;font-size:12.5px;border-radius:6px}
.hr-t .hr-st{cursor:pointer;border:0}
#hr-ina{margin-top:14px}
.btn.sc-zoho{background:#1d6fe0;border-color:#1d6fe0;color:#fff}.btn.sc-zoho:hover{background:#1559b8;border-color:#1559b8}
.hr-t td.ce-ok{color:#1a7f37;font-weight:600}.hr-t td.ce-soon{background:#fff4d6;color:#8a5a00;font-weight:600}.hr-t td.ce-bad{background:#fde2e1;color:#b42318;font-weight:600}
.hr-off td.ce-bad,.hr-off td.ce-soon,.hr-off td.ce-ok{background:none;color:inherit;font-weight:400}
.hr-pay{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:10px}
.hr-wrap:has(.hr-compact){display:inline-block;max-width:100%}.hr-t.hr-compact{width:auto}.hr-t.hr-compact th{max-width:none;min-width:0}
.hr-hidden-note{margin:6px 0 0}
.hr-xc{border:0;background:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.hr-xc:hover{color:#b42318}
.acc-guide summary{cursor:pointer}.acc-steps{margin:6px 0 0;padding-left:22px}.acc-steps>li{margin:0 0 12px;padding:8px 10px;border:1px solid var(--line,#e5e5e5);border-radius:8px;line-height:1.5}
.acc-steps>li.done{background:rgba(26,127,55,.05)}.acc-step-h{margin-bottom:2px}.acc-file{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line,#e5e5e5);border-radius:6px;padding:2px 4px 2px 8px}
.acc-nar{max-width:420px;white-space:normal}.acc-ge{border:1px solid var(--line,#e5e5e5);border-radius:8px;margin:10px 0;padding:6px 10px}
.as-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:12px}.as-card{border:1px solid var(--line,#e5e5e5);border-radius:10px;overflow:hidden;background:var(--card,#fff);display:flex;flex-direction:column}
.as-img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--hover,#f3f3f3);font-size:34px;text-decoration:none}.as-img img{width:100%;height:100%;object-fit:cover}.as-body{padding:10px;display:flex;flex-direction:column;gap:3px}
#tds-parties select{min-width:150px}#tds-parties input{min-width:90px}
.mk-flow{margin:4px 0 10px;color:var(--muted)}.mk-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto}
.mk-col{background:var(--hover,#f4f4f5);border-radius:10px;padding:8px;min-height:160px}.mk-col-h{font-weight:700;padding:4px 6px 8px}
.mk-card{background:var(--card,#fff);border:1px solid var(--line,#e5e5e5);border-radius:8px;padding:8px 10px;margin-bottom:8px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.mk-card:hover{border-color:#999}
.mk-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.mk-mv{margin-top:4px}
.mk-ch{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 5px;border-radius:4px;background:#eee;color:#333;margin-right:2px;text-decoration:none}
.mk-instagram{background:#fde7f1;color:#b4235f}.mk-facebook{background:#e5efff;color:#1d4ed8}.mk-youtube{background:#fee2e2;color:#b91c1c}.mk-threads,.mk-x{background:#eee;color:#111}.mk-pinterest{background:#fde2e2;color:#a3121f}.mk-whatsapp{background:#dcfce7;color:#166534}.mk-shopify-blog{background:#ecfccb;color:#3f6212}
.mk-ai{display:flex;gap:10px;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#f5f0ff,#eef6ff);border-radius:8px;padding:8px 12px;margin:6px 0 10px}
.mk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width:640px){.mk-grid2{grid-template-columns:1fr}.mk-board{grid-template-columns:repeat(4,240px)}}
.mk-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mk-cal-h{font-size:12px;font-weight:700;color:var(--muted);padding:4px}.mk-cal-d{min-height:92px;border:1px solid var(--line,#e5e5e5);border-radius:6px;padding:4px;overflow:hidden}
.mk-cal-d.today{border-color:#111;box-shadow:inset 0 0 0 1px #111}.mk-ev{font-size:11.5px;padding:2px 4px;border-radius:4px;margin-top:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f1f1f3}.mk-ev.mk-published{background:#dcfce7}
.mk-plan li{margin-bottom:6px}
.acc-st td.acc-c{text-align:center;cursor:pointer;min-width:52px;font-size:12px}.acc-st td.ok,.acc-st td.done{background:rgba(26,127,55,.08)!important;color:#1a7f37;font-weight:600}.acc-st td.none{color:var(--muted)}
.acc-st td.missing{background:#fde2e1!important;color:#b42318;font-weight:700}.acc-st .sel{box-shadow:inset 0 0 0 2px #111}.acc-st th{font-size:11.5px;text-align:center}.good-t{color:#1a7f37}.pill.warn-p{background:#fff4d6;color:#8a5a00}.acc-sum{margin-left:6px}
.acc-st td.auto{color:var(--muted);font-size:10.5px}
.ny-t td,.ny-t th{font-size:12px;white-space:nowrap}.ny-t tr.ny-receipt td{background:rgba(26,127,55,.06)}.ny-t tr.ny-debit td{background:#fff4d6}.ny-t tr.ny-opening td{font-weight:700}
.ad-chart{display:flex;gap:3px;align-items:flex-end;height:180px;overflow-x:auto}.ad-col{flex:1;min-width:16px;display:flex;flex-direction:column;align-items:center;height:100%}
.ad-bars{flex:1;width:100%;display:flex;gap:1px;align-items:flex-end}.ad-bars span{flex:1;border-radius:2px 2px 0 0;min-height:1px}.ad-s{background:#c9ccd3}.ad-r{background:#1d6fe0}
.ad-x{font-size:10px;color:var(--muted)}.ad-key{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px 0 10px;vertical-align:middle}
.sk-t td,.sk-t th{font-size:12px;white-space:nowrap}.sk-t tr.sk-sep td{border-bottom:2px solid var(--line,#ddd)}.sk-in{width:86px;text-align:right;font-size:12px;padding:2px 4px}
.rf-bar{display:grid;grid-template-columns:180px 1fr 140px;gap:10px;align-items:center;margin:4px 0;font-size:13px}.rf-b{background:var(--hover,#f1f1f3);border-radius:4px;height:14px;overflow:hidden}.rf-b i{display:block;height:100%;background:#b42318;opacity:.75}.rf-n{font-size:12px;color:var(--muted)}
.pill.bad{background:#fde2e1;color:#b42318}
/* Refund History: ORDER | REFUND 묶음 머리글, 작은 글씨, Done 줄 초록 */
.rf-t{min-width:1500px}.rf-t td,.rf-t th{font-size:12px;padding:6px 8px;vertical-align:top}
.rf-t tr.rf-grp th{text-align:center;font-size:11px;letter-spacing:.08em;font-weight:800;border-bottom:2px solid var(--ink,#111)}
.rf-t th.rf-go{background:#eef2ff;color:#3538cd}.rf-t th.rf-gr{background:#fef3e2;color:#b54708}
.rf-t th.rf-s,.rf-t td.rf-s{border-left:2px solid var(--ink,#111)}
.rf-t td.rf-txn{min-width:110px;max-width:170px;overflow-wrap:anywhere;font-size:11.5px}.rf-t td.rf-why{min-width:260px;max-width:380px}
.rf-t tr.rf-done td{background:#e7f6ec}.rf-t tr.rf-done td:first-child{box-shadow:inset 3px 0 0 #12b76a}
/* Vendor Info · Payment Fees · Regional Trends */
.vd-t td,.vd-t th{font-size:12.5px}.vd-t tr.vd-open td{background:#fffaeb}
.pf-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:10px 0}.pf-contact>div{display:flex;flex-direction:column;gap:2px}
.pf-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px;align-items:start}
.pf-calc{border:1px solid var(--line,#e4e4e7);border-radius:10px;padding:12px;display:grid;gap:8px;background:var(--side,#fafafa)}
.pf-in{display:grid;gap:2px;font-size:12px}.pf-in input{width:100%}.pf-tot{font-size:13px}.pf-out{border-top:1px dashed var(--line,#ddd);padding-top:6px;display:grid;gap:2px}
.pf-row{display:grid;grid-template-columns:1.3fr 1.8fr .5fr .7fr .7fr .7fr .7fr auto;gap:4px;margin-bottom:4px}.pf-row input{font-size:12px;padding:4px 6px}
.rt-pitch{margin:10px 0;padding:10px 12px;border-left:3px solid #12b76a;background:#f0fbf4;border-radius:6px;font-size:14px}
.rt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:6px}
.rt-hint{margin-top:4px;padding:8px 10px;background:#f0fbf4;border-left:3px solid #12b76a;border-radius:6px}
.sk-in{width:118px}
@media (max-width:760px){.pf-cols{grid-template-columns:1fr}.pf-contact{grid-template-columns:1fr 1fr}.pf-row{grid-template-columns:1fr 1fr}}
.vd-t td.r{white-space:nowrap}
/* Vendor List › Materials: 재주문 상태별 줄 색 */
.mr-t td{font-size:12.5px}.mr-t tr.mr-order-now td{background:#fde8e7}.mr-t tr.mr-order-now td:first-child{box-shadow:inset 3px 0 0 #d92d20}
.mr-t tr.mr-soon td{background:#fff4dc}.mr-t tr.mr-soon td:first-child{box-shadow:inset 3px 0 0 #f79009}
.mr-t tr.mr-on-order td{background:#eef4ff}.mr-t tr.mr-on-order td:first-child{box-shadow:inset 3px 0 0 #2e90fa}
.vd-sup{max-width:240px}.vd-click{cursor:pointer}.vd-click:hover{border-color:var(--ink,#111)}
.ny-t thead th{position:sticky;top:0;z-index:1;background:var(--side,#f6f6f7)}.ny-t td,.ny-t th{padding:5px 7px;font-size:11.5px}.ny-t td.ny-bal,.ny-t th.ny-bal{position:sticky;right:0;background:#eef8f1;box-shadow:-1px 0 0 var(--line,#e4e4e7)}.ny-t thead th.ny-bal{z-index:2}
/* 보안 */
.acct-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:16px;align-items:start}@media (max-width:900px){.acct-grid{grid-template-columns:1fr}}
.tf-qr svg{width:200px;height:200px;display:block;margin:10px 0;border:1px solid var(--line,#e4e4e7);border-radius:8px}
.tf-codes{display:grid;grid-template-columns:repeat(2,max-content);gap:6px 18px;margin:8px 0;font-size:15px}
.sec-t td{vertical-align:top;font-size:12.5px}.sec-t tr.sec-warn td{background:#fffaeb}tr.log-alert td{background:#fde8e7}
/* Report · Product Master */
tr.pm-open td{background:#fffaeb}
.so-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin:8px 0 14px}.so-mo{border:1px solid var(--line,#e4e4e7);border-radius:8px;padding:6px;font-size:12px;display:grid;gap:4px;cursor:pointer;text-align:center}
.so-mo.sel{border-color:var(--ink,#111);box-shadow:0 0 0 1px var(--ink,#111)}.so-mo .pill{font-size:10.5px;padding:1px 5px}
@media (max-width:900px){.so-months{grid-template-columns:repeat(4,minmax(0,1fr))}}
.so-fl{font-size:10.5px;color:var(--muted);letter-spacing:.05em}.so-fl s{opacity:.45}th.so-on,td.so-on{border-left:2px solid var(--line,#ddd)}
tr.cf-off td{opacity:.5;text-decoration:line-through}tr.cf-off td:last-child{text-decoration:none;opacity:1}.cf-in{width:90px;text-align:right}
.po-t.rp-t th,.po-t.rp-t td{text-align:left}
.po-t.rp-t input.cf-in{text-align:left}
.ma-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 12px}
.ma-box{display:grid;gap:6px;max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}
.ma-team summary{cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 0}
.ma-team .ma-act{margin-left:auto;display:flex;gap:4px}
.ma-sec{display:flex;flex-wrap:wrap;gap:2px 14px;align-items:center;padding:3px 0 3px 12px;border-top:1px dashed var(--line)}
.ma-sl{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--muted);min-width:110px}
.ta-list{display:grid;gap:2px;max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}
.ua-c{min-width:520px;width:44%}
.ua-d summary{cursor:pointer;font-size:12.5px;line-height:1.5}
.ua-list{display:grid;gap:6px;margin:6px 0 2px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--sunk,#fafafa)}
.ua-team>b{font-size:12.5px}
.ua-sec{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:12.5px;padding:1px 0 1px 8px}
.ua-sec .ma-sl{min-width:0}
.ua-list{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.rf-t2 tr.rf-done td{background:#EAF7EE}
.rf-t2 tr.rf-done:hover td{background:#E0F3E6}
.rf-t2 .rf-it{padding:2px 0}
.btn.rf-ok{background:#1F9D55;color:#fff;border-color:#1F9D55}
.fin-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 12px}
.fin-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px}
.mg-t td,.mg-t th{white-space:nowrap}
.mg-t td.mg-in{padding-left:18px}
.mg-t tr.mg-sum td{background:#F6F7F9}
.mg-t tr.mg-op td{background:#EEF6F0}
.mg-t tr.mg-h td{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted);background:#fff;padding-top:10px}
.mg-adj{width:84px;padding:2px 4px;font-size:12px}
.im-lines input{padding:3px 5px;font-size:12px}
.im-t td,.im-t th{white-space:nowrap}
.im-t tr.im-gh th{background:#ECEEF2;font-size:11px;letter-spacing:.04em;text-align:center!important;border-bottom:0}
/* OLENS KPI - 한 화면에 */
.sk-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;margin-bottom:10px;align-items:stretch}
.sk-top .sk-tiles{grid-template-columns:1fr 1fr;gap:8px;margin:0}
.sk-top .tile{padding:8px 12px;gap:2px}.sk-top .t-big{font-size:19px}.sk-top .t-label,.sk-top .t-sub{font-size:11.5px}
.sk-top .sk-chart{margin:0;padding:10px 12px}.sk-top .ad-chart{height:96px}
table.sk-t{table-layout:fixed;width:100%}
.sk-t td,.sk-t th{font-size:11px!important;padding:2px 3px!important;line-height:1.25}
.sk-t th:first-child,.sk-t td:first-child{width:92px}.sk-t th:nth-child(2){width:58px}
.sk-t .sk-in{width:100%!important;font-size:11px;padding:1px 2px;height:20px;box-sizing:border-box}
@media (max-width:1100px){.sk-top{grid-template-columns:1fr}}
.sa-done td{background:#EAF7EE}
/* Income Tax - 쉬운 화면 */
.tx-hero{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px;background:#FAFBFC}
.tx-k{font-size:11.5px;color:var(--muted)}.tx-v{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.tx-op{font-size:22px;color:var(--muted);font-weight:300}
.tx-next{border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}.tx-next.due{background:#FFF6DB}.tx-next.late{background:#FDECEC}.tx-next.ok{background:#EAF7EE}
.tx-step{display:grid;grid-template-columns:34px 1fr;gap:12px;margin:0 0 16px}
.tx-n{width:30px;height:30px;border-radius:50%;background:var(--ink,#111);color:#fff;display:grid;place-items:center;font-weight:700}
.tx-b h3{margin:4px 0 6px;font-size:15px}.tx-b p{margin:0 0 6px}
.tx-plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.tx-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:2px}
.tx-card .tx-d{font-weight:700}.tx-card .tx-amt{font-size:18px;font-weight:800}.tx-card .tx-st{font-weight:700;margin-top:4px}
.tx-card.ok{background:#EAF7EE}.tx-card.late{background:#FDECEC}.tx-card.due{background:#FFF6DB;border-color:#E8C35A}.tx-card.later{opacity:.85}
.cs-ed{cursor:pointer}.cs-ed:hover{outline:2px solid var(--ink);outline-offset:-2px}
/* 가로 스크롤 없이 한 화면에: Import Sheet · Refund History · Contract / Salary History */
.rf-t,.im-t,.hr-t{min-width:0!important;width:100%;table-layout:auto}
.rf-t td,.rf-t th,.im-t td,.im-t th{font-size:11px!important;padding:3px 4px!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.25}
.rf-t td.rf-txn{min-width:0;max-width:none;font-size:10.5px}.rf-t td.rf-why{min-width:0;max-width:none}
.rf-t td.nowrap,.im-t td b{white-space:nowrap}
.im-t .pill{font-size:10px;padding:0 4px}
.hr-t td,.hr-t th{font-size:11px!important;padding:3px 4px!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.25}
.hr-t th{min-width:0!important;max-width:none!important}
.hr-t th.hr-note,.hr-t td.hr-note{min-width:0!important;max-width:none!important}
.hr-wrap{overflow-x:hidden!important}
.hr-t .hr-xc{padding:0 2px;font-size:10px}
.im-t td,.im-t th,.rf-t td,.rf-t th,.hr-t td,.hr-t th{overflow-wrap:normal}
.im-t .id,.rf-t td.rf-txn{overflow-wrap:anywhere}
.im-t .n,.rf-t td.r,.rf-t td.nowrap,.hr-t td.r{white-space:nowrap!important}
.im-t td{vertical-align:top}
.hr-t td{overflow-wrap:break-word}
.rf-t .rf-act{display:flex;flex-direction:column;gap:2px}.rf-t .rf-act .btn{padding:2px 6px}
.hr-t:not(.hr-compact){table-layout:fixed}
.hr-t:not(.hr-compact) td,.hr-t:not(.hr-compact) th{overflow-wrap:anywhere;font-size:10.5px!important;padding:3px 3px!important}
.hr-t:not(.hr-compact) td.r{white-space:normal!important;overflow-wrap:normal}
.hr-t th .hr-xc{display:none}.hr-t th:hover .hr-xc{display:inline}
.tx-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start}
@media (max-width:1000px){.tx-wrap{grid-template-columns:1fr}}
.tx-in h3{margin:10px 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.tx-in h3:first-child{margin-top:0}
.tx-f{display:grid;grid-template-columns:1fr 150px;gap:8px;align-items:center;padding:3px 0;font-size:13px}
.tx-f input{text-align:right;font-variant-numeric:tabular-nums}
.tx-calc td{font-size:13.5px;padding:6px 10px}.tx-calc td.n{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.tx-calc tr.tx-sum td{background:#F6F7F9}.tx-calc tr.tx-sum.bad td{background:#FDECEC}.tx-calc tr.tx-sum.ok td{background:#EAF7EE}
.tx-wrap .tx-plan{grid-template-columns:repeat(2,minmax(0,1fr))}
.im-t .ie{cursor:text;border-bottom:1px dashed transparent;border-radius:2px}
.im-t .ie:hover{background:#FFF8D6;border-bottom-color:#C9A227}
.im-t .ie-ph{color:#B8BDC6;font-style:italic}
.im-t .ie-in{width:100%;min-width:70px;max-width:160px;font-size:11px;padding:1px 3px}
/* 설명 문구: 한 줄씩 */
ul.desc-l{margin:4px 0 12px;padding-left:18px;display:grid;gap:3px;line-height:1.5}
/* NDR CRM: 위쪽 맞춤 · 줄 구분 */
.nc-t td{vertical-align:top!important;padding:10px 8px!important;border-bottom:2px solid var(--line)}
.nc-t td select,.nc-t td textarea,.nc-t td input{margin:0!important;vertical-align:top}
.nc-t td>*:first-child{margin-top:0}
.nc-t tbody tr+tr td{border-top:6px solid var(--bg,#fff)}
/* Refund History · Vendor List: 왼쪽 정렬 */
.rf-t th,.rf-t td,.rf-t td.r,.rf-t th.r,.vd-t th,.vd-t td,.vd-t td.r,.vd-t th.r{text-align:left!important}
.vl-t th,.vl-t td,.vl-t td.r,.vl-t th.r{text-align:left!important}
/* Brand Kit */
.bk{background:var(--card,#fff);border:1px solid var(--line,#e5e5e5);border-radius:10px;padding:18px}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.bk-tag{font-style:italic;color:var(--muted,#666);margin-top:4px}
.bk-sec{margin-top:16px}.bk-sec h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;color:var(--muted,#666)}
.bk-sec p{margin:0;line-height:1.6}.bk-sec ul{margin:0;padding-left:18px;line-height:1.7}
.bk-logos{display:flex;flex-wrap:wrap;gap:12px}.bk-logo{margin:0;width:180px}
.bk-logo-img{height:110px;border:1px solid var(--line,#e5e5e5);border-radius:8px;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#f3f3f3 0 25%,#fff 0 50%) 0 0/16px 16px}
.bk-logo-img img{max-width:90%;max-height:90%;object-fit:contain}.bk-logo figcaption{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:4px}
.bk-colors{display:flex;flex-wrap:wrap;gap:10px}
.bk-sw{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:130px;padding:0 0 8px;border:1px solid var(--line,#e5e5e5);border-radius:8px;background:#fff;cursor:pointer;text-align:left;overflow:hidden;font:inherit}
.bk-sw span{display:block;width:100%;height:60px;margin-bottom:6px;border-bottom:1px solid var(--line,#e5e5e5)}.bk-sw b,.bk-sw code,.bk-sw small{padding:0 8px;font-size:12px}.bk-sw small{color:var(--muted,#666)}
.bk-fonts{display:flex;flex-wrap:wrap;gap:12px}.bk-font{display:flex;gap:10px;align-items:center;min-width:220px;padding:8px 12px;border:1px solid var(--line,#e5e5e5);border-radius:8px}
.bk-aa{font-size:28px;font-weight:600;width:44px;text-align:center}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 20px}
.bk-do h3{color:#1a7f37}.bk-dont h3{color:#c62828}
.bk-file{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line,#eee)}
/* HR: past years shown → side scroll, normal spacing */
.hr-wrap:has(.hr-wide){overflow-x:auto!important}
.hr-t.hr-wide{table-layout:auto!important;width:max-content;min-width:100%}
.hr-t.hr-wide td,.hr-t.hr-wide th{font-size:12px!important;padding:5px 8px!important;white-space:nowrap;overflow-wrap:normal!important}
.hr-t.hr-wide td.hr-note,.hr-t.hr-wide th.hr-note{white-space:normal;min-width:200px}
.hr-t.hr-wide th:first-child,.hr-t.hr-wide td:first-child{position:sticky;left:0;z-index:1;background:var(--bg,#fff)}

/* ---------- SCM › Find Packing ---------- */
.pk-top{margin-bottom:12px}
.pk-focus{background:var(--crit);color:#fff;font-weight:700;text-align:center;padding:10px;border-radius:8px;margin-bottom:12px;cursor:pointer}
.pk-setup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;background:var(--warn-soft);color:var(--warn)}
.pk-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px 220px;gap:14px;align-items:start}
.pk-grid>*,.pk-pad>*{min-width:0}
.pk-stage{position:relative;background:#000;border-radius:10px;overflow:hidden;aspect-ratio:16/9}
.pk-stage canvas{width:100%;height:100%;object-fit:contain;display:block}
.pk-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9a9aa2;font-size:14px}
.pk-ph[hidden]{display:none}
.pk-camname{margin-top:6px}.pk-camname a{color:var(--muted)}
.pk-panel{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg)}
.pk-status{padding:12px;text-align:center;font-weight:700;font-size:14px;color:#fff;background:var(--good)}
.pk-status.rec{background:var(--crit)}.pk-status.pause{background:#C27C0E}.pk-status.idle{background:var(--good)}
.pk-pad{padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.pk-now{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}
.pk-awb{font-size:20px;font-weight:800;word-break:break-all}.pk-timer{font-size:16px;color:var(--muted)}
.pk-lbl{font-size:12px;font-weight:700;color:var(--crit);margin-top:2px}
.pk-inrow{display:flex;gap:6px}.pk-inrow input[type=text]{flex:1;min-width:0;font-size:15px;margin:0}
.pk-hint{line-height:1.4}
.pk-f{display:grid;grid-template-columns:96px minmax(0,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}
.pk-f>span{background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700;display:flex;align-items:center;padding:0 10px}
.pk-f select,.pk-f input[type=text]{border:0;border-radius:0;min-width:0;margin:0}
.pk-items{border-top:1px solid var(--line);padding:10px 14px;max-height:260px;overflow:auto}
.pk-ih{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.pk-it{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line)}
.pk-it small{display:block;color:var(--muted);font-size:11px}
.pk-it.ok{color:var(--good)}.pk-it.bad{color:var(--crit)}
.pk-cmd{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:12px;background:var(--bg)}
.pk-cmdh{font-weight:700;font-size:13px}
.pk-c{display:grid;gap:6px}
.pk-bc{width:100%;height:46px;display:block}
.pk-b{width:100%;padding:10px;color:#fff;border:0;font-size:14px}
.pk-b.stop{background:var(--good)}.pk-b.cancel{background:var(--crit)}.pk-b.pause{background:#4B47D6}
.pk-b:hover{opacity:.9;border:0}
.pk-k{font-size:11px;opacity:.8;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:0 4px}
.pk-recent{margin-top:14px}
.pk-recent table td,.pk-filter+p{font-size:12.5px}
.pk-sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}
.pk-sets .card+.card{margin-top:0}
.pk-s{display:grid;gap:5px;margin-top:12px;font-size:13px}.pk-s>span{font-weight:600}.pk-s small{color:var(--muted)}
.pk-s input[type=text],.pk-s input[type=number]{margin:0}.pk-s input[type=number]{border:1px solid var(--line);border-radius:7px;padding:8px 10px;max-width:140px}
.pk-filter input[type=search],.pk-filter input[type=date],.pk-filter select{width:auto;border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:13px}
.pk-s textarea{font:inherit;padding:8px;border:1px solid var(--line);border-radius:7px;resize:vertical}
.pk-chk{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:600}
.pk-test{background:var(--sunk);padding:10px;border-radius:7px;font-size:12.5px;word-break:break-all;min-height:38px}
dialog.pk-dlg{width:min(980px,calc(100% - 32px));padding:16px}
.pk-dlg video,.pk-dlg img{width:100%;max-height:68vh;background:#000;border-radius:8px;object-fit:contain;display:block}
.pk-meta{margin-top:8px}
@media (max-width:1200px){.pk-grid{grid-template-columns:minmax(0,1fr) 300px}.pk-cmd{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.pk-cmd .pk-cmdh,.pk-cmd>.btn.small{grid-column:1/-1}}
@media (max-width:860px){.pk-grid{grid-template-columns:1fr}.pk-cmd{grid-template-columns:1fr}}
/* Content Calendar */
.cal-mt{min-width:130px;text-align:center;font-size:15px}
.cal-tiles .t-sub{white-space:normal}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line,#e5e5e5);border-left:1px solid var(--line,#e5e5e5)}
.cal-wd{padding:6px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#666);border-right:1px solid var(--line,#e5e5e5);border-bottom:1px solid var(--line,#e5e5e5);background:var(--bg,#fff)}
.cal-cell{min-height:120px;padding:4px;border-right:1px solid var(--line,#e5e5e5);border-bottom:1px solid var(--line,#e5e5e5);display:flex;flex-direction:column;gap:4px;min-width:0}
.cal-cell.off{background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(0,0,0,.025) 6px 12px)}
.cal-cell.past{background:rgba(0,0,0,.015)}.cal-cell.today{box-shadow:inset 0 0 0 2px #2563eb}.cal-cell.over{background:#eef4ff}
.cal-cell-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:0 2px}
.cal-plus{border:0;background:none;cursor:pointer;color:var(--muted,#888);font-size:16px;line-height:1;padding:0 4px;opacity:0}.cal-cell:hover .cal-plus{opacity:1}
.cal-c{border-radius:6px;padding:4px 6px;font-size:11px;line-height:1.35;cursor:pointer;border-left:4px solid #999;background:#f6f6f6;min-width:0}
.cal-c:hover{filter:brightness(.97)}.cal-c.drag{opacity:.4}
.cal-c.late{outline:1.5px solid #dc2626}.cal-c.cal-noc{border-left-style:dashed;opacity:.8}.cal-c.cal-noc .cal-c-t{font-weight:400;font-style:italic;color:var(--muted,#888)}.cal-c.st-live{opacity:.6}.cal-c.st-skip{opacity:.4;text-decoration:line-through}
.cal-c-top{display:flex;justify-content:space-between;gap:4px}.cal-c-ch{color:var(--muted,#666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-c-t{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cal-c-f{display:flex;justify-content:space-between;color:var(--muted,#666)}
.cal-dept{font-weight:700;font-size:10px;letter-spacing:.04em}
span.cal-dept{padding:1px 6px;border-radius:4px}
.cal-st{font-size:10px;padding:0 5px;border-radius:8px;background:#e5e7eb;color:#374151;white-space:nowrap}
.cal-st.st-draft{background:#e0e7ff;color:#3730a3}.cal-st.st-design{background:#f3e8ff;color:#6b21a8}.cal-st.st-review{background:#fef3c7;color:#92400e}
.cal-st.st-approved{background:#dbeafe;color:#1e40af}.cal-st.st-live{background:#dcfce7;color:#166534}.cal-st.st-skip{background:#f3f4f6;color:#9ca3af}
.cal-d-mkt{border-left-color:#db2777!important}.cal-c.cal-d-mkt,span.cal-d-mkt{background:#fdf2f8}
.cal-d-design{border-left-color:#7c3aed!important}.cal-c.cal-d-design,span.cal-d-design{background:#f5f3ff}
.cal-d-b2b{border-left-color:#2563eb!important}.cal-c.cal-d-b2b,span.cal-d-b2b{background:#eff6ff}
.cal-d-cs{border-left-color:#059669!important}.cal-c.cal-d-cs,span.cal-d-cs{background:#ecfdf5}
.cal-d-scm{border-left-color:#ea580c!important}.cal-c.cal-d-scm,span.cal-d-scm{background:#fff7ed}
.segm button.cal-d-mkt[aria-pressed=true]{background:#db2777;color:#fff}.segm button.cal-d-design[aria-pressed=true]{background:#7c3aed;color:#fff}
.segm button.cal-d-b2b[aria-pressed=true]{background:#2563eb;color:#fff}.segm button.cal-d-cs[aria-pressed=true]{background:#059669;color:#fff}.segm button.cal-d-scm[aria-pressed=true]{background:#ea580c;color:#fff}
.cal-t td{vertical-align:top;text-align:left}.cal-t .cal-clip{max-width:260px;font-size:12px;white-space:pre-line;display:table-cell}
.cal-t td.cal-clip{overflow:hidden;max-height:90px}.cal-t tr.cal-late td:first-child{box-shadow:inset 3px 0 0 #dc2626}
.cal-f2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
.cal-cm{margin:10px 0 6px;padding:8px 10px;border:1px solid var(--line,#e5e5e5);border-radius:8px;display:grid;gap:6px}
.cal-cm-i{padding:4px 0;border-bottom:1px solid var(--line,#eee)}.cal-cm-i:last-child{border:0}
#dlg:has(.cal-f2){width:min(760px,96vw)}
@media (max-width:900px){.cal-grid{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.cal-f2{grid-template-columns:1fr}}
.clip4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.clip1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
/* Content Calendar - List (sheet) */
.cal-sheet-w{max-height:75vh;overflow:auto}
.cal-sheet{border-collapse:separate;border-spacing:0;font-size:11.5px;width:100%;table-layout:fixed}
.cal-sheet th{position:sticky;top:0;z-index:2;background:var(--bg,#fff);text-align:left;white-space:normal;line-height:1.2;font-size:11px;vertical-align:bottom;padding:5px 6px!important;overflow:hidden}.cal-sheet th.c{text-align:center}
.cal-sheet td{vertical-align:middle;text-align:left;border-bottom:1px solid var(--line,#eee);padding:4px 6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-1l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-sheet td.cal-cell-e{cursor:text}.cal-sheet td.cal-cell-e:hover{background:rgba(37,99,235,.05)}
.cal-sheet td.t-check{text-align:center;cursor:default}.cal-sheet td.t-check input{width:16px;height:16px}
.cal-sheet td.editing{padding:1px!important;background:#fff;box-shadow:inset 0 0 0 2px #2563eb;overflow:visible;position:relative}
.cal-sheet .cal-ed{width:100%;min-width:0;font:inherit;padding:3px 4px;height:auto}.cal-sheet textarea.cal-pop{position:absolute;left:0;top:0;width:380px;min-height:150px;z-index:6;box-shadow:0 6px 24px rgba(0,0,0,.18);border:2px solid #2563eb;border-radius:6px;resize:both;white-space:pre-wrap}
.cal-sheet td.cal-dt{background:#f8fafc;font-size:11.5px;vertical-align:top;border-right:1px solid var(--line,#e5e5e5)}
.cal-sheet tr.cal-g2 td{background:#fbfbfd}.cal-sheet tr.cal-g2 td.cal-dt{background:#f1f5f9}
.cal-sheet tr.cal-gs td{border-top:2px solid #cbd5e1}
.cal-sheet tr.cal-late td.cal-cell-e:first-of-type{box-shadow:inset 3px 0 0 #dc2626}
.cal-sheet .cal-b{font-weight:600}
.cal-plus2{display:block;margin-top:4px;border:0;background:none;color:#2563eb;cursor:pointer;font-size:11px;padding:0;opacity:0}.cal-dt:hover .cal-plus2{opacity:1}
.cal-hx{border:0;background:none;color:var(--muted,#999);cursor:pointer;margin-left:4px;padding:0 2px;display:none}.cal-sheet th:hover .cal-hx{display:inline}
.cal-act{white-space:nowrap}.cal-act-h{width:40px}
.cc-l{display:grid;gap:4px;max-height:55vh;overflow:auto}
.cc-r{display:grid;grid-template-columns:auto auto minmax(140px,1fr) 130px minmax(120px,1fr) auto;gap:6px;align-items:center;padding:3px 0;border-bottom:1px solid var(--line,#eee)}
.cc-r.off{opacity:.55}.cc-mv{display:flex;gap:2px}
#dlg:has(.cc-l){width:min(900px,96vw)}
.cal-wd.sun{color:#dc2626}
.cal-sheet .cal-st{font-size:10px}
.cal-dp{display:inline-block;min-width:54px;text-align:center;padding:2px 6px;border-radius:4px;font-weight:700;font-size:10.5px;letter-spacing:.03em;color:#fff;background:#64748b}
.cal-dp.cal-d-mkt{background:#db2777!important}.cal-dp.cal-d-design{background:#7c3aed!important}.cal-dp.cal-d-b2b{background:#2563eb!important}.cal-dp.cal-d-cs{background:#059669!important}.cal-dp.cal-d-scm{background:#ea580c!important}.cal-dp.cal-d-x{background:#64748b}
.cal-sheet tr.cal-live td.cal-cell-e{background:#dcfce7!important}.cal-sheet tr.cal-live td.cal-cell-e:hover{background:#bbf7d0!important}
.cal-sheet tr.cal-new td.cal-cell-e{animation:calNew 2s ease-out}
@keyframes calNew{from{background:#fef9c3}to{background:transparent}}
.cal-menu{position:absolute;z-index:50;background:var(--bg,#fff);border:1px solid var(--line,#e5e5e5);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:4px;display:grid;min-width:150px}
.cal-menu button{border:0;background:none;text-align:left;padding:7px 10px;border-radius:6px;cursor:pointer;font:inherit;font-size:13px}
.cal-menu button:hover{background:#f1f5f9}.cal-menu button.danger{color:#dc2626}
.cal-c{padding:3px 6px}.cal-c-ch{color:var(--text,#333);font-size:11px}.cal-cell{min-height:96px}

/* ---------- SCM › ITP Dispatch: 엑셀처럼 열이 많은 표 (가로 스크롤, 헤더 고정) ---------- */
.itp-wrap{overflow:auto;max-height:72vh;border:1px solid var(--line);border-radius:var(--r)}
.itp-t{border-collapse:separate;border-spacing:0;table-layout:auto;width:max-content;min-width:100%;font-size:12.5px}
.itp-t th,.itp-t td{padding:6px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.itp-t th{position:sticky;top:0;z-index:1;background:var(--sunk);font-weight:600;color:var(--muted)}
.itp-t td.wrap{white-space:normal;min-width:200px;max-width:340px;word-break:break-word}
.itp-t tbody tr:hover td{background:var(--hover)}
.itp-t input,.itp-t select{font-size:12.5px;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--bg)}
.itp-t.fixed{table-layout:fixed;min-width:0}
.itp-t.fixed th{white-space:normal;line-height:1.25;vertical-align:bottom}
.itp-t td input{width:100%}
.pill.good{background:var(--good-soft);color:var(--good)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.crit{background:var(--crit-soft);color:var(--crit)}
.pill.info{background:#E8EEFB;color:#2A4FA8}

/* ITP Dispatch: 둥근 버튼 탭, 표가 화면 높이에 맞게 (가로 스크롤바가 항상 화면 맨 아래에 보임) */
.filter.pills{display:flex;flex-wrap:wrap;gap:8px}
.filter.pills button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:6px 16px;font-weight:600;cursor:pointer}
.filter.pills button:hover{background:var(--hover)}
.filter.pills button[aria-pressed="true"]{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}
.filter.pills button[aria-pressed="true"] .muted{color:inherit;opacity:.75}
.itp-wrap{max-height:none}

/* ITP: STATUS 단계별 색, 맨 오른쪽 체크박스 */
.itp-t td.st{font-weight:600}
.itp-t td.st-prepare{background:#EDEDF0;color:#55555E}
.itp-t td.st-hold{background:#FBF1DC;color:#9A6400}
.itp-t td.st-pickupdone{background:#E3EDFB;color:#2A4FA8}
.itp-t td.st-dispatched{background:#EEE6FA;color:#5B3CA8}
.itp-t td.st-delivered{background:#DDF1E5;color:#1F7A4D}
.itp-t th.sel,.itp-t td.sel{text-align:center;padding:6px 4px;position:sticky;left:0;z-index:1;background:var(--bg);border-right:1px solid var(--line)}
.itp-t th.sel{top:0;z-index:3;background:var(--sunk,#F4F4F6)}
.itp-t tr.rw-prepare td{background:#F4F4F6}
.itp-t tr.rw-hold td{background:#FDF6E6}
.itp-t tr.rw-pickupdone td{background:#EEF4FD}
.itp-t tr.rw-dispatched td{background:#F5F0FC}
.itp-t tr.rw-delivered td{background:#EAF6EF}
.itp-t tr.rw-prepare td.st{background:#E2E2E7}
.itp-t tr.rw-hold td.st{background:#F8E5B8}
.itp-t tr.rw-pickupdone td.st{background:#CFE0F8}
.itp-t tr.rw-dispatched td.st{background:#E0D2F5}
.itp-t tr.rw-delivered td.st{background:#C4E7D3}
/* ITP: Actual qty가 6이 아니면 */
.itp-t td.aq{font-weight:700}.itp-t td.aq-lo{background:#FDE68A!important;color:#92400E}.itp-t td.aq-hi{background:#FECACA!important;color:#991B1B}
/* Find Packing - Big screen */
body.pk-big .side,body.pk-big .topm,body.pk-big .head{display:none!important}
body.pk-big .body{padding:8px 12px!important;max-width:none!important}
body.pk-big .shell{grid-template-columns:1fr!important}
body.pk-big .pk-top{margin-bottom:6px}
body.pk-big .pk-grid{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto 1fr;gap:10px}
body.pk-big .pk-grid>:first-child{grid-row:1/3}
body.pk-big .pk-stage{aspect-ratio:auto;height:calc(100vh - 78px);border-radius:8px}
body.pk-big .pk-camname{display:none}
body.pk-big .pk-cmd{padding:8px;gap:6px}body.pk-big .pk-cmd svg,body.pk-big .pk-cmdh{display:none}
body.pk-big .pk-awb{font-size:24px}body.pk-big .pk-timer{font-size:20px}
/* Regional Trends - B2C by city */
.g-t td,.g-t th{white-space:nowrap}.g-t th.g-wk{font-size:10.5px;min-width:44px}.g-t td.g-c{font-variant-numeric:tabular-nums;font-size:12px}
.g-t td.g-p{white-space:normal;min-width:200px;line-height:1.4}
.g-wrap{max-height:calc(100vh - 250px);overflow:auto}
.g-wrap thead th{position:sticky;top:0;z-index:2;background:var(--sunk,#f4f4f6)}
.g-t td.g-st1,.g-t th.g-st1{position:sticky;left:0;z-index:1;background:var(--bg,#fff);min-width:130px}
.g-t thead th.g-st1{z-index:3;background:var(--sunk,#f4f4f6)}
.g-t td.g-pr{min-width:150px;max-width:190px;white-space:normal;vertical-align:top}
.g-pn{font-weight:600;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-bar{height:5px;background:#f1f5f9;border-radius:3px;margin:3px 0 2px;overflow:hidden}.g-bar span{display:block;height:100%;background:#db2777;border-radius:3px}
/* compact popular-products table */
.g-cmp{font-size:12px}.g-cmp td,.g-cmp th{padding:4px 7px!important;vertical-align:middle!important}
.g-cmp td.g-pr{min-width:0;max-width:170px;width:170px;white-space:nowrap}
.g-pl{display:flex;justify-content:space-between;gap:6px}.g-pn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.g-ps{color:var(--muted,#888);flex:none}
.g-cmp .g-bar{height:3px;margin:2px 0 0}
.g-cmp td.g-cl{white-space:nowrap}.g-cmp .g-nb{padding:2px 6px}
.g-cmp td.g-st1{min-width:110px}
.g-pk{font-size:10.5px;color:var(--muted,#888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
/* SCM › PACKING › UDI Information */
.u-scan{padding:12px 14px}.u-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.u-row .f{margin:0}
.u-row #u-in{font-size:16px;padding:9px 10px;border:2px solid #2563eb}.u-row #u-order{width:200px}
.u-cnt{text-align:right;min-width:110px}.u-cnt .t-big{font-size:26px;font-weight:800;line-height:1}
#u-last{margin-top:6px;min-height:16px}
.u-sum{display:grid;gap:4px;margin:8px 0}.u-sum .pill{margin:1px 2px}
.u-wrap{max-height:calc(100vh - 360px);overflow:auto}.u-wrap thead th{position:sticky;top:0;z-index:2;background:var(--sunk,#f4f4f6)}
.u-t{font-size:12px}.u-t td{vertical-align:middle;white-space:nowrap}.u-t td.u-udi{max-width:none}
.u-t td.u-ord{cursor:text;min-width:110px}.u-t tr.u-bad td{background:#fef3c7}
.u-t th.sel,.u-t td.sel{width:28px;text-align:center}
.u-t .u-set{color:#b45309;font-weight:600;font-size:11.5px}
.g-cmp{width:auto!important;min-width:0!important}
.g-cmp td.g-st0,.g-cmp th.g-st0{white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.g-cmp td.g-st1{min-width:0;white-space:nowrap}
.g-cmp td.g-pr{width:168px;max-width:168px}
.g-t td.g-st0,.g-t th.g-st0{position:sticky;left:0;z-index:1;background:var(--bg,#fff)}.g-t thead th.g-st0{z-index:3;background:var(--sunk,#f4f4f6)}
.g-t tbody tr:has(.g-st0) td.g-st1{position:static}
.g-t thead tr:has(.g-st0) th.g-st1{position:sticky;top:0;left:auto;z-index:2}
/* UDI 입력 줄: 같은 높이 */
.u-row{align-items:flex-end}
.u-f{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px;font-weight:600;color:var(--muted,#666)}
.u-f input{height:42px;box-sizing:border-box;margin:0;font-size:14px;padding:0 10px;border:1px solid var(--line,#ccc);border-radius:8px}
.u-f.u-grow{flex:1}.u-f #u-order{width:200px}.u-f #u-q{width:220px}
.u-row .u-f #u-in{font-size:16px;border:2px solid #2563eb}
.u-cnt{align-self:center}
/* Regional Trends: City = State 너비, 제목 옆 필터 */
.g-cmp td.g-st0,.g-cmp th.g-st0,.g-cmp td.g-st1,.g-cmp th.g-st1{width:112px;max-width:112px;min-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-fb{border:1px solid var(--line,#ddd);background:var(--bg,#fff);border-radius:4px;font-size:10px;padding:0 4px;margin-left:4px;cursor:pointer;color:var(--muted,#666);line-height:16px}
.g-fb.on{background:#2563eb;border-color:#2563eb;color:#fff}
.g-fpop{position:absolute;z-index:60;background:var(--bg,#fff);border:1px solid var(--line,#ddd);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:8px;width:230px}
.g-fpop .g-fs{width:100%;margin:0 0 6px}.g-fl{max-height:260px;overflow:auto;display:grid;gap:2px;font-size:12.5px}.g-fl label[hidden]{display:none}
.g-title{font-size:15px;margin-right:10px}
/* ITP 시트: 한 화면에 보이게 작게 */
.itp-t{font-size:11px}
.itp-t th,.itp-t td{padding:2px 5px;line-height:1.3}
.itp-t th{font-size:10.5px}
.itp-t input,.itp-t select{font-size:11px;padding:1px 4px}
.itp-t th.sel,.itp-t td.sel{padding:2px 3px}
.itp-t td.wrap{min-width:150px}
/* ITP: 송장 보내기 열 */
.itp-t td.itp-send,.itp-t th.itp-send{white-space:nowrap;text-align:center;position:sticky;right:0;background:var(--bg);box-shadow:-1px 0 0 var(--line)}
.itp-t th.itp-send{z-index:2;background:var(--sunk)}
.itp-t .btn.tiny{padding:1px 8px;font-size:11px;line-height:16px;min-height:0}
.ok-t{color:var(--good);font-weight:700}

/* Admin › Backup & mail: 표 맨 아래 줄 */
#mail-from .rp-t tr:last-child td{border-bottom:1px solid var(--line)}

/* DESIGN › Design Sizes */
.sz-t td{vertical-align:middle}
.sz-t tr.sz-g td{background:var(--sunk);font-weight:700;font-size:12px;letter-spacing:.02em;padding:5px 8px}
.sz-copy{font:inherit;font-weight:700;font-variant-numeric:tabular-nums;background:none;border:1px dashed transparent;border-radius:6px;padding:2px 6px;cursor:copy}
.sz-copy:hover{border-color:var(--line);background:var(--hover)}
.sz-n{max-width:340px;white-space:normal}
.sz-t td,.sz-t th{padding:5px 8px}
/* 모든 폼 입력칸을 셀렉트와 같은 모양으로 (type 없는 input · number · date · search · textarea 포함) */
label.f input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]),
label.f textarea,
#dlg form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]),
#dlg form textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;padding:9px 11px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink);font-weight:400;min-height:40px}
label.f textarea,#dlg form textarea{margin:0;min-height:72px}
label.f input:focus,label.f textarea:focus,#dlg form input:focus,#dlg form textarea:focus{border-color:var(--ink);outline:none}
#dlg form .row-gap input:not([type=checkbox]):not([type=radio]){width:auto}
/* 모든 부서 KPI 표: 칸마다 테두리 */
table.kpi-t,table.ov-t,table.sk-t{--kb:#B5B5BD;border-collapse:separate;border-spacing:0;border-top:1px solid var(--kb);border-left:1px solid var(--kb)}
table.kpi-t th,table.kpi-t td,table.ov-t th,table.ov-t td,table.sk-t th,table.sk-t td{border-right:1px solid var(--kb);border-bottom:1px solid var(--kb)}
table.kpi-t tr:last-child td,table.ov-t tr:last-child td,table.sk-t tr:last-child td{border-bottom:1px solid var(--kb)}
.as-camp-h{grid-column:1/-1;margin:10px 0 -4px;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:6px}
.as-campf[hidden]{display:none}
/* SCM › Product Master: 작게 */
table.pm-t{font-size:11.5px}
table.pm-t th,table.pm-t td{padding:3px 6px;line-height:1.3;white-space:nowrap}
table.pm-t td .small,table.pm-t .small{font-size:11px}
table.pm-t td:nth-child(3){white-space:normal;min-width:180px;max-width:300px}
table.pm-t .btn.small{padding:2px 8px;font-size:11px;min-height:0}
/* Import Sheet: 결제 Paid / Not paid */
.im-pay{margin-bottom:3px}
.pay-b{font:inherit;font-size:11px;font-weight:700;border:1px solid var(--crit);color:var(--crit);background:var(--crit-soft);border-radius:999px;padding:1px 8px;cursor:pointer}
.pay-b.on{border-color:var(--good);color:var(--good);background:#fff}
.pay-b:disabled{cursor:default;opacity:1}
.im-t td.pay-ok{background:var(--good-soft)}
.im-t tr.im-allpaid td{background:var(--good-soft)}
.im-t tr.im-allpaid:hover td{background:#d6ecdf}
.im-kv{font-size:11.5px;line-height:1.45;white-space:nowrap}
.im-kv .k{color:var(--muted);font-weight:600}
.im-lines input.im-bad{border-color:var(--crit);background:var(--crit-soft)}
/* 모든 표 테두리: 진한 회색 (TO DO · KPI · 시트 등) */
:root{--tb:#B5B5BD}
table th,table td{border-color:var(--tb)!important}
.tbl-wrap,.itp-wrap{border-color:var(--tb)}
table.todo thead th{border-bottom-color:var(--ink)!important}
/* ACCOUNTS › Nykaa PO */
.np-t tr.np-bad td,.np-lines tr.np-bad td{background:var(--crit-soft)}
.np-iss{font-size:11.5px;color:var(--crit);max-width:260px;margin-top:2px}
.np-addr{max-width:340px;font-size:11.5px}
.np-t td{vertical-align:top}
#dlg:has(.np-dlg){width:min(980px,96vw)}
.np-lines td{vertical-align:top}
.np-neg{color:var(--crit)}
.np-wh td{vertical-align:middle;white-space:nowrap}
.np-wh td.np-one{max-width:380px;overflow:hidden;text-overflow:ellipsis}
/* SCM › Stock Alert: 표 칸 필터 · 체크박스 · 검색 카드 */
.sa-st input[type=search]{width:100%;box-sizing:border-box;margin:8px 0 2px;border:1px solid var(--line);border-radius:7px;padding:9px 11px;font:inherit;font-size:14px;background:var(--bg);color:var(--ink)}
.sa-st input[type=search]:focus{border-color:var(--ink);outline:none}
.sa-t .sa-fr th{background:var(--bg);padding:4px 5px;font-weight:400}
.sa-t .sa-fr input,.sa-t .sa-fr select{width:100%;min-width:60px;box-sizing:border-box;font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font-family:inherit}
.sa-t td.sa-ck,.sa-t th.sa-ck{width:28px;text-align:center}
.sa-t tr.sa-sel td{background:#EEF3FB}
.sa-f{margin:4px 0 6px}
.pill.nc-b2b{background:#FFE8CC;color:#9A4A00;box-shadow:inset 0 0 0 1px #F2B872}.pill.nc-b2c{background:var(--good-soft);color:var(--good)}.pill.nc-nykaa{background:#FBE9F1;color:#A02A5E}
/* NDR CRM: 휴대폰에서는 한 건 = 카드 한 장 (칸 이름 + 값) */
@media (max-width:760px){
  .nc-t,.nc-t tbody{display:block;width:100%}.nc-t colgroup,.nc-t thead{display:none}
  .nc-t tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;border:1px solid var(--tb,#B5B5BD);border-radius:10px;padding:10px 12px;margin:0 0 10px;position:relative;background:var(--bg)}
  .nc-t td{display:block;padding:0!important;border:0!important;min-width:0;overflow-wrap:anywhere;height:auto}
  .nc-t td[data-l]::before{content:attr(data-l);display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:2px}
  .nc-t td[data-l="Courier Remark"],.nc-t td[data-l="CRM - Remark"],.nc-t td[data-l="CRM - Comment"],.nc-t td[data-l="SCM Remark"],.nc-t td[data-l="Action for courier"]{grid-column:1 / -1}
  .nc-t td.nc-lg{position:absolute;top:6px;right:6px}
  .nc-t tr.nc-crm td:first-child,.nc-t tr.nc-scm td:first-child{box-shadow:none}
  .nc-t tr.nc-crm{border-left:4px solid var(--crit)}.nc-t tr.nc-scm{border-left:4px solid #D69A1E}
  .nc-t textarea{min-height:44px}
}
.nc-t input.nc-oid{width:100%;font:inherit;font-size:12.5px;border:1px dashed var(--line);border-radius:6px;padding:4px 6px;background:var(--bg);box-sizing:border-box}
/* OLENS KPI: 좁은 화면에서는 표를 줄이지 않고 옆으로 밀어서 봄 (채널 · 구분 칸은 고정) */
@media (max-width:1000px){
  .tbl-wrap:has(> table.sk-t){overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.sk-t{min-width:1180px}
  .sk-t .sk-c{position:sticky;left:0;z-index:2;background:var(--bg);white-space:normal!important}
  .sk-t .sk-l{position:sticky;left:92px;z-index:2;background:var(--bg)}
  .sk-t thead .sk-c,.sk-t thead .sk-l{z-index:3;background:var(--sunk)}
}
/* ===== 휴대폰 (≤760px): 표는 줄이지 않고 옆으로 밀어서 보기 ===== */
@media (max-width:760px){
  /* TO DO: 업무 이름 칸을 줄이고 담당자는 숨겨서 날짜를 더 많이 (담당자는 업무 이름을 누르면 보임) */
  table.todo{min-width:1080px}
  table.todo col.c-task{width:118px}
  table.todo col.c-done{width:40px}
  table.todo .tm{display:none}
  table.todo .task-c{padding:2px 4px 2px 6px}
  table.todo .tn .linklike{font-size:12px}
  /* KPI (부서별 KPI 표) */
  table.kpi-t{min-width:1120px}
  table.kpi-t .sticky{position:sticky;left:0;z-index:2;background:var(--bg)}
  table.kpi-t thead th:first-child{position:sticky;left:0;z-index:3}
  /* HR: Contract / Salary History - 글자를 세로로 쪼개지 않고 한 줄로 */
  .hr-t:not(.hr-compact),.hr-t{table-layout:auto!important;width:max-content!important;min-width:100%}
  .hr-t td,.hr-t th{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;font-size:12px!important;padding:5px 7px!important}
  /* 그 밖의 표: 제목 줄은 한 줄로 */
  .tbl-wrap>table:not(.nc-t) th{white-space:nowrap}
  /* UDI 스캔 칸이 카드 밖으로 나가지 않게 */
  .u-row{flex-direction:column;align-items:stretch}
  .u-f.u-grow,.u-f{width:100%;min-width:0}
  .u-f input,.u-f #u-order,.u-f #u-q,.u-row #u-in{width:100%!important;max-width:100%;box-sizing:border-box}
  .u-row #u-in{font-size:14px!important}
  /* Monthly Report 달 카드: 배지가 카드 밖으로 나가지 않게 */
  .so-mo .pill{white-space:normal;font-size:10.5px;padding:1px 6px;line-height:1.3;max-width:100%;box-sizing:border-box}
  .so-mo{min-width:0;overflow:hidden}
}
/* Find Packing - 중복 · 무시 안내, 라벨 사진 */
.pk-warn{background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:9px 11px;font-size:13px;line-height:1.4}
.pk-warn .btn{background:#fff}
.pk-redo{border:1px dashed var(--line);border-radius:7px;padding:8px;text-align:center}
.pk-lab{margin-top:10px}.pk-lab img{width:100%;max-height:50vh;object-fit:contain;background:#000;border-radius:8px;display:block;margin-top:4px}
/* Find Packing - Station check */
.pk-check{margin-bottom:16px}
.pk-chk-sum{margin-top:12px;padding:10px 12px;border-radius:8px;font-weight:700}
.pk-chk-sum.ok{background:var(--good-soft);color:var(--good)}.pk-chk-sum.warn{background:var(--warn-soft);color:var(--warn)}.pk-chk-sum.fail{background:var(--crit-soft);color:var(--crit)}
.pk-chk-t{width:100%;border-collapse:collapse;margin-top:8px}.pk-chk-t td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.pk-chk-i{width:28px;font-weight:800;text-align:center}
.pk-chk-t tr.ok .pk-chk-i{color:var(--good)}.pk-chk-t tr.warn .pk-chk-i{color:var(--warn)}.pk-chk-t tr.fail .pk-chk-i{color:var(--crit)}.pk-chk-t tr.info .pk-chk-i{color:var(--muted)}
.pk-chk-scan{margin-top:12px;border:2px dashed var(--line);border-radius:10px;padding:12px;display:grid;gap:6px;max-width:360px}.pk-chk-scan .pk-bc{height:60px}
/* BUSINESS › 거래처 장부 (KOALA SHIELD · VEDICAON) */
.tr-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1.5px solid var(--ink);margin:6px 0 14px;padding-bottom:0}
.tr-tabs button{border:1px solid var(--line);border-bottom:0;background:var(--sunk);color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px 8px 0 0;cursor:pointer;margin-bottom:-1.5px}
.tr-tabs button[aria-pressed="true"]{background:var(--bg);color:var(--ink);border-color:var(--ink);border-bottom:1.5px solid var(--bg)}
.tr-tabs button.tr-off{opacity:.55}.tr-tabs .tr-add{background:none;border-style:dashed;color:var(--muted)}
.tr-dot{display:inline-block;min-width:16px;padding:0 4px;border-radius:9px;background:var(--crit-soft);color:var(--crit);font-size:11px;text-align:center}
.tr-info{padding:12px 14px;margin-bottom:12px}.tr-info-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.tr-addr{white-space:pre-wrap;margin-top:8px;color:var(--ink);background:var(--sunk);border-radius:8px;padding:8px 10px}
.tr-t td{vertical-align:middle}.tr-t td.tr-trk{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-t td.tr-rm{max-width:220px}
.tr-ck{border:1px solid var(--line);background:var(--bg);color:var(--muted);font:inherit;font-size:11.5px;font-weight:700;border-radius:6px;padding:3px 8px;cursor:pointer;white-space:nowrap}
.tr-ck:hover{border-color:var(--ink);color:var(--ink)}.tr-ck.on{background:var(--good-soft);border-color:var(--good);color:var(--good)}
.tr-t tr.tr-ok td{background:#F3FAF5}
.tr-h4{margin:12px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
#dlg:has(.tr-dlg){width:min(760px,96vw)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:760px){.grid3{grid-template-columns:1fr 1fr}.tr-tabs{flex-wrap:nowrap;overflow-x:auto}.tr-tabs button{white-space:nowrap}}
/* BUSINESS › VEDICAON › WORK (구매 · 수입 정리) */
.pj-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:900px){.pj-two{grid-template-columns:1fr}}
.pj-card{padding:12px 14px;margin-bottom:12px}
.pj-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pj-h h3{margin:0;font-size:15px}
table.pj-kv{width:100%;border-collapse:collapse;font-size:13px}table.pj-kv th{width:34%;text-align:left;font-weight:600;color:var(--muted);background:none;padding:6px 8px 6px 0;border-bottom:1px solid var(--line);white-space:normal;vertical-align:top}
table.pj-kv td{padding:6px 0;border-bottom:1px solid var(--line);vertical-align:top;white-space:pre-wrap}
.pj-e{width:1%;white-space:nowrap;text-align:right}
.pj-t tr.pj-done td{background:#F3FAF5}
.pj-cyc{border:0;cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}
.pj-log{display:grid;grid-template-columns:110px 1fr auto auto;gap:10px;align-items:start;padding:7px 0;border-bottom:1px solid var(--line);white-space:pre-wrap}
.pj-two>.pj-card{margin:0 0 12px}
/* ACCOUNTS › PAYMENT */
.py-t tr.py-ok td{background:#F3FAF5}.py-t tr.py-late td{background:#FDF1F1}
.py-t tr.py-last td{border-bottom:1.5px solid var(--kb,#B5B5BD)}
.im-t td.im-file{white-space:nowrap}
.rt-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px}.rt-tabs button{border:0;background:none;font:inherit;font-weight:700;padding:8px 14px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.rt-tabs button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--ink)}.rt-t tr.rt-ok td{background:#F3FAF5}.tr-ck.rt-no{background:#FFF4D6;border-color:#E8C46A;color:#8A5A00}
.nr-todo{padding:14px 16px}.nr-act{border-left:4px solid var(--line);background:var(--bg);padding:6px 10px;margin:6px 0;border-radius:0 6px 6px 0}.nr-act summary{cursor:pointer}
.nr-act.nr-crit{border-left-color:var(--crit);background:#FDF1F1}.nr-act.nr-warn{border-left-color:#D69A1E;background:#FFF8E8}.nr-act.nr-info{border-left-color:#5B7BC4;background:#F2F5FC}.nr-act.nr-good{border-left-color:var(--good);background:#F3FAF5}
.nr-ul{margin:4px 0 2px;padding-left:18px}.nr-ul li{margin:2px 0}.nr-gap{margin-top:10px}.nr-gap summary{cursor:pointer}
.nr-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}.nr-t td.r{white-space:nowrap}.nr-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.nr-3 .card{margin:0}
.nr-bar{height:8px;background:var(--sunk);border-radius:4px;overflow:hidden}.nr-bar i{display:block;height:100%;background:#5B7BC4}.nr-bar.bad i{background:var(--crit)}
.nr-t tr.nr-lost td,tr.nr-lost td{background:#FDF1F1}.nr-t tr.nr-avail td{background:#FDF5EC}.nr-t tr.nr-low td,tr.nr-low td{background:#FFF8E8}.nr-t tr.nr-over td{background:#F2F5FC}.nr-t tr.nr-inactive td{color:var(--muted)}tr.nr-cur td{font-weight:700}
@media (max-width:900px){.nr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.nr-3{grid-template-columns:1fr}.nr-3 .card[style*="span"]{grid-column:auto!important}}
@media (max-width:900px){.nr-seg{display:flex;overflow-x:auto;max-width:100%;flex-wrap:nowrap}.nr-seg button{white-space:nowrap;flex:none}.nr-t td:nth-child(2){min-width:180px}}
.nr-cov{padding:10px 14px}.nr-wks{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.nr-wk{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:5px;font-size:11.5px;font-weight:700;background:var(--sunk);color:var(--muted);border:1px solid transparent;font-family:inherit}
button.nr-wk.on{background:var(--good-soft);color:var(--good);border-color:var(--good);cursor:pointer}button.nr-wk.cur{background:var(--good);color:#fff}
.nr-all{padding:12px 16px}.nr-all>summary,.nr-todo>summary{cursor:pointer;list-style-position:outside}.nr-all .nr-act{margin:6px 0}.nr-prio{background:var(--sunk);border-radius:8px;padding:8px 12px;margin:10px 0}.nr-prio ol{margin:4px 0 0;padding-left:20px}.nr-h4{margin:12px 0 6px;font-size:13px}
.nr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;align-items:stretch}.nr-span2{grid-column:span 2;grid-row:span 2}
.nr-box{border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:12px 14px;display:flex;flex-direction:column;min-width:0}.nr-box header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.nr-mini{width:100%;border-collapse:collapse;font-size:12.5px}.nr-mini th{font-size:11px;font-weight:600;color:var(--muted);text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}.nr-mini th.r,.nr-mini td.r{text-align:right}
.nr-mini td{padding:6px;border-bottom:1px solid var(--sunk);vertical-align:middle}.nr-mini tr:last-child td{border-bottom:0}.nr-pn{font-weight:600}
.nr-bv{display:flex;align-items:center;gap:8px;justify-content:flex-end}.nr-bv .nr-bar{flex:1;max-width:120px}.nr-bv b{min-width:48px;text-align:right}.nr-bar.warn i{background:#D69A1E}.nr-foot{margin:auto 0 0;padding-top:8px}
@media (max-width:1100px){.nr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nr-span2{grid-row:auto}}@media (max-width:700px){.nr-grid{grid-template-columns:1fr}.nr-span2{grid-column:auto}}
.nr-tall{grid-row:span 2}@media (max-width:1100px){.nr-tall{grid-row:auto}}
.rc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-tl{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.rc-t tr.rc-overdue td{background:#FDF1F1}.rc-t tr.rc-short td,.rc-t tr.rc-check td{background:#FFF8E8}.rc-t tr.rc-ok td{background:#F6FBF7}.rc-t tr.rc-cancelled td{color:var(--muted)}
@media (max-width:700px){.rc-tiles{grid-template-columns:1fr}}
.vd-t tr.vd-paid td{background:#EEF8F1}
.vd-cat{border:1px solid var(--line);background:var(--sunk);color:var(--ink);font:inherit;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;cursor:pointer;white-space:nowrap}.vd-cat:hover{border-color:var(--ink)}.vd-cat.none{color:var(--muted);background:none;border-style:dashed}
.vd-catpick{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.vd-catpick label{cursor:pointer;font-size:12.5px;padding:4px 12px}.vd-cats{flex-wrap:wrap}
.vd-grps{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-wrap:wrap;gap:3px;text-align:left}
/* CRM Pipeline · Retailer Finder */
.cp-board{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:10px;overflow-x:auto;margin-top:8px}
.cp-col{background:var(--sunk);border-radius:10px;padding:8px;min-height:120px;max-height:70vh;overflow:auto}
.cp-colh{font-weight:700;font-size:13px;margin:2px 4px 8px}
.cp-card{background:var(--bg);border-radius:8px;padding:8px;margin-bottom:6px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.cp-card:hover{outline:1px solid var(--line)}
.cp-card.cp-arch{opacity:.55}
.rf-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.rf-card{margin:0}
.mk-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media (max-width:900px){.mk-cols{grid-template-columns:1fr}.cp-board{grid-template-columns:repeat(6,200px)}}
.rp-t td,.rp-t th{white-space:nowrap}.rp-t th.rp-live{color:var(--good)}.rp-t td.rp-man{cursor:default}.rp-t tfoot td{background:var(--sunk);position:sticky;bottom:0}
.po-t tr.row-active td{background:var(--sunk)}
/* B2C · CRM Dashboard (Creator Hub 모양) */
.hb-kpis{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:12px;margin:10px 0;background:var(--bg)}
.hb-kpi{padding:14px 16px;border-left:1px solid var(--line)}.hb-kpi:first-child{border-left:0}
.hb-kl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hb-kv{font-size:26px;font-weight:700;margin:4px 0 2px}.hb-ks{font-size:12.5px;color:var(--muted)}
.hb-chips{display:flex;flex-wrap:wrap;gap:6px}.hb-chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink)}
.hb-chip span{color:var(--muted);margin-left:2px}.hb-chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hb-chip.on span{color:inherit;opacity:.75}
.hb-board{display:grid;gap:10px;overflow-x:auto;margin-top:8px;align-items:start}
.hb-col{background:var(--sunk);border-radius:12px;padding:8px;min-height:140px;max-height:78vh;overflow:auto}
.hb-colh{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin:4px 6px 10px}.hb-colh span{color:var(--muted);font-weight:500}
.hb-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.hb-card.hb-arch{opacity:.55}.hb-ct{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start}.hb-ct a{color:var(--ink);text-decoration:none}
.hb-h{color:var(--muted);font-size:13px;margin:2px 0 0 26px}.hb-cats{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0 26px}
.hb-cats span{background:#F1EAFB;color:#6B3FA0;border-radius:6px;font-size:11.5px;padding:1px 7px}
.hb-meta{font-size:12.5px;color:var(--muted);margin:8px 0 0}.hb-tag{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11.5px;color:var(--ink);margin-left:4px}.hb-tag.hb-late{color:var(--crit);border-color:var(--crit)}
.hb-next{margin-top:8px}
.hb-type{font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap;background:var(--sunk);color:var(--muted)}
.hb-t-BARTER{background:#E7F0FF;color:#2456B3}.hb-t-UGC{background:#FFF1E0;color:#A35A00}.hb-t-AFFILIATE{background:#E3F6EF;color:#137A52}.hb-t-PAID{background:#111;color:#fff}
.hb-t-MUA{background:#FDE8F0;color:#B3245E}.hb-t-VIP{background:#EFE7FF;color:#5B2DB3}.hb-t-LOYAL{background:#F1F4DF;color:#5C6B12}
.hb-bulk{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
@media (max-width:900px){.hb-kpis{grid-template-columns:1fr 1fr}.hb-board{grid-template-columns:repeat(6,240px)!important}}
.hb-narrow{max-width:980px;margin:0 auto}.hb-div{display:flex;align-items:center;gap:16px;margin:26px 0 14px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hb-div::before,.hb-div::after{content:"";flex:1;border-top:1px solid var(--line)}
.hb-camp{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px;cursor:default}.hb-camp[data-open]{cursor:pointer}.hb-camp[data-open]:hover{border-color:var(--muted)}
.hb-camp-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hb-camp-h b{font-size:16px}.hb-view{margin-left:auto;color:var(--muted);text-decoration:none}
.hb-camp-s{display:flex;flex-wrap:wrap;gap:22px;margin-top:12px;color:var(--muted)}.hb-camp-s b{color:var(--ink)}
.hb-cm{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.hb-cmi{padding:6px 0;border-bottom:1px dashed var(--line)}
/* 크리에이터 · 고객 상세 (Creator Hub 상세와 같은 모양) */
.hc{max-width:1500px}.hc-cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px;align-items:start;margin-top:14px}.hc-stack{display:grid;gap:14px}
.hc-p{border:1px solid #D6D6DC;border-radius:12px;background:var(--bg);overflow:hidden}.hc-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line)}
.hc-ph b{font-size:14px}.hc-pb{padding:14px 16px;display:grid;gap:10px}.hc-pb .f{margin:0}
.hc-steps{display:grid;gap:4px;margin-top:2px}.hc-steps button{border:0;border-radius:6px;padding:7px 4px;font-size:12.5px;font-weight:600;background:var(--sunk);color:var(--muted);cursor:pointer}
.hc-steps button.done{background:#DCEFEA;color:#0F5F55}.hc-steps button.cur{background:#0F766E;color:#fff}.hc-steps button:hover:not(.cur){outline:1px solid #0F766E}
.hc-ver{border-radius:999px;font-size:12px;font-weight:600;padding:2px 10px;cursor:pointer;border:1px solid}.hc-ver.ok{background:var(--good-soft);color:var(--good);border-color:#b9dfc9}.hc-ver.warn{background:var(--warn-soft);color:var(--warn);border-color:#ecd6a5}
.hb-cat{background:#F1EAFB;color:#6B3FA0;border-radius:6px;font-size:11.5px;padding:1px 7px}
.hc-chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600;cursor:pointer}.hc-chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.hc-accent{background:#0F766E;border-color:#0F766E;color:#fff}.btn.hc-accent:hover{opacity:.9}
.hc-tpl{background:var(--sunk);border-radius:8px;padding:10px 12px;white-space:pre-wrap;font-size:13px}
.hc-kv{display:grid;grid-template-columns:120px 1fr;gap:4px 10px;margin:0;font-size:13px}.hc-kv dt{color:var(--muted)}.hc-kv dd{margin:0;overflow-wrap:anywhere}
.hc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hc-stats div{background:var(--sunk);border-radius:8px;padding:8px 10px;display:grid}.hc-stats span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hc-stats b{font-size:17px}
.hc-due{background:var(--warn-soft);color:var(--warn);border-radius:999px;font-size:12px;font-weight:600;padding:2px 10px}
.hc-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hc-full{grid-column:1/-1}.hc-inbtn{display:flex;gap:6px}.hc-inbtn input{flex:1}
.hc-boxes{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.hc-boxes input{text-align:center}
.hc-fit{display:grid;gap:4px;font-size:12.5px}.hc-fit div{display:grid;grid-template-columns:130px 110px 50px 1fr;gap:8px;align-items:center}.hc-fit i{display:block;height:7px;border-radius:4px;background:var(--sunk);overflow:hidden}.hc-fit u{display:block;height:100%;background:#0F766E}
.hc-stars{display:flex;gap:2px}.hc-stars button{border:0;background:none;font-size:22px;line-height:1;color:#D4D4D8;cursor:pointer;padding:0 1px}.hc-stars button.on{color:#F5A524}
.hc-tl{list-style:none;margin:0;padding:0}.hc-tl li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.hc-tl time{color:var(--muted);font-size:12px}.hc-ne{display:inline-flex;gap:4px;margin-left:8px}.hc-ne .btn{padding:1px 7px;font-size:11px}
@media (max-width:1000px){.hc-cols{grid-template-columns:1fr}.hc-stats{grid-template-columns:1fr 1fr}.hc-form{grid-template-columns:1fr}}
/* Retailer Finder: 카드 높이 맞춤 · 진한 테두리 · 둥근 검색창 */
.rf-grid{align-items:stretch}.rf-grid .rf-card{margin:0!important;height:100%;display:flex;flex-direction:column;gap:2px;border:1px solid #C9CBD3;border-radius:12px}
.rf-grid .rf-card>.row-gap:last-child{margin-top:auto!important;padding-top:6px}
#rf-q,#rf-s,#rf-c{border-radius:999px;padding-left:14px}
.side button.item.fold{font-size:11.5px;font-weight:700;letter-spacing:.08em;justify-content:flex-start;gap:6px}
/* B2B 표: 촘촘하게 · 모두 왼쪽 정렬 */
.b2b-t{font-size:12.5px;width:auto;min-width:60%}.b2b-t td,.b2b-t th{padding:4px 8px!important;line-height:1.3;text-align:left!important;vertical-align:middle}.b2b-t th{font-size:11.5px;white-space:nowrap}
.b2b-t td .muted.small{font-size:11.5px}.b2b-t tr[data-or]:hover td,.b2b-t tr[data-od]:hover td{background:var(--hover)}
/* B2B Dashboard */
.bd-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;margin-top:14px}.bd-trend{display:grid;gap:10px}
.bd-row{display:grid;grid-template-columns:76px 1fr 110px;gap:10px;align-items:center;font-size:13px}.bd-bar{display:flex;height:22px;border-radius:6px;background:var(--sunk);overflow:hidden}.bd-bar i{display:block;height:100%}
.bd-amt{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.bd-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.bd-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.bd-donut{display:grid;justify-items:center;gap:14px}.bd-dl{width:100%;display:grid;gap:6px;font-size:13px}.bd-dl div{display:grid;grid-template-columns:14px 1fr auto 52px;gap:8px;align-items:center}.bd-dl i{width:12px;height:12px;border-radius:3px}
.bd-two{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:1000px){.bd-grid,.bd-two{grid-template-columns:1fr}}
/* type 없는 입력칸도 같은 모양 (검색창 등) */
input:not([type]){border:1px solid var(--line);border-radius:7px;padding:8px 11px;background:var(--bg);font-size:14px;color:var(--ink);font-weight:400}
.f input:not([type]),.hc-pb input:not([type]){width:100%}.hc-boxes input{width:100%;min-width:0;text-align:center;padding:7px 4px}
.hc-pb textarea,.hc-pb select{width:100%}.hc-pb .row-gap input:not([type]){width:auto}
#rf-q{border-radius:999px;padding:9px 16px;border-color:#C9CBD3}
/* B2B 표: 화면 폭 가득 (줄은 촘촘하게 유지) */
.b2b-t{width:100%!important;min-width:0}
.bp-link{display:inline-block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-family:ui-monospace,monospace;font-size:11.5px}
/* DESIGN › Design Guide */
.dg{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.dg-toc{position:sticky;top:12px;display:grid;gap:2px;max-height:calc(100vh - 40px);overflow:auto;padding-right:6px}.dg-toc input{border-radius:999px;margin-bottom:10px;width:100%}
.dg-toc a{text-decoration:none;font-size:13px;padding:4px 8px;border-radius:6px;color:var(--ink)}.dg-toc a:hover{background:var(--hover)}.dg-g{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 4px 8px}
.dg-main{max-width:1050px;display:grid;gap:18px}.dg-hero{background:linear-gradient(120deg,#EEF4FB,#F4EEFB);border-radius:14px;padding:22px 26px}.dg-hero h2{margin:0 0 6px}.dg-hero p{margin:0;color:var(--muted)}
.dg-s{border:1px solid #D6D6DC;border-radius:14px;padding:18px 22px;scroll-margin-top:12px}.dg-sh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.dg-sh h3{font-size:18px}
.dg-body{font-size:14px;line-height:1.6}.dg-body h4{margin:16px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.dg-body p{margin:6px 0}.dg-body ul{margin:6px 0;padding-left:20px}.dg-body li{margin:3px 0}
.dg-body code{background:var(--sunk);border-radius:4px;padding:1px 5px;font-size:12.5px}.dg-tip{background:#FFF7E6;border-left:3px solid #E0A100;border-radius:6px;padding:8px 12px;margin:8px 0}
.dg-t{width:100%;font-size:13px}.dg-t td,.dg-t th{text-align:left;vertical-align:top;padding:6px 10px}
.dg-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px}.dg-imgs figure{margin:0}.dg-imgs img{width:100%;height:240px;object-fit:contain;background:var(--sunk);border-radius:10px;border:1px solid var(--line)}
.dg-imgs figcaption{font-size:12px;margin-top:5px;line-height:1.4}
@media (max-width:900px){.dg{grid-template-columns:1fr}.dg-toc{position:static;max-height:none}}
/* DESIGN › Design Briefs */
.br-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:12px;margin-top:10px;overflow-x:auto}.br-col{background:var(--sunk);border-radius:12px;padding:8px;min-height:160px}
.br-colh{font-weight:700;font-size:13px;margin:4px 6px 8px}.br-card{background:var(--bg);border:1px solid #D6D6DC;border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;display:grid;gap:5px}.br-card:hover{border-color:var(--ink)}
.br-top{display:flex;justify-content:space-between;gap:8px;font-size:13px}.br-c{font-size:13.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.br-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;align-items:center}
.br-ai{display:grid;gap:12px}.br-ai>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:4px;justify-items:start}.br-pre{white-space:pre-wrap;background:var(--sunk);border-radius:8px;padding:10px;font-size:12px;width:100%;max-height:280px;overflow:auto;margin:4px 0 0}
.br-imgs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.br-imgs img{height:170px}.br-det summary{cursor:pointer;list-style:none}.br-det[open] summary{border-bottom:1px solid var(--line)}
.br-ck{display:grid;gap:6px;font-size:13px}.br-ck label{display:flex;gap:8px;align-items:flex-start}.br-ck input{margin-top:3px}
@media (max-width:900px){.br-board{grid-template-columns:repeat(4,260px)}}
.dg-ch{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0 10px}.dg-pick{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:6px}.dg-pick label{display:flex;gap:6px;align-items:center;font-weight:500;color:var(--ink)}.dg-pick input[data-pf]{flex:1;min-width:0;padding:4px 8px;font-size:12px}
.br-size{padding:9px 0;font-size:14px}

.as-ptabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;margin-bottom:6px;border-bottom:1px solid var(--line,#e5e5e5)}
.as-ptabs button{flex:none;border:1px solid var(--line,#ddd);background:transparent;border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;white-space:nowrap;color:inherit}
.as-ptabs button[aria-pressed="true"]{background:var(--ink,#111);color:var(--bg,#fff);border-color:var(--ink,#111)}

.bk-drop{border:1.5px dashed var(--line);border-radius:12px;padding:22px;text-align:center;margin-bottom:14px;background:var(--side)}
.bk-drop.on{border-color:var(--ink);background:var(--sunk)}
.bk-drop p{margin:8px 0 0}

.cal-brief-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:4px 0 10px;padding:12px 14px;border:1.5px solid var(--ink);border-radius:10px;background:var(--sunk);color:var(--ink);cursor:pointer;text-align:left;font:inherit}
.cal-brief-btn b{font-size:14px}.cal-brief-btn span{font-size:12px;color:var(--muted)}
.cal-brief-btn:hover{background:var(--ink);color:var(--bg)}.cal-brief-btn:hover span{color:var(--bg)}

.cal-sheet-w{overflow-x:hidden}
.cal-gob{border:1px solid var(--ink);background:var(--bg);color:var(--ink);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.cal-gob:hover{background:var(--ink);color:var(--bg)}

.ks-wrap{overflow-x:hidden}
.ks-t{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}
.ks-t th,.ks-t td{border-bottom:1px solid var(--line);padding:5px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-t thead th{position:sticky;top:0;background:var(--bg);font-size:11px;color:var(--muted);font-weight:600}
.ks-t th.ks-p{text-align:left;font-weight:600;color:var(--ink)}
.ks-c{cursor:text}.ks-c:hover{background:var(--sunk)}
.ks-t .ks-today{background:#fff7e0}
.ks-note{text-align:left!important;color:var(--muted)}
.ks-l b{display:block}.ks-l span{font-size:10.5px}
.ks-in{width:100%;min-width:0;font:inherit;padding:2px 3px;border:2px solid var(--ink);border-radius:4px;text-align:center}
.ks-note .ks-in{text-align:left}
.ks-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:800px){.ks-2{grid-template-columns:1fr}}
.ks-box h3{font-size:13px;margin:0 0 6px}.ks-small{font-size:13px}.ks-small td,.ks-small th{padding:7px 8px}
.ks-ed{position:relative}.ks-ed summary{cursor:pointer;font-size:12px;color:var(--muted)}
.ks-ed>div{position:absolute;right:0;z-index:5;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);width:340px}
.ks-er{display:flex;gap:4px;margin-bottom:4px}.ks-er input{flex:1;min-width:0}
.good-t{color:#15803d}
.ks-t td.ks-c{padding:5px 1px;font-size:11px;text-overflow:clip;font-variant-numeric:tabular-nums}.ks-t td.ks-note{padding:5px 4px;text-overflow:ellipsis}

.cal-bo{display:inline-flex;align-items:center;gap:4px}
.cal-sw{border:1px solid var(--line);background:var(--sunk);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;cursor:pointer;min-width:34px}
.cal-sw.on{background:#7c3aed;border-color:#7c3aed;color:#fff}
.cal-sheet .cal-gob{padding:1px 7px;font-size:10.5px}
.cal-sheet tr.cal-live td[data-k="visual"]{background:#dcfce7}

.as-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.as-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.as-card{height:100%}.as-body{flex:1;min-height:92px}.as-body>*{min-width:0}.as-body b,.as-body .as-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.as-body .pill{max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.as-img{aspect-ratio:auto;height:190px;overflow:hidden;flex:none}.as-img img{width:100%;height:100%;object-fit:cover;display:block}
.as-months{margin-top:12px}.as-mon{margin-bottom:18px}.as-mon .as-camp-h{margin:6px 0 8px}
.as-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.as-row .as-card{flex:0 0 260px;height:auto;scroll-snap-align:start}
.as-card .as-body{min-height:150px}
/* 파이프라인 칸 제목 고정 - 카드만 스크롤 */
.cp-colh,.hb-colh{position:sticky;top:-8px;z-index:3;background:var(--sunk);margin:-8px -8px 8px!important;padding:10px 12px 8px;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}
/* KOALA Stock 표 테두리 */
.ks-t{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ks-t th,.ks-t td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.ks-t tr>:last-child{border-right:0}.ks-t tbody tr:last-child>*{border-bottom:0}
.ks-t thead th{background:var(--sunk)}

/* Field Report 방문 창: 넓게, 칸 4개씩 → 스크롤 없이 */
#dlg:has(.fv-h){width:min(1200px,96vw);max-width:96vw;max-height:96vh}
#dlg:has(.fv-h) .mk-grid2{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 14px}
#dlg:has(.fv-h) .f{margin-bottom:4px}#dlg:has(.fv-h) textarea{min-height:44px}
@media(max-width:900px){#dlg:has(.fv-h) .mk-grid2{grid-template-columns:1fr 1fr}}
.np-ym{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:2px 0 10px}
.np-pick{color:#2563eb!important;border-color:#2563eb!important;font-weight:700}
.np-picked{font-size:11px;color:#2563eb;margin-bottom:3px}
/* ACCOUNTS › ITC */
.itc-k{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:6px 0 12px}
.itc-k .kpi{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.itc-k .kl{font-size:12px;color:var(--muted)}.itc-k .kv{font-size:20px;font-weight:700}.itc-k .ks{font-size:11px;color:var(--muted)}
.itc-t .itc-d button{font-size:11px;padding:3px 8px}
.itc-t tr.itc-claim td:first-child{box-shadow:inset 3px 0 #16a34a}.itc-t tr.itc-no td:first-child{box-shadow:inset 3px 0 #dc2626}.itc-t tr.itc-hold td:first-child{box-shadow:inset 3px 0 #d97706}
.itc-about{font-size:12px;color:#2563eb;margin-top:1px}.itc-ab{width:100%;font-size:12px;padding:3px 6px;height:26px;border:1px dashed var(--line,#ddd);background:transparent}.itc-rt td{padding:4px 8px;vertical-align:middle;white-space:nowrap}.itc-rt .itc-sup{max-width:340px;overflow:hidden;text-overflow:ellipsis}.itc-rt .itc-d{white-space:nowrap}
.warn-t{color:#d97706}
.nt-wrap{max-height:calc(100vh - 230px);overflow:auto}.nt-t th{position:sticky;top:0;z-index:1;white-space:nowrap;font-size:12px}.nt-t td{white-space:nowrap;font-size:12.5px;padding:4px 7px;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.nt-c{cursor:text;min-width:60px}.nt-c:hover{background:var(--sunk)}.nt-ro{color:var(--muted,#667);background:var(--sunk)}.nt-t .ks-in{text-align:left;min-width:110px}
#nt-old.nt-on{border-color:var(--ink);font-weight:600}
.nt-t tr.nt-done td{background:#dcfce7}.nt-t tr.nt-done td.nt-ro{background:#ccf3d8}.nt-t td.nt-g{background:#bbf7d0}.nt-t td.nt-b{background:#bfdbfe}.nt-t td.nt-y{background:#fef08a}.nt-t td.nt-o{background:#fed7aa}.nt-t td.nt-r{background:#fecaca}
.nt-drag{cursor:grab;color:var(--muted,#889);padding:0 4px;user-select:none}.nt-t tr.nt-dragging{opacity:.45}.nt-t tr.nt-over td{box-shadow:inset 0 2px 0 #2563eb,inset 0 -2px 0 #2563eb}
.nt-t tr.nt-grp td:first-child{box-shadow:inset 4px 0 hsl(var(--gh,200) 70% 50%)}.nt-gi{font-size:11px;text-decoration:none;color:hsl(var(--gh,200) 60% 40%);font-weight:600}.nt-in{display:inline-block;min-width:40px;cursor:text}
.nt-help{margin:2px 0 6px}.nt-wrap{max-height:calc(100vh - 175px)}.nt-t{width:100%}.nt-t th{white-space:normal;font-size:11px;line-height:1.2;padding:4px 5px;vertical-align:bottom;min-width:44px}.nt-t td{font-size:11.5px;padding:3px 5px;max-width:150px}.nt-t td .btn.small{padding:2px 7px;font-size:11px}.nt-t .ks-in{min-width:90px}
.nt-t td{font-size:11px;padding:3px 4px}.nt-t th{padding:4px 4px;font-size:10.5px}.nt-drag{padding:0 2px}
.nt-t th{min-width:0}.nt-t td.nt-c{min-width:0}.nt-t td .btn.small{padding:2px 5px}
.nt-t td.nt-w{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:78px}.nt-t td.nt-n{max-width:none}
.nt-t td{font-size:10.5px;padding:3px 3px}.nt-t th{font-size:10px;padding:4px 3px}.nt-t td.nt-w{max-width:62px}
.nt-t td.nt-w{max-width:54px}.nt-t td .btn.small{padding:2px 4px;font-size:10.5px}
.nt-t td[data-k="wh"]{max-width:78px;overflow:hidden;text-overflow:ellipsis}
.nt-in{min-width:8px}
.lb-bar{display:inline-block;width:100px;height:8px;background:var(--sunk,#eee);border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:6px}.lb-bar span{display:block;height:100%;background:#2563eb}
.mec-head{display:flex;align-items:center;gap:14px;margin:10px 0 12px}.mec-head>div:first-child{flex:0 0 auto}.mec-prog{flex:1;height:12px;background:var(--sunk,#eee);border-radius:6px;overflow:hidden;max-width:420px}.mec-prog span{display:block;height:100%;background:#16a34a}
.mec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.mec-card{margin:0}.mec-card.mec-done{box-shadow:inset 4px 0 #16a34a}.mec-card.mec-late{box-shadow:inset 4px 0 #dc2626}
.mec-list{list-style:none;padding:0;margin:8px 0 10px}.mec-list li{padding:5px 0;border-bottom:1px dashed var(--line,#e5e5e5);font-size:13px}.mec-list .pill{font-size:10.5px}
/* HR People · Compliance */
.hw-up{display:flex;flex-wrap:wrap;gap:8px 22px;padding:12px 16px;margin-bottom:12px}
.hw-ev{white-space:nowrap}.hw-today{background:#FEF3C7;border-radius:6px;padding:2px 8px}
.hr-board{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.hr-col{background:var(--sunk);border-radius:10px;padding:8px;min-height:240px;display:flex;flex-direction:column;gap:8px;transition:background .15s}
.hr-col.hr-over{background:#E0ECFF;outline:2px dashed #3B82F6}
.hr-colh{padding:2px 4px;font-size:13px}
.hr-card{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 10px;cursor:grab;display:grid;gap:3px;font-size:13px}
.hr-card:hover{border-color:var(--ink)}.hr-star{color:#D97706;font-size:11px}
.hr-col[data-col=Joined] .hr-colh b{color:#15803D}.hr-col[data-col=Rejected]{opacity:.75}
.hr-obg{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.hr-obg .card+.card{margin-top:0}
.hr-ob{display:grid;gap:10px}
.hr-prog{width:90px;height:8px;background:var(--sunk);border-radius:6px;overflow:hidden;flex:none;margin-top:6px}.hr-prog span{display:block;height:100%;background:#16A34A}
.hr-chk{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.hr-chk label{display:inline-flex;gap:7px;align-items:center;cursor:pointer}
.hr-chk input:checked+*{color:var(--muted)}
.cm-list{display:grid;gap:6px}
.cm-row{display:grid;grid-template-columns:110px 96px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--bg)}
.cm-row .pill{justify-self:start}.cm-d{font-variant-numeric:tabular-nums;font-weight:600}.cm-done{opacity:.6}
.f input[type=date],.f input[type=datetime-local],.f input[type=search],.f textarea,.f select[multiple]{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink)}
@media (max-width:700px){.cm-row{grid-template-columns:1fr auto}.hr-obg{grid-template-columns:1fr}}
.at-in{width:58px;text-align:right;border:1px solid var(--line);border-radius:6px;padding:4px 6px;font:inherit;font-size:13px;background:var(--bg);color:var(--ink)}.at-in:disabled{opacity:.35}.at-man{border-color:#D97706;background:#FFFBEB}
.at-days .at-abs td{background:#FEE2E2}.at-days .at-late td{background:#FEF3C7}.at-days .at-off td{background:var(--sunk)}
.f input[type=time]{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink)}
.at-days .at-ext td{background:#DCFCE7}
/* Training */
.trn-wrap{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}
.trn-nav{position:sticky;top:12px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--side);max-height:calc(100vh - 120px);overflow:auto}
.trn-st{margin-top:8px}.trn-sh{padding:6px 6px 4px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}
.trn-li{display:flex;gap:7px;align-items:baseline;padding:6px 8px;border-radius:7px;color:var(--ink);text-decoration:none;font-size:13.5px}.trn-li:hover{background:var(--sunk)}.trn-li.on{background:var(--ink);color:var(--bg)}
.trn-ck{width:14px;flex:none;color:#16A34A;font-weight:700}.trn-li.on .trn-ck{color:#86EFAC}.trn-li.done{color:var(--muted)}.trn-li.on.done{color:var(--bg)}
.trn-ed{font-size:11.5px;display:inline-flex;gap:8px;margin-left:auto}.trn-ed a{color:var(--muted)}.trn-edl{display:flex;justify-content:flex-end;margin:-4px 6px 2px}
.trn-read{max-width:820px;border:1px solid var(--line);border-radius:12px;padding:24px 30px;background:var(--bg)}.trn-read h2{margin:4px 0 14px;font-size:22px}
.trn-body{font-size:15px;line-height:1.65}.trn-body h3{font-size:16px;margin:22px 0 8px}.trn-body p{margin:0 0 12px}.trn-body ul,.trn-body ol{margin:0 0 12px;padding-left:22px}.trn-body li{margin:3px 0}
.trn-body .tbl-wrap{margin:6px 0 14px}.trn-t td,.trn-t th{font-size:13.5px;white-space:normal}
.trn-note{background:#FEF9C3;border-left:4px solid #EAB308;padding:10px 14px;border-radius:6px;margin:0 0 14px;font-size:14px}
.trn-quiz{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.trn-q{display:grid;gap:5px;margin:10px 0;padding:10px 12px;border-radius:8px;background:var(--sunk)}.trn-q label{display:flex;gap:8px;align-items:center;cursor:pointer}.trn-q.trn-wrong{background:#FEE2E2}
.trn-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
.trn-home{max-width:820px}.trn-card{display:grid;grid-template-columns:1fr 100px 46px 100px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:var(--bg)}.trn-card .hr-prog{width:100%;margin:0}
@media (max-width:800px){.trn-wrap{grid-template-columns:1fr}.trn-nav{position:static;max-height:none}.trn-read{padding:16px}.trn-card{grid-template-columns:1fr auto}.trn-card .hr-prog{display:none}}
.trn-qb{font-size:10.5px;border:1px solid var(--line);border-radius:4px;padding:0 4px;color:var(--muted);margin-left:4px;white-space:nowrap}.trn-li.on .trn-qb{color:var(--bg);border-color:#555}
/* B2B › Settings › Price table - 한 줄씩 촘촘하게 */
.bp-t td,.bp-t th{padding:5px 8px;vertical-align:middle}.bp-t th{white-space:nowrap}
.bp-t input{border:1px solid transparent;border-radius:6px;background:transparent;padding:4px 8px;font:inherit;font-size:14px;color:var(--ink);height:30px;box-sizing:border-box}
.bp-t input:hover:not(:disabled){border-color:var(--line)}.bp-t input:focus{border-color:var(--ink);background:var(--bg);outline:none}
.bp-t .bp-n{width:84px;text-align:right;font-variant-numeric:tabular-nums}.bp-t .bp-l{width:100%;min-width:170px;font-weight:600}
.bp-t tfoot td{background:var(--sunk);font-size:13px}.bp-t tfoot .bp-n{width:100px}
.bp-x{border:0;background:none;color:var(--faint);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:5px}.bp-x:hover{color:#B91C1C;background:#FEE2E2}
.bp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:10px;font-size:13px;color:var(--muted)}
.bp-gst{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.bp-gst input{width:54px;height:30px;text-align:right;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font:inherit;color:var(--ink)}
.bp-notes{display:flex;align-items:center;gap:8px;flex:1;min-width:260px}.bp-notes textarea{flex:1;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;font-size:13px;color:var(--ink);resize:vertical;min-height:34px}
.bp-t td:has(.bp-n){text-align:right}.bp-t tfoot .bp-n{width:118px}
/* CRM › CS Assist */
.ca-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.ca-grid .card { margin: 0; }
@media (max-width: 900px) { .ca-grid { grid-template-columns: 1fr; } }
/* 메뉴: 다른 사람이 바꾼 메뉴 */
.upd { color: #2563eb; font-size: 11px; margin-right: 4px; vertical-align: 1px; }
/* ACCOUNTS 입력표 */
.ap-in { width: 92px; text-align: right; padding: 4px 6px; font-size: 13px; }
.ap-bg .ap-in { width: 78px; display: block; margin: 1px 0; }
.ap-bg td, .ap-bg th { padding: 4px 6px; }
.ap-cur { background: rgba(37, 99, 235, 0.06); }
/* TO DO › How to 단계 */
ol.steps { margin: 4px 0 6px; padding-left: 22px; display: grid; gap: 6px; }
ol.steps li { line-height: 1.4; }
ol.steps label.check { display: flex; gap: 8px; align-items: flex-start; font-weight: normal; }
ol.steps input { margin-top: 3px; flex: none; }
ol.steps input:checked + span { opacity: .55; text-decoration: line-through; }
/* TO DO › Board */
.tb-sec { margin: 18px 0 6px; }
.tb-sh { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; }
.tb-sh h3 { margin: 0; font-size: 15px; }
.tb-cnt { margin-left: auto; font-size: 13px; }
.tb-card { border: 1px solid var(--line, #e3e3e3); border-radius: 10px; background: var(--card, #fff); margin-bottom: 6px; }
.tb-card.miss { border-left: 3px solid #d64545; }
.tb-card.fin .tb-name { opacity: .55; text-decoration: line-through; }
.tb-row { display: flex; gap: 12px; align-items: center; padding: 10px 12px; cursor: pointer; }
.tb-tick { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #bbb; background: none; flex: none; cursor: pointer; font-size: 13px; line-height: 1; color: #fff; padding: 0; }
.tb-tick.done { background: #2f9e58; border-color: #2f9e58; }
.tb-tick.na { background: #9aa0a6; border-color: #9aa0a6; }
.tb-tick.not_done { border-color: #d64545; }
.tb-tick.doing { border-color: #e0a100; }
.tb-tick:disabled { cursor: default; opacity: .5; }
.tb-main { flex: 1; min-width: 0; }
.tb-name { font-weight: 600; font-size: 14px; }
.tb-meta { font-size: 12px; color: var(--muted, #777); margin-top: 2px; }
.tb-right { display: flex; gap: 10px; align-items: center; flex: none; }
.tb-bar { height: 4px; background: #eee; border-radius: 3px; margin-top: 6px; overflow: hidden; max-width: 320px; }
.tb-bar i { display: block; height: 100%; background: #2f9e58; }
.tiles .tb-bar { max-width: none; }
.tb-pill { font-size: 11px; padding: 2px 8px; border-radius: 10px; background: #f0f0f0; white-space: nowrap; }
.tb-pill.ok { background: #e3f4e8; color: #1e7a42; } .tb-pill.bad { background: #fde8e8; color: #b42318; }
.tb-pill.doing { background: #fff4d6; color: #8a6100; } .tb-pill.na { background: #eee; color: #666; }
.tb-hist { display: inline-flex; gap: 3px; }
.tb-hist .hd { width: 8px; height: 8px; border-radius: 50%; background: #ddd; display: inline-block; }
.tb-hist .hd.done { background: #2f9e58; } .tb-hist .hd.missed, .tb-hist .hd.not_done { background: #d64545; } .tb-hist .hd.na { background: #9aa0a6; }
.tb-body { padding: 0 14px 12px 46px; border-top: 1px dashed var(--line, #e3e3e3); }
.tb-kp { font-size: 13px; background: #fffbea; border-radius: 6px; padding: 6px 10px; margin: 10px 0 4px; }
@media (max-width: 700px) { .tb-row { flex-wrap: wrap; } .tb-right { width: 100%; justify-content: flex-end; } .tb-body { padding-left: 14px; } }
.itp-t th.itp-hc{cursor:copy}.itp-t th.itp-hc:hover{color:var(--ink);background:var(--line)}
.itp-t td.cs{background:#dbeafe !important;outline:1px solid #60a5fa;outline-offset:-1px}
#itp-body.selecting{user-select:none}
table.fv-pv tr:last-child td,table.fv-pv tr:last-child th{border-bottom:1px solid var(--line)}

/* HR Statutory Payments grid */
.sp-grid td.sp-c{cursor:pointer;text-align:center;padding:4px 2px;min-width:64px;border-left:1px solid var(--line,#e5e7eb)}
.sp-grid td.sp-c:hover{outline:2px solid var(--accent,#2563eb);outline-offset:-2px}
.sp-grid td.sp-none{cursor:default;background:transparent}
.sp-c .sp-i{font-weight:700;font-size:15px}.sp-c .sp-a{font-size:11px}.sp-c .sp-f{font-size:11px;opacity:.75}
.sp-paid,.sp-filed{background:rgba(22,163,74,.12)}.sp-paid .sp-i,.sp-filed .sp-i{color:#15803d}
.sp-late-paid{background:rgba(234,179,8,.16)}.sp-late-paid .sp-i{color:#a16207}
.sp-overdue{background:rgba(220,38,38,.12)}.sp-overdue .sp-i{color:#b91c1c}
.sp-due-soon{background:rgba(234,179,8,.10)}
.sp-doc{padding:3px 0}

.itc-raw{margin:6px 0 10px;padding:8px 10px;border:1px solid var(--line,#e5e7eb);border-radius:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.sp-login{margin:8px 0 14px;max-width:none}.sp-login textarea{width:100%;font-family:inherit}

/* ITC › RCM grid */
.rc-grid td.rc-c{cursor:pointer;text-align:center;padding:4px 2px;min-width:70px;border-left:1px solid var(--line,#e5e7eb);font-size:11px}
.rc-grid td.rc-c:hover,.rc-grid td.rc-sel{outline:2px solid var(--accent,#2563eb);outline-offset:-2px}
.rc-grid td.rc-none{cursor:default}.rc-c .rc-n{font-weight:600;font-size:12px}
.rc-ok{background:rgba(22,163,74,.12)}.rc-mid{background:rgba(234,179,8,.14)}.rc-no{background:rgba(220,38,38,.07)}

.pf-note{margin:8px 0 14px;max-width:none}.pf-note textarea{width:100%;font-family:inherit}

#zoho-card{margin-bottom:18px}#zoho-card > .card{margin-bottom:0}.zoho-t{border-bottom:1px solid var(--line,#d4d4d8);margin-bottom:10px}.zoho-t tr:last-child td{border-bottom:1px solid var(--line,#d4d4d8)}

.lv-t th.c{text-align:center;border-left:1px solid var(--line,#e5e7eb)}.lv-t td:nth-child(2n){border-left:1px solid var(--line,#e5e7eb)}

/* Contract / Salary History - 읽기 쉽게 (가로 스크롤 허용, 이름 칸 · 머리줄 고정, 칸 묶음 선, 합계 줄) */
.hr-wrap:has(.hr-v2){overflow:auto!important;max-height:72vh}
.hr-t.hr-v2{table-layout:auto!important;width:max-content;min-width:100%!important}
.hr-t.hr-v2 td,.hr-t.hr-v2 th{font-size:12.5px!important;padding:6px 10px!important;white-space:nowrap!important;overflow-wrap:normal!important;line-height:1.35}
.hr-t.hr-v2 td.hr-note,.hr-t.hr-v2 th.hr-note{white-space:normal!important;min-width:160px!important;max-width:280px!important}
.hr-t.hr-v2 thead th{position:sticky;top:0;z-index:2;background:var(--sunk,#f4f4f5);font-weight:600;vertical-align:bottom}
.hr-t.hr-v2 thead tr.hr-grp th{top:0;font-size:11px!important;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;padding:4px 10px!important}
.hr-t.hr-v2 thead tr.hr-grp + tr th{top:25px}
.hr-t.hr-v2 tbody tr:nth-child(even) td{background:rgba(0,0,0,.022)}
.hr-t.hr-v2 tbody tr:hover td{background:rgba(37,99,235,.06)}
.hr-t.hr-v2 .hr-stick{position:sticky;left:0;z-index:1;background:var(--card,#fff);box-shadow:1px 0 0 var(--line,#e5e7eb)}
.hr-t.hr-v2 thead .hr-stick{z-index:3;background:var(--sunk,#f4f4f5)}
.hr-t.hr-v2 .hr-g{border-left:2px solid var(--line-strong,#d4d4d8)!important}
.hr-t.hr-v2 tfoot td{position:sticky;bottom:0;background:var(--sunk,#f4f4f5);border-top:2px solid var(--line-strong,#d4d4d8)}
.hr-t.hr-v2 th.r{text-align:right}

.sp-lwf tr.sp-row-paid td,.sp-lwf tr.sp-row-filed td{background:rgba(22,163,74,.12)}
.sp-lwf tr.sp-row-late-paid td{background:rgba(234,179,8,.16)}
.sp-lwf tr.sp-row-overdue td{background:rgba(220,38,38,.10)}

/* B2B 현장: 진열 사진 · 동선 */
.fx-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.fx-ph{display:block;border:1px solid var(--line,#e5e7eb);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;background:var(--card,#fff)}
.fx-ph img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4f4f5}.fx-ph span{display:block;font-size:11px;padding:3px 6px;color:var(--muted,#6b7280)}
.fx-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:start}@media(max-width:900px){.fx-cols{grid-template-columns:1fr}}
.fx-nr{padding:4px 0;border-bottom:1px solid var(--line,#eee)}
.trn-vid{position:relative;width:100%;max-width:720px;aspect-ratio:16/9;margin:10px 0;border-radius:10px;overflow:hidden;background:#000}.trn-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Monthly plan · Review Insights */
.mp-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.mp-steps span{background:var(--soft,#f4f4f5);border-radius:999px;padding:3px 10px}
.mp-list{display:flex;flex-direction:column;gap:8px}
.mp-idea{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:start;background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:10px 12px}
.mp-idea.rejected{opacity:.5}.mp-idea.approved{border-color:#86efac}.mp-idea.sent{border-color:#fcd34d}
.mp-date{font-weight:600;font-size:13px}.mp-t{display:block;font-weight:600;margin:4px 0 2px}.mp-act{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.mp-idea{grid-template-columns:1fr}.mp-act{justify-content:flex-start}}
.mp-rv-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.mp-rv-g ul{margin:4px 0;padding-left:18px}.mp-rv ul li{margin:2px 0}
.mp-cm{max-height:160px;overflow:auto;margin:0 0 6px}.rv-th{padding:5px 0;border-bottom:1px solid var(--line,#eee)}
.fx-sheet td{vertical-align:middle}.fx-sheet td.c{text-align:center}.fx-sp{width:44px;height:44px;object-fit:cover;border-radius:6px;display:block;margin:auto;border:1px solid var(--line,#e5e7eb)}
.me-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:6px 0 0;padding:9px 12px;font-weight:600;text-align:center;box-sizing:border-box}.me-ic{font-size:12px;line-height:1}.me-out{display:block;margin:6px auto 0}
.btn.nt-blue{background:#2563eb;border-color:#2563eb;color:#fff}.btn.nt-blue:hover{background:#1d4ed8;border-color:#1d4ed8}
.ka-addr{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:800px){.ka-addr{grid-template-columns:1fr}}.ka-t td{vertical-align:middle}
.ka-addr>.card{margin:0}.ka-addr{margin-bottom:12px}
.cd-t td{vertical-align:middle}.cd-t th:first-child{width:30px}.cd-t .cd-doc{min-width:220px}
.lc-dl{width:130px;max-width:130px}.lc-file{display:flex;gap:4px;align-items:center;margin-bottom:3px}.lc-file>a:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.lc-x{color:var(--bad,#b42318);text-decoration:none}
.itp-editor{position:absolute;z-index:6;box-sizing:border-box;font-size:12.5px;padding:4px 8px;border:2px solid #2563eb;border-radius:4px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.bk-hint{max-width:440px;white-space:normal;margin:6px 0 0;padding-left:16px;font-size:12px;line-height:1.5;color:var(--muted)}
.bk-hint.wide{max-width:none;margin:0;color:inherit;font-size:12.5px}.bk-hint li{margin:1px 0}.bk-hint b{color:var(--ink,inherit)}
.bk-guide h4{margin:14px 0 6px;font-size:12px;letter-spacing:.06em;color:var(--muted)}
.bk-gt{width:100%;border-collapse:collapse;font-size:12.5px}.bk-gt td{border-top:1px solid var(--line);padding:8px 10px;vertical-align:top}.bk-gt .bk-gl{width:340px;font-weight:600}
.ap-t tr.ap-off td{background:#F4F4F6;color:#777}.ap-t tr.ap-abs td{background:#FDECEC}.ap-t tr.ap-late td{background:#FFF6E5}.ap-t tr.ap-lv td{background:#EEF4FD}
.at-t td{padding:4px 8px;vertical-align:middle}.at-t .at-in{padding:2px 6px;height:26px}.at-note{width:220px;height:26px;padding:2px 6px;font:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.at-t .btn.small{padding:2px 8px}
.at-t td:first-child{white-space:nowrap}.at-t td:first-child .pill{font-size:11px;padding:1px 6px}
.at-t{font-size:12px}.at-t th{font-size:11px;line-height:1.2;padding:5px 6px;white-space:nowrap}.at-t td{padding:3px 6px}.at-t .at-in{width:46px;height:24px;font-size:12px;padding:2px 4px}.at-t .at-note{width:110px;height:24px;font-size:12px}
.at-nm{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.at-tag{font-size:10px;padding:0 5px;border-radius:8px;background:#F4F4F6;color:#666}.at-tag.off{background:#FDECEC;color:#B42318}.at-tag.warn{background:#FFF6E5;color:#9A6400}
.at-lnk{border:0;background:none;padding:0 2px;font:inherit;font-size:11.5px;color:var(--muted);text-decoration:underline;cursor:pointer}.at-lnk.on{color:#1d4ed8;font-weight:600}.at-t .muted.small{font-size:10.5px}
.at-why{font-size:10.5px;line-height:1.35;color:var(--muted);white-space:normal;text-align:right;max-width:190px;margin-left:auto}.at-why .bad-t,.at-why .ok-t{white-space:nowrap}
.at-t th,.at-t td,.ap-t th,.ap-t td{text-align:left!important}.at-t .at-in{text-align:left}.at-why{text-align:left;margin-left:0}
.ap-t tr.ap-new td{border-top:3px solid #222!important}
.at-sub{font-size:10.5px;color:var(--muted);line-height:1.3;white-space:nowrap}.at-legend{font-size:12px;line-height:1.5;background:var(--sunk,#F6F6F8);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 8px}.at-legend ol{margin:4px 0 0;padding-left:18px}.at-t th{white-space:normal;vertical-align:bottom;min-width:44px}
.hr-t th.hr-paycol{background:#DCFCE7!important;color:#14532D;text-align:right}.hr-t td.hr-paycol{background:#F0FDF4!important;color:#14532D;font-weight:700;text-align:right}.hr-t tfoot td.hr-paycol{background:#DCFCE7!important}
/* B2B 고객 카드 (리드 · 리테일러 · 디스트리뷰터) */
.bp{padding:0;overflow:hidden}
.bp-hd{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#FAFAFB,#fff)}
.bp-av{width:42px;height:42px;border-radius:10px;background:#111113;color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;flex:none;letter-spacing:.5px}
.bp-nm{font-size:17px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bp-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;max-width:50%}
.bp-b{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--muted);white-space:nowrap;letter-spacing:.2px}
.bp-ok{background:#DCFCE7;color:#166534}.bp-off{background:#F4F4F5;color:#71717A}.bp-warn{background:#FEF3C7;color:#92400E}.bp-info{background:#DBEAFE;color:#1E40AF}
.bp-gold{background:#FDE68A;color:#78350F}.bp-silver{background:#E5E7EB;color:#374151}.bp-diamond{background:#CFFAFE;color:#155E75}.bp-plat{background:#EDE9FE;color:#5B21B6}
.bp-miss{margin:10px 16px 0;padding:8px 12px;border-radius:8px;background:#FFF7E6;border:1px solid #FCD9A0;color:#7C4A03;font-size:13px}
.bp-sec{padding:10px 16px 6px}.bp-sec+.bp-sec{border-top:1px dashed var(--line)}
.bp-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--faint);margin-bottom:4px}
.bp-r{display:grid;grid-template-columns:118px 1fr auto;gap:8px;align-items:center;padding:5px 0;font-size:13.5px;min-height:28px}
.bp-k{color:var(--muted);font-size:12.5px}
.bp-v{min-width:0;overflow-wrap:anywhere}
.bp-val{font-weight:500}
.bp-e{font-size:11.5px;color:var(--faint);visibility:hidden;margin-left:4px}.bp-r:hover .bp-e{visibility:visible}
.bp-add{font-size:12.5px;color:#B45309;font-weight:600;text-decoration:none;border:1px dashed #F5C26B;border-radius:6px;padding:1px 8px}.bp-add:hover{background:#FFF7E6}
.bp-a{display:flex;gap:4px;justify-content:flex-end}
.bp-btn{font-size:11.5px;font-weight:600;padding:2px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none;background:#fff;white-space:nowrap;margin-left:2px}.bp-btn:hover{background:var(--hover)}
.bp-gst{font-size:12px;margin-top:3px;font-weight:600}.bp-gst.ok{color:#15803D}.bp-gst.bad{color:#B42318}
.bp-ppl{display:grid;gap:0;margin-top:8px}.bp-p{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:13px}
.bi-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.bi-s{background:var(--sunk);border-radius:8px;padding:8px 10px}.bi-l{font-size:11.5px;color:var(--muted);font-weight:600}.bi-v{font-size:17px;font-weight:700;margin-top:2px}.bi-sub{font-size:11.5px;color:var(--muted)}
.bi-ch{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;align-items:end;height:118px;padding-top:4px;border-bottom:1px solid var(--line)}
.bi-c{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:default}
.bi-bar{width:62%;max-width:26px;background:#3F3F46;border-radius:4px 4px 0 0}.bi-bar.z{background:var(--line)}.bi-c:hover .bi-bar{background:#111113}
.bi-lab{font-size:10.5px;color:var(--muted);font-weight:600;height:14px}
.bi-m{font-size:10.5px;color:var(--faint);margin-top:3px;height:14px}
.bi-tip{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#111113;color:#fff;font-size:11.5px;padding:5px 8px;border-radius:6px;white-space:nowrap;z-index:5;text-align:center;pointer-events:none}.bi-c:hover .bi-tip{display:block}
.bi-pend{margin-top:10px;padding:8px 12px;border-radius:8px;background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;font-size:13px}
@media (max-width:900px){.bi-stats{grid-template-columns:repeat(2,1fr)}.bp-r{grid-template-columns:96px 1fr}.bp-a{grid-column:2;justify-content:flex-start}.bp-badges{max-width:none}.bp-hd{flex-wrap:wrap}}
