/* ARVETEHA PUBLIC HEADER STAGE 4A1: AUTH PAGE ONLY — 2026-07-29
 * Header styles were removed from this page stylesheet.
 * The shared Header is controlled only by /css/public-header.css.
 */
:root{
    --text:#17213b;
    --ink:#101828;
    --muted:#667085;
    --muted-light:#8a94a6;
    --border:#d9dee7;
    --border-soft:#edf0f4;
    --field:#ffffff;
    --page:#f7f8fa;
    --accent:#16b8a6;
    --accent-dark:#087f73;
    --accent-soft:rgba(22,184,166,.12);
    --white:#ffffff;
}

*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

html,
body{
    min-height:100%;
}

body{
    min-width:320px;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--text);
    background:var(--page);
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input{
    font:inherit;
}

.page{
    min-height:100vh;
    display:grid;
    grid-template-rows:auto 1fr;
    background:var(--page);
}


.auth-page{
    display:grid;
    place-items:center;
    padding:22px 20px 34px;
    background:var(--page);
}

.auth-card{
    width:min(100%,460px);
    padding:28px 34px 26px;
    border:1px solid #e2e6ec;
    border-radius:4px;
    background:#ffffff;
    box-shadow:0 12px 30px rgba(16,24,40,.07);
}

h1{
    margin:0 0 7px;
    color:#101828;
    font-size:30px;
    line-height:1.15;
    letter-spacing:-.035em;
    font-weight:760;
    text-align:left;
}

.subtitle{
    margin:0 0 20px;
    color:var(--muted);
    font-size:14px;
    line-height:1.45;
    text-align:left;
}

.auth-alert{
    width:100%;
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 0 16px;
    padding:11px 12px;
    color:#9f1d20;
    background:#fff7f7;
    border:1px solid #efc7c9;
    border-left:3px solid #d92d32;
    border-radius:3px;
    font-size:13px;
    font-weight:650;
    line-height:1.45;
    text-align:left;
}

.auth-alert__icon{
    width:18px;
    height:18px;
    display:inline-grid;
    place-items:center;
    flex:0 0 18px;
    margin-top:1px;
    color:#ffffff;
    background:#d92d32;
    border-radius:50%;
    font-size:12px;
    font-weight:800;
    line-height:1;
}

.auth-alert__text{
    min-width:0;
    overflow-wrap:anywhere;
}

.google-btn{
    width:288px;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:center;
    gap:10px;
    padding:10px 15px;
    border:1.5px solid var(--border);
    border-radius:12px;
    color:#344054;
    background:#ffffff;
    box-shadow:0 8px 18px rgba(16,24,40,.045);
    font-size:14px;
    font-weight:700;
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.google-btn:hover{
    border-color:#c7ced8;
    background:#f9fafb;
    box-shadow:0 10px 22px rgba(16,24,40,.07);
    transform:translateY(-1px);
}

.google-btn:focus-visible{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
}

.google-btn svg{
    width:19px;
    height:19px;
    flex:none;
}

.divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:18px 0 16px;
    color:#98a2b3;
    font-size:12px;
    font-weight:650;
}

.divider::before,
.divider::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--border-soft);
}

.form-grid{
    display:grid;
    gap:13px;
}

.field label{
    display:block;
    margin-bottom:6px;
    color:#344054;
    font-size:13px;
    font-weight:700;
    text-align:left;
}

.field input{
    width:100%;
    height:46px;
    padding:0 13px;
    border:1px solid var(--border);
    border-radius:4px;
    background:var(--field);
    color:#101828;
    font-size:14px;
    text-align:left;
    outline:none;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.field input::placeholder{
    color:#98a2b3;
}

.field input:focus{
    border-color:var(--accent);
    background:#ffffff;
    box-shadow:0 0 0 3px var(--accent-soft);
}


.password-input-wrap{
    position:relative;
}

.password-input-wrap .field,
.password-input-wrap input{
    width:100%;
}

.password-input-wrap input{
    padding-right:48px;
}

.password-toggle{
    position:absolute;
    top:50%;
    right:8px;
    width:34px;
    height:34px;
    display:inline-grid;
    place-items:center;
    transform:translateY(-50%);
    border:0;
    border-radius:4px;
    color:#667085;
    background:transparent;
    cursor:pointer;
}

.password-toggle:hover{
    color:#344054;
    background:#f2f4f7;
}

.password-toggle:focus-visible{
    outline:none;
    color:var(--accent-dark);
    box-shadow:0 0 0 3px var(--accent-soft);
}

.password-toggle svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.password-toggle__hide{
    display:none;
}

.password-toggle[aria-pressed="true"] .password-toggle__show{
    display:none;
}

.password-toggle[aria-pressed="true"] .password-toggle__hide{
    display:block;
}

.remember-row{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#475467;
    font-size:13px;
    font-weight:650;
    line-height:1.35;
    cursor:pointer;
    user-select:none;
}

.remember-row input{
    width:16px;
    height:16px;
    margin:0;
    flex:0 0 16px;
    accent-color:var(--accent-dark);
    cursor:pointer;
}

.remember-row span{
    min-width:0;
}

.password-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:6px;
}

