sw-fe/src/styles/auth-modal.css

157 lines
3.1 KiB
CSS

/* ==========================================
SocioWire auth modal (login / signup)
Follows body[data-theme]: dark | blue | light
========================================== */
.auth-modal-backdrop {
position: fixed;
inset: 0;
z-index: 60;
display: flex;
align-items: center;
justify-content: center;
background: rgba(2, 6, 23, 0.65);
backdrop-filter: blur(8px);
}
/* Base modal box */
.auth-modal {
width: min(640px, 95vw);
border-radius: 22px;
padding: 1.1rem 1.25rem 1.35rem;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.85);
border: 1px solid rgba(148, 163, 184, 0.7);
}
/* Theme variants */
body[data-theme="dark"] .auth-modal {
background: radial-gradient(circle at top left, #0f172a, #020617 70%);
}
body[data-theme="blue"] .auth-modal {
background: radial-gradient(circle at top left, #0ea5e9, #020617 65%);
border-color: rgba(96, 165, 250, 0.9);
}
body[data-theme="light"] .auth-modal {
background: radial-gradient(circle at top left, #ffffff, #e5e7eb 70%);
color: #020617;
border-color: rgba(148, 163, 184, 0.7);
}
/* Header: tabs + close */
.auth-modal-header {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.9rem;
}
.auth-tab {
padding: 0.45rem 0.95rem;
border-radius: 999px;
border: 1px solid transparent;
background: transparent;
font-size: 0.85rem;
color: #e5e7eb;
cursor: pointer;
}
.auth-tab-active {
background: linear-gradient(135deg, #1d4ed8, #38bdf8);
border-color: rgba(191, 219, 254, 0.9);
color: #f9fafb;
}
/* light theme override for tab text */
body[data-theme="light"] .auth-tab {
color: #0f172a;
}
body[data-theme="light"] .auth-tab-active {
color: #f9fafb;
}
.auth-close {
margin-left: auto;
width: 32px;
height: 32px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.6);
background: rgba(15, 23, 42, 0.85);
color: #e5e7eb;
font-size: 0.8rem;
cursor: pointer;
}
/* Close button for light theme */
body[data-theme="light"] .auth-close {
background: #e5e7eb;
color: #020617;
}
/* Form layout */
.auth-form {
display: flex;
flex-direction: column;
gap: 0.7rem;
}
.auth-row {
display: flex;
gap: 0.6rem;
}
.auth-row label {
flex: 1;
}
.auth-form label {
display: flex;
flex-direction: column;
font-size: 0.8rem;
gap: 0.25rem;
}
/* Inputs */
.auth-form input {
border-radius: 999px;
border: 1px solid rgba(51, 65, 85, 0.9);
background: rgba(15, 23, 42, 0.96);
color: #e5e7eb;
padding: 0.55rem 0.85rem;
font-size: 0.85rem;
}
/* Light theme inputs */
body[data-theme="light"] .auth-form input {
background: #f9fafb;
color: #020617;
border-color: rgba(148, 163, 184, 0.9);
}
/* Full-width primary button */
.btn-full {
width: 100%;
margin-top: 0.4rem;
}
/* Error message */
.auth-error {
margin-top: 0.25rem;
font-size: 0.8rem;
color: #fecaca;
background: rgba(127, 29, 29, 0.55);
border-radius: 0.5rem;
padding: 0.4rem 0.6rem;
border: 1px solid rgba(248, 113, 113, 0.7);
}
/* Small screen tweaks */
@media (max-width: 480px) {
.auth-modal {
padding: 0.95rem 0.9rem 1.1rem;
}
.auth-row {
flex-direction: column;
}
}