/* v3.css (v80, 2026-10-20): 디자인 다듬기 (시안 보드 "디자인 다듬기: 지금과 다듬은 안"). 맨 마지막에 읽는다.
   - 색: 차가운 회색 한 벌, 강조색은 브랜드 파랑 하나(그래프 1계열도 파랑), 주의는 코랄. 로고의 남색은 로고에만.
     여러 계열은 파랑 단계(--v-c2..c5), 비교선은 회색(--v-mute). 투자 손익은 국내 관례: 오르면 빨강(--v-up), 내리면 파랑(--v-down).
   - 모양: 단추, 고르기, 칩, 입력칸은 테두리 없이 면으로 채움. 흰 면 위는 --v-fill, 회색 바탕 위는 흰색.
     모서리: 카드 24, 단추 12, 고르기 단추 10, 상태 표시 8, 칩은 알약.
   - 휴대폰(767 이하) v2 화면: 카드를 화면 끝까지 펼친 흰 구역으로, 구역 사이는 회색 띠 12px. 바탕은 흰색.
   - 글자: 큰 숫자 34, 기간 22, 구역 제목 휴대폰 20 / PC 18, 목록 16, 꼬리표는 --v-ink4.
   새 화면(3단계)은 .v2 틀, .l2-card, L2Head, PeriodBar와 이 파일의 .v3-* 부품(v3.js)을 쓴다. */

:root,:root[data-theme="light"]{
  --v-ground:#F2F4F6;--v-card:#FFFFFF;--v-ink:#191F28;--v-ink2:#4E5968;--v-ink3:#6B7684;--v-ink4:#8B95A1;--v-line:#EEF0F3;--v-track:#F2F4F6;--v-track2:#E5E8EB;
  --v-fill:#F2F4F6;--v-fill2:#E8EBEF;
  --v-navy:#2F5BFF;--v-blue:#2F5BFF;--v-blue-bg:#EEF2FF;--v-coral:#FF6B5A;--v-coral-t:#E0433A;--v-coral-bg:#FFF0EE;--v-peri:#9DB2FF;--v-mute:#B0B8C1;--v-icon3:#B0B8C1;
  --v-inc1:#4E5968;--v-inc2:#B0B8C1;--v-inc3:#E5E8EB;--v-g0:#D1D6DB;--v-green:#12B886;--v-amber:#B7791F;--v-amber-bg:#FFF6E5;
  --v-c2:#6C8BFF;--v-c3:#9DB2FF;--v-c4:#C9D5FF;--v-c5:#E3E9FF;--v-bench:#4E5968;--v-up:#E0433A;--v-down:#2F5BFF;
  --v-shadow:0 8px 28px rgba(25,31,40,.07),0 0 0 1px rgba(25,31,40,.03)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --v-ground:#101114;--v-card:#1B1D22;--v-ink:#F2F4F7;--v-ink2:#B5BDC9;--v-ink3:#8B93A1;--v-ink4:#6E7682;--v-line:#2A2D34;--v-track:#2A2D34;--v-track2:#353942;
  --v-fill:#262930;--v-fill2:#1F2228;
  --v-navy:#6F8DFF;--v-blue:#7D98FF;--v-blue-bg:#1C2340;--v-coral:#FF8B78;--v-coral-t:#FF9D8C;--v-coral-bg:#3A201C;--v-peri:#4F5FB5;--v-mute:#5D6573;--v-icon3:#6E7682;
  --v-inc1:#B5BDC9;--v-inc2:#6A717D;--v-inc3:#3D424B;--v-g0:#454A54;--v-green:#3CCF94;--v-amber:#F2B44A;--v-amber-bg:#2F2412;
  --v-c2:#5571E0;--v-c3:#4459B0;--v-c4:#344486;--v-c5:#283459;--v-bench:#B5BDC9;--v-up:#FF7A6E;--v-down:#7D98FF;
  --v-shadow:0 8px 28px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.05)}}
