
/* Layout: 상단 바 + 왼쪽 메뉴 + 표(목록) + 오른쪽 상세 패널 — 사장님 시안 그대로.
   디자인은 파랑(처음 시안)으로 고정. 화면 모드(시스템 설정 따르기/라이트/다크)만 data-theme 로 바뀜 */
:root{
  --bg:#F5F7FA; --surface:#FFFFFF; --sunken:#F1F3F6; --line:#E3E7EC; --line2:#EEF1F4;
  --fg:#111827; --fg2:#4B5563; --muted:#6B7585;
  --accent:#2563EB; --accent-ink:#1D4ED8; --accent-soft:#EAF1FF; --on-accent:#FFFFFF; --hi:#2563EB;
  --primary:#2563EB; --on-primary:#FFFFFF;
  --top-bg:#FFFFFF; --top-fg:#111827; --top-muted:#4B5563; --top-line:#E3E7EC; --top-hover:#F1F3F6; --logo:#111827; --avatar-bg:#2563EB; --avatar-fg:#FFFFFF;
  --info:#1D4ED8; --info-soft:#E8EFFE; --app:#2563EB; --app-row:#CFE0FC;
  --ok:#15803D; --ok-soft:#E1F5E8; --ok-row:#BDE5C9; --on-ok:#FFFFFF;
  --gray:#4B5563; --gray-soft:#E9EBEF; --gray-row:#F3F4F6;
  --warn:#B45309; --warn-soft:#FDF0D5;
  --bad:#C62828; --bad-soft:#FDECEC; --bad-row:#F6C3C3; --on-bad:#FFFFFF;
  --strip:#EEF0F3;
  --font:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  --r:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0F1318; --surface:#171C23; --sunken:#1D232B; --line:#2A313B; --line2:#232A33;
  --fg:#E8ECF1; --fg2:#B4BCC8; --muted:#7D8796;
  --accent:#5B8CFF; --accent-ink:#8FB0FF; --accent-soft:#1D2A45; --on-accent:#0B1020; --hi:#5B8CFF;
  --primary:#5B8CFF; --on-primary:#0B1020;
  --top-bg:#171C23; --top-fg:#E8ECF1; --top-muted:#B4BCC8; --top-line:#2A313B; --top-hover:#1D232B; --logo:#E8ECF1; --avatar-bg:#5B8CFF; --avatar-fg:#0B1020;
  --info:#8FB0FF; --info-soft:#1D2A45; --app:#5B8CFF; --app-row:#1C2B4A;
  --ok:#5BD08A; --ok-soft:#163323; --ok-row:#173A25; --on-ok:#06170D;
  --gray:#B4BCC8; --gray-soft:#2A2C27; --gray-row:#1B1C18;
  --warn:#F0B35A; --warn-soft:#3A2C14;
  --bad:#FF7B7B; --bad-soft:#3B1C1C; --bad-row:#3F1D22; --on-bad:#2A0808;
  --strip:#141920; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1318; --surface:#171C23; --sunken:#1D232B; --line:#2A313B; --line2:#232A33;
  --fg:#E8ECF1; --fg2:#B4BCC8; --muted:#7D8796;
  --accent:#5B8CFF; --accent-ink:#8FB0FF; --accent-soft:#1D2A45; --on-accent:#0B1020; --hi:#5B8CFF;
  --primary:#5B8CFF; --on-primary:#0B1020;
  --top-bg:#171C23; --top-fg:#E8ECF1; --top-muted:#B4BCC8; --top-line:#2A313B; --top-hover:#1D232B; --logo:#E8ECF1; --avatar-bg:#5B8CFF; --avatar-fg:#0B1020;
  --info:#8FB0FF; --info-soft:#1D2A45; --app:#5B8CFF; --app-row:#1C2B4A;
  --ok:#5BD08A; --ok-soft:#163323; --ok-row:#173A25; --on-ok:#06170D;
  --gray:#B4BCC8; --gray-soft:#2A2C27; --gray-row:#1B1C18;
  --warn:#F0B35A; --warn-soft:#3A2C14;
  --bad:#FF7B7B; --bad-soft:#3B1C1C; --bad-row:#3F1D22; --on-bad:#2A0808;
  --strip:#141920; color-scheme:dark}
.brand-word{display:block;width:96px;height:22px;background:var(--logo);-webkit-mask:url("data:image/png;base64,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") no-repeat left center/contain;mask:url("data:image/png;base64,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") no-repeat left center/contain}
.brand-mark{display:none;width:22px;height:25px;background:var(--logo);-webkit-mask:url("data:image/png;base64,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") no-repeat center/contain;mask:url("data:image/png;base64,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") no-repeat center/contain}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

.strip{background:var(--strip);color:var(--fg2);font-size:12px;padding:6px 16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.strip button{border:0;background:none;color:var(--accent-ink);font-size:12px;padding:0;text-decoration:underline}

.top{background:var(--top-bg);color:var(--top-fg);border-bottom:1px solid var(--top-line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.logo{display:flex;align-items:center;gap:14px;min-width:0}
.logo .lsep{width:1px;height:22px;background:var(--top-line);opacity:.9}
.logo b{font-size:20px;letter-spacing:-.01em}
.logo small{color:var(--top-muted);font-size:14px;white-space:nowrap}
.top-r{display:flex;align-items:center;gap:14px;position:relative}
.icon-btn{width:40px;height:40px;border-radius:10px;border:0;background:none;display:grid;place-items:center;color:var(--top-muted);position:relative}
.icon-btn:hover{background:var(--top-hover)}
.dot{position:absolute;top:7px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--badge,var(--bad));color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}
.me{display:flex;align-items:center;gap:10px;border:0;background:none;padding:4px 6px;border-radius:10px;text-align:left;color:var(--top-fg)}
.me:hover{background:var(--top-hover)}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--avatar-bg);color:var(--avatar-fg);display:grid;place-items:center;font-weight:700}
.me b{display:block;font-size:15px}
.me small{display:block;color:var(--top-muted);font-size:12px;margin-top:-2px}

.pop{position:absolute;top:calc(100% + 8px);right:0;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.14);padding:8px;min-width:260px;z-index:40}
.pop h4{margin:4px 8px 8px;font-size:12px;color:var(--muted);font-weight:500}
.pop button.item{display:flex;width:100%;justify-content:space-between;gap:12px;border:0;background:none;padding:10px;border-radius:8px;text-align:left}
.pop button.item:hover{background:var(--sunken)}
.pop button.item.on{background:var(--accent-soft);color:var(--fg);font-weight:700}
.pop .sub{color:var(--muted);font-size:12px}

.shell{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:calc(100% - 92px)}
.side{background:var(--side-bg);border-right:1px solid var(--side-line);padding:16px 10px;display:flex;flex-direction:column;gap:4px}
.nav{display:flex;align-items:center;gap:12px;border:0;background:none;padding:12px 14px;border-radius:10px;font-size:15px;font-weight:500;color:var(--side-fg);text-align:left;width:100%}
.nav svg{flex-shrink:0;color:var(--side-muted)}
.nav:hover{background:var(--side-hover)}
.nav.on{background:var(--nav-on-bg);color:var(--nav-on-fg);font-weight:700}
.nav.on svg{color:var(--nav-on-fg)}
.nav .cnt{margin-left:auto;font-weight:700}

.main{min-width:0;display:flex}
.pane{flex:1;min-width:0;padding:24px 28px 32px;display:flex;flex-direction:column;gap:16px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.head h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.head h1 small{font-size:14px;font-weight:400;color:var(--fg2);letter-spacing:0}
.head .total{color:var(--fg2);font-size:14px}
.tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.head .tools{flex:1 1 420px;justify-content:flex-start;flex-wrap:nowrap}
.head .tools .search{flex:0 1 300px}
.search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:0 14px;height:46px;min-width:0;flex:1 1 300px;max-width:300px;color:var(--muted)}
.search input{border:0;outline:0;background:none;flex:1;min-width:0;height:100%;color:var(--fg)}
.search input::placeholder{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:500;white-space:nowrap}
.btn:hover{background:var(--sunken)}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}
.btn.primary:hover{filter:brightness(1.05)}
.btn.sm{height:36px;padding:0 12px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed}

.tabs{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.tabs{padding-bottom:2px;scrollbar-width:none;gap:6px}.tabs .tab{flex:none;height:32px;padding:0 11px;gap:6px;font-size:13px;border-radius:8px}.tab .caret{margin-left:0}.subtabs{gap:5px}.subtab{height:28px;padding:0 10px;font-size:12px}}   /* 휴대폰: 지역·상태 탭 작게 */
.tab{border:0;height:42px;padding:0 22px;border-radius:10px;background:var(--sunken);font-weight:500;display:inline-flex;align-items:center;gap:12px;color:var(--fg)}
.tab b{font-weight:700}
.tab.on{background:var(--primary);color:var(--on-primary)}
.tab.t-bad{background:var(--bad-soft);color:var(--bad);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--bad)}
.tab.t-bad.on{background:var(--bad);color:var(--on-bad)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;display:flex;flex-direction:column}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th{text-align:left;font-weight:500;color:var(--fg2);background:var(--sunken);padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
th.sort{cursor:pointer;user-select:none}
th.sort span{margin-left:6px;color:var(--fg)}
td{padding:12px 16px;border-bottom:1px solid var(--line2);white-space:nowrap;vertical-align:middle}
tr.row{cursor:pointer}
tr.row:hover td{background:var(--sunken)}
tr.row.r-ok td{background:var(--ok-row)}
tr.row.r-bad td{background:var(--bad-row)}
tr.row.r-app td{background:var(--app-row)}
tr.row.r-ok td:first-child{box-shadow:inset 5px 0 0 var(--ok)}
tr.row.r-bad td:first-child{box-shadow:inset 5px 0 0 var(--bad)}
tr.row.r-app td:first-child{box-shadow:inset 5px 0 0 var(--app)}
tr.row.r-ok:hover td{background:var(--ok-row);filter:brightness(.98)}
tr.row.r-bad:hover td{background:var(--bad-row);filter:brightness(.98)}
tr.row.r-app:hover td{background:var(--app-row);filter:brightness(.98)}
/* 고른 줄: 신청서(파랑)·배정완료(초록)·취소(빨강) 색은 그대로 두고 진한 테두리로만 표시 */
tr.row.sel td{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg)}
tr.row.sel td:first-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset 2px 0 0 var(--fg)}
tr.row.sel.r-ok td:first-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset 5px 0 0 var(--ok)}
tr.row.sel.r-bad td:first-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset 5px 0 0 var(--bad)}
tr.row.sel.r-app td:first-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset 5px 0 0 var(--app)}
tr.row.sel td:last-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset -2px 0 0 var(--fg)}
td.chk,th.chk{width:52px;text-align:center;padding-left:12px;padding-right:8px}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;vertical-align:middle}
td.wrap{white-space:normal;min-width:180px;max-width:320px}
td .nm{font-weight:700}
td .nick{color:var(--muted)}
.dup{color:var(--bad);font-weight:700}
.nick-sub{color:var(--muted);font-size:12px;margin-left:8px}
.tag.nickt{background:var(--sunken);color:var(--fg2);font-weight:500;border:1px solid var(--line)}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:5px;margin-left:6px;vertical-align:1px}
.tag.bad{background:var(--bad-soft);color:var(--bad)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.badge{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:7px;font-size:13px;font-weight:700;white-space:nowrap}
.b-blue{background:var(--info-soft);color:var(--info)}
.b-ok{background:var(--ok-soft);color:var(--ok)}
.gaflow{display:inline-flex;gap:4px;align-items:center;flex-wrap:nowrap}
.gaflow .badge{height:24px;padding:0 8px;font-size:12px}
.b-oks{background:var(--ok);color:var(--on-ok)}
.b-bads{background:var(--bad);color:var(--on-bad)}
.retalert{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--bad);color:var(--on-bad);border-radius:12px;padding:14px 16px}
.retalert div{display:flex;flex-direction:column;gap:2px}
.retalert b{font-size:16px}
.retalert span{font-size:13px;opacity:.92}
.retalert .btn{background:var(--on-bad);color:var(--bad);border-color:var(--on-bad);font-weight:700}
.retbox{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.retbox select{flex:1 1 160px}
.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--on-bad);font-weight:700}
.b-gray{background:var(--gray-soft);color:var(--gray)}
.b-warn{background:var(--warn-soft);color:var(--warn)}
.b-bad{background:var(--bad-soft);color:var(--bad)}
.b-none{border:1px dashed var(--line);color:var(--muted);font-weight:500}
.todo{color:var(--warn);font-size:13px;font-weight:500}
.foot{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px;flex-wrap:wrap}
.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center}
.pager .pgap{min-width:20px;text-align:center;color:var(--muted)}
.perpage{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:12px;color:var(--fg2);font-size:13px}
.perpage select{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg)}
.pager button{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--surface)}
.pager button.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}
.pager button:disabled{opacity:.4;cursor:default}
.empty{padding:48px 20px;text-align:center;color:var(--muted)}
.inp.sm{height:38px;padding:0 10px;font-size:13px}
select.inp.sm{background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;padding-right:28px}
table.adm input[type=number].inp.sm{min-width:80px}
table.adm tr.off td{opacity:.55}
.chipgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.chipcard{padding:16px 18px;gap:10px}
.chipcard h3{margin:0;font-size:16px}
.chipcard p{margin:0;color:var(--muted);font-size:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 6px 0 12px;border-radius:16px;background:var(--sunken);border:1px solid var(--line);font-size:13px}
.chip button{border:0;background:none;color:var(--muted);font-size:16px;line-height:1;width:22px;height:22px;border-radius:11px}
.chip button:hover{background:var(--bad-soft);color:var(--bad)}
.chip.lock{padding-right:12px;color:var(--muted);border-style:dashed}
.chipadd{display:flex;gap:8px}

.actionbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent-soft);border-radius:10px;padding:10px 14px;color:var(--fg);font-weight:500}
.actionbar select{height:36px;border-radius:8px;border:1px solid var(--line);background:var(--surface);padding:0 10px}

.colset{position:relative}
/* 화면 모드 창 안 「상태 색상」 켜고 끄기 스위치 */
.pop-sep{height:1px;background:var(--line);margin:6px 8px}
.pop button.item#plainToggle{align-items:center}
.tgl{flex:none;width:36px;height:20px;border-radius:10px;background:var(--line);position:relative;transition:background .15s}
.tgl::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.tgl.on{background:var(--primary)}
.tgl.on::after{left:18px}
/* 콜시트 새 창(?only=sheet): 왼쪽 메뉴·위 바·대화방 없이 콜시트만 화면 가득 */
body.solo #side,body.solo [data-goapp],body.solo .top .crumb,body.solo #bellBtn,body.solo #themeBtn,body.solo .top .logo,body.solo .brand-center{display:none!important}
body.solo .shell{grid-template-columns:minmax(0,1fr);min-height:0}
body.solo .pane{padding-bottom:10px}body.solo .copy{padding:6px 0 0}
body.solo .sheet-wrap{max-height:calc(100vh - 324px - var(--top-h,0px))}
body.solo .pane:not(:has(> .head)) .sheet-wrap{max-height:calc(100vh - 262px - var(--top-h,0px))}  /* TM: 표 위 도구 줄이 없는 만큼 표를 더 길게 */
/* 줄 상태 색상 끄기(계정 설정): 바탕색과 맨 앞 색 띠를 모두 없앰 (고른 줄 테두리는 그대로) */
body.plain-rows tr.row.r-ok td,body.plain-rows tr.row.r-bad td,body.plain-rows tr.row.r-app td,body.plain-rows tr.srow.r-ok td,body.plain-rows tr.srow.r-bad td,body.plain-rows tr.srow.r-app td{background:var(--surface);filter:none}
body.plain-rows tr.row:hover td,body.plain-rows tr.srow:hover td{background:var(--sunken)}
body.plain-rows table.cardify tr.row.r-ok,body.plain-rows table.cardify tr.row.r-bad,body.plain-rows table.cardify tr.row.r-app{background:var(--surface);box-shadow:none}
body.plain-rows tr.row.r-ok td:first-child,body.plain-rows tr.row.r-bad td:first-child,body.plain-rows tr.row.r-app td:first-child,body.plain-rows tr.srow.r-ok td:first-child,body.plain-rows tr.srow.r-bad td:first-child,body.plain-rows tr.srow.r-app td:first-child{box-shadow:none}
body.plain-rows tr.row.sel td:first-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset 2px 0 0 var(--fg)}
.colset .pop{min-width:220px}
.colset label{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}
.colset label:hover{background:var(--sunken)}

