.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a2e)}.auth-box{background:var(--bg-secondary);padding:40px;border-radius:16px;box-shadow:0 20px 60px #00000080;width:100%;max-width:400px;border:1px solid var(--border)}.auth-box h1{text-align:center;margin-bottom:30px;font-size:32px;background:linear-gradient(135deg,var(--accent) 0%,#00ff88 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-box form{display:flex;flex-direction:column;gap:16px}.auth-box input{padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:15px;transition:all .2s}.auth-box input:focus{border-color:var(--accent);background:var(--bg-primary)}.auth-box button[type=submit]{padding:14px;background:var(--accent);color:#000;font-weight:600;font-size:15px;border-radius:8px;margin-top:8px;transition:all .2s}.auth-box button[type=submit]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff66}.auth-box button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.auth-toggle{margin-top:20px;background:transparent;color:var(--text-secondary);font-size:14px;padding:10px;border-radius:6px;transition:all .2s}.auth-toggle:hover{color:var(--accent);background:var(--bg-tertiary)}.message{margin-top:16px;padding:12px;border-radius:8px;text-align:center;font-size:14px}.message.error{background:#ff44441a;border:1px solid var(--error);color:var(--error)}.message.success{background:#00ff881a;border:1px solid var(--success);color:var(--success)}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border);height:70px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:20px}.header-left h1{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--accent) 0%,#00ff88 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.current-channel-name{font-size:14px;color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{display:flex;align-items:center;gap:20px}.users-online{padding:8px 16px;background:var(--bg-tertiary);border-radius:20px;font-size:14px;color:var(--success)}.username{color:var(--text-secondary);font-size:14px}.logout-btn{padding:8px 20px;background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;font-size:14px;transition:all .2s}.logout-btn:hover{background:var(--error);color:#fff}.main-content{display:flex;height:calc(100vh - 70px);overflow:hidden}.sidebar{width:380px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.search-box{padding:16px;border-bottom:1px solid var(--border)}.search-box form{display:flex;gap:8px}.search-box input{flex:1;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px}.search-box button{padding:12px 20px;background:var(--accent);color:#000;font-size:18px;border-radius:8px;transition:all .2s}.search-box button:hover{background:var(--accent-hover)}.category-filter{padding:16px;border-bottom:1px solid var(--border)}.category-filter select{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer}.refresh-btn{width:calc(100% - 32px);margin:16px 16px 0;padding:12px;background:linear-gradient(135deg,#00d4ff,#0f8);color:#000;font-weight:600;font-size:14px;border-radius:8px;transition:all .2s;box-shadow:0 4px 12px #00d4ff4d}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00d4ff80}.refresh-btn:disabled{opacity:.5;cursor:not-allowed;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.7}}.status-message{margin:16px;padding:12px;border-radius:8px;font-size:13px;text-align:center;animation:slideDown .3s ease}.status-message.success{background:#00ff881a;border:1px solid var(--success);color:var(--success)}.status-message.error{background:#ff44441a;border:1px solid var(--error);color:var(--error)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.channel-list{flex:1;overflow-y:auto;padding:8px}.channel-item{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.channel-item:hover{background:#333;border-color:var(--accent);transform:translate(4px)}.channel-item.active{background:linear-gradient(135deg,#00d4ff33,#0f83);border-color:var(--accent)}.channel-item img{width:48px;height:48px;object-fit:contain;border-radius:6px;background:var(--bg-primary);padding:4px}.channel-info{flex:1;min-width:0}.channel-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-category{font-size:12px;color:var(--text-secondary);margin-top:4px}.loading-center{display:flex;justify-content:center;align-items:center;padding:60px 20px}.no-channels{text-align:center;padding:60px 20px;color:var(--text-secondary)}.player-area{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative}.video-player{width:100%;height:100%;object-fit:contain;background:#000}.no-video{text-align:center;color:var(--text-secondary)}.no-video h2{font-size:28px;margin-bottom:12px;color:var(--text-primary)}.no-video p{font-size:16px;color:var(--text-secondary)}@media (max-width: 768px){.sidebar{width:100%;max-width:100%}.main-content{flex-direction:column}.player-area{height:50vh}.header-left h1{font-size:18px}.current-channel-name{display:none}}:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--accent: #00d4ff;--accent-hover: #00b8e6;--text-primary: #ffffff;--text-secondary: #a0a0a0;--border: #333;--success: #00ff88;--error: #ff4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}input,button,select{font-family:inherit}button{cursor:pointer;border:none;outline:none;transition:all .2s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:40px;height:40px;border:4px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