:root[data-theme="dark"]{
  --v-ground:#101114;--v-card:#1B1D22;--v-ink:#F2F4F7;--v-ink2:#B5BDC9;--v-ink3:#8B93A1;--v-ink4:#6E7682;--v-line:#2A2D34;--v-track:#2A2D34;--v-track2:#353942;
  --v-fill:#262930;--v-fill2:#1F2228;
  --v-navy:#6F8DFF;--v-blue:#7D98FF;--v-blue-bg:#1C2340;--v-coral:#FF8B78;--v-coral-t:#FF9D8C;--v-coral-bg:#3A201C;--v-peri:#4F5FB5;--v-mute:#5D6573;--v-icon3:#6E7682;
  --v-inc1:#B5BDC9;--v-inc2:#6A717D;--v-inc3:#3D424B;--v-g0:#454A54;--v-green:#3CCF94;--v-amber:#F2B44A;--v-amber-bg:#2F2412;
  --v-c2:#5571E0;--v-c3:#4459B0;--v-c4:#344486;--v-c5:#283459;--v-bench:#B5BDC9;--v-up:#FF7A6E;--v-down:#7D98FF;
  --v-shadow:0 8px 28px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.05)}

/* ---------- 글자 ---------- */
.v2{letter-spacing:-.01em}
.l2-h h2,.l2-th h2{font-size:18px;line-height:26px;letter-spacing:-.025em}
.l2-h h2 small{font-size:14px;color:var(--v-ink4);letter-spacing:-.01em}
.lpb-lab{font-size:22px;letter-spacing:-.03em}
.lpb-lab .ico{color:var(--v-ink4)}
.lpb-arw{color:var(--v-ink4)}
.l2-money b{font-size:34px;letter-spacing:-.035em;line-height:1.2}
.l2-money span{font-size:28px;font-weight:700;letter-spacing:-.03em}
.l2-more,.l2-more .ico{color:var(--v-ink3)}
.l2-more .ico{color:var(--v-ink4)}

/* ---------- 카드 ---------- */
.l2-card{border-radius:24px;padding:22px}
.l2-tile{border-radius:16px}

/* ---------- 단추와 고르기: 테두리 없이 채움 (흰 면 안 --v-fill) ---------- */
.l2-ddb,.l2-btn,.gosh-now,.l2-fchip,.l2-tog,.ih2-chip,.bc2 .bw-c,.ms2-set,.ms2 .bch-undo,.ms2-nav,.ms2-cf-b button,.ms2-chips button,.ms2-tg{border:0!important;background:var(--v-fill)}
.l2-ddb{border-radius:12px}
.l2-dd.sm .l2-ddb{border-radius:10px}
.l2-ddb[aria-expanded="true"]{box-shadow:inset 0 0 0 1.5px var(--v-ink)}
.l2-btn{border-radius:10px}
.ms2-in textarea{border:0!important;background:var(--v-fill)}
.ms2-av.bt{border:0;background:var(--v-fill)}
/* 회색 바탕 위(PC 제목 줄, 휴대폰이 아닌 바탕)의 단추는 흰색 */
@media (min-width:768px){
  .v2>.phead .l2-ddb,.v2>.lpb .l2-ddb,.v2>.phead .l2-btn,.v2>.v3-tools .l2-ddb,.v2>.v3-tools .v3-btn{background:var(--v-card)}
}
.ai-top{border:0!important;background:var(--surface)}
@media (hover:hover){.ai-top:hover{background:var(--v-fill)}}

/* ---------- 아래 탭과 섹션 탭 ---------- */
@media (max-width:1099px){
  .sec-tabs button{font-size:16px;font-weight:600;color:var(--v-ink4)}
  .sec-tabs button[aria-current="page"]{color:var(--v-ink);font-weight:700}
}
.tabbar.nav-logos button{color:var(--v-ink4)}

/* ---------- 휴대폰: 카드를 끝까지 펼친 흰 구역 + 회색 띠 ---------- */
@media (max-width:767px){
  body:has(.v2){background:var(--v-card)}
  .app:has(.v2){--bg:var(--v-card);--bg-fade:var(--v-card)}
  .app:has(.v2) .mtop{background:var(--v-card)}
  .v2 .l2-card,.v2 .v3-sec{margin-left:calc(-1 * var(--gut,20px));margin-right:calc(-1 * var(--gut,20px));border-radius:0;padding:24px var(--gut,20px) 18px;border-top:12px solid var(--v-ground)!important;box-shadow:none}
  .v2 .l2-h h2,.v2 .l2-th h2{font-size:20px;line-height:28px;letter-spacing:-.03em}
  .v2 .qline-in{background:var(--v-fill)}
  .v2 .mk-home{border-radius:0;margin-left:calc(-1 * var(--gut,20px));margin-right:calc(-1 * var(--gut,20px))}
  /* 마지막 구역 아래(메모 붙이기 등)는 회색 바탕 */
  .v2>.v3-foot{margin:0 calc(-1 * var(--gut,20px));padding:16px var(--gut,20px) 8px;background:var(--v-ground);box-shadow:0 -12px 0 var(--v-ground)}
}

