/* 휴대폰 앱 — 시안 B '네이비 브리핑 카드'(지점장 2026-10-04 고름: "B시안으로 우선").
   위: 남색 브리핑(인사 · 남은 사람 · 금색 진행 원 · 통화/부재/약속) → 아래: 사람마다 흰 카드([전화] · 통화함 · 부재 · ⋯).
   사람을 누르면 아래에서 올라오는 창 — 이유 · 전화 걸기 · 통화함/부재/약속/문자 · 할 일 · 최근 연락.
   디자인 언어는 체크리스트와 같다: 네이비 #1E3A5F · 골드 · Paperlogy. 넓은 면은 중립색, 색은 단추 · 꼬리표에만.
   손가락으로 누르는 것은 40px 이상. 아이폰 노치 · 홈 막대는 safe-area 로 비켜 간다. */
:root{
  color-scheme:light;
  --bg:#EEF2F7; --card:#FFFFFF; --sub:#F4F6F9; --line:#E3E8EF; --line2:#EEF1F5;
  --text:#191F28; --mute:#4E5968; --dim:#8B95A1;
  --navy:#1E3A5F; --navy2:#2C5282; --hero-ink:#FFFFFF; --hero-dim:#BFD0E6; --hero-gold:#F1C977;
  --gold:#8F600A; --gold-fill:#E3AE4C; --gold-ink:#2A1D05; --gold-bg:#FBF0DC;
  --ok:#0B7F57; --ok-bg:#E3F4EB; --no:#B42E22; --no-bg:#FCE6E3; --cond:#955F00; --cond-bg:#FFF1D6;
  --wait:#1E3A5F; --wait-bg:#E8EEF6;
  --shadow:0 2px 10px rgba(20,40,70,.05); --sheet-shadow:0 -10px 40px rgba(10,20,35,.18);
}
@media (prefers-color-scheme:dark){
  :root{
    color-scheme:dark;
    --bg:#0F1726; --card:#1A2638; --sub:#223149; --line:#2C3C57; --line2:#24324A;
    --text:#F2F4F6; --mute:#C2CEDC; --dim:#8E9CB2;
    --navy:#9DB6DC; --navy2:#2C5282; --hero-dim:#AFC0D6;
    --gold:#EBC074; --gold-fill:#E3AE4C; --gold-bg:rgba(235,192,116,.14);
    --ok:#55DAA4; --ok-bg:rgba(85,218,164,.14); --no:#FF8B7B; --no-bg:rgba(255,139,123,.14);
    --cond:#F6C45C; --cond-bg:rgba(246,196,92,.14); --wait:#AFC6E6; --wait-bg:rgba(157,182,220,.14);
    --shadow:none; --sheet-shadow:0 -10px 40px rgba(0,0,0,.5);
  }
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;
  font-family:'Paperlogy',-apple-system,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;
  padding-bottom:calc(84px + env(safe-area-inset-bottom))}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;background:none;padding:0}
a{-webkit-tap-highlight-color:transparent;color:inherit}
.ap-main{padding:0 0 8px}

