/* Workspace foundations: light canvas, purposeful purple, compact working surfaces. */
:root{--bg:#f5f5f8;--ink:#24212c;--sub:#716c7c;--muted:#716c7c;--line:#e6e4eb;--line-strong:#cbc5d5;--card:#fff;--accent:#7251bc;--accent-hover:#5a3c9b;--accent-soft:#f0eafa;--focus:#7251bc;--income:#245b9e;--income-soft:#eaf1fb;--expense:#b14e68;--expense-soft:#faedf1;--conf-bg:#fff;--conf-ink:#403b49;--wait-bg:#f3f2f5;--wait-ink:#625c6c;--done-bg:#efedf2;--done-ink:#716b7a;--end-bg:#f0eff3;--end-ink:#716b7a;--owner-gwan-bg:#faf0d9;--owner-gwan-ink:#8e661a;--owner-bora-bg:#eee8fa;--owner-bora-ink:#7251bc;--owner-common-bg:#eaf0f7;--owner-common-ink:#506a89;--radius-s:7px;--radius-m:10px;--radius-l:14px;--shadow-card:none;--control-height:42px;--touch-control-height:44px;--inline-control-height:34px;--panel-padding:20px}
html{scroll-padding-top:90px}body.bk-app{margin:0;padding:0 36px 56px;background:var(--bg);color:var(--ink);font:14px/1.55 "Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;-webkit-font-smoothing:antialiased}.bk-app *{box-sizing:border-box}[hidden]{display:none!important}.bk-app .wrap{width:100%;max-width:1440px;margin:0 auto;overflow:visible}.bk-app :is(button,input,select,textarea){font-family:inherit}.bk-app button{cursor:pointer;transition:background .12s,border-color .12s}.bk-app button:disabled{cursor:default;opacity:.5}.bk-app :is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #aa91d6;outline-offset:3px}.bk-app :is(h1,h2,h3,p,label,summary){overflow-wrap:anywhere}.bk-app h1{font-size:28px;line-height:1.3;letter-spacing:-1px;font-weight:750;margin:0}.bk-app :is(h2,h3){font-size:15px;font-weight:650;line-height:1.5}.bk-app .bk-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 20px;margin:30px 0 24px}.bk-page-heading>h1{grid-column:1}.bk-page-heading>p{grid-column:1;margin:0;color:var(--sub);font-size:13px}.bk-page-heading .bk-page-actions{grid-column:2;grid-row:1/3}.bk-eyebrow{display:none}.bk-topline{display:none}
#bkNav{height:72px;margin:0 -36px;padding:0 36px;display:flex;align-items:center;gap:36px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100} .bk-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;white-space:nowrap;font-size:14px;letter-spacing:-.3px}.bk-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--accent);border-radius:9px;color:#fff;font-size:24px;font-weight:750;letter-spacing:-2px}.bk-brand strong{font-weight:750}#bkNavLinks{display:flex;align-items:stretch;gap:5px;height:100%;flex:1}#bkNavLinks .bk-card{display:flex;align-items:center;gap:7px;padding:0 13px;border-bottom:2px solid transparent;color:var(--sub);text-decoration:none;font-size:13px;font-weight:550;white-space:nowrap}#bkNavLinks .bk-card.active{color:var(--accent);border-color:var(--accent);font-weight:700}#bkNavLinks .bk-card:hover{background:#faf9fc;color:var(--accent)}.bk-icon-button,.bk-refresh{display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;background:white;border:1px solid var(--line);border-radius:8px;color:var(--sub);font-size:22px}.bk-mobile-tools,.bk-bottomnav{display:none}.bk-skip{position:fixed;top:-100px;left:16px;padding:12px 20px;z-index:20000;background:var(--accent);border-radius:8px;color:#fff}.bk-skip:focus{top:12px}.bk-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bk-app :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea) {width:auto;max-width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:white;color:var(--ink);font-size:14px;line-height:1.5;}
.bk-app textarea {min-height:104px;resize:vertical;line-height:1.65;}
.bk-app :is(input,select,textarea):focus {border-color:var(--accent);}
.bk-app input::placeholder,.bk-app textarea::placeholder {color:#9890a3;opacity:1;}
.bk-app :is(input[type=checkbox],input[type=radio]) {accent-color:var(--accent);}
.bk-app :is(.field label,.couple-field label,.bk-form-field>span) {display:block;margin:0 0 6px;color:var(--sub);font-size:12px;font-weight:550;line-height:1.5;}
.bk-app :is(.field,.bk-form-field,.couple-field) {min-width:0;}
.bk-app :is(.field input,.field select,.field textarea,.couple-field input,.couple-field textarea) {width:100%;}
.bk-app :is(.save-btn,.add-btn,.add-item-btn,.couple-save-btn,.bk-primary,.ghost-btn.primary,.modal-save-btn) {min-height:42px;border:1px solid var(--accent);border-radius:8px;padding:9px 16px;background:var(--accent);color:white;font-size:13px;font-weight:650;line-height:1.5;}
.bk-app :is(.save-btn,.add-btn,.bk-primary,.modal-save-btn):hover {background:var(--accent-hover);}
.bk-app :is(.ghost-btn,.dl-btn,.back-btn,.ai-btn,.del-btn,.ext-link,.bk-secondary,.bk-detail-button) {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:#fff;color:var(--sub);font-size:12px;font-weight:550;line-height:1.5;text-decoration:none;}
.bk-app :is(.ghost-btn,.bk-secondary,.dl-btn,.ai-btn,.bk-detail-button):hover {border-color:#b9a7d6;color:var(--accent);background:#faf8fd;}
.bk-app :is(.tab,.chip,.cat-tab,.owner-toggle button,.type-toggle button) {min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--sub);font-size:12px;font-weight:550;line-height:1.5;white-space:nowrap;}
.bk-app :is(.tab.active,.chip.active,.chip.on,.cat-tab.active,.owner-toggle button.active,.type-toggle button.active) {background:var(--accent-soft);border-color:#bba7dd;color:var(--accent);font-weight:650;}
.bk-app :is(.tabs,.cat-tabs,.chip-group,.owner-toggle,.type-toggle) {display:flex;flex-wrap:wrap;gap:8px;max-width:100%;}
.bk-app :is(.panel,.cal-panel,.card,.stock-card,.positions-box,.research-box,.trip-card,.project-card,.sum-card,.doc-row,.rv-card,.camp-card) {border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:none;}
.bk-app :is(.panel,.cal-panel,.positions-box,.research-box) {padding:20px;margin-bottom:20px;}
.bk-app :is(.panel h2,.section-head h2) {margin-top:0;font-size:15px;}
.bk-app .panel h2::before {display:none;}
.bk-app :is(.summary,.kpis) {gap:12px;margin:0 0 20px;}
.bk-app .sum-card {padding:14px 16px;}
.bk-app .sum-card .num {font-size:24px;font-weight:700;line-height:1.3;}
.bk-app .sum-card .lbl {font-size:11px;line-height:1.6;margin-top:3px;color:var(--sub);}
.bk-app :is(.badge,.status-badge,.cat-badge,.owner-badge,.dday,.weekend-tag) {padding:3px 7px;border-radius:5px;font-size:11px;font-weight:550;line-height:1.5;white-space:normal;}
.bk-app :is(.table-wrap,.table-card) {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;}
.bk-app table {border-collapse:collapse;}
.bk-app :is(th,td) {padding:11px 12px;font-size:13px;border-color:var(--line);}
.bk-app th {background:#faf9fc;color:var(--sub);font-size:11px;font-weight:550;}
.bk-app :is(.empty:not(.cal-cell),.empty-day) {padding:24px 16px;color:var(--sub);line-height:1.8;font-size:13px;}
.bk-app .subnav {display:flex;gap:4px;border-bottom:1px solid var(--line);margin:16px 0 20px;padding:0;}
.bk-app .subnav a {display:block;padding:10px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--sub);font-size:12px;text-decoration:none;}
.bk-app .subnav a.active {color:var(--accent);border-color:var(--accent);background:transparent;}
.bk-list-tools {display:flex;gap:12px;align-items:center;justify-content:space-between;margin:16px 0;}
.bk-search {display:flex;align-items:center;position:relative;max-width:100%;}
.bk-search::before {content:'⌕';position:absolute;left:12px;top:7px;font-size:21px;color:var(--sub);pointer-events:none;}
.bk-app .bk-search input {width:260px;padding-left:36px;min-height:40px;background:#fff;}
.bk-search-count {color:var(--sub);font-size:12px;white-space:nowrap;}
.bk-search-empty {padding:24px;border:1px dashed var(--line);border-radius:10px;color:var(--sub);text-align:center;font-size:13px;}
/* Editing and viewing share fixed chrome; only the body scrolls. */
.bk-app :is(.cal-modal-overlay,.modal-overlay,.preview-overlay) {padding:24px;background:rgba(32,24,47,.42);z-index:1000;}
.bk-app :is(.cal-modal,.modal-card,.preview-box,.report-dialog) {max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 20px 80px #1c10232b;}
.bk-app :is(.cal-modal,.modal-card):not(#authOverlay .modal-card):not(#coupleLoginOverlay .cal-modal) {display:flex;flex-direction:column;max-width:680px;width:100%;padding:0;overflow:hidden;}
.bk-dialog-head {display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:16px;margin:0;padding:18px 22px;border-bottom:1px solid var(--line);background:#fff;position:relative;}
.bk-dialog-head :is(h2,h3,.cal-modal-title) {margin:0;font-size:17px;font-weight:700;line-height:1.5;padding:0;}
.bk-app .bk-dialog-head :is(.modal-close,.cal-modal-close) {position:static;flex-shrink:0;order:2;width:38px;height:38px;min-width:38px;min-height:38px;background:#f7f5fa;border:0;border-radius:8px;color:var(--sub);}
.bk-dialog-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px;flex:1 1 auto;}
.bk-dialog-source-title {display:none;}
.bk-dialog-footer,.bk-form-dialog>.modal-actions,.bk-form-dialog>.detail-actions {flex-shrink:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0;padding:14px 22px;border-top:1px solid var(--line);background:white;}
.bk-dialog-buttons {display:flex;gap:8px;align-items:center;margin-left:auto;}
.bk-app :is(.detail-actions-right,.modal-actions) {gap:8px;}
.bk-app :is(.modal-del-btn,.cal-modal-del-btn) {flex:0 0 auto;min-height:38px;padding:8px 12px;width:auto;border:1px solid #eddae0;border-radius:8px;background:white;color:var(--expense);font-size:12px;}
.bk-app .bk-dialog-footer :is(.couple-save-btn,.cal-modal-del-btn) {width:auto;margin:0;}
.bk-app :is(.detail-value,.guide-body,.guide-box,.modal-sub,.modal-tx-list .n) {overflow-wrap:anywhere;white-space:normal;}
.bk-app .modal-tx-list li {gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start;}
.bk-app .modal-tx-list .n {min-width:0;}
.bk-app .modal-tx-list .amt {flex-shrink:0;}
.bk-modal-open {overflow:hidden;}
.bk-sheet-backdrop {position:fixed;inset:0;z-index:999;background:rgba(32,24,47,.42);}
.bk-app .bk-sheet {position:fixed !important;inset:0 0 0 auto !important;width:min(560px,100%) !important;height:100dvh !important;max-height:none !important;display:flex !important;flex-direction:column !important;gap:0 !important;margin:0 !important;padding:0 !important;border:0 !important;border-left:1px solid var(--line) !important;border-radius:0 !important;background:white !important;box-shadow:-20px 0 80px #23172d26;z-index:1001;overflow:hidden !important;}
.bk-sheet>.bk-dialog-head {padding:20px 24px;}
.bk-sheet>.bk-dialog-body {padding:22px 24px;}
.bk-sheet>.bk-dialog-footer {padding:16px 24px;}
.bk-app .bk-sheet .bk-sheet-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start;}
.bk-sheet .bk-form-field {grid-area:auto;grid-column:auto;}
.bk-sheet .bk-form-field[data-field=note],.bk-sheet .bk-form-field[data-field=date],.bk-sheet .bk-form-field[data-field=payment],.bk-sheet .bk-form-field[data-field=pay] {grid-column:1/-1;}
.bk-app .bk-sheet :is(.bk-form-field input,.bk-form-field select) {width:100%;height:44px;min-height:44px;grid-area:auto;background-image:none;appearance:auto;font-size:15px;}
.bk-sheet .fixed-field {grid-column:1/-1;font-size:13px;color:var(--sub);}
.bk-sheet .edit-actions {display:flex;gap:8px;flex:1;}
.bk-sheet .edit-actions .danger {margin-right:auto;color:var(--expense);border-color:#ead1da;}
.bk-sheet .edit-actions .primary {order:3;}
.bk-sheet .edit-actions button:last-child {order:2;}
.bk-app .bk-entry-panel[data-bk-entry],.bk-app #addPanel[data-bk-entry],.bk-app .bk-tx-entry {display:contents;}
.bk-entry-panel[data-bk-entry]>.bk-entry-details>summary,#addPanel[data-bk-entry]>.toolbar,.bk-tx-entry>summary {display:none;}
.bk-entry-body[data-bk-editor]:not(.bk-sheet),#addFormBody[data-bk-editor]:not(.bk-sheet),#txAddForm[data-bk-editor]:not(.bk-sheet),.tx-form-recur[data-bk-editor]:not(.bk-sheet) {display:none !important;}
.bk-sheet .form-grid,.bk-sheet .field-row,.bk-sheet .edit-form-grid {gap:16px;}
.bk-sheet .field,.bk-sheet .couple-field {margin-bottom:0;}
.bk-sheet .form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.bk-sheet .form-row {display:contents;}
.bk-sheet .form-grid>.type-toggle,.bk-sheet .form-grid>.file-drop,.bk-sheet .form-grid>.status-msg {grid-column:1/-1;}
.bk-sheet .bk-dialog-body>.form-grid>div:has(.image-drop) {grid-column:1/-1;}
.bk-sheet .bk-dialog-body>.form-grid>div:has(#in-title) {grid-column:1/-1;}
.bk-sheet .field-row {display:grid;grid-template-columns:1fr 1fr;}
.bk-sheet .bk-dialog-body:has(>.bk-form-field) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start;}
.bk-sheet .bk-dialog-body input[type=date] {min-width:0;}
.bk-app .toast {z-index:12000;bottom:90px;}
/* Complete menu is available from every module. */
#bkMenu {padding:0;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:hidden;}
#bkMenu::backdrop {background:rgba(32,24,47,.42);}
#bkMenu .bk-dialog-head {align-items:flex-start;}
.bk-kicker {margin:0 0 4px;font-size:10px;letter-spacing:1px;color:var(--accent);font-weight:700;}
.bk-menu-body {padding:20px;overflow:auto;max-height:calc(100dvh - 172px);}
#bkMenu .bk-search input {width:100%;}
.bk-menu-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;}
.bk-menu-grid .bk-nav-group {display:none;}
.bk-menu-grid .bk-card {display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:16px;min-height:104px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-size:13px;}
.bk-menu-grid .bk-card.active {border-color:#bba7dd;background:var(--accent-soft);color:var(--accent);}
.bk-menu-grid .bk-active-dot {display:none;}
.bk-menu-empty {font-size:13px;text-align:center;color:var(--sub);}
/* Existing sign-in behavior, with the same foundations. */
.bk-app :is(#authGate,#authOverlay,#coupleLoginOverlay) {background:var(--bg);padding:20px;z-index:10000;}
.bk-app :is(#authGate .box,#authOverlay .modal-card,#coupleLoginOverlay .cal-modal) {display:block;width:100%;max-width:400px !important;padding:28px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:none;}
.bk-app :is(#authGate h2,#authOverlay .display,#coupleLoginOverlay .cal-modal-title) {font-size:24px !important;color:var(--ink);}
.bk-app :is(#authGate p,#authOverlay p,#coupleLoginOverlay p) {font-size:13px;color:var(--sub);}
.bk-app :is(#authGate button,#authOverlay .primary,#coupleLoginOverlay .couple-save-btn) {min-height:44px;border-radius:8px;background:var(--accent);color:#fff;}

@media(max-width:1100px) and (min-width:821px){#bkNav{gap:16px}#bkNavLinks .bk-card{padding:0 9px}#bkNavLinks svg{display:none}}
@media(max-width:820px){
 html{scroll-padding-top:72px}body.bk-app{padding:0 16px calc(84px + env(safe-area-inset-bottom));font-size:14px}#bkNav{height:60px;margin:0 -16px;padding:0 16px;gap:12px;justify-content:space-between}#bkNavLinks,.bk-refresh{display:none}.bk-brand{font-size:13px;gap:8px}.bk-mark{width:29px;height:29px;font-size:22px}.bk-mobile-tools{display:flex;align-items:center;gap:8px}.bk-app #bkMobileAction button{min-height:36px;padding:7px 10px;font-size:12px}.bk-toggle{width:36px;height:36px;min-width:36px}.bk-bottomnav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px 8px calc(4px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:100}.bk-bottomnav :is(a,button){display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:50px;border:0;background:#fff;color:#8a8296;text-decoration:none;font-size:10px;line-height:1.3}.bk-bottomnav [aria-current=page]{color:var(--accent);font-weight:700}.bk-app .bk-page-heading{display:block;margin:22px 0 20px}.bk-app .bk-page-heading h1{font-size:24px}.bk-app .bk-page-heading p{font-size:12px;margin-top:5px}.bk-app .bk-page-heading .bk-page-actions{display:none}.bk-app :is(.panel,.cal-panel){padding:16px;margin-bottom:16px}
 .bk-app :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea) {font-size:16px;min-height:44px;}
 .bk-app :is(.tab,.chip,.cat-tab,.ghost-btn,.bk-secondary,.ai-btn,.save-btn,.add-btn,.owner-toggle button,.type-toggle button,.dl-btn,.ext-link) {min-height:40px;}
 .bk-app :is(.tabs,.cat-tabs) {flex-wrap:nowrap;overflow-x:auto;padding:2px 0 6px;overscroll-behavior-x:contain;scrollbar-width:none;}
 .bk-app :is(.tabs,.cat-tabs)::-webkit-scrollbar {display:none;}
 .bk-app .sum-card {padding:12px;}
 .bk-app .sum-card .num {font-size:22px;}
 .bk-app .subnav {margin-top:12px;}
 .bk-list-tools {gap:8px;margin:14px 0;}
 .bk-app .bk-search {flex:1;min-width:0;}
 .bk-app .bk-search input {width:100%;font-size:16px;min-height:44px;}
 .bk-search-count {font-size:11px;}
 .bk-app :is(.cal-modal-overlay,.modal-overlay,.preview-overlay) {padding:12px;}
 .bk-app :is(.cal-modal,.modal-card,.preview-box,.report-dialog) {max-height:calc(100dvh - 24px);border-radius:14px;}
 .bk-dialog-head {padding:14px 16px;min-height:64px;}
 .bk-dialog-head :is(h2,h3,.cal-modal-title) {font-size:17px;}
 .bk-dialog-body {padding:16px;}
 .bk-dialog-footer,.bk-form-dialog>.modal-actions,.bk-form-dialog>.detail-actions {padding:12px 16px;}
 .bk-app .bk-sheet {inset:12px 0 0 !important;height:calc(100dvh - 12px) !important;border-radius:16px 16px 0 0 !important;border:0 !important;}
 .bk-sheet>.bk-dialog-head {padding:14px 16px;}
 .bk-sheet>.bk-dialog-body {padding:20px 16px;}
 .bk-sheet>.bk-dialog-footer {padding:12px 16px calc(12px + env(safe-area-inset-bottom));}
 .bk-sheet .form-grid,.bk-sheet .field-row,.bk-sheet .bk-dialog-body:has(>.bk-form-field),.bk-app .bk-sheet .bk-sheet-fields {grid-template-columns:minmax(0,1fr);}
 .bk-sheet .bk-form-field {grid-column:1/-1;}
 .bk-app .bk-sheet :is(input,select,textarea) {font-size:16px;}
 .bk-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bk-menu-grid .bk-card{min-height:76px;padding:12px;font-size:12px}
}
@media(prefers-reduced-motion:reduce) {.bk-app *,.bk-app *::before,.bk-app *::after {animation:none !important;transition:none !important;scroll-behavior:auto !important;}}
.bk-app .bk-sheet {align-items:stretch !important;justify-content:flex-start !important;text-align:left;}
.bk-sheet>:is(.bk-dialog-head,.bk-dialog-body,.bk-dialog-footer) {width:100%;max-width:none;}
.bk-sheet[data-bk-edit=false]>.bk-dialog-footer {justify-content:flex-end;}

/* Compact ledger fields: pair short controls and reserve full width for free text/payment. */
 .bk-app[data-page=ledger] .bk-sheet .bk-sheet-fields {grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;}
 .bk-app[data-page=ledger] .bk-sheet .bk-form-field {grid-column:span 6;}
 .bk-app[data-page=ledger] .bk-sheet .bk-form-field[data-field=scope]:has(+[data-field=date]) {grid-column:span 4;}
 .bk-app[data-page=ledger] .bk-sheet .bk-form-field[data-field=date] {grid-column:span 8;}
 .bk-app[data-page=ledger] .bk-sheet .bk-form-field:is([data-field=note],[data-field=payment],[data-field=pay]),
 .bk-app[data-page=ledger] .bk-sheet .bk-sheet-fields:not(:has([data-field=type]))>.bk-form-field[data-field=amount] {grid-column:1/-1;}
 .bk-app[data-page=ledger] .bk-sheet .bk-form-field>span {margin-bottom:4px;}
 .bk-app[data-page=ledger] .bk-sheet .bk-form-field :is(input,select) {min-width:0;padding-left:8px;padding-right:8px;}
 .bk-app[data-page=ledger] .bk-sheet .bk-recurring-end {grid-column:1/-1;}
@media(max-width:820px) {
 .bk-app[data-page=ledger] .bk-sheet {inset:auto 0 0 !important;height:auto !important;max-height:calc(100dvh - 12px) !important;}
}

/* Semantic color roles: primary action/selection, owner, money, warning and neutral status. */
:root{--warning:#896014;--warning-soft:#faf1dc;--danger:#a53d55;--danger-soft:#faedf1;--status-line:#8b8595;--neutral-soft:#f3f2f5}
.bk-app .owner-badge[data-owner="관"]{background:var(--owner-gwan-bg);color:var(--owner-gwan-ink)}.bk-app .owner-badge[data-owner="보라"]{background:var(--owner-bora-bg);color:var(--owner-bora-ink)}.bk-app .owner-badge:is([data-owner="공동"],[data-owner="공통"]){background:var(--owner-common-bg);color:var(--owner-common-ink)}
.bk-app :is(.status-badge.status-confirm,.status-select.doing){background:var(--conf-bg);color:var(--conf-ink);border:1px solid var(--status-line)}.bk-app :is(.status-badge.status-wait,.status-select.idea){background:var(--wait-bg);color:var(--wait-ink);border:1px dashed var(--status-line)}.bk-app :is(.status-badge.status-done,.status-select.done){background:var(--done-bg);color:var(--done-ink);border:1px solid var(--line)}.bk-app :is(.status-badge.status-end,.status-select.hold){background:var(--end-bg);color:var(--end-ink);border:1px dashed var(--status-line)}
.bk-app .status-badge.status-wait::before{content:"◷ ";}.bk-app .status-badge.status-confirm::before{content:"□ ";}.bk-app .status-badge.status-done::before{content:"✓ ";}.bk-app .status-badge.status-end::before{content:"− ";}
.bk-app :is(.cat-badge,.badge.region){background:var(--neutral-soft);color:var(--sub)}
.bk-app :is(.badge.deadline.soon){background:var(--danger-soft);color:var(--danger)}.bk-app .badge.deadline.near{background:var(--warning-soft);color:var(--warning)}.bk-app .badge.deadline:is(.closed,.rolling){background:var(--neutral-soft);color:var(--sub)}.bk-app .badge.deadline.rolling{border:1px dashed var(--status-line)}.bk-app .weekend-tag:is(.possible,.impossible,.unknown){color:var(--sub);background:none}
