157 lines
3.1 KiB
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;
|
|
}
|
|
}
|