/* CAIO HUB | acesso independente. Layout privado, sem dependencias externas. */
.auth-gateway[hidden],.app-shell[hidden]{display:none!important}
.auth-gateway{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);background:#f6f4ee;color:#132b35;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.auth-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;overflow:hidden;gap:64px;padding:clamp(30px,5vw,76px);background:linear-gradient(152deg,#132b35 0%,#103e42 65%,#086c64 100%);color:#f6f4ee}
.auth-story:before,.auth-story:after{position:absolute;content:"";z-index:-1;pointer-events:none;border-radius:50%}
.auth-story:before{width:min(55vw,570px);aspect-ratio:1;border:1px solid rgba(255,255,255,.15);right:-205px;top:17%}
.auth-story:after{width:300px;aspect-ratio:1;border:65px solid rgba(255,255,255,.035);bottom:-160px;left:-105px}
.auth-brand{align-self:flex-start;display:flex;align-items:center;background:#fffefa;padding:13px 17px;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.auth-brand img{display:block;width:clamp(134px,13vw,194px);height:64px;object-fit:contain}
.auth-story-content{max-width:600px}
.auth-kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#a8e6d4}
.auth-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#90d7ba}
.auth-story h1{font-size:clamp(40px,5vw,76px);line-height:1.06;font-weight:700;letter-spacing:-.055em;margin:20px 0 22px;max-width:550px;color:#fff}
.auth-story-lead{max-width:485px;font-size:clamp(16px,1.5vw,19px);line-height:1.7;color:#d2e8e2;margin:0}
.auth-story-steps{list-style:none;display:grid;gap:13px;padding:26px 0 0;margin:0}
.auth-story-steps li{display:flex;align-items:center;gap:12px;color:#e6f5ed;font-size:13px;line-height:1.5}
.auth-story-steps li:before{content:"";width:9px;height:9px;border:2px solid #8ed7b7;border-radius:50%;flex:none}
.auth-story-foot{font-size:12px;color:#b9d4cd;line-height:1.5}
.auth-entry{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:clamp(28px,5vw,72px) clamp(20px,5vw,86px)}
.auth-entry-inner{width:min(100%,470px)}
.auth-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.auth-entry-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#08756d}
.auth-private-pill{font-size:11px;color:#15594f;background:#e5f1eb;padding:8px 11px;border-radius:100px;font-weight:700}
.auth-entry .session-panel{display:block!important;background:#fff;border:1px solid #dbe4df;border-radius:18px;padding:clamp(26px,3vw,42px);box-shadow:0 12px 40px rgba(19,43,53,.065);max-width:none;width:100%;margin:0;min-height:0}
.auth-entry .panel-title{display:block;margin:0 0 28px;padding:0;border:0}
.auth-entry .panel-index{display:none}
.auth-entry .panel-title h2{font-size:clamp(25px,2.6vw,34px);line-height:1.15;letter-spacing:-.04em;margin:0 0 10px;color:#132b35}
.auth-entry #session-detail{margin:0;line-height:1.6;font-size:14px;color:#52646b}
.auth-entry .session-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.auth-entry .session-form>div{min-width:0;display:grid;gap:7px}
.auth-entry label{font-size:13px;font-weight:700;color:#243f45}
.auth-entry input{width:100%;max-width:none;min-height:48px;padding:12px 14px;border-radius:9px;border:1px solid #cbd8d1;background:#fff;color:#132b35;font:inherit;line-height:1.4;box-shadow:none}
.auth-entry input:focus-visible{outline:3px solid rgba(8,117,109,.24);outline-offset:2px;border-color:#08756d}
.auth-entry button.primary{width:100%;max-width:none;min-height:49px;border-radius:9px;background:#08756d;color:#fff;font-weight:700;margin-top:4px}
.auth-entry button.primary:hover{background:#05665f}
.auth-entry button.secondary{border:1px solid #d4e1db;border-radius:9px;background:#f7faf8;color:#132b35;padding:11px 16px;min-height:46px}
.auth-entry #login-form .muted{font-size:12px;line-height:1.6;color:#657770;margin:16px 0 0}
.auth-entry #auth-feedback:not(:empty){padding:12px 14px;margin-top:20px;border:1px solid #e7c7bc;border-radius:8px;background:#fff5f0;color:#91442f;font-size:13px;line-height:1.5}
.auth-entry .mfa-panel{gap:14px;padding:0}
.auth-entry .mfa-panel h3{font-size:19px;line-height:1.3;margin:0;color:#132b35}
.auth-entry .mfa-panel>p,.auth-entry .mfa-panel #mfa-secret-panel p{font-size:13px;line-height:1.6;color:#52646b;margin:0}
.auth-entry .mfa-panel form,.auth-entry .mfa-panel #mfa-setup,.auth-entry .mfa-panel #mfa-secret-panel{display:grid;gap:11px}
.auth-entry .mfa-panel input{max-width:none}
.auth-entry .mfa-panel button{justify-self:stretch;width:100%}
.auth-entry #mfa-code{font-size:23px;font-weight:700;letter-spacing:.3em;font-variant-numeric:tabular-nums;text-align:center}
.auth-entry #mfa-secret{font-size:12px;font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em}
.auth-entry .auth-secure-note{display:flex;align-items:flex-start;gap:10px;margin:20px 0 0;font-size:12px;line-height:1.55;color:#657770}
.auth-entry .auth-secure-note:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e1f3ea;color:#086c64;flex:none;font-weight:700}
.auth-entry-footer{font-size:12px;color:#667773;line-height:1.6;margin:22px 0 0;text-align:center}
.auth-gateway .skip-link{left:18px;top:-100px;z-index:20;background:#fff;color:#132b35;border-radius:8px;padding:12px;position:fixed}
.auth-gateway .skip-link:focus{top:12px}
@media(max-width:1000px){.auth-gateway{grid-template-columns:minmax(0,.85fr) minmax(380px,1fr)}.auth-story{padding:40px 30px;gap:44px}.auth-story h1{font-size:48px}}
@media(max-width:720px){.auth-gateway{grid-template-columns:minmax(0,1fr)}.auth-story{padding:24px 22px 28px;gap:18px}.auth-brand img{width:130px;height:44px}.auth-brand{padding:7px 11px}.auth-story-content{max-width:100%}.auth-story h1{font-size:clamp(27px,7vw,39px);margin:10px 0}.auth-story-lead{font-size:14px}.auth-story-steps,.auth-story-foot{display:none}.auth-entry{padding:26px 17px 44px;justify-content:flex-start}.auth-entry-top{margin-bottom:16px}.auth-entry .session-panel{padding:26px 21px}.auth-story:before{right:-270px;top:-150px}}
@media(prefers-reduced-motion:reduce){.auth-gateway *{scroll-behavior:auto;transition:none!important}}

/* Acesso mais direto: foco no formulario, sem blocos editoriais repetidos. */
.auth-story{justify-content:space-between;gap:24px}
.auth-story-content{max-width:500px}
.auth-story h1{font-size:clamp(34px,4.2vw,60px);letter-spacing:-.045em;line-height:1.1;margin:16px 0}
.auth-story-lead{font-size:16px;line-height:1.6;max-width:370px}
.auth-entry .panel-title{margin-bottom:22px}
.auth-entry .session-panel{box-shadow:0 10px 34px rgba(19,43,53,.055)}
@media(max-width:720px){
 .auth-story{min-height:0;padding:16px 20px;background:#132b35;display:block}
 .auth-brand{box-shadow:none;border-radius:8px;padding:5px 9px}
 .auth-brand img{width:112px;height:36px}
 .auth-story-content{display:none}
 .auth-entry{padding:20px 16px 40px}
 .auth-entry-top{margin-bottom:12px}
 .auth-entry .session-panel{padding:23px 20px}
}


/* Refinamento CAIO HUB: o lockup SVG é independente do fundo; sem cartão branco. */
.auth-story .auth-brand{
 background:transparent;border:0;border-radius:0;
 box-shadow:none;padding:0;max-width:100%;
}
.auth-story .auth-brand img{
 width:clamp(121px,11vw,151px);height:auto;max-height:none;
 filter:brightness(0) invert(1);
 display:block;object-fit:contain;object-position:left center;
}
.auth-story .auth-kicker{font-size:13px;letter-spacing:.10em}
.auth-story .auth-story-foot{font-size:13px}
.auth-entry .auth-entry-label,.auth-entry .auth-private-pill{font-size:13px;letter-spacing:.04em}
.auth-entry #login-form .muted,.auth-entry .auth-secure-note,.auth-entry-footer{font-size:13px;line-height:1.6}
.auth-entry :is(label,.mfa-panel p){font-size:14px}
.auth-entry .session-panel{border-color:#DCE8E1;box-shadow:0 18px 55px rgba(19,43,53,.055)}
@media(max-width:720px){
 .auth-story .auth-brand{padding:0;border-radius:0}
 .auth-story .auth-brand img{width:121px;height:auto;max-height:none}
 .auth-entry{padding:24px 19px}
 .auth-entry .session-panel{padding:24px 21px}
}

.auth-story .auth-public-link{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;color:#B3F6DD;text-decoration:underline;text-underline-offset:5px;font-size:14px;font-weight:700}
.auth-story .auth-public-link:focus-visible{outline:3px solid #B8F4DE;outline-offset:3px}
