* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #e2e8f0;
  min-height: 100vh;
}
.container { max-width: 900px; margin: 0 auto; padding: 2rem; }
header { text-align: center; margin-bottom: 2rem; }
header h1 { font-size: 2.5rem; color: #fff; margin-bottom: 0.5rem; }
.subtitle { color: #94a3b8; }

main { display: grid; gap: 2rem; }
section { background: rgba(255,255,255,0.05); border-radius: 12px; padding: 1.5rem; }
h2 { font-size: 1.25rem; margin-bottom: 1rem; color: #fff; }
h3 { font-size: 1rem; margin-bottom: 0.5rem; color: #94a3b8; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.field { display: flex; flex-direction: column; gap: 0.5rem; }
label { font-size: 0.875rem; color: #cbd5e1; }
input, select { padding: 0.75rem; border-radius: 8px; border: 1px solid #334155; background: #0f172a; color: #fff; }

.results-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; }
.result-card {
  background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 100%);
  border-radius: 8px; padding: 1rem; text-align: center;
}
.result-card h3 { margin-bottom: 0.5rem; }
.result-card p { font-size: 1.5rem; font-weight: bold; color: #60a5fa; }