/* Login form layout fix.
   The legacy .row { overflow:hidden } + .row .label { float:left } pattern in
   sendspace.css is fragile (Firefox in particular can collapse a row's height
   to zero when the floated label and the following non-floated input don't
   establish the BFC consistently — the password row vanishes while the
   username row above stays visible). Switching the login rows to flex makes
   the layout deterministic across browsers without touching the global
   .row/.signup styles other forms depend on. */

.login_page form { width: 600px; max-width: 100%; margin: auto; }

.login_page .row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    overflow: visible;     /* override the global .row { overflow: hidden } */
    margin-bottom: 12px;
    line-height: 1.4;
    font-size: 13px;
}

.login_page .row > .label {
    float: none;           /* override .row .label { float: left } */
    flex: 0 0 200px;
    min-width: 200px;
    text-align: right;
    padding-right: 10px;
    white-space: nowrap;
    box-sizing: border-box;
}

.login_page .row > .input,
.login_page .row > input.input {
    flex: 0 1 300px;
    width: 300px;
    max-width: 100%;
    box-sizing: border-box;
}

.login_page .row > div.input {
    flex: 0 0 auto;
    border: 0;
    padding: 0;
    width: auto;
}

.login_page .row > div.input input[type="submit"] {
    width: 300px;
    max-width: 100%;
}

/* Mobile: collapse to stacked layout so nothing is ever pushed off-screen. */
@media (max-width: 640px) {
    .login_page form { width: 100%; }
    .login_page .row { flex-direction: column; align-items: stretch; }
    .login_page .row > .label {
        flex: 0 0 auto;
        text-align: left;
        padding-right: 0;
        white-space: normal;
    }
    .login_page .row > .input,
    .login_page .row > input.input,
    .login_page .row > div.input,
    .login_page .row > div.input input[type="submit"] {
        flex: 0 0 auto;
        width: 100%;
    }
}
