| :root { |
| font-family: "Space Grotesk", "Trebuchet MS", sans-serif; |
| color: #e9f7f2; |
| background-color: #0f1c1a; |
| } |
|
|
| * { |
| box-sizing: border-box; |
| } |
|
|
| body { |
| margin: 0; |
| background: radial-gradient(circle at 20% 20%, #1d3b33, #0f1c1a 60%); |
| } |
|
|
| .app { |
| min-height: 100vh; |
| padding: 32px 24px 48px; |
| display: flex; |
| flex-direction: column; |
| gap: 24px; |
| } |
|
|
| .hero { |
| display: grid; |
| gap: 24px; |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); |
| align-items: stretch; |
| } |
|
|
| .eyebrow { |
| text-transform: uppercase; |
| letter-spacing: 0.2em; |
| font-size: 12px; |
| color: #9fb7b0; |
| margin: 0 0 12px; |
| } |
|
|
| h1 { |
| font-size: clamp(28px, 3vw, 40px); |
| margin: 0 0 8px; |
| } |
|
|
| .subtitle { |
| margin: 0; |
| color: #b7cbc5; |
| max-width: 520px; |
| } |
|
|
| .hero-card { |
| background: #162523; |
| border-radius: 20px; |
| padding: 20px; |
| display: grid; |
| gap: 16px; |
| box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); |
| } |
|
|
| .upcoming-list { |
| display: grid; |
| gap: 12px; |
| } |
|
|
| .upcoming-item { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| background: #0f1c1a; |
| padding: 10px 12px; |
| border-radius: 12px; |
| border: 1px solid #1f2c2a; |
| } |
|
|
| .upcoming-item p { |
| margin: 4px 0 0; |
| color: #9fb7b0; |
| font-size: 12px; |
| } |
|
|
| .grid { |
| display: grid; |
| gap: 20px; |
| grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); |
| } |
|
|
| .charts { |
| grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); |
| } |
|
|
| .panel { |
| background: #162523; |
| border-radius: 18px; |
| padding: 20px; |
| box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); |
| display: grid; |
| gap: 16px; |
| } |
|
|
| .panel.wide { |
| grid-column: 1 / -1; |
| } |
|
|
| .controls label { |
| display: grid; |
| gap: 6px; |
| font-size: 12px; |
| text-transform: uppercase; |
| letter-spacing: 0.08em; |
| color: #9fb7b0; |
| } |
|
|
| input, |
| select { |
| background: #0f1c1a; |
| border: 1px solid #1f2c2a; |
| border-radius: 12px; |
| padding: 10px 12px; |
| color: #e9f7f2; |
| } |
|
|
| .button-row { |
| display: flex; |
| gap: 12px; |
| flex-wrap: wrap; |
| } |
|
|
| button { |
| border: none; |
| border-radius: 12px; |
| padding: 10px 14px; |
| cursor: pointer; |
| background: #0f1c1a; |
| color: #e9f7f2; |
| border: 1px solid #1f2c2a; |
| font-weight: 600; |
| } |
|
|
| button.primary { |
| background: #8ce0c1; |
| color: #0f1c1a; |
| border: none; |
| } |
|
|
| .status { |
| font-size: 13px; |
| color: #9fb7b0; |
| } |
|
|
| .stat-grid { |
| display: grid; |
| gap: 12px; |
| grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); |
| } |
|
|
| .label { |
| text-transform: uppercase; |
| font-size: 11px; |
| letter-spacing: 0.08em; |
| color: #9fb7b0; |
| margin: 0 0 6px; |
| } |
|
|
| .chips { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 8px; |
| } |
|
|
| .chip { |
| padding: 6px 10px; |
| border-radius: 999px; |
| background: #0f1c1a; |
| border: 1px solid #1f2c2a; |
| font-size: 12px; |
| color: #9fb7b0; |
| } |
|
|
| .chip.active { |
| border-color: #8ce0c1; |
| color: #8ce0c1; |
| } |
|
|
| .muted { |
| color: #9fb7b0; |
| margin: 0; |
| } |
|
|
| @media (max-width: 720px) { |
| .app { |
| padding: 24px 16px 32px; |
| } |
| .hero { |
| grid-template-columns: 1fr; |
| } |
| .panel.wide { |
| grid-column: auto; |
| } |
| } |
|
|