/* NEXO P34.2 — Tela de acesso, imagem e proporções com base na arte 1672×941.
   Estilos isolados: não afetam dashboards, cadastros ou outras telas do site. */
#app .nxhero-auth{
  --u:min(0.059808612vw,0.106269926dvh);
  --ink:#0b1938;
  --forest:#006f4e;
  --green:#0a7f5b;
  --green-soft:#dff1e6;
  --muted:#71829b;
  position:relative;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  isolation:isolate;
  background:#f8f5ef url('/assets/nexo-login-cafe-bg.webp?v=92') center center / cover no-repeat;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
}
#app .nxhero-auth *{box-sizing:border-box}
#app .nxhero-shell{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:calc(var(--u)*95) minmax(0,1fr) calc(var(--u)*86);position:relative;z-index:1;margin:0;}
#app .nxhero-topbar{height:100%;padding:0 calc(var(--u)*64);display:flex;align-items:flex-start;padding-top:calc(var(--u)*18);gap:calc(var(--u)*52);position:relative;z-index:2}
#app .nxhero-brand{border:0;background:transparent;padding:calc(var(--u)*10) 0;display:block;flex:none;line-height:0}
#app .nxhero-brand img{width:calc(var(--u)*145);height:auto;display:block;object-fit:contain}
#app .nxhero-nav{display:flex;align-items:center;gap:calc(var(--u)*22);padding-top:calc(var(--u)*5)}
#app .nxhero-nav button{font-size:calc(var(--u)*14.5);line-height:1;border:0;background:transparent;color:#223350;padding:calc(var(--u)*12) calc(var(--u)*9);border-radius:calc(var(--u)*8);font-weight:500;white-space:nowrap}
#app .nxhero-nav button:hover,#app .nxhero-footer-nav button:hover{background:rgba(20,88,71,.07);color:var(--forest)}
#app .nxhero-top-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--u)*14);white-space:nowrap}
#app .nxhero-help,#app .nxhero-cta{min-height:calc(var(--u)*44);display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*10);border:0;border-radius:999px;padding:0 calc(var(--u)*22);font-size:calc(var(--u)*14);font-weight:700;box-shadow:none;transition:background-color .18s,transform .18s}
#app .nxhero-help{background:rgba(255,255,255,.72);color:#263b58;padding:0 calc(var(--u)*17) 0 calc(var(--u)*14)}
#app .nxhero-help .icon{width:calc(var(--u)*20);height:calc(var(--u)*20);color:#566880;padding:calc(var(--u)*2.5);border:1px solid #95a1b0;border-radius:50%;box-sizing:content-box}
#app .nxhero-cta{background:var(--green-soft);color:#136e54;padding:0 calc(var(--u)*28)}
#app .nxhero-help:hover,#app .nxhero-cta:hover{transform:translateY(-1px)}
#app .nxhero-main{min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr) calc(var(--u)*440) calc(var(--u)*356);gap:calc(var(--u)*16);padding:0 calc(var(--u)*58) 0 calc(var(--u)*64);align-items:start;position:relative}
#app .nxhero-copy,#app .nxhero-login-column,#app .nxhero-sidecards{position:relative;z-index:1;min-width:0}
#app .nxhero-copy{height:100%;min-height:0;padding-top:calc(var(--u)*31);display:flex;flex-direction:column;align-items:flex-start}
#app .nxhero-pill{height:calc(var(--u)*34);flex:none;border-radius:999px;background:rgba(227,244,235,.95);display:inline-flex;align-items:center;gap:calc(var(--u)*12);padding:0 calc(var(--u)*16);font-size:calc(var(--u)*14.2);font-weight:500;color:#05684b;white-space:nowrap;margin-bottom:calc(var(--u)*23)}
#app .nxhero-pill .icon{width:calc(var(--u)*19);height:calc(var(--u)*19);stroke-width:2.5}
#app .nxhero-copy h1{font-size:calc(var(--u)*82);font-weight:900;line-height:.93;letter-spacing:-.058em;margin:0 0 calc(var(--u)*16);color:#06183b}
#app .nxhero-title-line{display:inline-flex;align-items:baseline;gap:calc(var(--u)*23);letter-spacing:-.07em}
#app .nxhero-title-line img{width:calc(var(--u)*236);height:calc(var(--u)*55);object-fit:contain;align-self:center;position:relative;top:calc(var(--u)*4)}
#app .nxhero-copy>p{max-width:calc(var(--u)*420);font-size:calc(var(--u)*23.2);color:#6f7f98;line-height:1.28;letter-spacing:-.024em;margin:0 0 calc(var(--u)*31)}
#app .nxhero-features{display:grid;gap:calc(var(--u)*28);width:calc(var(--u)*370);max-width:100%}
#app .nxhero-features article{display:grid;grid-template-columns:calc(var(--u)*61) minmax(0,1fr);gap:calc(var(--u)*16);align-items:start}
#app .nxhero-features i{width:calc(var(--u)*61);height:calc(var(--u)*61);border-radius:calc(var(--u)*17);display:grid;place-items:center;color:#076d4e;background:rgba(230,246,236,.96);font-style:normal}
#app .nxhero-features i .icon{width:calc(var(--u)*31);height:calc(var(--u)*31);stroke-width:1.85}
#app .nxhero-features strong{font-size:calc(var(--u)*16);line-height:1.24;color:#0c1c40;display:block;font-weight:800;margin:calc(var(--u)*2) 0 calc(var(--u)*3)}
#app .nxhero-features span{font-size:calc(var(--u)*14);line-height:1.34;color:#718098;display:block;max-width:calc(var(--u)*225)}
#app .nxhero-signature{font-family:'Segoe Script','Brush Script MT',cursive;font-size:calc(var(--u)*21.5);line-height:1.13;font-weight:500;font-style:italic;letter-spacing:.02em;color:#5d4f48;transform:rotate(-6deg);margin:auto 0 calc(var(--u)*60) calc(var(--u)*128);position:relative;white-space:nowrap;text-align:left}
#app .nxhero-signature:after{content:'';width:95%;height:calc(var(--u)*15);border-top:calc(var(--u)*2) solid #648a3e;border-radius:50%;position:absolute;top:calc(100% + var(--u)*9);left:calc(var(--u)*18);transform:rotate(-7deg)}
#app .nxhero-login-column{height:calc(var(--u)*720)}
#app .nxhero-login-card,#app .nxhero-side-card{border:1px solid rgba(231,229,224,.92);box-shadow:0 calc(var(--u)*10) calc(var(--u)*24) rgba(39,37,39,.056);background:rgba(255,255,255,.92);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
#app .nxhero-login-card{height:100%;border-radius:calc(var(--u)*18);padding:calc(var(--u)*20) calc(var(--u)*21) calc(var(--u)*20);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cadcd2 transparent}
#app .nxhero-tabs{background:rgba(238,240,242,.96);display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*4);padding:calc(var(--u)*4);height:calc(var(--u)*58);min-height:calc(var(--u)*58);border-radius:calc(var(--u)*13);margin-bottom:calc(var(--u)*26);flex:none}
#app .nxhero-tabs button{border:0;background:transparent;color:#667185;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*15);font-size:calc(var(--u)*16);font-weight:700;padding:0 calc(var(--u)*5);border-radius:calc(var(--u)*11);position:relative;white-space:nowrap}
#app .nxhero-tabs button.active{background:#fff;color:#0a7657;box-shadow:0 calc(var(--u)*1) calc(var(--u)*3) rgba(17,33,57,.06)}
#app .nxhero-tabs button.active:after{content:'';position:absolute;bottom:0;left:calc(var(--u)*11);right:calc(var(--u)*11);height:calc(var(--u)*3.2);border-radius:999px;background:#087355}
#app .nxhero-tabs button .icon{width:calc(var(--u)*23);height:calc(var(--u)*23)}
#app #nxhero-main-panel{flex:1;min-height:0;display:flex;flex-direction:column}
#app .nxhero-card-head h2{margin:0 0 calc(var(--u)*8);color:#0a1a3c;font-size:calc(var(--u)*24.5);line-height:1.12;font-weight:850;letter-spacing:-.046em}
#app .nxhero-card-head p{font-size:calc(var(--u)*17.3);line-height:1.26;color:#718099;margin:0 0 calc(var(--u)*21);max-width:calc(var(--u)*376)}
#app .nxhero-form{display:grid;gap:calc(var(--u)*15)}
#app .nxhero-form label{display:grid;gap:calc(var(--u)*7)}
#app .nxhero-form label>span{font-size:max(12px,calc(var(--u)*14));line-height:1;font-weight:800;color:#0a1c3c}
#app .nxhero-input-wrap{height:calc(var(--u)*50);border:calc(var(--u)*1.25) solid #d1dae3;border-radius:calc(var(--u)*12);background:#fff;display:flex;align-items:center;gap:calc(var(--u)*13);padding:0 calc(var(--u)*15);min-width:0;transition:.2s}
#app .nxhero-input-wrap:focus-within{border-color:#0d8c67;box-shadow:0 0 0 calc(var(--u)*3) rgba(15,125,93,.09)}
#app .nxhero-input-wrap .icon{width:calc(var(--u)*20);height:calc(var(--u)*20);color:#74839b;flex:none}
#app .nxhero-input-wrap input{height:100%;min-width:0;flex:1;background:transparent;outline:none;border:0;color:#16284a;font-size:max(13px,calc(var(--u)*15))}
#app .nxhero-input-wrap input::placeholder{color:#8d9aae}
#app .nxhero-input-action{display:grid;place-items:center;flex:none;min-width:calc(var(--u)*24);width:calc(var(--u)*24);height:calc(var(--u)*26);border:0;background:transparent;padding:0;color:#60728d}
#app .nxhero-input-action .icon{width:calc(var(--u)*22);height:calc(var(--u)*22)}
#app .nxhero-form-row{display:flex;align-items:center;gap:calc(var(--u)*10)}
#app .nxhero-form-row-between{justify-content:space-between;margin:calc(var(--u)*2) 0 0}
#app .nxhero-check{display:inline-flex!important;gap:calc(var(--u)*11)!important;align-items:center;white-space:nowrap;cursor:pointer}
#app .nxhero-check input{position:absolute;opacity:0;pointer-events:none}
#app .nxhero-check>span{width:calc(var(--u)*24);height:calc(var(--u)*24);background:#0b7a5b;display:grid;place-items:center;border-radius:calc(var(--u)*6);color:#fff;flex:none}
#app .nxhero-check input:not(:checked)+span{background:#fff;border:1px solid #a7b6bd;color:transparent}
#app .nxhero-check span .icon{width:calc(var(--u)*17);height:calc(var(--u)*17)}
#app .nxhero-check b{font-size:calc(var(--u)*14);font-weight:500;color:#213351}
#app .nxhero-inline-link{font-size:calc(var(--u)*13.8);font-weight:650;color:#00704f;border:0;background:transparent;padding:calc(var(--u)*4) 0;white-space:nowrap}
#app .nxhero-inline-link:hover{text-decoration:underline}
#app .nxhero-form-error{color:#b94355;font-size:calc(var(--u)*13.5);line-height:1.2;font-weight:650;min-height:0;margin:0}
#app .nxhero-form-error:empty{display:none}
#app .nxhero-primary,#app .nxhero-soft,#app .nxhero-google{min-height:calc(var(--u)*55);width:100%;border-radius:calc(var(--u)*12);display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*13);border:0;padding:0 calc(var(--u)*15);font-weight:800;font-size:calc(var(--u)*17);line-height:1.1;transition:.18s;cursor:pointer}
#app .nxhero-primary{background:linear-gradient(90deg,#006b4c,#07855f);color:#fff;box-shadow:none}
#app .nxhero-primary:hover{background:#006d4c}
#app .nxhero-primary span:not(.spinner){font-size:1.35em;font-weight:500}
#app .nxhero-primary.small{width:auto;min-height:calc(var(--u)*37);padding:0 calc(var(--u)*14);font-size:calc(var(--u)*13)}
#app .nxhero-soft{background:#e3f3e8;color:#0b7b58}
#app .nxhero-soft.solid{background:#dff1e6}
#app .nxhero-soft .icon{width:calc(var(--u)*20);height:calc(var(--u)*20)}
#app .nxhero-or{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*14);color:#74839a;font-size:calc(var(--u)*15);font-weight:500;margin:calc(var(--u)*16) 0}
#app .nxhero-or:before,#app .nxhero-or:after{content:'';height:1px;flex:1;background:#dde3e9}
#app .nxhero-google{background:#fff;color:#0d1938;border:calc(var(--u)*1.35) solid #0f8e67;font-size:calc(var(--u)*15.5);min-height:calc(var(--u)*52)}
#app .nxhero-google b{font-family:Arial,sans-serif;font-size:calc(var(--u)*18);font-weight:850;line-height:1;color:#4285f4}
#app .nxhero-security-note{margin-top:auto;padding-top:calc(var(--u)*16);border-top:1px solid #dce2e7;display:flex;align-items:flex-start;gap:calc(var(--u)*12);color:#6e7a91}
#app .nxhero-security-note>.icon{width:calc(var(--u)*22);height:calc(var(--u)*22);color:#0d7856;flex:none;background:#e9f6ee;border-radius:calc(var(--u)*11);padding:calc(var(--u)*4)}
#app .nxhero-security-note strong{display:block;font-size:calc(var(--u)*14);line-height:1.2;color:#354560;font-weight:650;margin-bottom:calc(var(--u)*3)}
#app .nxhero-security-note small{display:block;font-size:calc(var(--u)*12.4);line-height:1.24;color:#758197}
#app .nxhero-sidecards{display:grid;grid-template-rows:calc(var(--u)*401) calc(var(--u)*296);gap:calc(var(--u)*16);height:calc(var(--u)*720)}
#app .nxhero-sidecards.code-active{grid-template-rows:calc(var(--u)*526);}
#app .nxhero-sidecards.code-active .nxhero-side-card-light{display:none}
#app .nxhero-side-card{border-radius:calc(var(--u)*18);padding:calc(var(--u)*21) calc(var(--u)*22);min-width:0;overflow:hidden}
#app .nxhero-side-card-light{background:rgba(248,252,249,.92)}
#app .nxhero-side-head{display:grid;grid-template-columns:calc(var(--u)*54) minmax(0,1fr);gap:calc(var(--u)*16);align-items:start;margin-bottom:calc(var(--u)*18)}
#app .nxhero-side-icon{width:calc(var(--u)*54);height:calc(var(--u)*54);border-radius:calc(var(--u)*15);background:#e8f4ec;color:#0c7255;display:grid;place-items:center}
#app .nxhero-side-icon .icon{width:calc(var(--u)*29);height:calc(var(--u)*29)}
#app .nxhero-side-head h3{font-size:calc(var(--u)*22.5);font-weight:850;letter-spacing:-.04em;line-height:1.15;color:#071738;margin:calc(var(--u)*4) 0 calc(var(--u)*5)}
#app .nxhero-side-head p{font-size:calc(var(--u)*13.8);line-height:1.3;color:#72819a;margin:0}
#app .nxhero-form.compact{gap:calc(var(--u)*11)}
#app .nxhero-form.compact label{gap:calc(var(--u)*10)}
#app .nxhero-form.compact .nxhero-input-wrap{height:calc(var(--u)*50)}
#app .nxhero-form.compact .nxhero-form-error{font-size:calc(var(--u)*12)}
#app .nxhero-form.compact .nxhero-soft{min-height:calc(var(--u)*48);border-radius:999px;font-size:calc(var(--u)*16);margin-top:calc(var(--u)*3)}
#app .nxhero-divider-label{display:flex;align-items:center;gap:calc(var(--u)*14);color:#8893a4;white-space:nowrap;font-size:calc(var(--u)*13.8);font-weight:400;margin:calc(var(--u)*28) 0 calc(var(--u)*16)}
#app .nxhero-divider-label:before,#app .nxhero-divider-label:after{content:'';height:1px;background:#dfe4e9;flex:1}
#app .nxhero-code-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--u)*8);opacity:1;pointer-events:none}
#app .nxhero-code-grid.ready{pointer-events:auto}
#app .nxhero-code-box:disabled{background:#f8faf9;color:#a2aebc;cursor:not-allowed}
#app .nxhero-code-box{width:100%;height:calc(var(--u)*52);background:#fff;border:calc(var(--u)*1.25) solid #d5dce6;border-radius:calc(var(--u)*10);text-align:center;font-size:calc(var(--u)*23);font-weight:800;color:#16284e;outline:none;min-width:0}
#app .nxhero-code-box:focus{border-color:#087e5b;box-shadow:0 0 0 calc(var(--u)*3) rgba(0,110,80,.12)}
#app .nxhero-code-meta{display:none;align-items:center;justify-content:space-between;gap:calc(var(--u)*8);margin-top:calc(var(--u)*10);color:#687b8f;font-size:calc(var(--u)*10.5);line-height:1.15}
#app .nxhero-code-meta.show{display:flex}
#app .nxhero-code-meta b{color:#087955;white-space:nowrap;font-size:inherit}
#app .nxhero-code-meta .expired{color:#ad4052}
#app .nxhero-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*10);margin-top:calc(var(--u)*11)}
#app .nxhero-inline-actions[hidden]{display:none!important}
#app .nxhero-inline-actions button{white-space:nowrap}
#app .nxhero-inline-actions .nxhero-inline-link{font-size:calc(var(--u)*11)}
#app .nxhero-inline-link[disabled],#app .nxhero-primary:disabled,#app .nxhero-soft:disabled{opacity:.58;cursor:not-allowed}
#app .nxhero-side-card-light .nxhero-side-head{margin-bottom:calc(var(--u)*16)}
#app .nxhero-checklist{list-style:none;display:grid;gap:calc(var(--u)*12);padding:0;margin:0 0 calc(var(--u)*19)}
#app .nxhero-checklist li{display:flex;align-items:center;gap:calc(var(--u)*13);font-size:calc(var(--u)*15);line-height:1.1;color:#718098;font-weight:400}
#app .nxhero-checklist .icon{width:calc(var(--u)*22);height:calc(var(--u)*22);background:#e7f6ec;border-radius:50%;padding:calc(var(--u)*4.8);color:#0c805d;stroke-width:2.8;flex:none}
#app .nxhero-side-card-light .nxhero-soft{min-height:calc(var(--u)*50);font-size:calc(var(--u)*17);border-radius:999px}
#app .nxhero-footer{height:100%;min-height:0;padding:0 calc(var(--u)*64);background:rgba(255,255,255,.82);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*22);color:#70809a;box-shadow:0 calc(var(--u)*-3) calc(var(--u)*26) rgba(255,255,255,.32);position:relative;z-index:3}
#app .nxhero-footer-left{display:flex;align-items:center;gap:calc(var(--u)*24);white-space:nowrap;font-size:calc(var(--u)*14);font-weight:400}
#app .nxhero-footer-left img{width:calc(var(--u)*86);height:auto;display:block;object-fit:contain}
#app .nxhero-footer-left span{border-left:1px solid #c9d0d9;padding-left:calc(var(--u)*24)}
#app .nxhero-footer-nav{display:flex;align-items:center;gap:0;white-space:nowrap}
#app .nxhero-footer-nav button{background:transparent;border:0;color:#66758f;padding:calc(var(--u)*7) calc(var(--u)*23);font-size:calc(var(--u)*14);font-weight:400;line-height:1;border-right:1px solid #c7d0db}
#app .nxhero-footer-nav button:last-child{border-right:0}
#app .nxhero-footer-nav button:last-child{display:inline-flex;align-items:center;gap:calc(var(--u)*12)}
#app .nxhero-footer-nav button:last-child .icon{width:calc(var(--u)*23);height:calc(var(--u)*23);color:#65758e}
#app .nxhero-auth button:focus-visible,#app .nxhero-auth input:focus-visible{outline:2px solid #0d805f;outline-offset:2px}
#app .nxhero-auth .spinner{width:calc(var(--u)*17);height:calc(var(--u)*17)}
/* Registro: formulário mais longo dentro do mesmo card, sem afetar o login. */
#app #nxhero-main-panel[data-mode="register"] .nxhero-card-head p{margin-bottom:calc(var(--u)*14)}
#app #nxhero-main-panel[data-mode="register"] .nxhero-form{gap:calc(var(--u)*11)}
#app #nxhero-main-panel[data-mode="register"] .nxhero-input-wrap,#app #nxhero-main-panel[data-mode="register"] input:not([type="checkbox"]){min-height:calc(var(--u)*45)}
#app #nxhero-main-panel[data-mode="register"] .nxhero-form>label>input{width:100%;height:calc(var(--u)*45);border:1px solid #d4dce4;border-radius:calc(var(--u)*11);padding:0 calc(var(--u)*14);font-size:calc(var(--u)*15);background:#fff;color:#132547}
#app #nxhero-main-panel[data-mode="register"] .nxhero-security-note{margin-top:auto}

