:root{
    --bg1:#1c1e21;
    --bg2:#242a2f;
    --card:#1c1e21;
    --field:#242a2f;
    --text:#e4e6eb;
    --muted:#b0b3b8;
    --line:#3a3b3c;
    --primary:#0095f6;
    --primary-hover:#0077cc;
    --radius:12px;
  }

  html,body{height:100%}
  body{
    margin:0;
    font-family: Arial, system-ui, sans-serif;
    background: radial-gradient(120% 120% at 20% 0%, #20262b 0%, var(--bg2) 55%, var(--bg1) 100%);
    display:grid;
    place-items:center;
    color:var(--text);
  }

  .shell{
    width:340px;
    padding:60px 40px 36px;
    background:var(--card);
    border-radius:10px;
    box-shadow:0 6px 24px rgba(0,0,0,.45);
    box-sizing:border-box;
    text-align:center;
    padding-bottom: 60px;
  }

  .logo{
    margin-bottom:30px;
  }
  .logo img{width:64px;height:64px;border-radius:14px}

  h2{
    font-size:18px;
    margin-bottom:8px;
  }
  p{
    font-size:14px;
    color:var(--muted);
    margin-bottom:20px;
  }

  form{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .field{
    height:44px;
    background:var(--field);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:0 14px;
    color:var(--text);
    font-size:14px;
    outline:none;
  }
  .field::placeholder{color:var(--muted)}

  .btn-link{
    display:block;
    height:44px;
    line-height:44px;
    border-radius:999px;
    background:var(--primary);
    color:white;
    font-weight:700;
    font-size:15px;
    text-decoration:none;
    text-align:center;
    cursor:pointer;
    margin-top:6px;
    user-select:none;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
    transition:background .2s;
    border:none;
    outline:none;
    width:100%;
    box-sizing:border-box;
    letter-spacing:.5px;
    font-family: Arial, system-ui, sans-serif;
    /* padding:0 16px; */
  }
  .btn-link:hover{background:var(--primary-hover)}

  .back{
    margin-top:16px;
    font-size:14px;
    color:var(--muted);
    text-align:center;
  }
  .back a{
    color:var(--primary);
    text-decoration:none;
    font-weight:600;
    cursor:pointer;
  }

  .meta{
    margin-top:30px;
    font-size:12px;
    color:var(--muted);
    text-align:center;
  }

  .error{
    color:#ff4d4d;
    font-size:13px;
    margin-top:-4px;
    margin-bottom:6px;
    display:none;  /* hidden initially */
    text-align:left;
    padding-left:4px;
    box-sizing:border-box;
  }