/* 오른쪽 상세 패널 */
.detail{width:600px;flex-shrink:0;background:var(--surface);border-left:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:22px;overflow-y:auto}
.d-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}
.d-name{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.d-name h2{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}
.d-phone{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:22px;font-weight:700}
.d-phone button{border:0;background:none;color:var(--muted);padding:4px;border-radius:6px}
.d-phone button:hover{color:var(--accent);background:var(--sunken)}
.d-meta{background:var(--sunken);border-radius:10px;padding:10px 14px;display:grid;grid-template-columns:auto auto;gap:4px 16px;font-size:13px;flex-shrink:0}
.d-meta span{color:var(--fg2)}
.sec{display:flex;flex-direction:column;gap:12px}
.sec h3{margin:0;font-size:17px;font-weight:700;display:flex;align-items:center;gap:10px}
.sec h3::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--hi)}
.sec h3 small{font-weight:400;font-size:12px;color:var(--muted)}
.f{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center}
.f > label{color:var(--fg2)}
.f .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.inp{height:46px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 14px;width:100%;min-width:0}
.inp[readonly]{background:var(--sunken);color:var(--fg2)}
select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg2) 50%),linear-gradient(135deg,var(--fg2) 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 15px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
select.inp:disabled{background-color:var(--sunken);color:var(--muted)}
.note{background:var(--sunken);border-radius:10px;padding:10px 14px;color:var(--fg2);font-size:13px;white-space:pre-wrap}
.memo{position:relative}
.memo textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:10px;padding:12px 14px 26px;resize:vertical;background:var(--surface);line-height:1.6}
.memo span{position:absolute;right:12px;bottom:8px;font-size:12px;color:var(--muted)}
.file{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.file .fname{color:var(--info);font-weight:500;word-break:break-all}
.file .need{color:var(--warn);font-weight:500}
.file input{display:none}
.thumb{max-width:100%;max-height:160px;border-radius:8px;border:1px solid var(--line)}
.save{height:54px;border-radius:10px;border:0;background:var(--primary);color:var(--on-primary);font-size:16px;font-weight:700;width:100%;flex-shrink:0}
.save:hover{filter:brightness(1.05)}
.d-empty{margin:auto;color:var(--muted);text-align:center}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:12px 20px;border-radius:10px;font-weight:500;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.2);max-width:calc(100% - 32px)}

