:root {
    --auth-navy: #111113;
    --auth-navy-2: #24252a;
    --auth-ink: #111113;
    --auth-muted: #5f6570;
    --auth-teal: #6A2C91;
    --auth-green: #111113;
    --auth-blue: #6A2C91;
    --auth-line: rgba(17, 17, 19, .12);
}

html,
body {
    min-height: 100%;
    background:
        linear-gradient(90deg, rgba(17, 17, 19, .045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(17, 17, 19, .035) 1px, transparent 1px),
        radial-gradient(circle at 86% 12%, rgba(106, 44, 145, .10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7f8fb 48%, #eceff3 100%) !important;
    background-size: 88px 88px, 88px 88px, auto, auto !important;
}

.login-wrapper,
.bo-login-page {
    min-height: 100vh !important;
}

.login-brand,
.brand-panel,
.bo-login-brand {
    background:
        linear-gradient(90deg, rgba(17, 17, 19, .045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(17, 17, 19, .035) 1px, transparent 1px),
        radial-gradient(circle at 14% 16%, rgba(106, 44, 145, .10), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7f8fb 58%, #eceff3 100%) !important;
    background-size: 88px 88px, 88px 88px, auto, auto !important;
}

.brand-logo,
.mini-logo,
.bo-brand-symbol img,
.bo-brand-wordmark,
.bo-mobile-logo {
    filter: none !important;
}

.brand-logo,
.bo-brand-wordmark,
.bo-mobile-logo {
    object-fit: contain;
}

.bo-brand-symbol {
    display: none !important;
}

.brand-title,
.bo-brand-title {
    letter-spacing: 0 !important;
    color: #111113 !important;
}

.brand-subtitle,
.brand-copy,
.bo-brand-text,
.login-card-header p,
.recovery-card p,
.bo-login-card p {
    color: #5f6570 !important;
}

.brand-highlight,
.trust-list li,
.bo-brand-card {
    border-color: rgba(17, 17, 19, .10) !important;
    background: rgba(255, 255, 255, .84) !important;
}

.trust-list li {
    padding: 10px 12px !important;
    border: 1px solid rgba(17, 17, 19, .10) !important;
    border-radius: 8px !important;
}

.login-card,
.recovery-card,
.bo-login-panel {
    background: rgba(255, 255, 255, .96) !important;
}

.recovery-shell,
.bo-login-card {
    border-color: rgba(17, 17, 19, .10) !important;
}

.login-card,
.recovery-card,
.bo-login-card {
    box-shadow: 0 30px 80px rgba(17, 17, 19, .14) !important;
}

.input-wrapper input,
.form-control,
.input-group-text,
.bo-input-wrap input {
    background: #f8f9fb !important;
    border-color: rgba(17, 17, 19, .14) !important;
    color: #17181c !important;
}

.input-wrapper input:focus,
.form-control:focus,
.bo-input-wrap input:focus {
    border-color: var(--auth-teal) !important;
    box-shadow: 0 0 0 3px rgba(106, 44, 145, .10) !important;
}

.btn-primary,
.btn-easy,
.bo-submit {
    background: linear-gradient(135deg, #111113 0%, #26272d 72%, #3b2a49 120%) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 44px rgba(17, 17, 19, .22) !important;
}

.btn-primary:hover,
.btn-easy:hover,
.bo-submit:hover {
    background: linear-gradient(135deg, #000000 0%, #24252a 72%, #6A2C91 140%) !important;
    color: #fff !important;
}

.link-main,
.back-link:hover,
.login-links a:hover {
    color: #6A2C91 !important;
}

.bo-brand-badge,
.bo-login-kicker {
    color: #6A2C91 !important;
    border-color: rgba(106, 44, 145, .22) !important;
    background: rgba(106, 44, 145, .08) !important;
}

/* Logo oficial PNG, sem composicao duplicada ou apertada */
.brand-logo {
    width: min(360px, 82%) !important;
    height: auto !important;
    max-height: 110px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.recovery-card .brand-logo,
.reset-card .brand-logo {
    margin-left: auto !important;
    margin-right: auto !important;
    object-position: center !important;
}

.mini-logo {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
}

.bo-brand-symbol {
    display: none !important;
}

.bo-brand-wordmark,
.bo-mobile-logo {
    width: min(360px, 70vw) !important;
    height: auto !important;
    max-height: 110px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.brand-logo,
.bo-brand-wordmark,
.bo-mobile-logo {
    box-sizing: border-box !important;
    padding: 12px 18px !important;
    border-radius: 10px !important;
    background: #111113 !important;
    box-shadow: 0 16px 34px rgba(17, 17, 19, .12) !important;
}

.recovery-card .brand-logo,
.reset-card .brand-logo {
    background: #111113 !important;
}

@media (max-width: 992px) {
    .login-card,
    .recovery-card,
    .bo-login-card {
        border-left: 0 !important;
    }
}

@media (max-width: 600px) {
    html,
    body {
        width: 100%;
        min-width: 320px;
        overflow-x: hidden;
    }

    .login-wrapper,
    .bo-login-page {
        width: 100% !important;
        min-height: 100svh !important;
        justify-content: center !important;
        align-items: stretch !important;
        padding: 12px !important;
    }

    .login-card,
    .bo-login-panel,
    .recovery-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .login-card {
        min-height: calc(100svh - 24px) !important;
        padding: 32px 20px !important;
        border-radius: 18px !important;
    }

    .bo-login-panel {
        min-height: 100svh !important;
        padding: 12px !important;
        align-items: stretch !important;
    }

    .bo-login-card {
        width: 100% !important;
        min-height: calc(100svh - 24px) !important;
        padding: 26px 18px !important;
        border-radius: 18px !important;
    }

    .bo-login-card-header,
    .bo-login-form {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .recovery-shell {
        width: 100% !important;
        min-height: 100svh !important;
        border-radius: 0 !important;
    }

    .recovery-card {
        min-height: 100svh !important;
        padding: 34px 20px !important;
        justify-content: center !important;
    }

    .brand-logo,
    .mini-logo,
    .bo-mobile-logo {
        max-width: min(220px, 72vw) !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* Identidade clara Easy Clínicas - preto/branco com roxo apenas como assinatura */
:root {
    --auth-navy: #111113;
    --auth-navy-2: #24252a;
    --auth-ink: #111113;
    --auth-muted: #5f6570;
    --auth-teal: #6A2C91;
    --auth-green: #111113;
    --auth-blue: #6A2C91;
    --auth-line: rgba(17, 17, 19, .12);
}

html,
body {
    color: #17181c !important;
    background:
        linear-gradient(90deg, rgba(17, 17, 19, .045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(17, 17, 19, .035) 1px, transparent 1px),
        radial-gradient(circle at 86% 12%, rgba(106, 44, 145, .10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7f8fb 48%, #eceff3 100%) !important;
    background-size: 92px 92px, 92px 92px, auto, auto !important;
}

.login-brand,
.brand-panel,
.bo-login-brand {
    color: #17181c !important;
    background:
        linear-gradient(90deg, rgba(17, 17, 19, .04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(17, 17, 19, .03) 1px, transparent 1px),
        radial-gradient(circle at 16% 16%, rgba(106, 44, 145, .10), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7f8fb 58%, #eceff3 100%) !important;
    background-size: 86px 86px, 86px 86px, auto, auto !important;
}

.brand-panel::before,
.login-brand::before,
.bo-login-brand::before {
    background:
        radial-gradient(circle at 18% 18%, rgba(106, 44, 145, .14), transparent 34%),
        linear-gradient(135deg, rgba(17, 17, 19, .04), transparent 48%) !important;
}

.brand-logo,
.mini-logo,
.bo-brand-symbol img,
.bo-brand-wordmark,
.bo-mobile-logo {
    filter: none !important;
}

.brand-title,
.bo-brand-title,
.login-card-header h1,
.recovery-card h1,
.bo-login-card h1,
.bo-login-card h2 {
    color: #111113 !important;
}

.brand-subtitle,
.brand-copy,
.bo-brand-text,
.login-card-header p,
.recovery-card p,
.bo-login-card p,
.login-links,
.back-link {
    color: #5f6570 !important;
}

.brand-highlight,
.trust-list li,
.bo-brand-card {
    color: #17181c !important;
    border-color: rgba(17, 17, 19, .10) !important;
    background: rgba(255, 255, 255, .84) !important;
    box-shadow: 0 14px 36px rgba(17, 17, 19, .08) !important;
}

.brand-highlight i,
.trust-list i,
.bo-brand-card i {
    color: #6A2C91 !important;
}

.login-card,
.recovery-card,
.bo-login-panel,
.bo-login-card {
    color: #17181c !important;
    background: rgba(255, 255, 255, .96) !important;
    border-color: rgba(17, 17, 19, .10) !important;
    box-shadow: 0 30px 80px rgba(17, 17, 19, .14) !important;
}

.recovery-shell,
.bo-login-card {
    border-color: rgba(17, 17, 19, .10) !important;
}

.input-wrapper input,
.form-control,
.input-group-text,
.bo-input-wrap input {
    color: #17181c !important;
    background: #f8f9fb !important;
    border-color: rgba(17, 17, 19, .14) !important;
}

.input-wrapper input::placeholder,
.form-control::placeholder,
.bo-input-wrap input::placeholder {
    color: #808792 !important;
}

.input-wrapper input:focus,
.form-control:focus,
.bo-input-wrap input:focus {
    color: #111113 !important;
    background: #ffffff !important;
    border-color: rgba(106, 44, 145, .52) !important;
    box-shadow: 0 0 0 3px rgba(106, 44, 145, .10) !important;
}

.input-wrapper i,
.input-group-text i,
.bo-input-wrap i {
    color: #6A2C91 !important;
}

.btn-primary,
.btn-easy,
.bo-submit {
    color: #ffffff !important;
    background: linear-gradient(135deg, #111113 0%, #26272d 72%, #3b2a49 120%) !important;
    border-color: #111113 !important;
    box-shadow: 0 18px 44px rgba(17, 17, 19, .22) !important;
}

.btn-primary:hover,
.btn-easy:hover,
.bo-submit:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #000000 0%, #24252a 72%, #6A2C91 140%) !important;
    box-shadow: 0 24px 62px rgba(17, 17, 19, .30) !important;
}

.link-main,
.back-link:hover,
.login-links a:hover,
.bo-forgot-link:hover {
    color: #6A2C91 !important;
}

.link-main {
    border-bottom-color: rgba(106, 44, 145, .45) !important;
}

.bo-brand-badge,
.bo-login-kicker {
    color: #6A2C91 !important;
    border-color: rgba(106, 44, 145, .22) !important;
    background: rgba(106, 44, 145, .08) !important;
}
