diff --git a/packages/templates/packages/createPackage.html b/packages/templates/packages/createPackage.html
index 947b8fd90..e71de12b3 100644
--- a/packages/templates/packages/createPackage.html
+++ b/packages/templates/packages/createPackage.html
@@ -22,29 +22,29 @@
.page-title {
font-size: 28px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 8px;
}
.page-subtitle {
font-size: 14px;
- color: #8893a7;
+ color: var(--text-secondary, #8893a7);
}
/* Card styles */
.content-card {
- background: white;
+ background: var(--bg-secondary, white);
border-radius: 12px;
padding: 30px;
- box-shadow: 0 2px 8px rgba(0,0,0,0.08);
- border: 1px solid #e8e9ff;
+ box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08));
+ border: 1px solid var(--border-color, #e8e9ff);
margin-bottom: 25px;
}
.card-title {
font-size: 18px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 25px;
display: flex;
align-items: center;
@@ -55,7 +55,7 @@
content: '';
width: 4px;
height: 24px;
- background: #5b5fcf;
+ background: var(--accent-color, #5b5fcf);
border-radius: 2px;
}
@@ -68,7 +68,7 @@
display: block;
font-size: 13px;
font-weight: 600;
- color: #64748b;
+ color: var(--text-secondary, #64748b);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
@@ -77,22 +77,22 @@
.form-control {
width: 100%;
padding: 10px 14px;
- border: 1px solid #e8e9ff;
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 8px;
font-size: 14px;
- color: #2f3640;
- background: white;
+ color: var(--text-primary, #2f3640);
+ background: var(--bg-secondary, white);
transition: all 0.2s ease;
}
.form-control:hover {
- border-color: #5b5fcf;
+ border-color: var(--accent-color, #5b5fcf);
}
.form-control:focus {
outline: none;
- border-color: #5b5fcf;
- box-shadow: 0 0 0 3px rgba(91,95,207,0.1);
+ border-color: var(--accent-color, #5b5fcf);
+ box-shadow: 0 0 0 3px var(--accent-focus, rgba(91,95,207,0.1));
}
/* Input group styles */
@@ -107,13 +107,13 @@
}
.input-suffix {
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-left: none;
padding: 10px 16px;
border-radius: 0 8px 8px 0;
font-size: 13px;
- color: #64748b;
+ color: var(--text-secondary, #64748b);
font-weight: 600;
white-space: nowrap;
}
@@ -121,18 +121,18 @@
/* Help text */
.help-text {
font-size: 12px;
- color: #8893a7;
+ color: var(--text-muted, #8893a7);
margin-top: 6px;
}
/* Package name preview */
.package-name-preview {
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--accent-bg, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 6px;
padding: 8px 12px;
font-size: 13px;
- color: #5b5fcf;
+ color: var(--accent-color, #5b5fcf);
font-weight: 600;
margin-top: 8px;
display: inline-block;
@@ -147,7 +147,7 @@
/* Resource limits section */
.resource-section {
- background: #f8f9ff;
+ background: var(--bg-hover, #f8f9ff);
border-radius: 10px;
padding: 20px;
margin-bottom: 25px;
@@ -156,7 +156,7 @@
.resource-title {
font-size: 15px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 20px;
display: flex;
align-items: center;
@@ -164,7 +164,7 @@
}
.resource-title i {
- color: #5b5fcf;
+ color: var(--accent-color, #5b5fcf);
}
/* Checkbox styles */
@@ -177,8 +177,8 @@
align-items: start;
gap: 10px;
padding: 12px 16px;
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 8px;
transition: all 0.2s ease;
cursor: pointer;
@@ -186,8 +186,8 @@
}
.checkbox-wrapper:hover {
- border-color: #5b5fcf;
- background: #f0f1ff;
+ border-color: var(--accent-color, #5b5fcf);
+ background: var(--accent-bg, #f0f1ff);
}
.checkbox-wrapper input[type="checkbox"] {
@@ -195,7 +195,7 @@
height: 18px;
border-radius: 4px;
cursor: pointer;
- accent-color: #5b5fcf;
+ accent-color: var(--accent-color, #5b5fcf);
margin-top: 2px;
}
@@ -205,7 +205,7 @@
.checkbox-label {
font-size: 14px;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
font-weight: 600;
cursor: pointer;
user-select: none;
@@ -215,7 +215,7 @@
.checkbox-desc {
font-size: 12px;
- color: #8893a7;
+ color: var(--text-muted, #8893a7);
line-height: 1.5;
}
@@ -235,13 +235,13 @@
}
.btn-primary {
- background: #5b5fcf;
+ background: var(--accent-color, #5b5fcf);
color: white;
}
.btn-primary:hover {
- background: #4a4fc4;
- box-shadow: 0 4px 12px rgba(91,95,207,0.3);
+ background: var(--accent-hover, #4a4fc4);
+ box-shadow: 0 4px 12px var(--accent-shadow, rgba(91,95,207,0.3));
transform: translateY(-1px);
}
@@ -269,21 +269,21 @@
}
.alert-danger {
- background: #ffebee;
- border: 1px solid #ffcdd2;
- color: #c62828;
+ background: var(--danger-bg, #fee2e2);
+ border: 1px solid var(--danger-border, #fca5a5);
+ color: var(--danger-text, #991b1b);
}
.alert-success {
- background: #e8f5e9;
- border: 1px solid #c8e6c9;
- color: #2e7d32;
+ background: var(--success-bg, #d1fae5);
+ border: 1px solid var(--success-border, #6ee7b7);
+ color: var(--success-text, #065f46);
}
/* Info box */
.info-box {
- background: #e3f2fd;
- border: 1px solid #bbdefb;
+ background: var(--info-bg, #dbeafe);
+ border: 1px solid var(--info-border, #93c5fd);
border-radius: 8px;
padding: 16px;
margin-bottom: 25px;
@@ -293,13 +293,13 @@
}
.info-box i {
- color: #1976d2;
+ color: var(--info-color, #3b82f6);
font-size: 18px;
}
.info-box-text {
font-size: 13px;
- color: #1565c0;
+ color: var(--info-text, #1e40af);
line-height: 1.5;
}
@@ -307,7 +307,7 @@
.button-container {
margin-top: 30px;
padding-top: 30px;
- border-top: 1px solid #e8e9ff;
+ border-top: 1px solid var(--border-color, #e8e9ff);
}
/* Hide elements by default */
diff --git a/packages/templates/packages/deletePackage.html b/packages/templates/packages/deletePackage.html
index 3235e0690..cbbcdb4c1 100644
--- a/packages/templates/packages/deletePackage.html
+++ b/packages/templates/packages/deletePackage.html
@@ -22,29 +22,29 @@
.page-title {
font-size: 28px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 8px;
}
.page-subtitle {
font-size: 14px;
- color: #8893a7;
+ color: var(--text-secondary, #8893a7);
}
/* Card styles */
.content-card {
- background: white;
+ background: var(--bg-secondary, white);
border-radius: 12px;
padding: 30px;
- box-shadow: 0 2px 8px rgba(0,0,0,0.08);
- border: 1px solid #e8e9ff;
+ box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08));
+ border: 1px solid var(--border-color, #e8e9ff);
margin-bottom: 25px;
}
.card-title {
font-size: 18px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 25px;
display: flex;
align-items: center;
@@ -55,7 +55,7 @@
content: '';
width: 4px;
height: 24px;
- background: #dc3545;
+ background: var(--danger-color, #dc3545);
border-radius: 2px;
}
@@ -68,7 +68,7 @@
display: block;
font-size: 13px;
font-weight: 600;
- color: #64748b;
+ color: var(--text-secondary, #64748b);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
@@ -77,22 +77,22 @@
.form-control {
width: 100%;
padding: 10px 14px;
- border: 1px solid #e8e9ff;
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 8px;
font-size: 14px;
- color: #2f3640;
- background: white;
+ color: var(--text-primary, #2f3640);
+ background: var(--bg-secondary, white);
transition: all 0.2s ease;
}
.form-control:hover {
- border-color: #dc3545;
+ border-color: var(--danger-color, #dc3545);
}
.form-control:focus {
outline: none;
- border-color: #dc3545;
- box-shadow: 0 0 0 3px rgba(220,53,69,0.1);
+ border-color: var(--danger-color, #dc3545);
+ box-shadow: 0 0 0 3px var(--danger-shadow, rgba(220,53,69,0.1));
}
/* Windows selectbox fixes */
@@ -113,8 +113,8 @@
/* Windows-specific fixes */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
select.form-control {
- color: #2f3640 !important;
- background-color: white !important;
+ color: var(--text-primary, #2f3640) !important;
+ background-color: var(--bg-secondary, white) !important;
}
}
@@ -124,14 +124,14 @@
}
select.form-control:focus {
- color: #2f3640;
- background-color: white;
+ color: var(--text-primary, #2f3640);
+ background-color: var(--bg-secondary, white);
}
/* Package selector card */
.package-selector-card {
- background: #fff5f5;
- border: 1px solid #ffdddd;
+ background: var(--bg-danger-light, #fff5f5);
+ border: 1px solid var(--border-danger-light, #ffdddd);
border-radius: 10px;
padding: 20px;
margin-bottom: 25px;
@@ -139,8 +139,8 @@
/* Package details card */
.package-details {
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 10px;
padding: 20px;
margin-bottom: 25px;
@@ -152,7 +152,7 @@
justify-content: space-between;
align-items: center;
padding: 12px 0;
- border-bottom: 1px solid #e8e9ff;
+ border-bottom: 1px solid var(--border-color, #e8e9ff);
}
.detail-row:last-child {
@@ -162,12 +162,12 @@
.detail-label {
font-size: 13px;
font-weight: 600;
- color: #64748b;
+ color: var(--text-secondary, #64748b);
}
.detail-value {
font-size: 14px;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
font-weight: 600;
}
@@ -177,23 +177,23 @@
align-items: center;
gap: 6px;
padding: 4px 10px;
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 6px;
font-size: 13px;
font-weight: 600;
}
.resource-badge.unlimited {
- background: #e8f5e9;
- border-color: #c8e6c9;
- color: #2e7d32;
+ background: var(--bg-success-light, #e8f5e9);
+ border-color: var(--border-success-light, #c8e6c9);
+ color: var(--success-color, #2e7d32);
}
/* Warning box */
.warning-box {
- background: #fff3e0;
- border: 1px solid #ffe0b2;
+ background: var(--bg-warning-light, #fff3e0);
+ border: 1px solid var(--border-warning-light, #ffe0b2);
border-radius: 10px;
padding: 20px;
margin-bottom: 25px;
@@ -203,7 +203,7 @@
}
.warning-icon {
- color: #ff9800;
+ color: var(--warning-color, #ff9800);
font-size: 24px;
flex-shrink: 0;
}
@@ -215,13 +215,13 @@
.warning-title {
font-size: 16px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 8px;
}
.warning-text {
font-size: 14px;
- color: #64748b;
+ color: var(--text-secondary, #64748b);
line-height: 1.6;
}
@@ -241,38 +241,38 @@
}
.btn-danger {
- background: #dc3545;
- color: white;
+ background: var(--danger-color, #dc3545);
+ color: var(--text-on-danger, white);
}
.btn-danger:hover {
- background: #c82333;
- box-shadow: 0 4px 12px rgba(220,53,69,0.3);
+ background: var(--danger-hover, #c82333);
+ box-shadow: 0 4px 12px var(--danger-shadow, rgba(220,53,69,0.3));
transform: translateY(-1px);
}
.btn-danger:disabled {
- background: #ccc;
+ background: var(--bg-disabled, #ccc);
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.btn-secondary {
- background: #f8f9ff;
- color: #5b5fcf;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ color: var(--primary-color, #5b5fcf);
+ border: 1px solid var(--border-color, #e8e9ff);
}
.btn-secondary:hover {
- background: #eef0ff;
- border-color: #5b5fcf;
+ background: var(--bg-primary-light, #eef0ff);
+ border-color: var(--primary-color, #5b5fcf);
}
/* Confirmation section */
.confirmation-section {
- background: #ffebee;
- border: 1px solid #ffcdd2;
+ background: var(--bg-danger-light, #ffebee);
+ border: 1px solid var(--border-danger-light, #ffcdd2);
border-radius: 10px;
padding: 25px;
margin-top: 25px;
@@ -282,27 +282,27 @@
.confirmation-icon {
font-size: 48px;
- color: #dc3545;
+ color: var(--danger-color, #dc3545);
margin-bottom: 15px;
}
.confirmation-title {
font-size: 20px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 10px;
}
.confirmation-text {
font-size: 14px;
- color: #64748b;
+ color: var(--text-secondary, #64748b);
margin-bottom: 20px;
}
.confirmation-package {
font-size: 18px;
font-weight: 700;
- color: #dc3545;
+ color: var(--danger-color, #dc3545);
margin-bottom: 25px;
}
@@ -329,15 +329,15 @@
}
.alert-danger {
- background: #ffebee;
- border: 1px solid #ffcdd2;
- color: #c62828;
+ background: var(--bg-danger-light, #ffebee);
+ border: 1px solid var(--border-danger-light, #ffcdd2);
+ color: var(--danger-text, #c62828);
}
.alert-success {
- background: #e8f5e9;
- border: 1px solid #c8e6c9;
- color: #2e7d32;
+ background: var(--bg-success-light, #e8f5e9);
+ border: 1px solid var(--border-success-light, #c8e6c9);
+ color: var(--success-color, #2e7d32);
}
/* Loading spinner */
@@ -345,8 +345,8 @@
display: inline-block;
width: 16px;
height: 16px;
- border: 2px solid #f3f3f3;
- border-top: 2px solid #dc3545;
+ border: 2px solid var(--spinner-bg, #f3f3f3);
+ border-top: 2px solid var(--danger-color, #dc3545);
border-radius: 50%;
animation: spin 1s linear infinite;
margin-left: 10px;
@@ -361,7 +361,7 @@
.button-container {
margin-top: 30px;
padding-top: 30px;
- border-top: 1px solid #e8e9ff;
+ border-top: 1px solid var(--border-color, #e8e9ff);
}
/* Hide elements by default */
diff --git a/packages/templates/packages/index.html b/packages/templates/packages/index.html
index 6e2de808f..27b609420 100644
--- a/packages/templates/packages/index.html
+++ b/packages/templates/packages/index.html
@@ -7,6 +7,99 @@
{% get_current_language as LANGUAGE_CODE %}
+
+
diff --git a/packages/templates/packages/listPackages.html b/packages/templates/packages/listPackages.html
index 0f37143fd..399511507 100644
--- a/packages/templates/packages/listPackages.html
+++ b/packages/templates/packages/listPackages.html
@@ -22,29 +22,29 @@
.page-title {
font-size: 28px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary);
margin-bottom: 8px;
}
.page-subtitle {
font-size: 14px;
- color: #8893a7;
+ color: var(--text-secondary);
}
/* Card styles */
.content-card {
- background: white;
+ background: var(--surface-primary);
border-radius: 12px;
padding: 30px;
- box-shadow: 0 2px 8px rgba(0,0,0,0.08);
- border: 1px solid #e8e9ff;
+ box-shadow: 0 2px 8px var(--shadow-light);
+ border: 1px solid var(--border-primary);
margin-bottom: 25px;
}
.card-title {
font-size: 18px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary);
margin-bottom: 25px;
display: flex;
align-items: center;
@@ -55,40 +55,40 @@
content: '';
width: 4px;
height: 24px;
- background: #5b5fcf;
+ background: var(--accent-primary);
border-radius: 2px;
}
/* Table styles */
.modern-table {
width: 100%;
- background: white;
+ background: var(--surface-primary);
border-radius: 10px;
overflow: hidden;
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- border: 1px solid #e8e9ff;
+ box-shadow: 0 1px 3px var(--shadow-xs);
+ border: 1px solid var(--border-primary);
}
.modern-table thead {
- background: #f8f9ff;
+ background: var(--surface-secondary);
}
.modern-table th {
padding: 16px 20px;
font-size: 13px;
font-weight: 600;
- color: #64748b;
+ color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
- border-bottom: 1px solid #e8e9ff;
+ border-bottom: 1px solid var(--border-primary);
text-align: left;
}
.modern-table td {
padding: 16px 20px;
font-size: 14px;
- color: #2f3640;
- border-bottom: 1px solid #f0f0f0;
+ color: var(--text-primary);
+ border-bottom: 1px solid var(--border-light);
}
.modern-table tbody tr:last-child td {
@@ -96,7 +96,7 @@
}
.modern-table tbody tr:hover {
- background: #fafbff;
+ background: var(--surface-hover);
}
/* Resource badges */
@@ -105,17 +105,17 @@
align-items: center;
gap: 6px;
padding: 4px 10px;
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--surface-secondary);
+ border: 1px solid var(--border-primary);
border-radius: 6px;
font-size: 13px;
font-weight: 600;
}
.resource-badge.unlimited {
- background: #e8f5e9;
- border-color: #c8e6c9;
- color: #2e7d32;
+ background: var(--success-light);
+ border-color: var(--success-border);
+ color: var(--success-dark);
}
/* Status badges */
@@ -130,13 +130,13 @@
}
.status-badge.enabled {
- background: #e8f5e9;
- color: #2e7d32;
+ background: var(--success-light);
+ color: var(--success-dark);
}
.status-badge.disabled {
- background: #fff3e0;
- color: #f57c00;
+ background: var(--warning-light);
+ color: var(--warning-dark);
}
/* Action buttons */
@@ -160,24 +160,24 @@
}
.btn-edit {
- background: #f8f9ff;
- color: #5b5fcf;
+ background: var(--surface-secondary);
+ color: var(--accent-primary);
}
.btn-edit:hover {
- background: #5b5fcf;
- color: white;
+ background: var(--accent-primary);
+ color: var(--text-inverse);
transform: translateY(-1px);
}
.btn-delete {
- background: #ffebee;
- color: #dc3545;
+ background: var(--error-light);
+ color: var(--error-primary);
}
.btn-delete:hover {
- background: #dc3545;
- color: white;
+ background: var(--error-primary);
+ color: var(--text-inverse);
transform: translateY(-1px);
}
@@ -185,12 +185,12 @@
.modal-content {
border-radius: 12px;
border: none;
- box-shadow: 0 8px 32px rgba(0,0,0,0.1);
+ box-shadow: 0 8px 32px var(--shadow-medium);
}
.modal-header {
- background: #f8f9ff;
- border-bottom: 1px solid #e8e9ff;
+ background: var(--surface-secondary);
+ border-bottom: 1px solid var(--border-primary);
border-radius: 12px 12px 0 0;
padding: 20px 25px;
}
@@ -198,7 +198,7 @@
.modal-title {
font-size: 18px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary);
display: flex;
align-items: center;
gap: 10px;
@@ -209,8 +209,8 @@
}
.modal-footer {
- background: #f8f9ff;
- border-top: 1px solid #e8e9ff;
+ background: var(--surface-secondary);
+ border-top: 1px solid var(--border-primary);
border-radius: 0 0 12px 12px;
padding: 15px 25px;
display: flex;
@@ -226,7 +226,7 @@
.form-section-title {
font-size: 14px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary);
margin-bottom: 15px;
display: flex;
align-items: center;
@@ -234,7 +234,7 @@
}
.form-section-title i {
- color: #5b5fcf;
+ color: var(--accent-primary);
}
.form-group {
@@ -245,7 +245,7 @@
display: block;
font-size: 13px;
font-weight: 600;
- color: #64748b;
+ color: var(--text-muted);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
@@ -254,26 +254,26 @@
.form-control {
width: 100%;
padding: 10px 14px;
- border: 1px solid #e8e9ff;
+ border: 1px solid var(--border-primary);
border-radius: 8px;
font-size: 14px;
- color: #2f3640;
- background: white;
+ color: var(--text-primary);
+ background: var(--surface-primary);
transition: all 0.2s ease;
}
.form-control:hover {
- border-color: #5b5fcf;
+ border-color: var(--accent-primary);
}
.form-control:focus {
outline: none;
- border-color: #5b5fcf;
- box-shadow: 0 0 0 3px rgba(91,95,207,0.1);
+ border-color: var(--accent-primary);
+ box-shadow: 0 0 0 3px var(--accent-focus);
}
.form-control[readonly] {
- background: #f8f9ff;
+ background: var(--surface-secondary);
cursor: not-allowed;
}
@@ -289,13 +289,13 @@
}
.input-suffix {
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--surface-secondary);
+ border: 1px solid var(--border-primary);
border-left: none;
padding: 10px 16px;
border-radius: 0 8px 8px 0;
font-size: 13px;
- color: #64748b;
+ color: var(--text-muted);
font-weight: 600;
white-space: nowrap;
}
@@ -303,7 +303,7 @@
/* Help text */
.help-text {
font-size: 12px;
- color: #8893a7;
+ color: var(--text-secondary);
margin-top: 6px;
}
@@ -313,8 +313,8 @@
align-items: start;
gap: 10px;
padding: 12px 16px;
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--surface-secondary);
+ border: 1px solid var(--border-primary);
border-radius: 8px;
transition: all 0.2s ease;
cursor: pointer;
@@ -322,8 +322,8 @@
}
.checkbox-wrapper:hover {
- border-color: #5b5fcf;
- background: #f0f1ff;
+ border-color: var(--accent-primary);
+ background: var(--accent-lighter);
}
.checkbox-wrapper input[type="checkbox"] {
@@ -331,7 +331,7 @@
height: 18px;
border-radius: 4px;
cursor: pointer;
- accent-color: #5b5fcf;
+ accent-color: var(--accent-primary);
margin-top: 2px;
}
@@ -341,7 +341,7 @@
.checkbox-label {
font-size: 14px;
- color: #2f3640;
+ color: var(--text-primary);
font-weight: 600;
cursor: pointer;
user-select: none;
@@ -351,7 +351,7 @@
.checkbox-desc {
font-size: 12px;
- color: #8893a7;
+ color: var(--text-secondary);
line-height: 1.5;
}
@@ -371,25 +371,25 @@
}
.btn-primary {
- background: #5b5fcf;
- color: white;
+ background: var(--accent-primary);
+ color: var(--text-inverse);
}
.btn-primary:hover {
- background: #4a4fc4;
- box-shadow: 0 4px 12px rgba(91,95,207,0.3);
+ background: var(--accent-dark);
+ box-shadow: 0 4px 12px var(--accent-shadow);
transform: translateY(-1px);
}
.btn-secondary {
- background: #f8f9ff;
- color: #5b5fcf;
- border: 1px solid #e8e9ff;
+ background: var(--surface-secondary);
+ color: var(--accent-primary);
+ border: 1px solid var(--border-primary);
}
.btn-secondary:hover {
- background: #eef0ff;
- border-color: #5b5fcf;
+ background: var(--accent-light);
+ border-color: var(--accent-primary);
}
/* Loading spinner */
@@ -397,8 +397,8 @@
display: inline-block;
width: 16px;
height: 16px;
- border: 2px solid #f3f3f3;
- border-top: 2px solid #5b5fcf;
+ border: 2px solid var(--border-light);
+ border-top: 2px solid var(--accent-primary);
border-radius: 50%;
animation: spin 1s linear infinite;
margin-left: 10px;
diff --git a/packages/templates/packages/modifyPackage.html b/packages/templates/packages/modifyPackage.html
index 222a58888..51435a611 100644
--- a/packages/templates/packages/modifyPackage.html
+++ b/packages/templates/packages/modifyPackage.html
@@ -22,29 +22,29 @@
.page-title {
font-size: 28px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 8px;
}
.page-subtitle {
font-size: 14px;
- color: #8893a7;
+ color: var(--text-secondary, #8893a7);
}
/* Card styles */
.content-card {
- background: white;
+ background: var(--bg-secondary, white);
border-radius: 12px;
padding: 30px;
- box-shadow: 0 2px 8px rgba(0,0,0,0.08);
- border: 1px solid #e8e9ff;
+ box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08));
+ border: 1px solid var(--border-color, #e8e9ff);
margin-bottom: 25px;
}
.card-title {
font-size: 18px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 25px;
display: flex;
align-items: center;
@@ -55,7 +55,7 @@
content: '';
width: 4px;
height: 24px;
- background: #5b5fcf;
+ background: var(--accent-color, #5b5fcf);
border-radius: 2px;
}
@@ -68,7 +68,7 @@
display: block;
font-size: 13px;
font-weight: 600;
- color: #64748b;
+ color: var(--text-label, #64748b);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
@@ -77,26 +77,26 @@
.form-control {
width: 100%;
padding: 10px 14px;
- border: 1px solid #e8e9ff;
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 8px;
font-size: 14px;
- color: #2f3640;
- background: white;
+ color: var(--text-primary, #2f3640);
+ background: var(--bg-secondary, white);
transition: all 0.2s ease;
}
.form-control:hover {
- border-color: #5b5fcf;
+ border-color: var(--accent-color, #5b5fcf);
}
.form-control:focus {
outline: none;
- border-color: #5b5fcf;
- box-shadow: 0 0 0 3px rgba(91,95,207,0.1);
+ border-color: var(--accent-color, #5b5fcf);
+ box-shadow: 0 0 0 3px var(--focus-shadow, rgba(91,95,207,0.1));
}
.form-control[readonly] {
- background: #f8f9ff;
+ background: var(--bg-hover, #f8f9ff);
cursor: not-allowed;
}
@@ -118,8 +118,8 @@
/* Windows-specific fixes */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
select.form-control {
- color: #2f3640 !important;
- background-color: white !important;
+ color: var(--text-primary, #2f3640) !important;
+ background-color: var(--bg-secondary, white) !important;
}
}
@@ -129,14 +129,14 @@
}
select.form-control:focus {
- color: #2f3640;
- background-color: white;
+ color: var(--text-primary, #2f3640);
+ background-color: var(--bg-secondary, white);
}
/* Package selector card */
.package-selector-card {
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 10px;
padding: 20px;
margin-bottom: 25px;
@@ -154,13 +154,13 @@
}
.input-suffix {
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-left: none;
padding: 10px 16px;
border-radius: 0 8px 8px 0;
font-size: 13px;
- color: #64748b;
+ color: var(--text-label, #64748b);
font-weight: 600;
white-space: nowrap;
}
@@ -168,13 +168,13 @@
/* Help text */
.help-text {
font-size: 12px;
- color: #8893a7;
+ color: var(--text-secondary, #8893a7);
margin-top: 6px;
}
/* Form section */
.form-section {
- background: #f8f9ff;
+ background: var(--bg-hover, #f8f9ff);
border-radius: 10px;
padding: 20px;
margin-bottom: 25px;
@@ -183,7 +183,7 @@
.form-section-title {
font-size: 15px;
font-weight: 700;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
margin-bottom: 20px;
display: flex;
align-items: center;
@@ -191,7 +191,7 @@
}
.form-section-title i {
- color: #5b5fcf;
+ color: var(--accent-color, #5b5fcf);
}
/* Form row */
@@ -212,8 +212,8 @@
align-items: start;
gap: 10px;
padding: 12px 16px;
- background: #f8f9ff;
- border: 1px solid #e8e9ff;
+ background: var(--bg-hover, #f8f9ff);
+ border: 1px solid var(--border-color, #e8e9ff);
border-radius: 8px;
transition: all 0.2s ease;
cursor: pointer;
@@ -221,8 +221,8 @@
}
.checkbox-wrapper:hover {
- border-color: #5b5fcf;
- background: #f0f1ff;
+ border-color: var(--accent-color, #5b5fcf);
+ background: var(--bg-hover-alt, #f0f1ff);
}
.checkbox-wrapper input[type="checkbox"] {
@@ -230,7 +230,7 @@
height: 18px;
border-radius: 4px;
cursor: pointer;
- accent-color: #5b5fcf;
+ accent-color: var(--accent-color, #5b5fcf);
margin-top: 2px;
}
@@ -240,7 +240,7 @@
.checkbox-label {
font-size: 14px;
- color: #2f3640;
+ color: var(--text-primary, #2f3640);
font-weight: 600;
cursor: pointer;
user-select: none;
@@ -250,7 +250,7 @@
.checkbox-desc {
font-size: 12px;
- color: #8893a7;
+ color: var(--text-secondary, #8893a7);
line-height: 1.5;
}
@@ -270,18 +270,18 @@
}
.btn-primary {
- background: #5b5fcf;
+ background: var(--accent-color, #5b5fcf);
color: white;
}
.btn-primary:hover {
- background: #4a4fc4;
- box-shadow: 0 4px 12px rgba(91,95,207,0.3);
+ background: var(--accent-hover, #4a4fc4);
+ box-shadow: 0 4px 12px var(--accent-shadow, rgba(91,95,207,0.3));
transform: translateY(-1px);
}
.btn-primary:disabled {
- background: #ccc;
+ background: var(--bg-disabled, #ccc);
cursor: not-allowed;
transform: none;
box-shadow: none;
@@ -304,15 +304,15 @@
}
.alert-danger {
- background: #ffebee;
- border: 1px solid #ffcdd2;
- color: #c62828;
+ background: var(--danger-bg, #ffebee);
+ border: 1px solid var(--danger-border, #ffcdd2);
+ color: var(--danger-text, #c62828);
}
.alert-success {
- background: #e8f5e9;
- border: 1px solid #c8e6c9;
- color: #2e7d32;
+ background: var(--success-bg, #e8f5e9);
+ border: 1px solid var(--success-border, #c8e6c9);
+ color: var(--success-text, #2e7d32);
}
/* Loading spinner */
@@ -320,8 +320,8 @@
display: inline-block;
width: 16px;
height: 16px;
- border: 2px solid #f3f3f3;
- border-top: 2px solid #5b5fcf;
+ border: 2px solid var(--spinner-bg, #f3f3f3);
+ border-top: 2px solid var(--accent-color, #5b5fcf);
border-radius: 50%;
animation: spin 1s linear infinite;
margin-left: 10px;
@@ -336,7 +336,7 @@
.button-container {
margin-top: 30px;
padding-top: 30px;
- border-top: 1px solid #e8e9ff;
+ border-top: 1px solid var(--border-color, #e8e9ff);
display: none;
}
diff --git a/websiteFunctions/templates/websiteFunctions/installJoomla.html b/websiteFunctions/templates/websiteFunctions/installJoomla.html
index bf105f89e..ba08b2e78 100644
--- a/websiteFunctions/templates/websiteFunctions/installJoomla.html
+++ b/websiteFunctions/templates/websiteFunctions/installJoomla.html
@@ -8,7 +8,7 @@