/* LocalRast Login Premium — compatível com revendas */

body.sign-in-layout .panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 22px;
    background: rgba(12, 30, 48, .72);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

body.sign-in-layout .panel-background {
    border-radius: inherit;
    background: transparent;
}

body.sign-in-layout .panel-body {
    position: relative;
    z-index: 1;
    padding: 32px;
    color: #f1f5f9;
}

body.sign-in-layout .panel-body img {
    max-width: 100%;
    max-height: 95px;
    width: auto;
    object-fit: contain;
}

body.sign-in-layout .panel-body hr {
    border-color: rgba(255, 255, 255, .18);
}

body.sign-in-layout .form-control {
    min-height: 46px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

body.sign-in-layout .form-control::placeholder {
    color: #cbd5e1;
}

body.sign-in-layout .form-control:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .15);
}

body.sign-in-layout .panel .btn {
    min-height: 45px;
    border-radius: 10px;
    font-weight: 600;
}

body.sign-in-layout .panel label,
body.sign-in-layout .panel a {
    color: #e2e8f0;
}

@media (max-width: 767px) {
    body.sign-in-layout .panel {
        border-radius: 18px;
    }

    body.sign-in-layout .panel-body {
        padding: 24px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sign-in-layout *,
    body.sign-in-layout *::before,
    body.sign-in-layout *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* Ajustes de contraste e acabamento */
body.sign-in-layout .panel .btn:not(.btn-primary):not(.btn-info):not(.btn-success) {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
}

body.sign-in-layout .panel .btn:not(.btn-primary):not(.btn-info):not(.btn-success):hover {
    background: rgba(255, 255, 255, .22);
}

body.sign-in-layout .panel input.form-control {
    background: rgba(255, 255, 255, .94);
    color: #172536;
    border-color: rgba(255, 255, 255, .35);
}

body.sign-in-layout .panel input.form-control:focus {
    background: #fff;
    color: #172536;
}

body.sign-in-layout .panel input.form-control::placeholder {
    color: #64748b;
}

body.sign-in-layout .panel .btn a {
    color: inherit;
}

body.sign-in-layout .sign-in-text {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .65);
}
CSScd /var/www/html/current && cp -p public/assets/css/login-premium.css "public/assets/css/login-premium.css.bak-$(date +%Y%m%d-%H%M%S)" && cat >> public/assets/css/login-premium.css <<'CSS'

/* Ajustes de contraste e acabamento */
body.sign-in-layout .panel .btn:not(.btn-primary):not(.btn-info):not(.btn-success) {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
}

body.sign-in-layout .panel .btn:not(.btn-primary):not(.btn-info):not(.btn-success):hover {
    background: rgba(255, 255, 255, .22);
}

body.sign-in-layout .panel input.form-control {
    background: rgba(255, 255, 255, .94);
    color: #172536;
    border-color: rgba(255, 255, 255, .35);
}

body.sign-in-layout .panel input.form-control:focus {
    background: #fff;
    color: #172536;
}

body.sign-in-layout .panel input.form-control::placeholder {
    color: #64748b;
}

body.sign-in-layout .panel .btn a {
    color: inherit;
}

body.sign-in-layout .sign-in-text {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .65);
}

/* Ajustes de contraste e acabamento */
body.sign-in-layout .panel .btn:not(.btn-primary):not(.btn-info):not(.btn-success) {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
}

body.sign-in-layout .panel .btn:not(.btn-primary):not(.btn-info):not(.btn-success):hover {
    background: rgba(255, 255, 255, .22);
}

body.sign-in-layout .panel input.form-control {
    background: rgba(255, 255, 255, .94);
    color: #172536;
    border-color: rgba(255, 255, 255, .35);
}

body.sign-in-layout .panel input.form-control:focus {
    background: #fff;
    color: #172536;
}

body.sign-in-layout .panel input.form-control::placeholder {
    color: #64748b;
}

body.sign-in-layout .panel .btn a {
    color: inherit;
}

body.sign-in-layout .sign-in-text {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .65);
}

/* Correção específica do botão Recuperar a senha */
body.sign-in-layout .panel a.btn.btn-default {
    background: rgba(255, 255, 255, 0.12) !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    text-shadow: none !important;
}

body.sign-in-layout .panel a.btn.btn-default:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
}

/* Fundo GPS Premium — somente sem wallpaper personalizado */
body.sign-in-layout:not(.has-custom-login-background) {
    background-color: #071522;
    background-image: url('../../../images/background.gif?v=restaurado-20261018');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* Camada decorativa com sinal GPS */
body.sign-in-layout:not(.has-custom-login-background)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 35%,
            rgba(0, 210, 255, .15) 0%,
            transparent 30%),
        radial-gradient(circle at 80% 65%,
            rgba(0, 210, 255, .12) 0%,
            transparent 28%);
    animation: localrastGpsPulse 7s ease-in-out infinite alternate;
}

body.sign-in-layout .center-vertical {
    position: relative;
    z-index: 1;
}

@keyframes localrastGpsPulse {
    0% {
        opacity: .45;
        transform: scale(1);
    }
    100% {
        opacity: 1;
        transform: scale(1.06);
    }
}

@media (max-width: 767px) {
    body.sign-in-layout:not(.has-custom-login-background) {
        background-attachment: scroll;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sign-in-layout:not(.has-custom-login-background)::before {
        animation: none;
        transform: none;
    }
}

/* Fundo GPS exclusivo do domínio principal LocalRast */
body.sign-in-layout.localrast-gps-premium {
    background-color: #071522 !important;
    background-image: url('../../../images/background.gif?v=restaurado-20261018') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed;
}

/* Efeito luminoso animado */
body.sign-in-layout.localrast-gps-premium::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 35%, rgba(0, 210, 255, .15), transparent 30%),
        radial-gradient(circle at 80% 65%, rgba(0, 210, 255, .12), transparent 28%);
    animation: localrastGpsPulse 7s ease-in-out infinite alternate;
}

@media (max-width: 767px) {
    body.sign-in-layout.localrast-gps-premium {
        background-attachment: scroll;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sign-in-layout.localrast-gps-premium::before {
        animation: none;
    }
}
