/* =========================
   Login
   ========================= */
:root {
    --line: #2f6fed;
    --line2: #b8c2cc;
    --auth-accent: #8d2a23; /* maroon button color */
    --auth-accent-hover: #6f1e19;
}

html, body {
    font-family: Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 0;
}

/* ===== Layout ===== */
.layout {
    display: flex;
    min-height: 100vh;
    align-items: stretch;
}
/* ...existing code remains unchanged above... */
/* (keeping earlier styles) */
/* === Login Page Styles (legacy kept for reference) === */
/* existing .login-shell/.login-card retained (not removed) */

/* === NEW Split Auth Layout === */
.auth-bg {
    min-height: 100vh;
    padding: 60px 30px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #efeff0;
    position: relative;
}
    /* subtle hex / honeycomb "ambient" pattern (fallback while real image added) */
    .auth-bg::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(120deg, rgba(255,255,255,.8), rgba(255,255,255,.85)), repeating-linear-gradient(60deg, rgba(0,0,0,.02) 0 24px, transparent 24px 48px), repeating-linear-gradient(-60deg, rgba(0,0,0,.02) 0 24px, transparent 24px 48px);
        background-blend-mode: normal;
        pointer-events: none;
    }

.auth-wrapper {
    width: 100%;
    max-width: 1120px;
    display: flex;
    justify-content: center;
}

.auth-card {
    width: 820px;
    height: 420px;
    background: #fff;
    border-radius: 6px;
    display: flex;
    box-shadow: 0 12px 30px -8px rgba(31,43,55,.25), 0 4px 10px -2px rgba(31,43,55,.12);
    overflow: hidden;
    position: relative;
}

.auth-left {
    flex: 1 1 50%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding: 40px 32px;
    background: #222 center/cover no-repeat;
    background-image: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), url('/images/login-side.jpg');
}

    .auth-left .brand-wordmark {
        font-size: 54px;
        font-weight: 600;
        letter-spacing: 4px;
        margin: 0 0 8px;
    }

    .auth-left .tagline {
        font-size: 18px;
        font-weight: 300;
        line-height: 1.35;
        margin-top: 24px;
    }

    /* Placeholder logo circle if no image yet */
    .auth-left .logo-placeholder {
        width: 120px;
        height: 120px;
        border: 2px solid rgba(255,255,255,.6);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 46px;
        font-weight: 600;
        letter-spacing: 2px;
    }

.auth-right {
    flex: 1 1 50%;
    padding: 56px 70px 48px;
    display: flex;
    flex-direction: column;
}

    .auth-right h1 {
        font-size: 26px;
        font-weight: 600;
        margin: 0 0 4px;
        letter-spacing: .5px;
    }

    .auth-right .sub {
        font-size: 12px;
        color: #666;
        margin: 0 0 36px;
    }

.auth-form .field {
    margin-bottom: 18px;
}

.auth-form label {
    display: none;
}

.auth-form input {
    width: 100%;
    font-size: 13px;
    padding: 10px 34px 10px 10px;
    border: 1px solid #d1d5db;
    border-radius: 2px;
    background: #f8f9fb;
    transition: border-color .15s, box-shadow .15s, background .2s;
}

    .auth-form input:focus {
        outline: none;
        border-color: #2f6fed;
        box-shadow: 0 0 0 2px rgba(47,111,237,.15);
        background: #fff;
    }

.auth-form input { color: #222; }
/* small icon slot */
.field-icon-wrap { position: relative; }

    .field-icon-wrap i {
        position: absolute;
        right: 6px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 14px;
        opacity: .55;
    }

.pw-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: none; background: transparent; padding: 4px; cursor: pointer; color: #555; }
.pw-eye:hover { color: #2f6fed; }

.auth-btn {
    width: 100%;
    background: var(--auth-accent);
    color: #fff;
    border: 1px solid var(--auth-accent);
    padding: 12px 14px;
    border-radius: 2px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: .5px;
    box-shadow: 0 2px 4px rgba(0,0,0,.15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .auth-btn:hover:not(:disabled) { background: var(--auth-accent-hover); border-color: var(--auth-accent-hover); }
    .auth-btn:disabled { opacity: .6; cursor: default; }

.auth-error { background: #ffe8e6; color: #9b1c12; border: 1px solid #f5b1aa; font-size: 12px; padding: 8px 10px; border-radius: 4px; margin-bottom: 14px; }

.auth-footer { margin-top: auto; font-size: 10px; color: #888; text-align: center; }

/* Responsive */
@media (max-width: 960px) {
    .auth-card { width: 100%; max-width: 620px; height: auto; flex-direction: column; }
    .auth-left { min-height: 220px; }
    .auth-right { padding: 40px 46px 40px; }
}
@media (max-width:560px) {
    .auth-right { padding: 34px 30px 38px; }
    .auth-left { padding: 34px 26px; }
    .auth-left .brand-wordmark { font-size: 44px; }
}
