.app-header[data-v-d0e87e29]{position:sticky;top:0;z-index:100;background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-bottom:1px solid var(--glass-border)}.app-header-inner[data-v-d0e87e29]{max-width:1200px;margin:0 auto;padding:12px var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.brand[data-v-d0e87e29]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.brand-logo[data-v-d0e87e29]{font-size:24px;line-height:1.2;flex-shrink:0}.brand-name[data-v-d0e87e29]{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:1.25;white-space:nowrap;color:var(--accent)}.nav-desktop[data-v-d0e87e29]{display:flex;align-items:center;gap:var(--space-xs)}.nav-link[data-v-d0e87e29]{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition)}.nav-link[data-v-d0e87e29]:hover{background:var(--glass-bg);color:var(--accent)}.nav-link.active[data-v-d0e87e29]{background:var(--accent-soft);color:var(--accent-hover)}.header-right[data-v-d0e87e29]{display:flex;align-items:center;gap:var(--space-sm)}.user-avatar[data-v-d0e87e29]{width:34px;height:34px;border:none;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,#0ea5e9 100%);color:var(--text-on-accent);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.02em;-webkit-user-select:none;user-select:none;cursor:pointer;box-shadow:0 2px 8px #2563eb40;transition:transform var(--transition),box-shadow var(--transition)}.user-avatar[data-v-d0e87e29]:hover{transform:scale(1.06);box-shadow:0 4px 12px #2563eb59}.user-avatar[data-v-d0e87e29]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-mobile-link.nav-mobile-logout[data-v-d0e87e29]{margin-top:var(--space-xs);border:none;border-top:1px solid var(--glass-border-soft);background:transparent;color:var(--danger);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);text-align:left;cursor:pointer}.nav-mobile-link.nav-mobile-logout[data-v-d0e87e29]:hover{background:#ef44441a;color:var(--danger)}.hamburger[data-v-d0e87e29]{display:none;width:40px;height:40px;border:none;background:var(--glass-bg);border-radius:var(--radius-sm);cursor:pointer;position:relative}.hamburger span[data-v-d0e87e29],.hamburger span[data-v-d0e87e29]:before,.hamburger span[data-v-d0e87e29]:after{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:18px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition)}.hamburger span[data-v-d0e87e29]:before{content:"";top:-6px}.hamburger span[data-v-d0e87e29]:after{content:"";top:6px}.hamburger span.open[data-v-d0e87e29]{background:transparent}.hamburger span.open[data-v-d0e87e29]:before{top:0;transform:translate(-50%,-50%) rotate(45deg)}.hamburger span.open[data-v-d0e87e29]:after{top:0;transform:translate(-50%,-50%) rotate(-45deg)}.nav-mobile[data-v-d0e87e29]{display:none;flex-direction:column;padding:var(--space-sm) var(--space-lg) var(--space-md);gap:var(--space-xs)}.nav-mobile-link[data-v-d0e87e29]{display:flex;align-items:center;gap:var(--space-sm);padding:12px 16px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:var(--fw-medium)}.nav-mobile-link.active[data-v-d0e87e29],.nav-mobile-link[data-v-d0e87e29]:hover{background:var(--accent-soft);color:var(--accent-hover)}.mobile-menu-enter-active[data-v-d0e87e29],.mobile-menu-leave-active[data-v-d0e87e29]{transition:all .25s ease;overflow:hidden}.mobile-menu-enter-from[data-v-d0e87e29],.mobile-menu-leave-to[data-v-d0e87e29]{opacity:0;max-height:0}.mobile-menu-enter-to[data-v-d0e87e29],.mobile-menu-leave-from[data-v-d0e87e29]{opacity:1;max-height:200px}@media (max-width: 768px){.nav-desktop[data-v-d0e87e29]{display:none}.hamburger[data-v-d0e87e29]{display:block}.nav-mobile[data-v-d0e87e29]{display:flex}}@media (max-width: 480px){.header-right .btn-text[data-v-d0e87e29]{display:none}}.app-main[data-v-48b17569]{flex:1;display:flex;flex-direction:column}.app-main.auth-layout[data-v-48b17569]{align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg)}.page-enter-active[data-v-48b17569],.page-leave-active[data-v-48b17569]{transition:opacity .2s ease,transform .2s ease}.page-enter-from[data-v-48b17569]{opacity:0;transform:translateY(8px)}.page-leave-to[data-v-48b17569]{opacity:0;transform:translateY(-8px)}.toast-list-enter-active[data-v-48b17569],.toast-list-leave-active[data-v-48b17569]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-list-enter-from[data-v-48b17569]{opacity:0;transform:translateY(-12px)}.toast-list-leave-to[data-v-48b17569]{opacity:0;transform:translate(20px)}:root{--bg-gradient: linear-gradient(135deg, #dbeafe 0%, #eff6ff 50%, #e0f2fe 100%);--bg-gradient-secondary: linear-gradient(135deg, #93c5fd 0%, #60a5fa 100%);--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .72);--glass-bg-soft: rgba(255, 255, 255, .35);--glass-border: rgba(255, 255, 255, .65);--glass-border-soft: rgba(255, 255, 255, .35);--glass-shadow: 0 8px 32px rgba(30, 64, 175, .18);--glass-shadow-strong: 0 12px 40px rgba(30, 64, 175, .25);--glass-blur: 20px;--glass-saturate: 180%;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 28px;--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-on-accent: #ffffff;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: rgba(37, 99, 235, .12);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #0ea5e9;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 24px;--fs-2xl: 32px;--fs-3xl: 40px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:var(--fs-base);color:var(--text-primary);line-height:1.5;background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body:before,body:after{content:"";position:fixed;border-radius:50%;filter:blur(80px);z-index:-1;pointer-events:none}body:before{width:500px;height:500px;top:-150px;left:-100px;background:radial-gradient(circle,rgba(59,130,246,.55) 0%,transparent 70%)}body:after{width:600px;height:600px;bottom:-200px;right:-150px;background:radial-gradient(circle,rgba(14,165,233,.45) 0%,transparent 70%)}#app{min-height:100vh;display:flex;flex-direction:column}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}ul,ol{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2563eb40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2563eb66}.text-center{text-align:center}.text-right{text-align:right}.muted{color:var(--text-secondary)}.faint{color:var(--text-tertiary)}.mono{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.full-width{width:100%}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--space-lg);transition:transform var(--transition),box-shadow var(--transition)}.glass-card.clickable{cursor:pointer}.glass-card.clickable:hover{transform:translateY(-4px);box-shadow:var(--glass-shadow-strong)}.glass-card.clickable:active{transform:translateY(-1px) scale(.99)}@supports not (backdrop-filter: blur(1px)){.glass-card{background:#ffffffd9}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;border-radius:var(--radius-md);font-weight:var(--fw-medium);font-size:var(--fs-base);border:1px solid transparent;cursor:pointer;transition:all var(--transition);min-height:44px;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-glass{background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-color:var(--glass-border);color:var(--text-primary);box-shadow:var(--glass-shadow)}.btn-glass:hover:not(:disabled){background:#ffffffd9;transform:translateY(-1px)}.btn-glass:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,#60a5fa 100%);color:var(--text-on-accent);box-shadow:0 4px 14px #2563eb66}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover) 0%,#3b82f6 100%);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb80}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#fb7185 100%);color:var(--text-on-accent);box-shadow:0 4px 14px #ef444459}.btn-danger:hover:not(:disabled){transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--accent);border-color:var(--accent);box-shadow:none}.btn-outline:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-hover);color:var(--accent-hover);transform:translateY(-1px)}.btn-outline:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-text{background:transparent;color:var(--accent);padding:6px 10px;min-height:36px}.btn-text:hover:not(:disabled){background:var(--accent-soft)}.btn-text.danger{color:var(--danger)}.btn-text.danger:hover:not(:disabled){background:#ef44441a}.btn-sm{padding:6px 14px;font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--radius-sm);min-height:32px;gap:4px}.btn-success{background:#22c55e29;color:#16a34a;border-color:#22c55e59;box-shadow:none}.btn-success:hover:not(:disabled){background:#22c55e42;border-color:#22c55e8c;transform:translateY(-1px)}.btn-success:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-danger{background:#ef444429;color:#dc2626;border-color:#ef444459;box-shadow:none}.btn-danger:hover:not(:disabled){background:#ef444442;border-color:#ef44448c;transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-ghost-danger{background:transparent;color:var(--danger);border-color:#ef444466}.btn-ghost-danger:hover:not(:disabled){background:#ef44441f;border-color:var(--danger)}.btn-ghost-danger:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-block{width:100%}.input,.select,.textarea{width:100%;padding:11px 16px;background:var(--glass-bg-soft);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border-soft);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);transition:all var(--transition);min-height:44px}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);background:#ffffffb3;box-shadow:0 0 0 4px #2563eb1f}.input:disabled{opacity:.6;cursor:not-allowed}.input.error{border-color:var(--danger)}.textarea{min-height:100px;resize:vertical;font-family:inherit}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium);padding-left:4px}.field-error{font-size:var(--fs-xs);color:var(--danger);padding-left:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-md);animation:fade-in .2s ease-out}.modal-panel{background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-strong);padding:var(--space-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:modal-pop .25s cubic-bezier(.34,1.56,.64,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.modal-title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text-primary)}.modal-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--glass-bg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:18px;transition:all var(--transition)}.modal-close:hover{background:#ef444426;color:var(--danger)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--glass-border-soft);white-space:nowrap}.table th{font-weight:var(--fw-medium);color:var(--text-secondary);font-size:var(--fs-sm);background:#fff6}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:#ffffff59}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-medium)}.badge-success{background:#10b98126;color:#047857}.badge-warning{background:#f59e0b26;color:#b45309}.badge-info{background:var(--accent-soft);color:var(--accent-hover)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.kpi{display:flex;flex-direction:column;gap:4px}.kpi-label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}.kpi-value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.kpi-value.accent{background:linear-gradient(135deg,var(--accent) 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.grid{display:grid;gap:var(--space-md)}.grid-products,.grid-accounts{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.page{flex:1;padding:var(--space-lg);max-width:1200px;margin:0 auto;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary)}.page-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:4px}.spinner{width:24px;height:24px;border:3px solid var(--glass-border-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--text-secondary);gap:var(--space-md)}.empty-state-icon{font-size:56px;opacity:.7}.toast-container{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none;width:calc(100% - 32px);max-width:400px}.toast{padding:12px 18px;border-radius:var(--radius-md);background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);font-size:var(--fs-sm);color:var(--text-primary);animation:toast-slide .3s cubic-bezier(.34,1.56,.64,1)}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}.toast.info{border-left:4px solid var(--info)}@keyframes toast-slide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){:root{--space-lg: 16px;--space-xl: 20px;--space-2xl: 32px;--fs-2xl: 26px;--fs-3xl: 32px;--radius-lg: 16px;--radius-xl: 22px}.page{padding:var(--space-md)}.page-header{flex-direction:column;align-items:stretch;margin-bottom:var(--space-md)}.page-title{font-size:var(--fs-xl)}.glass-card{padding:var(--space-md);border-radius:var(--radius-lg)}.modal-panel{padding:var(--space-lg);border-radius:var(--radius-lg);max-width:100%}.btn-mobile-block{width:100%}.table-mobile-cards .table{display:block}.table-mobile-cards thead{display:none}.table-mobile-cards tr{display:block;padding:var(--space-md) 0;border-bottom:1px solid var(--glass-border-soft);background:transparent!important}.table-mobile-cards tr:last-child{border-bottom:none}.table-mobile-cards td{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:none;text-align:right;white-space:normal}.table-mobile-cards td:before{content:attr(data-label);font-weight:var(--fw-medium);color:var(--text-secondary);font-size:var(--fs-sm);text-align:left;margin-right:var(--space-md)}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.grid-products,.grid-accounts{grid-template-columns:1fr}}@media (max-width: 480px){:root{--space-md: 12px;--space-lg: 16px;--fs-lg: 18px;--fs-xl: 20px}.page{padding:var(--space-sm)}.glass-card{padding:var(--space-md)}.kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:var(--fs-xl)}.btn{min-height:44px;padding:12px 18px}.btn-text{min-height:40px}}@supports (padding: max(0px)){.page{padding-left:max(var(--space-lg),env(safe-area-inset-left));padding-right:max(var(--space-lg),env(safe-area-inset-right))}.toast-container{top:max(var(--space-lg),env(safe-area-inset-top))}@media (max-width: 768px){.page{padding-left:max(var(--space-md),env(safe-area-inset-left));padding-right:max(var(--space-md),env(safe-area-inset-right))}}}@media (prefers-color-scheme: dark){:root{--bg-gradient: linear-gradient(135deg, #1e1b4b 0%, #4c1d95 50%, #831843 100%);--glass-bg: rgba(255, 255, 255, .08);--glass-bg-strong: rgba(255, 255, 255, .12);--glass-bg-soft: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .15);--glass-border-soft: rgba(255, 255, 255, .1);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8}body:before{background:radial-gradient(circle,rgba(59,130,246,.35) 0%,transparent 70%)}body:after{background:radial-gradient(circle,rgba(14,165,233,.3) 0%,transparent 70%)}}
