:root {
  color: #edf5f2;
  background: #060a0b;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    linear-gradient(rgba(105, 255, 212, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(105, 255, 212, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 78% 14%, rgba(58, 255, 194, 0.08), transparent 28rem),
    #060a0b;
  background-size: 42px 42px, 42px 42px, auto, auto;
}

body::before {
  position: fixed;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(transparent 50%, rgba(0, 0, 0, 0.08) 50%);
  background-size: 100% 4px;
  opacity: 0.45;
}

.login-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(230px, 0.75fr) minmax(380px, 1.25fr);
  width: min(920px, calc(100% - 40px));
  min-height: 620px;
  margin: clamp(30px, 8vh, 90px) auto;
  border: 1px solid #223032;
  background: rgba(8, 14, 15, 0.94);
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.46);
}

.brand-panel {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 42px 34px;
  border-right: 1px solid #223032;
  background: rgba(10, 17, 18, 0.78);
}

.brand-mark {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #375051;
  color: #b8ff18;
  font: 800 18px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  box-shadow: inset 0 0 20px rgba(184, 255, 24, 0.05);
}

.brand-name, .brand-subtitle, .eyebrow, .system-state, label, .status {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.brand-name { margin: 3px 0 7px; font-size: 15px; font-weight: 800; letter-spacing: 0.24em; }
.brand-subtitle { margin: 0; color: #758687; font-size: 9px; }

.login-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 7vw, 78px);
}

.system-state {
  display: flex;
  align-items: center;
  gap: 9px;
  align-self: flex-start;
  margin-bottom: 54px;
  color: #5fffd0;
  font-size: 9px;
}

.system-state span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5fffd0;
  box-shadow: 0 0 12px #5fffd0;
}

.eyebrow { margin: 0 0 14px; color: #b8ff18; font-size: 10px; }
h1 { max-width: 500px; margin: 0; font-size: clamp(31px, 5vw, 48px); line-height: 1.04; letter-spacing: -0.045em; }
.intro { max-width: 530px; margin: 22px 0 38px; color: #8d9b9b; font-size: 14px; line-height: 1.7; }

form { display: grid; gap: 11px; }
label { margin-top: 10px; color: #91a09f; font-size: 9px; font-weight: 700; }

input {
  width: 100%;
  height: 50px;
  border: 1px solid #2b3b3d;
  border-radius: 0;
  outline: 0;
  background: #090f10;
  color: #edf5f2;
  padding: 0 15px;
  font: 14px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

input:focus { border-color: #5fffd0; box-shadow: 0 0 0 3px rgba(95, 255, 208, 0.1); }

button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 52px;
  margin-top: 8px;
  border: 1px solid #b8ff18;
  border-radius: 0;
  background: #b8ff18;
  color: #07100b;
  padding: 0 18px;
  cursor: pointer;
  font: 800 11px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 0.12em;
}

button:hover { background: #ccff53; }
button:focus-visible { outline: 3px solid rgba(95, 255, 208, 0.36); outline-offset: 3px; }
button:disabled { cursor: wait; opacity: 0.58; }
.status { min-height: 17px; margin: 3px 0 0; color: #ff6b74; font-size: 9px; letter-spacing: 0.08em; }
.status.pending { color: #f7a34b; }

.security-note {
  display: flex;
  gap: 12px;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid #1e2b2d;
  color: #718080;
  font-size: 11px;
  line-height: 1.55;
}

.security-note > span { color: #5fffd0; }
.security-note p { margin: 0; }
.security-note strong { color: #aebbb9; font-weight: 600; }

@media (max-width: 700px) {
  .login-shell { grid-template-columns: 1fr; width: min(100% - 24px, 520px); margin: 12px auto; }
  .brand-panel { padding: 22px; border-right: 0; border-bottom: 1px solid #223032; }
  .login-panel { padding: 34px 24px 38px; }
  .system-state { margin-bottom: 38px; }
  h1 { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
