.onboarding-body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 24px;
  background: #f0f1f3;
  color: #152a40;
  font-family: "Malgun Gothic", system-ui, sans-serif;
}
.onboarding-card {
  box-sizing: border-box;
  width: min(100%, 460px);
  padding: clamp(22px, 5vw, 38px);
  border: 1px solid #dce1e7;
  border-radius: 16px;
  background: white;
}
.onboarding-card h1 { font-size: 26px; margin: 20px 0 8px; }
.onboarding-brand { font-weight: 700; color: #173c65; }
.onboarding-card p { margin: 8px 0 18px; line-height: 1.5; }
.onboarding-card form { display: grid; gap: 12px; }
.onboarding-card label { display: grid; gap: 6px; font-weight: 600; }
.onboarding-card input {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #adb9c7;
  border-radius: 7px;
  color: inherit;
  font: inherit;
}
.onboarding-card input[readonly] { background: #f0f1f3; }
.onboarding-consent {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid #dce1e7;
  border-radius: 7px;
}
.onboarding-consent legend { padding: 0 4px; font-size: 14px; font-weight: 700; }
.onboarding-consent p { margin: 0 0 8px; color: #435a71; font-size: 13px; }
.onboarding-consent label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.45; }
.onboarding-consent input { flex: 0 0 17px; width: 17px; height: 17px; margin: 2px 0 0; padding: 0; }
.onboarding-card button, .onboarding-workspace {
  padding: 10px 14px;
  border: 1px solid #164a83;
  border-radius: 7px;
  background: #164a83;
  color: white;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}
.onboarding-card button:disabled { opacity: .55; cursor: wait; }
.onboarding-card .onboarding-hint { margin: -4px 0 0; color: #435a71; font-size: 13px; }
.onboarding-card .onboarding-result { margin: 16px 0 0; padding: 10px; background: #edf3f9; border-radius: 7px; }
.onboarding-result.is-error { color: #8c1b27; background: #fff0f0; }
.onboarding-login { display: inline-block; margin-top: 16px; color: #164a83; }
.onboarding-card [hidden] { display: none; }
#operatorOnboarding { margin-top: 20px; }
#operatorOnboarding .onboarding-operator-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#operatorOnboarding .onboarding-operator-list { display: grid; gap: 12px; margin-top: 12px; }
#operatorOnboarding .onboarding-operator-application { padding: 12px; border: 1px solid #dce1e7; border-radius: 8px; }
#operatorOnboarding .onboarding-operator-application p { margin: 5px 0; overflow-wrap: anywhere; }
#operatorOnboarding .onboarding-operator-details { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 12px; margin: 8px 0; }
#operatorOnboarding .onboarding-operator-details dt { font-weight: 600; }
#operatorOnboarding .onboarding-operator-details dd { margin: 0; overflow-wrap: anywhere; }
#operatorOnboarding .onboarding-operator-actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; }
#operatorOnboarding .onboarding-operator-action-buttons { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
#operatorOnboarding .onboarding-operator-action-buttons .btn { min-height: 40px; }
#operatorOnboarding .onboarding-operator-action-buttons .danger { color: #fff; }
#operatorOnboarding .onboarding-logo-preview { width: 38px; height: 38px; object-fit: contain; }
.onboarding-footer { display: flex; flex-wrap: wrap; column-gap: 14px; }
