.toast-host[data-v-311bbeeb]{position:fixed;right:24px;top:24px;z-index:9999;display:flex;flex-direction:column;gap:12px}.toast-item[data-v-311bbeeb]{min-width:240px;max-width:320px;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 10px 25px #0f172a26;border-left:4px solid transparent}.toast-success[data-v-311bbeeb]{border-left-color:#22c55e}.toast-error[data-v-311bbeeb]{border-left-color:#ef4444}.toast-info[data-v-311bbeeb]{border-left-color:#3b82f6}.toast-warning[data-v-311bbeeb]{border-left-color:#f59e0b}.toast-meta[data-v-311bbeeb]{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#0f172a}.toast-message[data-v-311bbeeb]{margin:8px 0 0;font-size:14px;color:#0f172a}.toast-description[data-v-311bbeeb]{margin:4px 0 0;font-size:13px;color:#475569}.toast-close[data-v-311bbeeb]{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:16px}.toast-fade-enter-active[data-v-311bbeeb],.toast-fade-leave-active[data-v-311bbeeb]{transition:all .25s ease}.toast-fade-enter-from[data-v-311bbeeb],.toast-fade-leave-to[data-v-311bbeeb]{opacity:0;transform:translateY(-10px)}@media(max-width:640px){.toast-host[data-v-311bbeeb]{left:16px;right:16px}.toast-item[data-v-311bbeeb]{max-width:100%}}.action-button[data-v-53e796c9]{display:inline-flex;align-items:center;gap:8px;border-radius:10px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease}.action-button__icon[data-v-53e796c9]{display:inline-flex;align-items:center;justify-content:center}.button-small[data-v-53e796c9]{padding:6px 12px;font-size:13px}.button-medium[data-v-53e796c9]{padding:8px 16px}.button-large[data-v-53e796c9]{padding:10px 18px;font-size:15px}.action-primary[data-v-53e796c9]{background:#4f46e5;color:#fff}.action-secondary[data-v-53e796c9]{background:#e2e8f0;color:#1f2937}.action-danger[data-v-53e796c9]{background:#ef4444;color:#fff}.action-success[data-v-53e796c9]{background:#22c55e;color:#fff}.action-button.ghost[data-v-53e796c9]{background:transparent;border:1px solid currentColor}.action-button[data-v-53e796c9]:disabled{opacity:.5;cursor:not-allowed}.action-button.is-disabled[data-v-53e796c9]{opacity:.5;cursor:not-allowed}.confirm-overlay[data-v-52d90295]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9998;padding:16px}.confirm-dialog[data-v-52d90295]{background:#fff;border-radius:16px;padding:24px;width:min(420px,100%);box-shadow:0 25px 60px #0f172a59}.confirm-dialog h3[data-v-52d90295]{margin:0 0 12px;font-size:18px}.confirm-dialog p[data-v-52d90295]{margin:0;color:#475569;line-height:1.6}.confirm-actions[data-v-52d90295]{margin-top:20px;display:flex;justify-content:flex-end;gap:12px}.confirm-danger h3[data-v-52d90295]{color:#b91c1c}.confirm-fade-enter-active[data-v-52d90295],.confirm-fade-leave-active[data-v-52d90295]{transition:opacity .2s ease}.confirm-fade-enter-from[data-v-52d90295],.confirm-fade-leave-to[data-v-52d90295]{opacity:0}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}*{box-sizing:border-box}body{margin:0;padding:0}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}.visible{visibility:visible}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-ellipsis{text-overflow:ellipsis}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.login-page[data-v-619c70a5]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fb,#e4ecff);padding:24px}.login-card[data-v-619c70a5]{width:min(440px,100%);background:#fff;border-radius:24px;padding:40px 48px;box-shadow:0 25px 60px #0f172a14;border:1px solid rgba(99,102,241,.15)}.brand[data-v-619c70a5]{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.4px;color:#111827;margin-bottom:16px}.brand-dot[data-v-619c70a5]{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 0 12px #6366f199}.brand-name[data-v-619c70a5]{font-size:15px;color:#4c1d95}h1[data-v-619c70a5]{font-size:28px;margin-bottom:4px;color:#111827}.subtitle[data-v-619c70a5]{color:#6b7280;margin-bottom:24px;font-size:14px}.notice-box[data-v-619c70a5]{background:#f5f8ff;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:18px 20px;margin-bottom:24px}.notice-header[data-v-619c70a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.notice-title[data-v-619c70a5]{font-weight:600;color:#111827}.notice-tag[data-v-619c70a5]{font-size:12px;padding:2px 10px;border-radius:999px;background:#4f46e51a;color:#4f46e5}.notice-body[data-v-619c70a5]{display:flex;flex-direction:column;gap:10px}.notice-row[data-v-619c70a5]{display:flex;justify-content:space-between;font-size:14px;color:#4b5563}.notice-row strong[data-v-619c70a5]{color:#111827;font-weight:600}.login-form[data-v-619c70a5]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-619c70a5]{font-size:14px;font-weight:500;color:#1f2937}.form-field[data-v-619c70a5]{position:relative}.form-field input[data-v-619c70a5]{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #d1d5db;background:#fff;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.form-field input[data-v-619c70a5]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.password-field[data-v-619c70a5]{display:flex;align-items:center}.password-field input[data-v-619c70a5]{padding-right:90px}.password-toggle[data-v-619c70a5]{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:none;color:#6366f1;font-weight:500;cursor:pointer}.form-extra[data-v-619c70a5]{display:flex;justify-content:space-between;align-items:center;margin-top:6px;margin-bottom:6px;font-size:13px;color:#6b7280}.checkbox[data-v-619c70a5]{display:flex;align-items:center;gap:6px;cursor:pointer}.forget-link[data-v-619c70a5]{font-size:12px}.error-message[data-v-619c70a5],.success-message[data-v-619c70a5]{font-size:13px;margin:2px 0 8px;padding:10px 12px;border-radius:10px}.error-message[data-v-619c70a5]{background:#f871711f;color:#b91c1c;border:1px solid rgba(248,113,113,.4)}.success-message[data-v-619c70a5]{background:#22c55e1f;color:#15803d;border:1px solid rgba(34,197,94,.4)}.login-button[data-v-619c70a5]{margin-top:10px;border:none;border-radius:14px;padding:14px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.login-button[data-v-619c70a5]:disabled{cursor:not-allowed;opacity:.6}.loading-spinner[data-v-619c70a5]{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin-619c70a5 .9s linear infinite}@keyframes spin-619c70a5{to{transform:rotate(360deg)}}@media(max-width:520px){.login-card[data-v-619c70a5]{padding:32px 24px}}.admin-sidebar[data-v-e4651a60]{background:#111827;color:#fff;display:flex;flex-direction:column;padding:24px 16px;transition:width .3s ease;width:260px}.admin-sidebar.collapsed[data-v-e4651a60]{width:80px;align-items:center}.sidebar__brand[data-v-e4651a60]{display:flex;align-items:center;gap:12px;margin-bottom:32px;width:100%}.brand__logo[data-v-e4651a60]{width:44px;height:44px;border-radius:12px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:1px}.brand__title[data-v-e4651a60]{font-size:18px;font-weight:600;display:block}.brand__subtitle[data-v-e4651a60]{color:#ffffffa6;font-size:12px}.sidebar__nav[data-v-e4651a60]{display:flex;flex-direction:column;gap:8px;flex:1;width:100%}.sidebar__link[data-v-e4651a60]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;color:#fffc;text-decoration:none;font-size:14px;transition:background .2s ease,color .2s ease}.sidebar__link.active[data-v-e4651a60],.sidebar__link[data-v-e4651a60]:hover{background:#ffffff1f;color:#fff}.sidebar__icon[data-v-e4651a60]{width:14px;height:14px;border-radius:3px;background:#ffffff80}.sidebar__collapse[data-v-e4651a60]{margin-top:16px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:transparent;color:#fff;padding:8px;cursor:pointer;width:100%}.collapse-icon[data-v-e4651a60]{display:inline-block;width:10px;height:10px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform .3s ease}.collapse-icon.collapsed[data-v-e4651a60]{transform:rotate(-135deg)}@media(max-width:768px){.admin-sidebar[data-v-e4651a60]{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);width:240px;z-index:100}.admin-sidebar.collapsed[data-v-e4651a60]{transform:translate(0);width:240px}}.admin-header[data-v-7f2cca37]{height:64px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e5e7eb}.header__toggle[data-v-7f2cca37]{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:8px;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.toggle-icon[data-v-7f2cca37]{width:16px;height:2px;background:#111827;position:relative}.toggle-icon[data-v-7f2cca37]:before,.toggle-icon[data-v-7f2cca37]:after{content:"";position:absolute;width:16px;height:2px;background:#111827;left:0}.toggle-icon[data-v-7f2cca37]:before{top:-5px}.toggle-icon[data-v-7f2cca37]:after{top:5px}.header__actions[data-v-7f2cca37]{display:flex;align-items:center;gap:16px}.lang-switch select[data-v-7f2cca37]{border:1px solid #e5e7eb;border-radius:8px;padding:6px 12px;background:#fff;cursor:pointer}.notification-btn[data-v-7f2cca37]{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:10px;background:none;position:relative}.notification-btn .dot[data-v-7f2cca37]{position:absolute;width:8px;height:8px;background:#ef4444;border-radius:50%;top:10px;right:10px}.user-info[data-v-7f2cca37]{display:flex;align-items:center;gap:12px;padding-left:12px;border-left:1px solid #e5e7eb}.user-info__meta[data-v-7f2cca37]{display:flex;flex-direction:column;align-items:flex-end}.user-info__name[data-v-7f2cca37]{font-size:14px;color:#111827}.user-info__role[data-v-7f2cca37]{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.user-avatar[data-v-7f2cca37]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.logout-btn[data-v-7f2cca37]{border:1px solid #e5e7eb;background:none;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px;color:#ef4444}@media(max-width:768px){.admin-header[data-v-7f2cca37]{flex-wrap:wrap;gap:12px;padding:16px;height:auto}.user-info[data-v-7f2cca37]{width:100%;justify-content:space-between;border-left:none;border-top:1px solid #e5e7eb;padding-left:0;padding-top:12px}}.admin-layout[data-v-c0693d7e]{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background-color:#f5f6fa}.admin-layout.sidebar-collapsed[data-v-c0693d7e]{grid-template-columns:80px 1fr}.admin-main[data-v-c0693d7e]{display:flex;flex-direction:column;min-height:100vh}.admin-content[data-v-c0693d7e]{flex:1;padding:24px}@media(max-width:1024px){.admin-layout[data-v-c0693d7e]{grid-template-columns:200px 1fr}}@media(max-width:768px){.admin-layout[data-v-c0693d7e]{grid-template-columns:1fr}}.filter-bar[data-v-a826d987]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:20px}.filter-group[data-v-a826d987]{display:flex;flex-direction:column;gap:6px}label[data-v-a826d987]{font-size:13px;color:#475569}input[data-v-a826d987],select[data-v-a826d987]{border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:14px;min-width:160px}.date-range[data-v-a826d987]{display:flex;align-items:center;gap:8px}.divider[data-v-a826d987]{color:#94a3b8}.filter-actions[data-v-a826d987]{margin-left:auto;display:flex;gap:8px}.btn[data-v-a826d987]{border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer}.btn-primary[data-v-a826d987]{border:none;background:#4f46e5;color:#fff}.btn-secondary[data-v-a826d987]{border:1px solid #e2e8f0;background:#fff;color:#475569}@media(max-width:768px){.filter-bar[data-v-a826d987]{flex-direction:column;align-items:stretch}.filter-actions[data-v-a826d987]{width:100%;justify-content:flex-end}}.data-table[data-v-c33a968f]{display:flex;flex-direction:column;gap:12px}.table-wrapper[data-v-c33a968f]{position:relative;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}.table-wrapper.is-virtual[data-v-c33a968f]{overflow-y:auto}.table-wrapper[data-v-c33a968f]{overflow-x:auto}table[data-v-c33a968f]{width:100%;border-collapse:collapse}th[data-v-c33a968f],td[data-v-c33a968f]{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:14px}th[data-v-c33a968f]{background:#f8fafc;text-align:left;font-weight:600;color:#475569}th.sortable[data-v-c33a968f]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sort-indicator[data-v-c33a968f]{margin-left:4px;border:4px solid transparent;border-bottom-color:#cbd5f5;display:inline-block}.sort-indicator.asc[data-v-c33a968f]{border-bottom-color:#6366f1}.sort-indicator.desc[data-v-c33a968f]{border-top:4px solid #6366f1;border-bottom:none}.empty[data-v-c33a968f]{text-align:center;color:#94a3b8;font-size:14px}.table-loading[data-v-c33a968f]{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:14px;color:#475569}.actions-cell[data-v-c33a968f]{width:120px;text-align:right}.table-pagination[data-v-c33a968f]{display:flex;justify-content:flex-end;align-items:center;gap:12px}.table-pagination button[data-v-c33a968f]{border:1px solid #e2e8f0;background:#fff;padding:6px 14px;border-radius:8px;cursor:pointer}.table-pagination button[data-v-c33a968f]:disabled{cursor:not-allowed;opacity:.5}.virtual-spacer td[data-v-c33a968f]{padding:0;border-bottom:none}.virtual-spacer[data-v-c33a968f]{background:transparent}@media(max-width:768px){table[data-v-c33a968f]{min-width:640px}.table-wrapper[data-v-c33a968f]{overflow-x:auto}}.status-badge[data-v-66804dc3]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-success[data-v-66804dc3]{color:#166534;background:#dcfce7}.badge-warning[data-v-66804dc3]{color:#92400e;background:#fef3c7}.badge-danger[data-v-66804dc3]{color:#b91c1c;background:#fee2e2}.badge-info[data-v-66804dc3]{color:#1d4ed8;background:#dbeafe}.badge-default[data-v-66804dc3]{color:#475569;background:#f1f5f9}.loading-state[data-v-68b8397b]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#475569;background:#fff;border:1px dashed #e2e8f0;border-radius:12px}.spinner[data-v-68b8397b]{width:32px;height:32px;border-radius:50%;border:3px solid #e2e8f0;border-top-color:#6366f1;animation:spin-68b8397b .8s linear infinite}@keyframes spin-68b8397b{to{transform:rotate(360deg)}}.error-state[data-v-6791375b]{border:1px dashed #fecdd3;border-radius:12px;background:#fff1f2;color:#9f1239;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.error-icon[data-v-6791375b]{width:32px;height:32px;border-radius:50%;background:#be123c;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.modal-overlay[data-v-1f63914f]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-1f63914f]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-small[data-v-1f63914f]{width:100%;max-width:400px}.modal-medium[data-v-1f63914f]{width:100%;max-width:600px}.modal-large[data-v-1f63914f]{width:100%;max-width:900px}.modal-header[data-v-1f63914f]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-1f63914f]{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.modal-close[data-v-1f63914f]{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close[data-v-1f63914f]:hover{background:#f3f4f6;color:#1f2937}.modal-body[data-v-1f63914f]{padding:24px;overflow-y:auto;flex:1}.modal-footer[data-v-1f63914f]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.modal-fade-enter-active[data-v-1f63914f],.modal-fade-leave-active[data-v-1f63914f]{transition:opacity .3s ease}.modal-fade-enter-active .modal-container[data-v-1f63914f],.modal-fade-leave-active .modal-container[data-v-1f63914f]{transition:transform .3s ease,opacity .3s ease}.modal-fade-enter-from[data-v-1f63914f],.modal-fade-leave-to[data-v-1f63914f]{opacity:0}.modal-fade-enter-from .modal-container[data-v-1f63914f],.modal-fade-leave-to .modal-container[data-v-1f63914f]{transform:scale(.95);opacity:0}@media(max-width:768px){.modal-container[data-v-1f63914f]{max-width:100%;margin:0;border-radius:12px 12px 0 0;max-height:95vh}.modal-overlay[data-v-1f63914f]{padding:0;align-items:flex-end}}.chart-card[data-v-70197ea8]{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:260px}.chart-card__header[data-v-70197ea8]{display:flex;justify-content:space-between;align-items:flex-start}.chart-card__header h3[data-v-70197ea8]{margin:0;font-size:16px}.chart-card__header p[data-v-70197ea8]{margin:4px 0 0;color:#94a3b8;font-size:13px}.chart-container[data-v-70197ea8]{position:relative;width:100%;height:240px;min-height:240px}canvas[data-v-70197ea8]{width:100%!important;height:100%!important}.empty-state[data-v-70197ea8]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#94a3b8;font-size:14px;text-align:center}.empty-state p[data-v-70197ea8]{margin:0}
