.journal-side-note{margin:30px 20px;color:#667085;font-size:13px;line-height:1.7}.journal-preview-badge{font-size:13px;color:#916c1e;background:#fff8e5;padding:7px 12px;border-radius:8px}main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.journal-filters{display:flex;gap:10px;margin:12px 0}.journal-filters input{width:320px}.journal-reference-table{width:100%;font-size:15px}.journal-reference-table th,.journal-reference-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.journal-edit-dialog{width:min(850px,92vw);max-height:88vh;overflow:auto;border:0;border-radius:14px;padding:24px;box-shadow:0 20px 70px #0003}.journal-edit-dialog .account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:15px 0}.journal-edit-dialog .field{display:flex;flex-direction:column;gap:6px}.journal-edit-dialog .field input,.journal-edit-dialog .field select,.journal-edit-dialog textarea{width:100%;box-sizing:border-box}.journal-wide{grid-column:1/-1}.journal-edit-dialog .actions{display:flex;justify-content:flex-end;margin-top:16px}#journal-backup .bank-panel{margin-bottom:18px}#journal-backup p{line-height:1.8}#journal-backup h2{margin-bottom:12px}#journal-backup input[type=checkbox]{width:auto}#journal-error:empty{display:none}.sidebar .brand{min-height:92px}.sidebar #application-version{font-size:11px;overflow-wrap:anywhere}#journal-foundation .cashier-tabs{margin-bottom:16px}.journal-edit-dialog::backdrop{background:#172b4d55}#cashier-view .intro{margin-bottom:16px}
#journal-foundation .journal-reference-table td{font-size:15px!important;line-height:1.6}#journal-foundation .journal-reference-table th{font-size:14px!important}.journal-reference-table td:first-child{width:24%}.journal-reference-table td:nth-child(2){width:14%}.journal-reference-table td:nth-child(3){width:40%}
/* Cashier desktop readability: visible row context, strong focus, explicit state text. */
:root{--journal-ink:#18362f;--journal-line:#c7d8d1;--journal-focus:#147c67}
html[data-cashier-standalone] body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--journal-ink);font-size:16px}
html[data-cashier-standalone] .sidebar .nav{font-size:16px;min-height:50px}html[data-cashier-standalone] main>header{min-height:64px;margin-bottom:0}
html[data-cashier-standalone] .intro{padding-top:24px!important;padding-bottom:18px!important;min-height:0!important}html[data-cashier-standalone] .intro h1{font-size:28px!important;line-height:1.3}html[data-cashier-standalone] .intro p{font-size:16px!important;line-height:1.75}
#cashier-view .cashier-tabs button,#foundation-tabs button{font-size:16px!important;min-height:46px}
#cashier-view input,#cashier-view select,#cashier-view textarea,.journal-edit-dialog input,.journal-edit-dialog select,.journal-edit-dialog textarea{font-size:17px!important;line-height:1.5;min-height:44px}
#cashier-view input:focus,#cashier-view select:focus,#cashier-view textarea:focus,.journal-edit-dialog input:focus,.journal-edit-dialog select:focus,.journal-edit-dialog textarea:focus{outline:3px solid #159678!important;outline-offset:1px;background:#fff!important;box-shadow:0 0 0 5px #d6eee6!important}
#cashier-view .cashier-sheet-defaults{gap:16px!important;padding:16px!important;background:#edf5f1!important;border:1px solid #c8ded5;border-radius:10px}#cashier-view .cashier-sheet-defaults label{font-size:15px!important}#cashier-default-operator{min-width:160px}
#cashier-view .cashier-grid{min-width:2520px!important;table-layout:fixed!important;border-collapse:separate;border-spacing:0}
#cashier-view .cashier-grid th{font-size:15px!important;line-height:1.5;padding:12px 8px!important;background:#e5f0eb!important;color:#193c32!important;border-bottom:2px solid #91b9a9!important;white-space:normal!important;vertical-align:middle}
#cashier-view .cashier-grid th small{display:block;font-size:12px;line-height:1.5;color:#506f62}
#cashier-view .cashier-grid td{height:62px!important;padding:5px!important;vertical-align:middle;border-right:1px solid #dbe6e0!important;border-bottom:1px solid #dbe6e0!important;background:#fff}
#cashier-view .cashier-grid input,#cashier-view .cashier-grid textarea,#cashier-view .cashier-grid select{padding:9px 10px!important;min-height:48px!important;border:1px solid #cedbd5!important;border-radius:6px!important;font-size:17px!important;box-sizing:border-box;width:100%!important;background:#fff!important;color:#18362f}
#cashier-view .cashier-grid [data-col=amount],#cashier-view .cashier-grid [data-col=toAmount]{font-size:19px!important;font-variant-numeric:tabular-nums;text-align:right;font-weight:650}
#cashier-view .cashier-grid tr[data-nature="收入"] [data-col=amount]{color:#086a4a!important}#cashier-view .cashier-grid tr[data-nature="支出"] [data-col=amount]{color:#ae3541!important}
#cashier-view .cashier-grid .sheet-rownum{width:42px!important;min-width:42px!important;max-width:42px!important;position:sticky;left:0;z-index:4;background:#f0f5f2!important;text-align:center}
#cashier-view .cashier-grid .sheet-col-date{width:148px!important;min-width:148px!important;position:sticky;left:42px;z-index:3;background:#f8fbf9!important}
#cashier-view .cashier-grid .sheet-col-accountName{width:280px!important;min-width:280px!important;position:sticky;left:190px;z-index:3;background:#f8fbf9!important;box-shadow:3px 0 5px #1d4b2a10}
#cashier-view .cashier-grid .sheet-col-nature{width:100px!important}#cashier-view .cashier-grid .sheet-col-amount,#cashier-view .cashier-grid .sheet-col-toAmount{width:150px!important}#cashier-view .cashier-grid .sheet-col-currency,#cashier-view .cashier-grid .sheet-col-toCurrency{width:96px!important}
#cashier-view .cashier-grid .sheet-col-categoryName{width:205px!important}#cashier-view .cashier-grid .sheet-col-project{width:170px!important}#cashier-view .cashier-grid .sheet-col-counterparty{width:190px!important}#cashier-view .cashier-grid .sheet-col-summary{width:270px!important}#cashier-view .cashier-grid .sheet-col-note{width:180px!important}#cashier-view .cashier-grid .sheet-col-approvalNo{width:200px!important}#cashier-view .cashier-grid .sheet-col-toAccountName{width:280px!important}
#cashier-view .cashier-grid .sheet-col-balance{width:220px!important;min-width:220px!important;background:#f6faf8!important;padding:8px 10px!important;font-size:16px;line-height:1.5}
#cashier-view .cashier-grid .sheet-operations{width:180px!important;min-width:180px!important;position:sticky;right:0;z-index:5;background:#f5f8f6!important;box-shadow:-3px 0 5px #1d4b2a12}#cashier-view .cashier-grid .sheet-operations button{font-size:14px!important;min-height:34px;padding:5px 8px!important;margin:3px}
#cashier-view .cashier-grid thead .sheet-rownum,#cashier-view .cashier-grid thead .sheet-col-date,#cashier-view .cashier-grid thead .sheet-col-accountName,#cashier-view .cashier-grid thead .sheet-operations{z-index:12}
#cashier-view .cashier-grid .sheet-invalid td{background:#fff7f6!important}#cashier-view .cashier-grid [aria-invalid=true]{border:2px solid #c23c3c!important;background:#fff8f6!important}
#cashier-view .cashier-grid .sheet-row-errors td{height:auto!important;padding:10px 14px!important;font-size:15px!important;line-height:1.7;color:#a62c35;background:#fff0ee!important;white-space:normal!important}
#cashier-view .cashier-grid .sheet-row-notices td{height:auto!important;padding:9px 14px!important;font-size:14px!important;line-height:1.7;color:#825516;background:#fff8e7!important;white-space:normal!important}
#cashier-view .cashier-sheet-save{position:sticky;bottom:0;z-index:15;background:#fff!important;border-top:2px solid #bfd5c9;box-shadow:0 -5px 15px #24453412;padding:14px 18px!important}#cashier-view .cashier-sheet-save .primary{font-size:17px!important;min-height:46px}
#cashier-view .cashier-table td{font-size:16px!important;line-height:1.6}#cashier-view .cashier-table .ledger-money{font-size:18px!important;font-variant-numeric:tabular-nums}#cashier-view .cashier-table th{font-size:15px!important;white-space:nowrap}#cashier-view .ledger-account{min-width:210px!important}#cashier-view .ledger-balance{min-width:140px!important}#cashier-view .ledger-actions{min-width:180px!important}
.balance-unset{font-size:13px;color:#667c70;display:inline-block;line-height:1.6}.balance-negative{color:#aa4d14!important;font-weight:700}.forecast-item b{font-size:17px;font-variant-numeric:tabular-nums;display:block}.forecast-item small{display:block;color:#61766a;font-size:12px}.forecast-item+.forecast-item{border-top:1px dashed #c7dbcf;margin-top:5px;padding-top:5px}
.journal-book-summary{padding:16px 18px;background:#f4f8f5;border-top:1px solid #d6e2d9;border-bottom:1px solid #d6e2d9}.book-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.book-heading h3{font-size:17px;margin:0}.book-heading small{font-size:13px;color:#617568}.book-heading p{font-size:13px;color:#617568;margin:5px 0}.book-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.book-card{padding:14px;background:white;border:1px solid #cfdfd4;border-radius:9px;min-width:0}.book-card>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.book-card>div b{overflow-wrap:anywhere}.book-card p{margin:12px 0;font-size:14px}.book-card p strong{font-size:21px;display:block;margin-top:4px;font-variant-numeric:tabular-nums}.book-card small{font-size:12px;color:#627567}.book-missing{background:#fcfcf5}
.opening-table{width:100%;min-width:1120px;border-collapse:collapse}.opening-table th,.opening-table td{padding:14px!important;border-bottom:1px solid #d8e3dd;font-size:16px!important;line-height:1.7;text-align:left}.opening-table th{background:#eaf2ed;font-size:14px!important}.opening-table td:first-child{max-width:330px;overflow-wrap:anywhere}.opening-rule{padding:12px 15px;background:#edf5f0;border-left:4px solid #3c9476;font-size:15px;line-height:1.8;margin:12px 0}.opening-impact{padding:16px;background:#f6faf7;border:1px solid #c9dfcf;border-radius:10px;line-height:1.8}.opening-impact h3{font-size:18px}.input-warning{color:#8a5416;background:#fff5d9;padding:10px 12px;border-radius:5px}.opening-ack,.review-ack{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.7;margin:14px 0}.opening-ack input,.review-ack input{min-height:20px!important;width:20px!important;height:20px;margin-top:4px;flex:0 0 auto}
.journal-review-dialog{width:min(1200px,94vw);max-height:88vh;overflow:auto;border:0;border-radius:14px;padding:24px;box-shadow:0 20px 70px #0003;font-size:16px}.journal-review-dialog::backdrop{background:#15382d66}.journal-review-dialog .panel-title{position:sticky;top:-24px;padding:16px 0;background:white;z-index:2}.review-table-wrap{overflow:auto;max-height:48vh}.review-table-wrap table{width:100%;min-width:850px;border-collapse:collapse}.review-table-wrap td,.review-table-wrap th{padding:11px 12px;border-bottom:1px solid #d8e3dc;font-size:16px;text-align:left}.review-table-wrap th{background:#e9f2ec;position:sticky;top:0}.review-table-wrap td small{display:block;font-size:13px;color:#627368}.review-table-wrap .ledger-money{font-size:18px;text-align:right;white-space:nowrap}.review-warnings{background:#fff5de;border:1px solid #ecd6a6;border-radius:8px;padding:14px 18px;color:#7e5317;margin:15px 0}.review-warnings li{line-height:1.8}.review-lead{line-height:1.8}.journal-review-dialog .actions{display:flex;justify-content:flex-end;padding-top:14px}.journal-review-dialog textarea{width:100%;min-height:70px;font-size:16px;padding:10px;box-sizing:border-box}.journal-review-dialog .primary{font-size:17px;min-height:46px}
#cashier-choice-popup .cashier-choice-hint{font-size:14px!important}#cashier-choice-popup button{padding:10px 12px!important;min-height:50px}#cashier-choice-popup b{font-size:17px!important}#cashier-choice-popup small{font-size:14px!important;line-height:1.6}
#cashier-view .cashier-grid .sheet-col-balance{position:sticky;right:180px;z-index:4;box-shadow:-3px 0 5px #1d4b2a10}#cashier-view .cashier-grid thead .sheet-col-balance{z-index:12}#cashier-view .cashier-sheet-toolbar button{font-size:15px!important}#cashier-view .cashier-required-guide{font-size:15px!important;line-height:1.7}

#cashier-view .cashier-grid .sheet-feedback-text{display:block;position:sticky;left:14px;width:min(1200px,calc(100vw - 300px));white-space:normal;overflow-wrap:anywhere}

/* Fit every entry column in the desktop viewport. No horizontally pinned balance. */
body.journal-shell .sidebar{width:148px;padding:24px 10px}body.journal-shell main{margin-left:148px;min-width:0}body.journal-shell .brand{gap:6px;margin:0 3px 28px;font-size:15px;letter-spacing:0}body.journal-shell .brand .logo{width:28px;height:32px;flex-shrink:0;font-size:20px}body.journal-shell .brand>div{min-width:0}body.journal-shell .sidebar .nav{padding:12px 6px;font-size:15px;white-space:nowrap}body.journal-shell .side-label{margin:0 5px 12px;font-size:10px;letter-spacing:0}body.journal-shell .journal-side-note{margin:26px 6px;font-size:12px}body.journal-shell main>header{padding:0 16px;min-height:54px;height:54px}body.journal-shell main>header h2{font-size:17px}body.journal-entry-fit #cashier-view .intro{padding:12px 16px!important;margin-bottom:0}body.journal-entry-fit #cashier-view .intro h1{font-size:24px!important;margin:4px 0}body.journal-entry-fit #cashier-view .intro p{font-size:14px!important}body.journal-shell .eyebrow{display:none}body.journal-shell .cashier-tabs{margin:0 12px 12px}body.journal-entry-fit #cashier-sheet-panel{margin:0 12px 18px;min-width:0}body.journal-entry-fit #cashier-view .cashier-sheet-defaults{padding:10px 12px!important;gap:12px!important}body.journal-entry-fit #cashier-view .cashier-required-guide{font-size:14px!important}body.journal-entry-fit .cashier-sheet-toolbar{padding:10px 12px;flex-wrap:wrap}body.journal-entry-fit .cashier-sheet-toolbar>div{flex-wrap:wrap;gap:8px}
body.journal-entry-fit #cashier-view .cashier-grid-wrap{overflow:visible;max-height:none;min-width:0}body.journal-entry-fit #cashier-view .cashier-grid{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}body.journal-entry-fit #cashier-view .cashier-grid th,body.journal-entry-fit #cashier-view .cashier-grid td{width:auto!important;min-width:0!important;max-width:none!important;left:auto!important;right:auto!important;box-shadow:none!important;white-space:normal!important;overflow-wrap:anywhere}
body.journal-entry-fit #cashier-view .cashier-grid tbody td,body.journal-entry-fit #cashier-view .cashier-grid tbody th{position:static!important;z-index:auto!important}body.journal-entry-fit #cashier-view .cashier-grid thead th{position:sticky!important;top:0;z-index:3!important;padding:9px 4px!important;font-size:14px!important;line-height:1.6;cursor:grab}body.journal-entry-fit #cashier-view .cashier-grid td{height:auto!important;padding:3px!important;vertical-align:middle}body.journal-entry-fit #cashier-view .cashier-grid .sheet-rownum{padding:3px 1px!important;font-size:12px!important}body.journal-entry-fit #cashier-view .cashier-grid input,body.journal-entry-fit #cashier-view .cashier-grid select,body.journal-entry-fit #cashier-view .cashier-grid textarea{width:100%!important;min-width:0!important;min-height:48px!important;padding:7px 4px!important;font-size:16px!important;line-height:1.5}body.journal-entry-fit #cashier-view .cashier-grid textarea{display:block;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}body.journal-entry-fit #cashier-view .cashier-grid input[type=date]{font-size:15px!important;padding:6px 1px!important}body.journal-entry-fit #cashier-view .cashier-grid input[type=date]::-webkit-calendar-picker-indicator{padding:0;margin:0;width:14px}body.journal-entry-fit #cashier-view .cashier-grid select{font-size:15px!important;padding-left:1px!important;padding-right:0!important}body.journal-entry-fit #cashier-view .cashier-grid [data-col=amount],body.journal-entry-fit #cashier-view .cashier-grid [data-col=toAmount]{font-size:18px!important}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-col-balance{padding:6px!important;background:#f6faf8!important}body.journal-entry-fit .forecast-item b{font-size:15px;overflow-wrap:anywhere}body.journal-entry-fit .forecast-item small{font-size:11px}body.journal-entry-fit #cashier-view .cashier-grid .sheet-operations button{display:inline-block;width:calc(50% - 2px);min-height:28px;margin:1px;padding:3px 0!important;font-size:13px!important;vertical-align:middle}body.journal-entry-fit #cashier-view .cashier-grid .sheet-feedback-text{position:static;width:auto;max-width:100%}body.journal-entry-fit #cashier-view .cashier-grid .sheet-row-errors td,body.journal-entry-fit #cashier-view .cashier-grid .sheet-row-notices td{padding:8px 10px!important}body.journal-entry-fit .cashier-sheet-footer{padding:10px 12px;flex-wrap:wrap}body.journal-entry-fit #cashier-view .cashier-sheet-save{padding:10px 12px!important}
.column-grip{font-size:12px;color:#638578;margin-right:3px;user-select:none}.cashier-grid th.column-dragging{opacity:.5}.cashier-grid th.column-drop-before{border-left:3px solid #167a60!important}.cashier-grid th.column-drop-after{border-right:3px solid #167a60!important}.cashier-columns-dialog{width:min(580px,92vw);max-height:88vh;overflow:auto;border:0;border-radius:12px;padding:22px;font-size:16px;box-shadow:0 20px 70px #0003}.cashier-columns-dialog::backdrop{background:#163b2d55}.cashier-columns-dialog .panel-title{padding:0;margin-bottom:12px}.cashier-columns-dialog p{font-size:14px;line-height:1.8;color:#567063}.cashier-columns-dialog ol{padding:0;list-style:none;margin:14px 0}.cashier-columns-dialog li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid #dbe5de}.cashier-columns-dialog li b{font-size:13px;display:inline-block;width:24px;color:#708478}.cashier-columns-dialog li small{font-size:12px;margin-left:8px;color:#708478}.cashier-columns-dialog li>div{display:flex;gap:8px}.cashier-columns-dialog .btn{font-size:15px;min-height:36px}.cashier-columns-dialog .actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cashier-columns-dialog #cashier-columns-status{font-size:12px;line-height:1.6;color:#60776a}
@media(max-width:1450px){body.journal-shell .sidebar{width:128px;padding-inline:7px}body.journal-shell main{margin-left:128px}body.journal-shell .sidebar .nav{font-size:14px;padding-inline:4px}body.journal-shell .brand{font-size:13px}body.journal-entry-fit #cashier-view .cashier-grid input[type=date]::-webkit-calendar-picker-indicator{display:none}body.journal-entry-fit #cashier-view .cashier-grid thead th{font-size:13px!important}body.journal-entry-fit #cashier-view .cashier-grid [data-col=amount],body.journal-entry-fit #cashier-view .cashier-grid [data-col=toAmount]{font-size:16px!important}}

body.journal-entry-fit #cashier-view .cashier-grid thead th[data-column-key]{touch-action:none;user-select:none}

/* Continuous ledger surface: cells belong to the row, with one focus treatment. */
body.journal-entry-fit #cashier-sheet-panel{border:1px solid #d7e2de;border-radius:10px;background:#fff;box-shadow:0 3px 16px #204c3c08;padding:0}
body.journal-shell .cashier-tabs{gap:22px;border-bottom:1px solid #d6e1db;padding:0 8px;margin-bottom:14px}
body.journal-shell .cashier-tabs button{border:0;border-radius:0;background:transparent;color:#60756c;box-shadow:none;padding:13px 4px;border-bottom:3px solid transparent}
body.journal-shell .cashier-tabs button.active{color:#176b59;border-bottom-color:#176b59;background:transparent;font-weight:700}
body.journal-entry-fit #cashier-view .cashier-required-guide{margin:0;padding:12px 16px 6px;color:#64776f}
body.journal-entry-fit #cashier-view .cashier-sheet-defaults{background:white;border:0;border-radius:0;margin:0;padding:8px 16px 14px!important}
body.journal-entry-fit #cashier-view .cashier-sheet-toolbar{border-top:1px solid #edf1ee;background:#fff;padding:10px 16px}
body.journal-entry-fit #cashier-view .cashier-grid{border-collapse:collapse!important;border-spacing:0!important;background:#fff}
body.journal-entry-fit #cashier-view .cashier-grid thead th{background:#edf4f0!important;border:0;border-right:1px solid #dbe6df;border-bottom:1px solid #bfcfc6;padding:13px 7px!important}
body.journal-entry-fit #cashier-view .cashier-grid tbody td,body.journal-entry-fit #cashier-view .cashier-grid tbody th{border:0;border-right:1px solid #e5ece7;border-bottom:1px solid #dce6df;background:transparent!important;padding:0!important}
body.journal-entry-fit #cashier-view .cashier-grid tbody tr[data-sheet-row]:nth-child(even){background:#fafcfb}
body.journal-entry-fit #cashier-view .cashier-grid tbody tr[data-sheet-row]:hover{background:#f3f8f5}
body.journal-entry-fit #cashier-view .cashier-grid input,body.journal-entry-fit #cashier-view .cashier-grid select,body.journal-entry-fit #cashier-view .cashier-grid textarea{border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;padding:10px 7px!important;min-height:56px!important;margin:0!important;display:block}
body.journal-entry-fit #cashier-view .cashier-grid td:focus-within{background:#f0f8f3!important;box-shadow:inset 0 0 0 2px #3b8b70!important}
body.journal-entry-fit #cashier-view .cashier-grid [aria-invalid=true]{border:0!important;box-shadow:inset 0 -2px #c23c3c!important;background:#fff4f2!important}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-invalid td{background:#fff9f7!important}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-col-balance{background:#f4f8f5!important;padding:8px!important}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-rownum{color:#768a7e;background:#f7faf8!important}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-operations{padding:5px!important}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-operations button{font-size:13px!important;border:0;background:transparent;color:#38695b;white-space:nowrap}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-operations [data-remove]{color:#a35b52}
body.journal-entry-fit #cashier-view .cashier-sheet-footer{border-top:0;background:#fafcfb;padding:12px 16px}
body.journal-entry-fit #cashier-view .cashier-sheet-save{box-shadow:none;border-top:1px solid #d7e2da;padding:12px 16px!important;border-radius:0 0 10px 10px}
.cashier-money-hint{display:block;padding:0 7px 9px;color:#537967;font-size:12px;line-height:1.65;overflow-wrap:anywhere;font-weight:400;text-align:left}
.cashier-money-hint[hidden]{display:none}.foundation-type-preview{padding:12px;background:#eff6f1;color:#286a50;line-height:1.7}
body.journal-entry-fit #cashier-view .cashier-grid thead th[data-column-key]{position:sticky}
.column-resizer{position:absolute;right:-5px;top:0;bottom:0;width:10px;z-index:5;cursor:col-resize;touch-action:none}
.column-resizer:hover,.column-resizer:focus{background:#2b89664d;outline:none}.column-resizer:focus{box-shadow:inset 0 0 0 1px #267c5a}

/* Registry creation stays within the journal and returns to its original row. */
.cashier-choice-actions{border-top:1px solid #d4e2d9;padding:7px;background:#f3f8f5;position:sticky;bottom:0}
#cashier-choice-popup .cashier-choice-actions button{width:100%;border:0;background:transparent;color:#17664f;text-align:left;font-weight:700;min-height:42px}
.inline-account-dialog{width:min(780px,92vw)}.inline-account-guide{margin:0;padding:12px 14px;background:#f0f6f2;color:#436a57;font-size:14px;line-height:1.8}
.inline-account-more summary{cursor:pointer;color:#4b7060;padding:8px 0}.inline-account-duplicates{border:1px solid #dcc796;background:#fff9ed;border-radius:7px;padding:13px 16px;font-size:15px;line-height:1.7}.inline-account-duplicates[hidden]{display:none}.inline-account-duplicates>div{border-top:1px solid #eadbbd;padding:8px 0}.inline-account-duplicates small{color:#85643b;display:block}.inline-account-duplicates p{margin:3px 0 8px}

/* Currency ledgers and manual platform wallets share the existing account archive. */
.account-currency-section,.account-child-section{padding:15px;border:1px solid #d6e4dc;border-radius:8px;background:#f7faf8}
.account-currency-section[hidden],.account-child-section[hidden]{display:none}.account-currency-checks{display:flex;gap:12px 24px;flex-wrap:wrap;margin:13px 0}.account-currency-checks label,.child-active,.child-use{display:flex!important;align-items:center;gap:7px;font-size:15px}.account-currency-checks input,.child-active input,.child-use input{width:18px!important;height:18px!important;min-height:18px!important}
.account-child-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(100px,.8fr);gap:10px;padding:14px 0;border-bottom:1px solid #d3e1d7}.account-child-row>small{font-size:12px;color:#738278}.account-child-row [readonly]{background:#edf2ef}.account-parent small{display:block;color:#718278;font-size:12px}.account-parent{background:#f3f8f5}.account-child td:first-child{padding-left:32px!important;color:#446956}.account-child td{font-size:14px!important}.account-child-section .panel-title{gap:12px}.account-child-section .hint{font-size:13px}
@media(max-width:700px){.account-child-row{grid-template-columns:1fr 1fr}.account-child-row .field:nth-child(3){grid-column:1/-1}}

/* Shared standalone page shell: route changes must not resize the navigation or headings. */
html[data-cashier-standalone]{scrollbar-gutter:stable}
body.journal-shell main{min-width:0;max-width:calc(100% - 148px)}
body.journal-shell main>header{box-sizing:border-box;margin:0;padding:0 16px;height:54px;min-height:54px}
body.journal-shell main>header h2{font-size:17px}
body.journal-shell main>section[hidden]{display:none!important}
body.journal-shell main>section>.intro{box-sizing:border-box;padding:12px 16px!important;margin:0!important;min-height:92px!important}
body.journal-shell main>section>.intro h1{font-size:24px!important;line-height:1.4;margin:4px 0!important}
body.journal-shell main>section>.intro p{font-size:14px!important;line-height:1.6!important;margin:0}
body.journal-shell main>section>.bank-panel{margin:0 12px 18px;min-width:0;max-width:calc(100% - 24px);box-sizing:border-box;border:1px solid #d7e2de;border-radius:10px;background:#fff;box-shadow:0 3px 16px #204c3c08}
body.journal-shell main>section>.cashier-tabs{margin:0 12px 14px!important;min-height:52px;box-sizing:border-box}
body.journal-shell .table-wrap{max-width:100%;overflow:auto}
body.journal-shell .journal-filters{flex-wrap:wrap}
body.journal-shell .sidebar .nav:focus-visible{outline:2px solid #69a58d;outline-offset:2px}
@media(max-width:1450px){body.journal-shell main{max-width:calc(100% - 128px)}}
body.journal-shell #cashier-records-panel:not(.cashier-expanded){margin:0 12px 18px}
body.journal-shell #cashier-view.cashier-show-records>.intro p{display:block}

.journal-balance-scope{margin:0;padding:10px 16px;color:#725420;background:#fff9e9;border-top:1px solid #eee4c7;font-size:14px;line-height:1.7}.cashier-sheet-save>div{display:flex;flex-wrap:wrap;gap:8px}

html[data-cashier-channel=stable] .journal-preview-badge{color:#176b59;background:#eaf4ef}

/* Unified cashier typography: hints and values keep the same type metrics. */
html[data-cashier-standalone]{--journal-font-family:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--journal-text:16px;--journal-label:15px;--journal-help:14px;--journal-money:17px;--journal-muted:#687b72}
html[data-cashier-standalone] body,body.journal-shell :is(input,select,textarea,button){font-family:var(--journal-font-family)!important;letter-spacing:normal}
body.journal-shell{font-size:var(--journal-text);line-height:1.5}
body.journal-shell :is(input,textarea)::placeholder{font-family:inherit;font-size:inherit;font-weight:400;color:var(--journal-muted);opacity:1}
body.journal-shell :is(input,select,textarea){font-weight:400}
body.journal-shell :is(.field>span,.cashier-sheet-defaults label){font-size:var(--journal-label)!important;line-height:1.5}
body.journal-shell :is(.btn,.text-btn),body.journal-shell #cashier-view .cashier-sheet-toolbar button{font-size:var(--journal-label)!important;line-height:1.5}
body.journal-shell .primary{font-size:var(--journal-text)!important;font-weight:600}
body.journal-shell #cashier-view :is(input,select,textarea),body.journal-shell :is(.journal-edit-dialog,.journal-filters,.journal-review-dialog) :is(input,select,textarea){font-size:var(--journal-text)!important;line-height:24px!important}
body.journal-entry-fit #cashier-view .cashier-grid :is(input,select,textarea){font-size:var(--journal-text)!important;line-height:24px!important;min-height:56px!important;padding:16px 7px!important;font-weight:400}
body.journal-entry-fit #cashier-view .cashier-grid input[type=date]{font-size:var(--journal-text)!important;padding:16px 2px!important}
body.journal-entry-fit #cashier-view .cashier-grid input[type=date]::-webkit-datetime-edit{padding:0}
body.journal-entry-fit #cashier-view .cashier-grid :is([data-col=amount],[data-col=toAmount]){font-size:var(--journal-money)!important;font-weight:600;font-variant-numeric:tabular-nums}
body.journal-entry-fit #cashier-view .cashier-grid :is([data-col=amount],[data-col=toAmount])::placeholder{font-size:inherit;font-weight:400}
body.journal-entry-fit #cashier-view .cashier-grid thead th{font-size:var(--journal-label)!important;line-height:22.5px;font-weight:600}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-rownum{font-size:13px!important;font-weight:500}
body.journal-shell #cashier-view .cashier-grid th small{font-size:var(--journal-help);line-height:21px;font-weight:400;color:var(--journal-muted)}
body.journal-entry-fit #cashier-view .cashier-grid .sheet-operations button{font-size:var(--journal-help)!important;font-weight:500;line-height:21px}
body.journal-shell :is(.balance-unset,.forecast-item small,.cashier-money-hint,.hint,.cashier-required-guide,.cashier-sheet-footer,.cashier-sheet-save>span,.journal-balance-scope,.book-heading p,.book-heading small,.book-card small){font-size:var(--journal-help)!important;line-height:21px!important;font-weight:400}
body.journal-shell :is(.balance-unset,.forecast-item small,.cashier-money-hint,.hint,.book-heading p,.book-heading small,.book-card small){color:var(--journal-muted)}
body.journal-shell .forecast-item b,body.journal-shell #cashier-view .cashier-table .ledger-money,body.journal-shell .review-table-wrap .ledger-money{font-size:var(--journal-money)!important;line-height:25.5px;font-weight:600;font-variant-numeric:tabular-nums}
body.journal-shell #cashier-view .cashier-grid :is(.sheet-row-errors,.sheet-row-notices) td,body.journal-shell .sheet-feedback-text{font-size:var(--journal-help)!important;line-height:21px!important;font-weight:400}
body.journal-shell #cashier-choice-popup{font-family:var(--journal-font-family);font-size:var(--journal-text);line-height:24px}
body.journal-shell #cashier-choice-popup b{font-size:var(--journal-text)!important;line-height:24px;font-weight:500}
body.journal-shell #cashier-choice-popup :is(small,.cashier-choice-hint,.cashier-choice-empty){font-size:var(--journal-help)!important;line-height:21px!important}
body.journal-shell #cashier-choice-popup .cashier-choice-actions button{font-size:var(--journal-label)!important;font-weight:600}
body.journal-shell #journal-foundation .journal-reference-table td{font-size:var(--journal-text)!important;line-height:24px}
body.journal-shell :is(.journal-reference-table,.opening-table,.cashier-table) th{font-size:var(--journal-label)!important;line-height:22.5px!important;font-weight:600}
body.journal-shell :is(.account-parent small,.account-child-row>small,.account-child-section .hint,.journal-edit-dialog small,.review-table-wrap td small){font-size:var(--journal-help)!important;line-height:21px}
body.journal-shell .journal-review-dialog{font-size:var(--journal-text);line-height:24px}
body.journal-shell .book-card p strong{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
body.journal-shell #cashier-view .cashier-table :is(.ledger-account,.ledger-summary,.ledger-category) small,body.journal-shell :is(.ledger-total-title>span,.ledger-total-values>div>span,.ledger-total-card>p,.cashier-sheet-totals,.sheet-message){font-size:var(--journal-help)!important;line-height:21px!important}
body.journal-shell #cashier-view .cashier-table .ledger-type{font-size:var(--journal-label)!important;line-height:22.5px!important}
body.journal-shell #cashier-view .cashier-sheet-save .primary{font-size:var(--journal-text)!important;line-height:24px!important;font-weight:600}

/* Runtime identity and login reuse the journal type scale. */
.journal-session{padding:8px 16px;color:#48665a;font-size:14px;display:flex;gap:16px;align-items:center;background:#edf5f0}
body.journal-login-page{display:grid;place-items:center;min-height:100vh;margin:0;background:#f3f6f2}
body.journal-shell .journal-login-card{box-sizing:border-box;width:min(460px,calc(100vw - 32px));padding:28px;border:1px solid #d6e3db;border-radius:12px;background:#fff;color:#213d32;box-shadow:0 12px 40px #193e2318}
body.journal-shell main.journal-login-card{margin:0;min-height:0;display:block}
body.journal-shell .journal-login-card h1{font-size:24px;margin:0 0 12px}
body.journal-shell .journal-login-card p{font-size:14px;line-height:1.6}
body.journal-shell .journal-login-card .field{display:flex;flex-direction:column;gap:6px;margin:16px 0}
body.journal-shell .journal-login-card input{font-size:16px;line-height:24px;width:100%;min-height:44px;padding:10px;box-sizing:border-box}
.journal-relogin::backdrop{background:#122b22b3}
body[data-user-role=viewer] :is([data-cashier-tab=sheet],[data-cashier-tab=transfer],[data-cashier-edit],[data-cashier-delete]){display:none!important}
body[data-user-role=viewer] #cashier-sheet-panel{pointer-events:none;opacity:.65}
body[data-user-role=cashier] :is(#foundation-new,[data-tree-edit],#foundation-rows [data-edit],[data-opening-account],#journal-policy-form,#opening-new),body[data-user-role=viewer] :is(#foundation-new,[data-tree-edit],#foundation-rows [data-edit],[data-opening-account],#journal-policy-form,#opening-new){display:none!important}

body[data-user-role=cashier] #database-backup,body[data-user-role=viewer] #database-backup{display:none!important}

.cashier-money-cell{position:relative}
body.journal-shell .cashier-place-marker{position:absolute;transform:translateX(-50%);display:block;padding:0!important;margin:0;font-size:12px!important;line-height:16px!important;font-weight:500!important;white-space:nowrap;overflow:visible;pointer-events:none;color:#527363;background:transparent}
body.journal-shell .cashier-place-marker[hidden]{display:none}
.approval-pending{color:#8a5b17;font-weight:500}
.approval-pending-filter{display:inline-flex;gap:6px;align-items:center;font-size:14px;white-space:nowrap}

#journal-users .bank-panel{margin-bottom:16px}
#journal-users .panel-title{padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}
#journal-users h2{font-size:20px;margin:0 0 8px}
#journal-users .journal-reference-table{width:100%;font-size:16px;line-height:24px}
#journal-users td,#journal-users th{padding:12px 16px;text-align:left;border-bottom:1px solid #e0e8e3}
#journal-users td small{display:block;font-size:14px;line-height:21px;color:#687b72}
#journal-users td button{margin-right:12px}
#journal-users .users-permission-plan{padding:20px}
#users-message{padding:0 16px}
#users-dialog{width:min(540px,calc(100vw - 32px));padding:24px}
#users-dialog .field{display:flex;flex-direction:column;gap:6px;margin:14px 0}
#users-dialog input:not([type=checkbox]),#users-dialog select{font-size:16px;line-height:24px;min-height:44px;padding:10px}

body.journal-entry-fit #cashier-view .cashier-grid td.cashier-money-cell,body.journal-shell .cashier-editor .cashier-money-cell{position:relative!important;overflow:visible!important}
body.journal-entry-fit #cashier-view .cashier-grid .cashier-place-marker,body.journal-shell .cashier-editor .cashier-place-marker{font-size:12px!important;line-height:16px!important;padding:0!important;z-index:1}
body.journal-shell #journal-users .journal-reference-table td,body.journal-shell #journal-users .journal-reference-table td :is(b,span){font-size:var(--journal-text)!important;line-height:24px!important}
body.journal-shell #journal-users .journal-reference-table th{font-size:var(--journal-label)!important;line-height:22.5px!important}
body.journal-shell #journal-users .journal-reference-table td small{font-size:var(--journal-help)!important;line-height:21px!important}

body.journal-shell .sidebar{display:flex;flex-direction:column;height:100vh;overflow-y:auto;box-sizing:border-box}
body.journal-shell .sidebar>.brand{min-height:48px;flex-shrink:0;margin-bottom:24px}
body.journal-shell .sidebar>.nav,body.journal-shell .sidebar>.side-label,body.journal-shell .sidebar>.journal-side-note{flex-shrink:0}
body.journal-shell .journal-sidebar-footer{margin-top:auto;padding:18px 6px 2px;display:flex;flex-direction:column;gap:4px;color:#abc3b8;flex-shrink:0;border-top:1px solid #ffffff1a}
body.journal-shell .journal-sidebar-footer #application-version{font-family:var(--journal-font-family);font-size:12px;line-height:18px;letter-spacing:0;white-space:nowrap;overflow-wrap:normal;color:#d7e5de}
body.journal-shell .journal-sidebar-footer #application-channel{font-size:12px;line-height:18px}
