Great news! Your CyberPanel VPS hosting includes {{ vps_info.free_scans_available|default:0 }} free AI security scans this month ({{ vps_info.scans_used_this_month|default:0 }}/{{ vps_info.free_scans_per_month|default:0 }} used).
{% if not is_payment_configured %} -You can still add a payment method below for additional scans beyond your free allowance.
+You can still add a payment method below for additional scans beyond your free allowance.
{% endif %} @@ -581,21 +584,21 @@ AI Security Scanner - CyberPanel {% if vps_info.is_vps|default:False and not is_payment_configured %} -+
Payment setup is optional for VPS users. You have {{ vps_info.free_scans_available|default:0 }} free scans available.
{% else %} -+
Your account uses automatic billing. Add multiple payment methods for backup security.
{% endif %}Payment methods will be managed through the platform.
+Payment methods will be managed through the platform.
{% else %} -No payment methods configured yet.
+No payment methods configured yet.
{% endif %}N/A
+ N/A
${finding.description}
- ${finding.file ? `File: ${finding.file}` : ''} +${finding.description}
+ ${finding.file ? `File: ${finding.file}` : ''}Threats Found
- ${(criticalThreats > 0 || highThreats > 0) ? `${criticalThreats > 0 ? `${criticalThreats} Critical` : ''}${criticalThreats > 0 && highThreats > 0 ? ', ' : ''}${highThreats > 0 ? `${highThreats} High` : ''}` : ''} + ${(criticalThreats > 0 || highThreats > 0) ? `${criticalThreats > 0 ? `${criticalThreats} Critical` : ''}${criticalThreats > 0 && highThreats > 0 ? ', ' : ''}${highThreats > 0 ? `${highThreats} High` : ''}` : ''}No scheduled scans configured yet.
'; + container.innerHTML = 'No scheduled scans configured yet.
'; return; } @@ -1970,10 +1973,10 @@ document.addEventListener('DOMContentLoaded', function() { } .scheduled-scan-card { - border: 1px solid #e8e9ff; + border: 1px solid var(--border-primary, #e8e9ff); border-radius: 8px; padding: 20px; - background: white; + background: var(--bg-primary, white); } .scheduled-scan-header { @@ -1985,13 +1988,13 @@ document.addEventListener('DOMContentLoaded', function() { .scheduled-scan-header h4 { margin: 0; - color: #2f3640; + color: var(--text-primary, #2f3640); font-size: 16px; } .scheduled-scan-info p { margin: 5px 0; - color: #64748b; + color: var(--text-secondary, #64748b); font-size: 14px; } @@ -2003,7 +2006,8 @@ document.addEventListener('DOMContentLoaded', function() { } .checkbox-group { - background: #f8f9fa; + background: var(--bg-secondary, #f8f9fa); + border-color: var(--border-primary, #ddd); } .form-check { diff --git a/firewall/templates/firewall/csf.html b/firewall/templates/firewall/csf.html index b00ed414d..660a3062b 100644 --- a/firewall/templates/firewall/csf.html +++ b/firewall/templates/firewall/csf.html @@ -97,10 +97,10 @@ /* Install Panel */ .install-panel { - background: white; + background: var(--bg-primary, white); border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 10px 40px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + border: 1px solid var(--border-primary, #e8e9ff); overflow: hidden; animation: fadeInUp 0.5s ease-out; text-align: center; @@ -116,12 +116,12 @@ .install-title { font-size: 1.5rem; font-weight: 600; - color: #1e293b; + color: var(--text-primary, #1e293b); margin-bottom: 1rem; } .install-subtitle { - color: #64748b; + color: var(--text-secondary, #64748b); margin-bottom: 2rem; } @@ -147,10 +147,10 @@ /* Installation Progress */ .install-progress { - background: white; + background: var(--bg-primary, white); border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 10px 40px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + border: 1px solid var(--border-primary, #e8e9ff); overflow: hidden; animation: fadeInUp 0.5s ease-out; padding: 2rem; @@ -173,13 +173,13 @@ .progress-title { font-size: 1.25rem; font-weight: 600; - color: #1e293b; + color: var(--text-primary, #1e293b); } .log-textarea { width: 100%; padding: 1rem; - border: 2px solid #e8e9ff; + border: 2px solid var(--border-primary, #e8e9ff); border-radius: 10px; font-family: 'Monaco', 'Consolas', monospace; font-size: 0.875rem; @@ -191,10 +191,10 @@ /* Configuration Panel */ .config-panel { - background: white; + background: var(--bg-primary, white); border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 10px 40px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + border: 1px solid var(--border-primary, #e8e9ff); overflow: hidden; animation: fadeInUp 0.5s ease-out; } @@ -204,7 +204,7 @@ display: flex; gap: 0.25rem; padding: 0.5rem; - background: #f8f9ff; + background: var(--bg-secondary, #f8f9ff); border-radius: 12px; margin-bottom: 2rem; } @@ -217,7 +217,7 @@ border-radius: 8px; font-weight: 600; font-size: 0.9375rem; - color: #64748b; + color: var(--text-secondary, #64748b); cursor: pointer; transition: all 0.3s ease; display: flex; @@ -253,8 +253,8 @@ /* Native GUI Button */ .native-gui-btn { - background: #f8f9ff; - border: 2px solid #e8e9ff; + background: var(--bg-secondary, #f8f9ff); + border: 2px solid var(--border-primary, #e8e9ff); color: #5b5fcf; padding: 0.75rem 1.5rem; border-radius: 10px; @@ -279,17 +279,17 @@ /* Form Styles */ .form-section { - background: white; + background: var(--bg-primary, white); border-radius: 12px; padding: 2rem; margin-bottom: 1.5rem; - border: 1px solid #e8e9ff; + border: 1px solid var(--border-primary, #e8e9ff); } .form-section-title { font-size: 1.125rem; font-weight: 600; - color: #1e293b; + color: var(--text-primary, #1e293b); margin-bottom: 1.5rem; display: flex; align-items: center; @@ -306,7 +306,7 @@ .form-label { flex: 0 0 200px; font-weight: 600; - color: #334155; + color: var(--text-secondary, #334155); font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; @@ -315,17 +315,18 @@ .form-control { flex: 1; padding: 0.75rem 1rem; - border: 2px solid #e8e9ff; + border: 2px solid var(--border-primary, #e8e9ff); border-radius: 10px; font-size: 0.9375rem; transition: all 0.3s ease; - background: #f8f9ff; + background: var(--bg-secondary, #f8f9ff); + color: var(--text-primary, #1e293b); } .form-control:focus { outline: none; border-color: #5b5fcf; - background: white; + background: var(--bg-primary, white); box-shadow: 0 0 0 3px rgba(91, 95, 207, 0.1); } @@ -370,7 +371,7 @@ left: 0; right: 0; bottom: 0; - background-color: #cbd5e1; + background-color: var(--bg-tertiary, #cbd5e1); transition: .4s; border-radius: 26px; } @@ -454,15 +455,15 @@ } .alert-success { - background: #e8e6ff; - color: #5856d6; - border: 1px solid #d4d4ff; + background: var(--alert-success-bg, #e8e6ff); + color: var(--alert-success-text, #5856d6); + border: 1px solid var(--alert-success-border, #d4d4ff); } .alert-danger { - background: #fee2e2; - color: #991b1b; - border: 1px solid #fecaca; + background: var(--alert-danger-bg, #fee2e2); + color: var(--alert-danger-text, #991b1b); + border: 1px solid var(--alert-danger-border, #fecaca); } .alert-icon { @@ -489,7 +490,7 @@ .coming-soon { text-align: center; padding: 3rem; - color: #64748b; + color: var(--text-secondary, #64748b); font-size: 1.125rem; } @@ -716,7 +717,7 @@{% trans 'Login Failure Daemon configuration coming soon.' %}