/* WebFrota 7.9.7.6.44 — identidade da tela de acesso. Escopo exclusivo do login. */
#tela-login.fleet-login-shell { display:block; min-height:100vh; min-height:100svh; margin:0; background:#f5f8fc; color:#142442; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
#tela-login.hidden { display:none !important; }
#tela-login.fleet-login-shell * { box-sizing:border-box; }
#tela-login.fleet-login-shell .public-main.fleet-login-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(430px,1fr); width:100%; max-width:none; margin:0; padding:0; min-height:100vh; min-height:100svh; }
#tela-login.fleet-login-shell .public-hero.fleet-login-hero { display:flex; flex-direction:column; position:relative; isolation:isolate; min-width:0; min-height:100svh; padding:clamp(28px,4vw,64px) clamp(28px,4.1vw,72px) 32px !important; border:0; border-radius:0; box-shadow:none; overflow:hidden; background:radial-gradient(ellipse at 100% 0%,#234a80 0%,transparent 65%),linear-gradient(145deg,#0e2d56,#092246); }
#tela-login.fleet-login-shell .public-hero.fleet-login-hero::before,#tela-login.fleet-login-shell .public-hero.fleet-login-hero::after { content:none; }
#tela-login .fleet-platform-brand { display:flex; align-items:center; gap:16px; position:relative; z-index:1; }
#tela-login .fleet-platform-mark { display:grid; place-items:center; position:relative; flex:none; width:64px; height:64px; border-radius:17px; background:#fff; color:#0b3f91; box-shadow:0 8px 24px #00112730; }
#tela-login .fleet-platform-mark img { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:contain; border-radius:inherit; }
#tela-login .fleet-platform-mark span { font-size:28px; font-weight:900; letter-spacing:-2px; }
#tela-login .fleet-platform-brand strong { display:block; font-size:clamp(26px,2.3vw,36px); line-height:1.2; letter-spacing:-1.2px; font-weight:850; color:#fff; }
#tela-login .fleet-platform-brand small { display:block; margin-top:7px; color:#b8cce7; font-size:11px; line-height:1.4; letter-spacing:3px; text-transform:uppercase; font-weight:650; }
#tela-login .fleet-hero-copy { margin-top:clamp(32px,5vh,64px); position:relative; z-index:1; }
#tela-login .fleet-hero-kicker { margin:0 0 14px; color:#a8d1f7; font-size:12px; letter-spacing:1.6px; text-transform:uppercase; font-weight:650; }
#tela-login .fleet-hero-title { margin:0; color:#fff; font-size:clamp(32px,3.15vw,52px); line-height:1.15; letter-spacing:-1.55px; font-weight:800; overflow-wrap:break-word; }
#tela-login .fleet-hero-title span { display:block; margin-top:7px; color:#b0d9ff; }
#tela-login .fleet-hero-subtitle { margin:22px 0 0; max-width:600px; color:#c0d0e5; font-size:clamp(16px,1.27vw,19px); line-height:1.65; }
#tela-login .fleet-login-art { flex:1; position:relative; min-height:220px; margin:8px calc(-1 * clamp(28px,4.1vw,72px)) 0; overflow:hidden; }
#tela-login .fleet-login-art img { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; object-position:center 58%; -webkit-mask-image:linear-gradient(transparent,#000 16%,#000 82%,transparent); mask-image:linear-gradient(transparent,#000 16%,#000 82%,transparent); }
#tela-login .fleet-login-features { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:12px 0 0; margin:0; list-style:none; color:#d7e5f6; }
#tela-login .fleet-login-features li { display:flex; gap:11px; align-items:center; min-width:0; font-size:12px; line-height:1.5; }
#tela-login .fleet-login-features li + li { border-left:1px solid #799bc645; padding-left:18px; }
#tela-login .fleet-login-features svg { width:28px; height:28px; flex:none; color:#a9cdef; }
#tela-login .fleet-login-access { display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:0; position:relative; padding:64px 34px 26px; background:radial-gradient(circle at 70% 5%,#fff 0%,transparent 55%),#f5f8fc; }
#tela-login .fleet-login-theme { position:absolute; top:22px; right:26px; display:grid; place-items:center; width:44px; height:44px; padding:10px; border:1px solid #dce4ef; border-radius:50%; background:#f8fbff; color:#17365d; cursor:pointer; box-shadow:0 3px 8px #18345007; }
#tela-login .fleet-login-theme svg { width:22px; height:22px; }
#tela-login.fleet-login-shell .public-login-wrap { position:relative; z-index:2; width:100%; max-width:500px; padding:0; margin:auto 0; display:block; }
#tela-login.fleet-login-shell .public-login-card { max-width:none; width:100%; padding:clamp(26px,3.2vw,46px); border:1px solid #e3eaf4; border-radius:25px; background:#fff; box-shadow:0 20px 55px #1d43780e,0 4px 12px #15396004; backdrop-filter:none; }
#tela-login.fleet-login-shell .public-login-head { text-align:left; margin-bottom:26px; }
#tela-login .fleet-login-company { margin-bottom:25px; }
#tela-login .fleet-login-company img { display:block; max-width:220px; width:auto; max-height:68px; height:auto; object-fit:contain; object-position:left center; }
#tela-login .fleet-company-name { margin:8px 0 0; font-size:11px; font-weight:650; line-height:1.5; color:#66788f; overflow-wrap:anywhere; }
#tela-login .fleet-login-eyebrow { margin:0 0 12px; font-size:11px; line-height:1.5; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#5c708d; }
#tela-login.fleet-login-shell #login-nome-empresa { margin:0 !important; font-size:clamp(25px,2.15vw,31px); font-weight:800; line-height:1.25; letter-spacing:-1px; color:#102345; }
#tela-login .fleet-login-intro { margin:10px 0 0; color:#66768e; font-size:16px; line-height:1.55; }
#tela-login.fleet-login-shell .public-login-card form { max-width:none; margin:0; }
#tela-login.fleet-login-shell .public-login-card form > * + * { margin-top:18px; }
#tela-login.fleet-login-shell .public-login-card label { font-size:14px; line-height:1.5; letter-spacing:0; font-weight:650; color:#293d5a; }
#tela-login.fleet-login-shell .public-login-card input:not([type=checkbox]),#tela-login.fleet-login-shell .public-login-card select { font-family:inherit; font-size:16px; line-height:1.5; min-height:52px; background:#fff; color:#142442; border:1px solid #ccd7e6; border-radius:11px !important; box-shadow:0 1px 3px #0f274704; }
#tela-login.fleet-login-shell .public-login-card input::placeholder { color:#7c8aa1; opacity:1; }
#tela-login.fleet-login-shell .public-login-card input:focus { border-color:#3676c6; box-shadow:0 0 0 3px #3676c620; outline:none; }
#tela-login.fleet-login-shell .public-login-card input[type=checkbox] { width:16px; height:16px; min-height:16px; border-radius:4px !important; flex:none; accent-color:#1554a4; }
#tela-login .login-user-search-icon { font-size:21px; left:14px; color:#6a7d97; }
#tela-login .login-user-search-input { padding-left:42px; }
#tela-login .login-user-clear { width:36px; height:36px; }
#tela-login .login-user-results { max-height:min(260px,35svh); border-color:#d8e2ee; }
#tela-login .login-user-result { min-height:52px; }
#tela-login .login-user-result-name { font-size:15px; }
#tela-login .login-user-result-role { font-size:12px; }
#tela-login .login-user-search-help { font-size:12px; line-height:1.55; color:#76849a; margin-top:8px; }
#tela-login #login-base-status,#tela-login #login-base-recarregar { font-size:12px; line-height:1.5; }
#tela-login #login-usuario-selecionado-info { font-size:12px; line-height:1.5; }
#tela-login #div-senha button { min-width:44px; min-height:44px; }
#tela-login .public-login-actions { flex-wrap:wrap; row-gap:8px; }
#tela-login .public-login-actions button { min-height:32px; color:#1e579c; font-size:13px; }
#tela-login.fleet-login-shell .public-login-card .btn-dynamic { display:flex; align-items:center; justify-content:center; gap:16px; width:100%; min-height:54px; font-size:16px; line-height:1.5; font-weight:750; color:#fff; border:0; border-radius:11px; background:linear-gradient(100deg,#114a9c,#0d4592) !important; box-shadow:0 7px 14px #1554a414; }
#tela-login.fleet-login-shell .public-login-card .btn-dynamic:hover { background:linear-gradient(100deg,#0d3d85,#103e7f) !important; transform:translateY(-1px); }
#tela-login.fleet-login-shell .public-login-card button[onclick="abrirRecuperacaoWebFrota()"] { display:block; margin-top:12px; min-height:44px; padding:8px; color:#1554a4; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
#tela-login.fleet-login-shell .public-login-help { display:block; margin-top:2px; padding:6px; font-size:12px; color:#66788f; }
#tela-login.fleet-login-shell .public-login-security { display:flex; justify-content:center; gap:12px; padding-top:20px; margin-top:20px; border-top:1px solid #e2e9f2; font-size:12px; line-height:1.6; color:#65758b; }
#tela-login .public-login-security svg { width:18px; height:18px; flex:none; }
#tela-login .fleet-login-footer { margin-top:24px; padding:0 8px; text-align:center; color:#758299; font-size:11px; line-height:1.7; }
#tela-login .fleet-login-footer p { margin:0; }
#tela-login .fleet-login-footer #site-rodape { margin-top:3px; font-size:10px; color:#8794a6; }
#tela-login :is(button,input):focus-visible { outline:3px solid #76aeea; outline-offset:3px; }
.dark #tela-login.fleet-login-shell .fleet-login-access { background:radial-gradient(circle at top,#162b48,transparent 65%),#0c1729; }
.dark #tela-login.fleet-login-shell .public-login-card { background:#14243a; border-color:#2a3e58; box-shadow:0 24px 64px #0003; }
.dark #tela-login.fleet-login-shell #login-nome-empresa { color:#f3f7ff; }
.dark #tela-login .fleet-login-intro,.dark #tela-login .fleet-company-name,.dark #tela-login .fleet-login-eyebrow,.dark #tela-login .public-login-security { color:#adbed4; }
.dark #tela-login.fleet-login-shell .public-login-card label { color:#d9e4f3; }
.dark #tela-login.fleet-login-shell .public-login-card input:not([type=checkbox]) { background:#0f1e32; border-color:#3a4f6b; color:#eef5ff; }
.dark #tela-login.fleet-login-shell .public-login-card input.user-selected { border-color:#45836e; }
.dark #tela-login .login-user-results { background:#14243a; border-color:#3a4f6b; }
.dark #tela-login .login-user-result { color:#eef5ff; }
.dark #tela-login .login-user-result-role,.dark #tela-login .login-user-result-empty,.dark #tela-login .login-user-search-help,.dark #tela-login #login-base-status { color:#acbbd1; }
.dark #tela-login .login-user-result:hover,.dark #tela-login .login-user-result.active { background:#243c5b; }
.dark #tela-login .fleet-login-theme { background:#1c304a; border-color:#344b68; color:#d4e7ff; }
.dark #tela-login.fleet-login-shell .public-login-security { border-color:#30435c; }
.dark #tela-login.fleet-login-shell .public-login-card button[onclick="abrirRecuperacaoWebFrota()"],.dark #tela-login .public-login-actions button,.dark #tela-login #login-base-recarregar { color:#98c8ff; }
.dark #tela-login.fleet-login-shell .public-login-help { color:#a8bad3; }
.dark #tela-login .fleet-login-company img { padding:7px; border-radius:9px; background:#fff; }
@media(min-width:1800px) { #tela-login .fleet-login-access { padding-top:80px; } #tela-login.fleet-login-shell .public-login-card { padding:48px; } #tela-login.fleet-login-shell .public-login-wrap { max-width:560px; } }
@media(max-width:1100px) and (min-width:901px) { #tela-login .fleet-login-features { gap:10px; } #tela-login .fleet-login-features li { flex-direction:column; align-items:flex-start; gap:6px; } }
@media(max-width:900px) {
    #tela-login.fleet-login-shell .public-main.fleet-login-layout { display:flex; flex-direction:column; }
    #tela-login.fleet-login-shell .public-hero.fleet-login-hero { min-height:0; padding:24px 26px !important; }
    #tela-login .fleet-platform-mark { width:45px; height:45px; border-radius:12px; }
    #tela-login .fleet-platform-mark span { font-size:22px; }
    #tela-login .fleet-platform-brand { gap:12px; }
    #tela-login .fleet-platform-brand strong { font-size:25px; }
    #tela-login .fleet-platform-brand small { font-size:9px; letter-spacing:2px; margin-top:4px; }
    #tela-login .fleet-hero-copy { margin-top:20px; }
    #tela-login .fleet-hero-kicker,#tela-login .fleet-login-art,#tela-login .fleet-login-features { display:none; }
    #tela-login .fleet-hero-title { font-size:26px; letter-spacing:-.7px; line-height:1.2; }
    #tela-login .fleet-hero-title span { margin-top:3px; }
    #tela-login .fleet-hero-subtitle { font-size:14px; line-height:1.6; margin-top:10px; max-width:480px; }
    #tela-login .fleet-login-access { flex:1; padding:28px 20px 20px; }
    #tela-login .fleet-login-theme { top:-67px; right:24px; width:40px; height:40px; color:#e6f2ff; border-color:#a5c4e14d; background:#183e6d; }
    #tela-login.fleet-login-shell .public-login-wrap { margin:0; max-width:500px; }
    #tela-login.fleet-login-shell .public-login-card { padding:28px; border-radius:21px; }
    #tela-login .fleet-login-footer { margin-top:20px; }
}
@media(max-width:480px) {
    #tela-login.fleet-login-shell .public-hero.fleet-login-hero { padding:20px !important; }
    #tela-login .fleet-hero-title { font-size:25px; }
    #tela-login .fleet-login-access { padding:20px 14px 18px; }
    #tela-login.fleet-login-shell .public-login-card { padding:24px 20px; }
    #tela-login .fleet-login-company { margin-bottom:22px; }
    #tela-login .fleet-login-company img { max-height:56px; max-width:190px; }
    #tela-login.fleet-login-shell #login-nome-empresa { font-size:26px; }
    #tela-login .fleet-login-intro { font-size:15px; }
    #tela-login .fleet-login-theme { top:-62px; right:20px; }
}
@media(prefers-reduced-motion:reduce) { #tela-login.fleet-login-shell *,#tela-login.fleet-login-shell *::before,#tela-login.fleet-login-shell *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
/* Neutraliza a altura mínima do antigo painel de apresentação. */
#tela-login.fleet-login-shell .public-hero.fleet-login-hero > div { min-height:0; }
#tela-login.fleet-login-shell .public-hero.fleet-login-hero > .fleet-login-art { min-height:250px; }
#tela-login .fleet-hero-title { font-size:clamp(32px,2.8vw,48px); }
#tela-login.fleet-login-shell #public-company-name-login { max-width:none; font-size:10px; line-height:1.5; font-weight:500; }
#tela-login.fleet-login-shell .public-login-card { padding:32px; }
#tela-login .fleet-login-company { margin-bottom:20px; }
#tela-login .fleet-login-company img { max-height:56px; max-width:210px; }
#tela-login.fleet-login-shell .public-login-head { margin-bottom:22px; }
#tela-login.fleet-login-shell .public-login-card form > * + * { margin-top:15px; }
#tela-login .login-user-selected-info.visible ~ .login-user-search-help { display:none; }
#tela-login .login-base-feedback:has(#login-base-status:empty):not(:has(#login-base-recarregar:not(.hidden))) { display:none; }
#tela-login.fleet-login-shell .public-login-security { margin-top:18px; padding-top:17px; }
@media(max-width:900px) {
    #tela-login.fleet-login-shell { position:relative; }
    #tela-login .fleet-login-access { position:static; }
    #tela-login .fleet-login-theme { top:24px; right:24px; }
    #tela-login.fleet-login-shell .public-hero.fleet-login-hero > .fleet-login-art { min-height:0; }
    #tela-login .fleet-hero-title { font-size:26px; }
}
@media(max-width:480px) {
    #tela-login.fleet-login-shell .public-login-card { padding:24px 20px; }
    #tela-login .fleet-login-theme { top:20px; right:20px; }
    #tela-login .fleet-hero-title { font-size:25px; }
}

.dark #tela-login .login-user-selected-info { color:#71dbb1; }
.dark #tela-login .fleet-login-footer,.dark #tela-login .fleet-login-footer #site-rodape { color:#94a8c4; }
