.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f3c31,#1d604e);padding:24px}.auth-shell{width:min(880px,100%);display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #06231b66}.auth-shell.single{grid-template-columns:1fr;max-width:580px}.auth-brand{padding:56px 42px;background:#123f34;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-logo{width:66px;height:66px;display:grid;place-items:center;border-radius:18px;background:#d4ee69;color:#123f34;font:800 22px Manrope;margin-bottom:28px}.auth-brand p{font:800 30px Manrope;margin:0}.auth-brand strong{color:#d4ee69;font:700 18px Manrope}.auth-brand small{color:#b9d0c5;margin-top:18px;line-height:1.5}.auth-card{padding:52px 46px}.auth-card h1{margin-bottom:12px}.auth-card form{margin-top:26px}.auth-help{color:#667d74;line-height:1.55}.auth-error{padding:11px 13px;margin-top:16px;border:1px solid #efb9b9;border-radius:8px;background:#fff0f0;color:#8d2e2e;font-size:13px}.auth-card button{width:100%;margin-top:8px}.session-user{display:block;padding:14px 8px 8px;color:#cce0d5;font-size:12px}.logout-form{margin:0;padding:0 8px}.logout-form button{width:100%;padding:9px;background:transparent;border:1px solid #4e796b;color:#d7e8df;font-size:12px}.logout-form button:hover{background:#28604f}
.auth-page::before{content:'AS';position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding-bottom:58px;background:#123f34;color:#d4ee69;font:800 42px Manrope;letter-spacing:2px;pointer-events:none;animation:login-curtain 1.35s cubic-bezier(.7,0,.3,1) forwards}.auth-page::after{content:'Cargando acceso seguro';position:fixed;z-index:51;left:50%;top:calc(50% + 28px);width:190px;margin-left:-95px;padding-top:30px;text-align:center;color:#d7e8df;font-size:12px;letter-spacing:.7px;background:radial-gradient(farthest-side,#d4ee69 94%,transparent) top/8px 8px no-repeat;pointer-events:none;animation:loader-dot .65s ease-in-out infinite alternate,login-fade 1.35s ease forwards}.auth-shell{opacity:0;animation:login-card .55s ease-out .88s forwards}.auth-logo{animation:logo-pulse 2.4s ease-in-out 1.35s infinite}@keyframes login-curtain{0%,62%{opacity:1;clip-path:inset(0)}100%{opacity:0;clip-path:inset(0 0 100% 0);visibility:hidden}}@keyframes login-fade{0%,62%{opacity:1}100%{opacity:0;visibility:hidden}}@keyframes loader-dot{from{background-size:8px 8px;transform:translateY(0)}to{background-size:14px 14px;transform:translateY(-4px)}}@keyframes login-card{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes logo-pulse{0%,100%{box-shadow:0 0 0 0 #d4ee6940}50%{box-shadow:0 0 0 10px #d4ee6900}}
@media(max-width:700px){.auth-shell{grid-template-columns:1fr}.auth-brand{padding:28px}.auth-logo{margin-bottom:14px}.auth-card{padding:34px 28px}}@media(prefers-reduced-motion:reduce){.auth-page::before,.auth-page::after{display:none}.auth-shell{opacity:1;animation:none}.auth-logo{animation:none}}
.auth-logo{width:100%;max-width:300px;height:145px;border-radius:0;background:transparent url('assets/company-logo.png') center/contain no-repeat;color:transparent;margin-bottom:16px}.auth-brand p,.auth-brand>strong{display:none}.auth-page::before{content:'';padding:0;background:#123f34 url('assets/company-logo.png') center/300px auto no-repeat}.brand>span{width:76px;height:46px;border-radius:8px;background:#fff url('assets/company-logo.png') center/70px auto no-repeat;color:transparent;flex:0 0 76px}.page-inicio>header::before{content:'';width:190px;height:64px;background:url('assets/company-logo.png') center/contain no-repeat;flex:0 0 190px}@media(max-width:900px){.page-inicio>header::before{display:none}.brand>span{width:68px;flex-basis:68px;background-size:62px auto}}
.auth-logo{background-color:#fff;border-radius:14px;box-shadow:0 10px 28px #09251d40}.auth-page::before{background-color:#fff}.auth-page::after{color:#123f34}
.back-to-public{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;padding:10px;border:1px solid #d7e5de;border-radius:8px;color:#28604f;font-size:13px;font-weight:700;text-decoration:none;transition:.2s ease}.back-to-public:hover{border-color:#8db6a5;background:#f1f7f4;color:#123f34;transform:translateY(-1px)}
