*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#f9fafb;--sidebar-width:224px;--topbar-bg:#fff;--topbar-border:#e5e7eb;--topbar-height:56px;--canvas-bg:#f9fafb;--card-bg:#fff;--card-border:#e5e7eb;--card-radius:12px;--card-shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--accent:#111827;--text-primary:#0f172a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}html,body{background:#f9fafb;height:100%}*{scroll-behavior:smooth}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}button,a,[role=button]{transition:background .12s,color .12s,border-color .12s,box-shadow .12s,opacity .12s,transform .1s}button:active:not(:disabled),a:active{transform:scale(.97)}button:disabled{cursor:not-allowed}input,textarea,select{outline:none;transition:border-color .12s,box-shadow .12s,background .12s}.hover-lift{transition:box-shadow .15s,transform .15s}.hover-lift:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014}@keyframes shimmer{0%{background-position:100%}to{background-position:-100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.18s forwards fadeIn}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.metrics-grid-5{background:#f1f5f9;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-bottom:16px;display:grid;overflow:hidden}@media (max-width:1100px){.metrics-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.metrics-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
