diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css index 3814fe9..061f642 100644 --- a/frontend/src/assets/main.css +++ b/frontend/src/assets/main.css @@ -308,7 +308,7 @@ textarea.form-field { .sheet-title { font-size: 1.2rem; font-weight: 700; - color: var(--color-text); + color: var(--color-text-on-gradient); } .rsvp-form { @@ -320,7 +320,7 @@ textarea.form-field { .rsvp-form__label { font-size: 0.85rem; font-weight: 700; - color: var(--color-text); + color: var(--color-text-on-gradient); padding-left: 0.25rem; } diff --git a/frontend/src/components/BottomSheet.vue b/frontend/src/components/BottomSheet.vue index c3a0ba6..375621f 100644 --- a/frontend/src/components/BottomSheet.vue +++ b/frontend/src/components/BottomSheet.vue @@ -45,7 +45,7 @@ watch( .sheet-backdrop { position: fixed; inset: 0; - background: rgba(0, 0, 0, 0.4); + background: var(--color-glass-overlay); display: flex; align-items: flex-end; justify-content: center; @@ -53,7 +53,11 @@ watch( } .sheet { - background: var(--color-card); + background: linear-gradient(135deg, var(--color-glass-strong) 0%, var(--color-glass-subtle) 100%); + border: 1px solid var(--color-glass-border); + border-bottom: none; + backdrop-filter: blur(24px); + -webkit-backdrop-filter: blur(24px); border-radius: 20px 20px 0 0; padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-2xl); width: 100%; @@ -67,7 +71,7 @@ watch( .sheet__handle { width: 36px; height: 4px; - background: #ccc; + background: var(--color-glass-border-hover); border-radius: 2px; align-self: center; flex-shrink: 0; diff --git a/frontend/src/components/RsvpBar.vue b/frontend/src/components/RsvpBar.vue index 67b4cbe..e8f99cc 100644 --- a/frontend/src/components/RsvpBar.vue +++ b/frontend/src/components/RsvpBar.vue @@ -78,13 +78,16 @@ defineEmits<{ align-items: center; justify-content: center; gap: var(--spacing-xs); - background: var(--color-card); + background: linear-gradient(135deg, var(--color-glass-strong) 0%, var(--color-glass-subtle) 100%); + border: 1px solid var(--color-glass-border); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); border-radius: var(--radius-card); padding: var(--spacing-md) var(--spacing-lg); box-shadow: var(--shadow-card); font-weight: 600; font-size: 0.95rem; - color: var(--color-text); + color: var(--color-text-on-gradient); } .rsvp-bar__check { diff --git a/frontend/src/views/EventDetailView.vue b/frontend/src/views/EventDetailView.vue index 3c2b50f..6fb22f6 100644 --- a/frontend/src/views/EventDetailView.vue +++ b/frontend/src/views/EventDetailView.vue @@ -90,7 +90,7 @@ {{ nameError }} - +
+ +
@@ -444,4 +446,38 @@ onMounted(fetchEvent) .skeleton--short { width: 45%; } + +/* RSVP submit button (glow border wrapper) */ +.rsvp-form__submit { + width: 100%; + border-radius: var(--radius-button); + transition: transform 0.1s ease; +} + +.rsvp-form__submit:hover { + transform: scale(1.02); +} + +.rsvp-form__submit:active { + transform: scale(0.98); +} + +.rsvp-form__submit-inner { + display: block; + width: 100%; + padding: var(--spacing-md) var(--spacing-lg); + border-radius: calc(var(--radius-button) - 2px); + font-family: inherit; + font-size: 1rem; + font-weight: 700; + color: #fff; + text-align: center; + border: none; + cursor: pointer; +} + +.rsvp-form__submit-inner:disabled { + opacity: 0.6; + cursor: not-allowed; +}