From 92544d60cec805203dfc00bef93fa6884a8f7719 Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Tue, 17 Mar 2026 23:29:20 -0400 Subject: [PATCH] Fix lt-modal-overlay not hidden without base.css Add lt-modal-overlay, lt-modal, lt-btn fallback styles to dashboard.css so modals are properly hidden (display:none) and styled even when /web_template/base.css is not yet served. Mirrors the rules from base.css. Co-Authored-By: Claude Sonnet 4.6 --- assets/css/dashboard.css | 94 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/assets/css/dashboard.css b/assets/css/dashboard.css index 45ada32..a0c3260 100644 --- a/assets/css/dashboard.css +++ b/assets/css/dashboard.css @@ -3458,6 +3458,100 @@ body.dark-mode select option { box-shadow: var(--glow-green); } +/* lt-modal-overlay: hidden by default, shown via .show class (mirrors base.css rules) */ +/* lt-btn: fallback styles when base.css is unavailable */ +.lt-btn { + display: inline-flex; + align-items: center; + background: transparent; + color: var(--terminal-green); + border: 2px solid var(--terminal-green); + padding: 8px 16px; + cursor: pointer; + font-family: var(--font-mono); + font-size: 0.9rem; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 0.05em; + text-decoration: none; + white-space: nowrap; +} +.lt-btn::before { content: '[ '; flex-shrink: 0; } +.lt-btn::after { content: ' ]'; flex-shrink: 0; } +.lt-btn-primary { color: var(--terminal-amber); border-color: var(--terminal-amber); } +.lt-btn-primary::before { content: '> '; } +.lt-btn-ghost { border-color: var(--border-color); color: var(--text-muted); } +.lt-btn-danger { color: var(--status-closed); border-color: var(--status-closed); } +.lt-select, .lt-input { + background: var(--bg-primary); + color: var(--terminal-green); + border: 1px solid var(--terminal-green); + font-family: var(--font-mono); + padding: 0.4rem 0.5rem; + width: 100%; +} + +/* lt-modal-overlay: hidden by default, shown via .show class (mirrors base.css rules) */ +.lt-modal-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.88); + z-index: var(--z-modal); + display: none; + align-items: center; + justify-content: center; + backdrop-filter: blur(2px); +} +.lt-modal-overlay.show { + display: flex; +} +.lt-modal { + position: relative; + background: var(--bg-secondary); + border: 3px double var(--terminal-green); + box-shadow: 0 0 30px rgba(0, 255, 65, 0.2), 0 8px 40px rgba(0, 0, 0, 0.8); + width: 560px; + max-width: 95vw; + max-height: 90vh; + overflow-y: auto; +} +.lt-modal-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1.5rem; + border-bottom: 2px solid var(--terminal-green); + background: var(--bg-primary); +} +.lt-modal-title { + font-size: 0.9rem; + font-weight: bold; + color: var(--terminal-amber); + text-transform: uppercase; + letter-spacing: 0.08em; +} +.lt-modal-title::before { content: '>> '; color: var(--terminal-green); } +.lt-modal-close { + background: transparent; + border: 1px solid var(--border-color); + color: var(--text-muted); + cursor: pointer; + font-family: var(--font-mono); + font-size: 0.85rem; + padding: 2px 8px; +} +.lt-modal-close::before, .lt-modal-close::after { content: ''; } +.lt-modal-close:hover { color: var(--terminal-red); border-color: var(--terminal-red); } +.lt-modal-body { padding: 1.5rem; } +.lt-modal-footer { + display: flex; + gap: 0.5rem; + justify-content: flex-end; + padding: 1rem 1.5rem; + border-top: 1px solid var(--border-color); + background: var(--bg-primary); +} + /* Settings Modal Container - acts as backdrop */ .settings-modal { position: fixed;