/* V4.2.11A-HF4-OPS1 — setoran tunai, kas kecil, attendance compact pastel */
.operations-page-head{align-items:flex-end;gap:14px}.operations-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.operations-filter-actions select{min-height:44px;min-width:160px;border:1px solid #d9e1ee;border-radius:12px;padding:9px 34px 9px 11px;background:#fff;color:#25324a;font:inherit}.operations-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:14px 0}.operations-kpi-grid article{min-width:0;padding:15px;border:1px solid #dce5f1;border-radius:17px;background:#f8fbff;box-shadow:0 6px 18px rgba(31,45,72,.04)}.operations-kpi-grid article.success{background:#f0fbf5;border-color:#c8ead7}.operations-kpi-grid article.danger{background:#fff6f4;border-color:#f2d2ca}.operations-kpi-grid span{display:block;font-size:9px;font-weight:1000;letter-spacing:.06em;color:#69778d}.operations-kpi-grid strong{display:block;margin-top:7px;font-size:21px;line-height:1.15;color:#1e2b43;overflow-wrap:anywhere}.operations-kpi-grid article.success strong{color:#17714a}.operations-kpi-grid article.danger strong{color:#ad3f31}.operations-kpi-grid small{display:block;margin-top:5px;color:#728096;font-size:9px;line-height:1.4}
.owner-wa-config{margin-bottom:14px;border-color:#d9e3f4;background:linear-gradient(135deg,#fbfdff,#f6f3ff)}.owner-wa-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.owner-wa-form input{min-height:44px;border:1px solid #ccd7e7;border-radius:12px;padding:10px 12px;background:#fff;font:inherit;color:#1f2d44}
.deposit-branch-list{display:grid;gap:14px}.deposit-branch-card{border:1px solid #dce4ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(27,39,63,.045);overflow:hidden}.deposit-branch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;background:#f7f9fd;border-bottom:1px solid #e3e8f1}.deposit-branch-head>div{display:grid;gap:3px}.deposit-branch-head strong{font-size:14px;color:#1f2b41}.deposit-branch-head span{font-size:9px;color:#6d7b90}.deposit-branch-total{display:grid;justify-items:end;gap:2px}.deposit-branch-total b{font-size:15px;color:#a83e31}.deposit-branch-total small{font-size:8px;color:#7a8799}.deposit-day-list{display:grid}.deposit-day-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(120px,.75fr) minmax(130px,.8fr) minmax(170px,1.1fr);gap:10px;align-items:center;padding:13px 15px;border-bottom:1px solid #edf0f5}.deposit-day-row:last-child{border-bottom:0}.deposit-day-date{display:grid;gap:3px}.deposit-day-date strong{font-size:12px;color:#26344d}.deposit-day-date span{font-size:9px;color:#738096}.deposit-money-block{display:grid;gap:3px}.deposit-money-block span{font-size:8px;font-weight:900;letter-spacing:.04em;color:#7b8798}.deposit-money-block strong{font-size:12px;color:#24324a}.deposit-status-block{display:grid;gap:5px}.deposit-status{display:inline-flex;justify-self:start;align-items:center;min-height:25px;border-radius:999px;padding:0 9px;font-size:8px;font-weight:1000;letter-spacing:.04em}.deposit-status.pending{background:#fff0ed;color:#ad3d31}.deposit-status.partial{background:#fff7df;color:#966117}.deposit-status.deposited{background:#eaf8f0;color:#157146}.deposit-status.no-cash{background:#eef2f7;color:#657186}.deposit-status-block small{font-size:8px;color:#748196;line-height:1.35}.deposit-row-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.deposit-row-actions button,.wa-confirm-btn{min-height:36px;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:900}.wa-confirm-btn{border:1px solid #b8dfca;background:#edfaf2;color:#146b42}.deposit-event-list{grid-column:1/-1;display:grid;gap:5px;padding-top:8px;border-top:1px dashed #dfe5ee}.deposit-event{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:7px 9px;border-radius:10px;background:#f7f9fc}.deposit-event>div{display:grid;gap:2px}.deposit-event strong{font-size:9px;color:#28354b}.deposit-event span,.deposit-event small{font-size:8px;color:#738096;line-height:1.35}.deposit-event b{font-size:9px;color:#17714a;white-space:nowrap}.deposit-empty{padding:18px}
.deposit-modal-card{max-width:690px}.deposit-modal-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.deposit-modal-summary>div{display:grid;gap:4px;padding:12px;border:1px solid #dce4ef;border-radius:13px;background:#f7f9fd}.deposit-modal-summary span{font-size:8px;font-weight:1000;color:#768398}.deposit-modal-summary strong{font-size:15px;color:#223149}.deposit-modal-summary>div:last-child strong{color:#a83e31}
.dashboard-cash-deposit-card{margin-top:14px;border-color:#dce4ef}.dashboard-deposit-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-deposit-branch{min-width:0;padding:13px;border:1px solid #dfe6ef;border-radius:15px;background:#fafcff}.dashboard-deposit-branch.pending{background:#fff8f6;border-color:#efd7d0}.dashboard-deposit-branch.deposited{background:#f1faf5;border-color:#cde9da}.dashboard-deposit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dashboard-deposit-head>div{display:grid;gap:3px}.dashboard-deposit-head strong{font-size:11px;color:#25324a}.dashboard-deposit-head span{font-size:8px;color:#748196}.dashboard-deposit-head b{font-size:12px;color:#a83e31;text-align:right}.dashboard-deposit-branch.deposited .dashboard-deposit-head b{color:#17714a}.dashboard-deposit-alerts{display:grid;gap:5px;margin-top:9px}.dashboard-deposit-alert{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.7);font-size:8px;line-height:1.4;color:#5e6b80}.dashboard-deposit-alert i{font-style:normal;font-size:11px}.dashboard-deposit-clear{margin-top:9px;padding:8px;border-radius:10px;background:rgba(255,255,255,.72);font-size:9px;font-weight:900;color:#17714a}
.petty-cash-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px}.petty-entry-card,.petty-summary-card,.petty-history-card{border-color:#dce4ef}.petty-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.petty-form-grid>div{display:grid;gap:5px}.petty-form-grid .field-wide{grid-column:1/-1}.petty-form-grid label{font-size:10px;font-weight:900;color:#526078}.petty-form-grid input,.petty-form-grid select,.petty-form-grid textarea{width:100%;min-height:42px;border:1px solid #d2dce9;border-radius:11px;padding:9px 10px;background:#fff;color:#1f2d44;font:inherit}.petty-form-grid textarea{min-height:82px;resize:vertical}.petty-entry-form>.primary-btn{margin-top:11px}.petty-branch-summary{display:grid;gap:9px}.petty-branch-card{padding:13px;border:1px solid #dfe6ef;border-radius:14px;background:#f8fbff}.petty-branch-card-head{display:flex;justify-content:space-between;gap:9px}.petty-branch-card-head>div{display:grid;gap:3px}.petty-branch-card-head strong{font-size:11px;color:#26344c}.petty-branch-card-head span{font-size:8px;color:#748196}.petty-branch-card-head b{font-size:16px;color:#1f5f9d}.petty-branch-flow{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.petty-branch-flow>div{display:grid;gap:3px;padding:8px;border-radius:10px;background:#fff}.petty-branch-flow span{font-size:8px;color:#788598}.petty-branch-flow strong{font-size:10px}.petty-branch-flow .in strong{color:#17714a}.petty-branch-flow .out strong{color:#ad3f31}.petty-history-card{margin-top:14px}.petty-entry-list{display:grid;gap:8px}.petty-entry-row{display:grid;grid-template-columns:92px minmax(0,1.2fr) minmax(110px,.6fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e0e6ef;border-radius:13px;background:#fff}.petty-entry-row.reversed{opacity:.62;background:#f5f6f8}.petty-entry-date{display:grid;gap:2px}.petty-entry-date strong{font-size:10px;color:#28364e}.petty-entry-date span{font-size:8px;color:#778498}.petty-entry-copy{display:grid;gap:3px;min-width:0}.petty-entry-copy strong{font-size:10px;color:#25334b}.petty-entry-copy span,.petty-entry-copy small{font-size:8px;color:#748196;line-height:1.35;overflow-wrap:anywhere}.petty-entry-amount{display:grid;justify-items:end;gap:3px}.petty-entry-amount strong{font-size:11px}.petty-entry-amount strong.in{color:#17714a}.petty-entry-amount strong.out{color:#ad3f31}.petty-entry-amount span{font-size:8px;color:#758296}.petty-reverse-btn{min-height:34px;border:1px solid #efcbc5;border-radius:9px;background:#fff7f5;color:#a33c31;padding:7px 9px;font-size:8px;font-weight:900}

/* Absensi: tabel lebih rapat dan warna soft pastel tetap kontras. */
.attendance-roster-grid{--attendance-date-width:48px!important;grid-template-columns:var(--attendance-date-width) repeat(var(--attendance-user-count,1),minmax(76px,88px))!important}.attendance-roster-head,.attendance-roster-cell{min-width:76px!important}.attendance-roster-head{min-height:42px!important;padding:5px 4px!important;background:#e9edf7!important;color:#35445f!important;border-color:#d6deeb!important}.attendance-user-head span{font-size:9px!important;line-height:1.2}.attendance-user-head small{font-size:7px!important;color:#6c7890!important}.attendance-date-col,.attendance-date-cell{min-width:48px!important;width:48px!important;max-width:48px!important}.attendance-date-cell,.attendance-roster-cell{min-height:34px!important;padding:3px!important;border-color:#e2e7ef!important}.attendance-date-cell strong{font-size:9px!important}.attendance-date-cell span{font-size:7px!important}.attendance-roster-cell{border-radius:7px!important}.attendance-roster-cell b{font-size:9px!important;letter-spacing:0!important}.attendance-roster-cell i{font-size:8px!important}.attendance-shift-chip{border-radius:8px!important}.shift-m1l{background:#dcebf9!important;color:#245f91!important;border-color:#bdd6ea!important;box-shadow:none!important}.shift-m2l{background:#ece4f7!important;color:#65488a!important;border-color:#d8caeb!important;box-shadow:none!important}.shift-ml{background:#cbdcf4!important;color:#264f7f!important;border-color:#adc7e8!important;box-shadow:none!important}.shift-m1p{background:#dff1e7!important;color:#28734c!important;border-color:#c4e3d0!important;box-shadow:none!important}.shift-m2p{background:#dcefed!important;color:#246e69!important;border-color:#bfddda!important;box-shadow:none!important}.shift-mp{background:#cce7d6!important;color:#246b43!important;border-color:#acd6bd!important;box-shadow:none!important}.shift-off{background:#f3dddd!important;color:#884143!important;border-color:#e8c4c5!important;box-shadow:none!important}.shift-ct{background:#f5edcf!important;color:#7d6826!important;border-color:#e8dcad!important;box-shadow:none!important}.shift-izin{background:#f6e4d6!important;color:#8b582e!important;border-color:#ebceb8!important;box-shadow:none!important}.shift-s{background:#f4dce4!important;color:#8d405e!important;border-color:#e8bdcc!important;box-shadow:none!important}.shift-empty{background:#f5f7fa!important;color:#8a95a5!important;border-color:#e2e7ee!important}

@media(max-width:900px){.deposit-day-row{grid-template-columns:minmax(130px,1fr) minmax(110px,.8fr) minmax(145px,1fr)}.deposit-row-actions{grid-column:1/-1;justify-content:flex-start}.petty-cash-layout{grid-template-columns:1fr}}
@media(max-width:780px){.operations-page-head{align-items:stretch}.operations-filter-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.operations-filter-actions .month-input,.operations-filter-actions select{width:100%;min-width:0}.operations-filter-actions button{grid-column:1/-1;width:100%}.operations-kpi-grid{grid-template-columns:1fr 1fr}.operations-kpi-grid article.danger{grid-column:1/-1}.owner-wa-form{grid-template-columns:1fr}.dashboard-deposit-branches{grid-template-columns:1fr}.deposit-day-row{grid-template-columns:1fr 1fr;gap:8px}.deposit-status-block{align-items:start}.deposit-row-actions{grid-column:1/-1}.deposit-event-list{grid-column:1/-1}.petty-form-grid{grid-template-columns:1fr 1fr}.petty-entry-row{grid-template-columns:78px minmax(0,1fr) auto}.petty-entry-amount{grid-column:3}.petty-reverse-btn{grid-column:1/-1;width:100%}.attendance-roster-grid{--attendance-date-width:44px!important;grid-template-columns:var(--attendance-date-width) repeat(var(--attendance-user-count,1),72px)!important}.attendance-date-col,.attendance-date-cell{min-width:44px!important;width:44px!important;max-width:44px!important}.attendance-roster-head,.attendance-roster-cell{min-width:72px!important}.attendance-roster-head{min-height:39px!important}.attendance-date-cell,.attendance-roster-cell{min-height:31px!important}}
@media(max-width:430px){.operations-kpi-grid{grid-template-columns:1fr}.operations-kpi-grid article.danger{grid-column:auto}.operations-filter-actions{grid-template-columns:1fr}.deposit-branch-head{align-items:flex-start;flex-direction:column}.deposit-branch-total{justify-items:start}.deposit-day-row{grid-template-columns:1fr}.deposit-modal-summary{grid-template-columns:1fr}.petty-form-grid{grid-template-columns:1fr}.petty-form-grid .field-wide{grid-column:auto}.petty-entry-row{grid-template-columns:1fr auto}.petty-entry-date{grid-column:1}.petty-entry-copy{grid-column:1/-1}.petty-entry-amount{grid-column:2;grid-row:1}.petty-reverse-btn{grid-column:1/-1}.operations-bottom-modal{align-items:flex-end}.operations-bottom-modal .modal-card{margin:0;border-radius:18px 18px 0 0;max-height:90dvh}}

/* OPS1-HF1 — setoran akumulasi, rekening Owner otomatis, UI ringkas, modal Android scroll-safe. */
.owner-account-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:11px 13px;border:1px solid #dce4ef;border-radius:14px;background:#f7f9fd;color:#64748b}.owner-account-summary span{font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.owner-account-summary strong{font-size:10px;color:#26344d;text-align:right;overflow-wrap:anywhere}.owner-account-summary.configured{border-color:#c9e8d7;background:#f0faf5}.owner-account-summary.configured span{color:#17714a}.owner-account-summary.missing{border-color:#f1d0c9;background:#fff6f4}.owner-account-summary.missing span,.owner-account-summary.missing strong{color:#a84235}
.deposit-branch-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.deposit-branch-action{display:flex;justify-content:flex-end}.deposit-batch-btn{min-height:38px;padding:8px 12px;font-size:9px;white-space:nowrap}.deposit-safe-pill,.deposit-view-only-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;font-size:8px;font-weight:1000;white-space:nowrap}.deposit-safe-pill{background:#eaf8f0;color:#17714a}.deposit-view-only-pill{background:#eef3ff;color:#355ac7}.deposit-details{background:#fff}.deposit-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;cursor:pointer;list-style:none;color:#526078;font-size:9px;font-weight:900;background:#fbfcfe}.deposit-details>summary::-webkit-details-marker{display:none}.deposit-details>summary:after{content:'⌄';font-size:13px;transition:transform .18s ease}.deposit-details[open]>summary:after{transform:rotate(180deg)}.deposit-details>summary b{margin-left:auto;color:#7a8799;font-size:8px}.deposit-day-row{grid-template-columns:minmax(145px,.9fr) minmax(115px,.7fr) minmax(130px,.78fr) minmax(160px,1fr);padding:10px 14px}.deposit-day-row.pending{background:#fffefd}.deposit-day-row.done{background:#fcfefd}.compact-deposit-btn{min-height:34px;border:1px solid #c8d5f5;border-radius:10px;padding:7px 9px;background:#eef3ff;color:#355ac7;font-size:8px;font-weight:900}.deposit-event-list{padding-top:6px}.deposit-event{padding:7px 8px}.deposit-event .petty-reverse-btn{flex:0 0 auto}.deposit-allocation-hint,.deposit-owner-config-hint{padding:9px 10px;border-radius:11px;background:#f3f6fb;color:#65738a;font-size:9px;line-height:1.45}.deposit-owner-config-hint.error{background:#fff0ed;color:#a53e32}.deposit-modal-form{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}.deposit-modal-scroll{flex:1;min-height:0;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:24px}.deposit-modal-card{max-height:min(92dvh,820px)}.deposit-modal-card .modal-actions{flex:0 0 auto;position:relative;z-index:2}.deposit-modal-card input[readonly]{background:#f5f7fa;color:#475569}.deposit-range-grid input{width:100%}
.admin-owner-account-card{margin-bottom:14px;border-color:#d8e2f2;background:linear-gradient(135deg,#fbfdff,#f7f4ff)}.admin-owner-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-owner-account-form>div{display:grid;gap:5px}.admin-owner-account-form label{font-size:9px;font-weight:1000;letter-spacing:.04em;color:#5c6980}.admin-owner-account-form input{width:100%;min-height:42px;border:1px solid #d2dce9;border-radius:11px;padding:9px 10px;background:#fff;color:#1f2d44;font:inherit}.admin-owner-account-status{grid-column:1/-1;padding:9px 10px;border-radius:10px;background:#fff3ef;color:#9d4337;font-size:9px;line-height:1.45}.admin-owner-account-status.ready{background:#edf9f2;color:#17714a}.admin-owner-account-form .primary-btn{grid-column:1/-1;justify-self:start}

@media(max-width:900px){.deposit-branch-head{grid-template-columns:minmax(0,1fr) auto}.deposit-branch-action{grid-column:1/-1;justify-content:stretch}.deposit-batch-btn{width:100%}.deposit-day-row{grid-template-columns:minmax(135px,1fr) minmax(105px,.7fr) minmax(130px,.8fr)}.deposit-row-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:780px){.owner-account-summary{align-items:flex-start;flex-direction:column}.owner-account-summary strong{text-align:left}.admin-owner-account-form{grid-template-columns:1fr}.admin-owner-account-status,.admin-owner-account-form .primary-btn{grid-column:auto}.admin-owner-account-form .primary-btn{width:100%}.deposit-modal-card{width:100%;height:min(94dvh,820px);max-height:94dvh}.operations-bottom-modal{padding:0;align-items:flex-end}.operations-bottom-modal .deposit-modal-card{margin:0;border-radius:20px 20px 0 0}.deposit-modal-scroll{padding-bottom:28px}}
@media(max-width:430px){.deposit-branch-head{grid-template-columns:1fr auto;gap:8px;padding:12px}.deposit-branch-total{justify-items:end}.deposit-branch-action{grid-column:1/-1}.deposit-details>summary{padding:10px 12px}.deposit-day-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:10px 12px}.deposit-day-date{grid-column:1}.deposit-money-block{grid-column:2;grid-row:1;justify-items:end}.deposit-status-block{grid-column:1}.deposit-row-actions{grid-column:2;justify-content:flex-end;align-self:end}.deposit-event-list{grid-column:1/-1}.deposit-event{display:grid;grid-template-columns:minmax(0,1fr) auto}.deposit-event .petty-reverse-btn{grid-column:1/-1;width:100%}.deposit-modal-card{height:96dvh;max-height:96dvh}.deposit-modal-card .modal-head{padding:14px 15px}.deposit-modal-scroll{padding:14px 15px 30px}.deposit-modal-card .modal-actions{padding:11px 15px calc(11px + env(safe-area-inset-bottom))}.deposit-range-grid{grid-template-columns:1fr 1fr!important}.deposit-range-grid label{font-size:9px}.deposit-range-grid input{min-width:0;padding:0 8px;font-size:12px}}
.deposit-branch-action{gap:7px;flex-wrap:wrap}.branch-wa-btn{white-space:nowrap}
