:root{--blue:#103b6d;--blue2:#184f84;--gold:#e3b94f;--bg:#f4f7fb;--text:#172033;--muted:#687386;--danger:#b9362b;--ok:#16805d;--border:#dfe5ee}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:#174d8a}.split{min-height:100vh;display:grid;grid-template-columns:55% 45%}.hero{background:linear-gradient(145deg,var(--blue),var(--blue2));color:white;padding:7vh 6vw;display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:24px}.brand img{width:52px}.hero h1{font-size:clamp(42px,5vw,76px);line-height:1.08;max-width:760px;margin:0}.hero p{font-size:20px;opacity:.9}.panel{padding:28px 7vw;display:flex;flex-direction:column;justify-content:center;position:relative}.lang-wrap{position:absolute;right:30px;top:26px}.lang-select{padding:11px 18px;border:1px solid var(--border);border-radius:12px;background:white;font-weight:700}.card{background:white;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(23,32,51,.06)}.login-card{max-width:560px;width:100%;margin:auto}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{padding:13px 14px;border:1px solid var(--border);border-radius:10px;font-size:15px;width:100%}.btn{border:0;border-radius:10px;padding:13px 18px;font-weight:800;cursor:pointer}.btn-primary{background:var(--blue);color:white}.btn-secondary{background:#edf2f8;color:var(--blue)}.btn-danger{background:#fee9e7;color:var(--danger)}.btn-gold{background:var(--gold);color:#2f260c}.full{width:100%}.toast{position:fixed;right:24px;bottom:24px;padding:14px 18px;border-radius:12px;background:#1d2a3d;color:white;display:none;z-index:99}.toast.error{background:var(--danger)}.toast.show{display:block}
.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--blue);color:white;padding:24px 18px}.sidebar .brand{font-size:19px;margin-bottom:28px}.nav button{width:100%;display:block;text-align:left;border:0;background:transparent;color:white;padding:12px 14px;border-radius:9px;margin:4px 0;cursor:pointer;font-weight:700}.nav button.active,.nav button:hover{background:rgba(255,255,255,.14)}.main{padding:24px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.top-actions{display:flex;gap:10px;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}.stat{background:white;border:1px solid var(--border);border-radius:15px;padding:18px}.stat strong{display:block;font-size:28px;margin-top:8px}.section{display:none}.section.active{display:block}.section-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0}.table-wrap{overflow:auto;background:white;border:1px solid var(--border);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:850px}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.table th{background:#f8fafc}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok{background:#dff5eb;color:var(--ok)}.badge.warn{background:#fff2cc;color:#7b5a00}.badge.danger{background:#fde4e1;color:var(--danger)}.actions{display:flex;gap:6px}.actions button{padding:7px 9px}.modal{position:fixed;inset:0;background:rgba(10,20,35,.5);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.show{display:flex}.modal-card{background:white;border-radius:16px;padding:22px;max-width:700px;width:100%;max-height:90vh;overflow:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.loan-card h3{margin-top:0}.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.portal{max-width:1100px;margin:auto;padding:24px}.portal-head{display:flex;justify-content:space-between;align-items:center}.bank-number{font-size:24px;font-weight:900;letter-spacing:1px}.muted{color:var(--muted)}.hidden{display:none!important}
@media(max-width:900px){.split{grid-template-columns:1fr}.hero{min-height:36vh}.hero h1{font-size:42px}.panel{min-height:64vh}.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:20;padding:12px}.sidebar .brand{margin-bottom:8px}.nav{display:flex;overflow:auto}.nav button{min-width:max-content}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.main{padding:14px}}
@media(max-width:520px){.stats{grid-template-columns:1fr}.hero{padding:30px 22px}.panel{padding:70px 18px 30px}.lang-wrap{right:18px}.portal{padding:14px}.portal-head{align-items:flex-start;gap:10px}}
.clickable{cursor:pointer;transition:.15s}.clickable:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,32,51,.10)}

.pro-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.stat small{display:block;margin-top:6px;color:var(--muted);font-weight:700}
.search-input{max-width:340px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:white}
.report-stats{grid-template-columns:repeat(4,minmax(180px,1fr))}
.mini-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
@media(max-width:800px){.report-stats{grid-template-columns:repeat(2,1fr)}}

