.btn,.form-control,.input-group,.input-group-text,.card,.table,.modal-content,.progress,.form-select,.list-group,.badge,.alert{border-radius:3px}.block-wrapper{page-break-inside:avoid;break-inside:avoid}.toast{width:250px}.form-control:focus,.form-select:focus,.input-group-text:focus{box-shadow:0 0 0 1px #e95420;-webkit-transition:none;-moz-transition:none;transition:none}.input_danger,.input_danger:focus{box-shadow:0 0 0 2px #fcc;border:1px solid #ff2f2f;-webkit-transition:none;-moz-transition:none;transition:none}.input_document{border:none;background:transparent;box-shadow:none;outline:none;text-decoration:none;text-shadow:none;text-transform:none;text-indent:none;border-bottom:1px dashed #2f2f2f;font-weight:700;text-align:center;margin-bottom:5px}.text_document{padding-bottom:5px;text-align:justify;text-justify:inter-word;word-break:break-word}.form-check-input:focus{box-shadow:none;-webkit-transition:none;-moz-transition:none;transition:none}.has-search .form-control{padding-left:2.375rem}.btn-close:focus,.btn:focus{box-shadow:none;-webkit-transition:none;-moz-transition:none;transition:none}input[type=checkbox]{transform:scale(1.1)}@font-face{font-family:KhmerOSBattambang;src:url(./KhmerOS_battambang.CvqF1kOp.woff);font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:KhmerOSMuolLight;src:url(./subset-KhmerOSMoulLight.CThzXpxy.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:KhmerOSSiemreap;src:url(./subset-KhmerOSSiemreap.a1_xaIP0.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:KhmerOSMuol;src:url(./subset-KhmerOSmuol.C0Sy-xxw.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tacteng;src:url(./subset-TacteingA.Ddj8hNJ1.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TimesNewRoman;src:url(./subset-TimesNRCyrMT.BBiYPxMT.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TrebuchetMS;src:url(./Trebuchet-MS.Dpj14g8d.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}body{font-size-adjust:none;font-feature-settings:"liga" on;-moz-font-feature-settings:"liga" on;-moz-osx-font-smoothing:auto;font-family:TrebuchetMS,KhmerOSBattambang,serif}.tacteng{font-family:Tacteng}.kh_font_muol_light{font-family:KhmerOSMuolLight}.kh_font_muol{font-family:KhmerOSMuol}.kh_font_battambang{font-family:KhmerOSBattambang}.en_font_times_new_roman{font-family:TimesNewRoman}.note-editor .dropdown-toggle:after{all:unset}.note-editor .note-dropdown-menu,.note-editor .note-modal-footer{box-sizing:content-box}td,th{vertical-align:middle}.modal-backdrop.show{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.6!important}.modal.fade .modal-dialog{transform:scale(.95) translateY(-10px);opacity:0;transition:transform .2s ease-out,opacity .2s ease-out}.modal.show .modal-dialog{transform:scale(1) translateY(0);opacity:1}.modal-content{box-shadow:0 20px 60px #00000026}.navbar{background-color:var(--bs-body-bg)!important;box-shadow:0 1px 3px #00000014;border-bottom:1px solid var(--bs-border-color);transition:box-shadow .2s ease}.navbar-brand img{transition:transform .2s ease}.navbar-brand:hover img{transform:scale(1.05)}.navbar .nav-link{border-radius:6px;transition:background-color .15s ease,color .15s ease;color:var(--bs-nav-link-color)}.navbar .nav-link:hover{background-color:#0000000f}.navbar .nav-link.active{background-color:#00000014;color:var(--bs-primary)!important;font-weight:500}.navbar .nav-link.active i{color:var(--bs-primary)}[data-bs-theme=dark] .navbar .nav-link:hover{background-color:#ffffff14}[data-bs-theme=dark] .navbar .nav-link.active{background-color:#ffffff1a;color:var(--bs-primary)!important}[data-bs-theme=dark] .navbar .nav-link.active i{color:var(--bs-primary)}.navbar-toggler{padding:.25rem .5rem;font-size:1rem}.navbar-toggler:focus{box-shadow:none}.offcanvas{border-right:1px solid var(--bs-border-color)}.offcanvas-header{border-bottom:1px solid var(--bs-border-color);padding:1rem 1.25rem}.offcanvas-body{display:flex;flex-direction:column;padding:1rem 1.25rem}.offcanvas-body .nav-link{border-radius:6px;margin-bottom:.25rem;padding:.5rem .75rem;transition:background-color .15s ease,color .15s ease}.offcanvas-body .nav-link:hover{background-color:#0000000f}.offcanvas-body .nav-link.active{background-color:#00000014;color:var(--bs-primary)!important;font-weight:500}[data-bs-theme=dark] .offcanvas-body .nav-link:hover{background-color:#ffffff14}[data-bs-theme=dark] .offcanvas-body .nav-link.active{background-color:#ffffff1a;color:var(--bs-primary)!important}.navbar .badge.rounded-pill{animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.dropdown-menu{border:1px solid var(--bs-border-color);box-shadow:0 4px 12px #0000001a}.navbar .nav-link i.fa-sun,.navbar .nav-link i.fa-moon{transition:transform .3s ease}.navbar .nav-link:hover i.fa-sun,.navbar .nav-link:hover i.fa-moon{transform:rotate(15deg)}.section-header{display:flex;align-items:center;gap:12px}.section-header-line{flex:1;height:1px;background:var(--bs-border-color)}.section-header-title{margin:0;font-weight:600;color:var(--bs-body-color);white-space:nowrap}.dash-card{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:12px;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.dash-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.dash-card-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.dash-card-body{flex:1;min-width:0}.dash-card-label{font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.dash-card-value{font-size:.95rem;font-weight:700;line-height:1.3}.dash-card-value small{font-weight:500;opacity:.7}.dash-card-empty{font-size:.8rem;color:var(--bs-secondary-color)}.dash-card-action{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:30px;height:30px;border-radius:8px;border:none;background:var(--bs-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s ease,transform .2s ease}.dash-card:hover .dash-card-action{opacity:1}.dash-card-action:hover{transform:translateY(-50%) scale(1.05)}.dash-card-wallet .dash-card-icon{background:#0d6efd1a;color:var(--bs-primary)}.dash-card-disbursed .dash-card-icon{background:#6f42c11a;color:#6f42c1}.dash-card-paid .dash-card-icon{background:#1987541a;color:var(--bs-success)}.dash-card-remaining .dash-card-icon{background:#ffc1071a;color:#d4a017}[data-bs-theme=dark] .dash-card-wallet .dash-card-icon{background:#0d6efd26}[data-bs-theme=dark] .dash-card-disbursed .dash-card-icon{background:#6f42c126}[data-bs-theme=dark] .dash-card-paid .dash-card-icon{background:#19875426}[data-bs-theme=dark] .dash-card-remaining .dash-card-icon{background:#ffc10726}.progress-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;padding:20px;transition:box-shadow .2s ease}.progress-card:hover{box-shadow:0 4px 16px #0000000f}.progress-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-card-currency{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}.currency-badge{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.currency-usd{background:#1987541a;color:var(--bs-success)}.currency-khr{background:#ffc1071a;color:#d4a017}.progress-badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:20px}.progress-badge.profit{background:#1987541a;color:var(--bs-success)}.progress-badge.loss{background:#dc35451a;color:var(--bs-danger)}.progress-badge.neutral{background:#0d6efd1a;color:var(--bs-primary)}.progress-card-body{display:flex;gap:20px;align-items:center}.progress-ring-wrapper{position:relative;width:120px;height:120px;flex-shrink:0}.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--bs-border-color);stroke-width:8}.progress-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.progress-ring-fill.profit{stroke:var(--bs-success)}.progress-ring-fill.loss{stroke:var(--bs-danger)}.progress-ring-fill.neutral{stroke:var(--bs-primary)}.progress-ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px}.progress-ring-value{font-size:1.5rem;font-weight:700;line-height:1}.progress-ring-unit{font-size:.85rem;font-weight:500;color:var(--bs-secondary-color)}.progress-details{flex:1;display:flex;flex-direction:column;gap:8px}.progress-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.progress-detail-label{color:var(--bs-secondary-color)}.progress-detail-value{font-weight:600}.progress-detail-row.highlight{padding-top:8px;border-top:1px solid var(--bs-border-color)}.progress-detail-row.highlight.profit .progress-detail-value{color:var(--bs-success)}.progress-detail-row.highlight.loss .progress-detail-value{color:var(--bs-danger)}.stat-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;padding:16px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.stat-card-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:10px}.stat-card-label{font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.stat-card-value{font-size:.9rem;font-weight:700;line-height:1.4}.stat-card-value small{font-weight:500;opacity:.7}.stat-card-admin .stat-card-icon{background:#0d6efd1a;color:var(--bs-primary)}.stat-card-penalty .stat-card-icon{background:#ffc1071a;color:#d4a017}.stat-card-received .stat-card-icon{background:#1987541a;color:var(--bs-success)}.stat-card-unpaid .stat-card-icon{background:#dc35451a;color:var(--bs-danger)}[data-bs-theme=dark] .stat-card-admin .stat-card-icon{background:#0d6efd26}[data-bs-theme=dark] .stat-card-penalty .stat-card-icon{background:#ffc10726}[data-bs-theme=dark] .stat-card-received .stat-card-icon{background:#19875426}[data-bs-theme=dark] .stat-card-unpaid .stat-card-icon{background:#dc354526}.status-card{display:flex;align-items:center;justify-content:space-between;padding:20px;border-radius:12px;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);transition:transform .2s ease,box-shadow .2s ease}.status-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.status-card-label{font-size:.8rem;color:var(--bs-secondary-color);margin-bottom:4px;font-weight:500}.status-card-value{font-size:1.8rem;font-weight:700;line-height:1}.status-card-icon{font-size:2.2rem;opacity:.15}.status-overdue .status-card-value,.status-overdue .status-card-icon{color:var(--bs-danger)}.status-paid .status-card-value,.status-paid .status-card-icon{color:var(--bs-success)}.status-unpaid .status-card-value,.status-unpaid .status-card-icon{color:#f0703a}.loan-cards{display:flex;flex-direction:column;gap:10px}.loan-card{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;text-decoration:none;color:inherit;position:relative;transition:transform .15s ease,box-shadow .15s ease}.loan-card:active{transform:scale(.98)}@media(hover:hover){.loan-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--bs-primary)}}.loan-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.loan-card-customer{display:flex;align-items:center;gap:10px}.loan-card-avatar{width:32px;height:32px;border-radius:8px;background:var(--bs-primary-bg-subtle);color:var(--bs-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.loan-card-name{font-weight:600;font-size:.95rem;line-height:1.2}.loan-card-phone{font-size:.75rem;color:var(--bs-secondary-color)}.loan-card-phone i{font-size:.6rem;margin-right:2px}.loan-card-body{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--bs-border-color)}.loan-card-row{display:flex;justify-content:space-between;align-items:center}.loan-card-label{font-size:.8rem;color:var(--bs-secondary-color)}.loan-card-code{font-size:.8rem}.loan-card-amount{font-weight:700;font-size:.95rem;color:var(--bs-primary)}.loan-card-amount small,.loan-card-total small{font-weight:500;opacity:.7;font-size:.75rem}.loan-card-total{font-weight:600;font-size:.85rem;color:var(--bs-success)}.loan-card-footer{display:flex;flex-direction:column;gap:4px}.loan-card-meta{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--bs-secondary-color);flex-wrap:wrap}.loan-card-meta i{font-size:.6rem}.loan-card-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--bs-secondary-color);font-size:.7rem;opacity:.4}@media(max-width:768px){.progress-card-body{flex-direction:column}.progress-ring-wrapper{width:100px;height:100px}.dash-card{padding:12px 14px}.dash-card-icon{width:38px;height:38px;font-size:.95rem}.dash-card-value{font-size:.85rem}.stat-card-value{font-size:.8rem}.status-card-value{font-size:1.4rem}}