.password-row label{
    margin:0;
}

.forgot-link{
    color:var(--accent-dark);
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}

.forgot-link:hover{
    text-decoration:underline;
}

.submit-btn{
    width:288px;
    min-height:44px;
    justify-self:center;
    margin-top:4px;
    border:2px solid #0ba7ec;
    border-radius:12px;
    color:#079ee1;
    background:#ffffff;
    box-shadow:0 8px 20px rgba(25,150,212,.06);
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.submit-btn:hover{
    color:#079ee1;
    background:#f7fcff;
    box-shadow:0 11px 24px rgba(25,150,212,.10);
    transform:translateY(-1px);
}

.submit-btn .submit-btn__icon{
    width:22px;
    height:22px;
    flex:none;
    display:block;
}

.submit-btn:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px var(--accent-soft);
}

.register{
    margin-top:16px;
    padding-top:15px;
    border-top:1px solid var(--border-soft);
    text-align:left;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}

.register a{
    color:var(--accent-dark);
    font-weight:800;
}

.register a:hover{
    text-decoration:underline;
}

@media(max-width:700px){
    .auth-page{
        place-items:start center;
        padding:18px 14px 28px;
    }

    .auth-card{
        padding:24px 20px 22px;
        width:100%;
    }

    h1{
        font-size:27px;
    }

    .subtitle{
        margin-bottom:17px;
        font-size:14px;
    }

    .google-btn,
    .submit-btn{
        width:min(100%,288px);
        justify-self:center;
    }
}

/* ==========================================================
   FREE ACCOUNT BUTTON — 2026-07-26
   ========================================================== */

.register {
    display:grid;
    gap:10px;
}

.register > span {
    display:block;
}

.register .register-btn {
    width:288px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:center;
    padding:10px 16px;
    border:1.5px solid var(--accent);
    border-radius:12px;
    color:var(--accent-dark);
    background:#ffffff;
    box-shadow:0 8px 18px rgba(8,127,115,.06);
    font-size:14px;
    font-weight:800;
    line-height:1.25;
    text-align:center;
    text-decoration:none;
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.register .register-btn:hover {
    color:var(--accent-dark);
    background:#f7fffd;
    border-color:var(--accent-dark);
    text-decoration:none;
    box-shadow:0 10px 22px rgba(8,127,115,.10);
    transform:translateY(-1px);
}

.register .register-btn:focus-visible {
    outline:none;
    box-shadow:0 0 0 3px var(--accent-soft);
}

@media(max-width:700px){
    .register .register-btn {
        min-height:48px;
        font-size:15px;
    }
}

/* AUTH BUTTON STYLE SWAP V1 — 2026-09-25: filled login, transparent registration. */

/* AUTH LOGIN MAIN COLOR V2 — exact homepage CTA teal gradient, 2026-09-25. */

/* AUTH REGISTER REAL BUTTON V4 — centered real button, 2026-09-25. */
/* AUTH LOGIN OUTLINE ICON V3 — homepage-style secondary CTA, 2026-09-25. */

/* AUTH GOOGLE REAL BUTTON V5 — centered rounded Google CTA, 2026-09-25. */


/* AUTH CENTER CARD + TITLE V6 — 2026-09-25 */
@media (min-width:701px){
    .auth-page{
        place-items:center;
        align-content:center;
        min-height:calc(100vh - var(--public-header-height, 76px));
        padding-top:28px;
        padding-bottom:28px;
    }

    .auth-card{
        margin-left:auto;
        margin-right:auto;
    }

    .auth-card h1{
        text-align:center;
    }

    .auth-card .subtitle{
        text-align:center;
        margin-left:auto;
        margin-right:auto;
    }
}


/* AUTH MOBILE TITLE + GOOGLE CENTER V7 — 2026-09-25 */

/* Title centered in every viewport, including mobile. */
.auth-card h1{
    text-align:center;
}

/* Google CTA is an inline-flex element, so auto margins are required
   for true horizontal centering inside the auth card on desktop. */
.google-btn{
    margin-left:auto;
    margin-right:auto;
}

/* Keep the subtitle centered only on desktop, as in V6. */
@media (max-width:700px){
    .auth-card h1{
        text-align:center;
    }
}
