/* Login and password-setup pages, in the shop's brand (helloachi.co.il). */
:root {
  --navy: #25408f;
  --green: #41ad49;
  --sky: #88e6ff;
  --wave: #1fa3dc;
  --ink: #1d2a4d;
  --muted: #5d6b8a;
  --field: #f2f5fb;
  --line: #d9e1ef;
  --danger: #c8382c;
  --danger-soft: #fdecea;
  --card: #ffffff;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  margin: 0;
  min-height: 100vh;
  font: 16px/1.5 "Heebo", "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--sky);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 100px 16px 140px; /* room above for the logo circle that sticks out of the card */
  position: relative;
  overflow-x: hidden;
}

/* The two waves from the shop's website, anchored to the bottom of the page. */
.waves { position: fixed; inset: auto 0 0 0; height: 220px; z-index: 0; pointer-events: none; }
.waves svg { width: 100%; height: 100%; display: block; }

.auth {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 380px;
  background: var(--card);
  border-radius: 22px;
  padding: 28px 24px 24px;
  box-shadow: 0 18px 50px rgba(37, 64, 143, 0.22);
}

.auth .brand { display: flex; justify-content: center; margin: -78px auto 6px; }
.auth .brand .circle {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 24px rgba(37, 64, 143, 0.18);
  display: grid;
  place-items: center;
}
.auth .brand img { width: 96px; height: auto; }

.auth h1 { font-size: 22px; font-weight: 800; color: var(--navy); text-align: center; margin: 10px 0 2px; }
.auth .sub { text-align: center; color: var(--muted); font-size: 14px; margin-bottom: 22px; }

.auth form { display: flex; flex-direction: column; gap: 14px; }
.auth label { display: flex; flex-direction: column; gap: 5px; font-size: 14px; font-weight: 500; color: var(--ink); }
.auth input[type=text], .auth input[type=password], .auth input:not([type]) {
  width: 100%;
  font: inherit;
  font-size: 16px;
  color: var(--ink);
  background: var(--field);
  border: 1.5px solid var(--line);
  border-radius: 12px;
  padding: 11px 14px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.auth input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(65, 173, 73, 0.18); background: #fff; }

.auth .pw { position: relative; display: block; }
.auth .pw input { padding-left: 70px; }
.auth .show {
  position: absolute; left: 8px; top: 50%; transform: translateY(-50%);
  border: 0; background: none; color: var(--navy); font: inherit; font-size: 13px; font-weight: 600;
  cursor: pointer; padding: 6px;
}

.auth .check { flex-direction: row; align-items: center; gap: 8px; font-weight: 400; color: var(--muted); }
.auth .check input { width: 18px; height: 18px; accent-color: var(--green); }

.auth .btn {
  margin-top: 4px;
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 13px;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  background: var(--navy);
  cursor: pointer;
  transition: background .15s, transform .05s;
}
.auth .btn:hover { background: #1d3478; }
.auth .btn:active { transform: translateY(1px); }
.auth .btn:disabled { opacity: .65; cursor: default; }

.auth .error { background: var(--danger-soft); color: var(--danger); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.auth .user { background: #ecf8ee; color: var(--ink); border-radius: 10px; padding: 10px 12px; font-size: 15px; }
.auth .user b { color: var(--green); }

.foot { position: relative; z-index: 1; margin-top: 18px; color: #fff; font-size: 13px; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .15); }

@media (max-height: 640px) {
  body { padding-bottom: 60px; justify-content: flex-start; }
  .waves { height: 120px; }
}
