.beneficiary-identity-card {
  margin-bottom: 20px;
  border: 1px solid #bedbd1;
  border-top: 4px solid #08705a;
  border-radius: 18px;
  background: linear-gradient(120deg, #eaf7f2 0%, #f8fcfa 55%, #eef8f4 100%);
  box-shadow: 0 8px 26px rgba(8,83,65,.08);
  overflow: hidden;
}
.beneficiary-identity-top { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:25px 27px 22px; background:linear-gradient(110deg,rgba(224,243,236,.92),rgba(255,255,255,.7)); }
.beneficiary-identity-heading { display:flex; align-items:center; gap:17px; min-width:0; }
.beneficiary-identity-avatar { display:grid; place-items:center; width:68px; height:68px; flex:none; border-radius:20px; background:linear-gradient(145deg,#08705a,#0c8a6d); border:1px solid #0b765f; color:#fff; box-shadow:0 8px 20px rgba(7,95,75,.18); }
.beneficiary-identity-avatar svg { width:31px; height:31px; }
.beneficiary-eyebrow { color:#6f827a; font-size:11px; font-weight:600; }
.beneficiary-identity-heading h1 { margin:5px 0; font-size:26px; line-height:1.5; color:#17362d; overflow-wrap:anywhere; }
.beneficiary-identity-heading p { font-size:12px; color:#75867f; margin:0; }
.beneficiary-identity-state { display:flex; align-items:flex-end; flex-direction:column; gap:11px; flex:none; }
.beneficiary-state-badges { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.beneficiary-back-link { display:inline-flex; align-items:center; gap:6px; color:#62766e; font-size:11px; font-weight:800; text-decoration:none; }
.beneficiary-back-link svg { width:15px; height:15px; }
.beneficiary-back-link:hover { color:var(--primary); }
.beneficiary-management-bar { min-height:72px; padding:13px 25px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #e3ebe8; background:#fafcfb; }
.beneficiary-management-title { display:flex; align-items:center; gap:11px; flex:none; }
.beneficiary-management-title>span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; background:#e8f3ef; color:var(--primary); }
.beneficiary-management-title svg { width:19px; height:19px; }
.beneficiary-management-title>div { display:flex; flex-direction:column; }
.beneficiary-management-title b { font-size:12px; color:#294139; }
.beneficiary-management-title small { color:#84918c; font-size:9px; }
.beneficiary-identity-actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:7px; }
.beneficiary-identity-actions form { margin:0; }
.beneficiary-identity-actions .button { font-size:10px; min-height:37px; white-space:nowrap; padding:8px 12px; box-shadow:none; }
.beneficiary-identity-actions .beneficiary-approve-button { background:linear-gradient(135deg,#08705a,#0a8a6c); }
.beneficiary-identity-actions .beneficiary-edit-button { border-color:#c5d7e9; background:#eaf2fb; color:#285f91!important; }
.beneficiary-identity-actions .beneficiary-password-button { background:#fff; }
.beneficiary-identity-actions .beneficiary-archive-button { padding-inline:11px; }
.beneficiary-status { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; font-size:11px; font-weight:800; border-radius:8px; }
.beneficiary-status i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.beneficiary-status.is-approved { background:#e5f4ed; color:#126747; }
.beneficiary-status.is-pending { background:#fff4dc; color:#8a6015; }
.beneficiary-status.is-rejected { background:#fcecec; color:#a53838; }
.beneficiary-identity-details { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:17px 25px 20px; border-top:1px solid #e5ece8; background:#fff; }
.beneficiary-identity-details>div { min-width:0; padding:12px 14px; border:1px solid #e7eeeb; border-radius:11px; background:#fbfdfc; }
.beneficiary-identity-details>div:first-child,.beneficiary-identity-details>div:last-child { padding-inline:14px; }
.beneficiary-identity-details dt { display:flex; gap:7px; align-items:center; font-size:11px; color:#78877f; margin-bottom:9px; }
.beneficiary-identity-details dt svg { width:16px; height:16px; color:#7a998c; }
.beneficiary-identity-details dd { margin:0; color:#203b32; font-size:13px; font-weight:800; overflow-wrap:anywhere; }
.beneficiary-identity-details dd small { display:block; font-size:11px; color:#7b8982; font-weight:500; margin-top:4px; }
.tabs.beneficiary-profile-tabs { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; padding:7px; border:1px solid #e0e8e4; border-radius:14px; background:#fff; margin-bottom:26px; }
.tabs.beneficiary-profile-tabs>a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:10px 6px; font-size:11px; font-weight:700; color:#253a32; border:1px solid transparent; border-radius:9px; min-height:74px; text-align:center; }
.tabs.beneficiary-profile-tabs>a.active { background:#f0f8f4; border-color:#cce2d6; color:#173f2e; box-shadow:none; }
.tabs.beneficiary-profile-tabs>a:hover { background:#f6f9f7; color:#173f2e; }
.beneficiary-tab-icon { display:grid; place-items:center; width:27px; height:27px; border-radius:7px; flex:none; background:#edf5ef; color:#258058; }
.beneficiary-tab-icon svg { width:17px; height:17px; }
.tone-gold .beneficiary-tab-icon { background:#fcf3df; color:#ad7c17; }
.tone-blue .beneficiary-tab-icon { background:#edf3ff; color:#4975bb; }
.tone-purple .beneficiary-tab-icon { background:#f2ecfb; color:#8961bc; }
.tone-teal .beneficiary-tab-icon { background:#eaf6f5; color:#2f8b89; }
.tone-rose .beneficiary-tab-icon { background:#fcedef; color:#be6978; }
.tone-slate .beneficiary-tab-icon { background:#edf0f5; color:#687e9c; }
.beneficiary-family-panel { overflow:hidden; }
.beneficiary-family-panel .panel-head { padding:21px 24px; gap:18px; flex-wrap:wrap; }
.beneficiary-family-title { display:flex; align-items:center; gap:13px; }
.beneficiary-family-title>span { display:grid; place-items:center; flex:none; width:43px; height:43px; background:#edf3ff; color:#4975bb; border-radius:12px; }
.beneficiary-family-title svg { width:23px; height:23px; }
.beneficiary-family-title h2 { display:flex; align-items:center; gap:9px; font-size:18px; }
.beneficiary-family-title h2 small { font-size:11px; color:#6e82a0; background:#eff3f9; border-radius:6px; padding:4px 8px; }
.beneficiary-family-panel .table-wrap { border:0; border-radius:0; box-shadow:none; }
.beneficiary-family-panel th { background:#f8faf9; padding:15px 22px; color:#61756a; font-size:11px; white-space:nowrap; }
.beneficiary-family-panel td { padding:18px 22px; font-size:13px; vertical-align:middle; }
.beneficiary-family-panel tbody tr:hover { background:#fbfdfc; }
.family-person-cell { display:flex; align-items:center; gap:11px; min-width:170px; }
.family-person-cell>span { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:10px; background:#eef5f1; color:#638375; font-size:12px; }
.family-person-cell b { overflow-wrap:anywhere; max-width:270px; }
.beneficiary-family-panel .row-buttons a { display:inline-flex; align-items:center; gap:6px; background:#edf4ff; border-color:#d7e4f8; color:#3968a9; }
.beneficiary-family-panel .row-buttons svg { width:14px; height:14px; }
.beneficiary-family-empty { display:flex; align-items:center; flex-direction:column; gap:10px; padding:45px 20px 50px; text-align:center; }
.beneficiary-family-empty>span { display:grid; place-items:center; width:62px; height:62px; border-radius:20px; background:#f0f6f3; color:#799c8c; margin-bottom:4px; }
.beneficiary-family-empty svg { width:30px; height:30px; }
.beneficiary-family-empty h3 { font-size:17px; margin:0; color:#354e42; }
.beneficiary-family-empty p { font-size:12px; color:#849187; margin:0; max-width:400px; line-height:1.9; }
.beneficiary-family-footnote { display:flex; gap:8px; align-items:center; padding:14px 23px; font-size:11px; color:#86938c; border-top:1px solid #edf1ee; background:#fcfdfc; }
.beneficiary-family-footnote svg { width:16px; height:16px; flex:none; }
.beneficiary-identity-card a:focus-visible,.beneficiary-profile-tabs a:focus-visible { outline:3px solid #8cc8b5; outline-offset:3px; }
@media(max-width:1100px) {
  .beneficiary-identity-top { align-items:flex-start; flex-direction:column; gap:16px; }
  .beneficiary-identity-state { width:100%; align-items:center; flex-direction:row; justify-content:space-between; }
  .beneficiary-management-bar { align-items:flex-start; flex-direction:column; }
  .beneficiary-identity-actions { width:100%; justify-content:flex-start; }
}
@media(max-width:700px) {
  .beneficiary-identity-top { padding:20px; }
  .beneficiary-identity-heading h1 { font-size:22px; }
  .beneficiary-identity-avatar { width:52px; height:52px; border-radius:16px; }
  .beneficiary-identity-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 15px; padding:20px; }
  .beneficiary-identity-details>div { padding:0; border:0; }
  .beneficiary-identity-state { align-items:flex-start; flex-direction:column; }
  .beneficiary-management-bar { padding:15px 20px; }
  .beneficiary-identity-actions .button,.beneficiary-identity-actions form { flex:1; }
  .beneficiary-identity-actions form .button { width:100%; }
  .beneficiary-identity-details>div { padding:11px 12px; border:1px solid #e7eeeb; }
  .tabs.beneficiary-profile-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; position:static; }
  .tabs.beneficiary-profile-tabs>a { flex:none; min-width:110px; }
  .beneficiary-family-panel .panel-head { padding:18px; }
  .beneficiary-family-panel .table-wrap table { min-width:710px; }
  .beneficiary-family-panel .table-wrap table.is-empty { min-width:0; }
  .beneficiary-family-panel table.is-empty thead { display:none; }
  .beneficiary-family-panel td,.beneficiary-family-panel th { padding:14px; }
}
.profile-completion-gate { margin:0 0 18px; padding:17px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #d4e4df; border-radius:16px; background:linear-gradient(90deg,#f3faf7,#fff); }
.profile-completion-gate>div { display:flex; align-items:center; gap:12px; }
.profile-completion-gate>div>div { display:flex; flex-direction:column; }
.profile-completion-gate b { font-size:15px; }
.profile-completion-gate small { color:var(--muted); font-size:11px; }
.profile-completion-gate ul { margin:0; padding:0; display:flex; gap:8px; list-style:none; }
.profile-completion-gate li { padding:7px 10px; display:flex; align-items:center; gap:7px; border-radius:9px; background:#fff1f1; color:#a54141; font-size:11px; font-weight:800; }
.profile-completion-gate li i { width:7px; height:7px; border-radius:50%; background:currentColor; }
.profile-completion-gate li.complete { background:#e5f5ef; color:var(--primary); }
.attachment-file-actions { display:flex; align-items:center; gap:7px; }
.attachment-preview-button,.attachment-download-button { min-height:34px; padding:6px 11px; display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1px solid #bcd9d0; border-radius:9px; background:#edf8f4; color:var(--primary)!important; font-size:12px; font-weight:800; text-decoration:none; transition:.16s; }
.attachment-preview-button { background:linear-gradient(135deg,var(--primary),#08765d); color:#fff!important; box-shadow:0 3px 9px rgba(7,95,75,.15); }
.attachment-preview-button svg { width:16px; height:16px; }
.attachment-preview-button:hover,.attachment-download-button:hover { transform:translateY(-1px); box-shadow:0 5px 12px rgba(7,95,75,.16); }
.attachment-management-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.attachment-control,.attachment-management-actions .attachment-delete-form button { min-height:35px; padding:6px 11px; display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1px solid transparent; border-radius:9px; font:800 12px inherit; text-decoration:none; cursor:pointer; transition:.16s; }
.attachment-control svg,.attachment-management-actions .attachment-delete-form svg { width:15px; height:15px; }
.attachment-control.view { background:linear-gradient(135deg,var(--primary),#08765d); color:#fff!important; box-shadow:0 3px 9px rgba(7,95,75,.14); }
.attachment-control.edit { border-color:#cbd9e8; background:#eff5fb; color:#356c9d!important; }
.attachment-management-actions .attachment-delete-form { margin:0; }
.attachment-management-actions .attachment-delete-form button { border-color:#efcece; background:#fff1f1; color:#b23d3d; }
.attachment-control:hover,.attachment-management-actions .attachment-delete-form button:hover { transform:translateY(-1px); filter:brightness(.98); }
@media(max-width:800px) { .profile-completion-gate { align-items:flex-start; flex-direction:column; }.profile-completion-gate ul { width:100%; flex-wrap:wrap; }.profile-completion-gate li { flex:1; justify-content:center; white-space:nowrap; } }
@media(prefers-reduced-motion:reduce) { .beneficiary-profile-tabs a { transition:none; } }
