@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_f2b97dad-module__dpW2qa__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_f2b97dad-module__dpW2qa__variable{--font-plus-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--bg-app:#f4f6f8;--bg-card:#fff;--border-card:#e2e8f0;--border-card-hover:#cbd5e1;--text-primary:#0f172a;--text-secondary:#64748b;--accent-purple:#6366f1;--accent-blue:#2563eb;--accent-green:#10b981;--accent-yellow:#f59e0b;--accent-red:#ef4444;--sidebar-bg:#0b0f19;--sidebar-border:#1e293b;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--sidebar-item-active:#2563eb;--font-sans:var(--font-plus-jakarta), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:100;flex-direction:column;justify-content:space-between;height:100vh;padding:2.25rem 1.25rem;display:flex;position:fixed}.main-content{margin-left:var(--sidebar-width);min-height:100vh;width:calc(100% - var(--sidebar-width));flex-grow:1;padding:2.5rem 3rem}.logo-container{align-items:center;gap:.75rem;margin-bottom:2.5rem;padding-left:.5rem;display:flex}.logo-icon{object-fit:cover;border-radius:50%;width:28px;height:28px}.logo-text{letter-spacing:-.02em;color:#fff;font-size:1.15rem;font-weight:700}.nav-links{flex-direction:column;gap:.25rem;list-style:none;display:flex}.nav-item a{color:var(--sidebar-text);border-radius:8px;align-items:center;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item a:hover{color:var(--sidebar-text-active);background:#ffffff0d}.nav-item.active a{color:var(--sidebar-text-active);background:var(--sidebar-item-active);font-weight:600}.sidebar-footer{border:1px solid var(--sidebar-border);color:var(--sidebar-text);background:#ffffff08;border-radius:12px;padding:1rem;font-size:.8rem}.card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:1.5rem;transition:all .2s;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.card:hover{border-color:var(--border-card-hover);box-shadow:0 10px 15px -3px #0f172a0f,0 4px 6px -2px #0f172a08}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.kpi-card{flex-direction:column;gap:.35rem;padding:1.25rem 1.5rem;display:flex}.kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.kpi-value{letter-spacing:-.02em;color:var(--text-primary);font-size:1.65rem;font-weight:700}.kpi-change{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.8rem;font-weight:500;display:flex}.kpi-change.positive{color:var(--accent-green)}.kpi-change.negative{color:var(--accent-red)}.table-container{overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-card);text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-card);color:var(--text-primary);padding:.85rem 1rem;font-size:.875rem}.custom-table tr:last-child td{border-bottom:none}.form-group{flex-direction:column;gap:.35rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-secondary);font-size:.825rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;color:var(--text-primary);font-family:var(--font-sans);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .85rem;font-size:.9rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 3px #2563eb1a}.badge{text-transform:uppercase;border-radius:6px;align-items:center;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge.paid{color:#065f46;background:#d1fae5}.badge.pending{color:#92400e;background:#fef3c7}.badge.overdue{color:#991b1b;background:#fee2e2}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{color:var(--text-primary);background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