@media (max-width:1180px){
  .main{flex-direction:column}
  .detail{width:auto;border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .top{padding:10px 16px}
  .logo small,.logo .lsep{display:none}
  #meBtn > div{display:none}   /* 휴대폰: 프로필 버튼 이름만 숨김 (예전엔 「.me」 전체라 대화방 내 메시지까지 숨겨졌음) */
  .shell{grid-template-columns:minmax(0,1fr)}
  .side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 16px;gap:6px}
  .nav{width:auto;white-space:nowrap;padding:10px 12px;font-size:14px}
  .pane{padding:18px 16px 24px}
  .head .tools{flex-wrap:wrap;justify-content:flex-start}
  .detail{padding:18px 16px}
  .f{grid-template-columns:minmax(0,1fr);gap:6px}
  .d-top{flex-direction:column}
}
/* 대시보드 */
:root{--series-1:#2a78d6;--series-2:#eb6834}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--series-1:#3987e5;--series-2:#d95926}}
:root[data-theme="dark"]{--series-1:#3987e5;--series-2:#d95926}
.dash{gap:18px}
.seg{display:inline-flex;background:var(--sunken);border-radius:10px;padding:4px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:none;height:36px;padding:0 14px;border-radius:8px;font-weight:500;color:var(--fg2)}
.seg button.on{background:var(--surface);color:var(--fg);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.hero,.kpi{padding:18px 20px;gap:6px}
.hero{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.hero .k-label,.hero .k-sub{color:inherit;opacity:.8}
.k-label{font-size:13px;color:var(--fg2);font-weight:500}
.k-val{font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.k-val small{font-size:15px;font-weight:500;margin-left:3px;color:var(--fg2)}
.k-sub{font-size:12px;color:var(--muted)}
.vcard{padding:18px 20px;gap:14px}
.vhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vhead h2{margin:0;font-size:17px;font-weight:700}
.vhead span{font-size:12px;color:var(--muted)}
.todo-chip{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px 14px;color:var(--fg)}
.todo-chip:hover{background:var(--sunken)}
.todo-chip b{font-size:24px;font-weight:700;min-width:32px}
.todo-chip span{display:flex;flex-direction:column;min-width:0}
.todo-chip em{font-style:normal;font-weight:700;font-size:14px}
.todo-chip small{font-size:12px;color:var(--muted)}
.todo-chip.warn{border-color:var(--warn);background:var(--warn-soft)}
.todo-chip.warn b{color:var(--warn)}
.todo-chip.bad{border-color:var(--bad);background:var(--bad-soft)}
.todo-chip.bad b{color:var(--bad)}
.todo-chip.zero b{color:var(--muted)}
.hbars{display:flex;flex-direction:column;gap:10px}
.hbar{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;font-size:13px;border-radius:6px}
.hbar:focus-visible{outline:2px solid var(--accent)}
.hl{color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ht{height:14px;display:block}
.hf{display:block;height:14px;background:var(--series-1);border-radius:0 4px 4px 0;min-width:0}
.hv{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:64px;text-align:right}
.hv small{font-weight:500;color:var(--muted);margin-left:6px;font-size:12px}
.trend svg{width:100%;height:auto;display:block;overflow:visible}
.trend .grid{stroke:var(--line2);stroke-width:1}
.trend .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.trend .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.trend .ln.s1{stroke:var(--series-1)} .trend .ln.s2{stroke:var(--series-2)}
.trend .dot{stroke:var(--surface);stroke-width:2} .trend .dot.s1{fill:var(--series-1)} .trend .dot.s2{fill:var(--series-2)}
.trend .endl{fill:var(--fg2);font-size:12px;font-weight:700}
.trend .xhair{stroke:var(--muted);stroke-width:1}
.trend .hit{fill:transparent;cursor:crosshair}
.trend .hit:focus{outline:none}
.legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--fg2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{width:14px;height:3px;border-radius:2px;display:inline-block} .sw.s1{background:var(--series-1)} .sw.s2{background:var(--series-2)}
.linkbtn{margin-left:auto}
table.mini{font-size:13px}
table.mini th{padding:10px 12px;font-size:12px}
table.mini td{padding:10px 12px}
table.mini .r{text-align:right}
.vtip{position:fixed;z-index:70;pointer-events:none;background:var(--fg);color:var(--bg);font-size:12px;font-weight:500;padding:7px 10px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.18);max-width:260px}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:14px}.k-val{font-size:26px}.hbar{grid-template-columns:90px minmax(0,1fr) auto}}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* 로그인 화면 */
/* 로그인 화면 (다크 오로라) — 테마와 상관없이 항상 어둡게 */
.gate{position:fixed;inset:0;z-index:80;background:#0D0E0B;color:#EDEEE8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:24px 16px;overflow:auto}
.gate:before,.gate:after{content:"";position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none}
.gate:before{width:520px;height:520px;background:#CCF26A;top:-220px;left:-120px;opacity:.28}
.gate:after{width:460px;height:460px;background:#2BB673;bottom:-220px;right:-100px;opacity:.25}
.gate[hidden]{display:none!important}
.gate-brand{position:relative;flex:none}
.gate-brand .brand-word{width:330px;height:auto;aspect-ratio:520/121;background:#CCF26A;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;filter:drop-shadow(0 0 28px rgba(204,242,106,.35))}
.gate-card{position:relative;flex:none;width:100%;max-width:380px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;gap:14px;color:#EDEEE8}
.gate-lead{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(90deg,#E4FF8A,#CCF26A 40%,#5FD08A);-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content}
.gate h1{margin:-8px 0 2px;font-size:13px;font-weight:500;color:#9A9C92}
.gate-sub{margin:-6px 0 2px;color:#B5B7AD;font-size:13px}
.gate-sub:empty{display:none}
.gate-f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#B5B7AD}
.gate .inp{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.14);color:#fff}
.gate .inp:focus{border-color:#CCF26A;outline:2px solid rgba(204,242,106,.35);outline-offset:0}
.gate .inp::placeholder{color:#76786E}
.gate .save{background:linear-gradient(90deg,#E4FF8A,#CCF26A,#8FE07A);color:#141412}
.gate .save:disabled{opacity:.6}
.gate-err{margin:0;color:#FF9B9B;font-size:13px;min-height:18px}
.gate-err:empty{min-height:0}
@media (max-width:700px){.gate{gap:24px}.gate-brand .brand-word{width:190px}}
/* 위쪽 LeadOS 글자: 파랑 그라데이션 */
:root{--lead-grad:linear-gradient(90deg,#2563EB,#06B6D4)}
.logo b{background:var(--lead-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.busy{opacity:.6;pointer-events:none}
.flink{border:0;background:none;padding:0;color:var(--accent-ink);text-decoration:underline;font:inherit;cursor:pointer}
.strip.test{background:#FDF0D5;color:#7A4A00}

/* 콜시트 */
table.sheet{font-size:13px;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}   /* 칸마다 자기 선을 그림: 선을 공유하는 방식(collapse)이면 스크롤할 때 위에 고정된 제목줄·날짜 줄의 세로선이 깜빡여 보였음 */
table.sheet th{font-size:12px;white-space:nowrap;position:sticky;top:0;z-index:1}
table.sheet td{height:34px;white-space:nowrap}
table.sheet .nm{font-weight:700;color:var(--fg);text-decoration:none}
table.sheet .sub2{color:var(--muted);font-size:11px;margin-left:6px}
table.sheet .tag{margin-left:6px}
table.sheet .badge{height:22px;font-size:12px}
table.sheet td.w-memo{padding:2px 4px}
table.sheet td.w-note .clip{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;color:var(--fg2)}
.cell{width:100%;height:28px;border:1px solid transparent;border-radius:6px;background:transparent;font:inherit;color:inherit;padding:0 6px}
.cell:hover{border-color:var(--line)}
.cell:focus{outline:none;border-color:var(--accent-ink);background:var(--surface)}
select.cell{min-width:120px;cursor:pointer}
select.cell:disabled{cursor:not-allowed;opacity:.8}
.btn.xs{height:24px;padding:0 8px;font-size:12px;border-radius:6px}
tr.srow:hover td{background:var(--sunken)}
tr.srow.r-ok td{background:var(--ok-row)} tr.srow.r-bad td{background:var(--bad-row)} tr.srow.r-app td{background:var(--app-row)}
/* 콜시트는 줄 앞 색 띠 없이 바탕색만 */
.sheet-wrap{max-height:calc(100vh - 290px);overflow:auto}

/* 가운데 창 (콜시트에서 고객 자세히) */
.modal-bg{position:fixed;inset:0;z-index:60;background:rgba(15,16,13,.45);display:flex;align-items:center;justify-content:center;padding:24px 16px}
.modal{position:relative;width:100%;max-width:720px;max-height:calc(100vh - 48px);display:flex;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal .detail{width:100%;border:0;max-height:calc(100vh - 48px);padding:28px 28px 24px}
.modal .detail:focus{outline:none}
.modal-x{position:absolute;top:10px;right:12px;z-index:2;width:40px;height:40px;border:0;border-radius:10px;background:var(--sunken);color:var(--fg);font-size:24px;line-height:1;cursor:pointer}
.modal-x:hover{background:var(--line)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.modal-bg{padding:0}.modal{max-height:100vh;height:100%;border-radius:0}.modal .detail{max-height:100%;padding:56px 16px 20px;overscroll-behavior:contain}.modal-bg{top:var(--mvt,0px);bottom:auto;height:var(--mvh,100%)}}   /* 키보드가 떠도 보이는 화면에 딱 맞춤 (app.js modalFit) · 창 안 스크롤이 끝나도 뒤 화면으로 넘어가지 않게 */
.modal .d-top{padding-right:44px}
/* 고객 상세 칸 묶음: 기본은 한 줄로 쌓기. 가운데 창에서 신청서가 있으면 왼쪽(고객·연락·메모) / 오른쪽(신청서) 두 줄 */
.d-cols,.d-col{display:flex;flex-direction:column;gap:22px}
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  /* 고객 상세창(가운데 창): 한눈에 들어오게 칸·간격·글씨를 촘촘하게 */
  .modal .detail{padding:18px 22px 16px;gap:12px}
  .modal .d-top{padding-bottom:10px}
  .modal .d-name h2{font-size:22px}
  .modal .d-phone{font-size:17px;margin-top:2px}
  .modal .d-meta{padding:6px 10px;font-size:12px;gap:2px 12px}
  .modal .d-cols,.modal .d-col{gap:12px}
  .modal .sec{gap:6px}
  .modal .sec h3{font-size:14px}
  .modal .sec h3::before{height:14px}
  .modal .f{grid-template-columns:84px minmax(0,1fr);gap:8px;font-size:13px}
  .modal .inp{height:34px;padding:0 10px;font-size:13px;border-radius:8px}
  .modal select.inp{background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;padding-right:28px}
  .modal .note{padding:6px 10px;font-size:12px}
  .modal .memo textarea{min-height:72px;padding:8px 10px 22px;font-size:13px;line-height:1.5}
  .modal .save{height:42px;font-size:15px}
  .modal .btn.sm{height:30px;font-size:12px}
  .modal .retalert{padding:8px 12px}
}
/* TM GA 배정 현황 오른쪽 신청서 창(옆 칸): 가운데 창과 같은 촘촘한 크기, 폭 600 → 440 */
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  #main > .detail{width:440px;padding:18px 20px 16px;gap:12px}
  #main > .detail .d-top{padding-bottom:10px}
  #main > .detail .d-name h2{font-size:22px}
  #main > .detail .d-phone{font-size:17px;margin-top:2px}
  #main > .detail .d-meta{padding:6px 10px;font-size:12px;gap:2px 12px}
  #main > .detail .sec{gap:6px}
  #main > .detail .sec h3{font-size:14px}
  #main > .detail .sec h3::before{height:14px}
  #main > .detail .f{grid-template-columns:100px minmax(0,1fr);gap:8px;font-size:13px}
  #main > .detail .inp{height:34px;padding:0 10px;font-size:13px;border-radius:8px}
  #main > .detail select.inp{background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;padding-right:28px}
  #main > .detail .note{padding:6px 10px;font-size:12px}
  #main > .detail .memo textarea{min-height:72px;padding:8px 10px 22px;font-size:13px;line-height:1.5}
  #main > .detail .save{height:42px;font-size:15px}
  #main > .detail .btn.sm{height:30px;font-size:12px}
  #main > .detail .retalert{padding:8px 12px}
}@media (min-width:1100px){
  .modal .d-cols.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 28px;align-items:start}
  .modal:has(.d-cols.two){max-width:1060px}
}

.rangebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rangebar .rl{font-size:13px;color:var(--fg2);font-weight:500}
.rangebar .rl.sub{color:var(--muted);font-weight:400}
.rangebar .seg button{height:34px}
.rangebar input[type=date]{width:auto;height:36px}
tr.dayrow td{background:var(--sunken);font-weight:700;font-size:12px;color:var(--fg2);height:28px;padding:4px 10px;position:sticky;top:33px;z-index:1}
table.sheet .nm2{color:var(--fg);text-decoration:none;font-weight:500}

/* 세부 칩 (취소 → 방문취소 · 부재 · 조건미달) */
.tab .caret{font-size:10px;margin-left:4px;opacity:.6}
.subtabs{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}
.subtab{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg2);font-size:13px;cursor:pointer}
.subtab b{font-weight:700;margin-left:2px}
.subtab.on{background:var(--fg);border-color:var(--fg);color:var(--surface)}

.staffsel{height:30px;padding:0 26px 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;cursor:pointer}
.staffsel:hover{border-color:var(--fg2)}

/* 담당자별 · 지역별 보기 */
.fsel{height:44px;padding:0 6px 0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);flex:none}
.fsel select{border:0;background:transparent;color:var(--fg);font:inherit;font-size:14px;font-weight:600;padding:0 6px;cursor:pointer;outline:none}
.fsel.on{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}

/* 콜시트 GA 결과 요약 (대표·관리자) */
.sstats{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:13px}
.sst-t{color:var(--fg2);margin-right:2px}
.sst{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;border-radius:999px;font-weight:600}
.sst b{font-size:15px}
.sst.ok{background:var(--ok-row);color:var(--fg)}
.sst.bad{background:var(--bad-row);color:var(--fg)}
.sst-sub{color:var(--fg2)}

/* 대시보드 · 한눈에 */
.dfilter{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.dfilter .fsel{height:40px}
.todo-list{display:flex;flex-direction:column;gap:6px}
.todo-list .todo-chip b{font-size:20px;min-width:28px}
div.todo-chip{cursor:default}
.dlink{border:0;background:none;padding:0 2px;font:inherit;color:inherit;cursor:pointer;border-bottom:2px solid var(--line);line-height:1.1}
.dlink:hover{border-bottom-color:var(--fg);background:var(--sunken)}
.dlink.hot,.dz.hot{color:var(--bad);font-weight:700}
.dlink.hot{border-bottom-color:var(--bad)}
.dlink.inl{font-weight:600}
.k-val .dlink{border-bottom-width:3px}
table.board td{padding:10px 12px;font-size:14px}
table.board td .dlink{font-size:15px;font-weight:600}
/* 숫자 → 고객 목록 창 */
.modal.drill{max-width:920px;background:var(--surface);flex-direction:column}
.drill-in{padding:24px 24px 20px;overflow:auto;max-height:calc(100vh - 48px)}
.drill-in:focus{outline:none}
.drill-in h2{margin:0 44px 2px 0;font-size:20px}
.drill-in h2 .num{color:var(--fg2);font-size:15px;font-weight:600;margin-left:6px}
.drill-in .sub2{margin:0 0 12px}
.drill-in table{width:100%}
.drill-in tr.row td{padding:10px 12px}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.drill-in{padding:56px 12px 16px;max-height:100%;overscroll-behavior:contain}}
.todo-list .todo-chip{padding:7px 12px;gap:10px}
.todo-list .todo-chip small{display:none}
.todo-list .todo-chip em{font-size:14px}
/* 대표 대시보드: 지금 처리할 일 · TM 현황판을 작게 (처리할 일은 2칸 격자, 현황판은 줄 낮게 · TM이 많으면 표 안에서 스크롤) */
.dgrid .vcard{padding:14px 16px;gap:10px}
.dgrid .vhead h2{font-size:15px}
.dgrid .todo-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dgrid .todo-list .todo-chip{padding:6px 10px;gap:8px;border-radius:8px;min-width:0}
.dgrid .todo-list .todo-chip b{font-size:16px;min-width:22px;line-height:1.25}
.dgrid .todo-list .todo-chip em{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dgrid .todo-list .todo-chip span{overflow:hidden}
.dgrid table.board th{padding:6px 8px;font-size:12px;line-height:1.25;position:sticky;top:0;z-index:1;white-space:normal;word-break:keep-all;vertical-align:bottom}   /* 제목은 두 줄로 접혀서 칸이 좁아짐 */
.dgrid table.board .colgrip{right:0}   /* 고정 제목줄은 칸마다 따로 쌓여서 손잡이를 칸 안쪽에 둬야 옆 칸에 안 가려짐 */
.dgrid table.board td{padding:6px 8px;font-size:13px}
.dgrid table.board td .dlink{font-size:13.5px}
@container (max-width:340px){.dgrid .todo-list{grid-template-columns:minmax(0,1fr)}}   /* 처리할 일 카드가 좁으면 한 줄씩 (이름이 안 잘리게) */
/* 현황판 위 도구: − 100% + · 열 설정 (오른쪽) · 설명은 아래 줄 */
.d-board .vhead{align-items:center;flex-wrap:wrap}
.board-tools{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.board-tools .btn,.board-tools .zoombox{height:30px;font-size:12.5px}
.board-tools .btn{padding:0 10px}
.d-board .board-note{flex-basis:100%;margin-top:-4px}
.dgrid .board-wrap{max-height:max(260px,calc(100vh - var(--top-h,64px) - 300px));overflow:auto;scrollbar-gutter:stable}   /* 세로 스크롤바 자리를 미리 비워 둠 → 맨 끝 칸이 안 잘림 */table.sheet .staffsel{height:26px;font-size:12px}
table.sheet td.chk,table.sheet th.chk{width:36px;padding:0 4px 0 8px}
table.sheet input[type=checkbox]{width:16px;height:16px}

/* 대화방 */
#chat{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70}
.pane{padding-bottom:72px}
.chat-fab{display:flex;align-items:center;gap:8px;height:52px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--fg);color:var(--bg);font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22);position:relative}
.chat-fab:hover{transform:translateY(-1px)}
.chat-fab[hidden]{display:none}
.chat-badge{position:absolute;top:-6px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--badge,var(--bad));color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}
.chat-badge[hidden]{display:none}
.chat-panel{width:min(580px,calc(100vw - 40px));height:min(500px,calc(100vh - 120px));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}
.chat-panel[hidden]{display:none}
.chat-top{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line);font-size:16px}
.chat-x{width:36px;height:36px;border:0;border-radius:10px;background:var(--sunken);color:var(--fg);font-size:22px;line-height:1;cursor:pointer}
.chat-body{flex:1;display:flex;min-height:0}
.chat-rooms{width:184px;flex:none;border-right:1px solid var(--line);overflow:auto;padding:6px}
.chat-room{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
.chat-room:hover{background:var(--sunken)}
.chat-room.on{background:var(--nav-on-bg);color:var(--nav-on-fg)}
.cr-av{width:32px;height:32px;flex:none;border-radius:50%;background:var(--sunken);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.chat-room.on .cr-av{background:rgba(255,255,255,.6)}
.cr-av.all{background:var(--fg);color:var(--bg)}
.cr-t{flex:1;min-width:0;display:flex;flex-direction:column}
.cr-t b{font-size:14px}
.cr-t small{font-size:12px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-room.on .cr-t small{color:inherit;opacity:.75}
.cr-n{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--badge,var(--bad));color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.chat-main{flex:1;min-width:0;display:flex;flex-direction:column}
.chat-head{padding:10px 16px;border-bottom:1px solid var(--line2);display:flex;align-items:baseline;gap:8px}
.chat-head b{font-size:15px}.chat-head small{color:var(--fg2);font-size:12px}
.chat-log{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px;background:var(--bg)}
.cm-day{align-self:center;font-size:11px;color:var(--fg2);background:var(--sunken);padding:2px 10px;border-radius:999px;margin:8px 0}
.cm{display:flex;flex-direction:column;align-items:flex-start;max-width:80%}
.cm.me{align-self:flex-end;align-items:flex-end}
.cm-who{font-size:12px;color:var(--fg2);margin:6px 0 2px 4px}
.cm-row{display:flex;align-items:flex-end;gap:6px}
.cm.me .cm-row{flex-direction:row-reverse}
.cm-b{margin:0;padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}
.cm.me .cm-b{background:var(--nav-on-bg);color:var(--nav-on-fg);border-color:transparent;border-radius:14px 14px 4px 14px}
.cm time{font-size:11px;color:var(--fg2);flex:none}
.cm-empty{margin:auto;color:var(--fg2);font-size:13px;text-align:center;padding:24px}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);min-width:0}   /* 입력칸이 먼저 줄어들고 「보내기」는 늘 다 보이게 (컴퓨터에 따라 입력칸 최소 폭이 커서 보내기가 잘리던 것) */
.chat-form textarea{flex:1 1 0;min-width:0;width:0;resize:none;min-height:42px;max-height:120px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;background:var(--surface);color:var(--fg)}
.chat-form textarea:focus{outline:2px solid var(--fg);outline-offset:-1px}
.chat-send{flex:none;height:42px;padding:0 16px;border:0;border-radius:10px;background:var(--fg);color:var(--bg);font:inherit;font-weight:700;cursor:pointer;align-self:flex-end}
.chat-send:disabled{opacity:.5}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  #chat{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .chat-fab span{display:none}.chat-fab{width:52px;padding:0;justify-content:center}
  #chat:has(.chat-panel:not([hidden])){inset:0}
  .chat-panel{width:100vw;height:100%;border-radius:0;border:0}
  .chat-body{flex-direction:column}
  .chat-rooms{width:auto;display:flex;gap:4px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;flex:none}
  .chat-room{width:auto;flex:none}
  .chat-room .cr-t small{display:none}
}
.chat-room.on .cr-av.all{background:var(--fg);color:var(--bg)}
/* 대시보드 통계: 화면 폭에 맞춰 칸 수가 바뀌는 격자 (표는 카드 폭에 꽉 차게) */
.btn.danger.del-lead{margin-top:10px;width:100%;background:transparent;color:var(--bad);border:1px solid var(--bad)}.btn.danger.del-lead:hover{background:var(--bad);color:var(--on-bad)}
/* 신규 DB: 칸 간격 좁게 (한 화면에 더 많이) */
table.tight th{padding:8px 10px;font-size:12px}
table.tight td{padding:5px 10px;font-size:13px}
table.tight td .tag{padding:1px 6px}
table.tight{width:auto;min-width:0}table.tight td.chk,table.tight th.chk{padding-right:10px}
/* 고객(콜시트): 가로 간격 줄이기 */
table.sheet th{padding:8px 5px}
table.sheet td{padding:3px 5px}
table.sheet td.w-note .clip{max-width:110px}
table.sheet select.cell{min-width:0;width:auto;font-size:12px;-webkit-appearance:none;appearance:none}
table.sheet .badge{max-width:104px;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:22px;vertical-align:middle;padding:0 6px}
table.sheet .staffsel{max-width:none;width:auto;padding:0 16px 0 4px}table.sheet select.cell{max-width:118px}
table.sheet .nm2{display:inline-block;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}table.sheet .nm{display:inline-block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
table.sheet .cellbtn{display:inline-flex;align-items:center;height:26px;min-width:64px;max-width:118px;padding:0 18px 0 6px;border:1px solid transparent;border-radius:6px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 5px center;font:inherit;font-size:12px;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
table.sheet .cellbtn:hover{border-color:var(--line);background-color:var(--surface)}
table.sheet .cellbtn.staff{border-color:var(--line);background-color:var(--surface);min-width:70px}
table.sheet .cellbtn.dis{cursor:default;opacity:.6;background-image:none}
.btn.danger-o{background:transparent;border:1px solid var(--bad);color:var(--bad)}.btn.danger-o:hover{background:var(--bad);color:var(--on-bad)}.delbar{border-color:var(--bad)}
/* 통계 탭 다시 배치: 그래프 3개 한 줄 → 14일 추이 넓게 → 표들은 빈칸 없이 위에서부터 채움 */
/* 콜시트: 고르는 칸은 누르기 전·후 폭이 같게 (칸이 늘어나거나 열이 움직이지 않게) */
table.sheet .cellbtn,table.sheet select.cell{box-sizing:border-box;width:112px;min-width:112px;max-width:112px;height:26px;font-size:12px}
table.sheet select.cell{padding:0 18px 0 6px;border:1px solid transparent;border-radius:6px;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;color:inherit}
table.sheet .cellbtn.staff,table.sheet select.staffsel{box-sizing:border-box;width:84px;min-width:84px;max-width:84px;height:26px;font-size:12px}
table.sheet td.w-memo{width:220px;min-width:220px;max-width:220px}
table.sheet td.w-memo .cell.memo{box-sizing:border-box;width:100%}
/* 신규 DB 위쪽 공지 (A안): 왼쪽 중요 공지 배너 + 오른쪽 최근 공지 3개 — 높이 약 175px */
:root{--nb-base:#16294D;--nb-grad:linear-gradient(120deg,#0F1B33 0%,#1E3A6B 55%,#2563EB 130%);--nb-glow:.12;--nb-line:transparent}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--nb-base:#101A2E;--nb-grad:linear-gradient(120deg,#0B1322 0%,#122140 60%,#1A3160 130%);--nb-glow:.05;--nb-line:var(--line)}}
:root[data-theme="dark"]{--nb-base:#101A2E;--nb-grad:linear-gradient(120deg,#0B1322 0%,#122140 60%,#1A3160 130%);--nb-glow:.05;--nb-line:var(--line)}   /* 다크 모드: 배너를 어둡게 */
.ntop{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr);gap:14px}
.nbanner{position:relative;border-radius:12px;overflow:hidden;min-height:172px;padding:22px 64px;background:var(--nb-base) var(--nb-grad);border:1px solid var(--nb-line);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.nbanner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,var(--nb-glow)),transparent 40%),radial-gradient(circle at 10% 90%,rgba(37,99,235,calc(var(--nb-glow) * 3)),transparent 45%);pointer-events:none}
.nbanner>*{position:relative}
.nbanner.empty{cursor:default}
.nbanner h3{margin:0;font-size:23px;font-weight:700;letter-spacing:-.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nbanner p{margin:6px 0 0;color:#C9D2E3;font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nb-tag{display:inline-flex;align-items:center;height:24px;padding:0 11px;border-radius:12px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700;margin-bottom:10px}
.nbanner .nb-tag{position:absolute;top:18px;left:50%;transform:translateX(-50%);margin:0}   /* 「중요 공지」는 위에, 제목·설명은 배너 가운데 */
.nbanner .nb-meta{position:absolute;left:16px;bottom:10px;font-size:11.5px;color:#9FB0CE}
.nb-arr{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:17px;line-height:1;display:grid;place-items:center}
.nb-arr:hover{background:rgba(255,255,255,.24)}.nb-arr.l{left:14px}.nb-arr.r{right:14px}
.nb-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.nb-dots button{width:6px;height:6px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.4)}.nb-dots button.on{width:18px;background:#fff}
.nlist{padding:14px 16px 8px}
.nl-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.nl-head b{font-size:15px}
.nl-btns{display:flex;gap:6px}.nl-btns .btn{height:28px;padding:0 10px;font-size:12px}
.nl-row{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 2px;border:0;border-bottom:1px solid var(--line2);background:none;font:inherit;font-size:13px;color:var(--fg);text-align:left}
.nl-row:last-child{border-bottom:0}.nl-row:hover .nl-t{text-decoration:underline}
.nl-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-d{color:var(--muted);font-size:12px}
.ntag{flex:none;display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:700;white-space:nowrap}
.ntag.nt{background:var(--info-soft);color:var(--info)}
@media (max-width:960px){.ntop{grid-template-columns:minmax(0,1fr)}.nbanner{min-height:130px;padding:40px 52px 24px}.nbanner .nb-tag{top:12px}.nbanner .nb-meta{display:none}}
.poolmain{min-width:0;width:fit-content;max-width:100%}   /* 표 너비만큼만 (오른쪽 빈칸 없게) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.poolmain{width:auto}}
/* 「전체 보기」 창 = 예전 공지창 그대로 (쓰기·고치기·고정·내리기) */
.modal.nmodal{max-width:560px;background:var(--surface)}
.nmodal .npanel{width:100%;border:0;border-radius:0;padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 48px)}
.nmodal .np-head{padding-right:30px}
.nmodal .np-list{max-height:none;flex:1;min-height:0}
.np-item.hl{box-shadow:0 0 0 2px var(--accent)}
.np-head{display:flex;align-items:center;gap:8px}.np-head b{font-size:15px}.np-head .num{font-size:12px;background:var(--sunken);border-radius:999px;padding:1px 8px;color:var(--fg2)}
.np-new textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;background:var(--surface);color:var(--fg)}
.np-act{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
/* 표 세로줄 (열 설정 → 「세로줄 (엑셀처럼)」, 내 계정·모든 메뉴): 칸마다 세로줄 + 같은 진하기 가로줄. 휴대폰 카드 모양은 제외 */
/* 라이트 모드: 색 줄(빨강·초록·파랑) 위 선은 그 줄 색을 진하게 한 선 → 연회색 선이 색 바탕에 묻혀 안 보이던 것. 반투명 선은 칸마다 고르지 않게 칠해져 끊겨 보여서 불투명 색으로. 흰 줄·다크 모드는 원래 선 */
:root{--vl:#C9D0D9;--rowline:var(--line2)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--vl:#3A4350}}
:root[data-theme="dark"]{--vl:#3A4350}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) body:not(.plain-rows) tr.r-bad{--rowline:#D1A8AA;--vl:#C8A1A4}:root:not([data-theme="dark"]) body:not(.plain-rows) tr.r-ok{--rowline:#A2C4AF;--vl:#9BBCA9}:root:not([data-theme="dark"]) body:not(.plain-rows) tr.r-app{--rowline:#B1C0DA;--vl:#A9B8D1}}
:root[data-theme="light"] body:not(.plain-rows) tr.r-bad{--rowline:#D1A8AA;--vl:#C8A1A4}:root[data-theme="light"] body:not(.plain-rows) tr.r-ok{--rowline:#A2C4AF;--vl:#9BBCA9}:root[data-theme="light"] body:not(.plain-rows) tr.r-app{--rowline:#B1C0DA;--vl:#A9B8D1}
#main .tbl-wrap table td{border-bottom-color:var(--rowline)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){#main .tbl-wrap table.cardify td{border-bottom-color:var(--line2)}}   /* 휴대폰 카드 모양은 그대로 */
body.grid-lines #main .tbl-wrap table :is(td,th){border-left:1px solid var(--vl)}
body.grid-lines #main .tbl-wrap table :is(td,th):first-child{border-left:0}
body.grid-lines #main .tbl-wrap table td{border-bottom-color:var(--vl)}
body.grid-lines #main .tbl-wrap table th{border-bottom:1px solid var(--vl)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){body.grid-lines #main .tbl-wrap table.cardify :is(td,th){border-left:0}}
.colset .pop #gridToggle{align-items:center}
.colset .pop{max-height:calc(100vh - var(--top-h,64px) - 16px);overflow-y:auto}   /* 칸이 많아도 창 안에서 스크롤 (화면 밖으로 안 나감) */
/* 오른쪽 통계 (TM 신규 DB · 내 고객): 표 옆 빈자리에. 자리가 모자라면(.sx-off) · 휴대폰에서는 숨김 */
.sx-wrap{display:flex;gap:14px;align-items:flex-start}
.sx-wrap>.poolmain,.sx-wrap>.card{flex:0 1 auto;min-width:0}
.sx{flex:1 1 300px;min-width:300px;max-width:400px;display:flex;flex-direction:column;gap:12px;position:sticky;top:calc(var(--top-h,64px) + 12px)}
.sx-off>.sx{display:none}
/* 신규 DB: 위 공지(배너 1.9 : 목록 1)와 같은 비율로 — 표는 넓게, 통계는 공지 목록 바로 아래 오른쪽 끝 */
.sx-wrap.sx-pool{display:grid;grid-template-columns:minmax(max-content,1.9fr) minmax(320px,1fr);gap:14px;align-items:start}
.sx-wrap.sx-pool table.tight:not(.cw-on){width:100%}   /* 표가 칸을 꽉 채움 (칸 너비를 직접 정했으면 그대로) */
.sx-wrap.sx-pool>.poolmain{width:auto;max-width:none}
.sx-wrap.sx-pool>.sx{max-width:none;min-width:0}
.sx-wrap.sx-pool.sx-off{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.sx{display:none}.sx-wrap,.sx-wrap.sx-pool{display:block}}   /* 휴대폰·태블릿: 통계 칸 자리 없이 목록이 화면 폭 가득 */
.sx-c{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.sx-c h4{margin:0 0 10px;font-size:14px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sx-c h4 small{font-weight:400;color:var(--muted);font-size:12px;white-space:nowrap}
.sx-big{display:flex;align-items:baseline;gap:6px}.sx-big b{font-size:28px;letter-spacing:-.02em}.sx-big span{color:var(--fg2);font-size:13px}
.sx-bar{height:8px;border-radius:4px;background:var(--sunken);overflow:hidden;margin-top:8px}.sx-bar i{display:block;height:100%;background:var(--primary);border-radius:4px}
.sx-row{display:grid;grid-template-columns:76px minmax(0,1fr) 34px;gap:8px;align-items:center;font-size:12.5px;margin:6px 0}.sx-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sx-row .sx-bar{margin:0;height:7px}.sx-row b{text-align:right;white-space:nowrap}
.sx-row.me>span{font-weight:700;color:var(--accent-ink)}
.sx-fun .sx-row{grid-template-columns:86px minmax(0,1fr) 62px}.sx-row b small{font-weight:400;color:var(--muted)}
.sx-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sx-k{background:var(--sunken);border-radius:10px;padding:10px 12px}.sx-k span{display:block;font-size:12px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sx-k b{font-size:22px}.sx-k b.warn{color:var(--warn)}.sx-k small{font-size:12px;color:var(--muted);margin-left:3px}
.sx-spark{display:flex;align-items:flex-end;gap:6px;height:78px}.sx-spark div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;font-size:10.5px;color:var(--muted);height:100%}.sx-spark em{font-style:normal;font-size:10.5px;color:var(--fg2)}.sx-spark i{display:block;width:100%;background:var(--accent-soft);border-radius:4px 4px 0 0}.sx-spark div.t i{background:var(--primary)}.sx-spark div.t{color:var(--fg);font-weight:700}
.sx-tag{font-size:11px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:6px;padding:2px 8px}
.sx-todo{display:flex;flex-direction:column;gap:2px}
.sx-todo-i{display:flex;justify-content:space-between;align-items:center;width:100%;height:30px;padding:0 8px;margin:0 -8px;width:calc(100% + 16px);border:0;border-radius:7px;background:none;font:inherit;font-size:13px;color:var(--fg);text-align:left}.sx-todo-i:hover{background:var(--sunken)}.sx-todo-i b{color:var(--warn)}
.sx-empty{font-size:13px;color:var(--muted)}
/* 공지 제목·소제목 칸 (쓰기·고치기) 과 보기 */
.np-in{display:block;width:100%;box-sizing:border-box;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;margin-bottom:6px;font:inherit;font-size:13px;background:var(--surface);color:var(--fg)}
.np-in.np-ti{height:40px;font-size:14.5px;font-weight:700}
.np-item .np-t{margin:0;font-size:15px;font-weight:700}
.np-item .np-s{font-size:13px;color:var(--fg2);margin-top:2px}
.np-item .np-t + .np-s + p,.np-item .np-t + p{margin-top:8px}
.np-pin{font-size:12px;color:var(--fg2);display:flex;gap:4px;align-items:center}
.np-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 320px);overflow:auto}
.np-item{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface)}
.np-item.pin{border-color:var(--fg);background:var(--accent-soft)}
.np-item p{margin:0 0 6px;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.5}
.np-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--fg2)}
.np-btns{display:flex;gap:10px}
.linkbtn{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--fg2);text-decoration:underline;cursor:pointer}.linkbtn.bad{color:var(--bad)}
.np-empty{color:var(--muted);font-size:13px;padding:8px 0}

/* 대화방: 대표 동그라미에 회사 마크 */
.cr-av.boss{background:#141412}
.cr-av.boss i{display:block;width:16px;height:18px;background:#CCF26A;-webkit-mask:url("data:image/png;base64,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") center/contain no-repeat;mask:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAACICAYAAAAs9i/LAAAO9klEQVR42u2da5AcVRXHfz0zG17yCPISA8ijClBBDT54hACC8kaSQBKFiApWqeUH/WCVUkj50S9YZVkliAKRhBABAygKyksBLUrlLYKAhRgMBgLBJGKyOz3th3uuc/bunZnume6Z7p6+VVO7O9s7233/939e95xz61SjDKMO1IBIfq4BpwAbq6kp7ggE2EC9tw/wReBh4DVgTjVNxQS17rw/D7gW2CAsjgTgd1ZTVoxR84C6L/AF4H6gqYDdCoQC8L7V1BWLrQ3RrcuBVxWoTWBSvjYrBuefrQ3nvXcBXwMeV6BGAuqkMNa+LMAbKh2cP7bWHKBPAq4HNilQpxRbQ8/LAvw6MKdRze3I2RoocAAOBBYBS4Gj1LVTcm0t5mdHQFQBPBq2Wp+1Je/tAHwUuAA4DZgt71s2+oysQAFZAZwTttaUaAU4XJi6GDhMXTupru+0SHoBXQE8Ara2hK0fB5YBZwLbe9jaiAFsrN9VAA9Pt75XmLoIeLdiWRzdGvR7IxXA2erWnYWtnwJOF/bG1a39jMgV1RXA2bF1GXAecJC81+qhW4MB7yOqGJw+W1uKrbsAJwOfBs4AZin3hi66NcjyRiuAB2frB8USXqDYanWrFsHBkO+1sqIH0K27iE69CPiYIkon3RqM4L5bFcDJ2XqUYuvBPXRrMOL7rxgcU7fOFp16oejYCRWMsDHkxjD1aqWD02Hr0cLWT2B2c5DfTQ4QjKgAzgFbzxe/9Xglcq0lXC/YnAWNiq3/161LMJGmAxzd6kuRKcoCHhsd7LOE9xDxuxQ4UTFTG0yNmJ+dxzEWRpaPrYeLwbQM2C+Bbs07mGOjg31snS3+6vmY/da3Obq1MEbTOBtZPrbOFRF8vrKEo5i6NSjBQi+8keWzhHcXli6VrxMJ2Fq60SgZWy/A7LdqS9iNCXdja1RA9kZlAdiyNVRs3RMTNlwMHEc7O0L7rfUEIjjIEWiD7guHRQBYZzpYtgbAfOCTwNm0s/eT+K1BgZgZxGWrArYO7JRngDVbrQh+h7B1GSaMiIetjYKCOehoCbgTMg8t4NfAlrw9vNatdgHOE916poCMEtM1/BmGRR9RDxsB5QZq+2I9cDOmtOWRvEyIBamlHmB/2snfH3bY2ilBrUxMjWKy1Y4HMRUQPxeQ7XxEo5yUuhOMABPg/wwmhPh2ea8p19TpI220JABHag7s4n5FAF0B/E79zbR5HfakaN1qx8FiLC0UgOOwtcy6NerC1hbwB2AlsEZAduMB0ShuOvBYtieLvthIO93TxoQ7FVa1Sv6yxWN2Duy8rAe+DxzrkYL1UbsLdcXYOcBZ4uLMr9g6bYQe3fon4MfATxVbUZZyNOqbrisX50o6Fy2HXV5lZGnYha0bRa+e4rCzTvzKwqGCeyLwolL825hZtDwOAOtnsjW+upj7GeAyTPmoO499S7AgY7G8WMz37QTYRsL/WSa/1i7wQAVk/iWW8BrgIWBLF9cxV8EKJNq0TRlO42Yw2deUzINm6yPAl4G9PcSo5XmlWkNpJ+BReZhtY2oNTzm6dZN4DWc5hlR9UDHcbTQyYG8IfAn4gBLLZRO7nUKJVqQ2FBOfAW6U1wseSzjMmnFpflaEKZF8AjhEVnBZ4sVRDxdH69atwAPAD4E7gf+MSrc2MmDvRwRc32ZA0YF0Y8ItmUMrcp8Xpt4CPNUjLEvRALZAzqW9I9QoGbiRYt8sxd77gOuA25QlrMOH4ageqJHB5BS1+VYUg60Tyr9/XtybNRIf9rE1HPVDZcGwHQvo00Zd2Kp161vC1huAX4plnBu2DgvgVsGZazc9Zim2vgD8BFgF/CWvbB0WwCHFHKHSrXXg38AdAuz9HaJMuX/WcWew3fTQlvDfhanXAn9L0RJ205EKC3DeAAw66Fb7/LOUJXw9cDvwpgKVAdjqS8wvPIPz0LrA93Ok/Fb73OsF0B8Bf/SwNUyBrTox/wTgGjHOAnK4kdBt2NX+Pfwx6GFvyXXampsStn4ec8aBXpiDxIStta3/fmdM8uDtogo20s41C4rK4FoCcZmUlUFM5vpcnHViMK0AHkvREq4rI62p2LpEwD1Y/X6LCpBQdICDlECOElzjJoAjQYjlmJ2cDSn5rb6/3ws4R4Cdr4CcVEGSWcO2e/Kug6MePwdKPOuqwVeAn0lA4iH8KaVhn6Di6NZ5mByzBUxPzLcF5Vbs61ep3aS0KvjsBGu2/l5E8G2YbAktRvtlq6/P826YSovPYrJDUWwN1GKLPAs/KjrAUUoP0i18WFN+q00AX4nJ8CclF0ez3f7P+Zj87bNpF5Q3mV5C4m6NRg5zSwNw0uuCBFGmELPPeoN8fcOxhMMUdeuBolcXAh9S1+qit7i9noeejjNKgLuJbjdJzbJ1g7gcV9N5B6eZkm49AfgcpoxmV/V7t+ArSDgHhdfBaejWyKNbVwm4L6doCdcd3bqP6NZlArAFS7dWKlTPrGH6wb3Y61rCbwC/wsSE70nJb3U78DTl807DNGo5VQU/dNFb0ryyblGqqCwABwmAddm6Wizhtc699qtbfaHD/UX8Xki7RNVG4Lo1QgvGncFxQdUuzibgVkxM+KEeUaJ+2QomAf8cTN3xSfjPJ5pISf0EHQzJWlkAjjz+satb1wI3AVeRXkqpj62HighegjlPQVvCwy4oD2KI8VwDHDqgurp1g+jWNZig/5sZ6FbL1tMwBeWn0O5u160re9ptlEa+Y5QFwFPKgNH5WU9gUkpXObp1kK05H1sPERG8EJN8bxedbuDdjVWlGlkAbF2KHYWtvxBQ71N6dJAok69f1h7C1gWY0OGu6l5spcFYduDJisHPAj8Q/bouQ0v4GLGCz2X6add56Moeeb7XKiQq6qKZQ/uEL8vWfjfSfZvwuwIXi7UdMvOwZF1Qnqd6YHto834DxAtyweCXM7KEj8S02l8ketYaTE1m9qrIq+jVNkBUVIADjzWdRLe6ZyicJ+7NPLGMcQymWgGkWqAWbq3oblKUAluPwBwRt1giTnbBbIsh8oOcA12aQEc/bLUnnhyt2Kr7PE/EZMooR7cFPvRTW4YNsI+txwqw5zK9K3uvPs9FdHFKy2A3q38XTFbExZhtOX0+UdAlIJF3YHupp6EnwA8DYN0I7XDgEglIHKgs4Sm5F61bo4KxtVcHAHcuSgGwZe1RwFcE2J266NZO+UxFBFc3ELUptP+kXcRW6KF1zeW02wjZRmhl6UUZp5JiEtOc+yKmV1IUelj9+W3aFXxlAtYF2NeScC1whUivUg3L3IvlQbfKqh4HtkaY7jqXYA4McSNYwShEadrgRuLuPIopvmp5LOIiH1vja879Kqalw0rMrpm3OfcoRiODBdMCvorJ/t/mCU4EBQXWd/DFbzGVFHeJAaVVVC46AGTRCG0v4GlMmWSLYm6mu9t7OuCyDpM/tgqTIOjaHaVtwmI34Y/DbMA3KcZGgA9cX93Tw5jm3Lcy/eCLXHbXyQJgy9AjnZWfJ/ZGXSSP7gBg1cpaTP7YakwjlpZHt+a6EUsWjdD2LZie1X0m62I3PCAG053Aa2ohDJKRUgojS39mnkHWXWGtCH4ak2x/MyZB0NWt/dQ9lRLgKCfMdBdZi5ltHbYC92LOk7hXfi6Ebs0bwMOMKbvJbtpvtbr1WTGWVgNPOmyNygBslgC3hgReJ2NJuzdat7aAuzHnD91Nu4dzadg6bICjIYKrQXXLY17EdAC4UVyd0rJ1WAB3Cmyk0UapG7Bat27BhAxXiJuzeRzYOmyASUkXdwLXVyj+OO3S07+OG1vzAHAaYtpt67AJs9+6XHTrpLxfqK6wRQQ4Somp4A8dPoE5G2E1M0tPR7qDU/nByXSrdm82YnZursPs5FRszRnAcbL5XUs4An6DKWS7E9PPuWLrCAHuB3yfJbxZ3Jsrmd7WoWJrTt2kbpawPh/hScx5uauB5zzuTVy25vqAxyIDXIvBYrcd4XpMofhKzHn0k326N75WDhWDhzRcSzii3TJpDTNTXpK0dfCVxByEqXN6CtNArVaBPtiwIvZq2v2mptRXnU56FaYc1P37JJmHvkzFPTEdYO8AXpf/93Xn/ioGDzhs7vMU7SqGSIIQy8US3ugA2xqQrcfQLg63PZttqm59nFmXFcB1AXedsGkFMxuc9aNbtZG1N3AGpq/k8epZJpW7NUExEhAKBfAbmL7N10hQot8EtU5dYN+PSSxf6LBVF4drl6zwTU/yNnbz6NYk2ZWBZ+HtiantuRv4r9LnW5WOd8titso1l1Y6ON3xZh+61WVrE1PhfxLmPIRTaZ93r1s5dBO/gcPgSgenGOiIEgLrdoFdgul/daS6NkkrB9fvrgBOcUQJ2RrKz8dhOqyfA+zuAbU+wIKrAB7C8J1eshemP8cFmKPha8oSTqu7euUmZTjc0KHd/jtRQD2ddlG0Dk82+mRnZSkPCWBfMOIwTIf1peLqoIBNWj+btDF3BXDKw1qu2wtL7QFSOyrd6/aRTgvMisUZAmzBOERE8CLaHdaTnl7SD/N84IYVwOkM2yLoTMx+7nYD6NY0rHe7QJoVwOmK5acw0Sb9P4I+JUGaUmUsRy1lBtWAfwDfUQweFSCW0RPjDHTaFfgW5Cswaa3bJdSB/STFRz0Mq0YFcPp68C1MqHEDJt9qlIZOJaIzcJFqwJ8xW3qbRUyGCRZImiN0bIQK4JRArmP2hRdg9ognYlq0UcpAT1UMzmaEov/uxRxM9ZwS160UgI6zqVEBnPHn2/SdxzBpNatpp9E0YzJVAx31wfCwAjjbYRPfXsVs3i/BlHbq07zjAl2NHAJsQbY7Szdhjkr/BvAK7TzprNoTVVb0kIauFtyMaTU8F/iWBEcmVFAiTJGx9YrHo/FN9cTvjsnmuIfpPZd9p5nFfdkm5JdWQOcHaER8fxd4yTGqLNhTCQG+XD63UU336IHW+nK2+NC3iB+twW7GYLcF+JsVwPmzC1xWH4DZX75W/OkoBuAW4MvGGeA8PnRLsdrmc70krxswJTFzgfmYQ7WOwJzoWXc+I0zZWKsAzsDqDh2wwXSoe1Be1kA7QgA/HngPpuPtDo6nMJZAF/14OF+h92zgUOB9mFPV7gKup6oPLryB1ilzpDbOk/M/m68PvTr15pgAAAAASUVORK5CYII=") center/contain no-repeat}
.chat-room.on .cr-av.boss{background:#141412}
.settle-done{display:inline-flex;gap:6px;align-items:center}.settle-btn{white-space:nowrap}
/* GA 배정 현황 (대표·관리자): 상태 칸 + 칸에서 바로 고르기 */
.stchips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px}
.stchip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;cursor:pointer}
.stchip b{font-size:15px;font-weight:700}
.stchip:hover{border-color:var(--fg2)}
.stchip.warn b{color:#b26b00}.stchip.bad b{color:#c0392b}.stchip.blue b{color:#2563eb}.stchip.ok b{color:#15803d}
.stchip.zero{opacity:.55}
.stchip.on{background:var(--fg);border-color:var(--fg);color:var(--surface)}
.stchip.on b{color:inherit}
table.apps-ed .cellbtn{display:inline-flex;align-items:center;box-sizing:border-box;width:112px;height:28px;padding:0 18px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 6px center;font:inherit;font-size:12.5px;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
table.apps-ed .cellbtn:hover{border-color:var(--fg2)}
table.apps-ed .cellbtn.ok{color:#15803d;font-weight:600}
table.apps-ed .cellbtn.bad{color:#c0392b;font-weight:600}
table.apps-ed .cellbtn.dis{cursor:default;opacity:.55;background-image:none;border-color:transparent}
table.apps-ed select.acell{box-sizing:border-box;width:112px;min-width:112px;height:28px;font-size:12.5px}
table.apps-ed td[data-k],table.apps-ed td{white-space:nowrap}
/* 대표·관리자 GA 배정 현황: 줄 낮게 · 칸 좁게 · 표 내용 폭만큼 (오른쪽 빈칸 없게) */
table.apps-ed{width:auto}
table.apps-ed th{padding:8px 10px;font-size:12.5px}
table.apps-ed td{padding:5px 10px;font-size:13px}
table.apps-ed .cellbtn,table.apps-ed select.acell{width:104px;min-width:104px;height:26px}
table.apps-ed .badge{height:24px;padding:0 8px;font-size:12px}
.card:has(> .tbl-wrap > table.apps-ed){width:fit-content;max-width:100%}
.fsel{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--fg2)}
.fsel select{height:36px;max-width:180px}
/* 체크하면 뜨는 선택 창: 열 설정 오른쪽 같은 줄 (표·탭이 밀리지 않게 높이 같음), 바탕과 어울리는 연한 색 */
.actionbar.selbar{flex-wrap:nowrap;white-space:nowrap;height:46px;box-sizing:border-box;padding:0 6px 0 14px;gap:8px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line);color:var(--fg);font-weight:600;animation:fbIn .12s ease-out}
.actionbar.selbar .btn{height:34px;background:var(--surface);color:var(--fg);border:1px solid var(--line);font-weight:500}
.actionbar.selbar select{height:34px;max-width:140px}
@keyframes fbIn{from{opacity:0}to{opacity:1}}
/* 콜시트: 배정 GA·배정확인·GA 결과 칸 폭 줄여 AS 증빙까지 보이게 */
table.sheet .cellbtn.a-assign,table.sheet select.acell.a-assign{width:82px;min-width:82px;max-width:82px}
table.sheet .cellbtn.a-ga,table.sheet select.acell.a-ga{width:96px;min-width:96px;max-width:96px}
table.sheet .cellbtn.a-ga_result,table.sheet select.acell.a-ga_result{width:96px;min-width:96px;max-width:96px}
/* 대화방: 접속 중이면 동그라미 옆 초록 불 */
.cr-av{position:relative}
.cr-on{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border-radius:50%;background:#22c55e;border:2px solid var(--surface);box-sizing:border-box}
.on-txt{color:#16a34a;font-weight:600}
.oldpill{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:70;background:var(--fg);color:var(--surface);font-size:12.5px;padding:7px 14px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
/* 맨 위: 왼쪽 LeadOS, 가운데 funnelo 로고 — 둘 다 누르면 홈 */
.home-btn{border:0;background:none;padding:4px 6px;margin:-4px -6px;border-radius:10px;font:inherit;color:inherit;cursor:pointer}
.home-btn:hover{background:rgba(127,127,127,.08)}
.home-btn:focus-visible{outline:2px solid var(--hi);outline-offset:2px}
.brand-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;display:flex;align-items:center}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.brand-center{display:none}}
/* 맨 아래 저작권 표시 */
.copy{margin-top:auto;padding:24px 0 4px;text-align:center;font-size:12px;color:var(--muted);letter-spacing:.01em}
.gate-copy{position:absolute;left:0;right:0;bottom:14px;margin:0;padding:0;color:rgba(255,255,255,.45);pointer-events:none}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.gate-copy{position:static;margin-top:16px}}   /* 휴대폰 가로처럼 낮은 화면에서 저작권 글이 로그인 버튼을 덮던 것 */
/* 날짜 칸: 글자로 치기 + 달력 버튼 */
.dfield{position:relative;display:inline-flex;align-items:center}
.dfield .dtext{width:118px;height:36px;padding-right:34px}
.dfield .dpick{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:6px;background:none;color:var(--fg2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.dfield .dpick:hover{background:var(--sunken);color:var(--fg)}
.dfield .dhidden{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
/* TM 내 고객: 줄·칸 간격 좁게 (한눈에 더 많이) */
table.mine-t td{padding:6px 12px;white-space:nowrap}
table.mine-t th{padding:8px 12px}
table.mine-t td.wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:160px;max-width:280px}
table.mine-t .badge{padding:2px 8px;font-size:12px}
table.mine-t td .tag{font-size:11px}
table.mine-t{width:100%}
/* 휴대폰 대화방: 화면 가득 (주소창·키보드에 맞춰 dvh), 아래 홈바 여백, 입력칸 16px(아이폰 자동 확대 막기) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  html.chat-open #chat{inset:0;right:0;bottom:0}
  /* (대화방 열 때 페이지 전체 overflow:hidden 은 뺌 — 페이지 높이가 한 화면으로 줄며 위치가 맨 위로 튀고, 아이폰 사파리 주소창이 다시 커져 깜빡였음. 끌기는 chat.js 가 막음) */
  html.chat-open .chat-panel{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;border:0}
  .chat-top{padding:8px 10px 8px 16px;padding-top:calc(8px + env(safe-area-inset-top,0px))}
  .chat-rooms{padding:6px 8px}
  .chat-room{padding:4px 8px;gap:6px}
  .chat-room .cr-av{width:28px;height:28px;font-size:13px}
  .chat-room .cr-t b{font-size:13px}
  .chat-head{padding:8px 14px}
  .chat-log{padding:10px 12px}
  .cm{max-width:88%}
  .chat-form{padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .chat-form textarea{font-size:16px}
  /* 아이폰은 16px보다 작은 입력칸을 누르면 화면을 확대해 버림 → 휴대폰에선 입력칸 글씨 16px */
  input.inp,select,textarea,.search input,input[type=text],input[type=search]{font-size:16px}
}
/* 알림: 여러 개면 창 안에서 스크롤 */
.bellpop{display:flex;flex-direction:column;max-height:min(520px,calc(100vh - 110px));max-height:min(520px,calc(100dvh - 110px))}
.bellpop .bell-list{overflow-y:auto;overscroll-behavior:contain;min-height:0}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.bellpop{position:fixed;left:8px;right:8px;top:64px;min-width:0!important}}
/* ───── 휴대폰 (760px 이하) ───── */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  /* ② 위쪽 줄이기: 설명 문구·열 설정 숨기고 간격 좁게 → 고객 목록이 바로 보이게 */
  .head h1 small{display:none}
  .head h1{font-size:22px;margin:0}
  .colset{display:none}
  .pane{gap:10px}
  .tools{gap:8px}
  .tools .search{flex:1 1 100%;max-width:none;height:42px}
  .rangebar{gap:6px;font-size:13px}
  .rangebar .seg button{height:32px;padding:0 10px}
  .rangebar .rl.sub{display:none}
  .tabs{overflow-x:auto;flex-wrap:nowrap}
  .tabs::-webkit-scrollbar{display:none}
  .actionbar.selbar{position:fixed;left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom,0px));top:auto;z-index:45;justify-content:space-between;box-shadow:0 8px 24px rgba(0,0,0,.18)}

  /* ① 표 → 카드: 고객 한 명 = 카드 한 장 */
  table.cardify,table.cardify tbody{display:block;width:100%;min-width:0}
  table.cardify thead{display:none}
  table.cardify tr.row{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px;position:relative;padding:12px 52px 12px 14px;border-bottom:1px solid var(--line)}
  table.cardify tr.row td{display:block;padding:0!important;border:0!important;white-space:normal;max-width:none;min-width:0;font-size:13px;background:transparent!important;box-shadow:none!important}
  table.cardify tr.row td:empty{display:none}
  table.cardify tr.row td[data-k]:not([data-k="name"]):not([data-k="nick"]):not([data-k="phone"]):not([data-k="receivedAt"])::before{content:attr(data-label);color:var(--muted);font-size:11.5px;margin-right:5px}
  table.cardify td[data-k="name"],table.cardify td[data-k="nick"]{order:-3;flex:1 1 auto;font-size:16px}
  table.cardify td[data-k="receivedAt"]{order:-2;color:var(--fg2);font-size:12px!important}
  table.cardify td[data-k="phone"]{order:-1;flex-basis:100%;font-size:15px!important;font-weight:600}
  table.cardify td[data-k="phone"] a.tel{color:var(--accent-ink);text-decoration:none;border-bottom:1px dashed currentColor}
  table.cardify td.chk{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:auto}
  table.cardify td.chk input{width:24px;height:24px}
  table.cardify tr.row.r-ok{background:var(--ok-row)}
  table.cardify tr.row.r-bad{background:var(--bad-row)}
  table.cardify tr.row.r-ok,table.cardify tr.row.r-bad{box-shadow:inset 4px 0 0 var(--ok)}
  table.cardify tr.row.r-bad{box-shadow:inset 4px 0 0 var(--bad)}
  table.cardify tr.row.r-app{background:var(--app-row);box-shadow:inset 4px 0 0 var(--app)}
  table.cardify tr.row.sel{outline:2px solid var(--fg);outline-offset:-2px}
  table.cardify tr td.empty{display:block;padding:24px 16px}
  .card .tbl-wrap:not(.sheet-wrap){overflow:visible}
  .dgrid .card .tbl-wrap{overflow-x:auto}   /* 대시보드 표는 카드 안에서 옆으로 밀어 보기 (카드 밖으로 튀어나와 화면 전체가 넓어지던 것) */
  .foot{flex-wrap:wrap;gap:8px;justify-content:center}
}
/* 대화방 알림 소리 버튼 */
.chat-top-r{display:flex;align-items:center;gap:8px}
.snd-btn{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;font:inherit;font-size:12.5px;padding:5px 12px;cursor:pointer;white-space:nowrap}
.snd-btn:hover{background:var(--sunken)}
.snd-btn[aria-pressed="false"]{color:var(--fg2)}
.snd-btn.sm{margin-left:auto;padding:3px 10px;font-size:12px;align-self:center}
.snd-btn:disabled{opacity:.5;cursor:default}
.cr-mute{font-size:11px;opacity:.8}
/* 고르기 칸 목록: 윈도우 다크 모드에서 목록 바탕은 밝고 글씨도 밝게 나와 안 보이던 문제 → 목록 색을 화면 모드에 맞춰 직접 지정 */
select option,select optgroup{background-color:var(--surface);color:var(--fg)}
select option:disabled{color:var(--muted)}
select{color-scheme:inherit}
/* 휴대폰 콜시트: 컴퓨터와 같은 표 그대로, 손가락으로 옆·아래로 밀어 보기 */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .card .sheet-wrap{max-height:calc(100vh - 230px);max-height:calc(100dvh - 230px);overflow:auto;-webkit-overflow-scrolling:touch}
  table.sheet input.cell,table.sheet select.cell{font-size:16px}
}
/* 표 칸 폭 조절 손잡이 (머리줄 칸 오른쪽 끝) */
table[data-tk] th{position:relative}
/* 콜시트 제목 줄은 스크롤해도 위에 고정 (위 규칙이 덮어써서 날짜 줄과 겹쳐 보이던 것 수정). 고정된 칸 안에서도 폭 손잡이는 그대로 */
table[data-tk].sheet th{position:sticky;top:0;z-index:2}
/* 손잡이는 칸 안쪽 오른쪽 끝에: 밖으로 걸치면 맨 끝 칸에서 가로 스크롤 막대가 생기고, 표가 줄어들면 옆 칸 제목에 가려 안 잡힘 */
.colgrip{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;z-index:2;touch-action:none}
.colgrip::after{content:'';position:absolute;left:6px;top:25%;height:50%;width:1px;background:var(--line)}
th:hover .colgrip::after,.colgrip:hover::after{background:var(--fg2);width:2px;left:5px}
body.cw-dragging,body.cw-dragging *{cursor:col-resize!important;user-select:none!important}
/* 칸 폭을 직접 정한 표는 화면 폭에 맞춰 늘리지 않음 → 한 칸을 줄이면 표 전체가 그만큼 줄어듦 */
table.cw-on{width:max-content!important;min-width:0!important;table-layout:auto}
/* 칸 폭을 바꿔 표가 좁아지면 바깥 흰 상자도 표에 맞춰 줄임 (오른쪽 빈 공간 없게). 화면보다 넓으면 가로 스크롤 */
.card:has(> .tbl-wrap > table.cw-on){width:fit-content;max-width:100%}
/* 표 전체 크기 − 100% + */
.zoombox{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);height:46px;overflow:hidden}
.zoombox button{border:0;background:none;color:var(--fg);font:inherit;cursor:pointer;height:100%}
.zoombox .zb{width:38px;font-size:20px;line-height:1}
.zoombox .zb:hover:not(:disabled){background:var(--sunken)}
.zoombox .zb:disabled{opacity:.35;cursor:default}
.zoombox .zv{min-width:52px;font-size:13px;font-weight:600;border-left:1px solid var(--line2);border-right:1px solid var(--line2)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.zoombox{display:none}.colgrip{display:none}}
/* 대시보드 메모장 (대표·관리자, 계정마다 따로) */
.memo-card{display:flex;flex-direction:column;gap:8px}
.memo-card .vhead span{transition:color .2s}
.dmemo{width:100%;box-sizing:border-box;min-height:180px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.55;background:var(--surface);color:var(--fg)}
.dmemo:focus{outline:2px solid var(--fg);outline-offset:-1px}
.pfup{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.pfbtn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}
.pfbtn.late{background:var(--surface);border-color:var(--line);color:var(--muted)}
/* 매뉴얼 */
.man{max-width:980px}
.man-toc{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}
.man-toc a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg);text-decoration:none;font-size:13.5px;font-weight:600}
.man-toc a:hover{border-color:var(--fg)}
.man-sec{padding:20px 22px;margin-bottom:14px;scroll-margin-top:84px}
.man-sec h2{margin:0 0 12px;font-size:18px}
.man-sec h3{margin:0 0 4px;font-size:15.5px}
.man-sec p{margin:0 0 8px;color:var(--fg2);line-height:1.6}
.man-sec ul{margin:6px 0 0;padding-left:20px;line-height:1.7}
.man-sec li{margin:2px 0}
.man-menus{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.man-m{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--bg)}
.man-m ul{font-size:14px}
.man-t{width:100%;border-collapse:collapse;margin:6px 0 8px;font-size:14px;table-layout:fixed;min-width:0}
.man-t th,.man-t td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top;word-break:keep-all;overflow-wrap:anywhere}
.man-t th{color:var(--muted);font-weight:600;font-size:13px}
.man-t td:first-child{white-space:nowrap}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.man-sec{padding:16px}.man-t td:first-child{white-space:normal}}
.man-t th,.man-t td{white-space:normal}
.man-t th:first-child{width:34%}
.man-star{color:#B07A00;font-size:14px;letter-spacing:1px;margin-left:4px}
/* 관리 표: 내용 너비만큼만, 줄 간격 촘촘하게 */
.adm-card{width:fit-content;max-width:100%}
table.adm{width:auto}
table.adm th{padding:10px 12px}
table.adm td{padding:5px 8px}
table.adm .inp.sm{height:32px;border-radius:8px;padding:0 9px;min-width:0;width:130px}
table.adm select.inp.sm{width:auto;min-width:74px;padding-right:26px;background-position:calc(100% - 14px) 13px,calc(100% - 9px) 13px}
table.adm .inp.sm[data-f="loginId"],table.adm .inp.sm[data-f="area"],table.adm .inp.sm[data-f="담당 지역"]{width:110px}
table.adm .inp.sm[data-f="메모"],table.adm .inp.sm[data-f="memo"],table.adm .inp.sm[data-f="다른 이름"],table.adm .inp.sm[data-f="GA 담당자·연락처"]{width:190px}
table.adm .inp.sm[type=number]{width:80px}
table.adm .btn.sm{height:32px}
.chipgrid{align-items:start}
table.adm input[type=password].inp.sm{width:110px!important}
table.adm .inp.sm[data-f="loginId"]{width:96px}
table.adm .inp.sm[data-f="zone"]{width:140px}
table.adm .inp.sm[data-f="area"]{width:90px}
table.adm th,table.adm td{padding-left:7px;padding-right:7px}
.adm-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.adm-top .tabs{margin:0}
.adm-btns{display:flex;gap:8px;align-items:center}
.adm-note{margin:0;color:var(--fg2);font-size:13px}
.np-ed{width:100%;box-sizing:border-box;min-height:90px;resize:vertical;border:1px solid var(--fg);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;line-height:1.5;background:var(--surface);color:var(--fg);margin-bottom:6px}
.np-item.editing .np-btns{gap:6px}
/* 위쪽 도구 줄(검색·배율·열 설정·상태 색상·날짜·탭·상태칩)을 PC에서 작게 — 표가 더 많이 보이게. 휴대폰은 손가락 크기 그대로 */
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  #main .pane{gap:10px;padding-top:16px}
  #main .pane .search{height:34px;border-radius:8px;padding:0 10px;gap:8px;font-size:13px}
  #main .pane .search svg{width:16px;height:16px}
  #main .pane .tools .btn{height:34px;padding:0 12px;font-size:13px;border-radius:8px;gap:6px}
  #main .pane .tools .btn svg{width:15px;height:15px}
  #main .pane .zoombox{height:34px;border-radius:8px}
  #main .pane .zoombox .zb{width:30px;font-size:16px}
  #main .pane .zoombox .zv{min-width:46px;font-size:12px}
  #main .pane .fsel{height:34px;padding:0 4px 0 10px;border-radius:8px;font-size:12px}
  #main .pane .fsel select{font-size:13px}
  #main .pane .seg{padding:2px;border-radius:8px}
  #main .pane .seg button{height:28px;padding:0 10px;font-size:13px;border-radius:6px}
  #main .pane .rangebar{gap:6px}
  #main .pane .rangebar .rl{font-size:12px}
  #main .pane .dfield .dtext{height:30px;width:108px;font-size:12px;border-radius:7px}
  #main .pane .dfield .dpick{width:24px;height:24px}
  #main .pane .tabs{gap:6px}
  #main .pane .tab{height:32px;padding:0 14px;font-size:13px;gap:8px;border-radius:8px}
  #main .pane .stchips{gap:6px;margin:0}
  #main .pane .stchip{height:30px;padding:0 10px;font-size:12px;border-radius:8px}
  #main .pane .stchip b{font-size:13px}
  #main .pane .actionbar.selbar{height:32px;border-radius:9px}   /* 탭과 같은 높이 → 떠도 표가 안 움직임 */
  #main .pane .actionbar.selbar .btn{height:24px;padding:0 10px;font-size:12.5px}
  #main .pane .actionbar.selbar select{height:24px}
  #main .pane .sstats{margin:0;gap:6px;font-size:12px}
  #main .pane .sst{height:26px;padding:0 10px}
  #main .pane .subtabs{margin:-2px 0 4px}
  #main .pane .subtab{height:26px;font-size:12px}
}
/* 내 계정(프로필): 왼쪽 메뉴 맨 아래. 왼쪽 메뉴는 화면에 붙어 있어 길게 스크롤해도 프로필이 보임 */
.side-me{margin-top:auto;position:relative;padding-top:10px;border-top:1px solid var(--side-line)}
.side-me .me{width:100%;color:var(--side-fg);padding:8px 10px}
.side-me .me:hover{background:var(--side-hover)}
.side-me .me small{color:var(--side-muted)}
.side-me .pop{top:auto;bottom:calc(100% + 6px);left:0;right:auto}
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  .side{align-self:start;overflow:visible;z-index:30}
}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .side-me{margin:0 0 0 auto;padding:0;border:0;flex:none}
  .side-me .me{width:auto;padding:4px}
  .side-me .me > div{display:none}
  .side-me .pop{position:fixed;top:120px;right:12px;left:auto;bottom:auto}
}
/* 대화방 버튼: 위쪽 바 오른쪽 끝(예전 프로필 자리). 대화방 창은 위쪽 바 바로 아래 오른쪽에서 열림 */
.top .chat-fab{height:38px;padding:0 14px 0 12px;font-size:14px;border-radius:10px;box-shadow:none;background:var(--primary);color:var(--on-primary);gap:6px}
.top .chat-fab svg{width:18px;height:18px}
.top .chat-fab:hover{transform:none;filter:brightness(1.06)}
.top .chat-fab.on{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}
.top .chat-badge{top:-7px;right:-7px;min-width:20px;height:20px;font-size:11px;border-color:var(--top-bg)}
/* PC: 대화방 버튼은 화면 오른쪽 아래에 떠 있고, 창은 버튼 바로 위에 열림 (버튼은 그대로 — 다시 누르면 닫힘) */
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  #chat{right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
  #chat .chat-fab{background:var(--primary);color:var(--on-primary);box-shadow:0 8px 24px rgba(37,99,235,.35)}
  #chat .chat-fab:hover{filter:brightness(1.06)}
  #chat .chat-fab.on{background:var(--surface);color:var(--fg);box-shadow:0 8px 24px rgba(0,0,0,.18),inset 0 0 0 1px var(--line)}
  #chat .chat-badge{border-color:var(--bg)}
  .chat-panel{height:min(560px,calc(100vh - 110px))}
  body:not(.solo) #main .pane{padding-bottom:100px}   /* 맨 아래까지 내리면 내용(쪽 넘기기 등)이 대화방 버튼 위로 올라오게 */
}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .top .chat-fab{width:40px;height:40px;padding:0;justify-content:center}
  .top .chat-fab span:not(.chat-badge){display:none}
}
/* 네이비 왼쪽 메뉴: 화면 맨 위부터 아래까지, 맨 위 LeadOS 로고, 「업무」「도움」으로 나눔 (위쪽 흰 바는 메뉴 오른쪽에만) */
:root{--side-bg:#0F1B33; --side-fg:#C9D2E3; --side-muted:#7F8BA5; --side-hover:#17243F; --side-line:#1F2B46; --nav-on-bg:#1E2B49; --nav-on-fg:#FFFFFF}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--side-bg:#0A1222; --side-fg:#C9D2E3; --side-muted:#76829B; --side-hover:#121D33; --side-line:#1A253B; --nav-on-bg:#1A2742; --nav-on-fg:#FFFFFF}}
:root[data-theme="dark"]{--side-bg:#0A1222; --side-fg:#C9D2E3; --side-muted:#76829B; --side-hover:#121D33; --side-line:#1A253B; --nav-on-bg:#1A2742; --nav-on-fg:#FFFFFF}
.side-brand{display:flex;align-items:baseline;gap:8px;border:0;background:none;padding:4px 12px 14px;cursor:pointer;text-align:left;color:#fff}
.side-brand b{font-size:22px;font-weight:800;letter-spacing:-.01em;color:#fff}
.sb-by{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--side-muted)}
.sb-by .brand-word{width:50px;height:12px;background:var(--side-muted);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center}
.side-group{font-size:11px;font-weight:600;color:var(--side-muted);padding:14px 14px 6px;letter-spacing:.03em}
.side-brand + .side-group{padding-top:8px}
.nav .cnt{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#2563EB;color:#fff;display:inline-grid;place-items:center;font-size:11px;opacity:1}
.nav.on .cnt{color:#fff;opacity:1}
.side-me .me b{color:#fff}
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  .side{position:fixed;left:0;top:0;bottom:0;width:200px;height:100vh;padding:18px 10px 12px}
  .top,#envStrip{margin-left:200px}
  .shell > .main{grid-column:2}
  body.solo .shell > .main{grid-column:1}
  .top .logo,.top .brand-center{display:none}
  .top{justify-content:space-between}
  body.solo .top,body.solo #envStrip{margin-left:0}
}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .side-brand,.side-group{display:none}
}
/* 위쪽 바: 왼쪽 위치 표시(업무 › 신규 DB), 오른쪽 알림 왼쪽에 검색창·배율·열 설정 */
.crumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--top-muted);min-width:0;white-space:nowrap}
.crumb b{color:var(--top-fg);font-weight:700}
.crumb .cs{opacity:.6}
.top-tools{display:flex;align-items:center;gap:8px;margin-right:6px}
.top-tools .search{height:34px;width:300px;max-width:300px;flex:none;border-radius:8px;padding:0 10px;gap:8px;font-size:13px}
.top-tools .search[hidden]{display:none}
.top-tools .search svg{width:16px;height:16px}
.top-tools #topCols{display:flex;align-items:center;gap:8px}
.top-tools .zoombox{height:34px;border-radius:8px}
.top-tools .zoombox .zb{width:30px;font-size:16px}
.top-tools .zoombox .zv{min-width:46px;font-size:12px}
.top-tools .btn{height:34px;padding:0 12px;font-size:13px;border-radius:8px;gap:6px}
.top-tools .btn svg{width:15px;height:15px}
/* PC 맨 위: 「업무 › 메뉴」 · 가운데 검색창 · 오른쪽 알림 · 화면 모드 · 설정 (양옆을 같은 너비로 둬서 검색창이 늘 가운데 · 좁으면 겹치지 않고 줄어듦) */
@media (min-width:1025px), (min-width:761px) and (hover:hover), (min-width:761px) and (pointer:fine){
  .top-tools{display:contents}
  #bellBtn{order:2} #themeBtn{order:3} #topCols{order:4} #topPop{order:9}
  .top > #crumb{flex:1 1 0;min-width:max-content}
  .top > .top-r{flex:1 1 0;justify-content:flex-end}
  .top > #topSearch{flex:0 1 420px;min-width:220px;max-width:420px;height:34px;border-radius:8px;padding:0 12px;gap:8px;font-size:13px}
  .top > #topSearch[hidden]{display:none}
  .top > #topSearch svg{width:16px;height:16px}
}
#main .pane .rangebar .btn{height:30px;padding:0 12px;font-size:13px;border-radius:8px;margin-left:6px}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .crumb{display:none}
  .top{flex-wrap:wrap}
  .top-r{display:contents}
  .top .logo{margin-right:auto}
  .top-tools{order:5;flex:0 0 100%;margin:8px 0 0}
  .top-tools .search{flex:1 1 auto;width:auto;max-width:none;height:40px}
}
/* 신규 DB: 체크하면 뜨는 선택 바는 탭 줄 오른쪽 (줄 높이가 그대로라 표가 안 밀림) */
.tabrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:34px}
/* 표 줄 앞 색 띠 없앰 — 내 고객·GA 배정 현황 등 모든 목록 표 (바탕색만). 고른 줄은 진한 테두리 그대로 */
tr.row.r-ok td:first-child,tr.row.r-bad td:first-child,tr.row.r-app td:first-child{box-shadow:none}
tr.row.sel.r-ok td:first-child,tr.row.sel.r-bad td:first-child,tr.row.sel.r-app td:first-child{box-shadow:inset 0 2px 0 var(--fg),inset 0 -2px 0 var(--fg),inset 2px 0 0 var(--fg)}
table.cardify tr.row.r-ok,table.cardify tr.row.r-bad,table.cardify tr.row.r-app{box-shadow:none}
/* TM GA 배정 현황: 진행 단계(접수·파일·배정·확인·결과) · 고객 · 다음 할 일 */
.stg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;vertical-align:middle}
.stg s{text-decoration:none;font-size:11px;padding:3px 7px;color:var(--muted);border-right:1px solid var(--line);background:var(--surface);line-height:1.3}
.stg s:last-child{border-right:0}
.stg s.on{background:var(--accent-soft);color:var(--accent-ink);font-weight:700}
.stg.as s.on{background:var(--st-as-bg);color:var(--warn)}
:root{--st-as-bg:#FDE9DD}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--st-as-bg:#3B2617}}
:root[data-theme="dark"]{--st-as-bg:#3B2617}
.stg.stop s.on{background:var(--bad-soft);color:var(--bad)}
.stg s.cur{box-shadow:inset 0 -2px 0 currentColor}
.stg-lab{margin-left:8px;font-size:12px;color:var(--fg2);vertical-align:middle}
.who{display:inline-flex;align-items:center;gap:10px}
.who > i{width:28px;height:28px;flex:none;border-radius:50%;background:var(--sunken);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12px;color:var(--fg2)}
.who b{font-size:13px}
.who em{font-style:normal;font-size:11.5px;color:var(--muted);margin-left:6px}
.who small{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}
.nx{font-size:12.5px;font-weight:700}
.nx-blue{color:var(--accent-ink)}.nx-warn{color:var(--warn)}.nx-bad{color:var(--bad)}.nx-none{color:var(--muted);font-weight:400}
/* TM GA 배정 현황 맨 위 카드 (기본 = 큰 카드 + 막대) */
.tmcards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tmcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left;color:var(--fg);font:inherit;min-width:0}
.tmcard:hover{border-color:var(--fg2)}
.tmcard .tc-l{font-size:12.5px;color:var(--fg2);white-space:nowrap}
.tmcard b{font-size:24px;font-weight:800;line-height:1.1;color:var(--fg)}
.tmcard .tc-bar{width:100%;height:5px;border-radius:3px;background:var(--sunken);overflow:hidden}
.tmcard .tc-bar i{display:block;height:100%;background:var(--accent)}
.tmcard.ok b{color:var(--ok)}.tmcard.ok .tc-bar i{background:var(--ok)}
.tmcard.warn b{color:var(--warn)}.tmcard.warn .tc-bar i{background:var(--warn)}
.tmcard.bad b{color:var(--bad)}.tmcard.bad .tc-bar i{background:var(--bad)}
.tmcard.zero b{color:var(--muted)}
.tmcard.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.tmcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 휴대폰: 「새 창으로 보기」는 의미 없어서 숨김 · 단계 이름은 한 줄로 */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){#popSheet{display:none}}
.stg-lab{white-space:nowrap}
/* 카드 숫자 옆 비율 (전체 신청서 대비) */
.tmcard .tc-n{display:flex;align-items:baseline;gap:8px}
.tmcard .tc-pct{font-size:13px;font-weight:600;color:var(--fg2)}
/* 대표 대시보드 자유 배치판: 12칸 격자 · 세로 한 칸 20px · 카드는 정해진 칸을 채우고 넘치면 카드 안에서 스크롤 */
.dgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:20px;gap:12px;position:relative}
.dgrid>.dcard{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative;padding:12px 14px;gap:8px}
.dgrid .dbody{flex:1;min-height:0;overflow:auto;container-type:inline-size}
.dgrid .board-wrap{max-height:none;height:100%}
.dgrid .d-note .dbody{display:flex}.dgrid .d-note .dmemo{flex:1;height:auto;min-height:0;resize:none}
.dgrid .dtable table.mini th{padding:6px 10px}.dgrid .dtable table.mini td{padding:5px 10px;white-space:nowrap}
.dgrid .d-trend .dbody{overflow:hidden}.dgrid .d-trend .trend{display:flex;flex-direction:column;height:100%}.dgrid .d-trend .trend svg{flex:1;min-height:0;width:100%;height:100%;max-height:none}   /* 그래프는 카드 크기에 맞춰 늘고 줄어듦 */
/* 옮기기 손잡이(⠿) · 크기 손잡이(오른쪽 아래 모서리) · 놓일 자리(점선) */
.dgrip{display:inline-block;margin-right:6px;padding:0 2px;color:var(--muted);cursor:grab;font-size:14px;letter-spacing:-1px;user-select:none;vertical-align:1px;touch-action:none}
.dgrip:hover{color:var(--fg)}
.dresize{position:absolute;right:3px;bottom:3px;width:14px;height:14px;cursor:nwse-resize;touch-action:none;opacity:.5;background:linear-gradient(135deg,transparent 0 55%,var(--fg2) 55% 62%,transparent 62% 72%,var(--fg2) 72% 79%,transparent 79%)}
.dcard:hover .dresize{opacity:1}
.dghost{border:2px dashed var(--accent);border-radius:12px;background:var(--accent-soft);opacity:.6;pointer-events:none}
.dmoving{z-index:6;box-shadow:0 18px 44px rgba(15,23,42,.28)}
body.dgrabbing,body.dgrabbing *{cursor:grabbing!important;user-select:none}
.dreset{margin-left:auto;font-size:12.5px}
/* 1300px 이하(노트북·태블릿): 한 줄씩 차례대로 (옮기기·크기 조절 없음) */
@media (max-width:1300px){.dgrid{display:flex;flex-direction:column}.dgrid>.dcard{overflow:visible}.dgrid .dbody{overflow:visible}.dresize,.dgrip{display:none}.dgrid .board-wrap{max-height:70vh}.dgrid .d-note .dmemo{min-height:150px}}
/* 대표·관리자 「고객」 목록: 담당자 고르기 칸도 줄 높이에 맞게 작게 */
table.mine-t .staffsel{height:26px;font-size:12.5px}

/* ───── 휴대폰 A안: 아래 탭바(4개 + 더보기) · 한 줄 위쪽 바 · 🔍 눌러 검색 · 「직접」 눌러 날짜 칸 · 공지 한 줄 ───── */
.nshort,.mnav-more,.nstrip,.msearch-btn{display:none}
.rdirect{border:0;background:none;padding:0;font:inherit;cursor:default}
.rangebar .rcustom{display:contents}   /* PC: 날짜 칸 묶음이 없는 것처럼 (간격 예전 그대로) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  /* 위쪽 바: LeadOS · 🔍 · 🔔 · ☀ · 💬 한 줄. 검색칸은 🔍 누를 때만 */
  .top{padding:8px 12px;gap:4px}
  .msearch-btn{display:grid}
  .msearch-btn[hidden]{display:none}
  .top-tools{display:none}
  body.msearch .top-tools{display:flex}
  body.msearch .msearch-btn{color:var(--accent-ink);background:var(--accent-soft)}
  /* 아래 탭바 */
  .side{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;flex-direction:row;align-items:stretch;overflow:visible;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));gap:2px;border:0;border-top:1px solid var(--side-line)}
  .side .nav,.side .mnav-more{flex:1 1 0;min-width:0;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:500;border-radius:10px;position:relative;white-space:nowrap;line-height:1.2}
  .side .nav svg,.side .mnav-more svg{width:22px;height:22px;flex:none}
  .side .nav.mob-more,.side .side-me{display:none}
  .side .nav:has(.nshort) > span:first-of-type{display:none}
  .side .nav .nshort{display:inline}
  .side .mnav-more{border:0;background:none;color:var(--side-fg);cursor:pointer}
  .side .mnav-more.on{color:var(--nav-on-fg);background:var(--nav-on-bg)}
  .side .nav .cnt{position:absolute;top:1px;left:calc(50% + 4px);height:16px;min-width:16px;padding:0 4px;font-size:10px}
  .main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .morepop{position:fixed;left:8px;right:8px;top:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px));min-width:0}
  .morepop .mi{display:inline-flex;align-items:center;gap:10px}
  .morepop .mi svg{width:20px;height:20px}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  /* 날짜 줄: 「직접」을 눌러야 날짜 칸이 펼쳐짐 */
  .rangebar .rcustom{display:none}
  .rangebar.open .rcustom{display:flex;align-items:center;gap:6px;flex:0 0 100%}
  .rangebar .rdirect{cursor:pointer;height:32px;padding:0 10px;border-radius:8px;background:var(--sunken)}
  .rangebar.open .rdirect{background:var(--primary);color:var(--on-primary)}
  /* 신규 DB 공지: 한 줄 띠 */
  .ntop{display:none}
  .nstrip{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--nb-line,var(--line));border-radius:10px;background:var(--nb-base,var(--primary));color:#fff;font:inherit;font-size:14px;text-align:left;cursor:pointer}
  .nstrip b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
  .nstrip .ns-tag{flex:none;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.18)}
  .nstrip .ns-go{flex:none;font-size:18px;opacity:.8}
  .nstrip.empty{justify-content:center;background:var(--surface);color:var(--accent-ink);border-style:dashed;font-weight:600}
  /* GA 배정 현황: TM 단계 카드 · 대표 상태 칸은 한 줄로, 옆으로 밀어 보기 */
  .tmcards{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none;padding-bottom:2px}
  .tmcards::-webkit-scrollbar,.stchips::-webkit-scrollbar{display:none}
  .tmcards .tmcard{flex:0 0 auto;min-width:96px;padding:8px 12px;gap:2px;border-radius:10px}
  .tmcards .tmcard b{font-size:19px}
  .tmcards .tc-bar{display:none}
  .stchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0}
  .stchips .stchip{flex:none}
  /* 관리 표: 옆으로 밀어 보기 */
  .card.adm-card .tbl-wrap:not(.sheet-wrap){overflow-x:auto}
}
/* 선택 막대: 휴대폰은 아래 탭바 바로 위에 붙여 고정 (폭 꽉 차게) · 체크할 때마다 다시 뜨는 움직임 없음 */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .actionbar.selbar.stay{animation:none}
  #main .actionbar.selbar{left:0;right:0;bottom:var(--mnav-h,60px);height:54px;padding:0 10px 0 16px;border-radius:14px 14px 0 0;border:0;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.14);z-index:29}
  #main .actionbar.selbar .btn{height:36px}
  #main .actionbar.selbar #claimBtn{flex:1;max-width:220px;background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}
  body:has(#main .selbar) .main{padding-bottom:calc(var(--mnav-h,60px) + 60px)}
  .morepop{bottom:calc(var(--mnav-h,60px) + 8px)}
  .toast{bottom:calc(var(--mnav-h,60px) + 16px)}
  body:has(#main .selbar) .toast{bottom:calc(var(--mnav-h,60px) + 70px)}
}

/* 휴대폰에서 빨리 끌어올릴 때 화면이 튕기며 가장자리에 흰 바탕이 비치던 것: 바탕·브라우저에 화면 모드를 알리고, 튕김을 막고, 위쪽 바·아래 탭바 색을 바깥까지 늘림 */
html{background:var(--bg)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  :root{color-scheme:light}
  html,body{overscroll-behavior-y:none}
  /* 옆으로 미는 곳(콜시트 표·표·탭·카드 줄)도 끝에서 튕기지 않게 (튕기면 뒤의 빈 바탕이 비침) */
  .tbl-wrap,.sheet-wrap,.tabs,.subtabs,.stchips,.tmcards,.chat-rooms,.dgrid .dbody{overscroll-behavior:none}
  .card .sheet-wrap{background:var(--surface)}
  .top::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:100vh;background:var(--top-bg);pointer-events:none}
  .side::after{content:'';position:absolute;left:0;right:0;top:100%;height:100vh;background:var(--side-bg);pointer-events:none}
}
@media (max-width:760px) and (prefers-color-scheme: dark), (max-width:1024px) and (hover:none) and (pointer:coarse) and (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark}}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){:root[data-theme="dark"]{color-scheme:dark}}

