@media (max-width: 960px) {
  .kanban { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  body { padding: 0.6rem; }
  .container { max-width: 100%; }
  h1 { font-size: 1.1rem; }
  .tile-header { padding: 0.7rem 0.9rem; }
  .tile-header h2 { font-size: 0.75rem; }
  .tile-content { padding: 0.6rem 0.9rem; }
  .tile-portfolio > .tile-content { padding: 0.8rem 0.9rem; }
  .tile-finance .tile-content { padding: 0.8rem 0.9rem; }
  .tile-calendar > .tile-content { padding: 0.8rem 0.9rem; }
  .tile-todotile > .tile-content { padding: 0.8rem 0.9rem; }

  /* Portfolio */
  .summary { grid-template-columns: 1fr 1fr; }
  .summary-card { padding: 0.6rem 0.8rem; }
  .summary-card .value { font-size: 1rem; }
  .asset-grid { grid-template-columns: 1fr; }
  .asset-card { grid-template-columns: 1fr auto; gap: 0.5rem; }
  .asset-change { grid-column: 1 / -1; text-align: left; }
  .sort-bar { flex-wrap: wrap; gap: 0.3rem; }
  .chart-container { height: 200px; }

  /* Finance */
  .fin-summary { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  .fin-card { padding: 0.5rem 0.7rem; }
  .fin-card .value { font-size: 0.9rem; }
  .fin-row { font-size: 0.72rem; }
  .fin-input { font-size: 0.72rem; width: 5rem; }

  /* Health */
  .health-summary { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  .health-stat { padding: 0.5rem 0.7rem; }
  .health-stat .hs-value { font-size: 0.95rem; }
  .health-form { grid-template-columns: repeat(3, 1fr) !important; }
  .health-chart-container { height: 200px; }

  /* Calendar / Kanban */
  .kanban { grid-template-columns: repeat(2, 1fr); }

  /* Weather */
  .weather-icon { font-size: 1.8rem; }
  .weather-temp { font-size: 1.4rem; }

  /* YouTube */
  .yt-thumb { width: 80px; min-width: 80px; height: 45px; }
  .yt-title { font-size: 0.72rem; }

  /* Mobility */
  .mob-departure { font-size: 0.72rem; }
  .mob-line { font-size: 0.6rem; padding: 0.1rem 0.35rem; }
}
