@font-face{font-family:Noto Sans Lao;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-lao-lao-400-normal-CNKshTz3.woff2)format("woff2"),url(/assets/noto-sans-lao-lao-400-normal-DjxqBYpY.woff)format("woff");unicode-range:U+E81-EDF,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Lao;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-lao-latin-ext-400-normal-D5FhfCQj.woff2)format("woff2"),url(/assets/noto-sans-lao-latin-ext-400-normal-DAlyoKux.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Lao;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-lao-latin-400-normal-Dumpcsbb.woff2)format("woff2"),url(/assets/noto-sans-lao-latin-400-normal-CljpFdXI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Lao;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-lao-lao-600-normal-imeIRcX2.woff2)format("woff2"),url(/assets/noto-sans-lao-lao-600-normal-COf01H3R.woff)format("woff");unicode-range:U+E81-EDF,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Lao;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-lao-latin-ext-600-normal-CUdMivwN.woff2)format("woff2"),url(/assets/noto-sans-lao-latin-ext-600-normal-LtNWmrIs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Lao;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-lao-latin-600-normal-CcIEflBP.woff2)format("woff2"),url(/assets/noto-sans-lao-latin-600-normal-BP_QczdS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{background:#eef4fb;margin:0}.login-page{box-sizing:border-box;background:radial-gradient(circle at 15% 20%,#ffffff24 0,#0000 40%),radial-gradient(circle at 85% 85%,#ffffff1a 0,#0000 45%),linear-gradient(150deg,#0a4d8c 0%,#106ebe 55%,#2b8ad8 100%);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{border:none;border-radius:16px;width:100%;max-width:420px;box-shadow:0 20px 50px #06285059}.login-card>.ant-card-body{padding:36px 32px 28px}.login-lang{position:absolute;top:16px;right:16px}.lang-btn{font-size:13px;font-weight:600;color:#0b4f8c!important;padding:0!important}.login-logo{border-radius:50%;width:88px;height:88px;margin:0 auto 16px;display:block;box-shadow:0 6px 18px #106ebe59}@media (width<=480px){.login-card>.ant-card-body{padding:28px 20px 20px}}.row-total>td{font-weight:600;background:#f4f8fd!important}.cell-sub{color:#6b7a90;white-space:nowrap;font-size:12px}@media (width<=767px){.hide-below-md{display:none}}@media (width<=991px){.hide-below-lg{display:none}}.sync-log{color:#d6e6f7;white-space:pre-wrap;background:#0b2a4a;border-radius:10px;max-height:260px;margin:0;padding:12px 14px;font-size:12px;line-height:1.5;overflow:auto}.row-old>td{color:#5b6b82;font-style:italic}.export-btn.ant-btn{box-shadow:0 2px 6px #12a37a4d;background:#12a37a!important;border-color:#12a37a!important}.warn-mark.ant-btn{animation:2s ease-out infinite warn-pulse;box-shadow:0 0 #e5484d80}@keyframes warn-pulse{0%{box-shadow:0 0 #e5484d80}70%{box-shadow:0 0 0 8px #e5484d00}to{box-shadow:0 0 #e5484d00}}@media (prefers-reduced-motion:reduce){.warn-mark.ant-btn{animation:none}}.grand-total{background:linear-gradient(90deg,#e3effa 0%,#f4f8fd 100%)!important;border-color:#b9d4f0!important}.grand-total-body{color:#0b2a4a;flex-wrap:wrap;align-items:baseline;gap:8px 28px;font-size:16px;display:flex}.grand-total-label{color:#106ebe;flex:1;font-weight:700}.app-sider,.app-drawer .ant-drawer-body{position:relative;overflow:hidden;background:linear-gradient(#1259b0 0%,#1565c0 40%,#1e7fd8 100%)!important}.app-sider{height:100vh;top:0;position:sticky!important}.app-sider:before,.app-drawer .ant-drawer-body:before{content:"";pointer-events:none;background:#ffffff12;border-radius:50%;width:200px;height:200px;position:absolute;top:-70px;right:-60px}.app-sider .ant-layout-sider-children,.app-drawer .ant-drawer-body{flex-direction:column;display:flex}.app-brand{color:#fff;border-bottom:1px solid #ffffff24;align-items:center;gap:12px;padding:22px 20px 20px;display:flex;position:relative}.app-brand img{border-radius:50%;flex:none;width:46px;height:46px;box-shadow:0 0 0 2px #ffffffe6,0 6px 14px #041e464d}.app-brand-title{letter-spacing:.01em;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.25}.app-brand-sub{opacity:.78;white-space:nowrap;margin-top:3px;font-size:12px;line-height:1.3}.app-menu-scroll{scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;flex:1;padding:8px 0 20px;overflow-y:auto}.app-menu .ant-menu-item-group-title{letter-spacing:.04em;font-size:11px;padding-top:14px!important}.app-menu .ant-menu-item-selected{font-weight:600;position:relative;box-shadow:inset 0 0 0 1px #ffffff73;padding-inline-end:30px!important}.app-menu .ant-menu-title-content,.app-menu .ant-menu-title-content>a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-menu .ant-menu-item-selected .ant-menu-title-content:after{content:"›";inset-inline-end:12px;opacity:.85;font-size:18px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.menu-pending{opacity:.6}.ant-menu-item-selected .menu-pending{opacity:1}.app-header{z-index:10;border-bottom:1px solid #e3ecf6;align-items:center;gap:12px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0b2a4a0a;padding:0 28px!important;line-height:normal!important}.app-heading{flex:1;min-width:0}.app-heading-title{color:#0b2a4a;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.app-heading-sub{color:#0b2a4a8c;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.app-user{cursor:pointer;font:inherit;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:4px;display:flex}.app-user:hover{background:#f4f8fd}.app-user-text{flex-direction:column;align-items:flex-end;line-height:1.3;display:flex}.app-user-name{color:#0b2a4a;font-weight:600}.app-user-role{color:#0b2a4a8c;font-size:12px}.app-user-caret{color:#0b2a4a73;margin-inline-start:-4px;font-size:10px}.app-avatar{font-weight:700;box-shadow:0 0 0 2px #fff,0 2px 8px #b9651a59;background:linear-gradient(135deg,#f0a030 0%,#b9651a 100%)!important}.app-icon-btn{background:#f7faff!important;border-color:#e3ecf6!important;border-radius:12px!important;width:40px!important;height:40px!important}.app-logout{color:#e5484d!important}.app-logout:hover{background:#fff5f5!important;border-color:#f3c0c2!important}.app-content .ant-card{border-color:#e6eef8;box-shadow:0 1px 2px #0b2a4a0a,0 6px 20px #0b2a4a0d}.app-content .ant-card-head{border-bottom:none;padding-top:8px}.toolbar{background:#fff;border:1px solid #e6eef8;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:20px;padding:12px 18px;display:flex;box-shadow:0 1px 2px #0b2a4a0a}.toolbar-asof{flex-wrap:wrap;align-items:center;gap:6px;margin-inline-start:auto;font-size:12px;display:flex}.period-switch{padding:3px;font-weight:600}.period-switch .ant-segmented-item-selected{box-shadow:0 2px 6px #106ebe59}.section-title{white-space:normal;padding:4px 0 4px 12px;position:relative}.section-title:before{content:"";background:#106ebe;border-radius:2px;width:4px;height:18px;position:absolute;top:6px;left:0}.section-title-main{color:#0b2a4a;font-weight:700}.section-title-sub{color:#0b2a4a8c;margin-top:2px;font-size:12px;font-weight:400}.section-figure{text-align:right;color:#106ebe;font-size:22px;font-weight:700;line-height:1.2}.section-figure-unit{color:#0b2a4a80;margin-inline-end:4px;font-size:12px;font-weight:600}.section-figure-note{color:#0b2a4a8c;font-size:12px;font-weight:400}.kpi-card{height:100%;position:relative;overflow:hidden;border-top:4px solid var(--accent)!important}.kpi-card:after{content:"";background:var(--accent-soft);opacity:.55;pointer-events:none;border-radius:50%;width:140px;height:140px;position:absolute;top:-48px;right:-48px}.kpi-card .ant-card-body{z-index:1;padding:22px 22px 20px;position:relative}.kpi-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;font-size:20px;display:grid;position:absolute;top:18px;right:18px}.kpi-label{color:#0b2a4ab3;padding-inline-end:52px;font-size:13px;font-weight:600}.kpi-value{color:#0b2a4a;white-space:nowrap;margin-top:26px;font-size:30px;font-weight:700;line-height:1.2}.kpi-unit{color:#0b2a4a80;margin-inline-start:6px;font-size:13px;font-weight:600}.kpi-note{color:#0b2a4a8c;margin-top:8px;font-size:12px}.kpi-value{font-size:clamp(20px,1.6vw,28px)}@media (width<=576px){.app-header{padding:0 12px!important}.kpi-card .ant-card-body{padding:16px 14px}.kpi-icon{display:none}.kpi-label{padding-inline-end:0}.kpi-value{margin-top:8px;font-size:22px}.toolbar-asof{margin-inline-start:0}.app-content .ant-card-head-wrapper{flex-wrap:wrap}.app-content .ant-card-extra{margin-inline-start:12px;padding-bottom:8px}.section-figure{text-align:left}}
