/* Client-facing presentation from hal-web-spec. Scoped away from the admin app. */
.hal-client {
  --hal-primary:#CF7E19; --hal-ink:#131313; --hal-paper:#FCFCFC; --hal-cream:#FCF9EE;
  --hal-link:#96580D; --hal-border:rgba(19,19,19,.3); --hal-radius:10px;
  --hal-shadow:0 4px 4px rgba(241,90,41,.10);
  margin:0; background:var(--hal-cream); color:var(--hal-ink); font:400 16px/1.45 'Ripple',system-ui,sans-serif;
}
.hal-client *, .hal-client *::before, .hal-client *::after {box-sizing:border-box}
.hal-client [hidden] {display:none!important}
.hal-client img {max-width:100%}
.hal-client a {color:var(--hal-link);text-decoration:none}
.hal-client a:hover {color:var(--hal-ink)}
.hal-client :focus-visible {outline:3px solid var(--hal-primary);outline-offset:3px}
.hal-client h1,.hal-client h2,.hal-client h3,.hal-client h4,.hal-client .h1,.hal-client .h2,.hal-client .h3,.hal-client .h4 {color:inherit;line-height:1.15;letter-spacing:-.025em}
.hal-client h1,.hal-client .h1 {font-size:40px;font-weight:800}
.hal-client h2,.hal-client .h2 {font-size:34px}
.hal-client h3,.hal-client .h3 {font-size:30px}
.hal-client h4,.hal-client .h4 {font-size:20px}
.hal-client h5,.hal-client .h5 {font-size:18px}
.hal-client h6,.hal-client .h6 {font-size:16px;line-height:1.4}
.hal-client .text-brown {color:var(--hal-link)!important}
.hal-client .btn {min-height:44px;border-radius:10px;font-family:inherit;font-size:14px;line-height:1.35;padding:11px 18px;white-space:normal;transition:background-color .3s,box-shadow .3s,border-color .3s}
.hal-client .btn-primary,.hal-client .halfi-btn-primary {background:var(--hal-primary)!important;border:1px solid var(--hal-primary);color:white!important}
.hal-client .btn-primary:hover,.hal-client .halfi-btn-primary:hover {box-shadow:0 2px 5px #0004;background:#b66b0e!important}
.hal-client .btn-light,.hal-client .btn-outline-primary {background:var(--hal-paper);border:1px solid var(--hal-primary);color:var(--hal-ink)}
.hal-client .btn:disabled {opacity:.6;cursor:not-allowed}
.hal-client .btn-sm {min-height:36px;padding:7px 12px}
.hal-client .form-control,.hal-client .form-select,.hal-client input:not(.selectContainer input):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=file]),.hal-client textarea {
  font-family:inherit;font-size:16px;color:var(--hal-ink);background-color:var(--hal-paper);border:1px solid var(--hal-border);border-radius:10px;min-height:46px;box-shadow:none;
}
.hal-client .form-control:focus,.hal-client .form-select:focus {border-color:var(--hal-ink);box-shadow:0 0 0 3px #cf7e1926}
.hal-client .form-floating>.form-control {min-height:56px;height:56px}
.hal-client .form-floating>label {font-size:14px}
.hal-client .form-group {margin-bottom:18px}
.hal-client .invalid-feedback {line-height:1.4;font-size:13px}
.hal-client .is-invalid {border-color:#b42318!important}
.hal-client .text-danger {color:#b42318!important}
.hal-client .text-success {color:#087b45!important}
.hal-client .alert {border-radius:10px;font-size:14px;line-height:1.5}
.hal-client .hal-auth {min-height:100vh;position:relative;padding:100px max(24px,calc((100vw - 1110px)/2)) 100px;isolation:isolate}
.hal-client .hal-auth-grid {display:grid;grid-template-columns:minmax(0,1fr) 375px;gap:100px;max-width:1110px;margin:auto;align-items:start}
.hal-client .hal-auth-logo {width:72px;height:74px;object-fit:contain}
.hal-client .hal-auth-copy {margin-top:46px;max-width:360px}
.hal-client .hal-auth-copy>div {width:100%!important;margin:0!important}
.hal-client .hal-auth-copy .h1 {font-size:40px;line-height:1;max-width:350px;margin-top:8px}
.hal-client .hal-auth-copy .h6 {margin:0;color:var(--hal-link)}
.hal-client .hal-auth-form {padding-top:106px;min-width:0}
.hal-client .hal-auth-form>[slot=form] {background:var(--hal-paper)!important;width:100%!important;margin:0!important;border-radius:10px!important;padding:24px!important;box-shadow:var(--hal-shadow)}
.hal-client .hal-auth-form .h4 {font-size:20px;font-weight:700;margin:0 0 8px}
.hal-client .hal-auth-form hr {height:5px!important;width:56px;background:var(--hal-primary)!important;border:0;opacity:1;margin:0 auto 20px}
.hal-client .hal-auth-form form>p:last-child {font-size:13px;margin:20px 0 4px!important}
.hal-client .hal-auth-form form>a {display:block;font-size:13px}
.hal-client .hal-auth-form .btn {min-height:54px}
.hal-client .hal-auth-pattern {position:absolute;left:0;bottom:50px;width:465px;max-height:400px;object-fit:contain;object-position:bottom left;z-index:-1;pointer-events:none}
.hal-client .hal-app {display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;align-items:start;padding:50px 50px 80px 0;gap:0}
.hal-client .hal-sidebar {position:sticky;top:40px;width:250px;padding:0 19px 0 48px;min-height:calc(100vh - 90px);display:flex;flex-direction:column;background:var(--hal-cream);z-index:100}
.hal-client .hal-sidebar-brand img {width:56px;height:58px;object-fit:contain}
.hal-client .hal-sidebar ul {list-style:none;margin:35px 0 24px;padding:0;display:grid;gap:12px}
.hal-client .hal-sidebar li a,.hal-client .hal-sidebar-logout {display:flex;align-items:center;gap:10px;padding:12px 8px;min-height:44px;border-radius:10px;font-size:16px;color:var(--hal-ink);transition:background .3s,box-shadow .3s}
.hal-client .hal-sidebar li a img,.hal-client .hal-sidebar-logout img {width:24px;height:24px;object-fit:contain}
.hal-client .hal-sidebar li a.active,.hal-client .hal-sidebar li a:hover {background:var(--hal-paper);box-shadow:var(--hal-shadow)}
.hal-client .hal-sidebar-logout {margin-top:auto;font-size:14px}
.hal-client .hal-sidebar-footer {font-size:12px;color:#666;margin:18px 8px}
.hal-client #content.hal-content {min-width:0;width:100%;padding:20px 35px 36px!important;margin:0!important;background:var(--hal-paper);border-radius:10px;box-shadow:var(--hal-shadow);min-height:calc(100vh - 130px)}
.hal-client .hal-page-header {display:flex;align-items:center;gap:16px;min-height:48px;margin-bottom:18px}
.hal-client .hal-page-header h1 {font-size:20px;color:var(--hal-link);font-weight:700;letter-spacing:0;margin:0}
.hal-client .hal-profile-menu {margin-left:auto;z-index:105}
.hal-client .hal-profile-menu>.btn {display:flex;align-items:center;justify-content:space-between;gap:48px;min-width:220px;text-align:left;min-height:48px;text-transform:none}
.hal-client .dropdown-menu {border:1px solid #e8e0d3;border-radius:10px;box-shadow:0 10px 30px #1313131a;padding:8px;max-width:calc(100vw - 32px)}
.hal-client .dropdown-item {border-radius:6px;padding:10px 12px;color:var(--hal-ink);white-space:normal}
.hal-client .dropdown-item:hover,.hal-client .dropdown-item:focus {background:var(--hal-cream);color:var(--hal-link)}
.hal-client .hal-context {margin-bottom:18px}
.hal-client .hal-context:empty {display:none}
.hal-client .hal-context .collapse,.hal-client .hal-context .navbar-nav {display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin:0!important;padding:0!important}
.hal-client .hal-context button[data-toggle="collapse"],.hal-client .hal-context a[href*='/profile/'],.hal-client .hal-context a[href*='/notification/'],.hal-client .hal-context a[href*='/logout'] {display:none!important}
.hal-client .hal-context li {list-style:none}
.hal-client .hal-context li:has(>a[style*='display: none']) {display:none}
.hal-client .hal-context a {font-size:13px;padding:6px 12px;border-radius:20px;color:#686057}
.hal-client .hal-context .active>a {color:var(--hal-link);background:var(--hal-cream)}
.hal-client .hal-page-body {min-width:0;outline:none}
.hal-client .hal-page-body>.row {width:auto!important;margin-left:-12px!important;margin-right:-12px!important;box-shadow:none!important}
.hal-client .hal-page-body>.row>.col-sm-12>.p-4:first-child {padding:8px 0!important;margin:0!important}
.hal-client .hal-page-body>.row>.col-sm-12>.p-4:first-child>.h4 {font-size:18px}
.hal-client .card {border:0;border-radius:10px;box-shadow:var(--hal-shadow);overflow:visible;min-width:0}
.hal-client .card-body {padding:20px;min-width:0}
.hal-client .account-card {background:linear-gradient(135deg,#131313,#494949);color:white}
.hal-client .account-card .text-brown {color:#edb261!important}
.hal-client .investment-card {background:var(--hal-primary)}
.hal-client .recent-transactions,.hal-client .flow-charts,.hal-client .financing-tile {background:var(--hal-cream)}
.hal-client .list-group-item {border:0;padding:16px 0;background:transparent}
.hal-client .recent-transactions .list-group-item {border-bottom:1px solid #cf7e1933}
.hal-client .recent-transactions .list-group-item:last-child {border:0}
.hal-client .investment-card .list-group-item,.hal-client .financing-tile .list-group-item {background:var(--hal-paper);border-radius:10px;margin-bottom:14px;padding:18px}
.hal-client .banking-account-card {min-height:64px;height:auto;padding:12px;background:var(--hal-cream);border:1px solid #cf7e1960;box-shadow:var(--hal-shadow);border-radius:10px}
.hal-client .nav-tabs {border:0;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.hal-client .nav-tabs .nav-link {border:0;border-bottom:2px solid transparent;border-radius:0;font-size:14px;padding:10px 14px;background:transparent;color:#666;cursor:pointer}
.hal-client .nav-tabs .nav-link.active {color:var(--hal-ink);border-bottom-color:var(--hal-primary)}
.hal-client .nav-pills .nav-link {border-radius:20px}
.hal-client .nav-pills .nav-link.active {background:var(--hal-primary);color:white}
.hal-client .table-responsive {max-width:100%;overflow-x:auto;border-radius:10px}
.hal-client table {font-size:14px;color:var(--hal-ink);width:100%}
.hal-client table th {background:var(--hal-cream);color:var(--hal-link);font-size:13px;font-weight:600;padding:14px 12px!important;border-bottom:1px solid #cf7e1940}
.hal-client table td {padding:14px 12px!important;border-bottom:1px solid #eee;vertical-align:middle}
.hal-client .page-link {color:var(--hal-link);border-color:#eee}
.hal-client .page-item.active .page-link {background:var(--hal-primary);border-color:var(--hal-primary);color:white}
.hal-client .modal-backdrop.show {opacity:.75}
.hal-client .modal-dialog {max-width:413px;margin:24px auto}
.hal-client .modal-dialog.modal-lg {max-width:800px}
.hal-client .modal-dialog.modal-xl {max-width:1140px}
.hal-client .modal-content {background:var(--hal-cream);border:0;border-radius:10px;box-shadow:var(--hal-shadow);color:var(--hal-ink)}
.hal-client .modal-header {border:0;padding:24px 24px 8px;align-items:flex-start}
.hal-client .modal-title {font-size:30px;line-height:1.1;font-weight:700}
.hal-client .modal-body {padding:20px 24px;overflow-wrap:anywhere}
.hal-client .modal-body .p-4 {padding:8px!important}
.hal-client .modal-footer {border:0;padding:8px 24px 24px;gap:10px}
.hal-client .modal-footer>.btn {margin:0;flex:1}
.hal-client .modal .close {border:0;background:transparent;font-size:28px;color:var(--hal-link)}
.hal-client .hal-loading {position:fixed;inset:0;z-index:9999;background:#fcf9eee8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px}
.hal-client .hal-loading img {width:72px;height:72px}
.hal-client .hal-progress {width:min(416px,80vw);height:5px;background:#cf7e1933;border-radius:5px;overflow:hidden}
.hal-client .hal-progress::before {content:'';display:block;width:35%;height:100%;background:var(--hal-primary);animation:hal-progress 1.2s ease-in-out infinite alternate}
@keyframes hal-progress {to{transform:translateX(185%)}}
.hal-client .hal-menu-toggle,.hal-client .hal-nav-close,.hal-client .hal-nav-scrim {display:none}
.hal-client .hal-skip-link {position:fixed;left:16px;top:-80px;z-index:99999;background:white;padding:12px;border-radius:10px}
.hal-client .hal-skip-link:focus {top:16px}
.hal-client .hal-section-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.hal-client .hal-section-heading p,.hal-client .hal-section-heading h2 {margin:0}
.hal-client .hal-section-heading a {margin-left:auto!important;font-size:12px;white-space:nowrap}
.hal-client .hal-account-actions {display:flex;gap:24px;margin-top:20px;flex-wrap:wrap}
.hal-client .hal-account-actions a {display:inline-flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;letter-spacing:.04em;color:inherit}
.hal-client .hal-account-actions img {width:52px;height:52px;padding:13px;border:2px solid var(--hal-primary);border-radius:10px}
.hal-client .hal-account-actions .hal-ico {width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:21px;color:var(--hal-primary);border:2px solid var(--hal-primary);border-radius:10px}
.hal-client .hal-add-card {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--hal-cream);border:0;border-radius:10px;min-height:111px;width:100%;color:var(--hal-ink);margin-top:12px}
.hal-client .hal-add-card img {width:27px;height:27px}
.hal-client .hal-stat-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;color:white}
.hal-client .hal-stat-grid p {margin-bottom:8px}
.hal-client .hal-stat-grid strong {font-size:28px;line-height:1.2;overflow-wrap:anywhere}
.hal-client .hal-empty {padding:24px 12px;text-align:center;color:#686057;font-size:14px}
.hal-client .hal-empty img {width:142px;height:90px;object-fit:contain;margin-bottom:16px}
@media(min-width:1600px) {.hal-client .hal-app{max-width:1600px;margin:auto}}
@media(max-width:1199px) {.hal-client .hal-app{grid-template-columns:210px minmax(0,1fr);padding-right:24px}.hal-client .hal-sidebar{width:210px;padding-left:24px}.hal-client #content.hal-content{padding:20px 24px!important}.hal-client .hal-auth-grid{gap:48px}.hal-client .hal-profile-menu>.btn{min-width:170px}}
@media(max-width:991px) {
 .hal-client .hal-app {display:block;padding:20px}
 .hal-client .hal-sidebar {display:none;position:fixed;inset:0 auto 0 0;width:250px;padding:30px 20px;z-index:1041;overflow-y:auto;min-height:100vh}
 .hal-client .hal-sidebar-open {display:flex}
 .hal-client .hal-menu-toggle {display:block;border:1px solid #cf7e1940;background:var(--hal-cream);color:var(--hal-link);border-radius:8px;width:44px;height:44px;font-size:22px}
 .hal-client .hal-nav-close {display:block;position:absolute;right:16px;top:20px;border:0;background:none;font-size:30px}
 .hal-client .hal-nav-scrim {display:block;position:fixed;inset:0;background:#0009;border:0;z-index:1040}
 .hal-client .hal-auth {padding:48px 32px 80px}
 .hal-client .hal-auth-grid {grid-template-columns:minmax(0,1fr) minmax(300px,375px);gap:32px}
 .hal-client .hal-auth-copy .h1 {font-size:34px}
 .hal-client .hal-auth-form {padding-top:76px}
 .hal-client .hal-auth-pattern {width:300px;opacity:.6}
}
@media(max-width:767px) {
 .hal-client .hal-auth {padding:28px 20px 60px}
 .hal-client .hal-auth-grid {display:block;max-width:440px}
 .hal-client .hal-auth-logo {width:56px;height:58px}
 .hal-client .hal-auth-copy {margin-top:24px;margin-bottom:28px;max-width:100%}
 .hal-client .hal-auth-copy .h1 {font-size:32px;line-height:1.1;max-width:100%}
 .hal-client .hal-auth-form {padding:0}
 .hal-client .hal-auth-pattern {display:none}
 .hal-client .hal-app {padding:12px 10px 30px}
 .hal-client #content.hal-content {padding:16px!important;min-height:calc(100vh - 42px)}
 .hal-client .hal-profile-menu>.btn {min-width:0;gap:12px;font-size:13px;padding:10px 12px}
 .hal-client .hal-page-header {gap:10px}
 .hal-client .hal-page-header h1 {font-size:18px}
 .hal-client .hal-page-body .p-5 {padding:18px!important}
 .hal-client .hal-page-body .ml-5,.hal-client .hal-page-body .ml-4,.hal-client .hal-page-body .ml-3 {margin-left:0!important}
 .hal-client .hal-page-body .row[style*='width'] {width:auto!important;margin-left:0!important;margin-right:0!important}
 .hal-client .hal-page-body .col-sm-4[style*='width:400px'] {width:min(300px,100%)!important;flex-shrink:0}
 .hal-client .modal-dialog {width:calc(100% - 24px);margin:12px auto}
 .hal-client .modal-title {font-size:26px}
 .hal-client .modal-body,.hal-client .modal-header {padding-left:18px;padding-right:18px}
 .hal-client .h2,.hal-client h2 {font-size:28px}
 .hal-client .hal-stat-grid strong {font-size:24px}
}
@media(prefers-reduced-motion:reduce) {.hal-client *, .hal-client *::before,.hal-client *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.hal-client .hal-app[data-page=dashboard] .hal-context {display:none}
.hal-client .hal-app[data-page=dashboard] .hal-page-body>.row>.pt-4 {padding-top:0!important}
.hal-client .hal-app[data-page=dashboard] .hal-page-header {margin-bottom:0}
.hal-client .hal-sidebar a img,.hal-client .hal-account-actions img,.hal-client .hal-add-card img,.hal-client .hal-password-toggle img {filter:invert(51%) sepia(92%) saturate(705%) hue-rotate(354deg) brightness(91%) contrast(87%)}
.hal-client .hal-sidebar .hal-sidebar-brand img {filter:none}
.hal-client .hal-auth-pattern {transform:scaleX(-1)}
.hal-client .hal-password-field {position:relative}
.hal-client .hal-password-field input {padding-right:48px!important}
.hal-client .hal-password-toggle {position:absolute;right:4px;top:6px;width:42px;height:44px;border:0;background:transparent;border-radius:8px;padding:12px;z-index:2}
.hal-client .hal-password-toggle img {width:20px;height:20px}
.hal-client .hal-password-help {font-size:12px;line-height:1.5;color:#65605a;margin-bottom:12px}
.hal-client .hal-error-illustration {display:flex;align-items:center;flex-direction:column;gap:24px}
.hal-client .hal-error-illustration img {width:100%;max-width:375px;height:auto;margin:0!important}
.hal-client .hal-chart-empty {min-height:170px;display:grid;place-items:center;border-bottom:1px solid #cf7e1940}
.hal-client .hal-context {display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hal-client .hal-context a.active {border-bottom:0}

.hal-client .hal-wallet-section {margin:32px 20px}
.hal-client .hal-wallet-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:780px;margin-top:16px}
.hal-client .hal-wallet-link {display:flex;align-items:center;gap:16px;padding:16px 20px;min-height:72px;color:var(--hal-ink)}
.hal-client .hal-wallet-link img {width:32px;height:32px}
.hal-client .hal-wallet-link span:last-child {margin-left:auto;color:var(--hal-primary);font-size:30px}
.hal-client .cal-option-button {min-height:72px;border:1px solid transparent;background:var(--hal-cream);border-radius:10px;padding:20px}
.hal-client .cal-option-button:has(input:checked) {border-color:var(--hal-primary);background:#fff4dd}
.hal-client input[type=radio],.hal-client input[type=checkbox] {accent-color:var(--hal-primary)}
.hal-client .halfi-works-serial {flex-shrink:0}
.hal-client .hal-app[data-page=calculator] .halfi-works-description {margin:0!important;text-align:left}
.hal-client .hal-app[data-page=calculator] .halfi-works-title {margin-bottom:8px!important}
@media(min-width:1200px) {
 .hal-client .hal-app[data-page=calculator] .hal-page-body>.row>.col-sm-12:has(.cal-option-button) {width:58%;max-width:58%;flex:0 0 58%}
 .hal-client .hal-app[data-page=calculator] .hal-page-body>.row>.col-sm-12:last-child {width:42%;max-width:42%;flex:0 0 42%;padding-top:24px}
 .hal-client .hal-app[data-page=calculator] .hal-page-body>.row>.col-sm-12:last-child>.p-5 {padding:24px!important;background:var(--hal-cream);border-radius:10px}
 .hal-client .hal-app[data-page=calculator] .hal-page-body>.row>.col-sm-12:last-child .h3 {font-size:24px;text-align:left!important}
 .hal-client .hal-app[data-page=calculator] .hal-page-body .col-lg-6 {max-width:100%;flex-basis:100%}
 .hal-client .hal-app[data-page=calculator] .hal-page-body .h2 {font-size:28px}
}
@media(max-width:767px) {.hal-client .hal-wallet-grid{grid-template-columns:1fr;gap:14px}.hal-client .hal-wallet-section{margin:24px 0}.hal-client .hal-wallet-link{padding:14px}}
.hal-client .hal-category-chip {background:#e9e9e9;color:#131313;border:1px solid #13131314;border-radius:24px!important}
.hal-client .hal-category-chip .text-white {color:inherit!important}
.hal-client .hal-category-chip[data-category*=mosque] {background:#FFCD8E}
.hal-client .hal-category-chip[data-category*=nature] {background:#B2FFCC}
.hal-client .hal-category-chip[data-category*=school] {background:#E9E9E9}
.hal-client .hal-category-chip[data-category*=orphan] {background:#FFC6C6}
.hal-client .hal-auth-form .halfi-btn-large {min-width:0;width:100%}
.hal-client .hal-profile-summary {padding:16px;overflow-wrap:anywhere}
.hal-client .hal-profile-summary p {margin-bottom:10px}
.hal-client .hal-profile-summary img[alt=placeholder] {border-radius:50%;object-fit:cover;margin:0!important;max-width:100%}
.hal-client .hal-profile-summary .mt-n3 {margin-top:0!important}
.hal-client .hal-profile-summary .col-sm-6 {border:0!important;min-width:0}
.hal-client .hal-profile-summary .col-sm-6:first-child {flex:0 0 100%;max-width:100%;margin-bottom:12px}
.hal-client .hal-profile-summary .col-sm-6:last-child {flex:0 0 100%;max-width:100%}
.hal-client .modal-dialog-centered {min-height:calc(100% - 48px)}
.hal-client .modal .halfi-btn-large {width:100%;min-width:0;min-height:54px;color:white;background:var(--hal-primary);border:1px solid var(--hal-primary)}
.hal-client .modal .halfi-btn-large.text-dark {background:var(--hal-paper)!important;color:var(--hal-ink)!important;border:1px solid var(--hal-primary)}
.hal-client .modal-body>button[aria-label='Close dialog'] {position:absolute;right:16px;top:16px;float:none!important;z-index:1;width:40px!important;height:40px!important;min-height:40px;padding:8px}
.hal-client .modal-body>button[aria-label='Close dialog'] i {position:static!important}
.hal-client .modal-body>.row>.col-sm-12>.h4:first-child {font-size:30px;font-weight:700;margin:32px 0 24px}
.hal-client .modal .input-group {flex-wrap:nowrap;background:var(--hal-paper);border-radius:10px;overflow:hidden}
.hal-client .modal .input-group>.form-control {min-width:0;width:1%;border:0;border-radius:0}
.hal-client .modal .input-group-text {border:0!important;background:var(--hal-paper)}

/* Financing: illustrated catalogue and responsive product browsing. */
.hal-client .finance-eyebrow {display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:#8a6336;margin-bottom:12px}
.hal-client .finance-hero {display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:#f6ecd9;border:1px solid #ebdfc9;border-radius:24px;padding:38px;margin-bottom:36px;overflow:hidden}
.hal-client .finance-hero h2 {font-size:clamp(30px,3.4vw,48px);line-height:1.12;letter-spacing:-.03em;margin:0 0 18px}
.hal-client .finance-hero p {max-width:420px;color:#746657;line-height:1.65;margin-bottom:24px}
.hal-client .finance-hero-art {position:relative;align-self:center;min-height:230px}
.hal-client .finance-hero-art img:first-child {width:80%;height:210px;object-fit:contain;margin-left:15%}
.hal-client .finance-hero-art img:last-child {position:absolute;width:65%;height:130px;object-fit:contain;bottom:-8px;left:0}
.hal-client .finance-category-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 36px}
.hal-client .finance-category-card {display:flex;flex-direction:column;border:1px solid #e8e3db;border-radius:20px;overflow:hidden;background:#fff;color:#302a25;transition:transform .2s,box-shadow .2s}
.hal-client .finance-category-card:hover {transform:translateY(-4px);box-shadow:0 12px 30px #4c351315;text-decoration:none}
.hal-client .finance-category-art {background:#f7f5ef;height:155px;padding:20px}
.hal-client .finance-category-card:nth-child(2n) .finance-category-art {background:#eef3ee}
.hal-client .finance-category-card:nth-child(3n) .finance-category-art {background:#eff1f7}
.hal-client .finance-category-art img {width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.hal-client .finance-category-copy {padding:22px;display:flex;flex-direction:column;flex:1}
.hal-client .finance-category-copy small {font-size:11px;color:#89755e;margin-bottom:9px}
.hal-client .finance-category-copy h3,.hal-client .finance-product-copy h3 {font-size:19px;line-height:1.35;margin-bottom:10px}
.hal-client .finance-category-copy p {font-size:14px;color:#7b7165;line-height:1.6;margin-bottom:22px}
.hal-client .finance-card-link {display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:#ad6517;margin-top:auto;gap:12px}
.hal-client .finance-balance {display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px;border:1px solid #e7e2d9;border-radius:18px;margin-bottom:24px;background:#fff}
.hal-client .finance-balance strong {font-size:30px;white-space:nowrap}
.hal-client .finance-balance h2 {margin:0}
.hal-client .finance-catalog-heading {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0}
.hal-client .finance-catalog-heading h2 {font-size:28px}
.hal-client .finance-catalog-heading p {color:#817361;margin-bottom:0}
.hal-client .finance-catalog-heading img {width:130px;height:100px;object-fit:contain}
.hal-client .finance-search {display:flex;gap:10px;padding:16px;background:#fff;border:1px solid #e7e2d9;border-radius:16px;margin-bottom:20px}
.hal-client .finance-search input {min-width:0}
.hal-client .finance-category-tabs {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.hal-client .finance-category-tabs a {border:1px solid #e5ded3;border-radius:24px;padding:9px 16px;background:#fff;font-size:13px;color:#746755}
.hal-client .finance-category-tabs a.active {background:#563c26;color:white;border-color:#563c26}
.hal-client .finance-product-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.hal-client .finance-product-grid>.hal-empty {grid-column:1/-1}
.hal-client .finance-product-card {border:1px solid #e8e3db;border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.hal-client .finance-product-image {display:block;background:#f7f6f2;padding:24px;height:200px}
.hal-client .finance-product-image img {width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.hal-client .finance-product-copy {padding:20px;display:flex;flex-direction:column;flex:1}
.hal-client .finance-vendor {font-size:12px;color:#917452;margin-bottom:12px}
.hal-client .finance-product-copy h3 a {color:#302a25}
.hal-client .finance-product-copy p {font-size:13px;color:#827768;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hal-client .finance-product-copy strong {font-size:20px;margin:10px 0 22px}
.hal-client .finance-detail {display:grid;grid-template-columns:1.1fr 1fr;gap:40px;margin-top:26px;background:#fff;border:1px solid #e8e3db;border-radius:24px;padding:28px}
.hal-client .finance-detail-image {border-radius:16px;background:#f7f6f2;padding:28px;display:grid;place-items:center}
.hal-client .finance-detail-image img {width:100%;max-height:400px;object-fit:contain;mix-blend-mode:multiply}
.hal-client .finance-detail-copy {padding:14px 0}
.hal-client .finance-detail-copy h2 {font-size:28px;line-height:1.3}
.hal-client .finance-detail-copy p {color:#807462;line-height:1.6}
.hal-client .finance-detail-copy dl {display:grid;grid-template-columns:85px 1fr;gap:8px;font-size:14px;margin:24px 0}
.hal-client .finance-detail-copy dd {margin:0}
.hal-client .finance-detail-price {display:flex;flex-direction:column;border-top:1px solid #e8e3db;padding:20px 0}
.hal-client .finance-detail-price strong {font-size:30px}
.hal-client .finance-detail-copy .btn {width:100%}
.hal-client .finance-detail-help {font-size:12px;margin-top:12px}
@media(max-width:1100px){.hal-client .finance-category-grid,.hal-client .finance-product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hal-client .finance-hero {grid-template-columns:1fr;padding:24px;gap:8px}.hal-client .finance-hero-art {min-height:160px}.hal-client .finance-hero-art img:first-child {height:155px}.hal-client .finance-hero-art img:last-child {height:100px}.hal-client .finance-category-grid,.hal-client .finance-product-grid,.hal-client .finance-detail {grid-template-columns:1fr}.hal-client .finance-category-art {height:170px}.hal-client .finance-balance {align-items:flex-start;flex-direction:column}.hal-client .finance-search {flex-wrap:wrap}.hal-client .finance-search input {flex-basis:100%}.hal-client .finance-catalog-heading img {width:80px;height:80px}.hal-client .finance-catalog-heading h2 {font-size:23px}.hal-client .finance-detail {padding:20px;gap:20px}}
@media(prefers-reduced-motion:reduce){.hal-client .finance-category-card {transition:none}.hal-client .finance-category-card:hover {transform:none}}

/* svelte-select overlays a transparent search input on its selected label.
   Style the outer control; an opaque input background hides the selection. */
.hal-client .selectContainer {
  --background:var(--hal-paper); --inputColor:var(--hal-ink);
  --height:46px; --borderRadius:10px; --border:1px solid var(--hal-border);
  font-family:inherit;
}

/* Shared client overview layout: investments and giving. */
.hal-client .client-section-heading {display:flex;justify-content:space-between;align-items:center;gap:24px;margin:12px 0 28px;flex-wrap:wrap}
.hal-client .client-section-heading h1 {margin:0 0 10px;font-size:clamp(28px,3vw,38px)}
.hal-client .client-section-heading h2 {font-size:24px;margin:0}
.hal-client .client-section-heading p {margin-bottom:0;color:#626262;max-width:640px}
.hal-client .client-section-heading .btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}
.hal-client .client-metrics {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:28px}
.hal-client .client-metric {background:#faf8f3;border:1px solid #e9e3d8;border-radius:16px;padding:24px;min-width:0}
.hal-client .client-metric p {font-size:14px;margin:0 0 14px}
.hal-client .client-metric strong {display:block;font-size:clamp(22px,2.3vw,32px);line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.hal-client .client-metric small {display:block;margin-top:12px;opacity:.8}
.hal-client .client-metric-featured {background:#283b31;color:#fff;border-color:#283b31}
.hal-client .client-section-tabs {display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e9e3d8;padding-bottom:12px;margin:24px 0}
.hal-client .client-section-tabs button,.hal-client .client-section-tabs a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:24px;background:transparent;color:var(--hal-ink);font:inherit;cursor:pointer}
.hal-client .client-section-tabs .active {background:var(--hal-ink);color:#fff}
.hal-client .client-section-tabs button:hover,.hal-client .client-section-tabs a:hover {border-color:var(--hal-primary)}
.hal-client .client-portfolio-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}
.hal-client .client-portfolio-card,.hal-client .client-info-panel {padding:24px;border:1px solid #e9e3d8;border-radius:16px;background:#fff;color:var(--hal-ink);min-width:0}
.hal-client .client-portfolio-card:hover {border-color:var(--hal-primary);box-shadow:0 8px 24px #1313130a}
.hal-client .client-portfolio-card h3,.hal-client .client-info-panel h3,.hal-client .client-empty h3 {font-size:22px;margin:14px 0 24px}
.hal-client .client-money {font-size:28px;overflow-wrap:anywhere}
.hal-client .client-card-link {display:flex;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid #eee;color:var(--hal-link)}
.hal-client .client-empty {grid-column:1/-1;text-align:center;padding:40px 24px;border:1px dashed #d7c8af;border-radius:16px;background:#faf8f3}
.hal-client .client-empty p {max-width:520px;margin:0 auto 20px;color:#626262}
.hal-client .client-category-description {line-height:1.7;overflow-wrap:anywhere}
.hal-client .client-account-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.hal-client .client-account-actions .btn {flex:1 1 130px}
.hal-client .client-account-amount {font-size:26px;overflow-wrap:anywhere;margin:12px 0}
.hal-client .client-sadaqa .nav-tabs {gap:8px;flex-wrap:wrap}
.hal-client .client-sadaqa .nav-tabs .nav-link {min-height:44px;white-space:normal}
@media(max-width:600px){.hal-client .client-metrics {grid-template-columns:1fr}.hal-client .client-section-heading {gap:16px}.hal-client .client-section-heading>.btn {width:100%}.hal-client .client-sadaqa .tab-content .row>div {margin-bottom:20px}}

/* Sadaqa calculator and beneficiary workspaces. */
.hal-client .sadaqa-workspace {margin:0;row-gap:20px}
.hal-client .sadaqa-workspace>.col-sm-12 {padding-left:0;padding-right:0}
.hal-client .sadaqa-workspace h1 {font-size:clamp(28px,3vw,38px)}
.hal-client .sadaqa-workspace .h2,.hal-client .sadaqa-workspace .h3 {font-size:24px;line-height:1.35}
.hal-client .sadaqa-workspace .cal-option-button {height:auto;min-height:88px;border:1px solid #e5ddcf;border-radius:14px;background:#faf8f3!important;color:var(--hal-ink)!important;box-shadow:none;padding:20px;transition:border-color .15s,background .15s}
.hal-client .sadaqa-workspace .cal-option-button:hover {border-color:var(--hal-primary)}
.hal-client .sadaqa-workspace .cal-option-button:has(input:checked) {border:2px solid var(--hal-primary);background:#fff3df!important;padding:19px}
.hal-client .sadaqa-workspace .cal-option-button .form-check {width:100%;margin:0;display:flex;align-items:center;gap:12px;padding:0}
.hal-client .sadaqa-workspace .cal-option-button input {flex-shrink:0;margin:0;width:20px;height:20px}
.hal-client .sadaqa-workspace .cal-option-button label {flex:1;cursor:pointer;line-height:1.5;margin:0;color:var(--hal-ink)!important}
.hal-client .sadaqa-workspace .btn {min-width:120px}
.hal-client .sadaqa-workspace .mt-5 {margin-top:24px!important}
.hal-client .client-cause-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.hal-client .client-cause-card {display:flex;flex-direction:column;overflow:hidden;border:1px solid #e9e3d8;border-radius:18px;background:white;min-width:0}
.hal-client .client-cause-image {display:block;width:100%;height:200px;object-fit:cover;background:#faf8f3}
.hal-client .client-cause-body {padding:24px;display:flex;flex-direction:column;flex:1}
.hal-client .client-cause-body h3 {font-size:22px;line-height:1.35;margin:10px 0 12px}
.hal-client .client-cause-description {color:#626262;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:24px}
.hal-client .client-cause-totals {display:flex;justify-content:space-between;gap:16px;margin-top:auto;margin-bottom:14px;flex-wrap:wrap}
.hal-client .client-cause-totals small,.hal-client .client-cause-totals strong {display:block}
.hal-client .client-cause-totals small {color:#666;margin-bottom:6px}
.hal-client .client-cause-card .progress {height:8px;border-radius:8px;background:#f0ece4}
.hal-client .client-cause-card .progress-bar {background:#398461}
@media(max-width:600px){.hal-client .sadaqa-workspace .p-4 {padding:16px!important}.hal-client .client-cause-body {padding:20px}}
@media(prefers-reduced-motion:reduce){.hal-client .sadaqa-workspace .cal-option-button {transition:none}}

/* Consistent radio targets and gutters in Zakat and beneficiary wizards. */
.hal-client .sadaqa-workspace .form-check:has(input[type=radio]) {
    display:flex; align-items:flex-start; gap:12px; padding-left:0;
    margin:0 20px 12px 0; min-height:28px;
}
.hal-client .sadaqa-workspace .form-check input[type=radio] {
    position:static; float:none; flex:0 0 20px; width:20px; height:20px;
    margin:2px 0 0; padding:0;
}
.hal-client .sadaqa-workspace .form-check:has(input[type=radio]) label {
    margin:0; line-height:1.5; cursor:pointer;
}
.hal-client .sadaqa-workspace .cal-option-button {
    margin-top:0!important; margin-bottom:16px;
}
.hal-client .sadaqa-workspace .cal-option-button .form-check:has(input[type=radio]) {
    margin:0; min-height:28px;
}
.hal-client .sadaqa-workspace .d-flex:has(>.form-check input[type=radio]) {flex-wrap:wrap;}
/* Bank page wallets (20 Oct 2026): each card shows its icon, number and balance, with its own icon buttons. */
.hal-client .hal-wallet-card {display:flex;flex-direction:column;gap:14px;padding:16px 18px}
.hal-client .hal-wallet-head {display:flex;align-items:center;gap:14px;color:var(--hal-ink);text-decoration:none}
.hal-client .hal-wallet-head:hover {text-decoration:none;color:var(--hal-ink)}
.hal-client .hal-wallet-head img {width:32px;height:32px;filter:invert(51%) sepia(92%) saturate(705%) hue-rotate(354deg) brightness(91%) contrast(87%)}
.hal-client .hal-wallet-head > span {display:flex;flex-direction:column;min-width:0}
.hal-client .hal-wallet-head small {color:#888}
.hal-client .hal-wallet-balance {margin-left:auto;font-size:18px;white-space:nowrap}
.hal-client .hal-wallet-chevron {color:var(--hal-primary);font-size:26px;line-height:1}
.hal-client .hal-wallet-actions {display:flex;gap:18px;flex-wrap:wrap}
.hal-client .hal-wallet-actions button {display:inline-flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;padding:0;font-size:11px;letter-spacing:.04em;color:inherit;cursor:pointer}
.hal-client .hal-wallet-actions button:disabled {opacity:.45;cursor:not-allowed}
.hal-client .hal-wallet-actions img {width:44px;height:44px;padding:11px;border:2px solid var(--hal-primary);border-radius:10px;filter:invert(51%) sepia(92%) saturate(705%) hue-rotate(354deg) brightness(91%) contrast(87%)}
@media(max-width:767px) {.hal-client .hal-wallet-balance{font-size:16px}.hal-client .hal-wallet-actions{gap:14px}}
/* Wallet cards in a Bootstrap row (col-lg-4): the name and number above, the balance on its own line when the card is narrow. */
.hal-client .hal-wallet-row {margin-top:16px}
.hal-client .hal-wallet-row .hal-wallet-head {flex-wrap:wrap;row-gap:6px}
.hal-client .hal-wallet-row .hal-wallet-head > span {flex:1 1 0}
.hal-client .hal-wallet-row .hal-wallet-balance {flex-basis:100%;margin-left:46px;font-size:20px}
.hal-client .hal-wallet-row .hal-wallet-chevron {display:none}
