/* CSS common to all public HTML pages in MAE system */
/* Copyright (c) 2018 HanoverSoft */

.label {
    clear: left;
    width: 35%;
    float: left;
    text-align: right;
    margin-right: 1em;
}

.textinput {
    width: 10em;
    float: left;
}

.page_title {
/*    text-align: center; */
    color: white;
    background-color: lightgreen;
}

.box {
    background-color: lightgreen;
    border: 1px black solid;
    padding-top: 2em;
    padding-bottom: 1.5em;
    margin-top: 1em;
    margin-left: 10%;
    width: 40%;
    border-radius: 1em;
    clear: left;
}

.gobutton {
    width: 6em;
    margin-left: 1em;
    float: left;
    color: white;
    background-color: green;
    border-radius: .5em;
}

.error {
    color: red;
}

/* Login and Password Prompt */

p#passwordbox {
}

p#passworderr {
    color: red;
    background: white;
}

#loginpage_cell_button {
    width: 4em;
}

.mesg {
    float: left;
    clear: left;
}

/* New User Request */

#newrequest_cell_button {
    width: 6em;
}

#newrequest_label_email {
    clear: left;
}
    
/* Wait for Email Page */

.waitname {
    font-weight: bold;
}

.waitemail {
    font-weight: bold;
}

/* ------------------------------------------------------------------ */
/* Sign-in pages: login, relogin (login failed) and logout share one   */
/* centered card.  Scoped to body.authpage so the other public pages   */
/* keep the styles above.                                              */

body.authpage {
    max-width: none;
    margin: 0;
    padding: 1rem;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #eef3ee linear-gradient(160deg, #f6faf6 0%, #e3eee4 100%) fixed;
}

.authpage .auth_card {
    width: 100%;
    max-width: 23rem;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #d8e2d9;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(31, 77, 41, .12), 0 2px 6px rgba(31, 77, 41, .06);
    padding: 2rem 2rem 1.5rem;
}

.authpage .auth_brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
}

.authpage .auth_logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #3d9b52, #23733a);
    color: #ffffff;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .04em;
}

.authpage .auth_title {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 1.3rem;
    color: #1a2e1f;
    background: none;
}

.authpage .auth_subtitle {
    margin: .1rem 0 0;
    font-size: .85rem;
    color: #5f6f62;
}

.authpage .auth_mesg {
    margin: 0 0 1.1rem;
    color: #3b4a3e;
}

.authpage .auth_alert {
    margin: 0 0 .6rem;
    padding: .6rem .8rem;
    border-radius: 8px;
    border: 1px solid #f0c2bd;
    background: #fdf0ee;
    color: #9b2c1f;
    font-size: .92rem;
}

.authpage form {
    margin: 0;
}

.authpage .auth_field {
    margin-bottom: 1rem;
}

.authpage .auth_field label {
    display: block;
    margin-bottom: .3rem;
    font-size: .88rem;
    font-weight: 600;
    color: #33433a;
}

.authpage .auth_field input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: .6rem .75rem;
    font: inherit;
    font-size: 1rem;
    color: #1f2a22;
    background: #fbfdfb;
    border: 1px solid #c3cfc5;
    border-radius: 8px;
    transition: border-color .15s, box-shadow .15s;
}

.authpage .auth_field input:focus {
    outline: none;
    border-color: #3d9b52;
    box-shadow: 0 0 0 3px rgba(61, 155, 82, .2);
    background: #ffffff;
}

.authpage .auth_button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 1.4rem;
    padding: .7rem 1rem;
    font: inherit;
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    color: #ffffff;
    background: linear-gradient(180deg, #3d9b52, #2c8343);
    border: 1px solid #23733a;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: filter .15s, transform .05s;
}

.authpage .auth_button:hover {
    filter: brightness(1.07);
    text-decoration: none;
}

.authpage .auth_button:active {
    transform: translateY(1px);
}

.authpage .auth_button:focus-visible {
    outline: 3px solid rgba(61, 155, 82, .35);
    outline-offset: 2px;
}

/* the older #loginpage_cell_button width (above) is for the other pages */
.authpage #loginpage_cell_button {
    width: 100%;
}

