:root{--navy:#0a2441;--navy2:#12385d;--blue:#1677ff;--blue2:#eaf3ff;--ink:#142033;--muted:#6d7888;--line:#e5eaf0;--bg:#f5f7fa;--green:#14966d;--amber:#d68910;--red:#d04d5e;--white:#fff;--shadow:0 18px 50px rgba(18,42,69,.12)}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{padding:48px 8vw 44px;background:linear-gradient(145deg,#071b31,#113d66);color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-240px;bottom:-160px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope;font-weight:800;font-size:21px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--blue);color:#fff;font-size:14px}.brand-light{color:#fff}.brand-copy{max-width:620px;position:relative;z-index:1}.eyebrow{display:block;color:var(--blue);font-size:11px;letter-spacing:.17em;font-weight:800;margin-bottom:15px}.eyebrow.light{color:#66aaff}.brand-copy h1{font-family:Manrope;font-size:clamp(42px,5vw,69px);line-height:1.04;letter-spacing:-.045em;margin:0 0 25px}.brand-copy p{font-size:18px;color:#b9c9d9;line-height:1.7;max-width:570px}.trust-row{display:flex;gap:25px;color:#b9c9d9;font-size:13px;z-index:1}.trust-row span::first-letter{color:#52d3a3}.login-panel{background:#fff;display:grid;place-items:center;padding:40px}.login-form{width:min(420px,100%)}.login-form h2{font:800 31px Manrope;margin:0 0 9px;letter-spacing:-.03em}.muted,.section-head p,.modal-head p{color:var(--muted)}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin-top:20px}input,select,textarea{border:1px solid #d9e0e8;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);outline:0;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,119,255,.1)}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 7px 18px rgba(22,119,255,.2)}.btn-primary:hover{background:#0869e8}.btn-secondary{background:#edf1f5;color:#334155}.btn-block{width:100%;margin-top:25px;padding:14px}.demo-note{font-size:12px;line-height:1.7;text-align:center;color:var(--muted);background:#f5f8fc;border-radius:9px;padding:12px;margin-top:20px}.demo-note code{color:#34506d}.mobile-brand{display:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{position:fixed;width:244px;height:100vh;background:var(--navy);padding:29px 18px;display:flex;flex-direction:column;color:white;z-index:5}.sidebar .brand{padding:0 10px 33px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#9fb1c3;text-align:left;padding:12px 14px;border-radius:8px;font-weight:600}.nav-item span{display:inline-block;width:28px;font-size:18px}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:20px 4px 0;display:flex;align-items:center;gap:8px}.profile{display:flex;align-items:center;gap:10px;min-width:0}.profile>div:last-child{min-width:0}.profile strong,.profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile strong{font-size:12px}.profile small{font-size:10px;color:#8fa6bc;margin-top:3px}.avatar{width:35px;height:35px;flex:none;border-radius:9px;background:#2365a8;display:grid;place-items:center;font-weight:800}.logout{margin-left:auto;background:none;border:0;color:#9fb1c3;font-size:20px}.main{grid-column:2}.topbar{height:106px;background:#fff;border-bottom:1px solid var(--line);padding:25px 34px;display:flex;align-items:center}.topbar h1{font:800 23px Manrope;margin:0}.topbar p{font-size:13px;color:var(--muted);margin:5px 0 0}.top-actions{margin-left:auto;display:flex;align-items:center;gap:13px}.date-chip{font-size:12px;color:var(--muted);padding-right:10px}.menu-btn{display:none}.content{padding:27px 34px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;align-items:center;gap:14px}.stat-icon{width:44px;height:44px;border-radius:11px;background:var(--blue2);color:var(--blue);display:grid;place-items:center;font-size:20px}.stat:nth-child(3) .stat-icon{background:#fff6df;color:var(--amber)}.stat:nth-child(4) .stat-icon{background:#e8f8f1;color:var(--green)}.stat small{color:var(--muted);display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stat strong{font:800 22px Manrope;display:block;margin-top:4px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:30px 0 15px}.section-head h2{font:800 19px Manrope;margin:0}.section-head p{font-size:13px;margin:4px 0 0}.filters{display:flex;gap:9px}.filters input,.filters select{padding:9px 11px;font-size:12px}.table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.loan-table{width:100%;border-collapse:collapse}.loan-table th{text-align:left;background:#fafbfc;padding:12px 16px;color:#798493;font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line)}.loan-table td{padding:14px 16px;font-size:12px;border-bottom:1px solid #edf0f3}.loan-table tr:last-child td{border:0}.loan-table tbody tr:hover{background:#f9fbfe}.ref{font-weight:800;color:#175fbd}.borrower{font-weight:700}.subtext{display:block;color:var(--muted);font-size:10px;margin-top:3px}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800;text-transform:capitalize}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pending{background:#fff6df;color:#b9780d}.status-approved{background:#e7f7f0;color:#117a59}.status-needs_correction{background:#fff0f1;color:#be4352}.review-dots{display:flex;gap:4px}.review-dot{width:23px;height:23px;border-radius:6px;display:grid;place-items:center;font-size:9px;font-weight:800;background:#eef2f6;color:#8390a0}.review-dot.approved{background:#ddf4ea;color:#11815e}.review-dot.needs_correction{background:#ffe5e8;color:#c53f50}.view-btn{border:1px solid var(--line);background:white;color:#41546a;border-radius:7px;padding:6px 9px;font-weight:700}.empty{text-align:center;padding:55px;color:var(--muted)}dialog{border:0;padding:0}.modal{width:min(720px,calc(100% - 30px));border-radius:15px;box-shadow:var(--shadow);overflow:auto;max-height:92vh}.modal::backdrop{background:rgba(5,20,36,.6);backdrop-filter:blur(2px)}.modal-head{padding:25px 28px 19px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-head h2{font:800 23px Manrope;margin:0}.modal-head p{font-size:12px;margin:7px 0 0}.icon-btn{border:0;background:#f0f3f6;width:32px;height:32px;border-radius:8px;font-size:21px}.modal form{padding:4px 28px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.span-2{grid-column:span 2}.file-label .drop-zone{position:relative;border:1.5px dashed #c5d0dc;border-radius:10px;padding:18px;display:grid;place-items:center;background:#fafcff}.drop-zone b{font-size:22px;color:var(--blue)}.drop-zone small{color:var(--muted);font-weight:400;margin-top:3px}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin:25px -28px 0;padding:18px 28px;border-top:1px solid var(--line);background:#fafbfc}.detail-modal{width:min(790px,calc(100% - 30px))}.detail-body{padding:23px 28px}.detail-top{display:flex;justify-content:space-between;gap:15px}.amount-big{font:800 29px Manrope}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0}.detail-item{background:#f7f9fb;border-radius:9px;padding:12px}.detail-item small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700}.detail-item strong{display:block;font-size:12px;margin-top:5px}.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.review-card{border:1px solid var(--line);border-radius:10px;padding:14px}.review-card h4{text-transform:capitalize;margin:0 0 8px;font-size:13px}.review-card p{color:var(--muted);font-size:11px;min-height:30px}.review-actions{display:flex;gap:5px;margin-top:10px}.review-actions button{border:0;padding:6px;border-radius:6px;font-size:10px;font-weight:700}.approve{background:#dff5e9;color:#107a56}.correct{background:#ffe8ea;color:#bd3d4d}.pn-link{color:var(--blue);font-weight:700;text-decoration:none}.toast{position:fixed;right:25px;bottom:25px;background:#15283e;color:white;padding:13px 18px;border-radius:9px;box-shadow:var(--shadow);font-size:13px;transform:translateY(90px);opacity:0;transition:.3s;z-index:20}.toast.show{transform:none;opacity:1}.toast.error{background:#a72f3e}
@media(max-width:980px){.stats{grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:78px 1fr}.sidebar{width:78px}.sidebar .brand span:last-child,.nav-item:not(.active){font-size:0}.sidebar .brand{padding-left:2px}.nav-item span{width:auto;font-size:20px}.profile>div:not(.avatar),.logout{display:none}.main{grid-column:2}.review-list{grid-template-columns:1fr}.loan-table th:nth-child(3),.loan-table td:nth-child(3),.loan-table th:nth-child(5),.loan-table td:nth-child(5){display:none}}
@media(max-width:700px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-panel{padding:24px;min-height:100vh}.mobile-brand{display:flex;margin-bottom:65px}.app-shell{display:block}.sidebar{transform:translateX(-100%);width:244px;transition:.25s}.sidebar.open{transform:none}.sidebar .brand span:last-child,.nav-item:not(.active){font-size:inherit}.nav-item span{width:28px}.profile>div:not(.avatar),.logout{display:block}.main{margin:0}.topbar{height:auto;padding:18px}.topbar h1{font-size:19px}.topbar p,.date-chip{display:none}.menu-btn{display:block;background:none;border:0;font-size:20px;margin-right:10px}.top-actions .btn{font-size:0;padding:11px}.top-actions .btn:first-letter{font-size:18px}.content{padding:18px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px;gap:9px}.stat-icon{width:36px;height:36px}.stat strong{font-size:17px}.section-head{display:block}.filters{margin-top:13px}.filters input{width:55%}.loan-table th:nth-child(4),.loan-table td:nth-child(4),.loan-table th:nth-child(6),.loan-table td:nth-child(6){display:none}.loan-table td,.loan-table th{padding:11px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.detail-grid{grid-template-columns:1fr 1fr}.trust-row{display:none}.admin-hero{display:block}.admin-actions{margin-top:15px;flex-wrap:wrap}}
.admin-hero{background:linear-gradient(120deg,#fff,#f1f7ff);border:1px solid var(--line);border-radius:14px;padding:25px 27px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-hero h2{font:800 24px Manrope;margin:0}.admin-hero p{color:var(--muted);font-size:13px;margin:6px 0 0}.admin-actions{display:flex;gap:8px}.admin-tabs{display:flex;gap:5px;margin-bottom:12px;border-bottom:1px solid var(--line)}.admin-tabs button{border:0;background:transparent;padding:11px 17px;color:var(--muted);font-weight:700;font-size:12px;border-bottom:2px solid transparent}.admin-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.crud-actions{display:flex;gap:6px;justify-content:flex-end}.delete-btn{border:1px solid #f2cbd1;background:#fff5f6;color:#bd3d4d;border-radius:7px;padding:6px 9px;font-weight:700;font-size:12px}.delete-btn:hover{background:#ffe8eb}
@media(max-width:700px){.admin-hero{display:block}.admin-actions{margin-top:15px;flex-wrap:wrap}}
.loan-modal{width:min(1040px,calc(100% - 30px))}.loan-modal form{padding-top:12px}.loan-modal fieldset{border:1px solid var(--line);border-radius:11px;margin:14px 0;padding:5px 18px 20px}.loan-modal legend{font:800 14px Manrope;color:var(--navy2);padding:0 8px}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.span-3{grid-column:span 3}.check-group{min-height:44px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;border:1px solid #d9e0e8;border-radius:9px;padding:7px 11px}.check-group label{display:flex;flex-direction:row;align-items:center;gap:5px;margin:0;font-weight:500}.check-group input{margin:0}.loan-modal label small{color:var(--muted);font-weight:400}.detail-body h3{font:800 14px Manrope;margin:22px 0 9px;color:var(--navy2)}
@media(max-width:800px){.form-grid.cols-3{grid-template-columns:1fr 1fr}.span-3{grid-column:span 2}.loan-modal fieldset{padding-left:12px;padding-right:12px}}
@media(max-width:520px){.form-grid.cols-3{grid-template-columns:1fr}.span-3{grid-column:span 1}}
.admin-actions{flex-wrap:wrap;justify-content:flex-end}.admin-actions a{text-decoration:none}.import-help{font-size:11px;color:var(--muted);margin:-3px 0 11px}.import-help code{background:#eaf1f8;color:#315475;padding:3px 6px;border-radius:5px}.import-help span{margin-left:7px}[hidden]{display:none!important}input[readonly]{background:#f2f5f8;color:#566477;cursor:not-allowed}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.preview-item{background:#fff;padding:11px 13px;min-height:62px}.preview-item small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.preview-item strong{display:block;font-size:12px;margin-top:5px;overflow-wrap:anywhere}.preview-actions{margin:0;padding-left:28px;padding-right:28px}.preview-body{max-height:65vh;overflow:auto}.attachment-modal{width:min(1100px,calc(100% - 24px));height:min(90vh,850px)}.attachment-frame{height:calc(100% - 88px);background:#e8edf3}.attachment-frame iframe{width:100%;height:100%;border:0;background:#fff}@media(max-width:650px){.preview-grid{grid-template-columns:1fr 1fr}}
.loan-modal input[name="reference_no"],.loan-modal input[name="branch"],.loan-modal input[name$="_name"],.loan-modal input[name="house_address"],.loan-modal input[name="barangay"],.loan-modal input[name="city"],.loan-modal input[name="province"],.loan-modal input[name="co_maker"],.loan-modal input[name="prepared_by"],.loan-modal input[name="designation"],.loan-modal input[name="business_city"],.loan-modal input[name="business_province"],.loan-modal textarea[name="specific_purpose"]{text-transform:uppercase}
.system-clock,.connection-chip{font-size:11px;color:var(--muted);white-space:nowrap}.connection-chip{display:inline-flex;align-items:center;gap:6px}.connection-chip i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(20,150,109,.12)}.connection-chip.offline{color:var(--red)}.connection-chip.offline i{background:var(--red)}.top-icon-btn{position:relative;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink)}.top-icon-btn b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:var(--red);color:#fff;font-size:10px;display:grid;place-items:center}.notification-list{padding:10px 22px 24px}.notification-list button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:13px 6px;text-align:left;display:flex;justify-content:space-between;gap:15px}.notification-list span strong,.notification-list span{display:block}.notification-list span{font-size:12px}.notification-list span strong{color:var(--blue);margin-bottom:3px}.notification-list small{color:var(--muted);text-align:right}
html[data-theme="dark"]{--ink:#e5edf6;--muted:#9aabbd;--line:#2b3b4d;--bg:#0c1622;--white:#142131;--blue2:#19334e}html[data-theme="dark"] body,html[data-theme="dark"] .main{background:var(--bg)}html[data-theme="dark"] .topbar,html[data-theme="dark"] .stat,html[data-theme="dark"] .table-card,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] dialog,html[data-theme="dark"] .preview-item,html[data-theme="dark"] .review-card,html[data-theme="dark"] .legal-filters,html[data-theme="dark"] .conso-filters{background:#142131;color:var(--ink)}html[data-theme="dark"] .loan-table th,html[data-theme="dark"] .modal-actions,html[data-theme="dark"] .detail-item,html[data-theme="dark"] .icon-btn{background:#19293b;color:var(--ink)}html[data-theme="dark"] .loan-table tbody tr:hover{background:#19293b}html[data-theme="dark"] .loan-table td{border-color:var(--line)}html[data-theme="dark"] .btn-secondary,html[data-theme="dark"] .view-btn{background:#233448;color:#dfe8f2;border-color:#35485e}html[data-theme="dark"] .top-icon-btn{background:#19293b}html[data-theme="dark"] .drop-zone{background:#19293b}html[data-theme="dark"] input[readonly]{background:#1c2b3d;color:#9aabbd}
