:root{--bg:#f5f8f8;--card:#fff;--ink:#17383a;--muted:#7c8d90;--line:#dbe5e5;--accent:#2f7f80;--accent2:#eaf5f5;--danger:#b94a4a;--danger2:#fff1f1;--ok:#287c5b;--ok2:#edf8f3}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:"Noto Kufi Arabic",Tahoma,Arial,sans-serif}body{min-height:100vh}body.modal-open{overflow:hidden}a,button,input,select{font-family:inherit}button{cursor:pointer}h1,h2,h3{margin:0}.public-wrap{position:relative;max-width:1240px;margin:0 auto;padding:52px 26px 38px}.public-tools{display:flex;direction:ltr;min-height:44px;margin-bottom:12px}.services-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;font-size:12px;font-weight:800}.brand{text-align:center;max-width:900px;margin:0 auto 34px}.brand-kicker{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 20px;margin:0 auto 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent);font-size:15px;font-weight:800;box-shadow:0 7px 22px rgba(47,127,128,.055)}.brand h1{font-size:40px;line-height:1.5}.brand p{color:var(--muted);font-size:16px;margin:9px 0 0}.card{background:#fff;border:1px solid var(--line);border-radius:27px;padding:28px;box-shadow:0 8px 28px rgba(31,64,65,.04)}.search-card{position:relative;overflow:hidden;max-width:980px;margin:auto;padding:28px 32px}.search-card:before{content:"";position:absolute;top:0;right:12%;left:12%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(47,127,128,.48),transparent)}label{display:block;font-weight:700;margin-bottom:10px}.search-title-label{font-size:17px}.search-row{display:flex;gap:11px;align-items:stretch}.input-wrap{position:relative;flex:1;min-width:0}.input-wrap .input{padding-left:52px}.input,.select{width:100%;min-height:54px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:0 16px;font:inherit;font-size:15px;color:var(--ink);outline:none}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent2)}.file-input{padding:12px 14px;height:auto}.input-clear{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:#eef3f3;color:var(--muted);font-size:24px;line-height:1}.input-clear[hidden]{display:none}.btn{min-height:52px;border:0;border-radius:16px;padding:0 24px;background:var(--accent);color:#fff;font:inherit;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{background:#eef3f3;color:var(--ink);border:1px solid var(--line)}.btn.sm{min-height:39px;padding:0 14px;border-radius:11px;font-size:12px}.hint,.muted{color:var(--muted);font-size:13px;line-height:1.9}.public-stats{max-width:980px;margin:17px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-stat{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 18px}.public-stat span{color:var(--muted);font-size:12px}.public-stat strong{font-size:16px}.results{max-width:1180px;margin:27px auto 0}.results-count{text-align:center;color:var(--muted);font-size:13px;margin:0 0 12px}.result-list-shell{overflow:hidden;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 12px 34px rgba(31,64,65,.045)}.result-list-head,.result-line{display:grid;grid-template-columns:72px minmax(300px,1fr) 140px 100px;gap:10px;align-items:center;padding:10px 16px}.result-list-head{background:#f7f9f9;color:var(--muted);font-size:10px;font-weight:800;position:sticky;top:0;z-index:2}.result-line{min-height:60px;border-top:1px solid #edf1f1}.result-line:hover{background:#f9fcfc;box-shadow:inset -3px 0 0 rgba(47,127,128,.28)}.result-index{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--accent2);color:var(--accent);font-size:10px;font-weight:800}.result-name-cell strong{font-size:13px;line-height:1.8}.result-year-cell{font-size:12px;font-weight:800}.details-btn{min-height:37px;border:1px solid var(--line);border-radius:11px;background:#f8fbfb;color:var(--accent);font-size:11px;font-weight:800}.results-scroll.has-many{max-height:62vh;overflow:auto}.empty,.service-error{text-align:center;padding:30px}.empty h2,.service-error h2{font-size:21px}.footer-note{text-align:center;color:var(--muted);font-size:12px;max-width:980px;margin:28px auto 0;line-height:2}.footer-note strong{display:block;color:var(--ink);font-size:11px}.confirm-modal{position:fixed;inset:0;background:rgba(21,44,45,.34);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-modal[hidden]{display:none}.confirm-box{position:relative;width:min(500px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;text-align:center;box-shadow:0 24px 80px rgba(18,44,45,.16)}.modal-x{position:absolute;top:13px;left:13px;width:36px;height:36px;border:0;border-radius:11px;background:#eef3f3;color:var(--ink);font-size:22px}.detail-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--accent2);color:var(--accent);font-size:10px;font-weight:800;margin-bottom:12px}.result-detail-box h3{font-size:19px;line-height:1.9;padding:0 24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.detail-grid>div{background:#f8fafa;border:1px solid #edf1f1;border-radius:15px;padding:14px}.detail-grid span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.detail-grid strong{font-size:16px}.detail-future{border-top:1px solid #edf1f1;padding-top:14px;margin-bottom:0}.alert{border-radius:16px;padding:13px 16px;margin-bottom:16px;line-height:1.9;font-size:13px}.alert.success{background:#edf8f3;color:#23654c;border:1px solid #d4ede2}.alert.error{background:#fff1f1;color:#8e3e3e;border:1px solid #f2d1d1}.alert.warning{background:#fff8e8;color:#7b642d;border:1px solid #f2e3b9}.admin-body{background:#f3f6f6}.admin-top{min-height:72px;background:#fff;border-bottom:1px solid var(--line);padding:14px max(24px,calc((100vw - 1480px)/2 + 24px));display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-top strong{display:block}.admin-top .muted{display:block}.admin-who{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.role-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--accent2);color:var(--accent);font-size:10px;font-weight:700}.admin-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px 24px 36px}.admin-nav{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:9px;height:max-content}.admin-nav .admin-nav-link,.nav-logout{display:flex;width:100%;padding:10px 12px;border-radius:11px;color:var(--ink);text-decoration:none;font-size:12px;background:transparent;border:0;text-align:right;margin-bottom:2px}.admin-nav .admin-nav-link:hover,.nav-logout:hover{background:var(--accent2)}.nav-logout{color:#8e3e3e}.admin-main{min-width:0}.admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;margin-bottom:14px}.admin-card h2{font-size:19px;margin-bottom:14px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.card-heading h2{margin-bottom:3px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px}.stat span{color:var(--muted);font-size:11px}.stat b{font-size:23px;display:block;margin-top:6px}.field{margin-bottom:15px}.check-row{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px}.check-row input{width:18px;height:18px;accent-color:var(--accent)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.table th,.table td{padding:11px 12px;border-bottom:1px solid #edf1f1;text-align:right;font-size:12px;vertical-align:middle}.table th{background:#f7f9f9;white-space:nowrap}.strong-cell{font-weight:700}.empty-row{text-align:center!important;color:var(--muted);padding:24px!important}.icon-actions{display:flex;gap:6px;align-items:center}.icon-actions form{margin:0}.icon-btn{min-width:42px;height:36px;padding:0 8px;border-radius:10px;border:1px solid var(--line);background:#f7f9f9;color:var(--ink);font-size:10px;font-weight:700}.icon-btn.danger-soft{background:var(--danger2);border-color:#f2d1d1;color:var(--danger)}.login-wrap{max-width:560px;margin:50px auto;padding:18px}.login-wrap .card{padding:30px}.login-title{font-size:25px;margin:2px 0 22px}.pagination{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.pagination a{padding:7px 11px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:#fff;font-size:11px}.pagination a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.employee-filter-bar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:8px;align-items:center}.form-modal{text-align:right}.form-modal h3{text-align:center;margin-bottom:18px}
@media(max-width:800px){.public-wrap{padding:30px 14px}.brand{margin-bottom:27px}.brand h1{font-size:28px}.brand p{font-size:13px}.brand-kicker{font-size:13px;min-height:40px}.card{padding:19px;border-radius:22px}.search-card{padding:20px}.search-row{flex-direction:column}.btn{width:100%}.public-stats{grid-template-columns:1fr 1fr}.result-list-head,.result-line{grid-template-columns:42px minmax(0,1fr) 76px 64px;gap:5px;padding:9px 7px}.result-list-head{font-size:8px}.result-name-cell strong{font-size:10.5px}.result-year-cell{font-size:10px}.details-btn{font-size:9px;min-height:34px}.result-index{width:27px;height:27px;font-size:9px}.admin-layout{display:block;padding:12px}.admin-nav{position:static;display:flex;overflow:auto;white-space:nowrap;margin-bottom:12px;gap:3px}.admin-nav .admin-nav-link,.nav-logout{flex:0 0 auto;width:auto}.admin-top{padding:12px 14px}.role-chip{display:none}.grid,.grid.four{grid-template-columns:1fr 1fr}.admin-card{padding:15px}.employee-filter-bar{grid-template-columns:1fr}.card-heading{flex-direction:column}.login-wrap{margin:20px auto;padding:12px}.confirm-actions{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.public-stat{padding:13px}.public-stat span{font-size:10px}.public-stat strong{font-size:13px}}
@media(max-width:430px){.grid,.grid.four{grid-template-columns:1fr}.public-stats{grid-template-columns:1fr}.result-list-head,.result-line{grid-template-columns:38px minmax(0,1fr) 70px 58px}.result-name-cell strong{font-size:10px}}
.login-note{margin-top:14px;line-height:1.9;font-size:11px;text-align:center}

/* v2.2.0 - public readability, preliminary-status and loan-status UI */
.public-notice{max-width:980px;margin:0 auto 18px;padding:18px 20px;border:1px solid #eadcaa;border-radius:19px;background:#fff9e9;color:#6f5b22;line-height:1.95;box-shadow:0 7px 22px rgba(100,78,20,.035)}
.public-notice strong{display:block;font-size:16px;color:#5e4a16;margin-bottom:4px}.public-notice p{font-size:15px;margin:0 0 5px}.public-notice span{display:block;font-size:13px;font-weight:800}
.brand h1{font-size:43px}.brand p{font-size:17px}.search-title-label{font-size:18px}.input,.select{font-size:16px}.hint,.muted{font-size:14px}.public-stat span{font-size:13px}.public-stat strong{font-size:17px}.results-count{font-size:14px}.result-list-head{font-size:12px}.result-name-cell strong{font-size:15px}.result-year-cell{font-size:14px}.details-btn{font-size:12px}.result-index{font-size:11px}.footer-note{font-size:13px}.footer-note strong{font-size:12px}
.result-detail-box{width:min(570px,100%)}.detail-kicker{font-size:11px}.result-detail-box h3{font-size:21px}.detail-grid span,.loan-box span,.eligibility-label{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.detail-grid strong{font-size:17px}
.eligibility-box,.loan-box,.savings-note{border-radius:16px;padding:15px 16px;margin-top:12px;text-align:right}.eligibility-box{border:1px solid #dbe9e3;background:#f7fbf9}.eligibility-box strong{display:block;font-size:15px}.eligibility-box p{font-size:13px;line-height:1.8;margin:6px 0 0}.eligibility-box.targeted strong{color:var(--ok)}.eligibility-box.not-targeted{background:var(--danger2);border-color:#f2d1d1}.eligibility-box.not-targeted strong{color:var(--danger)}
.loan-box{border:1px solid var(--line);background:#f8fafa}.loan-box strong{font-size:15px}.savings-note{background:#fff8e8;border:1px solid #f2e3b9;color:#6f5b22}.savings-note strong{display:block;font-size:14px;margin-bottom:4px}.savings-note p{font-size:13px;line-height:1.9;margin:0}.savings-note[hidden]{display:none}.detail-disclaimer{font-size:12px;line-height:1.9;color:var(--muted);border-top:1px solid #edf1f1;margin:14px 0 0;padding-top:13px}
.textarea{width:100%;border:1px solid var(--line);border-radius:17px;background:#fff;padding:13px 16px;font:inherit;font-size:14px;color:var(--ink);outline:none;resize:vertical;line-height:1.9}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent2)}
.people-table{min-width:1050px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;background:#eef3f3;color:#657477}.status-pill.ok,.status-pill.no{background:var(--ok2);color:var(--ok)}.status-pill.yes{background:var(--danger2);color:var(--danger)}.status-pill.unknown{background:#fff8e8;color:#7b642d}.status-pill.muted-pill{background:#f0f2f2;color:#738083}
@media(max-width:800px){.brand h1{font-size:31px}.brand p{font-size:15px}.brand-kicker{font-size:14px}.public-notice{padding:15px 16px;margin-bottom:15px}.public-notice strong{font-size:15px}.public-notice p{font-size:14px}.public-notice span{font-size:12px}.search-title-label{font-size:17px}.input,.select{font-size:16px}.hint,.muted{font-size:13px}.public-stat span{font-size:12px}.public-stat strong{font-size:15px}.result-list-head,.result-line{grid-template-columns:42px minmax(0,1fr) 72px 62px;gap:5px;padding:10px 8px}.result-list-head{font-size:10px}.result-name-cell strong{font-size:13px;line-height:1.7}.result-year-cell{font-size:12px}.details-btn{font-size:11px;min-height:36px}.result-index{width:29px;height:29px;font-size:10px}.result-detail-box h3{font-size:19px}.detail-grid span,.loan-box span,.eligibility-label{font-size:11px}.detail-grid strong,.loan-box strong,.eligibility-box strong{font-size:15px}.savings-note p,.eligibility-box p{font-size:12.5px}}
@media(max-width:430px){.brand h1{font-size:28px}.public-notice p{font-size:13.5px}.result-list-head,.result-line{grid-template-columns:38px minmax(0,1fr) 65px 56px}.result-list-head{font-size:9.5px}.result-name-cell strong{font-size:12px}.result-year-cell{font-size:11px}.details-btn{font-size:10px}.public-stat span{font-size:11.5px}.public-stat strong{font-size:14px}}

/* v2.3.0 - public eligibility + committee requirements */
.public-search-heading{max-width:920px;margin:12px auto 0;text-align:center;font-size:31px!important;line-height:1.75;font-weight:900;color:var(--ink)}
.public-notice{text-align:center;padding:23px 28px!important}
.public-notice strong{font-size:20px!important;margin-bottom:9px!important}
.public-notice p{max-width:820px;margin:0 auto!important;font-size:17px!important;line-height:2.05!important;font-weight:700}
.search-title-label{text-align:center;font-size:20px!important;margin-bottom:14px!important}
.search-card .hint{text-align:center;margin:15px 0 0}
.result-detail-box{width:min(720px,100%);max-height:92vh;overflow-y:auto;padding:30px 34px}
.result-detail-box h3{text-align:center;font-size:23px;line-height:1.9;margin-top:4px}
.detail-grid>div,.eligibility-box,.loan-box,.savings-note,.requirements-box{text-align:center}
.detail-grid span,.loan-box>span,.eligibility-label{font-size:12px}
.detail-grid strong,.loan-box>strong,.eligibility-box>strong{font-size:17px}
.eligibility-box.pending-targeted{background:#fff8e8;border-color:#f2e3b9}.eligibility-box.pending-targeted strong{color:#7b642d}
.loan-extra{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.loan-extra[hidden]{display:none}.loan-extra>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px}.loan-extra span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.loan-extra b{font-size:14px;color:var(--ink)}
.requirements-box{margin-top:15px;border:1px solid #cfe4de;border-radius:19px;background:#f7fbf9;padding:19px 19px 16px}.requirements-box[hidden]{display:none}.requirements-heading strong{display:block;color:var(--ok);font-size:16px;line-height:1.8}.requirements-heading p{margin:7px auto 15px;max-width:610px;color:#586b6d;font-size:12.5px;line-height:1.95}.requirements-list{margin:0;padding:0;list-style:none;counter-reset:req;display:grid;gap:9px}.requirements-list li{counter-increment:req;position:relative;text-align:right;background:#fff;border:1px solid #e1ebea;border-radius:14px;padding:12px 47px 12px 14px;color:#314b4d;font-size:12.5px;line-height:2}.requirements-list li:before{content:counter(req);position:absolute;right:12px;top:12px;width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--accent2);color:var(--accent);font-size:10px;font-weight:900}
.status-pill.danger-pill{background:var(--danger2);color:var(--danger)}.loan-admin-meta{font-size:11px;font-weight:700;white-space:nowrap}.form-modal #person-loan-fields .alert{text-align:center}
@media(max-width:800px){.public-search-heading{font-size:24px!important;line-height:1.85}.public-notice{padding:20px 18px!important}.public-notice strong{font-size:18px!important}.public-notice p{font-size:15.5px!important;line-height:2!important}.search-title-label{font-size:18px!important}.result-detail-box{max-height:94vh;padding:26px 18px}.result-detail-box h3{font-size:20px}.requirements-box{padding:16px 12px}.requirements-heading strong{font-size:14.5px}.requirements-heading p,.requirements-list li{font-size:12px}.requirements-list li{padding:11px 43px 11px 10px}.loan-extra{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.public-search-heading{font-size:21px!important}.public-notice strong{font-size:17px!important}.public-notice p{font-size:14.5px!important}.result-detail-box{padding:25px 13px}.loan-extra{grid-template-columns:1fr}.requirements-heading strong{font-size:14px}.requirements-list li{font-size:11.5px}}
