/* Delta Credit Cooperative: mobile-wallet UI system */
.dcc-app-shell { min-height: 100dvh; display: flex; background: var(--dcc-bg); }
.dcc-sidebar { width: 270px; flex: 0 0 270px; color: #fff; padding: 1.2rem .95rem; display: flex; flex-direction: column; position: sticky; top: 0; height: 100dvh; overflow-y: auto; background: linear-gradient(170deg, #062d72 0%, #064da9 56%, #0873dc 100%); box-shadow: 10px 0 34px rgba(4,45,111,.1); }
.dcc-sidebar::before { content: ""; position: absolute; width: 190px; height: 190px; border-radius: 50%; background: rgba(111,215,255,.17); top: -85px; right: -100px; pointer-events: none; }
.dcc-brand { display: flex; align-items: center; gap: .75rem; color: #fff; padding: .4rem .5rem 1.75rem; position: relative; z-index: 1; }
.dcc-brand:hover { color: #fff; }
.dcc-brand .dcc-brand-mark { width: 42px; height: 42px; border-radius: 14px; background: #fff; color: var(--dcc-primary); box-shadow: 0 8px 18px rgba(0,18,58,.2); }
.dcc-brand strong { display: block; font-size: .98rem; letter-spacing: -.015em; }
.dcc-brand small { display: block; color: rgba(255,255,255,.7); font-size: .73rem; }
.dcc-sidebar-label { color: rgba(255,255,255,.48); font-size: .65rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; margin: .45rem .65rem .62rem; }
.dcc-nav { display: grid; gap: .22rem; }
.dcc-nav-link { display: flex; gap: .8rem; align-items: center; color: rgba(255,255,255,.78); padding: .76rem .82rem; border-radius: 14px; font-size: .9rem; font-weight: 750; transition: .2s ease; }
.dcc-nav-link i { font-size: 1.02rem; width: 18px; text-align: center; }
.dcc-nav-link:hover, .dcc-nav-link.active { background: rgba(255,255,255,.16); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.dcc-sidebar-bottom { margin-top: auto; padding: 1.2rem .2rem .3rem; }
.dcc-role-badge { display: inline-flex; align-items: center; gap: .42rem; background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.2); padding: .52rem .66rem; border-radius: 10px; font-size: .72rem; font-weight: 850; }
.dcc-main { min-width: 0; flex: 1; }

.dcc-topbar { background: rgba(255,255,255,.88); backdrop-filter: blur(18px); min-height: 76px; border-bottom: 1px solid rgba(220,232,248,.9); padding: .8rem clamp(1rem, 3vw, 2rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: sticky; top: 0; z-index: 20; }
.dcc-page-heading h1 { font-size: 1.23rem; font-weight: 850; margin: .1rem 0 0; letter-spacing: -.038em; color: #102548; }
.dcc-topbar-actions { display: flex; align-items: center; gap: .42rem; }
.dcc-menu-button, .dcc-icon-button { width: 42px; height: 42px; border-radius: 14px; border: 1px solid var(--dcc-border); background: #fff; color: var(--dcc-primary); display: grid; place-items: center; }
.dcc-menu-button:hover, .dcc-icon-button:hover { background: var(--dcc-primary-soft); color: var(--dcc-primary-dark); }
.dcc-user-menu { display: flex; align-items: center; gap: .55rem; border: 0; background: transparent; padding: .18rem; }
.dcc-user-menu strong { display: block; color: var(--dcc-text); font-size: .8rem; line-height: 1.05; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-user-menu small { display: block; color: var(--dcc-muted); font-size: .7rem; font-weight: 700; }
.dcc-avatar { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; color: var(--dcc-primary); background: linear-gradient(135deg, #d9edff, #f2f8ff); border: 1px solid #cce3fb; font-weight: 850; }
.dcc-content { padding: clamp(1rem, 3vw, 2rem); max-width: 1600px; }

.dcc-welcome-card, .dcc-page-hero { color: #fff; border-radius: var(--dcc-radius-lg); padding: clamp(1.3rem, 3vw, 2rem); display: flex; justify-content: space-between; gap: 1.5rem; overflow: hidden; position: relative; margin-bottom: 1rem; isolation: isolate; background: linear-gradient(135deg, #0755bd 0%, #0975de 54%, #15a8ec 100%); box-shadow: 0 16px 30px rgba(5,83,188,.2); }
.dcc-welcome-card::after, .dcc-page-hero::after { content: ""; position: absolute; z-index: -1; width: 260px; height: 260px; right: -80px; top: -115px; border-radius: 50%; background: rgba(255,255,255,.13); box-shadow: 0 0 0 40px rgba(255,255,255,.06), 0 0 0 88px rgba(255,255,255,.035); }
.dcc-welcome-card h2, .dcc-page-hero h2 { font-weight: 850; letter-spacing: -.045em; font-size: clamp(1.32rem, 2.5vw, 2rem); max-width: 800px; margin: .4rem 0 .55rem; }
.dcc-welcome-card p, .dcc-page-hero p { margin: 0; color: rgba(255,255,255,.84); max-width: 780px; line-height: 1.55; }
.dcc-welcome-card .dcc-eyebrow, .dcc-page-hero .dcc-eyebrow { color: #d8f2ff; }
.dcc-welcome-icon { flex: 0 0 auto; width: 90px; height: 90px; display: grid; place-items: center; border-radius: 27px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.17); color: #fff; font-size: 2.65rem; }
.dcc-page-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; align-self: flex-end; position: relative; z-index: 1; }
.dcc-btn-light { border: 1px solid rgba(255,255,255,.26); border-radius: 14px; min-height: 43px; padding: .62rem .88rem; color: #fff; background: rgba(255,255,255,.14); font-weight: 800; backdrop-filter: blur(6px); }
.dcc-btn-light:hover, .dcc-btn-light:focus { color: var(--dcc-primary-dark); background: #fff; border-color: #fff; }
.dcc-btn-on-dark { background: #fff; color: var(--dcc-primary-dark); border-color: #fff; }
.dcc-btn-on-dark:hover, .dcc-btn-on-dark:focus { color: var(--dcc-primary-dark); background: #e8f5ff; border-color: #e8f5ff; }

.dcc-stat-card, .dcc-panel { background: var(--dcc-surface); border: 1px solid var(--dcc-border); border-radius: var(--dcc-radius); box-shadow: var(--dcc-shadow-sm); }
.dcc-stat-card { padding: 1.08rem; min-height: 156px; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.dcc-stat-card::after { content: ""; position: absolute; width: 88px; height: 88px; border-radius: 50%; background: var(--dcc-primary-faint); right: -39px; top: -37px; }
.dcc-stat-icon { width: 39px; height: 39px; border-radius: 13px; display: grid; place-items: center; background: var(--dcc-primary-soft); color: var(--dcc-primary); font-size: 1.08rem; margin-bottom: .68rem; position: relative; z-index: 1; }
.dcc-stat-label { color: var(--dcc-muted); font-size: .76rem; font-weight: 800; position: relative; z-index: 1; }
.dcc-stat-card strong { color: #10254a; font-size: 1.55rem; letter-spacing: -.055em; margin: .22rem 0; position: relative; z-index: 1; overflow-wrap: anywhere; }
.dcc-stat-card small { color: var(--dcc-muted); margin-top: auto; font-size: .71rem; line-height: 1.35; position: relative; z-index: 1; }
.dcc-stat-card-compact { min-height: 142px; }
.dcc-panel { padding: clamp(1rem, 2vw, 1.28rem); }
.dcc-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.12rem; }
.dcc-panel-head h3 { font-size: 1.08rem; font-weight: 850; letter-spacing: -.032em; margin: .25rem 0 0; color: #172b4d; }
.dcc-panel-head-wrap { flex-wrap: wrap; }
.dcc-panel-meta { font-size: .74rem; font-weight: 750; color: var(--dcc-muted); background: var(--dcc-primary-faint); border: 1px solid #dceafa; border-radius: 999px; padding: .42rem .63rem; }

.dcc-roadmap, .dcc-branch-workflow { list-style: none; padding: 0; display: grid; gap: .98rem; }
.dcc-roadmap li, .dcc-branch-workflow li { display: flex; gap: .75rem; align-items: flex-start; }
.dcc-roadmap li > span, .dcc-branch-workflow li > span { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--dcc-primary-soft); color: var(--dcc-primary); font-size: .75rem; font-weight: 850; }
.dcc-roadmap li.is-complete > span { background: var(--dcc-primary); color: #fff; }
.dcc-roadmap strong, .dcc-security-list strong, .dcc-branch-workflow strong { display: block; color: #203555; font-size: .89rem; }
.dcc-roadmap small, .dcc-security-list small, .dcc-branch-workflow small { display: block; color: var(--dcc-muted); margin-top: .16rem; line-height: 1.42; font-size: .77rem; }
.dcc-security-list { display: grid; gap: .88rem; }
.dcc-security-list > div { display: flex; gap: .72rem; align-items: flex-start; }
.dcc-security-list i { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: var(--dcc-primary-soft); color: var(--dcc-primary); }

/* Branch wallet and movement */
.dcc-branch-wallet-panel { background: linear-gradient(145deg, #06387e, #0969cb 66%, #0d93e9); border: 0; color: #fff; box-shadow: 0 16px 32px rgba(5,76,174,.22); }
.dcc-branch-wallet-panel .dcc-eyebrow, .dcc-branch-wallet-panel h3 { color: #fff; }
.dcc-branch-wallet-panel h3 { color: #fff; }
.dcc-wallet-status { display: inline-flex; align-items: center; gap: .37rem; padding: .42rem .58rem; border-radius: 999px; color: #fff; font-size: .72rem; font-weight: 800; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.19); }
.dcc-wallet-amount-wrap { margin-top: .2rem; }
.dcc-wallet-amount-wrap > span { display: block; color: rgba(255,255,255,.76); font-size: .78rem; font-weight: 720; }
.dcc-wallet-amount-wrap strong { display: block; color: #fff; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.07em; margin-top: .1rem; }
.dcc-wallet-amount-wrap small { color: rgba(255,255,255,.7); font-size: .72rem; }
.dcc-movement-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 1.15rem; }
.dcc-movement-item { min-width: 0; border-radius: 15px; padding: .78rem; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.13); }
.dcc-movement-item > div { min-width: 0; }
.dcc-movement-item > div > span { display: block; color: rgba(255,255,255,.72); font-size: .67rem; line-height: 1.25; }
.dcc-movement-item strong { display: block; color: #fff; font-size: .99rem; letter-spacing: -.035em; margin-top: .25rem; overflow-wrap: anywhere; }
.dcc-movement-icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 9px; margin-bottom: .52rem; background: rgba(255,255,255,.16); color: #fff; font-size: .82rem; }
.dcc-ledger-protection { display: flex; gap: .62rem; align-items: flex-start; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.13); border-radius: 14px; padding: .78rem; color: rgba(255,255,255,.84); font-size: .76rem; line-height: 1.43; }
.dcc-ledger-protection i { color: #fff; margin-top: .08rem; }
.dcc-modal-content .dcc-ledger-protection, .dcc-panel:not(.dcc-branch-wallet-panel) .dcc-ledger-protection { background: var(--dcc-primary-faint); border-color: #dceafb; color: #405372; }
.dcc-modal-content .dcc-ledger-protection i, .dcc-panel:not(.dcc-branch-wallet-panel) .dcc-ledger-protection i { color: var(--dcc-primary); }

/* Profile blocks, records and account products */
.dcc-branch-profile-card, .dcc-member-profile-header { display: flex; gap: .8rem; align-items: center; padding: .95rem; border-radius: 17px; background: var(--dcc-primary-faint); border: 1px solid #deedfc; }
.dcc-branch-profile-mark { width: 47px; height: 47px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; background: linear-gradient(135deg, var(--dcc-primary), #23a2ef); color: #fff; font-size: 1.3rem; box-shadow: 0 8px 16px rgba(11,99,216,.18); }
.dcc-branch-profile-card > div:last-child, .dcc-member-profile-header > div:last-child { min-width: 0; }
.dcc-branch-profile-card strong, .dcc-member-profile-header strong { display: block; color: #1b3155; font-size: .94rem; margin-top: .27rem; overflow-wrap: anywhere; }
.dcc-branch-profile-card small, .dcc-member-profile-header span { display: block; color: var(--dcc-muted); font-size: .75rem; line-height: 1.4; }
.dcc-code-chip { display: inline-flex; align-items: center; width: max-content; max-width: 100%; background: #fff; color: var(--dcc-primary-dark); border: 1px solid #c8e0fc; padding: .28rem .47rem; border-radius: 8px; font-weight: 850; letter-spacing: .05em; font-size: .67rem; }
.dcc-branch-details, .dcc-member-details { margin-top: .8rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #e5eef9; border-radius: 15px; overflow: hidden; }
.dcc-branch-details > div, .dcc-member-details > div { padding: .76rem; border-bottom: 1px solid #e5eef9; }
.dcc-branch-details > div:nth-child(odd), .dcc-member-details > div:nth-child(odd) { border-right: 1px solid #e5eef9; }
.dcc-branch-details > div:nth-last-child(-n+2), .dcc-member-details > div:nth-last-child(-n+2) { border-bottom: 0; }
.dcc-branch-details dt, .dcc-member-details dt { color: var(--dcc-muted); font-size: .69rem; font-weight: 800; }
.dcc-branch-details dd, .dcc-member-details dd { margin: .18rem 0 0; color: #294264; font-size: .77rem; font-weight: 760; overflow-wrap: anywhere; }
.dcc-branch-help-card, .dcc-member-notice { display: flex; gap: .65rem; align-items: flex-start; padding: .86rem; border-radius: 15px; background: #eef7ff; border: 1px solid #d6eafa; }
.dcc-branch-help-card > i, .dcc-member-notice > i { color: var(--dcc-primary); font-size: 1rem; margin-top: .06rem; }
.dcc-branch-help-card strong, .dcc-member-notice strong { display: block; color: #284362; font-size: .8rem; }
.dcc-branch-help-card span, .dcc-member-notice span { display: block; color: var(--dcc-muted); font-size: .74rem; line-height: 1.43; margin-top: .12rem; }

.dcc-product-card { height: 100%; min-height: 185px; position: relative; overflow: hidden; padding: 1rem; border-radius: 18px; border: 1px solid #dbeaf9; background: linear-gradient(145deg, #fff 0%, #f3f9ff 100%); box-shadow: 0 8px 18px rgba(7,61,133,.045); display: flex; flex-direction: column; }
.dcc-product-card::after { content: ""; position: absolute; width: 100px; height: 100px; right: -48px; bottom: -50px; border-radius: 50%; background: #cceaff; opacity: .55; }
.dcc-product-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(135deg, #e2f2ff, #f4faff); color: var(--dcc-primary); font-size: 1.08rem; margin-bottom: .72rem; }
.dcc-product-label { display: block; color: var(--dcc-muted); font-size: .75rem; font-weight: 800; position: relative; z-index: 1; }
.dcc-product-balance { display: block; color: #12325d; font-size: 1.36rem; letter-spacing: -.05em; margin-top: .18rem; position: relative; z-index: 1; }
.dcc-product-number { display: block; margin-top: auto; color: var(--dcc-muted); font-size: .7rem; position: relative; z-index: 1; overflow-wrap: anywhere; }
.dcc-product-status { width: max-content; margin-top: .48rem; color: var(--dcc-success); background: var(--dcc-success-soft); border-radius: 999px; padding: .27rem .46rem; font-size: .66rem; font-weight: 850; position: relative; z-index: 1; }
.dcc-member-avatar { width: 52px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--dcc-primary), #20acee); font-size: 1.18rem; font-weight: 850; box-shadow: 0 8px 17px rgba(8,100,216,.22); }

/* Admin branch and transactions */
.dcc-table-tools { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; }
.dcc-search-input { min-width: min(100%, 250px); }
.dcc-search-input .input-group-text { border-radius: 13px 0 0 13px; }
.dcc-search-input .form-control { border-radius: 0 13px 13px 0; }
.dcc-data-table { --bs-table-bg: transparent; --bs-table-border-color: #e6eef8; color: #29415f; font-size: .8rem; }
.dcc-data-table thead th { color: #637691; background: #f7fbff; border-bottom-width: 1px; font-size: .67rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; padding: .76rem .75rem; }
.dcc-data-table tbody td { padding: .86rem .75rem; vertical-align: middle; }
.dcc-data-table tbody tr:last-child td { border-bottom: 0; }
.dcc-data-table tbody tr:hover { --bs-table-bg: #f8fbff; }
.dcc-balance, .dcc-tx-number { color: #193a6b; font-weight: 850; letter-spacing: -.02em; }
.dcc-ledger-side { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; border-radius: 999px; padding: .26rem .48rem; font-size: .66rem; font-weight: 850; }
.dcc-ledger-side.is-credit { color: var(--dcc-success); background: var(--dcc-success-soft); }
.dcc-ledger-side.is-debit { color: var(--dcc-danger); background: var(--dcc-danger-soft); }
.dcc-status, .dcc-mini-status { display: inline-flex; align-items: center; gap: .33rem; border-radius: 999px; padding: .27rem .48rem; font-size: .67rem; font-weight: 850; }
.dcc-status.is-active, .dcc-mini-status.is-active { color: var(--dcc-success); background: var(--dcc-success-soft); }
.dcc-status.is-inactive, .dcc-mini-status.is-inactive { color: var(--dcc-danger); background: var(--dcc-danger-soft); }
.dcc-filter-bar { padding: .72rem; margin-left: 0; margin-right: 0; background: #f7fbff; border: 1px solid #e2eefb; border-radius: 16px; }
.dcc-filter-bar > [class*=col] { padding-left: .28rem; padding-right: .28rem; }
.dcc-mobile-list { display: none; }
.dcc-loading-state { display: flex; align-items: center; justify-content: center; gap: .55rem; min-height: 120px; color: var(--dcc-muted); font-size: .81rem; }
.dcc-empty-state { min-height: 185px; padding: 1.3rem; display: grid; place-items: center; text-align: center; color: var(--dcc-muted); }
.dcc-empty-state i { color: var(--dcc-primary); font-size: 2rem; }
.dcc-empty-state strong { color: #274060; font-size: .94rem; }
.dcc-empty-state span { max-width: 360px; font-size: .77rem; line-height: 1.45; }
.dcc-modal-content { border: 0; border-radius: 24px; box-shadow: 0 22px 65px rgba(3,42,99,.2); overflow: hidden; }
.dcc-modal-content .modal-header { background: linear-gradient(135deg, #f3f9ff, #fff); border-bottom: 1px solid #e5eef9; padding: 1.2rem 1.25rem; }
.dcc-modal-content .modal-title { color: #18365e; font-size: 1.18rem; font-weight: 850; letter-spacing: -.03em; }
.dcc-modal-content .modal-body { padding: 1.2rem 1.25rem; }
.dcc-modal-content .modal-footer { border-top: 1px solid #e8eff8; padding: .9rem 1.25rem; }
.dcc-form-section-title { display: flex; align-items: center; gap: .45rem; color: var(--dcc-primary-dark); font-size: .84rem; font-weight: 850; margin-bottom: .78rem; }
.dcc-form-section-title i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: var(--dcc-primary-soft); color: var(--dcc-primary); }
.dcc-form-intro { color: var(--dcc-muted); line-height: 1.52; font-size: .81rem; margin-bottom: 1.1rem; }
.dcc-form-divider { opacity: 1; margin: 1.25rem 0; border-color: #e2edf9; }
.dcc-inline-error { color: var(--dcc-danger); font-size: .75rem; font-weight: 700; }

/* Registration and member directory */
.dcc-sponsor-status { display: flex; gap: .4rem; align-items: center; padding-top: .42rem; font-size: .75rem; color: var(--dcc-muted); }
.dcc-sponsor-status.is-valid { color: var(--dcc-success); }
.dcc-sponsor-status.is-invalid { color: var(--dcc-danger); }
.dcc-sponsor-note { padding: .92rem; border-radius: 15px; background: var(--dcc-primary-faint); border: 1px solid #dcecfb; color: #405674; font-size: .77rem; line-height: 1.45; }
.dcc-sponsor-note i { color: var(--dcc-primary); font-size: 1rem; margin-right: .25rem; }
.dcc-registration-products { display: flex; gap: .55rem; flex-wrap: wrap; padding: .78rem; border-radius: 14px; background: #f6fbff; border: 1px dashed #cce1f8; color: #4f6381; font-size: .76rem; }
.dcc-registration-products i { color: var(--dcc-primary); }
.dcc-product-open-count { color: var(--dcc-primary-dark); font-weight: 850; }
.dcc-registration-success { padding: .9rem; border-radius: 15px; background: var(--dcc-success-soft); color: #097658; border: 1px solid #cceee0; font-size: .82rem; font-weight: 720; margin-bottom: 1rem; }
.dcc-member-directory-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: .62rem; margin-bottom: .88rem; }
.dcc-member-directory-summary > div { padding: .76rem; border-radius: 14px; background: var(--dcc-primary-faint); border: 1px solid #dcecfb; }
.dcc-member-directory-summary span { display: block; color: var(--dcc-muted); font-size: .69rem; font-weight: 800; }
.dcc-member-directory-summary strong { display: block; color: var(--dcc-primary-dark); font-size: 1.22rem; letter-spacing: -.04em; margin-top: .12rem; }
.dcc-branch-member-list { display: grid; gap: .52rem; }
.dcc-branch-member-item { display: flex; gap: .65rem; align-items: center; padding: .72rem; border-radius: 15px; border: 1px solid #e3edf9; background: #fff; }
.dcc-member-mini-avatar { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--dcc-primary); background: var(--dcc-primary-soft); font-size: .76rem; font-weight: 850; }
.dcc-branch-member-copy { min-width: 0; flex: 1; }
.dcc-branch-member-copy strong { display: block; color: #263e60; font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-branch-member-copy span, .dcc-member-sponsor-line { display: block; color: var(--dcc-muted); font-size: .69rem; margin-top: .12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-mobile-card { padding: .9rem; border: 1px solid #e1ecf8; border-radius: 17px; background: #fff; box-shadow: 0 8px 18px rgba(8,56,123,.045); }
.dcc-mobile-card + .dcc-mobile-card { margin-top: .65rem; }
.dcc-mobile-card-head { display: flex; gap: .7rem; justify-content: space-between; align-items: flex-start; }
.dcc-mobile-card-title { color: #223d61; font-weight: 850; font-size: .86rem; }
.dcc-mobile-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .75rem; }
.dcc-mobile-card-grid > div span { display: block; color: var(--dcc-muted); font-size: .66rem; font-weight: 750; }
.dcc-mobile-card-grid > div strong { display: block; color: #284362; font-size: .76rem; margin-top: .12rem; overflow-wrap: anywhere; }
.dcc-mobile-card-actions { margin-top: .75rem; display: flex; gap: .5rem; }

/* Wallet-like mobile navigation */
.dcc-mobile-bottom-nav { display: none; }
.offcanvas.dcc-sidebar, .offcanvas .dcc-sidebar { height: 100%; width: 100%; position: static; }
.offcanvas { border: 0; }
.offcanvas .dcc-sidebar { background: linear-gradient(170deg, #062d72 0%, #064da9 56%, #0873dc 100%); }

@media (max-width: 1199.98px) {
    .dcc-movement-grid { grid-template-columns: 1fr; }
    .dcc-movement-item { display: flex; align-items: center; gap: .62rem; }
    .dcc-movement-icon { margin: 0; flex: 0 0 auto; }
}
@media (max-width: 991.98px) {
    .dcc-sidebar { display: none; }
    .offcanvas { width: min(86vw, 315px) !important; }
    .dcc-topbar { min-height: 68px; padding: .7rem .95rem; }
    .dcc-content { padding: 1rem 1rem calc(96px + env(safe-area-inset-bottom)); }
    .dcc-mobile-bottom-nav { display: flex; position: fixed; left: .7rem; right: .7rem; bottom: calc(.65rem + env(safe-area-inset-bottom)); min-height: 65px; z-index: 1030; align-items: stretch; justify-content: space-around; padding: .36rem .25rem; border-radius: 21px; border: 1px solid rgba(203,225,250,.95); background: rgba(255,255,255,.95); box-shadow: 0 12px 28px rgba(6,53,124,.18); backdrop-filter: blur(16px); }
    .dcc-mobile-nav-item { min-width: 0; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .18rem; color: #7a8da7; font-size: .6rem; font-weight: 800; border-radius: 15px; }
    .dcc-mobile-nav-item i { font-size: 1.08rem; line-height: 1; }
    .dcc-mobile-nav-item.active { color: var(--dcc-primary); background: var(--dcc-primary-soft); }
    .dcc-mobile-nav-item:active { background: #dceeff; }
}
@media (max-width: 767.98px) {
    .dcc-page-heading h1 { font-size: 1.08rem; }
    .dcc-page-kicker { display: none; }
    .dcc-topbar-actions .dcc-icon-button { display: none; }
    .dcc-user-menu .dropdown-toggle::after { display: none; }
    .dcc-welcome-card, .dcc-page-hero { display: block; padding: 1.2rem; border-radius: 23px; margin-bottom: .9rem; }
    .dcc-welcome-card h2, .dcc-page-hero h2 { font-size: 1.38rem; max-width: 85%; }
    .dcc-welcome-card p, .dcc-page-hero p { font-size: .81rem; max-width: 92%; }
    .dcc-welcome-icon { display: none; }
    .dcc-page-hero-actions { margin-top: 1.05rem; display: grid; grid-template-columns: 1fr 1fr; }
    .dcc-page-hero-actions .btn { display: flex; align-items: center; justify-content: center; padding: .55rem .5rem; font-size: .76rem; min-height: 42px; }
    .dcc-stat-card { min-height: 132px; padding: .88rem; border-radius: 16px; }
    .dcc-stat-icon { width: 33px; height: 33px; border-radius: 11px; font-size: .95rem; margin-bottom: .5rem; }
    .dcc-stat-label { font-size: .67rem; line-height: 1.25; }
    .dcc-stat-card strong { font-size: 1.12rem; margin: .15rem 0; }
    .dcc-stat-card small { font-size: .63rem; }
    .dcc-panel { padding: 1rem; border-radius: 18px; }
    .dcc-panel-head { margin-bottom: .88rem; }
    .dcc-panel-head h3 { font-size: 1rem; }
    .dcc-panel-meta { font-size: .65rem; padding: .35rem .48rem; }
    .dcc-branch-details, .dcc-member-details { grid-template-columns: 1fr; }
    .dcc-branch-details > div, .dcc-member-details > div { border-right: 0 !important; }
    .dcc-branch-details > div:last-child, .dcc-member-details > div:last-child { border-bottom: 0; }
    .dcc-branch-details > div:nth-last-child(2), .dcc-member-details > div:nth-last-child(2) { border-bottom: 1px solid #e5eef9; }
    .dcc-movement-grid { grid-template-columns: 1fr; gap: .45rem; }
    .dcc-movement-item { padding: .68rem; }
    .dcc-desktop-table { display: none; }
    .dcc-mobile-list { display: block; }
    .dcc-filter-bar { padding: .55rem; }
    .dcc-modal-content { border-radius: 22px 22px 0 0; }
    .modal-dialog.modal-dialog-scrollable { align-items: end; min-height: calc(100% - 1rem); margin: 1rem 0 0; }
    .modal-dialog.modal-lg { max-width: 100%; }
    .dcc-modal-content .modal-header { padding: 1rem; }
    .dcc-modal-content .modal-body { padding: 1rem; }
    .dcc-modal-content .modal-footer { padding: .8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); }
    .dcc-product-card { min-height: 158px; padding: .88rem; border-radius: 16px; }
    .dcc-product-balance { font-size: 1.13rem; }
    .dcc-product-icon { width: 33px; height: 33px; margin-bottom: .5rem; }
    .dcc-member-directory-summary { gap: .48rem; }
    .dcc-branch-member-item { padding: .64rem; }
}
@media (max-width: 399.98px) {
    .dcc-content { padding-left: .76rem; padding-right: .76rem; }
    .dcc-topbar { padding-left: .76rem; padding-right: .76rem; }
    .dcc-page-hero-actions { grid-template-columns: 1fr; }
    .dcc-page-hero h2 { max-width: 100%; }
    .dcc-user-menu { gap: .2rem; }
    .dcc-menu-button { width: 38px; height: 38px; }
}


/* v7: role-aware mobile app menu and typography */
.dcc-sidebar-label-spaced { margin-top: 1.35rem; }
.dcc-sidebar--drawer { display: flex !important; position: static !important; width: 100% !important; flex: 1 1 auto; height: 100% !important; min-height: 100%; padding: 1.15rem .9rem calc(1rem + env(safe-area-inset-bottom)); overflow-y: auto; }
.dcc-sidebar--drawer .dcc-brand { padding-bottom: 1.1rem; }
.dcc-drawer-user { display: flex; align-items: center; gap: .72rem; margin: .1rem .38rem 1.15rem; padding: .78rem; border-radius: 17px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); }
.dcc-drawer-avatar { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; color: var(--dcc-primary); background: #fff; border-radius: 14px; font-weight: 850; }
.dcc-drawer-user strong { display: block; color: #fff; font-size: .83rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-drawer-user small { display: block; color: rgba(255,255,255,.7); font-size: .68rem; margin-top: .14rem; }
.dcc-drawer-signout { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid rgba(255,255,255,.22); border-radius: 13px; background: rgba(2,35,91,.18); color: #fff; min-height: 44px; padding: .6rem .8rem; font-size: .78rem; font-weight: 800; }
.dcc-drawer-signout:hover { background: rgba(255,255,255,.16); }
.dcc-topbar { box-shadow: 0 4px 15px rgba(13,65,137,.025); }
.dcc-page-heading h1 { font-family: var(--dcc-font-sans); }
.dcc-page-kicker { font-weight: 800; letter-spacing: .085em; }
.dcc-mobile-bottom-nav { isolation: isolate; }
.dcc-mobile-nav-item { text-decoration: none; cursor: pointer; font-family: var(--dcc-font-sans); }
.dcc-mobile-nav-item span { line-height: 1; letter-spacing: -.01em; }
.dcc-mobile-nav-item.is-primary { color: #fff; background: linear-gradient(145deg, #0d71de, #0b58bd); box-shadow: 0 8px 17px rgba(4,82,186,.24); transform: translateY(-8px); }
.dcc-mobile-nav-item.is-primary i { font-size: 1.18rem; }
.dcc-mobile-nav-item.is-primary.active { color: #fff; background: linear-gradient(145deg, #0754bd, #0a84e4); }
.dcc-mobile-nav-menu { background: transparent; }
.dcc-mobile-nav-menu:focus-visible, .dcc-mobile-nav-item:focus-visible { outline: 3px solid rgba(11,99,216,.3); outline-offset: 2px; }

@media (max-width: 991.98px) {
    .offcanvas { background: #073c8d; }
    .offcanvas .dcc-sidebar::before { width: 240px; height: 240px; right: -115px; top: -105px; }
    .dcc-mobile-bottom-nav { left: max(.55rem, env(safe-area-inset-left)); right: max(.55rem, env(safe-area-inset-right)); bottom: calc(.52rem + env(safe-area-inset-bottom)); min-height: 70px; padding: .34rem .25rem; border-radius: 22px; box-shadow: 0 14px 34px rgba(4,45,111,.2); }
    .dcc-mobile-nav-item { min-height: 57px; border-radius: 16px; font-size: .59rem; font-weight: 800; }
    .dcc-mobile-nav-item i { font-size: 1.12rem; }
    .dcc-mobile-nav-item.active:not(.is-primary) { color: var(--dcc-primary); background: #e9f3ff; }
    .dcc-content { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
}
@media (max-width: 767.98px) {
    .dcc-topbar { min-height: 62px; padding: .6rem .85rem; gap: .65rem; }
    .dcc-page-heading { min-width: 0; flex: 1; }
    .dcc-page-heading h1 { font-size: 1.02rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dcc-menu-button, .dcc-icon-button { width: 40px; height: 40px; border-radius: 13px; }
    .dcc-avatar { width: 37px; height: 37px; }
    .dcc-content { padding: .85rem .85rem calc(112px + env(safe-area-inset-bottom)); }
    .dcc-welcome-card h2, .dcc-page-hero h2 { font-size: 1.42rem; line-height: 1.18; letter-spacing: -.05em; }
    .dcc-welcome-card p, .dcc-page-hero p { font-size: .82rem; line-height: 1.58; }
    .dcc-page-hero-actions .btn { font-size: .76rem; font-weight: 800; }
    .dcc-panel-head h3 { font-size: 1.03rem; line-height: 1.25; }
    .dcc-panel-head .dcc-eyebrow { font-size: .64rem; }
    .dcc-stat-card strong { font-size: 1.2rem; }
    .dcc-stat-label { font-size: .66rem; }
    .dcc-product-label { font-size: .75rem; line-height: 1.28; }
    .dcc-product-number, .dcc-product-status { font-size: .64rem; }
    .dcc-member-details dt, .dcc-branch-details dt { font-size: .66rem; }
    .dcc-member-details dd, .dcc-branch-details dd { font-size: .8rem; }
}
@media (max-width: 359.98px) {
    .dcc-mobile-bottom-nav { left: .35rem; right: .35rem; }
    .dcc-mobile-nav-item { font-size: .53rem; }
    .dcc-mobile-nav-item i { font-size: 1.02rem; }
    .dcc-mobile-nav-item.is-primary { transform: translateY(-6px); }
}


/* v8: PGR activation and reward schedule workspace */
.dcc-pgr-hero { background: linear-gradient(135deg, #063b8d 0%, #0878d8 62%, #17a7e7 100%); }
.dcc-pgr-protection, .dcc-activation-guard { display: flex; align-items: flex-start; gap: .72rem; padding: .9rem; border: 1px solid #d8eafc; border-radius: 17px; background: #f4faff; }
.dcc-pgr-protection-icon, .dcc-activation-guard > i { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: var(--dcc-primary); background: #dff0ff; border-radius: 13px; font-size: 1.05rem; }
.dcc-pgr-protection strong, .dcc-activation-guard strong { display: block; color: #1d355b; font-size: .84rem; }
.dcc-pgr-protection span, .dcc-activation-guard span { display: block; color: var(--dcc-muted); font-size: .75rem; line-height: 1.45; margin-top: .12rem; }
.dcc-pgr-loading { display: flex; align-items: center; justify-content: center; gap: .55rem; min-height: 190px; color: var(--dcc-muted); font-size: .84rem; }
.dcc-pgr-category-card { height: 100%; transition: border-color .18s ease, box-shadow .18s ease; }
.dcc-pgr-category-card.is-ready { border-color: #a8dfc5; box-shadow: 0 12px 28px rgba(13,132,82,.06); }
.dcc-pgr-enable-switch { display: inline-flex; align-items: center; gap: .48rem; cursor: pointer; color: #3d5474; font-size: .73rem; font-weight: 800; user-select: none; }
.dcc-pgr-enable-switch input { position: absolute; opacity: 0; pointer-events: none; }
.dcc-pgr-enable-switch span { width: 39px; height: 23px; display: inline-flex; align-items: center; padding: 3px; border-radius: 999px; background: #d9e2ef; transition: .18s ease; }
.dcc-pgr-enable-switch span::after { content: ''; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(12,42,83,.2); transition: .18s ease; }
.dcc-pgr-enable-switch input:checked + span { background: #0b8a61; }
.dcc-pgr-enable-switch input:checked + span::after { transform: translateX(16px); }
.dcc-pgr-category-summary, .dcc-activation-summary, .dcc-activation-preview-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: .2rem 0 1rem; }
.dcc-activation-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1rem 0; }
.dcc-pgr-category-summary > div, .dcc-activation-summary > div, .dcc-activation-preview-summary > div { padding: .72rem; border-radius: 14px; background: var(--dcc-primary-faint); border: 1px solid #dcecfb; }
.dcc-pgr-category-summary span, .dcc-activation-summary span, .dcc-activation-preview-summary span { display: block; color: var(--dcc-muted); font-size: .67rem; font-weight: 800; }
.dcc-pgr-category-summary strong, .dcc-activation-summary strong, .dcc-activation-preview-summary strong { display: block; color: var(--dcc-primary-dark); font-size: 1.03rem; margin-top: .18rem; letter-spacing: -.035em; }
.dcc-pgr-level-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; }
.dcc-pgr-level-input label { display: block; margin-bottom: .26rem; color: #5c6f89; font-size: .67rem; font-weight: 850; }
.dcc-pgr-level-input .input-group-text { padding-inline: .5rem; font-size: .72rem; }
.dcc-pgr-level-input .form-control { min-width: 0; padding: .55rem .38rem; font-size: .76rem; }
.dcc-pgr-category-note { display: flex; gap: .42rem; margin: .82rem 0 0; color: #63758d; font-size: .69rem; line-height: 1.45; }
.dcc-pgr-category-note i { color: var(--dcc-primary); margin-top: .08rem; }
.dcc-activation-panel { border-color: #cfe6fb; }
.dcc-activation-list, .dcc-activation-history { display: grid; gap: .62rem; }
.dcc-activation-queue-card { display: flex; justify-content: space-between; align-items: center; gap: .9rem; padding: .8rem; border: 1px solid #e2eef9; border-radius: 16px; background: #fff; }
.dcc-activation-queue-main { display: flex; align-items: center; gap: .62rem; min-width: 0; }
.dcc-activation-queue-main > div { min-width: 0; }
.dcc-activation-queue-main strong { display: block; color: #223d61; font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-activation-queue-main span, .dcc-activation-queue-main small { display: block; color: var(--dcc-muted); font-size: .68rem; line-height: 1.42; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-activation-queue-main small i { color: var(--dcc-primary); }
.dcc-activation-queue-side { flex: 0 0 auto; display: grid; justify-items: end; gap: .46rem; }
.dcc-pgr-schedule-chip, .dcc-pgr-status { display: inline-flex; align-items: center; gap: .3rem; padding: .27rem .45rem; border-radius: 999px; font-size: .64rem; font-weight: 850; white-space: nowrap; }
.dcc-pgr-schedule-chip.is-ready, .dcc-pgr-status.is-ready { color: #087c58; background: #e4f7ee; }
.dcc-pgr-schedule-chip.is-not-ready, .dcc-pgr-status.is-skipped { color: #a86808; background: #fff4dc; }
.dcc-activation-history-item { display: flex; justify-content: space-between; gap: .5rem; padding: .75rem 0; border-bottom: 1px solid #e9f0f8; }
.dcc-activation-history-item:last-child { border-bottom: 0; }
.dcc-activation-history-item strong { display: block; color: #2b4260; font-size: .77rem; }
.dcc-activation-history-item span, .dcc-activation-history-item small { display: block; color: var(--dcc-muted); font-size: .65rem; margin-top: .14rem; }
.dcc-activation-history-item > div:last-child { text-align: right; }
.dcc-activation-preview-member { display: flex; align-items: center; gap: .6rem; min-height: 62px; padding: .76rem; background: var(--dcc-primary-faint); border: 1px solid #dcecfb; border-radius: 15px; color: var(--dcc-muted); font-size: .78rem; }
.dcc-activation-preview-member > div { min-width: 0; }
.dcc-activation-preview-member strong { display: block; color: #243f61; font-size: .84rem; }
.dcc-activation-preview-member span:not(.dcc-member-mini-avatar), .dcc-activation-preview-member small { display: block; color: var(--dcc-muted); font-size: .69rem; margin-top: .12rem; }
.dcc-pgr-preview-list { display: grid; gap: .48rem; }
.dcc-pgr-preview-row { display: flex; justify-content: space-between; gap: .65rem; padding: .68rem; border: 1px solid #e7eef8; border-radius: 13px; }
.dcc-pgr-preview-row > div:first-child { min-width: 0; }
.dcc-pgr-preview-row strong { display: block; color: #2b4260; font-size: .76rem; }
.dcc-pgr-preview-row span, .dcc-pgr-preview-row small { display: block; color: var(--dcc-muted); font-size: .66rem; line-height: 1.35; margin-top: .12rem; overflow-wrap: anywhere; }
.dcc-pgr-preview-row > div:last-child { text-align: right; flex: 0 0 auto; }
.dcc-pgr-preview-row > div:last-child > strong { margin-bottom: .22rem; }
.dcc-activation-final-warning { display: flex; gap: .5rem; padding: .7rem; margin-top: .85rem; border-radius: 13px; background: #fff7e5; color: #8b6312; font-size: .71rem; line-height: 1.45; }
.dcc-activation-final-warning i { margin-top: .05rem; }
.dcc-activation-success { display: flex; gap: .65rem; padding: .9rem; border-radius: 14px; background: #e6f8ee; color: #077754; }
.dcc-activation-success > i { font-size: 1.35rem; }
.dcc-activation-success strong { display: block; font-size: .82rem; }
.dcc-activation-success span { display: block; font-size: .73rem; line-height: 1.45; margin-top: .14rem; }
.dcc-mini-status.is-pending { color: #a86808; background: #fff4dc; }
@media (max-width: 767.98px) {
    .dcc-pgr-level-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dcc-activation-summary { grid-template-columns: 1fr; }
    .dcc-activation-queue-card { align-items: flex-start; flex-direction: column; }
    .dcc-activation-queue-side { width: 100%; grid-template-columns: 1fr auto; align-items: center; justify-items: stretch; }
    .dcc-activation-queue-side .btn { min-height: 39px; }
    .dcc-activation-history-item { align-items: flex-start; }
    .dcc-activation-history-item > div:last-child { min-width: 83px; }
    .dcc-pgr-preview-row { align-items: flex-start; }
    .dcc-pgr-preview-row > div:last-child { min-width: 78px; }
}

/* v10: Membership package collection and automatic account distribution */
.dcc-package-price-row { margin: .8rem 0 .75rem; }
.dcc-package-price-row .dcc-package-input { max-width: 320px; }
.dcc-package-input label { display: flex; align-items: center; gap: .34rem; }
.dcc-package-input label i { color: var(--dcc-primary); }
.dcc-package-allocation-title { margin: .85rem 0 .56rem; }
.dcc-package-allocation-title span { display: block; color: #29496e; font-size: .78rem; font-weight: 850; }
.dcc-package-allocation-title small { display: block; color: var(--dcc-muted); font-size: .67rem; margin-top: .16rem; }
.dcc-package-allocation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dcc-package-money-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: .86rem; }
.dcc-package-money-flow > div { padding: .68rem; border: 1px solid #dcecfb; border-radius: 13px; background: #f7fbff; }
.dcc-package-money-flow span { display: block; color: var(--dcc-muted); font-size: .64rem; font-weight: 800; line-height: 1.3; }
.dcc-package-money-flow strong { display: block; color: var(--dcc-primary-dark); font-size: .91rem; letter-spacing: -.025em; margin-top: .2rem; }
.package-status-note.is-ready { color: #087c58; }
.dcc-queue-package-line { color: #436282 !important; }
.dcc-activation-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dcc-activation-package-preview { margin-top: 1rem; padding: .85rem; border: 1px solid #dbeafb; border-radius: 16px; background: #fbfdff; }
.dcc-package-preview-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .74rem; }
.dcc-package-preview-head .dcc-eyebrow { display: block; margin-bottom: .13rem; }
.dcc-package-preview-head strong { color: #27486f; font-size: .84rem; }
.dcc-activation-package-preview .dcc-activation-preview-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: .72rem; }
.dcc-package-allocation-preview { display: grid; gap: .45rem; }
.dcc-package-allocation-row { display: flex; align-items: center; gap: .55rem; padding: .6rem; border: 1px solid #e6eef8; border-radius: 13px; background: #fff; }
.dcc-package-allocation-icon { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: var(--dcc-primary); background: #e8f3ff; }
.dcc-package-allocation-row > span:nth-child(2) { min-width: 0; flex: 1; }
.dcc-package-allocation-row strong { color: #29486a; font-size: .73rem; }
.dcc-package-allocation-row small { display: block; color: var(--dcc-muted); font-size: .63rem; line-height: 1.35; margin-top: .1rem; }
.dcc-package-allocation-row > strong:last-child { flex: 0 0 auto; color: #0b5fbd; font-size: .78rem; }
@media (max-width: 767.98px) {
    .dcc-package-allocation-grid, .dcc-package-money-flow, .dcc-activation-package-preview .dcc-activation-preview-summary { grid-template-columns: 1fr; }
    .dcc-activation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dcc-package-price-row .dcc-package-input { max-width: none; }
}

/* v12: official logo, Humanitarian Aid wallet, and four allocation inputs */
.dcc-brand-logo {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 14px;
    background: #fff;
    padding: 3px;
    box-shadow: 0 8px 18px rgba(0,18,58,.2);
}
.dcc-product-card--humanitarian {
    border-color: #b8d9fb;
    background: linear-gradient(145deg, #f8fcff 0%, #e7f4ff 100%);
}
.dcc-product-card--humanitarian::after { background: #a6d7ff; }
.dcc-product-card--humanitarian .dcc-product-icon {
    color: #0876c9;
    background: linear-gradient(135deg, #dcefff, #f7fcff);
}
.dcc-package-allocation-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767.98px) {
    .dcc-brand-logo { width: 40px; height: 40px; border-radius: 13px; }
    .dcc-auth-logo { width: 52px; height: 52px; border-radius: 17px; }
}
@media (max-width: 767.98px) {
    .dcc-package-allocation-grid { grid-template-columns: 1fr; }
}

/* v13: Shared profile details, secure photo upload, and password settings */
.dcc-avatar.has-photo,
.dcc-drawer-avatar.has-photo {
    overflow: hidden;
    padding: 0;
    background: #eef6ff;
}
.dcc-avatar.has-photo img,
.dcc-drawer-avatar.has-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.dcc-profile-hero,
.dcc-security-hero {
    background: linear-gradient(135deg, #073a88 0%, #075fcb 55%, #0aa5ee 100%);
}
.dcc-profile-summary-card {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    overflow: hidden;
}
.dcc-profile-summary-card::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    top: -142px;
    right: -124px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(21,161,241,.16), rgba(21,161,241,0) 68%);
    pointer-events: none;
}
.dcc-profile-photo-wrap {
    position: relative;
    width: 132px;
    height: 132px;
    margin: .15rem 0 1rem;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(145deg, #b7dcff, #0878dc, #0456b6);
    box-shadow: 0 14px 30px rgba(5,87,182,.2);
}
.dcc-profile-photo {
    width: 100%;
    height: 100%;
    display: block;
    border: 4px solid #fff;
    border-radius: inherit;
    object-fit: cover;
    background: #f6fbff;
}
.dcc-profile-photo-badge {
    position: absolute;
    right: 0;
    bottom: 5px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: var(--dcc-primary);
    box-shadow: 0 6px 14px rgba(3,66,142,.25);
}
.dcc-profile-photo-button { width: 100%; max-width: 270px; }
.dcc-profile-photo-help { color: var(--dcc-muted); font-size: .69rem; margin-top: .58rem; }
.dcc-profile-summary-name { margin-top: 1.35rem; }
.dcc-profile-summary-name strong { display: block; color: #243e61; font-size: 1.06rem; font-weight: 850; letter-spacing: -.035em; }
.dcc-profile-summary-name span { display: block; margin-top: .16rem; color: var(--dcc-primary); font-size: .76rem; font-family: var(--dcc-font-mono); }
.dcc-profile-role-chip { display: inline-flex; align-items: center; gap: .38rem; margin-top: .85rem; padding: .35rem .65rem; border-radius: 999px; color: #087a56; background: #e7f8ef; font-size: .67rem; font-weight: 850; }
.dcc-profile-meta-list { width: 100%; display: grid; gap: .52rem; margin-top: 1.35rem; padding-top: 1.25rem; border-top: 1px solid #e7eff8; text-align: left; }
.dcc-profile-meta-list > div { display: flex; align-items: center; gap: .6rem; padding: .48rem 0; }
.dcc-profile-meta-list > div > i { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: var(--dcc-primary); background: var(--dcc-primary-faint); font-size: .85rem; }
.dcc-profile-meta-list span { min-width: 0; }
.dcc-profile-meta-list small,
.dcc-profile-meta-list strong { display: block; }
.dcc-profile-meta-list small { color: var(--dcc-muted); font-size: .63rem; }
.dcc-profile-meta-list strong { overflow: hidden; color: #304a6c; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.dcc-save-state { display: inline-flex; align-items: center; gap: .36rem; padding: .35rem .56rem; border-radius: 999px; color: #156b99; background: #eef8ff; font-size: .66rem; font-weight: 800; white-space: nowrap; }
.dcc-save-state i { color: #0b83d5; }
.dcc-form-note { color: var(--dcc-muted); font-size: .72rem; line-height: 1.45; }
.dcc-form-note i { color: var(--dcc-primary); margin-right: .24rem; }
.dcc-readonly-profile-card { overflow: hidden; }
.dcc-readonly-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .72rem; }
.dcc-readonly-grid > div { min-width: 0; padding: .75rem; border: 1px solid #e2edf8; border-radius: 14px; background: #fbfdff; }
.dcc-readonly-grid small { display: block; color: var(--dcc-muted); font-size: .63rem; font-weight: 750; }
.dcc-readonly-grid strong { display: block; overflow: hidden; margin-top: .21rem; color: #2b466b; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.dcc-readonly-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dcc-readonly-grid-wide { grid-column: 1 / -1; }
.dcc-readonly-grid-wide strong { white-space: normal; line-height: 1.4; }
.dcc-password-panel { padding-bottom: 1.35rem; }
.dcc-password-guidance { display: flex; gap: .68rem; align-items: flex-start; padding: .85rem; border: 1px solid #d9ebff; border-radius: 15px; background: #f5faff; }
.dcc-password-guidance > i { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #0b63d8, #0aa7ea); }
.dcc-password-guidance strong { display: block; color: #29496e; font-size: .78rem; }
.dcc-password-guidance span { display: block; color: var(--dcc-muted); font-size: .71rem; line-height: 1.5; margin-top: .12rem; }
.dcc-password-toggle { min-width: 48px; }
.dcc-password-strength { display: flex; align-items: center; gap: .55rem; color: var(--dcc-muted); }
.dcc-password-strength > span { width: 76px; height: 6px; display: inline-block; overflow: hidden; border-radius: 99px; background: #e3ebf5; }
.dcc-password-strength > span::after { content: ""; width: 0%; height: 100%; display: block; border-radius: inherit; background: #9baabb; transition: width .2s ease, background .2s ease; }
.dcc-password-strength small { font-size: .68rem; }
.dcc-password-strength.is-weak > span::after { width: 22%; background: #d55c5c; }
.dcc-password-strength.is-fair > span::after { width: 42%; background: #df9c30; }
.dcc-password-strength.is-good > span::after { width: 62%; background: #16936e; }
.dcc-password-strength.is-strong > span::after { width: 82%; background: #0b71cc; }
.dcc-password-strength.is-excellent > span::after { width: 100%; background: linear-gradient(90deg, #0b71cc, #0aa2e5); }
.dcc-security-summary-card { display: flex; flex-direction: column; }
.dcc-security-account-mark { width: 82px; height: 82px; display: grid; place-items: center; margin: .35rem auto .85rem; border-radius: 28px; color: #fff; background: linear-gradient(145deg, #0a6bd7, #0546a6); box-shadow: 0 15px 25px rgba(4,71,166,.18); font-size: 2.25rem; }
.dcc-security-user { text-align: center; }
.dcc-security-user strong { display: block; color: #274568; font-size: 1.03rem; font-weight: 850; letter-spacing: -.03em; }
.dcc-security-user span { display: block; margin-top: .15rem; color: var(--dcc-primary); font-size: .74rem; font-family: var(--dcc-font-mono); }
.dcc-security-meta-list { display: grid; gap: .55rem; margin-top: 1.3rem; }
.dcc-security-meta-list > div { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .76rem; border: 1px solid #e1edf8; border-radius: 14px; background: #fbfdff; }
.dcc-security-meta-list span { display: inline-flex; align-items: center; gap: .4rem; color: var(--dcc-muted); font-size: .68rem; font-weight: 750; }
.dcc-security-meta-list span i { color: var(--dcc-primary); }
.dcc-security-meta-list strong { max-width: 55%; overflow: hidden; color: #2c486c; font-size: .72rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.dcc-security-activity { display: grid; }
.dcc-security-activity-item { display: grid; grid-template-columns: 39px minmax(0, 1fr) auto; align-items: center; gap: .66rem; padding: .82rem 0; border-bottom: 1px solid #e8f0f8; }
.dcc-security-activity-item:last-child { border-bottom: 0; }
.dcc-security-activity-icon { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 12px; color: var(--dcc-primary); background: #e9f4ff; }
.dcc-security-activity-item > div { min-width: 0; }
.dcc-security-activity-item strong { display: block; overflow: hidden; color: #29486c; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.dcc-security-activity-item span { display: block; overflow: hidden; margin-top: .13rem; color: var(--dcc-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.dcc-security-activity-item time { color: #71839a; font-size: .66rem; text-align: right; white-space: nowrap; }
.dcc-empty-state-inline { min-height: 160px; }
@media (max-width: 991.98px) {
    .dcc-readonly-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .dcc-profile-hero .dcc-page-hero-actions,
    .dcc-security-hero .dcc-page-hero-actions { width: 100%; }
    .dcc-profile-hero .dcc-page-hero-actions .btn,
    .dcc-security-hero .dcc-page-hero-actions .btn { width: 100%; }
    .dcc-profile-summary-card { padding: 1.15rem; }
    .dcc-profile-photo-wrap { width: 112px; height: 112px; }
    .dcc-profile-meta-list { margin-top: 1rem; }
    .dcc-readonly-grid,
    .dcc-readonly-grid--two { grid-template-columns: 1fr; }
    .dcc-readonly-grid-wide { grid-column: auto; }
    .dcc-security-activity-item { grid-template-columns: 35px minmax(0, 1fr); align-items: start; }
    .dcc-security-activity-item time { grid-column: 2; text-align: left; margin-top: -.42rem; }
    .dcc-security-activity-item span { white-space: normal; }
}

/* v13.1: Reliable circular profile image sizing and cropping */
.dcc-avatar,
.dcc-drawer-avatar,
.dcc-member-avatar,
.dcc-member-mini-avatar {
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    line-height: 1;
}

/* Navigation avatar photos always render as a true circle. */
.dcc-avatar.has-photo,
.dcc-drawer-avatar.has-photo {
    display: block;
    border-radius: 50%;
    overflow: hidden;
    isolation: isolate;
}

.dcc-drawer-avatar.has-photo {
    border-radius: 50%;
}

.dcc-avatar.has-photo img,
.dcc-drawer-avatar.has-photo img {
    width: 100%;
    height: 100%;
    min-width: 100%;
    max-width: none;
    display: block;
    box-sizing: border-box;
    border-radius: inherit;
    object-fit: cover;
    object-position: center;
    transform: translateZ(0);
}

/* The profile-page frame stays square, while the photo itself remains circular.
   box-sizing prevents the image border from expanding beyond its parent div. */
.dcc-profile-photo-wrap {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    flex: 0 0 132px;
    aspect-ratio: 1 / 1;
    overflow: visible;
    isolation: isolate;
}

.dcc-profile-photo {
    width: 100%;
    height: 100%;
    min-width: 0;
    max-width: 100%;
    display: block;
    box-sizing: border-box;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    vertical-align: middle;
    transform: translateZ(0);
}

.dcc-profile-photo-badge {
    z-index: 2;
}

@media (max-width: 767.98px) {
    .dcc-profile-photo-wrap {
        flex-basis: 112px;
    }
}

/* v14: public membership registration */
.dcc-auth-apply { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .45rem; margin: 1.2rem 0 .45rem; color: var(--dcc-muted); font-size: .78rem; font-weight: 700; }
.dcc-auth-apply a { display: inline-flex; align-items: center; gap: .32rem; color: var(--dcc-primary); font-weight: 850; }
.dcc-auth-apply a:hover { color: var(--dcc-primary-dark); text-decoration: underline; }

.dcc-public-registration-body { background: #f5f9ff; }
.dcc-public-registration-page { min-height: 100dvh; overflow-x: clip; padding: 0 0 3rem; background: linear-gradient(180deg, #0664d7 0, #0879dd 330px, #f5f9ff 330px); }
.dcc-public-topbar { width: min(1180px, calc(100% - 2rem)); min-height: 78px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.dcc-public-brand { display: inline-flex; align-items: center; gap: .72rem; color: #fff; }
.dcc-public-brand img { width: 45px; height: 45px; object-fit: contain; padding: 3px; border-radius: 15px; background: #fff; box-shadow: 0 9px 20px rgba(0, 34, 88, .22); }
.dcc-public-brand span { display: grid; line-height: 1.04; }
.dcc-public-brand strong { font-size: 1rem; font-weight: 850; letter-spacing: -.025em; }
.dcc-public-brand small { font-size: .65rem; color: rgba(255, 255, 255, .75); letter-spacing: .04em; text-transform: uppercase; margin-top: .2rem; }
.dcc-public-login-link { min-height: 43px; padding: .6rem .85rem; display: inline-flex; align-items: center; gap: .45rem; border: 1px solid rgba(255,255,255,.34); border-radius: 13px; color: #fff; background: rgba(4, 49, 120, .16); font-size: .8rem; font-weight: 800; }
.dcc-public-login-link:hover { color: #fff; background: rgba(255,255,255,.16); }
.dcc-public-registration-hero { width: min(1180px, calc(100% - 2rem)); margin: clamp(1rem, 3vw, 2.4rem) auto 2.35rem; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(285px, .75fr); gap: clamp(1.2rem, 4vw, 4rem); align-items: center; color: #fff; }
.dcc-public-hero-copy { max-width: 700px; }
.dcc-public-hero-badge { display: inline-flex; align-items: center; gap: .42rem; padding: .47rem .72rem; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.13); border-radius: 999px; font-size: .72rem; font-weight: 800; }
.dcc-public-hero-copy h1 { max-width: 640px; margin: .95rem 0 .8rem; font-size: clamp(2.15rem, 5vw, 4.2rem); line-height: 1.01; letter-spacing: -.065em; font-weight: 850; }
.dcc-public-hero-copy p { max-width: 650px; margin: 0; color: rgba(255,255,255,.87); font-size: clamp(.9rem, 1.5vw, 1.03rem); line-height: 1.65; }
.dcc-public-hero-points { display: flex; flex-wrap: wrap; gap: .65rem 1.05rem; margin-top: 1.25rem; }
.dcc-public-hero-points span { display: inline-flex; align-items: center; gap: .36rem; font-size: .75rem; font-weight: 750; color: #eef8ff; }
.dcc-public-hero-points i { color: #8fe4ff; }
.dcc-public-hero-card { padding: 1.2rem; border: 1px solid rgba(255,255,255,.22); border-radius: 23px; background: rgba(5, 47, 116, .24); box-shadow: 0 18px 35px rgba(0, 32, 83, .13); backdrop-filter: blur(12px); }
.dcc-public-hero-card .dcc-eyebrow { color: #ccecff; }
.dcc-public-hero-card ol { display: grid; gap: .85rem; list-style: none; padding: 0; margin: .8rem 0 0; counter-reset: none; }
.dcc-public-hero-card li { display: flex; align-items: flex-start; gap: .67rem; }
.dcc-public-hero-card li > span { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: #fff; color: var(--dcc-primary); font-size: .72rem; font-weight: 900; }
.dcc-public-hero-card strong { display: block; color: #fff; font-size: .8rem; }
.dcc-public-hero-card small { display: block; color: rgba(255,255,255,.75); margin-top: .13rem; font-size: .69rem; line-height: 1.4; }
.dcc-public-registration-layout { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; display: grid; grid-template-columns: minmax(230px, .43fr) minmax(0, 1fr); gap: clamp(1rem, 2.5vw, 2rem); align-items: start; }
.dcc-public-registration-aside { display: grid; gap: 1rem; position: sticky; top: 1rem; }
.dcc-public-info-card { padding: 1.2rem; border: 1px solid #dceafa; border-radius: 22px; background: #fff; box-shadow: 0 12px 26px rgba(8, 61, 137, .075); }
.dcc-public-info-card.is-soft { background: linear-gradient(145deg, #eaf5ff, #f9fcff); }
.dcc-public-info-card h2, .dcc-public-info-card h3 { margin: .38rem 0 .52rem; color: #173961; font-size: 1.08rem; font-weight: 850; letter-spacing: -.035em; }
.dcc-public-info-card h3 { font-size: .92rem; }
.dcc-public-info-card p { color: var(--dcc-muted); font-size: .77rem; line-height: 1.6; margin: 0; }
.dcc-public-info-icon { display: inline-grid; color: var(--dcc-primary); font-size: 1.35rem; }
.dcc-public-product-list { display: grid; gap: .45rem; margin-top: 1rem; }
.dcc-public-product-list span { display: flex; align-items: center; gap: .55rem; color: #405a7d; font-size: .76rem; font-weight: 750; }
.dcc-public-product-list i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 9px; color: var(--dcc-primary); background: var(--dcc-primary-soft); }
.dcc-public-registration-form-card { padding: clamp(1rem, 3vw, 2rem); border: 1px solid #dceafa; border-radius: 27px; background: #fff; box-shadow: 0 18px 40px rgba(8, 61, 137, .1); }
.dcc-public-form-heading { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; margin-bottom: 1.3rem; }
.dcc-public-form-heading h2 { margin: .32rem 0 .3rem; color: #15365d; font-size: clamp(1.35rem, 3vw, 1.85rem); font-weight: 850; letter-spacing: -.05em; }
.dcc-public-form-heading p { margin: 0; color: var(--dcc-muted); font-size: .78rem; }
.dcc-public-pending-chip { display: inline-flex; align-items: center; gap: .32rem; flex: 0 0 auto; padding: .42rem .58rem; border-radius: 11px; color: #9d6106; background: var(--dcc-warning-soft); border: 1px solid #ffe0a5; font-size: .67rem; font-weight: 850; }
.dcc-public-form-section { padding: 1.12rem 0; border-top: 1px solid #e7f0fb; }
.dcc-public-form-section:first-of-type { border-top: 0; padding-top: 0; }
.dcc-public-section-title { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .95rem; }
.dcc-public-section-title > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #fff; background: linear-gradient(135deg, var(--dcc-primary), #2aabf2); box-shadow: 0 7px 14px rgba(11,99,216,.18); font-size: .72rem; font-weight: 900; }
.dcc-public-section-title strong { display: block; color: #294565; font-size: .86rem; font-weight: 850; }
.dcc-public-section-title small { display: block; color: var(--dcc-muted); font-size: .72rem; line-height: 1.4; margin-top: .1rem; }
.dcc-public-sponsor-note { height: 100%; display: flex; align-items: flex-start; gap: .64rem; padding: .8rem; border: 1px solid #dbeafa; border-radius: 15px; background: #f6fbff; }
.dcc-public-sponsor-note > i { color: var(--dcc-primary); font-size: 1.1rem; }
.dcc-public-sponsor-note strong { display: block; color: #365474; font-size: .76rem; }
.dcc-public-sponsor-note span { display: block; color: var(--dcc-muted); font-size: .71rem; line-height: 1.42; margin-top: .15rem; }
.dcc-public-consent { margin-top: .55rem; padding: .92rem; border: 1px solid #dceafa; border-radius: 16px; background: #f8fbff; }
.dcc-public-consent .form-check { display: flex; gap: .65rem; align-items: flex-start; margin: 0; }
.dcc-public-consent .form-check-input { margin: .2rem 0 0; flex: 0 0 auto; }
.dcc-public-consent .form-check-label { color: #4a607d; font-size: .75rem; line-height: 1.55; }
.dcc-public-form-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.dcc-public-form-actions .dcc-btn-primary { min-width: min(100%, 280px); }
.dcc-public-registration-success { display: flex; align-items: flex-start; gap: .7rem; padding: 1rem; margin-bottom: 1rem; border: 1px solid #bfe9d7; border-radius: 16px; color: #08765a; background: var(--dcc-success-soft); }
.dcc-public-registration-success > i { font-size: 1.25rem; }
.dcc-public-registration-success strong { display: block; font-size: .86rem; }
.dcc-public-registration-success span { display: block; margin-top: .2rem; font-size: .75rem; line-height: 1.55; }
.dcc-public-registration-success small { font-size: .72rem; }
.dcc-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }
.dcc-registration-source { display: inline-flex; align-items: center; gap: .22rem; margin-left: .35rem; padding: .12rem .34rem; border-radius: 999px; vertical-align: middle; font-size: .58rem; font-weight: 850; }
.dcc-registration-source.is-public { color: #066692; background: #e7f7ff; }
.dcc-registration-source.is-branch { color: #5f4a92; background: #f0ebff; }

@media (max-width: 991.98px) {
    .dcc-public-registration-layout { grid-template-columns: 1fr; }
    .dcc-public-registration-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .dcc-public-registration-page { padding-bottom: 1.5rem; background: linear-gradient(180deg, #0664d7 0, #0879dd 275px, #f5f9ff 275px); }
    .dcc-public-topbar, .dcc-public-registration-hero, .dcc-public-registration-layout { width: min(100% - 1.1rem, 1180px); }
    .dcc-public-topbar { min-height: 67px; }
    .dcc-public-brand img { width: 39px; height: 39px; border-radius: 13px; }
    .dcc-public-brand strong { font-size: .9rem; }
    .dcc-public-login-link { min-height: 38px; padding: .48rem .62rem; border-radius: 11px; font-size: .72rem; }
    .dcc-public-registration-hero { display: block; margin: .8rem auto 1.3rem; }
    .dcc-public-hero-copy h1 { margin-top: .72rem; font-size: clamp(1.88rem, 10vw, 2.65rem); }
    .dcc-public-hero-copy p { font-size: .82rem; line-height: 1.55; }
    .dcc-public-hero-points { display: none; }
    .dcc-public-hero-card { display: none; }
    .dcc-public-registration-aside { grid-template-columns: 1fr; gap: .7rem; }
    .dcc-public-info-card { padding: .9rem; border-radius: 18px; }
    .dcc-public-info-card:first-child { display: none; }
    .dcc-public-registration-form-card { padding: 1rem; border-radius: 21px; }
    .dcc-public-form-heading { margin-bottom: 1rem; }
    .dcc-public-form-heading h2 { font-size: 1.3rem; }
    .dcc-public-pending-chip { font-size: .6rem; padding: .35rem .43rem; }
    .dcc-public-form-section { padding: 1rem 0; }
    .dcc-public-section-title { margin-bottom: .8rem; }
    .dcc-public-form-actions { display: grid; grid-template-columns: 1fr; }
    .dcc-public-form-actions .btn { width: 100%; justify-content: center; }
    .dcc-public-form-actions .dcc-btn-primary { min-width: 0; }
    .dcc-public-sponsor-note { padding: .7rem; }
}
@media (max-width: 399.98px) {
    .dcc-public-login-link span { display: none; }
    .dcc-public-form-heading { gap: .5rem; }
    .dcc-public-pending-chip { max-width: 86px; text-align: center; justify-content: center; }
}

/* v15: Member transactions, Branch cashier workspace, and Admin reconciliation */
.dcc-reconcile-hero { background: linear-gradient(135deg, #064da9 0%, #0b75da 54%, #15a3e8 100%); }
.dcc-member-transaction-panel { overflow: hidden; }
.dcc-reconcile-info { display: flex; align-items: flex-start; gap: .72rem; padding: .9rem; border: 1px solid #d7eafa; border-radius: 16px; background: linear-gradient(135deg, #f4faff, #fbfdff); }
.dcc-reconcile-info > i { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #0869d2, #18a5e9); box-shadow: 0 9px 18px rgba(8,105,210,.18); }
.dcc-reconcile-info strong { display: block; color: #244b78; font-size: .8rem; font-weight: 850; }
.dcc-reconcile-info span { display: block; margin-top: .14rem; color: #657b96; font-size: .72rem; line-height: 1.5; }
.dcc-mini-stat { min-height: 96px; display: flex; flex-direction: column; justify-content: center; padding: .9rem 1rem; border: 1px solid #deebf8; border-radius: 18px; background: #fbfdff; }
.dcc-mini-stat span { color: #6f839d; font-size: .67rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.dcc-mini-stat strong { display: block; margin: .34rem 0 .12rem; color: #24466d; font-size: 1.25rem; letter-spacing: -.045em; font-weight: 850; }
.dcc-mini-stat small { color: #7f90a6; font-size: .68rem; }
.dcc-mini-stat.is-credit { border-color: #c9ebdf; background: linear-gradient(145deg, #f7fffb, #effcf5); }
.dcc-mini-stat.is-credit strong { color: #08775b; }
.dcc-mini-stat.is-debit { border-color: #f3d8d9; background: linear-gradient(145deg, #fffafa, #fff5f5); }
.dcc-mini-stat.is-debit strong { color: #bb3d45; }
.dcc-mini-stat.is-pending { border-color: #e9dcad; background: linear-gradient(145deg, #fffdf6, #fff9e9); }
.dcc-mini-stat.is-pending strong { color: #9a680c; }
.dcc-member-search-card { height: 100%; padding: 1rem; border: 1px solid #dceafa; border-radius: 19px; background: #fbfdff; }
.dcc-member-search-card .form-label { color: #34536f; font-size: .76rem; font-weight: 850; }
.dcc-member-search-results { min-height: 230px; max-height: 585px; overflow: auto; margin-top: .85rem; padding-right: .1rem; }
.dcc-search-placeholder { min-height: 210px; display: grid; place-content: center; justify-items: center; gap: .55rem; padding: 1rem; text-align: center; color: #7a8da6; font-size: .75rem; }
.dcc-search-placeholder i { font-size: 1.8rem; color: #a9c4dd; }
.dcc-search-placeholder.is-error i { color: #d45c5c; }
.dcc-search-member { padding: .85rem 0; border-bottom: 1px solid #e6f0f9; }
.dcc-search-member:first-child { padding-top: .1rem; }
.dcc-search-member:last-child { border-bottom: 0; }
.dcc-search-member-head { display: flex; gap: .6rem; align-items: flex-start; justify-content: space-between; }
.dcc-search-member-head strong { display: block; color: #28496d; font-size: .8rem; font-weight: 850; }
.dcc-search-member-head small { display: block; margin-top: .12rem; color: #73859d; font-size: .68rem; }
.dcc-account-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-top: .7rem; }
.dcc-account-choice { min-width: 0; padding: .68rem; overflow: hidden; border: 1px solid #dceafa; border-radius: 13px; color: #28517b; text-align: left; background: #fff; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.dcc-account-choice:hover { border-color: #75b4ed; box-shadow: 0 8px 16px rgba(17,90,170,.11); transform: translateY(-1px); }
.dcc-account-choice span, .dcc-account-choice small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-account-choice span { color: #365b80; font-size: .66rem; font-weight: 800; }
.dcc-account-choice strong { display: block; margin: .22rem 0; color: #0871ba; font-size: .82rem; font-weight: 850; letter-spacing: -.025em; }
.dcc-account-choice small { color: #7d91a9; font: .6rem var(--dcc-font-mono); }
.dcc-member-transaction-form { height: 100%; padding: 1rem; border: 1px solid #dceafa; border-radius: 19px; background: #fff; }
.dcc-selected-member { min-height: 76px; display: grid; grid-template-columns: 43px minmax(0, 1fr) auto; gap: .72rem; align-items: center; padding: .8rem; border: 1px solid #d8eafb; border-radius: 15px; background: linear-gradient(135deg, #f3faff, #fbfdff); }
.dcc-selected-member > i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #0871d9, #12a6ea); font-size: 1.1rem; }
.dcc-selected-member strong { display: block; min-width: 0; overflow: hidden; color: #254b73; font-size: .8rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.dcc-selected-member strong small { color: #5880a6; font-size: .68rem; font-weight: 750; }
.dcc-selected-member span { display: block; margin-top: .13rem; overflow: hidden; color: #6a829e; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.dcc-selected-member-balance { color: #0871ba !important; font-size: 1rem !important; font-weight: 850 !important; white-space: nowrap !important; }
.dcc-member-transaction-note { display: flex; align-items: flex-start; gap: .45rem; padding: .72rem .8rem; border-radius: 13px; color: #5b7390; background: #f4f9ff; font-size: .7rem; line-height: 1.45; }
.dcc-member-transaction-note i { margin-top: .05rem; color: #0a76d8; }
.dcc-section-divider { height: 1px; margin: 1.35rem -1.25rem 1.25rem; background: #e6eff8; }
.dcc-reconciliation-status { display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .48rem; border-radius: 999px; font-size: .62rem; font-weight: 850; white-space: nowrap; }
.dcc-reconciliation-status.is-pending { color: #8b600d; background: #fff6dc; border: 1px solid #f2dc96; }
.dcc-reconciliation-status.is-reconciled { color: #087456; background: #e8faf2; border: 1px solid #bde9d7; }
.dcc-reconciliation-status.is-ledger { color: #356a9c; background: #edf6ff; border: 1px solid #d0e8fb; }
.dcc-transaction-filter-bar { display: grid; grid-template-columns: minmax(160px, 1.45fr) repeat(4, minmax(120px, 1fr)) auto; gap: .6rem; align-items: end; margin: 1rem 0; padding: .82rem; border: 1px solid #e0edf8; border-radius: 17px; background: #fbfdff; }
.dcc-transaction-filter-bar label { display: block; margin: 0 0 .3rem; color: #6b829e; font-size: .63rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.dcc-filter-action { display: flex; align-items: end; }
.dcc-filter-action .btn { min-height: 31px; white-space: nowrap; }
.dcc-select-col { width: 42px; text-align: center; }
.dcc-reconciliation-table td small { display: block; margin-top: .14rem; color: #7689a1; font-size: .65rem; line-height: 1.38; }
.dcc-reconciliation-selection { display: grid; grid-template-columns: minmax(150px, 1.45fr) repeat(4, minmax(90px, 1fr)); gap: .6rem; padding: .85rem; border: 1px solid #d8eafb; border-radius: 16px; background: #f5faff; }
.dcc-reconciliation-selection > div { min-width: 0; padding: .25rem .45rem; border-right: 1px solid #dfeefa; }
.dcc-reconciliation-selection > div:last-child { border-right: 0; }
.dcc-reconciliation-selection span { display: block; color: #7790aa; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.dcc-reconciliation-selection strong { display: block; overflow: hidden; margin-top: .17rem; color: #254d77; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.dcc-dashboard-quick-action { margin-bottom: .2rem; }

@media (max-width: 1199.98px) {
    .dcc-transaction-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dcc-filter-action { grid-column: span 3; }
    .dcc-filter-action .btn { width: 100%; }
}
@media (max-width: 767.98px) {
    .dcc-reconcile-info { padding: .8rem; border-radius: 14px; }
    .dcc-reconcile-info > i { width: 34px; height: 34px; border-radius: 11px; }
    .dcc-reconcile-info span { font-size: .68rem; }
    .dcc-mini-stat { min-height: 88px; padding: .75rem .8rem; border-radius: 15px; }
    .dcc-mini-stat strong { font-size: 1.03rem; }
    .dcc-member-search-card, .dcc-member-transaction-form { padding: .85rem; border-radius: 16px; }
    .dcc-member-search-results { max-height: 410px; min-height: 180px; }
    .dcc-account-choice-grid { grid-template-columns: 1fr 1fr; }
    .dcc-selected-member { grid-template-columns: 37px minmax(0, 1fr); gap: .6rem; min-height: 0; }
    .dcc-selected-member > i { width: 37px; height: 37px; border-radius: 12px; }
    .dcc-selected-member-balance { grid-column: 2; justify-self: start; margin-top: -.32rem; }
    .dcc-section-divider { margin-inline: -.85rem; }
    .dcc-transaction-filter-bar { grid-template-columns: 1fr 1fr; gap: .55rem; padding: .7rem; border-radius: 14px; }
    .dcc-transaction-filter-bar > div:first-child { grid-column: 1 / -1; }
    .dcc-filter-action { grid-column: 1 / -1; }
    .dcc-reconciliation-selection { grid-template-columns: 1fr 1fr; padding: .75rem; border-radius: 14px; }
    .dcc-reconciliation-selection > div { padding: .2rem; border-right: 0; }
    .dcc-reconciliation-selection > div:first-child { grid-column: 1 / -1; border-bottom: 1px solid #dfeefa; padding-bottom: .5rem; }
    .dcc-reconciliation-card .dcc-mobile-card-head { align-items: flex-start; }
}
@media (max-width: 399.98px) {
    .dcc-account-choice-grid { grid-template-columns: 1fr; }
    .dcc-transaction-filter-bar { grid-template-columns: 1fr; }
    .dcc-transaction-filter-bar > div { grid-column: auto !important; }
}

/* v16: Member team listing and interactive 10-level genealogy */
.dcc-mobile-only { display: none; }
.dcc-team-hero {
    background:
        radial-gradient(circle at 87% 18%, rgba(79, 211, 255, .30), transparent 29%),
        radial-gradient(circle at 17% 110%, rgba(4, 36, 122, .36), transparent 41%),
        linear-gradient(135deg, #063f9e 0%, #086cce 54%, #16a1e4 100%);
}
.dcc-team-stat-card { min-height: 142px; }
.dcc-team-stat-card .dcc-stat-icon { background: linear-gradient(135deg, #0c6fd7, #1ba9e8); }
.dcc-team-level-panel { overflow: hidden; }
.dcc-team-level-rail {
    display: grid;
    grid-template-columns: repeat(10, minmax(116px, 1fr));
    gap: .65rem;
    overflow-x: auto;
    padding: .2rem 0 .65rem;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}
.dcc-team-level-card {
    min-width: 116px;
    min-height: 145px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: .8rem;
    border: 1px solid #dceafb;
    border-radius: 18px;
    color: #245078;
    text-align: left;
    background: linear-gradient(145deg, #fff, #f7fbff);
    box-shadow: 0 6px 16px rgba(39, 103, 168, .04);
    scroll-snap-align: start;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.dcc-team-level-card:hover, .dcc-team-level-card:focus-visible {
    border-color: #74b6f0;
    background: #fff;
    box-shadow: 0 12px 22px rgba(18, 105, 185, .12);
    transform: translateY(-2px);
    outline: 0;
}
.dcc-team-level-card.is-selected {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(145deg, #075fca, #119fe1);
    box-shadow: 0 13px 24px rgba(8, 105, 210, .23);
}
.dcc-team-level-card.is-empty:not(.is-selected) { opacity: .72; background: #fbfdff; }
.dcc-team-level-kicker { font-size: .64rem; font-weight: 900; letter-spacing: .1em; color: #5384b1; }
.dcc-team-level-card.is-selected .dcc-team-level-kicker { color: rgba(255,255,255,.78); }
.dcc-team-level-card strong { display: block; margin: .25rem 0 .07rem; color: #154f86; font-size: 1.38rem; line-height: 1; font-weight: 900; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.dcc-team-level-card.is-selected strong { color: #fff; }
.dcc-team-level-card small { color: #7890aa; font-size: .65rem; line-height: 1.3; }
.dcc-team-level-card.is-selected small { color: rgba(255,255,255,.84); }
.dcc-team-level-card em { display: flex; align-items: center; gap: .26rem; margin-top: auto; padding-top: .52rem; color: #15815f; font-size: .65rem; font-style: normal; font-weight: 850; font-variant-numeric: tabular-nums; }
.dcc-team-level-card.is-selected em { color: #def9ee; }
.dcc-team-level-caption { display: flex; align-items: flex-start; gap: .45rem; margin-top: .1rem; color: #738aa5; font-size: .7rem; line-height: 1.45; }
.dcc-team-level-caption > i { color: #0a75d8; margin-top: .04rem; }

.dcc-genealogy-panel { overflow: hidden; }
.dcc-genealogy-toolbar { display: flex; align-items: center; gap: .46rem; margin-bottom: .75rem; }
.dcc-genealogy-toolbar .dcc-genealogy-zoom { display: inline-flex; gap: .26rem; margin-left: auto; }
.dcc-genealogy-toolbar .dcc-icon-button { min-width: 33px; min-height: 33px; padding: .35rem; border-radius: 10px; }
.dcc-genealogy-path { display: flex; align-items: center; gap: .28rem; overflow-x: auto; margin-bottom: .78rem; padding-bottom: .22rem; scrollbar-width: thin; }
.dcc-genealogy-path > i { flex: 0 0 auto; color: #9cb2c9; font-size: .6rem; }
.dcc-genealogy-crumb { flex: 0 0 auto; border: 0; padding: .33rem .5rem; border-radius: 999px; color: #44739d; background: #edf6ff; font-size: .66rem; font-weight: 800; white-space: nowrap; }
.dcc-genealogy-crumb:hover, .dcc-genealogy-crumb:focus-visible { color: #095cb9; background: #dceeff; outline: 0; }
.dcc-genealogy-crumb.is-current { color: #fff; background: linear-gradient(135deg, #0a67cf, #14a0e1); }
.dcc-genealogy-stage { min-height: 350px; overflow: auto; padding: .9rem; border: 1px solid #dceafb; border-radius: 20px; background: radial-gradient(circle at 13% 7%, #f4fbff 0, rgba(244,251,255,0) 33%), linear-gradient(145deg, #fbfdff, #eff8ff); -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; }
.dcc-genealogy-canvas { --dcc-tree-zoom: 1; min-width: 640px; width: calc(100% / var(--dcc-tree-zoom)); min-height: 325px; transform: scale(var(--dcc-tree-zoom)); transform-origin: top left; transition: transform .18s ease, width .18s ease; }
.dcc-genealogy-loading, .dcc-genealogy-empty { min-height: 285px; display: grid; place-content: center; justify-items: center; gap: .58rem; padding: 1rem; color: #7189a5; text-align: center; font-size: .76rem; }
.dcc-genealogy-empty > i { color: #91bce2; font-size: 2rem; }
.dcc-genealogy-empty strong { color: #315777; font-size: .84rem; font-weight: 900; }
.dcc-genealogy-empty span { max-width: 290px; color: #7088a3; font-size: .72rem; line-height: 1.45; }
.dcc-genealogy-empty.is-error > i { color: #d45c64; }
.dcc-genealogy-focus-wrap { display: grid; justify-items: center; }
.dcc-genealogy-node { position: relative; display: flex; min-width: 0; align-items: center; gap: .62rem; padding: .72rem; border: 1px solid #d5e7f8; border-radius: 17px; color: #294e74; text-align: left; background: #fff; box-shadow: 0 8px 18px rgba(32, 99, 164, .07); }
.dcc-genealogy-focus-node { width: min(100%, 310px); border-color: #8fc5f5; background: linear-gradient(145deg, #fff, #eef8ff); box-shadow: 0 12px 24px rgba(12, 99, 193, .12); }
.dcc-genealogy-child-node { min-height: 108px; border: 1px solid #dceafa; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.dcc-genealogy-child-node:hover, .dcc-genealogy-child-node:focus-visible { border-color: #68b0ef; box-shadow: 0 12px 23px rgba(9, 103, 194, .15); transform: translateY(-2px); outline: 0; }
.dcc-genealogy-node-copy { min-width: 0; flex: 1 1 auto; }
.dcc-genealogy-node-copy em, .dcc-genealogy-node-copy strong, .dcc-genealogy-node-copy small, .dcc-genealogy-node-copy b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-genealogy-node-copy em { margin-bottom: .12rem; color: #0b76d5; font-size: .58rem; font-style: normal; font-weight: 900; letter-spacing: .055em; }
.dcc-genealogy-node-copy strong { color: #274e75; font-size: .76rem; font-weight: 900; }
.dcc-genealogy-node-copy small { margin-top: .08rem; color: #7289a2; font-size: .64rem; }
.dcc-genealogy-node-copy b { display: inline-flex; align-items: center; gap: .24rem; margin-top: .35rem; color: #4d769b; font-size: .62rem; font-weight: 800; }
.dcc-genealogy-node-copy b > i { color: #0a75d8; }
.dcc-genealogy-child-arrow { flex: 0 0 auto; color: #76a0c6; }
.dcc-team-avatar, .dcc-team-list-avatar, .dcc-team-preview-avatar { width: 40px; height: 40px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border: 2px solid #fff; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #0765cf, #10a3e6); font-size: .75rem; font-weight: 900; box-shadow: 0 5px 12px rgba(8, 101, 207, .17); }
.dcc-team-avatar img, .dcc-team-list-avatar img, .dcc-team-preview-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.dcc-team-avatar-lg { width: 49px; height: 49px; font-size: .95rem; }
.dcc-genealogy-connector { width: 36px; height: 31px; display: grid; place-items: center; margin: .1rem 0 .05rem; border-radius: 0 0 16px 16px; color: #0c77d5; background: linear-gradient(180deg, #cbe8ff, #eaf6ff); font-size: .78rem; }
.dcc-genealogy-children-label { margin: .1rem 0 .85rem; color: #728aa5; font-size: .68rem; font-weight: 750; }
.dcc-genealogy-children { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: .65rem; align-items: stretch; }
.dcc-genealogy-children[data-many-children="true"] { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.dcc-genealogy-note { display: flex; align-items: flex-start; gap: .43rem; margin-top: .75rem; color: #6e859f; font-size: .69rem; line-height: 1.48; }
.dcc-genealogy-note > i { color: #0b74d5; margin-top: .08rem; }

.dcc-team-guide-panel { overflow: hidden; }
.dcc-team-username-card { padding: 1rem; border: 1px solid #cde7fc; border-radius: 18px; background: linear-gradient(145deg, #edf8ff, #fafdff); }
.dcc-team-username-card > span { display: block; color: #6383a3; font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.dcc-team-username-card > strong { display: block; overflow: hidden; margin: .28rem 0 .76rem; color: #0d65c9; font: 900 .98rem var(--dcc-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.dcc-team-username-card .btn { min-height: 42px; border-radius: 13px; font-size: .76rem; }
.dcc-team-guide-list { display: grid; gap: .85rem; margin: 1.05rem 0; }
.dcc-team-guide-list > div { display: flex; align-items: flex-start; gap: .62rem; }
.dcc-team-guide-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #0a6ed0; background: #ebf6ff; font-size: .88rem; }
.dcc-team-guide-list p { margin: 0; }
.dcc-team-guide-list strong, .dcc-team-guide-list span { display: block; }
.dcc-team-guide-list strong { color: #315778; font-size: .75rem; font-weight: 900; }
.dcc-team-guide-list p > span { margin-top: .14rem; color: #758ba3; font-size: .68rem; line-height: 1.45; }
.dcc-team-direct-preview { margin-top: auto; padding-top: .95rem; border-top: 1px solid #e3effa; }
.dcc-team-direct-preview-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .55rem; }
.dcc-team-direct-preview-head span { color: #577592; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .055em; }
.dcc-team-direct-preview-head a { color: #0a70d0; font-size: .7rem; font-weight: 850; }
.dcc-team-direct-preview-list { display: grid; gap: .38rem; }
.dcc-inline-loading, .dcc-team-direct-empty { min-height: 84px; display: grid; place-content: center; justify-items: center; gap: .4rem; color: #8194aa; text-align: center; font-size: .68rem; }
.dcc-team-direct-empty > i { color: #9ebfe0; font-size: 1.45rem; }
.dcc-team-preview-member { display: flex; align-items: center; gap: .5rem; width: 100%; padding: .4rem 0; border: 0; border-bottom: 1px solid #edf3fa; color: #294f76; text-align: left; background: transparent; }
.dcc-team-preview-member:last-child { border-bottom: 0; }
.dcc-team-preview-member:hover strong, .dcc-team-preview-member:focus-visible strong { color: #0872cf; }
.dcc-team-preview-member:focus-visible { outline: 0; }
.dcc-team-preview-avatar { width: 32px; height: 32px; font-size: .62rem; }
.dcc-team-preview-member > span { min-width: 0; flex: 1; }
.dcc-team-preview-member strong, .dcc-team-preview-member small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-team-preview-member strong { font-size: .7rem; font-weight: 900; }
.dcc-team-preview-member small { margin-top: .06rem; color: #7d92aa; font-size: .6rem; }
.dcc-team-preview-member > i { color: #83a7c9; font-size: .75rem; }

.dcc-team-listing-panel { overflow: hidden; }
.dcc-team-list-filter { display: grid; grid-template-columns: minmax(170px, .7fr) minmax(240px, 1.6fr) auto; gap: .65rem; align-items: end; margin: 1rem 0; padding: .85rem; border: 1px solid #deedf9; border-radius: 17px; background: #fbfdff; }
.dcc-team-list-filter label { display: block; margin: 0 0 .32rem; color: #68809b; font-size: .63rem; font-weight: 900; text-transform: uppercase; letter-spacing: .045em; }
.dcc-team-list-filter .btn { min-height: 48px; white-space: nowrap; }
.dcc-team-member-cell { display: flex; align-items: center; gap: .5rem; min-width: 190px; }
.dcc-team-list-avatar { width: 36px; height: 36px; font-size: .68rem; }
.dcc-team-member-cell span { min-width: 0; }
.dcc-team-member-cell strong, .dcc-team-member-cell small, .dcc-team-data-table td > small, .dcc-team-data-table td > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-team-member-cell strong, .dcc-team-data-table td > strong { color: #315475; font-size: .74rem; font-weight: 900; }
.dcc-team-member-cell small, .dcc-team-data-table td > small { margin-top: .1rem; color: #7890a8; font-size: .64rem; }
.dcc-team-direct-count { display: inline-flex; align-items: center; gap: .32rem; padding: .35rem .48rem; border-radius: 999px; color: #0c6fca; background: #edf7ff; font-size: .66rem; font-weight: 900; }
.dcc-team-direct-count > i { font-size: .66rem; }
.dcc-team-date { color: #6e859f; font-size: .66rem; }
.dcc-team-pagination { display: flex; align-items: center; justify-content: center; gap: .65rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #e5eef8; }
.dcc-team-pagination > span { min-width: 92px; color: #63809c; text-align: center; font-size: .7rem; font-weight: 850; }
.dcc-team-mobile-member { padding: .85rem; border: 1px solid #dceafa; border-radius: 16px; background: #fff; box-shadow: 0 6px 14px rgba(31, 91, 153, .05); }
.dcc-team-mobile-member-head { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: .55rem; align-items: center; }
.dcc-team-mobile-member-head > div { min-width: 0; }
.dcc-team-mobile-member-head strong, .dcc-team-mobile-member-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-team-mobile-member-head strong { color: #315575; font-size: .77rem; font-weight: 900; }
.dcc-team-mobile-member-head small { margin-top: .08rem; color: #778fa8; font-size: .63rem; }
.dcc-team-mobile-member-head .dcc-icon-button { min-width: 34px; min-height: 34px; padding: .3rem; border-radius: 10px; }
.dcc-team-mobile-member-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: .8rem; padding-top: .75rem; border-top: 1px solid #e8f1fa; }
.dcc-team-mobile-member-grid > div { min-width: 0; }
.dcc-team-mobile-member-grid span, .dcc-team-mobile-member-grid strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-team-mobile-member-grid span { color: #8095ab; font-size: .58rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.dcc-team-mobile-member-grid strong { margin-top: .14rem; color: #335879; font-size: .67rem; font-weight: 850; }

/* Dashboard team snapshot */
.dcc-member-team-snapshot { overflow: hidden; }
.dcc-member-team-highlight { min-height: 108px; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: .8rem; align-items: center; height: 100%; padding: 1rem; border: 1px solid #bfe0fb; border-radius: 19px; background: radial-gradient(circle at 93% 5%, rgba(83, 189, 255, .22), transparent 30%), linear-gradient(135deg, #eff9ff, #fafdff); }
.dcc-member-team-highlight-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 17px; color: #fff; background: linear-gradient(135deg, #0866cf, #12a2e4); box-shadow: 0 9px 18px rgba(8, 101, 207, .19); font-size: 1.22rem; }
.dcc-member-team-highlight > div { min-width: 0; }
.dcc-member-team-highlight-label, .dcc-member-team-highlight strong, .dcc-member-team-highlight small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-member-team-highlight-label { color: #5c7e9d; font-size: .65rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.dcc-member-team-highlight strong { margin: .2rem 0 .1rem; color: #135486; font-size: 1.13rem; font-weight: 900; letter-spacing: -.045em; }
.dcc-member-team-highlight small { color: #7890a8; font-size: .65rem; }
.dcc-member-team-arrow { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px; color: #0b6dcc; background: #fff; box-shadow: 0 5px 12px rgba(18, 103, 184, .1); }
.dcc-member-team-mini { min-height: 108px; display: flex; flex-direction: column; justify-content: center; height: 100%; padding: .95rem; border: 1px solid #dbeafa; border-radius: 18px; background: #fbfdff; }
.dcc-member-team-mini > span { color: #7189a4; font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.dcc-member-team-mini strong { display: block; margin: .3rem 0 .12rem; color: #2c557b; font-size: 1.04rem; font-weight: 900; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.dcc-member-team-mini small { color: #8092a7; font-size: .61rem; line-height: 1.38; }
.dcc-member-team-mini.is-income { border-color: #ccecdc; background: linear-gradient(145deg, #f7fffb, #effbf5); }
.dcc-member-team-mini.is-income strong { color: #087356; }
.dcc-member-team-snapshot-footer { display: flex; align-items: flex-start; gap: .45rem; margin-top: .85rem; color: #7189a4; font-size: .68rem; line-height: 1.45; }
.dcc-member-team-snapshot-footer > i { color: #0871ce; margin-top: .06rem; }

@media (max-width: 1199.98px) {
    .dcc-team-level-rail { grid-template-columns: repeat(10, 128px); }
    .dcc-team-list-filter { grid-template-columns: minmax(160px, .75fr) minmax(230px, 1.45fr) auto; }
}
@media (max-width: 767.98px) {
    .dcc-mobile-only { display: block; }
    .dcc-team-stat-card { min-height: 124px; }
    .dcc-team-level-rail { grid-template-columns: repeat(10, 112px); gap: .5rem; margin-inline: -.15rem; padding-inline: .15rem; }
    .dcc-team-level-card { min-width: 112px; min-height: 132px; padding: .7rem; border-radius: 16px; }
    .dcc-team-level-card strong { font-size: 1.2rem; }
    .dcc-genealogy-toolbar { flex-wrap: wrap; gap: .4rem; }
    .dcc-genealogy-toolbar .dcc-genealogy-zoom { margin-left: auto; }
    .dcc-genealogy-stage { min-height: 310px; margin-inline: -.05rem; padding: .68rem; border-radius: 17px; }
    .dcc-genealogy-canvas { min-width: 530px; min-height: 282px; }
    .dcc-genealogy-node { border-radius: 15px; }
    .dcc-genealogy-focus-node { width: min(100%, 290px); }
    .dcc-genealogy-children { grid-template-columns: repeat(auto-fit, minmax(172px, 1fr)); }
    .dcc-team-list-filter { grid-template-columns: 1fr; gap: .55rem; padding: .7rem; border-radius: 14px; }
    .dcc-team-list-filter .btn { width: 100%; }
    .dcc-team-pagination { justify-content: space-between; }
    .dcc-team-pagination > span { min-width: 0; }
    .dcc-member-team-highlight { grid-template-columns: 45px minmax(0, 1fr) auto; min-height: 96px; padding: .8rem; border-radius: 16px; }
    .dcc-member-team-highlight-icon { width: 43px; height: 43px; border-radius: 14px; font-size: 1rem; }
    .dcc-member-team-highlight strong { font-size: .94rem; }
    .dcc-member-team-mini { min-height: 92px; padding: .75rem; border-radius: 15px; }
    .dcc-member-team-mini strong { font-size: .93rem; }
}
@media (max-width: 399.98px) {
    .dcc-genealogy-toolbar .dcc-btn-soft { padding-inline: .46rem; font-size: .66rem; }
    .dcc-genealogy-canvas { min-width: 470px; }
    .dcc-team-mobile-member-grid { grid-template-columns: 1fr; gap: .4rem; }
    .dcc-member-team-highlight { grid-template-columns: 42px minmax(0, 1fr); }
    .dcc-member-team-arrow { grid-column: 2; justify-self: start; margin-top: -.25rem; }
}

/* Membership upgrade workspace (v17) */
.dcc-upgrade-panel { border-color: #cadffb; }
.dcc-upgrade-guard { background: linear-gradient(135deg, #f1f7ff, #fbfdff); border-color: #d7e7fb; }
.dcc-upgrade-guard > i { background: #d8e9ff; color: #155db3; }
.dcc-upgrade-queue-card { align-items: stretch; }
.dcc-upgrade-targets { flex: 0 1 46%; min-width: 260px; display: grid; gap: .42rem; align-content: center; }
.dcc-upgrade-targets > span { color: var(--dcc-muted); font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.dcc-upgrade-targets > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .38rem; }
.dcc-upgrade-targets .btn { display: inline-flex; align-items: center; gap: .18rem; min-height: 42px; padding: .38rem .55rem; font-size: .68rem; line-height: 1.15; white-space: normal; text-align: left; }
.dcc-upgrade-targets .btn small { display: none; }
.dcc-upgrade-targets .btn:disabled { opacity: .58; }
.dcc-upgrade-targets .btn:disabled small { display: block; font-size: .55rem; max-width: 100px; }
.dcc-package-mode { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e4eef8; }
.dcc-package-mode.is-upgrade { border-top: 2px dashed #bdd8fa; padding: 1rem; margin-top: 1.2rem; border-radius: 16px; background: #f8fbff; }
.dcc-package-mode-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; margin-bottom: .8rem; }
.dcc-package-mode-head > div > span { display: block; color: #1c4f8d; font-size: .76rem; font-weight: 800; }
.dcc-package-mode-head > div > small { display: block; color: var(--dcc-muted); font-size: .66rem; line-height: 1.45; max-width: 460px; margin-top: .16rem; }
@media (max-width: 767.98px) {
    .dcc-upgrade-targets { min-width: 0; width: 100%; }
    .dcc-upgrade-targets > div { justify-content: stretch; }
    .dcc-upgrade-targets .btn { flex: 1 1 calc(50% - .3rem); justify-content: center; text-align: center; }
    .dcc-package-mode-head { flex-direction: column; }
}
/* v19 — QR cashier, member withdrawal OTP, and app-like quick access */
.dcc-cashier-member-access{border:1px solid #dceafb;background:linear-gradient(180deg,#fbfdff,#f3f8ff)}.dcc-cashier-access-head{display:flex;justify-content:space-between;align-items:end;gap:10px}.dcc-cashier-access-head .dcc-eyebrow{display:block;margin-bottom:3px}.dcc-qr-manual-row{display:flex;gap:8px}.dcc-qr-manual-row .form-control{min-width:0}.dcc-withdrawal-otp-panel{border:1px solid #cce1ff;background:#f5f9ff;border-radius:17px;padding:14px}.dcc-withdrawal-otp-head{display:flex;gap:10px;align-items:flex-start}.dcc-withdrawal-otp-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#0b69d4;color:#fff;flex:0 0 auto}.dcc-withdrawal-otp-head strong,.dcc-withdrawal-otp-head span{display:block}.dcc-withdrawal-otp-head strong{color:#123a6e;font-size:.86rem}.dcc-withdrawal-otp-head span{color:#617a9b;font-size:.74rem;line-height:1.45;margin-top:2px}.dcc-withdrawal-otp-request{display:block;margin-top:10px;color:#32598a;font-family:"DM Mono",monospace;font-size:.7rem}.dcc-otp-input{font-family:"DM Mono",monospace;letter-spacing:.32em;font-weight:800;font-size:1.1rem;text-align:center}.dcc-otp-proof,.dcc-mobile-proof{display:block;color:#087b49;font-size:.67rem;margin-top:5px}.dcc-mobile-proof{font-size:.62rem}.dcc-qr-scanner-modal{border:0;border-radius:24px;overflow:hidden}.dcc-qr-scanner-frame{min-height:285px;border-radius:18px;overflow:hidden;background:#061c41;display:grid;place-items:center}.dcc-qr-scanner-frame video{width:100%!important;height:auto!important;object-fit:cover}.dcc-qr-scanner-placeholder{display:grid;gap:9px;place-items:center;color:#aac9f4;font-size:.8rem}.dcc-qr-scanner-placeholder i{font-size:2.2rem}.dcc-qr-scanner-copy{display:flex;gap:8px;line-height:1.45;color:#667b99;font-size:.77rem;margin:14px 0 0}.dcc-qr-scanner-copy i{color:#0a70e8}.dcc-member-quick-access{height:100%;border-radius:20px;padding:18px;display:flex;align-items:center;gap:13px;position:relative;overflow:hidden}.dcc-member-quick-access>div{flex:1;min-width:0}.dcc-member-quick-access span,.dcc-member-quick-access strong,.dcc-member-quick-access small{display:block}.dcc-member-quick-access>div>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;opacity:.78}.dcc-member-quick-access>div>strong{font-size:.95rem;margin-top:3px}.dcc-member-quick-access>div>small{font-size:.72rem;line-height:1.38;margin-top:4px;opacity:.8}.dcc-member-quick-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;font-size:1.25rem;flex:0 0 auto}.dcc-member-qr-access{background:linear-gradient(135deg,#073e98,#0873e8);color:#fff;box-shadow:0 13px 26px rgba(3,81,182,.18)}.dcc-member-qr-access .dcc-member-quick-icon{background:rgba(255,255,255,.16)}.dcc-member-passbook-access{background:#fff;border:1px solid #dce8f8;color:#233e65}.dcc-member-passbook-access .dcc-member-quick-icon{background:#eaf3ff;color:#0a69d7}.dcc-member-withdrawal-panel{border:1px solid #d5e5fa}.dcc-member-withdrawal-list{display:grid;gap:12px}.dcc-member-withdrawal-card{border:1px solid #e1ebf8;border-radius:17px;padding:15px;background:#fff}.dcc-member-withdrawal-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dcc-member-withdrawal-top strong,.dcc-member-withdrawal-top small{display:block}.dcc-member-withdrawal-top strong{color:#18345c;font-size:.9rem;margin-top:3px}.dcc-member-withdrawal-top small{color:#6e819d;font-size:.72rem;margin-top:2px}.dcc-withdrawal-state{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;padding:6px 8px;border-radius:999px;font-size:.65rem;font-weight:800}.dcc-withdrawal-state.is-pending{background:#fff5df;color:#a16b05}.dcc-withdrawal-state.is-issued{background:#e7f5ee;color:#087b49}.dcc-member-withdrawal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #edf2f8}.dcc-member-withdrawal-grid span,.dcc-member-withdrawal-grid strong{display:block}.dcc-member-withdrawal-grid span{color:#6e819d;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.dcc-member-withdrawal-grid strong{color:#25466f;font-size:.78rem;margin-top:3px}.dcc-member-withdrawal-card p{margin:11px 0;color:#566b8a;font-size:.75rem;line-height:1.45}.dcc-member-withdrawal-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.dcc-member-withdrawal-actions small{font-size:.68rem;color:#71829a;line-height:1.35}.dcc-member-otp-modal{border:0;border-radius:24px}.dcc-member-otp-request-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-radius:15px;padding:13px;background:#f4f8fe;margin-bottom:15px}.dcc-member-otp-request-details span,.dcc-member-otp-request-details strong{display:block}.dcc-member-otp-request-details span{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:#6f82a0;font-weight:800}.dcc-member-otp-request-details strong{font-size:.76rem;color:#284a75;margin-top:3px}.dcc-member-otp-request-details p{grid-column:1/-1;margin:3px 0 0;color:#657b9b;font-size:.74rem}.dcc-member-otp-reveal{text-align:center;border:1px dashed #9cc3f5;border-radius:17px;background:#eef6ff;padding:18px}.dcc-member-otp-reveal span,.dcc-member-otp-reveal small{display:block}.dcc-member-otp-reveal span{color:#52739b;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.dcc-member-otp-reveal strong{display:block;font-family:"DM Mono",monospace;font-size:2.2rem;letter-spacing:.25em;color:#075fc7;margin:7px 0 6px}.dcc-member-otp-reveal small{color:#607c9e;font-size:.72rem;line-height:1.4}@media(max-width:575px){.dcc-cashier-access-head{align-items:flex-start;flex-direction:column}.dcc-cashier-access-head .btn{width:100%}.dcc-qr-manual-row{flex-direction:column}.dcc-qr-manual-row .btn{width:100%}.dcc-member-quick-access{align-items:flex-start;flex-wrap:wrap}.dcc-member-quick-access .btn{width:100%;margin-left:58px}.dcc-member-withdrawal-top,.dcc-member-withdrawal-actions{align-items:flex-start;flex-direction:column}.dcc-member-withdrawal-actions .btn{width:100%}.dcc-member-withdrawal-grid{grid-template-columns:1fr 1fr}.dcc-member-otp-request-details{grid-template-columns:1fr}.dcc-member-otp-request-details p{grid-column:auto}.dcc-member-otp-reveal strong{font-size:1.8rem}.dcc-qr-scanner-frame{min-height:240px}}

/* --------------------------------------------------------------------------
   v20: Admin User Account Management
   -------------------------------------------------------------------------- */
.dcc-users-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 100% 5%, rgba(113, 206, 255, .32), transparent 32%), linear-gradient(135deg, #075ec0 0%, #0878d8 56%, #10a1e6 100%); }
.dcc-users-hero::after { content: ''; position: absolute; inset: auto -60px -130px auto; width: 270px; height: 270px; border: 30px solid rgba(255,255,255,.1); border-radius: 50%; pointer-events: none; }
.dcc-user-stat-card { min-height: 145px; }
.dcc-user-directory-panel { overflow: hidden; }
.dcc-user-management-note { display: flex; align-items: flex-start; gap: .7rem; margin: 1rem 0; padding: .9rem 1rem; border: 1px solid #cce7fc; border-radius: 18px; color: #496f93; background: linear-gradient(135deg, #eef9ff, #fbfdff); }
.dcc-user-management-note > i { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #0764cc, #169ee3); box-shadow: 0 6px 14px rgba(9, 112, 209, .2); }
.dcc-user-management-note strong, .dcc-user-management-note span { display: block; }
.dcc-user-management-note strong { color: #245377; font-size: .76rem; font-weight: 900; }
.dcc-user-management-note span { margin-top: .14rem; color: #6986a2; font-size: .68rem; line-height: 1.5; }
.dcc-user-filter-bar { display: grid; grid-template-columns: minmax(245px, 1.75fr) minmax(135px, .72fr) minmax(155px, .82fr) minmax(180px, 1fr) auto; gap: .65rem; align-items: end; margin: 1rem 0; padding: .9rem; border: 1px solid #dcebf7; border-radius: 18px; background: #fbfdff; }
.dcc-user-filter-bar label { display: block; margin-bottom: .32rem; color: #67809b; font-size: .64rem; font-weight: 900; text-transform: uppercase; letter-spacing: .045em; }
.dcc-user-filter-bar .input-group-text { border-color: #d8e8f6; color: #5b85aa; background: #f5faff; }
.dcc-user-filter-action .btn { min-height: 46px; white-space: nowrap; }
.dcc-users-table td { padding-top: .8rem; padding-bottom: .8rem; }
.dcc-user-table-person { display: flex; align-items: center; gap: .65rem; min-width: 220px; }
.dcc-user-list-avatar { width: 42px; height: 42px; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; box-sizing: border-box; border: 2px solid #fff; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #0868d0, #12a0e3); box-shadow: 0 5px 14px rgba(14, 104, 194, .18); font-size: .76rem; font-weight: 900; }
.dcc-user-list-avatar.has-photo img { width: 100%; height: 100%; display: block; box-sizing: border-box; border-radius: 50%; object-fit: cover; object-position: center; }
.dcc-user-table-person > div { min-width: 0; }
.dcc-user-table-person strong, .dcc-user-table-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-user-table-person strong { color: #294e71; font-size: .76rem; font-weight: 900; }
.dcc-user-table-person small { margin-top: .08rem; color: #7890a6; font-size: .63rem; }
.dcc-user-role-badge, .dcc-role-chip { display: inline-flex; align-items: center; justify-content: center; padding: .34rem .52rem; border-radius: 999px; font-size: .61rem; font-weight: 900; letter-spacing: .055em; }
.dcc-user-role-badge { color: #58738e; background: #edf3f8; }
.dcc-user-role-badge.is-admin, .dcc-role-chip.is-admin { color: #6d38a0; background: #f2eafd; }
.dcc-user-role-badge.is-branch, .dcc-role-chip.is-branch { color: #0964b4; background: #e6f4ff; }
.dcc-user-role-badge.is-member, .dcc-role-chip.is-member { color: #137254; background: #e8f7f0; }
.dcc-user-workspace { display: block; max-width: 220px; overflow: hidden; margin-top: .32rem; color: #7890a7; font-size: .64rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.dcc-account-status-badge { display: inline-flex; align-items: center; gap: .3rem; padding: .36rem .52rem; border-radius: 999px; color: #5c7389; background: #edf2f7; font-size: .61rem; font-weight: 900; letter-spacing: .02em; }
.dcc-account-status-badge.is-active { color: #10714d; background: #e6f7ee; }
.dcc-account-status-badge.is-suspended { color: #ac4a29; background: #fff0e9; }
.dcc-account-status-badge.is-pending { color: #996516; background: #fff7e4; }
.dcc-account-status-badge.is-archived { color: #637385; background: #edf1f5; }
.dcc-user-date { color: #6e859d; font-size: .66rem; font-weight: 750; }
.dcc-user-pagination { display: flex; align-items: center; justify-content: center; gap: .7rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e5eef6; }
.dcc-user-pagination > span { min-width: 108px; color: #66819b; text-align: center; font-size: .7rem; font-weight: 850; }
.dcc-user-mobile-card { padding: .88rem; border: 1px solid #dceaf7; border-radius: 17px; background: #fff; box-shadow: 0 6px 15px rgba(39, 91, 139, .05); }
.dcc-user-mobile-card + .dcc-user-mobile-card { margin-top: .6rem; }
.dcc-user-mobile-card-head { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: .6rem; align-items: center; }
.dcc-user-mobile-card-head > div { min-width: 0; }
.dcc-user-mobile-card-head strong, .dcc-user-mobile-card-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-user-mobile-card-head strong { color: #2f5272; font-size: .78rem; font-weight: 900; }
.dcc-user-mobile-card-head small { margin-top: .08rem; color: #7e93aa; font-size: .63rem; }
.dcc-user-mobile-card-meta { display: flex; flex-wrap: wrap; gap: .45rem; margin: .75rem 0; }
.dcc-user-card-control { display: inline-flex; align-items: center; gap: .28rem; padding: .35rem .46rem; border-radius: 999px; color: #5f7c95; background: #f1f7fc; font-size: .59rem; font-weight: 850; }
.dcc-user-mobile-card-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: .55rem; padding-top: .75rem; border-top: 1px solid #e8f0f7; }
.dcc-user-mobile-card-grid > div { min-width: 0; }
.dcc-user-mobile-card-grid span, .dcc-user-mobile-card-grid strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-user-mobile-card-grid span { color: #8094a9; font-size: .58rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.dcc-user-mobile-card-grid strong { margin-top: .15rem; color: #365979; font-size: .65rem; font-weight: 850; }

.dcc-user-manage-modal .modal-body { background: #f7fbff; }
.dcc-managed-user-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .85rem; align-items: center; padding: 1rem; border: 1px solid #c9e4fa; border-radius: 20px; background: radial-gradient(circle at 90% 0%, rgba(64, 180, 250, .21), transparent 30%), linear-gradient(135deg, #edf9ff, #fff); }
.dcc-managed-user-avatar-wrap { position: relative; width: 68px; height: 68px; }
.dcc-managed-user-avatar { width: 68px; height: 68px; display: block; overflow: hidden; box-sizing: border-box; border: 3px solid #fff; border-radius: 50%; background: #eaf5fd; box-shadow: 0 8px 18px rgba(12, 102, 190, .18); object-fit: cover; object-position: center; }
.dcc-managed-user-photo-action { position: absolute; right: -3px; bottom: -3px; width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #096ccc; box-shadow: 0 5px 11px rgba(7, 92, 178, .24); font-size: .73rem; }
.dcc-managed-user-copy { min-width: 0; }
.dcc-managed-user-copy h3 { overflow: hidden; margin: .25rem 0 .04rem; color: #1f4f78; font-size: 1.08rem; font-weight: 900; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.dcc-managed-user-copy p { overflow: hidden; margin: 0 0 .5rem; color: #6686a2; font: 800 .72rem var(--dcc-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.dcc-managed-user-copy > div { display: flex; flex-wrap: wrap; gap: .38rem; align-items: center; }
.dcc-managed-user-branch { max-width: 330px; overflow: hidden; color: #64809c; font-size: .65rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.dcc-managed-user-id { display: grid; justify-items: end; gap: .16rem; min-width: 82px; padding-left: .5rem; }
.dcc-managed-user-id span { color: #7890a8; font-size: .59rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.dcc-managed-user-id strong { color: #0f68bf; font: 900 .76rem var(--dcc-font-mono); }
.dcc-user-manage-tabs { display: flex; flex-wrap: nowrap; gap: .45rem; overflow-x: auto; margin-top: 1rem; padding: .35rem; border: 1px solid #dceaf7; border-radius: 15px; background: #fff; scrollbar-width: thin; }
.dcc-user-manage-tabs .nav-link { display: inline-flex; align-items: center; gap: .38rem; flex: 0 0 auto; padding: .6rem .75rem; border-radius: 11px; color: #6a839c; font-size: .69rem; font-weight: 900; white-space: nowrap; }
.dcc-user-manage-tabs .nav-link.active { color: #fff; background: linear-gradient(135deg, #0865cf, #119be2); box-shadow: 0 5px 13px rgba(8, 100, 207, .2); }
.dcc-user-edit-panel, .dcc-user-record-card, .dcc-user-access-card, .dcc-user-activity-panel { padding: 1rem; border: 1px solid #dceaf7; border-radius: 19px; background: #fff; box-shadow: 0 7px 16px rgba(31, 87, 139, .04); }
.dcc-user-edit-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; padding-top: .95rem; border-top: 1px solid #e6eef6; }
.dcc-user-edit-actions .btn { min-height: 44px; }
.dcc-user-record-list { display: grid; gap: .58rem; margin-top: .75rem; }
.dcc-user-record-list > div { min-width: 0; padding-bottom: .56rem; border-bottom: 1px solid #eef3f8; }
.dcc-user-record-list > div:last-child { border-bottom: 0; }
.dcc-user-record-list span, .dcc-user-record-list strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcc-user-record-list span { color: #8196aa; font-size: .59rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.dcc-user-record-list strong { margin-top: .13rem; color: #355a7a; font-size: .68rem; font-weight: 850; }
.dcc-user-record-note { display: flex; align-items: flex-start; gap: .4rem; margin: .9rem 0 0; padding-top: .82rem; border-top: 1px solid #e5edf6; color: #7c92a8; font-size: .62rem; line-height: 1.45; }
.dcc-user-record-note i { color: #1883d3; margin-top: .05rem; }
.dcc-user-access-card { position: relative; overflow: hidden; }
.dcc-user-access-card::after { content: ''; position: absolute; right: -36px; bottom: -42px; width: 150px; height: 150px; border: 24px solid rgba(42, 157, 230, .06); border-radius: 50%; pointer-events: none; }
.dcc-user-access-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: .75rem; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #0766cf, #16a1e5); box-shadow: 0 7px 14px rgba(10, 100, 207, .2); font-size: 1rem; }
.dcc-user-access-icon.is-key { background: linear-gradient(135deg, #4777d3, #7d5ad7); }
.dcc-user-access-card h4 { margin: .28rem 0 .35rem; color: #2d5375; font-size: 1rem; font-weight: 900; }
.dcc-user-access-card p { min-height: 44px; margin: 0 0 1rem; color: #7189a1; font-size: .68rem; line-height: 1.5; }
.dcc-user-disable-btn { color: #fff; background: linear-gradient(135deg, #c94e35, #e77749); box-shadow: 0 7px 14px rgba(196, 75, 50, .18); }
.dcc-user-disable-btn:hover, .dcc-user-disable-btn:focus { color: #fff; background: linear-gradient(135deg, #ae3e2a, #d85d39); }
.dcc-user-activity-list { display: grid; gap: .55rem; margin-top: 1rem; }
.dcc-user-activity-item { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; gap: .62rem; align-items: start; padding: .78rem; border: 1px solid #e1ecf6; border-radius: 15px; background: #fcfeff; }
.dcc-user-activity-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; color: #0c70cf; background: #e8f5ff; font-size: .84rem; }
.dcc-user-activity-item > div { min-width: 0; }
.dcc-user-activity-item strong, .dcc-user-activity-item span, .dcc-user-activity-item small { display: block; }
.dcc-user-activity-item strong { color: #365a79; font-size: .7rem; font-weight: 900; }
.dcc-user-activity-item span { margin-top: .08rem; color: #728aa3; font-size: .64rem; line-height: 1.45; }
.dcc-user-activity-item small { margin-top: .16rem; color: #91a2b4; font: 700 .57rem var(--dcc-font-mono); }
.dcc-user-activity-item time { max-width: 115px; color: #7890a6; font-size: .61rem; font-weight: 800; text-align: right; }
.dcc-user-modal-loading { min-height: 340px; display: grid; place-content: center; justify-items: center; gap: .55rem; color: #6f89a3; font-size: .72rem; }
.dcc-user-modal-footer-note { display: inline-flex; align-items: center; gap: .36rem; margin-right: auto; color: #718aa2; font-size: .65rem; font-weight: 800; }
.dcc-user-modal-footer-note > i { color: #0b75d1; }

@media (max-width: 1199.98px) {
  .dcc-user-filter-bar { grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(135px, 1fr)) auto; }
  .dcc-user-search-field { grid-column: span 2; }
}
@media (max-width: 767.98px) {
  .dcc-users-hero .dcc-page-hero-actions { width: 100%; }
  .dcc-users-hero .dcc-page-hero-actions .btn { flex: 1 1 0; }
  .dcc-user-filter-bar { grid-template-columns: 1fr 1fr; gap: .6rem; padding: .75rem; }
  .dcc-user-search-field { grid-column: 1 / -1; }
  .dcc-user-filter-action { grid-column: 1 / -1; }
  .dcc-user-filter-action .btn { width: 100%; }
  .dcc-managed-user-banner { grid-template-columns: 58px minmax(0, 1fr); padding: .85rem; }
  .dcc-managed-user-avatar-wrap, .dcc-managed-user-avatar { width: 58px; height: 58px; }
  .dcc-managed-user-copy h3 { font-size: .94rem; }
  .dcc-managed-user-id { grid-column: 1 / -1; grid-template-columns: auto auto; justify-content: start; gap: .38rem; padding: .6rem 0 0; border-top: 1px solid #dceaf5; }
  .dcc-managed-user-branch { max-width: 220px; }
  .dcc-user-edit-actions { align-items: stretch; flex-direction: column; }
  .dcc-user-edit-actions .btn { width: 100%; }
  .dcc-user-access-card p { min-height: 0; }
  .dcc-user-activity-item { grid-template-columns: 33px minmax(0, 1fr); }
  .dcc-user-activity-item time { grid-column: 2; max-width: none; text-align: left; }
  .dcc-user-modal-footer-note { display: none; }
}
@media (max-width: 420px) {
  .dcc-user-filter-bar { grid-template-columns: 1fr; }
  .dcc-user-search-field, .dcc-user-filter-action { grid-column: auto; }
  .dcc-user-mobile-card-grid { grid-template-columns: 1fr; }
  .dcc-user-manage-tabs .nav-link { padding: .55rem .62rem; font-size: .64rem; }
}


/* --------------------------------------------------------------------------
   v20.1: Branch activation + membership upgrade confirmation dialogs
   -------------------------------------------------------------------------- */
.dcc-branch-confirmation-dialog {
    max-width: 880px;
}
.dcc-branch-confirmation-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 2rem);
}
.dcc-confirmation-header {
    flex: 0 0 auto;
    position: relative;
    z-index: 2;
}
.dcc-branch-confirmation-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.dcc-branch-confirmation-form .dcc-confirmation-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1.35rem;
}
.dcc-confirmation-footer {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: .65rem;
    position: relative;
    z-index: 2;
    background: #fff;
    box-shadow: 0 -10px 25px rgba(27, 65, 111, .06);
}
.dcc-confirmation-footer-note {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    margin-right: auto;
    color: #6b829f;
    font-size: .67rem;
    font-weight: 800;
}
.dcc-confirmation-footer-note i { color: #0a70d8; }
.dcc-confirmation-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .15rem .1rem .55rem;
}
.dcc-confirmation-section-head > div { min-width: 0; }
.dcc-confirmation-section-head .dcc-eyebrow { display: block; margin-bottom: .13rem; }
.dcc-confirmation-section-head strong {
    display: block;
    color: #244872;
    font-size: .82rem;
    font-weight: 850;
}
.dcc-confirmation-section-note {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    flex: 0 0 auto;
    color: #527397;
    font-size: .64rem;
    font-weight: 850;
    white-space: nowrap;
}
.dcc-confirmation-section-note i { color: #0b71da; }
.dcc-pgr-preview-list {
    gap: .55rem;
}
.dcc-pgr-preview-row {
    align-items: center;
    min-height: 66px;
    padding: .72rem .76rem;
    border-color: #dfeaf7;
    background: #fff;
    transition: border-color .16s ease, background .16s ease;
}
.dcc-pgr-preview-row.is-ready { border-color: #bfe5d2; background: linear-gradient(135deg, #fbfffd, #f4fcf8); }
.dcc-pgr-preview-row.is-skipped { border-color: #f0dfbb; background: linear-gradient(135deg, #fffdf8, #fff9ee); }
.dcc-pgr-preview-recipient {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}
.dcc-pgr-preview-recipient > div { min-width: 0; }
.dcc-pgr-level-badge {
    display: inline-grid;
    place-items: center;
    width: 34px;
    min-width: 34px;
    height: 34px;
    border-radius: 11px;
    background: #e7f2ff;
    color: #075fbd;
    font-family: "DM Mono", monospace;
    font-size: .68rem;
    font-weight: 850;
}
.dcc-pgr-preview-row.is-ready .dcc-pgr-level-badge { background: #dcf4e6; color: #087a4e; }
.dcc-pgr-preview-row.is-skipped .dcc-pgr-level-badge { background: #fff0cf; color: #a26a08; }
.dcc-pgr-preview-recipient strong,
.dcc-pgr-preview-value > strong {
    display: block;
    color: #24486f;
    font-size: .77rem;
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.dcc-pgr-preview-recipient span:not(.dcc-pgr-level-badge),
.dcc-pgr-preview-recipient small {
    display: block;
    color: #657c99;
    font-size: .65rem;
    line-height: 1.32;
    margin-top: .08rem;
    overflow-wrap: anywhere;
}
.dcc-pgr-preview-recipient small { color: #8394aa; }
.dcc-pgr-preview-value {
    display: grid;
    justify-items: end;
    gap: .28rem;
    flex: 0 0 auto;
    min-width: 102px;
    text-align: right;
}
.dcc-pgr-preview-value > strong { color: #075fbd; font-size: .84rem; }
.dcc-pgr-preview-row.is-ready .dcc-pgr-preview-value > strong { color: #087a4e; }
.dcc-pgr-preview-row.is-skipped .dcc-pgr-preview-value > strong { color: #a26a08; }
.dcc-pgr-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .46rem;
    min-height: 78px;
    padding: .85rem;
    border: 1px dashed #cbdced;
    border-radius: 14px;
    color: #7388a2;
    background: #f8fbff;
    font-size: .72rem;
    text-align: center;
}
.dcc-pgr-empty i { color: #0a70d8; font-size: 1rem; }
@media (max-width: 767.98px) {
    .dcc-branch-confirmation-dialog {
        align-items: flex-end;
        min-height: 100%;
        max-width: 100%;
        margin: 0;
    }
    .dcc-branch-confirmation-modal {
        width: 100%;
        max-height: calc(100dvh - .6rem);
        border-radius: 24px 24px 0 0;
    }
    .dcc-branch-confirmation-form .dcc-confirmation-body { padding: 1rem 1rem 1.1rem; }
    .dcc-confirmation-footer {
        flex-wrap: wrap;
        padding: .78rem 1rem calc(.78rem + env(safe-area-inset-bottom));
    }
    .dcc-confirmation-footer-note { width: 100%; margin-right: 0; }
    .dcc-confirmation-footer .btn { flex: 1 1 0; min-height: 45px; }
    .dcc-confirmation-section-head { align-items: flex-start; }
    .dcc-confirmation-section-note { white-space: normal; text-align: right; }
    .dcc-pgr-preview-row { align-items: flex-start; }
    .dcc-pgr-preview-value { min-width: 84px; }
}
@media (max-width: 419.98px) {
    .dcc-confirmation-section-head { flex-direction: column; }
    .dcc-confirmation-section-note { text-align: left; }
    .dcc-pgr-preview-row { gap: .5rem; padding: .66rem; }
    .dcc-pgr-preview-recipient { gap: .48rem; }
    .dcc-pgr-level-badge { width: 31px; min-width: 31px; height: 31px; border-radius: 10px; font-size: .64rem; }
    .dcc-pgr-preview-value { min-width: 77px; }
    .dcc-pgr-preview-value > strong { font-size: .76rem; }
}

/* v21: Branch cashier receipt controls */
.dcc-receipt-posting-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem .9rem;border:1px solid #d7e8fb;border-radius:17px;background:linear-gradient(135deg,#f4f9ff,#fbfdff)}
.dcc-receipt-posting-option>div{display:flex;align-items:center;gap:.65rem;min-width:0}.dcc-receipt-posting-option>div>i{display:grid;place-items:center;width:37px;height:37px;flex:0 0 auto;border-radius:13px;color:#fff;background:linear-gradient(145deg,#0a78e8,#075abe);box-shadow:0 9px 18px rgba(6,92,195,.2)}
.dcc-receipt-posting-option strong,.dcc-receipt-posting-option small{display:block}.dcc-receipt-posting-option strong{color:#254a72;font-size:.78rem;font-weight:850}.dcc-receipt-posting-option small{margin-top:.1rem;color:#7189a5;font-size:.67rem;line-height:1.4}.dcc-receipt-posting-option .form-check{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.dcc-receipt-posting-option .form-check-input{width:2.1em;height:1.13em;margin:0;cursor:pointer}.dcc-receipt-posting-option .form-check-label{color:#416382;font-size:.7rem;font-weight:800;white-space:nowrap;cursor:pointer}.dcc-print-receipt{white-space:nowrap}
@media(max-width:575px){.dcc-receipt-posting-option{align-items:flex-start;gap:.75rem;padding:.75rem}.dcc-receipt-posting-option>div>i{width:34px;height:34px;border-radius:12px}.dcc-receipt-posting-option small{font-size:.63rem}.dcc-receipt-posting-option .form-check-label{font-size:.65rem}}

/* v22 Virtual Member ID dashboard entry */
.dcc-member-virtual-id-access{background:linear-gradient(135deg,#05285f,#0864cf 58%,#1496ef);color:#fff;box-shadow:0 13px 26px rgba(3,73,160,.2)}
.dcc-member-virtual-id-access .dcc-member-quick-icon{background:rgba(255,255,255,.16)}
.dcc-member-virtual-id-access:before{content:"";position:absolute;width:120px;height:120px;right:-50px;top:-70px;border-radius:50%;background:rgba(255,255,255,.08)}
.dcc-member-virtual-id-access>*{position:relative;z-index:1}


/* v24.1 – Global uploaded profile-photo support across Admin, Branch, and Member workspaces. */
[data-dcc-user-avatar],
[data-dcc-avatar],
.dcc-member-avatar,
.dcc-member-mini-avatar,
.dcc-qr-card-avatar,
.dcc-dashboard-user-avatar,
.dcc-security-list-avatar,
.dcc-cashier-member-avatar,
.dcc-selected-member-avatar,
.dcc-transaction-member-avatar {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    isolation: isolate;
}

[data-dcc-user-avatar] > img,
[data-dcc-avatar] > img,
.dcc-member-avatar > img,
.dcc-member-mini-avatar > img,
.dcc-qr-card-avatar > img,
.dcc-dashboard-user-avatar > img,
.dcc-security-list-avatar > img,
.dcc-cashier-member-avatar > img,
.dcc-selected-member-avatar > img,
.dcc-transaction-member-avatar > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: inherit;
}

.dcc-avatar-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    line-height: 1;
    font: inherit;
}

.has-photo > .dcc-avatar-fallback { display: none; }
.has-photo.is-image-error > .dcc-avatar-fallback { display: grid; }
.has-photo.is-image-error { color: var(--dcc-primary); background: linear-gradient(135deg, #d9edff, #f2f8ff); }

.dcc-dashboard-user-mark { display: grid; place-items: center; }
.dcc-dashboard-user-avatar { width: 72px; height: 72px; display: grid; place-items: center; border: 3px solid rgba(255,255,255,.88); color: #fff; background: linear-gradient(145deg, #0b63d8, #18a8eb); box-shadow: 0 15px 26px rgba(1,47,116,.22); font-size: 1.45rem; font-weight: 900; }
.dcc-security-list-avatar { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(145deg, #0b63d8, #18a8eb); font-size: .78rem; font-weight: 900; }
.dcc-security-user-row { align-items: center !important; }
.dcc-branch-hero { position: relative; }
.dcc-branch-hero-copy { min-width: 0; }
.dcc-branch-hero-user { display: flex; align-items: center; gap: .65rem; margin-left: auto; padding: .4rem .6rem .4rem .42rem; border: 1px solid rgba(255,255,255,.25); border-radius: 18px; color: #fff; background: rgba(0, 60, 150, .14); backdrop-filter: blur(8px); }
.dcc-branch-hero-user .dcc-dashboard-user-avatar { width: 46px; height: 46px; border-width: 2px; font-size: .82rem; }
.dcc-branch-hero-user strong, .dcc-branch-hero-user small { display: block; }
.dcc-branch-hero-user strong { font-size: .78rem; }
.dcc-branch-hero-user small { margin-top: .08rem; color: rgba(255,255,255,.78); font-size: .65rem; }

.dcc-cashier-member-avatar,
.dcc-selected-member-avatar,
.dcc-transaction-member-avatar { display: inline-grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(135deg, #0968d2, #18a9e8); font-weight: 900; }
.dcc-cashier-member-avatar { width: 42px; height: 42px; font-size: .76rem; }
.dcc-selected-member-avatar { width: 48px; height: 48px; font-size: .86rem; }
.dcc-transaction-member-avatar { width: 34px; height: 34px; font-size: .66rem; }
.dcc-search-member-person, .dcc-transaction-member { display: flex; align-items: center; gap: .62rem; min-width: 0; }
.dcc-search-member-person > div, .dcc-transaction-member > div { min-width: 0; }
.dcc-search-member-person strong, .dcc-search-member-person small,
.dcc-transaction-member strong, .dcc-transaction-member small { display: block; }
.dcc-transaction-member small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.dcc-qr-card-avatar { overflow: hidden; }
.dcc-qr-card-avatar.has-photo { color: #fff; background: #fff; }
.dcc-qr-card-avatar.has-photo img { border-radius: inherit; }

@media (max-width: 991.98px) {
    .dcc-branch-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
    .dcc-branch-hero .dcc-page-hero-actions { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .dcc-dashboard-user-avatar { width: 58px; height: 58px; font-size: 1.1rem; }
    .dcc-branch-hero { grid-template-columns: 1fr; }
    .dcc-branch-hero-user { width: max-content; margin: .1rem 0 .15rem; }
    .dcc-branch-hero .dcc-page-hero-actions { grid-column: auto; }
    .dcc-selected-member-avatar { width: 42px; height: 42px; }
}


/* v25 – Membership contestability rules and benefit eligibility monitoring */
.dcc-package-top-chips{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.dcc-contestability-mini-chip{display:inline-flex;align-items:center;gap:.28rem;padding:.32rem .5rem;border:1px solid #cfe4fb;border-radius:999px;background:#f3f9ff;color:#1769ae;font-size:.62rem;font-weight:850;white-space:nowrap}.dcc-contestability-mini-chip i{color:#0a75d8}.dcc-package-contestability{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.82rem .9rem;border:1px solid #cce6fb;border-radius:16px;background:linear-gradient(135deg,#f2f9ff,#fbfdff)}.dcc-package-contestability-copy{display:flex;align-items:center;gap:.62rem;min-width:0}.dcc-package-contestability-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#0b72dc,#29a4e9);box-shadow:0 9px 16px rgba(7,102,210,.18);color:#fff}.dcc-package-contestability-copy strong,.dcc-package-contestability-copy small{display:block}.dcc-package-contestability-copy strong{color:#264c73;font-size:.78rem;font-weight:850}.dcc-package-contestability-copy small{margin-top:.14rem;color:#68819e;font-size:.66rem;line-height:1.35}.dcc-package-month-input{width:144px;flex:0 0 auto}.dcc-package-month-input label{display:block;margin:0 0 .25rem;color:#587491;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.dcc-package-month-input .input-group-text{font-size:.68rem}.dcc-package-upgrade-rule{display:flex;gap:.45rem;align-items:flex-start;margin:.9rem 0;padding:.67rem .76rem;border:1px solid #d5e7fa;border-radius:14px;background:#f8fbff;color:#587593;font-size:.66rem;line-height:1.45}.dcc-package-upgrade-rule i{margin-top:.05rem;color:#0b70d6;font-size:.85rem}.dcc-preview-contestability{grid-column:span 2;background:linear-gradient(135deg,#f2f9ff,#fbfdff)!important;border-color:#cfe7fb!important}.dcc-preview-contestability span{display:flex;align-items:center;gap:.32rem}.dcc-preview-contestability i{color:#0b72d9}

.dcc-member-contestability-card{position:relative;overflow:hidden;border-color:#cfe6fa;background:linear-gradient(132deg,#ffffff 0%,#f6fbff 60%,#eef8ff 100%)}.dcc-member-contestability-card>*:not(.dcc-contestability-orbit){position:relative;z-index:1}.dcc-contestability-orbit{position:absolute;right:-32px;top:-36px;display:grid;place-items:center;width:150px;height:150px;border:22px solid rgba(41,155,233,.08);border-radius:50%;color:#0b70d8;font-size:2.5rem}.dcc-contestability-head p{max-width:720px;margin:.35rem 0 0;color:#5d7a99;font-size:.75rem;line-height:1.5}.dcc-contestability-status{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:29px;padding:.36rem .58rem;border-radius:999px;font-size:.66rem;font-weight:850;white-space:nowrap}.dcc-contestability-status.is-success{background:#ddf7e9;color:#087749}.dcc-contestability-status.is-warning{background:#fff1cd;color:#9a670a}.dcc-contestability-status.is-info,.dcc-contestability-status.is-loading{background:#e4f2ff;color:#0863bd}.dcc-contestability-status.is-muted{background:#edf1f5;color:#657583}.dcc-contestability-overview{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);gap:1rem;align-items:stretch;margin-top:.7rem}.dcc-contestability-progress-wrap{display:flex;flex-direction:column;justify-content:center;padding:1rem 1.05rem;border:1px solid #d7e9f9;border-radius:17px;background:rgba(255,255,255,.82)}.dcc-contestability-progress-meta{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.dcc-contestability-progress-meta span{color:#6d86a3;font-size:.68rem;font-weight:800}.dcc-contestability-progress-meta strong{color:#1f4e7a;font-size:.79rem;font-weight:900}.dcc-contestability-progress{height:10px;margin:.65rem 0 .48rem;overflow:hidden;border-radius:999px;background:#e4edf6}.dcc-contestability-progress>span,.dcc-contestability-row-progress>span{display:block;height:100%;border-radius:inherit;transition:width .45s ease;background:linear-gradient(90deg,#0981e8,#11a8e6)}.dcc-contestability-progress>span.is-success,.dcc-contestability-row-progress>span.is-success{background:linear-gradient(90deg,#08a864,#38c889)}.dcc-contestability-progress>span.is-warning,.dcc-contestability-row-progress>span.is-warning{background:linear-gradient(90deg,#eba509,#f6c648)}.dcc-contestability-progress>span.is-muted,.dcc-contestability-row-progress>span.is-muted{background:#aebdcc}.dcc-contestability-progress-wrap small{color:#5f7d9e;font-size:.68rem;line-height:1.45}.dcc-contestability-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.58rem}.dcc-contestability-dates>div{padding:.82rem .75rem;border:1px solid #d8e9f9;border-radius:15px;background:rgba(255,255,255,.76)}.dcc-contestability-dates span{display:flex;gap:.28rem;align-items:center;color:#6c84a1;font-size:.62rem;font-weight:800}.dcc-contestability-dates span i{color:#0c72d7}.dcc-contestability-dates strong{display:block;margin-top:.35rem;color:#254c75;font-size:.73rem;font-weight:900;line-height:1.35}.dcc-contestability-policy-note{display:flex;gap:.5rem;align-items:flex-start;margin-top:.85rem;padding:.7rem .8rem;border-radius:14px;background:rgba(10,107,211,.06);color:#597897;font-size:.66rem;line-height:1.45}.dcc-contestability-policy-note i{color:#0b70d7;margin-top:.08rem}

.dcc-contestability-admin-hero{background:linear-gradient(127deg,#043a84,#0b68d4 57%,#1b9ee5)}.dcc-contestability-admin-note{display:flex;align-items:flex-start;gap:.7rem;border-color:#cae6fa;background:linear-gradient(135deg,#f5fbff,#fff)}.dcc-contestability-note-icon{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#0b70d5,#1fa5e8);box-shadow:0 10px 18px rgba(6,103,213,.18);color:#fff}.dcc-contestability-admin-note strong,.dcc-contestability-admin-note span{display:block}.dcc-contestability-admin-note strong{color:#254a73;font-size:.8rem;font-weight:900}.dcc-contestability-admin-note span{margin-top:.18rem;color:#5f7b98;font-size:.7rem;line-height:1.48}.dcc-contestability-stat .dcc-stat-icon{background:#e3f3ff;color:#0c6ac9}.dcc-contestability-stat.is-soon .dcc-stat-icon{background:#fff0cd;color:#a26a06}.dcc-contestability-stat.is-complete .dcc-stat-icon{background:#ddf7e8;color:#08784a}.dcc-contestability-stat.is-review .dcc-stat-icon{background:#f0f3f6;color:#657685}.dcc-contestability-monitor-panel{min-height:440px}.dcc-contestability-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(145px,.7fr)) auto auto;gap:.65rem;align-items:center;margin:1rem 0 1.05rem}.dcc-filter-search{position:relative}.dcc-filter-search>i{position:absolute;z-index:1;left:.75rem;top:50%;transform:translateY(-50%);color:#6d88a7}.dcc-filter-search input{width:100%;min-height:40px;padding:.56rem .75rem .56rem 2.15rem;border:1px solid #cbdff2;border-radius:12px;outline:0;background:#fff;color:#274f79;font-size:.73rem}.dcc-filter-search input:focus{border-color:#1593e6;box-shadow:0 0 0 .2rem rgba(19,143,231,.12)}.dcc-contestability-filters .form-select{min-height:40px;border-radius:12px;border-color:#cbdff2;color:#315778;font-size:.72rem}.dcc-contestability-table th{padding:.75rem .65rem;border-bottom-color:#dceaf6;color:#5b7897;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.dcc-contestability-table td{padding:.76rem .65rem;border-bottom-color:#e5eef7;color:#375a7c;font-size:.7rem}.dcc-contestability-member{display:flex;align-items:center;gap:.58rem;min-width:188px}.dcc-contestability-member>div{min-width:0}.dcc-contestability-member strong,.dcc-contestability-member small{display:block}.dcc-contestability-member strong{color:#244b74;font-size:.73rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcc-contestability-member small,.dcc-table-subtext{margin-top:.1rem;color:#7790aa;font-size:.62rem;line-height:1.35}.dcc-table-subtext{display:block}.dcc-contestability-avatar{position:relative;display:grid;place-items:center;flex:0 0 auto;width:37px;height:37px;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#0b6ad2,#1aa4e7);color:#fff;font-size:.72rem;font-weight:900;isolation:isolate}.dcc-contestability-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.dcc-contestability-avatar.has-photo>.dcc-avatar-fallback{display:none}.dcc-contestability-avatar.is-image-error>.dcc-avatar-fallback{display:grid}.dcc-contestability-running{min-width:145px}.dcc-contestability-running strong{display:block;color:#385d7e;font-size:.66rem;line-height:1.35}.dcc-contestability-row-progress{height:5px;margin-top:.38rem;overflow:hidden;border-radius:999px;background:#e4edf6}.dcc-contestability-mobile-list{display:none}.dcc-contestability-mobile-card{padding:.85rem;border:1px solid #dceaf7;border-radius:17px;background:#fff;box-shadow:0 7px 16px rgba(5,70,140,.04)}.dcc-contestability-mobile-card+.dcc-contestability-mobile-card{margin-top:.68rem}.dcc-contestability-mobile-head{display:flex;align-items:center;gap:.56rem}.dcc-contestability-mobile-head>div{min-width:0;flex:1}.dcc-contestability-mobile-head strong,.dcc-contestability-mobile-head small{display:block}.dcc-contestability-mobile-head strong{color:#254a73;font-size:.76rem;font-weight:900}.dcc-contestability-mobile-head small{margin-top:.1rem;color:#7890a8;font-size:.62rem}.dcc-contestability-mobile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.56rem;margin:.8rem 0}.dcc-contestability-mobile-meta div{padding:.58rem .55rem;border-radius:12px;background:#f7fbff}.dcc-contestability-mobile-meta span,.dcc-contestability-mobile-meta strong{display:block}.dcc-contestability-mobile-meta span{color:#7b93aa;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.dcc-contestability-mobile-meta strong{margin-top:.16rem;color:#315574;font-size:.65rem;line-height:1.35}.dcc-contestability-mobile-card>p{margin:.56rem 0 0;color:#637f9e;font-size:.65rem;line-height:1.44}.dcc-table-pagination{display:flex;align-items:center;justify-content:center;gap:.7rem;padding-top:1rem}.dcc-table-pagination span{color:#66809d;font-size:.68rem;font-weight:850}
@media(max-width:1199.98px){.dcc-contestability-filters{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(145px,.75fr)) auto}.dcc-contestability-filters .btn{min-height:40px}.dcc-contestability-overview{grid-template-columns:1fr}.dcc-contestability-dates{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.dcc-package-top-chips{justify-content:flex-start}.dcc-package-contestability{align-items:flex-start;flex-direction:column}.dcc-package-month-input{width:100%}.dcc-preview-contestability{grid-column:auto}.dcc-contestability-head .dcc-contestability-status{margin-top:.25rem}.dcc-contestability-dates{grid-template-columns:1fr}.dcc-contestability-filters{grid-template-columns:1fr 1fr}.dcc-filter-search{grid-column:1 / -1}.dcc-contestability-filters .btn{width:100%}.dcc-contestability-table{display:none}.dcc-contestability-table+tbody{display:none}.dcc-contestability-table~*{display:none}.dcc-contestability-table{visibility:hidden;height:0}.dcc-contestability-table thead,.dcc-contestability-table tbody{display:none}.dcc-contestability-table-wrap{display:none}.dcc-contestability-mobile-list{display:block}.dcc-contestability-monitor-panel .table-responsive{display:none!important}.dcc-contestability-mobile-head .dcc-contestability-status{font-size:.6rem;padding:.31rem .45rem}.dcc-contestability-orbit{right:-52px;top:-48px;transform:scale(.82)}}
@media(max-width:419.98px){.dcc-contestability-filters{grid-template-columns:1fr}.dcc-filter-search{grid-column:auto}.dcc-contestability-mobile-meta{grid-template-columns:1fr}.dcc-contestability-progress-meta{align-items:flex-start;flex-direction:column;gap:.15rem}}


/* -------------------------------------------------------------------------
   Time Deposit PGR (v26)
   ------------------------------------------------------------------------- */
.dcc-time-deposit-pgr-hero{background:linear-gradient(122deg,#05366f,#0a69cb 53%,#18a1df)}
.dcc-time-deposit-pgr-protection{display:flex;gap:.72rem;align-items:flex-start;border-color:#cfe9fa;background:linear-gradient(135deg,#f2fbff,#fff)}
.dcc-time-deposit-pgr-protection-icon,.dcc-time-deposit-pgr-policy-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:15px;background:linear-gradient(145deg,#0a68d1,#1aa5e7);box-shadow:0 10px 20px rgba(6,104,213,.18);color:#fff;font-size:1.1rem}
.dcc-time-deposit-pgr-protection strong,.dcc-time-deposit-pgr-protection span{display:block}.dcc-time-deposit-pgr-protection strong{color:#254c75;font-size:.82rem;font-weight:900}.dcc-time-deposit-pgr-protection span{margin-top:.16rem;color:#5d7b9a;font-size:.7rem;line-height:1.5}
.dcc-time-deposit-pgr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.62rem;margin:.8rem 0 1rem}.dcc-time-deposit-pgr-summary>div{padding:.76rem .7rem;border:1px solid #d6eafa;border-radius:15px;background:#f8fcff}.dcc-time-deposit-pgr-summary span,.dcc-time-deposit-pgr-summary strong{display:block}.dcc-time-deposit-pgr-summary span{color:#718aa5;font-size:.62rem;font-weight:800}.dcc-time-deposit-pgr-summary strong{margin-top:.25rem;color:#145eaa;font-size:.85rem;font-weight:950}.dcc-time-deposit-pgr-summary strong.is-ready{color:#078051}
.dcc-time-deposit-pgr-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.dcc-time-deposit-pgr-level{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.65rem .7rem;border:1px solid #dcebf7;border-radius:14px;background:#fff}.dcc-time-deposit-pgr-level>span{min-width:84px}.dcc-time-deposit-pgr-level strong,.dcc-time-deposit-pgr-level small{display:block}.dcc-time-deposit-pgr-level strong{color:#1e4d7d;font-size:.76rem;font-weight:900}.dcc-time-deposit-pgr-level small{margin-top:.1rem;color:#7b92a9;font-size:.61rem}.dcc-time-deposit-pgr-level .input-group{width:145px}.dcc-time-deposit-pgr-level .form-control,.dcc-time-deposit-pgr-level .input-group-text{min-height:37px;border-color:#cfe2f2;color:#315b84;font-size:.72rem}.dcc-time-deposit-pgr-level .form-control:focus{border-color:#0e88df;box-shadow:0 0 0 .17rem rgba(14,136,223,.12)}
.dcc-time-deposit-pgr-note{display:flex;gap:.48rem;margin-top:.9rem;padding:.72rem .78rem;border-radius:13px;background:#f2f9ff;color:#5f7e9d;font-size:.67rem;line-height:1.5}.dcc-time-deposit-pgr-note i{color:#0b70d8;margin-top:.08rem}
.dcc-time-deposit-pgr-policy-card{position:relative;overflow:hidden;background:linear-gradient(155deg,#f2faff,#fff);border-color:#cfe8fa}.dcc-time-deposit-pgr-policy-card:after{content:"";position:absolute;right:-45px;bottom:-55px;width:190px;height:190px;border:26px solid rgba(26,165,231,.08);border-radius:50%}.dcc-time-deposit-pgr-policy-card>*{position:relative;z-index:1}.dcc-time-deposit-pgr-policy-card .dcc-eyebrow{display:block;margin-top:1rem}.dcc-time-deposit-pgr-policy-card h3{margin:.18rem 0 .8rem;color:#204b77;font-size:1.02rem;font-weight:950}.dcc-time-deposit-pgr-policy-card ul{margin:0;padding-left:1.08rem;color:#5e7d9d;font-size:.7rem;line-height:1.65}.dcc-time-deposit-pgr-policy-card li+li{margin-top:.22rem}.dcc-time-deposit-pgr-policy-footer{display:flex;gap:.45rem;margin-top:1rem;padding:.65rem .7rem;border-radius:13px;background:rgba(11,107,211,.08);color:#4d7198;font-size:.64rem;line-height:1.45}.dcc-time-deposit-pgr-policy-footer i{color:#0b70d7}
.dcc-time-deposit-pgr-stat .dcc-stat-icon{background:#e6f5ff;color:#0871d0}.dcc-time-deposit-rate-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:.3rem .5rem;border-radius:999px;background:#e4f4ff;color:#0966bd;font-size:.63rem;font-weight:900;white-space:nowrap}.dcc-time-deposit-pgr-table small{display:block;margin-top:.18rem;color:#7890aa;font-size:.62rem}.dcc-time-deposit-pgr-mobile-card .dcc-mobile-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.dcc-time-deposit-member-stat .dcc-stat-icon{background:#e7f7ff;color:#0782c8}
.dcc-time-deposit-branch-preview{padding:.84rem;border:1px solid #cce9fa;border-radius:17px;background:linear-gradient(135deg,#f2fbff,#fff);box-shadow:0 9px 22px rgba(5,95,183,.05)}.dcc-time-deposit-branch-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.dcc-time-deposit-branch-preview-head strong{display:block;margin-top:.08rem;color:#27517a;font-size:.8rem;font-weight:900}.dcc-time-deposit-branch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.72rem 0}.dcc-time-deposit-branch-summary>div{padding:.62rem .55rem;border-radius:13px;background:#fff;border:1px solid #dcecf8}.dcc-time-deposit-branch-summary span,.dcc-time-deposit-branch-summary strong{display:block}.dcc-time-deposit-branch-summary span{color:#7791aa;font-size:.58rem;font-weight:850}.dcc-time-deposit-branch-summary strong{margin-top:.2rem;color:#0b68bf;font-size:.74rem;font-weight:900}.dcc-time-deposit-branch-preview>p{margin:.12rem 0 .64rem;color:#5f7e9d;font-size:.65rem;line-height:1.48}.dcc-time-deposit-branch-levels{display:grid;gap:.4rem}.dcc-time-deposit-branch-level{display:grid;grid-template-columns:33px minmax(0,1fr) auto;gap:.48rem;align-items:center;padding:.48rem .52rem;border:1px solid #deedf8;border-radius:12px;background:#fff}.dcc-time-deposit-branch-level>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e9f5ff;color:#0768bf;font-size:.61rem;font-weight:950}.dcc-time-deposit-branch-level strong,.dcc-time-deposit-branch-level small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcc-time-deposit-branch-level strong{color:#365a7b;font-size:.67rem;font-weight:900}.dcc-time-deposit-branch-level small{margin-top:.08rem;color:#7990a8;font-size:.58rem}.dcc-time-deposit-branch-level em{color:#087e4c;font-size:.68rem;font-style:normal;font-weight:950}.dcc-time-deposit-branch-level.is-skipped{background:#fffaf0;border-color:#f7e7bf}.dcc-time-deposit-branch-level.is-skipped>span{background:#fff1cf;color:#a66806}.dcc-time-deposit-branch-level.is-skipped em{color:#9b650c}
@media(max-width:767.98px){.dcc-time-deposit-pgr-summary,.dcc-time-deposit-branch-summary{grid-template-columns:1fr}.dcc-time-deposit-pgr-rate-grid{grid-template-columns:1fr}.dcc-time-deposit-pgr-level .input-group{width:155px}.dcc-time-deposit-pgr-policy-card{min-height:auto}.dcc-time-deposit-pgr-table{display:none}.dcc-time-deposit-pgr-protection{align-items:flex-start}.dcc-time-deposit-branch-preview-head{align-items:flex-start;flex-direction:column}.dcc-time-deposit-branch-level{grid-template-columns:31px minmax(0,1fr)}.dcc-time-deposit-branch-level em{grid-column:2}}


/* v27 Loan Release Monitor ------------------------------------------------- */
.dcc-loan-release-panel{border-color:#dfe8f7;background:linear-gradient(165deg,#fff 0%,#f7fbff 100%)}
.dcc-loan-release-panel .dcc-panel-copy{max-width:760px;margin:.28rem 0 0;color:#6d8098;font-size:.72rem;line-height:1.55}
.dcc-mini-stat{display:flex;flex-direction:column;min-height:88px;justify-content:center;padding:.85rem .9rem;border:1px solid #dbe8f6;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(8,76,151,.045)}
.dcc-mini-stat span{display:flex;align-items:center;gap:.38rem;color:#7187a1;font-size:.66rem;font-weight:800}.dcc-mini-stat span i{color:#0c72d7;font-size:.86rem}.dcc-mini-stat strong{margin-top:.28rem;color:#143d6d;font-size:1.05rem;font-weight:950}
.dcc-loan-release-note{display:flex;gap:.5rem;align-items:flex-start;padding:.72rem .8rem;border:1px solid #d5e7f8;border-radius:14px;background:#f2f9ff;color:#587796;font-size:.67rem;line-height:1.48}.dcc-loan-release-note i{margin-top:.1rem;color:#0871d0}
.dcc-loan-release-member-stat .dcc-stat-icon{background:#e9f4ff;color:#116cc3}.dcc-member-loan-monitor{overflow:hidden;border-color:#d5e8fb;background:linear-gradient(145deg,#f4faff,#fff)}
.dcc-loan-release-member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.72rem;margin-top:.8rem}.dcc-loan-release-member-grid>div{padding:.82rem .78rem;border:1px solid #d8e9f9;border-radius:15px;background:rgba(255,255,255,.78)}.dcc-loan-release-member-grid span,.dcc-loan-release-member-grid strong,.dcc-loan-release-member-grid small{display:block}.dcc-loan-release-member-grid span{color:#6a839e;font-size:.62rem;font-weight:850}.dcc-loan-release-member-grid strong{margin:.24rem 0;color:#145b9e;font-size:.94rem;font-weight:950}.dcc-loan-release-member-grid small{color:#7c93ab;font-size:.61rem;line-height:1.4}
.dcc-loan-release-status{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .62rem;border-radius:999px;background:#edf4fa;color:#5d7894;font-size:.64rem;font-weight:900;white-space:nowrap}.dcc-loan-release-status.is-recorded{background:#e5f9ee;color:#06814c}
.dcc-loan-release-pgr-preview{padding:.85rem;border:1px solid #d8e9f9;border-radius:17px;background:linear-gradient(145deg,#f6fbff,#fff)}
@media(max-width:991.98px){.dcc-loan-release-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.dcc-loan-release-member-grid{grid-template-columns:1fr}.dcc-loan-release-panel .dcc-panel-copy{font-size:.68rem}.dcc-mini-stat{min-height:76px}.dcc-loan-release-note{font-size:.64rem}}


/* v27 Loan Release PGR: visual aliases keep the release setup consistent with the approved Time Deposit PGR dashboard pattern. */
.dcc-loan-release-pgr-hero{background:linear-gradient(135deg,#0d47a1 0%,#1565c0 56%,#1e88e5 100%);}
.dcc-loan-release-pgr-protection,.dcc-loan-release-pgr-schedule-card,.dcc-loan-release-pgr-policy-card,.dcc-loan-release-pgr-stat,.dcc-loan-release-pgr-table,.dcc-loan-release-pgr-mobile-card{position:relative;}
.dcc-loan-release-pgr-protection{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid rgba(25,118,210,.18);background:#f5faff;border-radius:18px;}
.dcc-loan-release-pgr-protection-icon,.dcc-loan-release-pgr-policy-icon{width:42px;height:42px;border-radius:14px;display:inline-grid;place-items:center;background:#e3f2fd;color:#0d47a1;flex:0 0 42px;}
.dcc-loan-release-pgr-protection strong{display:block;margin-bottom:3px}.dcc-loan-release-pgr-protection span{display:block;color:#53657a;line-height:1.5;}
.dcc-loan-release-pgr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.dcc-loan-release-pgr-summary>div{padding:12px;border-radius:14px;background:#f6f9fd}.dcc-loan-release-pgr-summary span,.dcc-loan-release-pgr-summary strong{display:block}.dcc-loan-release-pgr-summary span{font-size:.75rem;color:#62748a}.dcc-loan-release-pgr-summary strong{margin-top:4px;color:#17365d;font-size:1rem}.dcc-loan-release-pgr-summary .is-ready{color:#087443;}
.dcc-loan-release-pgr-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dcc-loan-release-pgr-note{display:flex;gap:8px;margin-top:15px;padding:12px 13px;border-radius:13px;background:#f8fafc;color:#5d7087;font-size:.82rem;line-height:1.5}.dcc-loan-release-pgr-note i{color:#1565c0;line-height:1.5}.dcc-loan-release-pgr-policy-card ul{padding-left:1.1rem;margin:16px 0}.dcc-loan-release-pgr-policy-card li{margin:.45rem 0;color:#5d7087}.dcc-loan-release-pgr-policy-footer{display:flex;gap:8px;border-top:1px solid #edf1f7;padding-top:14px;color:#5d7087;font-size:.82rem}.dcc-loan-release-pgr-policy-footer i{color:#1565c0}.dcc-loan-release-pgr-stat{min-height:132px;}
@media(max-width:575.98px){.dcc-loan-release-pgr-summary{grid-template-columns:1fr}.dcc-loan-release-pgr-rate-grid{grid-template-columns:1fr}.dcc-loan-release-pgr-protection{padding:14px}.dcc-loan-release-pgr-policy-card{padding:16px!important;}}


/* v27.1 – Member Loan Release Monitor ------------------------------------------------ */
.dcc-member-loan-monitor{position:relative;overflow:hidden;border-color:#cde5fa;background:linear-gradient(138deg,#f1f9ff 0%,#fff 52%,#f7fbff 100%)}
.dcc-member-loan-monitor>*:not(.dcc-loan-monitor-orbit){position:relative;z-index:1}.dcc-loan-monitor-orbit{position:absolute;right:-44px;top:-46px;display:grid;place-items:center;width:178px;height:178px;border:25px solid rgba(16,125,221,.08);border-radius:50%;color:#0877d4;font-size:2.7rem}
.dcc-loan-monitor-head{align-items:flex-start}.dcc-loan-monitor-head h3{margin:.16rem 0 0;color:#194d7e;font-weight:950}.dcc-loan-monitor-head p{max-width:720px;margin:.35rem 0 0;color:#5e7e9d;font-size:.74rem;line-height:1.52}.dcc-loan-monitor-head-actions{display:flex;justify-content:flex-end;align-items:center;gap:.46rem;flex-wrap:wrap}.dcc-loan-monitor-action{display:inline-flex;align-items:center;gap:.34rem;min-height:35px;padding:.42rem .62rem!important;font-size:.66rem!important;font-weight:850!important}
.dcc-loan-release-member-grid{position:relative;z-index:1}.dcc-loan-release-member-grid>div{min-height:112px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 18px rgba(18,91,158,.035)}.dcc-loan-release-member-grid span{display:flex;align-items:center;gap:.3rem}.dcc-loan-release-member-grid span i{color:#0b76d5;font-size:.75rem}.dcc-loan-release-member-grid strong{font-size:1.03rem;color:#124c84}
.dcc-loan-monitor-feature{display:grid;gap:.72rem;margin-top:1rem;padding:1rem;border:1px solid #cfe6f9;border-radius:19px;background:linear-gradient(135deg,#0c63b3,#0d8de0 60%,#18a4e3);box-shadow:0 14px 28px rgba(7,93,173,.13);color:#fff}.dcc-loan-monitor-feature-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.76rem;align-items:center}.dcc-loan-monitor-feature-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.25);font-size:1.2rem}.dcc-loan-monitor-feature-copy span,.dcc-loan-monitor-feature-copy strong,.dcc-loan-monitor-feature-copy small,.dcc-loan-monitor-feature-amount span,.dcc-loan-monitor-feature-amount strong,.dcc-loan-monitor-feature-amount small{display:block}.dcc-loan-monitor-feature-copy span,.dcc-loan-monitor-feature-amount span{font-size:.6rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.76)}.dcc-loan-monitor-feature-copy strong{margin:.17rem 0 .13rem;font-size:.91rem;font-weight:950;letter-spacing:.01em}.dcc-loan-monitor-feature-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.82);font-size:.66rem}.dcc-loan-monitor-feature-amount{text-align:right}.dcc-loan-monitor-feature-amount strong{margin:.16rem 0;color:#fff;font-size:1.18rem;font-weight:950}.dcc-loan-monitor-feature-amount small{color:rgba(255,255,255,.8);font-size:.64rem}
.dcc-loan-monitor-feature-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.54rem}.dcc-loan-monitor-feature-details>div{min-width:0;padding:.64rem;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.11)}.dcc-loan-monitor-feature-details span,.dcc-loan-monitor-feature-details strong,.dcc-loan-monitor-feature-details small{display:block}.dcc-loan-monitor-feature-details span{display:flex;align-items:center;gap:.28rem;color:rgba(255,255,255,.74);font-size:.57rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em}.dcc-loan-monitor-feature-details span i{color:#d7f4ff}.dcc-loan-monitor-feature-details strong{overflow:hidden;margin-top:.28rem;color:#fff;font-size:.68rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.dcc-loan-monitor-feature-details small{display:-webkit-box;overflow:hidden;margin-top:.14rem;color:rgba(255,255,255,.78);font-size:.58rem;line-height:1.32;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dcc-loan-monitor-feature-footer{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.dcc-loan-monitor-feature-footer>div{display:flex;gap:.4rem;flex-wrap:wrap}.dcc-loan-monitor-feature-footer .dcc-btn-soft{border-color:rgba(255,255,255,.26)!important;background:rgba(255,255,255,.14)!important;color:#fff!important}.dcc-loan-monitor-feature-footer .dcc-btn-soft:hover{background:rgba(255,255,255,.22)!important}.dcc-loan-monitor-feature-empty{display:flex;align-items:center;gap:.72rem;padding:.92rem;border:1px dashed #b7d7f1;border-radius:17px;background:#f6fbff;color:#62809e;font-size:.69rem;line-height:1.5}.dcc-loan-monitor-feature-empty .dcc-loan-monitor-feature-icon{background:#e6f4ff;border-color:#c9e5fb;color:#0a73cf}.dcc-loan-monitor-feature-empty strong{display:block;margin-bottom:.14rem;color:#2b557d;font-size:.75rem}.dcc-loan-monitor-feature-empty p{margin:0;max-width:600px}.dcc-loan-monitor-feature-empty .btn{margin-left:auto}
.dcc-loan-monitor-distribution,.dcc-loan-monitor-history{margin-top:1rem;padding:1rem;border:1px solid #d8e9f8;border-radius:18px;background:rgba(255,255,255,.78)}.dcc-loan-monitor-subhead{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-end;margin-bottom:.78rem}.dcc-loan-monitor-subhead .dcc-eyebrow{font-size:.56rem}.dcc-loan-monitor-subhead h4{margin:.1rem 0 0;color:#26537e;font-size:.84rem;font-weight:950}.dcc-loan-monitor-subhead small{color:#6e88a4;font-size:.63rem;text-align:right}.dcc-loan-destination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.58rem}.dcc-loan-destination-card{display:flex;align-items:center;gap:.58rem;min-width:0;padding:.7rem;border:1px solid #d9e9f7;border-radius:14px;background:#fff}.dcc-loan-destination-icon{display:grid;place-items:center;flex:0 0 auto;width:37px;height:37px;border-radius:12px;background:#e8f5ff;color:#0b74cf;font-size:.92rem}.dcc-loan-destination-icon.is-small{width:31px;height:31px;border-radius:10px;font-size:.73rem}.dcc-loan-destination-card div{min-width:0}.dcc-loan-destination-card span,.dcc-loan-destination-card strong,.dcc-loan-destination-card small{display:block}.dcc-loan-destination-card span{overflow:hidden;color:#527797;font-size:.65rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.dcc-loan-destination-card strong{margin:.14rem 0;color:#13568f;font-size:.84rem;font-weight:950}.dcc-loan-destination-card small{overflow:hidden;color:#7891aa;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.dcc-loan-destination-empty{display:flex;align-items:center;gap:.48rem;min-height:66px;padding:.75rem;border:1px dashed #c2ddec;border-radius:14px;background:#fbfdff;color:#7190aa;font-size:.66rem}.dcc-loan-destination-empty i{color:#0b77d4;font-size:1rem}
.dcc-loan-release-history-table-wrap{border:1px solid #e1edf8;border-radius:15px;background:#fff}.dcc-loan-release-history-table{min-width:930px}.dcc-loan-release-history-table thead th{padding:.66rem .65rem;border-bottom:1px solid #dbeaf7;background:#f5faff;color:#5a7897;font-size:.58rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.dcc-loan-release-history-table tbody td{padding:.72rem .65rem;border-color:#edf3f8;color:#4c6f91;font-size:.65rem;vertical-align:middle}.dcc-loan-release-history-table strong{display:block;color:#2b557c;font-size:.68rem;font-weight:900}.dcc-loan-release-history-table small{display:block;margin-top:.13rem;color:#7790aa;font-size:.58rem;line-height:1.38}.dcc-loan-table-destination{display:flex;align-items:center;gap:.44rem;min-width:145px}.dcc-loan-table-amount{color:#087343!important;font-size:.75rem!important}.dcc-loan-history-pgr{display:grid;gap:.18rem;min-width:122px}.dcc-loan-history-pgr strong{color:#0b6ebf!important;font-size:.67rem!important}.dcc-loan-history-pill{display:inline-flex;align-items:center;justify-content:center;gap:.26rem;width:max-content;max-width:100%;padding:.28rem .42rem;border-radius:999px;background:#edf2f7;color:#627c96;font-size:.57rem;font-weight:900;white-space:nowrap}.dcc-loan-history-pill.is-success{background:#e4f8ed;color:#08794a}.dcc-loan-history-pill.is-warning{background:#fff3d4;color:#9b650a}.dcc-loan-history-pill.is-muted{background:#edf2f7;color:#627c96}.dcc-loan-history-loading,.dcc-loan-history-empty{text-align:center!important;padding:1rem!important;color:#7590aa!important}.dcc-loan-history-empty i{margin-right:.35rem;color:#0c74d1}.dcc-loan-release-history-mobile{display:none}.dcc-loan-history-mobile-card{padding:.78rem;border:1px solid #d8e9f8;border-radius:15px;background:#fff}.dcc-loan-history-mobile-card+.dcc-loan-history-mobile-card{margin-top:.58rem}.dcc-loan-history-mobile-head{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.dcc-loan-history-mobile-head>div{display:flex;gap:.44rem;min-width:0}.dcc-loan-history-mobile-head strong{color:#25537f;font-size:.72rem;font-weight:950}.dcc-loan-history-mobile-head>strong{color:#087749;font-size:.83rem;white-space:nowrap}.dcc-loan-history-mobile-head small{display:block;overflow:hidden;margin-top:.12rem;color:#7890a9;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.dcc-loan-history-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.68rem}.dcc-loan-history-mobile-grid>div{padding:.55rem;border-radius:11px;background:#f6fbff}.dcc-loan-history-mobile-grid span,.dcc-loan-history-mobile-grid strong,.dcc-loan-history-mobile-grid small{display:block}.dcc-loan-history-mobile-grid span{color:#7891aa;font-size:.56rem;font-weight:850}.dcc-loan-history-mobile-grid strong{overflow:hidden;margin:.18rem 0;color:#345a7d;font-size:.64rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.dcc-loan-history-mobile-grid small{overflow:hidden;color:#7b93ab;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.dcc-loan-history-mobile-pgr{padding-top:.58rem}.dcc-loan-history-mobile-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.62rem;border-top:1px solid #e6eff7}.dcc-loan-history-mobile-footer a{display:inline-flex;align-items:center;gap:.25rem;color:#0a70c9;font-size:.61rem;font-weight:900;text-decoration:none}.dcc-loan-history-mobile-empty{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:110px;padding:.8rem;border:1px dashed #c5dfef;border-radius:14px;color:#7390aa;font-size:.67rem;text-align:center}.dcc-loan-history-mobile-empty i{color:#0a73cf;font-size:1rem}.dcc-loan-release-status.is-suspended{background:#fff2d5;color:#9b650a}.dcc-loan-monitor-policy{margin-bottom:0}
@media(max-width:991.98px){.dcc-loan-monitor-feature-details{grid-template-columns:repeat(2,minmax(0,1fr))}.dcc-loan-release-history-table-wrap{display:none}.dcc-loan-release-history-mobile{display:block}}
@media(max-width:767.98px){.dcc-loan-monitor-head-actions{justify-content:flex-start}.dcc-loan-monitor-head{display:block}.dcc-loan-monitor-head-actions{margin-top:.7rem}.dcc-loan-monitor-feature-main{grid-template-columns:auto minmax(0,1fr)}.dcc-loan-monitor-feature-amount{grid-column:2;text-align:left}.dcc-loan-monitor-feature-copy small{white-space:normal}.dcc-loan-monitor-feature-footer{align-items:flex-start;flex-direction:column}.dcc-loan-monitor-feature-footer>div{width:100%}.dcc-loan-monitor-feature-footer .btn{flex:1}.dcc-loan-monitor-subhead{align-items:flex-start;flex-direction:column}.dcc-loan-monitor-subhead small{text-align:left}.dcc-loan-monitor-orbit{right:-70px;top:-56px}}
@media(max-width:575.98px){.dcc-loan-release-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dcc-loan-release-member-grid>div{min-height:100px;padding:.7rem}.dcc-loan-release-member-grid strong{font-size:.88rem}.dcc-loan-release-member-grid small{font-size:.57rem}.dcc-loan-monitor-action span{display:none}.dcc-loan-monitor-action{min-width:35px;justify-content:center;padding:.42rem!important}.dcc-loan-monitor-feature{padding:.8rem}.dcc-loan-monitor-feature-details{grid-template-columns:1fr}.dcc-loan-monitor-feature-details>div{padding:.59rem}.dcc-loan-monitor-feature-amount strong{font-size:1.04rem}.dcc-loan-monitor-distribution,.dcc-loan-monitor-history{padding:.78rem}.dcc-loan-destination-grid{grid-template-columns:1fr}.dcc-loan-history-mobile-grid{grid-template-columns:1fr}.dcc-loan-history-pill{font-size:.54rem}.dcc-loan-monitor-feature-empty{align-items:flex-start;flex-wrap:wrap}.dcc-loan-monitor-feature-empty .btn{margin-left:0}.dcc-loan-monitor-feature-empty>div{flex:1 1 190px}}


/* -------------------------------------------------------------------------
   v28 Annual Interest Rate Administration + Member Account Rate Labels
   ------------------------------------------------------------------------- */
.dcc-product-interest{display:block;min-height:15px;margin-top:.17rem;color:#6181a0;font-size:.58rem;font-weight:800;line-height:1.35}.dcc-product-interest i{margin-right:.15rem;color:#0a73cf}.dcc-product-card--humanitarian .dcc-product-interest{color:#a26b6b}.dcc-product-card--humanitarian .dcc-product-interest i{color:#bd4e58}
.dcc-interest-rate-hero{background:linear-gradient(130deg,#063f8d 0%,#0874d5 60%,#31a7ee 100%)}.dcc-interest-rate-protection{display:flex;align-items:flex-start;gap:.78rem;border-color:#c9e6fb;background:linear-gradient(135deg,#f2fbff,#fff)}.dcc-interest-rate-protection-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:#dff2ff;color:#0874cd;font-size:1.15rem}.dcc-interest-rate-protection strong,.dcc-interest-rate-protection span{display:block}.dcc-interest-rate-protection strong{margin:.05rem 0 .23rem;color:#23577e;font-size:.79rem;font-weight:950}.dcc-interest-rate-protection span{max-width:920px;color:#6585a2;font-size:.67rem;line-height:1.55}
.dcc-interest-rate-stat .dcc-stat-icon{background:#e7f5ff;color:#0877cf}.dcc-interest-rate-schedule-card{overflow:hidden}.dcc-interest-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.82rem}.dcc-interest-rate-product-card{position:relative;overflow:hidden;padding:.95rem;border:1px solid #d8e9f8;border-radius:19px;background:linear-gradient(145deg,#fff,#f6fbff)}.dcc-interest-rate-product-card:before{position:absolute;top:0;left:0;width:4px;height:100%;background:#0a74ce;content:""}.dcc-interest-rate-product-card.is-special:before{background:#8258cf}.dcc-interest-rate-product-card.is-time:before{background:#0d8a73}.dcc-interest-rate-product-card.is-cbu:before{background:#c27a0b}.dcc-interest-rate-product-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center}.dcc-interest-rate-product-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#e6f4ff;color:#0975cb;font-size:1rem}.is-special .dcc-interest-rate-product-icon{background:#f0eaff;color:#7a50c6}.is-time .dcc-interest-rate-product-icon{background:#e2f7f1;color:#07826d}.is-cbu .dcc-interest-rate-product-icon{background:#fff4da;color:#a46308}.dcc-interest-rate-product-head>div{min-width:0}.dcc-interest-rate-product-head>div span,.dcc-interest-rate-product-head>div small{display:block}.dcc-interest-rate-product-head>div span{overflow:hidden;color:#24577e;font-size:.76rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.dcc-interest-rate-product-head>div small{overflow:hidden;margin-top:.12rem;color:#7a94ac;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.dcc-interest-rate-state{display:inline-flex;align-items:center;gap:.24rem;width:max-content;padding:.28rem .42rem;border-radius:999px;background:#eef3f8;color:#69829c;font-size:.53rem;font-weight:950;white-space:nowrap}.dcc-interest-rate-state.is-published{background:#e5f8ec;color:#08794b}.dcc-interest-rate-input-wrap{display:block;margin-top:.82rem}.dcc-interest-rate-input-wrap>span{display:block;margin-bottom:.35rem;color:#5b7a97;font-size:.59rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.dcc-interest-rate-input-wrap>div{display:flex;align-items:center;gap:.45rem}.dcc-interest-rate-input{min-width:0;height:42px;border-color:#c9deef;border-radius:12px;color:#1f527b;font-family:'DM Mono',monospace;font-size:.88rem;font-weight:900}.dcc-interest-rate-input:focus{border-color:#0b76d0;box-shadow:0 0 0 .2rem rgba(10,117,207,.13)}.dcc-interest-rate-input-wrap em{flex:0 0 auto;color:#6e89a4;font-size:.67rem;font-style:normal;font-weight:900}.dcc-interest-rate-toggle{display:flex;align-items:center;gap:.48rem;margin-top:.72rem;cursor:pointer}.dcc-interest-rate-toggle input{position:absolute;width:1px;height:1px;opacity:0}.dcc-interest-rate-toggle>span{position:relative;display:block;flex:0 0 auto;width:36px;height:21px;border-radius:999px;background:#b4c6d5;transition:.18s ease}.dcc-interest-rate-toggle>span:after{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);content:"";transition:.18s ease}.dcc-interest-rate-toggle input:checked+span{background:#0a78d1}.dcc-interest-rate-toggle input:checked+span:after{transform:translateX(15px)}.dcc-interest-rate-toggle input:focus-visible+span{outline:3px solid rgba(10,120,209,.25);outline-offset:2px}.dcc-interest-rate-toggle strong{color:#376284;font-size:.64rem;font-weight:900}.dcc-interest-rate-product-card>p{display:flex;gap:.33rem;margin:.67rem 0 0;color:#7691aa;font-size:.57rem;line-height:1.45}.dcc-interest-rate-product-card>p i{margin-top:.1rem;color:#0a77d1}.dcc-interest-rate-note{display:flex;align-items:flex-start;gap:.45rem;margin-top:.9rem;padding:.72rem .82rem;border:1px solid #d7eaf9;border-radius:14px;background:#f6fbff;color:#6686a3;font-size:.64rem;line-height:1.5}.dcc-interest-rate-note i{margin-top:.1rem;color:#0a75cb}.dcc-interest-rate-note strong{color:#315d83}.dcc-interest-rate-history-table{min-width:780px}.dcc-interest-rate-history-table th{font-size:.57rem!important}.dcc-interest-rate-history-table td{font-size:.65rem!important}.dcc-interest-rate-history-table td strong{display:block;color:#2d567d;font-size:.67rem;font-weight:900}.dcc-interest-rate-history-table td small{display:block;margin-top:.15rem;color:#7890a7;font-size:.56rem}.dcc-interest-rate-history-rate{display:block;color:#6b849b;font-family:'DM Mono',monospace;font-size:.68rem;font-weight:900}.dcc-interest-rate-history-rate.is-new{color:#08774b}.dcc-interest-rate-history-mobile-card{display:none;padding:.78rem;border:1px solid #d8e9f8;border-radius:15px;background:#fff}.dcc-interest-rate-history-mobile-card+.dcc-interest-rate-history-mobile-card{margin-top:.58rem}.dcc-interest-rate-history-mobile-card>div{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.dcc-interest-rate-history-mobile-card>div span{color:#355d82;font-size:.66rem;font-weight:900}.dcc-interest-rate-history-mobile-card>div strong{color:#08754a;font-family:'DM Mono',monospace;font-size:.8rem;font-weight:950}.dcc-interest-rate-history-mobile-card p{display:flex;gap:.32rem;align-items:center;margin:.58rem 0 .35rem;color:#758fa8;font-size:.59rem}.dcc-interest-rate-history-mobile-card p strong{color:#517391}.dcc-interest-rate-history-mobile-card p i{color:#0a75cf}.dcc-interest-rate-history-mobile-card>small{color:#8199ae;font-size:.56rem}
@media(max-width:767.98px){.dcc-interest-rate-grid{grid-template-columns:1fr}.dcc-interest-rate-history-table{display:none}.dcc-interest-rate-history-mobile-card{display:block}.dcc-interest-rate-protection{padding:.82rem}.dcc-interest-rate-protection-icon{width:38px;height:38px;border-radius:12px;font-size:1rem}}
@media(max-width:420px){.dcc-interest-rate-product-head{grid-template-columns:auto minmax(0,1fr)}.dcc-interest-rate-product-head .dcc-interest-rate-state{grid-column:2;justify-self:start}.dcc-interest-rate-input-wrap>div{align-items:stretch;flex-direction:column;gap:.22rem}.dcc-interest-rate-input-wrap em{font-size:.6rem}}

/* v29.4 — force fully clipped profile images in every Branch search-result container. */
.dcc-member-search-results [data-dcc-avatar],
.dcc-member-search-results .dcc-cashier-member-avatar,
.dcc-member-search-results .dcc-member-mini-avatar,
.dcc-member-search-results .dcc-selected-member-avatar,
.dcc-cashier-search-card [data-dcc-avatar] {
    position: relative !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    isolation: isolate !important;
}
.dcc-member-search-results [data-dcc-avatar] > img,
.dcc-member-search-results .dcc-cashier-member-avatar > img,
.dcc-member-search-results .dcc-member-mini-avatar > img,
.dcc-member-search-results .dcc-selected-member-avatar > img,
.dcc-cashier-search-card [data-dcc-avatar] > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: inherit !important;
}

/* v31.3.1: Network Tools → Build with clarity → Level 1 snapshot avatar lock.
   The text span grows while the photo remains a fixed, cropped circle. */
.dcc-team-preview-member > .dcc-team-preview-avatar {
    width: 32px !important;
    min-width: 32px;
    height: 32px !important;
    min-height: 32px;
    flex: 0 0 32px !important;
    aspect-ratio: 1 / 1;
    align-self: center;
    overflow: hidden !important;
    border-radius: 50% !important;
    line-height: 1;
}
.dcc-team-preview-member > .dcc-team-preview-avatar > img {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    display: block;
    object-fit: cover !important;
    object-position: center center;
    border-radius: inherit;
}
.dcc-team-preview-member > span:not(.dcc-team-preview-avatar) {
    min-width: 0;
    flex: 1 1 auto;
}
