From b45423145b25694688ab4beb9172844dd96844a5 Mon Sep 17 00:00:00 2001 From: jason Date: Sun, 8 Mar 2026 23:03:15 -0500 Subject: [PATCH] Add modal and form styles to CSS --- client/src/index.css | 105 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 101 insertions(+), 4 deletions(-) diff --git a/client/src/index.css b/client/src/index.css index 270965b..4bb4e95 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -78,17 +78,22 @@ code { text-decoration: none; } -.btn:hover { +.btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: var(--shadow); } +.btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + .btn-primary { background: var(--primary); color: white; } -.btn-primary:hover { +.btn-primary:hover:not(:disabled) { background: var(--primary-dark); } @@ -107,6 +112,24 @@ code { color: white; } +.btn-icon { + background: none; + border: none; + cursor: pointer; + padding: 0.5rem; + border-radius: 0.375rem; + display: flex; + align-items: center; + justify-content: center; + color: var(--text-secondary); + transition: all 0.2s; +} + +.btn-icon:hover { + background: var(--bg-secondary); + color: var(--text); +} + .card { background: var(--bg); border-radius: 0.5rem; @@ -114,20 +137,27 @@ code { box-shadow: var(--shadow); } -.input { +.input, +textarea { width: 100%; padding: 0.625rem; border: 1px solid var(--border); border-radius: 0.375rem; font-size: 0.875rem; transition: border-color 0.2s; + font-family: inherit; } -.input:focus { +.input:focus, +textarea:focus { outline: none; border-color: var(--primary); } +textarea { + resize: vertical; +} + .label { display: block; margin-bottom: 0.5rem; @@ -162,4 +192,71 @@ code { background: #fee2e2; border-radius: 0.375rem; margin: 1rem 0; +} + +/* Modal styles */ +.modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + padding: 1rem; +} + +.modal-content { + background: var(--bg); + border-radius: 0.5rem; + box-shadow: var(--shadow-lg); + max-width: 800px; + width: 100%; + max-height: 90vh; + overflow-y: auto; +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 1.5rem; + border-bottom: 1px solid var(--border); +} + +.modal-header h2 { + font-size: 1.5rem; + font-weight: 600; +} + +.modal-body { + padding: 1.5rem; +} + +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 0.75rem; + padding-top: 1.5rem; + border-top: 1px solid var(--border); + margin-top: 1.5rem; +} + +/* Form styles */ +.form-group { + margin-bottom: 1rem; +} + +.form-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 1rem; +} + +select.input { + background: white; + cursor: pointer; } \ No newline at end of file