/* ============================================================
   Dashboard = REJESTR (plansze 2a/5a): trzykolumnowy rejestr
   (meta 168px | treść | sumy 186px) z sekcjami TERAZ / KOLEJKA /
   DO DECYZJI / DZISIAJ + stany 6b (szkielet / błąd / pusty).
   Kolory wyłącznie z tokens.css. Zero akcentowego border-top.
   ============================================================ */

.accent-soft{color:var(--accent-soft)}

/* --- rejestr: wiersz = 3 kolumny, pełnobleedowy dzielnik na dole --- */
.reg-row{display:grid;grid-template-columns:168px 1fr 186px;column-gap:26px;
  padding:24px 36px;border-bottom:1px solid var(--border)}
.reg-now{padding:26px 36px}
.reg-today{padding-bottom:32px}
.reg-meta-list{margin-top:12px;display:flex;flex-direction:column;gap:5px;
  font:400 var(--font-size-sm) var(--font-mono);color:var(--text-secondary);line-height:1.5}
.reg-meta-list .run-id{color:var(--text-primary);font-weight:600}
.reg-meta-model{color:var(--text-tertiary)} /* linia modelu = tertiary (plansza 5a) */

/* --- TERAZ: hero aktywnego runu --- */
.tz-title{display:flex;align-items:center;gap:10px}
.tz-title span:last-child{font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.01em}
.tz-pulse{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent);
  flex:none;animation:pulse 1.6s infinite}
.tz-steps{margin-top:16px;display:flex;flex-direction:column;gap:8px;max-width:640px}
.tz-step{display:flex;align-items:baseline;gap:10px;font-size:var(--font-size-base);color:var(--text-secondary)}
.tz-step.is-active{color:var(--text-primary)}
.tz-step.is-active .tz-label{font-weight:600}
.tz-ic{flex:none;font-size:var(--font-size-md)}
.tz-ic.is-ok{color:var(--success);font-weight:600}
.tz-ic.is-run{color:var(--accent)}
.tz-ic.is-err{color:var(--danger)}
.tz-ic.is-pend{color:var(--text-faint)}
.tz-leader{flex:1;border-bottom:1px dotted var(--border-field)}
.tz-cost{font:400 var(--font-size-sm) var(--font-mono);color:var(--text-faint)}
.tz-progress{max-width:640px;margin-top:16px}
.tz-progress-fill{height:100%;
  background:repeating-linear-gradient(90deg,var(--accent) 0 12px,var(--accent-soft) 12px 24px);
  animation:dash-flow .9s linear infinite}
