/* Shared theme for the pre-app auth flow: login, company select, year select */

html, body.auth-page {
    height: 100%;
}

body.auth-page {
    margin: 0;
    background: linear-gradient(135deg, #0b4c78 0%, #146a9c 55%, #1c8cc7 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.auth-shell {
    width: 100%;
    max-width: 380px;
    margin: 24px;
}

.auth-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    padding: 36px 34px 30px;
}

.auth-brand {
    text-align: center;
    margin-bottom: 22px;
}

.auth-brand .auth-badge {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0b4c78, #1c8cc7);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .02em;
}

.auth-brand .auth-badge i {
    font-size: 24px;
}

.auth-brand h1 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #1b2733;
}

.auth-brand p {
    margin: 4px 0 0;
    font-size: 13px;
    color: #8a94a6;
}

.auth-alert {
    background: #fdecea;
    border: 1px solid #f5c2be;
    color: #b42318;
    font-size: 13px;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.auth-field {
    position: relative;
    margin-bottom: 16px;
}

.auth-field i.field-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aa4b2;
    font-size: 15px;
    z-index: 2;
}

.auth-field input {
    width: 100%;
    box-sizing: border-box;
    height: 46px;
    padding: 0 42px;
    border: 1px solid #dde3ea;
    border-radius: 8px;
    font-size: 14px;
    color: #1b2733;
    background: #f9fafb;
    transition: border-color .15s, background .15s;
}

.auth-field input:focus {
    outline: none;
    border-color: #1c8cc7;
    background: #fff;
}

.auth-field .toggle-pass {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aa4b2;
    cursor: pointer;
    font-size: 14px;
}

/* select2 dressed up to match the plain inputs (overrides the Limitless
   theme's own select2 skin in components.css, which sets height:36px via
   padding + a relative line-height rather than a fixed one, so it has to
   be reset wholesale here or the text sits high instead of centered) */
.auth-field .select2-container {
    width: 100% !important;
}

.auth-field .select2-selection--single {
    height: 46px !important;
    padding: 0 !important;
    line-height: 44px !important;
    border: 1px solid #dde3ea !important;
    border-radius: 8px !important;
    background-color: #f9fafb !important;
}

.auth-field .select2-container--open .select2-selection--single,
.auth-field .select2-selection--single:focus,
.auth-field .select2-selection--single:hover {
    border-color: #1c8cc7 !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.auth-field .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
    color: #1b2733 !important;
    padding-left: 34px !important;
    padding-right: 34px !important;
}

.auth-field .select2-selection--single .select2-selection__arrow:after {
    right: 14px !important;
}

.auth-submit {
    width: 100%;
    height: 46px;
    border: none;
    border-radius: 8px;
    background: #0b4c78;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .15s;
}

.auth-submit:hover {
    background: #08395b;
}

.auth-footer {
    text-align: center;
    margin-top: 18px;
    font-size: 12px;
    color: rgba(255, 255, 255, .85);
}
