*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:contain;scroll-behavior:smooth}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:text;-webkit-user-select:text}input,textarea{user-select:text;-webkit-user-select:text}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:silver;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#888}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width: 600px){.desktop-only{display:none!important}.mobile-only{display:flex}.mobile-stack{flex-direction:column!important}.card-grid{grid-template-columns:1fr!important}.hide-on-mobile{display:none!important}}@media (min-width: 600px) and (max-width: 900px){.card-grid{grid-template-columns:repeat(2,1fr)}.tablet-stack{flex-direction:column}}@media (min-width: 900px){.mobile-only,.hide-on-desktop{display:none!important}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.fade-in{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media print{.no-print{display:none!important}}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s ease-in-out infinite}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
