.profile-page {
    min-height: calc(100vh - 150px);
    padding: 46px 0 70px;
    background: #f4f7fb;
    color: #08294d;
}

.profile-container {
    width: min(920px, calc(100% - 40px));
    margin: 0 auto;
}

.profile-header { margin-bottom: 26px; }
.profile-badge {
    display: inline-flex;
    padding: 7px 13px;
    border: 1px solid #b9d8f8;
    border-radius: 999px;
    background: #e8f3ff;
    color: #0759b7;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
}
.profile-header h1 { margin: 14px 0 8px; font-size: 34px; line-height: 1.2; }
.profile-header p, .profile-security-card p { margin: 0; color: #61738a; line-height: 1.7; }

.profile-card {
    margin-bottom: 22px;
    padding: 28px;
    border: 1px solid #d9e3ef;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 42, 70, .05);
}
.profile-card h2 { margin: 0 0 22px; font-size: 21px; }
.profile-form { display: grid; gap: 20px; }
.profile-form-group { display: grid; gap: 8px; }
.profile-form-group label { font-size: 13px; font-weight: 700; }
.profile-form-group input {
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #cbd8e7;
    border-radius: 9px;
    background: #fff;
    color: #08294d;
    font: inherit;
    box-sizing: border-box;
}
.profile-form-group input:focus { border-color: #176fb4; outline: 3px solid rgba(23, 111, 180, .12); }
.profile-form-group input[readonly] { background: #f3f6fa; color: #52657b; }
.profile-form-group input[type="email"] { direction: ltr !important; text-align: left !important; unicode-bidi: plaintext; }
.profile-form-group small { color: #748499; line-height: 1.55; }

.profile-actions, .profile-security-links { display: flex; flex-wrap: wrap; gap: 12px; }
.profile-actions { justify-content: flex-end; padding-top: 4px; }
.profile-button {
    display: inline-flex;
    min-height: 44px;
    padding: 10px 17px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 9px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.profile-button-primary { background: #176fb4; color: #fff; }
.profile-button-primary:hover { background: #105d99; }
.profile-button-secondary { border-color: #cbd8e7; background: #fff; color: #354a63; }
.profile-button-outline { border-color: #a9cdec; background: #eef7ff; color: #0759a7; }
.profile-button-outline:hover { background: #deefff; }

.profile-security-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.profile-security-card h2 { margin-bottom: 8px; }
.profile-security-links { flex: 0 0 auto; }

.profile-alert { margin-bottom: 20px; padding: 14px 17px; border: 1px solid; border-radius: 10px; line-height: 1.55; }
.profile-alert p { margin: 0; }
.profile-alert p + p { margin-top: 5px; }
.profile-alert-success { border-color: #a8e2bd; background: #ecfbf1; color: #087735; }
.profile-alert-error { border-color: #ffc2c7; background: #fff1f2; color: #b4232f; }

html[dir="rtl"] .profile-page { direction: rtl; text-align: right; }
html[dir="rtl"] .profile-actions { justify-content: flex-start; }

@media (max-width: 720px) {
    .profile-page { padding: 30px 0 50px; }
    .profile-container { width: min(100% - 28px, 920px); }
    .profile-header h1 { font-size: 27px; }
    .profile-card { padding: 21px; }
    .profile-security-card { align-items: stretch; flex-direction: column; }
    .profile-security-links, .profile-actions { flex-direction: column-reverse; }
    .profile-button { width: 100%; box-sizing: border-box; }
}
