
.password-recovery-page {

    min-height:calc(100vh - 74px);

    display:flex;

    align-items:center;

    justify-content:center;

    padding:60px 20px;

    background:radial-gradient(
            circle at 50% 0%,
            rgba(var(--t-cyan-rgb),.09),
            transparent 32%
        ),

        linear-gradient(
            135deg,
            var(--t-soft),
            var(--t-bg) 75%
        );

    color:var(--t-text2);

}


.password-recovery-shell {

    width:100%;

    max-width:480px;

}


.password-recovery-brand {

    text-align:center;

    margin-bottom:25px;

}


.password-recovery-badge {

    color:var(--t-cyan);

    font-size:10px;

    font-weight:900;

    letter-spacing:1.8px;

}


.password-recovery-brand h1 {

    margin:10px 0;

    color:var(--t-heading);

    font-size:34px;

}


.password-recovery-brand p {

    color:var(--t-muted2);

    font-size:11px;

    line-height:1.8;

}


.password-recovery-card {

    position:relative;

    overflow:hidden;

    padding:30px;

    border:1px solid var(--t-line);

    border-radius:18px;

    background:var(--t-soft);

    box-shadow:0 30px 80px
        rgba(var(--t-shadow-rgb),.33);

}


.password-recovery-card::before {

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:2px;

    background:linear-gradient(
            90deg,
            transparent,
            var(--t-cyan),
            transparent
        );

}


.recovery-message {

    margin-bottom:18px;

    padding:14px;

    border-radius:9px;

    font-size:11px;

    line-height:1.8;

}


.recovery-message.error {

    border:1px solid
        rgba(239,68,68,.3);

    background:rgba(239,68,68,.08);

    color:var(--t-red2);

}


.recovery-message.success {

    border:1px solid
        rgba(var(--t-green2-rgb),.25);

    background:rgba(var(--t-green2-rgb),.07);

    color:var(--t-green3);

}


.recovery-field {

    margin-bottom:18px;

}


.recovery-field label {

    display:block;

    margin-bottom:8px;

    color:var(--t-muted);

    font-size:10px;

    font-weight:800;

}


.recovery-field input {

    box-sizing:border-box;

    width:100%;

    height:50px;

    padding:0 15px;

    border:1px solid var(--t-line2);

    border-radius:9px;

    outline:0;

    background:var(--t-bg);

    color:var(--t-heading);

}


.recovery-field input:focus {

    border-color:var(--t-cyan);

    box-shadow:0 0 0 4px
        rgba(var(--t-cyan-rgb),.06);

}


.recovery-submit {

    width:100%;

    height:50px;

    border:0;

    border-radius:9px;

    cursor:pointer;

    background:linear-gradient(
            135deg,
            var(--t-cyan),
            var(--t-sky)
        );

    color:var(--t-on-accent);

    font-weight:900;

}


.recovery-submit:disabled {

    cursor:not-allowed;

    opacity:.65;

}


.recovery-back {

    margin-top:20px;

    text-align:center;

}


.recovery-back a {

    color:var(--t-cyan);

    text-decoration:none;

    font-size:10px;

}