/* ---------- 3단계 공용 부품 (v3.js) ---------- */
/* 구역: .l2-card와 같은 흰 면. 이름이 다른 이유는 카드 안 카드 등 다른 규칙과 겹치지 않게 */
.v3-sec{background:var(--v-card);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:16px;min-width:0;color:var(--v-ink);position:relative}
/* 조작 줄 (기간 줄 아래 고르기와 단추) */
.v3-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.v3-tools>.v3-grow{flex:1;min-width:0}
/* 고르기 (두세 칸) */
.v3-seg{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--v-fill);flex:none}
.v3-seg.full{display:flex;width:100%}
.v3-seg button{height:32px;padding:0 14px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--v-ink2);white-space:nowrap;cursor:pointer}
.v3-seg.full button{flex:1}
.v3-seg button[aria-pressed="true"],.v3-seg button[aria-selected="true"]{background:var(--v-card);color:var(--v-ink);font-weight:700;box-shadow:0 1px 3px rgba(25,31,40,.12)}
@media (min-width:768px){.v2>.v3-tools .v3-seg,.v2>.phead .v3-seg{background:var(--v-fill2)}}
/* 단추 (채운 면) */
.v3-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:0;border-radius:12px;background:var(--v-fill);font:inherit;font-size:14px;font-weight:600;color:var(--v-ink);white-space:nowrap;cursor:pointer}
.v3-btn.sm{height:32px;padding:0 12px;border-radius:10px;font-size:13px}
.v3-btn.pri{background:var(--v-ink);color:var(--v-card)}
.v3-btn.blue{background:var(--v-blue);color:#fff}
.v3-btn.soft{background:var(--v-blue-bg);color:var(--v-blue)}
.v3-btn[disabled]{opacity:.45;cursor:default}
.v3-btn .ico{flex:none}
@media (hover:hover){.v3-btn:not(.pri):not(.blue):not([disabled]):hover{background:var(--v-fill2)}}
/* 칩 (조건, 사람): 꺼짐은 채운 회색, 켜짐은 먹색 */
.v3-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.v3-chips.one{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * var(--gut,20px));padding-right:var(--gut,20px)}
.v3-chips.one::-webkit-scrollbar{display:none}
.v3-chip{flex:none;display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px 0 14px;border:0;border-radius:999px;background:var(--v-fill);font:inherit;font-size:14px;font-weight:600;color:var(--v-ink);white-space:nowrap;cursor:pointer}
.v3-chip[aria-pressed="true"],.v3-chip.on{background:var(--v-ink);color:var(--v-card)}
.v3-chip .ico{flex:none;color:var(--v-ink3)}
.v3-chip[aria-pressed="true"] .ico,.v3-chip.on .ico{color:var(--v-card)}
.v3-chip>i.dot{flex:none;width:8px;height:8px;border-radius:999px}
/* 검색칸 */
.v3-search{display:flex;align-items:center;gap:8px;height:48px;padding:0 6px 0 14px;border-radius:14px;background:var(--v-fill);min-width:0}
.v3-search:focus-within{box-shadow:inset 0 0 0 1.5px var(--v-ink);background:var(--v-card)}
.v3-search>.ico{flex:none;color:var(--v-ink3)}
.v3-search input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font:inherit;font-size:16px;color:var(--v-ink)}
.v3-search input::placeholder{color:var(--v-ink4)}
.v3-search .v3-x{flex:none;width:32px;height:32px;border:0;border-radius:999px;background:none;color:var(--v-ink3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
/* 상태 표시 */
.v3-pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--v-fill);color:var(--v-ink2)}
.v3-pill.ok{background:var(--v-blue-bg);color:var(--v-blue)}
.v3-pill.warn{background:var(--v-coral-bg);color:var(--v-coral-t)}
.v3-pill.hot{background:var(--v-coral);color:#fff}
/* 막대: 바탕 --v-track, 채움 파랑, 넘으면 코랄. 오늘 표시는 작은 먹색 세로 막대 */
.v3-bar{position:relative;height:8px;border-radius:999px;background:var(--v-track)}
.v3-bar.thin{height:5px}.v3-bar.xthin{height:4px}.v3-bar.thick{height:10px}
.v3-bar>i{display:block;height:100%;border-radius:999px;background:var(--v-blue);max-width:100%}
.v3-bar.soft>i{background:var(--v-c2)}
.v3-bar.over>i,.v3-bar>i.over{background:var(--v-coral)}
.v3-bar>b{position:absolute;top:-3px;width:3px;height:calc(100% + 6px);margin-left:-1.5px;border-radius:2px;background:var(--v-ink);box-shadow:0 0 0 2px var(--v-card)}
/* 큰 숫자 */
.v3-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 2px;font-size:34px;line-height:1.2;font-weight:700;letter-spacing:-.035em;color:var(--v-ink);font-variant-numeric:tabular-nums}
.v3-big>small{font-size:28px;font-weight:700;letter-spacing:-.03em}
.v3-lab{font-size:15px;font-weight:500;color:var(--v-ink3)}
/* 범례 (누르면 계열을 빼고 넣음, 숫자도 다시 계산) */
.v3-legend{display:flex;flex-wrap:wrap;gap:6px 14px;min-width:0}
.v3-legend button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 2px;border:0;background:none;font:inherit;font-size:13px;color:var(--v-ink2);white-space:nowrap;cursor:pointer;font-variant-numeric:tabular-nums}
.v3-legend button>i{flex:none;width:16px;height:3px;border-radius:2px}
.v3-legend button>i.sq{width:10px;height:10px;border-radius:3px}
.v3-legend button>i.dash{height:0;border-top:2px dashed;background:none!important}
.v3-legend button>b{font-weight:700;color:var(--v-ink)}
.v3-legend button[aria-pressed="false"]{color:var(--v-ink4);text-decoration:line-through;text-decoration-color:var(--v-ink4)}
.v3-legend button[aria-pressed="false"]>i{opacity:.3}
.v3-legend button[aria-pressed="false"]>b{color:var(--v-ink4)}
/* 목록 줄 */
.v3-row{display:flex;align-items:center;gap:12px;min-height:56px;min-width:0}
.v3-row .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.v3-row .t>b{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--v-ink);word-break:keep-all;overflow-wrap:anywhere}
.v3-row .t>small{font-size:13px;color:var(--v-ink3);word-break:keep-all;overflow-wrap:anywhere}
.v3-row .r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums}
.v3-row .r>b{font-size:16px;font-weight:600;color:var(--v-ink);white-space:nowrap}
.v3-row .r>small{font-size:12px;color:var(--v-ink3);white-space:nowrap}
/* 사람 표시 (옅은 바탕에 사람 색 글자) */
.v3-av{flex:none;width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;background:color-mix(in srgb,var(--av,var(--v-blue)) 12%,var(--v-card));color:var(--av,var(--v-blue))}
/* 금액 색: 투자 손익(오르면 빨강, 내리면 파랑), 수입(파랑), 주의(코랄) */
.v3-up{color:var(--v-up)!important}.v3-down{color:var(--v-down)!important}.v3-inc{color:var(--v-blue)!important}.v3-warn{color:var(--v-coral-t)!important}
/* 메모 붙이기 등 마지막 줄 */
.v3-foot{display:flex;justify-content:center}
/* 표 (PC): 열 이름 한 번, 숫자 오른쪽 맞춤 */
.v3-th{font-size:12px;font-weight:500;color:var(--v-ink3);white-space:nowrap}
.v3-num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}

