/* EOMS BD — NGO / microfinance accounting pages: extras on top of solutions.css */
.cap ul{list-style:none;display:grid;gap:7px;margin-top:4px}
.cap li{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:.9rem;line-height:1.5}
.cap li i{color:var(--teal);font-size:.75rem;margin-top:5px;flex:0 0 auto}
.lowprice{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding:32px 34px;border-radius:var(--r);
  background:linear-gradient(135deg,rgba(34,211,182,.12),rgba(59,130,246,.10));border:1px solid rgba(34,211,182,.35)}
.lowprice h2{font-family:var(--head);font-size:1.45rem;line-height:1.3;margin-bottom:8px}
.lowprice p{color:var(--muted);font-size:.97rem}
.lp-ic{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;background:var(--grad2);color:#fff;animation:lpPulse 2.6s ease-in-out infinite}
@keyframes lpPulse{50%{transform:scale(1.07) rotate(-4deg);box-shadow:0 0 0 10px rgba(34,211,182,.12)}}
@media(max-width:860px){.lowprice{grid-template-columns:1fr;padding:26px 22px}.lowprice .btn{justify-content:center}}
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:700px){.work{grid-template-columns:1fr 1fr}}
.wk{padding:20px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:center;transition:transform .3s,border-color .3s}
.wk:hover{transform:translateY(-4px);border-color:rgba(34,211,182,.5)}
.wk b{display:block;font-family:var(--head);font-size:.98rem;line-height:1.4}
.wk-ic{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:13px;background:rgba(34,211,182,.12);color:var(--teal);font-size:1.15rem}

/* module picker */
.md-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:480px){.md-grid{grid-template-columns:1fr}}
.md-opt{display:block;cursor:pointer}
.md-opt input{position:absolute;opacity:0;pointer-events:none}
.md-opt span{display:flex;gap:9px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--muted);transition:all .2s}
.md-opt span i{color:var(--dim)}
.md-opt input:checked+span{border-color:rgba(34,211,182,.6);color:var(--text);background:rgba(34,211,182,.08)}
.md-opt input:checked+span i{color:var(--teal)}
.md-opt input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}

/* voucher */
.vx-btns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.vx-btns button,.st-tabs button,.pb-acts button{border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:100px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}
.vx-btns button.on{background:var(--grad2);color:#fff;border-color:transparent}
.vx{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg2)}
.vx-h,.vx-r,.vx-t{display:grid;grid-template-columns:1fr 92px 92px;gap:8px;padding:10px 14px;align-items:center}
.vx-h{font-size:.74rem;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}
.vx-h span:not(:first-child),.vx-r b,.vx-t b{text-align:right}
.vx-r{border-bottom:1px dashed var(--line);font-size:.9rem;opacity:0;transform:translateX(-16px);animation:vxIn .45s ease forwards}
.vx-r.cr span{padding-left:22px;color:var(--muted)}
.vx-r b{font-family:var(--head);font-weight:700}
@keyframes vxIn{to{opacity:1;transform:none}}
.vx-t{font-weight:700;background:rgba(34,211,182,.07)}
.vx-t b{font-family:var(--head);color:var(--teal)}
.vx-ok{margin-top:12px;color:var(--teal);font-weight:700;font-size:.9rem;opacity:0;transition:opacity .4s}
.vx-ok.on{opacity:1}

