* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #e5e7eb;
  background: #0b1020;
  font-family: "Noto Sans KR", "Noto Sans", "Apple SD Gothic Neo", Arial, sans-serif;
}
main {
  width: min(440px, 100%);
  padding: 28px;
  border: 1px solid rgba(226, 232, 240, 0.14);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.84);
}
.label { margin: 0 0 8px; color: #5eead4; font-size: 13px; font-weight: 900; }
h1 { margin: 0 0 8px; font-size: 26px; line-height: 1.16; }
.hint { margin: 0 0 22px; color: #a7b3c6; font-size: 14px; line-height: 1.55; white-space: pre-line; }
form { display: grid; gap: 14px; }
label { display: grid; gap: 7px; color: #cbd5e1; font-size: 13px; font-weight: 900; }
input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid rgba(226, 232, 240, 0.18);
  border-radius: 8px;
  color: #f8fafc;
  background: rgba(2, 6, 23, 0.62);
  font: inherit;
}
input:focus { border-color: rgba(94, 234, 212, 0.62); outline: none; }
select {
  width: 100%;
  min-height: 42px;
  padding: 10px 34px 10px 12px;
  border: 1px solid rgba(226, 232, 240, 0.18);
  border-radius: 8px;
  color: #f8fafc;
  background: rgba(2, 6, 23, 0.62);
  font: inherit;
}
select:focus { border-color: rgba(94, 234, 212, 0.62); outline: none; }
button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  color: #042f2e;
  background: #5eead4;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
button:disabled { cursor: wait; opacity: 0.74; }
.error,
.status { min-height: 20px; margin: 4px 0 0; color: #fca5a5; font-size: 13px; line-height: 1.45; }
.auth-language-control {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(226, 232, 240, 0.12);
}
.diagnostic-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  background: rgba(2, 6, 23, 0.36);
}
.diagnostic-list div { display: grid; gap: 4px; }
.diagnostic-list dt { color: #94a3b8; font-size: 12px; font-weight: 900; }
.diagnostic-list dd { margin: 0; color: #e5e7eb; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.action-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(226, 232, 240, 0.2);
  border-radius: 8px;
  color: #e5e7eb;
  background: rgba(15, 23, 42, 0.92);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}
.button-link.primary { color: #042f2e; background: #5eead4; }