Re-theme Sovran Hub UI to deep green palette matching new icon

Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/7aff0b39-5cd6-4008-b1d0-1519a7c0793d

Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-09 19:36:10 +00:00
committed by GitHub
parent 7fdee314c8
commit 7f135da474
10 changed files with 68 additions and 68 deletions

View File

@@ -1,6 +1,6 @@
/* Sovran_SystemsOS Hub — Web UI Stylesheet /* Sovran_SystemsOS Hub — Web UI Stylesheet
Dark theme matching the Adwaita dark aesthetic Dark theme — deep green palette matching the Sovran Hub icon
v6Status-only tiles (no controls) */ v7Green atmosphere, status-only tiles */
*, *::before, *::after { *, *::before, *::after {
box-sizing: border-box; box-sizing: border-box;
@@ -9,22 +9,22 @@
} }
:root { :root {
--bg-color: #1e1e2e; --bg-color: #091C14;
--surface-color: #2a2a3c; --surface-color: #0F2419;
--card-color: #313244; --card-color: #163023;
--border-color: #45475a; --border-color: #244635;
--text-primary: #cdd6f4; --text-primary: #E8FFF4;
--text-secondary: #a6adc8; --text-secondary: #8CC4A8;
--text-dim: #6c7086; --text-dim: #4E7A65;
--accent-color: #89b4fa; --accent-color: #28D978;
--green: #2ec27e; --green: #2ec27e;
--yellow: #e5a50a; --yellow: #e5a50a;
--red: #e01b24; --red: #e01b24;
--grey: #888888; --grey: #5E7A6A;
--radius-card: 18px; --radius-card: 18px;
--radius-btn: 8px; --radius-btn: 8px;
--shadow-card: 0 2px 8px rgba(0,0,0,0.4); --shadow-card: 0 2px 8px rgba(0,0,0,0.5);
--shadow-hover: 0 6px 20px rgba(0,0,0,0.6); --shadow-hover: 0 6px 20px rgba(0,0,0,0.7);
} }
html, body { html, body {
@@ -112,7 +112,7 @@ body {
padding: 12px; padding: 12px;
border-radius: var(--radius-btn); border-radius: var(--radius-btn);
background-color: var(--accent-color); background-color: var(--accent-color);
color: #1e1e2e; color: #0A1A10;
font-size: 0.95rem; font-size: 0.95rem;
font-weight: 700; font-weight: 700;
margin-top: 8px; margin-top: 8px;

View File

@@ -22,17 +22,17 @@ button:disabled {
.btn-primary { .btn-primary {
background-color: var(--accent-color); background-color: var(--accent-color);
color: #1e1e2e; color: #0A1A10;
} }
.btn-primary:hover:not(:disabled) { .btn-primary:hover:not(:disabled) {
opacity: 0.88; opacity: 0.88;
} }
/* Update System button: BLUE by default */ /* Update System button: uses accent green by default */
.btn-update { .btn-update {
background-color: #89b4fa; background-color: #1AA45D;
color: #1e1e2e; color: #E8FFF4;
position: relative; position: relative;
display: flex; display: flex;
align-items: center; align-items: center;
@@ -43,14 +43,14 @@ button:disabled {
opacity: 0.88; opacity: 0.88;
} }
/* Update System button: GREEN when updates are available */ /* Update System button: brighter green when updates are available */
.btn-update.has-updates { .btn-update.has-updates {
background-color: #2ec27e; background-color: #28D978;
color: #fff; color: #0A1A10;
} }
.btn-update.has-updates:hover:not(:disabled) { .btn-update.has-updates:hover:not(:disabled) {
background-color: #27ae6e; background-color: #42F39A;
} }
.update-badge { .update-badge {

View File

@@ -18,7 +18,7 @@ domain-field-label {
domain-field-input { domain-field-input {
width: 100%; width: 100%;
background-color: #12121c; background-color: #060F09;
color: var(--text-primary); color: var(--text-primary);
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
border-radius: 8px; border-radius: 8px;
@@ -75,7 +75,7 @@ domain-field-actions {
.domain-field-input { .domain-field-input {
width: 100%; width: 100%;
background-color: #12121c; background-color: #060F09;
color: var(--text-primary); color: var(--text-primary);
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
border-radius: 8px; border-radius: 8px;
@@ -145,7 +145,7 @@ domain-field-actions {
.port-req-table td { .port-req-table td {
padding: 8px 10px; padding: 8px 10px;
border-bottom: 1px solid rgba(69, 71, 90, 0.4); border-bottom: 1px solid rgba(36, 70, 53, 0.5);
color: var(--text-primary); color: var(--text-primary);
} }

View File

@@ -35,7 +35,7 @@
.role-badge { .role-badge {
background-color: var(--accent-color); background-color: var(--accent-color);
color: #1e1e2e; color: #0A1A10;
font-size: 0.72rem; font-size: 0.72rem;
font-weight: 700; font-weight: 700;
padding: 3px 10px; padding: 3px 10px;

View File

@@ -46,7 +46,7 @@
.sidebar-support-btn:hover { .sidebar-support-btn:hover {
border-color: var(--accent-color); border-color: var(--accent-color);
border-style: solid; border-style: solid;
background-color: #35354a; background-color: #1A3828;
} }
.sidebar-support-btn + .sidebar-support-btn { .sidebar-support-btn + .sidebar-support-btn {
@@ -86,12 +86,12 @@
.sidebar-upgrade-btn { .sidebar-upgrade-btn {
border-color: var(--accent-color); border-color: var(--accent-color);
background-color: rgba(137, 180, 250, 0.06); background-color: rgba(40, 217, 120, 0.06);
margin-top: 8px; margin-top: 8px;
} }
.sidebar-upgrade-btn:hover { .sidebar-upgrade-btn:hover {
background-color: rgba(137, 180, 250, 0.14); background-color: rgba(40, 217, 120, 0.14);
border-color: var(--accent-color); border-color: var(--accent-color);
} }

View File

@@ -4,7 +4,7 @@
display: none; display: none;
position: fixed; position: fixed;
inset: 0; inset: 0;
background-color: rgba(0,0,0,0.65); background-color: rgba(0,0,0,0.75);
z-index: 200; z-index: 200;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -71,7 +71,7 @@
font-size: 0.78rem; font-size: 0.78rem;
line-height: 1.6; line-height: 1.6;
color: var(--text-primary); color: var(--text-primary);
background-color: #12121c; background-color: #060F09;
white-space: pre-wrap; white-space: pre-wrap;
word-break: break-all; word-break: break-all;
min-height: 200px; min-height: 200px;
@@ -100,7 +100,7 @@ button.btn-reboot:hover:not(:disabled) {
.btn-save { .btn-save {
background-color: var(--yellow); background-color: var(--yellow);
color: #1e1e2e; color: #0A1A10;
} }
.btn-save:hover:not(:disabled) { .btn-save:hover:not(:disabled) {
@@ -113,7 +113,7 @@ button.btn-reboot:hover:not(:disabled) {
} }
.btn-close-modal:hover:not(:disabled) { .btn-close-modal:hover:not(:disabled) {
background-color: #5a5c72; background-color: #2A4538;
} }
/* ── Credentials info modal ──────────────────────────────────────── */ /* ── Credentials info modal ──────────────────────────────────────── */
@@ -214,7 +214,7 @@ button.btn-reboot:hover:not(:disabled) {
font-family: 'JetBrains Mono', 'Fira Code', 'Source Code Pro', monospace; font-family: 'JetBrains Mono', 'Fira Code', 'Source Code Pro', monospace;
font-size: 0.92rem; font-size: 0.92rem;
color: var(--text-primary); color: var(--text-primary);
background-color: #12121c; background-color: #060F09;
padding: 12px 16px; padding: 12px 16px;
border-radius: 8px; border-radius: 8px;
word-break: break-all; word-break: break-all;
@@ -239,7 +239,7 @@ button.btn-reboot:hover:not(:disabled) {
} }
.creds-copy-btn:hover { .creds-copy-btn:hover {
background-color: #5a5c72; background-color: #2A4538;
} }
.creds-copy-btn.copied { .creds-copy-btn.copied {
@@ -283,7 +283,7 @@ button.btn-reboot:hover:not(:disabled) {
.matrix-action-btn { .matrix-action-btn {
background-color: var(--accent-color); background-color: var(--accent-color);
color: #0f0f19; color: #0A1A10;
font-size: 0.88rem; font-size: 0.88rem;
font-weight: 700; font-weight: 700;
padding: 10px 18px; padding: 10px 18px;
@@ -295,7 +295,7 @@ button.btn-reboot:hover:not(:disabled) {
} }
.matrix-action-btn:hover { .matrix-action-btn:hover {
background-color: #a8c8ff; background-color: #6EE4A8;
} }
.matrix-form-group { .matrix-form-group {
@@ -312,7 +312,7 @@ button.btn-reboot:hover:not(:disabled) {
.matrix-form-input { .matrix-form-input {
width: 100%; width: 100%;
background-color: #12121c; background-color: #060F09;
color: var(--text-primary); color: var(--text-primary);
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
border-radius: 8px; border-radius: 8px;
@@ -347,7 +347,7 @@ button.btn-reboot:hover:not(:disabled) {
.matrix-form-submit { .matrix-form-submit {
background-color: var(--accent-color); background-color: var(--accent-color);
color: #0f0f19; color: #0A1A10;
font-size: 0.88rem; font-size: 0.88rem;
font-weight: 700; font-weight: 700;
padding: 10px 20px; padding: 10px 20px;
@@ -358,7 +358,7 @@ button.btn-reboot:hover:not(:disabled) {
} }
.matrix-form-submit:hover:not(:disabled) { .matrix-form-submit:hover:not(:disabled) {
background-color: #a8c8ff; background-color: #6EE4A8;
} }
.matrix-form-submit:disabled { .matrix-form-submit:disabled {
@@ -378,7 +378,7 @@ button.btn-reboot:hover:not(:disabled) {
} }
.matrix-form-back:hover { .matrix-form-back:hover {
background-color: #5a5c72; background-color: #2A4538;
} }
.matrix-form-result { .matrix-form-result {

View File

@@ -68,13 +68,13 @@
.onboarding-step-dot.active { .onboarding-step-dot.active {
background-color: var(--accent-color); background-color: var(--accent-color);
border-color: var(--accent-color); border-color: var(--accent-color);
color: #1e1e2e; color: #0A1A10;
} }
.onboarding-step-dot.completed { .onboarding-step-dot.completed {
background-color: var(--green); background-color: var(--green);
border-color: var(--green); border-color: var(--green);
color: #1e1e2e; color: #0A1A10;
} }
.onboarding-step-connector { .onboarding-step-connector {
@@ -180,10 +180,10 @@
font-size: 0.82rem; font-size: 0.82rem;
font-weight: 700; font-weight: 700;
color: var(--accent-color); color: var(--accent-color);
background-color: rgba(137, 180, 250, 0.12); background-color: rgba(40, 217, 120, 0.10);
padding: 3px 10px; padding: 3px 10px;
border-radius: 20px; border-radius: 20px;
border: 1px solid rgba(137, 180, 250, 0.3); border: 1px solid rgba(40, 217, 120, 0.25);
} }
/* Step header */ /* Step header */
@@ -347,7 +347,7 @@
.onboarding-port-table td { .onboarding-port-table td {
padding: 8px 8px; padding: 8px 8px;
border-bottom: 1px solid rgba(69, 71, 90, 0.4); border-bottom: 1px solid rgba(36, 70, 53, 0.5);
color: var(--text-secondary); color: var(--text-secondary);
vertical-align: middle; vertical-align: middle;
} }
@@ -405,8 +405,8 @@
.onboarding-creds-notice { .onboarding-creds-notice {
padding: 12px 16px; padding: 12px 16px;
background-color: rgba(137, 180, 250, 0.08); background-color: rgba(40, 217, 120, 0.08);
border: 1px solid rgba(137, 180, 250, 0.25); border: 1px solid rgba(40, 217, 120, 0.20);
border-radius: 8px; border-radius: 8px;
font-size: 0.85rem; font-size: 0.85rem;
color: var(--text-secondary); color: var(--text-secondary);
@@ -499,8 +499,8 @@
font-size: 0.72rem; font-size: 0.72rem;
padding: 2px 8px; padding: 2px 8px;
border-radius: 4px; border-radius: 4px;
background-color: rgba(137, 180, 250, 0.1); background-color: rgba(40, 217, 120, 0.08);
border: 1px solid rgba(137, 180, 250, 0.25); border: 1px solid rgba(40, 217, 120, 0.20);
color: var(--accent-color); color: var(--accent-color);
cursor: pointer; cursor: pointer;
white-space: nowrap; white-space: nowrap;
@@ -508,7 +508,7 @@
} }
.onboarding-cred-reveal-btn:hover { .onboarding-cred-reveal-btn:hover {
background-color: rgba(137, 180, 250, 0.2); background-color: rgba(40, 217, 120, 0.15);
} }
/* Completion checklist (Step 5) */ /* Completion checklist (Step 5) */
@@ -667,7 +667,7 @@
} }
.onboarding-password-toggle:hover { .onboarding-password-toggle:hover {
background-color: rgba(137, 180, 250, 0.12); background-color: rgba(40, 217, 120, 0.10);
border-color: var(--accent-color); border-color: var(--accent-color);
} }
@@ -690,8 +690,8 @@
.onboarding-password-success { .onboarding-password-success {
padding: 12px 16px; padding: 12px 16px;
background-color: rgba(166, 227, 161, 0.1); background-color: rgba(40, 217, 120, 0.10);
border: 1px solid rgba(166, 227, 161, 0.35); border: 1px solid rgba(40, 217, 120, 0.30);
border-radius: 8px; border-radius: 8px;
font-size: 0.92rem; font-size: 0.92rem;
color: var(--green); color: var(--green);
@@ -731,7 +731,7 @@
display: none; display: none;
position: fixed; position: fixed;
inset: 0; inset: 0;
background-color: rgba(15, 15, 25, 0.92); background-color: rgba(4, 10, 6, 0.92);
z-index: 999; z-index: 999;
align-items: center; align-items: center;
justify-content: center; justify-content: center;

View File

@@ -221,7 +221,7 @@
display: none; display: none;
position: fixed; position: fixed;
inset: 0; inset: 0;
background-color: rgba(15, 15, 25, 0.94); background-color: rgba(4, 10, 6, 0.94);
z-index: 1000; z-index: 1000;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -250,8 +250,8 @@
justify-content: space-between; justify-content: space-between;
gap: 12px; gap: 12px;
padding: 12px 18px; padding: 12px 18px;
background-color: rgba(46, 100, 194, 0.12); background-color: rgba(40, 217, 120, 0.08);
border-bottom: 2px solid rgba(46, 100, 194, 0.35); border-bottom: 2px solid rgba(40, 217, 120, 0.25);
color: var(--text-primary); color: var(--text-primary);
} }

View File

@@ -104,7 +104,7 @@
} }
.support-steps code { .support-steps code {
background-color: rgba(137, 180, 250, 0.12); background-color: rgba(40, 217, 120, 0.10);
padding: 2px 6px; padding: 2px 6px;
border-radius: 4px; border-radius: 4px;
font-size: 0.82rem; font-size: 0.82rem;
@@ -116,7 +116,7 @@
padding: 12px; padding: 12px;
border-radius: var(--radius-btn); border-radius: var(--radius-btn);
background-color: var(--accent-color); background-color: var(--accent-color);
color: #1e1e2e; color: #0A1A10;
font-size: 0.95rem; font-size: 0.95rem;
font-weight: 700; font-weight: 700;
margin-bottom: 10px; margin-bottom: 10px;
@@ -146,7 +146,7 @@
padding: 12px; padding: 12px;
border-radius: var(--radius-btn); border-radius: var(--radius-btn);
background-color: var(--accent-color); background-color: var(--accent-color);
color: #1e1e2e; color: #0A1A10;
font-size: 0.95rem; font-size: 0.95rem;
font-weight: 700; font-weight: 700;
margin-top: 16px; margin-top: 16px;
@@ -168,7 +168,7 @@
} }
.support-btn-auditlog:hover:not(:disabled) { .support-btn-auditlog:hover:not(:disabled) {
background-color: #5a5c72; background-color: #2A4538;
} }
.support-fine-print { .support-fine-print {
@@ -290,7 +290,7 @@
padding: 8px 16px; padding: 8px 16px;
border-radius: var(--radius-btn); border-radius: var(--radius-btn);
background-color: var(--yellow); background-color: var(--yellow);
color: #1e1e2e; color: #0A1A10;
font-size: 0.82rem; font-size: 0.82rem;
font-weight: 700; font-weight: 700;
} }
@@ -324,7 +324,7 @@
.support-audit-log { .support-audit-log {
max-height: 200px; max-height: 200px;
overflow-y: auto; overflow-y: auto;
background-color: #12121c; background-color: #060F09;
border-radius: 8px; border-radius: 8px;
padding: 10px 14px; padding: 10px 14px;
} }
@@ -334,7 +334,7 @@
font-size: 0.72rem; font-size: 0.72rem;
color: var(--text-secondary); color: var(--text-secondary);
padding: 3px 0; padding: 3px 0;
border-bottom: 1px solid rgba(69, 71, 90, 0.3); border-bottom: 1px solid rgba(36, 70, 53, 0.4);
} }
.support-audit-entry:last-child { .support-audit-entry:last-child {

View File

@@ -20,7 +20,7 @@
.service-tile:hover { .service-tile:hover {
box-shadow: var(--shadow-hover); box-shadow: var(--shadow-hover);
border-color: #6c7086; border-color: var(--accent-color);
} }
.service-tile.disabled { .service-tile.disabled {
@@ -235,7 +235,7 @@
.svc-detail-port-table td { .svc-detail-port-table td {
padding: 8px 10px; padding: 8px 10px;
border-bottom: 1px solid rgba(69, 71, 90, 0.4); border-bottom: 1px solid rgba(36, 70, 53, 0.6);
color: var(--text-primary); color: var(--text-primary);
} }
@@ -294,7 +294,7 @@
} }
.svc-detail-troubleshoot code { .svc-detail-troubleshoot code {
background-color: rgba(137, 180, 250, 0.12); background-color: rgba(40, 217, 120, 0.10);
padding: 2px 6px; padding: 2px 6px;
border-radius: 4px; border-radius: 4px;
font-size: 0.82rem; font-size: 0.82rem;