.base-btn[data-v-92f4dfed]{justify-content:center;align-items:center;gap:var(--space-2);font-family:inherit;font-weight:var(--fw-medium);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex;position:relative}.base-btn[data-v-92f4dfed]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.base-btn[data-v-92f4dfed]:disabled,.base-btn--loading[data-v-92f4dfed]{opacity:.6;cursor:not-allowed}.base-btn[data-v-92f4dfed]:not(:disabled):active{transform:translateY(1px)}.base-btn--sm[data-v-92f4dfed]{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);min-height:32px}.base-btn--md[data-v-92f4dfed]{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);min-height:40px}.base-btn--lg[data-v-92f4dfed]{padding:var(--space-4) var(--space-5);font-size:var(--text-base);min-height:48px}.base-btn--primary[data-v-92f4dfed]{background:var(--accent);color:#fff}.base-btn--primary[data-v-92f4dfed]:hover:not(:disabled){background:var(--accent-hover)}.base-btn--secondary[data-v-92f4dfed]{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.base-btn--secondary[data-v-92f4dfed]:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--text-muted)}.base-btn--outline[data-v-92f4dfed]{border-color:var(--accent);color:var(--accent-text);background:0 0}.base-btn--outline[data-v-92f4dfed]:hover:not(:disabled){background:var(--accent-trans);border-color:var(--accent);color:var(--accent)}.base-btn--ghost[data-v-92f4dfed]{color:var(--text-secondary);background:0 0;border-color:#0000}.base-btn--ghost[data-v-92f4dfed]:hover:not(:disabled){background:var(--border-light);color:var(--text-primary)}.base-btn--danger[data-v-92f4dfed]{background:var(--danger);color:#fff}.base-btn--danger[data-v-92f4dfed]:hover:not(:disabled){background:var(--danger-hover)}.base-btn--success[data-v-92f4dfed]{background:var(--success);color:#fff}.base-btn--success[data-v-92f4dfed]:hover:not(:disabled){background:var(--success-hover)}.base-btn--warning[data-v-92f4dfed]{background:var(--warning);color:#fff}.base-btn--warning[data-v-92f4dfed]:hover:not(:disabled){background:var(--warning-hover)}.base-btn--block[data-v-92f4dfed]{width:100%}.base-btn--icon-only.base-btn--sm[data-v-92f4dfed]{width:32px;padding:0}.base-btn--icon-only.base-btn--md[data-v-92f4dfed]{width:40px;padding:0}.base-btn--icon-only.base-btn--lg[data-v-92f4dfed]{width:48px;padding:0}.base-btn__spinner[data-v-92f4dfed]{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite base-btn-spin-92f4dfed}@keyframes base-btn-spin-92f4dfed{to{transform:rotate(360deg)}}.base-btn__icon[data-v-92f4dfed]{flex-shrink:0;font-size:1em}.base-btn__label[data-v-92f4dfed]{display:inline-block}@media (width<=640px){.base-btn--md[data-v-92f4dfed]{min-height:44px}.base-btn--sm[data-v-92f4dfed]{min-height:36px}}.base-input[data-v-3a408326]{gap:var(--space-1);flex-direction:column;display:flex}.base-input__label[data-v-3a408326]{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:var(--space-1);display:flex}.base-input__required[data-v-3a408326]{color:var(--danger-text);font-weight:var(--fw-bold)}.base-input__hint[data-v-3a408326]{font-weight:var(--fw-normal);font-size:var(--text-xs);color:var(--text-muted);margin-left:auto}.base-input__field[data-v-3a408326]{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:40px;font-family:inherit}.base-input__field[data-v-3a408326]::placeholder{color:var(--text-muted)}.base-input__field[data-v-3a408326]:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.base-input--error .base-input__field[data-v-3a408326]{border-color:var(--danger)}.base-input--error .base-input__field[data-v-3a408326]:focus{box-shadow:0 0 0 3px var(--danger-trans)}.base-input--disabled .base-input__field[data-v-3a408326]{background:var(--bg-primary);cursor:not-allowed;opacity:.7}.base-input__error[data-v-3a408326]{font-size:var(--text-xs);color:var(--danger-text);margin:0}.base-input__description[data-v-3a408326]{font-size:var(--text-xs);color:var(--text-muted);margin:0}@media (width<=640px){.base-input__field[data-v-3a408326]{min-height:44px;font-size:var(--text-base)}}.base-textarea[data-v-cb7ebb52]{gap:var(--space-1);flex-direction:column;display:flex}.base-textarea__label[data-v-cb7ebb52]{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.base-textarea__required[data-v-cb7ebb52]{color:var(--danger-text);font-weight:var(--fw-bold);margin-left:2px}.base-textarea__field[data-v-cb7ebb52]{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);resize:vertical;min-height:80px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-family:inherit}.base-textarea__field[data-v-cb7ebb52]::placeholder{color:var(--text-muted)}.base-textarea__field[data-v-cb7ebb52]:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.base-textarea--error .base-textarea__field[data-v-cb7ebb52]{border-color:var(--danger)}.base-textarea__footer[data-v-cb7ebb52]{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:16px;display:flex}.base-textarea__error[data-v-cb7ebb52]{font-size:var(--text-xs);color:var(--danger-text);margin:0}.base-textarea__description[data-v-cb7ebb52]{font-size:var(--text-xs);color:var(--text-muted);margin:0}.base-textarea__counter[data-v-cb7ebb52]{font-size:var(--text-xs);color:var(--text-muted);margin-left:auto}.base-card[data-v-e287bca9]{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), background var(--transition-fast);overflow:hidden}.base-card--flat[data-v-e287bca9]{background:0 0;border-color:#0000}.base-card--interactive[data-v-e287bca9]{cursor:pointer}.base-card--interactive[data-v-e287bca9]:hover{border-color:var(--accent);background:var(--bg-card-hover)}.base-card__header[data-v-e287bca9]{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);display:flex}.base-card--flat .base-card__header[data-v-e287bca9]{border-bottom:none;padding-left:0;padding-right:0}.base-card__header-left[data-v-e287bca9]{align-items:flex-start;gap:var(--space-3);flex:1;min-width:0;display:flex}.base-card__icon[data-v-e287bca9]{font-size:var(--text-lg);color:var(--accent-text);flex-shrink:0;margin-top:2px}.base-card__header-text[data-v-e287bca9]{flex:1;min-width:0}.base-card__title[data-v-e287bca9]{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--leading-tight);margin:0}.base-card__subtitle[data-v-e287bca9]{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-1) 0 0;line-height:var(--leading-base)}.base-card__actions[data-v-e287bca9]{gap:var(--space-2);flex-shrink:0;display:flex}.base-card__body[data-v-e287bca9]{padding:var(--space-5)}.base-card--flat .base-card__body[data-v-e287bca9]{padding-left:0;padding-right:0}.base-card__footer[data-v-e287bca9]{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-light);gap:var(--space-2);justify-content:flex-end;display:flex}@media (width<=640px){.base-card__header[data-v-e287bca9],.base-card__body[data-v-e287bca9],.base-card__footer[data-v-e287bca9]{padding-left:var(--space-4);padding-right:var(--space-4)}}.base-card[data-v-7261ab38]{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), background var(--transition-fast);overflow:hidden}.base-card--flat[data-v-7261ab38]{background:0 0;border-color:#0000}.base-card--interactive[data-v-7261ab38]{cursor:pointer}.base-card--interactive[data-v-7261ab38]:hover{border-color:var(--accent);background:var(--bg-card-hover)}.base-card__header[data-v-7261ab38]{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);display:flex}.base-card--flat .base-card__header[data-v-7261ab38]{border-bottom:none;padding-left:0;padding-right:0}.base-card__header-left[data-v-7261ab38]{align-items:flex-start;gap:var(--space-3);flex:1;min-width:0;display:flex}.base-card__icon[data-v-7261ab38]{font-size:var(--text-lg);color:var(--accent-text);flex-shrink:0;margin-top:2px}.base-card__header-text[data-v-7261ab38]{flex:1;min-width:0}.base-card__title[data-v-7261ab38]{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--leading-tight);margin:0}.base-card__subtitle[data-v-7261ab38]{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-1) 0 0;line-height:var(--leading-base)}.base-card__actions[data-v-7261ab38]{gap:var(--space-2);flex-shrink:0;display:flex}.base-card__body[data-v-7261ab38]{padding:var(--space-5)}.base-card--flat .base-card__body[data-v-7261ab38]{padding-left:0;padding-right:0}.base-card__footer[data-v-7261ab38]{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-light);gap:var(--space-2);justify-content:flex-end;display:flex}@media (width<=640px){.base-card__header[data-v-7261ab38],.base-card__body[data-v-7261ab38],.base-card__footer[data-v-7261ab38]{padding-left:var(--space-4);padding-right:var(--space-4)}}.base-modal-fade-enter-active[data-v-4e4325d9],.base-modal-fade-leave-active[data-v-4e4325d9]{transition:opacity var(--transition-base)}.base-modal-fade-enter-active .base-modal[data-v-4e4325d9],.base-modal-fade-leave-active .base-modal[data-v-4e4325d9]{transition:transform var(--transition-bounce), opacity var(--transition-base)}.base-modal-fade-enter-from[data-v-4e4325d9],.base-modal-fade-leave-to[data-v-4e4325d9]{opacity:0}.base-modal-fade-enter-from .base-modal[data-v-4e4325d9],.base-modal-fade-leave-to .base-modal[data-v-4e4325d9]{opacity:0;transform:scale(.95)translateY(20px)}.base-modal__overlay[data-v-4e4325d9]{-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal);padding:var(--space-4);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.base-modal[data-v-4e4325d9]{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);flex-direction:column;display:flex;position:relative;overflow:hidden}.base-modal--sm[data-v-4e4325d9]{max-width:400px}.base-modal--md[data-v-4e4325d9]{max-width:520px}.base-modal--lg[data-v-4e4325d9]{max-width:640px}.base-modal--xl[data-v-4e4325d9]{max-width:840px}.base-modal__header[data-v-4e4325d9]{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-light);flex-shrink:0;display:flex}.base-modal__header-left[data-v-4e4325d9]{align-items:flex-start;gap:var(--space-3);flex:1;min-width:0;display:flex}.base-modal__icon[data-v-4e4325d9]{border-radius:var(--radius-md);width:44px;min-width:44px;height:44px;font-size:var(--text-xl);background:var(--accent-trans);color:var(--accent-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.base-modal__icon--success[data-v-4e4325d9]{background:var(--success-trans);color:var(--success-text)}.base-modal__icon--warning[data-v-4e4325d9]{background:var(--warning-trans);color:var(--warning-text)}.base-modal__icon--danger[data-v-4e4325d9]{background:var(--danger-trans);color:var(--danger-text)}.base-modal__icon--info[data-v-4e4325d9]{background:var(--info-trans);color:var(--info-text)}.base-modal__header-text[data-v-4e4325d9]{flex:1;min-width:0}.base-modal__title[data-v-4e4325d9]{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary);line-height:var(--leading-tight);margin:0}.base-modal__subtitle[data-v-4e4325d9]{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0 0;line-height:var(--leading-base)}.base-modal__close[data-v-4e4325d9]{background:var(--bg-secondary);min-height:52px;color:var(--text-muted);cursor:pointer;font-size:var(--text-base);transition:all var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.base-modal__close[data-v-4e4325d9]:hover{background:var(--danger-trans);color:var(--danger-text)}.base-modal__body[data-v-4e4325d9]{padding:var(--space-5);flex:1;overflow-y:auto}.base-modal__body[data-v-4e4325d9]::-webkit-scrollbar{width:4px}.base-modal__body[data-v-4e4325d9]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.base-modal__footer[data-v-4e4325d9]{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-light);background:var(--bg-card);flex-shrink:0}@media (width<=640px){.base-modal__overlay[data-v-4e4325d9]{padding:var(--space-2);align-items:flex-end}.base-modal[data-v-4e4325d9]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:94vh}.base-modal--sm[data-v-4e4325d9],.base-modal--md[data-v-4e4325d9],.base-modal--lg[data-v-4e4325d9],.base-modal--xl[data-v-4e4325d9]{max-width:100%}.base-modal__header[data-v-4e4325d9]{padding:var(--space-4) var(--space-4) var(--space-3)}.base-modal__icon[data-v-4e4325d9]{width:38px;min-width:38px;height:38px;font-size:var(--text-lg)}.base-modal__title[data-v-4e4325d9]{font-size:var(--text-lg)}.base-modal__body[data-v-4e4325d9]{padding:var(--space-4)}.base-modal__footer[data-v-4e4325d9]{padding:var(--space-3) var(--space-4)}}.base-empty[data-v-23f0007f]{padding:var(--space-10) var(--space-5);background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.base-empty__icon[data-v-23f0007f]{background:var(--accent-trans);width:72px;height:72px;color:var(--accent-text);font-size:var(--text-3xl);margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:flex}.base-empty__icon--warning[data-v-23f0007f]{background:var(--warning-trans);color:var(--warning-text)}.base-empty__icon--danger[data-v-23f0007f]{background:var(--danger-trans);color:var(--danger-text)}.base-empty__title[data-v-23f0007f]{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0 0 var(--space-2)}.base-empty__description[data-v-23f0007f]{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-5);max-width:400px;line-height:var(--leading-base)}.base-empty__actions[data-v-23f0007f]{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=640px){.base-empty[data-v-23f0007f]{padding:var(--space-6) var(--space-4)}.base-empty__icon[data-v-23f0007f]{width:60px;height:60px;font-size:var(--text-2xl)}.base-empty__title[data-v-23f0007f]{font-size:var(--text-lg)}.base-empty__actions[data-v-23f0007f]{flex-direction:column;width:100%}}.toast-container{top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:380px;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:var(--text-sm);pointer-events:auto;min-width:280px;display:flex}.toast--info{border-left-color:var(--info)}.toast--success{border-left-color:var(--success)}.toast--warning{border-left-color:var(--warning)}.toast--error{border-left-color:var(--danger)}.toast__icon{font-size:var(--text-lg);flex-shrink:0;margin-top:1px}.toast--info .toast__icon{color:var(--info-text)}.toast--success .toast__icon{color:var(--success-text)}.toast--warning .toast__icon{color:var(--warning-text)}.toast--error .toast__icon{color:var(--danger-text)}.toast__message{line-height:var(--leading-base);word-break:break-word;flex:1;margin:0}.toast__close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);width:20px;height:20px;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.toast__close:hover{background:var(--border-light);color:var(--text-primary)}.toast-enter-active,.toast-leave-active{transition:all var(--transition-base)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(100%)}.toast-move{transition:transform var(--transition-base)}@media (width<=640px){.toast-container{left:var(--space-3);right:var(--space-3);top:var(--space-3);max-width:none}.toast{min-width:0}}.app-drawer__overlay[data-v-2b17aa10]{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0009;position:fixed;inset:0}.app-drawer[data-v-2b17aa10]{background:var(--bg-primary);box-shadow:var(--shadow-lg);max-width:90vw;max-height:100dvh;position:fixed;overflow-y:auto}.app-drawer--left[data-v-2b17aa10]{height:100vh;top:0;left:0}.app-drawer--right[data-v-2b17aa10]{height:100vh;top:0;right:0}.app-drawer--top[data-v-2b17aa10]{top:0;left:0;right:0}.app-drawer--bottom[data-v-2b17aa10]{bottom:0;left:0;right:0}.drawer-fade-enter-active[data-v-2b17aa10],.drawer-fade-leave-active[data-v-2b17aa10]{transition:opacity var(--transition-base)}.drawer-fade-enter-from[data-v-2b17aa10],.drawer-fade-leave-to[data-v-2b17aa10]{opacity:0}.drawer-slide-enter-active[data-v-2b17aa10],.drawer-slide-leave-active[data-v-2b17aa10]{transition:transform var(--transition-base)}.app-drawer--left.drawer-slide-enter-from[data-v-2b17aa10],.app-drawer--left.drawer-slide-leave-to[data-v-2b17aa10]{transform:translate(-100%)}.app-drawer--right.drawer-slide-enter-from[data-v-2b17aa10],.app-drawer--right.drawer-slide-leave-to[data-v-2b17aa10]{transform:translate(100%)}.app-drawer--top.drawer-slide-enter-from[data-v-2b17aa10],.app-drawer--top.drawer-slide-leave-to[data-v-2b17aa10]{transform:translateY(-100%)}.app-drawer--bottom.drawer-slide-enter-from[data-v-2b17aa10],.app-drawer--bottom.drawer-slide-leave-to[data-v-2b17aa10]{transform:translateY(100%)}.app-menu[data-v-6d200bb6]{gap:var(--space-1);padding:var(--space-2) 0;flex-direction:column;display:flex}.app-menu__group[data-v-6d200bb6]{margin-bottom:var(--space-2);flex-direction:column;gap:2px;display:flex}.app-menu__group-label[data-v-6d200bb6]{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.app-menu__list[data-v-6d200bb6]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.app-menu__item[data-v-6d200bb6]{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;min-height:40px;display:flex}.app-menu__item[data-v-6d200bb6]:hover{background:var(--bg-secondary);color:var(--text-primary)}.app-menu__item--active[data-v-6d200bb6],.app-menu__item--active[data-v-6d200bb6]:hover{background:var(--accent-trans);color:var(--accent-text)}.app-menu__icon[data-v-6d200bb6]{text-align:center;width:20px;font-size:var(--text-base);color:inherit;flex-shrink:0}.app-menu__label[data-v-6d200bb6]{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.app-menu__badge[data-v-6d200bb6]{background:var(--accent);color:#fff;border-radius:var(--radius-full);text-align:center;flex-shrink:0;min-width:20px;padding:2px 8px;font-size:11px;font-weight:600}.app-menu__divider[data-v-6d200bb6]{background:var(--border-light);height:1px;margin:var(--space-2) var(--space-3)}.app-switch[data-v-9e410fe7]{all:unset;box-sizing:border-box;background:var(--border-color);cursor:pointer;width:44px;min-width:44px;height:24px;min-height:24px;max-height:24px;transition:background var(--transition-fast);vertical-align:middle;border:none;border-radius:999px;flex-shrink:0;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.app-switch[data-v-9e410fe7]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.app-switch--on[data-v-9e410fe7]{background:var(--accent)}.app-switch--disabled[data-v-9e410fe7]{opacity:.5;cursor:not-allowed}.app-switch__thumb[data-v-9e410fe7]{width:20px;height:20px;transition:transform var(--transition-fast);pointer-events:none;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.app-switch--on .app-switch__thumb[data-v-9e410fe7]{transform:translate(20px)}.app-avatar[data-v-fa266348]{background:var(--accent-trans);color:var(--accent-text);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.app-avatar--round[data-v-fa266348]{border-radius:50%}.app-avatar img[data-v-fa266348]{object-fit:cover;width:100%;height:100%;display:block}.app-avatar__placeholder[data-v-fa266348]{opacity:.7}.sidebar-content[data-v-d1b71f22]{background:var(--bg-primary);flex-direction:column;height:100%;display:flex}.sidebar-logo[data-v-d1b71f22]{border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding:20px 20px 16px;display:flex}.sidebar-logo img[data-v-d1b71f22]{width:40px;height:40px}.logo-text[data-v-d1b71f22]{white-space:nowrap;font-size:22px;font-weight:700}.logo-left[data-v-d1b71f22]{color:var(--text-primary)}.logo-right[data-v-d1b71f22]{color:var(--accent)}.admin-logo[data-v-d1b71f22]{color:var(--accent);margin-left:4px;font-size:14px}.sidebar-nav[data-v-d1b71f22]{flex:1;padding:8px;overflow-y:auto}.sidebar-footer[data-v-d1b71f22]{border-top:1px solid var(--border-light);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.footer-row-mobile[data-v-d1b71f22]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.footer-link[data-v-d1b71f22]{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.footer-link[data-v-d1b71f22]:hover{background:var(--bg-secondary);color:var(--text-primary)}.footer-link i[data-v-d1b71f22]{text-align:center;width:20px}.btn-logout-sidebar[data-v-d1b71f22]{border-radius:var(--radius-md);background:var(--danger-trans);color:var(--danger-text);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-logout-sidebar[data-v-d1b71f22]:hover{background:var(--danger);color:#fff}.theme-toggle[data-v-d1b71f22]{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:8px;font-size:16px;transition:all .2s}.theme-toggle[data-v-d1b71f22]:hover{background:var(--accent-trans);color:var(--accent)}.sidebar[data-v-94a15177]{background:var(--bg-primary);border-right:1px solid var(--border-light);z-index:1000;flex-direction:column;width:260px;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-toggle[data-v-94a15177]{z-index:1001;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;width:30px;height:21px;padding:0;display:flex;position:fixed;top:20px;left:20px}.sidebar-toggle .burger-line[data-v-94a15177]{background-color:var(--text-primary);width:100%;height:3px;transition:all .3s}.sidebar-toggle.active .burger-line[data-v-94a15177]:first-child{transform:translateY(8px)rotate(45deg)}.sidebar-toggle.active .burger-line[data-v-94a15177]:nth-child(2){opacity:0}.sidebar-toggle.active .burger-line[data-v-94a15177]:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.footer[data-v-3f16c716]{--footer-bg:var(--bg-secondary);--footer-border:var(--border-color);--footer-text:var(--text-secondary);--footer-text-light:var(--text-muted);--footer-radius:16px;background:var(--footer-bg);border-top:1px solid var(--footer-border);margin-top:64px;padding:48px 0 24px;transition:background .3s}[data-theme=light] .footer[data-v-3f16c716]{--footer-bg:#f8fafc;--footer-border:#e2e8f0}.footer-container[data-v-3f16c716]{max-width:1400px;margin:0 auto;padding:0 24px}.footer-top[data-v-3f16c716]{grid-template-columns:280px 1fr;gap:48px;padding-bottom:32px;display:grid}.footer-brand[data-v-3f16c716]{align-items:flex-start;display:flex}.brand-link[data-v-3f16c716]{align-items:center;gap:16px;text-decoration:none;transition:transform .3s;display:flex}.brand-logo[data-v-3f16c716]{object-fit:contain;background:var(--bg-card);border-radius:14px;width:56px;height:56px;padding:4px;transition:all .3s;box-shadow:0 4px 20px #00000026}.brand-link:hover .brand-logo[data-v-3f16c716]{transform:scale(1.03);box-shadow:0 4px 30px #7c3aed40}.brand-text[data-v-3f16c716]{flex-direction:column;gap:2px;display:flex}.brand-name[data-v-3f16c716]{color:var(--text-primary);letter-spacing:-.5px;font-size:22px;font-weight:700;line-height:1.2}.brand-accent[data-v-3f16c716]{color:var(--accent);background:linear-gradient(135deg, var(--accent), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand-tagline[data-v-3f16c716]{color:var(--text-muted);-webkit-text-fill-color:var(--text-muted);font-size:13px;font-weight:400}.footer-nav[data-v-3f16c716]{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.nav-section[data-v-3f16c716]{flex-direction:column;gap:8px;display:flex}.nav-title[data-v-3f16c716]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:2px solid var(--footer-border);margin-bottom:8px;padding-bottom:6px;font-size:12px;font-weight:700}.nav-link[data-v-3f16c716]{color:var(--footer-text);width:fit-content;padding:4px 0;font-size:14px;font-weight:400;text-decoration:none;transition:all .25s;position:relative}.nav-link[data-v-3f16c716]:after{content:"";background:var(--accent);width:0;height:1.5px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link[data-v-3f16c716]:hover{color:var(--accent)}.nav-link[data-v-3f16c716]:hover:after{width:100%}.footer-divider[data-v-3f16c716]{background:linear-gradient(to right, transparent, var(--footer-border) 20%, var(--footer-border) 80%, transparent);height:1px;margin:8px 0 20px}.footer-bottom[data-v-3f16c716]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.footer-copyright[data-v-3f16c716]{color:var(--footer-text-light);margin:0;font-size:13px;font-weight:400}.footer-social[data-v-3f16c716]{gap:12px;display:flex}.social-link[data-v-3f16c716]{min-width:48px;height:48px;color:var(--text-muted);border:1px solid var(--footer-border);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;text-decoration:none;transition:all .3s;display:flex}.social-link[data-v-3f16c716]:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-trans);box-shadow:0 4px 12px #7c3aed26}.social-link[data-v-3f16c716]:active{transform:translateY(0)}.footer-version[data-v-3f16c716]{align-items:center;display:flex}.version-badge[data-v-3f16c716]{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--footer-border);letter-spacing:.3px;-webkit-user-select:none;user-select:none;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600}@media (width<=1024px){.footer-top[data-v-3f16c716]{grid-template-columns:1fr;gap:32px}.footer-brand[data-v-3f16c716]{justify-content:center}.footer-nav[data-v-3f16c716]{grid-template-columns:repeat(3,1fr);gap:24px}}@media (width<=768px){.footer[data-v-3f16c716]{margin-top:48px;padding:32px 0 16px}.footer-container[data-v-3f16c716]{padding:0 16px}.footer-nav[data-v-3f16c716]{grid-template-columns:1fr 1fr;gap:24px 16px}.footer-bottom[data-v-3f16c716]{text-align:center;flex-direction:column;gap:12px}.brand-logo[data-v-3f16c716]{width:44px;height:44px}.brand-name[data-v-3f16c716]{font-size:19px}.brand-tagline[data-v-3f16c716]{font-size:12px}.footer-social[data-v-3f16c716]{gap:8px}.social-link[data-v-3f16c716]{width:32px;height:32px;font-size:14px}}@media (width<=480px){.footer-nav[data-v-3f16c716]{text-align:center;grid-template-columns:1fr;gap:20px}.nav-link[data-v-3f16c716]{text-align:center;width:100%}.nav-link[data-v-3f16c716]:after{left:50%;transform:translate(-50%)}.nav-title[data-v-3f16c716],.footer-brand[data-v-3f16c716]{text-align:center}.brand-link[data-v-3f16c716]{flex-direction:column;align-items:center}.brand-text[data-v-3f16c716]{align-items:center}}.footer[data-v-3f16c716]{opacity:0;animation:.6s .2s forwards footerFadeIn-3f16c716}@keyframes footerFadeIn-3f16c716{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.footer[data-v-3f16c716]{opacity:1;animation:none;transform:none}.brand-link[data-v-3f16c716],.nav-link[data-v-3f16c716]:after,.social-link[data-v-3f16c716]{transition-duration:.01ms!important}}.app-with-sidebar[data-v-7cef13b8]{min-height:100vh;display:flex}.app-content[data-v-7cef13b8]{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;transition:margin-left .3s;display:flex}.page-content[data-v-7cef13b8]{flex:1;width:100%;min-width:0;padding:24px 32px}@media (width<=770px){.app-content[data-v-7cef13b8]{margin-left:0}.page-content[data-v-7cef13b8]{padding:80px 16px 20px}}.auth-layout[data-v-a4aa3f74]{min-height:100vh}.public-layout[data-v-9b4a3d10]{flex-direction:column;min-height:100vh;display:flex}.animated-bg{z-index:-2;background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);pointer-events:none;position:fixed;inset:0}:root{--color-primary:#7c5cfc;--color-primary-hover:#6b4ae8;--color-primary-active:#5a3bd4;--color-primary-light:#eeebff;--color-bg:#f5f6f8;--color-bg-secondary:#eef0f3;--color-surface:#fff;--color-surface-secondary:#f8f9fb;--color-surface-hover:#f0f2f5;--color-surface-active:#e9ebf0;--color-sidebar:#0d141c;--color-sidebar-secondary:#121b25;--color-sidebar-hover:#182532;--color-sidebar-active:#203142;--color-header:#101820;--color-text:#171b21;--color-text-secondary:#66707d;--color-text-tertiary:#929ba7;--color-text-disabled:#b5bcc5;--color-text-inverse:#fff;--color-text-inverse-secondary:#c8d0d9;--color-border:#dde1e7;--color-border-light:#e9ecf0;--color-border-dark:#c9ced6;--color-success:#18a66a;--color-success-light:#e7f7f0;--color-success-dark:#128455;--color-warning:#d88919;--color-warning-light:#fff4df;--color-warning-dark:#b56f0f;--color-danger:#d94a4a;--color-danger-light:#fceaea;--color-danger-dark:#b93636;--color-info:#3e82d7;--color-info-light:#eaf3fd;--color-info-dark:#2e68b3;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 4px 12px #1018280f;--shadow-lg:0 10px 30px #10182814;--shadow-modal:0 8px 24px #1018281f;--shadow-focus:0 0 0 3px var(--color-focus);--color-focus:#7c5cfc40;--bg-primary:var(--color-bg);--bg-secondary:var(--color-bg-secondary);--bg-card:var(--color-surface);--bg-card-hover:var(--color-surface-hover);--bg-input:var(--color-surface);--bg-dropdown:var(--color-surface);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-tertiary);--text-inverse:var(--color-text-inverse);--border-color:var(--color-border);--border-light:var(--color-border-light);--border-input:var(--color-border);--accent:var(--color-primary);--accent-hover:var(--color-primary-hover);--accent-light:var(--color-primary-light);--accent-trans:color-mix(in srgb, var(--color-primary) 15%, transparent);--accent-text:var(--color-primary);--danger:var(--color-danger);--danger-hover:var(--color-danger-dark);--danger-trans:color-mix(in srgb, var(--color-danger) 15%, transparent);--danger-text:var(--color-danger);--success:var(--color-success);--success-hover:var(--color-success-dark);--success-trans:color-mix(in srgb, var(--color-success) 15%, transparent);--success-text:var(--color-success);--warning:var(--color-warning);--warning-hover:var(--color-warning-dark);--warning-trans:color-mix(in srgb, var(--color-warning) 15%, transparent);--warning-text:var(--color-warning);--info:var(--color-info);--info-hover:var(--color-info-dark);--info-trans:color-mix(in srgb, var(--color-info) 15%, transparent);--info-text:var(--color-info);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--space-10:64px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:"Courier New", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--leading-tight:1.2;--leading-base:1.5;--leading-relaxed:1.6;--radius-sm:6px;--radius:.75rem;--radius-md:10px;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-bounce:.3s cubic-bezier(.22, 1, .36, 1);--z-dropdown:100;--z-sticky:200;--z-overlay:1000;--z-modal:1100;--z-popover:1200;--z-toast:9999}[data-theme=dark]{--color-bg:#0d1117;--color-bg-secondary:#111820;--color-surface:#151b23;--color-surface-secondary:#1a212a;--color-surface-hover:#202832;--color-surface-active:#26313d;--color-sidebar:#090e14;--color-sidebar-secondary:#0f161f;--color-sidebar-hover:#16212c;--color-sidebar-active:#1d2b39;--color-header:#0b1118;--color-text:#f1f3f5;--color-text-secondary:#9aa5b1;--color-text-tertiary:#6f7a87;--color-text-disabled:#4e5966;--color-text-inverse:#161a20;--color-text-inverse-secondary:#66707d;--color-border:#2a333f;--color-border-light:#222b35;--color-border-dark:#394452;--color-primary:#8b7cff;--color-primary-hover:#9a8dff;--color-primary-active:#7869ea;--color-primary-light:#27223f;--color-success:#35c98a;--color-success-light:#18382d;--color-success-dark:#4ade9c;--color-warning:#f2a93b;--color-warning-light:#3a2c18;--color-warning-dark:#ffc15c;--color-danger:#f06a6a;--color-danger-light:#3d2023;--color-danger-dark:#ff8585;--color-info:#62a4f2;--color-info-light:#1c2e45;--color-info-dark:#82b7f5;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #00000040;--shadow-lg:0 10px 30px #00000059;--shadow-modal:0 8px 24px #00000080;--color-focus:#8b7cff59;--shadow-focus:0 0 0 3px var(--color-focus);--bg-primary:var(--color-bg);--bg-secondary:var(--color-bg-secondary);--bg-card:var(--color-surface);--bg-card-hover:var(--color-surface-hover);--bg-input:var(--color-surface-secondary);--bg-dropdown:var(--color-surface-secondary);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-tertiary);--text-inverse:var(--color-text-inverse);--border-color:var(--color-border);--border-light:var(--color-border-light);--border-input:var(--color-border);--accent:var(--color-primary);--accent-hover:var(--color-primary-hover);--accent-light:var(--color-primary-light);--accent-trans:color-mix(in srgb, var(--color-primary) 20%, transparent);--accent-text:var(--color-primary);--danger:var(--color-danger);--danger-hover:var(--color-danger-dark);--danger-trans:color-mix(in srgb, var(--color-danger) 20%, transparent);--danger-text:var(--color-danger);--success:var(--color-success);--success-hover:var(--color-success-dark);--success-trans:color-mix(in srgb, var(--color-success) 20%, transparent);--success-text:var(--color-success);--warning:var(--color-warning);--warning-hover:var(--color-warning-dark);--warning-trans:color-mix(in srgb, var(--color-warning) 20%, transparent);--warning-text:var(--color-warning);--info:var(--color-info);--info-hover:var(--color-info-dark);--info-trans:color-mix(in srgb, var(--color-info) 20%, transparent);--info-text:var(--color-info)}.n-button{--n-height:40px;--n-border-radius:10px;--n-padding:0 16px;--n-font-size:14px;--n-font-weight:500;--n-icon-size:16px;--n-icon-margin:6px}.n-button--small-type{--n-height:32px;--n-padding:0 12px;--n-font-size:13px;--n-icon-size:14px}.n-button--large-type{--n-height:48px;--n-padding:0 24px;--n-font-size:16px;--n-icon-size:18px}.n-input{--n-height:40px;--n-border-radius:10px;--n-font-size:14px;--n-padding-left:12px;--n-padding-right:12px}.n-input--small-type{--n-height:32px;--n-font-size:13px}.n-input--large-type{--n-height:48px;--n-font-size:16px}.n-tag{--n-height:24px;--n-border-radius:12px;--n-font-size:12px}.n-switch{--n-height:22px;--n-width:44px;--n-rail-height:22px;--n-rail-width:44px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased;background-color:var(--bg-primary);color:var(--text-primary);touch-action:pan-x pan-y;transition:background-color .3s,color .2s}::-webkit-scrollbar{background:0 0;width:0;height:0}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{touch-action:manipulation}button,a,input,select,textarea{touch-action:manipulation;min-height:44px}section{margin-bottom:var(--space-5)}i{min-width:14px}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semibold);line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:.5em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{color:var(--accent);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:.25rem;display:block}input,textarea,select{width:100%;font-size:var(--text-sm);background-color:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius);color:var(--text-primary);transition:border var(--transition-fast), box-shadow var(--transition-fast);padding:.625rem .75rem;font-family:inherit}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}input:disabled,textarea:disabled,select:disabled{background-color:var(--bg-primary);cursor:not-allowed}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.checkbox-group{align-items:center;gap:var(--space-2);flex-direction:row;display:flex}button,.btn{font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:var(--radius);cursor:pointer;background-color:var(--accent);color:#fff;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.25rem;line-height:1;transition:all .3s;display:inline-flex;overflow:hidden}button:hover,.btn:hover{background-color:var(--accent-hover);transform:translateY(-2px)}button:active,.btn:active{transform:translateY(0)}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=640px){button,.btn{font-size:var(--text-base);padding:.75rem 1rem}}.btn-secondary{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color)}.btn-outline{width:100%;color:var(--accent-text);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:1px solid #7c3aed4d;border-radius:10px;padding:10px;transition:all .2s}.btn-outline:hover{background:var(--accent-trans);border-color:var(--accent)}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background-color:var(--danger)}.btn-danger:hover{background-color:var(--danger-hover)}.success-btn{background-color:var(--success)}.success-btn:hover{background-color:var(--success-hover)}.btn-warning{background-color:var(--warning)}.btn-warning:hover{background:var(--warning-hover)}.btn-small{background-color:var(--bg-secondary);width:32px;height:32px}.btn-small:hover{background-color:var(--bg-card);border:2px solid var(--accent)}.dropdown-btn{background-color:var(--bg-secondary);width:24px;height:24px;padding:0}.dropdown-btn:hover{background-color:var(--bg-secondary)}.outline-btn{border:1px solid var(--accent);color:var(--accent);background-color:#0000}.outline-btn:hover{color:var(--text-primary)}.view-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);font-size:13px;font-weight:var(--fw-medium);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;transition:all .25s;display:flex}.view-btn:hover{background:var(--accent-trans);border-color:var(--accent);color:var(--accent-text)}.modal-actions{gap:10px;margin-top:16px;display:flex}.modal-actions .btn{font-weight:var(--fw-semibold);cursor:pointer;border:none;border-radius:40px;flex:1;justify-content:center;align-items:center;gap:8px;padding:.7rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.modal-actions .btn:disabled{opacity:.5;cursor:not-allowed}.modal-actions .btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff}.modal-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #8a5cf64d}.modal-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-actions .btn-secondary:hover:not(:disabled){background:var(--border-color)}.modal-actions .btn-danger{background:var(--danger);color:#fff}.modal-actions .btn-danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-2px);box-shadow:0 4px 16px #ef44444d}.modal-actions .btn-success{background:var(--success);color:#fff}.modal-actions .btn-success:hover:not(:disabled){background:var(--success-hover);transform:translateY(-2px);box-shadow:0 4px 16px #10b9814d}.modal-actions .btn-outline{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0}.modal-actions .btn-outline:hover:not(:disabled){background:var(--border-light);color:var(--text-primary)}.modal-form-group{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.modal-form-group:last-child{margin-bottom:0}.modal-form-group label{font-weight:var(--fw-semibold);color:var(--text-secondary);align-items:center;gap:4px;font-size:.85rem;display:flex}.modal-form-group label .required{color:var(--danger-text);font-weight:var(--fw-bold)}.modal-form-group input{margin-left:4px}.modal-form-group input,.modal-form-group select,.modal-form-group textarea{border:2px solid var(--border-color);background-color:var(--bg-input);color:var(--text-primary);box-sizing:border-box;border-radius:10px;width:100%;padding:.6rem .8rem;font-family:inherit;font-size:.95rem;transition:all .2s}.modal-form-group input:focus,.modal-form-group select:focus,.modal-form-group textarea:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.modal-form-group input::placeholder,.modal-form-group textarea::placeholder{color:var(--text-muted)}.modal-form-group textarea{resize:vertical;min-height:80px}.modal-form-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}.modal-info-block{border-radius:10px;align-items:flex-start;gap:12px;margin:12px 0;padding:12px 16px;display:flex}.modal-info-block.info{background:var(--accent-trans);border:1px solid var(--accent-light)}.modal-info-block.info .modal-info-icon{color:var(--accent-text)}.modal-info-block.success{background:var(--success-trans);border:1px solid #10b98133}.modal-info-block.success .modal-info-icon{color:var(--success-text)}.modal-info-block.warning{background:var(--warning-trans);border:1px solid #f59e0b33}.modal-info-block.warning .modal-info-icon{color:var(--warning-text)}.modal-info-block.danger{background:var(--danger-trans);border:1px solid #ef444433}.modal-info-block.danger .modal-info-icon{color:var(--danger-text)}.modal-info-icon{flex-shrink:0;margin-top:2px;font-size:20px}.modal-info-text{color:var(--text-secondary);font-size:14px;line-height:var(--leading-base);margin:0}.modal-data-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;margin-bottom:16px;padding:16px}.modal-data-item{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.modal-data-item:last-child{border-bottom:none}.modal-data-label{color:var(--text-muted);font-size:13px}.modal-data-value{font-size:14px;font-weight:var(--fw-medium);color:var(--text-primary);text-align:right}.modal-data-value .color-dot{vertical-align:middle;border:1px solid var(--border-color);border-radius:4px;width:20px;height:20px;margin-right:6px;display:inline-block}.empty-state{background-color:var(--bg-secondary);border:2px dashed var(--border-color);text-align:center;border-radius:24px;flex-direction:column;align-items:center;padding:48px;display:flex}.empty-state i{color:var(--accent);margin-bottom:12px;font-size:32px}.empty-text{color:var(--text-muted);margin-bottom:8px;font-size:14px;font-style:italic}.empty-container{gap:var(--space-6);flex-direction:column;width:600px;display:flex}.empty-container button{width:100%;font-size:14px}.loading-overlay{-webkit-backdrop-filter:blur(8px);width:100vw;height:100vh;z-index:var(--z-toast);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.spinner{border:6px solid #f3f3f3;border-top:6px solid var(--accent);border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(5%)}to{opacity:1;transform:translateY(0)}}.section-sep{width:100%;margin-bottom:var(--space-6);justify-content:center;display:flex}.section-sep hr{border-color:var(--border-color);width:60%}.section{background-color:var(--bg-primary);border:2px solid var(--border-color);margin-bottom:var(--space-6);border-radius:25px;padding:28px}.section-wrapper{margin-bottom:var(--space-6)}.section-title{margin-bottom:var(--space-5)}.section-title-wrapper i{color:var(--accent);font-size:32px}.section-title-wrapper{justify-content:center;gap:var(--space-5);margin-bottom:var(--space-6);flex-direction:row;display:flex}@media (width<=720px){.section-title-wrapper{text-align:center;flex-direction:column}}.filters{width:100%;margin-bottom:var(--space-6);display:flex}.filter{width:100%;max-width:256px}@media (width<=720px){.filters{justify-content:center}}.container{width:100%;max-width:1400px;padding-left:var(--space-4);padding-right:var(--space-4);margin:0 auto}.modal-wrapper{width:100%;height:100%;z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.modal-container{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:25px;max-width:550px;margin:0 auto;padding:18px}.modal-header{justify-content:space-evenly;align-items:center;gap:var(--space-5);flex-direction:row;margin-bottom:18px;display:flex}.modal-title{font-weight:var(--fw-semibold)}.modal-group{gap:var(--space-3);flex-direction:column;display:flex}.modal-group input,.modal-group select{margin-top:4px}.modal-group i{margin-right:4px}.cancel-btn{background-color:var(--bg-secondary);border:2px solid var(--border-color)}.cancel-btn:hover{background-color:var(--danger-hover);border-color:var(--danger-hover)}@media (width<=640px){.modal-form-row{grid-template-columns:1fr;gap:0}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%;padding:.8rem}.modal-data-item{flex-direction:column;align-items:flex-start;gap:2px;padding:8px 0}.modal-data-value{text-align:left;width:100%}.modal-info-block{text-align:center;flex-direction:column;align-items:center}.modal-info-icon{margin-top:0}}@media (width<=400px){.modal-form-group input,.modal-form-group select,.modal-form-group textarea{padding:.5rem .7rem;font-size:.9rem}}@media print{.modal-overlay,.loading-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;position:static}.modal-container{max-height:none;box-shadow:none;border:1px solid #ddd;border-radius:0}.modal-close-btn,.sidebar,.header-right,.footer{display:none}}
