/* AnnualPOS · Login premium v3.0 (Web). Se carga después del <style> de la página. */
:root{--ap3-grad-main:linear-gradient(100deg,#4f46e5,#4d6bff);--ap3-grad-night:linear-gradient(135deg,#14134f 0%,#2e2a9a 58%,#5b3bd6 100%);--ap3-ease:cubic-bezier(.22,.8,.26,1);--ap-primary:#4f46e5;--ap-primary-2:#4d6bff;--ap-primary-dark:#3b34c4;--ap-ink:#161d36;--ap-muted:#667089;--ap-line:#e7ebf5}
html,body{font-family:'Inter','Poppins',system-ui,sans-serif !important}
h1,.btn-login,.metric-title,.form-label,.visual-caption span{font-family:'Poppins','Inter',system-ui,sans-serif !important}
body{background:radial-gradient(circle at 12% 14%,rgba(139,123,255,.30),transparent 32%),radial-gradient(circle at 90% 82%,rgba(103,232,249,.22),transparent 34%),linear-gradient(180deg,#fff 0%,#f7f8ff 60%,#eef0ff 100%) !important}
body::before{background:#8b7bff !important;opacity:.22 !important;filter:blur(70px) !important;animation:ap3l-float 15s ease-in-out infinite}
body::after{background:#67e8f9 !important;opacity:.2 !important;filter:blur(70px) !important;animation:ap3l-float 17s ease-in-out infinite reverse}
@keyframes ap3l-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-26px,0)}}
.login-stage{background:#fff !important;border:1px solid var(--ap-line);border-radius:32px !important;padding:12px !important;box-shadow:0 40px 80px -36px rgba(40,50,140,.45) !important}
.login-stage::before{display:none !important}
.login-card{background:transparent !important;box-shadow:none !important;padding:0 !important;gap:14px !important}
/* panel visual oscuro de marca */
.login-visual{background:var(--ap3-grad-night) !important;border-radius:24px !important;position:relative;overflow:hidden}
.login-visual::before{content:"";position:absolute;right:-70px;top:-90px;width:320px;height:320px;border-radius:50%;background:rgba(139,123,255,.45);filter:blur(70px)}
.login-visual::after{content:"";position:absolute;left:-90px;bottom:-110px;width:300px;height:300px;border-radius:50%;background:rgba(103,232,249,.28);filter:blur(70px)}
.visual-canvas{position:relative;z-index:1}
.brand-circle{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.28) !important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 60px -24px rgba(0,0,40,.6) !important}
.brand-circle img{opacity:1 !important;filter:none !important}
.metric-card{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.24) !important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 48px -24px rgba(0,0,40,.55) !important;color:#fff !important;border-radius:20px !important}
.metric-title,.metric-value{color:#fff !important}
.metric-subtitle{color:#c9d0f0 !important}
.metric-growth{color:#34e0a1 !important;font-weight:800}
.mini-bars span{background:linear-gradient(180deg,#a5b4ff,#4d6bff) !important}
.visual-caption span{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.24) !important;color:#fff !important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.visual-caption span i{color:#a5b4ff !important}
/* panel del formulario */
.login-form-panel{background:#fff !important;border:1px solid var(--ap-line);border-radius:24px !important}
.brand-logo img{height:46px !important;width:auto !important}
.form-copy h1{font-weight:700 !important;letter-spacing:-.05em !important;color:var(--ap-ink) !important}
.form-copy p{color:var(--ap-muted) !important}
.licencia-info{background:#d9fbea !important;color:#076b4c !important;border:1px solid #b6f0d3 !important;border-radius:14px !important}
.licencia-warning{background:#fff4d6 !important;color:#9a4507 !important;border:1px solid #ffe29a !important;border-radius:14px !important}
.alert-danger{background:#ffe4ea !important;color:#c01140 !important;border:1px solid #ffc2d0 !important;border-radius:14px !important}
.form-label{color:#3a4366 !important;font-weight:600 !important}
.form-control{border:1.5px solid #7f88bd !important;border-radius:12px !important;background:#fff !important;font-family:'Inter',system-ui,sans-serif !important;transition:border-color .2s,box-shadow .2s !important}
.form-control:focus{border-color:#4f46e5 !important;box-shadow:0 0 0 3px rgba(79,70,229,.25) !important;outline:0 !important}
.form-input-wrapper i{color:#4f46e5 !important}
.btn-login{background:var(--ap3-grad-main) !important;border:0 !important;border-radius:14px !important;font-weight:700 !important;box-shadow:0 14px 28px -12px rgba(79,70,229,.8) !important;transition:transform .25s var(--ap3-ease),box-shadow .25s var(--ap3-ease),filter .25s !important}
.btn-login:hover{transform:translateY(-3px);box-shadow:0 22px 36px -14px rgba(79,70,229,.9) !important;filter:brightness(1.06)}
.btn-login:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(79,70,229,.4) !important}
.login-card>*{animation:ap3l-in .7s var(--ap3-ease) both}.login-form-panel{animation-delay:.08s}
@keyframes ap3l-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (max-width:900px){.login-stage{border-radius:24px !important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
