:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: rgba(79, 70, 229, .08);--secondary: #64748b;--secondary-hover: #475569;--success: #10b981;--success-light: #ecfdf5;--info: #0ea5e9;--info-light: #f0f9ff;--warning: #f59e0b;--warning-light: #fffbeb;--danger: #ef4444;--danger-hover: #dc2626;--danger-light: #fef2f2;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg-main: #f8fafc;--bg-card: #ffffff;--bg-sidebar: #ffffff;--font-main: "Hanuman", system-ui, -apple-system, sans-serif;--font-size-base: 14px;--text-main: var(--gray-800);--text-muted: var(--gray-500);--border-color: var(--gray-200);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-glow: 0 0 15px rgba(79, 70, 229, .15);--modal-radius: var(--radius-xl);--modal-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);--modal-overlay-bg: rgba(15, 23, 42, .65);--modal-header-bg: rgba(255, 255, 255, .9);--sidebar-width: 280px;--header-height: 58px;--z-sidebar: 1040;--z-header: 1050;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-base, .3s) ease-out forwards}@media(max-width:991.98px){.app-main{display:block}.app-main .app-main__outer{padding-left:0!important}.app-header{justify-content:space-between}.app-header .app-header__logo{display:none;order:2;background:transparent!important;border:0!important}.app-footer .app-footer__inner .app-footer-right{display:none}}@media(max-width:767.98px){.app-main .app-main__inner{padding:15px 15px 0}}.app-container{display:flex;min-height:100vh;flex-direction:column;margin:0}.app-header{height:60px;display:flex;align-items:center;align-content:center;position:relative;z-index:10;transition:all .2s}.app-header.header-shadow{box-shadow:0 .46875rem 2.1875rem #04091408,0 .9375rem 1.40625rem #04091408,0 .25rem .53125rem #0409140d,0 .125rem .1875rem #04091408}.app-header__logo{height:60px;display:flex;align-items:center;transition:width .2s}.fixed-header .app-header{position:fixed;width:100%;top:0}.fixed-header .app-header .app-header__logo{visibility:visible}.fixed-header .app-main{padding-top:var(--header-height, 58px)}.app-main{flex:1;display:flex;z-index:8;position:relative}.app-main .app-main__outer{flex:1;flex-direction:column;display:flex;z-index:12}.app-theme-white.app-container{background:#f1f4f6}.app-theme-white .app-footer .app-footer__inner,.app-theme-white .app-header{background:#fafbfc}.app-theme-white.fixed-header .app-header__logo{background:#fafbfc1a}.app-footer{height:60px}.app-footer .app-footer__inner{padding:0 1.5rem 0 .75rem;height:60px;display:flex;align-content:center;align-items:center}.app-footer .app-footer__inner .app-footer-right{margin-left:auto;display:flex}.opacity-5{opacity:.5!important}.opacity-10{opacity:1!important}.animated.infinite{animation-iteration-count:infinite}.pulse{-webkit-animation-name:pulse;animation-name:pulse}.fa-2x{line-height:2}.table .form-check-input,.data-table .form-check-input{margin-top:0!important}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}to{-webkit-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}:root,[data-bs-theme=light]{--bs-primary: #3f6ad8;--bs-primary-rgb: 63, 106, 216;--bs-primary-text-emphasis: #192a56;--bs-primary-bg-subtle: #d9e1f7;--bs-primary-border-subtle: #b2c3ef;--bs-success: #3ac47d;--bs-success-rgb: 58, 196, 125;--bs-success-text-emphasis: #174e32;--bs-success-bg-subtle: #d8f3e5;--bs-success-border-subtle: #b0e7cb;--bs-info: #16aaff;--bs-info-rgb: 22, 170, 255;--bs-info-text-emphasis: #094466;--bs-info-bg-subtle: #d0eeff;--bs-info-border-subtle: #a2ddff;--bs-warning: #f7b924;--bs-warning-rgb: 247, 185, 36;--bs-warning-text-emphasis: #634a0e;--bs-warning-bg-subtle: #fdf1d3;--bs-warning-border-subtle: #fce3a7;--bs-danger: #d92550;--bs-danger-rgb: 217, 37, 80;--bs-danger-text-emphasis: #570f20;--bs-danger-bg-subtle: #f7d3dc;--bs-danger-border-subtle: #f0a8b9;--bs-link-color: #3f6ad8;--bs-link-color-rgb: 63, 106, 216;--bs-link-hover-color: #3255ad;--bs-link-hover-color-rgb: 50, 85, 173;--bs-focus-ring-color: rgba(63, 106, 216, .25)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #3f6ad8;--bs-btn-border-color: #3f6ad8;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #365ab8;--bs-btn-hover-border-color: #3255ad;--bs-btn-focus-shadow-rgb: 92, 128, 222;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3255ad;--bs-btn-active-border-color: #2f50a2;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #3f6ad8;--bs-btn-disabled-border-color: #3f6ad8}.btn-outline-primary{--bs-btn-color: #3f6ad8;--bs-btn-border-color: #3f6ad8;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #3f6ad8;--bs-btn-hover-border-color: #3f6ad8;--bs-btn-focus-shadow-rgb: 63, 106, 216;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3f6ad8;--bs-btn-active-border-color: #3f6ad8;--bs-btn-disabled-color: #3f6ad8;--bs-btn-disabled-border-color: #3f6ad8}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #3ac47d;--bs-btn-border-color: #3ac47d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #31a76a;--bs-btn-hover-border-color: #2e9d64;--bs-btn-focus-shadow-rgb: 88, 205, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2e9d64;--bs-btn-active-border-color: #2c935e;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #3ac47d;--bs-btn-disabled-border-color: #3ac47d}.btn-outline-success{--bs-btn-color: #3ac47d;--bs-btn-border-color: #3ac47d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #3ac47d;--bs-btn-hover-border-color: #3ac47d;--bs-btn-focus-shadow-rgb: 58, 196, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3ac47d;--bs-btn-active-border-color: #3ac47d;--bs-btn-disabled-color: #3ac47d;--bs-btn-disabled-border-color: #3ac47d}.btn-info{--bs-btn-color: #fff;--bs-btn-bg: #16aaff;--bs-btn-border-color: #16aaff;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #1391d9;--bs-btn-hover-border-color: #1288cc;--bs-btn-focus-shadow-rgb: 57, 183, 255;--bs-btn-active-color: #fff;--bs-btn-active-bg: #1288cc;--bs-btn-active-border-color: #1180bf;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #16aaff;--bs-btn-disabled-border-color: #16aaff}.btn-outline-info{--bs-btn-color: #16aaff;--bs-btn-border-color: #16aaff;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #16aaff;--bs-btn-hover-border-color: #16aaff;--bs-btn-focus-shadow-rgb: 22, 170, 255;--bs-btn-active-color: #fff;--bs-btn-active-bg: #16aaff;--bs-btn-active-border-color: #16aaff;--bs-btn-disabled-color: #16aaff;--bs-btn-disabled-border-color: #16aaff}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #f7b924;--bs-btn-border-color: #f7b924;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8c445;--bs-btn-hover-border-color: #f8c03a;--bs-btn-focus-shadow-rgb: 210, 157, 31;--bs-btn-active-color: #000;--bs-btn-active-bg: #f9c750;--bs-btn-active-border-color: #f8c03a;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f7b924;--bs-btn-disabled-border-color: #f7b924}.btn-outline-warning{--bs-btn-color: #f7b924;--bs-btn-border-color: #f7b924;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f7b924;--bs-btn-hover-border-color: #f7b924;--bs-btn-focus-shadow-rgb: 247, 185, 36;--bs-btn-active-color: #000;--bs-btn-active-bg: #f7b924;--bs-btn-active-border-color: #f7b924;--bs-btn-disabled-color: #f7b924;--bs-btn-disabled-border-color: #f7b924}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #d92550;--bs-btn-border-color: #d92550;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #b81f44;--bs-btn-hover-border-color: #ae1e40;--bs-btn-focus-shadow-rgb: 223, 70, 106;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ae1e40;--bs-btn-active-border-color: #a31c3c;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d92550;--bs-btn-disabled-border-color: #d92550}.btn-outline-danger{--bs-btn-color: #d92550;--bs-btn-border-color: #d92550;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d92550;--bs-btn-hover-border-color: #d92550;--bs-btn-focus-shadow-rgb: 217, 37, 80;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d92550;--bs-btn-active-border-color: #d92550;--bs-btn-disabled-color: #d92550;--bs-btn-disabled-border-color: #d92550}.form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}.card{--bs-card-border-width: 0;box-shadow:0 .46875rem 2.1875rem #04091408,0 .9375rem 1.40625rem #04091408,0 .25rem .53125rem #0409140d,0 .125rem .1875rem #04091408}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-main);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header{height:var(--header-height);background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:0 1rem;display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;z-index:var(--z-header);transition:all var(--transition-base)}.app-main__outer{flex:1;min-width:0;transition:margin-left var(--transition-base)}.sidebar-closed .app-main__outer{margin-left:0}@media(max-width:992px){.sidebar-closed .app-main__outer{margin-left:0}}.btn{border-radius:var(--radius-md);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-fast)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.data-table{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.table thead th{background:var(--gray-50);color:var(--gray-600);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:1rem;border-bottom:1px solid var(--border-color)}.table tbody tr{transition:all var(--transition-fast)}.table tbody tr:hover{background:var(--gray-50)}.header-profile{display:flex;align-items:center;padding-left:1.5rem;border-left:1px solid var(--border-color)}.badge{padding:.35em .65em;font-weight:600;border-radius:2rem}.form-control,.form-select{border-radius:var(--radius-md);border:1px solid var(--border-color);padding:.5rem .75rem;transition:all var(--transition-fast)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.data-table{background-color:#fff;border-collapse:separate;border-spacing:0;position:relative}.small{font-size:.875rem}.modal-content{border:none;border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);overflow:hidden;background-color:var(--white)}.modal-header{border-bottom:1px solid var(--border-color);background:var(--modal-header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.25rem 1.5rem}.modal-title{font-weight:700;color:var(--gray-900);letter-spacing:-.01em}.modal-body{padding:1.5rem;color:var(--gray-700)}.modal-footer{border-top:1px solid var(--border-color);padding:1.25rem 1.5rem;background-color:var(--gray-50)}.modal-backdrop{background-color:var(--modal-overlay-bg)}.modal-backdrop.show{opacity:1}.modal.fade .modal-dialog{transform:scale(.95);transition:transform var(--transition-base),opacity var(--transition-base);box-shadow:none!important}.modal.show .modal-dialog{transform:scale(1)}body.modal-open{padding-right:0!important}.cursor-pointer{cursor:pointer}.data-table table tbody td{padding:.375rem .75rem!important;vertical-align:middle;line-height:1.2}.data-table table tbody tr{height:auto}.data-table .btn-sm{padding:.125rem .375rem;font-size:.75rem}.data-table .badge{padding:.25rem .5rem;font-size:.7rem}.hide-spinners::-webkit-outer-spin-button,.hide-spinners::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hide-spinners{-moz-appearance:textfield;appearance:textfield}.app-header__left{display:flex;align-items:center;min-width:0;flex:1 1 auto}.app-header__right{display:flex;align-items:center;flex:0 0 auto}.top-nav{gap:.15rem;margin-left:1rem;flex-wrap:nowrap;min-width:0}.top-nav__item{position:relative}.top-nav__link{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:none;color:var(--text-main, #344767);font-weight:500;font-size:.875rem;padding:.5rem .75rem;border-radius:8px;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}.top-nav__link:hover{background:#0000000d;color:var(--text-main, #344767)}.top-nav__link:focus-visible{outline:2px solid var(--bs-primary, #0d6efd);outline-offset:2px}.top-nav__link.active{color:var(--bs-primary, #0d6efd);background:#0d6efd1a}.top-nav__link .bi-chevron-down{transition:transform .15s ease}.top-nav__item.open .top-nav__link .bi-chevron-down{transform:rotate(180deg)}.top-nav__panel{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:.5rem;min-width:260px;max-width:min(760px,92vw);max-height:75vh;overflow-y:auto;z-index:1100;box-shadow:0 12px 32px #0000001a,0 2px 8px #0000000f;animation:top-nav-panel-in .12s ease-out}@keyframes top-nav-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.top-nav__panel-link{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--text-main, #344767);font-size:.9rem;padding:.45rem .6rem;border-radius:8px;text-align:left;cursor:pointer}.top-nav__panel-link:hover{background:#0d6efd14;color:var(--bs-primary, #0d6efd)}.top-nav__panel-link.active{background:var(--bs-primary, #0d6efd);color:#fff}.top-nav__section{padding:.25rem}.top-nav__section-title{font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-primary, #0d6efd);padding:.35rem .6rem}.top-nav__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.1rem}.top-nav-toggle{line-height:1}.top-nav-mobile{position:fixed;top:var(--header-height, 58px);left:0;right:0;max-height:calc(100vh - var(--header-height, 58px));overflow-y:auto;background:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color, #e5e7eb);padding:.5rem;z-index:1100;animation:top-nav-panel-in .12s ease-out}.top-nav-mobile__link,.top-nav-mobile__sublink{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--text-main, #344767);padding:.6rem .75rem;border-radius:8px;text-align:left;cursor:pointer}.top-nav-mobile__sublink{padding-left:2rem;font-size:.9rem}.top-nav-mobile__link:hover,.top-nav-mobile__sublink:hover{background:#0d6efd14}.top-nav-mobile__link.active,.top-nav-mobile__sublink.active{color:var(--bs-primary, #0d6efd);font-weight:600}.top-nav-mobile__children{border-left:2px solid var(--border-color, #e5e7eb);margin-left:.75rem}.offcanvas-backdrop{z-index:1051}.offcanvas{z-index:1052}.home-tile-link{color:inherit;transition:transform var(--transition-base),box-shadow var(--transition-base)}.home-tile-link:hover{transform:translateY(-4px);color:inherit}.home-tile-link:hover .card,.home-tile-link.card:hover{box-shadow:var(--shadow-lg)!important}.monthly-report-layout{display:flex;align-items:flex-start;gap:1.25rem}.monthly-report-layout>.monthly-report-side-nav{flex-direction:column;flex-wrap:nowrap;flex-shrink:0;width:250px;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;gap:1px;background:var(--bs-body-bg, #fff);border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.5rem;box-shadow:0 1px 3px #0000000f}.monthly-report-side-nav:before{content:"បញ្ជីរបាយការណ៍";display:block;font-weight:700;font-size:.82rem;color:var(--bs-secondary-color, #6c757d);padding:.1rem .6rem .45rem;margin-bottom:.35rem;border-bottom:1px solid var(--bs-border-color)}.monthly-report-side-nav .nav-link{text-align:start;padding:.28rem .6rem;border-radius:.5rem;color:var(--bs-body-color)}.monthly-report-side-nav .nav-link:hover:not(.active){background:var(--bs-tertiary-bg, #f1f3f5)}.monthly-report-side-nav .report-tab-code{font-size:.7rem;font-weight:700;letter-spacing:.02em;opacity:.6;min-width:2.6rem}.monthly-report-side-nav .nav-link.active .report-tab-code{opacity:.85}.monthly-report-side-nav .report-tab-label{font-size:.78rem}.monthly-report-layout>.tab-content{flex-grow:1;min-width:0}@media(max-width:767.98px){.monthly-report-layout{flex-direction:column}.monthly-report-layout>.monthly-report-side-nav{flex-direction:row;width:100%;position:static;max-height:none;overflow-x:auto;gap:4px}.monthly-report-side-nav:before{display:none}.monthly-report-side-nav .nav-link{white-space:nowrap}.monthly-report-layout>.tab-content{width:100%}}
