#recibo-empresa-app{min-height:100vh;position:relative}
#recibo-empresa-app .role-switch{display:none!important}
.recibo-login-required{max-width:560px;margin:4rem auto;padding:2rem;border:1px solid #dbe3ef;border-radius:16px;background:#fff;text-align:center}
.recibo-login-required a{display:inline-block;margin-top:1rem;padding:.75rem 1.2rem;border-radius:8px;background:#172a46;color:#fff;text-decoration:none}
.recibo-login-required .recibo-reset-link{margin:.8rem 0 0}.recibo-login-required .recibo-reset-link a{margin:0;padding:0;background:transparent;color:#2563eb}
.recibo-login-page{min-height:calc(100vh - 2rem);display:grid;place-items:center;padding:2rem 1rem;background:linear-gradient(145deg,#eef3f9 0%,#f8fafc 52%,#e8eef7 100%)}
.recibo-login-card{width:min(100%,430px);padding:2rem 2.1rem;border:1px solid #dce5f0;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(23,42,70,.14);font-family:Inter,Arial,sans-serif;color:#172a46}
.recibo-login-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:2rem}.recibo-login-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#172a46;color:#fff;font-weight:800}.recibo-login-brand div{display:flex;flex-direction:column}.recibo-login-brand strong{font-size:1rem}.recibo-login-brand small{margin-top:.15rem;color:#718096}
.recibo-login-heading h1{margin:0;font-size:1.75rem;line-height:1.2}.recibo-login-heading p{margin:.55rem 0 1.5rem;color:#64748b;font-size:.95rem}
.recibo-login-card form p{margin:0 0 1rem}.recibo-login-card form label{display:block;margin-bottom:.4rem;color:#334155;font-size:.88rem;font-weight:700}.recibo-login-card form input[type=text],.recibo-login-card form input[type=password]{box-sizing:border-box;width:100%;min-height:48px;padding:.75rem .9rem;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#172a46;font-size:1rem;outline:none}.recibo-login-card form input[type=text]:focus,.recibo-login-card form input[type=password]:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);background:#fff}
.recibo-login-card .login-remember label{display:flex;align-items:center;gap:.5rem;font-weight:500}.recibo-login-card .login-remember input{width:17px;height:17px;margin:0}.recibo-login-card .login-submit{margin-top:1.25rem}.recibo-login-card .button-primary{width:100%;min-height:48px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-size:.96rem;font-weight:750;cursor:pointer}.recibo-login-card .button-primary:hover{background:#1d4ed8}
.recibo-login-links{text-align:center;margin-top:.3rem}.recibo-login-links a{color:#2563eb;font-size:.9rem;font-weight:650;text-decoration:none}.recibo-login-links a:hover{text-decoration:underline}.recibo-login-security{margin:1.4rem 0 0;padding-top:1.1rem;border-top:1px solid #e8edf4;color:#94a3b8;font-size:.78rem;text-align:center}
@media(max-width:520px){.recibo-login-page{padding:1rem}.recibo-login-card{padding:1.5rem;border-radius:16px}}
body:has(#recibo-empresa-app) .site-header,body:has(#recibo-empresa-app) .site-footer{display:none}
body:has(#recibo-empresa-app){margin:0;background:#f4f7fb}
body:has(#recibo-empresa-app)>.wp-site-blocks>header,body:has(#recibo-empresa-app)>.wp-site-blocks>footer{display:none!important}
body:has(#recibo-empresa-app)>.wp-site-blocks>main{max-width:none!important;min-height:100vh!important;margin:0!important;padding:0!important}
body:has(#recibo-empresa-app) .wp-block-post-title{display:none!important}
body:has(#recibo-empresa-app) .entry-content,body:has(#recibo-empresa-app) .elementor,body:has(#recibo-empresa-app) .elementor-element{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.page:has(#recibo-empresa-app){display:block!important}
.recibo-login-card .button-primary:disabled{cursor:wait;opacity:.72}
.recibo-login-message{margin:.25rem 0 1rem;padding:.7rem .8rem;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#b42336;font-size:.86rem}
.recibo-login-card.shake{animation:recibo-login-shake .24s linear}
@keyframes recibo-login-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