/* ── 위: 오늘 브리핑(남색) ── */
.ap-hero{position:relative;padding:calc(22px + env(safe-area-inset-top)) 22px 24px;color:var(--hero-ink);
  background:linear-gradient(160deg,#1E3A5F 0%,#2C5282 100%);border-radius:0 0 30px 30px}
@media (prefers-color-scheme:dark){ .ap-hero{background:linear-gradient(160deg,#16294A 0%,#1F3B66 100%)} }
.ap-hero p{margin:0;font-size:14px;font-weight:600;color:var(--hero-dim);padding-right:96px}
.ap-hero p.dt{font-size:12.5px;margin-bottom:3px;opacity:.8}
.ap-hero h1{margin:6px 0 0;font-size:26px;font-weight:800;letter-spacing:-.7px;line-height:1.3;padding-right:96px}
.ap-hero h1 b{color:var(--hero-gold)}
.ap-ring{position:absolute;right:20px;top:calc(22px + env(safe-area-inset-top));width:80px;height:80px}
.ap-ring text{font-family:'Paperlogy',sans-serif;fill:#fff;font-weight:800}
.ap-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.ap-chips span{font-size:13px;font-weight:700;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#E4ECF6}
.ap-chips span b{color:#fff}
.ap-chips span.ok{background:rgba(241,201,119,.22);color:#FFE7B8}
/* 다른 화면의 머리 — 같은 남색, 낮게 */
.ap-hd{padding:calc(18px + env(safe-area-inset-top)) 22px 18px;color:var(--hero-ink);
  background:linear-gradient(160deg,#1E3A5F 0%,#2C5282 100%);border-radius:0 0 26px 26px}
@media (prefers-color-scheme:dark){ .ap-hd{background:linear-gradient(160deg,#16294A 0%,#1F3B66 100%)} }
.ap-hd h1{margin:0;font-size:24px;font-weight:800;letter-spacing:-.6px}
.ap-hd p{margin:4px 0 0;font-size:13.5px;font-weight:600;color:var(--hero-dim)}

/* 연습용 안내 */
.ap-demo{margin:12px 16px 0;padding:10px 14px;border-radius:16px;background:var(--gold-bg);color:var(--gold);font-size:13px;font-weight:700;line-height:1.5}

/* ── 사람 카드 ── */
.ap-sec{display:flex;align-items:center;gap:6px;margin:22px 22px 10px;font-size:15px;font-weight:800;color:var(--mute)}
.ap-sec b{color:var(--gold-fill)}
.ap-sec .sp{flex:1}
.ap-sec .ap-goal{font-size:12.5px;font-weight:800;border-radius:999px;padding:3px 10px;background:var(--ok-bg);color:var(--ok)}
.ap-pc{margin:0 16px 10px;background:var(--card);border-radius:22px;padding:16px 18px 14px;box-shadow:var(--shadow);cursor:pointer}
.ap-pc.fin{padding:13px 18px;opacity:.86}
.ap-pc-h{display:flex;align-items:center;gap:8px;min-width:0}
.ap-n{font-size:17px;font-weight:800;letter-spacing:-.3px;color:var(--text);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-tg{flex:none;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--wait-bg);color:var(--wait)}
.ap-tg.c-관리{background:var(--cond-bg);color:var(--cond)} .ap-tg.c-완료{background:var(--ok-bg);color:var(--ok)}
.ap-tg.c-연체{background:var(--no-bg);color:var(--no)} .ap-tg.c-상담,.ap-tg.c-철회,.ap-tg.c-해지{background:transparent;color:var(--dim);border:1px solid var(--dim)}
.ap-tm{margin-left:auto;flex:none;font-size:13px;font-weight:800;color:var(--gold)}
.ap-res{flex:none;font-size:11.5px;font-weight:800;border-radius:6px;padding:1px 7px;background:var(--ok-bg);color:var(--ok)}
.ap-res.miss{background:var(--no-bg);color:var(--no)} .ap-res.appt{background:var(--gold-bg);color:var(--gold)}
.ap-pc-r{margin-top:6px;font-size:14.5px;font-weight:600;color:var(--mute);line-height:1.45}
.ap-pc-r .lb{font-weight:800;margin-right:4px;color:var(--k,var(--dim))}
.k-task{--k:var(--gold)} .k-after,.k-care,.k-thanks{--k:var(--ok)} .k-arrear{--k:var(--no)} .k-age,.k-bday{--k:var(--cond)}
.k-stale,.k-ana,.k-decide,.k-sign{--k:var(--wait)} .k-cyc,.k-first{--k:var(--dim)}
.ap-meet{display:inline-block;font-size:11.5px;font-weight:800;border-radius:6px;padding:1px 7px;margin-left:4px;background:var(--gold-bg);color:var(--gold);vertical-align:1px}
.ap-pc-a{display:flex;gap:8px;margin-top:12px}
.ap-bt{height:40px;border-radius:12px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:14px;font-weight:800;background:var(--sub);color:var(--mute);text-decoration:none;white-space:nowrap}
.ap-bt:active,.ap-call:active,.ap-g4 button:active{transform:scale(.97)}
.ap-bt.go{background:var(--gold-fill);color:var(--gold-ink)}
.ap-bt.go.off{opacity:.4;pointer-events:none}
.ap-bt.more{margin-left:auto;width:40px;padding:0}
.ap-bt svg,.ap-call svg{width:18px;height:18px;flex:none}
.ap-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 22px 0;font-size:13px;font-weight:700;color:var(--mute)}
.ap-foot .ap-bt{background:var(--card)}
.ap-empty{margin:0 16px;background:var(--card);border-radius:22px;padding:22px 20px;font-size:14.5px;font-weight:700;color:var(--mute);text-align:center}

/* ── 아래에서 올라오는 창 ── */
.ap-dim{position:fixed;inset:0;z-index:50;background:rgba(10,20,35,.45);animation:apFade .15s ease-out}
.ap-sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;max-height:92vh;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  background:var(--card);border-radius:28px 28px 0 0;box-shadow:var(--sheet-shadow);
  padding:10px 22px calc(26px + env(safe-area-inset-bottom));animation:apUp .2s ease-out}
@keyframes apUp{from{transform:translateY(40px);opacity:.3}to{transform:none;opacity:1}}
@keyframes apFade{from{opacity:0}to{opacity:1}}
.ap-handle{width:38px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 16px}
.ap-sh-h{display:flex;align-items:center;gap:10px}
.ap-sh-h b{font-size:24px;font-weight:800;letter-spacing:-.6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-sh-h .x{margin-left:auto;flex:none;height:36px;padding:0 14px;border-radius:12px;background:var(--sub);font-size:14px;font-weight:800;color:var(--mute)}
.ap-sh-sub{margin-top:4px;font-size:14px;font-weight:600;color:var(--dim)}
.ap-sh-sub a{text-decoration:none;color:var(--mute);font-weight:700}
.ap-why{margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--sub);font-size:15px;font-weight:700;line-height:1.5}
.ap-why small{display:block;font-size:12.5px;font-weight:700;color:var(--dim);margin-bottom:4px}
.ap-why div+div{margin-top:4px}
.ap-why .lb{font-weight:800;margin-right:5px;color:var(--k,var(--dim))}
.ap-prim{margin-top:12px;height:50px;width:100%;border-radius:16px;background:var(--gold-bg);color:var(--gold);font-size:15.5px;font-weight:800}
.ap-call{margin-top:12px;height:56px;width:100%;border-radius:16px;background:#1E3A5F;color:#fff;font-size:17px;font-weight:800;
  display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.ap-call.off{opacity:.4;pointer-events:none}
.ap-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.ap-g4 button{height:72px;border-radius:16px;background:var(--sub);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  font-size:13px;font-weight:700;color:var(--mute)}
.ap-g4 button svg{width:22px;height:22px}
.ap-g4 button.on{background:var(--gold-bg);color:var(--gold)}
.ap-pn{margin-top:10px;padding:14px;border-radius:16px;background:var(--sub);display:flex;flex-direction:column;gap:10px}
.ap-pn>b{font-size:14.5px}
.ap-q{display:flex;gap:6px;flex-wrap:wrap}
.ap-q button{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:800;min-height:38px}
.ap-q button.on{border-color:var(--gold-fill);background:var(--gold-fill);color:var(--gold-ink)}
.ap-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ap-row>*{flex:1 1 120px}
.ap-in{width:100%;min-height:46px;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;font-size:16px;outline:0}
.ap-in:focus{border-color:var(--gold-fill);box-shadow:0 0 0 3px var(--gold-bg)}
textarea.ap-in{min-height:128px;resize:vertical;line-height:1.55;font-size:15px}
.ap-wide{height:48px;width:100%;border-radius:14px;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;text-decoration:none}
.ap-wide.go{background:var(--gold-fill);color:var(--gold-ink)}
.ap-wide.sub{background:var(--card);color:var(--mute);border:1.5px solid var(--line)}
.ap-hint{font-size:12.5px;font-weight:700;color:var(--dim);margin:0;line-height:1.5}
.ap-shs{margin-top:22px}
.ap-shs>h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:15px;font-weight:800;color:var(--mute)}
.ap-shs>h3 small{font-size:13px;color:var(--dim)}
.ap-shs>h3 button{margin-left:auto;font-size:13.5px;font-weight:800;color:var(--navy);padding:6px 0}

/* ── 목록(일정 · 고객 · 한 사람 창 안) ── */
.ap-box{margin:12px 16px 0;background:var(--card);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.ap-box.flat{margin:0;box-shadow:none;background:transparent;border-radius:0}
.ap-grp{padding:14px 18px 4px;font-size:13px;font-weight:800;color:var(--mute)}
.ap-grp.late{color:var(--no)} .ap-grp.now{color:var(--gold)}
.ap-it{display:flex;align-items:center;gap:12px;padding:11px 18px;min-height:56px}
.ap-box.flat .ap-it{padding:10px 0}
.ap-it+.ap-it{border-top:1px solid var(--line2)}
.ap-ck{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);background:var(--card);color:#fff;font-weight:800;font-size:13px;
  display:flex;align-items:center;justify-content:center}
.ap-ck.on{background:var(--navy);border-color:var(--navy)}
@media (prefers-color-scheme:dark){ .ap-ck.on{background:#2C5282;border-color:#2C5282} }
.ap-ck.auto{border-style:dashed;cursor:default}
.ap-it .t{flex:1;min-width:0}
.ap-it .t b{display:block;font-size:15.5px;font-weight:800}
.ap-it .t span{display:block;font-size:13.5px;font-weight:600;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-it.done .t b{color:var(--dim);text-decoration:line-through}
.ap-it .when{flex:none;font-size:13px;font-weight:800;color:var(--gold)}
.ap-search{margin:14px 16px 0}
.ap-li{display:flex;align-items:center;gap:12px;width:100%;padding:13px 18px;text-align:left;min-height:64px}
.ap-li+.ap-li{border-top:1px solid var(--line2)}
.ap-av{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;
  background:var(--wait-bg);color:var(--wait)}
.ap-av.c-관리{background:var(--cond-bg);color:var(--cond)} .ap-av.c-완료{background:var(--ok-bg);color:var(--ok)}
.ap-av.c-연체{background:var(--no-bg);color:var(--no)} .ap-av.c-철회,.ap-av.c-해지{background:transparent;color:var(--dim);border:1.5px solid var(--dim)}
.ap-li .t{flex:1;min-width:0}
.ap-li .t b{font-size:16px;font-weight:800}
.ap-li .t span{display:block;font-size:13px;font-weight:600;color:var(--dim)}
.ap-li .nx{flex:none;font-size:12.5px;font-weight:800;color:var(--mute);text-align:right;line-height:1.35}
.ap-li .nx.due{color:var(--gold)}

/* ── 설정 ── */
.ap-set{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.ap-set>h3{margin:0;font-size:15px;font-weight:800;display:flex;align-items:baseline;gap:8px}
.ap-set>h3 small{font-size:12.5px;font-weight:700;color:var(--dim)}
.ap-set label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14.5px;font-weight:700}
.ap-set label .ap-in{width:96px;flex:none;text-align:right}
.ap-set .full{flex-direction:column;align-items:stretch}
.ap-set .full .ap-in{width:100%;text-align:left}
.ap-sw{appearance:none;-webkit-appearance:none;width:50px;height:30px;border-radius:999px;background:var(--line);position:relative;flex:none;cursor:pointer;margin:0}
.ap-sw::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ap-sw:checked{background:var(--navy)} .ap-sw:checked::after{left:23px}
@media (prefers-color-scheme:dark){ .ap-sw:checked{background:#2C5282} }
.ap-steps{margin:0;padding:0 0 0 18px;font-size:14px;font-weight:700;line-height:1.75;color:var(--mute)}

/* ── 아래 탭 ── */
.ap-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--card);border-top:1px solid var(--line2);padding:7px 8px calc(7px + env(safe-area-inset-bottom))}
.ap-nav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 4px;color:var(--dim);
  font-size:11.5px;font-weight:700;min-height:52px}
.ap-nav button.on{color:var(--navy)}
.ap-nav button.on i{background:var(--navy)}
.ap-nav button b{position:absolute;top:1px;left:calc(50% + 7px);min-width:19px;height:19px;border-radius:999px;padding:0 5px;
  background:var(--gold-fill);color:var(--gold-ink);font-size:11.5px;line-height:19px;font-weight:800}
.ap-nav button b:empty{display:none}
.ap-nav i{width:24px;height:24px;background:var(--dim);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.ic-today{--ic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12.5l2.6 2.6L16 9.5'/></svg>")}
.ic-sched{--ic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='3'/><path d='M3.5 10h17M8 3v4M16 3v4'/></svg>")}
.ic-cust{--ic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><circle cx='12' cy='8.5' r='4'/><path d='M4.5 20c1.2-3.8 4-5.5 7.5-5.5s6.3 1.7 7.5 5.5'/></svg>")}
.ic-set{--ic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M4 7h10M18 7h2M4 17h4M12 17h8'/><circle cx='16' cy='7' r='2.2'/><circle cx='10' cy='17' r='2.2'/></svg>")}

.ap-toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:60;transform:translateX(-50%) translateY(10px);
  max-width:calc(100% - 32px);background:#191F28;color:#fff;border-radius:14px;padding:12px 16px;font-size:14px;font-weight:800;
  box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;text-align:center}
.ap-toast.on{opacity:1;transform:translateX(-50%)}
.ap-toast.warn{background:var(--no)}
body.ap-gate .ap-nav{display:none}          /* 로그인 전에는 아래 탭을 숨긴다 */
.ap-wide[disabled]{opacity:.6;pointer-events:none}
body.sheet-open .ap-toast{bottom:calc(24px + env(safe-area-inset-bottom))}

@media (min-width:700px){
  .ap-main{max-width:640px;margin:0 auto}
  .ap-sheet{max-width:640px;margin:0 auto;border-radius:28px 28px 0 0}
}
