/* 스타즈 디자인 기본값 — 디자인계획서_v1.md 의 토큰 그대로 */
/* Pretendard 는 layout.php 에서 화면을 막지 않게 따로 불러온다(10-25 속도) */
:root{
  --brand:#4B3BD6; --brand-press:#3A2CB0; --brand-grad:linear-gradient(135deg,#6A2FB0 0%,#1E6FD9 100%);
  --text-1:#111318; --text-2:#4A505C; --text-3:#6B7280;
  --bg:#FFFFFF; --bg-2:#F4F5F8; --line:#E3E6EC;
  --ok:#0F8A5F; --ok-bg:#E3F6EE; --wait:#C25E00; --wait-bg:#FFF1E0;
  --bad:#D1293D; --bad-bg:#FDECEE; --info:#1E6FD9; --info-bg:#E8F1FD; --gold:#E8A317;
  --r:12px; --r-sm:6px; --pad:20px;
  --fs-money-xl:40px; --fs-money:28px; --fs-h1:24px; --fs-h2:20px; --fs-body:17px; --fs-sub:15px; --fs-label:13px;
  --btn-h:56px; --tab-h:72px;
  color-scheme:light;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',system-ui,sans-serif;
}
/* 다크모드 꺼짐(사장님 10-25) */ :root[data-theme="never"]{--text-1:#F2F3F7;--text-2:#B4B9C4;--text-3:#8C93A0;--bg:#0E1015;--bg-2:#171A21;--line:#2A2F3A;--brand:#8C7DFF;--ok:#3DDC97;--wait:#FFAD5C;--bad:#FF6B7A;--info:#6AA8FF}
/* 어르신 화면 */
:root[data-senior="1"]{--fs-money-xl:56px;--fs-money:40px;--fs-h1:32px;--fs-h2:26px;--fs-body:22px;--fs-sub:19px;--fs-label:17px;--btn-h:88px}

*{box-sizing:border-box}
html,body{margin:0;background:var(--bg-2);color:var(--text-1);font-size:var(--fs-body);line-height:1.5;-webkit-text-size-adjust:100%}
a{color:var(--brand);text-decoration:none}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.money-xl{font-size:var(--fs-money-xl);font-weight:700;line-height:1.3}
.money{font-size:var(--fs-money);font-weight:700;line-height:1.3}
h1{font-size:var(--fs-h1);font-weight:700;margin:0;line-height:1.3}
h2{font-size:var(--fs-h2);font-weight:600;margin:0;line-height:1.3}
.sub{font-size:var(--fs-sub);color:var(--text-2)}
.label{font-size:var(--fs-label);font-weight:500}

/* 휴대폰 틀 */
.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-2)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px var(--pad) 10px;background:var(--bg)}
.content{flex:1;padding:14px var(--pad) calc(var(--tab-h) + 20px);display:flex;flex-direction:column;gap:14px}
.card{background:var(--bg);border-radius:var(--r);padding:18px var(--pad);display:flex;flex-direction:column;gap:10px}
.card-hero{background:var(--brand-grad);color:#fff;border-radius:var(--r);padding:22px var(--pad);display:flex;flex-direction:column;gap:6px}
.weather{background:var(--info-bg);color:#0F3E7A;border-radius:var(--r);padding:14px 16px;display:flex;gap:12px;align-items:center}

/* 버튼 */
.btn{height:var(--btn-h);border-radius:var(--r);border:0;width:100%;font:inherit;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer}
.btn-primary{background:var(--brand);color:#fff}.btn-primary:active{background:var(--brand-press)}
.btn-white{background:#fff;color:var(--brand-press)}
.btn-line{background:var(--bg);color:var(--text-1);border:1px solid #C9CDD6;font-weight:500}
.btn-danger{background:var(--bad);color:#fff}
.btn:disabled{opacity:.4;cursor:default}

/* 배지 */
.badge{font-size:var(--fs-label);font-weight:500;padding:4px 8px;border-radius:var(--r-sm);display:inline-block}
.b-wait{color:var(--wait);background:var(--wait-bg)}.b-ok{color:var(--ok);background:var(--ok-bg)}.b-bad{color:var(--bad);background:var(--bad-bg)}

/* 금액 줄 · 목록 */
.row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);min-height:48px}
.row:last-child{border-bottom:0}
.row .minus{color:var(--text-2)}

/* 하단 탭 */
.tabbar{position:fixed;left:0;right:0;bottom:0;height:var(--tab-h);background:var(--bg);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);max-width:480px;margin:0 auto}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-2);font-size:13px}
.tabbar a.on{color:var(--brand);font-weight:700}
.tabbar svg{width:28px;height:28px}

/* 입력 */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:var(--fs-sub);color:var(--text-2)}
.input{height:var(--btn-h);border:1px solid #C9CDD6;border-radius:var(--r);padding:0 16px;font:inherit;background:var(--bg);color:var(--text-1)}
.input:focus{outline:2px solid var(--brand);border-color:transparent}
.err{color:var(--bad);font-size:var(--fs-sub)}

/* 관리자(PC) */
.admin{display:flex;flex-wrap:wrap;min-height:100vh;background:var(--bg-2)}
.admin-nav{flex:1 1 240px;max-width:260px;background:#12141B;color:#E6E8EE;padding:24px 14px;display:flex;flex-direction:column;gap:4px}
.admin-nav a{height:44px;padding:0 12px;border-radius:8px;color:#C4C8D2;font-size:15px;display:flex;align-items:center;justify-content:space-between}
.admin-nav a.on{background:#262A36;color:#fff;font-weight:700}
.admin-main{flex:999 1 560px;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.table-box{background:var(--bg);border-radius:var(--r);overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:15px}
table.t th{text-align:left;color:var(--text-2);font-weight:500;padding:12px 10px;border-bottom:1px solid var(--line);background:#FAFBFC}
table.t td{padding:13px 10px;border-bottom:1px solid #F0F1F4}
.alert{padding:14px 18px;border-radius:var(--r);background:var(--bad-bg);color:#A11B2C;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
@media (max-width:760px){.admin-main{padding:18px 16px}.admin-nav{max-width:none;flex-direction:row;overflow-x:auto;padding:10px}}

/* 홈 날씨 카드 — 움직이는 그림(해 돌기·구름 흐름·비·눈) */
.wx{border-radius:14px;padding:16px;display:flex;align-items:center;gap:14px}
@keyframes wx-spin{to{transform:rotate(360deg)}}
@keyframes wx-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes wx-drop{0%{transform:translateY(-6px);opacity:0}30%{opacity:1}100%{transform:translateY(14px);opacity:0}}
@keyframes wx-flake{0%{transform:translateY(-6px);opacity:0}30%{opacity:1}100%{transform:translateY(16px) translateX(4px);opacity:0}}
.wx-rays{transform-origin:32px 32px;animation:wx-spin 14s linear infinite}
.wx-cloud{animation:wx-drift 4s ease-in-out infinite}
.wx-drop{animation:wx-drop 1.1s linear infinite}.wx-drop.d2{animation-delay:.35s}.wx-drop.d3{animation-delay:.7s}
.wx-flake{animation:wx-flake 2.2s linear infinite}.wx-flake.f2{animation-delay:.7s}.wx-flake.f3{animation-delay:1.4s}
@media (prefers-reduced-motion:reduce){.wx-rays,.wx-cloud,.wx-drop,.wx-flake{animation:none}}

/* 홈 배너 */
.banner{border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px;color:#fff}
.banner-recruit{background:linear-gradient(135deg,#2B1A63 0%,#4B3BD6 55%,#1E6FD9 100%);position:relative;overflow:hidden;min-height:200px;justify-content:space-between}
.banner-voice{background:#0E1015;color:#F2F3F7}
.banner-voice .feat{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.banner-voice .feat div{padding:12px;border-radius:12px;background:#171A21;display:flex;flex-direction:column;gap:4px}
.banner-comm{background:var(--bg);color:var(--text-1);flex-direction:row;align-items:center;gap:16px;padding:20px}
.tabbar a .two{font-size:12px;line-height:1.15;text-align:center}

/* ───────── 10-24 추가 화면 ───────── */
.b-info{color:var(--info);background:var(--info-bg)}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
button{font-family:inherit}

/* 고르기 칩(라디오) */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:22px;border:1px solid #C9CDD6;background:var(--bg);font-size:16px;color:var(--text-1)}
.chips input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}
.chips input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}

/* 켜기·끄기 */
.toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:6px 0}
.toggle input{appearance:none;-webkit-appearance:none;width:52px;height:30px;border-radius:15px;background:#C9CDD6;position:relative;flex-shrink:0;cursor:pointer;transition:background .2s;margin:0}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}
.toggle input:checked{background:var(--brand)}
.toggle input:checked::after{left:25px}

/* 게시판 구분 탭(모바일) */
.seg{display:flex;gap:6px;padding:0 var(--pad) 10px;background:var(--bg);overflow-x:auto}
.seg a{flex-shrink:0;height:38px;padding:0 14px;border-radius:19px;display:flex;align-items:center;font-size:15px;color:var(--text-2);background:var(--bg-2)}
.seg a.on{background:var(--text-1);color:var(--bg);font-weight:700}
.post{color:var(--text-1)}

/* 아래에서 올라오는 창 */
dialog.sheet{border:0;border-radius:18px 18px 0 0;padding:22px var(--pad) 28px;width:100%;max-width:480px;margin:auto auto 0;background:var(--bg);color:var(--text-1)}
dialog.sheet::backdrop{background:rgba(10,12,18,.5)}
@media (min-width:700px){dialog.sheet{border-radius:18px;margin:auto}}

/* 공지 띠 · 빨간 점 */
.notice-strip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#FFF4E5;border:1px solid #FFD8A8;color:#7A3E00;font-size:16px}
.notice-strip .ns-tag{flex-shrink:0;font-size:13px;font-weight:700;color:#fff;background:#E8590C;padding:3px 9px;border-radius:6px}
.notice-strip .ns-t{flex:1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dot{position:absolute;top:10px;right:10px;width:9px;height:9px;border-radius:50%;background:#E5383B;border:2px solid var(--bg)}
details.notice summary,details.card summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:6px}
details summary::-webkit-details-marker{display:none}

/* 날씨: 비·눈 시간 */
.wx-when{display:inline-block;margin-top:4px;font-size:14px;font-weight:700;padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.65);align-self:flex-start}

/* 더보기 */
.avatar{width:56px;height:56px;border-radius:50%;background:var(--brand-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}
.menu-list{padding-top:4px;padding-bottom:4px}
.menu-list a{display:flex;justify-content:space-between;align-items:center;min-height:56px;color:var(--text-1);border-bottom:1px solid var(--line);font-size:17px}
.menu-list a:last-child{border-bottom:0}
.live-dot{width:14px;height:14px;border-radius:50%;background:#C9CDD6;flex-shrink:0}
.live-dot.on{background:var(--ok);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,138,95,.5)}70%{box-shadow:0 0 0 10px rgba(15,138,95,0)}100%{box-shadow:0 0 0 0 rgba(15,138,95,0)}}

/* 보이스톡 방 — 밝은 화면(사장님 10-25: 다크 금지) */
.voice-app{background:var(--bg-2)}
.peers{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.peer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;background:var(--bg-2)}
.peer .av{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#6A2FB0,#1E6FD9);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;transition:box-shadow .15s}
.peer.talk .av{box-shadow:0 0 0 4px #0F8A5F}
.peer .nm{font-size:14px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peer .tg{font-size:12px;color:var(--text-3)}
.voice-app input[type=range]{width:100%;accent-color:#4B3BD6;height:32px}
.chat{max-height:320px;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0}
.cm{display:flex;flex-direction:column;gap:3px;max-width:84%;align-self:flex-start}
.cm.mine{align-self:flex-end;align-items:flex-end}
.cm .who{font-size:12px;color:var(--text-3)}
.cm .bd{background:#EEF0F4;color:var(--text-1);padding:8px 12px;border-radius:12px;white-space:pre-wrap;word-break:break-all;font-size:16px}
.cm.mine .bd{background:#4B3BD6;color:#fff}
.cm img,.cm video{max-width:220px;max-height:260px;border-radius:10px;display:block}
.iconbtn{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#EEF0F4;color:var(--text-1);cursor:pointer;flex-shrink:0}

/* 관리자 공통 */
.nb{font-size:12px;font-weight:700;background:#E8590C;color:#fff;padding:2px 8px;border-radius:10px;min-width:22px;text-align:center}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs a{padding:12px 16px;color:var(--text-2);font-size:16px;border-bottom:3px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:6px}
.tabs a.on{color:var(--text-1);font-weight:700;border-bottom-color:var(--brand)}
.copy{border:1px solid #C9CDD6;background:var(--bg);color:var(--text-1);border-radius:6px;padding:5px 10px;font-size:13px;cursor:pointer;white-space:nowrap;display:inline-block}
.copy:hover{border-color:var(--brand);color:var(--brand)}
.sample-bar{padding:10px 16px;border-radius:10px;background:#FFF4E5;color:#7A3E00;font-size:14px}
.sample-bar a{font-weight:700;text-decoration:underline}
.admin-main h1{font-size:26px}
.admin .card{border:1px solid #ECEEF2}
table.t tbody tr:hover{background:#FAFAFD}
.wd-flow{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.wd-flow span{display:flex;flex-direction:column}
.wd-flow em{font-style:normal;font-size:12px;color:var(--text-2)}
.wd-flow b{font-size:16px}
.wd-flow .arrow{font-size:18px;color:var(--text-3);padding-bottom:2px}
.wd-bar{height:8px;border-radius:4px;background:#ECEEF2;overflow:hidden;margin:6px 0 2px}
.wd-bar i{display:block;height:100%;background:linear-gradient(90deg,#FFAD5C,#E8590C);border-radius:4px}
.bars{display:flex;align-items:flex-end;gap:12px;height:200px;padding-top:10px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:flex-end;height:100%}
.bar-stack{width:100%;max-width:56px;display:flex;flex-direction:column;border-radius:6px 6px 0 0;overflow:hidden}
.bar-stack i{display:block;min-height:0}
.lg{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px 0 10px}
.lg-b{background:#2AC1BC}.lg-c{background:#4B3BD6}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-day{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:10px;background:var(--bg-2)}
.cal-chip{font-size:13px;padding:4px 8px;border-radius:6px;background:var(--bg);color:var(--text-2);border:1px solid var(--line);text-align:center}
.cal-chip.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent;font-weight:700}
.cal-chip.miss{background:var(--bad-bg);color:var(--bad);border-color:transparent;font-weight:700}
.prog-list{display:flex;flex-direction:column;gap:6px}
.prog{display:flex;align-items:center;gap:10px;font-size:15px}
@media (max-width:760px){.cal{grid-template-columns:repeat(4,1fr)}.bars{gap:6px}}

/* 홈: 프로모션 진행 */
.promo-card{background:var(--bg);border-radius:var(--r);padding:16px var(--pad);display:flex;flex-direction:column;gap:8px;border:1px solid #E8E4FF;color:var(--text-1)}
.promo-card .wd-bar{height:12px;border-radius:6px}
.promo-card .wd-bar i{background:var(--brand-grad)}

/* 정산: 주 이동 탭 · 날짜별 펼치기 · 플랫폼 표시 */
.wtabs{display:grid;grid-template-columns:52px 1fr 1fr 52px;background:var(--bg)}
.wtabs a,.wtabs span{height:52px;display:flex;align-items:center;justify-content:center;color:var(--text-2);border-bottom:3px solid var(--line);font-size:17px}
.wtabs a.on{color:var(--text-1);font-weight:700;border-bottom-color:var(--brand)}
.dayrow{border-bottom:1px solid var(--line)}
.dayrow:last-child{border-bottom:0}
.dayrow summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer;list-style:none;gap:8px}
.dayrow[open] summary{color:var(--brand)}
.daybody{padding:0 0 10px;display:flex;flex-direction:column}
.dl{display:flex;justify-content:space-between;gap:8px;padding:6px 0;font-size:15px;color:var(--text-2);border-top:1px dashed var(--line)}
.pf{font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;color:#fff;vertical-align:1px}
.pf.baemin{background:#2AC1BC}.pf.coupang{background:#4B3BD6}
.pfbox{padding:12px;border-radius:10px;background:var(--bg-2)}
.promo-card b.num{white-space:nowrap}
a.card{color:var(--text-1)}

/* ───────── 10-25 브랜드 메인(실제 스타즈 스티커 기준 · 그라데이션 걷어냄) ───────── */
.topbar .wordmark{font-size:22px;font-weight:900;letter-spacing:.5px;color:#111318;font-family:'Pretendard Variable',Pretendard,sans-serif}
.star-logo{flex-shrink:0;display:block}

/* 라이더 모집 = 스티커 */
.bn-recruit{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:16px;background:#fff;color:#111318;border:1px solid #E3E6EC;position:relative;overflow:hidden}
.bn-recruit::after{content:"";position:absolute;inset:0;background-image:radial-gradient(#E9EBF0 1px,transparent 1px);background-size:7px 7px;opacity:.55;pointer-events:none}
.bn-recruit>*{position:relative;z-index:1}
.bn-recruit-top{display:flex;gap:14px;align-items:stretch}
.bn-recruit-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:96px;flex-shrink:0}
.bn-recruit-logo b{font-size:20px;font-weight:900;letter-spacing:.5px;line-height:1}
.bn-recruit-box{flex:1;background:#15171C;color:#fff;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:14px;line-height:1.45}
.bn-recruit-box b{font-size:17px;font-weight:800;margin-bottom:2px;letter-spacing:.3px}
.bn-recruit-box span{opacity:.92}
.bn-recruit-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:2px solid #15171C;padding-top:12px}
.bn-recruit-tel{font-size:34px;font-weight:900;letter-spacing:1px;line-height:1}
.bn-recruit-go{height:42px;padding:0 16px;border-radius:21px;background:#15171C;color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;flex-shrink:0}

/* 보이스톡 = 밝은 카드 */
.bn-voice{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:16px;background:#fff;color:#111318;border:1px solid #E3E6EC}
.bn-voice-head{display:flex;justify-content:space-between;align-items:center}
.bn-new{font-size:13px;font-weight:800;color:#0F8A5F;background:#E3F6EE;padding:4px 10px;border-radius:12px}
.bn-wave{width:120px;height:32px;fill:#4B3BD6;opacity:.85}
.bn-wave rect{animation:bnwave 1.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.bn-wave rect:nth-child(3n){animation-delay:.2s}.bn-wave rect:nth-child(3n+1){animation-delay:.45s}
@keyframes bnwave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.45)}}
@media (prefers-reduced-motion:reduce){.bn-wave rect{animation:none}}
.bn-voice-title{font-size:24px;font-weight:800;line-height:1.25}
.bn-voice-sub{font-size:15px;color:#4A505C;margin-top:-4px}
.bn-feat{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}
.bn-feat li{display:flex;gap:10px;align-items:flex-start}
.bn-feat i{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bn-feat i svg{width:22px;height:22px}
.bn-feat span{display:flex;flex-direction:column;font-size:13px;color:#4A505C;line-height:1.35}
.bn-feat b{font-size:15px;color:#111318;font-weight:700}
.bn-voice-btn{margin-top:6px;height:52px;border-radius:12px;background:#4B3BD6;color:#fff;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* 커뮤니티 = 최신 글 미리보기 */
.bn-comm{background:#fff;border-radius:16px;border:1px solid #E3E6EC;padding:6px 20px}
.bn-comm-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0 10px;color:#111318}
.bn-comm-head>span:first-child{display:flex;flex-direction:column}
.bn-comm-head b{font-size:19px}
.bn-comm-head .sub{font-size:14px}
.bn-comm-row{display:flex;align-items:center;gap:10px;min-height:52px;border-top:1px solid #EEF0F3;color:#111318}
.bn-comm-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.bn-tag{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;flex-shrink:0;background:#F1F2F5;color:#4A505C}
.bn-tag.info{background:#FFF1E0;color:#C25E00}.bn-tag.repair{background:#E3F6EE;color:#0F8A5F}.bn-tag.free{background:#E8F1FD;color:#1E6FD9}

/* 잔액 카드 = 단색 남색(그라데이션 대신) */
.card-hero{background:#1D2340}
.card-hero .btn-white{color:#1D2340}
.bn-recruit-tel{white-space:nowrap;font-size:clamp(26px,8.2vw,34px)}
.promo-card .wd-bar i{background:#4B3BD6}
.bn-feat span{font-size:12.5px}
.bn-feat b{font-size:14.5px}
/* 정산 맨 위: 이번 금요일 받을 돈(배민엔 없는 합계) */
.pay-hero{margin:14px var(--pad) 0;padding:20px;border-radius:16px;background:#1D2340;color:#fff;display:flex;flex-direction:column;gap:4px}
.ph-label{font-size:15px;opacity:.85}
.ph-amt{font-size:36px;font-weight:800;line-height:1.2}
.ph-sub{font-size:13px;opacity:.8}
.ph-next{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}
.ph-next b{font-size:18px}
.dl2{align-items:center;padding:9px 0}
.dl-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.dl-l b{color:var(--text-1);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-l>span{font-size:12.5px;color:var(--text-3)}
.dl2>b{color:var(--text-1);font-size:15px;flex-shrink:0}
[hidden]{display:none!important}

/* ═════════ 디자인 v2 (10-25) — 토스식 정돈: 회색 단계 · 글자 단계 · 강조색 하나 · 그라데이션 없음 ═════════ */
:root{
  --g50:#f9fafb;--g100:#f2f4f6;--g200:#e5e8eb;--g300:#d1d6db;--g400:#b0b8c1;--g500:#8b95a1;--g600:#6b7684;--g700:#4e5968;--g800:#333d4b;--g900:#191f28;
  --brand:#4B3BD6;--brand-press:#3d2fb8;--brand-weak:#eeecfd;
  --text-1:var(--g900);--text-2:var(--g600);--text-3:var(--g500);--bg-2:var(--g100);--line:var(--g200);
}
html,body{background:var(--g100);color:var(--g900);letter-spacing:-.2px}
.t1{font-size:30px;line-height:40px;font-weight:700}.t2{font-size:26px;line-height:35px;font-weight:700}.t3{font-size:22px;line-height:31px;font-weight:700}
.t4{font-size:20px;line-height:29px;font-weight:700}.t5{font-size:17px;line-height:25.5px}.t6{font-size:15px;line-height:22.5px}.t7{font-size:13px;line-height:19.5px}
.g5{color:var(--g500)}.g6{color:var(--g600)}.ok{color:#03b26c}.ell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar{background:#fff}
.app{background:var(--g100)}

/* 버튼 2종만: 주(채움) · 보조(연한 바탕) */
.b-main,.b-sub{height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;border:0;flex:1}
.b-main{background:var(--brand);color:#fff}.b-main:active{background:var(--brand-press)}
.b-sub{background:var(--g100);color:var(--g700)}.b-sub:active{background:var(--g200)}
.b-main.sm,.b-sub.sm{height:40px;flex:0 0 auto;padding:0 16px;font-size:15px;border-radius:10px}

/* 첫 화면 */
.home{display:flex;flex-direction:column;gap:8px;padding-bottom:calc(var(--tab-h) + 16px)}
.h-sec{background:#fff;padding:20px 24px}
.h-notice{display:flex;align-items:center;gap:10px;background:#fff;padding:14px 24px;color:var(--g800);font-size:15px}
.h-notice b{color:var(--brand);font-weight:700;flex-shrink:0}
.h-notice span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-notice i{font-style:normal;color:var(--g400)}
.h-wx{display:flex;gap:16px;align-items:center}
.h-wx>div{display:flex;flex-direction:column}
.wx-time{color:#3182f6;font-weight:600;margin-top:2px}
.h-money{display:flex;flex-direction:column;gap:2px;padding-top:24px}
.h-btns{display:flex;gap:8px;margin-top:16px}
.h-login{display:flex;align-items:center;justify-content:space-between;gap:12px}
.h-login>div{display:flex;flex-direction:column}
.h-title{font-size:20px;line-height:29px;font-weight:700;margin:0 0 4px}
.h-title-row{display:flex;justify-content:space-between;align-items:center;color:var(--g900)}
.row2{display:flex;align-items:center;gap:12px;padding:12px 0;color:var(--g900);border-top:1px solid var(--g100)}
.h-title+.row2,.h-title-row+.row2{border-top:0}
.row2-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bar{height:6px;border-radius:3px;background:var(--g100);overflow:hidden;margin-top:6px}
.bar i{display:block;height:100%;background:var(--brand);border-radius:3px}
.h-foot{text-align:center;padding:12px 0 4px}

/* 넘기는 배너 */
.h-slides{position:relative;background:#fff;padding:16px 0}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box;margin:0;padding:22px 24px;min-height:150px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:4px;color:var(--g900)}
.slide{border-radius:0}
.slide>.t3{position:relative;z-index:1}
.s-k{font-weight:700}
.s-recruit{background:#f3f1ff}.s-recruit .s-k{color:var(--brand)}
.s-recruit .star-logo{position:absolute;right:18px;bottom:16px;opacity:.9}
.s-voice{background:#e8f3ff}.s-voice .s-k{color:#1b64da}
.s-wave{position:absolute;right:20px;bottom:24px;width:110px;height:40px;fill:#3182f6;opacity:.75}
.s-wave rect{animation:bnwave 1.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.s-wave rect:nth-child(3n){animation-delay:.2s}.s-wave rect:nth-child(3n+1){animation-delay:.45s}
.s-app{background:#f2f4f6}.s-app .s-k{color:var(--g700)}
.s-app img{position:absolute;right:22px;bottom:20px;border-radius:18px}
.slide .t6{color:var(--g700);position:relative;z-index:1}
.slide-no{position:absolute;right:24px;top:24px;font-size:12px;color:var(--g600);background:rgba(255,255,255,.85);padding:2px 8px;border-radius:10px}
.slide-no b{color:var(--g900)}

/* 하단 탭 — 얇게 */
.tabbar{border-top:1px solid var(--g200)}
.tabbar a{color:var(--g500)}
.tabbar a.on{color:var(--g900)}
.slides{padding:0 16px;scroll-padding:0 16px;gap:8px}
.slide{flex:0 0 calc(100% - 32px);border-radius:16px}
.slide-no{right:28px;top:26px}
/* 날씨 v2 — 배경 없이 네이버 날씨 모양 */
.h-wx2{display:flex;flex-direction:column;align-items:center;padding:20px 24px 22px;text-align:center}
.wx2-top{display:flex;align-items:center;justify-content:center;gap:4px}
.wx2-ico{width:96px;height:96px;animation:wxfloat 4s ease-in-out infinite;margin-right:-6px}
@keyframes wxfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.wx2-ico{animation:none}}
.wx2-t{font-size:64px;line-height:1;font-weight:700;letter-spacing:-2px;color:var(--g900)}
.wx2-l1{margin:10px 0 0;font-size:19px;color:var(--g800)}
.wx2-l1 b{font-weight:600}
.g4{color:var(--g400)}
.wx2-l2{margin:6px 0 0;font-size:15px;color:var(--g600)}
.wx2-l2 b{color:var(--g800);font-weight:600}
.wx2-l2 span{color:var(--g300);margin:0 2px}
.wx2-rain{margin:10px 0 0;font-size:15px;font-weight:600;color:#3182f6;background:#e8f3ff;padding:6px 12px;border-radius:8px}
.wx2-msg{margin:8px 0 0;font-size:14px;color:var(--g500)}
/* 움직이는 큰 날씨 아이콘 */
.wxa{position:relative;display:inline-block;width:96px;height:96px;flex-shrink:0;margin-right:-4px}
.wxa img{position:relative;z-index:1;display:block}
.wxa-cloud{animation:wxsway 3.6s ease-in-out infinite;transform-origin:50% 60%}
.wxa-sun{animation:wxspin 24s linear infinite}
@keyframes wxsway{0%,100%{transform:translateX(-3px) rotate(-2deg)}50%{transform:translateX(3px) rotate(2deg)}}
@keyframes wxspin{to{transform:rotate(360deg)}}
.wxa-rain img,.wxa-snow img{width:88px;height:88px;margin:0 auto}
.wxa-fall{position:absolute;left:0;right:0;top:58px;height:46px;overflow:hidden;z-index:0}
.wxa-fall i{position:absolute;top:-10px;display:block}
.wxa-rain .wxa-fall i{width:3px;height:12px;border-radius:2px;background:#3182f6;animation:wxrain .9s linear infinite}
.wxa-snow .wxa-fall i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #c9e2ff;animation:wxsnow 2.4s linear infinite}
@keyframes wxrain{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(50px);opacity:0}}
@keyframes wxsnow{0%{transform:translate(0,0);opacity:0}15%{opacity:1}50%{transform:translate(4px,24px)}100%{transform:translate(-3px,50px);opacity:0}}
@media (prefers-reduced-motion:reduce){.wxa-cloud,.wxa-sun,.wxa-fall i{animation:none}}
/* 시간대별 띠 */
.wh{width:100%;overflow-x:auto;margin-top:16px;padding-bottom:4px;scrollbar-width:none;text-align:left}
.wh::-webkit-scrollbar{display:none}
.wh-in{position:relative}
.wh-line{display:block}
.wh-line text{font-size:14px;font-weight:600;fill:#333d4b;font-family:inherit}
.wh-cols{display:flex}
.wh-col{width:56px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--g600)}
.wh-col:first-child span{color:var(--g900);font-weight:700}

/* ═════════ 디자인 v3 (10-25 · frontend-design 도구 기준) ═════════
   방향: 오토바이 위에서 햇빛 아래 한눈에 읽는 화면 · 스티커의 검정 + 로고 남색 하나 + 도로 노랑 아주 조금
   숫자 = Barlow(미국 고속도로 표지판 글자) · 한글 = Pretendard */
:root{--ink:#15171C;--brand:#3E3BC9;--brand-press:#3230a8;--brand-weak:#ECEBFB;--road:#FFC929;--sky:#2F6FE4}
.num,.t1,.wx2-t,.wh-line text,.plate-amt{font-family:'Barlow','Pretendard Variable',Pretendard,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}
.topbar .wordmark{font-family:'Barlow',sans-serif;font-style:italic;font-weight:800;font-size:24px;letter-spacing:.5px;color:var(--ink)}
.b-main{background:var(--brand)}.b-main:active{background:var(--brand-press)}
.tabbar svg{width:26px;height:26px}
.tabbar a{gap:2px;font-size:12px}
.tabbar a.on{color:var(--ink);font-weight:700}
.topbar a svg,.topbar span svg{width:26px;height:26px}
/* 대표 요소: 검은 스티커 상자 */
.plate{background:var(--ink);color:#fff;margin:0;padding:22px 24px 20px;display:flex;flex-direction:column;gap:6px;position:relative}
.plate::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;background:repeating-linear-gradient(90deg,var(--road) 0 18px,transparent 18px 30px)}
.plate-top{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#C9CDD6}
.plate-top a{color:#C9CDD6;display:flex;align-items:center;gap:2px;font-size:14px}
.plate-top a svg{width:18px;height:18px}
.plate-amt{font-size:52px;line-height:1.05;font-weight:800;color:#fff}
.plate-amt small{font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:22px;font-weight:600;margin-left:4px}
.plate-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid #2C2F38;font-size:15px;color:#C9CDD6}
.plate-row b{color:#fff;font-size:20px;font-weight:700}
.plate-btn{margin-top:14px;height:54px;border-radius:12px;background:#fff;color:var(--ink);font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center}
.plate-btn:active{background:#E5E8EB}
.bar i{background:var(--brand)}
.row2 b.ok{color:#0E9F6E}
.wx2-rain{color:var(--sky);background:#EAF1FD}
.s-recruit{background:#F1F0FC}.s-recruit .s-k{color:var(--brand)}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

.slide{padding-right:120px}
.slide img{position:absolute;right:18px;bottom:18px;z-index:0}
.s-app img{border-radius:18px}

.slide{padding-right:24px}
.slide .t6{max-width:62%}

/* v3 공통 — 모든 화면 */
.content{padding:12px 16px calc(var(--tab-h) + 20px);gap:10px}
.card{border-radius:16px;padding:20px;gap:10px;border:0;box-shadow:none}
.card h2,.card>h2{font-size:18px;font-weight:700}
.sub{color:var(--g600)}
.row{border-bottom:1px solid var(--g100);min-height:52px}
.row span{color:var(--g800)}
.row b,.row .num{font-family:'Barlow','Pretendard Variable',Pretendard,sans-serif;font-variant-numeric:tabular-nums}
.money,.money-xl{font-family:'Barlow',sans-serif;font-weight:800}
.btn{border-radius:14px;font-weight:600}
.btn-primary{background:var(--brand)}.btn-primary:active{background:var(--brand-press)}
.btn-line{background:var(--g100);border:0;color:var(--g800)}
.badge{border-radius:6px;font-weight:600}
.topbar h1{font-size:20px;font-weight:700}
.chips span{border-color:var(--g200);background:#fff}
.chips input:checked+span{background:var(--ink);border-color:var(--ink)}
.toggle input:checked{background:var(--brand)}
.seg a.on{background:var(--ink)}
/* 정산 맨 위 = 스티커 상자 */
.pay-hero{margin:12px 16px 0;border-radius:16px;background:var(--ink);padding:22px 22px 20px;position:relative;overflow:hidden}
.pay-hero::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;background:repeating-linear-gradient(90deg,var(--road) 0 18px,transparent 18px 30px)}
.ph-label{color:#C9CDD6;opacity:1}
.ph-amt{font-family:'Barlow',sans-serif;font-size:46px;font-weight:800}
.ph-sub{color:#9BA1AD;opacity:1}
.ph-next{border-top-color:#2C2F38;color:#C9CDD6}
.ph-next b{font-family:'Barlow',sans-serif;color:#fff}
.wtabs{background:#fff;margin-top:12px}
.wtabs a.on{border-bottom-color:var(--ink)}
.pf.baemin{background:#2AC1BC}.pf.coupang{background:#3E3BC9}

.v-intro{margin:4px 4px 6px;font-size:15px;line-height:22px;color:var(--g600)}
.v-ico{width:44px;height:44px;border-radius:50%;background:var(--g100);color:var(--g800);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.v-ico svg{width:24px;height:24px}
.avatar{background:var(--ink)}
.topbar .b-sub.sm{height:38px}
.menu-list a{font-size:17px}

/* v3 관리자(PC) — 밝은 왼쪽 메뉴 · 표 정돈 */
.admin{background:var(--g100)}
.admin-nav{background:#fff;color:var(--g800);border-right:1px solid var(--g200)}
.admin-nav a{color:var(--g700);font-size:15px;height:42px;border-radius:10px}
.admin-nav a:hover{background:var(--g50)}
.admin-nav a.on{background:var(--g100);color:var(--ink);font-weight:700}
.admin-nav>a:first-child{color:var(--ink)!important;font-family:'Barlow',sans-serif;font-style:italic;font-weight:800;font-size:20px!important}
.admin-nav div{border-top-color:var(--g200)!important;color:var(--g500)!important}
.admin .card{border:0;border-radius:16px}
.admin-main h1{font-size:26px;font-weight:700;color:var(--ink)}
.kpis .card .num{font-family:'Barlow',sans-serif;font-weight:800;font-size:30px!important;color:var(--ink)}
.table-box{border-radius:16px;background:#fff}
table.t th{background:#fff;color:var(--g500);font-size:13px;font-weight:600;border-bottom:1px solid var(--g200)}
table.t td{border-bottom:1px solid var(--g100);color:var(--g800)}
table.t td.num,table.t .num{font-family:'Barlow',sans-serif;font-variant-numeric:tabular-nums}
.tabs a.on{border-bottom-color:var(--ink)}
.copy{background:var(--g100);border:0;color:var(--g800);border-radius:8px}
.nb{background:#E5484D}
.wd-bar i{background:var(--ink)}
.bar-stack .lg-c,.lg-c{background:#3E3BC9}
.alert{background:#FDECEC;color:#B4232A}

/* 메인 배너(뷰시크식 꽉 찬 화면) — 나노바나나 그림 · 빛 지나감 · 은행잎 */
.home{gap:8px}
.hero2{position:relative;overflow:hidden;background:#15171C;aspect-ratio:12/5;margin:0}
.h2track{display:flex;height:100%;transition:transform .55s cubic-bezier(.22,.7,.2,1)}
.h2slide{flex:0 0 100%;position:relative;overflow:hidden;color:#fff;display:block}
.h2slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;animation:h2zoom 9s ease-in-out infinite alternate}
@keyframes h2zoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.h2scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,18,.72) 0%,rgba(10,12,18,.45) 38%,rgba(10,12,18,0) 66%)}
.h2tx{position:absolute;left:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;max-width:62%;z-index:3}
.h2tx em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--road)}
.h2tx b{font-size:21px;line-height:28px;font-weight:800;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.h2tx span{font-size:13px;opacity:.88}
.h2shine{position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 0%,rgba(255,240,200,.0) 30%,rgba(255,240,200,.28) 50%,rgba(255,240,200,0) 70%,transparent 100%);animation:h2shine 4.5s ease-in-out infinite}
@keyframes h2shine{0%,55%{left:-60%}100%{left:130%}}
.h2leaves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.h2leaves i{position:absolute;top:-14px;width:12px;height:12px;background:radial-gradient(circle at 30% 30%,#FFE58A,#F2B705 70%);border-radius:90% 10% 90% 10%;opacity:0;animation:h2leaf linear infinite}
.h2leaves i:nth-child(1){left:52%;animation-duration:7s;animation-delay:-1s}
.h2leaves i:nth-child(2){left:60%;width:9px;height:9px;animation-duration:8.5s;animation-delay:-3s}
.h2leaves i:nth-child(3){left:68%;animation-duration:6.5s;animation-delay:-5s}
.h2leaves i:nth-child(4){left:75%;width:10px;height:10px;animation-duration:9s;animation-delay:-2s}
.h2leaves i:nth-child(5){left:83%;animation-duration:7.5s;animation-delay:-6s}
.h2leaves i:nth-child(6){left:90%;width:8px;height:8px;animation-duration:8s;animation-delay:-4s}
.h2leaves i:nth-child(7){left:45%;width:8px;height:8px;animation-duration:10s;animation-delay:-7s}
.h2leaves i:nth-child(8){left:96%;animation-duration:6.8s;animation-delay:-.5s}
.h2leaves i:nth-child(9){left:72%;width:7px;height:7px;animation-duration:11s;animation-delay:-8s}
.h2leaves i:nth-child(10){left:58%;animation-duration:9.5s;animation-delay:-9s}
@keyframes h2leaf{0%{transform:translate(0,0) rotate(0);opacity:0}10%{opacity:.95}50%{transform:translate(-18px,110px) rotate(200deg)}100%{transform:translate(10px,230px) rotate(420deg);opacity:0}}
.h2bokeh{position:absolute;inset:0;pointer-events:none;z-index:2}
.h2bokeh i{position:absolute;border-radius:50%;background:rgba(255,214,140,.55);filter:blur(2px);animation:h2twinkle 3s ease-in-out infinite}
.h2bokeh i:nth-child(1){left:58%;top:30%;width:8px;height:8px}
.h2bokeh i:nth-child(2){left:70%;top:22%;width:5px;height:5px;animation-delay:-1s}
.h2bokeh i:nth-child(3){left:84%;top:40%;width:7px;height:7px;animation-delay:-2s}
.h2bokeh i:nth-child(4){left:92%;top:18%;width:4px;height:4px;animation-delay:-.5s}
.h2bokeh i:nth-child(5){left:64%;top:55%;width:6px;height:6px;animation-delay:-1.6s}
@keyframes h2twinkle{0%,100%{opacity:.15;transform:scale(.8)}50%{opacity:.9;transform:scale(1.15)}}
.h2dots{position:absolute;left:20px;bottom:12px;display:flex;gap:5px;z-index:4}
.h2dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.45);transition:width .3s,background .3s;cursor:pointer}
.h2dots i.on{width:18px;background:#fff}
@media (prefers-reduced-motion:reduce){.h2slide img,.h2shine,.h2leaves i,.h2bokeh i{animation:none}.h2shine{display:none}}

/* 메인 배너 v2 — 4:3(세로 2배) · 위쪽 글 · 기능 줄 · 비 효과 */
.hero2{aspect-ratio:4/3}
.h2slide img{object-position:center 70%}
.h2scrim{background:linear-gradient(180deg,rgba(8,10,16,.82) 0%,rgba(8,10,16,.55) 38%,rgba(8,10,16,0) 68%),linear-gradient(0deg,rgba(8,10,16,.55) 0%,rgba(8,10,16,0) 26%)}
.h2tx{left:20px;right:20px;top:22px;transform:none;max-width:none;gap:6px}
.h2tx em{font-size:13px}
.h2tx b{font-size:24px;line-height:32px}
.h2tx ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}
.h2tx li{font-size:13.5px;line-height:19px;color:#E9ECF2;padding-left:16px;position:relative;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.h2tx li::before{content:"";position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--road)}
.h2cta{position:absolute;right:16px;bottom:14px;z-index:4;height:36px;padding:0 14px;border-radius:18px;background:rgba(255,255,255,.95);color:var(--ink);font-size:14px;font-weight:700;display:flex;align-items:center}
.h2dots{left:20px;bottom:27px}
.h2no{position:absolute;right:16px;top:16px;z-index:4;font-size:12px;color:#fff;background:rgba(0,0,0,.35);padding:2px 9px;border-radius:10px;font-family:'Barlow',sans-serif}
.h2no b{font-weight:800}
.h2rain{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.h2rain i{position:absolute;top:-20px;width:1.5px;height:16px;background:linear-gradient(transparent,rgba(200,225,255,.8));animation:h2drop linear infinite}
.h2rain i:nth-child(odd){animation-duration:.9s}.h2rain i:nth-child(even){animation-duration:1.2s}
.h2rain i:nth-child(1){left:8%;animation-delay:-.2s}.h2rain i:nth-child(2){left:15%;animation-delay:-.7s}.h2rain i:nth-child(3){left:23%;animation-delay:-.4s}
.h2rain i:nth-child(4){left:31%;animation-delay:-.9s}.h2rain i:nth-child(5){left:39%;animation-delay:-.1s}.h2rain i:nth-child(6){left:46%;animation-delay:-.6s}
.h2rain i:nth-child(7){left:54%;animation-delay:-.3s}.h2rain i:nth-child(8){left:61%;animation-delay:-.8s}.h2rain i:nth-child(9){left:69%;animation-delay:-.5s}
.h2rain i:nth-child(10){left:76%;animation-delay:-1s}.h2rain i:nth-child(11){left:83%;animation-delay:-.25s}.h2rain i:nth-child(12){left:90%;animation-delay:-.65s}
.h2rain i:nth-child(13){left:95%;animation-delay:-.45s}.h2rain i:nth-child(14){left:4%;animation-delay:-.85s}
@keyframes h2drop{to{transform:translate(-14px,420px)}}
@media (prefers-reduced-motion:reduce){.h2rain i{animation:none;display:none}}
/* 10-25 받을 돈 상자 크기 다듬기 — 다른 구역과 같은 비율 */
.plate{padding:20px 24px 18px;gap:4px}
.plate-amt{font-size:40px}
.plate-amt small{font-size:18px}
.plate-row{margin-top:8px;padding-top:10px}
.plate-row b{font-size:18px}
.plate-btn{margin-top:12px;height:48px;font-size:16px}
.sample-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#FFF4E5;color:#8A4B00;padding:12px 16px;font-size:14px}
.sample-bar a{background:#FEE500;color:#191919;font-weight:700;border-radius:10px;padding:9px 12px;white-space:nowrap}

/* 메인 앱 설치 · 업데이트 띠(10-25) */
.h-install{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;padding:16px 20px}
.h-install span{display:flex;flex-direction:column;gap:2px}
.h-install b{font-size:17px;font-weight:700}
.h-install small{font-size:13px;color:#C9CDD6}
.h-install em{font-style:normal;background:var(--road);color:var(--ink);font-weight:800;font-size:16px;border-radius:12px;padding:12px 18px;white-space:nowrap}

/* 앱 설치·업데이트 줄 다시(10-25 · 토스식 목록 한 줄 — 흰 바탕 · 실제 아이콘 · 연한 글자 버튼) */
.h-install{background:#fff;color:var(--g900);padding:14px 20px;gap:12px;justify-content:flex-start}
.h-install img{width:40px;height:40px;border-radius:10px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.h-install span{flex:1;min-width:0}
.h-install b{font-size:16px;font-weight:600;color:var(--g900)}
.h-install small{font-size:13px;color:var(--g500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-install em{background:#EEF0FF;color:var(--brand);font-weight:600;font-size:14px;border-radius:8px;padding:8px 12px}
.h-install:active{background:var(--g50)}

.plate-note{font-size:13px;color:#9AA0AC;margin-top:-2px}

/* 10-25 총 수입(큰 숫자) · 정산 예정(공제 후) */
.plate-pay span{display:flex;flex-direction:column;gap:1px}
.plate-pay span small{font-size:12px;color:#8C93A0}
.plate-pay b{font-size:22px;color:var(--road)}
.plate-sub{margin-top:0;border-top:0;padding-top:4px}

.ph-pay span{display:flex;flex-direction:column;gap:1px}
.ph-pay span small{font-size:12px;opacity:.75}
.ph-pay b{font-size:22px;color:var(--road)}
/* 10-25 금액 카드 — 농협 앱 계좌 카드 느낌(사장님): 노란 점선 없음 · 파랑→청록 그라데이션 · 은은한 빛 */
.plate,.pay-hero{position:relative;overflow:hidden;margin:12px 16px;border-radius:22px;padding:22px 22px 18px;color:#fff;
  background:radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 45%),
             linear-gradient(135deg,#1F5BD8 0%,#1C7FD0 48%,#17A9B8 100%);
  box-shadow:0 10px 24px -12px rgba(23,95,200,.55)}
.plate::before,.pay-hero::before{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;height:120%;left:auto;right:-20%;top:auto;bottom:-70%;
  background:radial-gradient(closest-side,rgba(255,255,255,.18),rgba(255,255,255,0));pointer-events:none;border:0;height:140%}
.plate::after,.pay-hero::after{content:"";position:absolute;left:-40%;top:0;width:40%;height:100%;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.16),rgba(255,255,255,0));animation:cardShine 6s ease-in-out infinite;pointer-events:none}
@keyframes cardShine{0%,70%{left:-40%}100%{left:120%}}
@media (prefers-reduced-motion:reduce){.plate::after,.pay-hero::after{animation:none;display:none}}
.plate-top,.plate-top a,.ph-label{color:rgba(255,255,255,.85)}
.plate-amt,.ph-amt{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.08)}
.plate-row,.ph-next{border-top:0;margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(2px)}
.plate-pay b,.ph-pay b{color:#fff;font-size:22px}
.plate-pay span small,.ph-pay span small{color:rgba(255,255,255,.75)}
.plate-sub{background:transparent;margin-top:2px;padding:6px 14px 0}
.plate-sub b{color:#fff}
.plate-note,.ph-sub{color:rgba(255,255,255,.75)}
.plate-btn{background:#fff;color:#1F5BD8;position:relative;z-index:1}
.plate>*,.pay-hero>*{position:relative;z-index:1}

/* 10-25 출금 — 카카오페이·은행 앱 송금 화면 방식 */
.wd{display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - 120px)}
.wd-acct{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--g50);color:var(--g900)}
.wd-acct b{display:block;font-size:16px}.wd-acct small{display:block;font-size:13px;color:var(--g500)}
.wd-bank{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1F5BD8,#17A9B8);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wd-bank-lg{width:56px;height:56px;font-size:18px;margin:0 auto}
.wd-amt-box{text-align:center;padding:18px 0 4px}
.wd-amt{font-size:38px;font-weight:800;color:var(--g900);min-height:48px}
.wd-ph{font-size:26px;font-weight:600;color:var(--g400)}
.wd-kor{font-size:14px;color:var(--g500);min-height:20px;margin-top:4px}
.wd-avail{margin-top:10px;font-size:14px;color:var(--g600)}.wd-avail b{color:var(--g900)}
.wd-err{margin-top:6px;font-size:14px;color:#E5484D}
.wd-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wd-quick button{height:40px;border-radius:12px;border:0;background:var(--g100);color:var(--g800);font:inherit;font-size:15px;font-weight:600}
.wd-quick button:active{background:var(--g200)}
.wd-pad{display:grid;grid-template-columns:repeat(3,1fr);margin-top:auto}
.wd-pad button{height:60px;border:0;background:transparent;font:inherit;font-size:26px;font-weight:600;color:var(--g900);border-radius:14px;font-family:'Barlow','Pretendard Variable',sans-serif}
.wd-pad button:active{background:var(--g100)}
.wd-next{height:56px;font-size:17px}
.wd-next:disabled{background:var(--g200);color:var(--g400)}
.wd-dim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50}
.wd-sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;background:#fff;border-radius:24px 24px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;text-align:center;animation:sheetUp .22s ease-out;max-width:560px;margin:0 auto}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.wd-sheet-to{font-size:16px;color:var(--g700);margin-top:8px}
.wd-sheet-amt{font-size:24px;color:var(--g900)}
.wd-sheet-rows{margin:12px 0 6px;padding:14px 16px;border-radius:14px;background:var(--g50);display:flex;flex-direction:column;gap:8px;text-align:left}
.wd-sheet-rows div{display:flex;justify-content:space-between;font-size:15px}.wd-sheet-rows span{color:var(--g500)}
.wd-sheet-btns{display:grid;grid-template-columns:1fr 2fr;gap:8px}
.wd-done{text-align:center;padding:56px 0 24px;display:flex;flex-direction:column;gap:10px;align-items:center}
.wd-check{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#1F5BD8,#17A9B8);display:flex;align-items:center;justify-content:center;animation:pop .35s ease-out}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.wd-done-amt{font-size:32px;color:var(--g900)}
.wd-done-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:28px}

.wd{min-height:calc(100dvh - 160px)}
.wd-pad button{height:54px}

/* 정산 예정 줄 — 금액이 두 줄로 꺾이지 않게 */
.plate-pay,.ph-pay{gap:10px;align-items:center}
.plate-pay span,.ph-pay span{flex:1;min-width:0}
.plate-pay b,.ph-pay b{white-space:nowrap;flex-shrink:0;font-size:21px}
.ph-pay span{font-size:14px;word-break:keep-all}

.wtabs{grid-template-columns:32px 1fr 1fr 1fr 32px}
/* 10-25 정산 탭 — 지난주·이번 주·오늘 세 칸 같은 너비 · 좌우 화살표 자리 같게 */
.wtabs{display:grid!important;grid-template-columns:36px 1fr 1fr 1fr 36px!important;align-items:stretch}
.wtabs>a,.wtabs>span{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;padding:14px 0}
.wtabs>a[aria-label]{color:var(--g400);font-size:18px}

/* 10-25 사장님: 정산 카드의 출금 버튼이 하단 메뉴 위로 올라와 가렸다 → 하단 메뉴를 항상 맨 위에 · 「정산 예정」 글자 줄바꿈 금지 */
.tabbar{z-index:40}
.plate-pay span em,.ph-pay span em{font-style:normal;white-space:nowrap}
.al-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:6px}
.al-row .toggle{flex:1;min-width:0;border:0}
.al-test{flex-shrink:0;height:38px;padding:0 14px;font-size:14px}
/* 10-25 「두 줄로 밀린다」 — 정산 비교 줄: 이름은 줄여도 숫자는 한 줄 */
.cmp-row{border:0;padding:2px 0;gap:10px;flex-wrap:nowrap}
.cmp-row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-row span small{font-size:13px;color:var(--text-3);margin-left:4px}
.cmp-row b{white-space:nowrap;flex-shrink:0}

/* ── 보이스톡 방(10-25 사장님 「초등학생 숙제 같다」 → 채팅 위주 · 마이크만 항상 · 나머지는 ≡ 메뉴) ── */
.vr{--vr-blue:#1F5BD8;--vr-ink:#191F28;--vr-sub:#8B95A1;--vr-line:#E5E8EB;--vr-bg:#F2F4F6;background:var(--vr-bg);min-height:100dvh;display:flex;flex-direction:column}
.vr-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;padding:8px 6px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--vr-line)}
.vr-ic{width:44px;height:44px;border:0;background:none;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--vr-ink);flex-shrink:0}
.vr-ic[hidden]{display:none}
.vr-ic span{width:24px;height:24px;display:block}
.vr-ic:active{background:var(--vr-bg)}
.vr-ttl{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.vr-ttl b{font-size:17px;font-weight:700;color:var(--vr-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vr-ttl span{font-size:13px;color:var(--vr-sub)}
.vr-pre{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.vr-pre[hidden]{display:none}
.vr-pre-card{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:28px 22px 22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 30px rgba(0,27,55,.06)}
.vr-pre-ico{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#1F5BD8,#17A9B8);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.vr-pre-card h2{font-size:22px;font-weight:800;color:var(--vr-ink);margin:0}
.vr-pre-card p{font-size:15px;line-height:1.55;color:var(--vr-sub);margin:0 0 8px}
.vr-lbl{font-size:13px;font-weight:600;color:var(--vr-sub)}
.vr-join{height:56px;font-size:17px;border-radius:16px;margin-top:6px;background:var(--vr-blue)}
.vr-live{flex:1;display:flex;flex-direction:column;min-height:0;height:calc(100dvh - 61px)}
.vr-live[hidden]{display:none}
.vr-peers{display:flex;gap:14px;overflow-x:auto;padding:12px 16px 10px;background:#fff;border-bottom:1px solid var(--vr-line);scrollbar-width:none;flex-shrink:0}
.vr-peers::-webkit-scrollbar{display:none}
.vr-peers .peer{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;width:58px;padding:0;background:none}
.vr-peers .peer .av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#1F5BD8,#17A9B8);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:box-shadow .15s;position:relative}
.vr-peers .peer.talk .av{box-shadow:0 0 0 3px #fff,0 0 0 5px #12B886}
.vr-peers .peer.muted .av{background:#C9CED6}
.vr-peers .peer.muted .av::after{content:"";position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;background:#F04452;border:2px solid #fff}
.vr-peers .peer .nm{font-size:12px;font-weight:600;color:var(--vr-ink);max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vr-peers .peer .tg{display:none}
.vr-chat{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:16px;max-height:none}
.vr-chat .cm{max-width:78%;gap:4px}
.vr-chat .cm .who{font-size:12px;color:var(--vr-sub);padding:0 4px}
.vr-chat .cm .bd{background:#fff;color:var(--vr-ink);padding:10px 14px;border-radius:4px 18px 18px 18px;font-size:16px;line-height:1.45;box-shadow:0 1px 2px rgba(0,27,55,.05)}
.vr-chat .cm.mine .bd{background:var(--vr-blue);color:#fff;border-radius:18px 4px 18px 18px}
.vr-chat .cm img,.vr-chat .cm video{border-radius:14px;max-width:230px}
.vr-compose{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-top:1px solid var(--vr-line);flex-shrink:0}
.vr-attach{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--vr-sub);cursor:pointer;flex-shrink:0}
.vr-attach:active{background:var(--vr-bg)}
.vr-input{flex:1;min-width:0;height:42px;border:0;border-radius:21px;background:var(--vr-bg);padding:0 16px;font-size:16px;color:var(--vr-ink);outline:none;font-family:inherit}
.vr-input:focus{box-shadow:0 0 0 2px rgba(31,91,216,.25)}
.vr-send{width:42px;height:42px;border:0;border-radius:50%;background:var(--vr-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vr-send:active{transform:scale(.94)}
.vr-dock{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;flex-shrink:0}
.vr-mic{width:100%;height:58px;border:0;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:17px;font-weight:700;font-family:inherit;transition:background .15s,transform .1s}
.vr-mic:active{transform:scale(.98)}
.vr-mic.on{background:var(--vr-blue);color:#fff;box-shadow:0 6px 18px rgba(31,91,216,.28)}
.vr-mic.off{background:#FFEEF0;color:#F04452}
.vr-mic-ico{width:24px;height:24px;background:currentColor;-webkit-mask:var(--mic) center/contain no-repeat;mask:var(--mic) center/contain no-repeat;--mic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E")}
.vr-mic.off .vr-mic-ico{--mic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3M3 3l18 18'/%3E%3C/svg%3E")}
.vr-dim{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40}
.vr-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-width:560px;margin:0 auto;background:#fff;border-radius:24px 24px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:sheetUp .22s ease-out}
.vr-sheet[hidden],.vr-dim[hidden]{display:none}
.vr-grab{width:40px;height:4px;border-radius:2px;background:var(--vr-line);margin:0 auto 6px}
.vr-row-h{display:flex;justify-content:space-between;align-items:center}
.vr-row-h b{font-size:16px;color:var(--vr-ink)}
.vr-val{font-size:14px;font-weight:700;color:var(--vr-blue);background:#EBF2FF;padding:4px 10px;border-radius:10px}
.vr-sheet input[type=range]{width:100%;accent-color:var(--vr-blue);height:28px;margin-top:-6px}
.vr-sw{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--vr-line);cursor:pointer;position:relative}
.vr-sw>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.vr-sw b{font-size:16px;color:var(--vr-ink)}
.vr-sw small{font-size:13px;color:var(--vr-sub);line-height:1.4}
.vr-sw input{position:absolute;opacity:0;pointer-events:none}
.vr-sw i{width:50px;height:30px;border-radius:15px;background:#D1D6DB;position:relative;flex-shrink:0;transition:background .2s}
.vr-sw i::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.vr-sw input:checked+i{background:var(--vr-blue)}
.vr-sw input:checked+i::after{transform:translateX(20px)}
.vr-tip{font-size:12px;color:var(--vr-sub);line-height:1.5;margin:0;padding:10px 12px;background:var(--vr-bg);border-radius:12px}
.vr-btn-line{height:50px;border:1px solid var(--vr-line);border-radius:14px;background:#fff;color:var(--vr-ink);font-size:16px;font-weight:600;font-family:inherit}
.vr-btn-out{height:52px;border:0;border-radius:14px;background:#FFEEF0;color:#F04452;font-size:16px;font-weight:700;font-family:inherit}

/* 알림 설정 · 음성 알림 크기(10-25) */
.al-vol{display:flex;flex-direction:column;gap:6px;padding:10px 0 8px}
.al-vol[hidden]{display:none}
.al-vol-h{display:flex;justify-content:space-between;align-items:center}
.al-vol-v{font-size:14px;font-weight:700;color:#1F5BD8;background:#EBF2FF;padding:3px 10px;border-radius:10px}
.al-vol-r{display:flex;align-items:center;gap:8px}
.al-vol-r input{flex:1;min-width:0;accent-color:#1F5BD8;height:30px}

/* ── 소득(수수료) 지급 확인서(10-25) — 화면에서는 종이처럼 · 인쇄/PDF 는 A4 한 장 ── */
.inc-chips{display:flex;flex-wrap:wrap;gap:8px}
.inc-chip input{position:absolute;opacity:0;pointer-events:none}
.inc-chip span{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--line);background:#fff;font-size:15px;color:var(--text-1);cursor:pointer}
.inc-chip input:checked+span{background:#1F5BD8;border-color:#1F5BD8;color:#fff;font-weight:700}
.inc-wrap{background:#E9ECF0;min-height:100dvh;padding:12px 10px 40px}
.inc-bar{display:flex;gap:8px;max-width:720px;margin:0 auto 12px}
.inc-bar .btn{flex:1;height:48px}
.inc-doc{max-width:720px;margin:0 auto;background:#fff;color:#111;padding:34px 26px 28px;box-shadow:0 2px 14px rgba(0,0,0,.08);font-family:'Pretendard Variable',Pretendard,'Malgun Gothic',sans-serif}
.inc-no{text-align:right;font-size:12px;color:#555}
.inc-doc h1{text-align:center;font-size:24px;font-weight:800;letter-spacing:.06em;margin:14px 0 22px;padding-bottom:14px;border-bottom:2px solid #111}
.inc-info,.inc-tbl{width:100%;border-collapse:collapse;font-size:14px}
.inc-info th,.inc-info td,.inc-tbl th,.inc-tbl td{border:1px solid #9AA0A8;padding:8px 9px;text-align:left;vertical-align:middle}
.inc-info th{width:72px;background:#F3F5F7;font-weight:700;white-space:nowrap}
.inc-tbl{margin-top:16px}
.inc-tbl thead th{background:#F3F5F7;text-align:center;font-weight:700}
.inc-tbl thead th small{display:block;font-size:11px;font-weight:500;color:#555}
.inc-tbl td{text-align:center}
.inc-tbl td.num,.inc-tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.inc-tbl tfoot th{background:#F7F8FA;text-align:center}
.inc-tbl tfoot th.num{text-align:right}
.inc-unit{text-align:right;font-size:12px;color:#555;margin:4px 0 0}
.inc-stmt{font-size:15px;line-height:1.7;margin:22px 0 10px;text-align:center}
.inc-date{text-align:center;font-size:15px;margin:18px 0}
.inc-sign{display:flex;justify-content:center;align-items:center;gap:18px;margin:10px 0 22px}
.inc-co{display:flex;flex-direction:column;align-items:center;gap:2px}
.inc-co b{font-size:20px;font-weight:800;letter-spacing:.04em}
.inc-co span{font-size:14px}
.inc-seal{font-size:14px;color:#444;border:1px dashed #9AA0A8;border-radius:50%;width:84px;height:84px;display:flex;align-items:center;justify-content:center;text-align:center}
.inc-foot{border-top:1px solid #C9CED6;padding-top:12px;display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:#555;line-height:1.5}
@media (max-width:420px){.inc-doc{padding:24px 14px 20px}.inc-info,.inc-tbl{font-size:12.5px}.inc-info th,.inc-info td,.inc-tbl th,.inc-tbl td{padding:6px 5px}.inc-doc h1{font-size:20px}}
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff!important}
  .no-print,.tabbar,.topbar{display:none!important}
  .inc-wrap{background:#fff;padding:0}
  .inc-doc{box-shadow:none;max-width:none;padding:0}
}
.inc-link{display:flex;flex-direction:row;align-items:center;gap:12px;color:var(--text-1)}
.inc-link>span:first-child{flex:1;display:flex;flex-direction:column;gap:3px}
.inc-link b{font-size:17px}
.inc-link small{font-size:13px;color:var(--text-3)}
.inc-go{width:22px;height:22px;color:var(--text-3)}

/* ── 보이스톡 목록(10-25) — 제목은 줄바꿈해서 전부 보이게 · 내 방은 ▶ 로 통화 ── */
.vl-row{flex-direction:row!important;align-items:center;gap:10px;padding:14px 14px 14px 16px}
.vl-main{flex:1;min-width:0;display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}
.vl-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.vl-ttl{font-size:18px;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.vl-sub{font-size:14px;color:var(--text-2,#6B7280)}
.vl-live{color:#12A150;font-weight:700}
.vl-new{color:#1F5BD8;font-weight:700}
.vl-play{flex:none;width:48px;height:48px;border-radius:50%;background:#1F5BD8;color:#fff;display:flex;align-items:center;justify-content:center;padding-left:3px}
.vl-play:active{transform:scale(.94)}
.vl-h{font-size:16px;font-weight:800;margin:6px 4px 0;display:flex;flex-direction:column;gap:2px}
.vl-h small{font-size:13px;font-weight:500;color:var(--text-2,#6B7280)}
/* 방 안 — 통화 쉬기 / 통화 시작 */
.vr-dock{display:flex;align-items:center;gap:10px}
.vr-dock .vr-mic{flex:1}
.vr-pause{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:76px;height:60px;border-radius:16px;border:1px solid var(--line,#E5E7EB);background:#fff;color:var(--text-1,#111);font-size:12px;font-weight:700}
.vr-play{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:60px;border-radius:16px;border:0;background:#1F5BD8;color:#fff;font-size:17px;font-weight:800}
.vr-play:disabled{opacity:.6}
#dockPause{flex-direction:column;align-items:stretch;gap:6px}
#dockPause .vr-play{flex:none;width:100%}
.vr-pause-tip{text-align:center;font-size:13px;color:var(--text-2,#6B7280)}
.vr-peers.paused .peer{opacity:.75}
.vr-dock[hidden]{display:none!important}

.vr-pause.on{background:#EAF1FF;border-color:#1F5BD8;color:#1F5BD8}
.vr-pause[hidden]{display:none}
