/* Shared rhythm and a phone-first reading order; domain forms keep their IDs. */
:root{--ledger-ink:#24362d;--ledger-muted:#68766e;--ledger-line:#e2e7e3;--ledger-paper:#fff;--ledger-canvas:#f4f6f3}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #28704c;outline-offset:3px}
button:active{transform:translateY(1px)}
#ledger-access{background:var(--ledger-canvas);color:var(--ledger-ink);display:flex;flex-direction:column;align-items:center;padding:48px 24px 24px;overflow:auto;position:fixed;inset:0;z-index:2000}
.access-brand{display:flex;align-items:center;gap:10px;width:min(100%,380px);font-size:16px;font-weight:650;flex-shrink:0}
.access-brand img{width:32px;height:32px;border-radius:8px}
.access-form{width:min(100%,380px);margin:auto 0;padding:52px 0;flex-shrink:0}
.access-form h1{font-size:29px;line-height:1.3;font-weight:650;letter-spacing:-.03em}
.access-intro{font-size:14px;color:var(--ledger-muted);margin:12px 0 36px}
.access-form>label:not(.access-remember){display:block;font-size:14px;font-weight:600;margin-bottom:10px}
.access-password{position:relative;display:flex;background:#fff;border:1px solid #ccd6ce;border-radius:10px;overflow:hidden}
.access-password:focus-within{outline:2px solid #28704c;outline-offset:2px}
.access-password input{width:100%;min-width:0;padding:15px 12px;font-size:16px;background:transparent;outline:0!important;border:0}
.access-password button{min-width:52px;min-height:52px;color:var(--ledger-muted);font-size:13px}
.access-remember{display:flex;align-items:center;gap:10px;font-size:14px;min-height:48px;margin-top:18px;cursor:pointer}
.access-remember input{accent-color:#0f5132;width:18px;height:18px;flex-shrink:0}
.access-device-note{font-size:12px;color:var(--ledger-muted);margin:0 0 24px 28px}
#access-submit{display:block;width:100%;background:#0f5132;border-radius:10px;min-height:52px;color:white;font-size:16px;font-weight:600}
#access-submit:disabled{opacity:.55}
#access-message{min-height:44px;font-size:13px;line-height:1.6;color:#9c3b2b;margin:14px 0 0}
#access-message[role="status"]{color:var(--ledger-muted)}
.access-retry{display:block;margin:0 auto;min-height:44px;font-size:13px;color:var(--ledger-muted);text-decoration:underline;text-underline-offset:4px}
#ledger-access>footer{font-size:12px;color:var(--ledger-muted);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom)}
.access-form [hidden]{display:none!important}
body.ledger-access-recovery .access-form>label,
body.ledger-access-recovery .access-password,
body.ledger-access-recovery .access-device-note,
body.ledger-access-recovery #access-submit{display:none}
body.ledger-access-recovery .access-retry{display:block;width:100%;margin:0;min-height:52px;padding:12px 16px;border:1px solid #0f5132;border-radius:10px;background:#0f5132;color:#fff;font-size:16px;font-weight:600;text-decoration:none}
.access-use-code{display:block;width:100%;min-height:44px;margin-top:8px;padding:10px 12px;color:#365642;font-size:14px;text-align:center;text-decoration:underline;text-underline-offset:4px}
.ledger-balance{padding:24px;background:white;border:1px solid var(--ledger-line);border-radius:14px}
.ledger-balance-label{font-size:13px;color:var(--ledger-muted)}
.ledger-balance-value{font-size:38px;font-weight:650;line-height:1.2;letter-spacing:-.04em;margin:8px 0 22px}
#page-overview .ledger-balance-value{font-size:38px;line-height:1.2;font-weight:650;margin:8px 0 22px}
.ledger-balance-detail{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--ledger-muted)}
.ledger-balance-detail strong{color:var(--ledger-ink);font-weight:550;margin-left:6px}
.ledger-overview .ledger-next-task{padding:18px 20px;background:#eaf1eb;border:0;border-radius:12px}
.ledger-overview .ledger-next-task h3{font-size:18px;margin:6px 0}
.ledger-overview .ledger-next-task .ledger-task-action{margin-top:10px}
.ledger-queue-links{display:flex;gap:24px;padding-top:18px;margin-top:18px;border-top:1px solid var(--ledger-line)}
.ledger-queue-links button{font-size:13px;min-height:40px;text-align:left;color:var(--ledger-muted)}
.ledger-queue-links strong{font-size:18px;color:var(--ledger-ink);margin-left:10px}
.ledger-record{padding:12px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;border-bottom:1px solid var(--ledger-line)}
.ledger-record:last-child{border-bottom:0}.ledger-record.hidden{display:none}
.ledger-record-main{text-align:left;min-width:0}.ledger-record-main h3{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.ledger-record-main p{font-size:12px;color:var(--ledger-muted);margin-top:6px;line-height:1.6}
.ledger-record-money{text-align:right;min-width:0}.ledger-record-money strong{display:block;font-size:18px;font-weight:600;letter-spacing:-.02em}
.ledger-record-money span{display:block;font-size:12px;color:var(--ledger-muted);margin-top:6px}
.ledger-record-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.ledger-record-bottom>button{color:#0f5132;min-height:44px;font-size:13px}
.ledger-record-bottom .reimburse-item-actions{display:flex;gap:8px;margin-left:auto}
.ledger-record-bottom .reimburse-item-actions button{min-height:44px;font-size:13px;box-shadow:none;border-radius:8px}
.ledger-hub{width:min(440px,100%);background:white;border-radius:18px;position:relative;z-index:10;overflow:auto;max-height:calc(var(--app-visual-height,100dvh) - 20px)}
.ledger-hub>header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--ledger-line)}
.ledger-hub h3{font-size:19px;font-weight:650}.ledger-hub>header button{min-width:44px;min-height:44px;font-size:22px}
.ledger-hub-list{padding:4px 20px}.ledger-hub-list>button{display:flex;align-items:center;gap:16px;width:100%;min-height:58px;text-align:left;border-bottom:1px solid var(--ledger-line);font-size:15px}
.ledger-hub-list>button>svg{width:19px;height:19px;color:var(--ledger-muted)}
.ledger-hub-list>button:last-child{border-bottom:0}.ledger-hub-list>button>span{flex:1}
.ledger-hub>footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px max(16px,env(safe-area-inset-bottom));font-size:13px;background:var(--ledger-canvas);color:var(--ledger-muted)}
.ledger-hub>footer button{min-height:44px;color:#0f5132}
.ledger-fund-list{padding:0 24px}
.ledger-fund-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;padding:24px 0;border-bottom:1px solid var(--ledger-line)}
.ledger-fund-row:last-child{border:0}.ledger-fund-copy{min-width:0}.ledger-fund-label{font-size:14px;color:var(--ledger-muted)}
.ledger-fund-row strong{display:block;font-size:28px;font-weight:600;margin:7px 0;letter-spacing:-.03em;overflow-wrap:anywhere}
.ledger-fund-row small{font-size:13px;color:var(--ledger-muted);line-height:1.7}.ledger-fund-row>svg{color:var(--ledger-muted);flex-shrink:0}
@media(max-width:1023.98px){
 body.ledger-unlocked{background:var(--ledger-canvas);height:var(--app-visual-height,100dvh)!important;min-height:0!important;overflow:hidden!important}
 body>main{height:100%!important;min-height:0!important;overflow:hidden!important}
 body>main>header{height:62px!important;min-height:62px!important;padding:0 18px!important;display:flex!important;flex-direction:row!important;gap:8px!important;background:var(--ledger-canvas)!important;backdrop-filter:none!important;border-bottom:1px solid var(--ledger-line)}
 .app-header-primary{width:auto!important;flex:1!important;min-width:0;display:block!important}
 #page-title{font-size:19px!important;letter-spacing:-.03em;line-height:1.3}
 .app-header-mobile-actions{display:none!important}
 .app-header-toolbar{display:flex!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;padding:0!important;gap:2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
 .app-header-toolbar>button:last-child{width:auto!important;flex:none!important;justify-content:center!important;gap:3px!important}
 .app-header-toolbar button{min-height:44px!important;min-width:44px!important;padding:0 6px!important;box-shadow:none!important}
 .app-header-toolbar #reminder-button,.app-header-toolbar #sync-button{display:none!important}
 #month-label{font-size:13px!important;letter-spacing:0!important}
 .scrollable-content{height:auto!important;flex:1;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding:20px 16px calc(88px + env(safe-area-inset-bottom))!important;overscroll-behavior-y:contain}
 .page-section{height:auto!important;min-height:0!important;overflow:visible!important}
 #mobile-tabbar{height:calc(64px + env(safe-area-inset-bottom))!important;padding:4px 8px max(4px,env(safe-area-inset-bottom))!important;background:#fff!important;backdrop-filter:none;box-shadow:none!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;z-index:40}
 #mobile-tabbar>button{min-height:52px!important;width:100%!important;gap:4px;border-radius:8px}
 #mobile-tabbar svg{width:21px!important;height:21px!important;margin:0!important}
 #mobile-tabbar button>span:not(.absolute){font-size:11px!important;line-height:1.2;font-weight:550!important}
 #mobile-tabbar button[aria-current="page"]{color:#0f5132!important;background:#eef4ef}
 #mobile-tabbar button>span.absolute{right:calc(50% - 20px)!important;top:3px!important;min-width:6px;font-size:10px!important}
 .ledger-page-layout{gap:16px;padding:0!important;overflow:visible}
 .ledger-page-heading{gap:10px;align-items:center;min-height:44px}
 .ledger-page-heading h2{display:none}.ledger-page-heading p{font-size:13px!important;margin:0;line-height:1.7;letter-spacing:0}
 .ledger-page-heading .ledger-button{min-height:44px;font-size:14px;padding:9px 16px;white-space:nowrap}
 .ledger-panel{border:0;border-radius:12px;padding:18px;box-shadow:none}
 .ledger-panel h3{font-size:16px}.ledger-text-button{min-height:44px;font-size:13px}
 .ledger-small,.ledger-work-row small{font-size:12px;line-height:1.6}
 .ledger-work-row{min-height:64px;font-size:14px;gap:12px}
 .ledger-work-row>strong{flex-shrink:0}
 .ledger-balance{padding:20px 18px;border:0;border-radius:12px}
 .ledger-balance-value{font-size:38px;overflow-wrap:anywhere;margin-bottom:20px}
 .ledger-balance-detail{font-size:12px;gap:10px}.ledger-balance-detail strong{display:block;font-size:16px;margin:5px 0 0}
 .ledger-queue-links{gap:20px}.ledger-queue-links button{flex:1;font-size:12px}.ledger-queue-links strong{font-size:20px;margin-left:8px}
 .ledger-overview-columns{gap:16px}
 .ledger-overview .ledger-next-task{padding:16px 18px}.ledger-overview .ledger-next-task h3{font-size:17px;line-height:1.6}.ledger-overview .ledger-next-task>p{font-size:13px}
 .ledger-overview .ledger-next-task .ledger-section-top{font-size:12px}
 .ledger-overview .ledger-task-action .ledger-button{min-height:44px;font-size:13px;background:white;color:#0f5132;border:1px solid #cddfce}
 .ledger-summary-strip{grid-template-columns:1fr 1fr;padding:18px;border:0;border-radius:12px;gap:18px 12px}
 .ledger-summary-strip>div:first-child{grid-column:1/-1;border:0;padding:0}
 .ledger-summary-strip>div:first-child strong{font-size:30px}
 .ledger-summary-strip>div,.ledger-summary-strip>button{border:0;padding:0;gap:6px}
 .ledger-summary-strip span{font-size:12px}.ledger-summary-strip strong{font-size:20px}
 .ledger-budget-page .ledger-summary-strip{grid-template-columns:1fr 1fr}
 .ledger-category-row{padding:14px 0;gap:8px 12px;font-size:14px}
 .ledger-category-spent{font-size:12px}.ledger-category-spent small{font-size:12px}.ledger-category-remaining{font-size:14px}
 .ledger-category-row>button{min-height:44px;margin:-5px 0}
 .ledger-category-row .ledger-progress{height:3px;margin-top:9px}
 .ledger-contributions>summary{font-size:14px;min-height:44px}
 .ledger-contributions>summary>span:last-of-type{font-size:12px}
 .reimburse-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;margin:0 0 16px!important}
 .reimburse-actions{order:0!important;display:flex!important;grid-template-columns:none!important;margin:0!important;width:100%!important;gap:10px!important;flex-wrap:wrap}
 .reimburse-actions>button{flex:1;min-width:0!important;min-height:46px!important;padding:10px 14px!important;border-radius:9px!important;box-shadow:none!important;font-size:14px!important;justify-content:center}
 #page-reimburse .reimburse-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
 #page-reimburse .reimburse-actions>button{width:auto!important;min-width:0!important;margin:0!important;grid-column:auto!important}
 #page-reimburse .reimburse-actions>button.reimburse-batch-action{grid-column:1/-1!important}
 #reimbursement-search-empty.hidden{display:none!important}
 .reimburse-filter{order:1!important;display:flex!important;width:100%;gap:0!important;border-bottom:1px solid #dce3de;padding:0!important;overflow-x:auto!important;flex-shrink:0}
 .reimburse-filter>button{border-radius:0!important;box-shadow:none!important;border:0!important;background:transparent!important;color:var(--ledger-muted)!important;min-height:44px;padding:10px 14px!important;font-size:13px!important;position:relative}
 .reimburse-filter>button.bg-text-main{color:#0f5132!important;border-bottom:2px solid #0f5132!important;font-weight:650!important}
 .reimburse-search-row{gap:10px!important;flex-wrap:nowrap!important}.reimburse-search-box{width:auto!important;min-width:0!important}
 #reimbursement-search-input{font-size:16px!important;min-height:46px;box-shadow:none;border:1px solid var(--ledger-line)!important}
 #reimbursement-search-count{font-size:12px!important}.reimburse-search-row>[data-finance-history-entry]{display:none!important}
 #page-reimburse>.bg-surface{box-shadow:none!important;border:0!important;border-radius:12px}
 .ledger-record{padding:17px 16px;gap:10px}.ledger-record-money strong{font-size:17px}
 .ledger-record-main h3{font-size:15px;line-height:1.5}.ledger-record-main p{font-size:12px}
 .ledger-record-money span{font-size:11px;line-height:1.6;max-width:116px}
 .ledger-record-bottom .reimburse-item-actions button{min-height:44px!important;white-space:nowrap;padding:8px 12px!important}
 .ledger-hub{border-radius:18px 18px 0 0;max-height:calc(var(--app-visual-height,100dvh) - 16px)}
 .ledger-settings-grid{gap:16px}.ledger-settings-group h3{font-size:12px;color:var(--ledger-muted);font-weight:500;margin-bottom:4px}
 .ledger-settings-group .ledger-work-row{min-height:65px}.ledger-settings-details>summary{min-height:44px}
 [id^="modal-"]{padding:0!important;max-height:var(--app-visual-height,100dvh)}
 [id^="modal-"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),[id^="modal-"] select,[id^="modal-"] textarea{font-size:16px!important;min-height:46px;max-width:100%;min-width:0}
 [id^="modal-"] button:not(.category-icon-option){min-height:44px}
 #modal-apply .apply-dialog{width:100%!important;max-width:none!important;height:var(--app-visual-height,100dvh)!important;max-height:var(--app-visual-height,100dvh)!important;border-radius:0!important;box-shadow:none!important}
 #modal-apply .apply-dialog>div:first-child{padding:14px 18px!important;background:white}
 #modal-apply .apply-dialog>div:first-child h3{font-size:18px}
 #modal-apply .apply-form-body{display:block!important;padding:18px!important;overflow:auto!important;flex:1;min-height:0;overscroll-behavior:contain;background:#fff}
 #modal-apply .apply-form-body>div+div{margin-top:22px}
 #modal-apply #single-apply-panel{display:flex;flex-direction:column;gap:20px;margin-top:22px!important}
 #modal-apply #single-apply-panel.hidden{display:none}
 #modal-apply #single-apply-panel>*{margin:0!important}
 #modal-apply .apply-amount-fields{display:block!important}
 #modal-apply .apply-applicant-field{display:none}
 #modal-apply .apply-amount-fields .money-field{height:64px;background:#f4f6f3;border:1px solid var(--ledger-line);border-radius:10px}
 #modal-apply #apply-amount{font-size:32px!important;font-weight:550;line-height:1.2}
 #modal-apply .money-field-prefix{font-size:22px}
 #modal-apply .apply-details-fields{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
 #modal-apply .apply-label{font-size:13px!important;letter-spacing:0;text-transform:none;margin-bottom:9px}
 #modal-apply .apply-input{background:#fff;border:1px solid #d5ddd6;border-radius:8px;box-shadow:none;padding:11px 12px}
 #modal-apply .category-main-rail{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;padding:0 0 6px;gap:7px!important;scrollbar-width:thin}
 #modal-apply .category-main-rail>button{min-width:60px!important;min-height:48px!important;border-radius:9px!important;padding:8px 10px!important;flex-shrink:0;box-shadow:none}
 #modal-apply .category-main-rail>button span{display:inline!important;font-size:13px}
 #modal-apply .category-main-rail>button svg{display:none}
 #modal-apply .category-sub-rail{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
 #modal-apply .category-sub-rail>button{min-height:44px!important;border-radius:8px!important;font-size:13px!important;box-shadow:none}
 #modal-apply #apply-budget-hint{border:0!important;background:#f4f6f3!important;font-size:12px;border-radius:8px;padding:12px;line-height:1.7}
 #modal-apply #apply-total-preview{font-size:14px}
 #modal-apply .apply-receipt-panel{background:transparent;border:0;padding:0}
 #modal-apply .apply-receipt-panel>div{font-size:13px;letter-spacing:0;margin-bottom:9px}
 #modal-apply .apply-receipt-panel>button{border-radius:9px;box-shadow:none}
 #modal-apply #apply-batch-summary{display:none!important}
 #modal-apply .apply-dialog>div:last-child{background:white!important;border-top:1px solid var(--ledger-line);padding:12px 18px max(12px,env(safe-area-inset-bottom))!important;gap:12px;display:flex}
 #modal-apply .apply-dialog>div:last-child>button{min-height:48px;box-shadow:none!important;border-radius:9px!important;padding:10px 16px!important}
 #modal-apply .apply-dialog>div:last-child>button:last-child{flex:1}
 #modal-apply .ledger-draft-toolbar{display:block;margin-bottom:14px;border:0;background:transparent;color:var(--ledger-muted);padding:0;font-size:12px}
 #modal-apply .ledger-draft-toolbar summary{cursor:pointer;min-height:36px;line-height:1.7;display:list-item;padding:8px 0}
 #modal-apply .ledger-draft-toolbar>span{font-size:12px}
 #modal-apply .ledger-draft-toolbar button{font-size:12px;background:transparent;border:0;color:#0f5132;padding:6px}
 #modal-apply .batch-line{background:#f7f8f6;border:1px solid var(--ledger-line);border-radius:10px;padding:12px;margin-top:12px}
 #modal-apply .batch-line .money-field-prefix{font-size:16px}
 #page-reconcile .shadow-premium,#page-funds .shadow-premium,#page-monthclose .shadow-premium{box-shadow:none!important;border:0!important}
 #page-reconcile button,#page-monthclose button,#page-funds button{min-height:44px}
 #page-reconcile .reconcile-summary{border-radius:12px!important}
 #page-reconcile .finance-workbench{gap:16px;height:auto;overflow:visible}
 #page-reconcile .finance-actions{grid-template-columns:1fr 1fr;gap:8px}
 #page-reconcile .finance-actions .finance-btn{font-size:13px;min-height:46px;padding:10px 8px;border-radius:9px}
 #page-reconcile .finance-stat{border:0;border-radius:12px;padding:16px}
 #page-reconcile .finance-stat strong{font-family:inherit;font-size:28px;font-weight:600}
 #page-reconcile .finance-panel{border:0;border-radius:12px;overflow:visible}
 #page-reconcile .finance-panel-head{gap:8px;flex-wrap:wrap}
 #page-reconcile .finance-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;padding:18px 0}
 #page-reconcile .finance-row>input{width:20px;height:20px;grid-column:1;align-self:start;margin-top:3px}
 #page-reconcile .finance-row-copy{grid-column:2;min-width:0}
 #page-reconcile .finance-row-title{font-size:14px;line-height:1.6;white-space:normal}
 #page-reconcile .finance-row-meta{font-size:12px;line-height:1.6;white-space:normal;margin-top:5px}
 #page-reconcile .finance-amount{grid-column:3;font-size:15px;align-self:start;white-space:nowrap}
 #page-reconcile .finance-row>.finance-btn{grid-column:3;font-size:13px;padding:8px 12px;min-height:44px}
 #connectivity-banner{top:68px!important}.ledger-extension-dialog{max-height:calc(var(--app-visual-height,100dvh) - 12px);border-radius:16px 16px 0 0}
 .ledger-extension-dialog>header{padding:16px 18px}.ledger-extension-dialog h2{font-size:18px}.ledger-extension-dialog p{font-size:13px}
 .ledger-dialog-footer{padding:12px 18px max(12px,env(safe-area-inset-bottom))}
 .ledger-dialog-footer>button{min-height:46px}
}
@media(max-width:359px){
 body>main>header{padding:0 14px!important}#page-title{font-size:18px!important}#month-label{font-size:12px!important}
 .scrollable-content{padding:16px 12px calc(84px + env(safe-area-inset-bottom))!important}
 .ledger-balance-value{font-size:34px}.ledger-panel{padding:16px}.ledger-record{padding:14px 12px}.ledger-record-money strong{font-size:16px}
 #page-overview .ledger-balance-value{font-size:34px}
 .ledger-queue-links{gap:12px}.ledger-queue-links strong{margin-left:5px;font-size:18px}.ledger-page-heading .ledger-button{padding:8px 12px}
 #ledger-access{padding:32px 24px 20px}.access-form{padding:40px 0}.access-form h1{font-size:27px}
}
@media(prefers-reduced-motion:reduce){button{transition:none!important}.fade-enter{transition:none!important}}

/* Form and list refinements shared by phone, tablet and desktop. */
.ledger-period-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;background:#fff7e9;border:1px solid #ecd8b7;border-radius:10px;font-size:13px;color:#77521e;text-align:left;line-height:1.6}
.finance-modal-head>div{min-width:0;overflow-wrap:anywhere}
.finance-modal-head>.finance-btn{flex:0 0 auto;white-space:nowrap}
.finance-modal-foot{flex-wrap:wrap}
.finance-modal-foot>.finance-btn{max-width:100%;white-space:normal}
.finance-detail-pairs{grid-template-columns:90px minmax(0,1fr)}
.finance-field{min-width:0}
.finance-field>div>input{flex:1;min-width:0}
.finance-field input[type=date],.finance-field input[type=month]{min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
.finance-more-actions{position:relative;z-index:3}
.finance-more-actions summary{font-size:13px;padding:12px;min-height:44px;cursor:pointer}
.finance-more-actions>div{position:absolute;right:0;top:100%;background:white;padding:12px;border:1px solid var(--ledger-line);border-radius:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 20px #24362d18}
.finance-line-search{align-items:end}
#page-reconcile .finance-workbench{height:auto}
#page-reconcile .finance-panel,#page-reconcile .finance-list{overflow:visible}
#page-reconcile .finance-panel-head{position:sticky;top:0;z-index:2;background:#fff}
#page-reconcile .finance-selection-bar{position:sticky;top:70px;z-index:2;flex-wrap:wrap}
#page-reconcile .finance-row-title,.ledger-record-main h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
#page-reconcile .finance-row-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ledger-work-row>strong,.ledger-record-money strong,.ledger-category-spent,.ledger-category-remaining{white-space:nowrap;flex-shrink:0;overflow-wrap:normal}
.ledger-work-row small,.ledger-small{font-size:13px}
.ledger-task-group{padding:10px 0;border-bottom:1px solid var(--ledger-line)}
.ledger-task-group>summary{font-size:15px;font-weight:600;min-height:44px;line-height:44px;cursor:pointer}
.ledger-task-group .task-center-row{padding:12px 0}
.ledger-task-group .task-center-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[id^="modal-"] button[aria-label^="关闭"],[id^="modal-"] button[aria-label="返回"]{min-width:44px;min-height:44px;flex-shrink:0}
#modal-apply .batch-category-bar{display:flex;flex-wrap:wrap;overflow:visible;gap:6px}
#modal-apply .batch-main-option,#modal-apply .batch-main-option.is-active,#modal-apply .batch-sub-option{width:auto;flex:0 0 auto;min-width:52px;min-height:44px;height:auto;padding:9px 12px;font-size:13px;justify-content:center;white-space:normal;overflow:visible}
#modal-apply .batch-main-option span,#modal-apply .batch-sub-option span{display:inline;overflow:visible;text-overflow:clip}
#modal-apply .batch-main-option svg{display:none}
#modal-apply .batch-classification-line{display:flex;flex-direction:column;align-items:stretch;gap:10px}
#modal-apply .batch-add-control{display:none}
#modal-apply .batch-subcategory-options{flex-wrap:wrap;overflow:visible}
#modal-apply .batch-line{padding:14px}
#modal-apply .batch-line>div.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:center}
#modal-apply .batch-line .money-field{grid-column:1;grid-row:1}
#modal-apply .batch-line .batch-title{grid-column:1/3;grid-row:2}
#modal-apply .batch-line .batch-date{grid-column:2;grid-row:1}
#modal-apply .batch-line button[aria-label^="移除"]{grid-column:3;grid-row:1/3;min-height:44px}
#page-reimburse .reimburse-filter button{font-size:13px;min-height:44px;white-space:nowrap}
#page-reimburse .ledger-record{padding:12px 16px;gap:6px 12px}
#page-reimburse .ledger-record-main p{font-size:13px;line-height:1.5;margin-top:4px}
#page-reimburse .ledger-record-money span{font-size:13px}
@media(min-width:1024px){
 .ledger-overview{gap:14px}
 .ledger-balance{padding:18px 22px}
 #page-overview .ledger-balance-value{font-size:34px;margin:6px 0 12px}
 .ledger-queue-links{padding-top:8px;margin-top:10px}
 .ledger-overview .ledger-next-task{padding:12px 20px}
 .ledger-overview .ledger-next-task h3{font-size:17px;margin:2px 0}
 .ledger-overview .ledger-next-task>p{font-size:13px}
 .ledger-overview .ledger-next-task .ledger-task-action{margin-top:4px}
 .ledger-overview .ledger-panel{padding:16px 20px}
}
@media(max-width:1023.98px){
 body>aside{display:none!important}
 .ledger-overview-columns{grid-template-columns:minmax(0,1fr)}
 .finance-modal-head{padding:16px}
 .finance-modal-body{padding:16px}
 .finance-modal-foot{padding:12px 16px max(12px,env(safe-area-inset-bottom))}
 #page-reconcile .finance-row{padding:12px 0}
 #page-reconcile .finance-row.is-resolved{grid-template-columns:minmax(0,1fr) auto}
 #page-reconcile .finance-row.is-resolved>.finance-row-copy{grid-column:1}
 #page-reconcile .finance-row.is-resolved>.finance-btn{grid-column:2}
 #page-reimburse .reimburse-toolbar{position:sticky;top:0;z-index:3;background:var(--ledger-canvas);padding:8px 0}
 .finance-line-search{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:399px){
 .finance-grid,.finance-filter-grid,.finance-card dl{grid-template-columns:minmax(0,1fr)}
 .finance-filter-grid .finance-actions{grid-column:1}
 .finance-detail-pairs{grid-template-columns:76px minmax(0,1fr);gap:10px 8px}
 .finance-modal-foot{justify-content:stretch}
 .finance-modal-foot>.finance-btn{flex:1}
 #modal-apply .batch-line>div.grid{grid-template-columns:minmax(0,1fr) 44px}
 #modal-apply .batch-line .money-field{grid-column:1;grid-row:1}
 #modal-apply .batch-line .batch-title{grid-column:1;grid-row:2}
 #modal-apply .batch-line .batch-date{grid-column:1;grid-row:3}
 #modal-apply .batch-line button[aria-label^="移除"]{grid-column:2;grid-row:1}
 #page-reconcile .finance-row .finance-amount{font-size:13px}
}

.category-add-disclosure{align-self:center;font-size:13px;color:#45634f}.category-add-disclosure summary{min-height:44px;line-height:44px;cursor:pointer}.category-add-disclosure .category-add-control{margin:6px 0}.ledger-record-main h3{font-weight:600!important}
@media(min-width:400px){#modal-apply .batch-line>div.grid{grid-template-columns:minmax(0,1fr) 44px}#modal-apply .batch-line .money-field{grid-column:1;grid-row:1}#modal-apply .batch-line .batch-title{grid-column:1;grid-row:2}#modal-apply .batch-line .batch-date{grid-column:1;grid-row:3}#modal-apply .batch-line button[aria-label^="移除"]{grid-column:2;grid-row:1}}

.finance-line-filter>summary{min-height:44px;font-size:14px;font-weight:600;line-height:1.7;cursor:pointer;padding:10px 0}.finance-line-filter>summary span{margin-left:8px;font-weight:400}.finance-line-filter[open]{background:white;border-radius:12px;padding:0 14px 14px}

@media(min-width:1024px){
 .scrollable-content{padding-top:24px!important}
 .ledger-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-auto-rows:max-content;align-content:start}
 .ledger-overview>.ledger-page-heading,.ledger-overview>.ledger-period-notice,.ledger-overview>.ledger-overview-columns{grid-column:1/-1}
 .ledger-overview>.ledger-balance{grid-column:1/-1}
 .ledger-overview:has(>.ledger-next-task)>.ledger-balance{grid-column:1}
 .ledger-overview>.ledger-next-task{grid-column:2;display:flex;flex-direction:column;justify-content:center;gap:8px}
 .ledger-overview>.ledger-next-task .ledger-section-top{align-items:flex-start}
 .ledger-overview .ledger-balance-detail{gap:8px 16px}
}

/* Keep the sole custom clear target large without a second browser clear X. */
#reimbursement-search-input::-webkit-search-cancel-button,
.ledger-search-with-clear input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
#reimbursement-search-input::-ms-clear { display: none; width: 0; height: 0; }
#reimbursement-search-input { padding-right: 56px; }
#reimbursement-search-clear { width: 44px; height: 44px; min-width: 44px; min-height: 44px; right: 2px; border-radius: 9px; }
#reimbursement-search-clear:not(.hidden):hover { background: #e7f0e6; }

/* Batch facts stay in their own form; folding never removes their inputs. */
.batch-line-summary { display: flex; width: 100%; min-width: 0; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; text-align: left; color: #294334; font-size: 14px; line-height: 1.55; }
.batch-line-summary > span { min-width: 0; }
.batch-line-summary strong { font-weight: 650; overflow-wrap: anywhere; }
.batch-line-summary small { display: block; margin-top: 4px; color: #58675e; font-size: 12px; line-height: 1.6; }
.batch-line-summary-amount { flex-shrink: 0; text-align: right; font-variant-numeric: tabular-nums; }
.batch-line-summary-label { overflow-wrap: anywhere; }
.batch-line-summary-toggle { flex: 0 0 auto; color: #0f5132; font-size: 13px; }
.batch-line-editor { min-width: 0; padding-top: 12px; }
.batch-line.is-collapsed > .batch-line-editor { display: none; }
.batch-line.is-collapsed { background: #fff; }
.apply-footer-summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; font-size: 13px; line-height: 1.6; color: #58675e; }
.apply-footer-summary strong { color: #24362d; font-size: 18px; line-height: 1.4; font-weight: 650; font-variant-numeric: tabular-nums; }
.apply-footer-summary[hidden] { display: none !important; }
.apply-footer-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0; }
#modal-apply .apply-submit-footer { flex: 0 0 auto; position: relative; z-index: 2; border-top: 1px solid #e2e7e3; background: #fff; }
#modal-apply .apply-submit-footer .apply-footer-actions > button { min-height: 46px; padding: 10px 16px; border-radius: 9px; font-size: 14px; font-weight: 600; box-shadow: none; }

@media (max-width:1023.98px) {
  /* The filter and search remain available; entry buttons scroll normally. */
  #page-reimburse .reimburse-toolbar { position: static; top: auto; z-index: auto; padding: 0; margin-bottom: 0 !important; gap: 10px !important; }
  #page-reimburse .reimburse-query-toolbar { position: sticky; top: 0; z-index: 4; display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 4px 0; background: var(--ledger-canvas, #f4f6f3); }
  #page-reimburse .reimburse-query-toolbar > .reimburse-filter { order: 0 !important; min-height: 44px; flex-wrap: nowrap; overflow-x: auto !important; }
  #page-reimburse .reimburse-query-toolbar > .reimburse-search-row { order: 1; margin: 0 !important; }
  #page-reimburse .reimburse-query-toolbar .reimburse-filter > button { min-height: 44px; padding: 9px 12px !important; }
  #page-reimburse .reimburse-payment-guide { padding: 12px !important; margin-bottom: 0 !important; font-size: 13px; }
  .reimburse-payment-help > summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-size: 13px; font-weight: 600; color: #365642; }
  .reimburse-payment-help > :not(summary) { font-size: 13px; line-height: 1.7; color: #58675e; }
  #modal-apply .apply-submit-footer { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px 16px max(10px, env(safe-area-inset-bottom)) !important; }
  #modal-apply .apply-submit-footer .apply-footer-actions { gap: 10px; }
  #modal-apply .apply-submit-footer .apply-footer-actions > button { flex: 1 1 0; min-width: 0; min-height: 46px; padding-inline: 12px; }
  #modal-apply .apply-submit-footer .apply-footer-actions > button:last-child { flex-grow: 1.3; }
  #modal-apply .batch-line-summary { min-height: 48px; }
  #modal-apply .batch-line.is-collapsed { padding-block: 10px; }
}

/* Keep the phone payment list within the first screen. */
.reimburse-entry-menu{display:none}
@media(max-width:1023.98px){
 #page-reimburse .ledger-reimburse-page{gap:8px!important}
 #page-reimburse>.ledger-period-notice{min-height:44px;padding:8px 12px;margin-bottom:8px}
 #page-reimburse .reimburse-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;width:100%}
 #page-reimburse .reimburse-entry-actions{display:none!important}
 #page-reimburse .reimburse-batch-action{flex:1;min-width:0;min-height:44px;white-space:normal}
 #page-reimburse .reimburse-entry-menu{display:block;position:relative;margin-left:auto;flex-shrink:0}
 .reimburse-entry-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border:1px solid var(--ledger-border,#dbe3dc);border-radius:12px;background:white;font-size:13px;font-weight:600;color:#21533c;cursor:pointer}
 .reimburse-entry-menu>div{position:absolute;right:0;top:100%;z-index:8;background:white;box-shadow:0 6px 18px #16302424;border:1px solid #dbe3dc;border-radius:12px;padding:6px;min-width:152px}
 .reimburse-entry-menu>div>button{display:block;width:100%;min-height:44px;text-align:left;padding:8px 12px;font-size:13px}
 #page-reimburse .reimburse-advanced-filters{margin-bottom:4px!important}
 #page-reimburse #reimbursement-result-total{margin-bottom:4px!important}
}
