/* ChileSST · tema de acceso «premium» (Keycloak, piloto local).
   Mismo sistema visual que la landing y el dashboard: navy/azul/cian,
   DM Sans + Space Grotesk, tarjetas con borde luminoso y emblema de la Comunidad. */
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-latin.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-latin-ext.woff2') format('woff2');font-weight:400 800;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Space Grotesk';src:url('../fonts/space-grotesk-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--navy:#071b36;--navy-700:#0a2d54;--blue:#185adb;--blue-600:#1554c3;--cyan:#36c8ff;--cyan-300:#8fe3ff;--teal:#2dbbad;--ink:#0a1a33;--text:#22364f;--muted:#5a6b80;--line:#dbe6f2;--soft:#f4f7fb;
 --grad-btn:linear-gradient(100deg,#185adb 0%,#2b8af0 50%,#36c8ff 100%);--ease:cubic-bezier(.2,.7,.3,1);
 --pf-global--primary-color--100:#185adb;--pf-global--primary-color--200:#1554c3;--pf-global--Color--100:#0a1a33;--pf-global--BackgroundColor--100:#fff;--pf-global--FontFamily--sans-serif:'DM Sans',system-ui,sans-serif}
html.login-pf{background:var(--soft)!important;min-height:100%}
.login-pf body{margin:0;min-height:100vh;background:radial-gradient(70% 60% at 85% 0%,#e3f1ff 0%,var(--soft) 60%)!important;color:var(--text);font-family:'DM Sans',system-ui,sans-serif!important;-webkit-font-smoothing:antialiased}
.login-pf-page{display:flex;flex-direction:column;justify-content:center;min-height:100vh;margin:0;padding:56px 6% 40px calc(46% + 6%);width:100%;box-sizing:border-box}
#kc-header{margin:0 auto 22px;padding:0;width:100%;max-width:460px}
#kc-header-wrapper{height:44px;padding:0;margin:0;font-size:0;background:url('../img/mark.svg') no-repeat left center/44px 44px}
.login-pf-page .card-pf{position:relative;margin:0 auto;width:100%;max-width:460px;padding:34px 36px 26px;border:1px solid var(--line);border-radius:26px;background:#fff;color:var(--ink);box-shadow:0 30px 60px -24px rgba(7,27,54,.28),0 12px 24px -10px rgba(7,27,54,.1);animation:cs-in .6s var(--ease) both;isolation:isolate}
.login-pf-page .card-pf::before{content:'';position:absolute;inset:-1.5px;z-index:-1;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a,0deg),rgba(54,200,255,0) 0deg,rgba(54,200,255,.85) 60deg,rgba(24,90,219,.85) 120deg,rgba(54,200,255,0) 200deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:cs-border 7s linear infinite}
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes cs-border{to{--a:360deg}}
@keyframes cs-in{from{opacity:0}to{opacity:1}}
.login-pf-page .login-pf-header{margin-bottom:22px}
#kc-page-title{margin:0 0 6px;font:700 30px/1.12 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.035em;color:var(--ink);text-align:left}
.login-pf-page .subtitle{margin:0 0 12px;text-align:left;font-size:12px;color:var(--muted)}
.login-pf-page .col-md-10,.login-pf-page .col-xs-12{width:100%;padding:0}
.login-pf-page label,.login-pf-page .pf-c-form__label,.login-pf-page .control-label{color:#24496b;font-size:13px;font-weight:700}
.login-pf-page .form-group,.login-pf-page .pf-c-form__group{margin-bottom:18px}
.login-pf-page input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.login-pf-page select{min-height:50px;width:100%;padding:11px 14px;border:1.5px solid #cfdcea;border-radius:12px;background:#fff;color:var(--ink);font:400 16px 'DM Sans',system-ui,sans-serif;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.login-pf-page input:focus,.login-pf-page select:focus{outline:none!important;border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(24,90,219,.15)!important}
.login-pf-page input[aria-invalid=true]{border-color:#d92d20!important}
.login-pf-page .pf-c-button.pf-m-primary,.login-pf-page input[type=submit],.login-pf-page .btn-primary{position:relative;overflow:hidden;min-height:52px;width:100%;border:0!important;border-radius:999px!important;background:var(--grad-btn)!important;background-size:180% 100%!important;color:#fff!important;font:700 15px 'DM Sans',system-ui,sans-serif!important;box-shadow:0 12px 26px -12px rgba(24,90,219,.8)!important;cursor:pointer;transition:transform .2s,box-shadow .2s,background-position .3s}
.login-pf-page .pf-c-button.pf-m-primary:hover,.login-pf-page input[type=submit]:hover{transform:translateY(-2px);background-position:100% 0!important;box-shadow:0 16px 30px -12px rgba(54,200,255,.75)!important}
.login-pf-page .pf-c-button.pf-m-control{border-radius:0 12px 12px 0;background:#eef4fb;color:var(--blue);border-color:#cfdcea}
.login-pf-page a{color:var(--blue);font-weight:600}
.login-pf-page a:hover{text-decoration:underline}
.login-pf-page :focus-visible{outline:3px solid var(--cyan)!important;outline-offset:3px}
#kc-form-options{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px;font-size:13.5px}
#kc-form-options .checkbox,#kc-form-options .checkbox label{color:var(--muted);font-weight:500}
#kc-info-wrapper{margin:20px -36px -26px;padding:18px 36px;border-top:1px solid var(--line);border-radius:0 0 26px 26px;background:linear-gradient(180deg,#f8fbff,#f1f6fc);color:var(--muted);font-size:14px}
.login-pf-page .alert,.login-pf-page .pf-c-alert{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border:0;border-radius:12px;font-size:14px;line-height:1.45}
.login-pf-page .alert-error,.login-pf-page .pf-c-alert.pf-m-danger{background:#fdecea;color:#912018}
.login-pf-page .alert-warning,.login-pf-page .pf-c-alert.pf-m-warning{background:#fff4dd;color:#7a4b12}
.login-pf-page .alert-success,.login-pf-page .pf-c-alert.pf-m-success{background:#e5f7f1;color:#0e6b5e}
.login-pf-page .alert-info,.login-pf-page .pf-c-alert.pf-m-info{background:#e9f1fd;color:#1554c3}
.login-pf-page .pf-c-alert__title,.login-pf-page .kc-feedback-text{font-weight:600}
#kc-error-message .instruction,#kc-info-message .instruction{font-size:16px;color:var(--text)}
#kc-error-message a,#kc-info-message a{display:inline-flex;margin-top:16px;padding:12px 22px;border-radius:999px;background:var(--grad-btn);color:#fff!important;text-decoration:none!important}
/* Panel de marca */
.cs-auth-story{position:fixed;inset:0 auto 0 0;width:46%;overflow:hidden;display:flex;flex-direction:column;gap:28px;padding:44px 5.5%;box-sizing:border-box;background:radial-gradient(120% 90% at 0% 0%,#0f4a86 0%,#0a2d54 45%,#061529 100%);color:#fff;isolation:isolate}
.cs-auth-aurora{position:absolute;inset:-30%;z-index:-1;background:radial-gradient(35% 30% at 75% 25%,rgba(54,200,255,.3),transparent 70%),radial-gradient(30% 28% at 20% 85%,rgba(45,187,173,.22),transparent 70%);animation:cs-aurora 18s ease-in-out infinite alternate}
@keyframes cs-aurora{to{transform:translate(6%,-5%) rotate(10deg)}}
.cs-auth-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;font:700 22px/1 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.02em;text-decoration:none!important}
.cs-auth-brand b{color:var(--cyan-300)}
.cs-auth-copy{max-width:470px}
.cs-auth-eyebrow{font:800 11px/1 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-300)}
.cs-auth-copy h2{margin:14px 0 12px;font:700 clamp(30px,3vw,44px)/1.06 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.04em;color:#fff}
.cs-auth-copy h2 em{font-style:normal;background:linear-gradient(90deg,#8fe3ff,#36c8ff 55%,#6aa9ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-auth-copy p{margin:0;font-size:16px;line-height:1.6;color:#c3d3e6}
.cs-auth-orbit{position:relative;flex:1;min-height:220px;max-height:340px}
.cs-auth-orbit .ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}
.cs-auth-orbit .r1{width:min(320px,80%);aspect-ratio:1/.78;border:1.5px dashed rgba(143,227,255,.3);animation:cs-spin 60s linear infinite}
.cs-auth-orbit .r2{width:min(220px,56%);aspect-ratio:1/.8;border:1.5px solid rgba(54,200,255,.3);animation:cs-spin 40s linear infinite reverse}
@keyframes cs-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.cs-auth-orbit .core{position:absolute;left:50%;top:50%;width:132px;height:132px;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 36px rgba(0,0,0,.45));animation:cs-float 6s ease-in-out infinite}
@keyframes cs-float{50%{transform:translate(-50%,calc(-50% - 8px))}}
.cs-auth-orbit .chip{position:absolute;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(143,227,255,.25);font-size:13px;font-weight:700;color:#e6f2fb;backdrop-filter:blur(4px)}
.cs-auth-orbit .c1{left:50%;top:2%;transform:translateX(-50%)}.cs-auth-orbit .c2{right:6%;top:42%}.cs-auth-orbit .c3{left:50%;bottom:2%;transform:translateX(-50%)}.cs-auth-orbit .c4{left:6%;top:42%}
.cs-auth-points{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:14px;color:#dce8f4}
.cs-auth-points li{display:flex;align-items:center;gap:10px}
.cs-auth-points li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(54,200,255,.2)}
.cs-auth-footer{max-width:460px;width:100%;margin:22px auto 0;font-size:12.5px;color:var(--muted)}
.cs-auth-footer p{margin:0 0 8px}
.cs-auth-footer nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.cs-auth-footer a{color:var(--blue);font-weight:600}
/* Móvil y tableta: el panel de marca pasa a una banda superior compacta. */
@media (max-width:960px){
 .login-pf-page{padding:20px 16px 32px}
 .login-pf-page .card-pf{display:flex;flex-direction:column;overflow:hidden}
 .cs-auth-story{position:relative;inset:auto;width:auto;margin:-26px -22px 22px;padding:22px 22px 24px;gap:12px;order:-1}
 .login-pf-page .login-pf-header{order:0}#kc-content{order:1}.cs-auth-footer{order:2}
 .cs-auth-orbit,.cs-auth-points{display:none}
 .cs-auth-copy h2{font-size:28px;margin:10px 0 8px}
 .cs-auth-copy p{font-size:14.5px}
 #kc-header{display:none}
 .login-pf-page .card-pf{padding:26px 22px 20px}
 #kc-info-wrapper{margin:18px -22px -20px;padding:16px 22px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Ajustes sobre el CSS base de Keycloak 26 */
#kc-info-wrapper{margin:18px 0 0!important;padding:16px 0 0!important;border-radius:0!important;background:none!important;text-align:center}
#kc-info{margin:0;padding:0;background:none}
.cs-auth-story .cs-auth-copy p{color:#c3d3e6!important}
.cs-auth-story .cs-auth-points li{color:#dce8f4!important}
.login-pf-page .row,.login-pf-page .form-group{margin-left:0!important;margin-right:0!important}
.login-pf-page .form-group>div,.login-pf-page [class*=col-]{padding-left:0!important;padding-right:0!important}
.login-pf-page .required,.login-pf-page .subtitle .required{color:#d92d20}