.card { background: white; border: 1px solid #e5e7eb; border-radius: 8px; padding: 1.5rem; transition: all 0.2s ease; } .card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); transform: translateY(-2px); } .header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.75rem; } .title { margin: 0; font-size: 1.125rem; font-weight: 600; line-height: 1.4; } .title a { color: #1f2937; text-decoration: none; } .title a:hover { color: #3b82f6; text-decoration: underline; } .distance { font-size: 0.875rem; color: #6b7280; white-space: nowrap; background: #f3f4f6; padding: 0.25rem 0.5rem; border-radius: 4px; } .meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; } .metaItem { font-size: 0.875rem; color: #6b7280; padding: 0.25rem 0.75rem; background: #f9fafb; border-radius: 4px; } .metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; padding: 1rem; background: #f9fafb; border-radius: 6px; } .metric { display: flex; flex-direction: column; gap: 0.25rem; } .metricLabel { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; } .metricValue { display: flex; align-items: center; gap: 0.5rem; } .metricValue strong { font-size: 1.125rem; color: #1f2937; } .trend { font-size: 1rem; font-weight: bold; cursor: help; } .actions { display: flex; gap: 0.75rem; } .btnSecondary, .btnPrimary { flex: 1; padding: 0.625rem 1rem; font-size: 0.875rem; font-weight: 500; border-radius: 6px; border: none; cursor: pointer; text-align: center; text-decoration: none; transition: all 0.2s ease; } .btnSecondary { background: white; color: #374151; border: 1px solid #d1d5db; } .btnSecondary:hover { background: #f9fafb; border-color: #9ca3af; } .btnPrimary { background: #3b82f6; color: white; } .btnPrimary:hover { background: #2563eb; } .btnPrimary:active { transform: scale(0.98); } @media (max-width: 640px) { .card { padding: 1rem; } .metrics { grid-template-columns: 1fr; gap: 0.75rem; } .actions { flex-direction: column; } }