From 7fdee314c8e9664ed0489b9dddcfc087bf4b2dc9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:30:28 +0000 Subject: [PATCH 1/2] Initial plan From 7f135da474f31239ae24c0e48c8461e7dd92a58b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:36:10 +0000 Subject: [PATCH 2/2] 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> --- app/sovran_systemsos_web/static/css/base.css | 28 +++++++++---------- .../static/css/buttons.css | 16 +++++------ .../static/css/domain-setup.css | 6 ++-- .../static/css/header.css | 2 +- .../static/css/layout.css | 6 ++-- .../static/css/modals.css | 24 ++++++++-------- .../static/css/onboarding.css | 28 +++++++++---------- .../static/css/security.css | 6 ++-- .../static/css/support.css | 14 +++++----- app/sovran_systemsos_web/static/css/tiles.css | 6 ++-- 10 files changed, 68 insertions(+), 68 deletions(-) diff --git a/app/sovran_systemsos_web/static/css/base.css b/app/sovran_systemsos_web/static/css/base.css index 68234bc..e264ba7 100644 --- a/app/sovran_systemsos_web/static/css/base.css +++ b/app/sovran_systemsos_web/static/css/base.css @@ -1,6 +1,6 @@ /* Sovran_SystemsOS Hub — Web UI Stylesheet - Dark theme matching the Adwaita dark aesthetic - v6 — Status-only tiles (no controls) */ + Dark theme — deep green palette matching the Sovran Hub icon + v7 — Green atmosphere, status-only tiles */ *, *::before, *::after { box-sizing: border-box; @@ -9,22 +9,22 @@ } :root { - --bg-color: #1e1e2e; - --surface-color: #2a2a3c; - --card-color: #313244; - --border-color: #45475a; - --text-primary: #cdd6f4; - --text-secondary: #a6adc8; - --text-dim: #6c7086; - --accent-color: #89b4fa; + --bg-color: #091C14; + --surface-color: #0F2419; + --card-color: #163023; + --border-color: #244635; + --text-primary: #E8FFF4; + --text-secondary: #8CC4A8; + --text-dim: #4E7A65; + --accent-color: #28D978; --green: #2ec27e; --yellow: #e5a50a; --red: #e01b24; - --grey: #888888; + --grey: #5E7A6A; --radius-card: 18px; --radius-btn: 8px; - --shadow-card: 0 2px 8px rgba(0,0,0,0.4); - --shadow-hover: 0 6px 20px rgba(0,0,0,0.6); + --shadow-card: 0 2px 8px rgba(0,0,0,0.5); + --shadow-hover: 0 6px 20px rgba(0,0,0,0.7); } html, body { @@ -112,7 +112,7 @@ body { padding: 12px; border-radius: var(--radius-btn); background-color: var(--accent-color); - color: #1e1e2e; + color: #0A1A10; font-size: 0.95rem; font-weight: 700; margin-top: 8px; diff --git a/app/sovran_systemsos_web/static/css/buttons.css b/app/sovran_systemsos_web/static/css/buttons.css index 8f1ebc5..aee9b3f 100644 --- a/app/sovran_systemsos_web/static/css/buttons.css +++ b/app/sovran_systemsos_web/static/css/buttons.css @@ -22,17 +22,17 @@ button:disabled { .btn-primary { background-color: var(--accent-color); - color: #1e1e2e; + color: #0A1A10; } .btn-primary:hover:not(:disabled) { opacity: 0.88; } -/* Update System button: BLUE by default */ +/* Update System button: uses accent green by default */ .btn-update { - background-color: #89b4fa; - color: #1e1e2e; + background-color: #1AA45D; + color: #E8FFF4; position: relative; display: flex; align-items: center; @@ -43,14 +43,14 @@ button:disabled { opacity: 0.88; } -/* Update System button: GREEN when updates are available */ +/* Update System button: brighter green when updates are available */ .btn-update.has-updates { - background-color: #2ec27e; - color: #fff; + background-color: #28D978; + color: #0A1A10; } .btn-update.has-updates:hover:not(:disabled) { - background-color: #27ae6e; + background-color: #42F39A; } .update-badge { diff --git a/app/sovran_systemsos_web/static/css/domain-setup.css b/app/sovran_systemsos_web/static/css/domain-setup.css index 08293ca..e5ddd4e 100644 --- a/app/sovran_systemsos_web/static/css/domain-setup.css +++ b/app/sovran_systemsos_web/static/css/domain-setup.css @@ -18,7 +18,7 @@ domain-field-label { domain-field-input { width: 100%; - background-color: #12121c; + background-color: #060F09; color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 8px; @@ -75,7 +75,7 @@ domain-field-actions { .domain-field-input { width: 100%; - background-color: #12121c; + background-color: #060F09; color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 8px; @@ -145,7 +145,7 @@ domain-field-actions { .port-req-table td { 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); } diff --git a/app/sovran_systemsos_web/static/css/header.css b/app/sovran_systemsos_web/static/css/header.css index f26d8af..3a879d4 100644 --- a/app/sovran_systemsos_web/static/css/header.css +++ b/app/sovran_systemsos_web/static/css/header.css @@ -35,7 +35,7 @@ .role-badge { background-color: var(--accent-color); - color: #1e1e2e; + color: #0A1A10; font-size: 0.72rem; font-weight: 700; padding: 3px 10px; diff --git a/app/sovran_systemsos_web/static/css/layout.css b/app/sovran_systemsos_web/static/css/layout.css index 9aa1e74..ba01800 100644 --- a/app/sovran_systemsos_web/static/css/layout.css +++ b/app/sovran_systemsos_web/static/css/layout.css @@ -46,7 +46,7 @@ .sidebar-support-btn:hover { border-color: var(--accent-color); border-style: solid; - background-color: #35354a; + background-color: #1A3828; } .sidebar-support-btn + .sidebar-support-btn { @@ -86,12 +86,12 @@ .sidebar-upgrade-btn { border-color: var(--accent-color); - background-color: rgba(137, 180, 250, 0.06); + background-color: rgba(40, 217, 120, 0.06); margin-top: 8px; } .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); } diff --git a/app/sovran_systemsos_web/static/css/modals.css b/app/sovran_systemsos_web/static/css/modals.css index 371aa7b..884de39 100644 --- a/app/sovran_systemsos_web/static/css/modals.css +++ b/app/sovran_systemsos_web/static/css/modals.css @@ -4,7 +4,7 @@ display: none; position: fixed; inset: 0; - background-color: rgba(0,0,0,0.65); + background-color: rgba(0,0,0,0.75); z-index: 200; align-items: center; justify-content: center; @@ -71,7 +71,7 @@ font-size: 0.78rem; line-height: 1.6; color: var(--text-primary); - background-color: #12121c; + background-color: #060F09; white-space: pre-wrap; word-break: break-all; min-height: 200px; @@ -100,7 +100,7 @@ button.btn-reboot:hover:not(:disabled) { .btn-save { background-color: var(--yellow); - color: #1e1e2e; + color: #0A1A10; } .btn-save:hover:not(:disabled) { @@ -113,7 +113,7 @@ button.btn-reboot:hover:not(:disabled) { } .btn-close-modal:hover:not(:disabled) { - background-color: #5a5c72; + background-color: #2A4538; } /* ── Credentials info modal ──────────────────────────────────────── */ @@ -214,7 +214,7 @@ button.btn-reboot:hover:not(:disabled) { font-family: 'JetBrains Mono', 'Fira Code', 'Source Code Pro', monospace; font-size: 0.92rem; color: var(--text-primary); - background-color: #12121c; + background-color: #060F09; padding: 12px 16px; border-radius: 8px; word-break: break-all; @@ -239,7 +239,7 @@ button.btn-reboot:hover:not(:disabled) { } .creds-copy-btn:hover { - background-color: #5a5c72; + background-color: #2A4538; } .creds-copy-btn.copied { @@ -283,7 +283,7 @@ button.btn-reboot:hover:not(:disabled) { .matrix-action-btn { background-color: var(--accent-color); - color: #0f0f19; + color: #0A1A10; font-size: 0.88rem; font-weight: 700; padding: 10px 18px; @@ -295,7 +295,7 @@ button.btn-reboot:hover:not(:disabled) { } .matrix-action-btn:hover { - background-color: #a8c8ff; + background-color: #6EE4A8; } .matrix-form-group { @@ -312,7 +312,7 @@ button.btn-reboot:hover:not(:disabled) { .matrix-form-input { width: 100%; - background-color: #12121c; + background-color: #060F09; color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 8px; @@ -347,7 +347,7 @@ button.btn-reboot:hover:not(:disabled) { .matrix-form-submit { background-color: var(--accent-color); - color: #0f0f19; + color: #0A1A10; font-size: 0.88rem; font-weight: 700; padding: 10px 20px; @@ -358,7 +358,7 @@ button.btn-reboot:hover:not(:disabled) { } .matrix-form-submit:hover:not(:disabled) { - background-color: #a8c8ff; + background-color: #6EE4A8; } .matrix-form-submit:disabled { @@ -378,7 +378,7 @@ button.btn-reboot:hover:not(:disabled) { } .matrix-form-back:hover { - background-color: #5a5c72; + background-color: #2A4538; } .matrix-form-result { diff --git a/app/sovran_systemsos_web/static/css/onboarding.css b/app/sovran_systemsos_web/static/css/onboarding.css index 041d8b8..4b4c25a 100644 --- a/app/sovran_systemsos_web/static/css/onboarding.css +++ b/app/sovran_systemsos_web/static/css/onboarding.css @@ -68,13 +68,13 @@ .onboarding-step-dot.active { background-color: var(--accent-color); border-color: var(--accent-color); - color: #1e1e2e; + color: #0A1A10; } .onboarding-step-dot.completed { background-color: var(--green); border-color: var(--green); - color: #1e1e2e; + color: #0A1A10; } .onboarding-step-connector { @@ -180,10 +180,10 @@ font-size: 0.82rem; font-weight: 700; color: var(--accent-color); - background-color: rgba(137, 180, 250, 0.12); + background-color: rgba(40, 217, 120, 0.10); padding: 3px 10px; border-radius: 20px; - border: 1px solid rgba(137, 180, 250, 0.3); + border: 1px solid rgba(40, 217, 120, 0.25); } /* Step header */ @@ -347,7 +347,7 @@ .onboarding-port-table td { 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); vertical-align: middle; } @@ -405,8 +405,8 @@ .onboarding-creds-notice { padding: 12px 16px; - background-color: rgba(137, 180, 250, 0.08); - border: 1px solid rgba(137, 180, 250, 0.25); + background-color: rgba(40, 217, 120, 0.08); + border: 1px solid rgba(40, 217, 120, 0.20); border-radius: 8px; font-size: 0.85rem; color: var(--text-secondary); @@ -499,8 +499,8 @@ font-size: 0.72rem; padding: 2px 8px; border-radius: 4px; - background-color: rgba(137, 180, 250, 0.1); - border: 1px solid rgba(137, 180, 250, 0.25); + background-color: rgba(40, 217, 120, 0.08); + border: 1px solid rgba(40, 217, 120, 0.20); color: var(--accent-color); cursor: pointer; white-space: nowrap; @@ -508,7 +508,7 @@ } .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) */ @@ -667,7 +667,7 @@ } .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); } @@ -690,8 +690,8 @@ .onboarding-password-success { padding: 12px 16px; - background-color: rgba(166, 227, 161, 0.1); - border: 1px solid rgba(166, 227, 161, 0.35); + background-color: rgba(40, 217, 120, 0.10); + border: 1px solid rgba(40, 217, 120, 0.30); border-radius: 8px; font-size: 0.92rem; color: var(--green); @@ -731,7 +731,7 @@ display: none; position: fixed; inset: 0; - background-color: rgba(15, 15, 25, 0.92); + background-color: rgba(4, 10, 6, 0.92); z-index: 999; align-items: center; justify-content: center; diff --git a/app/sovran_systemsos_web/static/css/security.css b/app/sovran_systemsos_web/static/css/security.css index ead06e8..b02c22e 100644 --- a/app/sovran_systemsos_web/static/css/security.css +++ b/app/sovran_systemsos_web/static/css/security.css @@ -221,7 +221,7 @@ display: none; position: fixed; inset: 0; - background-color: rgba(15, 15, 25, 0.94); + background-color: rgba(4, 10, 6, 0.94); z-index: 1000; align-items: center; justify-content: center; @@ -250,8 +250,8 @@ justify-content: space-between; gap: 12px; padding: 12px 18px; - background-color: rgba(46, 100, 194, 0.12); - border-bottom: 2px solid rgba(46, 100, 194, 0.35); + background-color: rgba(40, 217, 120, 0.08); + border-bottom: 2px solid rgba(40, 217, 120, 0.25); color: var(--text-primary); } diff --git a/app/sovran_systemsos_web/static/css/support.css b/app/sovran_systemsos_web/static/css/support.css index eaf3376..0e377af 100644 --- a/app/sovran_systemsos_web/static/css/support.css +++ b/app/sovran_systemsos_web/static/css/support.css @@ -104,7 +104,7 @@ } .support-steps code { - background-color: rgba(137, 180, 250, 0.12); + background-color: rgba(40, 217, 120, 0.10); padding: 2px 6px; border-radius: 4px; font-size: 0.82rem; @@ -116,7 +116,7 @@ padding: 12px; border-radius: var(--radius-btn); background-color: var(--accent-color); - color: #1e1e2e; + color: #0A1A10; font-size: 0.95rem; font-weight: 700; margin-bottom: 10px; @@ -146,7 +146,7 @@ padding: 12px; border-radius: var(--radius-btn); background-color: var(--accent-color); - color: #1e1e2e; + color: #0A1A10; font-size: 0.95rem; font-weight: 700; margin-top: 16px; @@ -168,7 +168,7 @@ } .support-btn-auditlog:hover:not(:disabled) { - background-color: #5a5c72; + background-color: #2A4538; } .support-fine-print { @@ -290,7 +290,7 @@ padding: 8px 16px; border-radius: var(--radius-btn); background-color: var(--yellow); - color: #1e1e2e; + color: #0A1A10; font-size: 0.82rem; font-weight: 700; } @@ -324,7 +324,7 @@ .support-audit-log { max-height: 200px; overflow-y: auto; - background-color: #12121c; + background-color: #060F09; border-radius: 8px; padding: 10px 14px; } @@ -334,7 +334,7 @@ font-size: 0.72rem; color: var(--text-secondary); 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 { diff --git a/app/sovran_systemsos_web/static/css/tiles.css b/app/sovran_systemsos_web/static/css/tiles.css index 5d7346e..5660500 100644 --- a/app/sovran_systemsos_web/static/css/tiles.css +++ b/app/sovran_systemsos_web/static/css/tiles.css @@ -20,7 +20,7 @@ .service-tile:hover { box-shadow: var(--shadow-hover); - border-color: #6c7086; + border-color: var(--accent-color); } .service-tile.disabled { @@ -235,7 +235,7 @@ .svc-detail-port-table td { 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); } @@ -294,7 +294,7 @@ } .svc-detail-troubleshoot code { - background-color: rgba(137, 180, 250, 0.12); + background-color: rgba(40, 217, 120, 0.10); padding: 2px 6px; border-radius: 4px; font-size: 0.82rem;