@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.sidebar[data-v-70f4f179]{width:250px;height:100vh;background:var(--c-surface);border-right:1px solid var(--c-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:width .2s cubic-bezier(.16,1,.3,1)}.sidebar.collapsed[data-v-70f4f179]{width:64px}.sidebar-brand[data-v-70f4f179]{display:flex;align-items:center;gap:12px;padding:18px 16px 12px;overflow:hidden}.brand-mark[data-v-70f4f179]{width:34px;height:34px;min-width:34px;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%);color:var(--c-accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;box-shadow:0 2px 8px #09514d40}.brand-text[data-v-70f4f179]{white-space:nowrap}.brand-name[data-v-70f4f179]{font-weight:700;font-size:15px;color:var(--c-primary);letter-spacing:.04em}.collapse-btn[data-v-70f4f179]{background:none;border:none;color:var(--c-text-muted);padding:6px;margin:0 12px 4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition);align-self:flex-end}.collapsed .collapse-btn[data-v-70f4f179]{align-self:center;margin:0 0 4px}.collapse-btn[data-v-70f4f179]:hover{color:var(--c-text);background:var(--c-bg)}.sidebar-nav[data-v-70f4f179]{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 10px}.collapsed .sidebar-nav[data-v-70f4f179]{padding:4px 8px}.nav-item[data-v-70f4f179]{display:flex;align-items:center;gap:10px;padding:7px 10px;color:var(--c-text-secondary);font-size:13px;font-weight:500;border-radius:6px;transition:all var(--transition);text-decoration:none;margin:1px 0;white-space:nowrap;overflow:hidden;position:relative}.collapsed .nav-item[data-v-70f4f179]{justify-content:center;padding:8px}.nav-item[data-v-70f4f179]:hover{color:var(--c-text);background:var(--c-surface-hover);transform:translate(2px)}.nav-item[data-v-70f4f179]:active{transform:scale(.98)}.nav-item.active[data-v-70f4f179]{color:var(--c-primary);background:var(--c-primary-50)}.nav-item.active[data-v-70f4f179]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--c-primary);border-radius:0 3px 3px 0}.nav-item.active .nav-icon[data-v-70f4f179]{color:var(--c-primary)}.nav-item.sub[data-v-70f4f179]{padding-left:36px;font-size:12.5px}.nav-item.sub .nav-icon[data-v-70f4f179]{opacity:.7}.nav-item.sub.active[data-v-70f4f179]{color:var(--group-color, var(--c-primary))}.nav-item.sub.active[data-v-70f4f179]:before{background:var(--group-color, var(--c-primary))}.nav-item.sub.active .nav-icon[data-v-70f4f179]{color:var(--group-color, var(--c-primary))}.nav-icon[data-v-70f4f179]{flex-shrink:0}.nav-group[data-v-70f4f179]{margin:2px 0;position:relative}.group-header[data-v-70f4f179]{display:flex;align-items:center;gap:10px;padding:8px 10px;width:100%;background:none;border:none;color:var(--c-text-secondary);font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all var(--transition);text-align:left;white-space:nowrap;overflow:hidden}.collapsed .group-header[data-v-70f4f179]{justify-content:center;padding:8px}.group-header[data-v-70f4f179]:hover{color:var(--c-text);background:var(--c-surface-hover)}.group-header.open[data-v-70f4f179]{color:var(--c-text)}.group-dot[data-v-70f4f179]{width:4px;height:4px;border-radius:50%;flex-shrink:0;opacity:.7}.collapsed .group-dot[data-v-70f4f179]{display:none}.group-label[data-v-70f4f179]{flex:1}.group-chevron[data-v-70f4f179]{transition:transform .2s ease;opacity:.5;flex-shrink:0}.group-chevron.rotated[data-v-70f4f179]{transform:rotate(180deg)}.group-items[data-v-70f4f179]{padding:2px 0 4px}.submenu-enter-active[data-v-70f4f179]{transition:all .2s ease;overflow:hidden}.submenu-leave-active[data-v-70f4f179]{transition:all .15s ease;overflow:hidden}.submenu-enter-from[data-v-70f4f179]{opacity:0;max-height:0}.submenu-enter-to[data-v-70f4f179],.submenu-leave-from[data-v-70f4f179]{opacity:1;max-height:500px}.submenu-leave-to[data-v-70f4f179]{opacity:0;max-height:0}.flyout[data-v-70f4f179]{position:fixed;min-width:190px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px;z-index:9999;animation:flyout-in-70f4f179 .15s ease}@keyframes flyout-in-70f4f179{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.flyout-header[data-v-70f4f179]{padding:6px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted);border-left:2px solid;margin-bottom:2px}.flyout-item[data-v-70f4f179]{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:500;color:var(--c-text-secondary);text-decoration:none;border-radius:5px;transition:all var(--transition)}.flyout-item[data-v-70f4f179]:hover{background:var(--c-surface-hover);color:var(--c-text)}.flyout-active[data-v-70f4f179]{color:var(--c-primary)!important;background:var(--c-primary-50)!important}.sidebar-footer[data-v-70f4f179]{padding:12px 14px;border-top:1px solid var(--c-divider);display:flex;align-items:center;justify-content:space-between;overflow:hidden}.user-pill[data-v-70f4f179]{display:flex;align-items:center;gap:10px;min-width:0}.user-avatar[data-v-70f4f179]{width:30px;height:30px;min-width:30px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.user-details[data-v-70f4f179]{display:flex;flex-direction:column;min-width:0}.user-name[data-v-70f4f179]{font-size:12px;font-weight:500;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role[data-v-70f4f179]{font-size:11px;color:var(--c-text-muted);text-transform:capitalize}.btn-logout[data-v-70f4f179]{background:none;border:none;color:var(--c-text-muted);padding:6px;border-radius:6px;transition:all var(--transition);flex-shrink:0}.btn-logout[data-v-70f4f179]:hover{color:var(--c-error);background:var(--c-error-bg)}.ft-enter-active[data-v-70f4f179]{transition:opacity .15s ease .05s}.ft-leave-active[data-v-70f4f179]{transition:opacity .1s ease}.ft-enter-from[data-v-70f4f179],.ft-leave-to[data-v-70f4f179]{opacity:0}.alert-bell-wrap[data-v-d3ae683c]{position:relative}.alert-bell[data-v-d3ae683c]{background:none;border:none;color:var(--c-text-muted);padding:8px;border-radius:8px;position:relative;transition:all var(--transition)}.alert-bell[data-v-d3ae683c]:hover{color:var(--c-text);background:var(--c-bg)}.alert-bell.has-alerts[data-v-d3ae683c]{color:var(--c-accent-dark)}.alert-count[data-v-d3ae683c]{position:absolute;top:2px;right:2px;width:16px;height:16px;background:var(--c-error);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:bounce-in .3s cubic-bezier(.34,1.56,.64,1)}.alert-dropdown[data-v-d3ae683c]{position:absolute;top:100%;right:0;width:380px;max-height:420px;overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;margin-top:4px}.alert-header[data-v-d3ae683c]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--c-divider);font-weight:600;font-size:14px}.alert-close[data-v-d3ae683c]{background:none;border:none;color:var(--c-text-muted);padding:4px;border-radius:4px;cursor:pointer}.alert-close[data-v-d3ae683c]:hover{background:var(--c-bg)}.alert-empty[data-v-d3ae683c]{padding:32px;text-align:center;color:var(--c-text-muted);font-size:13px}.alert-list[data-v-d3ae683c]{padding:4px}.alert-item[data-v-d3ae683c]{display:flex;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background var(--transition)}.alert-item[data-v-d3ae683c]:hover{background:var(--c-surface-hover)}.alert-icon[data-v-d3ae683c]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert--warning .alert-icon[data-v-d3ae683c]{background:#fffbeb;color:#d97706}.alert--danger .alert-icon[data-v-d3ae683c]{background:#fef2f2;color:#dc2626}.alert--info .alert-icon[data-v-d3ae683c]{background:#eff6ff;color:#2563eb}.alert-body[data-v-d3ae683c]{display:flex;flex-direction:column;min-width:0}.alert-title[data-v-d3ae683c]{font-size:13px;font-weight:500}.alert-msg[data-v-d3ae683c]{font-size:11px;color:var(--c-text-muted);margin-top:1px}.alert-backdrop[data-v-d3ae683c]{position:fixed;inset:0;z-index:-1}.dropdown-enter-active[data-v-d3ae683c]{transition:all .2s cubic-bezier(.34,1.56,.64,1)}.dropdown-leave-active[data-v-d3ae683c]{transition:all .15s ease}.dropdown-enter-from[data-v-d3ae683c]{transform:translateY(-8px) scale(.95);opacity:0}.dropdown-leave-to[data-v-d3ae683c]{transform:translateY(-4px);opacity:0}@media(max-width:768px){.alert-dropdown[data-v-d3ae683c]{width:calc(100vw - 24px);right:-60px}}.toast-container[data-v-ba740037]{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast[data-v-ba740037]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-lg);pointer-events:auto;min-width:280px;max-width:420px}.toast--success[data-v-ba740037]{border-left:3px solid var(--c-success)}.toast--error[data-v-ba740037]{border-left:3px solid var(--c-error)}.toast--info[data-v-ba740037]{border-left:3px solid var(--c-info)}.toast-icon[data-v-ba740037]{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.toast--success .toast-icon[data-v-ba740037]{background:var(--c-success-bg);color:var(--c-success)}.toast--error .toast-icon[data-v-ba740037]{background:var(--c-error-bg);color:var(--c-error)}.toast--info .toast-icon[data-v-ba740037]{background:#eff6ff;color:var(--c-info)}.toast-text[data-v-ba740037]{font-size:13px;font-weight:500;color:var(--c-text);flex:1}.toast-close[data-v-ba740037]{background:none;border:none;color:var(--c-text-muted);padding:4px;border-radius:4px;cursor:pointer;flex-shrink:0}.toast-close[data-v-ba740037]:hover{background:var(--c-bg)}.toast-enter-active[data-v-ba740037]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-ba740037]{transition:all .2s ease}.toast-enter-from[data-v-ba740037]{transform:translate(100px) scale(.9);opacity:0}.toast-leave-to[data-v-ba740037]{transform:translate(60px);opacity:0}.app.has-sidebar .main{margin-left:250px;min-height:100vh;transition:margin-left .2s cubic-bezier(.16,1,.3,1)}.app.has-sidebar:has(.sidebar.collapsed) .main{margin-left:64px}.topbar{position:fixed;top:0;right:0;left:250px;height:48px;background:var(--c-surface);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:flex-end;padding:0 20px;z-index:50;transition:left .2s cubic-bezier(.16,1,.3,1)}.app:has(.sidebar.collapsed) .topbar{left:64px}.topbar-right{display:flex;align-items:center;gap:8px}.app.has-sidebar .main{padding-top:48px}.mobile-menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:150;background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:8px;color:var(--c-text);box-shadow:var(--shadow)}.mobile-overlay{display:none;position:fixed;inset:0;background:#0000004d;z-index:99}@media(max-width:768px){.mobile-menu-btn{display:flex}.mobile-overlay{display:block}.app.has-sidebar .main{margin-left:0!important}.topbar{left:0!important;padding-left:52px}.app .sidebar{transform:translate(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1);z-index:101}.app .sidebar.mobile-open{transform:translate(0)}.app .sidebar.collapsed{width:250px}}.page-enter-active{transition:opacity .15s ease,transform .15s ease}.page-leave-active{transition:opacity .1s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0}:root{--c-primary: #09514d;--c-primary-light: #0b6963;--c-primary-dark: #063b38;--c-primary-50: #e8f5f4;--c-primary-100: #c5e8e6;--c-accent: #f4b117;--c-accent-light: #f7c94a;--c-accent-dark: #d99a0e;--c-accent-50: #fef8e7;--c-bg: #f4f6f8;--c-bg-white: #ffffff;--c-surface: #ffffff;--c-surface-hover: #f8fafa;--c-text: #111827;--c-text-secondary: #64748b;--c-text-muted: #94a3b8;--c-border: #e2e8f0;--c-border-light: #f1f5f9;--c-divider: #eef2f6;--c-success: #10b981;--c-success-bg: #ecfdf5;--c-error: #ef4444;--c-error-bg: #fef2f2;--c-warning: #f59e0b;--c-warning-bg: #fffbeb;--c-info: #3b82f6;--radius-sm: 3px;--radius: 6px;--radius-lg: 8px;--radius-xl: 10px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition: .15s ease}@keyframes bounce-in{0%{transform:scale(.95);opacity:0}60%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes slide-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse-success{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes count-pop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes glow{0%{box-shadow:0 0 #09514d33}to{box-shadow:0 0 0 4px #09514d1a}}.animate-bounce-in{animation:bounce-in .35s cubic-bezier(.34,1.56,.64,1)}.animate-slide-up{animation:slide-up .25s ease-out}.animate-pop{animation:pop .2s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px}body{font-family:var(--font);background:var(--c-bg);color:var(--c-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--c-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--c-primary-light)}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--c-text-muted)}::selection{background:var(--c-primary-100);color:var(--c-primary-dark)}@media print{.sidebar,.mobile-menu-btn,.dt-toolbar,.dt-pagination,.btn-primary,.btn-export,.btn-row-delete,.delete-confirm,.filter-row,.toast-container{display:none!important}.app.has-sidebar .main{margin-left:0!important}.page{padding:0!important}body{background:#fff;font-size:11px}.dt{border:none;box-shadow:none}table{font-size:10px}th{background:#f3f4f6!important}}
