/* =====================================================================
   SIG Eventos — Login Moderno
   Estilo alinhado ao dashboard público e ao painel administrativo:
   navy escuro, ciano, violeta, cards claros, glass, bordas suaves.
   ===================================================================== */

   :root{
    --auth-navy:#0f172a;
    --auth-navy-2:#082f49;
    --auth-navy-3:#020617;
    --auth-cyan:#0ea5e9;
    --auth-cyan-strong:#075985;
    --auth-cyan-soft:#e0f2fe;
    --auth-violet:#7c3aed;
    --auth-violet-soft:#ede9fe;
    --auth-success:#16a34a;
    --auth-success-soft:#dcfce7;
    --auth-warning:#f59e0b;
    --auth-danger:#dc2626;
  
    --auth-text:#0f172a;
    --auth-muted:#64748b;
    --auth-muted-2:#94a3b8;
    --auth-border:#e2e8f0;
    --auth-border-strong:#cbd5e1;
    --auth-surface:#ffffff;
    --auth-surface-soft:#f8fafc;
  
    --auth-radius-sm:12px;
    --auth-radius-md:16px;
    --auth-radius-lg:22px;
    --auth-radius-xl:30px;
  
    --auth-shadow-sm:0 8px 22px rgba(15,23,42,.08);
    --auth-shadow-md:0 18px 48px rgba(15,23,42,.16);
    --auth-shadow-lg:0 28px 90px rgba(2,6,23,.38);
  
    --auth-topbar-h:70px;
    --auth-shell-w:1040px;
    --auth-transition:180ms ease;
  }
  
  *{box-sizing:border-box}
  html{height:100%;scroll-behavior:smooth}
  body.login-shell{
    min-height:100%;
    margin:0;
    font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
    color:var(--auth-text);
    background:#f6f8fb;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  
  a{color:inherit}
  img{max-width:100%;display:block}
  
  /* =========================
     TOPBAR
  ========================= */
  .auth-topbar{
    position:fixed;
    top:14px;
    left:50%;
    z-index:1000;
    width:min(var(--auth-shell-w), calc(100% - 28px));
    transform:translateX(-50%);
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    background:rgba(15,23,42,.72);
    backdrop-filter:blur(18px) saturate(150%);
    -webkit-backdrop-filter:blur(18px) saturate(150%);
    box-shadow:0 16px 42px rgba(2,6,23,.22);
    transition:background var(--auth-transition), box-shadow var(--auth-transition), top var(--auth-transition), border-color var(--auth-transition);
  }
  .auth-topbar.is-scrolled{
    top:10px;
    background:rgba(2,6,23,.88);
    border-color:rgba(255,255,255,.16);
    box-shadow:0 18px 46px rgba(2,6,23,.35);
  }
  .auth-topbar__inner{
    min-height:50px;
    padding:0 10px 0 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
  }
  .auth-brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    min-width:0;
  }
  .auth-brand img{
    height:30px;
    width:auto;
    max-width:92px;
    object-fit:contain;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.22));
  }
  .auth-nav{
    display:flex;
    align-items:center;
    gap:6px;
  }
  .auth-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    color:rgba(255,255,255,.78);
    font-size:.82rem;
    font-weight:800;
    text-decoration:none;
    transition:background var(--auth-transition), color var(--auth-transition), transform var(--auth-transition);
  }
  .auth-nav a:hover{
    color:#fff;
    background:rgba(255,255,255,.10);
    transform:translateY(-1px);
  }
  .auth-nav a:nth-child(2){
    color:#fff;
    background:linear-gradient(135deg, rgba(14,165,233,.34), rgba(124,58,237,.32));
    border:1px solid rgba(255,255,255,.12);
  }
  .auth-menu-toggle{
    display:none;
    width:42px;
    height:40px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:14px;
    background:rgba(255,255,255,.08);
    cursor:pointer;
  }
  .auth-menu-toggle span{
    display:block;
    height:2px;
    margin:5px 0;
    background:#fff;
    border-radius:999px;
    transition:transform var(--auth-transition), opacity var(--auth-transition);
  }
  .auth-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .auth-menu-toggle.is-open span:nth-child(2){opacity:0}
  .auth-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  
  /* =========================
     HERO / LOGIN
  ========================= */
  .auth-hero{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:calc(var(--auth-topbar-h) + 18px) 18px 40px;
    background:
      radial-gradient(circle at 10% 10%, rgba(124,58,237,.32), transparent 30%),
      radial-gradient(circle at 90% 8%, rgba(14,165,233,.25), transparent 28%),
      radial-gradient(circle at 76% 86%, rgba(34,197,94,.12), transparent 30%),
      linear-gradient(135deg, var(--auth-navy-3) 0%, var(--auth-navy) 48%, var(--auth-navy-2) 100%);
  }
  .auth-ambient{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.9;
    background:
      linear-gradient(120deg, transparent 0 58%, rgba(255,255,255,.035) 58.25%, transparent 58.7%),
      linear-gradient(38deg, transparent 0 68%, rgba(14,165,233,.06) 68.2%, transparent 68.7%);
  }
  .auth-ambient::before,
  .auth-ambient::after{
    content:"";
    position:absolute;
    border-radius:999px;
    filter:blur(4px);
    opacity:.55;
  }
  .auth-ambient::before{
    width:340px;
    height:340px;
    left:-130px;
    bottom:7%;
    border:1px solid rgba(255,255,255,.12);
    background:radial-gradient(circle, rgba(14,165,233,.10), transparent 68%);
  }
  .auth-ambient::after{
    width:250px;
    height:250px;
    right:-90px;
    top:22%;
    border:1px solid rgba(255,255,255,.10);
    background:radial-gradient(circle, rgba(124,58,237,.12), transparent 68%);
  }
  .auth-wrap{
    position:relative;
    z-index:2;
    width:min(var(--auth-shell-w), 100%);
  }
  .auth-card{
    display:grid;
    grid-template-columns:minmax(0, .82fr) minmax(360px, .62fr);
    min-height:520px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    border-radius:26px;
    background:rgba(255,255,255,.10);
    box-shadow:var(--auth-shadow-lg);
    backdrop-filter:blur(22px) saturate(145%);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
  }
  
  /* Coluna institucional */
  .auth-showcase{
    position:relative;
    overflow:hidden;
    padding:32px;
    color:#fff;
    background:
      radial-gradient(circle at 8% 10%, rgba(255,255,255,.12), transparent 28%),
      linear-gradient(135deg, rgba(15,23,42,.92), rgba(7,89,133,.70));
  }
  .auth-showcase::before{
    content:"";
    position:absolute;
    inset:18px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:24px;
    pointer-events:none;
  }
  .auth-showcase::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-260px;
    bottom:-220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(14,165,233,.22), transparent 62%);
    pointer-events:none;
  }
  .auth-showcase__content{
    position:relative;
    z-index:1;
    height:100%;
    display:flex;
    flex-direction:column;
  }
  .auth-chip,
  .sig-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.42rem;
    width:max-content;
    max-width:100%;
    padding:.38rem .72rem;
    border-radius:999px;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
  }
  .auth-chip{
    color:#dff7ff;
    background:rgba(14,165,233,.16);
    border:1px solid rgba(14,165,233,.22);
  }
  .auth-showcase h1{
    margin:22px 0 10px;
    font-size:clamp(2rem, 4.1vw, 3.15rem);
    line-height:.94;
    font-weight:950;
    letter-spacing:-.07em;
  }
  .auth-lead{
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.80);
    font-size:.94rem;
    line-height:1.56;
  }
  .auth-event-card{
    margin-top:24px;
    display:flex;
    align-items:center;
    gap:13px;
    max-width:620px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .auth-event-card__logo{
    position:relative;
    width:62px;
    height:48px;
    flex:0 0 62px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:16px;
    background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(224,242,254,.82));
    border:1px solid rgba(255,255,255,.34);
    box-shadow:0 14px 30px rgba(14,165,233,.20);
  }
  .auth-event-card__logo::before{
    content:"";
    position:absolute;
    inset:auto -18px -18px auto;
    width:56px;
    height:56px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(124,58,237,.24), transparent 62%);
    pointer-events:none;
  }
  .auth-event-card__logo img{
    position:relative;
    z-index:2;
    max-width:54px;
    max-height:38px;
    object-fit:contain;
  }
  .auth-event-card__logo-main,
  .auth-event-card__logo-sub{
    position:relative;
    z-index:1;
    display:none;
    text-align:center;
    line-height:1;
  }
  .auth-event-card__logo.is-fallback{
    grid-template-rows:1fr auto;
    align-content:center;
    gap:2px;
    padding:7px 6px;
    background:
      radial-gradient(circle at 18% 12%, rgba(255,255,255,.92), transparent 32%),
      linear-gradient(135deg, #0ea5e9 0%, #2563eb 54%, #7c3aed 100%);
  }
  .auth-event-card__logo.is-fallback .auth-event-card__logo-main{
    display:block;
    color:#fff;
    font-size:1.18rem;
    font-weight:950;
    letter-spacing:-.045em;
  }
  .auth-event-card__logo.is-fallback .auth-event-card__logo-sub{
    display:block;
    color:rgba(255,255,255,.84);
    font-size:.50rem;
    font-weight:950;
    letter-spacing:.08em;
  }
  .auth-event-card__text strong,
  .auth-event-card__text span{
    display:block;
  }
  .auth-event-card__text strong{
    font-size:.98rem;
    font-weight:900;
  }
  .auth-event-card__text span{
    margin-top:2px;
    color:rgba(255,255,255,.74);
    font-size:.84rem;
    line-height:1.45;
  }
  .auth-benefit-grid{
    margin-top:auto;
    padding-top:24px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:12px;
  }
  .auth-benefit-mini{
    min-height:112px;
    padding:14px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:20px;
    background:rgba(255,255,255,.08);
  }
  .auth-benefit-mini i{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    margin-bottom:10px;
    border-radius:12px;
    color:#e0f2fe;
    background:rgba(14,165,233,.18);
  }
  .auth-benefit-mini strong,
  .auth-benefit-mini span{
    display:block;
  }
  .auth-benefit-mini strong{
    font-size:.88rem;
    font-weight:900;
  }
  .auth-benefit-mini span{
    margin-top:4px;
    color:rgba(255,255,255,.68);
    font-size:.77rem;
    line-height:1.45;
  }
  
  /* Painel de login */
  .auth-panel{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:30px 34px;
    background:rgba(255,255,255,.94);
  }
  .auth-panel__head{
    margin-bottom:12px;
    text-align:center;
  }
  .auth-panel__logo-box{
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    margin:0 auto 10px;
    overflow:hidden;
    border-radius:22px;
    background:linear-gradient(180deg, #ffffff 0%, #eef7ff 100%);
    border:1px solid rgba(203,213,225,.75);
    box-shadow:0 14px 32px rgba(15,23,42,.10);
  }
  .auth-panel__logo{
    width:58px;
    height:58px;
    object-fit:contain;
    margin:0;
  }
  .auth-panel__tag{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:.28rem .62rem;
    border-radius:999px;
    color:var(--auth-cyan-strong);
    background:var(--auth-cyan-soft);
    border:1px solid #bae6fd;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.055em;
  }
  .auth-panel h2{
    margin:10px 0 4px;
    color:var(--auth-text);
    font-size:clamp(1.45rem, 2.25vw, 1.82rem);
    font-weight:950;
    letter-spacing:-.055em;
  }
  .auth-panel p{
    max-width:340px;
    margin:0 auto;
    color:var(--auth-muted);
    line-height:1.5;
    font-size:.88rem;
  }
  .auth-alert{
    border-radius:16px;
    border:1px solid rgba(220,38,38,.16);
    box-shadow:0 10px 24px rgba(220,38,38,.06);
  }
  .auth-fast-access{
    margin:0 0 14px;
    padding:12px;
    border:1px solid #dbeafe;
    border-radius:18px;
    background:
      radial-gradient(circle at 0 0, rgba(14,165,233,.10), transparent 40%),
      linear-gradient(135deg, #ffffff, #f8fbff);
    box-shadow:0 8px 20px rgba(15,23,42,.045);
  }
  .auth-fast-access__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }
  .auth-fast-access__head span{
    color:var(--auth-text);
    font-size:.80rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .auth-fast-access__head small{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 9px;
    border-radius:999px;
    color:var(--auth-cyan-strong);
    background:var(--auth-cyan-soft);
    border:1px solid #bae6fd;
    font-size:.68rem;
    font-weight:950;
    white-space:nowrap;
  }
  .auth-divider--form{
    margin:8px 0 12px;
  }
  
  .auth-form{
    display:grid;
    gap:11px;
  }
  .auth-field label{
    display:block;
    margin:0 0 6px;
    color:#334155;
    font-size:.80rem;
    font-weight:900;
    letter-spacing:.015em;
  }
  .auth-input{
    position:relative;
    display:flex;
    align-items:center;
    min-height:42px;
    border:1px solid var(--auth-border);
    border-radius:15px;
    background:#fff;
    box-shadow:0 2px 8px rgba(15,23,42,.03);
    transition:border-color var(--auth-transition), box-shadow var(--auth-transition), transform var(--auth-transition);
  }
  .auth-input:focus-within{
    border-color:rgba(14,165,233,.72);
    box-shadow:0 0 0 4px rgba(14,165,233,.14), 0 8px 18px rgba(15,23,42,.06);
    transform:translateY(-1px);
  }
  .auth-input i{
    width:46px;
    flex:0 0 46px;
    display:grid;
    place-items:center;
    color:var(--auth-muted-2);
    font-size:1rem;
  }
  .auth-input input{
    width:100%;
    min-width:0;
    height:44px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--auth-text);
    font-size:.92rem;
    font-weight:650;
    padding:0 14px 0 0;
  }
  .auth-input input::placeholder{
    color:#aab5c4;
    font-weight:500;
  }
  .auth-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:2px;
  }
  .auth-options .form-check-label{
    color:#475569;
    font-size:.84rem;
    font-weight:700;
  }
  .auth-options .form-check-input{
    border-color:#cbd5e1;
    cursor:pointer;
  }
  .auth-options .form-check-input:checked{
    background-color:var(--auth-cyan-strong);
    border-color:var(--auth-cyan-strong);
  }
  .auth-link{
    color:var(--auth-cyan-strong);
    font-size:.84rem;
    font-weight:900;
    text-decoration:none;
  }
  .auth-link:hover{text-decoration:underline}
  .auth-recaptcha{
    display:flex;
    justify-content:center;
    min-height:72px;
    padding-top:2px;
    overflow:hidden;
  }
  .auth-submit{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    border:0;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(135deg, var(--auth-cyan-strong) 0%, var(--auth-cyan) 52%, var(--auth-violet) 100%);
    box-shadow:0 16px 32px rgba(14,165,233,.24);
    font-size:.95rem;
    font-weight:950;
    letter-spacing:-.01em;
    cursor:pointer;
    transition:transform var(--auth-transition), box-shadow var(--auth-transition), filter var(--auth-transition);
  }
  .auth-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 40px rgba(14,165,233,.30);
    filter:saturate(1.06);
  }
  .auth-submit:active{transform:translateY(0)}
  .auth-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:12px 0 12px;
    color:#94a3b8;
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.045em;
  }
  .auth-divider::before,
  .auth-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:var(--auth-border);
  }
  .auth-oauth{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
  }
  .auth-oauth-btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid var(--auth-border);
    border-radius:15px;
    background:#fff;
    color:#334155;
    font-size:.84rem;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 2px 8px rgba(15,23,42,.03);
    transition:border-color var(--auth-transition), transform var(--auth-transition), box-shadow var(--auth-transition), background var(--auth-transition);
  }
  .auth-oauth-btn:hover{
    transform:translateY(-1px);
    border-color:#cbd5e1;
    box-shadow:0 10px 22px rgba(15,23,42,.08);
    background:#f8fafc;
  }
  .auth-oauth-btn--google i{color:#dc2626}
  .auth-oauth-btn--orcid i{color:#6aa84f}
  .auth-oauth-btn--linkedin i{color:#0a66c2}
  .auth-register-box{
    margin-top:14px;
    padding:13px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:linear-gradient(135deg, #eff6ff, #f8fafc);
  }
  .auth-register-box span{
    color:#475569;
    font-size:.85rem;
    font-weight:700;
  }
  .auth-register-box a{
    color:var(--auth-cyan-strong);
    font-size:.86rem;
    font-weight:950;
    text-decoration:none;
    white-space:nowrap;
  }
  .auth-register-box a:hover{text-decoration:underline}
  .auth-help-text{
    margin:10px 0 0 !important;
    color:#64748b !important;
    font-size:.80rem !important;
    text-align:center;
  }
  .scroll-hint{
    position:absolute;
    left:50%;
    bottom:22px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    color:rgba(255,255,255,.74);
    background:rgba(255,255,255,.08);
    text-decoration:none;
    font-size:.78rem;
    font-weight:800;
    opacity:0;
    transform:translate(-50%, 8px);
    transition:opacity var(--auth-transition), transform var(--auth-transition), background var(--auth-transition);
  }
  .scroll-hint:hover{
    color:#fff;
    background:rgba(255,255,255,.12);
  }
  .scroll-hint--visible{
    opacity:1;
    transform:translate(-50%, 0);
  }
  .scroll-hint i{animation:authBounce 1.6s ease-in-out infinite}
  @keyframes authBounce{
    0%, 100%{transform:translateY(0)}
    50%{transform:translateY(3px)}
  }
  
  /* =========================
     CONTEÚDO INSTITUCIONAL
  ========================= */
  .after-login{
    background:
      radial-gradient(circle at 0 10%, rgba(14,165,233,.07), transparent 32%),
      radial-gradient(circle at 100% 18%, rgba(124,58,237,.06), transparent 34%),
      #f6f8fb;
  }
  .sig-section{
    padding:74px 18px;
  }
  .sig-section--first{padding-top:86px}
  .sig-section--soft{background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(248,250,252,.94))}
  .sig-container{
    width:min(1180px, 100%);
    margin:0 auto;
  }
  .sig-hero-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:22px;
    align-items:end;
    padding:28px;
    border:1px solid rgba(7,89,133,.14);
    border-radius:26px;
    background:
      radial-gradient(circle at 0 0, rgba(14,165,233,.12), transparent 36%),
      linear-gradient(135deg, #ffffff, #f0f9ff);
    box-shadow:var(--auth-shadow-sm);
  }
  .sig-eyebrow{
    color:var(--auth-cyan-strong);
    background:rgba(14,165,233,.10);
    border:1px solid rgba(14,165,233,.16);
  }
  .sig-eyebrow--light{
    background:#fff;
    border-color:var(--auth-border);
  }
  .sig-hero-copy h2,
  .sig-section-header h2{
    margin:14px 0 10px;
    color:var(--auth-text);
    font-weight:950;
    line-height:1.1;
    letter-spacing:-.045em;
  }
  .sig-hero-copy h2{font-size:clamp(1.8rem, 4vw, 3rem);max-width:760px}
  .sig-section-header h2{font-size:clamp(1.55rem, 3vw, 2.35rem)}
  .sig-hero-copy p,
  .sig-section-header p{
    margin:0;
    max-width:760px;
    color:var(--auth-muted);
    line-height:1.7;
  }
  .sig-hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .sig-btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 16px;
    border-radius:999px;
    font-size:.86rem;
    font-weight:900;
    text-decoration:none;
    transition:transform var(--auth-transition), background var(--auth-transition), border-color var(--auth-transition);
  }
  .sig-btn:hover{transform:translateY(-1px)}
  .sig-btn--primary{
    color:#fff;
    background:var(--auth-cyan-strong);
    border:1px solid var(--auth-cyan-strong);
    box-shadow:0 12px 24px rgba(7,89,133,.18);
  }
  .sig-btn--ghost{
    color:var(--auth-cyan-strong);
    background:#fff;
    border:1px solid #bae6fd;
  }
  .sig-stats{
    margin-top:14px;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:11px;
  }
  .sig-stat-card{
    min-height:124px;
    padding:20px;
    border:1px solid var(--auth-border);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--auth-shadow-sm);
  }
  .sig-stat-card strong{
    display:block;
    color:var(--auth-text);
    font-size:2rem;
    line-height:1;
    font-weight:950;
    letter-spacing:-.05em;
  }
  .sig-stat-card span{
    display:block;
    margin-top:12px;
    color:var(--auth-muted);
    font-size:.88rem;
    line-height:1.55;
  }
  .sig-section-header{
    max-width:790px;
    margin-bottom:26px;
  }
  .sig-feature-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:16px;
  }
  .sig-feature-card{
    min-height:220px;
    padding:24px;
    border:1px solid var(--auth-border);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--auth-shadow-sm);
    transition:transform var(--auth-transition), box-shadow var(--auth-transition), border-color var(--auth-transition);
  }
  .sig-feature-card:hover{
    transform:translateY(-3px);
    border-color:#bae6fd;
    box-shadow:var(--auth-shadow-md);
  }
  .sig-feature-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
    border-radius:16px;
    color:var(--auth-cyan-strong);
    background:var(--auth-cyan-soft);
  }
  .sig-feature-card h3{
    margin:0 0 8px;
    color:var(--auth-text);
    font-size:1.05rem;
    font-weight:950;
  }
  .sig-feature-card p{
    margin:0;
    color:var(--auth-muted);
    line-height:1.65;
    font-size:.91rem;
  }
  .sig-journey{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:11px;
  }
  .sig-step-card{
    position:relative;
    min-height:190px;
    padding:24px;
    overflow:hidden;
    border:1px solid var(--auth-border);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--auth-shadow-sm);
  }
  .sig-step-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:32px;
    border-radius:999px;
    color:var(--auth-cyan-strong);
    background:var(--auth-cyan-soft);
    font-weight:950;
    font-size:.82rem;
  }
  .sig-step-card h3{
    margin:18px 0 8px;
    color:var(--auth-text);
    font-size:1rem;
    font-weight:950;
  }
  .sig-step-card p{
    margin:0;
    color:var(--auth-muted);
    font-size:.88rem;
    line-height:1.6;
  }
  
  /* =========================
     FOOTER
  ========================= */
  .site-footer{
    padding:52px 18px 24px;
    color:rgba(255,255,255,.72);
    background:
      radial-gradient(circle at 10% 0, rgba(14,165,233,.16), transparent 32%),
      linear-gradient(135deg, #020617, #0f172a);
  }
  .footer-wrap{
    width:min(1180px, 100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:30px;
  }
  .footer-col img{
    max-height:78px;
    width:auto;
    margin-bottom:16px;
  }
  .footer-col h5{
    margin:0 0 12px;
    color:#fff;
    font-size:.92rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.045em;
  }
  .footer-col p{
    margin:0;
    max-width:480px;
    font-size:.9rem;
    line-height:1.75;
  }
  .footer-list{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:8px;
  }
  .footer-list a{
    color:rgba(255,255,255,.76);
    text-decoration:none;
    font-size:.9rem;
  }
  .footer-list a:hover{color:#fff;text-decoration:underline}
  .footer-bottom{
    width:min(1180px, 100%);
    margin:34px auto 0;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.10);
    color:rgba(255,255,255,.52);
    font-size:.82rem;
    text-align:center;
  }
  
  /* =========================
     RESPONSIVIDADE
  ========================= */
  @media (max-width:1080px){
    .auth-card{
      grid-template-columns:1fr;
      max-width:720px;
      margin:0 auto;
    }
    .auth-showcase{
      min-height:auto;
      padding:34px;
    }
    .auth-showcase h1{
      margin-top:22px;
    }
    .auth-benefit-grid{
      margin-top:26px;
      padding-top:0;
    }
    .auth-panel{
      padding:34px;
    }
    .sig-stats,
    .sig-journey{
      grid-template-columns:repeat(2, minmax(0,1fr));
    }
    .sig-feature-grid{
      grid-template-columns:repeat(2, minmax(0,1fr));
    }
  }
  
  @media (max-width:820px){
    .auth-topbar{
      top:10px;
      border-radius:18px;
    }
    .auth-topbar__inner{
      min-height:54px;
    }
    .auth-menu-toggle{display:block}
    .auth-nav{
      position:absolute;
      top:calc(100% + 10px);
      left:0;
      right:0;
      display:none;
      padding:10px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:18px;
      background:rgba(2,6,23,.94);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      box-shadow:0 18px 44px rgba(2,6,23,.32);
    }
    .auth-nav.is-open{
      display:grid;
      grid-template-columns:1fr;
    }
    .auth-nav a{
      justify-content:flex-start;
      padding:0 14px;
    }
    .auth-hero{
      padding-top:96px;
    }
    .auth-benefit-grid,
    .auth-oauth{
      grid-template-columns:1fr;
    }
    .auth-showcase::before{display:none}
    .sig-hero-panel{
      grid-template-columns:1fr;
    }
    .sig-hero-actions{
      justify-content:flex-start;
    }
    .footer-wrap{
      grid-template-columns:1fr;
    }
  }
  
  @media (max-width:640px){
    .auth-hero{
      padding-left:12px;
      padding-right:12px;
      padding-bottom:52px;
    }
    .auth-card{
      border-radius:24px;
    }
    .auth-showcase{
      padding:26px;
    }
    .auth-showcase h1{
      font-size:2.45rem;
    }
    .auth-event-card{
      align-items:flex-start;
    }
    .auth-panel{
      padding:26px;
    }
    .auth-panel__logo{
      width:118px;
    }
    .auth-options,
    .auth-register-box{
      align-items:flex-start;
      flex-direction:column;
    }
    .auth-recaptcha{
      transform:scale(.88);
      transform-origin:center top;
      min-height:70px;
    }
    .scroll-hint{
      display:none;
    }
    .sig-section{
      padding:52px 14px;
    }
    .sig-hero-panel{
      padding:22px;
      border-radius:22px;
    }
    .sig-stats,
    .sig-feature-grid,
    .sig-journey{
      grid-template-columns:1fr;
    }
  }
  
  @media (max-width:420px){
    .auth-brand img{
      height:34px;
    }
    .auth-topbar__inner{
      padding-left:12px;
    }
    .auth-showcase,
    .auth-panel{
      padding:22px;
    }
    .auth-event-card{
      padding:14px;
    }
  }
  
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
      scroll-behavior:auto !important;
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
    }
  }
  
  /* Ajustes v2: OAuth priorizado no topo e card mais compacto */
  .auth-fast-access .auth-oauth{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .auth-fast-access .auth-oauth-btn{
    border-radius:13px;
  }
  @media (min-width:1081px){
    .auth-panel{
      min-height:520px;
    }
  }
  @media (max-width:1080px){
    .auth-card{
      min-height:auto;
    }
  }
  @media (max-height:760px) and (min-width:821px){
    .auth-hero{
      align-items:flex-start;
      padding-top:88px;
      padding-bottom:30px;
    }
    .auth-showcase h1{
      font-size:clamp(2.05rem, 4vw, 3.2rem);
    }
    .auth-benefit-grid{
      display:none;
    }
    .auth-panel{
      padding-top:26px;
      padding-bottom:26px;
    }
  }
  
  @media (max-width:820px){
    .auth-fast-access .auth-oauth{
      grid-template-columns:1fr;
    }
  }
  
  /* =====================================================================
     Ajustes v3 — card mais largo e menos alto no desktop
     Objetivo: aproximar a proporção da tela em zoom-out, evitando que o
     login fique verticalizado demais em resoluções comuns.
     ===================================================================== */
  @media (min-width:1081px){
    :root{
      --auth-topbar-h:64px;
    }
  
    .auth-topbar{
      top:12px;
      width:min(1160px, calc(100% - 56px));
      border-radius:20px;
    }
  
    .auth-topbar__inner{
      min-height:48px;
      padding:0 12px 0 14px;
    }
  
    .auth-brand img{
      height:30px;
    }
  
    .auth-nav a{
      min-height:34px;
      padding:0 12px;
      font-size:.80rem;
    }
  
    .auth-hero{
      align-items:center;
      padding:calc(var(--auth-topbar-h) + 18px) 28px 34px;
    }
  
    .auth-wrap{
      width:min(1180px, calc(100vw - 88px));
    }
  
    .auth-card{
      grid-template-columns:minmax(0, 1.32fr) minmax(455px, .78fr);
      min-height:500px;
      border-radius:24px;
    }
  
    .auth-showcase{
      padding:24px 28px;
    }
  
    .auth-showcase::before{
      inset:14px;
      border-radius:22px;
    }
  
    .auth-chip,
    .sig-eyebrow{
      padding:.32rem .62rem;
      font-size:.62rem;
    }
  
    .auth-showcase h1{
      margin:18px 0 8px;
      font-size:clamp(2.35rem, 4vw, 3.2rem);
      line-height:.94;
    }
  
    .auth-lead{
      max-width:680px;
      font-size:.88rem;
      line-height:1.48;
    }
  
    .auth-event-card{
      margin-top:18px;
      max-width:100%;
      padding:11px 12px;
      border-radius:16px;
    }
  
    .auth-event-card__logo{
      width:54px;
      height:42px;
      flex-basis:54px;
      border-radius:14px;
    }
  
    .auth-event-card__text strong{
      font-size:.90rem;
    }
  
    .auth-event-card__text span{
      font-size:.76rem;
      line-height:1.35;
    }
  
    .auth-benefit-grid{
      padding-top:18px;
      gap:10px;
    }
  
    .auth-benefit-mini{
      min-height:94px;
      padding:12px;
      border-radius:16px;
    }
  
    .auth-benefit-mini i{
      width:28px;
      height:28px;
      margin-bottom:8px;
      border-radius:10px;
      font-size:.86rem;
    }
  
    .auth-benefit-mini strong{
      font-size:.80rem;
    }
  
    .auth-benefit-mini span{
      margin-top:3px;
      font-size:.70rem;
      line-height:1.35;
    }
  
    .auth-panel{
      min-height:auto;
      justify-content:center;
      padding:22px 30px;
    }
  
    .auth-panel__head{
      margin-bottom:10px;
    }
  
    .auth-panel__logo{
      width:94px;
      margin-bottom:8px;
    }
  
    .auth-panel__tag{
      padding:.24rem .54rem;
      font-size:.62rem;
    }
  
    .auth-panel h2{
      margin:8px 0 3px;
      font-size:1.48rem;
      letter-spacing:-.05em;
    }
  
    .auth-panel p{
      font-size:.80rem;
      line-height:1.42;
    }
  
    .auth-fast-access{
      margin-bottom:10px;
      padding:10px;
      border-radius:16px;
    }
  
    .auth-fast-access__head{
      margin-bottom:8px;
    }
  
    .auth-fast-access__head span{
      font-size:.72rem;
    }
  
    .auth-fast-access__head small{
      min-height:20px;
      padding:0 8px;
      font-size:.60rem;
    }
  
    .auth-oauth{
      gap:8px;
    }
  
    .auth-oauth-btn{
      min-height:38px;
      border-radius:13px;
      font-size:.76rem;
      gap:6px;
    }
  
    .auth-divider,
    .auth-divider--form{
      margin:6px 0 9px;
      gap:10px;
      font-size:.70rem;
    }
  
    .auth-form{
      gap:8px;
    }
  
    .auth-field label{
      margin-bottom:4px;
      font-size:.74rem;
    }
  
    .auth-input{
      min-height:38px;
      border-radius:13px;
    }
  
    .auth-input i{
      width:40px;
      flex-basis:40px;
      font-size:.90rem;
    }
  
    .auth-input input{
      height:38px;
      font-size:.84rem;
    }
  
    .auth-options{
      margin-top:0;
    }
  
    .auth-options .form-check-label,
    .auth-link{
      font-size:.76rem;
    }
  
    .auth-recaptcha{
      min-height:60px;
      height:60px;
      padding-top:0;
      align-items:flex-start;
      transform:scale(.78);
      transform-origin:center top;
    }
  
    .auth-submit{
      min-height:42px;
      border-radius:14px;
      font-size:.86rem;
      box-shadow:0 12px 24px rgba(14,165,233,.20);
    }
  
    .auth-register-box{
      margin-top:10px;
      padding:10px 12px;
      border-radius:14px;
    }
  
    .auth-register-box span,
    .auth-register-box a{
      font-size:.78rem;
    }
  
    .auth-help-text{
      margin-top:7px !important;
      font-size:.72rem !important;
      line-height:1.35 !important;
    }
  
    .scroll-hint{
      bottom:14px;
      padding:7px 11px;
      font-size:.72rem;
    }
  }
  
  @media (min-width:1081px) and (max-height:820px){
    .auth-hero{
      align-items:flex-start;
      padding-top:82px;
    }
  
    .auth-card{
      min-height:470px;
    }
  
    .auth-showcase h1{
      font-size:clamp(2.10rem, 3.7vw, 2.85rem);
    }
  
    .auth-lead{
      font-size:.82rem;
    }
  
    .auth-benefit-grid{
      padding-top:14px;
    }
  
    .auth-benefit-mini{
      min-height:84px;
      padding:10px;
    }
  
    .auth-benefit-mini span{
      font-size:.67rem;
    }
  
    .auth-panel{
      padding-top:18px;
      padding-bottom:18px;
    }
  
    .auth-panel__logo{
      width:84px;
    }
  
    .auth-panel h2{
      font-size:1.36rem;
    }
  
    .auth-recaptcha{
      transform:scale(.72);
      min-height:56px;
      height:56px;
    }
  }
  
  @media (min-width:1280px){
    .auth-wrap{
      width:min(1220px, calc(100vw - 110px));
    }
  
    .auth-card{
      grid-template-columns:minmax(0, 1.38fr) minmax(470px, .78fr);
    }
  }
  
  
  /* Ajustes v4 solicitados: topbar proporcional, logo central no login e chip do evento */
  @media (min-width:1081px){
    .auth-topbar,
    .auth-wrap{
      width:min(var(--auth-shell-w), calc(100% - 36px));
    }
  }
  
  @media (max-width:820px){
    .auth-panel__logo-box{
      width:66px;
      height:66px;
      border-radius:20px;
    }
    .auth-panel__logo{
      width:52px;
      height:52px;
    }
    .auth-event-card__logo{
      width:56px;
      height:44px;
      flex-basis:56px;
    }
  }
  
  
  /* Ajustes v5 solicitados:
     - topbar proporcional à largura real do card;
     - logo do login centralizada no box arredondado;
     - logo oficial do 13º PDPETRO dentro do chip do evento;
     - remoção do texto "Ou acesse com" do chip de acesso rápido. */
  
  @media (min-width:1081px){
    .auth-topbar,
    .auth-wrap{
      width:min(var(--auth-shell-w), calc(100vw - 36px));
    }
  }
  
  @media (min-width:1280px){
    .auth-topbar,
    .auth-wrap{
      width:min(1220px, calc(100vw - 110px));
    }
  }
  
  .auth-panel__logo-box{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:74px;
    height:74px;
    padding:9px;
    margin:0 auto 10px;
    border-radius:24px;
    background:
      radial-gradient(circle at 26% 16%, rgba(255,255,255,.96), transparent 38%),
      linear-gradient(145deg, #ffffff 0%, #eef7ff 54%, #e0f2fe 100%);
    border:1px solid rgba(186,230,253,.9);
    box-shadow:
      0 16px 34px rgba(15,23,42,.12),
      inset 0 1px 0 rgba(255,255,255,.9);
    line-height:0;
  }
  
  .auth-panel__logo{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    margin:0 !important;
    transform:none !important;
  }
  
  .auth-event-card__logo{
    width:70px;
    height:52px;
    flex:0 0 70px;
    padding:7px 8px;
    border-radius:17px;
    background:
      radial-gradient(circle at 20% 18%, rgba(255,255,255,.95), transparent 34%),
      linear-gradient(135deg, #f7efe2 0%, #fff8ea 26%, #d9eff8 58%, #0ea5e9 100%);
    border:1px solid rgba(255,255,255,.40);
    box-shadow:
      0 16px 34px rgba(8,47,73,.24),
      inset 0 1px 0 rgba(255,255,255,.72);
  }
  
  .auth-event-card__logo::before{
    inset:auto -20px -24px auto;
    width:72px;
    height:72px;
    background:radial-gradient(circle, rgba(14,165,233,.26), transparent 62%);
  }
  
  .auth-event-card__logo::after{
    content:"";
    position:absolute;
    inset:-22px auto auto -26px;
    width:74px;
    height:74px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(255,255,255,.55), transparent 65%);
    pointer-events:none;
  }
  
  .auth-event-card__logo img{
    position:relative;
    z-index:3;
    width:100%;
    height:100%;
    max-width:58px;
    max-height:38px;
    object-fit:contain;
    object-position:center center;
    filter:drop-shadow(0 3px 8px rgba(2,6,23,.16));
  }
  
  .auth-event-card__logo.is-fallback{
    background:
      radial-gradient(circle at 20% 18%, rgba(255,255,255,.92), transparent 34%),
      linear-gradient(135deg, #f7efe2 0%, #fff8ea 22%, #0ea5e9 62%, #075985 100%);
  }
  
  .auth-fast-access__head--compact{
    justify-content:flex-end;
    margin-bottom:7px;
  }
  
  .auth-fast-access__head--compact small{
    margin-left:auto;
    color:var(--auth-cyan-strong);
    background:#dff4ff;
    border:1px solid #bae6fd;
    box-shadow:none;
  }
  
  @media (max-width:820px){
    .auth-panel__logo-box{
      width:68px;
      height:68px;
      padding:8px;
    }
  
    .auth-event-card__logo{
      width:62px;
      height:48px;
      flex-basis:62px;
    }
  
    .auth-event-card__logo img{
      max-width:52px;
      max-height:34px;
    }
  }
  
  /* =====================================================================
     Ajustes v6 solicitados:
     - topbar mais alta e ocupando toda a largura da página;
     - botão principal somente em variações de azul;
     - chip/logo do evento quadrado, centralizado e com degradê areia;
     - card do evento clicável abrindo o site do evento em nova aba;
     - remoção do texto interno do bloco de acesso rápido.
     ===================================================================== */
  :root{
    --auth-topbar-h:82px;
  }
  
  .auth-topbar,
  .auth-topbar.is-scrolled{
    top:0;
    left:0;
    width:100%;
    transform:none;
    border-radius:0;
    border-left:0;
    border-right:0;
    border-top:0;
    background:rgba(2, 8, 23, .88);
    box-shadow:0 14px 38px rgba(2,6,23,.28);
  }
  
  .auth-topbar__inner{
    width:min(1280px, calc(100% - 48px));
    min-height:72px;
    margin:0 auto;
    padding:0;
  }
  
  .auth-topbar.is-scrolled .auth-topbar__inner{
    min-height:68px;
  }
  
  .auth-brand img{
    height:38px;
    max-width:118px;
  }
  
  .auth-nav{
    gap:10px;
  }
  
  .auth-nav a{
    min-height:40px;
    padding:0 16px;
    font-size:.88rem;
  }
  
  .auth-nav a:nth-child(2){
    background:linear-gradient(135deg, rgba(14,165,233,.48) 0%, rgba(37,99,235,.44) 100%);
    border-color:rgba(147,197,253,.32);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  }
  
  .auth-hero{
    padding-top:calc(var(--auth-topbar-h) + 22px);
  }
  
  .auth-submit{
    background:linear-gradient(135deg, #075985 0%, #0284c7 48%, #2563eb 100%) !important;
    box-shadow:0 16px 32px rgba(2,132,199,.26) !important;
  }
  
  .auth-submit:hover{
    box-shadow:0 20px 40px rgba(37,99,235,.30) !important;
  }
  
  .auth-event-card{
    position:relative;
    text-decoration:none;
    color:#fff;
    cursor:pointer;
    transition:transform var(--auth-transition), border-color var(--auth-transition), background var(--auth-transition), box-shadow var(--auth-transition);
  }
  
  .auth-event-card:hover{
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.24);
    background:rgba(255,255,255,.14);
    box-shadow:0 16px 34px rgba(2,6,23,.16);
    color:#fff;
  }
  
  .auth-event-card__logo{
    width:58px !important;
    height:58px !important;
    flex:0 0 58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:7px !important;
    overflow:hidden;
    border-radius:15px !important;
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.92), transparent 35%),
      linear-gradient(145deg, #fff9ea 0%, #f3e6cc 38%, #d8c094 68%, #b78f48 100%) !important;
    border:1px solid rgba(255,255,255,.46) !important;
    box-shadow:
      0 14px 30px rgba(76, 52, 18, .18),
      inset 0 1px 0 rgba(255,255,255,.72) !important;
    line-height:0;
  }
  
  .auth-event-card__logo::before{
    inset:-20px -18px auto auto !important;
    width:58px !important;
    height:58px !important;
    background:radial-gradient(circle, rgba(255,255,255,.38), transparent 66%) !important;
  }
  
  .auth-event-card__logo::after{
    content:"";
    position:absolute;
    inset:auto auto -22px -18px;
    width:70px;
    height:70px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(183,143,72,.22), transparent 66%);
    pointer-events:none;
  }
  
  .auth-event-card__logo img{
    position:relative;
    z-index:3;
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:46px !important;
    max-height:46px !important;
    object-fit:contain;
    object-position:center center;
    margin:auto !important;
    filter:drop-shadow(0 2px 6px rgba(2,6,23,.12));
  }
  
  .auth-event-card__logo.is-fallback{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    padding:7px !important;
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.92), transparent 35%),
      linear-gradient(145deg, #fff9ea 0%, #f3e6cc 38%, #d8c094 68%, #b78f48 100%) !important;
  }
  
  .auth-event-card__logo.is-fallback .auth-event-card__logo-main,
  .auth-event-card__logo.is-fallback .auth-event-card__logo-sub{
    display:block;
    color:#17324d;
    text-shadow:0 1px 0 rgba(255,255,255,.35);
  }
  
  .auth-event-card__open{
    margin-left:auto;
    color:rgba(255,255,255,.62);
    font-size:.92rem;
    transition:color var(--auth-transition), transform var(--auth-transition);
  }
  
  .auth-event-card:hover .auth-event-card__open{
    color:#fff;
    transform:translate(1px,-1px);
  }
  
  .auth-panel__logo-box{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  
  .auth-panel__logo{
    display:block !important;
    margin:auto !important;
    object-fit:contain;
    object-position:center center;
  }
  
  .auth-fast-access{
    padding:10px !important;
  }
  
  .auth-fast-access__head,
  .auth-fast-access__head--compact{
    display:none !important;
  }
  
  @media (min-width:1081px){
    .auth-topbar,
    .auth-topbar.is-scrolled{
      width:100%;
    }
  
    .auth-wrap{
      width:min(1220px, calc(100vw - 110px));
    }
  }
  
  @media (min-width:1280px){
    .auth-topbar,
    .auth-topbar.is-scrolled{
      width:100%;
    }
  
    .auth-wrap{
      width:min(1220px, calc(100vw - 110px));
    }
  }
  
  @media (max-width:820px){
    :root{
      --auth-topbar-h:72px;
    }
  
    .auth-topbar__inner{
      width:calc(100% - 28px);
      min-height:64px;
    }
  
    .auth-brand img{
      height:34px;
    }
  
    .auth-event-card__logo{
      width:54px !important;
      height:54px !important;
      flex-basis:54px !important;
    }
  
    .auth-event-card__logo img{
      max-width:42px !important;
      max-height:42px !important;
    }
  }
  
  /* =====================================================================
     Ajustes v7 solicitados:
     - bloco de acesso rápido mais limpo;
     - hover sutil nos provedores conforme a cor do ícone;
     - chip da logo do SIG maior e com centralização reforçada.
     ===================================================================== */
  
  .auth-panel__head{
    text-align:center;
  }
  
  .auth-panel__logo-box{
    width:88px !important;
    height:88px !important;
    min-width:88px !important;
    min-height:88px !important;
    padding:12px !important;
    margin:0 auto 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    aspect-ratio:1 / 1;
    border-radius:26px !important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255,255,255,.98), transparent 38%),
      linear-gradient(145deg, #ffffff 0%, #f1faff 46%, #e0f2fe 100%) !important;
    border:1px solid rgba(186,230,253,.95) !important;
    box-shadow:
      0 18px 38px rgba(15,23,42,.12),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
    overflow:hidden;
    line-height:0;
  }
  
  .auth-panel__logo{
    width:68px !important;
    height:68px !important;
    max-width:68px !important;
    max-height:68px !important;
    display:block !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    transform:translateY(1px) !important;
  }
  
  .auth-panel__tag{
    margin:0 auto;
  }
  
  .auth-fast-access{
    margin:12px 0 12px !important;
    padding:12px !important;
    border-radius:20px !important;
    border:1px solid rgba(186,230,253,.85) !important;
    background:
      radial-gradient(circle at 0 0, rgba(14,165,233,.10), transparent 42%),
      linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.96)) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.055) !important;
  }
  
  .auth-fast-access__head,
  .auth-fast-access__head--compact{
    display:none !important;
  }
  
  .auth-fast-access__label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:26px;
    width:max-content;
    margin:0 auto 10px;
    padding:0 11px;
    border-radius:999px;
    color:#075985;
    background:linear-gradient(135deg, #e0f2fe 0%, #eff6ff 100%);
    border:1px solid #bae6fd;
    font-size:.68rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.055em;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  }
  
  .auth-fast-access__label i{
    font-size:.72rem;
    line-height:1;
  }
  
  .auth-oauth{
    gap:10px !important;
  }
  
  .auth-oauth-btn{
    min-height:42px !important;
    border-radius:15px !important;
    background:#ffffff !important;
    border-color:#dbe4ef !important;
    color:#334155 !important;
    box-shadow:0 2px 8px rgba(15,23,42,.035) !important;
    transition:
      transform var(--auth-transition),
      box-shadow var(--auth-transition),
      background var(--auth-transition),
      border-color var(--auth-transition),
      color var(--auth-transition) !important;
  }
  
  .auth-oauth-btn:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 12px 24px rgba(15,23,42,.075) !important;
  }
  
  .auth-oauth-btn--google:hover{
    background:#fff5f5 !important;
    border-color:#fecaca !important;
    color:#991b1b !important;
  }
  
  .auth-oauth-btn--orcid:hover{
    background:#f2fbef !important;
    border-color:#cdebc6 !important;
    color:#2f6f22 !important;
  }
  
  .auth-oauth-btn--linkedin:hover{
    background:#eff6ff !important;
    border-color:#bfdbfe !important;
    color:#075985 !important;
  }
  
  .auth-oauth-btn--google:hover i{color:#dc2626 !important;}
  .auth-oauth-btn--orcid:hover i{color:#6aa84f !important;}
  .auth-oauth-btn--linkedin:hover i{color:#0a66c2 !important;}
  
  @media (min-width:1081px){
    .auth-panel__head{
      margin-bottom:12px !important;
    }
  
    .auth-panel__logo-box{
      width:84px !important;
      height:84px !important;
      min-width:84px !important;
      min-height:84px !important;
      padding:11px !important;
    }
  
    .auth-panel__logo{
      width:64px !important;
      height:64px !important;
      max-width:64px !important;
      max-height:64px !important;
    }
  }
  
  @media (max-width:820px){
    .auth-panel__logo-box{
      width:82px !important;
      height:82px !important;
      min-width:82px !important;
      min-height:82px !important;
      padding:11px !important;
    }
  
    .auth-panel__logo{
      width:62px !important;
      height:62px !important;
      max-width:62px !important;
      max-height:62px !important;
    }
  
    .auth-oauth{
      grid-template-columns:1fr !important;
    }
  }
  
  
  /* =====================================================================
     Ajustes v8: inclusão do 12º PDPETRO e lista de eventos na vitrine.
     ===================================================================== */
  .auth-events-list{
    width:100%;
    max-width:620px;
    margin-top:22px;
    display:grid;
    gap:12px;
  }
  
  .auth-events-list .auth-event-card{
    margin-top:0;
    width:100%;
    max-width:620px;
  }
  
  .auth-event-card--sand .auth-event-card__logo{
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.92), transparent 35%),
      linear-gradient(145deg, #fff9ea 0%, #f3e6cc 38%, #d8c094 68%, #b78f48 100%) !important;
    border-color:rgba(255,255,255,.46) !important;
    box-shadow:
      0 14px 30px rgba(76, 52, 18, .18),
      inset 0 1px 0 rgba(255,255,255,.72) !important;
  }
  
  .auth-event-card--sand .auth-event-card__logo::after{
    background:radial-gradient(circle, rgba(183,143,72,.22), transparent 66%);
  }
  
  .auth-event-card--gray .auth-event-card__logo{
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.96), transparent 36%),
      linear-gradient(145deg, #f7f7f7 0%, #ededed 34%, #c7c7c7 66%, #888 100%) !important;
    border-color:rgba(220,220,220,.76) !important;
    box-shadow:
      0 14px 30px rgba(100, 100, 100, .18),
      inset 0 1px 0 rgba(255,255,255,.82) !important;
  }

  .auth-event-card--gray .auth-event-card__logo img {
    filter: grayscale(1) !important;
    -webkit-filter: grayscale(1) !important;
  }
  
  .auth-event-card--gray .auth-event-card__logo::before{
    background:radial-gradient(circle, rgba(255,255,255,.42), transparent 66%) !important;
  }
  
  .auth-event-card--gray .auth-event-card__logo::after{
    background:radial-gradient(circle, rgba(128,128,128,.26), transparent 66%);
  }
  
  .auth-event-card--gray .auth-event-card__logo.is-fallback{
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.96), transparent 36%),
      linear-gradient(145deg, #f7f7f7 0%, #ededed 34%, #c7c7c7 66%, #888 100%) !important;
  }
  
  .auth-event-card--gray .auth-event-card__logo.is-fallback .auth-event-card__logo-main,
  .auth-event-card--gray .auth-event-card__logo.is-fallback .auth-event-card__logo-sub{
    color:#444;
    text-shadow:0 1px 0 rgba(255,255,255,.45);
  }
  
  .auth-event-card--blue .auth-event-card__logo{
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.96), transparent 36%),
      linear-gradient(145deg, #f3fbff 0%, #dff4ff 34%, #a7d8f5 66%, #5ba8d8 100%) !important;
    border-color:rgba(219,244,255,.76) !important;
    box-shadow:
      0 14px 30px rgba(14, 116, 144, .18),
      inset 0 1px 0 rgba(255,255,255,.82) !important;
  }
  
  .auth-event-card--blue .auth-event-card__logo::before{
    background:radial-gradient(circle, rgba(255,255,255,.42), transparent 66%) !important;
  }
  
  .auth-event-card--blue .auth-event-card__logo::after{
    background:radial-gradient(circle, rgba(56,189,248,.26), transparent 66%);
  }
  
  .auth-event-card--blue .auth-event-card__logo.is-fallback{
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.96), transparent 36%),
      linear-gradient(145deg, #f3fbff 0%, #dff4ff 34%, #a7d8f5 66%, #5ba8d8 100%) !important;
  }
  
  .auth-event-card--blue .auth-event-card__logo.is-fallback .auth-event-card__logo-main,
  .auth-event-card--blue .auth-event-card__logo.is-fallback .auth-event-card__logo-sub{
    color:#075985;
    text-shadow:0 1px 0 rgba(255,255,255,.45);
  }
  
  @media (max-width:980px){
    .auth-events-list{
      max-width:none;
    }
  }
  
  @media (max-width:640px){
    .auth-events-list{
      margin-top:18px;
      gap:10px;
    }
  }
  
  /* =====================================================================
     Ajustes v9: cards de eventos alinhados à largura dos cards inferiores.
     ===================================================================== */
  .auth-events-list{
    max-width:none !important;
    width:100% !important;
  }
  
  .auth-events-list .auth-event-card{
    max-width:none !important;
    width:100% !important;
  }
  
  @media (min-width:981px){
    .auth-events-list{
      padding-right:0 !important;
    }
  }

  /* =====================================================================
     Ajuste v10 — topbar oculta no topo e aparece quando a página é rolada.
     Mantém a topbar atual, alterando apenas o comportamento visual no scroll.
     ===================================================================== */
  .auth-topbar{
    will-change:transform, opacity;
    transition:
      background var(--auth-transition),
      box-shadow var(--auth-transition),
      top var(--auth-transition),
      border-color var(--auth-transition),
      transform 260ms ease,
      opacity 180ms ease;
  }

  .auth-topbar.is-hidden{
    opacity:0;
    pointer-events:none;
    transform:translateY(-110%) !important;
  }

/* =====================================================================
   Ajuste v11 — card central mais alto com a topbar oculta no topo.
   Altera apenas o posicionamento vertical do bloco principal no desktop.
   ===================================================================== */
@media (min-width:821px){
  .auth-hero{
    align-items:flex-start !important;
    padding-top:84px !important;
  }
}

@media (min-width:821px) and (max-height:820px){
  .auth-hero{
    padding-top:52px !important;
  }
}
