:root{--color-primary: #00d4ff;--color-primary-light: #4de3ff;--color-primary-dark: #00a8cc;--color-success: #00ff88;--color-warning: #ffaa00;--color-danger: #ff4757;--color-info: #00d4ff;--color-bg-base: #0a0e17;--color-bg-secondary: #0f1629;--color-bg-tertiary: #0d1b3e;--color-bg-card: rgba(20, 30, 50, .8);--color-bg-hover: rgba(0, 212, 255, .1);--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .85);--color-text-tertiary: rgba(255, 255, 255, .65);--color-text-disabled: rgba(255, 255, 255, .25);--color-border-base: rgba(255, 255, 255, .12);--color-border-light: rgba(255, 255, 255, .08);--color-shadow: rgba(0, 0, 0, .5);--color-glow-primary: rgba(0, 212, 255, .3);--color-glow-success: rgba(0, 255, 136, .3);--gradient-primary: linear-gradient(135deg, #00d4ff 0%, #00ff88 100%);--gradient-bg: linear-gradient(135deg, #0a0e17 0%, #0d1b3e 50%, #0a1628 100%);--gradient-card: linear-gradient(135deg, rgba(20, 30, 50, .9) 0%, rgba(15, 22, 41, .9) 100%);--glow-primary: 0 0 20px rgba(0, 212, 255, .4), 0 0 40px rgba(0, 212, 255, .2);--glow-success: 0 0 20px rgba(0, 255, 136, .4), 0 0 40px rgba(0, 255, 136, .2);--glow-danger: 0 0 20px rgba(255, 71, 87, .4), 0 0 40px rgba(255, 71, 87, .2);--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-size-5xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-loose: 1.75;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--spacing-4xl: 64px;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 var(--color-shadow);--shadow-base: 0 2px 4px 0 var(--color-shadow);--shadow-md: 0 4px 8px 0 var(--color-shadow);--shadow-lg: 0 8px 16px 0 var(--color-shadow);--shadow-xl: 0 16px 32px 0 var(--color-shadow);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}.text-info{color:var(--color-info)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.bg-base{background-color:var(--color-bg-base)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-card{background-color:var(--color-bg-card)}.bg-gradient{background:var(--gradient-bg)}.bg-gradient-primary{background:var(--gradient-primary)}.bg-gradient-card{background:var(--gradient-card)}.p-xl{padding:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-base{margin:var(--spacing-base)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-around{justify-content:space-around}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.grid{display:grid}.rounded-base{border-radius:var(--radius-base)}.rounded-xl{border-radius:var(--radius-xl)}.shadow-base{box-shadow:var(--shadow-base)}.shadow-xl{box-shadow:var(--shadow-xl)}.glow-primary{box-shadow:var(--glow-primary)}.glow-success{box-shadow:var(--glow-success)}.glow-danger{box-shadow:var(--glow-danger)}.border-base{border:1px solid var(--color-border-base)}.border-light{border:1px solid var(--color-border-light)}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}body{margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--gradient-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}::selection{background:var(--color-primary);color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}button{font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}input,textarea,select{font-family:inherit;font-size:var(--font-size-base)}code,pre{font-family:var(--font-family-mono);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.card{background:var(--color-bg-card);border:1px solid var(--color-border-base);border-radius:var(--radius-lg);padding:var(--spacing-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.dash-card{background:linear-gradient(135deg,#00d4ff14,#0009);border:1px solid var(--color-border-base);border-radius:var(--radius-md);padding:var(--spacing-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dash-card-title{font-size:var(--font-size-xs);color:var(--color-text-tertiary);letter-spacing:1px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.dash-number{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-primary-light);font-variant-numeric:tabular-nums}.dash-unit{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-left:var(--spacing-xs)}.status-online{color:var(--color-success)}.status-busy{color:var(--color-warning)}.status-offline{color:var(--color-danger)}.status-idle{color:var(--color-primary)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-primary{background:var(--color-primary-bg);color:var(--color-primary);border:1px solid var(--color-primary-border)}.badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-base);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.btn-primary{background:var(--color-primary);color:var(--color-bg-base);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-light);box-shadow:var(--shadow-glow-primary)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary-border)}.btn-secondary:hover{background:var(--color-primary-bg);border-color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.fade-in{animation:fadeIn .3s ease-in}.fade-in-up{animation:fadeInUp .5s ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.scanline{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.6),transparent);animation:scanline 4s linear infinite;pointer-events:none;z-index:9999}.page-enter{animation:fadeIn .3s ease-in}@media (max-width: 767px){html{touch-action:manipulation}.mobile-content{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.ant-table{font-size:var(--font-size-sm)!important}.ant-table-thead>tr>th{padding:var(--spacing-sm) var(--spacing-xs)!important;font-size:var(--font-size-sm)!important}.ant-table-tbody>tr>td{padding:var(--spacing-sm) var(--spacing-xs)!important}.ant-modal{max-width:94vw!important;margin:0 auto!important}.ant-drawer-content-wrapper{max-width:100vw!important}}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-primary-bg)}.bg-success{background-color:var(--color-success-bg)}.bg-warning{background-color:var(--color-warning-bg)}.bg-danger{background-color:var(--color-danger-bg)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-base{margin-top:var(--spacing-base)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-base{margin-bottom:var(--spacing-base)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-base{padding:var(--spacing-base)}.p-lg{padding:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-base{gap:var(--spacing-base)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.login-container{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-base) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(0,212,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,255,136,.05) 0%,transparent 40%),radial-gradient(circle at 60% 80%,rgba(168,85,247,.05) 0%,transparent 40%);pointer-events:none}.login-card{width:420px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-glow-primary);background:var(--color-bg-card);border:1px solid var(--color-border-base);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:1}.login-card-body{padding:48px}.login-logo-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.login-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,212,255,.3))}.login-title{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:1px}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.login-tabs .ant-tabs-nav{margin-bottom:var(--spacing-lg)}.login-tabs .ant-tabs-tab{color:var(--color-text-tertiary);font-size:var(--font-size-base);transition:color var(--transition-fast)}.login-tabs .ant-tabs-tab:hover{color:var(--color-text-secondary)}.login-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary);font-weight:var(--font-weight-medium)}.login-tabs .ant-tabs-ink-bar{background:var(--color-primary);height:2px}.login-form .ant-form-item{margin-bottom:var(--spacing-lg)}.login-form .ant-input-affix-wrapper{background:#141e3299;border:1px solid var(--color-border-base);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-base);transition:all var(--transition-fast)}.login-form .ant-input-affix-wrapper:hover{border-color:var(--color-primary)}.login-form .ant-input-affix-wrapper:focus,.login-form .ant-input-affix-wrapper-focused{border-color:var(--color-primary);box-shadow:0 0 0 2px #00d4ff1a}.login-form .ant-input{background:transparent;color:var(--color-text-primary);font-size:var(--font-size-base)}.login-form .ant-input::placeholder{color:var(--color-text-tertiary)}.login-form .ant-input-prefix{color:var(--color-text-tertiary);margin-right:var(--spacing-sm)}.login-form .ant-input-suffix{color:var(--color-text-tertiary)}.login-btn{height:44px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-base);transition:all var(--transition-base)}.login-btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border:none}.login-btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);box-shadow:var(--shadow-glow-primary);transform:translateY(-1px)}.qrcode-wrapper{width:200px;height:200px;margin:0 auto var(--spacing-md);border:1px solid var(--color-border-base);border-radius:var(--radius-lg);overflow:hidden;position:relative;background:#fffffff2;display:flex;align-items:center;justify-content:center}.qrcode-wrapper img{width:100%;height:100%;object-fit:contain;display:block}.qrcode-expired{text-align:center;padding:0 var(--spacing-base)}.qrcode-expired-text{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.qrcode-countdown{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.qrcode-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;margin-top:var(--spacing-sm)}.login-alert{margin-bottom:var(--spacing-base);border-radius:var(--radius-md);border:1px solid}.login-alert-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.login-alert-error{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.mobile-login-container{min-height:100vh;background:linear-gradient(160deg,var(--color-bg-base) 0%,var(--color-bg-tertiary) 60%,var(--color-bg-secondary) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--spacing-xl)}.mobile-login-logo{width:80px;height:80px;object-fit:contain;margin-bottom:var(--spacing-sm);filter:drop-shadow(0 4px 16px rgba(0,212,255,.4))}.mobile-login-title{color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);letter-spacing:2px;margin-bottom:var(--spacing-xs)}.mobile-login-subtitle{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3xl)}.wechat-icon-wrapper{width:96px;height:96px;border-radius:50%;background:var(--color-success-bg);border:2px solid var(--color-success-border);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl)}.wechat-icon-wrapper .anticon{font-size:52px;color:var(--color-success)}.wechat-login-btn{width:100%;max-width:300px;height:52px;background:var(--color-success);border:none;border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:var(--shadow-glow-success);transition:all var(--transition-base)}.wechat-login-btn:hover{background:#00e676;transform:translateY(-2px);box-shadow:0 8px 24px #0f86}.switch-btn{margin-top:var(--spacing-xl);background:none;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.switch-btn:hover{color:var(--color-text-secondary)}.review-status-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--spacing-xl)}.review-status-container.pending{background:linear-gradient(160deg,var(--color-bg-base) 0%,rgba(255,170,0,.1) 60%,var(--color-bg-secondary) 100%)}.review-status-container.rejected{background:linear-gradient(160deg,var(--color-bg-base) 0%,rgba(255,71,87,.1) 60%,var(--color-bg-secondary) 100%)}.status-icon-wrapper{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl)}.status-icon-wrapper.pending{background:var(--color-warning-bg);border:2px solid var(--color-warning-border)}.status-icon-wrapper.rejected{background:var(--color-danger-bg);border:2px solid var(--color-danger-border)}.status-icon-wrapper .anticon{font-size:48px}.status-icon-wrapper.pending .anticon{color:var(--color-warning)}.status-icon-wrapper.rejected .anticon{color:var(--color-danger)}.status-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.status-title.pending{color:var(--color-warning)}.status-title.rejected{color:var(--color-danger)}.status-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-loose);text-align:center;max-width:300px;margin-bottom:var(--spacing-2xl)}.hint-box{background:#ffaa001a;border:1px solid rgba(255,170,0,.3);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--spacing-2xl);display:flex;align-items:center;gap:var(--spacing-xs)}.hint-box .anticon{color:var(--color-warning)}.pc-login-container{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-base) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.pc-login-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(0,212,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,255,136,.05) 0%,transparent 40%);pointer-events:none}.pc-login-card{width:420px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-glow-primary);background:var(--color-bg-card);border:1px solid var(--color-border-base);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:1}.pc-login-card-body{padding:48px}.pc-logo-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.pc-login-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,212,255,.3))}.pc-login-title{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:1px}.pc-login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.pwd-login-container{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-base) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--spacing-xl)}.pwd-login-logo{width:64px;height:64px;object-fit:contain;margin-bottom:var(--spacing-xs);filter:drop-shadow(0 4px 12px rgba(0,212,255,.3))}.pwd-login-title{color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);margin-bottom:var(--spacing-2xl)}.pwd-login-card{width:100%;max-width:340px;background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);border:1px solid var(--color-border-base);box-shadow:var(--shadow-lg)}.pwd-login-card-title{color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.pwd-back-btn{margin-top:var(--spacing-xl);background:none;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.pwd-back-btn:hover{color:var(--color-text-secondary)}@media (max-width: 767px){.login-card{width:94vw;max-width:420px}.login-card-body{padding:var(--spacing-xl)}.login-title{font-size:var(--font-size-2xl)}.mobile-login-logo{width:64px;height:64px}.mobile-login-title{font-size:var(--font-size-xl)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{animation:fadeInUp .5s ease-out}.mobile-login-container,.review-status-container{animation:fadeInUp .6s ease-out}.icp-filing{position:fixed;bottom:20px;left:0;right:0;text-align:center;z-index:10;padding:8px 16px}.icp-filing a{color:#fff9;font-size:14px;text-decoration:none;letter-spacing:.5px;transition:all var(--transition-fast);padding:4px 12px;border-radius:var(--radius-sm)}.icp-filing a:hover{color:#ffffffe6;background:#ffffff14}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;background:var(--color-bg-base)}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.weui-grids{display:flex;flex-wrap:wrap;padding:0;margin:0;list-style:none}.weui-grid{position:relative;width:33.333%;padding:14px 0 12px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;background:transparent;border:none;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast)}.weui-grid:active,.weui-grid.is-pressed{background:#ffffff0d}.weui-grid__icon{width:14vw;height:14vw;max-width:56px;max-height:56px;border-radius:28%;display:flex;align-items:center;justify-content:center;font-size:6.5vw;box-shadow:var(--shadow-md)}.weui-grid__label{font-size:3vw;font-weight:var(--font-weight-semibold);color:#ffffffe6;text-align:center;letter-spacing:.05em;margin:0;line-height:var(--line-height-tight)}.weui-grid__desc{font-size:2.5vw;color:var(--color-text-tertiary);text-align:center;margin:0;line-height:1}.weui-grid{transform:scale(1);transition:transform .12s ease,opacity .12s ease}.weui-grid:active{transform:scale(.92);opacity:.75}.mobile-header{background:linear-gradient(160deg,var(--color-bg-tertiary) 0%,rgba(0,212,255,.15) 60%,var(--color-bg-base) 100%);padding:5vw 4vw 8vw;position:relative;overflow:hidden}.mobile-header__deco1{position:absolute;right:-8vw;top:-8vw;width:40vw;height:40vw;border-radius:50%;background:var(--color-primary-bg);pointer-events:none}.mobile-header__deco2{position:absolute;right:10vw;bottom:-5vw;width:20vw;height:20vw;border-radius:50%;background:#00d4ff12;pointer-events:none}.mobile-header__inner{display:flex;align-items:center;gap:3vw;position:relative}.mobile-header__avatar{flex-shrink:0;width:14vw;height:14vw;border-radius:50%;background:var(--color-primary-bg);border:2px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:6vw;overflow:hidden}.mobile-header__avatar img{width:100%;height:100%;object-fit:cover}.mobile-header__info{flex:1;min-width:0}.mobile-header__greeting{font-size:3.2vw;color:var(--color-text-tertiary);margin-bottom:1vw;letter-spacing:.1em}.mobile-header__name{font-size:4.8vw;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header__tags{margin-top:1.5vw;display:flex;align-items:center;gap:2vw;flex-wrap:wrap}.mobile-header__role-badge{display:inline-block;padding:.4vw 2.5vw;border-radius:var(--radius-full);color:var(--color-text-primary);font-size:2.6vw;font-weight:var(--font-weight-semibold);letter-spacing:.05em}.mobile-header__store{font-size:2.8vw;color:var(--color-text-tertiary)}.mobile-header__logo{flex-shrink:0;text-align:center;color:#ffffff40}.mobile-header__logo-icon{width:7vw;height:7vw;max-width:32px;max-height:32px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);display:flex;align-items:center;justify-content:center;font-size:3.5vw;font-weight:900;color:var(--color-text-primary);margin:0 auto;letter-spacing:0}.mobile-section-title{font-size:3vw;color:var(--color-text-tertiary);padding:4vw 4vw 2vw;letter-spacing:.1em;text-transform:uppercase}.mobile-grid-card{margin:0 3.5vw 3vw;background:#ffffff0a;border-radius:4vw;border:1px solid var(--color-border-light);overflow:hidden}.mobile-footer{text-align:center;padding:4vw 0 2vw;font-size:2.6vw;color:#ffffff2e;letter-spacing:.2em}@media (max-width: 767px){html{touch-action:manipulation}.mobile-content{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.ant-table{font-size:var(--font-size-sm)!important}.ant-table-thead>tr>th{padding:var(--spacing-sm) var(--spacing-xs)!important;font-size:var(--font-size-sm)!important}.ant-table-tbody>tr>td{padding:var(--spacing-sm) var(--spacing-xs)!important}.ant-modal{max-width:94vw!important;margin:0 auto!important}.ant-drawer-content-wrapper{max-width:100vw!important}.mobile-store-select .ant-select-selector{background:transparent!important;border:none!important}.mobile-store-select .ant-select-selection-item{color:var(--color-text-primary)!important;font-size:var(--font-size-sm)!important}.mobile-store-select .ant-select-arrow{color:var(--color-text-tertiary)!important}}.ops-dashboard{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-base) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);color:var(--color-text-secondary);font-family:var(--font-family-base);overflow-x:hidden}.ops-dashboard.loading{display:flex;align-items:center;justify-content:center}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-base) var(--spacing-xl);background:var(--color-bg-card);border-bottom:1px solid var(--color-border-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.logo span{background:linear-gradient(90deg,var(--color-primary),var(--color-success));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-left h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:2px}.header-center .time-display{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-primary);font-family:var(--font-family-mono)}.refresh-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-base);background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-base);color:var(--color-primary);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm)}.refresh-btn:hover:not(:disabled){background:#00d4ff33;border-color:var(--color-primary)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-content{padding:var(--spacing-lg) var(--spacing-xl)}.kpi-row{margin-bottom:var(--spacing-base)}.kpi-card{position:relative;padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border-base);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:flex-start;gap:var(--spacing-base);transition:all var(--transition-base)}.kpi-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow-primary)}.kpi-card .kpi-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);border-radius:var(--radius-lg);flex-shrink:0}.kpi-card.revenue .kpi-icon{background:var(--color-primary-bg);color:var(--color-primary)}.kpi-card.seats .kpi-icon{background:var(--color-success-bg);color:var(--color-success)}.kpi-card.members .kpi-icon{background:var(--color-warning-bg);color:var(--color-warning)}.kpi-card.events .kpi-icon{background:var(--color-purple-bg);color:var(--color-purple)}.kpi-card .kpi-content{flex:1;min-width:0}.kpi-card .kpi-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs)}.kpi-card .kpi-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.kpi-card .kpi-trend{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);margin-top:var(--spacing-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full)}.kpi-card .kpi-trend.up{background:var(--color-success-bg);color:var(--color-success)}.kpi-card .kpi-trend.down{background:var(--color-danger-bg);color:var(--color-danger)}.kpi-card .kpi-trend.neutral{background:var(--color-primary-bg);color:var(--color-primary)}.kpi-card .kpi-progress{margin-top:var(--spacing-sm)}.kpi-card .kpi-decoration{position:absolute;right:-20px;bottom:-20px;width:100px;height:100px;border-radius:50%;opacity:.1}.kpi-card.revenue .kpi-decoration{background:var(--color-primary)}.kpi-card.seats .kpi-decoration{background:var(--color-success)}.kpi-card.members .kpi-decoration{background:var(--color-warning)}.kpi-card.events .kpi-decoration{background:var(--color-purple)}.chart-row,.detail-row{margin-bottom:var(--spacing-base)}.chart-card,.detail-card{height:100%;min-height:320px;background:var(--color-bg-card);border:1px solid var(--color-border-base);border-radius:var(--radius-lg);padding:var(--spacing-base);transition:all var(--transition-base)}.chart-card:hover,.detail-card:hover{border-color:var(--color-border-strong)}.card-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.seat-legend{display:flex;justify-content:center;gap:var(--spacing-xl);margin-top:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.legend-item .dot{width:8px;height:8px;border-radius:50%}.alerts-card{display:flex;flex-direction:column}.alerts-card .ant-list{flex:1;overflow-y:auto}.alert-item{display:flex!important;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm) 0!important;border-bottom:1px solid var(--color-border-light)!important}.alert-level{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-base);flex-shrink:0}.alert-level.error{background:var(--color-danger-bg);color:var(--color-danger)}.alert-level.warn{background:var(--color-warning-bg);color:var(--color-warning)}.alert-level.info{background:var(--color-primary-bg);color:var(--color-primary)}.alert-content{flex:1;min-width:0}.alert-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-base)}.alert-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.dashboard-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:var(--color-bg-card);border-top:1px solid var(--color-border-base);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.footer-center{display:flex;align-items:center;gap:var(--spacing-sm)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-dot.online{background:var(--color-success);box-shadow:var(--shadow-glow-success)}@media (max-width: 767px){.dashboard-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.header-left{flex-direction:column;gap:var(--spacing-sm)}.header-left h1{font-size:var(--font-size-lg)}.kpi-card .kpi-value{font-size:var(--font-size-3xl)}.chart-card,.detail-card{min-height:280px}}.kpi-card,.chart-card,.detail-card{animation:fadeInUp .5s ease-out}.kpi-card:nth-child(1){animation-delay:.1s}.kpi-card:nth-child(2){animation-delay:.2s}.kpi-card:nth-child(3){animation-delay:.3s}.kpi-card:nth-child(4){animation-delay:.4s}.ops-dashboard ::-webkit-scrollbar{width:6px;height:6px}.ops-dashboard ::-webkit-scrollbar-track{background:var(--color-border-light);border-radius:var(--radius-full)}.ops-dashboard ::-webkit-scrollbar-thumb{background:var(--color-primary-border);border-radius:var(--radius-full)}.ops-dashboard ::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}
