/* =========================== HM Video QC Tool - Custom Styles Black (#000000) + Yellow (#FFC407) Theme Font: Montserrat =========================== */ /* === Global Styles === */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Montserrat', sans-serif; background-color: #000000; color: #FFFFFF; min-height: 100vh; display: flex; flex-direction: column; } /* === Header === */ .header { background: linear-gradient(135deg, #1a1a1a 0%, #000000 100%); padding: 2rem 0; border-bottom: 3px solid #FFC407; } .logo { color: #FFC407; font-weight: 700; font-size: 2.5rem; margin: 0; text-align: center; } /* === Wizard Navigation === */ .wizard-nav { display: flex; justify-content: center; gap: 2rem; margin-top: 1.5rem; flex-wrap: wrap; } .wizard-step { padding: 0.75rem 1.5rem; background: #1a1a1a; border-radius: 50px; font-weight: 600; color: #666666; font-size: 0.95rem; } .wizard-step.active { background: #FFC407; color: #000000; } .wizard-step.completed { background: #333333; color: #FFC407; } /* === Main Content === */ .main-content { flex: 1; padding: 3rem 0; max-width: 900px; } h2 { color: #FFC407; margin-bottom: 1.5rem; font-weight: 700; } .subtitle { color: #CCCCCC; margin-bottom: 2rem; } /* === Buttons === */ .btn-yellow { background-color: #FFC407; color: #000000; font-weight: 600; border: none; padding: 0.75rem 2rem; border-radius: 8px; cursor: pointer; transition: all 0.3s; font-family: 'Montserrat', sans-serif; } .btn-yellow:hover { background-color: #ffb000; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255, 196, 7, 0.3); color: #000000; } .btn-yellow:disabled { background-color: #666666; cursor: not-allowed; transform: none; box-shadow: none; } .btn-outline-yellow { background-color: transparent; color: #FFC407; border: 2px solid #FFC407; padding: 0.75rem 2rem; border-radius: 8px; cursor: pointer; transition: all 0.3s; font-family: 'Montserrat', sans-serif; text-decoration: none; display: inline-block; } .btn-outline-yellow:hover { background-color: #FFC407; color: #000000; } .btn-lg { padding: 1rem 2.5rem; font-size: 1.1rem; } .btn-sm { padding: 0.5rem 1rem; font-size: 0.85rem; } /* === Upload Page === */ .upload-container { text-align: center; } .drop-zone { border: 3px dashed #FFC407; border-radius: 12px; padding: 4rem 2rem; text-align: center; background: #1a1a1a; transition: all 0.3s; cursor: pointer; margin: 2rem 0; } .drop-zone:hover, .drop-zone.drag-over { background: #2a2a2a; border-color: #ffb000; } .upload-icon { width: 80px; height: 80px; fill: #FFC407; margin-bottom: 1rem; } .or-text { color: #666666; margin: 1rem 0; font-weight: 600; } .file-info { background: #1a1a1a; padding: 1.5rem; border-radius: 8px; margin: 2rem auto; border-left: 4px solid #FFC407; max-width: 500px; text-align: left; } .file-info.hidden { display: none; } .file-info strong { color: #FFC407; } .supported-formats { margin-top: 3rem; color: #999999; } .supported-formats h4 { color: #FFC407; font-size: 1rem; margin-bottom: 0.5rem; } /* === Configure Page === */ .configure-container h2 { text-align: center; } .configure-container .subtitle { text-align: center; } .button-group { display: flex; gap: 1rem; margin-bottom: 2rem; justify-content: center; } .checks-list { margin: 2rem 0; } .check-item { background: #1a1a1a; border: 1px solid #333333; border-radius: 8px; padding: 1.5rem; margin-bottom: 1rem; transition: all 0.3s; } .check-item:hover { border-color: #FFC407; } .check-header { display: flex; align-items: flex-start; gap: 1rem; } .check-header input[type="checkbox"] { width: 24px; height: 24px; accent-color: #FFC407; cursor: pointer; margin-top: 2px; flex-shrink: 0; } .check-header label { flex: 1; cursor: pointer; } .check-header strong { color: #FFC407; display: block; margin-bottom: 0.5rem; } .check-description { color: #999999; margin: 0; font-size: 0.9rem; line-height: 1.5; } .check-config { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #333333; } .btn-collapse { background: transparent; border: 1px solid #666666; color: #999999; padding: 0.5rem 1rem; border-radius: 6px; cursor: pointer; font-size: 0.85rem; transition: all 0.3s; } .btn-collapse:hover { border-color: #FFC407; color: #FFC407; } .config-fields { margin-top: 1rem; padding: 1rem; background: #0a0a0a; border-radius: 6px; } .config-fields.hidden { display: none; } .config-fields label { display: block; color: #CCCCCC; margin-bottom: 1rem; } .config-fields input { background: #1a1a1a; border: 1px solid #666666; color: #FFFFFF; padding: 0.5rem; border-radius: 4px; width: 120px; margin-left: 0.5rem; } .configure-container form { text-align: center; } .configure-container .btn-yellow { margin-top: 2rem; } /* === Progress Page === */ .progress-container { text-align: center; } .overall-progress { margin: 3rem 0; } .progress-bar-container { background: #1a1a1a; border-radius: 50px; height: 30px; overflow: hidden; margin: 2rem auto; max-width: 600px; } .progress-bar { height: 100%; background: linear-gradient(90deg, #FFC407 0%, #ffb000 100%); transition: width 0.5s ease; display: flex; align-items: center; justify-content: center; color: #000000; font-weight: 600; font-size: 0.85rem; } #progressText { color: #FFC407; font-weight: 600; margin-top: 0.5rem; } .checks-progress { margin: 3rem auto; max-width: 700px; text-align: left; } .check-progress-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; background: #1a1a1a; border-radius: 8px; margin-bottom: 0.75rem; border: 1px solid #333333; } .check-status { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .status-queued { background: #333333; } .status-running { background: #FFC407; animation: pulse 1.5s infinite; } .status-passed { background: #28a745; } .status-error { background: #dc3545; } .status-failed { background: #dc3545; } .status-skipped { background: #666666; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .check-info { flex: 1; } .check-info strong { color: #FFC407; display: block; margin-bottom: 0.25rem; } .check-message { color: #999999; margin: 0; font-size: 0.9rem; } /* === Results Page === */ .results-container h2 { text-align: center; margin-bottom: 2rem; } .results-actions { display: flex; gap: 1rem; justify-content: center; margin-bottom: 2rem; } .report-embed { background: #1a1a1a; border-radius: 12px; padding: 2rem; margin-top: 2rem; border: 1px solid #333333; } /* === Alerts === */ .alert { padding: 1rem; border-radius: 8px; margin-bottom: 1.5rem; } .alert-danger { background: #3a1a1a; border: 1px solid #dc3545; color: #ff6b6b; } /* === Footer === */ .footer { background: #1a1a1a; padding: 1.5rem 0; border-top: 1px solid #333333; text-align: center; color: #666666; margin-top: auto; } /* === Responsive === */ @media (max-width: 768px) { .wizard-nav { flex-direction: column; gap: 0.5rem; align-items: center; } .logo { font-size: 1.8rem; } .main-content { padding: 2rem 1rem; } .check-header { flex-direction: column; gap: 0.5rem; } .results-actions { flex-direction: column; } }