.registration-page {
    background: #f2f5f9;
    color: #26364a;
    min-height: 100vh;
}
.registration-page .registration-shell {
    max-width: 1060px;
    margin: 32px auto;
    padding: 0 20px;
}
.registration-page .registration-entry {
    max-width: 480px;
    margin: 48px auto;
    padding: 0 16px;
}
.registration-page .registration-brand {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}
.registration-page .registration-brand img { width: 76px; height: auto; }
.registration-page h1 { margin: 0 0 8px; font-size: 28px; font-weight: 600; }
.registration-page .registration-brand p { margin: 0; color: #536478; }
.registration-page .registration-entry .registration-brand {
    flex-direction: column;
    text-align: center;
    gap: 16px;
}
.registration-page .registration-steps {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    gap: 12px;
}
.registration-page .registration-steps li {
    flex: 1;
    padding: 12px 16px;
    border-radius: 8px;
    background: #e7ecf2;
    color: #536478;
    font-weight: 600;
}
.registration-page .registration-steps [aria-current="step"] { color: #fff; background: #286090; }
.registration-page .registration-card,
.registration-page .box {
    background: #fff;
    border: 1px solid #dce3ec;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(31, 53, 80, .04);
}
.registration-page .registration-card { padding: 28px; }
.registration-page .registration-card h2 { margin: 0 0 10px; font-size: 21px; }
.registration-page .registration-card > p { color: #536478; margin-bottom: 24px; }
.registration-page .registration-card .form-group { margin-bottom: 20px; }
.registration-page .form-control { min-height: 42px; border-radius: 5px; }
.registration-page .form-control:focus { border-color: #286090; box-shadow: 0 0 0 2px rgba(40, 96, 144, .12); }
.registration-page .form-control[readonly] { background: #f2f5f9; color: #536478; }
.registration-page .help-block { font-size: 13px; margin-bottom: 0; }
.registration-page .required-label::after { content: " *"; color: #a12622; }
.registration-page .registration-note { color: #536478; font-size: 14px; margin: 18px 0; }
.registration-page .alert { border-radius: 6px; }
.registration-page .field-error { color: #a12622; margin: 6px 0 0; font-size: 13px; }
.registration-page .has-error .form-control { border-color: #b52b27; }
.registration-page .registration-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0;
    margin-bottom: 18px;
    background: #f2f5f9;
}
.registration-page .registration-nav a {
    color: #286090;
    background: #fff;
    border: 1px solid #dce3ec;
    border-radius: 18px;
    padding: 7px 14px;
}
.registration-page .registration-nav a:hover,
.registration-page .registration-nav a:focus { background: #e7eff8; text-decoration: none; }
.registration-page .box { padding: 0; margin-bottom: 24px; scroll-margin-top: 84px; }
.registration-page .box-header { padding: 20px 24px; border-bottom: 1px solid #e7ecf2; }
.registration-page .box-title { font-size: 17px; font-weight: 600; }
.registration-page .box-body { padding: 24px; }
.registration-page .form-horizontal .form-group { margin-bottom: 20px; }
.registration-page .form-horizontal .control-label { padding-top: 11px; }
.registration-page .form-horizontal .form-group:last-child { margin-bottom: 0; }
.registration-page .radio-options { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 10px; }
.registration-page .radio-options label { font-weight: 400; }
.registration-page .radio-options .field-error { flex-basis: 100%; }
.registration-page .control-label { font-weight: 600; }
.registration-page .registration-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.registration-page .btn { border-radius: 5px; white-space: normal; }
.registration-page .registration-exit { margin-left: auto; white-space: nowrap; }
@media (min-width: 992px) {
    .registration-page .registration-nav { position: sticky; top: 0; z-index: 20; }
}
@media (max-width: 767px) {
    .registration-page .registration-shell { margin-top: 20px; padding: 0 12px; }
    .registration-page .registration-entry { margin-top: 28px; }
    .registration-page .registration-brand { gap: 12px; flex-wrap: wrap; }
    .registration-page .registration-brand img { width: 56px; }
    .registration-page h1 { font-size: 23px; }
    .registration-page .registration-exit { margin-left: 0; }
    .registration-page .registration-steps li { padding: 10px; font-size: 13px; }
    .registration-page .registration-card,
    .registration-page .box-body { padding: 20px; }
    .registration-page .box-header { padding: 16px 20px; }
    .registration-page .form-horizontal .control-label { padding-top: 0; margin-bottom: 6px; }
    .registration-page .registration-actions { flex-direction: column-reverse; align-items: stretch; }
}
