:root{--brand:#124e78;--brand-dark:#0b3553}body{font-size:16px;background:#f5f7fa;color:#17212b}.navbar{background:var(--brand-dark)}.btn,.form-control,.form-select{min-height:44px}.btn-primary{background:var(--brand);border-color:var(--brand)}.card{border:0;box-shadow:0 2px 10px rgba(0,0,0,.07)}.stat-value{font-size:1.8rem;font-weight:700}.table>tbody>tr>td{vertical-align:middle}.status-active{color:#146c43;font-weight:700}.status-suspended,.status-inactive{color:#842029;font-weight:700}.table-sort-button{align-items:center;background:transparent;border:0;color:inherit;display:flex;font:inherit;font-weight:700;gap:.5rem;justify-content:space-between;min-height:44px;padding:.35rem .2rem;text-align:left;width:100%}.table-sort-button:hover,.table-sort-button:focus-visible{color:var(--brand);outline:2px solid transparent;text-decoration:underline}.table-sort-icon{color:#5b6875;font-size:.8rem;min-width:1rem}.sortable-table th[aria-sort="ascending"] .table-sort-button,.sortable-table th[aria-sort="descending"] .table-sort-button{color:var(--brand);background:#e8f2f8}.sortable-table tbody tr{transition:background-color .15s ease}.info-button{align-items:center;background:#e8f2f8;border:1px solid #9bbdd3;border-radius:50%;color:var(--brand);display:inline-flex;font-size:1rem;font-weight:700;height:32px;justify-content:center;min-height:32px;min-width:32px;padding:0;width:32px}.info-button:hover,.info-button:focus-visible{background:var(--brand);color:#fff;outline:3px solid rgba(18,78,120,.2)}

.profile-page{max-width:1180px}.profile-back{color:var(--brand);font-size:1.05rem;font-weight:700;text-decoration:none}.profile-back:hover{text-decoration:underline}.profile-main-action{min-width:220px;padding:.8rem 1.4rem}.profile-card{border:1px solid #dfe6ec;border-radius:16px;overflow:hidden}.profile-section-title{color:var(--brand-dark);font-size:1.45rem;font-weight:750;margin-bottom:1.5rem}.profile-section-title small{color:#66727e;font-size:1rem;font-weight:400}.profile-field{background:#f7f9fb;border-left:5px solid #9bbdd3;border-radius:8px;display:flex;flex-direction:column;min-height:92px;padding:1rem 1.2rem}.profile-field span{color:#5a6672;font-size:.95rem;margin-bottom:.35rem}.profile-field strong{font-size:1.2rem;overflow-wrap:anywhere}.profile-field small{color:#66727e;font-size:1rem;margin-top:.3rem}.profile-person{background:#f7f9fb;border:1px solid #dce4ea;border-radius:12px;display:flex;flex-direction:column;gap:.3rem;min-height:118px;padding:1.2rem}.profile-person strong{color:#17212b;font-size:1.15rem}.profile-person span,.profile-person small{font-size:1rem}.profile-empty{background:#f7f9fb;border:2px dashed #bdc8d1;border-radius:12px;color:#56616c;font-size:1.1rem;padding:2rem;text-align:center}.profile-edit-form .form-label{font-size:1.05rem;font-weight:700}.profile-edit-form .form-control,.profile-edit-form .form-select{font-size:1.05rem;min-height:52px}.profile-actions{background:#fff;border-top:1px solid #dfe6ec;bottom:0;padding:1rem;position:sticky;z-index:10}.profile-actions .btn{font-size:1.1rem;font-weight:700;min-height:52px}@media(max-width:575.98px){.profile-heading .btn{width:100%}.profile-card .card-body{padding:1.25rem!important}.profile-section-title{font-size:1.25rem}.profile-actions .btn{width:100%}}

.member-portal{max-width:1280px}.portal-welcome{align-items:center;background:linear-gradient(135deg,var(--brand-dark),#176a98);border-radius:18px;color:#fff;display:flex;justify-content:space-between;padding:2rem 2.25rem}.portal-eyebrow{display:block;font-size:1rem;font-weight:700;letter-spacing:.04em;margin-bottom:.35rem;text-transform:uppercase}.portal-profile-button{color:var(--brand-dark);font-size:1.05rem;font-weight:700;min-width:190px;padding:.8rem 1.2rem}.portal-message{border-radius:12px;font-size:1.15rem;padding:1rem 1.25rem}.portal-summary-card{align-items:center;background:#fff;border:1px solid #dfe6ec;border-radius:16px;box-shadow:0 3px 12px rgba(0,0,0,.07);display:flex;gap:1.1rem;min-height:150px;padding:1.5rem}.portal-summary-icon{align-items:center;background:#e8f2f8;border-radius:50%;display:flex;font-size:2rem;height:64px;justify-content:center;min-width:64px}.portal-summary-card div{display:flex;flex-direction:column}.portal-summary-card div>span{color:#52606d;font-size:1.05rem}.portal-summary-card strong{color:var(--brand-dark);font-size:2rem;line-height:1.25}.portal-summary-card small{color:#66727e;font-size:.95rem}.portal-summary-balance{border-left:6px solid var(--brand)}.portal-section{border:1px solid #dfe6ec;border-radius:16px;overflow:hidden}.portal-section-header{align-items:center;background:#fff;border-bottom:1px solid #dfe6ec;display:flex;justify-content:space-between;padding:1.4rem 1.6rem}.portal-section-header h2{color:var(--brand-dark);font-size:1.35rem;font-weight:750;margin:0 0 .2rem}.portal-section-header p{color:#66727e;font-size:1rem;margin:0}.portal-table{font-size:1.02rem}.portal-table thead th{background:#f4f7f9;color:#3e4a55;padding:1rem;white-space:nowrap}.portal-table tbody td{padding:1rem}.portal-table .badge{font-size:.9rem;padding:.55rem .75rem}.portal-action{font-size:1rem;font-weight:700;min-height:44px;white-space:nowrap}.portal-empty{color:#66727e;font-size:1.1rem;padding:2rem;text-align:center}@media(max-width:767.98px){.portal-welcome{align-items:flex-start;flex-direction:column;padding:1.5rem}.portal-profile-button{width:100%}.portal-summary-card{min-height:125px}.portal-table{font-size:1rem}.portal-section-header{padding:1.2rem}.portal-action{width:100%}}
.portal-welcome-actions{min-width:220px}.portal-welcome-actions .btn{font-weight:700}.loan-request-item{border-bottom:1px solid #dfe6ec;display:flex;flex-direction:column;gap:.3rem;padding:1rem 0}.loan-request-item:last-child{border-bottom:0}.loan-request-item strong{font-size:1.1rem}.loan-request-item span{font-size:1.05rem}.loan-request-item small{color:#66727e}

@media(min-width:1200px){.navbar .container-fluid{min-width:0;flex-wrap:nowrap}.navbar .navbar-collapse{flex:1 1 0;width:0;min-width:0}.navbar .navbar-nav{flex:1 1 0;flex-wrap:wrap;min-width:0}.navbar .navbar-nav .nav-link,.navbar .navbar-text{white-space:nowrap}.navbar .navbar-collapse>.d-flex{flex-shrink:0}}
