/* Meus dados v5.3.3 — medidas visuais reproduzidas do HTML aprovado. */
.bksg-v53-view-meus-dados {
    --bksg-v53-blue: #086bf2;
    --bksg-v53-blue-2: #149ce8;
    --bksg-v53-ink: #11213d;
    --bksg-v53-muted: #687791;
    --bksg-v53-line: #dfe8f3;
    --bksg-v53-shadow: 0 14px 40px rgba(33,82,139,.09);
    background: radial-gradient(circle at 88% 3%,rgba(38,162,255,.09),transparent 27%),linear-gradient(180deg,#f8fbff 0%,#f1f7fc 100%) !important;
    color: var(--bksg-v53-ink);
    font-family: Inter,"Segoe UI",Roboto,Arial,sans-serif !important;
}

.bksg-v53-view-meus-dados,
.bksg-v53-view-meus-dados * { box-sizing: border-box; }

.bksg-v53-view-meus-dados h1,
.bksg-v53-view-meus-dados h2,
.bksg-v53-view-meus-dados h3,
.bksg-v53-view-meus-dados p,
.bksg-v53-view-meus-dados span,
.bksg-v53-view-meus-dados small,
.bksg-v53-view-meus-dados strong,
.bksg-v53-view-meus-dados button,
.bksg-v53-view-meus-dados input,
.bksg-v53-view-meus-dados select { font-family: inherit !important; }

/* Cabeçalho e conteúdo compartilham a mesma malha de 1.600 px do HTML. */
.bksg-v53-view-meus-dados .bksg-v53-profile-page-head {
    align-items: flex-end !important;
    background: transparent !important;
    border: 0 !important;
    gap: 24px !important;
    margin: 0 auto 22px !important;
    max-width: 1600px;
    min-height: 0 !important;
    padding: 30px 28px 0 !important;
    width: 100%;
}
.bksg-v53-profile-page-head > div { flex: 1; max-width: 690px; min-width: 0; }
.bksg-v53-view-meus-dados .bksg-v53-profile-page-head > div:first-of-type > span {
    color: var(--bksg-v53-blue) !important;
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: 1.25px !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    text-transform: uppercase;
}
.bksg-v53-view-meus-dados .bksg-v53-profile-page-head h1 {
    color: var(--bksg-v53-ink) !important;
    font-size: clamp(30px,3vw,43px) !important;
    font-weight: 800 !important;
    letter-spacing: -1.6px !important;
    line-height: 1.06 !important;
    margin: 0 !important;
}
.bksg-v53-view-meus-dados .bksg-v53-profile-page-head p {
    color: var(--bksg-v53-muted) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 9px 0 0 !important;
    max-width: 690px;
}
.bksg-v53-view-meus-dados .bksg-v5-app-content {
    flex: 1 0 auto;
    margin: 0 auto;
    max-width: 1600px;
    padding: 0 28px 38px !important;
    width: 100%;
}

/* Botões seguem as medidas e o gradiente do protótipo. */
.bksg-v53-profile-edit-top,
.bksg-v53-button {
    -webkit-appearance: none !important;
    align-items: center;
    appearance: none !important;
    background-clip: padding-box !important;
    border: 0 !important;
    border-radius: 11px;
    box-sizing: border-box !important;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    gap: 9px;
    justify-content: center;
    min-height: 46px;
    outline: 0 !important;
    overflow: hidden;
    padding: 0 18px;
    position: relative;
    text-shadow: none !important;
    text-decoration: none;
    transition: transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.bksg-v53-profile-edit-top::before,
.bksg-v53-profile-edit-top::after,
.bksg-v53-button::before,
.bksg-v53-button::after {
    content: none !important;
    display: none !important;
}
.bksg-v53-profile-edit-top,
.bksg-v53-profile-edit-top:hover,
.bksg-v53-profile-edit-top:focus,
.bksg-v53-profile-edit-top:active,
.bksg-v53-button.is-primary,
.bksg-v53-button.is-primary:hover,
.bksg-v53-button.is-primary:focus,
.bksg-v53-button.is-primary:active {
    -webkit-text-fill-color: #fff !important;
    background: linear-gradient(100deg,var(--bksg-v53-blue),var(--bksg-v53-blue-2)) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 23px rgba(8,107,242,.18) !important;
    color: #fff !important;
}
.bksg-v53-view-meus-dados .bksg-v53-profile-edit-top {
    border-radius: 11px !important;
    flex: 0 0 129px;
    font-size: 16px !important;
    font-weight: 700 !important;
    height: 46px !important;
    line-height: 1 !important;
    max-height: 46px !important;
    max-width: 129px !important;
    min-height: 46px !important;
    min-width: 129px !important;
    padding: 0 18px !important;
    white-space: nowrap;
    width: 129px !important;
}
.bksg-v53-button.is-secondary,
.bksg-v53-button.is-secondary:hover,
.bksg-v53-button.is-secondary:focus,
.bksg-v53-button.is-secondary:active { background: #fff !important; border: 1px solid #dbe5ef !important; color: #44536e !important; }
.bksg-v53-button.is-ghost,
.bksg-v53-button.is-ghost:hover,
.bksg-v53-button.is-ghost:focus,
.bksg-v53-button.is-ghost:active { background: #eef6ff !important; color: var(--bksg-v53-blue) !important; }
.bksg-v53-profile-edit-top:hover,
.bksg-v53-button:hover:not(:disabled) { transform: translateY(-1px); }
.bksg-v53-profile-edit-top:disabled,
.bksg-v53-button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.bksg-v53-button.is-primary:disabled,
.bksg-v53-button.is-primary:disabled:hover,
.bksg-v53-button.is-primary:disabled:focus,
.bksg-v53-button.is-primary:disabled:active {
    -webkit-text-fill-color: #fff !important;
    background: linear-gradient(100deg,var(--bksg-v53-blue),var(--bksg-v53-blue-2)) !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
}
.bksg-v53-profile-edit-top:focus-visible,
.bksg-v53-button:focus-visible { box-shadow: 0 0 0 3px rgba(8,107,242,.22),0 10px 23px rgba(8,107,242,.18) !important; }

.bksg-v53-profile-notice { border: 1px solid; border-radius: 13px; font-size: 12px; font-weight: 650; margin-bottom: 18px; padding: 13px 16px; }
.bksg-v53-profile-notice.is-success { background: #eaf9f2; border-color: #bdebd5; color: #087c53; }
.bksg-v53-profile-notice.is-warning { background: #fff8e8; border-color: #f2d796; color: #916100; }
.bksg-v53-profile-notice.is-error { background: #fff0f2; border-color: #f2c0c7; color: #b3293e; }

/* Colunas, cartões e seções usam a mesma hierarquia do HTML. */
.bksg-v53-profile-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0,1.55fr) minmax(300px,.65fr); }
.bksg-v53-profile .bksg-v5-card {
    background: #fff !important;
    border: 1px solid var(--bksg-v53-line) !important;
    border-radius: 20px !important;
    box-shadow: var(--bksg-v53-shadow) !important;
}
.bksg-v53-profile-card { padding: 22px !important; }
.bksg-v53-profile-card form { margin: 0; }
.bksg-v53-form-section + .bksg-v53-form-section { border-top: 1px solid #e6edf5; margin-top: 26px; padding-top: 24px; }
.bksg-v53-section-title { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 17px; }
.bksg-v53-view-meus-dados .bksg-v53-section-title h2 {
    color: var(--bksg-v53-ink) !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    letter-spacing: -.5px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}
.bksg-v53-view-meus-dados .bksg-v53-section-title p {
    color: var(--bksg-v53-muted) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin: 5px 0 0 !important;
}
.bksg-v53-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.bksg-v53-field { display: grid; gap: 7px; margin: 0; min-width: 0; }
.bksg-v53-field.is-wide { grid-column: 1 / -1; }
.bksg-v53-view-meus-dados .bksg-v53-field > span {
    color: #3e4e68 !important;
    display: block;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}
.bksg-v53-field > span b { color: #ec4257; }
.bksg-v53-field small { color: #7a879c; display: block; font-size: 10px; line-height: 1.45; margin: 0; }
.bksg-v53-profile .bksg-v53-field input,
.bksg-v53-profile .bksg-v53-field select {
    appearance: none;
    background: #fbfdff !important;
    border: 1px solid #d7e3ef !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #1a2944 !important;
    font-size: 16px !important;
    height: 50px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    min-height: 50px !important;
    opacity: 1 !important;
    outline: 0 !important;
    padding: 0 14px !important;
    transition: border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
    width: 100% !important;
}
.bksg-v53-profile .bksg-v53-field input[readonly] { background: #f6f9fc !important; color: #52617a !important; }
.bksg-v53-profile .bksg-v53-field select {
    background-image: linear-gradient(45deg,transparent 50%,#77859a 50%),linear-gradient(135deg,#77859a 50%,transparent 50%) !important;
    background-position: calc(100% - 18px) 22px,calc(100% - 14px) 22px !important;
    background-repeat: no-repeat !important;
    background-size: 4px 4px,4px 4px !important;
    padding-right: 36px !important;
}
.bksg-v53-profile.is-editing .bksg-v53-field [data-bksg-profile-editable] { background-color: #fff !important; }
.bksg-v53-profile.is-editing .bksg-v53-field [data-bksg-profile-editable]:focus {
    border-color: #7bb5ff !important;
    box-shadow: 0 0 0 4px rgba(8,107,242,.08) !important;
}
.bksg-v53-form-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 22px; }

/* Coluna lateral. */
.bksg-v53-profile-aside { align-self: start; display: grid; gap: 16px; position: sticky; top: 22px; }
.bksg-v53-identity-card { padding: 21px !important; }
.bksg-v53-security-card { padding: 18px !important; }
.bksg-v53-identity-top { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin: 0 0 16px !important; padding: 0; }
.bksg-v53-avatar {
    align-items: center;
    background: linear-gradient(145deg,var(--bksg-v53-blue),#15a8e7);
    border-radius: 19px;
    box-shadow: 0 12px 24px rgba(8,107,242,.2);
    color: #fff;
    display: flex;
    flex: 0 0 68px;
    font-size: 22px;
    font-weight: 850;
    height: 68px;
    justify-content: center;
    overflow: hidden;
    width: 68px;
}
.bksg-v53-avatar img { height: 100%; object-fit: cover; width: 100%; }
.bksg-v53-identity-top .bksg-v53-button { font-size: 11px; min-height: 38px; padding: 0 12px; }
.bksg-v53-identity-card > h2 { color: var(--bksg-v53-ink); font-size: 19px; font-weight: 800; letter-spacing: -.5px; margin: 0; }
.bksg-v53-identity-card > p { color: var(--bksg-v53-muted); font-size: 12px; line-height: 1.5; margin: 5px 0 14px; }
.bksg-v53-pill { align-items: center; border-radius: 999px; display: inline-flex; flex: 0 0 auto; font-size: 10px; font-style: normal; font-weight: 800; gap: 6px; padding: 6px 9px; }
.bksg-v53-pill i { background: currentColor; border-radius: 50%; height: 6px; width: 6px; }
.bksg-v53-pill.is-ok { background: #e3f9ef; color: #087d55; }
.bksg-v53-pill.is-warn { background: #fff4cf; color: #926100; }
.bksg-v53-pill.is-error { background: #fff0f2; color: #c83247; }
.bksg-v53-pill.is-missing { background: #f0f3f7; color: #6f7c91; }
.bksg-v53-level { background: linear-gradient(135deg,#fffdf7,#fff8e6); border: 1px solid #f0dfac; border-radius: 14px; margin-top: 17px; padding: 13px; }
.bksg-v53-level.is-text-only { display: block; }
.bksg-v53-level small { color: #8a7551; display: block; font-size: 9px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.bksg-v53-level strong { color: #7d5700; display: block; font-size: 15px; margin-top: 3px; }
.bksg-v53-status-list { border-top: 1px solid #e7eef5; display: grid; gap: 11px; margin-top: 17px; padding-top: 16px; }
.bksg-v53-status-list > div { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.bksg-v53-status-list span { color: #5b6981; font-size: 11px; }
.bksg-v53-status-list strong { color: #243149; font-size: 11px; text-align: right; word-break: break-word; }
.bksg-v53-security-card > h3 { color: var(--bksg-v53-ink); font-size: 15px; margin: 0 0 8px; }
.bksg-v53-security-card > p { color: var(--bksg-v53-muted); font-size: 11px; line-height: 1.55; margin: 0; }
.bksg-v53-document-list { display: grid; gap: 10px; }
.bksg-v53-document { align-items: center; border: 1px solid #e2eaf3; border-radius: 13px; display: grid; gap: 12px; grid-template-columns: 38px minmax(0,1fr) auto; padding: 13px; }
.bksg-v53-document-icon { align-items: center; background: #edf6ff; border-radius: 11px; color: var(--bksg-v53-blue); display: flex; height: 38px; justify-content: center; width: 38px; }
.bksg-v53-document-icon svg { fill: none; height: 19px; stroke: currentColor; stroke-width: 1.9; width: 19px; }
.bksg-v53-document > div { min-width: 0; }
.bksg-v53-document strong { color: #26344c; display: block; font-size: 12px; }
.bksg-v53-document small { color: #7b889d; display: block; font-size: 10px; line-height: 1.35; margin-top: 3px; }
.bksg-v53-document > .bksg-v53-pill { justify-self: end; }
.bksg-v53-privacy-card { margin-top: 0; }

@media (max-width: 1260px) {
    .bksg-v53-view-meus-dados .bksg-v53-profile-page-head { padding-inline: 20px !important; }
    .bksg-v53-view-meus-dados .bksg-v5-app-content { padding-inline: 20px !important; }
}

@media (max-width: 1100px) {
    .bksg-v53-profile-layout { grid-template-columns: 1fr; }
    .bksg-v53-profile-aside { grid-template-columns: repeat(3,minmax(0,1fr)); position: static; }
}

@media (max-width: 820px) {
    .bksg-v53-view-meus-dados .bksg-v53-profile-page-head {
        align-items: flex-start !important;
        flex-wrap: wrap;
        margin-bottom: 22px !important;
        padding: 76px 14px 0 !important;
        position: relative;
    }
    .bksg-v53-view-meus-dados .bksg-v5-app-content { padding: 0 14px 30px !important; }
    .bksg-v53-profile-page-head .bksg-v5-menu-button { left: 16px; margin: 0; position: absolute; top: 16px; }
    .bksg-v53-profile-page-head > div { width: 100%; }
    .bksg-v53-profile-edit-top { position: absolute; right: 14px; top: 16px; }
    .bksg-v53-profile-aside { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .bksg-v53-view-meus-dados .bksg-v53-profile-page-head h1 { font-size: 31px !important; }
    .bksg-v53-profile-card { padding: 18px !important; }
    .bksg-v53-form-grid { grid-template-columns: 1fr; }
    .bksg-v53-field.is-wide { grid-column: auto; }
    .bksg-v53-form-actions { display: grid; }
    .bksg-v53-button { width: 100%; }
    .bksg-v53-identity-top { align-items: flex-start; flex-direction: column; }
    .bksg-v53-document { align-items: flex-start; grid-template-columns: 38px minmax(150px,1fr); }
    .bksg-v53-document > .bksg-v53-pill { grid-column: 2; justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
    .bksg-v53-profile-edit-top,
    .bksg-v53-button { transition: none; }
}
