.sidebar[data-v-aafcb033]{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-sidebar-bg);color:#fff;display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-normal),min-width var(--transition-normal);height:calc(100vh - var(--navbar-height) - var(--tabs-row-height));position:relative}.sidebar--collapsed[data-v-aafcb033]{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}@media(max-width:767px){.sidebar[data-v-aafcb033]{height:100vh}}.sidebar__scroll[data-v-aafcb033]{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0 16px}.sidebar__scroll[data-v-aafcb033]::-webkit-scrollbar{width:3px}.sidebar__scroll[data-v-aafcb033]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar__scroll[data-v-aafcb033]::-webkit-scrollbar-track{background:transparent}.sidebar__group[data-v-aafcb033]{margin-bottom:1px}.sidebar__group-title[data-v-aafcb033]{display:flex;align-items:center;padding:10px 16px;font-size:var(--font-base);color:var(--color-sidebar-text);cursor:pointer;-webkit-user-select:none;user-select:none;gap:8px;min-height:40px;position:relative;transition:all var(--transition-fast);letter-spacing:.3px;white-space:nowrap;border-left:3px solid transparent}.sidebar--collapsed .sidebar__group-title[data-v-aafcb033]{justify-content:center;padding:12px 0;border-left:none}.sidebar__group-title[data-v-aafcb033]:hover{color:var(--color-sidebar-text-active);background:var(--color-sidebar-hover)}.sidebar__group-title--active[data-v-aafcb033]{color:var(--color-sidebar-text-active);background:var(--color-sidebar-active);border-left-color:var(--color-primary)}.sidebar--collapsed .sidebar__group-title--active[data-v-aafcb033]{border-left:none}.sidebar__group-title--active[data-v-aafcb033]:before{display:none}.sidebar__group-icon[data-v-aafcb033]{font-size:16px;width:24px;text-align:center;flex-shrink:0;line-height:1}.sidebar__group-label[data-v-aafcb033]{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-base);font-weight:var(--font-weight-medium)}.sidebar__group-toggle[data-v-aafcb033]{font-size:10px;color:var(--color-sidebar-text);flex-shrink:0;display:flex;align-items:center;transition:transform var(--transition-fast)}.sidebar__group-toggle.rotated[data-v-aafcb033]{transform:rotate(180deg)}.sidebar__group-title:hover .sidebar__group-toggle[data-v-aafcb033]{color:var(--color-sidebar-text-active)}.sidebar__tooltip[data-v-aafcb033]{display:none}.sidebar--collapsed .sidebar__group-title:hover .sidebar__tooltip[data-v-aafcb033]{display:block;position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:12px;background:#1e293b;color:#fff;padding:6px 12px;border-radius:6px;font-size:var(--font-sm);white-space:nowrap;z-index:100;box-shadow:var(--shadow-lg);pointer-events:none}.sidebar--collapsed .sidebar__group-title:hover .sidebar__tooltip[data-v-aafcb033]:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#1e293b}.sidebar__items-wrapper[data-v-aafcb033]{overflow:hidden}.sidebar__item[data-v-aafcb033]{display:flex;align-items:center;gap:8px;padding:9px 16px 9px 48px;color:var(--color-sidebar-text);text-decoration:none;font-size:var(--font-md);transition:all var(--transition-fast);border-left:3px solid transparent;min-height:38px;white-space:nowrap;position:relative}.sidebar__item[data-v-aafcb033]:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar__item--active[data-v-aafcb033]{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active);border-left-color:var(--color-primary)}.sidebar__item--active[data-v-aafcb033]:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--color-primary);opacity:.5}.sidebar__item-dot[data-v-aafcb033]{width:5px;height:5px;border-radius:50%;background:var(--color-sidebar-text);flex-shrink:0;transition:all var(--transition-fast)}.sidebar__item-dot.active[data-v-aafcb033],.sidebar__item--active .sidebar__item-dot[data-v-aafcb033]{background:var(--color-primary);box-shadow:0 0 6px var(--color-primary)}.sidebar__item-label[data-v-aafcb033]{overflow:hidden;text-overflow:ellipsis}.sidebar-slide-enter-active[data-v-aafcb033]{transition:all .2s ease-out}.sidebar-slide-leave-active[data-v-aafcb033]{transition:all .15s ease-in}.sidebar-slide-enter-from[data-v-aafcb033]{opacity:0;max-height:0}.sidebar-slide-enter-to[data-v-aafcb033],.sidebar-slide-leave-from[data-v-aafcb033]{opacity:1;max-height:300px}.sidebar-slide-leave-to[data-v-aafcb033]{opacity:0;max-height:0}.sidebar__mobile-close[data-v-aafcb033]{display:none}@media(max-width:767px){.sidebar[data-v-aafcb033]{position:fixed;top:0;left:0;z-index:100;height:100vh;transform:translate(-100%);transition:transform var(--transition-slow);width:280px;min-width:280px;box-shadow:var(--shadow-lg)}.sidebar.sidebar--mobile-open[data-v-aafcb033]{transform:translate(0)}.sidebar__mobile-close[data-v-aafcb033]{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:transparent;color:var(--color-sidebar-text);cursor:pointer;border-radius:8px;z-index:2}.sidebar__mobile-close[data-v-aafcb033]:hover{color:var(--color-sidebar-text-active);background:var(--color-sidebar-hover)}.sidebar__group-title[data-v-aafcb033]{padding:12px 16px}.sidebar--collapsed[data-v-aafcb033]{width:280px;min-width:280px}}@media(min-width:768px)and (max-width:1023px){.sidebar__group-title[data-v-aafcb033]{padding:8px 12px;font-size:var(--font-sm)}.sidebar__item[data-v-aafcb033]{padding:7px 12px 7px 40px;font-size:var(--font-base)}}.page-tabs[data-v-e73b7787]{position:relative;display:flex;align-items:center;height:38px;margin-bottom:12px;overflow:hidden}.page-tabs__scroll[data-v-e73b7787]{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0 4px;flex:1;scroll-behavior:smooth}.page-tabs__scroll[data-v-e73b7787]::-webkit-scrollbar{display:none}.page-tabs__tab[data-v-e73b7787]{display:flex;align-items:center;gap:5px;padding:5px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#64748b;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #00000008;position:relative}.page-tabs__tab[data-v-e73b7787]:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.page-tabs__tab--active[data-v-e73b7787]{background:#eef2ff;border-color:#4361ee;color:#4361ee;font-weight:500;box-shadow:0 1px 3px #4361ee1a}.page-tabs__tab--active[data-v-e73b7787]:hover{background:#e0e7ff}.page-tabs__icon[data-v-e73b7787]{font-size:14px;line-height:1}.page-tabs__label[data-v-e73b7787]{line-height:1.2;max-width:160px;overflow:hidden;text-overflow:ellipsis}.page-tabs__close[data-v-e73b7787]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:#94a3b8;font-size:14px;cursor:pointer;border-radius:4px;padding:0;line-height:1;opacity:0;transition:all .15s;flex-shrink:0}.page-tabs__close--visible[data-v-e73b7787]{opacity:1}.page-tabs__close[data-v-e73b7787]:hover{background:#e2e8f0;color:#64748b}.page-tabs__tab--active .page-tabs__close[data-v-e73b7787]{color:#818cf8}.page-tabs__tab--active .page-tabs__close[data-v-e73b7787]:hover{background:#c7d2fe;color:#4361ee}.page-tabs__fade[data-v-e73b7787]{display:none}@media(min-width:768px)and (max-width:1023px){.page-tabs[data-v-e73b7787]{height:34px;margin-bottom:10px}.page-tabs__tab[data-v-e73b7787]{padding:4px 8px;font-size:11px}.page-tabs__icon[data-v-e73b7787]{font-size:12px}.page-tabs__label[data-v-e73b7787]{max-width:120px}}@media(max-width:767px){.page-tabs[data-v-e73b7787]{max-width:100%;height:32px;margin-bottom:8px}.page-tabs__tab[data-v-e73b7787]{padding:3px 7px;font-size:11px;border-radius:6px}.page-tabs__icon[data-v-e73b7787]{font-size:11px;display:none}.page-tabs__label[data-v-e73b7787]{max-width:80px}}.top-navbar[data-v-30fb1baf]{position:fixed;top:0;left:0;right:0;background:var(--color-white);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;z-index:80;box-shadow:var(--shadow-sm);transition:left var(--transition-normal)}.top-navbar__main-row[data-v-30fb1baf]{display:flex;align-items:center;padding:0 16px;height:var(--navbar-height);flex-shrink:0}.top-navbar__left[data-v-30fb1baf]{display:flex;align-items:center;gap:12px;flex-shrink:0;width:var(--sidebar-width);transition:width var(--transition-normal);overflow:hidden}.top-navbar--collapsed .top-navbar__left[data-v-30fb1baf]{width:var(--sidebar-collapsed-width)}.top-navbar__toggle[data-v-30fb1baf]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:var(--color-text-muted);border-radius:8px;cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.top-navbar__toggle[data-v-30fb1baf]:hover{background:var(--color-card-hover);color:var(--color-text)}.top-navbar__logo[data-v-30fb1baf]{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}.top-navbar__logo-icon[data-v-30fb1baf]{font-size:20px;line-height:1;flex-shrink:0}.top-navbar__logo-text[data-v-30fb1baf]{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text);overflow:hidden;text-overflow:ellipsis}.top-navbar__logo--mini[data-v-30fb1baf]{justify-content:center;width:100%}.top-navbar__center[data-v-30fb1baf]{flex:1;display:flex;align-items:center;padding:0 16px;min-width:0;overflow:hidden;gap:8px}.top-navbar__breadcrumb[data-v-30fb1baf]{display:flex;align-items:center;gap:4px;font-size:var(--font-base);color:var(--color-text-muted);overflow:hidden;flex-shrink:0}.top-navbar__breadcrumb-home[data-v-30fb1baf]{color:var(--color-text-muted);display:flex;align-items:center;padding:2px;border-radius:4px;transition:all var(--transition-fast)}.top-navbar__breadcrumb-home[data-v-30fb1baf]:hover{color:var(--color-primary);background:var(--color-primary-light)}.top-navbar__breadcrumb-item[data-v-30fb1baf]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;color:var(--color-text-muted);text-decoration:none;display:flex;align-items:center;gap:4px;flex-shrink:0;font-size:var(--font-base)}.top-navbar__breadcrumb-item--intermediate[data-v-30fb1baf]:hover{color:var(--color-primary)}.top-navbar__breadcrumb-item--active[data-v-30fb1baf]{color:var(--color-text);font-weight:var(--font-weight-medium)}.top-navbar__breadcrumb-sep[data-v-30fb1baf]{color:var(--color-text-light);font-size:14px;flex-shrink:0;margin:0 2px;line-height:1}.top-navbar__page-title[data-v-30fb1baf]{display:flex;align-items:center;gap:6px;overflow:hidden;min-width:0}.top-navbar__page-sep[data-v-30fb1baf]{color:var(--color-text-light);font-size:14px;flex-shrink:0}.top-navbar__page-text[data-v-30fb1baf]{font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-navbar__right[data-v-30fb1baf]{display:flex;align-items:center;gap:10px;flex-shrink:0}.top-navbar__lang[data-v-30fb1baf]{display:flex;gap:3px;background:var(--color-card-hover);padding:3px;border-radius:8px}.top-navbar__lang-btn[data-v-30fb1baf]{padding:3px 8px;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--font-sm);font-weight:var(--font-weight-medium);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);line-height:1.4;min-height:26px;letter-spacing:.5px}.top-navbar__lang-btn.active[data-v-30fb1baf]{background:var(--color-white);color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.top-navbar__lang-btn[data-v-30fb1baf]:hover:not(.active){color:var(--color-text);background:#0000000a}.top-navbar__divider[data-v-30fb1baf]{width:1px;height:20px;background:var(--color-border);flex-shrink:0}.top-navbar__admin[data-v-30fb1baf]{position:relative;cursor:pointer}.top-navbar__admin-trigger[data-v-30fb1baf]{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.top-navbar__admin-trigger[data-v-30fb1baf]:hover{background:var(--color-card-hover)}.top-navbar__avatar[data-v-30fb1baf]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#3a0ca3);color:#fff;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);flex-shrink:0}.top-navbar__admin-info[data-v-30fb1baf]{display:flex;flex-direction:column;line-height:1.3}.top-navbar__admin-name[data-v-30fb1baf]{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap}.top-navbar__admin-role[data-v-30fb1baf]{font-size:var(--font-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.top-navbar__admin-arrow[data-v-30fb1baf]{color:var(--color-text-light);transition:transform var(--transition-fast);flex-shrink:0}.top-navbar__admin-arrow.open[data-v-30fb1baf]{transform:rotate(180deg)}.top-navbar__admin-dropdown[data-v-30fb1baf]{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden}.top-navbar__dropdown-header[data-v-30fb1baf]{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-border)}.top-navbar__dropdown-avatar[data-v-30fb1baf]{width:36px;height:36px;font-size:var(--font-md)}.top-navbar__dropdown-name[data-v-30fb1baf]{font-size:var(--font-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.top-navbar__dropdown-role[data-v-30fb1baf]{font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.top-navbar__dropdown-items[data-v-30fb1baf]{padding:4px}.top-navbar__dropdown-item[data-v-30fb1baf]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--color-text);font-size:var(--font-base);cursor:pointer;border-radius:6px;transition:all var(--transition-fast);text-align:left;line-height:1.4}.top-navbar__dropdown-item[data-v-30fb1baf]:hover{background:var(--color-card-hover);color:var(--color-primary)}.top-navbar__dropdown-item--danger[data-v-30fb1baf]:hover{background:var(--color-danger-bg);color:var(--color-danger)}.top-navbar__dropdown-item svg[data-v-30fb1baf]{flex-shrink:0;opacity:.6}.top-navbar__dropdown-item:hover svg[data-v-30fb1baf]{opacity:1}.top-navbar__dropdown-divider[data-v-30fb1baf]{height:1px;background:var(--color-border);margin:4px 0}.dropdown-fade-enter-active[data-v-30fb1baf]{transition:all .15s ease-out}.dropdown-fade-leave-active[data-v-30fb1baf]{transition:all .1s ease-in}.dropdown-fade-enter-from[data-v-30fb1baf]{opacity:0;transform:translateY(-4px)}.dropdown-fade-leave-to[data-v-30fb1baf]{opacity:0;transform:translateY(-2px)}.top-navbar__tabs-row[data-v-30fb1baf]{flex-shrink:0}.top-navbar__tabs-row[data-v-30fb1baf] .page-tabs{margin-bottom:0;padding:0 16px 2px;border:none;box-shadow:none;background:transparent}.top-navbar__tabs-row[data-v-30fb1baf] .page-tabs__tab{font-size:12px;padding:4px 10px}@media(max-width:1023px){.top-navbar__admin-info[data-v-30fb1baf],.top-navbar__admin-arrow[data-v-30fb1baf]{display:none}.top-navbar__lang-btn[data-v-30fb1baf]{padding:3px 6px;font-size:11px}.top-navbar__breadcrumb-item[data-v-30fb1baf]{max-width:120px;font-size:var(--font-sm)}.top-navbar__page-title[data-v-30fb1baf]{display:none}}@media(max-width:767px){.top-navbar[data-v-30fb1baf]{display:none}}.layout[data-v-cad9e277]{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg)}.layout__hamburger[data-v-cad9e277]{display:none;position:fixed;top:6px;left:12px;z-index:110;width:36px;height:36px;border:none;background:var(--color-primary);border-radius:8px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;box-shadow:0 2px 8px #0003;transition:transform var(--transition-fast)}.layout__hamburger[data-v-cad9e277]:active{transform:scale(.95)}.layout__hamburger-line[data-v-cad9e277]{display:block;width:18px;height:2.5px;background:#fff;border-radius:2px;transition:all var(--transition-slow);transform-origin:center}.layout__hamburger-line.open[data-v-cad9e277]:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.layout__hamburger-line.open[data-v-cad9e277]:nth-child(2){opacity:0}.layout__hamburger-line.open[data-v-cad9e277]:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.layout__mobile-header[data-v-cad9e277]{display:none;position:fixed;top:0;left:0;right:0;z-index:60;height:48px;background:var(--color-white);border-bottom:1px solid var(--color-border);align-items:center;justify-content:center;padding:0 60px;box-shadow:var(--shadow-sm)}.layout__mobile-header-title[data-v-cad9e277]{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.layout__overlay[data-v-cad9e277]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:99;opacity:0;animation:layoutFadeIn-cad9e277 .2s ease forwards}@keyframes layoutFadeIn-cad9e277{to{opacity:1}}.layout__body[data-v-cad9e277]{display:flex;flex:1;margin-top:calc(var(--navbar-height) + var(--tabs-row-height));min-height:calc(100vh - var(--navbar-height) - var(--tabs-row-height))}.layout__main[data-v-cad9e277]{flex:1;min-width:0;overflow-y:auto;padding:24px 28px;background:var(--color-bg);transition:padding var(--transition-normal)}.layout__main--sidebar-collapsed[data-v-cad9e277]{padding:24px 32px}@media(min-width:768px)and (max-width:1023px){.layout__main[data-v-cad9e277]{padding:20px 24px}.layout__main--sidebar-collapsed[data-v-cad9e277]{padding:20px 28px}}@media(max-width:767px){.layout__hamburger[data-v-cad9e277],.layout__mobile-header[data-v-cad9e277]{display:flex}.layout__main[data-v-cad9e277]{padding:64px 16px 68px}.layout__body[data-v-cad9e277]{margin-top:0}}.mobile-bottom-nav[data-v-271c62dc]{position:fixed;bottom:0;left:0;right:0;z-index:80;display:flex;background:#fff;border-top:1px solid #e5e7eb;padding:6px 0;padding-bottom:max(6px,env(safe-area-inset-bottom));box-shadow:0 -2px 10px #00000014;justify-content:space-around}.bottom-nav-item[data-v-271c62dc]{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#9ca3af;gap:2px;padding:2px 8px;min-width:52px;transition:color .2s;-webkit-tap-highlight-color:transparent}.bottom-nav-item.active[data-v-271c62dc]{color:#4361ee}.bottom-nav-item[data-v-271c62dc]:active{transform:scale(.95)}.nav-icon[data-v-271c62dc]{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.nav-label[data-v-271c62dc]{font-size:10px;line-height:1;white-space:nowrap}@media(min-width:768px){.mobile-bottom-nav[data-v-271c62dc]{display:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#333}.pull-indicator{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#f0f2f5,transparent);overflow:hidden;transition:height .1s}.pull-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top:3px solid #4361ee;border-radius:50%;animation:spin .8s linear infinite}.pull-spinner.refreshing{border-top-color:#10b981}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}@media(display-mode:standalone){body{user-select:none;-webkit-user-select:none}.main-content{-webkit-overflow-scrolling:touch}}:root{--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--navbar-height: 50px;--tabs-row-height: 38px;--color-primary: #4361ee;--color-primary-hover: #3451d6;--color-primary-light: #eef0ff;--color-sidebar-bg: #1a1a2e;--color-sidebar-hover: #16213e;--color-sidebar-active: #0f3460;--color-sidebar-text: #94a3b8;--color-sidebar-text-active: #fff;--color-bg: #f0f2f5;--color-card: #fff;--color-card-hover: #f8f9fa;--color-text: #333;--color-text-muted: #888;--color-text-light: #aaa;--color-border: #eee;--color-border-light: #f0f0f0;--color-white: #fff;--color-danger: #ef4444;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-success: #10b981;--color-warning: #f59e0b;--header-height: 48px;--touch-target-min: 44px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--font-xs: 11px;--font-sm: 12px;--font-base: 13px;--font-md: 14px;--font-lg: 16px;--font-xl: 20px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .3s ease}[data-theme=dark]{--color-primary: #5b7bfa;--color-primary-hover: #4a6af0;--color-primary-light: #1e2240;--color-sidebar-bg: #0d1117;--color-sidebar-hover: #161b22;--color-sidebar-active: #1c2333;--color-sidebar-text: #8b949e;--color-sidebar-text-active: #e6edf3;--color-bg: #0d1117;--color-card: #161b22;--color-card-hover: #1c2128;--color-text: #e6edf3;--color-text-muted: #8b949e;--color-text-light: #6e7681;--color-border: #30363d;--color-border-light: #21262d;--color-white: #1c2128;--color-danger: #f85149;--color-danger-bg: #2d1b1b;--color-danger-border: #442626;--color-success: #3fb950;--color-warning: #d29922;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5)}button,a,select,input[type=checkbox],input[type=radio],.btn-sm,.btn-outline,.btn-primary{min-height:var(--touch-target-min)}button,.btn-sm,.btn-outline,.btn-primary{min-height:var(--touch-target-min);padding:10px 16px}.btn-sm{padding:8px 14px;font-size:14px}.responsive-table{width:100%;border-collapse:collapse;background:var(--color-card);border-radius:var(--radius-md);overflow:hidden}.responsive-table th,.responsive-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--color-border);font-size:14px}.responsive-table th{background:#f8f9fa;font-weight:600;font-size:12px;text-transform:uppercase;color:var(--color-text-muted)}@media(max-width:767px){.responsive-table thead{display:none}.responsive-table tr{display:block;padding:12px 14px;border-bottom:1px solid var(--color-border);margin-bottom:8px;background:var(--color-card);border-radius:var(--radius-sm);box-shadow:0 1px 3px #0000000f}.responsive-table td{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:none;font-size:14px}.responsive-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);font-size:12px;text-transform:uppercase;margin-right:12px;flex-shrink:0}.responsive-table td:last-child{padding-top:8px;border-top:1px solid var(--color-border)}.responsive-table .actions-cell{display:flex;gap:8px;justify-content:flex-end}.responsive-table .actions-cell:before{display:none}}@media(max-width:767px){.layout__main table thead,.main-content table thead,#app-container table thead{display:none}.layout__main table tbody tr,.main-content table tbody tr,#app-container table tbody tr{display:block;padding:12px 14px;border-bottom:1px solid var(--color-border);margin-bottom:8px;background:var(--color-card);border-radius:var(--radius-sm);box-shadow:0 1px 3px #0000000f}.layout__main table tbody td,.main-content table tbody td,#app-container table tbody td{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:none;font-size:14px}.layout__main table tbody td[data-label]:before,.main-content table tbody td[data-label]:before,#app-container table tbody td[data-label]:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);font-size:12px;text-transform:uppercase;margin-right:12px;flex-shrink:0}.layout__main table tbody td:last-child,.main-content table tbody td:last-child,#app-container table tbody td:last-child{padding-top:8px;border-top:1px solid var(--color-border)}.layout__main .actions-cell,.main-content .actions-cell,#app-container .actions-cell{display:flex;gap:8px;justify-content:flex-end}.layout__main .actions-cell:before,.main-content .actions-cell:before,#app-container .actions-cell:before{display:none}}.filter-bar-stack{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:767px){.filter-bar-stack{flex-direction:column}.filter-bar-stack>*{width:100%}}.stats-grid-responsive{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}@media(min-width:768px){.stats-grid-responsive{grid-template-columns:repeat(4,1fr);gap:16px}}.page-header-responsive{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}@media(min-width:768px){.page-header-responsive{flex-direction:row;justify-content:space-between;align-items:flex-start}}.form-grid-responsive{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:640px){.form-grid-responsive{grid-template-columns:1fr 1fr}}.card-grid-responsive{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:640px){.card-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid-responsive{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.modal{width:95vw!important;max-width:95vw!important;margin:0 auto;max-height:85vh}.modal .form-grid{grid-template-columns:1fr!important}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}@media(max-width:767px){.search-bar{flex-direction:column}.search-bar .search-input,.search-bar .filter-select,.search-bar button{width:100%}}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@supports (padding: env(safe-area-inset-top)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.mobile-card-list{display:flex;flex-direction:column;gap:10px}.mobile-card-list .card-item{background:var(--color-card);border-radius:var(--radius-md);padding:14px 16px;box-shadow:0 1px 3px #0000000f;transition:transform .15s}.mobile-card-list .card-item:active{transform:scale(.98)}@media(max-width:767px){.modal-overlay{align-items:flex-end!important}.modal{width:100%!important;max-width:100%!important;border-radius:16px 16px 0 0!important;max-height:85vh!important;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:16px 16px 0!important}.modal-body{padding:12px 16px!important}.modal-footer{padding:12px 16px 16px!important;flex-direction:column;gap:8px}.modal-footer button{width:100%}.form-grid{grid-template-columns:1fr!important}.btn-group-stack{flex-direction:column}.btn-group-stack>*{width:100%}}.touch-row{display:flex;align-items:center;padding:14px 16px;background:var(--color-card);border-bottom:1px solid var(--color-border);min-height:52px;gap:12px}.touch-row:active{background:#f5f5f5}.mobile-search-bar{display:flex;gap:8px;margin-bottom:16px;width:100%}@media(max-width:767px){.mobile-search-bar{flex-direction:column}.mobile-search-bar>*{width:100%}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-text-muted);gap:12px;text-align:center}.empty-state-icon{font-size:48px;opacity:.4}.empty-state-text{font-size:14px;color:var(--color-text-muted)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:14px;margin-bottom:8px;width:100%}.skeleton-line:last-child{width:60%}.skeleton-card{height:80px;margin-bottom:10px;border-radius:var(--radius-md)}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:90vw}.toast{background:#333;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;box-shadow:0 4px 12px #00000026;animation:toastIn .25s ease;pointer-events:auto}.toast.success{background:#10b981}.toast.error{background:#ef4444}.toast.warning{background:#f59e0b}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top:3px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;align-items:center;justify-content:center;padding:60px;gap:12px;color:var(--color-text-muted)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
