/* Admin Console */ /* Simple Loading Container */ .loading-container { background: #1a1a2e; min-height: 500px; position: relative; overflow: hidden; } /* LDS Roller Spinner */ .lds-roller, .lds-roller div, .lds-roller div:after { box-sizing: border-box; } .lds-roller { display: inline-block; position: relative; width: 80px; height: 80px; } .lds-roller div { animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; transform-origin: 40px 40px; } .lds-roller div:after { content: " "; display: block; position: absolute; width: 7.2px; height: 7.2px; border-radius: 50%; background: currentColor; margin: -3.6px 0 0 -3.6px; } .lds-roller div:nth-child(1) { animation-delay: -0.036s; } .lds-roller div:nth-child(1):after { top: 62.62742px; left: 62.62742px; } .lds-roller div:nth-child(2) { animation-delay: -0.072s; } .lds-roller div:nth-child(2):after { top: 67.71281px; left: 56px; } .lds-roller div:nth-child(3) { animation-delay: -0.108s; } .lds-roller div:nth-child(3):after { top: 70.90963px; left: 48.28221px; } .lds-roller div:nth-child(4) { animation-delay: -0.144s; } .lds-roller div:nth-child(4):after { top: 72px; left: 40px; } .lds-roller div:nth-child(5) { animation-delay: -0.18s; } .lds-roller div:nth-child(5):after { top: 70.90963px; left: 31.71779px; } .lds-roller div:nth-child(6) { animation-delay: -0.216s; } .lds-roller div:nth-child(6):after { top: 67.71281px; left: 24px; } .lds-roller div:nth-child(7) { animation-delay: -0.252s; } .lds-roller div:nth-child(7):after { top: 62.62742px; left: 17.37258px; } .lds-roller div:nth-child(8) { animation-delay: -0.288s; } .lds-roller div:nth-child(8):after { top: 56px; left: 12.28719px; } @keyframes lds-roller { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Simple Loading Text */ .loading-title { font-size: 1.25rem; font-weight: 500; color: #fff; margin-bottom: 10px; } .loading-text { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; } .loading-status { color: rgba(255, 255, 255, 0.5); font-size: 0.8rem; } /* Legacy styles */ .console-container { transition: all 0.5s ease-in-out; min-height: 500px; } .fade-transition { transition: opacity 0.4s ease-in-out; } /* User Console */ .console-container { background: #1a1a1a; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .console-header { background: #2a2a2a; border-bottom: 1px solid #3a3a3a; padding: 12px 20px; } .control-panel { background: white; border-radius: 8px; border: 1px solid #e5e7eb; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .btn-primary { background: #3b82f6; color: white; border: none; padding: 8px 16px; border-radius: 6px; font-weight: 500; transition: background-color 0.2s; } .btn-primary:hover { background: #2563eb; } .btn-secondary { background: #f8f9fa; color: #374151; border: 1px solid #d1d5db; padding: 8px 16px; border-radius: 6px; font-weight: 500; transition: all 0.2s; } .btn-secondary:hover { background: #e5e7eb; } .input-field { width: 100%; padding: 8px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; transition: border-color 0.2s; } .input-field:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .loading-spinner { width: 32px; height: 32px; border: 3px solid #e5e7eb; border-top: 3px solid #3b82f6; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .section-title { font-size: 16px; font-weight: 600; color: #111827; margin-bottom: 16px; } .status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; } .status-connecting { background: #f59e0b; } .status-connected { background: #10b981; } .status-error { background: #ef4444; }