@import url(https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800&family=JetBrains+Mono:wght@400;500;600&display=swap);:root{--primary-900:#0b1829;--primary-800:#0f2340;--primary-700:#153054;--primary-600:#1e3a5f;--primary-500:#2a5080;--primary-400:#4a7ab5;--primary-300:#7aaad4;--primary-100:#e8f0fb;--primary-50:#f0f5fd;--accent-700:#b8860b;--accent-600:#c9920e;--accent-500:#d4a017;--accent-400:#e0b22a;--accent-300:#f0ca5a;--accent-100:#fdf3d7;--accent-50:#fef9eb;--gray-950:#0a0d14;--gray-900:#111827;--gray-800:#1f2937;--gray-700:#374151;--gray-600:#4b5563;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--success:#10b981;--success-light:#d1fae5;--success-dark:#065f46;--danger:#ef4444;--danger-light:#fee2e2;--danger-dark:#991b1b;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#92400e;--info:#3b82f6;--info-light:#dbeafe;--info-dark:#1e40af;--purple:#8b5cf6;--purple-light:#ede9fe;--bg:#f5f7fa;--surface:#fff;--surface-2:#f8f9fc;--border:#e2e8f0;--border-2:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-disabled:#cbd5e1;--sidebar-w-full:240px;--sidebar-w-mini:64px;--topbar-h:56px;--radius-xs:4px;--radius-sm:6px;--radius:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--shadow-md:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000f;--shadow-xl:0 25px 50px -12px #0000002e;--font:"Inter",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono","Fira Code",monospace;--transition-fast:120ms ease;--transition:200ms ease;--transition-slow:300ms ease;--amber:var(--accent-500);--amber-light:var(--accent-100);--amber-dark:var(--accent-700);--green:var(--success);--green-light:var(--success-light);--red:var(--danger);--red-light:var(--danger-light);--blue:var(--info);--blue-light:var(--info-light);--navy-900:var(--primary-900);--navy-800:var(--primary-800);--navy-700:var(--primary-700);--navy-600:var(--primary-600);--navy-500:var(--primary-500);--navy-400:var(--primary-400);--silver-100:var(--gray-50);--silver-200:var(--gray-200);--silver-300:var(--gray-300);--silver-400:var(--gray-400);--silver-500:var(--gray-500)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;background:var(--bg);color:#0f172a;color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font);line-height:1.6}img,svg{display:block}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font)}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--gray-400)}h1{color:#0f172a;color:var(--text-primary);font-size:1.625rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}h2{font-size:1.25rem;line-height:1.3}h2,h3{color:#0f172a;color:var(--text-primary);font-weight:600}h3{font-size:1.0625rem}h4{color:#0f172a;color:var(--text-primary);font-size:.9375rem;font-weight:600}p{color:#475569;color:var(--text-secondary)}.app-shell{display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:64px;margin-left:var(--sidebar-w-mini);min-width:0;transition:margin-left .3s ease cubic-bezier(.4,0,.2,1);transition:margin-left var(--transition-slow) cubic-bezier(.4,0,.2,1)}.main-content.sidebar-expanded{margin-left:240px;margin-left:var(--sidebar-w-full)}.page-body{max-width:1600px;min-height:100vh;padding:84px 28px 40px;padding-top:calc(var(--topbar-h) + 28px)}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.page-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.page-subtitle{color:#94a3b8;color:var(--text-muted);font-size:.875rem;font-weight:400;margin-top:2px}.card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden}.card-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:18px 22px}.card-header h3{font-size:.9375rem;font-weight:600}.card-body{padding:20px 22px}.card-footer{background:#f8f9fc;background:var(--surface-2);border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:14px 22px}.btn,.card-footer{align-items:center}.btn{border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:.875rem;font-weight:500;gap:7px;line-height:1;padding:8px 16px;position:relative;text-decoration:none;transition:all .2s ease;transition:all var(--transition);white-space:nowrap}.btn-primary{background:#1e3a5f;background:var(--primary-600);box-shadow:0 1px 2px #0f234033;color:#fff}.btn-primary:hover{background:#153054;background:var(--primary-700);box-shadow:0 4px 12px #0f234040;transform:translateY(-1px)}.btn-accent,.btn-amber{background:#d4a017;background:var(--accent-500);box-shadow:0 1px 2px #b4820a33;color:#1a0e00;font-weight:600}.btn-accent:hover,.btn-amber:hover{background:#c9920e;background:var(--accent-600);box-shadow:0 4px 12px #b4820a4d;transform:translateY(-1px)}.btn-ghost{background:#0000;border:1px solid #cbd5e1;border:1px solid var(--border-2);color:#475569;color:var(--text-secondary)}.btn-ghost:hover{background:#f3f4f6;background:var(--gray-100);border-color:#d1d5db;border-color:var(--gray-300);color:#0f172a;color:var(--text-primary)}.btn-success{background:#10b981;background:var(--success);color:#fff}.btn-success:hover{background:#0ca678;transform:translateY(-1px)}.btn-danger{background:#ef4444;background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-outline{background:#0000;border:1.5px solid #7aaad4;border:1.5px solid var(--primary-300);color:#1e3a5f;color:var(--primary-600)}.btn-outline:hover{background:#f0f5fd;background:var(--primary-50);border-color:#4a7ab5;border-color:var(--primary-400)}.btn-sm{font-size:.8125rem;padding:5px 11px}.btn-lg{font-size:.9375rem;padding:11px 22px}.btn-icon{aspect-ratio:1;border-radius:6px;border-radius:var(--radius-sm);justify-content:center;padding:7px}.btn-icon-sm{border-radius:4px;border-radius:var(--radius-xs);padding:5px}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{color:#475569;color:var(--text-secondary);font-size:.8125rem;font-weight:500;line-height:1}.form-control{background:#fff;background:var(--surface);border:1.5px solid #cbd5e1;border:1.5px solid var(--border-2);border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:.9rem;line-height:1.5;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-control:hover{border-color:#9ca3af;border-color:var(--gray-400)}.form-control:focus{border-color:#2a5080;border-color:var(--primary-500);box-shadow:0 0 0 3px #2a50801f;outline:none}.form-control::placeholder{color:#94a3b8;color:var(--text-muted)}.form-control.error{border-color:#ef4444;border-color:var(--danger)}.form-control.error:focus{box-shadow:0 0 0 3px #ef44441f}select.form-control{cursor:pointer}textarea.form-control{min-height:80px;resize:vertical}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:.875rem;width:100%}thead tr{background:#f9fafb;background:var(--gray-50);border-bottom:1.5px solid #e2e8f0;border-bottom:1.5px solid var(--border)}th{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.07em;padding:10px 14px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable{cursor:pointer}td,th.sortable:hover{color:#0f172a;color:var(--text-primary)}td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:11px 14px;vertical-align:middle}tbody tr{transition:background .12s ease;transition:background var(--transition-fast)}tbody tr:hover{background:#f0f5fd;background:var(--primary-50)}tbody tr:last-child td{border-bottom:none}.badge{align-items:center;border-radius:99px;display:inline-flex;font-size:.72rem;font-weight:600;gap:4px;letter-spacing:.01em;padding:3px 9px;white-space:nowrap}.badge-green{background:#d1fae5;background:var(--success-light);color:#065f46;color:var(--success-dark)}.badge-red{background:#fee2e2;background:var(--danger-light);color:#991b1b;color:var(--danger-dark)}.badge-amber{background:#fef3c7;background:var(--warning-light);color:#92400e;color:var(--warning-dark)}.badge-blue{background:#dbeafe;background:var(--info-light);color:#1e40af;color:var(--info-dark)}.badge-navy{background:#e8f0fb;background:var(--primary-100);color:#153054;color:var(--primary-700)}.badge-purple{background:#ede9fe;background:var(--purple-light);color:#5b21b6}.badge-gray{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden;padding:20px;position:relative;transition:box-shadow .2s ease,transform .2s ease;transition:box-shadow var(--transition),transform var(--transition)}.stat-card:hover{box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-icon{align-items:center;background:#f0f5fd;background:var(--primary-50);border-radius:6px;border-radius:var(--radius-sm);color:#1e3a5f;color:var(--primary-600);display:flex;height:40px;justify-content:center;margin-bottom:14px;width:40px}.stat-card.amber .stat-icon{background:#fef9eb;background:var(--accent-50);color:#c9920e;color:var(--accent-600)}.stat-card.green .stat-icon{background:#d1fae5;background:var(--success-light);color:#065f46;color:var(--success-dark)}.stat-card.red .stat-icon{background:#fee2e2;background:var(--danger-light);color:#991b1b;color:var(--danger-dark)}.stat-card.blue .stat-icon{background:#dbeafe;background:var(--info-light);color:#1e40af;color:var(--info-dark)}.stat-card.purple .stat-icon{background:#ede9fe;background:var(--purple-light);color:#5b21b6}.stat-label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.07em;margin-bottom:6px;text-transform:uppercase}.stat-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1}.stat-sub{color:#94a3b8;color:var(--text-muted);font-size:.8rem;margin-top:6px}.pagination{flex-wrap:wrap;gap:4px}.page-btn,.pagination{align-items:center;display:flex}.page-btn{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:500;height:32px;justify-content:center;min-width:32px;transition:all .12s ease;transition:all var(--transition-fast)}.page-btn:hover{background:#f0f5fd;background:var(--primary-50);border-color:#7aaad4;border-color:var(--primary-300);color:#1e3a5f;color:var(--primary-600)}.page-btn.active{background:#1e3a5f;background:var(--primary-600);border-color:#1e3a5f;border-color:var(--primary-600);color:#fff}.modal-overlay{align-items:center;animation:overlayIn ease .12s ease;animation:overlayIn var(--transition-fast) ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a142873;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalIn cubic-bezier(.34,1.56,.64,1) .2s ease;animation:modalIn var(--transition) cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #0000002e;box-shadow:var(--shadow-xl);max-height:92vh;max-width:560px;overflow:visible;width:100%}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);border-radius:20px 20px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:18px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h3{font-size:1rem;font-weight:600}.modal-body{padding:22px}.modal-footer{background:#f8f9fc;background:var(--surface-2);border-radius:0 0 20px 20px;border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:1px solid #e2e8f0;border-top:1px solid var(--border);bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:14px 22px;position:-webkit-sticky;position:sticky}.search-box{align-items:center;display:inline-flex;position:relative}.search-box svg{color:#94a3b8;color:var(--text-muted);left:10px;pointer-events:none;position:absolute}.search-box input{padding-left:34px;width:220px}.empty-state{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:56px 24px;text-align:center}.empty-state svg{color:#d1d5db;color:var(--gray-300)}.empty-state h4{color:#475569;color:var(--text-secondary);font-size:.9375rem}.empty-state p{color:#94a3b8;color:var(--text-muted);font-size:.875rem}.spinner{animation:spin .65s linear infinite;border:2.5px solid #e5e7eb;border-top-color:#1e3a5f;border:2.5px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary-600);display:inline-block;flex-shrink:0;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.page-loader{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.875rem;gap:12px;height:240px;justify-content:center}.grid-2{grid-gap:16px;grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-gap:16px;grid-template-columns:repeat(3,1fr)}.grid-4{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.flex-between{flex-wrap:wrap;gap:12px;justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.flex-gap{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.text-muted{color:#94a3b8;color:var(--text-muted);font-size:.875rem}.text-secondary{color:#475569;color:var(--text-secondary);font-size:.875rem}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.text-mono{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono)}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.divider{border:none;border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin:16px 0}.filter-bar{background:#f8f9fc;background:var(--surface-2);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;padding:14px 18px}.filter-bar,.section-title{align-items:center;display:flex}.section-title{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:700;gap:8px;letter-spacing:.1em;padding:0 4px 8px;text-transform:uppercase}.section-title:after{background:#e2e8f0;background:var(--border);content:"";flex:1 1;height:1px}.accent-dot{background:#d4a017;background:var(--accent-500);border-radius:99px;width:3px}.status-pill{align-items:center;border-radius:99px;display:inline-flex;font-size:.72rem;font-weight:600;gap:5px;padding:3px 8px}.status-pill:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.status-pill.paid{background:#d1fae5;background:var(--success-light);color:#065f46;color:var(--success-dark)}.status-pill.unpaid{background:#fee2e2;background:var(--danger-light);color:#991b1b;color:var(--danger-dark)}.status-pill.partial{background:#fef3c7;background:var(--warning-light);color:#92400e;color:var(--warning-dark)}.status-pill.active{background:#d1fae5;background:var(--success-light);color:#065f46;color:var(--success-dark)}.status-pill.inactive{background:#f3f4f6;background:var(--gray-100);color:#4b5563;color:var(--gray-600)}.table-toolbar{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.main-content{margin-left:0!important}.page-body{padding:72px 16px 16px;padding-top:calc(var(--topbar-h) + 16px)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.search-box input{width:160px}h1{font-size:1.35rem}.modal{border-radius:16px;border-radius:var(--radius-lg)}.stat-value{font-size:1.4rem}}@media (max-width:480px){.stat-grid{grid-template-columns:1fr}.card-body,.card-footer,.card-header{padding:12px 14px}.btn{padding:7px 12px}.search-box input{width:130px}.page-body{padding:68px 12px 12px;padding-top:calc(var(--topbar-h) + 12px)}}
/*# sourceMappingURL=main.0ca29ea2.css.map*/