/* ============================================================
   Fácil CMS — Admin Login v5
   Visible en Light y Dark
   ============================================================ */

.cms-login{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-primary)}
.cms-login-bg{position:fixed;inset:0;pointer-events:none;z-index:0}
.cms-orb{position:absolute;border-radius:50%;filter:blur(120px);animation:cms-float 20s ease-in-out infinite}
.cms-orb-1{width:40vw;height:40vw;background:#3b82f6;opacity:var(--orb-opacity);top:-20%;left:-10%}
.cms-orb-2{width:35vw;height:35vw;background:#8b5cf6;opacity:var(--orb-opacity);bottom:-15%;right:-10%;animation-delay:-7s}
.cms-orb-3{width:25vw;height:25vw;background:#ec4899;opacity:calc(var(--orb-opacity)*.7);top:30%;left:40%;animation-delay:-14s}
@keyframes cms-float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(3%,-2%) scale(1.05)}66%{transform:translate(-2%,3%) scale(.95)}}
.cms-grid-overlay{position:absolute;inset:0;background-image:radial-gradient(rgba(100,116,139,.12) 1px,transparent 1px);background-size:40px 40px;opacity:var(--grid-opacity)}

.cms-login-container{position:relative;z-index:1;display:flex;width:100%;max-width:1000px;min-height:580px;margin:2rem;border-radius:1.5rem;overflow:hidden;background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-primary);box-shadow:var(--shadow-lg),var(--shadow-glow)}

.cms-login-card{flex:1;padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center;min-width:0;background:var(--bg-card)}
.cms-login-header{text-align:center;margin-bottom:2rem}
.cms-brand-icon{font-size:2.5rem;margin-bottom:.5rem}
.cms-brand-name{
  font-size:1.75rem;font-weight:900;margin-bottom:.125rem;letter-spacing:-.03em;
  color:var(--accent-blue)
}
.cms-brand-tagline{
  font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase
}

.cms-field{margin-bottom:1rem}
.cms-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}
.cms-input-wrap{position:relative;display:flex;align-items:center}
.cms-input-icon{position:absolute;left:.875rem;font-size:.875rem;font-weight:700;color:var(--text-muted);pointer-events:none;z-index:1}
.cms-input{
  width:100%;padding:.75rem .875rem .75rem 2.5rem;
  background:var(--bg-tertiary);border:1px solid var(--border-primary);
  border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:inherit;
  outline:none;transition:all .2s
}
.cms-input::placeholder{color:var(--text-muted)}
.cms-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}

.cms-btn-primary{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.875rem 1.5rem;margin-top:.5rem;
  background:var(--accent-blue);border:none;
  border-radius:.875rem;color:#fff;font-size:.9375rem;font-weight:700;
  cursor:pointer;transition:all .25s;font-family:inherit;letter-spacing:.01em
}
.cms-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 25px rgba(37,99,235,.3)}
.cms-btn-primary:active{transform:translateY(0)}

.cms-error{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.15);border-radius:.625rem;color:#dc2626;font-size:.8125rem;font-weight:500;margin-top:.5rem}

.cms-divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0}
.cms-divider::before,.cms-divider::after{content:"";flex:1;height:1px;background:var(--border-primary)}
.cms-divider span{font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}

.cms-oauth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.cms-oauth-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem .5rem;border-radius:.625rem;border:1px solid var(--border-primary);background:var(--bg-card-hover);color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}
.cms-oauth-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}

.cms-login-footer{margin-top:1.5rem;text-align:center}
.cms-credential-hint{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.15);border-radius:2rem;font-size:.6875rem;font-weight:600;color:var(--accent-blue);margin-bottom:.75rem}
.cms-back-link{font-size:.75rem;font-weight:500;color:var(--text-tertiary);transition:color .15s}
.cms-back-link:hover{color:var(--text-primary)}

.cms-login-sidebar{width:380px;flex-shrink:0;display:flex;align-items:center;padding:3rem 2.5rem;background:var(--bg-secondary);border-left:1px solid var(--border-primary);position:relative;overflow:hidden}
.cms-sidebar-content{position:relative;z-index:1}
.cms-sidebar-content h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.02em}
.cms-sidebar-content>p{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}
.cms-feature-list{display:flex;flex-direction:column;gap:.5rem}
.cms-feature-item{font-size:.8125rem;color:var(--text-secondary);font-weight:500}

@media(max-width:800px){
  .cms-login-container{flex-direction:column;max-width:440px;margin:1rem}
  .cms-login-sidebar{display:none}
  .cms-login-card{padding:2rem 1.5rem}
}

/* --- Lang Switcher --- */
.cms-lang-bar{display:flex;justify-content:flex-end;gap:2px;margin-bottom:1rem}
.cms-lang-btn{padding:.25rem .5rem;border:1px solid var(--border-primary);background:var(--bg-card);border-radius:.25rem;color:var(--text-muted);font-size:.6875rem;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}
.cms-lang-btn:hover{color:var(--text-primary)}
.cms-lang-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}

/* --- Proper OAuth SVG Buttons --- */
.cms-oauth-svg{width:1.125rem;height:1.125rem;flex-shrink:0}
.cms-oauth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem}
.cms-oauth-google:hover{background:rgba(66,133,244,.08)}
.cms-oauth-github:hover{background:rgba(229,231,235,.08)}
.cms-oauth-microsoft:hover{background:rgba(0,164,239,.08)}
.cms-oauth-okta:hover{background:rgba(0,41,122,.08)}

/* --- Back button with color --- */
.cms-back-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--accent-blue);color:#fff;border-radius:.5rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .15s}
.cms-back-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}
.cms-oauth-badge{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.375rem;font-size:.6875rem;font-weight:800;flex-shrink:0}
.cms-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}
.provider-status{display:block;margin-top:.5rem;font-size:.75rem;font-weight:600}
