@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800&display=swap');
:root{--green:#126b5d;--green2:#0d5147;--mint:#dff2eb;--paper:#f5f1e8;--ink:#173630;--muted:#6e7f7a;--line:#dfe6e2;--white:#fff;--gold:#d7a93b;--red:#c64c52;--blue:#3d78bd;--purple:#7464b4;--shadow:0 12px 35px rgba(24,62,55,.08);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Tajawal','Segoe UI',Arial,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:275px;background:linear-gradient(180deg,var(--green2),#083c35);color:#fff;position:fixed;inset:0 0 0 auto;z-index:50;display:flex;flex-direction:column;overflow:auto;box-shadow:-10px 0 30px #0a463d30}.brand{display:flex;align-items:center;gap:12px;padding:22px 18px;border-bottom:1px solid #ffffff1a}.brand-icon,.brand-icon,.logo-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--gold);color:#143b34;font-size:26px;font-weight:800;box-shadow:inset 0 0 0 4px #ffffff30}.brand strong{display:block;line-height:1.45;font-size:14px}.brand small{display:block;color:#c3dad5;margin-top:3px}.sidebar nav{padding:14px 10px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;margin:2px 0;border-radius:11px;color:#d6e9e5;transition:.2s}.sidebar nav a span{width:25px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff16;color:#fff;transform:translateX(-2px)}.sidebar nav a.active{box-shadow:inset -3px 0 var(--gold)}.nav-title{font-size:11px;color:#8eb5ad;padding:18px 12px 6px}.sidebar-footer{padding:16px;text-align:center;color:#91b7af;border-top:1px solid #ffffff12}.main{margin-right:275px;width:calc(100% - 275px)}.topbar{height:76px;padding:0 28px;background:#ffffffd9;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:40}.menu-toggle{display:none!important}.global-search{height:42px;background:#f4f7f5;border:1px solid var(--line);border-radius:12px;width:min(450px,50vw);display:flex;align-items:center;padding:0 13px;gap:9px}.global-search input{border:0;background:transparent;outline:0;width:100%;color:var(--ink)}.top-actions{margin-right:auto;display:flex;align-items:center;gap:8px}.icon-btn{width:38px;height:38px;border:0;border-radius:10px;background:#edf3f1;display:inline-grid;place-items:center;color:var(--ink)}.icon-btn:hover{background:var(--mint)}.notify{position:relative}.notify b{position:absolute;top:-4px;left:-4px;background:var(--red);color:#fff;border-radius:20px;min-width:18px;height:18px;font-size:10px;display:grid;place-items:center}.user-menu{position:relative}.user-menu>button{border:0;background:transparent;display:flex;align-items:center;gap:8px;text-align:right;color:var(--ink)}.user-menu>button>span:last-child{display:flex;flex-direction:column;font-weight:700}.user-menu small{color:var(--muted);font-weight:400}.avatar{width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800}.avatar.big{width:68px;height:68px;border-radius:20px;font-size:28px}.user-menu>div{display:none;position:absolute;left:0;top:48px;background:#fff;padding:8px;width:170px;border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--line)}.user-menu:hover>div{display:block}.user-menu>div a{display:block;padding:9px 12px;border-radius:8px}.user-menu>div a:hover{background:var(--paper)}.content{padding:28px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.page-head h1{margin:0 0 5px;font-size:26px}.page-head p{margin:0;color:var(--muted)}.btn{border:1px solid transparent;background:var(--green);color:#fff;border-radius:10px;padding:10px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn.primary{background:var(--green)}.btn.light{background:#fff;border-color:var(--line);color:var(--ink)}.btn.danger{background:var(--red)}.btn.tiny{font-size:12px;padding:6px 10px}.btn.wide{width:100%}.panel{background:#fff;border:1px solid #e3e7e2;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:22px}.panel.narrow{max-width:720px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-head h2{font-size:18px;margin:0}.panel-head p{margin:3px 0;color:var(--muted)}.hero-planner{background:linear-gradient(120deg,var(--green),#0a5148);color:#fff;border-radius:24px;min-height:190px;padding:32px 36px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 20px 50px #126b5d30}.hero-planner:before,.hero-planner:after{content:"";position:absolute;border:1px solid #ffffff14;border-radius:50%;width:300px;height:300px;left:-80px;top:-170px}.hero-planner:after{width:170px;height:170px;top:80px;left:80px}.hero-planner div:first-child{display:flex;flex-direction:column;position:relative;z-index:2}.hero-planner small{color:#cde4df}.hero-planner strong{font-size:37px;margin:8px 0}.hero-planner span{color:#b8d7d1}.ring{--p:50;width:125px;height:125px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--p)*1%),#ffffff22 0);position:relative;z-index:2}.ring:after{content:"";position:absolute;inset:12px;background:var(--green2);border-radius:50%}.ring b,.ring small{position:relative;z-index:2;text-align:center;grid-area:1/1}.ring b{font-size:26px;margin-top:-12px}.ring small{margin-top:35px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:13px;box-shadow:var(--shadow)}.stat-card>span{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:#e4f3ef;font-size:20px;color:var(--green)}.stat-card.blue>span{background:#e7f0fb;color:var(--blue)}.stat-card.red>span{background:#fdebed;color:var(--red)}.stat-card.gold>span{background:#fff5d9;color:#a8780e}.stat-card.purple>span{background:#f0edfb;color:var(--purple)}.stat-card div{display:flex;flex-direction:column;min-width:0}.stat-card small{color:var(--muted);white-space:nowrap}.stat-card strong{font-size:19px;margin-top:5px;overflow:hidden;text-overflow:ellipsis}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.bar-chart{height:205px;display:flex;align-items:flex-end;justify-content:space-around;gap:7px;border-bottom:1px solid var(--line);padding-top:20px}.bar-chart div{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.bar-chart span{display:block;background:linear-gradient(var(--green),#75b7a9);width:55%;margin:auto;border-radius:7px 7px 2px 2px;min-height:4px}.bar-chart small{margin-top:8px;color:var(--muted)}.attention-list a{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px dashed var(--line)}.attention-list a:last-child{border:0}.attention-list span{display:flex;flex-direction:column;flex:1}.attention-list small{color:var(--muted);margin-top:3px}.attention-list em{font-style:normal}.dot{width:11px;height:11px;border-radius:50%;background:var(--green)}.dot.red{background:var(--red)}.dot.gold{background:var(--gold)}.dot.blue{background:var(--blue)}.notice-list article{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.notice-list article>span{width:38px;height:38px;border-radius:10px;background:var(--mint);display:grid;place-items:center}.notice-list p{margin:4px 0;color:var(--muted)}.notice-list small{color:#94a29e}.balance-strip{background:#e3f1ed;border:1px solid #c5e1da;padding:16px 20px;border-radius:14px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}.balance-strip strong{font-size:24px;color:var(--green)}.table-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px;align-items:center}.table-tools form,.table-tools>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.table-tools input,.table-tools select{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:#fff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{border-collapse:collapse;width:100%;background:#fff}th,td{text-align:right;padding:12px 13px;border-bottom:1px solid #edf0ee;white-space:nowrap}th{background:#f4f7f5;font-size:12px;color:#5b6e69;position:sticky;top:0}td small{display:block;color:var(--muted);margin-top:3px}tbody tr:hover{background:#fbfcfb}.actions{display:flex;gap:5px}.icon-btn.danger{color:var(--red);background:#fdeff0}.empty{text-align:center!important;color:var(--muted);padding:32px!important}.table-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;background:#f4f7f5;padding:14px;margin-top:12px;border-radius:11px}.table-total strong{font-size:18px;color:var(--green);margin-left:20px}.badge{display:inline-flex;padding:4px 9px;border-radius:20px;background:#eef1f0;color:#53645f;font-size:11px;font-weight:700}.status-active,.status-paid,.status-completed,.status-implemented,.status-approved{background:#e2f5e9;color:#187145}.status-late,.status-defaulted,.status-dismissed,.status-cancelled,.status-rejected{background:#fde8ea;color:#a8323c}.status-partial,.status-due,.status-review,.status-pending{background:#fff2cf;color:#8b6814}.status-new,.status-upcoming,.status-repaying,.status-disbursed{background:#e5effb;color:#2d609c}.pagination{display:flex;gap:5px;justify-content:center;margin-top:16px}.pagination a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff}.pagination a.active{background:var(--green);color:#fff}.modal-backdrop{display:none;position:fixed;inset:0;background:#062b2677;backdrop-filter:blur(3px);z-index:90}.modal-backdrop.show{display:block}.modal{display:none;position:fixed;inset:0;z-index:100;overflow:auto;padding:5vh 15px}.modal.show{display:block}.modal-card{background:#fff;border-radius:20px;box-shadow:0 30px 90px #0004;width:min(780px,100%);margin:auto;overflow:hidden}.modal-card.small{width:min(520px,100%)}.modal-card>header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-card>header h2{margin:0;font-size:20px}.modal-card>header button{border:0;background:#eef2f0;border-radius:9px;width:34px;height:34px;font-size:23px}.modal-card form{padding:22px}.modal-open{overflow:hidden}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.login-card label,.install-card label{display:flex;flex-direction:column;gap:7px;font-weight:600;color:#40544f}.form-grid label.full,.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.login-card input,.install-card input{width:100%;border:1px solid #ccd8d3;border-radius:10px;background:#fff;padding:11px 12px;outline:0;color:var(--ink)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus,.install-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #126b5d17}.form-grid textarea{resize:vertical}.form-grid small{font-weight:400;color:var(--muted)}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.check input{width:auto!important}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.loan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.loan-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.loan-card>header{display:flex;justify-content:space-between;align-items:flex-start}.loan-card h3{margin:3px 0}.loan-card p{color:var(--muted)}.loan-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.loan-numbers span{background:#f5f7f6;padding:10px;border-radius:10px;display:flex;flex-direction:column}.loan-numbers small{color:var(--muted)}.loan-numbers b{margin-top:4px}.progress{height:7px;background:#e9efed;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green);border-radius:10px}.loan-actions,.withdraw-actions,.receipt-links,.user-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.installments{margin-top:14px;overflow:auto;max-height:320px}.installments table{font-size:12px}.member-identity{background:#fff;border-radius:18px;padding:22px;display:flex;gap:15px;align-items:center;margin-bottom:20px;border:1px solid var(--line)}.member-identity h2{margin:4px 0}.member-identity p{margin:0}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.report-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.report-grid article>span{font-size:30px}.report-grid h3{font-size:15px;min-height:42px}.report-grid article div{display:flex;gap:7px}.fund-summary>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fund-summary span{background:#f2f7f5;padding:15px;border-radius:12px;display:flex;flex-direction:column}.fund-summary small{color:var(--muted)}.fund-summary b{font-size:18px;margin-top:7px}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.backup-grid .panel{text-align:center;padding:35px}.big-icon{font-size:45px}.backup-grid input{margin:12px 0}.danger-text{color:var(--red)}.regulation{max-width:980px;margin:auto}.regulation-text{line-height:2}.regulation li{margin:10px 0}.alert{padding:13px 15px;border-radius:11px;margin-bottom:15px}.alert.success{background:#e0f3e7;color:#176a41}.alert.danger{background:#fde8ea;color:#99343c}.alert.warning{background:#fff1ce;color:#7c5c0d}.toast-wrap{position:fixed;left:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{width:min(360px,calc(100vw - 44px));background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px #0002;border-radius:13px;padding:13px;display:flex;align-items:center;gap:10px;animation:toastIn .25s}.toast>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e1f4e8;color:var(--green);font-weight:800}.toast.error>span{background:#fde7e9;color:var(--red)}.toast p{margin:0}@keyframes toastIn{from{transform:translateY(20px);opacity:0}}
.login-page,.install-page{min-height:100vh;background:radial-gradient(circle at 15% 20%,#dceee8,transparent 30%),linear-gradient(135deg,#f8f5ed,#e9f0ec);display:grid;place-items:center;padding:25px}.login-shell{width:min(1050px,100%);min-height:610px;background:#fff;border-radius:28px;box-shadow:0 30px 90px #0c443b22;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden}.login-art{background:linear-gradient(145deg,var(--green),#073f37);color:#fff;padding:70px 55px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff19;border-radius:50%;left:-170px;bottom:-210px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}.login-logo{width:75px;height:75px;border-radius:22px;background:var(--gold);color:#123c35;display:grid;place-items:center;font-size:42px;font-weight:800}.login-art h1{font-size:34px;line-height:1.5;margin:25px 0 8px}.login-art p{color:#c4ded8;font-size:17px;line-height:1.8}.feature-chips{display:flex;gap:7px;flex-wrap:wrap}.feature-chips span{border:1px solid #ffffff2e;background:#ffffff10;padding:7px 11px;border-radius:20px}.login-card{padding:65px 48px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:28px;margin:5px 0}.login-card>div>p{color:var(--muted);margin:0 0 24px}.login-card form{display:flex;flex-direction:column;gap:16px}.login-card .btn{margin-top:6px;padding:13px}.muted{color:var(--muted)}.center{text-align:center}.install-card{width:min(800px,100%);background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:30px}.install-brand{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.install-brand h1{margin:0}.install-brand p{margin:4px 0;color:var(--muted)}.install-card h2{font-size:18px;margin:22px 0 12px}.install-card form>.btn{margin-top:20px;padding:13px}.print-actions{position:fixed;top:15px;left:15px;display:flex;gap:8px;z-index:10}.print-actions button,.print-actions a{background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 14px}.print-page,.receipt-page{background:#fff;padding:25mm 15mm;color:#111}.print-header{display:flex;gap:15px;align-items:center;border-bottom:2px solid var(--green);padding-bottom:15px;margin-bottom:20px}.print-header h1,.print-header h2,.print-header p{margin:3px}.print-table{font-size:11px}.print-table th{background:#e9f1ee}.print-page footer{text-align:center;margin-top:25px;border-top:1px solid #bbb;padding-top:10px}.receipt-sheet{width:190mm;min-height:125mm;margin:20px auto;border:2px solid var(--green);padding:12mm;border-radius:10px}.receipt-sheet>header{display:flex;gap:12px;align-items:center;border-bottom:2px solid var(--green);padding-bottom:12px}.receipt-sheet h1{font-size:22px;margin:0}.receipt-kind{margin-right:auto;display:flex;flex-direction:column;text-align:center}.receipt-kind span{background:var(--green);color:#fff;padding:7px 20px;border-radius:6px}.receipt-kind b{margin-top:5px}.receipt-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.receipt-meta span{border:1px solid #bbb;padding:10px;display:flex;flex-direction:column}.receipt-meta small{color:#555}.amount-words,.receipt-description{padding:13px;border:1px solid #bbb;margin:10px 0}.receipt-description p{font-size:18px}.signatures{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin-top:28px}.receipt-sheet footer{display:flex;justify-content:space-between;border-top:1px solid #bbb;padding-top:10px;margin-top:25px;font-size:12px}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.sidebar{transform:translateX(105%);transition:.25s}.sidebar.open{transform:none}.main{margin-right:0;width:100%}.menu-toggle{display:grid!important}.content{padding:20px}.topbar{padding:0 18px}.dashboard-grid{grid-template-columns:1fr}.loan-grid{grid-template-columns:1fr}}
@media(max-width:700px){.content{padding:14px}.topbar{height:66px;padding:0 12px;gap:8px}.global-search{display:none}.user-menu>button>span:last-child{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}.hero-planner{padding:24px;min-height:170px}.hero-planner strong{font-size:26px}.ring{width:95px;height:95px}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:12px;gap:8px}.stat-card>span{width:38px;height:38px}.stat-card strong{font-size:15px}.form-grid{grid-template-columns:1fr}.form-grid label.full,.full{grid-column:auto}.modal{padding:0}.modal-card{border-radius:0;min-height:100vh}.table-tools{align-items:stretch;flex-direction:column}.table-tools form{display:grid;grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr 1fr}.fund-summary>div{grid-template-columns:1fr 1fr}.backup-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:42px 28px}.install-card{padding:20px}.receipt-page{padding:8px}.receipt-sheet{width:100%;padding:15px}.receipt-meta{grid-template-columns:1fr 1fr}.loan-numbers{grid-template-columns:1fr}.print-page{padding:10px}.print-actions{position:static;margin-bottom:15px}}
@media print{.sidebar,.topbar,.page-head .btn,.table-tools,.actions,.pagination,.print-actions,.loan-actions,.withdraw-actions,.receipt-links,.user-actions{display:none!important}.main{margin:0;width:100%}.content{padding:0}.panel{box-shadow:none;border:0;padding:0}.table-wrap{overflow:visible}.print-page,.receipt-page{padding:0;background:#fff}.receipt-sheet{margin:0 auto;box-shadow:none}.badge{border:1px solid #aaa}@page{size:A4;margin:12mm}}
