@font-face {
    font-family:DrukCyr;
    src:url("/_assets/fonts/drukwidecyr-medium.e00adadfd4a93d8a.otf") format('opentype');
    font-display:swap;
}

@font-face {
    font-family:Trispace;
    src:url("/_assets/fonts/Trispace-Light.91dacd2a5d90e130.ttf") format('truetype');
    font-display:swap;
}

* {
    box-sizing:border-box;
}

html {
    font-size:100%;
}

body {
    margin:0;
    min-height:100vh;
    background:#f6f4ee;
    color:#101010;
    font-family:Trispace,system-ui,sans-serif;
    line-height:1.5;
}

.auth-shell {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(2rem,6vw,6rem);
    width:min(1120px,100%);
    margin:auto;
    padding:clamp(1.25rem,4vw,4rem);
    align-items:start;
}

.auth-panel {
    padding-top:1rem;
    min-width:0;
}

.auth-brand {
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:2rem;
}

.brand-mark {
    width:48px;
    flex-shrink:0;
}

.brand-mark svg {
    width:100%;
}

.brand-stack {
    display:grid;
}

.brand-stack>span,.auth-copy p,.auth-point span,.auth-card__head p {
    color:#65685f;
}

.eyebrow {
    font-size:.75rem;
    font-weight:bold;
    letter-spacing:.06em;
    text-transform:uppercase;
}

h1,h2 {
    font-family:DrukCyr,system-ui,sans-serif;
    line-height:1.15;
    overflow-wrap:anywhere;
}

h1 {
    font-size:clamp(1.6rem,3vw,2.6rem);
    margin:1rem 0;
}

h2 {
    font-size:clamp(1.3rem,2vw,1.8rem);
    margin:1rem 0;
}

.auth-points {
    display:grid;
    gap:1.25rem;
    margin-top:2rem;
}

.auth-point {
    display:flex;
    gap:.75rem;
    font-size:.875rem;
}

.auth-point__dot {
    width:8px;
    height:8px;
    margin-top:.5rem;
    background:#65685f;
    border-radius:50%;
    flex-shrink:0;
}

.auth-card {
    min-width:0;
    padding:clamp(1.25rem,3vw,2.5rem);
    background:white;
    border-radius:26px;
    box-shadow:0 24px 50px rgba(24,26,18,.08);
}

.auth-message-stack {
    margin:1rem 0;
    overflow-wrap:anywhere;
}

#message[data-error=true] {
    color:#a12d20;
}

#referral-message {
    font-size:.8rem;
    color:#65685f;
}

.form-label {
    display:block;
    margin-bottom:.5rem;
    font-weight:bold;
}

.form-control {
    width:100%;
    min-width:0;
    border:1px solid #c8cac2;
    border-radius:14px;
    padding:.8rem;
    font:inherit;
    color:inherit;
}

.btn {
    width:100%;
    padding:.85rem 1rem;
    margin-top:1rem;
    border:0;
    border-radius:999px;
    background:#a7e12c;
    color:#173100;
    font:inherit;
    font-weight:bold;
    cursor:pointer;
    white-space:normal;
}

.btn:disabled {
    opacity:.6;
    cursor:wait;
}

:focus-visible {
    outline:3px solid #4f8f36;
    outline-offset:3px;
}

@media(max-width:800px) {
    .auth-shell {
        grid-template-columns:minmax(0,1fr);
        max-width:620px;
        gap:1.5rem;
    }
    .auth-card {
        grid-row:1;
    }
    .auth-brand {
        margin-bottom:1rem;
    }
    .auth-panel {
        padding:0 .25rem;
    }
    .auth-copy h1 {
        font-size:clamp(1.5rem,5vw,2.2rem);
    }
}