/* Telas estreitas: cartões em sequência e rolagem apenas onde ela é necessária. */
@media(max-width:1099px), (max-height:540px){
  #app .nxhero-auth{--u:1px;height:auto;min-height:100dvh;overflow:visible;background-size:cover;background-position:42% top}
  #app .nxhero-auth:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.45));pointer-events:none}
  #app .nxhero-shell{height:auto;min-height:100dvh;display:flex;flex-direction:column}
  #app .nxhero-topbar{min-height:80px;align-items:center;padding:12px 24px;gap:16px;flex-wrap:wrap;background:rgba(255,255,255,.6)}
  #app .nxhero-brand img{width:132px}
  #app .nxhero-nav{gap:3px;padding:0}
  #app .nxhero-nav button{font-size:13px;padding:9px 7px}
  #app .nxhero-top-actions{gap:9px}
  #app .nxhero-help,#app .nxhero-cta{min-height:37px;font-size:12px;padding:0 14px}
  #app .nxhero-main{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);padding:26px 24px;gap:18px}
  #app .nxhero-copy{grid-column:1/-1;height:auto;padding:0 0 20px}
  #app .nxhero-pill{font-size:13px;margin-bottom:20px}
  #app .nxhero-copy h1{font-size:clamp(48px,7vw,76px)}
  #app .nxhero-title-line img{width:225px;height:52px}
  #app .nxhero-copy>p{font-size:20px;max-width:460px}
  #app .nxhero-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:12px}
  #app .nxhero-features article{background:rgba(255,255,255,.78);border-radius:14px;padding:12px;grid-template-columns:43px minmax(0,1fr);gap:10px}
  #app .nxhero-features i{width:42px;height:42px;border-radius:12px}
  #app .nxhero-features i .icon{width:23px;height:23px}
  #app .nxhero-features strong{font-size:13px}
  #app .nxhero-features span{font-size:12px}
  #app .nxhero-signature{display:none}
  #app .nxhero-login-column{height:auto}
  #app .nxhero-login-card{height:auto;min-height:640px;padding:22px;border-radius:18px}
  #app .nxhero-sidecards{height:auto;grid-template-rows:auto auto;gap:16px}
  #app .nxhero-sidecards.code-active{grid-template-rows:auto auto}
  #app .nxhero-sidecards.code-active .nxhero-side-card-light{display:block}
  #app .nxhero-side-card{padding:20px;border-radius:18px}
  #app .nxhero-side-head{grid-template-columns:50px minmax(0,1fr);gap:12px;margin-bottom:17px}
  #app .nxhero-side-icon{width:50px;height:50px}
  #app .nxhero-side-head h3{font-size:20px}
  #app .nxhero-card-head h2{font-size:24px}
  #app .nxhero-card-head p{font-size:16px}
  #app .nxhero-tabs{height:52px;min-height:52px;margin-bottom:24px}
  #app .nxhero-tabs button{font-size:15px}
  #app .nxhero-form{gap:14px}
  #app .nxhero-form label>span,#app .nxhero-inline-link{font-size:13px}
  #app .nxhero-input-wrap{height:48px}
  #app .nxhero-input-wrap input{font-size:14px}
  #app .nxhero-primary,#app .nxhero-soft,#app .nxhero-google{min-height:50px;font-size:15px}
  #app .nxhero-or{margin:18px 0}
  #app .nxhero-security-note{margin-top:26px}
  #app .nxhero-security-note strong{font-size:13px}
  #app .nxhero-security-note small{font-size:12px}
  #app .nxhero-divider-label{margin:26px 0 14px}
  #app .nxhero-code-box{height:47px;font-size:19px}
  #app .nxhero-side-card-light .nxhero-soft{min-height:48px}
  #app .nxhero-checklist li{font-size:14px}
  #app .nxhero-footer{min-height:80px;padding:20px 24px;flex-wrap:wrap;justify-content:center;gap:20px}
  #app .nxhero-footer-left{font-size:12px;gap:18px}
  #app .nxhero-footer-nav button{font-size:12px;padding:8px 14px}
}
@media(max-width:690px){
  #app .nxhero-topbar{justify-content:center;padding:14px 12px}
  #app .nxhero-nav{display:none}
  #app .nxhero-top-actions{margin-left:0}
  #app .nxhero-main{grid-template-columns:1fr;padding:16px 14px;gap:14px}
  #app .nxhero-copy{grid-column:1;grid-row:2;padding:14px 2px}
  #app .nxhero-login-column{grid-column:1;grid-row:1}
  #app .nxhero-sidecards{grid-column:1;grid-row:3}
  #app .nxhero-copy h1{font-size:clamp(44px,11vw,64px)}
  #app .nxhero-copy>p{font-size:18px}
  #app .nxhero-features{grid-template-columns:1fr}
  #app .nxhero-features article{grid-template-columns:42px minmax(0,1fr)}

  #app .nxhero-login-card{min-height:630px;padding:20px}
  #app .nxhero-side-head h3{font-size:19px}

  #app .nxhero-footer-left{justify-content:center;flex-wrap:wrap}
  #app .nxhero-footer-nav{flex-wrap:wrap;justify-content:center}
}

