
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f7fb;color:#152238}aside{position:fixed;left:0;top:0;bottom:0;width:220px;background:#061025;color:#fff;padding:22px 14px}.brand{font-weight:800;font-size:18px;display:flex;gap:9px;align-items:flex-start;margin-bottom:35px}.brand small{display:block;font-size:9px;color:#8fa0bc;letter-spacing:1px;margin-top:3px}nav a{display:block;color:#d9e2f0;text-decoration:none;padding:13px 12px;border-radius:8px;margin:4px 0}nav a:hover{background:#1b2a45}main{margin-left:220px;padding:28px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}h1{font-size:34px;margin:0 0 5px}h2{margin:0 0 15px}header p{color:#71819a;margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.cards div{background:#fff;border:1px solid #e1e7f0;border-radius:12px;padding:17px;color:#71819a;font-size:12px;text-transform:uppercase}.cards b{display:block;font-size:27px;color:#152238;margin-top:8px}section{background:#fff;border:1px solid #e1e7f0;border-radius:12px;padding:18px;margin-bottom:20px}.sectionhead{display:flex;justify-content:space-between;align-items:center}table{width:100%;border-collapse:collapse}th{text-align:left;color:#6e7d95;font-size:11px;text-transform:uppercase;padding:11px;border-bottom:1px solid #e7ebf2}td{padding:13px 11px;border-bottom:1px solid #eef1f5;font-size:14px}.badge{display:inline-block;padding:5px 9px;border-radius:15px;border:1px solid #dbe2ec;font-size:11px}.active{background:#e9faf1;color:#087a43}.expiring-soon{background:#fff7df;color:#996b00}.urgent{background:#fff0e6;color:#d55b00}.expired{background:#fff0f0;color:#d33}.primary,.secondary,button{display:inline-block;border:0;border-radius:7px;padding:10px 15px;text-decoration:none;cursor:pointer;font-weight:700}.primary{background:#2864e8;color:#fff}.secondary{background:#eef3fb;color:#31527d}.small{padding:7px 10px;font-size:12px}.toolbar{background:#fff;border:1px solid #e1e7f0;border-radius:12px;padding:15px;display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.toolbar form{display:flex;gap:8px;flex:1}.toolbar input,.toolbar select,.toolbar button{border:1px solid #d8e0eb;background:#fff;padding:10px;border-radius:7px}.toolbar input{flex:1}.form .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form label{font-weight:700;font-size:13px;color:#45566f}.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;border:1px solid #d8e0eb;border-radius:7px;padding:10px;background:#fff}.form textarea{min-height:80px}.hint{color:#6f7f96;font-size:13px}.flash{padding:12px 15px;border-radius:8px;margin-bottom:15px;background:#e8f6ed}.flash.error{background:#fff0f0}.profile{display:flex;align-items:center;gap:18px}.avatar{width:90px;height:90px;border-radius:50%;background:#edf2f8;display:flex;align-items:center;justify-content:center;font-size:26px;color:#60728d;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.days{margin-left:auto;font-size:32px;font-weight:800;text-align:right}.days small{display:block;font-size:10px;color:#71819a}.info{display:grid;grid-template-columns:180px 1fr;gap:10px;padding-top:5px}.info b{color:#697991;font-size:12px;text-transform:uppercase}.info span{font-size:14px}@media(max-width:900px){aside{width:72px}.brand span,nav a{font-size:0}.brand{justify-content:center}nav a:before{content:"•";font-size:20px}main{margin-left:72px;padding:16px}.cards{grid-template-columns:repeat(2,1fr)}.form .grid{grid-template-columns:1fr}table{display:block;overflow:auto;white-space:nowrap}.toolbar{flex-direction:column}.profile{flex-wrap:wrap}.days{margin-left:0}}

