/* Small, safe defaults in case login.css is minimal */
    :root{
      --bg:#0e1116; --panel:#141923; --border:#232a36; --text:#e9edf3; --muted:#a9b4c2; --accent:#7aa2ff;
    }
    body{
      margin:0; background:var(--bg); color:var(--text); font:14px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
      min-height:100dvh; display:grid; place-items:center;
    }
    .login-container{
      width:min(440px, 94vw); background:var(--panel); border:1px solid var(--border);
      border-radius:16px; padding:28px; box-shadow:0 10px 30px rgba(0,0,0,.35);
    }
    h1{ margin:0 0 10px; font-size:1.6rem; }
    .sub{ color:var(--muted); margin-bottom:18px; font-size:.92rem; }
    form input{
      width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:10px;
      background:#0f141c; color:var(--text); outline:none;
    }
    form input:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(122,162,255,.15); }
    button[type=submit]{
      width:100%; margin-top:16px; padding:12px 14px; border:0; border-radius:12px;
      background:var(--accent); color:#0b1020; font-weight:700; cursor:pointer;
    }
    button[type=submit]:hover{ filter:saturate(1.1) brightness(1.05); }
    .error{
      padding:10px 12px; border:1px solid #742a2a; background:#2a1214; color:#ffb3b3;
      border-radius:10px; margin:10px 0 6px; font-size:.95rem;
    }
    .flash{
      padding:10px 12px; border:1px solid #2a3a74; background:#10162a; color:#b3c7ff;
      border-radius:10px; margin:10px 0 6px; font-size:.95rem;
    }
    

    .login-title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.6rem;
      font-size: 1.6rem;
      margin-bottom: 1.2rem;
    }
    .login-title img {
      height: 36px;
      width: auto;
    }
    form {
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
    }
    form label {
      font-weight: 600;
      margin-bottom: 0.3rem;
    }
    form input {
      width: 100%;
      padding: 10px 14px; /* Balanced padding */
      border: 1px solid #333;
      border-radius: 6px;
      box-sizing: border-box; /* Prevents overflow */
    }
    form input:focus {
      outline: none;
      border-color: #7aa2ff;
      box-shadow: 0 0 0 3px rgba(122, 162, 255, 0.2);
    }
    button {
      padding: 10px 14px;
      border: none;
      border-radius: 6px;
      background: #7aa2ff;
      color: #fff;
      font-weight: bold;
      cursor: pointer;
    }
    button:hover {
      background: #5c88e6;
    }
    .meta {
      margin-top: 1.4rem;
      text-align: center;
      font-size: 0.95rem;
      color: #aaa;
    }