.cashbook-page-wrapper{background-color:var(--bg-soft-blue,#f0fdfa);min-height:calc(100vh - 64px);font-family:var(--font-sans,"Be Vietnam Pro", sans-serif);flex-direction:column;gap:24px;padding:24px;display:flex}.cashbook-header-card{background:var(--bg-card,#fff);border-radius:var(--radius-lg,24px);box-shadow:var(--shadow-sm,0 2px 8px #0f766e0a);border:1px solid var(--border-light,#edf2f9);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 32px;display:flex}.cashbook-header-info{flex-direction:column;gap:4px;display:flex}.cashbook-title{color:var(--text-main,#111827);align-items:center;gap:12px;margin:0;font-size:24px;font-weight:700;display:flex}.cashbook-title-badge{border-radius:var(--radius-pill,9999px);background-color:var(--blue-subtle,#ccfbf1);color:var(--blue-primary,#0f766e);border:1px solid var(--blue-border,#99f6e4);padding:4px 10px;font-size:12px;font-weight:600}.cashbook-subtitle{color:var(--text-muted,#4b5563);margin:0;font-size:14px}.cashbook-header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cb-btn{border-radius:var(--radius-pill,9999px);cursor:pointer;border:1px solid #0000;outline:none;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s ease-in-out;display:inline-flex}.cb-btn:disabled{opacity:.5;cursor:not-allowed}.cb-btn-primary{background-color:var(--blue-primary,#0f766e);color:#fff}.cb-btn-primary:hover:not(:disabled){background-color:var(--blue-hover,#115e59);transform:translateY(-1px);box-shadow:0 4px 12px #0f766e40}.cb-btn-receipt{background-color:var(--green-money,#00c853);color:#fff}.cb-btn-receipt:hover:not(:disabled){background-color:#00b34a;transform:translateY(-1px);box-shadow:0 4px 12px #00c85340}.cb-btn-payment{background-color:var(--red-accent,#ff3b30);color:#fff}.cb-btn-payment:hover:not(:disabled){background-color:#e03228;transform:translateY(-1px);box-shadow:0 4px 12px #ff3b3040}.cb-btn-outline{color:var(--blue-primary,#0f766e);border-color:var(--blue-border,#99f6e4);background-color:#fff}.cb-btn-outline:hover:not(:disabled){background-color:var(--blue-light,#f0fdfa);border-color:var(--blue-primary,#0f766e)}.cash-accounts-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.cash-account-card{background:var(--bg-card,#fff);border-radius:var(--radius-lg,24px);box-shadow:var(--shadow-sm,0 2px 8px #0f766e0a);border:1px solid var(--border-light,#edf2f9);flex-direction:column;gap:12px;padding:20px 24px;transition:all .2s;display:flex;position:relative;overflow:hidden}.cash-account-card:hover{box-shadow:var(--shadow-card,0 10px 30px #0f766e14);border-color:var(--blue-border,#99f6e4);transform:translateY(-2px)}.cash-account-card.active-selected{border:2px solid var(--blue-primary,#0f766e);background:#fff}.account-card-header{justify-content:space-between;align-items:center;display:flex}.account-type-badge{border-radius:var(--radius-pill,9999px);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.account-type-badge.cash{background-color:var(--orange-light,#fff8eb);color:var(--orange-accent,#ff9500);border:1px solid var(--orange-border,#ffe8cc)}.account-type-badge.bank{background-color:var(--blue-subtle,#ccfbf1);color:var(--blue-primary,#0f766e);border:1px solid var(--blue-border,#99f6e4)}.account-branch-name{color:var(--text-faint,#9ca3af);font-size:12px;font-weight:500}.account-card-name{color:var(--text-main,#111827);margin:0;font-size:16px;font-weight:700}.account-card-detail{color:var(--text-muted,#4b5563);font-size:13px;font-family:var(--font-mono,monospace);margin:0}.account-card-balance-block{border-top:1px dashed var(--border-light,#edf2f9);flex-direction:column;gap:2px;margin-top:8px;padding-top:12px;display:flex}.account-balance-label{color:var(--text-muted,#4b5563);font-size:12px}.account-balance-amount{color:var(--blue-primary,#0f766e);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.cashbook-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.kpi-stat-card{border-radius:var(--radius-lg,24px);border:1px solid var(--border-light,#edf2f9);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:4px;padding:16px 20px;display:flex}.kpi-stat-title{color:var(--text-muted,#4b5563);font-size:13px;font-weight:600}.kpi-stat-val{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.kpi-stat-val.green{color:var(--green-money,#00c853)}.kpi-stat-val.red{color:var(--red-accent,#ff3b30)}.kpi-stat-val.blue{color:var(--blue-primary,#0f766e)}.cashbook-toolbar-card{background:var(--bg-card,#fff);border-radius:var(--radius-lg,24px);box-shadow:var(--shadow-sm);border:1px solid var(--border-light,#edf2f9);flex-direction:column;gap:16px;padding:16px 24px;display:flex}.toolbar-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar-pills-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill-filter-btn{border-radius:var(--radius-pill,9999px);border:1px solid var(--border-subtle,#e5edf8);color:var(--text-muted,#4b5563);cursor:pointer;background-color:#fff;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.pill-filter-btn:hover{border-color:var(--blue-border,#99f6e4);color:var(--blue-primary,#0f766e)}.pill-filter-btn.active{background-color:var(--blue-primary,#0f766e);color:#fff;border-color:var(--blue-primary,#0f766e)}.toolbar-search-input{background-color:var(--bg-soft-blue,#f0fdfa);border:1px solid var(--blue-border,#99f6e4);border-radius:var(--radius-pill,9999px);align-items:center;gap:8px;min-width:280px;padding:8px 16px;display:flex}.toolbar-search-input input{width:100%;color:var(--text-main,#111827);background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.cashbook-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.cashbook-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:12.5px}.cashbook-table th{color:#334155;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background-color:#f8fafc;border-bottom:1px solid #cbd5e1;padding:10px 12px;font-size:12px;font-weight:700}.cashbook-table td{vertical-align:middle;color:#1e293b;border-bottom:1px solid #f1f5f9;padding:8px 12px;font-size:12.5px}.cashbook-table tr:hover td{background-color:#f8fafc}.tx-code-cell{color:var(--blue-primary,#0f766e);font-weight:700;font-family:var(--font-mono,monospace);font-size:13px}.tx-type-badge{border-radius:var(--radius-pill,9999px);align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.tx-type-badge.receipt{background-color:var(--green-light,#e8f9ee);color:var(--green-money,#00c853);border:1px solid var(--green-border,#bbf7d0)}.tx-type-badge.payment{background-color:var(--red-light,#fff0f0);color:var(--red-accent,#ff3b30);border:1px solid var(--red-border,#ffd6d6)}.tx-type-badge.adjustment{background-color:var(--orange-light,#fff8eb);color:var(--orange-accent,#ff9500);border:1px solid var(--orange-border,#ffe8cc)}.amount-num{font-variant-numeric:tabular-nums;text-align:right;font-weight:700;display:block}.amount-num.receipt{color:var(--green-money,#00c853)}.amount-num.payment{color:var(--red-accent,#ff3b30)}.amount-num.balance{color:var(--blue-primary,#0f766e);font-weight:800}.automated-badge{border-radius:var(--radius-pill,9999px);color:#6b7280;background-color:#f3f4f6;border:1px solid #e5e7eb;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.cb-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;background-color:#11182780;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cb-modal-container{border-radius:var(--radius-lg,24px);width:100%;max-width:540px;box-shadow:var(--shadow-floating,0 18px 48px #0f766e26);background:#fff;flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;overflow:hidden}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.cb-modal-header{border-bottom:1px solid var(--border-light,#edf2f9);justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.cb-modal-title{color:var(--text-main,#111827);align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;display:flex}.cb-modal-close-btn{color:var(--text-faint,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:20px}.cb-modal-close-btn:hover{color:var(--text-main);background-color:#f3f4f6}.cb-modal-body{flex-direction:column;gap:16px;max-height:75vh;padding:24px 28px;display:flex;overflow-y:auto}.cb-form-group{flex-direction:column;gap:6px;display:flex}.cb-form-label{color:var(--text-main,#111827);font-size:13px;font-weight:600}.cb-form-input,.cb-form-select,.cb-form-textarea{border:1px solid var(--border-subtle,#e5edf8);border-radius:var(--radius-sm,12px);width:100%;color:var(--text-main,#111827);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.cb-form-input:focus,.cb-form-select:focus,.cb-form-textarea:focus{border-color:var(--blue-primary,#0f766e);box-shadow:0 0 0 3px #0f766e1f}.cb-overdraft-alert{background-color:var(--red-light,#fff0f0);border:1px solid var(--red-border,#ffd6d6);border-radius:var(--radius-sm,12px);color:var(--red-accent,#ff3b30);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.cb-reconciliation-diff-box{background-color:var(--blue-light,#f0fdfa);border:1px solid var(--blue-border,#99f6e4);border-radius:var(--radius-sm,12px);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.cb-modal-footer{border-top:1px solid var(--border-light,#edf2f9);background-color:#fafbfc;justify-content:flex-end;gap:12px;padding:18px 28px;display:flex}@media print{body *{visibility:hidden}.printable-a4-sheet,.printable-a4-sheet *{visibility:visible}.printable-a4-sheet{color:#000;background:#fff;width:100%;padding:20mm;font-size:12pt;position:absolute;top:0;left:0}}.cashbook-summary-bar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:14px 24px;display:flex;overflow-x:auto;box-shadow:0 2px 6px #00000008}.cb-summary-item{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.cb-summary-operator{color:#94a3b8;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:1.3rem;font-weight:800}.cb-summary-label{color:#64748b;font-size:.85rem;font-weight:600}.cb-summary-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.cb-summary-value.balance-value{color:#0f172a}.cb-summary-value.income-value{color:#059669}.cb-summary-value.expense-value{color:#dc2626}@media (width<=768px){.cashbook-summary-bar{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;display:grid}.cb-summary-operator{display:none}.cb-summary-item{flex-direction:column;align-items:flex-start;gap:2px}}@media (width<=480px){.cashbook-summary-bar{grid-template-columns:1fr}}.cb-action-btn{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;height:40px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.cb-action-btn-receipt{background-color:var(--blue-primary,#0f766e);color:#fff;border-color:var(--blue-primary,#0f766e);box-shadow:0 2px 4px #0f766e33}.cb-action-btn-receipt:hover{background-color:var(--blue-hover,#115e59);border-color:var(--blue-hover,#115e59)}.cb-action-btn-payment{color:#dc2626;background-color:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d}.cb-action-btn-payment:hover{background-color:#fef2f2;border-color:#fca5a5}.cb-action-btn-more{color:#334155;background-color:#fff;border-color:#cbd5e1;position:relative;box-shadow:0 1px 2px #0000000d}.cb-action-btn-more:hover{background-color:#f8fafc;border-color:#94a3b8}.cb-action-btn-more.active{border-color:var(--blue-primary,#0f766e);color:var(--blue-primary,#0f766e);background-color:#f0fdfa;box-shadow:0 0 0 2px #0f766e26}.cb-more-dropdown-menu{z-index:50;box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;width:290px;margin-top:8px;padding:8px;position:absolute;top:100%;right:0;box-shadow:0 12px 30px -4px #0f172a24,0 4px 6px -2px #0f172a0a}.cb-more-dropdown-header{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 10px 8px;font-size:11px;font-weight:700;display:flex}.cb-more-dropdown-item{cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:12px;width:100%;padding:8px 10px;font-family:inherit;transition:background-color .15s;display:flex}.cb-more-dropdown-item:hover{background-color:#f8fafc}.cb-more-item-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.cb-more-item-icon.teal{color:var(--blue-primary,#0f766e);background-color:#f0fdfa}.cb-more-dropdown-item:hover .cb-more-item-icon.teal{background-color:var(--blue-primary,#0f766e);color:#fff}.cb-more-item-icon.amber{color:#d97706;background-color:#fffbeb}.cb-more-dropdown-item:hover .cb-more-item-icon.amber{color:#fff;background-color:#d97706}.cb-more-item-icon.indigo{color:#4f46e5;background-color:#eef2ff}.cb-more-dropdown-item:hover .cb-more-item-icon.indigo{color:#fff;background-color:#4f46e5}.cb-more-item-icon.emerald{color:#059669;background-color:#ecfdf5}.cb-more-dropdown-item:hover .cb-more-item-icon.emerald{color:#fff;background-color:#059669}.cb-more-item-icon.blue{color:#2563eb;background-color:#eff6ff}.cb-more-dropdown-item:hover .cb-more-item-icon.blue{color:#fff;background-color:#2563eb}.cb-more-item-icon.purple{color:#9333ea;background-color:#faf5ff}.cb-more-dropdown-item:hover .cb-more-item-icon.purple{color:#fff;background-color:#9333ea}.cb-more-item-text{flex:1;min-width:0}.cb-more-item-title{color:#1e293b;font-size:13px;font-weight:600;line-height:1.3}.cb-more-item-sub{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.cb-more-badge{color:#fff;background-color:#ef4444;border-radius:9999px;padding:1px 7px;font-size:10px;font-weight:700;box-shadow:0 1px 2px #ef44444d}.cb-more-dropdown-divider{background-color:#f1f5f9;height:1px;margin:6px 0}.cb-filter-panel{box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:16px;flex-direction:column;gap:12px;padding:14px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.cb-filter-row-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cb-search-bar{box-sizing:border-box;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;flex:1;align-items:center;gap:10px;min-width:280px;height:40px;padding:0 12px;transition:all .2s;display:flex}.cb-search-bar:focus-within{border-color:var(--blue-primary,#0f766e);background-color:#fff;box-shadow:0 0 0 2px #0f766e26}.cb-search-input{flex:1;width:100%;color:#1e293b!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important;font-size:13px!important}.cb-search-input::placeholder{color:#94a3b8}.cb-filter-select-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cb-select-wrapper{box-sizing:border-box;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-items:center;height:40px;padding:0 28px 0 34px;transition:all .2s;display:flex;position:relative}.cb-select-wrapper:hover{background-color:#f1f5f9;border-color:#94a3b8}.cb-select-wrapper:focus-within{border-color:var(--blue-primary,#0f766e);background-color:#fff;box-shadow:0 0 0 2px #0f766e26}.cb-select-icon-left{color:var(--blue-primary,#0f766e);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.cb-select-icon-right{color:#94a3b8;pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.cb-native-select{width:100%;color:#1e293b!important;cursor:pointer!important;appearance:none!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important;font-size:13px!important;font-weight:500!important}.cb-reset-filter-btn{color:#be123c;cursor:pointer;background-color:#fff1f2;border:1px solid #fecdd3;border-radius:10px;align-items:center;gap:6px;height:40px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.cb-reset-filter-btn:hover{background-color:#ffe4e6;border-color:#fda4af}.cb-filter-row-bottom{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.cb-quick-chip-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cb-quick-chip-label{color:#64748b;margin-right:4px;font-size:12px;font-weight:600}.cb-quick-chip{cursor:pointer;color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.cb-quick-chip:hover{background-color:#f1f5f9;border-color:#cbd5e1}.cb-quick-chip.active-all{background-color:var(--blue-primary,#0f766e);color:#fff;border-color:var(--blue-primary,#0f766e)}.cb-quick-chip.active-receipt{color:#fff;background-color:#059669;border-color:#059669}.cb-quick-chip.active-payment{color:#fff;background-color:#dc2626;border-color:#dc2626}.cb-quick-chip.active-adjustment{color:#fff;background-color:#d97706;border-color:#d97706}.cb-custom-date-box{background-color:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;align-items:center;gap:8px;padding:4px 12px;display:flex}.cb-custom-date-box span{color:var(--blue-primary,#0f766e);font-size:12px;font-weight:600}.cb-custom-date-input{color:#1e293b;background-color:#fff;border:1px solid #99f6e4;border-radius:6px;outline:none;height:28px;padding:0 8px;font-family:inherit;font-size:12px}.cb-custom-date-input:focus{border-color:var(--blue-primary,#0f766e)}
