/* ListingRater.com — Global Styles */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f8fafc; color: #0f172a; -webkit-font-smoothing: antialiased; }
@keyframes fadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.5} }
@keyframes spin { to { transform: rotate(360deg); } }
#root { min-height: 100vh; }
input:focus, textarea:focus, button:focus-visible { outline: 2px solid #2563eb; outline-offset: 1px; }
button { transition: opacity 0.15s, transform 0.1s; }
button:active { transform: scale(0.98); }

/* Mobile responsive */
@media (max-width: 640px) {
  .landing-grid { grid-template-columns: 1fr !important; }
  .dashboard-grid { grid-template-columns: 1fr !important; }
  .quick-fields-grid { grid-template-columns: 1fr !important; }
  .photo-results-grid { grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)) !important; }
  .agent-topbar-info { display: none !important; }
  .topbar-inner { padding: 10px 12px !important; }
  .modal-inner { padding: 20px !important; margin: 10px !important; }
  .results-cta-buttons { flex-direction: column !important; }
  .results-cta-buttons button { width: 100% !important; }
}
