:root{--ml-emerald-950: #022c22;--ml-emerald-900: #064e3b;--ml-emerald-800: #065f46;--ml-emerald-700: #047857;--ml-emerald-600: #059669;--ml-emerald-500: #10b981;--ml-emerald-400: #34d399;--ml-emerald-100: #d1fae5;--ml-emerald-50: #ecfdf5;--ml-teal-900: #134e4a;--ml-teal-700: #0f766e;--ml-teal-500: #14b8a6;--ml-teal-100: #ccfbf1;--ml-success: #059669;--ml-success-bg: #d1fae5;--ml-danger: #e11d48;--ml-danger-bg: #ffe4e6;--ml-warning: #d97706;--ml-warning-bg: #fef3c7;--ml-bg-main: #f0fdf4;--ml-bg-card: #ffffff;--ml-bg-sidebar: #022c22;--ml-bg-header: #ffffff;--ml-text-primary: #0f172a;--ml-text-secondary: #334155;--ml-text-muted: #64748b;--ml-border-light: #e2e8f0;--ml-border-dark: #134e4a;--ml-shadow-sm: 0 1px 2px 0 rgba(6, 95, 70, .05);--ml-shadow-md: 0 4px 6px -1px rgba(6, 95, 70, .08), 0 2px 4px -2px rgba(6, 95, 70, .04);--ml-shadow-lg: 0 10px 15px -3px rgba(6, 95, 70, .1), 0 4px 6px -4px rgba(6, 95, 70, .05);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--ml-bg-main);color:var(--ml-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow-x:hidden}.page-body{padding:2rem;max-width:1400px;width:100%;margin:0 auto}h1,h2,h3,h4,h5,h6{color:var(--ml-emerald-950);font-weight:700;letter-spacing:-.02em}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.75rem;font-weight:800;color:var(--ml-emerald-950)}.page-subtitle{font-size:.875rem;color:var(--ml-text-secondary);margin-top:.25rem}.card{background:var(--ml-bg-card);border:1px solid var(--ml-border-light);border-radius:12px;box-shadow:var(--ml-shadow-sm);padding:1.5rem;transition:all .2s ease}.card:hover{box-shadow:var(--ml-shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--ml-border-light)}.card-title{font-size:1.125rem;font-weight:700;color:var(--ml-emerald-950)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.kpi-card{background:#fff;border-radius:12px;border:1px solid var(--ml-border-light);padding:1.25rem;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--ml-shadow-sm)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-accent, var(--ml-emerald-600))}.kpi-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ml-text-secondary)}.kpi-value{font-size:1.75rem;font-weight:800;color:var(--ml-emerald-950);margin:.5rem 0 .25rem}.kpi-subtext{font-size:.75rem;color:var(--ml-text-muted)}.table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--ml-border-light);background:#fff;box-shadow:var(--ml-shadow-sm)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.data-table th{background-color:var(--ml-emerald-900);color:#f0fdf4;font-weight:600;padding:.875rem 1rem;white-space:nowrap;font-size:.8125rem;letter-spacing:.03em}.data-table td{padding:1rem;border-bottom:1px solid var(--ml-border-light);color:var(--ml-text-primary);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:#f0fdf4}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-active,.badge-verified,.badge-approved,.badge-disbursed,.badge-grade-a{background-color:var(--ml-success-bg);color:var(--ml-success)}.badge-pending,.badge-applied,.badge-under-review,.badge-grade-b{background-color:var(--ml-warning-bg);color:var(--ml-warning)}.badge-delinquent,.badge-review-required,.badge-grade-c{background-color:#fed7aa;color:#c2410c}.badge-defaulted,.badge-rejected,.badge-blocked,.badge-hold,.badge-grade-d,.badge-grade-e{background-color:var(--ml-danger-bg);color:var(--ml-danger)}.badge-neutral,.badge-closed{background-color:#e2e8f0;color:#475569}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s ease-in-out;text-decoration:none;font-family:inherit}.btn-primary{background-color:var(--ml-emerald-700);color:#fff}.btn-primary:hover{background-color:var(--ml-emerald-800);transform:translateY(-1px)}.btn-secondary{background-color:#fff;color:var(--ml-text-secondary);border-color:var(--ml-border-light)}.btn-secondary:hover{background-color:#f8fafc;color:var(--ml-emerald-950)}.btn-teal{background-color:var(--ml-teal-700);color:#fff}.btn-teal:hover{background-color:var(--ml-teal-900)}.btn-danger{background-color:var(--ml-danger);color:#fff}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--ml-text-secondary);margin-bottom:.35rem}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--ml-border-light);border-radius:8px;background-color:#fff;color:var(--ml-text-primary);font-family:inherit;transition:border-color .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--ml-emerald-600);box-shadow:0 0 0 3px #05966926}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.search-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:240px;padding:.625rem 1rem;border:1px solid var(--ml-border-light);border-radius:8px;background:#fff}.modal-backdrop,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#064e3bb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:14px;max-width:660px;width:100%;max-height:90vh;box-shadow:0 25px 50px -12px #00000059;padding:0;position:relative;animation:modalIn .22s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;border:1px solid var(--ml-border-light);overflow:hidden}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--ml-border-light);display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.modal-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--ml-emerald-950)}.modal-subtitle{margin:.25rem 0 0;font-size:.75rem;color:var(--ml-text-secondary)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer,.form-actions{padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid var(--ml-border-light);display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.modal-close{background:transparent;border:none;font-size:1.35rem;line-height:1;color:#64748b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.modal-close:hover{background:#e2e8f0;color:#065f46}.form-grid,.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:0}@media (max-width: 600px){.form-grid,.form-row{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:100;display:flex;flex-direction:column;gap:.75rem}.toast{padding:1rem 1.25rem;border-radius:10px;background:#fff;border-left:4px solid var(--ml-emerald-700);box-shadow:var(--ml-shadow-lg);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.75rem}.toast-success{border-color:var(--ml-success)}.toast-danger{border-color:var(--ml-danger)}.toast-warning{border-color:var(--ml-warning)}
