:root{
    --sg-orange:#f36b21;
    --sg-orange-dark:#d95612;
    --sg-cream:#fff8ef;
    --sg-ink:#252525;
    --sg-muted:#707070;
    --sg-line:#eadfd4;
    --sg-soft:#fff1e5;
}

*{box-sizing:border-box}

body{
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at top right, rgba(243,107,33,.10), transparent 32%),
        var(--sg-cream);
    color:var(--sg-ink);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.auth-shell{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:32px 16px;
}

.register-shell{
    align-items:flex-start;
    padding-top:42px;
    padding-bottom:42px;
}

.auth-card{
    width:min(460px,100%);
    background:#fff;
    border:1px solid var(--sg-line);
    border-radius:24px;
    padding:34px;
    box-shadow:0 18px 55px rgba(43,31,19,.09);
}

.auth-card-wide{
    width:min(680px,100%);
}

.brand{
    display:inline-block;
    color:var(--sg-ink);
    text-decoration:none;
    font-size:1.85rem;
    font-weight:900;
    letter-spacing:-.8px;
}

.brand span{color:var(--sg-orange)}

.eyebrow{
    color:var(--sg-orange);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:1.5px;
}

h1{
    margin:7px 0 8px;
    font-size:clamp(1.8rem,4vw,2.3rem);
    font-weight:850;
    letter-spacing:-.8px;
}

.subtitle{
    color:var(--sg-muted);
    margin-bottom:24px;
}

.form-label{
    font-weight:700;
    margin-bottom:7px;
}

.form-control,
.input-group-text,
.password-toggle{
    border-color:#ded5cc;
}

.form-control{
    border-radius:12px;
}

.input-group-text{
    background:#faf7f3;
    color:#777;
}

.input-group .form-control{
    border-radius:0;
}

.input-group > :first-child{
    border-radius:12px 0 0 12px;
}

.input-group > :last-child{
    border-radius:0 12px 12px 0;
}

.password-toggle{
    background:#fff;
    min-width:52px;
}

a{
    color:var(--sg-orange);
    font-weight:650;
    text-decoration:none;
}

a:hover{color:var(--sg-orange-dark)}

.btn-scootgo{
    background:var(--sg-orange);
    color:#fff;
    border:0;
    border-radius:12px;
    font-weight:800;
    box-shadow:0 8px 18px rgba(243,107,33,.18);
}

.btn-scootgo:hover,
.btn-scootgo:focus{
    background:var(--sg-orange-dark);
    color:#fff;
}

.auth-alert{
    display:flex;
    border-radius:12px;
}

.divider{
    display:flex;
    align-items:center;
    gap:12px;
    color:#aaa;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:1px;
    margin:25px 0 18px;
}

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

.switch-text{
    text-align:center;
    margin:0;
    color:var(--sg-muted);
}

.back-home{
    display:block;
    text-align:center;
    margin-top:22px;
    color:#777;
    font-size:.9rem;
}

.account-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:24px 0;
}

.account-switch a{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--sg-ink);
    border:1px solid var(--sg-line);
    border-radius:15px;
    padding:14px;
    background:#fff;
    transition:.18s ease;
}

.account-switch a:hover{
    border-color:#f2b18a;
    transform:translateY(-1px);
}

.account-switch a.active{
    border-color:var(--sg-orange);
    background:var(--sg-soft);
}

.account-switch i{
    font-size:1.45rem;
    color:var(--sg-orange);
}

.account-switch strong,
.account-switch small{
    display:block;
}

.account-switch small{
    color:var(--sg-muted);
    font-weight:500;
    margin-top:2px;
}

.section-title{
    font-weight:850;
    font-size:1rem;
    margin-bottom:14px;
    padding-bottom:8px;
    border-bottom:1px solid var(--sg-line);
}

.owner-note{
    display:flex;
    gap:12px;
    padding:13px 15px;
    margin-bottom:22px;
    border-radius:13px;
    background:#fff8e8;
    border:1px solid #f3dfad;
    color:#684f18;
    font-size:.9rem;
}

.owner-note > i{
    color:#d39100;
    font-size:1.1rem;
}

@media(max-width:575px){
    .auth-shell{padding:16px}
    .register-shell{padding-top:16px}
    .auth-card{padding:25px 20px;border-radius:18px}
    .account-switch{grid-template-columns:1fr}
}
