/* Dashboard + auth screen additions on top of style.css */

.auth-wrap {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: var(--bg);
}
.auth-card {
  background: var(--panel); border: 1px solid var(--line); border-radius: 12px;
  padding: 32px 30px; width: 100%; max-width: 380px; box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.auth-card h1 { font-size: 18px; margin: 0 0 4px; }
.auth-card p.hint { margin: 0 0 20px; }
.auth-card .field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.auth-card label { font-size: 12px; font-weight: 600; color: var(--ink-soft); }
.auth-card input, .auth-card select {
  padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; font-size: 14px;
}
.auth-card .btn-primary { width: 100%; padding: 10px; font-size: 14px; }
.auth-switch { text-align: center; margin-top: 14px; font-size: 13px; color: var(--ink-soft); }
.auth-switch a { color: var(--accent); cursor: pointer; text-decoration: underline; }
.auth-error { background: var(--red-bg); color: var(--red); padding: 8px 10px; border-radius: 6px; font-size: 13px; margin-bottom: 12px; }
.auth-brand { text-align: center; margin-bottom: 18px; }
.auth-brand .brand-mark { width: 44px; height: 44px; font-size: 15px; border-radius: 10px; }

/* Stat tiles */
.stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.stat-tile { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; }
.stat-tile .stat-label { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: var(--ink-soft); display: block; margin-bottom: 6px; }
.stat-tile .stat-value { font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; }
.stat-tile.good .stat-value { color: var(--green); }
.stat-tile.warn .stat-value { color: var(--amber); }
.stat-tile.bad .stat-value { color: var(--red); }
.stat-tile .stat-sub { display: block; font-size: 11px; color: var(--ink-soft); margin-top: 4px; }

/* Bar chart (built from plain divs, not canvas — no dependency, real DOM you can inspect) */
.chart-panel { margin-bottom: 16px; }
.bar-row { display: grid; grid-template-columns: 160px 1fr 60px; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; }
.bar-row .bar-name { color: var(--ink-soft); text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-track { display: block; background: var(--bg); border-radius: 5px; height: 16px; position: relative; overflow: hidden; }
.bar-fill { display: block; height: 100%; border-radius: 5px; min-width: 3px; }
.bar-row .bar-value { font-variant-numeric: tabular-nums; font-weight: 600; }

.legend-row { display: flex; gap: 16px; margin-bottom: 12px; flex-wrap: wrap; }
.legend-item { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-soft); }
.legend-swatch { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }

.billing-plan-card {
  border: 1px solid var(--line); border-radius: 10px; padding: 18px; margin-bottom: 12px; display: flex;
  justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
}
.plan-badge { font-size: 11px; padding: 3px 10px; border-radius: 20px; font-weight: 700; text-transform: uppercase; }
.plan-badge.trial { background: var(--amber-bg); color: var(--amber); }
.plan-badge.active { background: var(--green-bg); color: var(--green); }
