:root{--color-primary: #0071e3;--color-primary-light: #4097ea;--color-primary-dark: #005bbf;--color-success: #34c759;--color-warning: #ff9500;--color-error: #ff3b30;--color-background: #f5f5f7;--color-surface: #ffffff;--color-text-primary: #1d1d1f;--color-text-secondary: #86868b;--color-text-tertiary: #aeaeb2;--color-border: #e5e5e7;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .05), 0 4px 6px rgba(0, 0, 0, .05);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;flex-direction:column}.logo-container h1{font-weight:600;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;margin:0;line-height:1;font-size:32px}.subtitle{font-size:.875rem;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.refresh-button{display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--color-primary);color:#fff;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);border:none;cursor:pointer;transition:all var(--transition-fast)}.refresh-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.main-content{flex:1;padding:var(--spacing-md);max-width:1200px;margin:0 auto;width:100%}.console-table-container{background-color:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-normal);animation:slideUp .5s ease-out}.table-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.table-header h2{margin:0;font-weight:600;font-size:24px}.console-count{background-color:var(--color-background);border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.table-wrapper{overflow-x:auto;padding-bottom:var(--spacing-md)}.console-table{width:100%;border-collapse:separate;border-spacing:0}.console-table thead{background-color:var(--color-background)}.console-table th{text-align:left;padding:var(--spacing-md) var(--spacing-lg);font-weight:500;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);position:sticky;top:0;background-color:var(--color-background);z-index:1}.console-item{border-bottom:1px solid var(--color-border)}.console-item:last-child{border-bottom:none}.console-name{padding:var(--spacing-md) var(--spacing-lg);width:70%}.console-status{padding:var(--spacing-md) var(--spacing-lg);width:30%}.console-info{display:flex;align-items:center;gap:var(--spacing-md)}.console-info .name{font-weight:500}.status-indicator{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-weight:500}.status-indicator.enabled{background-color:#34c7591a;color:var(--color-success)}.status-indicator.disabled{background-color:#ff3b301a;color:var(--color-error)}.status-dropdown{position:relative;width:100%}.status-dropdown select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);background-color:var(--color-surface);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--spacing-xl);transition:all var(--transition-fast);font-family:var(--font-family);font-size:1rem}.status-dropdown:after{content:"";position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--color-text-secondary);pointer-events:none}.status-dropdown select.enabled{border:1px solid var(--color-success);color:var(--color-success);background-color:#34c7590d}.status-dropdown select.disabled{border:1px solid var(--color-error);color:var(--color-error);background-color:#ff3b300d}.status-dropdown.changing select{opacity:.5}.status-updating{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#ffffffb3;border-radius:var(--border-radius-md);animation:fadeIn .2s ease-in-out}.updating-indicator{width:20px;height:20px;border:2px solid rgba(0,113,227,.3);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) 0;color:var(--color-text-secondary)}.spinner{width:50px;height:50px;margin-bottom:var(--spacing-md);position:relative}.spinner-inner{box-sizing:border-box;width:100%;height:100%;border:3px solid transparent;border-top-color:var(--color-primary);border-radius:50%;animation:spinner 1s linear infinite}.spinner-inner:before,.spinner-inner:after{content:"";box-sizing:border-box;position:absolute;border:3px solid transparent;border-radius:50%}.spinner-inner:before{top:5px;left:5px;right:5px;bottom:5px;border-top-color:var(--color-primary-light);animation:spinner 2s linear infinite}.spinner-inner:after{top:15px;left:15px;right:15px;bottom:15px;border-top-color:#0071e380;animation:spinner 1.5s linear infinite}.error-message{background-color:#ff3b301a;border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;animation:fadeIn .3s ease-in-out}.error-message p{color:var(--color-error);margin:0}.error-message button{background-color:var(--color-error);color:#fff;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);border:none;cursor:pointer}.app-footer{padding:var(--spacing-md);background-color:var(--color-surface);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-secondary);font-size:.875rem}.empty-state{text-align:center;padding:var(--spacing-xxl) var(--spacing-xl)}.empty-state h2{margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.empty-state p{color:var(--color-text-secondary)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){html{font-size:14px}.app-header{padding:var(--spacing-md)}.logo-container h1{font-size:28px}.refresh-button span{display:none}.refresh-button{padding:var(--spacing-sm)}.table-header{padding:var(--spacing-md);flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.console-name,.console-status{padding:var(--spacing-md)}.console-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}}