.on-field-verification{background:#eef5ff;color:#285ca8}.pending{background:#fff7df;color:#996b00}.approved{background:#e9faf1;color:#087a43}.rejected{background:#fff0f0;color:#d33}

.renewal-modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:9999;padding:24px;overflow:auto}
.renewal-modal.show{display:flex;align-items:center;justify-content:center}
.renewal-modal-card{position:relative;width:min(780px,96vw);background:#fff;border-radius:16px;box-shadow:0 28px 80px rgba(15,23,42,.28);padding:28px}
.renewal-modal-card h2{font-size:25px;margin:0 0 18px;color:#111827}
.renewal-close{position:absolute;right:18px;top:15px;background:transparent;color:#64748b;font-size:30px;padding:0 8px;font-weight:400}
.renew-member-box{padding:16px 18px;border:1px solid #e5eaf2;border-radius:10px;background:#fbfcfe;margin-bottom:20px}
.renew-member-box b{display:block;font-size:18px;margin-bottom:5px}.renew-meta{font-size:14px;color:#64748b}
.renew-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}
.renew-grid label,.renew-remarks{font-size:13px;font-weight:700;color:#4b5563}
.renew-grid input,.renew-grid select,.renew-remarks textarea{display:block;width:100%;margin-top:7px;border:1px solid #dbe2ec;border-radius:9px;padding:12px;background:#fff;color:#172033}
.renew-grid input[readonly]{background:#f8fafc}
.renew-grid small{display:block;margin-top:6px;color:#94a3b8;font-size:11px;font-weight:400}
.renew-remarks{display:block;margin-top:18px}.renew-remarks textarea{min-height:100px;resize:vertical}
.renew-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.renew-popup-btn{white-space:nowrap}
@media(max-width:650px){.renewal-modal{padding:10px}.renewal-modal-card{padding:20px}.renew-grid{grid-template-columns:1fr}.renewal-modal-card h2{font-size:21px}}

/* v8 Innovative panel refresh */
:root{--line:#e7ecf4;--ink:#13213a;--shadow:0 12px 34px rgba(28,48,84,.08)}
body{background:linear-gradient(135deg,#f7f9fd 0%,#f2f6fc 100%);color:var(--ink)}
aside{background:linear-gradient(180deg,#071229 0%,#0b1833 100%);box-shadow:10px 0 35px rgba(8,20,45,.08)}
.brand{padding:8px 7px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
nav a{transition:.2s ease;border:1px solid transparent}nav a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.07);transform:translateX(3px)}
main{padding:30px 34px}header{background:rgba(255,255,255,.78);backdrop-filter:blur(10px);border:1px solid rgba(225,232,242,.9);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow)}
.cards{gap:16px}.cards div{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;padding:20px 19px;box-shadow:0 8px 24px rgba(30,55,90,.05);transition:.2s ease;background:linear-gradient(145deg,#fff,#fbfcff)}
.cards div:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(30,55,90,.10)}.cards div:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-24px;top:-25px;background:rgba(40,100,232,.07)}.cards b{font-size:31px;letter-spacing:-1px}
section{border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line);padding:20px}th{background:#f8fafd;padding:13px 12px}td{padding:14px 12px}tr:hover td{background:#fbfdff}
.primary{background:linear-gradient(135deg,#2c6bed,#2157d8);box-shadow:0 6px 14px rgba(40,100,232,.20);transition:.18s}.primary:hover{transform:translateY(-1px);box-shadow:0 9px 18px rgba(40,100,232,.28)}
.secondary{border:1px solid #dfe6f1;background:#fff}.toolbar{border-radius:14px;box-shadow:0 7px 20px rgba(30,55,90,.04)}.badge{font-weight:700}
.renewal-modal{background:rgba(7,16,37,.68);backdrop-filter:blur(5px)}.renewal-modal-card{width:min(820px,96vw);border:1px solid rgba(255,255,255,.85);border-radius:22px;padding:0;overflow:hidden;box-shadow:0 35px 100px rgba(5,14,34,.38)}
.renewal-modal-card>h2{margin:0;padding:24px 28px 8px;background:linear-gradient(135deg,#f8faff,#fff);font-size:26px}.renewal-close{z-index:3;right:22px;top:17px;width:38px;height:38px;border-radius:50%;background:#f1f4f9}.renewal-close:hover{background:#e8edf5}
.renew-member-box{margin:10px 28px 0;padding:17px 19px;border:1px solid #dfe7f3;background:linear-gradient(135deg,#f7faff,#fdfefe);border-radius:14px;position:relative}.renew-member-box:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:4px;border-radius:4px;background:#2864e8}.renew-member-box b{font-size:19px;padding-left:4px}.renew-meta{padding-left:4px}
#renewPopupForm{padding:22px 28px 28px}.renew-grid{gap:18px 20px}.renew-grid label,.renew-remarks{color:#44536b;font-size:12px;text-transform:uppercase;letter-spacing:.35px}.renew-grid input,.renew-grid select,.renew-remarks textarea{border:1px solid #dce4ef;border-radius:11px;padding:13px 12px;font-size:14px;text-transform:none;letter-spacing:0;transition:.18s}.renew-grid input:focus,.renew-grid select:focus,.renew-remarks textarea:focus{outline:none;border-color:#7ca2f5;box-shadow:0 0 0 3px rgba(40,100,232,.10)}.renew-grid input[readonly]{background:#f5f7fb;color:#60708a}
.renew-actions{border-top:1px solid #edf1f6;margin:22px -28px -28px;padding:17px 28px;background:#fafbfd}.renew-actions .primary,.renew-actions .secondary{min-width:125px}
.dashboard-intro{display:flex;justify-content:space-between;align-items:center;margin:3px 0 14px}.dashboard-intro h2{margin:0 0 4px;font-size:20px}.dashboard-intro p{margin:0;color:#7a8aa2;font-size:13px}
@media(max-width:650px){main{padding:14px}.cards{grid-template-columns:1fr 1fr}.renewal-modal-card{border-radius:17px}.renewal-modal-card>h2{padding:20px 20px 7px}.renew-member-box{margin:9px 20px 0}#renewPopupForm{padding:18px 20px 20px}.renew-actions{margin:20px -20px -20px;padding:15px 20px}}

/* v9 requested dashboard edits */
.header-actions{display:flex;gap:8px;align-items:center}
.account-box{position:absolute;bottom:18px;left:16px;right:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;color:#fff}
.account-box b{display:block;font-size:10px;color:#80a5ff}.account-box small{display:block;color:#8fa0bc;overflow:hidden;text-overflow:ellipsis;margin:3px 0 7px}.account-box a{color:#d9e2f0;font-size:11px}
.dashboard-cards{grid-template-columns:repeat(4,1fr)}
.stat-card{min-height:112px}.stat-logo{position:absolute;right:17px;top:18px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:#2864e8;font-size:18px}.stat-logo.green{background:#eaf9f1;color:#16804a}.stat-logo.red{background:#fff0f0;color:#dc2626}.stat-logo.amber{background:#fff6e6;color:#d97706}.stat-logo.purple{background:#f4efff;color:#7c3aed}.stat-logo.blue{background:#edf5ff;color:#2563eb}
.entry-switch{display:inline-flex;background:#eaf0f8;border-radius:12px;padding:4px;margin-bottom:15px}.entry-tab{background:transparent;color:#50617a}.entry-tab.active{background:#fff;color:#1d4ed8;box-shadow:0 4px 12px rgba(30,55,90,.10)}

.renew-search{margin-bottom:12px}.renew-search input{width:100%;border:1px solid #d8e0eb;border-radius:9px;padding:12px}.renew-entry-list{max-height:520px;overflow:auto;border:1px solid #e4eaf3;border-radius:12px}.renew-entry-item{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid #edf1f6}.renew-entry-item small{display:block;color:#71819a;margin-top:3px}
.scheme-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.scheme-form{display:grid;grid-template-columns:1.2fr 1.5fr .7fr auto;gap:8px;margin-bottom:15px}.scheme-form input,.scheme-form select{border:1px solid #d8e0eb;border-radius:8px;padding:10px}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#17346e,#061025 60%);padding:20px}.login-card{width:min(430px,95vw);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.login-logo{width:58px;height:58px;border-radius:16px;background:#eaf1ff;display:grid;place-items:center;font-size:28px;margin-bottom:14px}.login-card h1{margin:0;font-size:27px}.login-card>p{color:#71819a;margin:6px 0 24px}.login-card label{display:block;font-weight:700;font-size:12px;color:#50617a;margin:13px 0}.login-card input{display:block;width:100%;margin-top:6px;border:1px solid #d8e0eb;border-radius:9px;padding:12px}.login-btn{width:100%;margin-top:8px}.login-note{text-align:center;color:#94a3b8;font-size:11px;margin-top:15px}
@media(max-width:1100px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}.scheme-grid{grid-template-columns:1fr}.scheme-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dashboard-cards{grid-template-columns:1fr 1fr}.header-actions .secondary{display:none}.scheme-form{grid-template-columns:1fr}.entry-switch{display:flex}.entry-tab{flex:1}}

.collection-panel{margin:20px 0;padding:18px;border:1px solid #dfe7f2;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#ffffff)}
.collection-panel h3{margin:0 0 8px}
.charge-pill{display:inline-block;background:#edf5ff;color:#1d4ed8;border:1px solid #cfe0ff;border-radius:999px;padding:7px 12px;font-size:12px;margin:0 0 15px}
.collection-tabs{display:inline-flex;gap:5px;background:#eaf0f8;padding:5px;border-radius:12px;margin-bottom:16px}
.collection-tab{background:transparent;color:#53657f;border-radius:9px}
.collection-tab.active{background:#fff;color:#1d4ed8;box-shadow:0 5px 14px rgba(30,55,90,.10)}

.secondary.small{padding:7px 10px}

.payment-edit-card{width:min(720px,96vw)}
.payment-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 28px 0}
.payment-summary-grid>div{border:1px solid #e0e7f1;background:#f8faff;border-radius:12px;padding:13px}
.payment-summary-grid small{display:block;color:#74849c;font-size:10px;font-weight:700;margin-bottom:5px}
.payment-summary-grid b{font-size:19px}
@media(max-width:650px){.payment-summary-grid{grid-template-columns:1fr;padding:15px 20px 0}}

.payment-popup-status{margin:12px 28px 0;padding:12px 14px;border:1px solid #fecaca;background:#fff1f2;border-radius:10px;display:flex;justify-content:space-between;align-items:center}
.payment-popup-status span{font-size:11px;font-weight:700;color:#7f1d1d;text-transform:uppercase}
.payment-popup-status b{font-size:13px;color:#b91c1c}

.dashboard-cards .stat-card:nth-child(1){background:linear-gradient(135deg,#eef5ff,#dceaff)}
.dashboard-cards .stat-card:nth-child(2){background:linear-gradient(135deg,#f6f0ff,#e9ddff)}
.dashboard-cards .stat-card:nth-child(3){background:linear-gradient(135deg,#eafaf2,#d8f6e7)}
.dashboard-cards .stat-card:nth-child(4){background:linear-gradient(135deg,#fff0f1,#ffe0e3)}
.dashboard-cards .stat-card:nth-child(5){background:linear-gradient(135deg,#fff7e8,#ffedc7)}
.dashboard-cards .stat-card:nth-child(6){background:linear-gradient(135deg,#eaf8ff,#d8f0ff)}
.dashboard-cards .stat-card:nth-child(7){background:linear-gradient(135deg,#e9fff7,#d3f8e9)}
.month-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.month-card{padding:14px;border-radius:12px;background:linear-gradient(145deg,#f7faff,#fff);border:1px solid #dfe7f2;text-align:center}.month-card span{display:block;font-size:11px;color:#657791;font-weight:700}.month-card b{display:block;font-size:25px;margin:7px 0;color:#1d4ed8}.month-card small{color:#8b99ad}
.scheme-apply-card{background:linear-gradient(135deg,#f8fbff,#fffaf4)}
.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.report-header h2{margin:0;font-size:24px}.report-header p{margin:4px 0;color:#71819a}.blue-card{background:#eaf3ff!important}.purple-card{background:#f3edff!important}.teal-card{background:#e8fbf7!important}.orange-card{background:#fff4e6!important}
.bar-chart{height:230px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid #dfe6f0;padding:0 8px 28px}.bar-group{flex:1;text-align:center;min-width:42px}.bars{height:185px;display:flex;justify-content:center;align-items:flex-end;gap:4px}.bar{width:14px;border-radius:5px 5px 0 0;min-height:2px}.registration-bar{background:#2563eb}.renewal-bar{background:#16a34a}.bar-group small{font-size:9px;color:#71819a}.legend{text-align:center;margin-top:10px;font-size:11px}.legend i{display:inline-block;width:10px;height:10px;margin-right:4px}.legend-blue{background:#2563eb}.legend-green{background:#16a34a}
.income-chart{height:240px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid #dfe6f0;padding:0 10px 28px}.income-col{flex:1;text-align:center}.income-bar{width:65%;max-width:38px;margin:auto;background:linear-gradient(#f59e0b,#ea580c);border-radius:6px 6px 0 0;min-height:2px}.income-value{font-size:9px;color:#7a8799}.income-col small{font-size:9px;color:#71819a}.report-two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
@media(max-width:900px){.month-grid{grid-template-columns:repeat(2,1fr)}.report-two-col{grid-template-columns:1fr}}

/* v21 layout refinements */
th.nature-col,td.nature-col{width:110px;max-width:110px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.mini-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.mini-chart-card{padding:15px!important;min-height:235px}
.mini-chart-card h3{margin:0 0 12px;font-size:14px;color:#243550}
.mini-bar-chart{height:145px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #e2e8f0;padding:0 2px 22px}
.mini-bar-group{flex:1;text-align:center;min-width:26px}.mini-bars{height:108px;display:flex;align-items:flex-end;justify-content:center;gap:2px}
.mini-bar{width:7px;border-radius:3px 3px 0 0;min-height:1px}.reg-bar{background:#2563eb}.ren-bar{background:#16a34a}
.mini-bar-group small,.mini-income-col small{font-size:7px;color:#71819a;white-space:nowrap}
.mini-legend{text-align:center;margin-top:7px;font-size:9px}.mini-legend span{margin:0 6px}.mini-legend i{display:inline-block;width:8px;height:8px;margin-right:3px}.reg-key{background:#2563eb}.ren-key{background:#16a34a}
.mini-income-chart{height:145px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #e2e8f0;padding:0 2px 22px}
.mini-income-col{flex:1;text-align:center;min-width:26px}.mini-income-bar{width:13px;margin:auto;background:linear-gradient(#f59e0b,#ea580c);border-radius:4px 4px 0 0;min-height:1px}
.mini-income-value{font-size:7px;color:#7b8798;margin-bottom:2px;white-space:nowrap}
.compact-report-row section{padding:15px!important}.compact-report-row .month-grid{grid-template-columns:repeat(5,1fr);gap:7px}.compact-report-row .month-card{padding:10px 6px}.compact-report-row .month-card b{font-size:19px;margin:4px 0}
@media(max-width:900px){.mini-chart-grid{grid-template-columns:1fr}th.nature-col,td.nature-col{width:90px;max-width:90px}}

.red-card{background:linear-gradient(135deg,#fff0f0,#ffdede)!important}

.customer-import-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
.import-card{max-width:760px}
.import-help{padding:12px 14px;background:#f7faff;border:1px solid #dce6f4;border-radius:10px;margin:8px 0 16px}
.import-help p{margin:5px 0 0;color:#657791;font-size:12px;line-height:1.5}

.customer-exit-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}

.customer-page-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}

/* v31 Customers reference layout */
.customers-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.customers-heading-row h1{margin:0;font-size:36px;line-height:1;color:#101828}
.customers-heading-row .hint{margin:7px 0 0}
.customers-top-actions{display:flex;gap:10px;align-items:center}
.customer-filter-card{background:#fff;border:1px solid #dce4ef;border-radius:14px;padding:16px;margin-bottom:24px}
.customer-filter-grid{display:grid;grid-template-columns:minmax(300px,2fr) minmax(180px,1fr) minmax(160px,.8fr) 90px auto;gap:10px;align-items:center}
.customer-filter-grid input,.customer-filter-grid select{width:100%;height:42px;border:1px solid #d7e0eb;border-radius:7px;padding:0 12px;background:#fff;color:#344054}
.customer-list-card{padding:0!important;overflow:hidden;border-radius:14px}
.customer-table-wrap{overflow-x:auto}
.customer-reference-table{width:100%;border-collapse:collapse}
.customer-reference-table th{padding:14px 12px;text-align:left;font-size:11px;letter-spacing:.03em;color:#667892;background:#fbfcfe;border-bottom:1px solid #dce4ef}
.customer-reference-table td{padding:12px;border-bottom:1px solid #e8edf4;vertical-align:middle;color:#3f5068}
.customer-reference-table tbody tr:hover{background:#fafcff}
.customer-name-cell{display:flex;align-items:center;gap:12px;min-width:270px;color:#202b3c}
.customer-avatar{display:inline-flex;width:36px;height:36px;min-width:36px;align-items:center;justify-content:center;border-radius:50%;background:#f1f5f9;border:1px solid #dce4ef;color:#6a7c93;font-size:11px;font-weight:700}
.kit-pill{display:inline-flex;padding:5px 10px;border-radius:999px;border:1px solid #dce4ef;background:#f8fafc;color:#667892;font-size:11px}
.customer-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.icon-action{border:0;background:transparent;color:#60758f;text-decoration:none;font-size:19px;line-height:1;cursor:pointer;padding:4px}
.icon-action:hover{color:#2563eb}
.action-button{font-family:inherit}
.customers-bottom-actions{display:flex;justify-content:flex-end;margin-top:12px}
.empty-row{text-align:center!important;padding:30px!important;color:#667085!important}
@media(max-width:900px){
  .customers-heading-row{flex-direction:column}
  .customer-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .customer-filter-grid{grid-template-columns:1fr}
  .customers-top-actions{width:100%;flex-wrap:wrap}
}

.kit-status-form{margin:0}
.kit-select{min-width:72px;border:1px solid #dce4ef;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;cursor:pointer}
.kit-no{background:#f8fafc;color:#667892}
.kit-yes{background:#ecfdf3;color:#027a48;border-color:#abefc6}

.danger{display:inline-block;border:0;border-radius:7px;padding:10px 15px;text-decoration:none;cursor:pointer;font-weight:700;background:#fff1f2;color:#b42318;border:1px solid #fecaca}
.danger:hover{background:#ffe4e6}
.inline-delete-form{display:inline;margin:0}

.year-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 22px}
.year-dashboard{border:1px solid #e4eaf2;border-radius:18px;padding:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.year-dashboard.current-year{border-top:5px solid #2563eb}
.year-dashboard.previous-year{border-top:5px solid #64748b}
.year-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid #edf1f6}
.year-dashboard-head small,.year-stat small,.year-income small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;color:#718096}
.year-dashboard-head h2{font-size:34px;margin:4px 0 0}
.year-income{text-align:right}
.year-income b{display:block;font-size:26px;margin-top:5px}
.year-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.year-stat{background:#f8fafc;border:1px solid #edf1f6;border-radius:13px;padding:14px}
.year-stat b{display:block;font-size:27px;margin-top:5px}
.year-money-grid{display:grid;gap:8px}
.year-money-grid>div{display:flex;justify-content:space-between;gap:15px;background:#fbfcfe;border-radius:10px;padding:10px 12px}
.year-money-grid span{color:#64748b;font-size:13px}
.year-money-grid b{font-size:14px}
@media(max-width:1000px){.year-dashboard-grid{grid-template-columns:1fr}}

/* v42 dashboard visual refresh */
body{background:#edf3fb}
main{background:radial-gradient(circle at 8% 7%,rgba(59,130,246,.13),transparent 25%),radial-gradient(circle at 92% 10%,rgba(124,58,237,.10),transparent 24%),linear-gradient(145deg,#f6f9ff 0%,#edf4fb 52%,#f9fbff 100%);min-height:100vh}
.dashboard-intro{position:relative;overflow:hidden;padding:25px 27px;border-radius:20px;background:linear-gradient(120deg,rgba(255,255,255,.97),rgba(237,246,255,.91));border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 44px rgba(30,64,175,.10)}
.dashboard-intro:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;right:-70px;top:-115px;background:linear-gradient(135deg,rgba(37,99,235,.22),rgba(124,58,237,.11))}
.dashboard-intro h2{font-size:29px;color:#14233b;margin:0 0 5px}.dashboard-intro p{color:#677790;margin:0}
.dashboard-cards .stat-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.9);box-shadow:0 12px 28px rgba(30,41,59,.10);transition:transform .22s ease,box-shadow .22s ease}
.dashboard-cards .stat-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(30,64,175,.16)}
.dashboard-cards .stat-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-26px;top:-28px;background:rgba(255,255,255,.34)}
.customer-form-card{background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(30,41,59,.08)}
.registration-table-wrap,.table-scroll{overflow-x:auto}
.registration-history-table{min-width:1100px}
.card-approval-form{display:grid;grid-template-columns:160px 160px 170px auto;gap:8px;align-items:end;min-width:660px}
.card-approval-form label{font-size:11px}.card-approval-form input,.card-approval-form select{height:37px;border:1px solid #d8e2ee;border-radius:8px;padding:0 8px;background:#fff}

/* centered pending-payment popup */
.payment-center-overlay{position:fixed;inset:0;z-index:5000;background:rgba(15,23,42,.55);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:22px}
.payment-center-overlay.show{display:flex;animation:paymentFade .16s ease-out}
.payment-center-modal{position:relative;width:min(720px,95vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:25px;box-shadow:0 30px 80px rgba(15,23,42,.28);animation:paymentPop .2s ease-out}
.payment-modal-close{position:absolute;right:17px;top:15px;width:36px;height:36px;border:0;border-radius:50%;font-size:24px;cursor:pointer;background:#f1f5f9;color:#475569}
.payment-modal-title small{font-size:11px;letter-spacing:.08em;font-weight:800;color:#2563eb}.payment-modal-title h2{margin:4px 0 18px;font-size:25px}
.payment-member-card{display:flex;justify-content:space-between;align-items:center;gap:15px;background:linear-gradient(120deg,#f5f9ff,#eef5ff);border:1px solid #dce9fb;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.payment-member-card b{display:block;font-size:16px}.payment-member-card span:not(.payment-status-chip){display:block;color:#64748b;font-size:12px;margin-top:3px}
.payment-status-chip,.payment-unpaid-pill{display:inline-block;background:#fff1f2;color:#b42318;border:1px solid #fecaca;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}
.payment-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 18px}
.payment-summary-grid>div{background:#f8fafc;border:1px solid #e7edf5;border-radius:12px;padding:13px}.payment-summary-grid small{display:block;font-size:10px;font-weight:800;color:#718096}.payment-summary-grid b{display:block;font-size:20px;margin-top:5px}.payment-summary-grid .pending-box{background:#fff7ed;border-color:#fed7aa}.payment-summary-grid .pending-box b{color:#c2410c}
.payment-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.payment-entry-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#475569}.payment-entry-grid label.wide{grid-column:1/-1}.payment-entry-grid input{height:42px;border:1px solid #d7e0eb;border-radius:9px;padding:0 11px;background:#fff}.payment-entry-grid small{font-weight:400;color:#718096}.payment-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid #eef2f6}
.payment-table-card{background:#fff;border-radius:16px;box-shadow:0 10px 28px rgba(30,41,59,.07)}.payment-filter-bar{margin:15px 0}
@keyframes paymentFade{from{opacity:0}to{opacity:1}}@keyframes paymentPop{from{transform:translateY(14px) scale(.98);opacity:.65}to{transform:none;opacity:1}}
@media(max-width:760px){.payment-summary-grid{grid-template-columns:1fr 1fr}.payment-entry-grid{grid-template-columns:1fr}.payment-entry-grid label.wide{grid-column:auto}.card-approval-form{grid-template-columns:1fr 1fr;min-width:500px}}

.customer-photo-thumb{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 3px 10px rgba(15,23,42,.16);flex:0 0 auto}
.customer-photo-upload{grid-column:span 1}
.customer-current-photo{display:flex;align-items:center;gap:10px;margin:7px 0 9px;padding:8px;background:#f8fafc;border:1px solid #e5ebf3;border-radius:10px}
.customer-current-photo img{width:58px;height:58px;border-radius:10px;object-fit:cover}
.customer-current-photo span{font-size:12px;color:#64748b;font-weight:700}

.application-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding:22px 24px;border-radius:18px;background:linear-gradient(120deg,#ffffff,#edf5ff);border:1px solid #dce8f7;box-shadow:0 12px 30px rgba(30,64,175,.08)}
.application-import-head h2{margin:0 0 6px}.application-import-head p{margin:0;max-width:760px;color:#64748b}
.import-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.import-info-grid>div{background:#fff;border:1px solid #e4eaf2;border-radius:14px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.import-info-grid small{display:block;font-weight:800;color:#64748b;font-size:10px;letter-spacing:.06em}.import-info-grid b{display:block;font-size:23px;margin:6px 0}.import-info-grid span{font-size:12px;color:#718096}
.bulk-import-card{max-width:800px;margin:18px auto;padding:24px;border-radius:18px;background:#fff;border:1px solid #e4eaf2;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.bulk-import-form{display:flex;align-items:end;gap:14px;margin-top:16px}.bulk-import-form label{flex:1;font-weight:700;font-size:12px}.bulk-import-form input[type=file]{display:block;width:100%;margin-top:7px;padding:11px;border:1px dashed #b9c8da;border-radius:10px;background:#f8fafc}
.import-rules{display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-rules>div{background:#fff;border:1px solid #e4eaf2;border-radius:13px;padding:15px}.import-rules b{color:#1e3a8a}.import-rules p{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.5}
@media(max-width:900px){.import-info-grid{grid-template-columns:1fr 1fr}.import-rules{grid-template-columns:1fr}.application-import-head{flex-direction:column}.bulk-import-form{flex-direction:column;align-items:stretch}}

.customer-merge-panel{margin-top:18px;background:linear-gradient(120deg,#fff,#f3f8ff);border:1px solid #dce8f7;border-radius:16px;padding:20px;box-shadow:0 10px 28px rgba(30,64,175,.07)}
.merge-rules-mini{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.merge-rules-mini span{background:#fff;border:1px solid #dfe7f1;border-radius:999px;padding:7px 11px;font-size:11px;color:#52637a}
.customer-merge-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.customer-merge-form input[type=file]{min-width:300px;padding:10px;border:1px dashed #b9c8da;border-radius:10px;background:#fff}

.reapplied-star{font-size:18px;line-height:1;color:#b7791f}
.reapplied-overlay{position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;background:rgba(15,23,42,.48);backdrop-filter:blur(4px);padding:18px}
.reapplied-modal{position:relative;width:min(560px,96vw);background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 70px rgba(15,23,42,.28);border:1px solid #e2e8f0}
.reapplied-modal h2{margin:0 0 14px}
.reapplied-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.others-report-card{margin:18px 0}
.year-money-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.year-money-grid{grid-template-columns:1fr 1fr}}

.profile-reapplied-card{margin-top:18px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.profile-reapplied-card .sectionhead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
.reapplied-total-box{min-width:170px;text-align:right;background:#fffaf0;border:1px solid #f6e4b5;border-radius:12px;padding:12px 14px}
.reapplied-total-box small{display:block;font-size:10px;font-weight:800;color:#8a6d1d;letter-spacing:.05em}
.reapplied-total-box b{display:block;margin-top:4px;font-size:23px}

.scheme-bulk-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 14px;flex-wrap:wrap}

@media(max-width:760px){}


/* v3 dashboard upcoming renewals */
.dashboard-upcoming{margin-top:22px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.dashboard-upcoming .sectionhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.dashboard-upcoming .sectionhead h2{margin:0 0 4px}
.month-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.month-card{background:linear-gradient(145deg,#f8fbff,#eef5ff);border:1px solid #dfe8f5;border-radius:14px;padding:16px;text-align:center}
.month-card span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.month-card b{display:block;font-size:30px;margin:7px 0;color:#0f2a56}
.month-card small{color:#718096}
@media(max-width:950px){.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.month-grid{grid-template-columns:1fr}.dashboard-upcoming .sectionhead{align-items:flex-start;flex-direction:column}}
