From 990e67e88c57b846e6ee521c7228685769aa1d94 Mon Sep 17 00:00:00 2001 From: troogs Date: Sat, 31 Jan 2026 19:09:56 +0100 Subject: [PATCH] feat: enhance app layout with new shell and navigation styles --- src/ASTRAIN.Client/wwwroot/css/app.css | 112 +++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/src/ASTRAIN.Client/wwwroot/css/app.css b/src/ASTRAIN.Client/wwwroot/css/app.css index d38dfcb..aba190b 100644 --- a/src/ASTRAIN.Client/wwwroot/css/app.css +++ b/src/ASTRAIN.Client/wwwroot/css/app.css @@ -205,6 +205,118 @@ p { gap: 1rem; } +.app-shell { + min-height: 100vh; + background: #0b0b0b; + color: #f5f5f5; + display: flex; + flex-direction: column; +} + +.main-content { + flex: 1; + padding: 1.5rem 1.25rem 6rem; +} + +.brand-header { + text-align: center; + font-weight: 800; + font-size: 1.1rem; + padding: 1.25rem 0 0.25rem; +} + +.brand-white { + color: #ffffff; +} + +.brand-red { + color: #ff3b3b; +} + +.bottom-nav { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 96px; + background: #141414; + border-top: 1px solid #2a2a2a; + display: grid; + grid-template-columns: 1fr auto 1fr; + align-items: center; + padding: 0 1.5rem; + gap: 1rem; + z-index: 10; +} + +.nav-item { + color: #bdbdbd; + text-decoration: none; + font-weight: 700; + font-size: 0.9rem; + display: flex; + justify-content: center; + align-items: center; + height: 44px; + border: 1px solid transparent; + letter-spacing: 0.08em; + text-transform: uppercase; + width: 100%; + max-width: 160px; + margin: 0 auto; + justify-self: center; + text-align: center; + transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease; +} + +.nav-item.active { + color: #ffffff; + font-weight: 700; + border-color: #ff3b3b; + box-shadow: 0 0 0 2px rgba(255, 59, 59, 0.15); + background: rgba(255, 59, 59, 0.12); +} + +.nav-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.06); +} + +.nav-logo { + width: 80px; + height: 80px; + color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + font-weight: 700; + border-radius: 999px; + font-size: 0.7rem; + letter-spacing: 0.1em; +} + +.nav-logo img { + width: 80px; + height: 80px; + border-radius: 10px; + object-fit: cover; +} + +@media (min-width: 768px) { + .main-content { + padding: 2rem 2.5rem 7rem; + max-width: 960px; + margin: 0 auto; + } + + .bottom-nav { + left: 50%; + transform: translateX(-50%); + max-width: 720px; + border-radius: 24px 24px 0 0; + } +} + .loading-screen img { width: 96px; height: 96px;