:host { display: block; color: var(--color-text); padding: 2.5rem 2rem; max-width: 1100px; margin: 0 auto; } .dashboard__header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 2rem; } .dashboard__brand { display: flex; align-items: center; gap: 0.85rem; h1 { margin: 0; font-size: 1.75rem; font-weight: 700; } } .dashboard__logo { font-size: 1.3rem; } .dashboard__subtitle { margin: 0.25rem 0 0; color: var(--color-text-muted); } .dashboard__actions { display: flex; align-items: center; gap: 1rem; } h2 { font-size: 1.1rem; font-weight: 600; margin: 0 0 1rem; } .banner-error { display: block; margin: 0 0 1.5rem; } .overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 2.5rem; } .card { padding: 1.25rem; gap: 0.35rem; } .card--gauge { align-items: center; text-align: center; } .card__label { font-size: 0.8rem; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.02em; } .card__value { font-size: 1.6rem; font-weight: 700; } .progress-bar { height: 6px; background: var(--color-border-light); border-radius: var(--radius-pill); overflow: hidden; margin-top: 0.25rem; } .progress-bar__fill { height: 100%; background: var(--color-primary); border-radius: var(--radius-pill); transition: width 0.3s ease; } .chart-section { margin-bottom: 2.5rem; } .alerts-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; } .alert-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 1rem; border-radius: var(--radius-md); background: var(--color-danger-bg); border: 1px solid var(--color-danger-border); } .alert-item__message { font-size: 0.9rem; } .predictions-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; } .prediction-item { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.7rem 1rem; border-radius: var(--radius-md); background: var(--color-surface); border: 1px solid var(--color-border-light); } .prediction-item__site { font-size: 0.9rem; font-weight: 600; } .prediction-item__value { font-size: 0.9rem; font-weight: 600; } .prediction-item__target { margin-left: 0.35rem; font-size: 0.8rem; font-weight: 400; color: var(--color-text-muted); }