/* CashMax RepoDB Build 2.1.6 - LoansDB Green/White Theme */
/* RepoDB 2.1.4 - Login matched closely to CashMax LoansDB */
.login-screen{position:fixed;inset:0;z-index:9999;background:#fff;display:block;overflow:auto;color:#0a1834}
.login-screen.hidden{display:none!important}
.login-shell{min-height:100vh;background:linear-gradient(180deg,#fff 0%,#fff 68%,#f7fbf5 100%)}
.login-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:2px solid #1e9b22;background:#fff}
.login-header-brand{display:flex;align-items:center;gap:14px;font-size:30px;font-weight:900;letter-spacing:-.6px;color:#0b1834}
.login-header-brand b{color:#1e9b22}.brand-blocks{display:flex;gap:4px}.brand-blocks i{width:22px;height:28px;background:#14951b;display:block}
.login-header-secure{font-size:18px;color:#0a1834}.login-header-secure b{color:#15951c}
.login-main{display:grid;grid-template-columns:minmax(0,60%) minmax(420px,40%);min-height:calc(100vh - 104px)}
.login-intro{padding:48px 54px 36px 74px;border-right:1px solid #1e9b22;display:flex;flex-direction:column;justify-content:flex-start;background:radial-gradient(circle at 22% 70%,rgba(77,181,67,.11),transparent 30%),#fff}
.login-logo-card{width:min(100%,1015px);background:#fff;box-shadow:0 10px 24px rgba(24,40,70,.12);margin:0 auto;border-radius:2px;overflow:hidden}
.login-logo-card img{display:block;width:100%;height:auto}
.login-intro-rule{width:290px;height:3px;background:#15951c;margin:24px auto 24px;border-radius:999px}
.login-intro h2{text-align:center;font-size:22px;line-height:1.25;margin:0 0 28px;color:#0a1834;font-weight:900}
.login-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.login-feature{background:#fff;border:1px solid #dfe5dc;border-top:4px solid #15951c;border-radius:16px;padding:22px 20px;min-height:170px;box-shadow:0 4px 14px rgba(20,38,67,.03)}
.login-feature .feature-icon{font-size:26px;margin-bottom:10px}.login-feature b{display:block;color:#15951c;font-size:18px;margin-bottom:10px}.login-feature:nth-child(2) b,.login-feature:nth-child(4) b{color:#dfa900}.login-feature span{font-size:15px;line-height:1.45;color:#26364d}
.login-banner{display:grid;grid-template-columns:250px 1fr;gap:12px;align-items:center;margin-top:16px;padding:13px 22px;border:1px solid #dfe5dc;border-left:6px solid #f2c400;border-radius:12px;background:#fff;font-size:15px}.login-banner b{color:#15951c}.login-banner span{color:#26364d}
.login-panel-wrap{display:flex;align-items:center;justify-content:center;padding:56px 76px;background:#fff}
.login-card{width:min(100%,560px);background:#fff;border-radius:20px;padding:56px 54px 52px;box-shadow:0 20px 52px rgba(16,32,58,.10);border:1px solid #edf0eb}
.login-card h1{text-align:center;margin:0;color:#0a1834;font-size:36px;font-family:Georgia,'Times New Roman',serif;font-weight:900}.login-card-sub{text-align:center;font-size:18px;margin-top:4px;color:#111e35}.login-card-sub b{color:#15951c}
.login-divider{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0 34px;color:#15951c}.login-divider:before,.login-divider:after{content:'';height:2px;background:#43a743;width:145px}.login-divider span{font-size:18px}
.login-field{margin-bottom:22px}.login-field label{font-weight:900;font-size:15px;color:#0a1834;margin-bottom:9px;display:block}.input-with-icon{height:58px;border:1px solid #d7e0eb;border-radius:9px;display:flex;align-items:center;background:#fff}.input-with-icon>span{width:58px;text-align:center;font-size:24px}.input-with-icon input{border:0!important;box-shadow:none!important;height:54px!important;font-size:16px!important;flex:1;min-width:0}.input-with-icon input:focus{outline:none}.password-eye{border:0;background:transparent;color:#15951c;font-size:20px;width:52px;cursor:pointer}
.login-submit{width:100%;height:52px;border:0;border-radius:9px;background:#15951c;color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(21,149,28,.18)}.login-submit:hover{filter:brightness(.96)}
.login-assist{text-align:center;margin-top:24px;font-size:14px;color:#68758a}.login-assist b{color:#15951c}.login-error{color:#a52d2a;background:#feeceb;border:1px solid #f6c5c2;padding:11px 12px;border-radius:9px;font-size:13px;margin-bottom:18px;display:none}
@media(max-width:1150px){.login-main{grid-template-columns:1fr}.login-intro{border-right:0;border-bottom:1px solid #15951c;padding:34px}.login-panel-wrap{padding:44px 26px}.login-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.login-header{height:auto;min-height:78px;padding:14px 20px;gap:10px;flex-direction:column;justify-content:center}.login-header-brand{font-size:24px}.login-header-secure{font-size:13px}.brand-blocks i{width:16px;height:21px}.login-intro{display:none}.login-main{display:block;min-height:calc(100vh - 78px)}.login-panel-wrap{min-height:calc(100vh - 78px);padding:24px 16px}.login-card{padding:38px 24px}.login-card h1{font-size:31px}}

:root{--nav:#0f172a;--nav2:#172033;--brand:#2563eb;--bg:#f4f7fb;--card:#fff;--ink:#152033;--muted:#68758a;--line:#dce4ee;--good:#087a55;--warn:#b86a08;--bad:#c43b35;--purple:#6d4aff;--shadow:0 8px 28px rgba(20,32,51,.07)}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)} button,input,select,textarea{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav),#111827);color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:23px;font-weight:800;letter-spacing:-.03em}.brand span{color:#71a5ff}.subbrand{font-size:11px;color:#9eabc0;margin:3px 0 18px}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7f8ca0;margin:18px 10px 6px}.nav button{display:flex;width:100%;border:0;background:transparent;color:#c9d2df;padding:10px 11px;border-radius:10px;text-align:left;cursor:pointer;margin:2px 0;gap:9px}.nav button:hover,.nav button.active{background:#202b40;color:#fff}.content{padding:20px 22px 40px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:12px}.top h1{margin:0;font-size:24px;letter-spacing:-.02em}.muted{color:var(--muted)}.small{font-size:12px}.userchip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;box-shadow:var(--shadow)}.view{display:none}.view.active{display:block}.filterbar,.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:13px;margin-bottom:15px}.field{min-width:135px;flex:1}.field.compact{flex:0 1 180px}.field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:var(--muted);margin:0 0 5px}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd6e2;border-radius:9px;background:#fff;padding:9px 10px;color:var(--ink)}.field textarea{min-height:86px;resize:vertical}.btn{border:0;border-radius:9px;background:var(--brand);color:#fff;font-weight:700;padding:9px 12px;cursor:pointer}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.soft{background:#edf4ff;color:#1e5dcc;border:1px solid #cfe0ff}.btn.good{background:var(--good)}.btn.warn{background:#d37a0d}.btn.bad{background:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:15px}.stat{padding:15px}.stat .label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.stat .value{font-size:27px;font-weight:820;margin:6px 0 2px}.stat .hint{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{padding:15px}.card h2,.card h3{margin:0 0 12px;letter-spacing:-.01em}.card h3{font-size:15px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.tablewrap{overflow:auto;border-radius:11px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff;min-width:820px}th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#66748a;background:#f8fafc;text-align:left;padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}td{font-size:12px;padding:9px;border-bottom:1px solid #edf1f5;vertical-align:middle}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f6f9ff}.pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}.pill.pending{background:#fff4dc;color:#9d5c06}.pill.recovered{background:#e6f7ef;color:#086b4b}.pill.hold{background:#efeaff;color:#5a3dc6}.pill.sale{background:#e8f0ff;color:#275fc2}.pill.vol{background:#e8f7ff;color:#166784}.pill.inv{background:#f1f3f6;color:#46556b}.pill.danger{background:#feeceb;color:#a52d2a}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.workspace-head h2{margin:0}.summary-line{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.detailgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.formgrid .wide{grid-column:1/-1}.readonly{background:#f7f9fc!important}.money{font-variant-numeric:tabular-nums}.notice{padding:10px 12px;border-radius:10px;background:#eef5ff;border:1px solid #cee0ff;color:#264f8d;font-size:12px;margin-bottom:12px}.success{background:#eaf8f1;border-color:#bde8d3;color:#116b4d}.warning{background:#fff7e8;border-color:#f2d39d;color:#895708}.invoice-row{display:grid;grid-template-columns:24px 1.2fr 1fr .9fr .8fr 100px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5;font-size:12px}.docbox{border:1px dashed #bcc8d8;border-radius:10px;padding:12px;background:#fafcff}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.admin-card{min-height:230px;padding:20px;cursor:pointer;transition:.18s ease;display:flex;flex-direction:column}.admin-card:hover{transform:translateY(-2px);border-color:#c9d9cd;box-shadow:0 12px 30px rgba(20,32,51,.10)}.admin-icon{font-size:30px;margin-bottom:16px}.admin-card h3{font-size:20px;margin-bottom:10px}.admin-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 14px}.admin-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.admin-tag{border:1px solid #d6e2d9;background:#fbfdfb;border-radius:9px;padding:7px 11px;font-weight:750;font-size:12px}.admin-panel{display:none}.admin-panel.active{display:block}.admin-back{margin-bottom:14px}.admin-heading{margin:0 0 16px;font-size:22px}.toggle{display:flex;gap:8px;align-items:center}.toggle input{width:auto}.import-drop{border:2px dashed #b8c7da;border-radius:14px;padding:30px;text-align:center;background:#fbfdff}.preview-badge{display:inline-block;background:#eef4ff;color:#245fb9;padding:4px 7px;border-radius:7px;font-size:11px;font-weight:700}.footer-note{font-size:11px;color:#7e8ba0;margin-top:18px}.kpirow{display:flex;gap:10px;flex-wrap:wrap}.mini-kpi{flex:1;min-width:150px;border-left:3px solid #d9e5f7;padding-left:10px}.mini-kpi b{font-size:18px}.hidden{display:none!important}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.detailgrid,.grid2,.grid3,.settings-grid{grid-template-columns:1fr}.app{grid-template-columns:200px 1fr}}@media(max-width:760px){.app{display:block}.sidebar{position:relative;height:auto}.content{padding:14px}.stats{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}}

.valuation-factors{grid-column:1/-1;background:#eef6ff;border:1px solid #cfe0ff;border-radius:12px;padding:10px 12px;font-size:12px;color:#345;}
.valuation-factors b{color:#17365d;}

/* Build 2.0.0 LIVE TEST: Accounting multi-invoice ACH payment batches */
.accounting-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.accounting-kpi{padding:14px}.accounting-kpi b{display:block;font-size:24px;margin-top:5px}.payment-actions{display:flex;gap:6px;flex-wrap:wrap}.userchip button{margin-left:8px;border:0;background:transparent;color:#1e5dcc;font-weight:700;cursor:pointer;padding:0}
@media(max-width:850px){.accounting-kpis{grid-template-columns:1fr}}



/* Build 1.0.5: app-wide no-horizontal-scroll layout */
html,body{max-width:100%;overflow-x:hidden}
.app,.content,.view,.card,.filterbar,.grid2,.grid3,.detailgrid,.formgrid,.settings-grid{min-width:0;max-width:100%}
.tablewrap{width:100%;max-width:100%;overflow-x:hidden;overflow-y:visible}
table{width:100%!important;min-width:0!important;max-width:100%;table-layout:fixed}
th,td{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;padding:8px 7px}
th{font-size:9px;line-height:1.2}
td{font-size:11px;line-height:1.3}
td .btn,th .btn{max-width:100%;white-space:normal;padding:7px 8px}
.section-title{flex-wrap:wrap}
.invoice-row{grid-template-columns:minmax(0,32px) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.8fr) minmax(70px,100px);max-width:100%}
.invoice-row>*{min-width:0;overflow-wrap:anywhere}
#invoiceList table{min-width:0;table-layout:fixed} #invoiceList td,#invoiceList th{overflow-wrap:anywhere;white-space:normal}
@media(max-width:1250px){
  .grid2{grid-template-columns:1fr!important}
  .settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1000px){
  .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .invoice-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .settings-grid,.stats{grid-template-columns:1fr!important}
  .invoice-row{grid-template-columns:1fr!important}
  th,td{font-size:10px;padding:6px 5px}
}

.comm-workspace{display:grid;gap:12px}
.comm-group{border:1px solid #d9e3ef;border-radius:12px;background:#fff;overflow:hidden}
.comm-group-head{padding:11px 14px;background:#f7f9fc;border-bottom:1px solid #e5ebf3}
.comm-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 14px;border-bottom:1px solid #edf1f6}
.comm-action-row:last-child{border-bottom:none}
.comm-action-copy{min-width:0}
.comm-action-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.comm-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.comm-status.done{background:#e8f7ef;color:#087a42}
.comm-status.pending{background:#fff5db;color:#9a6200}
.compact-btn{padding:7px 10px!important;font-size:13px!important}
.workflow-steps{display:grid}
.workflow-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf1f6}
.workflow-step:last-child{border-bottom:none}
.workflow-step.complete{background:#fbfffc}
.step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf0fb;color:#245fc5;font-weight:800}
.workflow-step.complete .step-number{background:#e5f6ec;color:#087a42}
.step-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.saved-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.saved-doc-card{border:1px solid #e3e9f1;border-radius:10px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.saved-doc-actions{display:flex;gap:6px}
@media(max-width:900px){
 .comm-action-row,.workflow-step{grid-template-columns:1fr}
 .comm-action-controls,.step-actions{justify-content:flex-start}
 .saved-doc-grid{grid-template-columns:1fr}
}

.admin-import-card{border:1px solid #bfd4f7;background:#fbfdff}
.admin-import-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-import-toolbar input[type=file]{flex:1;min-width:260px;border:1px solid #cfdae8;border-radius:9px;padding:9px;background:#fff}
.admin-import-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}
.admin-import-stats .card{box-shadow:none;padding:12px}
.admin-import-stats .value{font-size:24px}
@media(max-width:760px){.admin-import-stats{grid-template-columns:1fr}}

/* RepoDB 2.1.0 multi-page navigation */
.nav a{display:flex;width:100%;text-decoration:none;background:transparent;color:#c9d2df;padding:10px 11px;border-radius:10px;text-align:left;cursor:pointer;margin:2px 0;gap:9px}
.nav a:hover,.nav a.active{background:#202b40;color:#fff}
.page-only{display:block!important}

/* =========================================================
   CashMax RepoDB Build 2.1.6 - LoansDB Green/White Theme
   App-wide visual theme only; no workflow/logic changes.
   ========================================================= */
:root{
  --nav:#0e7417;
  --nav2:#14951b;
  --brand:#15951c;
  --bg:#f7faf6;
  --card:#ffffff;
  --ink:#0a1834;
  --muted:#66758a;
  --line:#dbe5d8;
  --good:#15951c;
  --warn:#dba900;
  --bad:#c43b35;
  --purple:#6d4aff;
  --shadow:0 8px 26px rgba(15,79,24,.07)
}
body{background:linear-gradient(180deg,#ffffff 0,#f7faf6 190px,#f4f8f2 100%);color:var(--ink)}
.sidebar{
  background:linear-gradient(180deg,#0d7217 0%,#15951c 56%,#0a6513 100%);
  border-right:1px solid #087411;
  box-shadow:5px 0 20px rgba(12,74,20,.08)
}
.brand{color:#fff}.brand span{color:#ffda22}.subbrand{color:#d8f0da}.nav-label{color:#c8e9cb}
.nav a,.nav button{color:#eef9ef}
.nav a:hover,.nav button:hover{background:rgba(255,255,255,.13);color:#fff}
.nav a.active,.nav button.active{background:#fff;color:#117c19;box-shadow:0 5px 14px rgba(0,0,0,.13);font-weight:800}
.content{background:transparent}
.top{padding-bottom:12px;border-bottom:2px solid #15951c}.top h1{color:#0a1834}
.userchip{border-color:#d8e5d7;box-shadow:0 5px 18px rgba(15,79,24,.07)}
.userchip button{color:#15951c}.userchip button:hover{color:#0b6f13}
.filterbar,.card{border-color:#dbe5d8;box-shadow:var(--shadow)}
.filterbar{border-top:3px solid #15951c}
.field label{color:#4d6651}
.field input,.field select,.field textarea{border-color:#cddbcc}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(21,149,28,.16);border-color:#15951c}
.btn{background:#15951c;box-shadow:0 3px 9px rgba(21,149,28,.13)}
.btn:hover{filter:brightness(.96)}
.btn.secondary{background:#fff;color:#0a1834;border-color:#cad9c8;box-shadow:none}
.btn.secondary:hover{background:#f4faf3;border-color:#15951c;color:#107618}
.btn.soft{background:#edf8ec;color:#107618;border-color:#c5e5c2;box-shadow:none}
.btn.good{background:#15951c}.btn.warn{background:#e3ad00;color:#13220f}.btn.bad{background:#c43b35}
.stat{border-top:3px solid #15951c}.stat:nth-child(4n+2){border-top-color:#e1b000}.stat .value{color:#0a1834}
.card h2,.card h3,.workspace-head h2,.admin-heading{color:#0a1834}
.tablewrap{border-color:#dbe5d8}table{background:#fff}th{background:#f0f7ef;color:#38533d;border-bottom-color:#cfdccb}td{border-bottom-color:#e9f0e7}tr.clickable:hover td{background:#f2faf1}
.pill.pending{background:#fff6d9;color:#916900}.pill.recovered{background:#e7f6e8;color:#0c7415}.pill.hold{background:#f8f0d4;color:#836500}.pill.sale{background:#eaf7e9;color:#126d18}.pill.vol{background:#eff8ea;color:#237119}.pill.inv{background:#f1f4ef;color:#485d4b}.pill.danger{background:#feeceb;color:#a52d2a}
.notice{background:#eff8ed;border-color:#c7e4c4;color:#185f1d}.notice.success,.success{background:#e8f7e9;border-color:#b9dfb7;color:#106a16}.notice.warning,.warning{background:#fff8e1;border-color:#efd88c;color:#795b00}
.readonly{background:#f7faf6!important}.docbox{border-color:#bfd3bd;background:#fbfdfb}
.admin-card{border-top:4px solid #15951c}.admin-card:nth-child(4n+2){border-top-color:#e2af00}.admin-card:hover{border-color:#9dcc9a;box-shadow:0 12px 30px rgba(15,79,24,.11)}
.admin-tag{border-color:#cde0ca;background:#f8fcf7;color:#245729}
.import-drop{border-color:#9fc99d;background:#fbfefb}.preview-badge{background:#edf8ec;color:#14721a}
.mini-kpi{border-left-color:#a8d7a5}.valuation-factors{background:#eff8ed;border-color:#c6e4c3;color:#31543a}.valuation-factors b{color:#0f6516}
.comm-group{border-color:#d7e5d5}.comm-group-head{background:#f2f8f1;border-bottom-color:#dce8da}.comm-status.done{background:#e6f7e8;color:#0b7514}.comm-status.pending{background:#fff5d7;color:#8e6800}
.workflow-step.complete{background:#f7fcf6}.step-number{background:#eaf6e8;color:#14711a}.workflow-step.complete .step-number{background:#dff2df;color:#0b7514}
.admin-import-card{border-color:#b9d9b6;background:#fbfefb}.admin-import-toolbar input[type=file]{border-color:#c8d9c5}
.login-submit{background:#15951c}

/* CashMax gold secondary accents */
.section-title .btn.secondary,.toolbar .btn.secondary{border-bottom:2px solid #e0ad00}

/* More LoansDB-like responsive sidebar on smaller screens */
@media(max-width:760px){
  .sidebar{background:linear-gradient(135deg,#0d7217,#15951c)}
}

/* RepoDB 2.1.7 - Light sidebar theme to match CashMax LoansDB */
:root{
  --sidebar-bg:#ffffff;
  --sidebar-border:#d9e3dc;
  --sidebar-text:#0f2238;
  --sidebar-muted:#6b7a90;
  --sidebar-accent:#14931f;
  --sidebar-accent-soft:#eef8ef;
  --sidebar-accent-border:#cde8cf;
  --sidebar-gold:#e7b400;
}

/* Sidebar shell */
.sidebar,
.app-sidebar,
nav.sidebar,
aside.sidebar{
  background:var(--sidebar-bg) !important;
  color:var(--sidebar-text) !important;
  border-right:1px solid var(--sidebar-border) !important;
  box-shadow:0 8px 30px rgba(15,34,56,.05) !important;
}

/* Brand area */
.sidebar .brand,
.sidebar .sidebar-brand,
.sidebar .logo,
.app-sidebar .brand{
  color:var(--sidebar-text) !important;
}
.sidebar .brand strong,
.sidebar .sidebar-brand strong,
.app-sidebar .brand strong{
  color:var(--sidebar-text) !important;
}
.sidebar .brand .accent,
.sidebar .sidebar-brand .accent,
.sidebar .logo .accent,
.app-sidebar .brand .accent{
  color:var(--sidebar-accent) !important;
}
.sidebar small,
.sidebar .subtitle,
.sidebar .brand-subtitle,
.app-sidebar small{
  color:var(--sidebar-muted) !important;
}

/* Section labels */
.sidebar .section-title,
.sidebar .nav-section,
.sidebar .menu-section,
.sidebar .group-label,
.app-sidebar .section-title{
  color:var(--sidebar-muted) !important;
  border-color:var(--sidebar-border) !important;
}

/* Navigation links */
.sidebar a,
.sidebar button,
.sidebar .nav-link,
.sidebar .menu-item,
.app-sidebar a{
  color:var(--sidebar-text) !important;
  background:transparent !important;
  border-color:transparent !important;
}

/* Navigation hover */
.sidebar a:hover,
.sidebar button:hover,
.sidebar .nav-link:hover,
.sidebar .menu-item:hover,
.app-sidebar a:hover{
  background:#f7faf8 !important;
  color:var(--sidebar-accent) !important;
}

/* Active navigation */
.sidebar a.active,
.sidebar .active,
.sidebar .nav-link.active,
.sidebar .menu-item.active,
.app-sidebar a.active{
  background:var(--sidebar-accent-soft) !important;
  color:var(--sidebar-accent) !important;
  border:1px solid var(--sidebar-accent-border) !important;
  border-left:4px solid var(--sidebar-accent) !important;
  box-shadow:none !important;
  font-weight:700 !important;
}

/* Icons follow text */
.sidebar a svg,
.sidebar button svg,
.sidebar .nav-link svg,
.sidebar .menu-item svg,
.app-sidebar a svg{
  color:currentColor !important;
  fill:currentColor !important;
}

/* If links use emoji/icon spans, keep them visible without forcing green blocks */
.sidebar .icon,
.sidebar .nav-icon,
.sidebar .menu-icon{
  background:transparent !important;
  color:inherit !important;
}

/* Fine separators */
.sidebar hr,
.sidebar .divider,
.sidebar .separator{
  border-color:var(--sidebar-border) !important;
  background:var(--sidebar-border) !important;
}

/* Keep sign-out/profile area consistent */
.sidebar .user-card,
.sidebar .profile,
.sidebar .sidebar-footer{
  background:#fafcfb !important;
  border-color:var(--sidebar-border) !important;
  color:var(--sidebar-text) !important;
}


/* =========================================================
   RepoDB 2.1.8 - FORCE LoansDB-style light navigation
   ========================================================= */
html body .app .sidebar{
  background:#ffffff !important;
  background-image:none !important;
  color:#10233b !important;
  border-right:1px solid #d7e1da !important;
  box-shadow:4px 0 18px rgba(16,35,59,.04) !important;
}
html body .app .sidebar .brand{
  color:#10233b !important;
}
html body .app .sidebar .brand span{
  color:#15931f !important;
}
html body .app .sidebar .subbrand{
  color:#6f7d8d !important;
}
html body .app .sidebar .nav-label{
  color:#7a8796 !important;
}
html body .app .sidebar .nav a,
html body .app .sidebar .nav button{
  background:transparent !important;
  color:#10233b !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
}
html body .app .sidebar .nav a:hover,
html body .app .sidebar .nav button:hover{
  background:#f4f9f4 !important;
  color:#11831a !important;
}
html body .app .sidebar .nav a.active,
html body .app .sidebar .nav button.active{
  background:#eef8ef !important;
  color:#0f8218 !important;
  border:1px solid #cfe7d1 !important;
  border-left:4px solid #14931f !important;
  box-shadow:none !important;
  font-weight:800 !important;
}
@media(max-width:760px){
  html body .app .sidebar{
    background:#ffffff !important;
    background-image:none !important;
  }
}

/* RepoDB 2.2.2 final sidebar override */
html body .sidebar,
html body .app .sidebar{
  background:#fff !important;
  background-image:none !important;
  color:#10233b !important;
  border-right:1px solid #d9e3dc !important;
}
html body .sidebar .brand{color:#10233b !important}
html body .sidebar .brand span{color:#15931f !important}
html body .sidebar .subbrand,
html body .sidebar .nav-label{color:#718096 !important}
html body .sidebar .nav a{color:#10233b !important;background:transparent !important}
html body .sidebar .nav a:hover{background:#f4f9f4 !important;color:#11831a !important}
html body .sidebar .nav a.active{
 background:#eef8ef !important;
 color:#0f8218 !important;
 border:1px solid #cfe7d1 !important;
 border-left:4px solid #14931f !important;
}

/* RepoDB 2.2.5 strict auth gate */


/* RepoDB 2.2.8 - visible authentication verification gate */
}

/* RepoDB 2.3.3 - LoansDB-style User Management */
.repo-modal{position:fixed;inset:0;background:rgba(10,24,52,.42);display:none;align-items:center;justify-content:center;z-index:10000;padding:20px}
.repo-modal.open{display:flex}
.repo-modal-card{background:#fff;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.22);width:min(760px,96vw);max-height:92vh;overflow:auto}
.user-modal-card{width:min(760px,96vw)}
.repo-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #dce7dd}
.repo-modal-head h2{margin:0}
.modal-close{width:42px;height:42px;border:1px solid #169823;border-radius:12px;background:#fff;color:#14931f;font-size:26px;cursor:pointer}
.repo-modal-card form{padding:20px 24px 0}
.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.repo-modal-foot{display:flex;justify-content:flex-end;gap:10px;margin:22px -24px 0;padding:16px 24px;border-top:1px solid #dce7dd}
.user-actions{white-space:nowrap}
.danger-text{color:#b42318;font-weight:700;margin-top:3px}
@media(max-width:700px){.form-grid2{grid-template-columns:1fr}.user-actions{white-space:normal}}

/* RepoDB 2.4.0 - LoansDB-equivalent required-password overlay */
.force-password-overlay{
 position:fixed;inset:0;background:rgba(15,23,42,.55);
 display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px
}
.force-password-overlay.hidden{display:none}
.force-password-card{
 background:#fff;border-radius:18px;border:1px solid #d9eadb;
 box-shadow:0 20px 70px rgba(0,0,0,.25);
 width:min(460px,94vw);padding:24px;color:#06142e
}
.force-password-card h2{margin:0 0 8px;color:#06142e;font-size:26px}
.force-password-card p{color:#64748b;margin:0 0 18px}
.force-password-card label{display:block;margin:12px 0 6px;font-weight:800}
.force-password-field{position:relative;display:flex;align-items:center}
.force-password-field input{
 width:100%;border:1px solid #d9eadb;border-radius:10px;
 padding:12px 46px 12px 12px;font:inherit
}
.force-password-field input:focus{outline:none;border-color:#11951d;box-shadow:0 0 0 3px rgba(17,149,29,.10)}
.force-password-field .password-toggle{
 position:absolute;right:8px;border:0;background:transparent;cursor:pointer;font-size:16px
}
.password-match-error,.password-change-message{margin:10px 0;color:#dc2626;font-weight:800;font-size:13px}
.password-checklist{
 display:grid;gap:6px;background:#f8faf8;border:1px solid #e2ebe3;
 border-radius:10px;padding:12px;margin:12px 0;font-size:13px;color:#b42318
}
.password-checklist .valid{color:#07851a;font-weight:700}
.force-password-save{
 width:100%;margin-top:8px;border:0;border-radius:10px;padding:13px 18px;
 background:#159d20;color:white;font-weight:900;font-size:16px;cursor:pointer
}
.force-password-save:disabled{opacity:.45;cursor:not-allowed}

/* 2.4.1 Users & Security - LoansDB-style layout */
.loan-users-page{background:#fff;border:1px solid #dce8dd;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(15,35,20,.06)}
.loan-users-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) 150px 150px auto;gap:14px;align-items:end}
.loan-filter label{display:block;font-weight:900;font-size:13px;margin:0 0 7px;color:#07162f}
.loan-filter input,.loan-filter select{width:100%;height:44px;border:1px solid #cfe0d1;border-radius:11px;padding:0 13px;background:#fff;font:inherit}
.loan-add-user{height:44px;white-space:nowrap}
.loan-users-help{margin:16px 0;color:#53657b;font-size:14px;line-height:1.45}
.loan-users-table-wrap{overflow-x:auto;border:1px solid #d9e6da;border-radius:14px}
.loan-users-table{width:100%;border-collapse:collapse;min-width:1050px}
.loan-users-table th{background:#dfece3;color:#07162f;text-align:left;padding:13px 12px;font-size:12px;font-weight:900}
.loan-users-table td{padding:14px 12px;border-top:1px solid #e5eee6;vertical-align:middle;font-size:14px}
.loan-user-name{font-weight:900;color:#07162f}
.user-actions{display:flex;gap:7px;flex-wrap:wrap}
.danger-outline{background:#fff;color:#b42318;border:1px solid #e3b6b2}
.loan-user-modal{width:min(760px,94vw);padding:0;overflow:hidden;border-radius:20px}
.loan-user-modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid #e1ebe2}
.loan-user-modal-head h2{margin:0;font-size:26px}
.loan-modal-x{width:42px;height:42px;border:1px solid #159d20;background:#fff;color:#159d20;border-radius:11px;font-size:28px;line-height:1;cursor:pointer}
.loan-user-modal-body{padding:22px}
.loan-user-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px;border-top:1px solid #e1ebe2;background:#fff}
@media(max-width:900px){.loan-users-toolbar{grid-template-columns:1fr 1fr}.loan-add-user{width:100%}}

/* 2.4.2 User modal behavior */
.repo-modal{display:none !important}
.repo-modal.open{
 display:flex !important;
 position:fixed;
 inset:0;
 z-index:100000;
 align-items:center;
 justify-content:center;
 padding:24px;
 background:rgba(17,28,43,.42)
}
.loan-user-modal{
 width:min(790px,96vw);
 max-height:88vh;
 overflow:auto;
 border-radius:18px;
 background:#fff;
 border:1px solid #dbe7dc;
 box-shadow:0 28px 80px rgba(15,23,42,.28)
}
.loan-user-modal-head{
 position:sticky;
 top:0;
 z-index:2;
 background:#fff;
 padding:20px 24px;
 border-bottom:1px solid #e3ece4
}
.loan-user-modal-head h2{font-size:26px}
.loan-user-modal-body{padding:22px 24px 12px}
.loan-user-modal-foot{
 position:sticky;
 bottom:0;
 z-index:2;
 background:#fff;
 padding:16px 24px;
 border-top:1px solid #e3ece4
}
.loan-user-modal .field{margin-bottom:14px}
.loan-user-modal .field label{font-weight:900;color:#07162f;margin-bottom:7px}
.loan-user-modal .field input,
.loan-user-modal .field select{
 min-height:44px;
 border:1px solid #d7e5d9;
 border-radius:10px;
 padding:10px 12px;
 font:inherit
}
