*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit}input::placeholder,textarea::placeholder{color:#94a3b8}a{color:inherit;text-decoration:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.safe-overflow{min-width:0;max-width:100%;overflow:hidden}.flex-truncate{min-width:0;flex:1 1 0%}.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.safe-truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-fluid-xs{font-size:clamp(.65rem,1.5vw + .25rem,.75rem)}.text-fluid-sm{font-size:clamp(.75rem,2vw + .25rem,.875rem)}.text-fluid-base{font-size:clamp(.875rem,2vw + .25rem,1rem)}.text-fluid-lg{font-size:clamp(1rem,2.5vw + .25rem,1.25rem)}.text-fluid-xl{font-size:clamp(1.25rem,3vw + .25rem,1.5rem)}.text-fluid-2xl{font-size:clamp(1.5rem,4vw + .25rem,2rem)}.text-fluid-3xl{font-size:clamp(1.75rem,5vw + .25rem,2.5rem)}.gap-fluid-sm{gap:clamp(.25rem,1vw,.5rem)}.gap-fluid{gap:clamp(.5rem,2vw,1rem)}.gap-fluid-lg{gap:clamp(.75rem,3vw,1.5rem)}.p-fluid{padding:clamp(.75rem,3vw,1.5rem)}.p-fluid-lg{padding:clamp(1rem,4vw,2rem)}.card-responsive{background:#fff;border-radius:1rem;border:1px solid #e5e7eb;padding:clamp(1rem,3vw,1.5rem);min-width:0;overflow:hidden}.chart-container{width:100%;min-height:200px;max-height:60vh;overflow:hidden;position:relative;display:flex;flex-direction:column}.chart-container>*{flex:1;min-height:0}.dashboard-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-grid>*{min-height:360px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.focus-ring{outline:none}.focus-ring:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.badge-safe{display:inline-flex;align-items:center;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:.25rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:700}.table-row-responsive{display:flex;flex-direction:column;gap:.5rem;padding:1rem;min-width:0}@media(min-width:768px){.table-row-responsive{display:grid;align-items:center;gap:0}}.table-cell{min-width:0;overflow:hidden}
