:root{--bg:#07101d;--panel:#111c2e;--text:#edf5ff;--muted:#8fa0b6}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}body{padding-bottom:86px}.app-shell{max-width:520px;margin:0 auto}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 16px 12px;background:#07101df2;border-bottom:1px solid #1c2b40}.eyebrow{font-size:10px;color:#60a5fa;font-weight:900}.topbar h1{font-size:22px;margin:3px 0 0}.push-state{font-size:11px;color:#86efac;font-weight:900}.push-state .dot{display:inline-block;width:8px;height:8px;background:#22c55e;border-radius:50%;margin-right:5px}.search-panel{padding:14px}.search-row{display:grid;grid-template-columns:108px 1fr;gap:8px}.search-row select,.search-row input{height:48px;border-radius:12px;border:1px solid #29405e;background:#0b1424;color:white;padding:0 13px;font-weight:800}.scope-row{display:flex;gap:8px;margin-top:10px;overflow:auto}.chip{border:1px solid #334a68;background:#111b2b;color:#dbeafe;border-radius:999px;padding:8px 12px;white-space:nowrap;font-weight:800}.chip.active{background:#1d4ed8}.chip.partner{color:#fde047}.chip.consultant{color:#6ee7b7}.client-list{padding:8px 14px 20px}.client-card{background:linear-gradient(180deg,#182740,#111c2e);border:1px solid #2a405e;border-radius:18px;padding:14px}.client-head{display:flex;justify-content:space-between;gap:10px}.company-wrap{display:flex;gap:10px}.company-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#315f9e}.client-head h2{font-size:17px;margin:0}.subline{font-size:11px;color:#9fb0c5;margin-top:5px}.head-right{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-link{font-size:11px;color:#60a5fa;font-weight:900}.d-day{font-size:10px;background:#26354d;padding:4px 6px;border-radius:999px}.push-badge{border:0;background:#ef4444;color:white;border-radius:999px;padding:5px 8px;font-weight:900}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.quick{border:1px solid #304864;border-radius:12px;background:#0c1728;color:white;padding:9px 5px;display:flex;flex-direction:column;align-items:flex-start}.quick span{font-size:20px}.quick b{font-size:11px}.quick small{font-size:7px;color:#c7d2fe}.quick.phone{background:#123527}.quick.sms{background:#112846}.quick.kakao{background:#382d0b}.quick.push{background:#2c163c;border-color:#7c3aed}.summary-grid{display:grid;grid-template-columns:74px 1fr;margin-top:14px;border-top:1px solid #2b405d}.summary-grid>div{padding:10px 2px;border-bottom:1px solid #2b405d;font-size:12px}.summary-grid .label{color:#9fb0c5}.summary-grid .value{font-weight:800}.summary-grid .status{color:#60a5fa}.pill{font-size:9px;background:#26354d;border-radius:999px;padding:3px 6px;margin-left:6px}.memo-zone{padding-top:12px}.section-title{font-size:12px;font-weight:900;margin-bottom:7px}.section-title.small{margin-top:10px;color:#bef264}.memo-row{display:grid;grid-template-columns:1fr 58px;gap:8px}.memo-row textarea{min-height:54px;border:1px solid #304864;border-radius:10px;background:#0c1524;color:white;padding:10px}.memo-save{border:1px solid #286a49;background:#163d2b;color:#d1fae5;border-radius:10px;font-weight:900}.followup-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.followup-row button{height:36px;border-radius:9px;border:1px solid #324966;background:#101b2d;color:white;font-weight:800;font-size:10px}.complete-btn{width:100%;margin-top:8px;height:40px;border-radius:10px;border:1px solid #239052;background:#15452b;color:#d1fae5;font-weight:900}.secondary-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.secondary-actions button{border:1px solid #304864;background:#0d1829;color:white;border-radius:11px;padding:10px 6px;display:flex;flex-direction:column;align-items:flex-start}.secondary-actions b{font-size:10px}.secondary-actions small{font-size:7px;color:#93a4bb}.detail-zone{margin-top:10px;padding:10px;border-radius:10px;background:#0b1424}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #22344d;font-size:11px}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:50;width:min(100%,520px);display:grid;grid-template-columns:repeat(4,1fr);background:#08111f;border-top:1px solid #1e2d42}.bottom-nav button{height:72px;border:0;background:transparent;color:#98a8bc;font-size:20px}.bottom-nav span{display:block;font-size:10px}.bottom-nav .active{background:#102342;color:#7dd3fc}.bottom-nav .exit{color:#fb7185}

.auth-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:max(22px,env(safe-area-inset-top)) 14px max(22px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#10192b 0%,#07101d 100%)}
.auth-screen[hidden]{display:none!important}
.auth-card{width:min(100%,366px);padding:32px 21px 30px;border:0;border-radius:18px;background:#202b3d;box-shadow:0 20px 46px rgba(0,0,0,.48)}
.auth-mark{width:84px;height:108px;margin:0 auto;text-align:center}.auth-mark svg{display:block;width:100%;height:100%}.auth-card h2{text-align:center;margin:9px 0 0;color:#ffdc63;font-size:25px;line-height:1.2;letter-spacing:2px}.auth-card p{text-align:center;color:#c7cfdb;margin:13px 0 36px;font-size:14px;letter-spacing:.3px}
.auth-card label{display:block;font-size:12px;color:#d2d9e5;font-weight:800;margin:0 0 9px}.auth-card label:not(:first-of-type){margin-top:20px}
.auth-card input{width:100%;height:48px;border-radius:11px;border:1px solid #30445e;background:#0b1628;color:#fff;padding:0 13px;font-size:14px;outline:none}.auth-card input::placeholder{color:#667b98}.auth-card input:focus{border-color:#6da0ed;box-shadow:0 0 0 3px rgba(109,160,237,.12)}
.auth-card button{width:100%;height:55px;margin-top:40px;border:0;border-radius:8px;background:#6b9fea;color:#fff;font-size:16px;font-weight:900;box-shadow:0 8px 18px rgba(43,102,195,.22)}.auth-card button:active{transform:translateY(1px);background:#5c90dc}
.auth-error{margin-top:10px;color:#fca5a5;font-size:11px;text-align:center}
@media (max-width:360px),(max-height:700px){.auth-card{padding:22px 19px}.auth-mark{width:66px;height:84px}.auth-card p{margin-bottom:24px}.auth-card button{margin-top:28px}}
.list-state{padding:30px 14px;text-align:center;color:#93a4bb;font-size:12px}
.list-state.error{color:#fca5a5}

/* CEO SHIELD MOBILE NEXT CONTACT ROW V2
   상태/담당 컨설턴트는 첫째 줄, 다음 연락은 독립된 둘째 줄로 고정한다. */
.summary-grid{
  display:block;
}
.summary-grid>.status-assignment-row,
.summary-grid>.next-contact-display-row{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  width:100%;
  min-width:0;
  border-bottom:1px solid #2b405d;
  padding:0;
  font-size:inherit;
}
.summary-grid>.status-assignment-row>div,
.summary-grid>.next-contact-display-row>div{
  min-width:0;
  padding:10px 2px;
  font-size:12px;
}
.summary-grid>.status-assignment-row>.label,
.summary-grid>.next-contact-display-row>.label{
  color:#9fb0c5;
}
.summary-grid>.status-assignment-row>.value,
.summary-grid>.next-contact-display-row>.value{
  font-weight:800;
}
.summary-grid>.status-assignment-row{
  grid-template-columns:34px minmax(90px,1fr) auto;
  align-items:center;
}
.summary-grid>.status-assignment-row>.ceo-mobile-consultant-assignment-v59{
  grid-column:3;
  margin-left:10px !important;
  padding-left:0 !important;
  justify-self:end;
}
.summary-grid>.status-assignment-row select.fund-status-select,
.summary-grid>.status-assignment-row select.mobile-fund-status-select,
.summary-grid>.status-assignment-row .value.status select{
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:-0.25px !important;
}
.summary-grid>.next-contact-display-row{
  grid-template-columns:74px minmax(0,1fr);
}
#ceoshield_push_status_button{
  font-size:10px !important;
  min-width:100px !important;
  min-height:36px !important;
  padding:8px 10px !important;
}
.source-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 7px;border-radius:999px;background:#0e1b30;border:1px solid #284262;color:#9fc5ff;font-size:8px;font-weight:800}
.card-stack{display:flex;flex-direction:column;gap:10px}

.call-return-bar{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);z-index:100;width:min(calc(100% - 20px),500px);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid #2f7b67;border-radius:14px;background:#10251f;box-shadow:0 12px 35px rgba(0,0,0,.45)}
.call-return-bar strong,.call-return-bar small{display:block}.call-return-bar small{font-size:9px;color:#a7f3d0;margin-top:3px}.call-return-bar button{height:38px;border-radius:9px;border:1px solid #38506b;background:#17243a;color:#fff;font-weight:900}.call-return-bar #call_return_ai{background:#166534;border-color:#22c55e}
.return-highlight{outline:2px solid #22d3ee;box-shadow:0 0 0 5px rgba(34,211,238,.12),0 12px 32px rgba(0,0,0,.3)!important}
.modal-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(2,8,23,.92)}.modal-overlay[hidden]{display:none!important}
.mobile-modal{width:min(100%,460px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #31516f;border-radius:18px;background:#152238;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.mobile-modal>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #29405e;background:#152238}.mobile-modal>header strong,.mobile-modal>header small{display:block}.mobile-modal>header small{font-size:10px;color:#94a3b8;margin-top:4px}.mobile-modal>header button{width:40px;height:40px;border:1px solid #334a68;border-radius:10px;background:#202f46;color:#fff;font-size:22px}
.modal-body{padding:14px}.notice{padding:11px;border:1px solid #236d61;border-radius:11px;background:#0e302b;color:#bae6d7;font-size:10px;line-height:1.5}.wide{width:100%;height:48px;margin-top:10px}.primary{border:1px solid #34d399;border-radius:11px;background:#24715f;color:#fff;font-weight:900}
.file-info,.process-status,.meta-box{margin-top:10px;padding:11px;border-radius:10px;background:#0c1627;border:1px solid #293e5a;font-size:10px;color:#b8c5d6}.meta-box{display:grid;grid-template-columns:80px 1fr;gap:7px}.meta-box span{color:#8fa0b6}.consent{display:flex;gap:7px;align-items:flex-start;margin-top:10px;font-size:10px;color:#cbd5e1}
.process-status[data-type="error"]{color:#fca5a5;border-color:#7f1d1d}.process-status[data-type="success"]{color:#a7f3d0;border-color:#166534}.progress{height:7px;margin-top:10px;border-radius:999px;background:#07101d;overflow:hidden}.progress>div{height:100%;width:0;background:#3b82f6;transition:width .2s}
.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.pipeline>div{text-align:center;padding:8px 3px;border:1px solid #334a68;border-radius:9px;font-size:8px;color:#9fb0c5}.pipeline b{display:grid;place-items:center;width:24px;height:24px;margin:0 auto 4px;border-radius:50%;background:#334155;color:#fff}.pipeline .active{border-color:#60a5fa;color:#bfdbfe}.pipeline .active b{background:#2563eb}.pipeline .done{border-color:#34d399;color:#a7f3d0}.pipeline .done b{background:#059669}
.modal-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px}.modal-actions button{height:44px;border-radius:10px;border:1px solid #334a68;background:#26354d;color:white;font-weight:900}.modal-actions .success{background:#165f45;border-color:#22c55e}.modal-actions .success:disabled{opacity:.45}
.history-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.history-toolbar input,.history-toolbar select,.history-toolbar button{height:44px;min-width:0;border:1px solid #304864;border-radius:10px;background:#0b1424;color:#fff;padding:0 10px}.history-toolbar button{grid-column:1/-1;background:#24715f;font-weight:900}.history-list{margin-top:10px}.history-item{padding:11px;margin-bottom:8px;border:1px solid #293e5a;border-radius:10px;background:#0c1627}.history-item strong,.history-item span,.history-item small{display:block}.history-item span,.history-item small{font-size:9px;color:#94a3b8;margin-top:4px}.ai-summary{margin-top:8px;padding:8px;border-radius:8px;background:#112b27}.ai-summary b{font-size:9px;color:#6ee7b7}.ai-summary p{font-size:10px;line-height:1.45;margin:5px 0 0}.history-empty{text-align:center;color:#94a3b8;padding:24px}

.quick-actions a.quick{text-decoration:none}

/* CEO SHIELD MOBILE SAFE TOP/BOTTOM LAYERS V15
   기존 위치와 transform은 그대로 두고 겹침 순서와 배경만 보강한다. */
.topbar{
  z-index:200;
  background:#07101d;
}
.bottom-nav{
  z-index:200;
  background:#08111f;
}

/* 카드 내부 요소의 개별 z-index가 상·하단 고정 레이어를 뚫고
   나오지 않도록 스크롤되는 고객 목록을 하나의 낮은 레이어로 격리한다. */
.client-list{
  position:relative;
  z-index:0;
  isolation:isolate;
}
.client-card{
  position:relative;
  z-index:0;
}

/* CEO SHIELD MOBILE AUTH VIEWPORT V18
   로그인 중 뒤쪽 앱의 스크롤바가 생기며 중앙 기준점이 이동하지 않도록 잠근다. */
html:has(#auth_screen:not([hidden])),
body:has(#auth_screen:not([hidden])){
  overflow:hidden!important;
}
.auth-screen{
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100vw!important;
  height:100vh!important;
  height:100svh!important;
  min-height:100svh!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
}
.auth-card{
  flex:0 1 366px!important;
  width:100%!important;
  max-width:366px!important;
  margin:auto!important;
  box-sizing:border-box!important;
  transform:none!important;
}