/* ageing buckets: provision / PAR */
.bks{display:grid;gap:8px}
.bk-h,.bk{display:grid;grid-template-columns:1fr 130px;gap:10px;align-items:center}
.bks[data-mode="llp"] .bk-h,.bks[data-mode="llp"] .bk{grid-template-columns:1fr 120px 76px}
.bk-h{font-size:.72rem;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.bk{position:relative;padding:8px 10px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);overflow:hidden}
.bk label{font-size:.86rem;font-weight:600;position:relative;z-index:1}
.bk input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:.88rem;text-align:right;position:relative;z-index:1}
.bk-r{display:flex;align-items:center;gap:3px;font-size:.8rem;color:var(--dim);position:relative;z-index:1}
.bk-bar{position:absolute;left:0;bottom:0;height:3px;width:100%}
.bk-bar b{display:block;height:100%;width:0;background:var(--grad);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.bk:first-of-type .bk-bar b{background:var(--teal)}
.par3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.par3 div{padding:14px;border-radius:14px;background:var(--bg2);border:1px dashed var(--line);text-align:center}
.par3 small{display:block;color:var(--dim);font-size:.76rem;font-weight:700}
.par3 b{font-family:var(--head);font-size:1.6rem;font-weight:800}
@media(max-width:480px){.bks[data-mode="llp"] .bk-h,.bks[data-mode="llp"] .bk{grid-template-columns:1fr 100px 64px}.bk-h,.bk{grid-template-columns:1fr 110px}}

/* donor fund allocation */
.fd{display:grid;gap:10px}
.fd-r{display:grid;grid-template-columns:1fr 1.2fr 80px;gap:10px;align-items:center;font-size:.86rem;font-weight:600}
.fd-r b{text-align:right;font-family:var(--head)}
.fd-stack{display:flex;height:16px;border-radius:100px;overflow:hidden;margin-top:14px;background:var(--bg2)}
.fd-stack i{display:block;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.fd-stack i:nth-child(1){background:var(--teal)}.fd-stack i:nth-child(2){background:var(--blue)}.fd-stack i:nth-child(3){background:var(--amber)}
.fd-r:nth-child(1) span{color:var(--teal)}.fd-r:nth-child(2) span{color:#7FB0FF}.fd-r:nth-child(3) span{color:var(--amber)}
@media(max-width:480px){.fd-r{grid-template-columns:1fr 70px}.fd-r input{grid-column:1/-1;grid-row:2}}

/* statements */
.st-tabs{display:flex;flex-wrap:wrap;gap:6px;background:none;border:0;padding:0;margin-bottom:12px}
.st-tabs button{flex:0 0 auto}
.st-tabs button.on,.pb-acts button.on{background:var(--grad2);color:#fff;border-color:transparent}
.stm{border-radius:14px;background:#F7F9FC;color:#1A2236;padding:16px 18px;min-height:250px;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.stm-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #1A2236;padding-bottom:8px;margin-bottom:8px;gap:10px}
.stm-h b{font-family:var(--head)}
.stm-h small{color:#5B6785;font-weight:600;text-align:right}
.stm-r{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed #D5DBE8;font-size:.9rem;opacity:0;transform:translateY(8px);animation:vxIn .4s ease forwards}
.stm-r i{flex:0 0 70px;height:8px;border-radius:4px;background:linear-gradient(90deg,#C9D3E6,#E4E9F3);margin-top:8px}
.stm-r:last-child{border-bottom:0;font-weight:700}

/* passbook */
.pb-acts{display:flex;flex-wrap:wrap;gap:6px;background:none;border:0;padding:0}
.pb-acts button{flex:0 0 auto}
.pb{margin-top:6px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);overflow:hidden}
.pb-h{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;background:rgba(34,211,182,.08);border-bottom:1px solid var(--line);font-size:.88rem}
.pb-h small{color:var(--dim)}
.pb-bal{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.pb-bal div{padding:10px 14px;text-align:center}
.pb-bal div+div{border-left:1px solid var(--line)}
.pb-bal small{display:block;color:var(--dim);font-size:.72rem}
.pb-bal b{font-family:var(--head);font-size:1.15rem;transition:color .3s}
.pb-bal b.bump{color:var(--teal)}
.pb-rows{max-height:170px;overflow:auto}
.pb-row{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:8px 14px;border-bottom:1px dashed var(--line);font-size:.84rem;animation:vxIn .4s ease both}
.pb-row small{color:var(--dim)}
.pb-row em{font-style:normal;color:var(--dim);font-size:.75rem;display:block}
.pb-row b{font-family:var(--head)}

/* instalment calculator */
.kx{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kx-c{padding:14px;border-radius:14px;background:var(--bg2);border:1px dashed var(--line)}
.kx-c:first-child{border-color:rgba(34,211,182,.5)}
.kx-c small{display:block;color:var(--dim);font-size:.76rem;font-weight:700}
.kx-c b{display:block;font-family:var(--head);font-size:1.6rem;font-weight:800;line-height:1.2}
.kx-c:first-child b{color:var(--teal)}
.kx-c span{color:var(--muted);font-size:.8rem}
.kx-c em{display:block;font-style:normal;color:var(--muted);font-size:.8rem;margin-top:6px}
.kx-sch{margin-top:12px;display:flex;align-items:flex-end;gap:3px;height:70px;padding:6px;border-radius:12px;background:var(--bg2);border:1px solid var(--line)}
.kx-sch i{flex:1;border-radius:3px 3px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;height:0;transition:height .6s cubic-bezier(.2,.8,.2,1)}
.kx-sch i u{display:block;background:var(--teal);text-decoration:none}
.kx-sch i s{display:block;background:var(--amber);text-decoration:none}

/* audit checklist */
.ck-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start}
@media(max-width:520px){.ck-wrap{grid-template-columns:1fr}.ck-ring{margin:0 auto}}
.ck-ring{position:relative;width:150px;height:150px;text-align:center}
.ck-ring svg{width:150px;height:150px;transform:rotate(-90deg)}
.ck-ring circle{fill:none;stroke-width:10}
.ck-ring .bg{stroke:var(--bg2)}
.ck-ring .fg{stroke:var(--teal);stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}
.ck-ring b{position:absolute;top:44px;left:0;right:0;font-family:var(--head);font-size:1.9rem;font-weight:800}
.ck-ring small{position:absolute;top:88px;left:0;right:0;color:var(--dim);font-size:.75rem}
.ck-list{display:grid;gap:6px}
.ck{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);font-size:.86rem;cursor:pointer;transition:all .2s}
.ck input{position:absolute;opacity:0;pointer-events:none}
.ck span{flex:0 0 22px;height:22px;border-radius:7px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.7rem;color:transparent;transition:all .2s}
.ck:has(input:checked){border-color:rgba(34,211,182,.5);color:var(--text)}
.ck input:checked+span{background:var(--teal);border-color:var(--teal);color:#0A0E1A}
.ck input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}

@media (prefers-reduced-motion:reduce){.vx-r,.stm-r,.pb-row{animation:none;opacity:1;transform:none}.lp-ic{animation:none}}

/* requirements form (submits to the admin consultancy list) */
.btn-g{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn-g:hover{border-color:var(--teal);color:var(--teal)}
.nform{display:grid;gap:10px;padding:22px;border-radius:20px;background:rgba(10,14,26,.55);border:1px solid var(--line)}
.nf-t{font-family:var(--head);font-size:1.05rem;display:flex;gap:9px;align-items:center}
.nf-t i{color:var(--teal)}
.nd-grid{display:flex;flex-wrap:wrap;gap:7px}
.nd-chip{cursor:pointer}
.nd-chip input{position:absolute;opacity:0;pointer-events:none}
.nd-chip span{display:inline-flex;gap:7px;align-items:center;padding:7px 12px;border-radius:100px;border:1px solid var(--line);background:var(--bg2);font-size:.82rem;font-weight:600;color:var(--muted);transition:all .2s}
.nd-chip span i{font-size:.65rem;color:transparent;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--dim);display:grid;place-items:center;transition:all .2s}
.nd-chip input:checked+span{border-color:rgba(34,211,182,.6);background:rgba(34,211,182,.1);color:var(--text)}
.nd-chip input:checked+span i{background:var(--teal);border-color:var(--teal);color:#0A0E1A}
.nd-chip input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.nform input,.nform textarea,.nform select{width:100%;background:rgba(10,14,26,.6);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.95rem;outline:none;color:var(--text);resize:vertical;font-family:inherit}
.nform select{appearance:auto}
.nform select option{background:#151C33}
.nform input:focus,.nform textarea:focus,.nform select:focus{border-color:var(--teal)}
.nform input.bad,.nform textarea.bad{border-color:var(--pink)}
.nf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.nf-row{grid-template-columns:1fr}}
.nf-send{justify-content:center}
.nf-send[disabled]{opacity:.6;cursor:wait}
.nf-note{font-size:.78rem;color:var(--dim)}
.nf-note i{margin-right:5px}
.nform .form-msg.ok{color:var(--teal)}
.nform .form-msg.err{color:var(--pink)}
.nf-done{padding:16px;border-radius:14px;background:rgba(34,211,182,.1);border:1px solid rgba(34,211,182,.45);animation:vxIn .4s ease both}
.nf-done b{display:block;font-family:var(--head);font-size:1.05rem;margin-bottom:4px;color:var(--text)}
.nf-done p{color:var(--muted);font-size:.9rem;margin:0 0 10px}
.nform .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none}
