.admin-layout{min-height:100vh;background:#f0f2f5}.admin-header{background:#1a202c;color:#fff;padding:1.5rem 0;box-shadow:0 2px 10px #0000001a}.admin-header .container{display:flex;justify-content:space-between;align-items:center}.admin-header .title{margin:0;font-size:1.5rem;font-weight:600}.admin-header .logout-btn{background:#e53e3e;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;transition:background .2s}.admin-header .logout-btn:hover{background:#c53030}.admin-content{padding:2rem 0}.dashboard .page-title{font-size:2rem;font-weight:700;color:#2d3748;margin-bottom:2rem}.dashboard .video-list{display:flex;flex-direction:column;gap:1.5rem}.dashboard .video-item{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:2rem}.dashboard .video-item .video-info{flex:1}.dashboard .video-item .video-info h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.dashboard .video-item .video-info p{color:#718096;margin-bottom:1rem}.dashboard .video-item .video-info .stats{display:flex;gap:1.5rem;font-size:.875rem;color:#4a5568}.dashboard .video-item .video-info .stats span{padding:.25rem .75rem;background:#edf2f7;border-radius:.25rem}.dashboard .video-item .view-btn{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;cursor:pointer;font-weight:600;white-space:nowrap;transition:background .2s}.dashboard .video-item .view-btn:hover{background:#5a67d8}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-login .login-card{background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.admin-login .login-title{text-align:center;font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:2rem}.admin-login .login-form .form-group{margin-bottom:1.5rem}.admin-login .login-form .form-group label{display:block;font-weight:600;color:#4a5568;margin-bottom:.5rem}.admin-login .login-form .form-group .form-input{width:calc(100% - 1.5rem);padding:.75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:1rem;transition:border-color .2s}.admin-login .login-form .form-group .form-input:focus{outline:none;border-color:#667eea}.admin-login .login-form .error-message{color:#e53e3e;font-size:.875rem;margin-bottom:1rem}.admin-login .login-form .submit-btn{width:100%;background:#667eea;color:#fff;padding:.75rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.admin-login .login-form .submit-btn:hover{background:#5a67d8}.video-viewers .back-btn{background:#718096;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;margin-bottom:1.5rem;transition:background .2s}.video-viewers .back-btn:hover{background:#4a5568}.video-viewers .page-title{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:2rem}.video-viewers .viewers-table-container{background:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;overflow:hidden}.video-viewers .viewers-table{width:100%;border-collapse:collapse}.video-viewers .viewers-table thead{background:#f7fafc}.video-viewers .viewers-table thead th{padding:1rem;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.video-viewers .viewers-table tbody tr{border-bottom:1px solid #e2e8f0}.video-viewers .viewers-table tbody tr:hover{background:#f7fafc}.video-viewers .viewers-table tbody tr td{padding:1rem;color:#4a5568}.video-viewers .no-data{padding:3rem;text-align:center;color:#a0aec0;font-size:1.125rem}.client-layout{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 0;box-shadow:0 2px 10px #0000001a}.header .title{margin:0;font-size:2rem;font-weight:700;text-align:center}.main-content{flex:1;padding:3rem 0;background:#f8f9fa}.footer{background:#2d3748;color:#fff;padding:2rem 0;text-align:center}.footer p{margin:0}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.video-card{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.video-card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #00000026}.video-card .thumbnail{width:100%;height:225px;overflow:hidden;background:#e2e8f0}.video-card .thumbnail img{width:100%;height:100%;object-fit:cover}.video-card .card-content{padding:1.5rem}.video-card .card-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.video-card .card-description{color:#718096;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home .page-title{font-size:2rem;font-weight:700;color:#2d3748;margin-bottom:2rem;text-align:center}.home .video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.home .video-grid{grid-template-columns:1fr}}.video-player{width:100%;background:#000;border-radius:.5rem;overflow:hidden;margin-bottom:2rem;position:relative}.video-player .video-element{width:100%;display:block}.video-player .video-error{background:#1a1a1a;color:#ff6b6b;padding:3rem 2rem;text-align:center;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.video-player .video-error p{margin:.5rem 0;font-size:1.1rem}.video-player .video-error .error-details{color:#999;font-size:.9rem;word-break:break-all;max-width:80%;margin-top:1rem}.video-player .video-error .retry-button{margin-top:1.5rem;padding:.75rem 1.5rem;background:#4a90e2;color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:1rem;transition:background .3s}.video-player .video-error .retry-button:hover{background:#357abd}.video-player .video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.1rem;text-align:center;pointer-events:none}.video-player .video-loading p{margin:0;padding:1rem 2rem;background:#000000b3;border-radius:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:.5rem;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.modal-content .modal-title{font-size:1.5rem;font-weight:700;color:#2d3748;margin-bottom:.5rem}.modal-content .modal-description{color:#718096;margin-bottom:1.5rem}.modal-content .auth-form .form-group{margin-bottom:1rem}.modal-content .auth-form .form-group label{display:block;font-weight:600;color:#4a5568;margin-bottom:.5rem}.modal-content .auth-form .form-group .form-input{width:calc(100% - 1.5rem);padding:.75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:1rem}.modal-content .auth-form .form-group .form-input:focus{outline:none;border-color:#667eea}.modal-content .auth-form .button-group{display:flex;gap:1rem;margin-top:1.5rem}.modal-content .auth-form .button-group button{flex:1;padding:.75rem;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:background .2s}.modal-content .auth-form .button-group .cancel-btn{background:#e2e8f0;color:#4a5568}.modal-content .auth-form .button-group .cancel-btn:hover{background:#cbd5e0}.modal-content .auth-form .button-group .submit-btn{background:#667eea;color:#fff}.modal-content .auth-form .button-group .submit-btn:hover{background:#5a67d8}.video-detail{max-width:900px;margin:0 auto;background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a}.video-detail .back-btn{background:#718096;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;margin-bottom:1.5rem;transition:background .2s}.video-detail .back-btn:hover{background:#4a5568}.video-detail .video-title{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.video-detail .video-description{color:#718096;margin-bottom:2rem;line-height:1.6}.video-detail .auth-required-message{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:.5rem;padding:3rem 2rem;text-align:center;color:#4a5568;font-size:1.1rem;line-height:1.8}.video-detail .auth-required-message p{margin:.5rem 0}.video-detail .auth-required-message p:first-child{font-weight:600;color:#2d3748}
