/* SGS Los Comuneros 1.1.2 - Login aislado. Ninguna regla sale de #sgs-auth-root. */
html { min-height: 100%; }
body.auth-body {
  min-height: 100vh !important;
  width: 100% !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #052b47 !important;
}
#sgs-auth-root,
#sgs-auth-root * { box-sizing: border-box; }
#sgs-auth-root.sgs-auth {
  --sgs-blue: #073d70;
  --sgs-blue-2: #0b5c92;
  --sgs-cyan: #1687bd;
  --sgs-green: #3f8c4d;
  --sgs-text: #172033;
  --sgs-muted: #66758a;
  --sgs-border: #d8e1ea;
  width: 100%;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px 16px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  color: var(--sgs-text);
  background:
    radial-gradient(circle at 10% 20%, rgba(22,135,189,.35), transparent 31%),
    radial-gradient(circle at 90% 83%, rgba(230,0,126,.12), transparent 30%),
    linear-gradient(145deg, #041f34 0%, #073d70 56%, #09628b 100%);
}
#sgs-auth-root.sgs-auth::before,
#sgs-auth-root.sgs-auth::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.1);
  pointer-events: none;
}
#sgs-auth-root.sgs-auth::before { width: 520px; height: 520px; left: -290px; bottom: -300px; }
#sgs-auth-root.sgs-auth::after { width: 420px; height: 420px; right: -240px; top: -250px; }
#sgs-auth-root .sgs-auth__card {
  width: min(100%, 430px);
  padding: 32px 34px 24px;
  background: #fff;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 18px;
  box-shadow: 0 26px 70px rgba(1,19,35,.34);
}
#sgs-auth-root .sgs-auth__brand { text-align: center; }
#sgs-auth-root .sgs-auth__official-logo { display:block; width:96px; height:96px; object-fit:contain; margin:0 auto 12px; image-rendering:auto; }
#sgs-auth-root .sgs-auth__logo {
  width: 70px; height: 70px; margin: 0 auto 15px; padding: 4px;
  display: grid; grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(3,1fr); gap: 3px;
  transform: rotate(45deg); border-radius: 13px; overflow: hidden; background: #fff;
  box-shadow: 0 8px 24px rgba(7,61,112,.18);
}
#sgs-auth-root .sgs-auth__tile { display: block; border-radius: 3px; }
#sgs-auth-root .sgs-auth__tile--yellow { background:#ffd100; }
#sgs-auth-root .sgs-auth__tile--green { background:#93c01f; }
#sgs-auth-root .sgs-auth__tile--navy { background:#073d70; }
#sgs-auth-root .sgs-auth__tile--white { background:#fff; border:1px solid #e2e8f0; }
#sgs-auth-root .sgs-auth__tile--cyan { background:#1687bd; }
#sgs-auth-root .sgs-auth__tile--pink { background:#e6007e; }
#sgs-auth-root .sgs-auth__eyebrow { margin:0 0 2px; color:var(--sgs-green); font-size:10px; font-weight:800; letter-spacing:1.35px; }
#sgs-auth-root .sgs-auth__brand h1 { margin:0; color:var(--sgs-blue); font-size:25px; line-height:1.15; font-weight:900; letter-spacing:-.25px; }
#sgs-auth-root .sgs-auth__subtitle { margin:7px auto 0; max-width:300px; color:var(--sgs-muted); font-size:12px; line-height:1.4; }
#sgs-auth-root .sgs-auth__messages { margin-top:18px; }
#sgs-auth-root .sgs-auth__alert { margin-top:8px; padding:10px 12px; border:1px solid; border-radius:9px; font-size:12px; line-height:1.35; }
#sgs-auth-root .sgs-auth__alert--danger { color:#9f1239; background:#fff1f2; border-color:#fecdd3; }
#sgs-auth-root .sgs-auth__alert--info { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; }
#sgs-auth-root .sgs-auth__form { margin-top:21px; }
#sgs-auth-root .sgs-auth__field { margin:0 0 14px; }
#sgs-auth-root .sgs-auth__field > label { display:block; margin:0 0 6px; color:#334155; font-size:11px; line-height:1.2; font-weight:800; }
#sgs-auth-root .sgs-auth__control {
  width:100%; min-height:48px; display:flex; align-items:center; overflow:hidden;
  border:1px solid var(--sgs-border); border-radius:9px; background:#f8fafc;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
