.sidebar{background:var(--bg-card);border-right:1px solid var(--border-primary);z-index:100;width:280px;height:100vh;transition:width var(--transition-normal),transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar.collapsed{width:80px}.sidebar:before{content:"";pointer-events:none;background:linear-gradient(#10b98105 0%,#0000 50%,#10b98105 100%);position:absolute;inset:0}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary);position:relative}.sidebar.collapsed .sidebar-header{padding:var(--spacing-md)12px}.logo-container{align-items:center;gap:12px;min-width:0;display:flex}.logo-icon{background:var(--gradient-primary);border-radius:var(--radius-lg);width:48px;height:48px;color:var(--bg-dark-primary);box-shadow:var(--shadow-neon);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.logo-icon:before{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff4d 50%,#0000 60%);width:200%;height:200%;animation:3s infinite logo-shine;position:absolute;top:-50%;left:-50%}@keyframes logo-shine{0%{transform:translate(-100%)rotate(45deg)}to{transform:translate(100%)rotate(45deg)}}.logo-text h1{color:var(--color-text-primary);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:18px;font-weight:600}.logo-text{min-width:0;transition:opacity var(--transition-fast),width var(--transition-fast)}.logo-text p{color:var(--color-text-tertiary);letter-spacing:1px;margin:0;font-size:12px}.sidebar-toggle{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary);width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-normal);z-index:2;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.sidebar-toggle:hover{color:var(--neon-green-primary);border-color:var(--border-hover);background:#10b98114}.sidebar.collapsed .sidebar-toggle{background:var(--bg-card);box-shadow:var(--shadow-card);top:auto;bottom:-18px;right:50%;transform:translate(50%)}.sidebar-nav{padding:var(--spacing-md);flex-direction:column;flex:1;gap:4px;display:flex;position:relative;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--neon-green-primary)}.nav-item{border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-normal);cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:12px;width:100%;min-height:46px;padding:12px 16px;font-size:14px;font-weight:500;display:flex;position:relative;overflow:hidden}.nav-item:hover{color:var(--neon-green-primary);background:#10b9810d}.nav-item:hover svg{filter:drop-shadow(0 0 8px var(--neon-green-primary))}.nav-item.active{color:var(--neon-green-primary);border-left-color:var(--neon-green-primary);background:#10b9811a;box-shadow:inset 0 0 20px #10b9811a}.nav-item.active svg{filter:drop-shadow(0 0 8px var(--neon-green-primary))}.nav-item.active .active-indicator{background:var(--neon-green-primary);width:3px;height:24px;box-shadow:0 0 10px var(--neon-green-primary);border-radius:0 4px 4px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item.active .active-dot{background:var(--neon-green-primary);width:8px;height:8px;box-shadow:0 0 10px var(--neon-green-primary);border-radius:50%;margin-left:auto;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.nav-item svg{z-index:1;transition:all var(--transition-normal);position:relative}.nav-item span{z-index:1;position:relative}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-item span:not(.nav-fault-badge),.sidebar.collapsed .status-card{display:none}.sidebar.collapsed .sidebar-nav{padding:28px 10px var(--spacing-md)}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:12px}.sidebar.collapsed .nav-item.active .active-dot{display:none}.sidebar.collapsed .nav-fault-badge{margin-left:0;position:absolute;top:4px;right:4px}.sidebar.collapsed .sidebar-footer{min-height:20px}.nav-fault-badge{color:#fff;z-index:1;background:#ff3b30;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:relative}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--border-primary);position:relative}.status-card{border-radius:var(--radius-md);padding:var(--spacing-md);background:#10b9810d;border:1px solid #10b98133;position:relative;overflow:hidden}.status-card:before{content:"";background:var(--gradient-energy);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.status-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.status-dot{background:var(--neon-green-primary);width:8px;height:8px;box-shadow:0 0 10px var(--neon-green-primary);border-radius:50%;animation:2s infinite status-pulse}@keyframes status-pulse{0%,to{box-shadow:0 0 10px var(--neon-green-primary)}50%{box-shadow:0 0 20px var(--neon-green-primary),0 0 30px var(--neon-green-light)}}.status-header p{color:var(--neon-green-primary);margin:0;font-size:14px;font-weight:600}.status-text{color:var(--color-text-secondary);margin:0;padding-left:16px;font-size:12px}@media (max-width:1024px){.sidebar{width:80px}.logo-text,.nav-item span,.status-text,.status-header p{display:none}.nav-item{justify-content:center;padding:12px}.nav-item:hover,.nav-item.active{transform:translate(0)}}.fault-alert-strip{z-index:1100;flex-direction:column;gap:0;width:100%;display:flex;position:absolute;top:64px;left:0;right:0}.fault-alert-item{color:#fef2f2;background:linear-gradient(90deg,#7f1d1d,#991b1b);border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;padding:8px 20px;font-size:13px;animation:.3s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.fault-alert-icon{color:#fca5a5;flex-shrink:0}.fault-alert-msg{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fault-alert-view{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:4px;flex-shrink:0;padding:2px 10px;font-size:12px;transition:background .2s}.fault-alert-view:hover{background:#ffffff59}.fault-alert-close{color:#fca5a5;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:flex}.fault-alert-close:hover{color:#fff}.header{background:var(--glass-bg);border-bottom:1px solid var(--glass-border);height:64px;padding:0 var(--spacing-lg);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--spacing-lg);min-width:0;display:flex}.header-title{min-width:0}.header-title h1{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:600}.header-title h2{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.header-title p{color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.header-center{max-width:420px;margin:0 var(--spacing-lg);flex:1;position:relative}.search-box{border:1px solid var(--border-primary);height:42px;transition:border-color var(--transition-normal),box-shadow var(--transition-normal);background:#0f172a99;border-radius:999px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box.active,.search-box:focus-within{border-color:#10b98173;box-shadow:0 0 0 3px #10b9811f}.search-icon{color:var(--color-text-tertiary);flex-shrink:0}.search-box input{min-width:0;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.search-clear{width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);background:#94a3b81f;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.search-clear:hover{color:var(--color-text-primary);background:#94a3b833}.search-dropdown{border:1px solid var(--border-primary);box-shadow:var(--shadow-lg);z-index:1000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172af5;border-radius:16px;padding:8px;position:absolute;top:calc(100% + 10px);left:0;right:0}.search-result-item{width:100%;color:inherit;cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.search-result-item:hover{background:#10b98114}.search-result-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.search-result-desc{color:var(--color-text-tertiary);font-size:12px}.search-empty{color:var(--color-text-tertiary);padding:16px 14px;font-size:13px}.header-right{align-items:center;gap:var(--spacing-md);flex-shrink:0;display:flex}.header-icon{border-radius:var(--radius-md);border:1px solid var(--border-primary);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-normal);background:0 0;justify-content:center;align-items:center;display:flex;position:relative}.header-icon:hover{border-color:var(--neon-green-primary);color:var(--neon-green-primary);box-shadow:var(--shadow-neon)}.header-icon .badge{background:var(--gradient-primary);width:18px;height:18px;color:var(--bg-dark-primary);box-shadow:var(--shadow-neon);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.header-user{align-items:center;gap:var(--spacing-sm);border:1px solid var(--border-primary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);background:0 0;padding:6px 12px;display:flex}.header-user:hover{border-color:var(--neon-green-primary);box-shadow:0 0 15px #10b98133}.header-avatar{background:var(--gradient-primary);width:32px;height:32px;color:var(--bg-dark-primary);box-shadow:var(--shadow-neon);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.header-user-name{color:var(--color-text-primary);font-size:14px;font-weight:500}.notification-dropdown{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:min(360px,100vw - 24px);box-shadow:var(--shadow-lg);z-index:1000;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-header{padding:var(--spacing-md);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;display:flex}.notification-header h3{color:var(--color-text-primary);margin:0;font-size:14px;font-weight:600}.notification-header button{color:var(--neon-green-primary);cursor:pointer;transition:color var(--transition-normal);background:0 0;border:none;font-size:12px}.notification-header button:hover{color:var(--neon-green-light)}.notification-list{max-height:320px;overflow-y:auto}.notification-item{gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background var(--transition-normal);display:flex}.notification-item:hover{background:#10b9810d}.notification-item.unread{background:#10b98108}.notification-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-icon.info{color:var(--neon-green-primary);background:#10b9811a}.notification-icon.warning{color:var(--color-warning);background:#ffff001a}.notification-icon.error{color:var(--color-error);background:#ff44441a}.notification-content{flex:1;min-width:0}.notification-content h4{color:var(--color-text-primary);margin:0 0 4px;font-size:13px;font-weight:500}.notification-content p{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.notification-time{color:var(--color-text-tertiary);margin-top:4px;font-size:11px}.notification-footer{padding:var(--spacing-sm);text-align:center;border-top:1px solid var(--border-primary)}.notification-footer button{color:var(--neon-green-primary);cursor:pointer;padding:var(--spacing-sm);transition:all var(--transition-normal);background:0 0;border:none;font-size:13px}.notification-footer button:hover{color:var(--neon-green-light);text-shadow:0 0 10px var(--neon-green-primary)}.notification-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.notification-empty p{margin:0;font-size:14px}.user-menu-container{position:relative}.user-menu-dropdown{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);width:min(280px,100vw - 24px);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:.2s ease-out fadeIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-menu-header{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--bg-secondary);display:flex}.user-avatar-large{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);margin-bottom:2px;font-size:16px;font-weight:600}.user-role{color:var(--text-secondary);font-size:13px}.user-menu-divider{background:var(--border-primary);height:1px;margin:0}.user-menu-items{padding:var(--space-sm)}.user-menu-item{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;font-size:14px;font-weight:500;display:flex}.user-menu-item:hover{background:var(--bg-hover);color:var(--color-primary)}.user-menu-item svg{color:var(--text-secondary);flex-shrink:0}.user-menu-item:hover svg{color:var(--color-primary)}.user-menu-footer{padding:var(--space-sm);background:var(--bg-secondary)}.user-menu-item.logout,.user-menu-item.logout svg{color:var(--color-error)}.user-menu-item.logout:hover{background:var(--color-error-bg);color:var(--color-error)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.avatar-btn{background:var(--gradient-primary);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-normal);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.avatar-btn:hover{box-shadow:var(--shadow-primary);transform:scale(1.05)}.avatar-btn:active{transform:scale(.95)}@media (max-width:1200px){.header-center{max-width:320px}}@media (max-width:960px){.header{padding:0 var(--spacing-md)}.header-left{gap:var(--spacing-md)}.header-center{max-width:260px;margin:0 var(--spacing-md)}.header-title p{display:none}}@media (max-width:768px){.header{gap:10px}.header-center{display:none}.header-title h1{font-size:16px}.header-icon,.avatar-btn{width:36px;height:36px}}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);outline:none;align-items:center;gap:8px;padding:6px 10px;display:flex}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle.animating{transform:scale(.95)}.theme-toggle-track{background:var(--bg-tertiary);border-radius:var(--radius-full);width:48px;height:24px;transition:background var(--transition-normal);position:relative}.theme-toggle-thumb{background:var(--color-primary);width:20px;height:20px;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;left:2px}[data-theme=dark] .theme-toggle-thumb{background:var(--color-primary-light);left:26px}.theme-toggle-thumb svg{stroke-width:2px;color:#fff;width:14px;height:14px}.icon-sun,.icon-moon{animation:.3s ease-out fadeIn}.theme-toggle-label{color:var(--text-secondary);min-width:32px;font-size:13px;font-weight:500}.theme-toggle:hover .theme-toggle-label{color:var(--text-primary)}@media (max-width:768px){.theme-toggle-label{display:none}.theme-toggle{padding:6px}}.dashboard{padding:var(--spacing-xl);z-index:1;max-width:1600px;position:relative}.main-stats-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.main-stat-card{background:linear-gradient(145deg,var(--bg-card)0%,var(--bg-dark-secondary)100%);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal);position:relative;overflow:hidden}.main-stat-card:before{content:"";background:var(--gradient-energy);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.main-stat-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 0 30px #10b9811a}.stat-card-content{justify-content:space-between;align-items:flex-start;display:flex}.stat-left{flex:1}.stat-title{color:var(--color-text-secondary);margin:0 0 12px;font-size:14px;font-weight:500}.stat-value-row{align-items:baseline;gap:4px;margin-bottom:12px;display:flex}.stat-big-value{color:var(--color-text-primary);font-size:40px;font-weight:700;line-height:1}.stat-unit{color:var(--color-text-tertiary);font-size:14px;font-weight:500}.stat-badge{border-radius:var(--radius-full);color:var(--neon-green-primary);background:#10b9811a;border:1px solid #10b9814d;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.stat-icon-large{border-radius:var(--radius-lg);width:60px;height:60px;color:var(--neon-green-primary);background:#10b9811a;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 20px #10b98133}.secondary-metrics-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal);position:relative}.metric-card:hover{border-color:#00ced14d;transform:translateY(-2px);box-shadow:0 0 20px #00ced11a}.metric-label{color:var(--color-text-secondary);margin:0 0 8px;font-size:13px;font-weight:500;display:block}.metric-value{color:var(--color-text-primary);margin:0 0 8px;font-size:32px;font-weight:700;line-height:1;display:block}.metric-trend{margin:0;font-size:12px;font-weight:500}.metric-trend.positive{color:var(--neon-green-primary)}.metric-trend.negative{color:var(--color-error)}.metric-subtitle{color:var(--color-text-tertiary);margin:0;font-size:12px;font-weight:500}.charts-grid{gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(450px,1fr));display:grid}.chart-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);position:relative}.chart-card:before{content:"";background:var(--gradient-energy);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.chart-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary);align-items:center;gap:12px;display:flex}.chart-header h3{color:var(--neon-green-primary);margin:0;font-size:16px;font-weight:600}.simple-chart{height:200px;padding:var(--spacing-md)0;justify-content:space-around;align-items:flex-end;gap:8px;display:flex}.chart-bar-wrapper{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.chart-bar{width:100%;max-width:60px;transition:all var(--transition-normal);cursor:pointer;align-items:flex-end;display:flex}.chart-bar:hover{opacity:.8;transform:scaleX(1.1)}.chart-bar-fill{width:100%;min-height:20px;transition:all var(--transition-normal);border-radius:6px 6px 0 0;box-shadow:0 0 15px #10b9814d}.chart-legend{justify-content:center;gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-primary);display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.legend-dot{border-radius:4px;width:12px;height:12px;box-shadow:0 0 8px}.realtime-orders-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);position:relative}.realtime-orders-card:before{content:"";background:var(--gradient-energy);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:12px;display:flex}.card-header h3{color:var(--neon-green-primary);margin:0;font-size:16px;font-weight:600}.orders-list{flex-direction:column;gap:12px;display:flex}.order-item{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-normal);background:#10b98105;justify-content:space-between;align-items:center;display:flex}.order-item:hover{background:#10b9810d;border-color:#10b98133;box-shadow:0 0 15px #10b9811a}.order-left{align-items:center;gap:12px;display:flex}.order-status-dot{background:var(--neon-green-primary);width:12px;height:12px;box-shadow:0 0 10px var(--neon-green-primary);border-radius:50%;flex-shrink:0;animation:2s infinite pulse-glow}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px var(--neon-green-primary);opacity:1}50%{box-shadow:0 0 20px var(--neon-green-primary),0 0 30px var(--neon-green-light);opacity:.8}}.order-info{flex-direction:column;gap:4px;display:flex}.order-id{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600}.order-location{color:var(--color-text-secondary);margin:0;font-size:13px}.order-details{align-items:center;gap:var(--spacing-lg);display:flex}.order-detail-item{flex-direction:column;gap:4px;display:flex}.order-status-badge{background:var(--gradient-primary);color:var(--bg-dark-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-neon);padding:6px 14px;font-size:12px;font-weight:500}@media (max-width:768px){.dashboard{padding:var(--spacing-md)}.page-title{font-size:24px}.main-stats-grid,.charts-grid{grid-template-columns:1fr}.stat-big-value{font-size:32px}.order-details{display:none}}.station-list{padding:var(--spacing-xl);max-width:1600px}.btn-primary{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-neon);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.filter-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-xl)}.search-input-wrapper{width:100%;position:relative}.search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);width:100%;height:40px;color:var(--color-text-primary);padding:0 40px 0 16px;font-size:14px;transition:all .2s}.search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b98133}.search-input::placeholder{color:var(--color-text-tertiary)}.search-input-icon{color:var(--color-text-tertiary);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.stations-table{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto hidden}.stations-table table{border-collapse:collapse;width:100%;min-width:1380px}.stations-table thead{background:var(--color-bg-secondary)}.stations-table th{text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border);padding:16px;font-size:13px;font-weight:600}.stations-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:16px;font-size:14px}.stations-table tbody tr:hover{background:var(--color-bg-hover)}.stations-table tbody tr:last-child td{border-bottom:none}.station-name-cell{flex-direction:column;gap:4px;display:flex}.station-name-cell strong{color:var(--color-text-primary);font-size:15px}.station-desc{color:var(--color-text-tertiary);font-size:12px}.location-cell{color:var(--color-text-secondary);align-items:center;gap:6px;max-width:300px;display:flex}.location-cell svg{color:var(--color-primary);flex-shrink:0}.charger-count{align-items:center;gap:4px;font-weight:600;display:flex}.charger-count .available{color:var(--color-primary);font-size:16px}.charger-count .separator{color:var(--color-text-tertiary)}.charger-count .total{color:var(--color-text-secondary)}.status-online{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--text-primary)}.status-maintenance{background:linear-gradient(135deg,var(--color-warning)0%,#ff9500 100%);color:var(--text-primary)}.btn-manage{color:#fff;background:linear-gradient(135deg,#007aff 0%,#2563eb 100%)}.btn-manage:hover{opacity:.9;transform:translateY(-1px)}.btn-pricing{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--text-primary)}.btn-pricing:hover{opacity:.9;transform:translateY(-1px)}.btn-edit{background:var(--gradient-primary);color:#fff}.btn-edit:hover{opacity:.9;transform:translateY(-1px)}.btn-delete{background:linear-gradient(135deg,var(--color-danger)0%,#dc2626 100%);color:#fff}.btn-delete:hover{opacity:.9;transform:translateY(-1px)}.btn-danger{cursor:pointer;background:linear-gradient(135deg,var(--color-danger)0%,#dc2626 100%);color:#fff;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-danger:hover{opacity:.9}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.modal-body{flex:1;padding:24px;overflow-y:auto}.form-group input,.form-group textarea{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.image-upload-container{width:100%}.station-image-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.image-upload-btn{background:var(--color-bg-secondary);border:2px dashed var(--color-border);cursor:pointer;color:var(--color-text-tertiary);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:132px;padding:28px;transition:all .2s;display:flex}.image-upload-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.image-upload-btn span{font-size:14px;font-weight:500}.image-upload-btn small{color:var(--color-text-tertiary);font-size:12px}.image-preview-wrapper{aspect-ratio:4/3;width:100%;position:relative}.image-preview{object-fit:cover;border:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:8px;width:100%;height:100%}.image-upload-hint{color:var(--color-text-tertiary);margin-top:8px;font-size:12px}.btn-remove-image{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:-8px;right:-8px}.btn-remove-image:hover{transform:scale(1.05)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b98133}.pricing-select{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.pricing-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b98133}.plan-preview{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;margin-top:20px;padding:16px}.plan-preview h4{color:var(--color-text-primary);margin:0 0 12px;font-size:14px;font-weight:600}.time-periods-preview{flex-direction:column;gap:8px;display:flex}.period-preview-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.period-preview-info{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.period-preview-name{color:var(--color-text-primary);min-width:60px;font-weight:500}.period-preview-time{color:var(--color-text-tertiary)}.period-preview-price{color:var(--color-primary);align-items:center;gap:4px;font-size:15px;font-weight:600;display:flex}.form-group input.error,.form-group textarea.error{border-color:var(--color-danger);background:#ff44441a}.form-group input.error:focus,.form-group textarea.error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #f443}.error-message{color:var(--color-danger);margin-top:6px;font-size:12px;display:block}.modal-confirm{max-width:450px}.confirm-message{text-align:center;padding:20px 0}.confirm-icon{color:var(--color-danger);margin-bottom:16px}.confirm-message p{color:var(--color-text-primary);margin:8px 0;font-size:15px}.confirm-message strong{color:var(--color-primary)}.confirm-warning{color:var(--color-danger);font-size:13px}.charger-manage{padding:var(--spacing-xl);max-width:1600px}.btn-back{border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:nowrap;color:var(--color-text-primary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.2;transition:all .2s;display:inline-flex}.btn-back:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.station-info{margin:16px 0}.station-info h2{color:var(--color-text-primary);margin:0 0 8px;font-size:24px;font-weight:700}.station-meta{color:var(--color-text-secondary);gap:24px;font-size:14px;display:flex}.station-code{background:var(--color-bg-secondary);border-radius:4px;padding:4px 8px;font-family:Monaco,Courier New,monospace}.charger-count{font-weight:500}.chargers-table{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto hidden}.chargers-table table{border-collapse:collapse;width:100%;min-width:1240px}.chargers-table thead{background:var(--color-bg-secondary)}.chargers-table th{text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border);padding:16px;font-size:13px;font-weight:600}.chargers-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:16px;font-size:14px}.chargers-table tbody tr:hover{background:var(--color-bg-secondary)}.chargers-table tbody tr:last-child td{border-bottom:none}.device-code{background:var(--gradient-primary);color:#fff;border-radius:4px;padding:4px 10px;font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:600;display:inline-block}.power-cell,.price-cell{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.power-cell svg{color:var(--color-primary)}.price-cell svg{color:#ff9500}.price-main{color:var(--color-text-primary);font-weight:600}.price-service{color:var(--color-text-tertiary);font-size:12px;font-weight:400}.period-tag{white-space:nowrap;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.period-tag.period-peak_sharp{color:#dc2626;background:#fef2f2}.period-tag.period-peak{color:#ea580c;background:#fff7ed}.period-tag.period-flat{color:#2563eb;background:#eff6ff}.period-tag.period-valley{color:#059669;background:#ecfdf5}.temp-high{color:#ff3b30;font-weight:600}.fast-charge-badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500}.fast-charge-badge.enabled{background:var(--gradient-primary);color:#fff}.fast-charge-badge.disabled{background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.status-charging{background:var(--gradient-primary);color:#fff}.status-idle{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.status-offline{background:var(--color-bg-secondary);color:var(--color-text-tertiary);border:1px solid var(--color-border)}.status-fault{color:#fff;background:linear-gradient(135deg,#ff3b30 0%,#dc2626 100%)}.revenue-cell{flex-direction:column;gap:2px;display:flex}.revenue-cell strong{color:var(--color-primary);font-size:15px}.energy-text{color:var(--color-text-tertiary);font-size:12px}.btn-action{border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.1;transition:all .2s;display:inline-flex}.btn-qrcode{color:#fff;background:linear-gradient(135deg,#007aff 0%,#2563eb 100%)}.btn-qrcode:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-qrcode:disabled{opacity:.6;cursor:not-allowed}.btn-stop{color:#fff;background:linear-gradient(135deg,#ff3b30 0%,#dc2626 100%)}.btn-stop:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-start{background:var(--gradient-primary);color:#fff}.btn-start:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-compact{min-width:66px;padding:8px 10px;font-size:12px}.btn-detail{background:var(--color-primary-bg);color:var(--color-primary);border:1px solid #10b9812e}.btn-detail:hover{color:#047857;background:#d1fae5}.qr-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.qr-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;width:90%;max-width:480px;max-height:85vh;animation:.3s slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.qr-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.qr-modal-header h3{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.close-btn{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.qr-modal-content{flex-direction:column;flex:1;align-items:stretch;gap:16px;padding:24px;display:flex;overflow-y:auto}.qr-info{background:var(--color-bg-secondary);border-radius:var(--radius-md);width:100%;padding:16px}.qr-info p{color:var(--color-text-secondary);margin:8px 0;font-size:14px}.qr-info p strong{color:var(--color-text-primary);font-weight:600}.qr-image{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:20px}.qr-image img{width:300px;height:300px;display:block}.qr-hint{color:var(--color-text-tertiary);text-align:center;margin:0;font-size:13px}.qr-actions{gap:12px;width:100%;display:flex}.btn-download{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s}.btn-download:hover{opacity:.9;transform:translateY(-1px)}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.order-manage{padding:var(--spacing-xl);max-width:1600px}.order-tabs{margin-bottom:var(--spacing-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.order-tab{border:1px solid var(--color-border);background:var(--color-bg-card);min-height:68px;color:var(--color-text-primary);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:all .2s;display:flex}.order-tab span{font-size:15px;font-weight:700}.order-tab small{color:var(--color-text-secondary);font-size:12px}.order-tab.active{border-color:var(--color-primary);color:var(--color-primary);background:#10b98114}.btn-icon{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:all .2s}.btn-icon.btn-danger{color:#ff3b30;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:inline-flex}.btn-icon svg{width:16px;height:16px;display:block}.filter-row{gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-row+.filter-row{margin-top:16px}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.filter-item{flex-direction:column;gap:8px;min-width:180px;display:flex}.filter-item label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.filter-item select,.filter-item input{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary);border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.filter-item select:focus,.filter-item input:focus{border-color:var(--color-primary);outline:none}.filter-item select:disabled{opacity:.72;cursor:not-allowed}.filter-search{grid-column:span 2}.filter-actions{align-items:flex-end;gap:12px;display:flex}.table-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border-radius:14px}.table-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.table-header h3{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.total-count{color:var(--color-text-secondary);font-size:14px}.table-container{margin-bottom:var(--spacing-lg);overflow-x:auto}.data-table thead{background:var(--color-bg-secondary)}.data-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:14px;font-size:13px}.data-table tbody tr{transition:background-color .2s}.order-no{color:var(--color-primary);word-break:break-all;max-width:220px;font-family:Courier New,monospace;font-weight:600}.user-info,.station-info{flex-direction:column;gap:4px;display:flex}.user-name{font-weight:500}.user-phone,.charger-name{color:var(--color-text-tertiary);font-size:12px}.order-meta,.finance-meta{flex-direction:column;gap:4px;display:flex}.sub-meta{color:var(--color-text-tertiary);font-size:12px;line-height:1.35}.energy-value,.amount-value{font-family:Courier New,monospace;font-weight:600}.amount-value{color:var(--color-primary)}.mode-badge{border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-charging{color:#065f46;background:#d1fae5}.status-paid{color:#065f46;background:#d1fae5;font-weight:600}.status-error{color:#991b1b;background:#fee2e2}.payment-status{color:var(--color-text-secondary);font-size:13px}.pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);display:flex}.page-info{color:var(--color-text-secondary);text-align:center;min-width:150px;font-size:14px}.loading-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.modal-overlay{z-index:1000;padding:var(--spacing-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-card);width:100%;max-width:960px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border-light);justify-content:flex-end;gap:var(--spacing-md);display:flex}.order-detail{gap:var(--spacing-lg);flex-direction:column;display:flex}.detail-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:18px 8px 8px;display:grid}.timeline-step{color:var(--color-text-tertiary);text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.timeline-step:before{content:"";background:var(--color-border);z-index:0;height:2px;position:absolute;top:15px;left:0;right:0}.timeline-step:first-child:before{left:50%}.timeline-step:last-child:before{right:50%}.timeline-index{z-index:1;border:2px solid var(--color-border);background:var(--color-bg-card);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:inline-flex;position:relative}.timeline-step.done{color:var(--color-primary)}.timeline-step.done:before{background:var(--color-primary)}.timeline-step.done .timeline-index{border-color:var(--color-primary);color:var(--color-primary)}.timeline-label{font-size:14px;font-weight:700}.timeline-time{min-height:18px;font-size:12px}.detail-order-title{color:var(--color-primary);justify-content:space-between;gap:16px;font-size:16px;font-weight:700;display:flex}.detail-amount-band{background:var(--color-border-light);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.amount-block{background:#dbeafe;flex-direction:column;gap:8px;min-height:110px;padding:22px;display:flex}.amount-block span{color:var(--color-text-secondary);font-weight:600}.amount-block strong{color:var(--color-primary);font-size:34px;line-height:1}.amount-block small{color:var(--color-primary);font-weight:600}.detail-section{background:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:10px}.detail-section h4{margin:0 0 var(--spacing-md)0;color:var(--color-text-primary);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);font-size:14px;font-weight:600}.detail-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.detail-item.full-width{grid-column:1/-1}.detail-label{color:var(--color-text-secondary);font-size:12px}.detail-value.highlight{color:var(--color-primary);font-size:16px;font-weight:600}.detail-value.status-badge{width:fit-content;display:inline-block}.meter-row{color:var(--color-text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:14px;display:grid}.detail-table-wrap{border:1px solid var(--color-border-light);background:var(--color-bg-card);border-radius:8px;overflow-x:auto}.detail-data-table{border-collapse:collapse;width:100%;min-width:760px}.detail-data-table th,.detail-data-table td{border-bottom:1px solid var(--color-border-light);text-align:center;padding:13px 14px;font-size:13px}.detail-data-table th{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:700}.detail-total-row td{background:var(--color-bg-secondary);font-weight:700}.discount-card{background:#f3e8ff;border-top:16px solid #8b5cf6;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px;display:grid;overflow:hidden}.discount-card div{flex-direction:column;gap:8px;padding:26px 22px;display:flex}.discount-card span{color:var(--color-text-secondary);font-size:13px}.discount-card strong{color:#8b5cf6;font-size:18px}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}@media (max-width:900px){.order-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:span 1}.detail-grid,.detail-timeline,.detail-amount-band,.discount-card{grid-template-columns:1fr}.detail-order-title,.meter-row{flex-direction:column;grid-template-columns:1fr}}.user-manage{padding:var(--spacing-xl);max-width:1600px}.search-bar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;flex:1;align-items:center;gap:12px;max-width:400px;padding:10px 16px;display:flex}.search-bar input{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.search-bar input::placeholder{color:var(--color-text-tertiary)}.stats-row{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);gap:var(--spacing-md);border-radius:14px;transition:all .3s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.stat-content h3{color:var(--color-text-secondary);margin:0 0 8px;font-size:14px;font-weight:500}.stat-value{color:var(--color-text-primary);margin:0;font-size:32px;font-weight:700;line-height:1}.user-cell{align-items:center;gap:12px;display:flex}.user-avatar{border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.avatar-placeholder{background:var(--color-primary);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:16px;font-weight:600;display:flex}.user-nickname{font-weight:500}.phone-number{font-family:Courier New,monospace}.balance-value,.energy-value{font-family:Courier New,monospace;font-weight:600}.balance-value{color:var(--color-primary)}.status-banned{color:#991b1b;background:#fee2e2}.status-inactive{color:#aeaeb2;background:#f5f5f7}.btn-icon{background:var(--color-bg-hover);cursor:pointer;min-width:36px;height:36px;color:var(--color-text-secondary);white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-text-button{gap:6px}.btn-text-button span:last-child{line-height:1;display:inline-block}.btn-danger{color:#ff3b30;background:#fff0ef;border:1px solid #ff3b302e}.btn-danger:hover{color:#dc2626;background:#fee2e2}.btn-success{color:var(--color-primary);background:#ecfdf5;border:1px solid #10b9812e}.btn-success:hover{color:#059669;background:#d1fae5}.loading-spinner{font-size:12px;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{text-align:center;color:var(--color-text-tertiary);padding:48px}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-loading,.modal-empty{text-align:center;color:var(--color-text-secondary);padding:48px}.detail-section h4{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;font-size:14px;font-weight:600}.detail-row{align-items:flex-start;gap:16px;display:flex}.detail-avatar{border-radius:50%;flex-shrink:0;width:80px;height:80px;overflow:hidden}.detail-avatar img{object-fit:cover;width:100%;height:100%}.detail-avatar .avatar-placeholder.large{font-size:32px}.detail-info{flex-direction:column;flex:1;gap:8px;display:flex}.detail-grid.stats-grid{grid-template-columns:repeat(3,1fr)}.detail-item{align-items:center;gap:8px;padding:8px 0;display:flex}.detail-icon{color:var(--color-text-tertiary);flex-shrink:0}.detail-label{color:var(--color-text-secondary);min-width:70px;font-size:14px}.detail-value{color:var(--color-text-primary);font-size:14px;font-weight:500}.detail-value.id{color:var(--color-text-tertiary);font-family:Courier New,monospace;font-size:12px}.stat-item{background:var(--color-bg-hover);border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.stat-item-icon{color:var(--color-primary);flex-shrink:0}.stat-item-content{flex-direction:column;gap:4px;display:flex}.stat-item-label{color:var(--color-text-secondary);font-size:12px}.stat-item-value{color:var(--color-text-primary);font-family:Courier New,monospace;font-size:18px;font-weight:700}@media (max-width:640px){.detail-grid.stats-grid{grid-template-columns:1fr}.detail-row{text-align:center;flex-direction:column;align-items:center}.modal-content{max-width:100%;margin:10px}}.major-customer-manage{padding:24px}.btn-secondary{color:#fff;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.filter-bar{gap:16px;margin-bottom:24px;display:flex}.search-box{color:#888;background:#1a1a1a;border:1px solid #333;border-radius:8px;flex:1;align-items:center;gap:8px;max-width:400px;padding:10px 16px;display:flex}.search-box input{color:#fff;background:0 0;border:none;outline:none;width:100%;font-size:14px}.search-box input::placeholder{color:#666}.table-container{background:#1a1a1a;border:1px solid #333;border-radius:12px;overflow-x:auto}.data-table th{text-align:left;color:#888;border-bottom:1px solid #333;padding:16px;font-size:14px;font-weight:500}.data-table td{color:#fff;vertical-align:middle;border-bottom:1px solid #2a2a2a;padding:16px;font-size:14px}.member-count{color:#0f8;background:#00ff881a;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;display:inline-flex}.btn-icon{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;transition:all .2s;display:flex}.btn-icon:hover{color:#fff;background:#2a2a2a}.btn-icon.btn-danger:hover{color:#ff4d4d;background:#ff4d4d1a}.btn-page{color:#fff;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-page:hover:not(:disabled){background:#2a2a2a}.btn-page:disabled{opacity:.5;cursor:not-allowed}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:hidden}.btn-close{color:#888;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.btn-close:hover{color:#fff}.form-group label{color:#888;margin-bottom:8px;font-size:14px;display:block}.form-group input,.form-group select{color:#fff;background:#0a0a0a;border:1px solid #333;border-radius:8px;outline:none;width:100%;padding:12px 16px;font-size:14px;transition:all .2s}.form-group input:disabled{color:#666;cursor:not-allowed;background:#2a2a2a}.qr-body{text-align:center;padding:32px 24px}.qr-placeholder{color:#000;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:160px;height:160px;margin:0 auto 20px;display:flex}.qr-text{color:#fff;margin:0 0 8px;font-size:16px}.qr-code-text{color:#0f8;margin:0 0 8px;font-size:14px;font-weight:500}.qr-hint{color:#666;word-break:break-all;margin:0;font-size:12px}.modal-header-actions{align-items:center;gap:12px;display:flex}.modal-header-actions .btn-primary{color:#000;cursor:pointer;background:#0f8;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.modal-header-actions .btn-primary:hover{background:#00cc6a}.form-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.form-actions .btn-secondary{color:#fff;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;padding:10px 20px;font-size:14px;transition:all .2s}.form-actions .btn-secondary:hover{background:#2a2a2a}.form-actions .btn-primary{color:#000;cursor:pointer;background:#0f8;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.form-actions .btn-primary:hover{background:#00cc6a}.membership-manage{max-width:1400px;margin:0 auto;padding:24px}.tabs{border-bottom:2px solid #0000000f;gap:8px;margin-bottom:24px;padding-bottom:0;display:flex}.tab{color:#aeaeb2;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.tab:hover{color:var(--color-primary);background:#f5f5f7}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:#ecfdf5}.overview-section{animation:.3s fadeIn}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border-left:4px solid;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000001a}.stat-card.primary,.stat-card.success{border-left-color:var(--color-primary)}.stat-card.warning{border-left-color:#ff9500}.stat-card.info{border-left-color:#007aff}.stat-card.secondary{border-left-color:#34d399}.stat-card.accent{border-left-color:#ff2d55}.stat-icon{color:#aeaeb2;background:#f5f5f7;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-card.primary .stat-icon{color:var(--color-primary);background:#ecfdf5}.stat-card.success .stat-icon{color:var(--color-primary);background:#d1fae5}.stat-card.warning .stat-icon{color:#ff9500;background:#fff2d6}.stat-card.info .stat-icon{color:#007aff;background:#dbeafe}.stat-card.secondary .stat-icon{color:#34d399;background:#d1fae5}.stat-card.accent .stat-icon{color:#ff2d55;background:#fce7f3}.stat-content{flex:1}.stat-value{color:#1d1d1f;font-size:28px;font-weight:700;line-height:1.2}.stat-label{color:#aeaeb2;margin-top:4px;font-size:14px}.info-cards{margin-top:24px}.info-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.info-card h3{color:#1d1d1f;margin:0 0 16px;font-size:16px;font-weight:600}.info-card ul{color:#4b5563;margin:0;padding-left:20px;line-height:1.8}.info-card li{margin-bottom:8px}.config-section{grid-template-columns:1fr 300px;gap:24px;animation:.3s fadeIn;display:grid}.config-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.config-card h3{color:#1d1d1f;margin:0 0 20px;font-size:18px;font-weight:600}.message{color:#065f46;background:#d1fae5;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.form-group.checkbox label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-group input[type=number]{border:1px solid #0000001a;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input[type=number]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.form-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.help-text{color:#aeaeb2;margin-top:6px;font-size:12px;display:block}.config-actions{border-top:1px solid #0000000f;margin-top:24px;padding-top:20px}.btn-primary{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .2s}.btn-primary:hover:not(:disabled){background:#059669}.config-preview{background:#fff;border-radius:12px;height:fit-content;padding:24px;box-shadow:0 1px 3px #0000001a}.config-preview h3{color:#1d1d1f;margin:0 0 16px;font-size:16px;font-weight:600}.preview-item{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.preview-item:last-child{border-bottom:none}.preview-item span{color:#aeaeb2;font-size:14px}.preview-item strong{color:#1d1d1f;font-size:14px}.members-section{animation:.3s fadeIn}.members-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.members-table{border-collapse:collapse;width:100%}.members-table th{text-align:left;color:#aeaeb2;text-transform:uppercase;letter-spacing:.5px;background:#fff;border-bottom:1px solid #0000000f;padding:12px 16px;font-size:12px;font-weight:600}.members-table td{color:#6e6e73;border-bottom:1px solid #0000000f;padding:16px;font-size:14px}.members-table tbody tr:hover{background:#fff}.member-info{flex-direction:column;gap:4px;display:flex}.member-name{color:#1d1d1f;font-weight:500}.member-phone{color:#aeaeb2;font-size:12px}.invite-code{color:#059669;background:#ecfdf5;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:12px}.status-expired{color:#991b1b;background:#fee2e2}.status-cancelled{color:#4b5563;background:#f5f5f7}.date-range{color:#aeaeb2;flex-direction:column;gap:2px;font-size:12px;display:flex}.renew-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.renew-badge.on{color:#047857;background:#d1fae5}.renew-badge.off{color:#aeaeb2;background:#f5f5f7}.loading-cell,.empty-cell{text-align:center;color:#aeaeb2;padding:40px}@media (max-width:1024px){.config-section{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.membership-manage{padding:16px}.page-header{flex-direction:column}.tabs{flex-wrap:wrap}.tab{flex:1;justify-content:center;min-width:120px}.members-table-container{overflow-x:auto}.members-table{min-width:800px}}.franchisee-manage{padding:24px}.search-box{background:var(--color-bg-card);border:1px solid var(--border-primary);border-radius:8px;align-items:center;gap:8px;min-width:300px;padding:8px 12px;display:flex}.search-box input{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.btn-search{color:#fff;cursor:pointer;white-space:nowrap;background:#007aff;border:none;border-radius:6px;min-height:36px;padding:8px 14px;font-size:14px;transition:background .2s}.btn-search:hover{background:#2563eb}.filter-box{background:var(--color-bg-card);border:1px solid var(--border-primary);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.filter-box select{color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-size:14px}.table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.data-table th{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:14px;font-weight:600}.status-active{color:#059669;background:#d1fae5}.status-suspended{color:#dc2626;background:#fee2e2}.status-terminated{background:var(--border-primary);color:var(--color-text-secondary)}.btn-icon{background:var(--bg-hover);min-width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0 10px;transition:all .2s;display:flex}.btn-icon.btn-primary{color:#2563eb;background:#dbeafe}.btn-icon.btn-primary:hover{background:#bfdbfe}.btn-create-franchisee{margin-left:12px}.loading-state,.error-state{height:200px;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:16px;display:flex}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.detail-item .value.highlight{color:#007aff;font-size:18px;font-weight:600}.form-row:has(.form-group:nth-child(3)){grid-template-columns:repeat(3,1fr)}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-primary);box-sizing:border-box;background:var(--color-bg-card);width:100%;color:var(--color-text-primary);border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .2s}.settlement-manage{padding:24px}.settlement-scope-banner{border:1px solid var(--border-primary);border-radius:12px;margin-bottom:16px;padding:16px 18px}.settlement-scope-banner.include-test{background:#f5f3ff;border-color:#ddd6fe}.settlement-scope-banner.exclude-test{background:#ecfeff;border-color:#a5f3fc}.scope-title{color:#1e293b;margin-bottom:6px;font-size:14px;font-weight:600}.scope-desc,.scope-note{color:#475569;font-size:13px;line-height:1.6}.btn-primary{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.text-primary{color:#007aff;font-weight:500}.status-settled{color:#2563eb;background:#dbeafe}.status-paid{color:#059669;background:#d1fae5}.modal-large{max-width:700px}.detail-item .value.highlight{font-size:18px;font-weight:600}.detail-item .value.success{color:#059669}.detail-item .value.primary{color:#007aff}.confirm-info{background:#f8fafc;border-radius:8px;margin-bottom:16px;padding:16px}.confirm-info p{color:#6e6e73;margin:0 0 8px;font-size:14px}.confirm-info p:last-child{margin-bottom:0}.confirm-tip{color:#64748b;margin:0;font-size:14px}.franchisee-reports-page{flex-direction:column;gap:16px;display:flex}.reports-toolbar{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.reports-filter,.reports-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reports-actions-row,.panel-title-row,.table-actions{align-items:center;gap:10px;display:flex}.reports-actions-row{justify-content:flex-end}.analysis-scope{color:#475569;margin-right:auto;font-size:13px}.panel-title-row{justify-content:space-between;padding-right:14px}.reports-filter select,.reports-filter input{border:1px solid var(--border-color,#d1d5db);background:var(--input-bg,#fff);border-radius:6px;min-width:110px;height:36px;padding:0 10px}.reports-message{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:10px 12px}.reports-grid{grid-template-columns:1fr;gap:16px;display:grid}.reports-panel{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;overflow:hidden}.reports-panel h3{border-bottom:1px solid var(--border-color,#e5e7eb);margin:0;padding:14px 16px;font-size:16px}.analysis-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.analysis-metric{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;padding:14px}.analysis-metric span{color:#64748b;margin-bottom:8px;font-size:12px;display:block}.analysis-metric strong{color:#111827;font-size:20px}.analysis-insights{padding:0 16px 14px}.analysis-insights p{color:#334155;margin:8px 0}.statement-hint{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;padding:12px 16px;font-size:13px}.analysis-chart-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;display:grid}.chart-panel{min-height:330px;padding-bottom:12px}.hour-heatmap{grid-template-columns:repeat(12,1fr);gap:8px;padding:18px 16px 24px;display:grid}.heat-cell{color:#fff;background:#10b981;border-radius:6px;justify-content:center;align-items:center;height:42px;font-size:12px;display:flex}.reports-panel table{border-collapse:collapse;width:100%}.reports-panel th,.reports-panel td{text-align:left;border-bottom:1px solid var(--border-color,#eef2f7);padding:12px 14px;font-size:13px}.reports-panel th{color:#64748b;background:#f8fafc;font-weight:600}.report-status{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.report-status.sent{color:#166534;background:#dcfce7}.report-status.confirmed{color:#047857;background:#d1fae5}.report-status.disputed{color:#92400e;background:#fef3c7}.report-status.draft{color:#0369a1;background:#e0f2fe}.report-status.failed{color:#991b1b;background:#fee2e2}.report-status.generated,.report-status.pending,.report-status.sending{color:#0369a1;background:#e0f2fe}@media (max-width:900px){.reports-toolbar{flex-direction:column;align-items:stretch}}.withdraw-manage{padding:24px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-primary);padding:16px}.data-table td{color:#1e293b;vertical-align:middle;font-size:14px}.text-warning{color:#ff9500;font-weight:500}.text-success{color:#059669;font-weight:500}.status-pending{color:#ff9500;background:#fff2d6}.status-approved{color:#059669;background:#d1fae5}.status-rejected{color:#dc2626;background:#fee2e2}.status-completed{color:#059669;background:#d1fae5}.status-failed{color:#dc2626;background:#fee2e2}.btn-icon{background:var(--bg-hover);color:#64748b;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;transition:all .2s;display:flex}.btn-icon.btn-success{color:#059669;background:#d1fae5}.btn-icon.btn-success:hover{background:#a7f3d0}.btn-icon.btn-danger{color:#dc2626;background:#fee2e2}.btn-icon.btn-danger:hover{background:#fecaca}.btn-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.btn-close:hover{background:var(--bg-hover);color:#1e293b}.btn-secondary{color:#64748b;border:1px solid var(--border-primary);cursor:pointer;background:#fff;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-primary{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{color:var(--text-primary);border-bottom:2px solid var(--border-primary);margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:600}.detail-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.detail-item{flex-direction:column;gap:4px;display:flex}.detail-item .label{color:#64748b;font-size:13px}.detail-item .value{color:#1e293b;font-size:15px;font-weight:500}.audit-info{background:#f8fafc;border-radius:8px;margin-bottom:20px;padding:16px}.audit-info p{color:#6e6e73;margin:0 0 8px;font-size:14px}.audit-info p:last-child{margin-bottom:0}.form-group:last-child{margin-bottom:0}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-primary);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.radio-group{gap:24px;display:flex}.radio-label{cursor:pointer;color:#6e6e73;align-items:center;gap:8px;font-size:14px;display:flex}.radio-label input[type=radio]{width:auto;margin:0}.pricing-plans{padding:20px}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:20px;display:grid}.plan-card{background:#fff;border:2px solid #0000;border-radius:12px;padding:20px;transition:all .3s;box-shadow:0 2px 8px #00000014}.plan-card:hover{box-shadow:0 4px 12px #0000001f}.plan-card.default{border-color:var(--color-primary);background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%)}.plan-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;display:flex}.plan-header h3{color:#1d1d1f;margin:0 0 8px;font-size:18px;font-weight:600}.default-badge{background:var(--color-primary);color:#fff;border-radius:4px;margin-right:8px;padding:2px 8px;font-size:12px;display:inline-block}.status-badge{border-radius:4px;padding:2px 8px;font-size:12px;display:inline-block}.status-badge.inactive{color:#991b1b;background:#fee2e2}.plan-actions{gap:8px;display:flex}.icon-btn{cursor:pointer;color:#aeaeb2;background:#f5f5f7;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.icon-btn:hover{color:#1d1d1f;background:#0000000f}.icon-btn.danger:hover{color:#dc2626;background:#fee2e2}.plan-description{color:#aeaeb2;margin:0 0 16px;font-size:14px}.plan-stations{margin-bottom:16px}.plan-stations strong{color:#6e6e73;margin-bottom:8px;font-size:14px;display:block}.text-muted{color:#9ca3af}.station-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.station-tag{color:#6e6e73;background:#f5f5f7;border:1px solid #0000000f;border-radius:6px;padding:4px 10px;font-size:12px;display:inline-block}.time-periods{flex-direction:column;gap:8px;display:flex}.period-item{background:#fff;border:1px solid #0000000f;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.period-info{color:#aeaeb2;align-items:center;gap:8px;font-size:14px;display:flex}.period-name{color:#6e6e73;min-width:60px;font-weight:500}.period-time{color:#9ca3af;font-size:13px}.period-price{color:var(--color-primary);align-items:center;gap:4px;font-size:16px;font-weight:600;display:flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:#fff;border-radius:12px;flex-direction:column;width:90vw;max-width:1200px;max-height:90vh;margin:auto;display:flex;overflow:hidden}.modal-header h2{color:#1d1d1f;margin:0;font-size:20px;font-weight:600}.close-btn{cursor:pointer;color:#aeaeb2;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.close-btn:hover{color:#1d1d1f;background:#f5f5f7}.modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{border:1px solid #0000001a;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.checkbox-label input[type=checkbox]{width:auto;margin:0}.form-hint{color:#aeaeb2;margin-top:6px;font-size:12px;display:block}.station-select{min-height:120px}.section-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.btn-sm{align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:flex}.time-periods-editor{flex-direction:column;gap:16px;display:flex}.period-editor{background:#fff;border:1px solid #0000000f;border-radius:12px;flex-direction:column;gap:16px;margin-bottom:16px;padding:20px;display:flex}.period-editor-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.period-editor-header .period-name-input{flex:1;max-width:300px}.period-editor-row{flex-direction:column;gap:8px;display:flex}.period-editor-row label{color:#aeaeb2;font-size:13px;font-weight:500}.period-editor-prices{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:576px){.period-editor-prices{grid-template-columns:1fr}}.period-name-input{background:#fff;border:1px solid #0000001a;border-radius:6px;width:100%;min-width:100px;padding:10px 12px;font-size:14px}.period-name-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.time-range{align-items:center;gap:16px;display:flex}.time-range .separator{color:#aeaeb2;padding:0 8px;font-size:14px;font-weight:500}.time-input{background:#fff;border:1px solid #0000001a;border-radius:6px;width:120px;min-width:100px;padding:10px 12px;font-size:14px}.time-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.price-input-group{background:#fff;border:1px solid #0000001a;border-radius:6px;align-items:center;gap:6px;width:100%;min-width:150px;padding:8px 10px;display:flex}.price-input-group .label{color:#aeaeb2;white-space:nowrap;flex-shrink:0;width:40px;font-size:13px}.price-input-group .unit{color:#9ca3af;white-space:nowrap;text-align:right;flex-shrink:0;width:50px;font-size:13px}.price-input{text-align:right;background:0 0;border:none;outline:none;flex:1;min-width:70px;max-width:120px;font-size:14px;font-weight:500}.price-input:focus{outline:none}.remove-btn{cursor:pointer;color:#aeaeb2;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.remove-btn:hover:not(:disabled){color:#dc2626;background:#fee2e2}.remove-btn:disabled{opacity:.3;cursor:not-allowed}.btn-secondary{color:#6e6e73;background:#f5f5f7}.loading{color:#aeaeb2;justify-content:center;align-items:center;min-height:400px;font-size:16px;display:flex}.toggle-switch{align-items:center;gap:12px;display:flex}.toggle-switch input[type=checkbox]{width:auto;margin:0}.toggle-label{color:#1f2937;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.section-header label{color:#1d1d1f;font-size:15px;font-weight:600}.occupancy-config-fields{background:#f5f5f7;border:1px solid #0000001a;border-radius:12px;margin-top:16px;padding:20px}.form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.occupancy-config-fields .form-group{margin-bottom:0}.occupancy-config-fields .form-group label{color:#6e6e73;margin-bottom:6px;font-size:13px;font-weight:500}.occupancy-config-fields .form-control{color:#1f2937;background:#fff;border:1px solid #0000001a;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:all .2s}.occupancy-config-fields .form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.occupancy-config-fields .form-hint{color:#aeaeb2;margin-top:4px;font-size:11px}.section-block{background:#fff;border:1px solid #0000000f;border-radius:12px;margin-bottom:24px;padding:20px}.section-block.highlight{background:#fffbeb;border-color:#fcd34d}.section-title{color:#1d1d1f;align-items:center;gap:8px;margin:0 0 4px;font-size:16px;font-weight:600;display:flex}.section-desc{color:#aeaeb2;margin:0 0 16px;font-size:13px}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.price-types-bar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.price-type-chip{background:#fff;border:2px solid #ccc;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.price-type-chip .pt-label{font-weight:600}.price-type-chip .pt-price{color:#1d1d1f;font-weight:700}.price-type-chip .pt-service{color:#aeaeb2}.period-type-badge{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.period-service-fee{color:#9ca3af;margin-left:2px;font-size:12px;font-weight:400}.price-types-config{flex-direction:column;gap:12px;display:flex}.price-type-row{background:#fff;border:1px solid #0000000f;border-left-width:4px;border-radius:8px;align-items:center;gap:16px;padding:12px 16px;display:flex}.price-type-row .pt-info{min-width:80px}.price-type-row .pt-label-lg{font-size:15px;font-weight:700}.price-type-row .pt-fields{flex:1;gap:16px;display:flex}.price-type-row .pt-field{flex:1}.price-type-row .pt-field label{color:#aeaeb2;margin-bottom:4px;font-size:12px;display:block}.price-type-row .pt-field input{text-align:right;border:1px solid #0000001a;border-radius:6px;width:100%;padding:8px 10px;font-size:14px;font-weight:500}.price-type-row .pt-field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.time-periods-editor-v2{flex-direction:column;gap:8px;display:flex}.period-editor-v2{background:0 0;border:none;padding:0}.period-row{background:#fff;border:1px solid #0000000f;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.period-time-inputs{align-items:center;gap:6px;display:flex}.period-time-inputs .time-input{text-align:center;width:70px}.time-sep{color:#9ca3af;font-weight:500}.price-type-select{cursor:pointer;background:#fff;border:2px solid #0000001a;border-radius:6px;flex:1;max-width:200px;padding:8px 10px;font-size:14px;font-weight:600}.price-type-select:focus{outline:none}.toggle-row{margin-bottom:8px}.toggle-row .toggle-switch{align-items:center;gap:10px;display:flex}.toggle-row .toggle-switch input[type=checkbox]{width:auto;margin:0}.toggle-row .toggle-label{cursor:pointer;font-size:14px;font-weight:500}.mt-12{margin-top:12px}.modal-xl{background:#fff;max-width:800px}.pricing-plans .modal-content{color:#1f2937;background:#fff}.pricing-plans .modal-header h2{color:#1d1d1f}.pricing-plans .modal-body,.pricing-plans .modal-body label{color:#6e6e73}.pricing-plans .section-title{color:#1d1d1f}.recharge-records{padding:var(--spacing-xl)}.record-tabs{margin-top:var(--spacing-md);background:var(--color-bg-secondary);border-radius:10px;gap:8px;padding:6px;display:inline-flex}.tab-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.tab-btn.active{color:var(--color-text-primary);background:#fff;box-shadow:0 1px 3px #0000001a}.filter-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-radius:12px}.filter-row{gap:var(--spacing-md);align-items:center;display:flex}.filter-item{flex:1}.filter-item input,.filter-item select{border:1px solid var(--color-border);border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.filter-item input:focus,.filter-item select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.records-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.records-table{border-collapse:collapse;width:100%}.records-table thead{background:var(--color-bg-secondary)}.records-table th{text-align:left;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding:14px 16px;font-size:13px;font-weight:600}.records-table td{border-bottom:1px solid var(--color-border-light);padding:16px;font-size:14px}.records-table tbody tr:hover{background:var(--color-bg-hover)}.order-no{color:var(--color-primary);font-family:Monaco,monospace;font-size:13px;font-weight:500}.user-info{flex-direction:column;gap:4px;display:flex}.user-name{color:var(--color-text-primary);font-weight:500}.user-phone{color:var(--color-text-tertiary);font-size:12px}.amount{color:var(--color-primary);font-size:16px;font-weight:600}.payment-method{color:#007aff;background:#eff6ff;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500}.mode-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.mode-live{color:#1d4ed8;background:#dbeafe}.mode-test{color:#6d28d9;background:#ede9fe}.time{color:var(--color-text-secondary);font-size:13px}.transaction-id{color:var(--color-text-tertiary);font-family:Monaco,monospace;font-size:12px}.empty-state{padding:var(--spacing-xl)0;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state p{margin-top:var(--spacing-md);font-size:14px}.pagination{justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);display:flex}.pagination button{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:var(--color-text-secondary);font-size:14px}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{color:var(--color-text-primary);border:1px solid var(--color-border);background:#fff}.loading{padding:var(--spacing-xl);color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:16px;display:flex}.coupon-manage{padding:24px}.filter-box{border:1px solid var(--border-primary);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.filter-box select{cursor:pointer;background:0 0;border:none;outline:none;font-size:14px}.summary-bar{border:1px solid var(--border-primary);color:#475569;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.pagination-bar{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.pagination-info{color:#475569;white-space:nowrap;font-size:14px}.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;display:inline-flex}.btn-light{color:#475569;border:1px solid var(--border-primary);cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:8px;min-height:36px;padding:8px 14px}.btn-outline{border:1px solid var(--border-primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;min-height:36px;padding:8px 12px;font-size:13px}.table-container{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.data-table{border-collapse:collapse;width:100%;min-width:1360px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-primary);vertical-align:top;padding:14px 16px}.data-table th{color:#475569;background:#f8fafc;font-size:14px;font-weight:600}.data-table td{color:#1e293b;font-size:14px}.data-table tbody tr:hover{background:#f8fafc}.name-cell{flex-direction:column;gap:4px;display:flex}.name-title{font-weight:600}.name-desc{color:#aeaeb2;font-size:12px}.status-badge{border-radius:999px;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.status-success{color:#059669;background:#d1fae5}.status-muted{background:var(--border-primary);color:#475569}.status-danger{color:#dc2626;background:#fee2e2}.action-buttons{flex-wrap:wrap;align-items:center;gap:8px;min-width:92px;display:flex}.loading-state,.error-state{color:#64748b;justify-content:center;align-items:center;height:200px;font-size:16px;display:flex}.error-state{color:#dc2626}.modal-content{background:#fff;border-radius:12px;width:720px;max-width:90vw;overflow:hidden}.close-btn{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:24px}.modal-body{max-height:70vh;padding:20px;overflow:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-group label{color:#475569;font-size:13px}.form-group input,.form-group select{border:1px solid var(--border-primary);border-radius:8px;padding:8px 10px;font-size:14px}@media (max-width:960px){.summary-bar,.pagination-bar{flex-direction:column;align-items:stretch}.pagination-info{text-align:center}}.fault-manage{flex-direction:column;gap:20px;padding:24px;display:flex}.fault-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.fault-stat-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,var(--border-primary));border-radius:12px;align-items:center;gap:16px;padding:20px 24px;display:flex;box-shadow:0 1px 4px #0000000f}.fault-stat-card.critical{border-left:4px solid #ff3b30}.fault-stat-card.critical svg{color:#ff3b30}.fault-stat-card.open{border-left:4px solid #f97316}.fault-stat-card.open svg{color:#f97316}.fault-stat-card.today{border-left:4px solid #007aff}.fault-stat-card.today svg{color:#007aff}.fault-stat-card.month{border-left:4px solid var(--color-primary)}.fault-stat-card.month svg{color:var(--color-primary)}.fault-stat-card .stat-num{color:var(--text-primary,#1e293b);margin:0 0 2px;font-size:28px;font-weight:700}.fault-stat-card .stat-label{color:var(--text-secondary,#64748b);margin:0;font-size:13px}.fault-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-select{border:1px solid var(--border-color,var(--border-primary));background:var(--card-bg,#fff);height:36px;color:var(--text-primary,#1e293b);cursor:pointer;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.btn-refresh{border:1px solid var(--border-color,var(--border-primary));background:var(--card-bg,#fff);cursor:pointer;height:36px;color:var(--text-secondary,#64748b);border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:13px;transition:all .2s;display:flex}.btn-refresh:hover{color:#007aff;border-color:#007aff}.btn-report{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:8px;height:36px;padding:0 18px;font-size:13px;font-weight:600;transition:background .2s}.btn-report:hover{background:#2563eb}.fault-table-wrap{background:var(--card-bg,#fff);border:1px solid var(--border-color,var(--border-primary));border-radius:12px;overflow:auto}.fault-table{border-collapse:collapse;width:100%;min-width:1320px;font-size:13px}.fault-table thead th{text-align:left;color:var(--text-secondary,#64748b);background:var(--surface-bg,#f8fafc);border-bottom:1px solid var(--border-color,var(--border-primary));white-space:nowrap;padding:12px 14px;font-weight:600}.fault-table tbody td{border-bottom:1px solid var(--border-color,var(--border-primary));color:var(--text-primary,#1e293b);vertical-align:middle;padding:12px 14px}.fault-table tbody tr:last-child td{border-bottom:none}.fault-table tbody tr:hover td{background:var(--surface-bg,#f8fafc)}.fault-table tbody tr.row-critical td{background:#ef44440a}.fault-no{cursor:pointer;color:#007aff;text-underline-offset:2px;font-weight:600;text-decoration:underline}.desc-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.level-badge{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.level-critical{color:#dc2626;background:#fee2e2}.level-warning{color:#ff9500;background:#fff2d6}.level-info{color:#2563eb;background:#dbeafe}.status-open{color:#dc2626;background:#fee2e2}.status-processing{color:#ff9500;background:#fff2d6}.status-resolved{color:#059669;background:#d1fae5}.action-btns{white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;min-width:180px;display:flex}.btn-action{cursor:pointer;border:none;border-radius:6px;min-height:36px;padding:0 12px;font-size:13px;font-weight:600}.btn-action.processing{color:#ff9500;background:#fff2d6}.btn-action.resolved{color:#059669;background:#d1fae5}.btn-action.detail{color:#2563eb;background:#dbeafe}.fault-pagination{justify-content:center;align-items:center;gap:16px;padding:12px 0;display:flex}.page-btn{border:1px solid var(--border-color,var(--border-primary));background:var(--card-bg,#fff);cursor:pointer;height:32px;color:var(--text-primary,#1e293b);border-radius:8px;padding:0 14px;font-size:13px}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info{color:var(--text-secondary,#64748b);font-size:13px}.loading-placeholder,.empty-placeholder{text-align:center;color:var(--text-secondary,#64748b);padding:48px 0;font-size:14px}.modal-box{background:var(--card-bg,#fff);border-radius:16px;width:460px;max-width:90vw;overflow:hidden;box-shadow:0 8px 32px #0003}.modal-wide{width:560px}.modal-close{cursor:pointer;color:var(--text-secondary,#64748b);background:0 0;border:none;padding:4px}.modal-fault-info{color:var(--text-primary,#1e293b);background:var(--surface-bg,#f8fafc);border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.8}.required{color:#ff3b30}.form-textarea{border:1px solid var(--border-color,var(--border-primary));resize:vertical;background:var(--card-bg,#fff);width:100%;color:var(--text-primary,#1e293b);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-size:13px}.form-select,.form-input{border:1px solid var(--border-color,var(--border-primary));background:var(--card-bg,#fff);width:100%;height:36px;color:var(--text-primary,#1e293b);box-sizing:border-box;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.btn-cancel{border:1px solid var(--border-color,var(--border-primary));background:var(--card-bg,#fff);cursor:pointer;height:36px;color:var(--text-secondary,#64748b);border-radius:8px;padding:0 18px;font-size:13px}.btn-submit{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:8px;height:36px;padding:0 18px;font-size:13px;font-weight:600}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.detail-body .detail-row{border-bottom:1px solid var(--border-color,var(--border-primary));gap:16px;padding:10px 0;font-size:13px;display:flex}.detail-body .detail-row:last-child{border-bottom:none}.detail-body .detail-row>span:first-child{width:100px;color:var(--text-secondary,#64748b);flex-shrink:0;font-weight:500}.detail-body .detail-row>span:last-child{color:var(--text-primary,#1e293b);flex:1}@media (max-width:1200px){.fault-stats-grid{grid-template-columns:repeat(2,1fr)}}.debug-console{flex-direction:column;height:calc(100vh - 80px);padding:20px;display:flex}.debug-layout{flex:1;grid-template-columns:400px 1fr;gap:16px;min-height:0;margin-top:16px;display:grid}.debug-left{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.debug-right{flex-direction:column;min-height:0;display:flex}.debug-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:16px}.debug-panel h3{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin:0 0 12px;padding-bottom:8px;font-size:14px;font-weight:600}.log-panel{flex-direction:column;flex:1;min-height:0;display:flex}.device-list{flex-direction:column;gap:6px;max-height:250px;display:flex;overflow-y:auto}.device-item{border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:10px 12px;transition:all .15s}.device-item:hover{background:var(--color-bg-secondary)}.device-item.selected{border-color:var(--color-primary);background:#10b98114}.device-header{align-items:center;gap:8px;display:flex}.device-code{color:var(--color-text-primary);font-family:SF Mono,Consolas,monospace;font-size:14px;font-weight:600}.device-time{color:var(--color-text-tertiary);margin-top:4px;margin-left:22px;font-size:11px}.protocol-badge{border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.protocol-badge.ykc{color:#059669;background:#d1fae5}.protocol-badge.cec{color:#2563eb;background:#dbeafe}.selected-info{color:var(--color-text-secondary);margin-bottom:8px;font-size:13px}.selected-info strong{color:var(--color-text-primary);font-family:monospace}.hex-input{border:1px solid var(--color-border);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-family:SF Mono,Consolas,monospace;font-size:13px;line-height:1.6}.hex-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b9811a}.send-row{gap:8px;margin-top:10px;display:flex}.send-row .btn-primary{align-items:center;gap:6px;display:flex}.log-list{flex:1;min-height:0;font-family:SF Mono,Consolas,monospace;font-size:12px;line-height:1.5;overflow-y:auto}.log-entry{border-bottom:1px solid var(--color-border-light);padding:6px 8px;transition:background .15s}.log-entry:hover{background:var(--color-bg-secondary)}.log-entry.tx{border-left:3px solid #ff9500}.log-entry.rx{border-left:3px solid var(--color-primary)}.log-meta{align-items:center;gap:8px;margin-bottom:2px;display:flex}.log-time{color:var(--color-text-tertiary);font-size:11px}.log-dir{border-radius:2px;padding:0 4px;font-size:10px;font-weight:700}.log-dir.TX{color:#ff9500;background:#fff2d6}.log-dir.RX{color:#059669;background:#d1fae5}.log-protocol{border-radius:2px;padding:0 3px;font-size:10px}.log-protocol.ykc{color:#059669;background:#d1fae5}.log-protocol.cec{color:#2563eb;background:#dbeafe}.log-device{color:var(--color-text-primary);font-weight:500}.log-hex{color:var(--color-text-primary);word-break:break-all;margin-bottom:1px;font-weight:500}.log-ascii{color:var(--color-text-tertiary);word-break:break-all;font-size:11px}.filter-badge{color:#2563eb;background:#dbeafe;border-radius:12px;align-items:center;gap:6px;margin-bottom:8px;padding:2px 10px;font-size:12px;display:inline-flex}.filter-badge button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.empty-hint{text-align:center;color:var(--color-text-tertiary);padding:20px;font-size:13px}.toggle-label{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:flex}.toggle-label input{width:auto;margin:0}@media (max-width:900px){.debug-layout{grid-template-columns:1fr}.debug-left{max-height:400px}}.finance-manage{padding:var(--spacing-xl);max-width:1600px}.finance-stats-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.finance-stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);gap:var(--spacing-md);border-radius:14px;transition:all .3s;display:flex}.finance-stat-card.highlight{background:linear-gradient(135deg,#fff2d6 0%,#fde68a 100%);border-color:#fbbf24}.finance-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.finance-stat-card .stat-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.finance-stat-card .stat-info{flex:1}.finance-stat-card .stat-info h3{color:var(--color-text-secondary);margin:0 0 8px;font-size:14px;font-weight:500}.finance-stat-card .stat-value{color:var(--color-text-primary);margin:0 0 4px;font-size:32px;font-weight:700;line-height:1}.finance-stat-card .stat-label{color:var(--color-text-tertiary);font-size:13px}.revenue-trend-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm);border-radius:14px}.revenue-trend-card .card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.date-range-tabs{background:var(--color-bg-secondary);border-radius:8px;gap:8px;padding:4px;display:flex}.date-range-tabs button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.date-range-tabs button.active{background:var(--color-primary);color:#fff}.date-range-tabs button:hover:not(.active){background:var(--color-bg-tertiary)}.revenue-chart{height:300px;padding:var(--spacing-md)}.chart-bars{justify-content:space-between;align-items:flex-end;gap:2px;height:100%;display:flex}.chart-bar-item{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:8px;display:flex}.chart-bar{cursor:pointer;align-items:flex-end;width:100%;transition:all .3s;display:flex}.chart-bar:hover{opacity:.8}.bar-fill{background:var(--gradient-primary);border-radius:4px 4px 0 0;width:100%;height:100%;min-height:4px}.chart-label{color:var(--color-text-tertiary);white-space:nowrap;font-size:11px}.revenue-value{color:var(--color-primary);font-family:Courier New,monospace;font-weight:700}.energy-value,.avg-value{font-family:Courier New,monospace}.tab-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.tab-btn{color:#aeaeb2;cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;transition:all .2s;display:flex}.tab-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.tab-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.period-select{color:#6e6e73;background:#fff;border:1px solid #0000000f;border-radius:8px;margin-left:auto;padding:8px 12px;font-size:14px}.stats-grid-4{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;display:grid}@media (max-width:1024px){.stats-grid-4{grid-template-columns:repeat(2,1fr)}}.stats-analysis{padding:var(--spacing-xl);max-width:1600px}.time-range-selector{background:var(--color-bg-secondary);border-radius:8px;gap:8px;padding:4px;display:flex}.time-range-selector button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.time-range-selector button.active{background:var(--color-primary);color:#fff}.overview-cards{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.overview-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);gap:var(--spacing-md);border-radius:14px;display:flex}.card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.overview-card h3{color:var(--color-text-secondary);margin:0 0 8px;font-size:14px;font-weight:500}.card-value{color:var(--color-text-primary);margin:0 0 4px;font-size:28px;font-weight:700}.card-trend{font-size:12px;font-weight:500}.card-trend.up{color:var(--color-primary)}.card-trend.down{color:#ff3b30}.analysis-grid{gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(500px,1fr));display:grid}.analysis-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border-radius:14px}.analysis-card .card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.analysis-card .card-header h3{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600}.rank-list{gap:var(--spacing-md);flex-direction:column;display:flex}.rank-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:10px;transition:all .2s;display:flex}.rank-item:hover{background:var(--color-bg-tertiary)}.rank-number{background:var(--color-bg-tertiary);width:32px;height:32px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.rank-number[data-rank="1"]{color:#fff;background:linear-gradient(135deg,#fbbf24 0%,#ff9500 100%)}.rank-number[data-rank="2"]{color:#fff;background:linear-gradient(135deg,#0000001a 0%,#9ca3af 100%)}.rank-number[data-rank="3"]{color:#fff;background:linear-gradient(135deg,#fb923c 0%,#f97316 100%)}.rank-info{flex:1}.rank-info h4{color:var(--color-text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.rank-stats{gap:var(--spacing-md);color:var(--color-text-tertiary);font-size:12px;display:flex}.rank-bar{background:var(--color-bg-tertiary);border-radius:4px;width:120px;height:8px;overflow:hidden}.rank-bar-fill{background:var(--gradient-primary);border-radius:4px;height:100%;transition:width .3s}.hourly-chart{height:200px;margin-bottom:var(--spacing-md);justify-content:space-between;align-items:flex-end;gap:4px;display:flex}.hourly-bar{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.hourly-bar-fill{cursor:pointer;background:linear-gradient(#007aff 0%,#2563eb 100%);border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:all .3s}.hourly-bar-fill:hover{opacity:.8}.hourly-label{color:var(--color-text-tertiary);white-space:nowrap;font-size:10px}.peak-info{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:13px;display:flex}.peak-tag{background:var(--color-primary);color:#fff;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500}.behavior-card{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border-radius:14px}.behavior-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.behavior-item{padding:var(--spacing-lg);background:var(--color-bg-secondary);text-align:center;border-radius:10px}.behavior-item h4{color:var(--color-text-secondary);margin:0 0 12px;font-size:14px;font-weight:500}.behavior-value{color:var(--color-text-primary);margin:0 0 8px;font-size:32px;font-weight:700}.behavior-desc{color:var(--color-text-tertiary);margin:0;font-size:13px}.behavior-desc.up{color:var(--color-primary)}.behavior-desc.down{color:#ff3b30}.behavior-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 12px;display:flex}.system-settings{padding:var(--spacing-xl);max-width:1600px}.settings-container{gap:var(--spacing-xl);grid-template-columns:250px 1fr;display:grid}.settings-sidebar{flex-direction:column;gap:8px;display:flex}.settings-tab{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.settings-tab:hover{background:var(--color-bg-tertiary)}.settings-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.settings-tab:disabled{opacity:.6;cursor:not-allowed}.settings-content{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border-radius:14px}.settings-section h2{color:var(--color-text-primary);margin:0 0 var(--spacing-xl)0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border);font-size:20px;font-weight:600}.setting-item{margin-bottom:var(--spacing-xl)}.setting-item label{color:var(--color-text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.setting-item input[type=text],.setting-item input[type=email],.setting-item input[type=number],.setting-item input[type=time]{border:1px solid var(--color-border);background:var(--color-bg-card);width:100%;max-width:400px;color:var(--color-text-primary);border-radius:8px;padding:10px 12px;font-size:14px}.setting-item input:disabled{opacity:.6;cursor:not-allowed}.setting-desc{color:var(--color-text-tertiary);margin-top:6px;font-size:13px;display:block}.setting-row{padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:10px;justify-content:space-between;align-items:center;display:flex}.switch{width:48px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;border-radius:26px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--color-primary)}input:checked+.slider:before{transform:translate(22px)}input:disabled+.slider{opacity:.6;cursor:not-allowed}.checkbox-group{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.checkbox-item{background:var(--color-bg-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.checkbox-item input{cursor:pointer}.checkbox-item input:disabled{cursor:not-allowed}.pricing-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.pricing-card{padding:var(--spacing-lg);background:var(--color-bg-secondary);border:2px solid var(--color-border);text-align:center;border-radius:12px}.pricing-card h3{color:var(--color-text-primary);margin:0 0 8px;font-size:16px;font-weight:600}.time-range{color:var(--color-text-tertiary);margin:0 0 16px;font-size:12px}.price-input{color:var(--color-text-primary);justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.price-input input{text-align:center;border:1px solid var(--color-border);border-radius:6px;width:100px;padding:8px;font-size:18px;font-weight:600}.setting-note{padding:var(--spacing-md);color:#92400e;background:#fff2d6;border-left:4px solid #ff9500;border-radius:8px;font-size:14px}.setting-note p{margin:0}.service-fee-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.service-fee-section h3{color:var(--color-text-primary);margin:0 0 var(--spacing-lg)0;font-size:18px;font-weight:600}.service-fee-section select{border:1px solid var(--color-border);background:var(--color-bg-card);width:100%;max-width:400px;color:var(--color-text-primary);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:14px}.divider{background:var(--color-border);height:1px;margin:var(--spacing-xl)0}.theme-options{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.theme-option{cursor:pointer;flex-direction:column;align-items:center;gap:12px;display:flex}.theme-option input{cursor:pointer}.theme-option input:disabled{cursor:not-allowed}.theme-preview{border:2px solid var(--color-border);border-radius:8px;width:150px;height:100px;transition:all .2s;overflow:hidden}.theme-option input:checked+.theme-preview{border-color:var(--color-primary);box-shadow:0 0 0 2px #10b98133}.theme-preview.light{background:#fff}.theme-preview.dark{background:#1f2937}.theme-header{background:var(--color-primary);height:30%}.theme-content{background:inherit;filter:brightness(.95);height:70%}.color-options{gap:var(--spacing-md);display:flex}.color-option{cursor:pointer;border:3px solid #0000;border-radius:50%;width:48px;height:48px;transition:all .2s}.color-option:hover{border-color:#0000001a;transform:scale(1.1)}.color-option.active{border-color:var(--color-text-primary);box-shadow:0 0 0 3px #10b9814d}.color-option:disabled{opacity:.6;cursor:not-allowed}.settings-footer{justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);display:flex}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.loading-overlay{z-index:1000;background:#0000004d;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.modal-content{background:var(--color-bg-card);border-radius:14px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.modal-content.modal-large{max-width:800px}.modal-content.modal-small{max-width:400px}.modal-header h3{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-body{max-height:calc(90vh - 140px);padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-group input{border:1px solid var(--color-border);background:var(--color-bg-card);width:100%;color:var(--color-text-primary);border-radius:8px;padding:10px 12px;font-size:14px}.form-group input:focus{border-color:var(--color-primary);outline:none}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:40px}.password-toggle{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.password-toggle:hover{color:var(--color-text-primary)}.error-message{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.confirm-message{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.6}.logs-table-container{overflow-x:auto}.logs-table{border-collapse:collapse;width:100%;font-size:14px}.logs-table th,.logs-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px}.logs-table th{color:var(--color-text-primary);background:var(--color-bg-secondary);font-weight:600}.logs-table td{color:var(--color-text-secondary)}.logs-table tr:hover td{background:var(--color-bg-secondary)}.log-action{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.action-login{color:#1d4ed8;background:#dbeafe}.action-logout{color:#c2410c;background:#fff7ed}.action-password{color:#b45309;background:#fff2d6}.action-config{color:#047857;background:#d1fae5}.action-backup{color:#0e7490;background:#cffafe}.action-create{color:#15803d;background:#dcfce7}.action-update{color:#1d4ed8;background:#dbeafe}.action-delete{color:#dc2626;background:#fee2e2}.pagination{border-top:1px solid var(--color-border);justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;display:flex}.pagination-btn{border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;width:36px;height:36px;color:var(--color-text-primary);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background:var(--color-bg-secondary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--color-text-secondary);font-size:14px}.empty-state{text-align:center;color:var(--color-text-tertiary);padding:40px;font-size:14px}.payment-config{background:#f5f7fa;min-height:100%;padding:24px}.pc-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.pc-header h2{color:#1f2d3d;align-items:center;gap:10px;margin:0;font-size:22px;display:flex}.pc-header .hint{color:#8492a6;font-size:13px}.pc-tabs{background:#fff;border-bottom:1px solid #e4e7ed;border-radius:10px 10px 0 0;display:flex;overflow:hidden}.pc-tab{color:#606266;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.pc-tab:hover{color:#409eff;background:#f8f9fb}.pc-tab.active{color:#409eff;background:#fff;border-bottom-color:#409eff}.pc-tab-badge{color:#fff;background:#f56c6c;border-radius:10px;padding:2px 8px;font-size:11px}.pc-tab-badge.ok{background:#67c23a}.pc-card{background:#fff;border-radius:0 0 10px 10px;padding:24px 28px;box-shadow:0 2px 8px #0000000a}.pc-section{margin-bottom:24px}.pc-section-title{color:#303133;border-bottom:1px dashed #ebeef5;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:8px;font-size:15px;font-weight:600;display:flex}.pc-form-row{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.pc-form-label{text-align:right;color:#606266;flex-shrink:0;width:150px;padding-top:8px;font-size:14px;font-weight:500}.pc-form-label .required{color:#f56c6c;margin-left:2px}.pc-form-content{flex:1;min-width:0}.pc-form-content input[type=text],.pc-form-content input[type=url],.pc-form-content select,.pc-form-content textarea{color:#303133;box-sizing:border-box;background:#fff;border:1px solid #dcdfe6;border-radius:6px;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.pc-form-content textarea{resize:vertical;min-height:120px;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.5}.pc-form-content input:focus,.pc-form-content select:focus,.pc-form-content textarea:focus{border-color:#409eff;outline:none}.pc-form-help{color:#909399;margin-top:4px;font-size:12px;line-height:1.6}.pc-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.pc-switch input{display:none}.pc-switch-slider{background:#dcdfe6;border-radius:22px;width:40px;height:22px;transition:background .25s;position:relative}.pc-switch-slider:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .25s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.pc-switch input:checked+.pc-switch-slider{background:#409eff}.pc-switch input:checked+.pc-switch-slider:after{left:20px}.pc-switch-text{color:#606266;font-size:14px}.pc-actions{border-top:1px solid #ebeef5;gap:12px;margin-top:28px;padding-top:20px;display:flex}.pc-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:9px 22px;font-size:14px;transition:all .2s;display:inline-flex}.pc-btn-primary{color:#fff;background:#409eff}.pc-btn-primary:hover:not(:disabled){background:#66b1ff}.pc-btn-default{color:#606266;background:#fff;border-color:#dcdfe6}.pc-btn-default:hover:not(:disabled){color:#409eff;background:#ecf5ff;border-color:#c6e2ff}.pc-btn:disabled{opacity:.6;cursor:not-allowed}.pc-alert{border-radius:6px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.6;display:flex}.pc-alert-info{color:#409eff;background:#ecf5ff;border:1px solid #d9ecff}.pc-alert-warn{color:#e6a23c;background:#fdf6ec;border:1px solid #faecd8}.pc-alert-success{color:#67c23a;background:#f0f9eb;border:1px solid #e1f3d8}.pc-alert-error{color:#f56c6c;background:#fef0f0;border:1px solid #fde2e2}.pc-test-result{background:#f8f9fb;border:1px solid #ebeef5;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:13px}.pc-test-result-title{align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.pc-test-result-item{border-bottom:1px dashed #ebeef5;justify-content:space-between;padding:4px 0;display:flex}.pc-test-result-item:last-child{border-bottom:none}.pc-test-result-key{color:#606266}.pc-test-result-value{font-family:Menlo,Monaco,monospace}.pc-test-result-value.ok{color:#67c23a}.pc-test-result-value.fail{color:#f56c6c}.pc-loading{text-align:center;color:#909399;padding:60px 20px}.notification-list-page{max-width:1200px;margin:0 auto;padding:24px}.notification-list-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.notification-list-header .header-left h1{color:var(--color-text-primary);margin:0 0 8px;font-size:24px;font-weight:600}.notification-list-header .header-left p{color:var(--color-text-secondary);margin:0;font-size:14px}.header-actions{gap:12px;display:flex}.action-btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.action-btn.primary{background:var(--gradient-primary);color:#fff}.action-btn.primary:hover{box-shadow:0 4px 12px #10b9814d}.action-btn.secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.action-btn.secondary:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.notification-filters{background-color:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px;display:flex}.filter-group{gap:8px;display:flex}.filter-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.filter-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.filter-btn.active{background:var(--gradient-primary);color:#fff;border-color:#0000}.filter-btn .badge{background-color:#fff3;border-radius:12px;padding:2px 8px;font-size:12px}.category-select{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;min-width:140px;padding:8px 16px;font-size:14px}.category-select:focus{border-color:var(--color-primary);outline:none}.notification-content{background-color:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);min-height:400px}.loading-state,.empty-state{color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.empty-state svg{opacity:.5;margin-bottom:16px}.empty-state h3{color:var(--color-text-secondary);margin:0 0 8px;font-size:18px;font-weight:500}.empty-state p{margin:0;font-size:14px}.notification-items{padding:8px}.notification-card{border-radius:var(--radius-md);background-color:var(--color-bg-secondary);align-items:flex-start;gap:16px;margin-bottom:8px;padding:16px;transition:all .2s;display:flex;position:relative}.notification-card:hover{background-color:var(--color-bg-tertiary)}.notification-card.unread{border-left:3px solid var(--color-primary);background-color:#10b9810d}.notification-icon-col{background-color:var(--color-bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.notification-type-icon.warning{color:#ff9500}.notification-type-icon.success{color:var(--color-primary)}.notification-type-icon.error{color:#ff3b30}.notification-type-icon.info{color:#007aff}.notification-body{flex:1;min-width:0}.notification-meta{align-items:center;gap:12px;margin-bottom:8px;display:flex}.notification-category{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:4px;padding:2px 8px;font-size:12px}.notification-time{color:var(--color-text-tertiary);font-size:12px}.notification-body .notification-title{color:var(--color-text-primary);margin:0 0 6px;font-size:15px;font-weight:500}.notification-body .notification-message{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.notification-actions{flex-shrink:0;gap:8px;display:flex}.icon-action-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;background-color:#0000;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-action-btn:hover{background-color:var(--color-bg-hover);color:var(--color-primary)}.icon-action-btn.delete:hover{color:#ff3b30}.unread-indicator{background-color:var(--color-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:16px}@media (max-width:768px){.notification-list-header{flex-direction:column;gap:16px}.notification-filters{flex-direction:column;gap:12px}.notification-card{flex-direction:column;align-items:flex-start}.notification-actions{align-self:flex-end}}.admin-manage{padding:24px}.admin-manage .page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.admin-manage .header-title{align-items:center;gap:12px;display:flex}.admin-manage .header-title h2{color:#1e293b;margin:0;font-size:20px;font-weight:600}.admin-manage .page-desc{color:#64748b;margin:4px 0 0;font-size:13px}.admin-manage .btn-primary{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;display:inline-flex}.admin-manage .btn-primary:hover{background:#2563eb}.admin-manage .error-banner{color:#dc2626;background:#fef2f2;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.admin-manage .loading{text-align:center;color:#94a3b8;padding:40px}.admin-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-primary);background:#f8fafc;padding:12px 16px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--bg-hover);color:var(--text-secondary);padding:14px 16px;font-size:14px}.admin-table tr:hover td{background:#f8fafc}.admin-table .empty{text-align:center;color:#94a3b8;padding:40px}.role-select{border:1px solid var(--border-primary);cursor:pointer;background:#fff;border-radius:6px;padding:6px 10px;font-size:13px}.status-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.status-badge.active{color:#15803d;background:#dcfce7}.status-badge.inactive{background:var(--bg-hover);color:#64748b}.action-btns{gap:8px;display:flex}.btn-sm{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;display:inline-flex}.btn-warn{color:#92400e;background:#fff2d6}.btn-warn:hover{background:#fde68a}.btn-success{color:#15803d;background:#dcfce7}.btn-danger{color:#dc2626;background:#fee2e2}.btn-danger:hover{background:#fecaca}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto}.modal-content.confirm{max-width:400px}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.modal-header h3{margin:0;font-size:18px;font-weight:600}.btn-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:4px}.modal-body{padding:20px 24px 24px}.form-group input,.form-group select{border:1px solid var(--border-primary);box-sizing:border-box;border-radius:8px;width:100%;padding:9px 12px;font-size:14px}.role-hints{background:#f8fafc;border-radius:8px;margin-bottom:16px;padding:12px 16px}.role-hints p{color:#64748b;margin:4px 0;font-size:12px}.role-hints strong{color:var(--text-secondary)}.confirm-btns{gap:12px;margin-top:20px;display:flex}.btn-cancel{background:var(--bg-hover);cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px}.btn-danger.btn-full{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px}.gate-config-container{padding:24px}.gate-config-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.gate-config-header h2{align-items:center;gap:8px;font-size:20px;font-weight:600;display:flex}.gate-config-card{background:var(--card-bg,#fff);border-radius:12px;margin-bottom:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.gate-config-card h3{margin-bottom:16px;font-size:16px;font-weight:600}.gate-config-form{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.form-group label{color:var(--text-secondary,#666);font-size:14px;font-weight:500}.form-group input,.form-group select{border:1px solid var(--border-color,#ddd);border-radius:8px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color,#4f46e5)}.toggle-row{border-bottom:1px solid var(--border-color,#eee);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-label{font-size:14px;font-weight:500}.toggle-btn{cursor:pointer;color:var(--primary-color,#4f46e5)}.save-btn{background:var(--primary-color,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:opacity .2s;display:flex}.save-btn:hover{opacity:.9}.save-btn:disabled{opacity:.5;cursor:not-allowed}.status-msg{border-radius:8px;align-items:center;gap:6px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.status-msg.success{color:#065f46;background:#ecfdf5}.status-msg.error{color:#991b1b;background:#fef2f2}.station-select{margin-bottom:24px}.station-select select{border:1px solid var(--border-color,#ddd);border-radius:8px;width:100%;max-width:400px;padding:10px 12px;font-size:14px}.empty-state-cell{text-align:center;color:var(--text-secondary,#64748b);padding:32px 16px;font-size:14px}.gate-device-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.btn-primary{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-neon);border:none;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{box-shadow:var(--shadow-neon-lg);transform:translateY(-1px)}.alert{border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:12px 16px;font-size:14px}.alert-error{color:var(--color-danger);background:#ff44441a;border:1px solid #ff44444d}.devices-table{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.devices-table table{border-collapse:collapse;width:100%;min-width:1120px}.devices-table th{text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border);background:var(--color-bg-secondary);padding:16px;font-size:13px;font-weight:600}.devices-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:16px;font-size:14px}.devices-table tbody tr:hover{background:var(--color-bg-hover)}.devices-table tbody tr:last-child td{border-bottom:none}.devices-table code{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:4px;padding:4px 8px;font-family:Monaco,Courier New,monospace;font-size:12px}.status-badge{border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600}.status-online{color:var(--color-success);background:#00ff0026}.status-offline{color:var(--color-danger);background:#ff444426}.status-maintenance{color:#ffc107;background:#ffc10726}.btn-icon{min-width:36px;height:32px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0 10px;transition:all .2s;display:flex}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.loading{text-align:center;color:var(--color-text-secondary);padding:60px 20px}.modal-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--color-text-primary);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.modal-header h3 svg{color:var(--color-primary)}.close-btn{width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-content form{padding:24px;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{color:var(--color-text-secondary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #10b98133}.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.btn-secondary{cursor:pointer;background:var(--color-bg-secondary);color:var(--color-text-primary);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-secondary:hover{background:var(--color-bg-hover)}@media (max-width:768px){.gate-device-page{padding:var(--spacing-md)}.page-header{gap:var(--spacing-md);flex-direction:column;align-items:flex-start}.form-row{grid-template-columns:1fr}.devices-table{overflow-x:auto}.devices-table table{min-width:800px}}.audit-center{flex-direction:column;gap:16px;display:flex}.audit-filter-bar{background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 6px 24px #0f172a0f}.audit-filter-input{background:#fff;border:1px solid #0000001a;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:320px;padding:10px 12px;display:flex}.audit-filter-input input{background:0 0;border:none;outline:none;width:100%}.audit-filter-bar select{background:#fff;border:1px solid #0000001a;border-radius:12px;min-width:140px;padding:10px 12px}.audit-table-card{background:#fff;border-radius:16px;padding:16px;overflow:auto;box-shadow:0 6px 24px #0f172a0f}.audit-empty{text-align:center;color:#9ca3af;padding:32px 0}.audit-result{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-result.success{color:#047857;background:#d1fae5}.audit-result.failed{color:#b91c1c;background:#fee2e2}.login-container{background:var(--gradient-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle at 20% 80%,#10b9811a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#007aff1a 0%,#0000 50%),radial-gradient(circle,#10b9810d 0%,#0000 60%);width:200%;height:200%;animation:20s ease-in-out infinite bg-float;position:absolute;top:-50%;left:-50%}@keyframes bg-float{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(30px,-30px)rotate(5deg)}66%{transform:translate(-20px,20px)rotate(-5deg)}}.login-container:after{content:"";pointer-events:none;background-image:linear-gradient(#10b98108 1px,#0000 1px),linear-gradient(90deg,#10b98108 1px,#0000 1px);background-size:50px 50px;position:absolute;inset:0}.login-box{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card),0 0 40px #10b9811a;z-index:1;width:100%;max-width:420px;padding:48px 40px;position:relative}.login-box:before{content:"";background:var(--gradient-energy);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.login-header{text-align:center;margin-bottom:40px}.login-logo{background:var(--gradient-primary);width:72px;height:72px;box-shadow:var(--shadow-neon);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;font-size:36px;animation:3s ease-in-out infinite logo-float;display:flex;position:relative}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-logo:before{content:"";background:var(--gradient-primary);z-index:-1;filter:blur(15px);opacity:.5;border-radius:24px;position:absolute;inset:-4px}.login-title{color:var(--color-text-primary);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:28px;font-weight:700}.login-subtitle{color:var(--color-text-tertiary);letter-spacing:2px;text-transform:uppercase;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--color-text-secondary);font-size:14px;font-weight:500}.form-input{background:var(--bg-dark-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-normal);outline:none;padding:14px 16px;font-size:15px}.form-input:focus{border-color:var(--neon-green-primary);box-shadow:0 0 0 3px #10b9811a,var(--shadow-neon);background:#10b9810d}.form-input::placeholder{color:var(--color-text-muted)}.remember-row{justify-content:space-between;align-items:center;margin-top:-8px;display:flex}.remember-checkbox{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-normal);align-items:center;gap:8px;font-size:14px;display:flex}.remember-checkbox:hover{color:var(--neon-green-primary)}.remember-checkbox input[type=checkbox]{cursor:pointer;accent-color:var(--neon-green-primary)}.forgot-link{color:var(--neon-green-primary);cursor:pointer;transition:all var(--transition-normal);font-size:14px;text-decoration:none}.forgot-link:hover{color:var(--neon-green-light);text-shadow:0 0 10px var(--neon-green-primary)}.login-button{background:var(--gradient-primary);color:var(--bg-dark-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);z-index:1;box-shadow:var(--shadow-neon);border:none;margin-top:12px;padding:16px;font-size:16px;font-weight:600;position:relative;overflow:hidden}.login-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-button:hover{box-shadow:var(--shadow-neon-hover),0 0 60px #10b9814d;transform:translateY(-2px)}.login-button:hover:before{left:100%}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{color:var(--color-error);border-radius:var(--radius-md);text-align:center;background:#ff44441a;border:1px solid #ff44444d;margin-top:-8px;padding:12px 16px;font-size:14px;animation:.5s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-tips{border-radius:var(--radius-md);color:var(--color-text-secondary);background:#10b9810d;border:1px solid #10b98133;margin-top:24px;padding:16px;font-size:13px}.login-tips-title{color:var(--neon-green-primary);align-items:center;gap:6px;margin-bottom:8px;font-weight:600;display:flex}.login-tips-title:before{content:"💡"}.login-tips-content{padding-left:22px;line-height:1.8}.login-footer{text-align:center;color:var(--color-text-tertiary);margin-top:32px;font-size:13px}@media (max-width:480px){.login-box{border-radius:var(--radius-lg);padding:32px 24px}.login-title{font-size:24px}.login-logo{width:60px;height:60px;font-size:28px}}.app{background:var(--gradient-bg);min-height:100vh;display:flex;position:relative}.app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 0,#10b98108 0%,#0000 50%),radial-gradient(at 80% 100%,#007aff05 0%,#0000 50%),radial-gradient(#10b98105 0%,#0000 60%);position:fixed;inset:0}.app:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#10b98104 1px,#0000 1px),linear-gradient(90deg,#10b98104 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.main-content{z-index:1;min-width:0;transition:margin-left var(--transition-normal);flex-direction:column;flex:1;margin-left:280px;display:flex;position:relative}.app.sidebar-collapsed .main-content{margin-left:80px}.page-content{padding:var(--spacing-lg);background:0 0;flex:1;position:relative;overflow-y:auto}.page-content::-webkit-scrollbar{width:8px}.page-content::-webkit-scrollbar-track{background:0 0}.page-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.page-content::-webkit-scrollbar-thumb:hover{background:#10b98126}@media (max-width:1024px){.main-content{margin-left:80px}.page-content{padding:var(--spacing-md)}}@media (max-width:768px){.main-content{margin-left:0}.page-content{padding:var(--spacing-sm)}}.btn-action,button.btn-action,.btn-back,button.btn-back,.btn-download,button.btn-download,.btn-primary,button.btn-primary,.btn-secondary,button.btn-secondary,.btn-danger,button.btn-danger,.btn-accent,button.btn-accent,.btn-ghost,button.btn-ghost{flex-shrink:0;min-height:36px;white-space:nowrap!important;line-height:1.2!important;font-family:var(--font-family)!important;justify-content:center!important;align-items:center!important;gap:8px!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;display:inline-flex!important}.btn-primary,button.btn-primary,input[type=submit].btn-primary{background:var(--gradient-primary)!important;background-color:var(--color-primary)!important;color:#fff!important;box-shadow:var(--shadow-primary)!important;border:none!important}.btn-primary:hover,button.btn-primary:hover,input[type=submit].btn-primary:hover{opacity:.95;transform:translateY(-2px);box-shadow:var(--shadow-primary-lg)!important}.btn-primary:active,button.btn-primary:active,input[type=submit].btn-primary:active{opacity:1;transform:translateY(0)}.btn-primary:disabled,button.btn-primary:disabled,input[type=submit].btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none!important}.btn-secondary,button.btn-secondary{color:var(--color-primary)!important;border:2px solid var(--color-primary)!important;background:0 0!important}.btn-secondary:hover,button.btn-secondary:hover{background:var(--color-primary-bg)!important;background-color:var(--color-primary-bg)!important;box-shadow:var(--shadow-sm)!important}.btn-ghost,button.btn-ghost{color:var(--text-secondary)!important;border:1px solid var(--border-primary)!important;background:0 0!important}.btn-ghost:hover,button.btn-ghost:hover{border-color:var(--color-primary)!important;color:var(--color-primary)!important;background:var(--bg-hover)!important;background-color:var(--bg-hover)!important}.btn-danger,button.btn-danger{background:var(--color-error-bg)!important;background-color:var(--color-error-bg)!important;color:var(--color-error)!important;border:1px solid var(--color-error)!important}.btn-danger:hover,button.btn-danger:hover{background:var(--color-error)!important;background-color:var(--color-error)!important;color:#fff!important}.btn-accent,button.btn-accent{background:var(--gradient-accent)!important;background-color:var(--color-accent)!important;color:#fff!important;border:none!important}.btn-accent:hover,button.btn-accent:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important}.btn-sm,button.btn-sm{font-size:var(--font-size-sm)!important;padding:8px 16px!important}.btn-lg,button.btn-lg{font-size:var(--font-size-lg)!important;padding:16px 32px!important}.btn-icon,button.btn-icon{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:36px;line-height:1.2;display:inline-flex;font-family:var(--font-family)!important;font-size:13px!important;font-weight:600!important}.btn-text-button,button.btn-text-button{gap:6px!important;padding:0 10px!important}.btn-text-button span:last-child,button.btn-text-button span:last-child{line-height:1;display:inline-block}.btn-icon svg{width:16px;height:16px}
