:root {
    --fiscal-primary: #5046e5;
    --fiscal-dark: #17213a;
    --fiscal-muted: #667085;
    --fiscal-soft: #f3f4ff;
}

body {
    min-height: 100vh;
    color: var(--fiscal-dark);
    background: radial-gradient(circle at top left, #ecebff 0, transparent 36%), #f7f8fc;
}

.register-header {
    padding: 1rem 0;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid #e9eaf2;
    backdrop-filter: blur(12px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: var(--fiscal-dark);
    font-size: 1.2rem;
    text-decoration: none;
}

.brand strong,
.eyebrow,
.step-label {
    color: var(--fiscal-primary);
}

.register-shell {
    max-width: 1180px;
}

.register-summary {
    position: sticky;
    top: 2rem;
    padding: 2rem;
    color: #fff;
    border-radius: 24px;
    background: linear-gradient(145deg, #17213a, #34309a);
    box-shadow: 0 28px 70px rgba(38, 35, 119, .2);
}

.register-summary .eyebrow {
    display: inline-block;
    margin-bottom: 1rem;
    color: #c9c7ff;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.register-summary h1 {
    color: #fff;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    line-height: 1.05;
}

.register-summary p {
    color: #d9dcf0;
}

.register-summary ul {
    display: grid;
    gap: .85rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.register-summary li {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
}

.register-summary li i {
    margin-top: .15rem;
    color: #8de2bd;
    font-size: 1.15rem;
}

.register-card {
    border: 1px solid #e5e7ef;
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(31, 42, 76, .1);
}

.step-label {
    display: inline-block;
    margin-bottom: .75rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.legal-box {
    padding: 1.1rem 1.25rem;
    border: 1px solid #dfe1f7;
    border-radius: 14px;
    background: var(--fiscal-soft);
}

.confirmation-code {
    max-width: 360px;
    padding: .8rem 1rem;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .35em;
    text-align: center;
}

.password-toggle {
    min-width: 52px;
}

.btn-primary {
    border-color: var(--fiscal-primary);
    background: var(--fiscal-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    border-color: #4036d5;
    background: #4036d5;
}

@media (max-width: 991.98px) {
    .register-summary {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .register-header .btn {
        padding-inline: .75rem;
        font-size: .82rem;
    }

    .register-summary,
    .register-card {
        border-radius: 18px;
    }
}