/* ---------- 휴대폰 입력칸 글자 16px (iOS가 입력칸을 누를 때 화면을 확대하지 않게) ---------- */
@media (max-width:1099px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),textarea,select{font-size:16px!important}
}

/* ---------- 회색 바탕 위 조작(메신저 입력 줄, PC 제목 줄): 흰 면 ---------- */
.ms2-chips button,.ms2-tg,.ms2-in textarea{background:var(--v-card)}
@media (min-width:768px){
  .v2 .phead .btn.pnote,.bc2 .bw-c,.v2>.phead .acts>.btn{border:0!important;background:var(--v-card)!important;box-shadow:none!important}
  .v2 .phead .btn.pnote.on{box-shadow:inset 0 0 0 1.5px var(--v-ink)!important}
}

/* ---------- 오른쪽 위 알림, 설정 단추: 테두리 없음 (휴대폰은 아이콘만, PC는 회색 바탕 위 흰 면) ---------- */
.ttools .sec-gear,.ttools .act-bell{border:0!important;background:var(--surface)}
.ttools .sec-gear[aria-current="page"],.ttools .act-bell[aria-current="page"]{box-shadow:inset 0 0 0 1.5px var(--v-ink)}
@media (hover:hover){.ttools .sec-gear:hover,.ttools .act-bell:hover{background:var(--v-fill)}}
@media (max-width:767px){
  .mtop .ttools .sec-gear,.mtop .ttools .act-bell{width:40px;height:40px;background:transparent;color:var(--v-ink2)}
  .mtop .ttools .sec-gear .ico,.mtop .ttools .act-bell .ico{width:22px;height:22px}
  .mtop .ttools .sec-gear[aria-current="page"],.mtop .ttools .act-bell[aria-current="page"]{box-shadow:none;color:var(--v-ink)}
}
/* PC 화면 제목: 26/700 (디자인 다듬기 보드) */
@media (min-width:768px){main.content :is(.phead,.bc-top) h1:not(.mt-head h1){font-size:26px!important;line-height:34px!important;font-weight:700!important;letter-spacing:-.035em!important}}

