.sidebar{width:260px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;z-index:100;box-shadow:2px 0 8px #0000000a}.sidebar-header{padding:1.5rem 1.25rem;border-bottom:1px solid #e5e7eb}.sidebar-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.025em}.sidebar-nav{flex:1;overflow-y:auto;padding:1rem 0}.nav-section{margin-bottom:2rem;padding:0 1rem}.nav-section:last-child{margin-bottom:0}.nav-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .75rem;padding:0 .75rem}.nav-section-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:block;padding:.625rem .75rem;color:#374151;text-decoration:none;border-radius:6px;font-size:.9375rem;font-weight:500;transition:all .15s ease;position:relative}.nav-item:hover{background-color:#f3f4f6;color:#111827}.nav-item-active{background-color:#eff6ff;color:#2563eb;font-weight:600}.nav-item-active:hover{background-color:#dbeafe;color:#1d4ed8}.nav-item-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:#2563eb;border-radius:0 2px 2px 0}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.sidebar-user{display:flex;flex-direction:column;gap:.75rem}.sidebar-user-info{display:flex;flex-direction:column;gap:.25rem}.sidebar-user-name{font-size:.875rem;font-weight:600;color:#111827}.sidebar-user-role{font-size:.75rem;color:#6b7280;text-transform:capitalize}.sidebar-logout-btn{width:100%;background:#fff;border:1px solid #d1d5db;color:#374151;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease}.sidebar-logout-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}.overview h1{margin-bottom:2rem;color:#2c3e50}.kpi-section{margin-bottom:2.5rem}.section-title{font-size:1.25rem;font-weight:600;color:#2c3e50;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem}.chart-card{padding:1rem 1.25rem 1.5rem;min-height:420px}.chart-card h3{margin-top:0;margin-bottom:.75rem}.chart-card .recharts-responsive-container{min-height:340px}.metric-sublabel{font-size:.875rem;color:#666;margin-top:.25rem}.loading,.error{text-align:center;padding:2rem;font-size:1.25rem}.error{color:#e74c3c}.partners h1{margin-bottom:2rem;color:#2c3e50}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.scorebands h1,.batch h1{margin-bottom:2rem;color:#2c3e50}.form{max-width:500px}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-completed{background-color:#d4edda;color:#155724}.status-processing{background-color:#fff3cd;color:#856404}.status-pending{background-color:#d1ecf1;color:#0c5460}.status-failed{background-color:#f8d7da;color:#721c24}.model-monitoring{display:flex;flex-direction:column;gap:24px}.filters-card{padding:16px}.filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.02em}.filter-group input,.filter-group select{padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff}.model-card{display:flex;flex-direction:column;gap:16px}.model-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.model-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.band-thresholds summary{cursor:pointer;font-weight:600;color:#1f2937}.threshold-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:12px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.tabs{display:flex;gap:8px;margin-bottom:8px}.tabs button{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;cursor:pointer}.tabs .tab-active{background:#111827;color:#fff;border-color:#111827}.chart-card h3{margin-bottom:12px}.decision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px}.decision-summary{display:grid;gap:6px;font-size:14px;color:#374151}.confusion-matrix{margin-top:12px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-box h1{margin:0 0 .5rem;color:#333;text-align:center}.login-box h2{margin:0 0 1.5rem;color:#666;text-align:center;font-weight:400}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}button{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-top:1rem}button:hover:not(:disabled){background:#5568d3}button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem}.login-hint{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee;font-size:.875rem;color:#666}.login-hint p{margin:.25rem 0}.applications{padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0}.filters{display:flex;gap:1rem}.filters select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.status-badge{padding:.25rem .75rem;border-radius:12px;color:#fff;font-size:.875rem;font-weight:500}.btn-primary{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.read-only-label{color:#7f8c8d;font-size:.875rem;font-style:italic}.customer360{padding:2rem}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #eee}.tabs button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;color:#666;transition:all .2s}.tabs button:hover{color:#3498db;border-bottom-color:#3498db}.tabs .tab-active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.tab-content{margin-top:1rem}.table-scroll{overflow-x:auto;width:100%}.table-scroll .table{min-width:1100px}.score-note{margin-bottom:12px;color:#6b7280;font-size:.875rem}.score-card{border:1px solid #e8ecf2;border-radius:10px;padding:12px;background:#fff}.score-card.secondary{background:#f9fafb}.score-trend{margin-top:12px;height:120px}.score-section{margin-top:16px}.score-section-title{margin:0 0 8px;font-size:1rem;color:#2c3e50}.score-grid{display:grid;gap:12px}.score-grid-primary{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.score-grid-secondary{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.score-grid-compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.score-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.score-card-header h4{margin:0;font-size:.95rem;color:#2c3e50}.score-inline{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,220px);gap:12px;align-items:center}.score-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:4px 12px;margin-top:6px;font-size:.85rem;color:#374151}.policy-checks{margin-top:10px;padding-top:8px;border-top:1px dashed #e5e7eb}.policy-title{font-size:.85rem;font-weight:600;color:#4b5563;margin-bottom:6px}.policy-item{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;color:#374151}.policy-name{font-weight:500}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.card h3{margin-top:0;color:#2c3e50}.card p{margin:.5rem 0}.kyc-status{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.kyc-verified{background:#2ecc71;color:#fff}.kyc-pending{background:#f39c12;color:#fff}.kyc-failed{background:#e74c3c;color:#fff}.note-input{margin-bottom:1.5rem}.note-input textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;margin-bottom:.5rem;box-sizing:border-box}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-item{padding:1rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #3498db}.note-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.note-type{font-weight:600;color:#3498db}.note-date{color:#7f8c8d;font-size:.875rem}.note-author{margin-top:.5rem;font-size:.875rem;color:#7f8c8d}.read-only-notice{background:#fff3cd;border:1px solid #ffc107;padding:1rem;border-radius:4px;margin-bottom:1rem;color:#856404}.ptp-info{margin-top:.5rem;padding:.5rem;background:#e7f3ff;border-radius:4px;font-size:.875rem}.extracted-fields{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:4px}.extracted-fields pre{margin:.5rem 0 0;font-size:.875rem;overflow-x:auto}.small-muted{font-size:.75rem;color:#6b7280}.written-off-banner{background:#fff3cd;border:1px solid #f0d58c;color:#8a5a00;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:.875rem}.loan-row-highlight{outline:2px solid #2563eb;background-color:#eff6ff}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:.35rem .75rem;font-size:.75rem}.kyc-documents{display:grid;gap:16px}.kyc-document-item{border:1px solid #e8ecf2;border-radius:10px;padding:12px;display:grid;gap:10px}.kyc-document-preview img{max-width:320px;border-radius:8px;border:1px solid #e0e6ed}.collections{padding:2rem}.dpd-badge{padding:.25rem .75rem;border-radius:12px;color:#fff;font-size:.875rem;font-weight:500}.btn-link{color:#3498db;text-decoration:none;font-size:.875rem}.read-only-banner{background:#fff3cd;border:1px solid #ffc107;padding:.75rem 1rem;border-radius:4px;color:#856404;margin-bottom:1rem;font-size:.875rem}.collections-tabs{display:flex;gap:8px;margin:12px 0}.tab-button{border:1px solid #e0e6ed;background:#fff;padding:6px 12px;border-radius:8px;font-size:.875rem;cursor:pointer}.tab-button.active{background:#f3f6fb;border-color:#cfd8e3;font-weight:600}.dpd-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip{border:1px solid #e0e6ed;background:#fff;padding:6px 10px;border-radius:999px;font-size:.75rem;cursor:pointer}.chip.active{background:#f3f6fb;border-color:#cfd8e3;font-weight:600}.status-badge{display:inline-flex;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;background:#e5e7eb;color:#111827}.status-badge.written-off{background:#fee2e2;color:#991b1b}.customers{padding:2rem}.filters-card{margin-bottom:2rem}.filters-form{width:100%}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:.5rem;font-weight:500;color:#333}.filter-group input,.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.filter-actions{display:flex;gap:.5rem;align-items:end}.btn-primary{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.table-header{padding:1rem;border-bottom:1px solid #eee;font-weight:500}.table-row-clickable{cursor:pointer}.table-row-clickable:hover{background-color:#f8f9fa}.status-badge,.risk-badge,.dpd-badge{padding:.25rem .75rem;border-radius:12px;color:#fff;font-size:.875rem;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;border-top:1px solid #eee}.empty-state{text-align:center;padding:3rem;color:#7f8c8d}.admin-partners h1{margin-bottom:1.5rem;color:#2c3e50}.admin-partners .card h2{margin-top:0;margin-bottom:1rem}.admin-partners .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.admin-partners .form-row{display:flex;flex-direction:column;gap:.5rem}.admin-partners .form-row label{font-weight:600;color:#2c3e50}.admin-partners .form-row input,.admin-partners .form-row select{padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.admin-partner-config h1{margin:0;color:#2c3e50}.admin-partner-config .meta{font-size:.9rem;color:#6b7280}.admin-partner-config .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.admin-partner-config .form-row{display:flex;flex-direction:column;gap:.5rem}.admin-partner-config .form-row label{font-weight:600;color:#2c3e50}.admin-partner-config .form-row input,.admin-partner-config .form-row select,.admin-partner-config .form-row textarea{padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.admin-partner-config .checkbox-row{flex-direction:row;align-items:center;gap:.75rem}.admin-partner-config .tabs{display:flex;gap:8px;margin-bottom:12px}.admin-partner-config .tabs button{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;cursor:pointer}.admin-partner-config .tabs .tab-active{background:#111827;color:#fff;border-color:#111827}.admin-users{display:flex;flex-direction:column;gap:20px}.admin-users-form{display:flex;flex-direction:column;gap:16px;max-width:520px}.admin-onboarding{display:flex;flex-direction:column;gap:20px}.admin-onboarding-form{display:flex;flex-direction:column;gap:16px;max-width:560px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row input,.form-row select{padding:10px 12px;border:1px solid #e0e6ed;border-radius:8px;font-size:14px}.checkbox-row{display:flex;align-items:center;gap:8px}.alert{padding:10px 12px;border-radius:8px;font-size:14px}.alert-error{background:#fdecea;color:#a73a3a;border:1px solid #f5c2c0}.alert-success{background:#e9f7ef;color:#1f7a3b;border:1px solid #b9e6c2}.result-card{max-width:720px}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 16px}.btn-link{background:none;border:none;color:#3498db;padding:0;cursor:pointer;font-size:12px;margin-right:8px}.btn-link:hover{text-decoration:underline}.reports-loans{display:flex;flex-direction:column;gap:1.5rem}.page-subtitle{margin-top:.25rem;color:#6b7280}.filter-action{min-width:140px}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.table-header h2{margin:0;font-size:1.1rem}.table-controls select{margin-left:.5rem;padding:.35rem .5rem;border:1px solid #ddd;border-radius:4px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.loan-link{color:#2563eb;text-decoration:none;font-weight:500}.loan-link:hover{text-decoration:underline}.clickable-row{cursor:pointer}.skeleton-card{min-height:96px;background:linear-gradient(90deg,#f0f2f5,#e8eaed,#f0f2f5);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.table-skeleton{display:flex;flex-direction:column;gap:.75rem}.skeleton-row{height:42px;border-radius:6px;background:linear-gradient(90deg,#f0f2f5,#e8eaed,#f0f2f5);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;min-height:100vh;background-color:#f9fafb}.main-content{flex:1;margin-left:260px;padding:2rem;max-width:calc(100vw - 260px);overflow-x:auto;width:100%}@media (max-width: 768px){.main-content{margin-left:0;max-width:100vw;padding:1rem}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#2c3e50}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.metric-label{font-size:.875rem;color:#666;margin-bottom:.5rem;overflow-wrap:anywhere}.metric-value{font-size:1.6rem;font-weight:600;color:#2c3e50;line-height:1.2;overflow-wrap:anywhere}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table th{background-color:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.table td{padding:1rem;border-bottom:1px solid #e9ecef}.table tr:hover{background-color:#f8f9fa}.button{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.button:hover{background-color:#2980b9}.button:disabled{background-color:#bdc3c7;cursor:not-allowed}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.input-group input,.input-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-item label{font-size:.875rem;font-weight:500;color:#666}.filter-item input,.filter-item select{padding:.5rem;border:1px solid #ddd;border-radius:4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
