@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-main:#f1f5f9;--bg-card:#fff;--bg-card-hover:#faf5ff;--bg-input:#fff;--bg-sidebar:#0f172a;--border-color:#e2e8f0;--border-light:#cbd5e1;--border-focus:#6366f1;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#eeeffe;--secondary:#0ea5e9;--accent:#ec4899;--amber:#d97706;--success:#10b981;--danger:#ef4444;--info:#3b82f6;--text-main:#0f172a;--text-muted:#475569;--text-dim:#94a3b8;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 16px -2px #6366f114, 0 2px 6px -1px #0000000a;--shadow-lg:0 10px 30px -4px #6366f11f;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);letter-spacing:-.02em;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.glass-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all .25s}.glass-card:hover{border-color:#cbd5e1}.glass-card-hover:hover{box-shadow:var(--shadow-lg);border-color:#c7d2fe;transform:translateY(-2px)}.btn{font-size:14px;font-weight:600;font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:9px 16px;transition:all .2s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 14px #6366f14d}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 6px 18px #6366f166}.btn-secondary{color:#1e293b;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b9814d}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857)}.btn-danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.btn-danger:hover{color:#b91c1c;background:#fee2e2}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:16px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#334155;font-size:13px;font-weight:600}.form-label .req{color:var(--danger);margin-left:2px}.form-input,.form-select,.form-textarea{border-radius:var(--radius-md);color:#0f172a;width:100%;font-size:14px;font-family:var(--font-body);background:#fff;border:1px solid #cbd5e1;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f12e}.form-input::placeholder{color:#94a3b8}.form-select option{color:#0f172a;background:#fff}.table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;background:#fff;width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;min-width:650px;font-size:14px}.custom-table th{color:#475569;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);background:#f8fafc;padding:14px 16px;font-size:12px;font-weight:700}.custom-table td{border-bottom:1px solid var(--border-color);color:#0f172a;padding:14px 16px;font-weight:500}.custom-table tbody tr{transition:background-color .15s}.custom-table tbody tr:hover{background-color:#f8fafc}.badge{border-radius:var(--radius-full);align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.badge-warning{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.badge-danger{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.badge-info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.badge-purple{color:#4f46e5;background:#f5f3ff;border:1px solid #c7d2fe}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);border-radius:var(--radius-lg);color:#0f172a;background:#fff;width:100%;max-width:650px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) modalFadeIn;overflow-y:auto;box-shadow:0 20px 40px #00000026}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.app-layout{min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;margin-left:260px;transition:margin-left .3s;display:flex}.page-container{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:28px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-title{color:#0f172a;font-size:26px;font-weight:800}.page-subtitle{color:#64748b;margin-top:2px;font-size:14px}@media (width<=1024px){.main-content{margin-left:0}.sidebar-container{transition:transform .3s;transform:translate(-100%)}.sidebar-container.open{transform:translate(0)}.sidebar-overlay.open{z-index:99;background:#00000080;display:block;position:fixed;inset:0}}@media (width<=640px){.page-container{padding:16px}.page-title{font-size:22px}.page-header{flex-direction:column;align-items:flex-start}}@media print{body *{visibility:hidden}#printable-invoice,#printable-invoice *{visibility:visible}#printable-invoice{width:100%;padding:20px;position:absolute;top:0;left:0;color:#000!important;background:#fff!important}.no-print{display:none!important}}
