:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172e3a;background:#f4f7fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #dbe3e9;background:white;border-radius:8px;padding:10px 15px;color:inherit}button:hover{background:#eef5f7}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #639dec;outline-offset:2px}aside{position:fixed;width:228px;height:100vh;background:#102e3b;color:#bdd0da;padding:32px 20px;display:flex;flex-direction:column;overflow:auto}.brand{font-size:26px;letter-spacing:-1px;color:white;font-weight:650;margin-bottom:43px}.brand span{background:#b9edda;color:#123d3c;padding:4px 8px;border-radius:10px;margin-right:7px}.navlabel,.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:650}.navactive{color:white;background:#254553;padding:14px;border-radius:8px;margin:14px 0 30px;font-size:14px}.year{font-size:13px;padding:0 12px;margin-bottom:12px}nav{display:grid;gap:3px}nav button{background:none;border:0;text-align:left;color:#bbced7;padding:9px 14px;font-size:14px}nav button.active{background:#b9edda;color:#123d3c;font-weight:650}nav button:hover{color:#173f47}footer{margin-top:auto;padding:28px 8px 0;font-size:12px;line-height:1.7}footer button,.restore{display:block;color:#d9e6ed;background:none;border:0;padding:8px 0;font-size:13px;cursor:pointer}.restore input{display:none}main{max-width:1640px;margin-left:228px;padding:44px 48px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}h1{font-size:38px;letter-spacing:-1.5px;margin:10px 0}p{color:#73848f;font-size:14px;margin:8px 0;line-height:1.6}.primary{background:#176b65;color:white;border-color:#176b65}.primary:hover{background:#12554f}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metric{background:white;border:1px solid #e1e8ed;border-radius:12px;padding:23px}.metric .label{font-size:14px;color:#667d88}.metric strong{display:block;font-size:29px;letter-spacing:-.8px;margin:15px 0 8px;font-weight:600}.metric small{color:#748892;font-size:12px}.metric.featured{background:#153c49;color:white;border:0}.featured .label,.featured small{color:#b3cdd3}.panel{background:white;border:1px solid #e0e7ed;border-radius:12px;margin-bottom:25px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:25px 26px}h2{font-size:19px;margin:0;letter-spacing:-.4px}.legend{font-size:12px;color:#687f8a}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:#247e78}.legend i+i{background:#dbeee7}.periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:0 26px 25px;gap:14px}.period{border:1px solid #e0e7eb;border-radius:9px;padding:18px;background:#fcfdfd;cursor:pointer}.period.selected{border-color:#218079;background:#f0f9f6}.periodtitle{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:600}.period:nth-child(even) .dot{background:#d783a4}.dot{width:8px;height:8px;border-radius:50%;background:#6e9add;display:inline-block;margin-right:7px}.period strong{display:block;font-size:22px;margin:15px 0 5px}.period small{font-size:12px;color:#72848e}.bar{height:6px;background:#dbeee7;border-radius:6px;margin:17px 0 13px;overflow:hidden}.bar span{display:block;height:100%;background:#247e78}.negative{color:#b34552!important}.period button{font-size:12px;padding:6px 8px;margin-top:13px;background:transparent}.controls{display:flex;gap:10px}input,select{padding:10px 12px;border:1px solid #dbe3e9;border-radius:7px;background:white;color:#274451;max-width:100%}#search{width:190px}#count{font-size:12px;background:#edf2f5;border-radius:6px;padding:4px 7px;margin-left:8px;color:#627883}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#f8fafb;font-size:12px;font-weight:500;color:#778894;padding:13px 20px}td{font-size:14px;padding:17px 20px;border-top:1px solid #edf1f4}td:nth-child(2){font-weight:600}td input{accent-color:#247e78;width:17px;height:17px}td .note{font-size:12px;color:#83929b;display:block;margin-top:4px}.right{text-align:right;font-variant-numeric:tabular-nums}.edit{border:0;padding:5px 8px;color:#758995}.paid td:nth-child(2){color:#839890;text-decoration:line-through}.badge{color:#a36a16;background:#fff4d9;padding:4px 7px;border-radius:4px;font-size:12px}.source{font-size:14px;color:#748690;margin:25px 0}summary{cursor:pointer}.source pre{white-space:pre-wrap;font-family:inherit;font-size:12px;line-height:1.8}dialog{border:0;border-radius:15px;width:560px;padding:0;box-shadow:0 20px 80px #0d2c3c33}dialog::backdrop{background:#0e293b70}form{padding:25px}form .sectionhead{padding:0 0 20px}form label{display:flex;flex-direction:column;gap:8px;font-size:14px;margin:12px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.formactions{display:flex;justify-content:space-between;margin-top:25px}#delete{color:#a64650}#empty{padding:40px;text-align:center;color:#72848e}@media(min-width:1500px){td{padding:18px 26px}}@media(max-width:1100px){aside{width:190px}main{margin-left:190px;padding:30px 24px}.summary{grid-template-columns:repeat(2,1fr)}.sectionhead{flex-wrap:wrap}}@media(max-width:700px){aside{position:static;width:auto;height:auto;padding:20px}.brand{margin:0 0 18px}.navlabel,.navactive,.year,footer{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}main{margin:0;padding:25px 16px}header{align-items:flex-start;gap:14px}h1{font-size:30px}header p{max-width:220px}.eyebrow{font-size:10px}.metric{padding:18px}.metric strong{font-size:25px}.summary{gap:10px}.periods{display:flex;overflow:auto;padding:0 18px 20px}.period{min-width:190px}.sectionhead{padding:20px 18px}.controls{width:100%}#search{width:55%}.formgrid{grid-template-columns:1fr}td,th{padding:14px}.legend{display:none}}

