/* Solo aplicar estilos en página webpay */
body.webpayweb { background: #f0eef8 !important; }
body.webpayweb .login-cover-image { background-image: none !important; background: #f0eef8 !important; }
body.webpayweb .login-cover-bg { background: transparent !important; }

body.webpayweb * { font-family: 'Nunito', 'Segoe UI', sans-serif !important; box-sizing: border-box; }
body.webpayweb h1.page-header { display: none !important; }
body.webpayweb #content { margin-left: unset !important; width: calc(100% - 4rem) !important; max-width: 860px !important; margin: 2rem auto !important; padding: 0 !important; }
body.webpayweb .col-lg-6 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; margin: 0 auto !important; float: none !important; }
body.webpayweb .row { display: block !important; }
body.webpayweb .panel.panel-inverse { background: #fff !important; border-radius: 16px !important; border: none !important; box-shadow: 0 4px 24px rgba(91,33,182,0.10) !important; padding: 0 !important; overflow: hidden !important; width: 100% !important; }
body.webpayweb .panel-body { padding: 1.75rem 2rem 2rem !important; }
body.webpayweb .col-sm-12.text-center.m-b-20 { display: none !important; }
body.webpayweb img[src*="logo.png"] { display: none !important; }
body.webpayweb img[src*="webpay.png"] { display: none !important; }
body.webpayweb .row.m-b-15 { display: none !important; }
body.webpayweb .form-control { border: 1.5px solid #D1D5DB !important; border-radius: 10px !important; padding: 12px 16px !important; font-size: 15px !important; font-weight: 600 !important; background: #fff !important; height: auto !important; width: 100% !important; }
body.webpayweb .form-control:focus { border-color: #7C3AED !important; outline: none !important; }
body.webpayweb .text-warning { color: #D97706 !important; font-weight: 600 !important; font-size: 13px !important; text-align: center !important; display: block !important; margin: 1rem 0 0.5rem !important; }
body.webpayweb .text-danger { color: #4C1D95 !important; font-weight: 800 !important; font-size: 18px !important; display: block !important; text-align: center !important; margin: 1rem 0 !important; }
body.webpayweb #facturas-pagar { font-size: 13px !important; width: 100% !important; }
body.webpayweb #facturas-pagar thead tr { background: #F5F3FF !important; }
body.webpayweb #facturas-pagar thead th { color: #6B7280 !important; font-weight: 700 !important; font-size: 11px !important; text-transform: uppercase !important; padding: 10px 8px !important; }
body.webpayweb #facturas-pagar tbody td { font-weight: 600 !important; color: #374151 !important; border-bottom: 1px solid #F3F4F6 !important; padding: 10px 8px !important; }
body.webpayweb #facturas-pagar .btn { background: #5B21B6 !important; border: none !important; border-radius: 50px !important; font-size: 12px !important; font-weight: 700 !important; width: auto !important; padding: 6px 16px !important; margin: 0 !important; }
#sn-btn-ingresar { display: block !important; background: #5B21B6 !important; border: none !important; border-radius: 50px !important; padding: 12px 48px !important; font-size: 15px !important; font-weight: 800 !important; margin: 1rem auto 1.5rem !important; min-width: 200px !important; color: #fff !important; cursor: pointer !important; font-family: Nunito, sans-serif !important; }
#sn-footer { display: block !important; visibility: visible !important; max-width: 860px !important; width: calc(100% - 4rem) !important; margin: 2rem auto 2.5rem !important; padding: 0 !important; }
#sn-footer * { display: revert !important; }
#sn-footer h4 { font-size: 14px !important; margin-bottom: 1rem !important; display: block !important; }
#sn-footer p, #sn-footer span { font-size: 14px !important; margin-bottom: 8px !important; line-height: 1.6 !important; display: block !important; }

@media (max-width: 768px) {
    body.webpayweb #content, #sn-footer { width: calc(100% - 2rem) !important; margin: 1rem auto !important; }
    body.webpayweb .panel-body { padding: 1.25rem 1rem 1.5rem !important; }
}
@media (max-width: 480px) {
    body.webpayweb #content, #sn-footer { width: calc(100% - 1rem) !important; }
    #sn-btn-ingresar { width: 100% !important; max-width: 100% !important; }
}

/* Forzar visibilidad footer */
#sn-footer,
#sn-footer > div,
#sn-footer > div > div,
#sn-footer > div > div > div {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}
#sn-footer > div > div:first-child {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
}
#sn-footer h4, #sn-footer p, #sn-footer span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* Permitir que el body crezca */
body.webpayweb {
    height: auto !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
}
.webpayweb .login-cover {
    height: auto !important;
    min-height: 100vh !important;
}
.webpayweb .material-loader {
    height: auto !important;
    position: relative !important;
}

/* Permitir que el body crezca */
body.webpayweb {
    height: auto !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
}
.webpayweb .login-cover {
    height: auto !important;
    min-height: 100vh !important;
}
.webpayweb .material-loader {
    height: auto !important;
    position: relative !important;
}

/* Permitir scroll y mostrar footer */
body.webpayweb .material-loader {
    overflow: visible !important;
    height: auto !important;
    min-height: 100vh !important;
}
body.webpayweb #content {
    overflow: visible !important;
}

/* Permitir que login-cover crezca con el footer */
body.webpayweb .login-cover {
    height: auto !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding-bottom: 2rem !important;
}

/* Footer una columna en móvil */
@media (max-width: 768px) {
    #sn-footer > div > div:first-child,
    #sn-footer div[style*="grid-template-columns"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
    }
}
@import url("/css/custom/smartnet-rounded.css");

/* SMARTNET — Bordes redondeados */
.widget.widget-stats{border-radius:16px!important;overflow:hidden!important;}
.panel{border-radius:16px!important;overflow:hidden!important;}
.panel-heading{border-radius:16px 16px 0 0!important;}
.panel-footer{border-radius:0 0 16px 16px!important;}
.box{border-radius:16px!important;overflow:hidden!important;}
.card{border-radius:16px!important;overflow:hidden!important;}
.info-box{border-radius:12px!important;overflow:hidden!important;}
.small-box{border-radius:16px!important;overflow:hidden!important;}
.list-group-item:last-child{border-radius:0 0 16px 16px!important;}
.list-group-item:first-child{border-radius:0!important;}
.panel>.table-responsive{border-radius:0 0 16px 16px!important;overflow:hidden!important;}
.modal-content{border-radius:18px!important;}
.modal-header{border-radius:18px 18px 0 0!important;}
.modal-footer{border-radius:0 0 18px 18px!important;}
.dropdown-menu{border-radius:12px!important;}
.btn{border-radius:8px!important;}
.btn-circle{border-radius:50%!important;}
.form-control{border-radius:8px!important;}
.badge{border-radius:99px!important;}
.alert{border-radius:10px!important;}
.navbar-form .form-control{border-radius:99px!important;}

/* ===== SMARTNET Login centrado ===== */
body#portal-cliente .login.login-with-news-feed .news-feed {
    display: none !important;
}
body#portal-cliente .login.login-with-news-feed .right-content {
    width: 100% !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
    background-image: url('../admin/images/login-bg/login-bg-4.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}
body#portal-cliente .login.login-with-news-feed .login-header {
    width: 380px !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 28px 36px 16px 36px !important;
    background: rgba(255,255,255,0.97) !important;
}
body#portal-cliente .login.login-with-news-feed .login-content {
    width: 380px !important;
    border-radius: 0 0 16px 16px !important;
    padding: 20px 36px 32px 36px !important;
    background: rgba(255,255,255,0.97) !important;
    box-shadow: 0 25px 60px rgba(0,0,0,0.4) !important;
}
body#portal-cliente .login .btn-primary {
    background: #5B2D8E !important;
    border-color: #5B2D8E !important;
}