.tz-next{margin-top:14px;font-size:var(--font-size-sm);color:var(--text-secondary)}
.tz-next-item{font-family:var(--font-mono)}
.tz-next-item .run-id{margin-right:4px}
.tz-next-arrow{color:var(--text-faint);margin:0 8px}
/* prawa kolumna sum TERAZ */
.tz-sums{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tz-sum-label{font:400 var(--font-size-sm) var(--font-mono);color:var(--text-faint)}
.tz-sum-big{font:600 var(--font-size-lg) var(--font-mono);color:var(--text-primary)}
.tz-sum-big.price-est{color:var(--accent-soft)}
.tz-cancel{margin-top:14px}

/* --- KOLEJKA: podstawowy pas jobów --- */
.q-list{display:flex;flex-direction:column}
.q-row{display:flex;align-items:center;gap:11px;padding:8px 0;
  border-bottom:1px solid var(--border-hairline);cursor:pointer}
.q-row:hover{background:rgba(255,255,255,.02)}
.q-ord{width:16px;flex:none;text-align:center;font:500 var(--font-size-sm) var(--font-mono);color:var(--text-faint)}
.q-desc{font-size:var(--font-size-base)}
.q-leader{flex:1;border-bottom:1px dotted var(--border-field)}
.q-when{font:400 var(--font-size-sm) var(--font-mono);color:var(--text-faint)}

/* --- DO DECYZJI: karty z miniaturami + akcje A/D/O --- */
.dd-item + .dd-sep{border-top:1px solid var(--border-hairline);margin:20px 0 0;padding-top:0}
.dd-sep{height:0}
.reg-decisions .reg-body{display:flex;flex-direction:column;gap:20px}
.dd-head{font-size:var(--font-size-md)}
.dd-head .run-id{font-size:var(--font-size-base)}
.dd-thumbs{display:flex;gap:10px;margin-top:10px;align-items:flex-end}
.dd-thumb{border:1px solid var(--border-field);border-radius:var(--radius-3);flex:none;
  background:repeating-linear-gradient(45deg,var(--checker-a) 0 9px,var(--checker-b) 9px 18px)}
.dd-cand{position:relative;display:flex;align-items:flex-end;justify-content:flex-end}
.dd-cand.is-selected{border:1.5px solid var(--accent)}
.dd-cand-sel{position:absolute;right:5px;bottom:4px;font:500 9px var(--font-mono);color:var(--accent-soft);
  background:var(--surface-inset);padding:1px 5px;border-radius:var(--radius-1)}
.dd-fmt{text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}
.dd-fmt-label{font:400 var(--font-size-2xs) var(--font-mono);color:var(--text-faint)}
.dd-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.dd-action{display:flex;align-items:center;gap:7px}

/* --- DZISIAJ: dziennik + sumy okresów --- */
.dj-list{display:flex;flex-direction:column}
.dj-row{display:grid;grid-template-columns:88px 1fr 160px 80px 64px;align-items:center;
  padding:7px 0;border-bottom:1px solid var(--border-hairline);font-size:var(--font-size-base);cursor:pointer}
.dj-row:last-of-type{border-bottom:none}
.dj-row:hover{background:rgba(255,255,255,.02)}
.dj-desc{font-size:var(--font-size-base)}
.dj-status{display:flex;align-items:center;gap:7px;font-size:var(--font-size-base);color:var(--text-secondary)}
.dj-status .dot{flex:none;animation:none}
.dj-cost{text-align:right}
.dj-time{font:400 var(--font-size-sm) var(--font-mono);color:var(--text-faint);text-align:right}
.dj-retry{font-size:var(--font-size-base)}
.dj-full{display:inline-block;margin-top:12px;font-size:var(--font-size-base)}
/* prawa kolumna sum DZISIAJ */
.dj-sums{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.dj-sum-lg{font:600 var(--font-size-lg) var(--font-mono);color:var(--text-primary)}
.dj-sum-md{font:600 var(--font-size-md) var(--font-mono);color:var(--text-secondary)}
.dj-budget{width:110px;margin-top:10px}
.dj-budget .progress-fill.is-warn{background:var(--accent)}
.dj-budget .progress-fill.is-over{background:var(--danger)}

/* --- 6b · ŁADOWANIE: szkielet w miejscu treści, chrome zostaje --- */
.dash-skeleton{padding:26px 36px}
.skel-head{display:flex;align-items:center;gap:9px;margin-bottom:18px}
.skel-head .dot{flex:none}
.skel-row{height:40px;border-radius:var(--radius-3);margin-bottom:12px;
  background:var(--surface-hover);animation:pulse 2s infinite}

/* --- 6b · BŁĄD: „↻ Ponów" + szczegóły (wspólny wzorzec) --- */
.dash-error{padding:40px 36px;max-width:560px}
.de-head{display:flex;align-items:center;gap:10px}
.de-head .dot{flex:none;animation:none}
.de-title{font-size:var(--font-size-lg);font-weight:600}
.de-body{margin-top:8px;font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.55}
.de-actions{display:flex;align-items:center;gap:16px;margin-top:18px}
.de-retry{padding:6px 14px;font-size:var(--font-size-base)}
.de-detail{margin-top:14px;padding:12px 14px;border:1px solid var(--border-field);
  border-radius:var(--radius-3);background:var(--surface-inset);
  font:400 var(--font-size-sm) var(--font-mono);color:var(--text-tertiary);
  white-space:pre-wrap;overflow-x:auto}

/* --- 6b · PUSTY: pierwsze uruchomienie z checklistą onboardingu --- */
.dash-empty{display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:72px 36px 60px;max-width:520px;margin:0 auto}
.dash-empty-logo{width:132px;height:auto;opacity:.9}
.dash-empty-title{margin-top:28px;font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.01em}
.dash-empty-desc{margin-top:8px;font-size:var(--font-size-md);color:var(--text-secondary)}
.dash-empty-check{margin-top:26px;display:flex;flex-direction:column;gap:11px;text-align:left}
.oc-item{display:flex;align-items:center;gap:10px;font-size:var(--font-size-base);color:var(--text-secondary)}
.oc-item.is-active{color:var(--text-primary)}
.oc-ic{flex:none;font-size:var(--font-size-md)}
.oc-item.is-done .oc-ic{color:var(--success)}
.oc-item.is-active .oc-ic{color:var(--accent)}
.dash-empty-cta{margin-top:30px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px}

@keyframes dash-flow{to{background-position:24px 0}}
