body { background: #0d0d0d; color: #fff; font-family: 'Segoe UI', Arial, sans-serif; }
.glow { box-shadow: 0 0 30px rgba(255, 85, 0, 0.15); }
.pulse-dot { animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1 } 50% { opacity:0.4 } }
.fade-in { animation: fadeIn 0.4s ease-out; }
@keyframes fadeIn { from { opacity:0; transform:translateY(10px) } to { opacity:1; transform:translateY(0) } }
.btn-laranja { background: #ff5500; transition: all 0.2s; }
.btn-laranja:hover:not(:disabled) { background: #e04b00; transform: translateY(-2px); }
.btn-laranja:disabled { background: #555; cursor: not-allowed; }
.card-hover { transition: all 0.2s; border: 1px solid #1a0f2b; }
.card-hover:hover { border-color: #ff5500; transform: translateY(-2px); }
.item-selecionado { border-color: #ff5500 !important; background: #1a0f2b !important; }
input, select, textarea { background: #0d0d0d; border: 1px solid #1a0f2b; color: #fff; }
input:focus, select:focus, textarea:focus { outline: none; border-color: #ff5500; }
.tela-oculta { display: none !important; }
.passo-ativo { display: block; }
.passo-inativo { display: none; }
.checkbox-termo { width: 20px; height: 20px; accent-color: #ff5500; }
.termo-item { display: flex; gap: 12px; align-items: flex-start; padding: 12px; background: #0d0d0d; border-radius: 8px; margin-bottom: 8px; }
.barra-progresso { height: 4px; background: #1a0f2b; border-radius: 2px; overflow: hidden; }
.barra-progresso-fill { height: 100%; background: #ff5500; transition: width 0.3s; }
.spinner { border: 3px solid #1a0f2b; border-top: 3px solid #ff5500; border-radius: 50%; width: 20px; height: 20px; animation: spin 1s linear infinite; display: inline-block; vertical-align: middle; margin-right: 8px; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.msg-erro { background: rgba(239, 68, 68, 0.1); border: 1px solid #ef4444; color: #ef4444; padding: 12px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.msg-sucesso { background: rgba(16, 185, 129, 0.1); border: 1px solid #10b981; color: #10b981; padding: 12px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.btn-autoral { cursor: default; }
.btn-autoral:hover { transform: none; }
.dominio-valido { border-color: #10b981 !important; }
.dominio-invalido { border-color: #ef4444 !important; }
video, iframe { width: 100%; border-radius: 12px; }
