*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f7fb;--bg-accent:linear-gradient(135deg,#e8f4fc,#f4f7fb 50%,#eef2ff);--surface:#fff;--surface-elevated:#fff;--sidebar:#0c4a6e;--sidebar-dark:#082f49;--sidebar-hover:#155e75;--sidebar-text:hsla(0,0%,100%,.82);--primary:#0891b2;--primary-light:#22d3ee;--primary-dark:#0e7490;--primary-soft:#ecfeff;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--border-light:#f1f5f9;--success:#059669;--success-soft:#d1fae5;--warning:#d97706;--warning-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--purple:#7c3aed;--purple-soft:#ede9fe;--teal:#0d9488;--teal-soft:#ccfbf1;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.06);--shadow-lg:0 8px 32px rgba(15,23,42,.1);--header-h:56px;--sidebar-w:256px;--font:"Inter","Noto Sans Khmer",system-ui,sans-serif;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:.9375rem;--fs-lg:1.0625rem;--fs-xl:1.1875rem;--fs-2xl:1.3125rem;--lh:1.55;--lh-tight:1.25;--icon-xs:14px;--icon-sm:16px;--icon-md:18px;--icon-lg:20px}html.locale-km{--font:"Noto Sans Khmer","Inter",system-ui,sans-serif;--fs-2xs:.75rem;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.375rem;--lh:1.65}#__nuxt,body,html{min-height:100vh}body{background:var(--bg);background-attachment:fixed;background-image:var(--bg-accent);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html.locale-km body{letter-spacing:.01em}button{background:none;border:none;cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}.btn-primary{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0891b238;color:#fff;display:inline-flex;font-size:var(--fs-sm);font-weight:600;gap:6px;padding:8px 16px;transition:transform .15s,box-shadow .15s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px #0891b252;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);display:inline-flex;font-size:var(--fs-sm);font-weight:500;gap:6px;padding:7px 14px;transition:background .15s,border-color .15s}.btn-secondary:hover{background:var(--border-light);border-color:#cbd5e1}.btn-sm{background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:var(--fs-xs);font-weight:500;padding:4px 10px;transition:all .15s}.btn-sm:hover{background:var(--primary-soft);border-color:var(--primary-light);color:var(--primary-dark)}.btn-sm.danger:hover{background:var(--danger-soft);border-color:#fecaca;color:var(--danger)}.section-title{color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.07em;margin-bottom:14px;text-transform:uppercase}.alert.error{background:var(--danger-soft);border:1px solid #fecaca;border-radius:var(--radius-sm);color:#991b1b}.alert.error,.alert.success{font-size:var(--fs-sm);padding:12px 16px}.alert.success{background:var(--success-soft);border:1px solid #a7f3d0;border-radius:var(--radius-sm);color:#065f46}.alert.warning{background:var(--warning-soft);border:1px solid #fde68a;border-radius:var(--radius-sm);color:#92400e}.alert.info,.alert.warning{font-size:var(--fs-sm);padding:12px 16px}.alert.info{background:var(--primary-soft);border:1px solid #a5f3fc;border-radius:var(--radius-sm);color:var(--primary-dark)}.spinner{animation:spin .7s linear infinite;border:2.5px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}::-webkit-scrollbar-track{background:transparent}.app-icon[data-v-00b24f12]{display:block;flex-shrink:0}.toast-stack[data-v-c5d92544]{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;width:min(380px,calc(100vw - 32px));z-index:9999}.toast[data-v-c5d92544]{align-items:flex-start;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid transparent;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);display:flex;font-size:var(--fs-sm);gap:12px;line-height:1.45;padding:14px 16px;pointer-events:auto}.toast-icon[data-v-c5d92544]{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.toast-msg[data-v-c5d92544]{flex:1;font-weight:500;margin:0;padding-top:5px}.toast-close[data-v-c5d92544]{border-radius:6px;color:inherit;flex-shrink:0;font-size:18px;height:28px;line-height:1;opacity:.55;transition:opacity .15s,background .15s;width:28px}.toast-close[data-v-c5d92544]:hover{background:#0000000f;opacity:1}.toast.success[data-v-c5d92544]{background:#ecfdf5f7;border-color:#a7f3d0;color:#065f46}.toast.success .toast-icon[data-v-c5d92544]{background:#d1fae5;color:#059669}.toast.error[data-v-c5d92544]{background:#fef2f2f7;border-color:#fecaca;color:#991b1b}.toast.error .toast-icon[data-v-c5d92544]{background:#fee2e2;color:#dc2626}.toast.warning[data-v-c5d92544]{background:#fffbebf7;border-color:#fde68a;color:#92400e}.toast.warning .toast-icon[data-v-c5d92544]{background:#fef3c7;color:#d97706}.toast.info[data-v-c5d92544]{background:#ecfefff7;border-color:#a5f3fc;color:#0e7490}.toast.info .toast-icon[data-v-c5d92544]{background:#cffafe;color:#0891b2}.toast-enter-active[data-v-c5d92544],.toast-leave-active[data-v-c5d92544]{transition:all .28s ease}.toast-enter-from[data-v-c5d92544]{opacity:0;transform:translate(24px) scale(.96)}.toast-leave-to[data-v-c5d92544]{opacity:0;transform:translate(16px) scale(.98)}.toast-move[data-v-c5d92544]{transition:transform .28s ease}@media(max-width:600px){.toast-stack[data-v-c5d92544]{bottom:20px;left:16px;right:16px;top:auto;width:auto}}
