/* ==========================================================================
   WHMCS MODERN CUSTOM INTERFACE (Tailwind & Minimalist Style)
   ========================================================================== */

/* --- 1. BOTÕES PADRÕES (Buttons Override) --- */
.btn {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important; /* text-xs */
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-radius: 0.75rem !important; /* rounded-xl (12px) */
    padding: 0.625rem 1.25rem !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    border: 1px solid transparent !important;
}

/* Botão Primário (Indigo) */
.btn-primary, 
input[type="submit"].btn-primary,
.btn-input-padded-responsive {
    background-color: #4f46e5 !important; /* bg-indigo-600 */
    border-color: #4f46e5 !important;
    color: #ffffff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: #6366f1 !important; /* bg-indigo-500 */
    border-color: #6366f1 !important;
    color: #ffffff !important;
    transform: translateY(-0.5px);
}

/* Botão Default / Secundário (Slate/White) */
.btn-default, .btn-secondary {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important; /* border-slate-200 */
    color: #334155 !important; /* text-slate-700 */
}
.btn-default:hover, .btn-secondary:hover {
    background-color: #f8fafc !important; /* bg-slate-50 */
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

/* Botão de Perigo / Fechamento (Rose) */
.btn-danger {
    background-color: #e11d48 !important; /* bg-rose-600 */
    border-color: #e11d48 !important;
    color: #ffffff !important;
}
.btn-danger:hover {
    background-color: #f43f5e !important; /* bg-rose-500 */
    border-color: #f43f5e !important;
}

/* Botões Desativados */
.btn:disabled, .btn.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
}


/* --- 2. CAMPOS DE FORMULÁRIO (Form Inputs) --- */
.form-control, 
input[type="text"], 
input[type="email"], 
input[type="password"], 
select, 
textarea {
    background-color: #f8fafc !important; /* bg-slate-50 */
    border: 1px solid #e2e8f0 !important; /* border-slate-200 */
    border-radius: 0.75rem !important; /* rounded-xl */
    color: #1e293b !important; /* text-slate-800 */
    font-size: 0.875rem !important; /* text-sm */
    padding: 0.625rem 1rem !important;
    transition: all 0.15s ease-in-out !important;
    box-shadow: none !important;
}

/* Estados de Foco (Focus States) */
.form-control:focus, 
input:focus, 
select:focus, 
textarea:focus {
    background-color: #ffffff !important;
    border-color: #6366f1 !important; /* focus:border-indigo-500 */
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important; /* focus:ring-indigo-500/10 */
}

/* Labels e Títulos de Entrada */
label, .control-label {
    font-size: 0.75rem !important; /* text-xs */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #475569 !important; /* text-slate-600 */
    margin-bottom: 0.375rem !important;
}


/* --- 3. ALERTAS DE FEEDBACK (Alert Boxes) --- */
.alert {
    border-radius: 0.75rem !important; /* rounded-xl */
    padding: 1rem !important;
    font-size: 0.75rem !important; /* text-xs */
    font-weight: 600 !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

/* Alerta de Erro/Perigo */
.alert-danger, .alert-error {
    background-color: #fff1f2 !important; /* bg-rose-50 */
    border-color: #fecdd3 !important; /* border-rose-200 */
    color: #9f1239 !important; /* text-rose-800 */
}

/* Alerta de Sucesso */
.alert-success {
    background-color: #f0fdf4 !important; /* bg-emerald-50 */
    border-color: #bbf7d0 !important; /* border-emerald-200 */
    color: #166534 !important; /* text-emerald-800 */
}

/* Alerta Informativo */
.alert-info {
    background-color: #eff6ff !important; /* bg-blue-50 */
    border-color: #bfdbfe !important; /* border-blue-200 */
    color: #1e40af !important; /* text-blue-800 */
}

/* Alerta de Atenção */
.alert-warning {
    background-color: #fffbeb !important; /* bg-amber-50 */
    border-color: #fef3c7 !important; /* border-amber-200 */
    color: #92400e !important; /* text-amber-800 */
}


/* --- 4. BADGES E STATUS (Badges & Pills) --- */
.badge, .label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 0.625rem !important; /* text-[10px] */
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 0.25rem 0.625rem !important;
    border-radius: 9999px !important; /* rounded-full */
    box-shadow: none !important;
}

