219 lines
3.6 KiB
CSS
219 lines
3.6 KiB
CSS
:global(html),
|
|
:global(body),
|
|
:global(#app) {
|
|
width: 100%;
|
|
min-height: 100%;
|
|
margin: 0;
|
|
}
|
|
|
|
:global(body) {
|
|
color: #172033;
|
|
background:
|
|
radial-gradient(circle at 0% 0%, rgba(37, 99, 235, 0.16), transparent 34%),
|
|
linear-gradient(135deg, #eef4ff, #f8fafc 55%, #edf5ff);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
}
|
|
|
|
:global(*) {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.public-recovery-page {
|
|
display: grid;
|
|
min-height: 100vh;
|
|
min-height: 100dvh;
|
|
padding: 24px;
|
|
place-items: center;
|
|
}
|
|
|
|
.public-recovery-card {
|
|
width: min(100%, 520px);
|
|
padding: clamp(28px, 5vw, 42px);
|
|
background: rgba(255, 255, 255, 0.94);
|
|
border: 1px solid rgba(148, 163, 184, 0.3);
|
|
border-radius: 24px;
|
|
box-shadow: 0 24px 70px rgba(30, 64, 175, 0.16);
|
|
}
|
|
|
|
.public-recovery-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14px;
|
|
margin-bottom: 28px;
|
|
}
|
|
|
|
.public-recovery-logo {
|
|
width: 46px;
|
|
height: 46px;
|
|
border-radius: 14px;
|
|
object-fit: contain;
|
|
box-shadow: 0 6px 16px rgba(37, 99, 235, 0.2);
|
|
}
|
|
|
|
.public-recovery-eyebrow {
|
|
margin: 0 0 3px;
|
|
color: #2563eb;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.08em;
|
|
}
|
|
|
|
h1,
|
|
h2 {
|
|
margin: 0;
|
|
color: #111827;
|
|
}
|
|
|
|
h1 {
|
|
font-size: clamp(23px, 4vw, 28px);
|
|
line-height: 1.25;
|
|
}
|
|
|
|
.public-recovery-form {
|
|
display: grid;
|
|
gap: 10px;
|
|
}
|
|
|
|
.public-recovery-copy,
|
|
.public-recovery-complete p {
|
|
margin: 0 0 10px;
|
|
color: #526174;
|
|
font-size: 14px;
|
|
line-height: 1.65;
|
|
}
|
|
|
|
label {
|
|
margin-top: 6px;
|
|
color: #344156;
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
input {
|
|
width: 100%;
|
|
min-height: 46px;
|
|
padding: 11px 13px;
|
|
color: #172033;
|
|
font: inherit;
|
|
background: #f8fafc;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 12px;
|
|
outline: none;
|
|
transition: border-color 0.16s ease, box-shadow 0.16s ease;
|
|
}
|
|
|
|
input:focus {
|
|
border-color: #2563eb;
|
|
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
|
|
}
|
|
|
|
input:disabled,
|
|
button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.65;
|
|
}
|
|
|
|
.public-recovery-status {
|
|
margin: 4px 0 0;
|
|
padding: 10px 12px;
|
|
color: #475569;
|
|
font-size: 13px;
|
|
line-height: 1.5;
|
|
background: #f1f5f9;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.public-recovery-status.success {
|
|
color: #166534;
|
|
background: #f0fdf4;
|
|
}
|
|
|
|
.public-recovery-status.error {
|
|
color: #b42318;
|
|
background: #fff1f2;
|
|
}
|
|
|
|
.public-recovery-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
margin-top: 18px;
|
|
}
|
|
|
|
.single-action {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
button {
|
|
min-height: 44px;
|
|
padding: 0 18px;
|
|
color: #fff;
|
|
font: inherit;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
background: #2563eb;
|
|
border: 1px solid #2563eb;
|
|
border-radius: 12px;
|
|
transition: background 0.16s ease, transform 0.16s ease;
|
|
}
|
|
|
|
button:not(:disabled):hover {
|
|
background: #1d4ed8;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.text-button {
|
|
color: #2563eb;
|
|
background: transparent;
|
|
border-color: transparent;
|
|
}
|
|
|
|
.text-button:not(:disabled):hover {
|
|
background: #eff6ff;
|
|
}
|
|
|
|
.public-recovery-complete {
|
|
display: grid;
|
|
justify-items: center;
|
|
gap: 13px;
|
|
padding: 12px 0 4px;
|
|
text-align: center;
|
|
}
|
|
|
|
.public-recovery-complete h2 {
|
|
font-size: 22px;
|
|
}
|
|
|
|
.public-recovery-success-icon {
|
|
display: grid;
|
|
width: 66px;
|
|
height: 66px;
|
|
color: #fff;
|
|
font-size: 34px;
|
|
font-weight: 800;
|
|
background: #16a34a;
|
|
border-radius: 50%;
|
|
place-items: center;
|
|
}
|
|
|
|
@media (max-width: 520px) {
|
|
.public-recovery-page {
|
|
padding: 14px;
|
|
}
|
|
|
|
.public-recovery-card {
|
|
padding: 24px 20px;
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.public-recovery-actions {
|
|
align-items: stretch;
|
|
flex-direction: column-reverse;
|
|
}
|
|
|
|
.public-recovery-actions button {
|
|
width: 100%;
|
|
}
|
|
}
|