*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Arial,sans-serif;background:#e8e8e8;color:#1a1a1a;font-size:12px}.dashboard-root{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#e8e8e8}.top-bar{gap:16px;padding:0 16px;height:48px;background:#1a6b3c;border-bottom:2px solid #145730;position:-webkit-sticky;position:sticky;top:0;z-index:100}.brand,.top-bar{display:flex;align-items:center}.brand{gap:10px;flex-shrink:0}.brand-logo{width:30px;height:30px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='2' fill='%23fff'/%3E%3Crect x='4' y='6' width='16' height='1.5' rx='.75' fill='%231a6b3c'/%3E%3Crect x='4' y='10' width='16' height='1.5' rx='.75' fill='%231a6b3c'/%3E%3Crect x='4' y='14' width='10' height='1.5' rx='.75' fill='%231a6b3c'/%3E%3C/svg%3E") 50%/contain no-repeat}.brand-name{font-size:18px;font-weight:700;color:#fff}.brand-sub{font-size:12px;color:hsla(0,0%,100%,.7)}.main-tabs{display:flex;gap:4px;margin-left:8px}.main-tab{padding:6px 14px;border-radius:4px;border:none;cursor:pointer;font-size:12px;font-weight:500;font-family:inherit;background:transparent;color:hsla(0,0%,100%,.8);transition:background .1s}.main-tab:hover{background:hsla(0,0%,100%,.15);color:#fff}.main-tab.active{background:#fff;color:#1a6b3c;font-weight:700}.product-badge{margin-left:auto;padding:4px 10px;border-radius:4px;background:hsla(0,0%,100%,.2);color:#fff;font-size:11px;font-weight:600;border:1px solid hsla(0,0%,100%,.35)}.sheet-area{flex:1 1;overflow:auto}.sheet-area,.sheet-wrapper{display:flex;flex-direction:column}.sheet-wrapper{background:#fff;max-width:100%;margin:12px;border:1px solid #bbb;box-shadow:0 2px 8px rgba(0,0,0,.12);height:calc(100vh - 72px);overflow:hidden}.bank-tabs{display:flex;gap:2px;background:#c8dfc8;border-bottom:2px solid #1a6b3c;padding:0 12px;overflow-x:auto;align-items:flex-end}.bank-tab{padding:6px 14px 5px;font-size:11px;font-weight:500;font-family:inherit;border:1px solid transparent;border-bottom:none;background:#b0cbb0;color:#2d4a2d;cursor:pointer;border-radius:4px 4px 0 0;white-space:nowrap;transition:background .1s;margin-top:4px}.bank-tab:hover{background:#d0e8d0}.bank-tab.active-BCA,.bank-tab.active-BNI,.bank-tab.active-BRI,.bank-tab.active-MANDIRI{background:#fff;color:#1a1a1a;border-color:#1a6b3c #1a6b3c #fff;margin-bottom:-2px;padding-bottom:7px;font-weight:600}.bank-pill{display:inline-block;padding:1px 4px;border-radius:2px;font-size:9px;font-weight:700;margin-left:4px}.pill-BCA{background:#003087;color:#fff}.pill-BNI{background:#e65100;color:#fff}.pill-BRI{background:#1565c0;color:#fff}.pill-MANDIRI{background:#7627bb;color:#fff}.account-header{display:flex;align-items:center;gap:20px;padding:12px 22px;background:#1a6b3c;color:#fff;border-bottom:1px solid #145730}.account-header-left{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.account-name{font-size:17px;font-weight:700;letter-spacing:.02em;line-height:1.2}.account-sub{font-size:10px;opacity:.65;letter-spacing:.05em;text-transform:uppercase}.account-divider{width:1px;height:34px;background:hsla(0,0%,100%,.25);flex-shrink:0}.date-filter{display:flex;align-items:center;gap:10px}.date-filter label{font-size:11px;color:hsla(0,0%,100%,.75);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.date-filter input[type=date]{padding:5px 9px;border-radius:3px;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);color:#fff;font-size:13px;outline:none;font-family:inherit;color-scheme:dark}.date-filter input[type=date]:focus{background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.6)}.date-filter .today-btn{padding:5px 12px;border-radius:3px;background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.3);cursor:pointer;font-size:12px;font-weight:600;font-family:inherit}.date-filter .today-btn:hover{background:hsla(0,0%,100%,.28)}.account-header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.account-bank-badge{font-size:11px!important;padding:3px 9px!important;border-radius:3px;font-weight:700}.account-total-label{font-size:11px;opacity:.7}.account-total-value{font-size:20px;font-weight:700;font-family:Courier New,monospace;color:#a8f0c6}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:2px solid #1a6b3c;flex-shrink:0;background:#f0f8f3}.summary-card{padding:14px 16px;border-right:1px solid #cce5d8;text-align:center;position:relative;background:transparent}.summary-card:last-child{border-right:none}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.summary-card.green:before{background:#1a6b3c}.summary-card.red:before{background:#c0392b}.summary-card.blue:before{background:#2471a3}.summary-card.yellow:before{background:#b06000}.summary-card .sc-label{font-size:10px;color:#5a7a68;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:6px}.summary-card .sc-value{font-size:20px;font-weight:700;font-family:Courier New,monospace;line-height:1;color:#1a1a1a}.summary-card.green .sc-value{color:#1a6b3c}.summary-card.red .sc-value{color:#c0392b}.summary-card.blue .sc-value{color:#2471a3}.summary-card.yellow .sc-value{color:#b06000}.legend-bar{gap:16px;flex-wrap:wrap;padding:6px 14px;background:#fafafa;border-bottom:1px solid #e0e0e0;font-size:11px;color:#555}.legend-bar,.legend-bar>span{display:flex;align-items:center}.legend-bar>span{gap:5px}.legend-dot{width:12px;height:12px;border-radius:2px;display:inline-block;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.table-wrap{flex:1 1;overflow:auto;background:#fff}table.sheet-table{width:100%;border-collapse:collapse;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.sheet-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:#2d7a4f;color:#fff;padding:6px;text-align:right;font-weight:700;border-right:1px solid hsla(0,0%,100%,.2);white-space:nowrap;font-size:9px;text-transform:uppercase;letter-spacing:.04em}table.sheet-table thead th:first-child,table.sheet-table thead th:nth-child(2),table.sheet-table thead th:nth-child(3),table.sheet-table thead th:nth-child(4),table.sheet-table thead th:nth-child(5){text-align:left}table.sheet-table thead th:last-child{border-right:none}table.sheet-table tbody tr{border-bottom:1px solid #f2f2f2}table.sheet-table tbody tr:hover td{background:#f5fbf7!important}table.sheet-table td{padding:4px 6px;text-align:right;color:#1a1a1a;border-right:1px solid #f0f0f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.sheet-table td:first-child{text-align:right;color:#ccc;font-size:10px}table.sheet-table td:nth-child(2),table.sheet-table td:nth-child(3),table.sheet-table td:nth-child(4),table.sheet-table td:nth-child(5){text-align:left}table.sheet-table td:last-child{border-right:none}tr.row-deposit{background:#fff}tr.row-kas{background:#fffbf0}tr.row-wd{background:#fff5f5}tr.row-admin{background:#f5fbf7;color:#999;font-style:italic}tr.row-kas td{color:#784212}tr.row-wd td{color:#7b241c}tr.row-admin td{color:#999}.amt-in{color:#1a6b3c!important;font-weight:600}.amt-out{color:#c0392b!important;font-weight:600}.amt-total{color:#2471a3!important;font-weight:600}.auto-badge{display:inline-block;padding:1px 4px;border-radius:2px;background:#1a6b3c;color:#fff;font-size:9px;font-weight:700;vertical-align:middle;margin-left:3px}.add-form{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;padding:8px 12px;background:#eef7f2;border-top:2px solid #1a6b3c;position:-webkit-sticky;position:sticky;bottom:0;z-index:20;box-shadow:0 -4px 12px rgba(0,0,0,.12)}.add-form .field{display:flex;flex-direction:column;gap:2px}.add-form label{font-size:9px;color:#1a6b3c;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.add-form input,.add-form select{padding:4px 6px;border-radius:3px;background:#fff;border:1px solid #a0ccb4;color:#1a1a1a;font-size:12px;outline:none;min-width:90px;font-family:inherit}.add-form input:focus,.add-form select:focus{border-color:#1a6b3c;box-shadow:0 0 0 2px rgba(26,107,60,.15)}.add-form .btn-add{padding:5px 14px;border-radius:3px;background:#1a6b3c;color:#fff;border:none;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;box-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.add-form .btn-add:hover{background:#145730}.add-form .btn-add:disabled{background:#a0ccb4;color:#fff;cursor:not-allowed;box-shadow:none}.kas-header{display:flex;align-items:center;gap:16px;padding:8px 12px;background:#eef7f2;border-bottom:1px solid #cce5d8}.kas-header .month-picker{padding:5px 8px;border-radius:3px;background:#fff;border:1px solid #a0ccb4;color:#1a1a1a;font-size:12px;outline:none;font-family:inherit}.month-totals{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #ddd;flex-shrink:0}.mt-card{padding:8px 12px;border-right:1px solid #ebebeb;text-align:center}.mt-card:last-child{border-right:none}.mt-card:before{display:none}.mt-label{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.mt-value{font-size:13px;font-weight:700;font-family:Courier New,monospace}.mt-card.green .mt-value{color:#1a6b3c}.mt-card.red .mt-value{color:#c0392b}.mt-card.blue .mt-value{color:#2471a3}.mt-card.grey .mt-value{color:#5f6368}.loading-row td{text-align:center!important;color:#999;padding:32px!important;font-style:italic}.btn-del{padding:2px 6px;border-radius:3px;background:transparent;color:#ccc;border:1px solid #e0e0e0;cursor:pointer;font-size:11px;font-family:inherit;transition:all .1s}.btn-del:hover{background:#fff5f5;color:#c0392b;border-color:#f5c6c6}.sheet-footer{background:#1a4a2c;color:hsla(0,0%,100%,.7);font-size:10px;padding:5px 18px;display:flex;justify-content:space-between}.sheet-footer strong{color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#e8e8e8}::-webkit-scrollbar-thumb{background:#a0ccb4;border-radius:4px;border:2px solid #e8e8e8}::-webkit-scrollbar-thumb:hover{background:#1a6b3c}