.expenses-page{display:grid;gap:18px}.cash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cash-stats section{background:var(--surface,var(--surface));border:1px solid var(--border,var(--border-subtle));border-radius:12px;padding:16px 18px;display:grid;gap:8px}.cash-stats span,.cash-pos-values span{font-size:12px;color:var(--muted,var(--text-secondary))}.cash-stats strong{font-size:22px;letter-spacing:-.5px}.cash-stats section:last-child strong{font-size:16px}.cash-list-card{border:1px solid var(--border,var(--border-subtle));border-radius:12px;background:var(--surface,var(--surface));overflow:hidden}.cash-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:16px;border-bottom:1px solid var(--border,var(--border-subtle));align-items:center}.cash-toolbar input,.cash-toolbar select{height:36px;font-size:12px;width:auto;min-width:0}.cash-toolbar select{max-width:180px}.cash-search{display:flex;align-items:center;gap:7px;flex:1;min-width:190px;border:1px solid var(--border,var(--border-subtle));border-radius:7px;padding-left:10px}.cash-search svg{width:16px;height:16px;color:var(--text-secondary)}.cash-search input{width:100%;border:0;background:transparent}.cash-table-top{padding:12px 18px;display:flex;justify-content:space-between;align-items:center;color:var(--muted,var(--text-secondary));font-size:12px}.cash-table-scroll{overflow:auto}.cash-table{width:100%;border-collapse:collapse;font-size:13px}.cash-table th{font-size:11px;letter-spacing:.3px;color:var(--muted,var(--text-secondary));text-align:left;padding:12px 14px;background:var(--bg,var(--surface));font-weight:600}.cash-table td{height:74px;padding:10px 14px;border-top:1px solid var(--border,var(--border-subtle));vertical-align:middle}.cash-table td:first-child,.cash-table th:first-child{width:42px;padding-right:0}.cash-table input[type=checkbox]{width:15px;height:15px;accent-color:#079d7d}.cash-table strong{font-weight:600}.cash-table small{display:block;font-size:11px;color:var(--muted,var(--text-secondary));margin-top:5px}.cash-table .cash-amount{font-weight:700;white-space:nowrap}.cash-category{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--surface-muted);color:var(--text-secondary);font-size:11px;white-space:nowrap}.cash-table time{font-size:12px;white-space:nowrap}.cash-table .icon-btn{font-size:23px;line-height:1;width:30px;height:30px}.cash-action-menu{position:fixed;z-index:1200;background:var(--surface,var(--surface));border:1px solid var(--border,var(--border-subtle));padding:5px;width:205px;border-radius:10px;box-shadow:0 12px 36px #102c2426}.cash-action-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;border-radius:6px;padding:10px 12px;font:inherit;font-size:12px;cursor:pointer}.cash-action-menu button:hover,.cash-action-menu button:focus{background:var(--surface-muted);outline:0}.cash-action-menu [data-cash=archive]{border-top:1px solid var(--border,var(--border-subtle));border-radius:0;margin-top:4px}.cash-action-menu [data-cash=cancel]{color:var(--danger-text)}.cash-empty{text-align:center;padding:48px 20px 58px}.cash-empty-icon{display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;background:var(--surface-muted);border-radius:14px;color:var(--success-text)}.cash-empty h2{font-size:17px;margin:15px 0 8px}.cash-empty p{font-size:13px;color:var(--muted,var(--text-secondary));margin-bottom:20px}.cash-pagination{display:flex;justify-content:flex-end;gap:12px;align-items:center;padding:12px 18px;font-size:12px}.cash-pos{background:var(--surface,var(--surface));border:1px solid var(--border,var(--border-subtle));border-radius:12px;padding:16px 18px;margin-bottom:18px}.cash-pos header{display:flex;gap:8px;align-items:center}.cash-pos header>div{flex:1}.cash-pos h2{font-size:15px;margin:0}.cash-pos p{font-size:12px;color:var(--muted,var(--text-secondary));margin:5px 0}.cash-pos-values{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:18px 0}.cash-pos-values>div{display:grid;gap:6px}.cash-pos-values strong{font-size:15px}.cash-pos-values>div:last-child strong{color:var(--success-text)}.cash-pos footer{display:flex;gap:8px;margin-top:12px}.cash-pos .btn{font-size:12px;padding:8px 12px}.cash-warning{color:var(--warning-text)!important;background:var(--warning-bg);padding:10px;border-radius:6px}.cash-dialog{border:1px solid var(--border,var(--border-subtle));padding:0;border-radius:16px;background:var(--surface,var(--surface));color:var(--text,var(--text-primary));width:min(540px,calc(100vw - 24px));max-height:90dvh;box-shadow:0 24px 80px #15382f33}.cash-dialog::backdrop{background:#10291f66}.cash-dialog form{margin:0}.cash-dialog header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border,var(--border-subtle))}.cash-dialog h2{font-size:18px;margin:0}.cash-dialog-body{padding:20px 22px;display:grid;gap:14px;max-height:65dvh;overflow:auto}.cash-dialog label{display:grid;gap:7px;font-size:12px;font-weight:600}.cash-dialog input,.cash-dialog select,.cash-dialog textarea{width:100%;font:inherit;padding:10px 12px;min-height:40px;border:1px solid var(--border,var(--control-border));border-radius:7px;color:inherit;background:var(--surface,var(--surface))}.cash-fields{display:grid;gap:14px}.cash-dialog p,.cash-dialog small{font-size:12px;line-height:1.6;color:var(--muted,var(--text-secondary));margin:0}.cash-dialog footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 22px;border-top:1px solid var(--border,var(--border-subtle))}.cash-dialog .form-error:not(:empty){padding:0 22px 16px;color:var(--danger-text)}.cash-components{margin:0}.cash-components>div,.cash-proof dl>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:13px}.cash-components dd,.cash-proof dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.cash-components>div:last-child{border-top:1px solid var(--border-subtle);margin-top:5px;padding-top:12px;font-weight:700}.cash-history{padding:0;margin:0;list-style:none}.cash-history li{display:grid;grid-template-columns:100px 1fr auto;gap:12px;border-top:1px solid var(--border,var(--border-subtle));padding:12px 0;font-size:12px;align-items:center}.cash-history time{font-size:11px;color:var(--muted,var(--text-secondary))}.cash-negative{color:var(--danger-text)}.cash-positive{color:var(--success-text)}.cash-proof h3{margin:0}.cash-proof-amount{display:block;font-size:26px;margin:18px 0}.cash-proof dl{margin:0 0 15px}.cash-proof dt{color:var(--muted,var(--text-secondary))}
@media(max-width:1000px){.cash-pos-values{grid-template-columns:repeat(4,1fr)}.cash-table{min-width:840px}.cash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cash-toolbar{padding:12px}.cash-search{flex-basis:100%}.cash-toolbar select{flex:1;max-width:none;min-width:125px}.cash-stats{gap:8px}.cash-stats section{padding:12px}.cash-stats strong{font-size:19px}.cash-pos{padding:14px}.cash-pos header{flex-wrap:wrap}.cash-pos header>div{flex-basis:100%}.cash-pos-values{grid-template-columns:repeat(2,1fr)}.cash-pos footer{flex-wrap:wrap}.cash-dialog header,.cash-dialog-body,.cash-dialog footer{padding:16px}.cash-history li{grid-template-columns:75px 1fr}.cash-history strong{grid-column:2}.cash-stats section:last-child strong{font-size:14px}}
@media print{body:has(.cash-dialog[open])>*:not(.cash-dialog[open]){display:none!important}.cash-dialog[open]{position:static;display:block;width:100%;max-height:none;border:0;box-shadow:none}.cash-dialog header,.cash-dialog footer,.cash-dialog .btn,.cash-dialog .form-error{display:none!important}.cash-dialog-body{max-height:none;overflow:visible;padding:10px}.cash-proof{color:var(--text-primary)}}

.cash-account-hint{padding:0 20px;color:var(--muted);font-size:13px;line-height:1.6}.cash-dialog [hidden]{display:none!important}.cash-table td>.btn{margin:2px}

/* Shared finance surfaces use the application's light/dark semantic colors. */
.finance-page{min-width:0;display:grid;gap:18px}.finance-page .cash-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.finance-page .cash-stats section{border-color:var(--border-subtle);background:var(--surface);padding:18px;border-radius:14px;gap:10px}.finance-page .cash-stats strong,.finance-page .cash-stats section:last-child strong{font-size:clamp(18px,1.65vw,24px);line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.finance-page .cash-stats span{color:var(--text-secondary)}.finance-page .cash-stats section:first-child{background:var(--success-bg);border-color:var(--success-border,var(--border-subtle))}.finance-page .cash-stats section:first-child strong{color:var(--success-text)}
.finance-page .cash-toolbar{align-items:flex-end;gap:12px;background:var(--surface);padding:18px}.finance-filter{display:flex;flex-direction:column;gap:7px;min-width:130px;font-size:12px;color:var(--text-secondary);font-weight:500}.finance-filter>span{line-height:1.4}.finance-page .cash-toolbar .cash-search{align-self:flex-end;min-width:200px}.finance-page .cash-toolbar .finance-filter.cash-search{border:0;padding:0;align-items:stretch}.finance-page .finance-filter input,.finance-page .finance-filter select{width:100%;max-width:none;min-height:40px;border:1px solid var(--control-border,var(--border-subtle));border-radius:8px;background:var(--surface);color:var(--text-primary);padding:8px 10px}.finance-page .cash-toolbar>.btn{min-height:40px}.finance-page .cash-account-hint{color:var(--text-secondary);margin:14px 18px;padding:0;font-size:12px}.finance-page .cash-list-card{border-color:var(--border-subtle);border-radius:14px}.finance-page .cash-table th{background:var(--surface-muted);color:var(--text-secondary);white-space:nowrap;font-size:12px;text-transform:none;letter-spacing:0}.finance-page .cash-table td{height:68px;border-color:var(--border-subtle)}.finance-page .cash-table tbody tr:hover{background:var(--surface-muted)}.finance-page .finance-table td:first-child,.finance-page .finance-table th:first-child{width:auto;padding:12px 16px}.finance-page .cash-amount{text-align:right;font-variant-numeric:tabular-nums}.finance-page .cash-table small{line-height:1.5}.finance-actions{white-space:nowrap}.finance-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:6px;font-size:11px;line-height:1.4;white-space:nowrap;font-weight:600}.finance-success{color:var(--success-text);background:var(--success-bg)}.finance-warning{color:var(--warning-text);background:var(--warning-bg)}.finance-danger{color:var(--danger-text);background:var(--danger-bg)}.finance-neutral{color:var(--text-secondary);background:var(--surface-muted)}.finance-tabs,.finance-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finance-tabs{padding:4px;background:var(--surface-muted);border-radius:10px;width:fit-content}.finance-tabs .btn{border:0}.finance-page .cash-table-scroll:focus-visible,.finance-page button:focus-visible,.cash-dialog button:focus-visible{outline:2px solid var(--success-text);outline-offset:-2px}.finance-page .cash-empty{padding:40px 20px}.finance-page .cash-empty p{max-width:480px;margin:0 auto 20px;line-height:1.7}.finance-cashier .pos-cash-summary{margin:0;border:1px solid var(--border-subtle);border-radius:14px;padding:22px;background:var(--surface)}.finance-cashier .pos-cash-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.finance-cashier .pos-cash-values>div{padding:12px;background:var(--surface-muted);border-radius:8px}.finance-cashier .pos-cash-values strong{display:block;margin-top:8px;font-variant-numeric:tabular-nums}
.cash-dialog{width:min(620px,calc(100vw - 24px));overflow:hidden}.cash-dialog-body{max-height:calc(90dvh - 152px);gap:18px}.cash-dialog [data-bank-fields]{display:grid;gap:14px}.cash-dialog header,.cash-dialog footer{background:var(--surface)}.cash-dialog-body label{color:var(--text-primary)}.cash-dialog input:focus-visible,.cash-dialog select:focus-visible{outline:2px solid var(--success-text);outline-offset:2px}.cash-dialog .cash-history strong{font-variant-numeric:tabular-nums;white-space:nowrap}.cash-dialog .cash-proof dt{flex:0 0 120px}.cash-dialog .cash-proof dd{min-width:0}
@media(max-width:900px){.finance-page .cash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-page .finance-filter{flex:1 1 145px}.finance-page .cash-toolbar .cash-search{flex:1 1 100%}.finance-page .cash-table{min-width:850px}}
@media(max-width:600px){.finance-page{gap:12px}.finance-page .cash-toolbar{padding:12px;gap:10px}.finance-page .cash-stats section{padding:14px}.finance-page .cash-stats strong,.finance-page .cash-stats section:last-child strong{font-size:18px}.finance-page .cash-account-hint{margin:12px;line-height:1.7}.finance-page .cash-pagination{justify-content:space-between;gap:8px;padding:12px}.finance-cashier .pos-cash-summary{padding:16px}.finance-cashier .pos-cash-values{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-dialog footer .btn{flex:1}.cash-dialog .cash-proof dt{flex-basis:95px}.cash-dialog .cash-proof-amount{font-size:24px}}
@media print{.cash-dialog[open]{overflow:visible}.cash-dialog .cash-dialog-body{max-height:none;overflow:visible}}
/* Cashier drawer settings: scoped to this standard cash dialog. */
.cash-dialog.drawer-settings-dialog{width:860px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;overflow:visible}
.drawer-settings-dialog>form{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);min-height:0}
.drawer-settings-dialog>form>header,.drawer-settings-dialog>form>footer{flex-shrink:0;padding:16px 20px;margin:0}
.drawer-settings-dialog>form>.cash-dialog-body{overflow:auto;min-height:0;max-height:none;padding:18px 20px;display:grid;gap:18px;overscroll-behavior:contain}
.drawer-settings-dialog .form-error{flex-shrink:0;margin:0;padding:0 20px;overflow-wrap:anywhere}.drawer-settings-dialog .form-error:empty{display:none}
.drawer-settings-dialog .drawer-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;min-width:0}.drawer-settings-dialog .drawer-label label{margin:0}
.drawer-settings-dialog .drawer-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.drawer-settings-dialog label.drawer-mode{display:flex;flex-direction:row;align-items:flex-start;gap:10px;border:1px solid var(--border);border-radius:12px;padding:14px;margin:0;cursor:pointer;min-width:0}
.drawer-settings-dialog .drawer-mode:has(:checked){border-color:var(--primary);background:var(--accent-bg)}
.drawer-settings-dialog .drawer-mode>span{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.drawer-settings-dialog input[type=checkbox],.drawer-settings-dialog input[type=radio]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:3px 0;accent-color:var(--primary)}
.drawer-settings-dialog .drawer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.drawer-settings-dialog .drawer-card{border:1px solid var(--border);border-radius:12px;padding:14px;min-width:0;display:flex;flex-direction:column;gap:10px}
.drawer-settings-dialog .drawer-card h3{display:flex;align-items:center;gap:8px;font-size:16px;margin:0;overflow-wrap:anywhere}.drawer-settings-dialog .drawer-card h3 .icon{width:20px;flex:0 0 20px}
.drawer-settings-dialog label.drawer-user{display:flex;flex-direction:row;gap:10px;align-items:flex-start;min-height:40px;padding:8px 4px;margin:0;cursor:pointer;font-size:14px;line-height:1.5}.drawer-settings-dialog .drawer-user span{min-width:0;overflow-wrap:anywhere}
.drawer-settings-dialog .drawer-users-long{max-height:220px;overflow:auto;overscroll-behavior:contain}
.drawer-settings-dialog .drawer-search{font-size:13px;margin:0;display:grid;gap:5px}
.drawer-settings-dialog select,.drawer-settings-dialog input[type=search]{width:100%;min-width:0;max-width:100%;font-size:14px;min-height:44px}
.drawer-settings-dialog .drawer-notice,.drawer-settings-dialog .drawer-hint{font-size:13px;line-height:1.5;margin:0;color:var(--text-secondary)}
.drawer-settings-dialog .drawer-field-error{font-size:13px;color:var(--danger);line-height:1.5;margin:0}.drawer-settings-dialog .drawer-field-error:empty{display:none}
.drawer-settings-dialog [hidden]{display:none!important}.drawer-settings-dialog :focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.drawer-settings-dialog .info-popover{font-size:14px;text-align:left;line-height:1.5}.drawer-settings-dialog .info-popover p{margin:0}
@media(max-width:760px){.drawer-settings-dialog .drawer-cards{grid-template-columns:1fr}}
@media(max-width:600px){.drawer-settings-dialog .drawer-modes{grid-template-columns:1fr}.drawer-settings-dialog>form>header,.drawer-settings-dialog>form>footer{padding:12px 14px}.drawer-settings-dialog>form>.cash-dialog-body{padding:14px}.drawer-settings-dialog header h2{font-size:19px}}
.drawer-settings-dialog>form>header{border-radius:14px 14px 0 0}.drawer-settings-dialog>form>footer{border-radius:0 0 14px 14px}.drawer-settings-dialog .drawer-mode>span>span{font-weight:400}
/* Separate drawers use one placement row per real cashier. */
.drawer-assignment-table{margin-top:14px;min-width:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.drawer-assignment-heading,.drawer-assignment-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(150px,1.2fr) minmax(90px,.8fr) 110px;gap:12px;align-items:center;padding:12px}
.drawer-assignment-heading{background:var(--surface-muted);font-size:12px;font-weight:600}.drawer-assignment-row+.drawer-assignment-row{border-top:1px solid var(--border)}
.drawer-settings-dialog .drawer-assignment-select{margin:0;min-width:0}.drawer-assignment-select>span{display:none}.drawer-assignment-row>*{min-width:0;overflow-wrap:anywhere}.drawer-assignment-row [data-placement-status]{font-size:12px}.drawer-assignment-row .btn{font-size:12px;padding:8px;white-space:normal;min-height:40px}.drawer-assignment-row .drawer-field-error{grid-column:1/-1}
.drawer-settings-dialog [data-new-drawer]{background:var(--surface-muted)}
@media(max-width:760px){.drawer-assignment-heading{display:none}.drawer-assignment-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.drawer-assignment-row .drawer-user{grid-column:1/-1}.drawer-assignment-row .drawer-assignment-select{grid-column:1/-1}.drawer-assignment-select>span{display:block;font-size:12px;margin-bottom:5px}}
.payment-directory{border:1px solid var(--border);border-radius:12px;background:var(--surface);min-width:0}.payment-directory-note{padding:12px;margin:0;font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.payment-directory-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;align-items:center}.payment-directory-toolbar input{flex:1;min-width:170px}.payment-directory-toolbar input,.payment-directory-toolbar select{height:36px;min-height:36px;padding:6px 10px;font-size:12px}.payment-directory-scroll{overflow:auto}.payment-directory table{width:100%;border-collapse:collapse;min-width:650px}.payment-directory td,.payment-directory th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px}.payment-directory th{font-size:11px;color:var(--secondary);background:var(--surface-muted)}.payment-directory td small{display:block;color:var(--secondary);font-size:11px;margin-top:3px}.payment-directory td:last-child,.payment-directory th:last-child{width:48px;text-align:right}.payment-directory summary{list-style:none;cursor:pointer;font-size:22px}.payment-directory details>div{display:none}.payment-directory .data-pagination{padding:8px 12px;flex-wrap:wrap}.payment-account-editor{border-top:1px solid var(--border);padding-top:8px}.payment-account-editor label{margin:8px 0}.payment-account-editor summary{cursor:pointer;font-size:12px}.admin-floating .payment-method-danger{color:var(--danger-text)}.cash-dialog [data-account-info]{font-size:12px;overflow-wrap:anywhere}.cash-dialog [hidden]{display:none!important}@media(max-width:600px){.payment-directory-toolbar>*{max-width:100%}.payment-directory table{min-width:560px}.payment-directory-note{line-height:1.5}}
.cash-close-dialog{width:480px;max-width:calc(100vw - 24px)}.cash-close-dialog .cash-dialog-body{display:grid;gap:10px}.cash-close-dialog .close-physical{font-size:16px;font-weight:600}.cash-close-dialog .close-physical input{font-size:26px;min-height:48px;font-weight:700;width:100%;margin-top:8px}.cash-close-conclusion{font-size:14px;margin:0;padding:8px;border-radius:6px;background:var(--surface-muted)}.cash-close-conclusion[data-result=equal]{color:var(--success-text);background:var(--success-bg)}.cash-close-conclusion[data-result=difference]{color:var(--danger);border:1px solid currentColor}.cash-close-dialog .cash-components{margin:6px 0}.cash-close-dialog .cash-components>div{padding:4px 0}.cash-close-dialog small{font-size:12px;line-height:1.4}.cash-close-dialog details>summary{cursor:pointer;padding:6px 0;font-size:13px}.cash-close-dialog textarea{width:100%;min-height:60px}.cash-close-dialog footer{position:sticky;bottom:0;background:var(--surface);z-index:2}.cash-close-dialog [data-close-update]{font-size:12px;color:var(--warning-text);margin:0}.cash-close-dialog [hidden]{display:none!important}

.cash-closing-result{min-width:0;overflow-wrap:anywhere}.cash-closing-result .cash-components>div{gap:12px}.cash-closing-result .cash-components dd{white-space:nowrap}.cash-closing-result details{margin-top:8px}
.cash-closing-result .cash-close-totals{margin:14px 0}
.cash-closing-result .cash-close-totals>div{padding:7px 0;align-items:baseline}
.cash-closing-result .cash-close-saved{margin-top:14px;color:var(--text)}
.cash-closing-result .cash-close-meta{margin-top:4px}
.cash-closing-result .cash-close-details{margin-top:16px;border-top:1px solid var(--border);padding-top:8px}
.cash-closing-result .cash-close-detail-content{display:grid;gap:8px;padding-top:12px}
.cash-closing-result .cash-close-detail-content h3{margin-top:12px;font-size:13px}
