:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; }
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: #0b1220;
  color: #e8eefc;
}

.wrap { width: 100%; padding: 18px; max-width: 460px; }

.card {
  background: #121b2f;
  border: 1px solid #233055;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}

.brand {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom: 14px;
}

.brand img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 12px;
  background: #0b1220;
  border: 1px solid #233055;
  padding: 6px;
}

.title { font-size: 20px; font-weight: 800; line-height: 1.1; }
.subtitle { font-size: 13px; opacity: .8; margin-top: 2px; }

label { display:block; margin: 10px 0 6px; font-size: 13px; opacity: .9; }

input {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #2a3a66;
  background: #0b1220;
  color: #e8eefc;
  font-size: 14px;
  box-sizing: border-box;
}

button {
  width: 100%;
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  background: #3b82f6;
  color: white;
  font-weight: 800;
}

button:hover { filter: brightness(1.06); }

.err {
  margin-top: 10px;
  min-height: 18px;
  font-size: 13px;
  color: #ffb4b4;
}

input[type="email"],
input[type="password"] {
  width: 100%;
  padding: 12px 14px;
  margin-top: 6px;
  background: #0b1220;
  border: 1px solid #233055;
  border-radius: 10px;
  color: #e8eefc;
  font-size: 14px;
  box-sizing: border-box;
}

input::placeholder {
  color: #9aa7d1;
}

input:focus {
  outline: none;
  border-color: #4c7dff;
  box-shadow: 0 0 0 2px rgba(76, 125, 255, 0.25);
}

.msg {
  margin-top: 10px;
  min-height: 18px;
  font-size: 13px;
  color: #b9c8ff;
  opacity: .95;
}
