:root{
    --bg: #0b0f17;
    --card: rgba(255,255,255,.08);
    --border: rgba(255,255,255,.14);
    --text: rgba(255,255,255,.92);
    --muted: rgba(255,255,255,.60);
    --accent: #f7c84b;
  }
  
  .auth-body{
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
  }
  
  .auth-wrap{
    min-height: 100vh;
    position: relative;
    overflow: hidden;
  }
  
  /* fundo com glow + textura */
  .auth-wrap::before{
    content: "";
    position: absolute;
    inset: -120px;
    background:
      radial-gradient(900px 450px at 20% 20%, rgba(247,200,75,.18), transparent 60%),
      radial-gradient(900px 450px at 80% 30%, rgba(99,102,241,.12), transparent 60%),
      radial-gradient(900px 450px at 40% 90%, rgba(16,185,129,.10), transparent 60%),
      linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.78));
    filter: blur(0px);
    z-index: 0;
  }
  
  /* “granulado” leve */
  .auth-wrap::after{
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 18px 18px;
    opacity: .10;
    z-index: 0;
  }
  
  .container{
    position: relative;
    z-index: 1;
  }
  
  /* card glass */
  .auth-card{
    border-radius: 22px;
    padding: 18px;
    border: 1px solid var(--border);
    background: var(--card);
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  
  .auth-head{
    padding: 6px 6px 14px;
  }
  
  .brand{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
  }
  
  .brand .dot{
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 0 22px rgba(247,200,75,.45);
  }
  
  .brand .name{
    font-weight: 800;
    letter-spacing: .2px;
  }
  
  .title{
    margin: 0;
    font-weight: 900;
    font-size: 26px;
  }
  
  .subtitle{
    margin: 6px 0 0;
    color: var(--muted);
  }
  
  .auth-alert{
    border-radius: 14px;
    margin: 8px 6px 10px;
  }
  
  .auth-form{
    padding: 6px;
  }
  
  /* inputs bootstrap ajustados */
  .form-control{
    background: rgba(0,0,0,.35) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: var(--text) !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
  }
  
  .form-control::placeholder{
    color: rgba(255,255,255,.40) !important;
  }
  
  .form-control:focus{
    border-color: rgba(247,200,75,.45) !important;
    box-shadow: 0 0 0 .25rem rgba(247,200,75,.12) !important;
  }
  
  .form-label{
    color: rgba(255,255,255,.80);
    font-size: 13px;
    margin-bottom: 6px;
  }
  
  /* botão principal */
  .auth-btn{
    background: var(--accent);
    border: none;
    color: #0b0f17;
    font-weight: 900;
    padding: 12px 14px;
    border-radius: 999px;
  }
  
  .auth-btn:hover{
    filter: brightness(.96);
  }
  
  /* links */
  .auth-links .link{
    color: rgba(247,200,75,.95);
    text-decoration: none;
    font-weight: 700;
  }
  
  .auth-links .link:hover{
    text-decoration: underline;
  }
  
  .auth-links .sep{
    margin: 0 10px;
    color: rgba(255,255,255,.35);
  }
  
  .auth-links .muted{
    color: rgba(255,255,255,.70);
  }
  
  .auth-footer small{
    color: rgba(255,255,255,.55);
  }
  
  /* mobile */
  @media (max-width: 575px){
    .auth-card{ padding: 16px; }
    .title{ font-size: 24px; }
  }
  