.dynamic-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.has-error .form-input,.form-field.has-error .form-textarea,.form-field.has-error .form-select{border-color:#e53e3e}.form-label{font-size:16px;font-weight:500;color:#1a1a2e}.required{color:#e53e3e;margin-left:4px}.form-input,.form-textarea,.form-select{padding:14px 16px;font-size:16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-color, #667eea);box-shadow:0 0 0 3px #667eea26}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-textarea{resize:vertical;min-height:100px}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.radio-group{display:flex;gap:16px;flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:16px}.radio-option input[type=radio]{display:none}.radio-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;position:relative;transition:all .2s ease}.radio-option input[type=radio]:checked+.radio-custom{border-color:var(--primary-color, #667eea)}.radio-option input[type=radio]:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--primary-color, #667eea);border-radius:50%}.radio-label{color:#374151}.checkbox-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:16px}.checkbox-option input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;min-width:20px;border:2px solid #d1d5db;border-radius:4px;position:relative;transition:all .2s ease;margin-top:1px}.checkbox-option input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color, #667eea);border-color:var(--primary-color, #667eea)}.checkbox-option input[type=checkbox]:checked+.checkbox-custom:after{content:"";position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label{color:#374151;line-height:1.4}.file-input-wrapper{position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}.file-input-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;color:#6b7280;font-size:16px;cursor:pointer;transition:all .2s ease}.file-input-label:hover{border-color:var(--primary-color, #667eea);background:#f0f4ff}.file-input:focus+.file-input-label{border-color:var(--primary-color, #667eea);box-shadow:0 0 0 3px #667eea26}.upload-icon{font-size:20px}.file-name{color:var(--primary-color, #667eea);font-weight:500;word-break:break-all}.help-text{font-size:13px;color:#6b7280}.error-text{font-size:13px;color:#e53e3e}.char-count{font-size:13px;color:#9ca3af;text-align:right}@media (max-width: 480px){.dynamic-form{gap:16px}.form-label{font-size:14px}.form-input,.form-textarea,.form-select{padding:10px 12px;font-size:16px}.radio-option,.checkbox-option{font-size:14px}.radio-group{flex-direction:column;gap:12px}.file-input-label{padding:20px 16px;font-size:14px}.help-text,.error-text,.char-count{font-size:12px}}.video-recorder{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 40px #0003}.video-recorder--embedded{box-shadow:none;padding:0;border-radius:0}.title{font-size:28px;font-weight:700;color:#1a1a2e;text-align:center;margin-bottom:4px}.subtitle{font-size:16px;color:#666;text-align:center;margin-bottom:20px}.video-container{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:12px;overflow:hidden;margin-bottom:16px}.video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;background:#1a1a2e}.camera-icon{font-size:48px;margin-bottom:12px}.video-element{width:100%;height:100%;object-fit:cover}.recording-indicator{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;background:#0009;padding:8px 12px;border-radius:20px;color:#fff;font-weight:600}.recording-dot{width:12px;height:12px;background:#f44;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.time-left{font-size:16px;font-variant-numeric:tabular-nums}.progress-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff4d}.progress-fill{height:100%;background:var(--primary-color, #667eea);transition:width .5s linear}.controls{display:flex;justify-content:center;margin:20px 0}.button-group{display:flex;gap:12px;width:100%;justify-content:center}.btn{padding:14px 32px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:140px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-record{background:#11998e;color:#fff}.btn-stop{background:#eb3349;color:#fff}.status-text{color:#666;font-size:16px;text-align:center;padding:14px 0}.error-message{background:#fff5f5;border:1px solid #fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;text-align:center}.success-container{display:flex;flex-direction:column;align-items:center;gap:12px}.success-text{color:#38a169;font-weight:600;font-size:16px}.file-info{text-align:center;font-size:12px;color:#888;margin-bottom:8px}.file-info p{margin:4px 0}.upload-info{text-align:center;font-size:12px;color:#667eea;background:#f0f4ff;padding:8px;border-radius:6px;margin-bottom:8px}.hint{text-align:center;font-size:15px;color:#888;min-height:20px}@media (max-width: 480px){.video-recorder{padding:16px;border-radius:12px}.title{font-size:20px}.subtitle{font-size:13px}.btn{padding:12px 24px;font-size:14px;min-width:120px}.button-group{flex-direction:column}.button-group .btn{width:100%}.video-container{aspect-ratio:4 / 3}.status-text{font-size:14px}.hint{font-size:13px}}@media (min-width: 481px) and (max-width: 768px){.video-container{aspect-ratio:4 / 3}}@media (max-height: 500px) and (orientation: landscape){.video-recorder{padding:12px}.title{font-size:18px;margin-bottom:2px}.subtitle{font-size:12px;margin-bottom:12px}.video-container{aspect-ratio:16 / 9;max-height:50vh}.controls{margin:12px 0}.btn{padding:10px 20px}}:root{--ir-answer: #22c55e;--ir-pause: #a855f7;--ir-surface: #1e293b;--ir-text: #f1f5f9;--ir-muted: #94a3b8}.ir-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;padding:24px 16px 32px;font-family:inherit}.ir-ready{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:640px;padding:36px 28px;background:var(--ir-surface);border-radius:16px;color:var(--ir-text)}.ir-ready-icon{font-size:52px}.ir-ready-title{font-size:1.4rem;font-weight:700;margin:0}.ir-ready-sub{color:var(--ir-muted);font-size:.95rem;line-height:1.6;margin:0}.ir-tips{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;text-align:left}@media (max-width: 540px){.ir-tips{grid-template-columns:1fr}}.ir-tip{display:flex;gap:12px;align-items:flex-start;background:#ffffff0d;border-radius:10px;padding:14px}.ir-tip-icon{font-size:1.4rem;flex-shrink:0;line-height:1;margin-top:1px}.ir-tip strong{display:block;color:var(--ir-text);font-size:.88rem;font-weight:700;margin-bottom:4px}.ir-tip p{margin:0;color:var(--ir-muted);font-size:.82rem;line-height:1.55}.ir-btn{border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;padding:12px 32px;transition:opacity .15s}.ir-btn:hover{opacity:.88}.ir-btn--start{background:var(--ir-answer);color:#fff;font-size:1.1rem;padding:14px 40px;margin-top:8px}.ir-interview{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:560px}.ir-progress{display:flex;gap:8px}.ir-dot{width:10px;height:10px;border-radius:50%;background:#334155;transition:background .3s}.ir-dot--active{background:#60a5fa}.ir-dot--done{background:#22c55e}.ir-q-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ir-muted);font-weight:600}.ir-question{font-size:1.25rem;font-weight:700;color:#1e293b;text-align:center;line-height:1.5;padding:20px 24px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:14px;width:100%}.ir-phase-row{display:flex;align-items:center;gap:12px;border-radius:999px;padding:8px 20px}.ir-phase-row--answer{background:#22c55e1f;border:1.5px solid var(--ir-answer)}.ir-phase-row--answer .ir-phase-label,.ir-phase-row--answer .ir-countdown{color:var(--ir-answer)}.ir-phase-row--pause{background:#a855f71f;border:1.5px solid var(--ir-pause)}.ir-phase-row--pause .ir-phase-label,.ir-phase-row--pause .ir-countdown{color:var(--ir-pause)}.ir-phase-label{font-size:.9rem;font-weight:600}.ir-countdown{font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.ir-camera-wrap{position:relative;width:100%;max-width:480px;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#0f172a;box-shadow:0 8px 30px #0003}.ir-video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}.ir-rec-badge{position:absolute;top:10px;left:12px;background:#ef4444;color:#fff;font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px;animation:ir-blink 1s step-end infinite}@keyframes ir-blink{0%,to{opacity:1}50%{opacity:.2}}.ir-ring{position:absolute;bottom:10px;right:10px;width:56px;height:56px}.ir-ring-bg{fill:none;stroke:#ffffff26;stroke-width:8}.ir-ring-fill{fill:none;stroke:var(--ir-answer);stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;stroke-dasharray:339.3;transition:stroke-dashoffset .9s linear}.ir-hint{font-size:.85rem;color:var(--ir-muted);text-align:center;margin:0}.ir-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 24px}.ir-done-icon{font-size:52px}.ir-done h2{font-size:1.4rem;font-weight:700;color:#1e293b;margin:0}.ir-done p{color:var(--ir-muted);margin:0}.application-page{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;overflow:hidden}.application-header{background:var(--primary-color, #667eea);color:#fff;padding:32px;text-align:center}.company-name{font-size:34px;font-weight:700;margin-bottom:6px}.job-title{font-size:18px;opacity:.9}.step-indicator{display:flex;justify-content:center;padding:24px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:8px}.step{display:flex;align-items:center;gap:8px;color:#9ca3af}.step:not(:last-child):after{content:"";width:40px;height:2px;background:#e5e7eb;margin-left:8px}.step.active .step-number,.step.completed .step-number{background:var(--primary-color, #667eea);color:#fff}.step.active .step-label,.step.completed .step-label{color:#1a1a2e}.step-number{width:32px;height:32px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;transition:all .2s ease}.step-label{font-size:15px;font-weight:500;transition:color .2s ease}.application-content{padding:32px}.step-content{max-width:700px;margin:0 auto}.step-header{text-align:center;margin-bottom:28px}.step-header h2{font-size:24px;font-weight:600;color:#1a1a2e;margin-bottom:6px}.step-header p{font-size:16px;color:#6b7280}.step-actions{display:flex;justify-content:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}.btn{padding:14px 28px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:140px}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary-color, #667eea);color:#fff}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}.btn-large{padding:16px 36px;font-size:18px}.review-section{background:#f9fafb;border-radius:12px;padding:20px;margin-bottom:20px}.review-section h3{font-size:18px;font-weight:600;color:#1a1a2e;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.review-grid{display:flex;flex-direction:column;gap:12px}.review-item{display:flex;flex-direction:column;gap:4px}.review-label{font-size:13px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.review-value{font-size:16px;color:#1a1a2e;word-break:break-word;white-space:pre-wrap}.video-preview{text-align:center}.review-video{width:100%;max-width:400px;border-radius:8px;background:#000}.video-info{font-size:12px;color:#6b7280;margin-top:8px}.video-info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px}.video-info-block{margin-bottom:20px}.video-info-block:last-child{margin-bottom:0}.video-info-block h3{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:12px}.video-questions-list{padding-left:20px;margin:0}.video-questions-list li{font-size:15px;color:#374151;margin-bottom:8px;line-height:1.5}.video-instructions-list{padding-left:20px;margin:0}.video-instructions-list li{font-size:14px;color:#6b7280;margin-bottom:6px;line-height:1.5}.error-message{background:#fff5f5;border:1px solid #fed7d7;color:#c53030;padding:14px 18px;border-radius:8px;font-size:16px;margin-bottom:16px;text-align:center}.submitted-content{text-align:center;padding:40px 20px}.success-icon{width:64px;height:64px;background:#11998e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;margin:0 auto 24px}.submitted-content h2{font-size:28px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.submitted-content p{font-size:18px;color:#4b5563;margin-bottom:8px}.secondary-text{font-size:16px;color:#6b7280}@media (max-width: 480px){.application-header{padding:20px 16px}.company-name{font-size:24px}.job-title{font-size:14px}.step-indicator{padding:16px 12px}.step-number{width:28px;height:28px;font-size:13px}.step-label{display:none}.step:not(:last-child):after{width:24px}.application-content{padding:20px 16px}.step-header h2{font-size:18px}.step-header p{font-size:13px}.btn{padding:12px 24px;font-size:14px;min-width:120px}.btn-large{padding:14px 28px;font-size:16px}.step-actions{flex-direction:column}.step-actions .btn{width:100%}.review-section{padding:16px}.review-section h3{font-size:15px}.review-label{font-size:11px}.review-value{font-size:14px}.error-message{font-size:14px;padding:12px 16px}.submitted-content h2{font-size:22px}.submitted-content p{font-size:15px}.secondary-text{font-size:13px}}@media (min-width: 481px) and (max-width: 768px){.step:not(:last-child):after{width:30px}}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.app-error{background:#fff;border-radius:16px;padding:48px 32px;text-align:center;box-shadow:0 10px 40px #0003}.app-error h1{font-size:24px;color:#1a1a2e;margin-bottom:12px}.app-error p{font-size:16px;color:#6b7280}:root{--primary-color: #667eea;--secondary-color: #764ba2}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--secondary-color);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}#root{width:100%;max-width:800px}