.dashboard-filter{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:16px 18px}.date-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.date-controls input{padding:12px;border:1px solid var(--border);border-radius:10px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.payment-filter.active{background:var(--blue);color:white}.submission-card{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px 0;border-bottom:1px solid var(--border)}.submission-note{margin-top:6px;max-width:420px}.receipt-preview{max-width:100%;max-height:65vh;border-radius:10px}.btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.dashboard-filter{align-items:flex-start;flex-direction:column;gap:12px}.date-controls{width:100%}.date-controls input{flex:1;min-width:150px}}

.batch-bank{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.batch-bank select{min-width:200px}.payment-progress{height:9px;background:#e7edf4;border-radius:999px;overflow:hidden;margin:8px 0}.payment-progress>span{display:block;height:100%;background:linear-gradient(90deg,#1b74d1,#29a36a);width:0}.session-warning{position:fixed;inset:0;background:#0b1c3188;display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}.session-warning.show{display:flex}.session-warning .card{max-width:420px;width:100%}.loan-card .current-pay{border-top:1px solid #e8edf3;margin-top:10px;padding-top:10px}.muted-small{font-size:.86rem;color:#6d7783}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.resource-card h3{margin:0 0 8px}.resource-count{font-size:34px;font-weight:900;color:var(--blue)}.wide{max-width:1050px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tab-panel{display:none}.tab-panel.active{display:block}.profile-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.file-card{border:1px solid var(--border);border-radius:12px;padding:12px}.file-thumb{width:100%;height:140px;object-fit:cover;border-radius:8px;background:#eef2f7}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px}.permission-item{padding:10px;border:1px solid var(--border);border-radius:10px}.locked{opacity:.55;position:relative}.locked:after{content:'🔒';margin-left:7px}.btn.locked{pointer-events:auto}.click-link{color:#174d8a;font-weight:800;cursor:pointer;text-decoration:underline}.portal-tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.history-payment{font-size:13px;padding:7px 0;border-bottom:1px dashed var(--border)}.loan-assignment{background:#f8fafc;border-radius:10px;padding:10px;margin-top:10px}.loan-assignment p{margin:5px 0}.overpay{background:#fff2cc;padding:10px;border-radius:10px;margin:10px 0}.checkbox-list{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:8px}.checkbox-row{display:flex;gap:10px;align-items:center;padding:9px;border-bottom:1px solid var(--border)}
@media(max-width:800px){.permission-grid{grid-template-columns:1fr}.profile-head{flex-direction:column}}
.bank-copy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.btn-copy{padding:7px 12px;font-size:.86rem}.loan-assignment>div{line-height:1.65}.loan-assignment a{display:inline-block;margin-top:4px}

.payment-assignment{margin:18px 0 22px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#f8fafc}.payment-assignment h3{margin:0 0 14px}.payment-info-grid{display:grid;gap:12px}.payment-info-grid>div{display:flex;flex-direction:column;gap:4px}.payment-account-row{display:flex!important;flex-direction:row!important;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.payment-account-row>div{display:flex;flex-direction:column;gap:4px}.payment-contacts{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.payment-contacts>div{margin-top:8px}.payment-contacts a{display:inline-block;margin-left:6px}

/* Payment notification indicators */
.notification-bell{position:relative;border:1px solid var(--border);background:white;border-radius:12px;width:46px;height:44px;font-size:20px;cursor:pointer}.notification-count{position:absolute;right:-6px;top:-7px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid white}.nav button[data-section="paymentSubmissions"]{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-count{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#ef4444;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}.pending-stat{border-color:#f1cf68;background:#fffaf0}.pending-stat strong{color:#a86600}.top-actions .hidden{display:none!important}

.home-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.home-contacts>div{padding:14px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fbff}.home-contacts a{display:inline-block;margin-top:6px;font-weight:700;text-decoration:none}.btn[disabled]{cursor:not-allowed;opacity:.72}

/* Dashboard receiving-bank collection totals */
.dashboard-bank-section{margin-top:22px}.dashboard-bank-section h3{margin:0 0 12px}.bank-total-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.bank-total-card{background:white;border:1px solid var(--border);border-radius:15px;padding:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.bank-total-card>div{display:flex;flex-direction:column;gap:6px}.bank-total-card small,.bank-total-card span{color:var(--muted);font-weight:700}.bank-total-card>div:last-child{text-align:right}.bank-total-card>div:last-child strong{font-size:24px;color:var(--blue)}@media(max-width:520px){.bank-total-card{align-items:flex-start;flex-direction:column}.bank-total-card>div:last-child{text-align:left}}