[hidden]{display:none!important}.viewbar{display:flex;gap:5px;background:#e7eef2;padding:5px;border-radius:10px;width:max-content;margin:-5px 0 25px}.viewbar button{border:0;background:transparent;padding:10px 23px;font-size:14px}.viewbar button[aria-pressed=true]{background:white;box-shadow:0 2px 5px #16313e14;color:#146b65}.datecontrols{display:flex;align-items:center;gap:15px;font-size:14px}.datecontrols button:disabled{opacity:.3;cursor:default}.daypicker{display:flex;gap:7px;flex-wrap:wrap;padding:0 26px 22px}.daypicker button{font-size:14px;min-width:38px;padding:8px}.chosen{background:#176b65!important;color:white!important;border-color:#176b65!important}.dateoverview{padding:22px 26px;border-top:1px solid #edf1f4;display:flex;align-items:center;gap:45px}.dateoverview small{display:block;color:#73848f;font-size:13px}.dateoverview strong{display:block;font-size:24px;margin-top:8px}.dateoverview button{margin-left:auto;font-size:13px}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;padding:0 26px 26px}.daycard{text-align:left;padding:14px 10px;overflow-wrap:anywhere;min-width:0}.daycard small{display:block;font-size:12px;color:#788993}.daycard b{display:block;font-size:24px;margin:6px 0 22px}.daycard strong{display:block;font-size:14px;margin-bottom:5px}.deposit{display:block;font-size:12px;color:#177568;margin-top:12px}@media(max-width:1000px){.weekgrid{display:flex;overflow:auto}.daycard{min-width:120px}.dateoverview{flex-wrap:wrap;gap:25px}.dateoverview button{margin-left:0}}

.headeractions{display:flex;gap:10px;flex-wrap:wrap}.year{display:block}.year select{margin-top:8px;width:100%;background:#254553;color:white;border-color:#456271}.depositrow{display:flex;gap:20px;align-items:center;padding:16px 26px;border-top:1px solid #edf1f4;font-size:14px}.depositrow>div{flex:1}.depositrow small{display:block;color:#718690;margin-top:5px}.depositrow>strong{color:#176b65}.deposit-empty{padding:0 26px 22px}.period small{line-height:1.7}#entryHelp{color:#426975}@media(max-width:700px){.year{display:block;margin:0 0 15px;padding:0}.year select{width:120px;margin:0 0 0 12px}.headeractions{justify-content:flex-end}.headeractions button{font-size:13px;padding:9px}.depositrow{gap:12px;padding:15px}.depositrow>div{min-width:0;overflow-wrap:anywhere}}

#repeatFields{border:1px solid #dbe5e9;border-radius:10px;margin:22px 0 16px;padding:12px 16px}#repeatFields legend{font-size:14px;font-weight:600;padding:0 6px}#repeatHelp{font-size:13px}.schedule-status{font-size:13px;color:#667d88}.schedule-status.finished{color:#146b65;background:#e4f5ed;border-radius:5px;padding:6px 9px}.controls{flex-wrap:wrap}dialog{max-height:90vh;overflow:auto}#scheduleRows{max-height:480px;overflow:auto}

.viewbar{max-width:100%;overflow:auto}.viewbar button{white-space:nowrap}.fullmonth{padding:0 22px 24px;overflow:auto}.monthgrid,.weekdays{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px}.weekdays span{text-align:center;font-size:13px;color:#71848d;padding:12px}.monthcell{border-radius:0;min-height:145px;border:1px solid #e3ebed;margin:0 -1px -1px 0;display:flex;flex-direction:column;align-items:flex-start;padding:10px;gap:5px;text-align:left;min-width:0;overflow:hidden}.monthcell b{font-size:18px;margin-bottom:4px}.monthcell span{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthcell strong{font-size:12px;margin-top:auto}.monthcell small{font-size:12px}.monthcell.outside{background:#f6f8fa}.calendar-income{color:#156a60}.calendar-bill{color:#536f7b}.calendar-bill.done{text-decoration:line-through;color:#8a999a}#savingsView .dateoverview{flex-wrap:wrap}.period button{margin-right:5px}#savingsView .depositrow{min-width:0}

.delete-bill{color:#a43d49;border-color:#eac9cd}.delete-bill:hover{background:#fff0f1}

.categorybar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:0 0 24px}.categorybar label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#5a7280}.categorybar input,.categorybar select{min-width:190px}.categorybar button{margin-bottom:1px}[data-group-category]{max-width:210px;font-size:14px}@media(max-width:700px){.categorybar label{flex:1;min-width:140px}.categorybar input,.categorybar select{min-width:0;width:100%}}

#authScreen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#102e3b}.authCard{width:min(460px,100%);background:white;padding:34px;border-radius:18px}.authCard .brand{color:#176b65;margin:0 0 32px}.authCard h1{font-size:30px}.authCard form{padding:12px 0}.authCard input{width:100%}.authLinks{display:flex;flex-wrap:wrap;gap:8px}.authLinks button{font-size:13px}#cloudWarning{position:sticky;top:0;background:#fff0ce;padding:16px;z-index:99}#cloudUser{overflow-wrap:anywhere;font-size:12px}

.duplicateGroup{border-top:1px solid #dbe5e9;padding:18px 0}.duplicateChoice{display:flex;gap:10px;align-items:center;margin:12px 0;font-size:14px}.duplicateChoice input{width:auto}#duplicateDialog{width:min(760px,94vw)}#resetDialog{width:min(520px,94vw)}

.duplicateEntry{border-top:1px solid #e3ebed;padding:16px 0}.duplicateEntry select{max-width:100%;margin-bottom:12px}.duplicateEntry button{margin:4px}

#loanDialog{width:min(900px,94vw)}.loanSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:20px}.loanSummary strong{display:block;font-size:24px;color:#176b65}.loanSchedule{max-height:380px;overflow:auto}.loanSchedule th{position:sticky;top:0;background:white}

#bankingDialog{width:min(1200px,96vw)}.bankingBody{padding:24px}.bankingColumns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.bankPendingRow{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:6px;margin:10px 0}.bankPendingRow input,.bankPendingRow select{min-width:0;width:100%}.bankTotal{background:#edf6f5;padding:18px;margin-top:20px}.bankTotal strong,.bankTotal small{display:block}.bankTotal strong{font-size:24px;margin-top:8px}.bankBill{display:flex;align-items:center;gap:12px;border-bottom:1px solid #dbe5e9;padding:14px 0}.bankBill span{flex:1}.bankBill small{display:block;font-size:13px}.bankBill input{width:auto}#bankBills{max-height:440px;overflow:auto}@media(max-width:800px){.bankingColumns{grid-template-columns:1fr}.bankPendingRow{grid-template-columns:1fr 1fr}}

body{background:var(--budget-background,#f4f7fa)}#budgetApp aside{background:var(--budget-sidebar,#102e3b);color:var(--budget-sidebar-text,#bdd0da)}#budgetApp aside .brand,#budgetApp aside .navlabel,#budgetApp aside footer,#budgetApp aside footer button,#budgetApp aside .restore,#budgetApp nav button{color:var(--budget-sidebar-text,#bdd0da)}#budgetApp .navactive,#budgetApp nav button.active,button.primary,.metric.featured{background:var(--budget-accent,#176b65);color:var(--budget-accent-text,#fff)}#budgetApp main>header{color:var(--budget-page-text,#172e3a)}#budgetApp .categorybar>button{color:#172e3a;background:white}#budgetName{overflow-wrap:anywhere}#settingsDialog{width:min(520px,94vw)}#settingsForm input[type=color]{width:100%;height:44px;padding:3px}#budgetApp aside select{color:#172e3a;background:white}

#bulkDialog{width:min(950px,95vw)}#bulkRows{max-height:50vh;overflow:auto}#bulkRows input{flex-shrink:0}

.bankPendingRow{grid-template-columns:auto 2fr 1fr 1fr auto}.bankPendingRow label{display:flex;gap:4px;align-items:center}.bankPendingRow input[type=checkbox]{width:auto}.bankBill{flex-wrap:wrap}@media(max-width:800px){.bankPendingRow{grid-template-columns:1fr 1fr}}
#bankPaidHistory{margin-top:20px;border-top:1px solid #dce5eb;padding-top:16px}#bankPaidHistory summary{cursor:pointer;font-weight:650}#bankUpcoming{border-top:1px solid #dce5eb;margin-top:20px;padding-top:12px}.bankUpcomingForm,#statementMapping{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.bankUpcomingForm label,#statementMapping label{display:grid;gap:6px;flex:1;min-width:130px}#statementDialog{width:min(900px,94vw);max-height:85vh;overflow:auto;padding:24px;border:0;border-radius:18px}#statementReview select{max-width:320px}.bankPendingRow{flex-wrap:wrap}

.toolActions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 24px;margin-bottom:18px}.toolActions[hidden]{display:none}.sidebarSettings{display:block;width:100%;margin:12px 0;text-align:left;background:transparent;color:inherit;border:1px solid currentColor}.sidebarSettings[aria-pressed="true"]{background:var(--budget-accent);color:var(--budget-accent-text)}#billToolsMonth{font-weight:650;margin-right:8px}

#homeTab{display:flex;gap:10px;align-items:center}.dashboardMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.dashboardHeading{padding:16px 0}.dashboardNotice{padding:14px 18px;background:#e9f2f5;border-radius:12px;color:#243f4d}.dashboardDue{padding:0 24px 20px}@media(max-width:1100px){.dashboardMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dashboardMetrics{grid-template-columns:1fr}.dashboardHeading{align-items:flex-start;gap:12px;flex-direction:column}}
.bankRunning{display:flex;flex-direction:column;justify-content:center;text-align:right;min-width:105px}.bankRunning small{font-size:11px;color:#657984}.bankRunning strong{font-size:15px}.bankPendingRow{grid-template-columns:auto minmax(100px,2fr) minmax(75px,1fr) minmax(80px,1fr);padding:12px;border:1px solid #e0e7eb;border-radius:10px}.bankRunning{grid-column:1 / -1}.accountField{display:grid;gap:8px;margin:16px 0;padding:14px;background:#f1f5f7;border-radius:10px}.accountField small{color:#526b79}#accountVaultDialog,#billPdfDialog{width:min(600px,94vw);max-height:88vh;overflow:auto;padding:26px;border:0;border-radius:16px}#accountVaultDialog label,#billPdfDialog label{display:grid;gap:7px;margin:14px 0}#accountVaultDialog button,#billPdfDialog button{margin:5px 4px 5px 0}@media(max-width:700px){.bankPendingRow{grid-template-columns:1fr 1fr}}

.loanInline{display:flex;align-items:center;gap:12px}.loanInline input{min-width:0;flex:1}.loanInline output{white-space:nowrap;font-weight:650}.loanStateArrows{display:flex;gap:8px}.loanStateArrows button{padding:4px 18px}#loanState{height:100px}#loanPurchaseSummary{margin:18px 0}
/* Phone layouts preserve the desktop workspace and all existing actions. */
.mobileOnly,#mobileNav{display:none}
@media(max-width:700px){
 body{overflow-x:hidden}body.mobileMenuOpen{overflow:hidden}button,input,select,textarea{font-size:16px}button{min-height:44px}input:not([type=checkbox]):not([type=color]),select{min-height:44px}input[type=checkbox]{width:24px;height:24px;flex-shrink:0}.mobileOnly{display:block}
 #budgetApp>aside{position:fixed;inset:0 auto 0 0;width:min(320px,88vw);height:100vh;height:100dvh;z-index:202;transform:translateX(-105%);transition:transform .18s ease;padding:16px 20px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.mobileMenuOpen #budgetApp>aside{transform:translateX(0)}#closeMobileMenu{margin-bottom:20px;background:transparent;color:inherit}#budgetApp aside .navlabel,#budgetApp aside .navactive,#budgetApp aside footer{display:block}#budgetApp aside .brand{margin-bottom:12px}#budgetApp aside .navactive{margin:12px 0}#budgetApp aside nav{display:grid;overflow:visible}#budgetApp aside nav button{white-space:normal;min-height:44px}#budgetApp aside .year{display:block;margin:12px 0}#budgetApp aside .year select{width:100%;margin:8px 0 0}#budgetApp aside footer{margin-top:16px;padding-bottom:20px}#budgetApp aside footer button,#budgetApp aside .restore{min-height:44px;padding:12px 0}
 #mobileBackdrop{position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#102e3b99;z-index:201}#mobileNav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;inset:auto 0 0;z-index:100;gap:0;background:white;border-top:1px solid #dbe3e9;padding:5px 8px max(5px,env(safe-area-inset-bottom));box-shadow:0 -3px 18px #173f4710}#mobileNav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:white;color:#526b79;font-size:24px;padding:4px;min-height:54px}#mobileNav button span{font-size:12px}#mobileNav button[aria-pressed=true]{background:#e8f3ef;color:#146b65;border-radius:10px}
 main{margin:0;padding:18px 14px calc(94px + env(safe-area-inset-bottom));min-width:0}header{flex-wrap:wrap;margin-bottom:16px}header p,.eyebrow{display:none}h1{font-size:28px;margin:4px 0}.headeractions{justify-content:flex-start;width:100%}.headeractions button{flex:1;font-size:16px}.viewbar{width:100%;margin:0 0 18px;overscroll-behavior:contain}.viewbar button{padding:10px 16px}.dashboardHeading{padding-top:0}.dashboardHeading h2{font-size:18px}.dashboardHeading .primary{width:100%}.dashboardMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboardMetrics .metric{padding:14px;min-width:0}.dashboardMetrics .metric strong{font-size:22px;overflow-wrap:anywhere;margin:10px 0}.dashboardMetrics .label{font-size:13px}.dashboardDue{padding:0 16px 16px}.dashboardDue .bankBill>span{min-width:55%;overflow-wrap:anywhere}.dashboardDue .bankBill button{width:100%}.dashboardNotice{font-size:13px}
 .toolActions{padding:12px 0;gap:8px}.toolActions button{flex:1;min-width:130px}#billToolsMonth{width:100%}.controls{display:grid;grid-template-columns:1fr 1fr}#search{width:100%;grid-column:1/-1}.sectionhead{padding:18px 16px}
 .bills table,#billDirectory table,.bills tbody,#billDirectory tbody{display:block;width:100%;white-space:normal}.bills thead,#billDirectory thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.bills tr,#billDirectory tr{display:grid;grid-template-columns:1fr;margin:12px;border:1px solid #dce5eb;border-radius:12px;padding:8px;box-shadow:0 2px 4px #102e3b05}.bills td,#billDirectory td{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;padding:9px;font-size:15px;text-align:left;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}.bills td:before,#billDirectory td:before{content:attr(data-mobile-label);font-size:12px;color:#687f8a;margin-right:auto}.bills td:nth-child(2),#billDirectory td:first-child{display:block;font-size:18px}.bills td:nth-child(2):before,#billDirectory td:first-child:before{display:block;margin-bottom:5px}.bills td .note,#billDirectory td .note{white-space:normal}.bills .edit{width:100%;min-height:44px;border:1px solid #dce5eb}.bills .edit:after{content:' Edit bill'}#billDirectory [data-group-category]{max-width:100%;width:100%}.tablewrap{max-width:100%}
 dialog,#bankingDialog,#loanDialog,#bulkDialog,#duplicateDialog,#resetDialog,#settingsDialog,#statementDialog,#accountVaultDialog,#billPdfDialog{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:0;overscroll-behavior:contain}dialog>form{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}dialog>.sectionhead,#editor form>.sectionhead{position:sticky;top:0;background:white;z-index:4;border-bottom:1px solid #e1e8ed;padding:12px 16px}#editor form>.sectionhead{margin:-16px -16px 16px}dialog .formgrid{grid-template-columns:1fr}dialog .formactions{position:sticky;bottom:0;gap:10px;background:white;padding:12px 0 max(12px,env(safe-area-inset-bottom));z-index:3;flex-wrap:wrap}.formactions button{flex:1}#repeatFields{padding:10px}.accountField input{width:100%}.accountField button{width:100%}#statementDialog,#accountVaultDialog,#billPdfDialog{padding:20px 16px calc(24px + env(safe-area-inset-bottom))}.authCard{padding:24px}.authLinks button{flex:1}
 .bankingBody{padding:0 14px calc(24px + env(safe-area-inset-bottom))}.bankingColumns{display:block}.bankingColumns>section>label{display:grid;gap:8px}#bankBalance{width:100%}.bankingBody>.datecontrols{justify-content:space-between;gap:8px;flex-wrap:nowrap;margin:16px 0}.bankingBody>.datecontrols label{min-width:0;font-size:13px;display:grid;gap:6px}.bankingBody>.datecontrols input{width:100%}.bankingBody>.categorybar{gap:8px}.bankingBody>.categorybar button{flex:1}.bankingBody>.categorybar label{width:100%;flex-basis:100%}.bankingColumns>section>p{font-size:13px}#mobileBankTotals{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;top:69px;z-index:3;background:#edf6f5;padding:12px;margin:0 -14px;border-bottom:1px solid #cde2de}#mobileBankTotals small,#mobileBankTotals strong{display:block}#mobileBankTotals small{font-size:12px;color:#526b79}#mobileBankTotals strong{font-size:19px;margin-top:4px;overflow-wrap:anywhere}#mobileBankTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#e7eef2;border-radius:10px;padding:4px;margin:18px 0}#mobileBankTabs button{border:0;background:transparent;padding:8px 4px;font-size:14px}#mobileBankTabs button[aria-pressed=true]{background:white;color:#146b65;box-shadow:0 1px 4px #102e3b15}
 #bankingDialog:not([data-mobile-tab=pending]) #bankPendingPanel,#bankingDialog:not([data-mobile-tab=scheduled]) #bankScheduledPanel,#bankingDialog:not([data-mobile-tab=paid]) #bankPaidHistory{display:none}#bankAvailable,#bankForecast{display:none}#bankPaidHistory{border:0;margin:0;padding:0}#bankBills{max-height:none;overflow:visible}#bankPendingForm{padding:12px 0}#bankPendingForm>button{width:100%}.bankPendingRow{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.bankPendingRow>[data-bank-desc]{grid-column:1/-1;grid-row:1}.bankPendingRow label{grid-column:1/-1;min-height:44px}.bankRunning{padding:10px;background:#edf6f5;border-radius:6px}.bankPendingRow button{font-size:14px;padding:8px}.bankBill>span{min-width:50%;overflow-wrap:anywhere}.bankBill button{flex:1}.bankUpcomingForm{display:grid;grid-template-columns:1fr;padding:0}.bankUpcomingForm label{min-width:0;margin:6px 0}#statementReview select{max-width:100%;width:100%}
}
@media(prefers-reduced-motion:reduce){#budgetApp>aside{transition:none}}
@media(max-width:700px){#budgetApp #mobileNav button{color:#526b79}#budgetApp #mobileNav button[aria-pressed=true]{color:#146b65}}
.budgetPickerLabel{display:grid;gap:8px;font-size:13px;margin:0 0 18px}.budgetPickerLabel select{width:100%;font-size:14px}.sharingBody{padding:0 24px 24px}.sharingBody section{padding:14px 0;border-bottom:1px solid #e0e7ed}.sharingBody form{padding:0}.sharingRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #edf1f4}.sharingRow>span{flex:1;min-width:160px;overflow-wrap:anywhere}.sharingRow small{display:block;color:#637b88;margin-top:4px}#sharingDialog{width:min(720px,94vw)}.viewOnlyBudget #budgetName:after{content:' · View only';font-size:12px}.viewOnlyBudget button:disabled{opacity:.5;cursor:default}@media(max-width:700px){#sharingDialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.sharingBody{padding:0 16px 24px}.budgetPickerLabel select{font-size:16px}.sharingRow button{flex:1}}

.dashboardActions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.dashboardViewToggle{display:flex;gap:4px;background:#e7eef2;padding:4px;border-radius:10px}.dashboardViewToggle button{background:transparent;border:0}.dashboardViewToggle button[aria-pressed=true]{background:white;color:#146b65;box-shadow:0 1px 4px #102e3b15}.dashboardMetrics.dashboardList{display:block;background:white;border:1px solid #e1e8ed;border-radius:12px;overflow:hidden}.dashboardList .metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 20px;border:0;border-radius:0;padding:15px 20px;border-bottom:1px solid #e1e8ed}.dashboardList .metric:last-child{border-bottom:0}.dashboardList .metric .label{font-weight:600;align-self:center}.dashboardList .metric strong{grid-column:2;grid-row:1/3;margin:0;align-self:center;font-size:22px;text-align:right;font-variant-numeric:tabular-nums}.dashboardList .metric small{grid-column:1}@media(max-width:700px){.dashboardActions{width:100%}.dashboardActions>.primary{flex:1}.dashboardMetrics.dashboardList .metric{padding:14px;gap:5px 12px}.dashboardMetrics.dashboardList .metric strong{font-size:19px;margin:0}.dashboardList .metric small{font-size:11px}}

/* Compact pending transaction rows, with the same editable fields and actions. */
.bankPendingViewToggle{display:inline-flex;margin:0 0 12px}
#bankPending.bankPendingList .bankPendingRow{grid-template-columns:auto minmax(100px,1fr) minmax(85px,.6fr);gap:8px;margin:0;padding:12px 0;border:0;border-bottom:1px solid #dbe5e9;border-radius:0;align-items:center}
#bankPending.bankPendingList .bankPendingRow>[data-bank-desc]{grid-column:2 / -1;grid-row:1;font-weight:600}
#bankPending.bankPendingList .bankPendingRow>label{grid-column:1;grid-row:1;margin:0}
#bankPending.bankPendingList .bankPendingRow>[data-bank-kind]{grid-column:1 / 3;grid-row:2}
#bankPending.bankPendingList .bankPendingRow>[data-bank-amount]{grid-column:3;grid-row:2;text-align:right}
#bankPending.bankPendingList .bankRunning{grid-column:1 / -1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:0;background:transparent;border-radius:0}
#bankPending.bankPendingList .bankRunning small{font-size:14px}
#bankPending.bankPendingList .bankPendingRow>[data-bank-return]{grid-column:1 / 3}
#bankPending.bankPendingList .bankPendingRow>[data-bank-delete]{grid-column:3}
@media(min-width:1100px){#bankingDialog:has(.bankPendingList) .bankingColumns{grid-template-columns:3fr 2fr}#bankPending.bankPendingList .bankPendingRow{grid-template-columns:auto minmax(120px,1fr) 100px 100px}#bankPending.bankPendingList .bankPendingRow>[data-bank-desc]{grid-column:2}#bankPending.bankPendingList .bankPendingRow>[data-bank-kind]{grid-column:3;grid-row:1}#bankPending.bankPendingList .bankPendingRow>[data-bank-amount]{grid-column:4;grid-row:1}#bankPending.bankPendingList .bankRunning{grid-column:2 / -1}#bankPending.bankPendingList .bankPendingRow>[data-bank-return]{grid-column:2 / 4}#bankPending.bankPendingList .bankPendingRow>[data-bank-delete]{grid-column:4}}

/* Per-item controls expand in place without clipping within the worksheet. */
#bankPending .bankPendingRow,#bankPending.bankPendingList .bankPendingRow{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}
.bankEntryName{min-width:0;overflow-wrap:anywhere}.bankEntryName small{display:block;font-size:14px;color:#657984;margin-top:4px}.bankEntryAmount{font-variant-numeric:tabular-nums;text-align:right}
#bankPending .bankRunning,#bankPending.bankPendingList .bankRunning{grid-column:1 / -1;flex-direction:row;justify-content:space-between;gap:12px;background:transparent;padding:0;text-align:right}.bankRunning small{font-size:14px}
.bankItemActions{flex-basis:100%;min-width:0;grid-column:1 / -1}.bankItemActions>summary{cursor:pointer;font-size:14px;font-weight:600;width:fit-content;margin-left:auto;padding:8px 12px;border:1px solid #ccd9df;border-radius:7px;min-height:36px}.bankItemActions[open]>summary{margin-bottom:8px;background:#edf6f5}.bankActionContents{display:flex;flex-wrap:wrap;gap:10px;padding:12px;background:#f2f6f8;border-radius:8px}.bankActionContents>label{display:flex;flex-direction:column;align-items:stretch;gap:6px;flex:1 1 140px;margin:0;font-size:14px}.bankActionContents>label:has(input[type=checkbox]){flex-direction:row;align-items:center;flex-basis:100%}.bankActionContents input[type=checkbox]{width:auto}.bankActionContents>button{flex:1 1 auto}.bankActionContents input,.bankActionContents select{width:100%;min-width:0}
@media(max-width:700px){.bankItemActions>summary{min-height:44px}.bankActionContents>label{flex-basis:100%}}

#sidebarClock{display:block;margin:4px 0 16px;padding:0 12px;font-size:14px;line-height:1.5;color:inherit;overflow-wrap:anywhere}#sidebarClock span{display:block;opacity:.85}#sidebarClock strong{display:block;font-size:18px;font-variant-numeric:tabular-nums;margin-top:2px}

.bankItemActions>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;font-size:26px;line-height:1}.bankItemActions>summary::-webkit-details-marker{display:none}.bankItemActions>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.billOverviewTools{padding:14px;margin:8px 0 18px;background:#edf6f5;border-radius:10px}.billOverviewTools p{margin:0 0 12px;font-size:14px}.billOverviewTools label{margin-top:12px}

/* Statement-style rows: description, amount, balance and menu stay aligned. */
#bankingDialog{width:min(1440px,98vw)}
@media(min-width:1100px){#bankingDialog:has(.bankPendingList) .bankingColumns{grid-template-columns:1fr 1fr}}
.bankingColumns>section{min-width:0}
.bankListHeading{display:grid;grid-template-columns:minmax(100px,1fr) 100px 110px 36px;gap:10px;padding:8px 10px;font-size:14px;font-weight:650;border-bottom:1px solid #cbd2d8;align-items:center}
.bankListHeading>span:nth-child(2),.bankListHeading>span:nth-child(3){text-align:right}
#bankPending:not(.bankPendingList)>.bankListHeading{display:none}
#bankPending.bankPendingList,#bankBills{overflow-x:auto}
#bankPending.bankPendingList .bankPendingRow,#bankBills>.bankBill{display:grid;grid-template-columns:minmax(100px,1fr) 100px 110px 36px;gap:4px 10px;align-items:center;margin:0;padding:5px 10px;border:0;border-bottom:1px solid #e1e3e6;border-radius:0;min-height:46px;min-width:410px;background:white;color:#203440}
#bankPending.bankPendingList .bankPendingRow:nth-of-type(odd),#bankBills>.bankBill:nth-of-type(odd){background:#f0f1f3}
#bankPending.bankPendingList .bankEntryName,#bankBills>.bankBill>span:first-child{grid-column:1;grid-row:1;min-width:0}
#bankPending.bankPendingList .bankEntryName b,#bankBills>.bankBill>span:first-child b{display:block;overflow-wrap:anywhere;font-size:14px;font-weight:600}
#bankPending.bankPendingList .bankEntryName small,#bankBills>.bankBill>span:first-child small{font-size:12px;line-height:1.3;margin:2px 0 0}
#bankPending.bankPendingList .bankEntryAmount,#bankBills>.bankBill>.bankEntryAmount{grid-column:2;grid-row:1;white-space:nowrap;font-size:14px;font-weight:500}
#bankPending.bankPendingList .bankRunning,#bankBills>.bankBill>.bankScheduledRunning{grid-column:3;grid-row:1;display:block;min-width:0;padding:0;text-align:right;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
#bankPending.bankPendingList .bankRunning small{display:none}#bankPending.bankPendingList .bankRunning strong{font-size:14px;font-weight:600}
#bankPending.bankPendingList .bankItemActions,#bankBills>.bankBill>.bankItemActions{display:contents}
#bankPending.bankPendingList .bankItemActions>summary,#bankBills>.bankBill>.bankItemActions>summary{grid-column:4;grid-row:1;width:36px;min-height:36px;margin:0;border:0;background:transparent}
#bankPending.bankPendingList .bankActionContents,#bankBills .bankActionContents{grid-column:1/-1;grid-row:2;margin-top:4px}
#bankPending.bankPendingList .bankItemActions:not([open])>.bankActionContents,#bankBills .bankItemActions:not([open])>.bankActionContents{display:none}
#bankPending.bankPendingList>.bankListHeading,#bankBills>.bankListHeading{min-width:410px}
@media(max-width:700px){#bankingDialog{width:100vw}.bankListHeading{font-size:13px}#bankPending.bankPendingList .bankItemActions>summary,#bankBills>.bankBill>.bankItemActions>summary{min-height:44px}}
#paydaySetup{width:min(620px,94vw)}#paydaySetupForm{padding:24px}#paydaySetupForm label{display:grid;gap:8px;margin:12px 0}#paydaySetupForm .paydayReplace{display:flex;align-items:center}#paydaySetupForm .paydayReplace input{width:auto}#paydaySetupPreview{font-size:14px;color:#526b79}#accountSettings{width:min(520px,94vw)}.accountSettingsBody{padding:0 24px 24px}.budgetAccountNumber{font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:.06em}#addPayday{margin-left:12px}@media(max-width:700px){#paydaySetup,#accountSettings{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.viewbar{flex-wrap:wrap}}
.bankStartingRow{display:flex;justify-content:space-between;gap:16px;padding:12px 10px;background:#edf6f5;border-bottom:1px solid #cbd2d8;font-size:14px}.bankStartingRow strong{font-variant-numeric:tabular-nums}#bankPendingPanel>#bankAvailable{margin:0 0 16px}#outsideSavingsDialog{width:min(540px,94vw)}#outsideSavingsForm{padding:24px}#outsideSavingsForm label{display:grid;gap:8px;margin:14px 0}#addBudget{margin:0 0 12px}@media(max-width:700px){#bankPendingPanel>#bankAvailable,#bankScheduledPanel>#bankForecast{display:block}#outsideSavingsDialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}}
#removeBudgetAccount{display:block;margin:24px 0}#removedBudgetBackups{border-top:1px solid #dbe5e9;margin-top:24px;padding-top:16px}#removeAccountDialog{width:min(580px,94vw)}#removeAccountForm{padding:24px}#removeAccountForm label{display:grid;gap:8px;margin:18px 0}@media(max-width:700px){#removeAccountDialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}}
#helpDialog{width:min(1050px,96vw);max-height:92dvh;padding:0}#helpDialog>.sectionhead{position:sticky;top:0;background:white;z-index:2;border-bottom:1px solid #dbe5e9}.helpBody{padding:24px}.helpSearch{display:grid;gap:8px;font-size:14px;font-weight:600;margin-bottom:20px}.helpSearch input{width:100%}.helpLayout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px}#helpTopics{display:flex;flex-direction:column;gap:6px;align-self:start}#helpTopics button{color:#274451;background:#f0f4f7;border:1px solid transparent;font-size:14px;line-height:1.4;padding:12px;text-align:left}#helpTopics button small{display:block;font-size:12px;margin-bottom:4px;color:#657984}#helpTopics button[aria-current=page]{background:#d9efea;border-color:#176b65;color:#124b46}#helpArticle h3{font-size:26px;margin:8px 0 12px}.helpKicker{font-size:14px;font-weight:600;color:#176b65}.helpSteps{padding-left:24px;line-height:1.7;font-size:16px}.helpSteps li{padding:8px 0 8px 4px}.helpSteps label{display:flex;align-items:flex-start;gap:12px}.helpSteps input{width:20px;height:20px;flex-shrink:0;margin-top:4px}.helpTip{padding:16px;background:#edf6f5;border-radius:10px}.helpTip p{margin-bottom:0}.helpActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.helpProgress{display:flex;align-items:center;gap:12px;font-size:14px;margin:20px 0}.helpProgress progress{accent-color:#176b65;width:150px}.helpStatus{margin-top:18px}html[data-theme=dark] #helpTopics button[aria-current=page]{background:#70d4c4!important;color:#102520!important}html[data-theme=dark] #helpTopics button[aria-current=page] small{color:#24443f!important}html[data-theme=dark] .helpTip{background:#233641}html[data-theme=dark] .helpKicker{color:#70d4c4}@media(max-width:700px){#helpDialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.helpBody{padding:16px}.helpLayout{grid-template-columns:1fr;gap:20px}#helpTopics{max-height:180px;overflow-y:auto}.helpActions button{flex:1}#helpArticle h3{font-size:23px}}

#reportIssues{display:block;font-size:13px;line-height:1.7;padding:8px 0;color:var(--budget-sidebar-text,#d9e6ed);text-decoration:none}#reportIssues:hover{text-decoration:underline}#reportIssues:focus-visible{outline:3px solid #639dec;outline-offset:2px;border-radius:3px}
.billDocumentField{display:grid;gap:8px;margin:16px 0}.billDocumentField small{color:#657984}#billDocumentsDialog{width:min(760px,96vw)}.billDocumentsBody{padding:0 24px 24px}#attachBillPdfLabel{display:grid;gap:8px;margin:18px 0}#billPdfViewer{width:min(1100px,98vw);max-height:96dvh;padding:0}#billPdfViewer>.sectionhead{position:sticky;top:0;background:white;z-index:2}#viewPdfTitle{overflow-wrap:anywhere}.pdfViewToolbar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:12px}.pdfCanvasWrap{overflow:auto;padding:12px;background:#dce3e8;text-align:center}.pdfCanvasWrap canvas{display:block;margin:auto;background:white}#pdfViewStatus{padding:0 20px}html[data-theme=dark] .pdfCanvasWrap{background:#101820}@media(max-width:700px){#billDocumentsDialog,#billPdfViewer{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.pdfViewToolbar{gap:6px}.pdfViewToolbar button{font-size:14px;padding:8px}}

#quickCalculator{width:min(390px,calc(100vw - 24px));max-height:90dvh;padding:20px}#quickCalculator .quickCalcBody{display:grid;gap:12px}#quickCalculator input{width:100%;font-size:20px}#quickCalcResult{display:block;text-align:right;font-size:26px;overflow-wrap:anywhere;min-height:40px}.quickCalcKeys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quickCalcKeys button{min-height:44px;font-size:20px}.quickCalcEquals{grid-column:1/-1}#quickCalculator p{font-size:13px;margin:0}

#quickCalculator .quickCalcDragHandle{cursor:grab;touch-action:none;user-select:none}#quickCalculator .quickCalcDragHandle.dragging{cursor:grabbing}#quickCalculator .quickCalcDragHandle:focus-visible{outline:2px solid currentColor;outline-offset:4px}#quickCalculator .quickCalcDragHandle button{cursor:pointer}

.viewbar .scheduleChoice{display:flex;align-items:center;gap:10px;flex-shrink:0;margin:0;padding:3px 10px;font-size:14px;font-weight:600;white-space:nowrap}.scheduleChoice select{width:auto;min-width:115px;margin:0;min-height:40px}

.brand.brandLogo{display:block;background:#fff;border-radius:10px;overflow:hidden;padding:0;width:100%;line-height:0}.brandLogo img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;object-position:center 49%}.authCard .brandLogo{margin-bottom:24px}#plannerNav .brandLogo{margin-bottom:20px;flex:0 0 auto;min-height:60px}

#plannerNav .monthChoice{display:block;flex-shrink:0;margin-bottom:18px}#plannerNav .monthChoice select{display:block;width:100%;margin-top:8px}

.backupSettings{padding:0 24px 24px}.backupSettings .toolActions{padding:8px 0;display:flex;flex-wrap:wrap;gap:10px}.backupSettings .restore{display:inline-flex;align-items:center;margin:0;border:1px solid #dbe3e9;border-radius:8px;padding:10px 15px;background:white;color:#172e3a;font-size:16px;cursor:pointer}.backupSettings .restore input{display:none}html[data-theme=dark] .backupSettings .restore{background:#233641;color:#e4edf4;border-color:#435564}

/* Expanded scheduled controls grow the list and push totals below them. */
#bankBills{max-height:none;overflow-y:visible}#bankBills>.bankBill:has(.bankItemActions[open]){padding-bottom:12px}#bankBills .bankActionContents{position:static;scroll-margin-block:16px}

.bankEntryCount{margin:0;padding:12px 10px;border-top:1px solid #ccd9df;font-size:14px;font-weight:600;text-align:right;color:inherit;clear:both}

.scheduleList table th:nth-child(3),.scheduleList table td:nth-child(3),.scheduleList table th:nth-child(5),.scheduleList table td:nth-child(5){display:none}.scheduleList tbody tr:nth-child(even){background:#f0f1f3}.scheduleList tbody td{padding-top:7px;padding-bottom:7px}.scheduleList td:nth-child(2) .note{display:none}.scheduleRunning{white-space:nowrap;font-variant-numeric:tabular-nums}.scheduleListFooter{margin:0;padding:16px 22px}html[data-theme=dark] .scheduleList tbody tr:nth-child(even){background:#233641}
@media(max-width:700px){.bills.scheduleList table{display:table;min-width:600px;white-space:normal}.bills.scheduleList tbody{display:table-row-group}.bills.scheduleList thead{position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:table-header-group}.bills.scheduleList tr{display:table-row;margin:0;border:0;padding:0;box-shadow:none}.bills.scheduleList td,.bills.scheduleList td:nth-child(2){display:table-cell;padding:8px;font-size:14px}.bills.scheduleList td:nth-child(3),.bills.scheduleList td:nth-child(5){display:none}.bills.scheduleList td:before{display:none}.bills.scheduleList .edit{width:auto}.bills.scheduleList .edit:after{content:none}}

.calendarSearchControls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:400px}.calendarSearchControls label{display:grid;gap:5px;font-size:14px}.calendarSearchControls p{width:100%;margin:0}.monthcell.calendarMatchDay{box-shadow:inset 0 0 0 2px #ad7900}.calendar-bill.calendarMatch{background:#ffe08a!important;color:#362700!important;font-weight:700;text-decoration:none;padding:3px 5px;border-radius:4px;white-space:normal;overflow-wrap:anywhere}

/* Shared bill balance details follow the existing editor and table layout. */
#billBalanceFields{margin:18px 0;border:1px solid #ccd9df;border-radius:12px;padding:18px;min-width:0}#billBalanceFields legend{font-weight:700;padding:0 8px}#billBalanceFields .debtEnable{display:flex;align-items:center;gap:10px}#billBalanceFields .debtEnable input{width:auto}#billBalanceFields p{font-size:14px;line-height:1.5}#debtCurrent{margin:12px 0}#debtFields>button{margin:8px 0 14px}.debtDirectoryCell{font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:700px){#billBalanceFields{padding:12px}.debtDirectoryCell{white-space:normal}}
/* Category identity preserves readable text and alternating rows. */
.categoryHighlighted{background-image:linear-gradient(90deg,var(--category-tint),transparent 75%)!important;box-shadow:inset 4px 0 var(--category-color)}tr.categoryHighlighted{box-shadow:none}tr.categoryHighlighted>td:first-child{box-shadow:inset 4px 0 var(--category-color)}.calendar-bill.categoryHighlighted{border-left:4px solid var(--category-color);padding-left:5px;box-shadow:none}.calendarMatch.categoryHighlighted{background-image:none!important}
#categoryColorsDialog{width:min(560px,94vw)}#categoryColorsForm{padding:24px}#categoryColorsForm .sectionhead{padding:0 0 16px}.categoryColorRow{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #dce5eb;gap:16px}.categoryColorRow input{width:64px;height:42px;padding:3px}.categoryColorRow span{font-size:16px}
#spendAnalysisDialog{width:min(1060px,96vw);max-width:1060px}.spendBody{padding:24px}.spendControls{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.spendControls label{flex:1;min-width:150px;font-size:14px}.spendControls select,.spendControls input{width:100%}.spendRange{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0}.spendViews{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.spendViews button{min-height:42px}#spendExplanation{font-size:14px;line-height:1.5}.spendBars{display:grid;gap:12px}.spendBarRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 20px;text-align:left;padding:14px 18px;border:1px solid #dce5eb;border-radius:12px;min-width:0}.spendBarRow span{font-weight:600}.spendBarRow strong{font-variant-numeric:tabular-nums}.spendBarTrack{height:14px;background:#e6edf2;border-radius:8px;overflow:hidden;grid-column:1/-1}.spendBarTrack i{display:block;height:100%;min-width:0;border-radius:8px}.spendBarRow small{grid-column:1/-1;font-size:14px}.spendDonutLayout{display:grid;grid-template-columns:minmax(250px,350px) 1fr;align-items:center;gap:32px}.spendDonut{aspect-ratio:1;border-radius:50%;padding:23%;display:grid;place-items:center}.spendDonut>div{background:#fff;border-radius:50%;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:130px}.spendDonut strong{font-size:20px}.spendLegend{display:grid;gap:8px}.spendLegend button{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;text-align:left;padding:12px}.spendLegend button small{grid-column:2/-1}.spendLegend i,.spendCategoryLink i{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}.spendCategoryLink{display:flex;align-items:center;gap:10px;text-align:left}.spendEmpty{text-align:center;padding:36px 18px;border:1px dashed #ccd9df;border-radius:12px}#spendContent tfoot th,#spendContent tfoot td{border-top:2px solid #ccd9df;padding:16px}.spendBody .dateoverview{margin:16px 0}#spendContent .note{font-size:13px;white-space:normal}
@media(max-width:700px){.spendBody{padding:16px}.spendDonutLayout{grid-template-columns:1fr}.spendDonut{width:min(300px,100%);justify-self:center}.spendControls label{min-width:130px}.spendRange strong{font-size:14px;text-align:center}.spendViews button{flex:1;min-width:120px}.spendBody .dateoverview{flex-wrap:wrap}.spendBarRow{padding:12px}.spendBarRow span{overflow-wrap:anywhere}}

.paymentMethodBadge{display:inline-block;margin-left:8px;padding:2px 6px;border:1px solid currentColor;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.bankEntryAmount .paymentMethodBadge{display:block;margin:3px 0 0;font-size:12px}

#billPayoffDialog{width:min(1000px,94vw)}

.billActions{min-width:44px}.billActions>summary{list-style:none;cursor:pointer;font-size:26px;text-align:center;width:44px;min-height:40px;border:1px solid #d4dde4;border-radius:8px;line-height:36px}.billActions>summary::-webkit-details-marker{display:none}.billActions>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.billActionsMenu{display:flex;flex-direction:column;gap:6px;padding-top:8px;min-width:160px}.billActions:not([open])>.billActionsMenu{display:none}.billActionsMenu>button{width:100%;text-align:left;white-space:nowrap}

/* Keep the Bills directory within the page instead of requiring horizontal panning. */
#billDirectory{min-width:0;max-width:100%}#billDirectory .sectionhead{flex-wrap:wrap}#billDirectory .headeractions{width:100%;justify-content:flex-start;align-items:flex-end}#billDirectory .headeractions label{flex:1 1 160px;min-width:0}#billDirectory .headeractions select{width:100%}#billDirectory .tablewrap{overflow:visible}#billDirectory table{table-layout:fixed;white-space:normal;width:100%;min-width:0}#billDirectory th,#billDirectory td{padding:12px 8px;overflow-wrap:anywhere;white-space:normal;vertical-align:top}#billDirectory th:first-child{width:20%}#billDirectory th:nth-child(2){width:18%}#billDirectory th:nth-child(3){width:8%}#billDirectory th:nth-child(4){width:15%}#billDirectory th:nth-child(5){width:15%}#billDirectory th:nth-child(6){width:12%}#billDirectory th:nth-child(7){width:6%}#billDirectory th:last-child{width:6%}#billDirectory [data-group-category]{width:100%;min-width:0;padding:8px 4px;font-size:14px}#billDirectory .note{white-space:normal;overflow-wrap:anywhere}#billDirectory .paymentMethodBadge{margin:6px 0 0;max-width:100%;white-space:normal}#billDirectory .billActions{min-width:0}#billDirectory .billActions>summary{max-width:100%}#billDirectory .billActions[open]{position:relative}#billDirectory .billActionsMenu{min-width:0;width:100%}#billDirectory .billActionsMenu>button{white-space:normal;padding:8px 4px;font-size:14px}
@media(max-width:1100px){
 #billDirectory table,#billDirectory tbody{display:block;width:100%}#billDirectory thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#billDirectory tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:12px;border:1px solid #dce5eb;border-radius:10px;padding:10px}#billDirectory td{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;border:0;padding:8px;font-size:14px}#billDirectory td:before{content:attr(data-mobile-label);font-size:13px;color:#687f8a;display:block}#billDirectory td:first-child{grid-column:1/-1;font-size:18px}#billDirectory td:last-child{grid-column:1/-1}#billDirectory .billActions{width:100%}#billDirectory .billActions>summary{width:44px}#billDirectory .billActionsMenu{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}#billDirectory .billActionsMenu>button{width:auto;padding:8px 12px}#billDirectory .billActions:not([open])>.billActionsMenu{display:none}
}

/* Bill actions float beside the ellipsis without changing the table row. */
#billDirectory .billActions[open]>.billActionsMenu{position:fixed;z-index:1000;display:flex;flex-direction:column;flex-wrap:nowrap;gap:3px;padding:6px;background:#fff;color:#172e3a;border:1px solid #d4dde4;border-radius:10px;box-shadow:0 8px 28px #102e3b30;min-width:0;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto}#billDirectory .billActionsMenu>button{display:block;width:100%;text-align:left;white-space:nowrap;font-size:14px;padding:10px 12px;border:0;background:transparent;border-radius:6px}#billDirectory .billActionsMenu>button:hover{background:#edf3f6}#billDirectory .billActionsMenu>.delete-bill{color:#b34552}html[data-theme=dark] #billDirectory .billActionsMenu{background:#1c3240;color:#e0ebf0;border-color:#456271}html[data-theme=dark] #billDirectory .billActionsMenu>button:hover{background:#294654}

.entryBudgetStatus{max-width:170px;margin-right:6px;font-size:14px}.excludedPayment{color:#956000!important}.scheduleList td:nth-child(2) .excludedPayment{display:block}

.possibleDuplicate{color:#956000!important;font-weight:600}.scheduleList td:nth-child(2) .possibleDuplicate{display:block}html[data-theme=dark] .possibleDuplicate,html[data-theme=dark] .excludedPayment{color:#ffcb70!important}

.excludedPaymentsSection details{padding:16px}.excludedPaymentsSection summary{cursor:pointer;font-weight:600}.excludedBillRow{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #dce5eb}.excludedBillRow>span{flex:1;min-width:0;overflow-wrap:anywhere}.excludedBillRow small{display:block;color:#73848f;margin-top:4px}.excludedBillRow>strong{white-space:nowrap}.excludedBillRow button{padding:8px 10px;font-size:14px}@media(max-width:700px){.excludedBillRow{flex-wrap:wrap}.excludedBillRow>span{min-width:50%}}