/* Tablet: o formulário de acesso não deve ficar abaixo de toda a apresentação. */
@media(min-width:691px) and (max-width:1099px){
  #app .nxhero-main{grid-template-columns:minmax(0,1fr) minmax(345px,1fr);align-items:start}
  #app .nxhero-copy{grid-column:1;grid-row:1;padding:6px 0 0}
  #app .nxhero-copy h1{font-size:clamp(44px,5.5vw,64px)}
  #app .nxhero-title-line img{width:190px;height:46px}
  #app .nxhero-copy>p{font-size:18px}
  #app .nxhero-features{grid-template-columns:1fr;gap:13px}
  #app .nxhero-features article{max-width:100%;padding:8px}
  #app .nxhero-login-column{grid-column:2;grid-row:1}
  #app .nxhero-sidecards{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;align-items:stretch}
  #app .nxhero-sidecards.code-active{grid-template-rows:auto}
  #app .nxhero-sidecards.code-active .nxhero-side-card-light{display:block}
}

#app .nxhero-google:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(.28);transform:none}
#app .nxhero-google b{width:calc(var(--u)*27);height:calc(var(--u)*27);border-radius:50%;display:grid;place-items:center;border:1px solid #e4e9ee;background:#fff;font-size:calc(var(--u)*18);font-weight:800;color:#4285f4;line-height:1}
#app .nxhero-soft span:not(.spinner),#app .nxhero-google span:not(.spinner){display:inline-flex;align-items:center;gap:calc(var(--u)*10)}
#app .nxhero-side-card-light .nxhero-soft span:last-child,#app .nxhero-primary span:last-child{position:relative;top:calc(var(--u)*-1)}

/* Falha temporária na consulta de sessão: preservar acesso e permitir nova tentativa */
#app .nx-startup-error{min-height:100dvh;padding:24px;display:grid;place-items:center;background:#f7faf8;color:#0a193b;font-family:Inter,ui-sans-serif,'Segoe UI',sans-serif}
#app .nx-startup-error section{width:min(100%,440px);padding:32px;border-radius:20px;border:1px solid #dce8e1;background:#fff;box-shadow:0 16px 42px rgba(8,61,48,.08)}
#app .nx-startup-error section>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff2df;color:#9b6a12}
#app .nx-startup-error h1{font-size:25px;line-height:1.15;margin:20px 0 12px;letter-spacing:-.04em}
#app .nx-startup-error p{font-size:15px;line-height:1.55;color:#63728a}
#app .nx-startup-error button{margin:12px 0;min-height:44px;padding:0 24px;border:0;border-radius:12px;background:#087b5d;color:white;font-weight:800}
#app .nx-startup-error small{display:block;color:#8794a7;font-size:12px;overflow-wrap:anywhere}