/* 여러 기종 점검 반영 (휴대폰·마우스 없는 태블릿만) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  /* 아이폰은 16px보다 작은 입력칸을 누르면 화면을 확대해 버림 → 입력칸은 모두 16px */
  #main input:not([type=checkbox]):not([type=radio]):not([type=file]),#main select,#main textarea,.modal input:not([type=checkbox]):not([type=file]),.modal select,.modal textarea,.top input{font-size:16px!important}
  /* 작은 글자 버튼: 보이는 모양은 그대로, 손가락으로 누르는 자리만 넓게 */
  .dlink,.linkbtn,.chip button,.fname.flink{position:relative}
  .dlink::after,.linkbtn::after,.chip button::after,.fname.flink::after{content:'';position:absolute;inset:-6px -6px}   /* 옆 줄 버튼과 안 겹치게 6px만 (전화번호는 바로 위 이름을 가리지 않게 넓히지 않음) */
  table.sheet .flink{padding-top:7px;padding-bottom:7px}
  table.sheet td.chk input,table.sheet th.chk input{width:24px;height:24px}   /* 대표 콜시트 고르기 칸: 손가락으로 누르기 좋게 */
  /* 선택 막대: 좁은 화면(아이폰 SE 등)에서 버튼이 잘리지 않게 두 줄로 */
  #main .actionbar.selbar{height:auto;min-height:54px;flex-wrap:wrap;row-gap:6px;padding:8px 10px 8px 16px}
}
/* 휴대폰 신규 DB: 연락처(가운데 가린 번호)는 빼고 목록을 더 많이 */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  table[data-tk="pool:pool"].cardify td[data-k="phone"] .num{display:none}
  /* 카드 높이를 모두 같게: 첫 줄 = 닉네임(재신청) ··· 접수일, 둘째 줄 = 접수번호 · 지역 · 사은품 (길면 … 로 줄여 한 줄 유지). 당근 메모·당근계정은 휴대폰에선 안 보임 */
  table[data-tk="pool:pool"].cardify tr.row::before{content:'';order:-1;flex-basis:100%;height:0}
  table[data-tk="pool:pool"].cardify td[data-k="phone"]{order:-3;flex:0 0 auto;font-size:12px!important}
  table[data-tk="pool:pool"].cardify td[data-k="karrotNote"],table[data-tk="pool:pool"].cardify td[data-k="account"]{display:none}
  table[data-tk="pool:pool"].cardify td[data-k="id"]{flex:none;white-space:nowrap;color:var(--muted)}table[data-tk="pool:pool"].cardify td[data-k="id"]::before,table[data-tk="pool:pool"].cardify td[data-k="region"]::before,table[data-tk="pool:pool"].cardify td[data-k="gift"]::before{display:none}   /* 「접수번호·지역·사은품」 글자 없이 내용만 (좁은 화면에서도 한 줄) */
  table[data-tk="pool:pool"].cardify td[data-k="region"]{flex:3 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  table[data-tk="pool:pool"].cardify td[data-k="gift"]{flex:2 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* 휴대폰: 고객 창 · 신청서 창(가운데 창, TM GA 현황 아래 자세히)을 한 화면에 더 많이 — 이름표는 칸 왼쪽, 간격·제목·칸 높이 줄임 (입력 글씨는 16px 그대로: 아이폰 확대 방지) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .modal .detail,#main > .detail{padding:14px 14px 16px;gap:12px}
  .modal .detail .d-top,#main > .detail .d-top{padding-bottom:10px;gap:8px}
  .modal .detail .d-name,#main > .detail .d-name{gap:8px}
  .modal .detail .d-name h2,#main > .detail .d-name h2{font-size:20px}
  .modal .detail .d-phone,#main > .detail .d-phone{font-size:17px;margin-top:2px}
  .modal .detail .d-meta,#main > .detail .d-meta{padding:6px 10px;font-size:12px;gap:2px 12px}
  .modal .detail .d-cols,#main > .detail .d-cols,.modal .detail .d-col,#main > .detail .d-col{gap:12px}
  .modal .detail .sec,#main > .detail .sec{gap:6px}
  .modal .detail .sec h3,#main > .detail .sec h3{font-size:14px;gap:8px}
  .modal .detail .sec h3::before,#main > .detail .sec h3::before{height:14px}
  .modal .detail .sec h3 small,#main > .detail .sec h3 small{font-size:11px}
  .modal .detail .f,#main > .detail .f{grid-template-columns:80px minmax(0,1fr);gap:8px;font-size:13px}.modal .detail .f > label,#main > .detail .f > label{font-size:12px;line-height:1.3;word-break:keep-all}
  .modal .detail .f .two,#main > .detail .f .two{gap:6px}
  .modal .detail .inp,#main > .detail .inp{height:38px;padding:0 10px;border-radius:8px}
  .modal .detail select.inp,#main > .detail select.inp{background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;padding-right:28px}
  .modal .detail .note,#main > .detail .note{padding:6px 10px;font-size:12px}
  .modal .detail .memo textarea,#main > .detail .memo textarea{min-height:84px;padding:8px 10px 22px;line-height:1.5}
  .modal .detail .save,#main > .detail .save{height:46px;font-size:15px}
  .modal .detail .btn.sm,#main > .detail .btn.sm{height:32px;font-size:12px}
  .modal .detail .retalert,#main > .detail .retalert{padding:8px 12px}
  .modal .detail .retalert b,#main > .detail .retalert b{font-size:14px}
  .modal .modal-x{top:8px;right:8px}
}/* 휴대폰 고객 창·신청서 창: 접수번호·접수일·담당 상자를 이름·번호 오른쪽에 (위쪽 높이 줄임) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .modal .detail .d-top,#main > .detail .d-top{flex-direction:row;align-items:flex-start;gap:8px}
  .modal .detail .d-top > div:first-child,#main > .detail .d-top > div:first-child{flex:1 1 auto;min-width:0}
  .modal .detail .d-meta,#main > .detail .d-meta{flex:none;margin-left:auto;padding:5px 8px;font-size:11px;gap:1px 8px;border-radius:8px}
  .modal .detail .d-meta .staffsel,#main > .detail .d-meta .staffsel{height:26px;padding:0 16px 0 6px;max-width:92px}
  .modal .detail .d-phone,#main > .detail .d-phone{white-space:nowrap;font-size:16px}
  .modal .detail .d-name .badge,#main > .detail .d-name .badge{font-size:11px;height:22px;padding:0 7px}
}/* 휴대폰 내 고객·고객 카드: 이름표(지역·현장결과·GA 진행·사은품 회수)는 그대로 작게, 표시도 조금 작게 → 첫 줄 이름·접수일 / 둘째 줄 지역·현장결과 / 셋째 줄 GA 진행·사은품 회수 */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  table.mine-t.cardify tr.row{gap:3px 7px;padding:10px 10px 10px 12px}
  table.mine-t.cardify td.chk{top:7px;right:8px;transform:none}   /* 고르기 칸은 오른쪽 위(접수일 옆) → 아래 줄들이 폭을 다 씀 */
  table.mine-t.cardify td[data-k="receivedAt"]{margin-right:34px}
  table.mine-t.cardify tr.row::before{content:'';order:-1;flex-basis:100%;height:0}   /* 첫 줄은 이름·접수일만 */
  table.mine-t.cardify td[data-k]::before{font-size:10.5px;margin-right:2px;letter-spacing:-.02em}
  table.mine-t.cardify td[data-k="result"],table.mine-t.cardify td[data-k="gaflow"],table.mine-t.cardify td[data-k="return"]{align-self:center}
  table.mine-t.cardify .badge{height:20px;font-size:11px;padding:0 5px}
  table.mine-t.cardify .gaflow{gap:3px}
}
/* 휴대폰 대화방: 열려 있는 동안 뒤 페이지 고정 · 키보드가 올라와도 보이는 화면에 딱 맞춤 · 메시지 목록만 스크롤 (끝에서 페이지까지 같이 밀리지 않게) */
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  html.chat-lock,html.chat-lock body{overscroll-behavior:none}
  html.chat-lock .chat-panel{top:var(--vvt,0px);bottom:auto;height:var(--vvh,100dvh)}
  .chat-log,.chat-rooms{overscroll-behavior:contain}
  .chat-main,.chat-log{min-height:0}
  /* 대화방이 열려 있으면 대화방만: 뒤 화면(위쪽 바·목록·아래 탭바)은 감추고, 비치는 바탕도 대화방 색 → 키보드가 오르내려도 뒤가 흔들려 보이지 않음 */
  html.chat-lock .top,html.chat-lock .shell,html.chat-lock #envStrip{visibility:hidden}
  html.chat-lock,html.chat-lock body,html.chat-lock #chat{background:var(--surface)}
  html.chat-lock .toast{z-index:80}
  html.chat-lock .chat-panel{box-shadow:none}   /* 알림 글은 대화방 위에 (보내기 실패 등이 가려지지 않게) */   /* 메시지 칸은 화면 안에서만 (메시지가 많으면 그 안에서 스크롤, 입력칸은 늘 아래에 보임) */
  /* 가운데 창(고객·신청서 창 등)이 열려 있으면 창만: 뒤 화면은 감추고 바탕은 창 색 → 반투명한 아이폰 키보드 너머로 뒤 목록이 비쳐 에러처럼 보이던 것 */
  html:has(.modal-bg) .top,html:has(.modal-bg) .shell,html:has(.modal-bg) #envStrip{visibility:hidden}
  html:has(.modal-bg) .modal-bg{visibility:visible}
  html:has(.modal-bg),html:has(.modal-bg) body{background:var(--surface)}
}
/* 열 설정 → 글꼴 고르기 */
.fontpick{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:2px 10px 8px}
.fontpick button{height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg2);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}
.fontpick button:first-child{grid-column:1 / -1}
.fontpick button[aria-checked="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}
/* 신규 DB 「지역 ▾」: 지역 칩 판은 표 위에 떠서 (표는 그 자리 그대로) */
.regwrap{position:relative}
.regpop{left:0;right:auto;top:calc(100% + 6px);min-width:0;width:min(720px,calc(100vw - 32px));box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;padding:12px;z-index:45}
.regpop .regnote{flex-basis:100%;font-size:12px;color:var(--muted);margin:0 2px 2px}
.tab.regtab.open:not(.on){box-shadow:inset 0 0 0 2px var(--primary)}
/* 신규 DB 표 오른쪽 위 「열 설정」 (탭 줄 높이에 떠 있음 → 표는 안 움직임). 휴대폰은 카드라 없음 */
.sx-pool > .poolmain{position:relative}
.tblcols{display:flex;align-items:center;gap:8px;position:relative}.tblcols.poolcols{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20}.poolcols .pop{right:0;left:auto}.minecols .pop,.allcols .pop,.sheetcols .pop,.appscols .pop{left:auto;right:0;top:calc(100% + 8px)}.tblcols .zoombox,.tblcols [data-tblcols]{height:34px}.tblcols .zoombox{border-radius:8px;font-size:13px}
.tblcols [data-tblcols]{display:inline-flex;align-items:center;gap:6px}
.tblcols .pop{min-width:220px;max-height:calc(100vh - var(--top-h,64px) - 160px);overflow-y:auto}
.tblcols label{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}
.tblcols label:hover{background:var(--sunken)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.tblcols{display:none}}
.tblcols.tmapps{margin-left:auto}   /* TM GA 배정 현황: 날짜 줄 오른쪽 끝 (표 오른쪽 모서리) */

/* ───── 캘린더 (cal.js) — 배정 회색 · 신청서 파랑 · GA 배정 보라 · 상담완료 초록 ───── */
:root{--c-a:#475569;--c-ap:#2563EB;--c-ga:#7C3AED;--c-dn:#15803D;--c-a-s:#EEF1F5;--c-ap-s:#EAF1FF;--c-ga-s:#F2ECFE;--c-dn-s:#E4F5EA}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--c-a:#AEB8C6;--c-ap:#7EA6FF;--c-ga:#B79BFF;--c-dn:#6CD69A;--c-a-s:#232A33;--c-ap-s:#1D2A45;--c-ga-s:#2A2142;--c-dn-s:#163323}}
:root[data-theme="dark"]{--c-a:#AEB8C6;--c-ap:#7EA6FF;--c-ga:#B79BFF;--c-dn:#6CD69A;--c-a-s:#232A33;--c-ap-s:#1D2A45;--c-ga-s:#2A2142;--c-dn-s:#163323}
.cal .k-a{--cc:var(--c-a);--cs:var(--c-a-s)} .cal .k-ap{--cc:var(--c-ap);--cs:var(--c-ap-s)} .cal .k-ga{--cc:var(--c-ga);--cs:var(--c-ga-s)} .cal .k-dn{--cc:var(--c-dn);--cs:var(--c-dn-s)}
.cal{gap:14px}
.cal-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cal-head h2{font-size:20px;margin:0 6px;font-weight:700;letter-spacing:-.3px;color:var(--fg)}
.cal-nav{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--fg2);font-size:16px;cursor:pointer;font-family:inherit}
.cal-nav:hover{background:var(--sunken)}
.cal-tms{display:flex;gap:6px;flex-wrap:wrap}
.cal-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cal-sum > div{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--cc);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.cal-sum span{font-size:12.5px;color:var(--muted)} .cal-sum b{font-size:24px;font-weight:700;color:var(--cc)} .cal-sum small{font-size:13px;color:var(--muted);font-weight:500;margin-left:3px}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cal-grid.wk{grid-template-columns:repeat(7,minmax(0,1fr)) 150px}
.cal-dw{padding:9px 10px;font-size:12.5px;font-weight:600;color:var(--fg2);background:var(--sunken);border-bottom:1px solid var(--line);text-align:center}
.cal-dw.sun{color:var(--bad)} .cal-dw.sat{color:var(--accent)}
.cal-day{min-height:112px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:7px 9px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-d{font-size:13px;font-weight:600;color:var(--fg2);display:flex;align-items:center;gap:6px;min-width:0}
.cal-day.sun .cal-d{color:var(--bad)} .cal-day.sat .cal-d{color:var(--accent)}
.cal-day.out{background:var(--strip)} .cal-day.out .cal-d{opacity:.4}
.cal-day.today{box-shadow:inset 0 0 0 2px var(--primary)} .cal-day.today .cal-d b{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:1px 7px}
.cal .hol{font-size:11px;color:var(--bad);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-n{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12.5px;line-height:1.55}
.cal-n .k{color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap} .cal-n .k i{width:7px;height:7px;border-radius:50%;background:var(--cc);flex:none}
.cal-n .v{font-weight:700;color:var(--cc)} .cal-n.z .v{color:var(--muted);opacity:.45;font-weight:500}
.cal-wk{background:var(--sunken);border-bottom:1px solid var(--line2);padding:7px 9px;display:flex;flex-direction:column;gap:3px}
.cal-wk .cal-d{font-size:12px;color:var(--muted)}
.cal-grid > :nth-last-child(-n+8){border-bottom:0}
.cal-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--fg2)} .cal-legend span{display:flex;align-items:center;gap:5px} .cal-legend i{width:9px;height:9px;border-radius:3px;background:var(--cc)}
.cal-mn{display:flex;flex-direction:column;align-items:center;font-size:10.5px;font-weight:700;line-height:1.3}
.cal-mn b{color:var(--cc)} .cal-mn b.z{color:var(--muted);opacity:.45;font-weight:500}
.cal-daybox{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.cal-daybox h3{margin:0;font-size:15px;color:var(--fg)}
.cal-big{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cal-big > *{background:var(--cs);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column} .cal-big span{font-size:12px;color:var(--cc);font-weight:600} .cal-big b{font-size:22px;font-weight:700;color:var(--cc)}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  .cal-sum{grid-template-columns:1fr 1fr;gap:8px} .cal-sum > div{padding:9px 11px} .cal-sum b{font-size:20px}
  .cal-grid{border-radius:10px} .cal-grid > :nth-last-child(-n+8){border-bottom:1px solid var(--line2)} .cal-grid > :nth-last-child(-n+7){border-bottom:0}
  .cal-dw{padding:7px 2px}
  .cal-day{min-height:70px;padding:4px 2px;gap:1px;align-items:center;cursor:pointer} .cal-d{font-size:12px}
  .cal-day.sel{background:var(--accent-soft)}
}
/* 캘린더 날짜 창(B안): 그날 합계 4칸 + TM별 숫자표, 숫자 누르면 고객 목록 */
.modal.cal-modal{max-width:600px;background:var(--surface);flex-direction:column}
.cal-mi{padding:22px 22px 18px;overflow:auto;max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:12px;color:var(--fg)}
.cal-mi:focus{outline:none}
.cal-mi h2{margin:0 44px 0 0;font-size:19px;display:flex;align-items:center;gap:8px}
.cal-hint{margin:0;font-size:12px;color:var(--muted)}
.cal-big > button{border:0;font:inherit;text-align:left;cursor:pointer}
@media (hover:hover){.cal-big > button:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--cc)} .cal-num:hover:not(:disabled){background:var(--cs);text-decoration:underline}}
.cal-big > button:disabled{cursor:default}
.cal-mi .cal-big{grid-template-columns:repeat(4,1fr)}
.cal-tt{width:100%;border-collapse:collapse;font-size:13.5px}
.cal-tt th,.cal-tt td{padding:6px 8px;border-bottom:1px solid var(--line2);text-align:right;white-space:nowrap}
.cal-tt th:first-child,.cal-tt td:first-child{text-align:left}
.cal-tt th{font-size:12px;color:var(--muted);font-weight:600;background:var(--sunken)} .cal-tt td:first-child{font-weight:600}
.cal-tt tfoot td{font-weight:700;border-bottom:0;background:var(--sunken)}
.cal-num{border:0;background:none;font:inherit;font-weight:700;color:var(--cc);padding:2px 8px;border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}
.cal-num:disabled{color:var(--muted);opacity:.45;font-weight:500;cursor:default}
.cal-grid .cal-day:not(.out){cursor:pointer} @media (hover:hover){.cal-grid .cal-day:not(.out):hover{background:var(--accent-soft)}}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.cal-tt{font-size:13px} .cal-tt th,.cal-tt td{padding:6px 5px} .cal-num{padding:2px 5px}}
/* 대시보드 맨 위 숫자 띠 (A안): 큰 카드 하나를 칸 5개로 · 매출 칸만 연한 파랑 · 이름 → 숫자 → 설명 한 줄 (AS는 설명이 길어 칸을 넓게) */
.kstrip{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1.6fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.kstrip.solo{grid-template-columns:1fr 1fr 1fr 1.6fr}
.kstrip > .hero,.kstrip > .kpi{display:flex;flex-direction:column;gap:3px;padding:14px 18px;min-width:0;border-left:1px solid var(--line2);background:none;color:var(--fg);border-radius:0}
.kstrip > :first-child{border-left:0}
.kstrip > .hero{background:var(--accent-soft)}
.kstrip .k-label{font-size:12.5px;color:var(--fg2);font-weight:500;opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kstrip .k-val{font-size:26px;line-height:1.15}
.kstrip .k-val small{font-size:13px}
.kstrip > .hero .k-val{color:var(--accent-ink)}
.kstrip .k-sub{font-size:11.5px;color:var(--muted);opacity:1;line-height:1.45}
.kstrip .k-val .dlink{border-bottom-width:2px}
@media (max-width:1100px){.kstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.kstrip.solo{grid-template-columns:repeat(2,minmax(0,1fr))}.kstrip > .hero{grid-column:1 / -1}.kstrip > .hero,.kstrip > .kpi{border-left:0;border-top:1px solid var(--line2)}.kstrip > :first-child{border-top:0}.kstrip > .kpi:nth-child(odd){border-left:1px solid var(--line2)}.kstrip.solo > .kpi:nth-child(odd){border-left:0}.kstrip.solo > .kpi:nth-child(even){border-left:1px solid var(--line2)}}
@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){.kstrip > .hero,.kstrip > .kpi{padding:12px 14px}.kstrip .k-val{font-size:22px}}
/* 다크 모드 알림 숫자(종·대화방·방 목록): 흰 글씨가 잘 보이게 배지만 진한 빨강 */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--badge:#D93636}}
:root[data-theme="dark"]{--badge:#D93636}
/* 색 줄(빨강·초록·파랑) 위 보조 글씨(닉네임·날짜·지역)가 흐렸던 것 → 한 단계 진하게 */
tr.r-bad .who em,tr.r-bad .who small,tr.r-ok .who em,tr.r-ok .who small,tr.r-app .who em,tr.r-app .who small{color:var(--fg2)}
