@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root,:root[data-theme=light]{--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-hover:#e2e8f0;--bg-card:#fffffff2;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-color:#e2e8f0;--border-focus:#6366f1;--accent-primary:#4f46e5;--accent-secondary:#06b6d4;--accent-gradient:linear-gradient(135deg, #4f46e5 0%, #06b6d4 100%);--accent-hover:#4338ca;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--info:#3b82f6;--info-light:#dbeafe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0d;--shadow-glow:0 0 25px #4f46e533}:root[data-theme=dark],.dark,[data-theme=dark]{--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-tertiary:#1f2937;--bg-hover:#374151;--bg-card:#111827d9;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-color:#1f2937;--border-focus:#818cf8;--accent-primary:#6366f1;--accent-secondary:#22d3ee;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #0284c7 100%);--accent-hover:#4f46e5;--success:#10b981;--success-light:#10b98126;--warning:#f59e0b;--warning-light:#f59e0b26;--danger:#f87171;--danger-light:#ef444426;--info:#60a5fa;--info-light:#3b82f626;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 12px #0006;--shadow-lg:0 20px 25px -5px #0009;--shadow-glow:0 0 30px #6366f159}*{box-sizing:border-box;font-family:var(--font-main);margin:0;padding:0;transition:background-color .2s,border-color .2s,color .2s}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px}.glass-modal{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:20px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 14px #4f46e559}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px #4f46e573}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-outline{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#4f46e50d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{border-radius:8px;padding:6px 12px;font-size:.8rem}.btn-icon{border-radius:8px;padding:8px}.badge{text-transform:capitalize;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-paid{background:var(--success-light);color:var(--success)}.badge-pending{background:var(--warning-light);color:var(--warning)}.badge-overdue{background:var(--danger-light);color:var(--danger)}.badge-draft{background:var(--bg-tertiary);color:var(--text-secondary)}.badge-active{background:var(--success-light);color:var(--success)}.badge-lead{background:var(--info-light);color:var(--info)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.6;letter-spacing:normal;font-weight:400}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #4f46e526}.form-textarea{resize:vertical;min-height:80px}.custom-table-container,.table-responsive{-webkit-overflow-scrolling:touch;border-radius:12px;width:100%;overflow-x:auto}.custom-table,.data-table{border-collapse:collapse;text-align:left;table-layout:auto;width:100%}.custom-table th,.data-table th{background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap;vertical-align:middle;padding:14px 18px;font-size:.75rem;font-weight:800}.custom-table td,.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:14px 18px;font-size:.86rem}.custom-table tbody tr,.data-table tbody tr{transition:background-color .15s}.custom-table tbody tr:hover,.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tr:last-child td{border-bottom:none}@media print{body *{visibility:hidden}.printable-area,.printable-area *{visibility:visible}.printable-area{width:100%;padding:20px;position:absolute;top:0;left:0;color:#000!important;background:#fff!important}.no-print{display:none!important}}@keyframes slideDownMaterial{0%{opacity:0;transform:translateY(-20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideUpMaterial{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