/* Ajustes nativos para a barra de força de senha do WHMCS */
.progress {
    height: 6px !important;
    border-radius: 9999px !important;
    background-color: #f1f5f9 !important; /* bg-slate-100 */
    overflow: hidden !important;
    box-shadow: none !important;
    margin-top: 0.5rem !important;
}
.progress-bar {
    border-radius: 9999px !important;
    box-shadow: none !important;
}


/* --- 5. CORREÇÃO DE TABELAS DINÂMICAS --- */
.table-list thead th {
    background-color: #f8fafc !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.6875rem !important; /* text-[11px] */
    letter-spacing: 0.05em !important;
    color: #64748b !important; /* text-slate-500 */
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Remove contornos azuis nativos antigos focados em cliques */
a:focus, button:focus, select:focus, textarea:focus {
    outline: none !important;
}

/* --- 6. GRUPOS DE INPUTS E BOTÕES ACOPLADOS (Input Groups & Gap Fix) --- */
.input-group {
    display: flex !important;
    gap: 0.5rem !important; /* Cria um espaçamento de 8px entre o campo e o botão */
    align-items: stretch !important;
}

/* Restaura os cantos arredondados individuais que o Bootstrap remove por padrão */
.input-group .form-control,
.input-group input[type="text"],
.input-group input[type="email"],
.input-group input[type="password"],
.input-group select,
.input-group textarea,
.input-group .btn,
.input-group-btn .btn,
.input-group-append .btn,
.input-group-prepend .btn {
    border-radius: 0.75rem !important; /* Mantém o padrão rounded-xl (12px) */
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ajusta os containers de botões anexados para também aceitarem o espaçamento */
.input-group-btn, 
.input-group-append, 
.input-group-prepend {
    display: flex !important;
    gap: 0.5rem !important;
    margin: 0 !important;
}

/* Remove a linha divisória colada antiga caso ela ainda apareça em algum módulo */
.input-group-addon {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important;
    padding: 0.625rem 1rem !important;
}

/* --- 7. RESPIRO E ORGANIZAÇÃO DO CONTEÚDO INTERNO (WHMCS Injected HTML) --- */
.whmcs-html-output {
    display: block !important;
}

/* Espaçamento para links, textos ou blocos diretos que o WHMCS joga dentro do card */
.whmcs-html-output a, 
.whmcs-html-output div, 
.whmcs-html-output p {
    line-height: 1.6 !important;
}

/* Força quebras de linha e distanciamento se o WHMCS mandar conteúdo em texto corrido */
.whmcs-html-output br {
    display: block !important;
    content: "" !important;
    margin-top: 0.75rem !important;
}

.whmcs-html-output .list-group-item {
    padding: 0.875rem 0.5rem !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.whmcs-html-output .list-group-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.whmcs-html-output .text-center {
    padding: 1.5rem 0 !important;
    color: #64748b !important; /* text-slate-500 */
}

body .domain-input {
    border: unset !important;
}

.modal-backdrop {
    background-color: #0f172a !important; /* Slate 900 */
}
.modal-backdrop.in, .modal-backdrop.show {
    opacity: 0.6 !important;
    backdrop-filter: blur(4px) !important;
}
.modal-dialog {
    margin: 30px auto !important;
}
.modal-content {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1rem !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
}
.modal-header {
    padding: 1.25rem 1.5rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background-color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.modal-title {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: white !important;
}
.modal-header .close {
    margin-top: 0 !important;
    color: #94a3b8 !important;
    opacity: 1 !important;
    border: none !important;
    background: none !important;
    cursor: pointer !important;
}
.modal-header .close:hover {
    color: #475569 !important;
}
.modal-body {
    padding: 1.5rem !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: #334155 !important;
    background-color: #ffffff !important;
}
.modal-footer {
    padding: 1rem 1.5rem !important;
    background-color: #f8fafc !important;
    border-top: 1px solid #f1f5f9 !important;
    display: flex !important;
    gap: 0.75rem !important;
    justify-content: flex-end !important;
}


/* --- 2. BOTÕES GLOBAIS --- */

.btn-primary {
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
    color: #ffffff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: #4338ca !important;
    border-color: #4338ca !important;
}
.btn-success {
    background-color: #059669 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}
.btn-success:hover {
    background-color: #047857 !important;
}
.btn-warning {
    background-color: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #78350f !important;
}
.btn-warning:hover {
    background-color: #d97706 !important;
}
.btn-danger {
    background-color: #e11d48 !important;
    border-color: #e11d48 !important;
    color: #ffffff !important;
}
.btn-danger:hover {
    background-color: #be123c !important;
}
.btn-info {
    background-color: #0284c7 !important;
    border-color: #0284c7 !important;
    color: #ffffff !important;
}
.btn-info:hover {
    background-color: #0369a1 !important;
}


/* --- 3. UTILITÁRIOS DE TEXTO (text-) --- */

.text-primary { color: #4f46e5 !important; }
.text-success { color: #059669 !important; }
.text-warning { color: #d97706 !important; }
.text-danger  { color: #e11d48 !important; }
.text-info    { color: #0284c7 !important; }
.text-muted   { color: #64748b !important; }


/* --- 4. UTILITÁRIOS DE FUNDO (bg-) --- */

.bg-primary {
    background-color: #4f46e5 !important;
    color: #ffffff !important;
}
.bg-success {
    background-color: #ecfdf5 !important;
    color: #065f46 !important;
}
.bg-warning {
    background-color: #fffbeb !important;
    color: #92400e !important;
}
.bg-danger {
    background-color: #fff1f2 !important;
    color: #9f1239 !important;
}
.bg-info {
    background-color: #eff6ff !important;
    color: #1e3a8a !important;
}

/* --- 5. ALERTAS GLOBAIS --- */

.alert-success {
    background-color: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: #065f46 !important;
    border-radius: 0.5rem !important;
}
.alert-danger {
    background-color: #fff1f2 !important;
    border-color: #fecdd3 !important;
    color: #9f1239 !important;
    border-radius: 0.5rem !important;
}
.alert-info {
    background-color: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1e3a8a !important;
    border-radius: 0.5rem !important;
}
.alert-warning {
    background-color: #fffbeb !important;
    border-color: #fef3c7 !important;
    color: #92400e !important;
    border-radius: 0.5rem !important;
}


/* --- 6. CORREÇÃO DE CAMPOS DE SELEÇÃO E INPUTS --- */

select, .form-control, input[type="text"], input[type="password"], input[type="email"], textarea {
    color: #1e293b !important; /* Força texto escuro legível em qualquer lugar */
    background-color: #f8fafc !important;
}
select option {
    color: #1e293b !important;
    background-color: #ffffff !important;
}

#fullpage-overlay.hidden {
    display: none !important;
}

.group:hover .group-hover\:visible {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

.feroz-dropdown-fix {
    display: none !important;
}
.group:hover .feroz-dropdown-fix {
    display: block !important;
}

body header.bg-slate-900 {
    z-index: 60 !important;
}

body header.bg-slate-900 .p-3 {
    padding: 0.75rem !important;
}

body header.bg-slate-900 .p-5 {
    padding: 1.25rem !important;
}

body header.bg-slate-900 [class*="mt-0"] {
    margin-top: unset !important;
}

body header.bg-slate-900 [class*="pt-0"] {
    padding-top: unset !important;
}