#sgs-auth-root .sgs-auth__control:focus-within { border-color:var(--sgs-cyan); background:#fff; box-shadow:0 0 0 3px rgba(22,135,189,.12); }
#sgs-auth-root .sgs-auth__control.is-invalid { border-color:#e11d48; box-shadow:0 0 0 3px rgba(225,29,72,.08); }
#sgs-auth-root .sgs-auth__icon { width:45px; height:46px; flex:0 0 45px; display:grid; place-items:center; color:var(--sgs-cyan); border-right:1px solid #e2e8f0; }
#sgs-auth-root .sgs-auth__icon svg,
#sgs-auth-root .sgs-auth__password-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
#sgs-auth-root .sgs-auth__control input {
  appearance:none; -webkit-appearance:none; width:100%; min-width:0; height:46px; margin:0 !important; padding:0 12px !important;
  border:0 !important; border-radius:0 !important; outline:0 !important; box-shadow:none !important;
  background:transparent !important; color:#0f172a !important; font:400 13px/1.2 "Segoe UI",system-ui,sans-serif !important;
}
#sgs-auth-root .sgs-auth__control input::placeholder { color:#94a3b8; opacity:1; }
#sgs-auth-root .sgs-auth__password-toggle {
  appearance:none; width:44px; height:46px; flex:0 0 44px; display:grid; place-items:center;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:transparent !important; color:#64748b; box-shadow:none !important; cursor:pointer;
}
#sgs-auth-root .sgs-auth__password-toggle:hover { color:var(--sgs-blue); }
#sgs-auth-root .sgs-eye-closed { display:none; }
#sgs-auth-root .sgs-auth__password-toggle[aria-pressed="true"] .sgs-eye-open { display:none; }
#sgs-auth-root .sgs-auth__password-toggle[aria-pressed="true"] .sgs-eye-closed { display:block; }
#sgs-auth-root .sgs-auth__field-error { min-height:15px; margin:4px 2px 0; color:#be123c; font-size:10px; line-height:1.2; }
#sgs-auth-root .sgs-auth__submit {
  appearance:none; width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; gap:9px;
  margin:3px 0 0 !important; padding:0 16px !important; border:0 !important; border-radius:9px !important;
  background:linear-gradient(180deg,#0b5c92,#064678) !important; color:#fff !important;
  font:900 12px/1 "Segoe UI",system-ui,sans-serif !important; letter-spacing:1px; cursor:pointer;
  box-shadow:0 8px 18px rgba(7,61,112,.22) !important; transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
#sgs-auth-root .sgs-auth__submit:hover:not(:disabled) { transform:translateY(-1px); filter:brightness(1.05); box-shadow:0 10px 22px rgba(7,61,112,.30) !important; }
#sgs-auth-root .sgs-auth__submit:disabled { opacity:.72; cursor:wait; }
#sgs-auth-root .sgs-auth__spinner { display:none; width:16px; height:16px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:sgs-spin .7s linear infinite; }
#sgs-auth-root .sgs-auth__submit.is-loading .sgs-auth__spinner { display:block; }
@keyframes sgs-spin { to { transform:rotate(360deg); } }
#sgs-auth-root .sgs-auth__security { margin-top:15px; padding:9px 10px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid #edf2f7; border-radius:8px; background:#f8fafc; color:#64748b; font-size:10.5px; }
#sgs-auth-root .sgs-auth__status { width:7px; height:7px; border-radius:50%; background:#16a34a; box-shadow:0 0 0 3px rgba(22,163,74,.11); }
#sgs-auth-root .sgs-auth__footer { margin-top:17px; padding-top:13px; display:flex; justify-content:space-between; gap:10px; border-top:1px solid #edf2f7; color:#94a3b8; font-size:9.5px; }
#sgs-auth-root .sgs-auth__footer strong { color:#526072; font-size:10px; }
@media (max-width:520px) {
  #sgs-auth-root.sgs-auth { padding:16px 11px; }
  #sgs-auth-root .sgs-auth__card { padding:27px 20px 21px; border-radius:15px; }
  #sgs-auth-root .sgs-auth__logo { width:62px; height:62px; }
  #sgs-auth-root .sgs-auth__brand h1 { font-size:22px; }
  #sgs-auth-root .sgs-auth__footer { flex-direction:column; align-items:center; text-align:center; }
}
@media (max-height:650px) and (min-width:521px) {
  #sgs-auth-root.sgs-auth { place-items:start center; }
  #sgs-auth-root .sgs-auth__card { margin:14px 0; }
}