.authpage .auth_links {
    margin: 1.2rem 0 0;
    text-align: center;
    font-size: .9rem;
    color: #5f6f62;
}

.authpage .sep {
    margin: 0 .5rem;
    color: #b5c1b7;
}

.authpage .auth_footer {
    margin-top: 1.2rem;
    font-size: .8rem;
    color: #6f7d72;
    text-align: center;
}

.authpage .auth_footer a {
    color: #5a6b5d;
}

.authpage .auth_check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin: .25rem auto 1rem;
    border-radius: 50%;
    background: #e3f2e6;
    color: #2c8343;
    font-size: 1.5rem;
    font-weight: 700;
}

.authpage .auth_center {
    text-align: center;
}

@media (prefers-color-scheme: dark) {
    body.authpage {
        color: #dbe5dd;
        background: #121a14 linear-gradient(160deg, #18221a 0%, #0f1611 100%) fixed;
    }
    .authpage a { color: #8fc79c; }
    .authpage .auth_card {
        background: #1b251d;
        border-color: #2d3b30;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
    }
    .authpage .auth_title { color: #eef4ef; }
    .authpage .auth_subtitle, .authpage .auth_links, .authpage .auth_footer { color: #93a396; }
    .authpage .auth_footer a { color: #a9b8ac; }
    .authpage .auth_mesg { color: #c9d5cb; }
    .authpage .auth_field label { color: #c4d1c6; }
    .authpage .auth_field input {
        color: #eef4ef;
        background: #141c16;
        border-color: #3a4a3d;
    }
    .authpage .auth_field input:focus { background: #172019; }
    .authpage .auth_alert { background: #3a1c18; border-color: #6b2f27; color: #f2b8af; }
    .authpage .auth_check { background: #22382a; color: #8fc79c; }
    .authpage .sep { color: #4a5a4d; }
}

/* the other public pages: a wider card for the documents, status icons,
   an error line that only shows when usergw fills it in, the terms box */

.authpage .auth_card.auth_wide {
    max-width: 40rem;
}

.authpage .auth_check.auth_warn {
    background: #fdf0e2;
    color: #b25c0c;
}

.authpage .auth_check.auth_mail {
    background: #e3f2e6;
    color: #2c8343;
    font-size: 1.35rem;
}

.authpage .auth_heading {
    margin: 0 0 .6rem;
    padding: 0;
    border: none;
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a2e1f;
}

.authpage .auth_strong {
    font-weight: 600;
    color: #1a2e1f;
}

.authpage .auth_alert:empty {
    display: none;
}

.authpage .auth_box {
    margin: 0 0 1.1rem;
    padding: .7rem .9rem;
    border-radius: 8px;
    border: 1px solid #dfe7e0;
    background: #f6f9f6;
    font-size: .93rem;
    color: #3b4a3e;
}

.authpage .auth_box ul, .authpage .auth_box ol {
    margin: .3rem 0 0;
    padding-left: 1.3rem;
}

.authpage .auth_box li {
    margin: .2rem 0;
}

.authpage .auth_terms {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: .2rem 0 0;
    font-size: .9rem;
    color: #3b4a3e;
}

.authpage .auth_terms input {
    margin-top: .3rem;
    width: 1rem;
    height: 1rem;
    accent-color: #2c8343;
}

.authpage #newrequest_cell_button {
    width: 100%;
}

.authpage .auth_doc {
    color: #33433a;
}

.authpage .auth_doc h3 {
    margin: 0 0 .8rem;
    padding: 0;
    border: none;
    font-size: 1.15rem;
    color: #1a2e1f;
}

.authpage .auth_doc ol {
    padding-left: 1.4rem;
}

.authpage .auth_doc li {
    margin: .35rem 0;
}

@media (prefers-color-scheme: dark) {
    .authpage .auth_check.auth_warn { background: #3a2a16; color: #f0b26a; }
    .authpage .auth_check.auth_mail { background: #22382a; color: #8fc79c; }
    .authpage .auth_heading, .authpage .auth_strong, .authpage .auth_doc h3 { color: #eef4ef; }
    .authpage .auth_box { background: #172019; border-color: #2d3b30; color: #c9d5cb; }
    .authpage .auth_terms, .authpage .auth_doc { color: #c9d5cb; }
}
