*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:24px}.button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s}.button:hover:not(:disabled){background:#0056b3}.button:disabled{background:#ccc;color:#666;cursor:not-allowed}.button.danger{background:#dc3545;color:#fff}.button.danger:hover:not(:disabled){background:#c82333;color:#fff}.button.success{background:#28a745;color:#fff}.button.success:hover:not(:disabled){background:#218838;color:#fff}.input{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;transition:border-color .2s;width:100%}.input:focus{border-color:#007bff;outline:none}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.error{color:#dc3545}.error,.success{font-size:14px;margin-top:8px}.success{color:#28a745}.warning{color:#ffc107;font-size:14px;margin-top:8px}.loading{align-items:center;display:flex;justify-content:center;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;width:40px}.exam-container{background-color:#f0f0f0;height:100vh;overflow:hidden;position:relative;width:100vw}.exam-header{align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;left:0;padding:15px 20px;position:fixed;right:0;top:0;z-index:1000}.exam-content{margin-left:auto;margin-right:auto;margin-top:80px;max-width:800px;padding:20px}.webcam-container{background:#000;border:2px solid #333;border-radius:8px;height:150px;overflow:hidden;position:fixed;right:20px;top:80px;width:200px;z-index:1000}.recording-indicator{background:#000000b3;border-radius:4px;color:red;font-size:12px;font-weight:700;left:5px;padding:2px 6px;position:absolute;top:5px}.timer{border-radius:8px;color:#fff;font-size:24px;font-weight:700;padding:10px 20px}.timer.normal{background:#28a745}.timer.warning{background:#ffc107}.timer.danger{background:#dc3545}.question-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.question-header{background:#f8f9fa;border-radius:6px;font-weight:500;margin-bottom:20px;padding:10px 15px}.question-text{color:#333;font-size:18px;line-height:1.6;margin-bottom:25px}.answer-option{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:block;margin:10px 0;padding:15px;transition:all .2s}.answer-option:hover{background:#f8f9ff;border-color:#007bff}.answer-option.selected{background:#e3f2fd;border-color:#007bff}.answer-option input[type=radio]{margin-right:12px}.navigation-buttons{border-top:1px solid #ddd;display:flex;justify-content:space-between;margin-top:40px;padding-top:20px}.violation-counter{background:#ff9800;border-radius:6px;color:#fff;font-size:14px;font-weight:700;left:20px;padding:8px 12px;position:fixed;top:90px;z-index:1000}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:400px;padding:40px;width:100%}.auth-title{color:#333;font-size:24px;font-weight:700;margin-bottom:30px;text-align:center}.file-input{border:2px dashed #ddd;border-radius:6px;cursor:pointer;padding:20px;text-align:center;transition:border-color .2s}.file-input:hover{border-color:#007bff}.file-input.dragover{background:#f8f9ff;border-color:#007bff}.proctoring-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;position:fixed;right:20px;top:80px;width:280px;z-index:1000}.proctoring-panel .webcam-container{height:auto;position:relative;right:auto;top:auto;width:100%}.proctoring-panel .webcam-container video{display:block;height:auto;width:100%}.proctoring-status{border-bottom:1px solid #eee;padding:15px}.proctoring-status h4{color:#666;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.status-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.status-item{align-items:center;border-radius:6px;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 10px}.status-item.ok{background:#d4edda;color:#155724}.status-item.alert{background:#f8d7da;color:#721c24}.status-item.warning{background:#fff3cd;color:#856404}.status-item.initializing{background:#e7f3ff;color:#06c}.status-item.initializing .status-icon{animation:spin 1s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-icon{font-size:14px;font-weight:700}.violation-log{max-height:200px;overflow-y:auto;padding:15px}.violation-log h4{color:#666;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.violation-list{display:flex;flex-direction:column;gap:8px}.no-violations{color:#28a745;font-size:13px;padding:10px;text-align:center}.violation-item{border-radius:6px;display:flex;flex-direction:column;font-size:12px;padding:8px 10px}.violation-item.severity-low{background:#fff3cd;border-left:3px solid #ffc107}.violation-item.severity-medium{background:#ffe5d0;border-left:3px solid #fd7e14}.violation-item.severity-high{background:#f8d7da;border-left:3px solid #dc3545}.violation-time{color:#666;font-size:10px;margin-bottom:2px}.violation-message{color:#333;font-weight:500}@media (max-width:768px){.exam-content{margin-top:120px;padding:15px}.webcam-container{height:112px;top:120px;width:150px}.auth-card{margin:20px;padding:30px 20px}.proctoring-panel{right:10px;top:70px;width:200px}}.exam-ready-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.ready-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:500px;padding:40px;text-align:center}.ready-content h2{color:#333;margin-bottom:20px}.ready-content p{color:#666;margin-bottom:10px}.ready-instructions{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.ready-instructions p{font-size:14px;margin-bottom:8px}.start-exam-btn{font-size:18px;margin-top:10px;padding:16px 32px}.zoom-showcase{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;min-height:100vh}.showcase-header{border-bottom:1px solid #ffffff1a;padding:30px 20px 20px;position:relative;text-align:center}.showcase-header h1{font-size:28px;font-weight:600;margin:0 0 8px}.showcase-header p{color:#ffffffb3;font-size:16px;margin:0}.showcase-header .exit-btn{background:#ffffff1a;border:1px solid #fff3;font-size:14px;min-height:48px;padding:12px 20px;position:absolute;right:20px;top:20px}.showcase-header .exit-btn:hover{background:#fff3}.progress-steps{gap:20px;justify-content:center;padding:30px 20px}.progress-step,.progress-steps{align-items:center;display:flex}.progress-step{gap:10px;opacity:.5;transition:opacity .3s}.progress-step.active,.progress-step.completed{opacity:1}.step-number{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:16px;font-weight:600;height:36px;justify-content:center;width:36px}.progress-step.active .step-number{background:#2d6cdf}.progress-step.completed .step-number{background:#28a745}.progress-step span{color:#ffffffe6;font-size:14px}.progress-line{background:#fff3;height:2px;width:60px}.showcase-content{margin:0 auto;max-width:900px;padding:20px}.showcase-step{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:30px}.showcase-step h2{font-size:22px;font-weight:600;margin:0 0 10px}.step-description{color:#ffffffb3;line-height:1.5;margin-bottom:25px}.capture-mode-toggle{display:flex;gap:10px;justify-content:center;margin-bottom:25px}.mode-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;min-height:48px;padding:14px 24px;transition:all .2s}.mode-btn:hover{background:#ffffff26}.mode-btn.active{background:#2d6cdf;border-color:#2d6cdf}.upload-area{display:flex;justify-content:center}.upload-dropzone{border:2px dashed #ffffff4d;border-radius:12px;cursor:pointer;max-width:400px;padding:50px 30px;text-align:center;transition:all .2s;width:100%}.upload-dropzone:hover{background:#2d6cdf1a;border-color:#2d6cdf}.upload-icon{font-size:48px;margin-bottom:15px}.upload-dropzone p{font-size:16px;margin-bottom:8px}.upload-dropzone span{color:#ffffff80;font-size:13px}.webcam-capture-area{align-items:center;display:flex;flex-direction:column;gap:20px}.webcam-preview{border:3px solid #ffffff4d;border-radius:12px;overflow:hidden}.webcam-preview video{display:block}.capture-btn{font-size:16px;padding:14px 32px}.photo-preview{display:flex;justify-content:center;margin-bottom:25px}.photo-preview img{border:3px solid #2d6cdf;border-radius:12px;max-height:300px;max-width:300px;object-fit:cover}.preview-requirements{background:#2d6cdf26;border-radius:10px;margin-bottom:25px;padding:20px}.preview-requirements h4{color:#6db3f2;font-size:15px;margin:0 0 12px}.preview-requirements ul{margin:0;padding-left:20px}.preview-requirements li{color:#fffc;font-size:14px;margin-bottom:6px}.preview-actions{display:flex;gap:15px;justify-content:center}.error-message{background:#dc354533;border-radius:8px;color:#ff6b7a;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.zoom-step{padding:20px}.zoom-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.zoom-header h2{margin:0}.end-session-btn{font-size:14px;padding:10px 20px}.zoom-layout{display:flex;gap:20px}.zoom-main-area{flex:1 1}.zoom-video-placeholder{align-items:center;aspect-ratio:16/9;background:#0b1929;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;justify-content:center}.zoom-logo{color:#2d8cff;font-size:36px;font-weight:700;letter-spacing:4px;margin-bottom:15px}.zoom-video-placeholder p{color:#fff9;font-size:16px;margin-bottom:8px}.zoom-video-placeholder span{color:#fff6;font-size:13px}.verification-sidebar{display:flex;flex-direction:column;gap:15px;width:260px}.live-section,.reference-section,.verification-history,.verification-status-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:15px}.live-section h4,.reference-section h4,.verification-history h4,.verification-status-section h4{color:#fff9;font-size:13px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.reference-thumbnail{border-radius:8px;overflow:hidden}.reference-thumbnail img{display:block;height:auto;width:100%}.live-webcam{border-radius:8px;overflow:hidden;position:relative}.live-webcam video{display:block;height:auto;width:100%}.verifying-indicator{background:#2d6cdfe6;border-radius:4px;color:#fff;font-size:11px;font-weight:500;left:8px;padding:4px 10px;position:absolute;top:8px}.verification-badge{border-radius:8px;font-size:15px;font-weight:600;padding:12px 16px;text-align:center}.verification-badge.pending{background:#ffc10733;color:#ffc107}.verification-badge.verifying{background:#2d6cdf33;color:#6db3f2}.verification-badge.verified{background:#28a74533;color:#28a745}.verification-badge.failed{background:#dc354533;color:#ff6b7a}.verification-details{margin-top:12px}.detail-row{border-bottom:1px solid #ffffff1a;display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:#fff9}.detail-row .good{color:#28a745}.detail-row .bad{color:#ff6b7a}.history-list{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto}.no-history{color:#fff6;font-size:13px;padding:10px;text-align:center}.history-item{border-radius:6px;display:flex;font-size:12px;justify-content:space-between;padding:8px 10px}.history-item.verified{background:#28a74526}.history-item.failed{background:#dc354526}.history-time{color:#ffffff80}.history-status{font-weight:500}.history-item.verified .history-status{color:#28a745}.history-item.failed .history-status{color:#ff6b7a}.enrollment-success{align-items:center;background:#28a74526;border-radius:8px;color:#28a745;display:flex;font-weight:500;gap:10px;margin-bottom:25px;padding:12px 16px}.enrollment-success .success-icon{font-size:20px}.meeting-form{margin:0 auto 25px;max-width:400px;position:relative;z-index:100}.meeting-form .form-group{margin-bottom:20px;position:relative}.meeting-form label{color:#fffc;display:block;font-size:14px;margin-bottom:8px}.meeting-form input,.meeting-form input.input,.meeting-form input[type=text]{-webkit-appearance:none!important;appearance:none!important;background:#ffffff1a!important;border:1px solid #fff3!important;border-radius:8px!important;box-sizing:border-box!important;color:#fff!important;cursor:text!important;display:block!important;font-size:16px!important;height:auto!important;line-height:1.5!important;margin:0!important;opacity:1!important;padding:14px 16px!important;pointer-events:auto!important;position:relative!important;-webkit-user-select:text!important;user-select:text!important;visibility:visible!important;width:100%!important;z-index:10!important}.meeting-form input.input::placeholder,.meeting-form input::placeholder,.meeting-form input[type=text]::placeholder{color:#ffffff80!important;opacity:1!important}.meeting-form input.input:focus,.meeting-form input:focus,.meeting-form input[type=text]:focus{background:#ffffff26!important;border-color:#2d6cdf!important;outline:2px solid #2d6cdf!important}.zoom-instructions{background:#2d6cdf26;border:1px solid #2d6cdf4d;border-radius:12px;margin-bottom:25px;padding:20px;text-align:center}.zoom-instructions p{color:#ffffffe6;font-size:16px;line-height:1.5;margin-bottom:15px}.zoom-instructions .button{min-height:48px}@media (max-width:768px){.showcase-header h1{font-size:22px}.showcase-header .exit-btn{margin-top:15px;position:static}.progress-steps{flex-wrap:wrap;gap:15px}.progress-line{width:40px}.progress-step span{display:none}.showcase-content{padding:15px}.showcase-step{padding:20px}.capture-mode-toggle,.zoom-layout{flex-direction:column}.verification-sidebar{width:100%}.preview-actions{flex-direction:column}}.landing-page{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh}.landing-header{padding:60px 20px 40px;text-align:center}.landing-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:700;margin-bottom:15px}.landing-header .tagline{color:#ffffffb3;font-size:20px;margin:0 auto;max-width:600px}.demos-section{margin:0 auto;max-width:1200px;padding:40px 20px}.demos-section h2{color:#fff;font-size:32px;margin-bottom:40px;text-align:center}.demos-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));justify-content:center}.demo-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:30px;transition:transform .3s,box-shadow .3s,border-color .3s}.demo-card:hover{border-color:#4facfe4d;box-shadow:0 20px 40px #0000004d;transform:translateY(-5px)}.demo-icon{font-size:48px;margin-bottom:20px}.demo-card h3{color:#fff;font-size:24px;margin-bottom:15px}.demo-description{color:#ffffffb3;font-size:15px;line-height:1.6;margin-bottom:20px}.demo-features{list-style:none;margin-bottom:20px}.demo-features li{color:#fffc;font-size:14px;padding:8px 0 8px 25px;position:relative}.demo-features li:before{color:#4facfe;content:"✓";font-weight:700;left:0;position:absolute}.auth-badge{background:#ffc10733;border-radius:20px;color:#ffc107;display:inline-block;font-size:12px;margin-bottom:20px;padding:6px 12px}.demo-btn{font-size:16px;font-weight:600;min-height:48px;width:100%}.features-section{margin:0 auto;max-width:1200px;padding:60px 20px}.features-section h2{color:#fff;font-size:32px;margin-bottom:40px;text-align:center}.features-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;padding:25px 20px;text-align:center}.feature-icon{display:block;font-size:40px;margin-bottom:15px}.feature-item h4{color:#fff;font-size:18px;margin-bottom:10px}.feature-item p{color:#fff9;font-size:14px;line-height:1.5}.landing-footer{border-top:1px solid #ffffff1a;margin-top:40px;padding:40px 20px;text-align:center}.landing-footer p{color:#ffffff80;font-size:14px}@media (max-width:768px){.landing-header h1{font-size:32px}.landing-header .tagline{font-size:16px}.demos-section h2,.features-section h2{font-size:24px}.demo-card{padding:25px 20px}.demo-icon{font-size:36px}.demo-card h3{font-size:20px}}