| :root { | |
| color-scheme: dark; | |
| font-family: Inter, Segoe UI, system-ui, sans-serif; | |
| background: #0a0f14; | |
| color: #e6edf3; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| margin: 0; | |
| min-height: 100vh; | |
| } | |
| button, | |
| select, | |
| input { | |
| font: inherit; | |
| } | |
| button { | |
| border: 0; | |
| border-radius: 6px; | |
| padding: 10px 14px; | |
| color: #061013; | |
| background: #35d07f; | |
| font-weight: 700; | |
| cursor: pointer; | |
| } | |
| .shell { | |
| display: grid; | |
| grid-template-columns: 280px 1fr; | |
| min-height: 100vh; | |
| } | |
| .sidebar { | |
| border-right: 1px solid #1f2c38; | |
| padding: 20px; | |
| background: #0d141b; | |
| } | |
| .brand { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| margin-bottom: 28px; | |
| } | |
| .mark { | |
| display: grid; | |
| place-items: center; | |
| width: 44px; | |
| height: 44px; | |
| border-radius: 8px; | |
| background: #35d07f; | |
| color: #061013; | |
| font-weight: 900; | |
| } | |
| h1, | |
| h2, | |
| h3, | |
| p { | |
| margin: 0; | |
| } | |
| h1 { | |
| font-size: 20px; | |
| } | |
| h2 { | |
| font-size: 18px; | |
| } | |
| h3 { | |
| font-size: 15px; | |
| margin-bottom: 14px; | |
| } | |
| p, | |
| label, | |
| .metric span, | |
| .subtle { | |
| color: #8ea0ad; | |
| } | |
| .metric { | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 10px 0; | |
| border-bottom: 1px solid #1f2c38; | |
| } | |
| .sidebar button { | |
| margin-top: 24px; | |
| width: 100%; | |
| } | |
| .workspace { | |
| padding: 24px; | |
| } | |
| .toolbar { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| gap: 20px; | |
| margin-bottom: 22px; | |
| } | |
| .grid { | |
| display: grid; | |
| grid-template-columns: 1fr 360px; | |
| gap: 16px; | |
| } | |
| .panel { | |
| border: 1px solid #1f2c38; | |
| border-radius: 8px; | |
| padding: 16px; | |
| background: #101922; | |
| } | |
| .wide { | |
| grid-column: 1 / -1; | |
| } | |
| .list, | |
| .stream { | |
| display: grid; | |
| gap: 10px; | |
| } | |
| .item { | |
| border: 1px solid #263645; | |
| border-radius: 6px; | |
| padding: 12px; | |
| background: #0d141b; | |
| } | |
| .item strong { | |
| display: block; | |
| margin-bottom: 6px; | |
| } | |
| label { | |
| display: grid; | |
| gap: 6px; | |
| margin-bottom: 12px; | |
| } | |
| select, | |
| input { | |
| width: 100%; | |
| border: 1px solid #263645; | |
| border-radius: 6px; | |
| padding: 9px 10px; | |
| color: #e6edf3; | |
| background: #0a0f14; | |
| } | |
| .status-blocked { | |
| color: #ffca66; | |
| } | |
| .status-failed { | |
| color: #ff6b6b; | |
| } | |
| .status-succeeded { | |
| color: #35d07f; | |
| } | |
| @media (max-width: 900px) { | |
| .shell, | |
| .grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .sidebar { | |
| border-right: 0; | |
| border-bottom: 1px solid #1f2c38; | |
| } | |
| } | |