:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #172033;
  background: #eef1f5;
}

* { box-sizing: border-box; }

body { margin: 0; min-width: 320px; }

.login-shell {
  display: grid;
  min-height: 100dvh;
  place-items: center;
  padding: 24px;
}

.login-card {
  width: min(100%, 400px);
  padding: 34px;
  border: 1px solid #d7dde7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(33, 43, 62, 0.1);
}

.brand-logo { width: 42px; height: 42px; }
.eyebrow { margin: 18px 0 5px; color: #0f766e; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
h1 { margin: 0; font-size: 1.8rem; }
.intro { margin: 10px 0 24px; color: #536176; line-height: 1.5; }
form { display: grid; gap: 16px; }
label { display: grid; gap: 7px; font-size: .9rem; font-weight: 700; }
input { width: 100%; padding: 11px 12px; border: 1px solid #c5cedb; border-radius: 7px; font: inherit; }
input:focus { outline: 3px solid rgba(20, 184, 166, .2); border-color: #0f766e; }
button { min-height: 44px; border: 0; border-radius: 7px; background: #0f766e; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: #0b645e; }
.error { margin: 0 0 16px; padding: 10px 12px; border-radius: 7px; background: #fff1f2; color: #be123c; font-size: .9rem; }
