* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
  background: radial-gradient(circle at 10% 20%, var(--surface-radial-1), transparent 25%),
              radial-gradient(circle at 80% 0%, var(--surface-radial-2), transparent 28%),
              linear-gradient(145deg, var(--surface-page-linear-1) 0%, var(--surface-page-linear-2) 45%, var(--surface-page-linear-3) 100%);
  color: var(--text);
  padding: 32px 18px 48px;
}
.shell {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
}
header {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}
.view-panel.hidden { display: none; }
.title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.panel {
  background: var(--card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 18px;
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow-card);
}
.filters {
  display: grid;
  gap: 14px;
}
.row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.grid {
  display: grid;
  gap: 12px;
}
.structure-summary,
.structure-details {
  width: 100%;
}
.structure-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.structure-details-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.structure-details-title {
  font-weight: 700;
  font-size: 16px;
}
