:root {
    --identity-panel: rgba(255, 255, 255, .03);
    --identity-border: rgba(255, 255, 255, .08);
}

.identity-shell {
    background: radial-gradient(circle at top, rgba(212,168,67,.15), transparent 50%), var(--bg2);
    padding: 4rem 0 5rem;
    color: var(--white);
}

.identity-container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 2rem;
}

.identity-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.identity-eyebrow {
    text-transform: uppercase;
    letter-spacing: 1.6px;
    font-size: .75rem;
    color: var(--gold);
    font-weight: 700;
    margin-bottom: .4rem;
}

.identity-header h1 {
    font-family: var(--h);
    font-weight: 900;
    font-size: clamp(2rem, 4vw, 2.6rem);
    margin-bottom: .5rem;
}

.identity-header p {
    font-size: .98rem;
    max-width: 520px;
    margin: 0 auto;
}

.identity-body .row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.6rem;
    margin: 0;
}

.identity-body .col-md-4,
.identity-body .col-md-6,
.identity-body .col-md-6.col-md-offset-2 {
    width: 100%;
    max-width: none;
}

.identity-card,
.identity-body section {
    background: var(--identity-panel);
    border: 1px solid var(--identity-border);
    border-radius: 24px;
    padding: 1.8rem;
    box-shadow: 0 25px 70px rgba(0,0,0,.25);
}

.identity-body h1 {
    font-family: var(--h);
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

.identity-body h2,
.identity-body h3 {
    font-family: var(--h);
    font-weight: 700;
    margin-bottom: 1rem;
}

.identity-body hr {
    border: none;
    border-top: 1px solid rgba(255,255,255,.08);
    margin: 1rem 0 1.5rem;
}

.identity-body form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.identity-body .form-floating,
.identity-body .input-group,
.identity-body .form-group {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.identity-body label {
    font-size: .85rem;
    font-weight: 600;
    color: var(--t1);
}

.identity-body input,
.identity-body select,
.identity-body textarea {
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(9,14,26,.6);
    color: var(--white);
    font-size: .95rem;
    padding: .85rem 1rem;
    transition: border .2s;
}

.identity-body input:focus,
.identity-body select:focus,
.identity-body textarea:focus {
    outline: none;
    border-color: var(--gold);
}

.identity-body .checkbox,
.identity-body .form-check {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--t1);
}

.identity-body .form-check-input {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,.4);
    background: transparent;
}

.identity-body button,
.identity-shell .btn-primary,
.identity-body .btn {
    border: none;
    border-radius: 999px;
    background: linear-gradient(120deg, var(--gold), var(--gold-l));
    color: var(--bg);
    font-weight: 800;
    font-size: .95rem;
    padding: .85rem 1.5rem;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
}

.identity-body button:hover,
.identity-shell .btn-primary:hover {
    box-shadow: 0 12px 30px rgba(212,168,67,.35);
}

.identity-body a {
    color: var(--teal);
    font-weight: 600;
}

.identity-body a:hover {
    color: var(--gold);
}

.identity-body .external-logins button,
.identity-body #external-account button {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: var(--white);
    margin-right: .6rem;
}

.identity-body .external-logins button:hover,
.identity-body #external-account button:hover {
    background: var(--gold);
    color: var(--bg);
}

.identity-body .list-group {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.identity-body .list-group-item {
    background: rgba(255,255,255,.02);
    border: 1px solid var(--identity-border);
    border-radius: 14px;
    padding: .9rem 1rem;
    color: var(--t1);
}

.identity-body table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}

.identity-body table th,
.identity-body table td {
    border: 1px solid var(--identity-border);
    padding: .7rem;
    text-align: left;
}

.identity-body .alert {
    border-radius: 16px;
    border: 1px solid rgba(45,212,168,.4);
    background: rgba(45,212,168,.08);
    color: var(--teal);
    padding: 1rem 1.2rem;
}

.identity-body .btn-link {
    background: transparent;
    color: var(--gold);
    padding: 0;
    text-decoration: underline;
    border-radius: 0;
    box-shadow: none;
}

.identity-body .btn-link:hover {
    color: var(--teal);
    transform: none;
}

.identity-body .text-muted {
    color: var(--t3);
}

.identity-body select option {
    color: var(--bg);
}

@media (max-width: 640px) {
    .identity-container {
        padding: 0 1rem;
    }
}