/* ---------- 시트 아래 단추: 테두리 없이 채움 ---------- */
.sh-f>.btn:not(.pri):not(.danger):not(.del){border:0!important;background:var(--v-fill)!important;box-shadow:none!important;color:var(--v-ink)}
@media (hover:hover){.sh-f>.btn:not(.pri):not(.danger):not(.del):hover{background:var(--v-fill2)!important}}

/* ---------- QA 고침 (v80) ---------- */
/* 캘린더 PC: 고른 사람 칩은 먹색 그대로(흰 단추 규칙이 덮지 않게), 오늘 단추는 흰 면 */
@media (min-width:768px){
  .bc2 .bw-c[aria-pressed="true"]{background:var(--v-ink)!important;color:var(--v-card)!important}
  .bc2 .bc-top .l2-ddb.bc2-today{background:var(--v-card)}
}
/* 캘린더 768~1099: 사람 칩을 둘째 줄로 (기간 이름이 잘리거나 칩이 오른쪽 위 단추 밑으로 들어가지 않게) */
@media (min-width:768px) and (max-width:1099px){
  .bc2 .bc-top{flex-wrap:wrap}
  .bc2 .bc2-today{margin-left:auto}
  main.content .bc2 .bc-top>.bcx-ctl,.bc2 .bcx-ctl{flex-basis:calc(100% + 148px);max-width:none;margin:0 -148px 0 0}
}
/* PC 왼쪽 메뉴: 장부 묶음 머리(장부 전환 단추)도 다른 묶음처럼 접기 단추와 한 줄 가운데 */
.app .side .sec-fh .l-sec.sec-ht{border-top:0!important;margin:0!important;padding-top:0!important;padding-bottom:0!important}
/* 점선 범례: 2px 점선 테두리는 짧은 선에서 실선처럼 그려져서, 무늬 바탕으로 그림 */
.v3-legend button>i.dash{height:2px;border-top:0!important;background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px)!important}
/* 예산 설정(budgetSet): 굵은 검은 선과 네모 고르기를 v3 모양으로 */
.content:has(>.phead[data-page="budgetSet"]) .card{border-radius:24px;border:0!important;box-shadow:none!important}
.content:has(>.phead[data-page="budgetSet"]) :is(.seg,.segs){border:0!important;border-radius:12px!important;background:var(--v-fill)!important;padding:3px!important}
.content:has(>.phead[data-page="budgetSet"]) :is(.seg,.segs) button{border:0!important;border-radius:9px!important;background:transparent!important;color:var(--v-ink2)!important;font-weight:500!important}
.content:has(>.phead[data-page="budgetSet"]) :is(.seg,.segs) button:is([aria-pressed="true"],[aria-selected="true"],.on){background:var(--v-card)!important;color:var(--v-ink)!important;font-weight:700!important;box-shadow:0 1px 3px rgba(25,31,40,.12)!important}
.content:has(>.phead[data-page="budgetSet"]) .bar i{background:var(--v-blue)}
.content:has(>.phead[data-page="budgetSet"]) .bar.over i{background:var(--v-coral)}
.content:has(>.phead[data-page="budgetSet"]) :is(.card-h,.bs-h,h2){border-bottom-width:1px!important;border-bottom-color:var(--v-line)!important}
/* 예산 설정: 단추, 입력칸, 표 머리, 구성 막대 */
.content:has(>.phead[data-page="budgetSet"]) :is(.btn:not(.pri),.chip:not(.on)){border:0!important;background:var(--v-fill)!important;box-shadow:none!important;border-radius:12px!important}
.content:has(>.phead[data-page="budgetSet"]) .chip.on{border:0!important;background:var(--v-ink)!important;color:var(--v-card)!important}
.content:has(>.phead[data-page="budgetSet"]) :is(input[type=text],input[type=number],input:not([type]),input[inputmode]){border:0!important;background:var(--v-fill)!important;box-shadow:none!important;border-radius:10px!important}
.content:has(>.phead[data-page="budgetSet"]) :is(input[type=text],input[type=number],input:not([type]),input[inputmode]):focus{box-shadow:inset 0 0 0 1.5px var(--v-ink)!important;background:var(--v-card)!important}
.content:has(>.phead[data-page="budgetSet"]) :is(.tbl,.b8) :is(thead,.b8-h,.b8-th){border-bottom:1px solid var(--v-line)!important}
.content:has(>.phead[data-page="budgetSet"]) *{--rule:1px solid var(--v-line)}
.content:has(>.phead[data-page="budgetSet"]) .bs-sum :is(.mixbar,.bs-bar,.b8-bar)>i:nth-child(1){background:var(--v-blue)!important}
.content:has(>.phead[data-page="budgetSet"]) .bs-sum :is(.mixbar,.bs-bar,.b8-bar)>i:nth-child(2){background:var(--v-c2)!important}
.content:has(>.phead[data-page="budgetSet"]) .bs-sum :is(.mixbar,.bs-bar,.b8-bar)>i:nth-child(3){background:var(--v-c3)!important}
.content:has(>.phead[data-page="budgetSet"]) .bs-sum :is(.mixbar,.bs-bar,.b8-bar)>i:nth-child(n+4){background:var(--v-c4)!important}
/* 예전 화면에 남은 토큰도 v3로: 구성 막대 색은 파랑 단계, 2px 검은 구분선은 1px 옅은 선 */
:root,:root[data-theme="light"]{--c-navy:#2F5BFF;--c-ch1:#2F5BFF;--c-ch2:#6C8BFF;--c-ch3:#9DB2FF;--c-ch4:#C9D5FF;--c-ch5:#E3E9FF;--c-ch6:#D1D6DB;--rule:1px solid #E5E8EB}
.content:has(>.phead[data-page="budgetSet"]) .b8-sr .b8-b input.bs-in{border:0!important;background:var(--v-fill)!important}
.content:has(>.phead[data-page="budgetSet"]) .bs-leg i{border-radius:3px}
.content:has(>.phead[data-page="budgetSet"]) .bs-stack{border-radius:999px;overflow:hidden;gap:2px}
/* 예산 설정 표 머리와 합계 줄: 굵은 검은 선 대신 옅은 선 */
.content:has(>.phead[data-page="budgetSet"]) :is(.b8-hd,.b8-sh,.b8-th){border-bottom:1px solid var(--v-line)!important;color:var(--v-ink3)!important;font-weight:500!important}
.content:has(>.phead[data-page="budgetSet"]) .b8-tr.tot{border-top:1px solid var(--v-line)!important;font-weight:700!important}
.content:has(>.phead[data-page="budgetSet"]) .b8-sr.gh{background:var(--v-fill)!important;border-radius:12px}
