* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: "Segoe UI", system-ui, sans-serif;
  background: #f5f5f5;
  min-height: 100vh;
}

header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 28px;
  background: #FFD800;
  border-bottom: 4px solid #000;
}
header .logo { height: 48px; width: auto; }
header h1 { font-size: 1.6rem; color: #000; }
header .loc {
  margin-left: auto;
  font-size: 1.2rem;
  font-weight: 600;
  color: #000;
  background: rgba(255,255,255,.55);
  padding: 6px 16px;
  border-radius: 20px;
}

main { padding: 28px; }

.status {
  text-align: center;
  font-size: 1.4rem;
  color: #444;
  padding: 60px 20px;
}
.status.error { color: #a40000; }

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}

.tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 150px;
  padding: 20px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 16px;
  text-decoration: none;
  color: #000;
  text-align: center;
  box-shadow: 0 3px 0 #000;
}
.tile:active { transform: translateY(3px); box-shadow: none; }
.tile .icon { font-size: 3rem; line-height: 1; }
.tile img.icon { width: 72px; height: 72px; object-fit: contain; }
.tile .title { font-size: 1.15rem; font-weight: 600; }
