@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-Thin-BhjQxZws.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-ExtraLight-zg81B0c5.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-Light-z6uRTfiS.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-Regular-C_aCr1Qz.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-Medium-N7Jv8Z0k.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-SemiBold-C8fqQuuZ.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-Bold-DJYXmkDg.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-ExtraBold-B7wRGH9s.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigital;src:url(/assets/KhmerDigital-Black-Coy0GxgF.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigitalMax;src:url(/assets/KhmerDigitalMax-AKThr3C_.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigitalNumber;src:url(/assets/KhmerDigitalNumber-Cun2BFii.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:KhmerDigitalNumberMax;src:url(/assets/KhmerDigitalNumberMax-CW99HvIM.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}@supports (-moz-appearance: none){*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#0003;border-radius:9999px}*::-webkit-scrollbar-thumb:hover{background:#00000059}*::-webkit-scrollbar-button{display:none;width:0;height:0}*::-webkit-scrollbar-corner{background:transparent}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}html{--app-font-scale: 1}html,body,#app{margin:0;padding:0;height:100%;font-family:KhmerDigital,sans-serif}button,input,textarea,select{font:inherit}html[data-locale=kh]{--app-font-scale: 1.1 }html[data-locale=kh] body,html[data-locale=kh] button,html[data-locale=kh] input,html[data-locale=kh] textarea,html[data-locale=kh] select{font-family:KhmerDigital,sans-serif}html[data-locale=en]{--app-font-scale: 1}.sidebar[data-v-061786c7]{width:125px;height:100vh;background:#004282;display:flex;flex-direction:column;overflow:hidden;font-family:KhmerDigital,sans-serif}.sidebar-header[data-v-061786c7]{display:flex;align-items:center;justify-content:center;padding:0;height:75px;min-height:75px;background:#f58220;flex-shrink:0}.brand-logo[data-v-061786c7]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-logo img[data-v-061786c7]{width:60px;height:60px}.brand-letter[data-v-061786c7]{color:#004282;font-size:calc(.9375rem * var(--app-font-scale));font-weight:700;line-height:1}.sidebar-profile-wrapper[data-v-061786c7]{position:relative;width:100%;flex-shrink:0}.sidebar-profile-btn[data-v-061786c7]{display:flex;align-items:center;justify-content:center;gap:8px;height:75px;width:100%;padding:6px 4px;border:none;cursor:pointer;font-family:KhmerDigital,sans-serif;background-color:#14b1e7;transition:background-color .15s}.sidebar-profile-btn[data-v-061786c7]:hover,.sidebar-profile-btn.active[data-v-061786c7]{background-color:#0ea5e9}.sidebar-profile-avatar[data-v-061786c7]{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(.75rem * var(--app-font-scale));font-weight:600;flex-shrink:0}.sidebar-profile-avatar img[data-v-061786c7]{width:100%;height:100%;border-radius:50%;object-fit:cover}.sidebar-nav[data-v-061786c7]{flex:1;overflow-y:auto;overflow-y:overlay;overflow-x:hidden;display:flex;flex-direction:column;width:125px}@supports (-moz-appearance: none){.sidebar-nav[data-v-061786c7]{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}}.sidebar-nav[data-v-061786c7]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-061786c7]::-webkit-scrollbar-track{background:transparent}.sidebar-nav[data-v-061786c7]::-webkit-scrollbar-thumb{background:#fff6;border-radius:9999px;box-shadow:0 0 1px #0000004d}.sidebar-nav[data-v-061786c7]::-webkit-scrollbar-thumb:hover{background:#ffffffa6}.sidebar-nav[data-v-061786c7]::-webkit-scrollbar-button{display:none;width:0;height:0}.sidebar-nav[data-v-061786c7]::-webkit-scrollbar-corner{background:transparent}.nav-item[data-v-061786c7]{padding-top:10px;padding-bottom:10px;max-height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font:inherit;font-family:KhmerDigital,sans-serif;gap:8px;flex-shrink:0}.nav-item[data-v-061786c7]:hover:not(.nav-item--active){background:#fff3}.nav-item--active[data-v-061786c7]{background:#fff;box-shadow:inset 0 0 0 1px #ffffff1a}.nav-item--active span[data-v-061786c7]{color:#004282;font-weight:800}.nav-item--active svg[data-v-061786c7]{color:#004282;stroke-width:2.5}.nav-icon[data-v-061786c7]{width:18px;height:18px;flex-shrink:0;color:#fff}.nav-label[data-v-061786c7]{color:#fff;font-size:calc(.75rem * var(--app-font-scale));font-weight:400;font-family:KhmerDigital,sans-serif;line-height:1.5;white-space:pre-line;text-align:center;word-break:break-word;padding:0 4px}.logout-btn[data-v-061786c7]{flex-direction:row;height:55px;flex-shrink:0;gap:8px}.sidebar-profile-dropdown[data-v-061786c7]{position:fixed;top:75px;left:130px;min-width:300px;max-width:350px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 24px 48px -12px #00000040,0 8px 24px -8px #0003,0 0 0 1px #0000000a;overflow:hidden;z-index:9999}.dropdown-user[data-v-061786c7]{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.dropdown-user-name[data-v-061786c7]{font-family:KhmerDigital,sans-serif;font-weight:500;font-size:calc(.875rem * var(--app-font-scale));line-height:20px;color:#0a0a0a;margin:0}.dropdown-user-email[data-v-061786c7]{font-family:KhmerDigital,sans-serif;font-weight:400;font-size:calc(.75rem * var(--app-font-scale));line-height:16px;color:#45556c;margin:0}.dropdown-separator[data-v-061786c7]{height:1px;background:#0000001a;margin:0}.dropdown-item[data-v-061786c7]{display:flex;align-items:center;gap:8px;width:calc(100% - 8px);padding:6px 8px;margin:4px;background:none;border:none;border-radius:6px;cursor:pointer;font-family:KhmerDigital,sans-serif;font-weight:400;font-size:calc(.875rem * var(--app-font-scale));line-height:20px;color:#0a0a0a;text-align:left;transition:background .1s}.dropdown-item[data-v-061786c7]:hover{background:#0000000a}.dropdown-item.danger[data-v-061786c7]{color:#b00020}.dropdown-item.danger[data-v-061786c7]:hover{background:#b000200f}.dropdown-enter-active[data-v-061786c7],.dropdown-leave-active[data-v-061786c7]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-061786c7],.dropdown-leave-to[data-v-061786c7]{opacity:0;transform:translateY(-6px) scale(.97)}.app-header[data-v-72a6cde0]{height:75px;min-height:75px;background-image:url(/assets/art-D2CP1FVp.jpg);border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;font-family:KhmerDigital,sans-serif;transition:height .2s ease,min-height .2s ease,border-bottom-width .2s ease}.app-header--hidden[data-v-72a6cde0]{height:0;min-height:0;border-bottom-width:0;overflow:hidden}.header-left[data-v-72a6cde0]{display:flex;align-items:center;gap:8px}.header-page-title[data-v-72a6cde0]{color:#0a0a0a;font-size:calc(.875rem * var(--app-font-scale));font-weight:600;line-height:28px;white-space:nowrap}.header-cycle-tag[data-v-72a6cde0]{background:#3b82f6;color:#fff;font-size:calc(.875rem * var(--app-font-scale));font-weight:500;line-height:20px;padding:4px 8px;border-radius:6px;white-space:nowrap}.header-actions[data-v-72a6cde0]{display:flex;align-items:center;gap:6px}.saved-indicator[data-v-72a6cde0]{display:flex;align-items:center;gap:6px;color:#737373;font-size:calc(.875rem * var(--app-font-scale));font-weight:400;white-space:nowrap}.saved-indicator svg[data-v-72a6cde0]{width:14px;height:14px;flex-shrink:0}.notification-wrapper[data-v-72a6cde0]{position:relative}.btn-notification[data-v-72a6cde0]{position:relative;width:40px;height:40px;border:none;background:#f5f5f5;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.btn-notification.active[data-v-72a6cde0]{background:#e2ecf9}.btn-notification[data-v-72a6cde0]:hover{background:#ebebeb}.btn-notification svg[data-v-72a6cde0]{width:18px;height:18px}.notification-badge[data-v-72a6cde0]{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:#da1e28;border-radius:9999px;color:#fff;font-size:calc(.6875rem * var(--app-font-scale));font-weight:500;line-height:16px;text-align:center;padding:0 3px}.notification-popup[data-v-72a6cde0]{position:absolute;top:calc(100% + 12px);right:0;width:380px;max-width:min(380px,calc(100vw - 32px));max-height:75vh;overflow-y:auto;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 18px 40px #0f172a24,0 6px 18px #0f172a14;padding:14px;z-index:40}.notification-popup__header[data-v-72a6cde0]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 4px 12px}.notification-popup__mark-all[data-v-72a6cde0]{border:none;background:transparent;padding:0;color:#004282;font-size:calc(.8125rem * var(--app-font-scale));line-height:1.4;font-weight:600;font-family:KhmerDigital,sans-serif;cursor:pointer}.notification-popup__mark-all[data-v-72a6cde0]:hover{text-decoration:underline}.notification-popup__title[data-v-72a6cde0],.notification-popup__subtitle[data-v-72a6cde0]{margin:0}.notification-popup__title[data-v-72a6cde0]{color:#0a0a0a;font-size:calc(.9375rem * var(--app-font-scale));line-height:1.4;font-weight:700}.notification-popup__subtitle[data-v-72a6cde0]{margin-top:2px;color:#737373;font-size:calc(.75rem * var(--app-font-scale));line-height:1.45}.notification-section+.notification-section[data-v-72a6cde0]{margin-top:12px}.notification-section__heading[data-v-72a6cde0]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 8px}.notification-section__badge[data-v-72a6cde0],.notification-section__label[data-v-72a6cde0]{color:#0a0a0a;font-size:calc(.75rem * var(--app-font-scale));line-height:1.4;font-weight:700;text-transform:uppercase;letter-spacing:.2px}.notification-section__badge[data-v-72a6cde0]{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#fff1f2;color:#e27313}.notification-item[data-v-72a6cde0]{display:flex;align-items:flex-start;gap:10px;padding:12px 10px;border-radius:12px}.notification-item+.notification-item[data-v-72a6cde0]{margin-top:8px}.notification-item--urgent[data-v-72a6cde0]{border:1px solid #e5e7eb;background:#fcfcfd}.notification-item--warning[data-v-72a6cde0]{border-color:#fde68a;background:#fffdf4}.notification-item__icon[data-v-72a6cde0],.notification-item__dot[data-v-72a6cde0]{flex-shrink:0}.notification-item__icon[data-v-72a6cde0]{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;color:#dc2626;background:#ffe4e6}.notification-item--warning .notification-item__icon[data-v-72a6cde0]{color:#d97706;background:#fef3c7}.notification-item__icon svg[data-v-72a6cde0]{width:16px;height:16px}.notification-item__dot[data-v-72a6cde0]{width:8px;height:8px;border-radius:999px;margin-top:7px;background:#3b82f6}.notification-item__body[data-v-72a6cde0]{min-width:0;flex:1}.notification-item__title[data-v-72a6cde0],.notification-item__message[data-v-72a6cde0],.notification-item__time[data-v-72a6cde0]{margin:0}.notification-item__title[data-v-72a6cde0]{color:#0a0a0a;font-size:calc(.8125rem * var(--app-font-scale));line-height:1.45;font-weight:700}.notification-item__message[data-v-72a6cde0]{margin-top:2px;color:#525252;font-size:calc(.75rem * var(--app-font-scale));line-height:1.5}.notification-item__time[data-v-72a6cde0]{color:#737373;font-size:calc(.6875rem * var(--app-font-scale));line-height:1.45;white-space:nowrap}.notification-item__meta[data-v-72a6cde0]{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.notification-item__action[data-v-72a6cde0]{height:30px;border:0;border-radius:8px;padding:0 10px;background:#004282;color:#fff;font-size:calc(.75rem * var(--app-font-scale));font-weight:600;font-family:KhmerDigital,sans-serif;cursor:pointer;flex-shrink:0}.notification-item--general[data-v-72a6cde0]{cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.notification-item--general[data-v-72a6cde0]:hover{background:#f8fafc;border-color:#e2e8f0}.notification-empty[data-v-72a6cde0]{padding:8px 4px 4px}.notification-empty__title[data-v-72a6cde0],.notification-empty__text[data-v-72a6cde0]{margin:0}.notification-empty__title[data-v-72a6cde0]{color:#0a0a0a;font-size:calc(.875rem * var(--app-font-scale));line-height:1.45;font-weight:700}.notification-empty__text[data-v-72a6cde0]{margin-top:6px;color:#737373;font-size:calc(.8125rem * var(--app-font-scale));line-height:1.5}.btn-language[data-v-72a6cde0]{display:flex;align-items:center;gap:8px;padding:0 10px;height:42px;border:0px solid;background:#fff;border-radius:8px;cursor:pointer;color:#0a0a0a;font-size:calc(.875rem * var(--app-font-scale));font-weight:500;font-family:KhmerDigital,sans-serif;transition:background .15s;white-space:nowrap}.btn-language[data-v-72a6cde0]:hover{background:#00000008}.flag-icon[data-v-72a6cde0]{width:calc(1.375rem * var(--app-font-scale));height:auto;flex-shrink:0;border-radius:2px}.dropdown-enter-active[data-v-72a6cde0],.dropdown-leave-active[data-v-72a6cde0]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-72a6cde0],.dropdown-leave-to[data-v-72a6cde0]{opacity:0;transform:translateY(-6px) scale(.97)}.app-layout[data-v-a00fd85b]{display:flex;height:100vh;width:100%;overflow:hidden;background:#f8f9fa}.layout-main[data-v-a00fd85b]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.layout-content[data-v-a00fd85b]{flex:1;overflow-y:auto;background:#fff}.layout-backdrop[data-v-a00fd85b]{position:absolute;inset:0;background:#6e94bf40;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:9998}.backdrop-enter-active[data-v-a00fd85b],.backdrop-leave-active[data-v-a00fd85b]{transition:opacity .2s ease}.backdrop-enter-from[data-v-a00fd85b],.backdrop-leave-to[data-v-a00fd85b]{opacity:0}.quick-action-card[data-v-0683010e]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:17px;display:flex;flex-direction:column;gap:12px;font-family:KhmerDigital,sans-serif}.quick-action-card--clickable[data-v-0683010e]{cursor:pointer;transition:background .15s}.quick-action-card--clickable[data-v-0683010e]:hover{background:#fafafa}.card-header-row[data-v-0683010e]{display:flex;align-items:center;gap:8px}.card-icon-badge[data-v-0683010e]{width:28px;height:28px;background:#e6ecf3;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon-badge svg[data-v-0683010e]{width:14px;height:14px}.card-title[data-v-0683010e]{color:#737373;font-size:calc(.85rem * var(--app-font-scale));font-weight:500;line-height:16px}.card-description[data-v-0683010e]{color:#0a0a0a;font-size:calc(.85rem * var(--app-font-scale));font-weight:400;line-height:20px;margin:0}.active-cycle-card[data-v-6f5150ad]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:17px;font-family:KhmerDigital,sans-serif;position:relative}.card-header[data-v-6f5150ad]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-title[data-v-6f5150ad]{color:#0a0a0a;font-size:calc(.85rem * var(--app-font-scale));font-weight:500;line-height:16px}.card-body[data-v-6f5150ad]{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.cycle-info[data-v-6f5150ad]{display:flex;flex-direction:column;gap:4px}.cycle-name[data-v-6f5150ad]{color:#004282;font-size:calc(1rem * var(--app-font-scale));font-weight:600;line-height:28px;margin:0}.cycle-date[data-v-6f5150ad]{color:#737373;font-size:calc(.85rem * var(--app-font-scale));font-weight:400;line-height:20px;margin:0}.phase-badge[data-v-6f5150ad]{display:inline-block;background:#2b7fff;color:#fff;font-size:calc(.75rem * var(--app-font-scale));font-weight:500;line-height:16px;padding:3px 9px;border-radius:8px;white-space:nowrap;margin-top:4px}.btn-manage[data-v-6f5150ad]{border:1px solid #e5e5e5;background:#fff;border-radius:8px;padding:8px 17px;height:36px;color:#0a0a0a;font-size:calc(.85rem * var(--app-font-scale));font-weight:500;font-family:KhmerDigital,sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0;display:flex;align-items:center}.btn-manage[data-v-6f5150ad]:hover{background:#f5f5f5}.dashboard[data-v-e2184b5f]{display:flex;flex-direction:column;width:100%;font-family:KhmerDigital,sans-serif}.page-header[data-v-e2184b5f]{display:flex;flex-direction:column;gap:4px;padding:24px 16px 16px;border-bottom:1px solid #e5e5e5}.page-title[data-v-e2184b5f]{color:#0a0a0a;font-size:calc(1.125rem * var(--app-font-scale));font-weight:600;line-height:28px;margin:0}.page-subtitle[data-v-e2184b5f]{color:#737373;font-size:calc(.875rem * var(--app-font-scale));font-weight:400;line-height:20px;margin:8px 0 0}.page-content[data-v-e2184b5f]{display:flex;flex-direction:column;gap:24px;padding:16px}.quick-actions-grid[data-v-e2184b5f]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.quick-actions-grid[data-v-e2184b5f]{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.quick-actions-grid[data-v-e2184b5f]{grid-template-columns:1fr}}
