/* Farooq Music 2.0 — Backups page (Day 19, WBS D19-4). On top of fm2-admin.css (not touched).
   Same control-room look. No inline styles anywhere (CSP). */
.view-backups{display:grid;gap:1.4rem;padding:1.5rem 2rem;max-width:110rem;margin:0 auto}
.ur .view-backups{direction:rtl}
.places{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem}
.place{border:1px solid var(--line);background:var(--panel);padding:1.1rem 1.2rem;display:grid;gap:.45rem}
.place .k{font-size:.72rem;font-weight:600;letter-spacing:var(--label-ls);color:var(--dim)}
.ur .place .k{letter-spacing:0;font-size:.9rem}
.place .n{font-family:var(--display);font-weight:var(--num-w);font-size:2.2rem;line-height:1.1;color:var(--ink-hi)}
.place .l{color:var(--soft);font-size:.86rem;line-height:1.6}
.ur .place .l{font-size:1rem;line-height:2}
.place.good{box-shadow:inset 4px 0 0 var(--good)} .ur .place.good{box-shadow:inset -4px 0 0 var(--good)}
.place.warn{box-shadow:inset 4px 0 0 var(--amber)} .ur .place.warn{box-shadow:inset -4px 0 0 var(--amber)}
.place.bad{box-shadow:inset 4px 0 0 var(--red)} .ur .place.bad{box-shadow:inset -4px 0 0 var(--red)}
.actions{border:1px solid var(--line);background:var(--panel);padding:1.1rem 1.2rem;display:grid;gap:.8rem}
.actions .row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.actions .big{min-height:3rem;padding:0 1.4rem;font-size:.95rem}
.job{border:1px dashed var(--line);padding:.8rem 1rem;display:grid;gap:.4rem}
.job .state{font-family:var(--display);font-weight:600;letter-spacing:var(--label-ls);color:var(--ink-hi)}
.ur .job .state{letter-spacing:0}
.job pre{margin:0;max-height:16rem;overflow:auto;white-space:pre-wrap;font-family:var(--mono);font-size:.78rem;color:var(--soft);direction:ltr;text-align:left}
.list{border:1px solid var(--line);background:var(--panel)}
.list .head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--line-2)}
.dump{display:grid;grid-template-columns:12rem 7rem 7rem 9rem 8rem 1fr 9rem;gap:.7rem;align-items:center;padding:.6rem 1rem;border-top:1px solid var(--line-2);font-size:.85rem}
.dump.head-row{color:var(--dim);font-size:.72rem;font-weight:600;letter-spacing:var(--label-ls);border-top:0}
.ur .dump.head-row{letter-spacing:0;font-size:.9rem}
.dump .mono{direction:ltr;text-align:start}
.yes{color:var(--good)} .no{color:var(--red)} .maybe{color:var(--amber)}
@media (max-width:1100px){.dump{grid-template-columns:1fr 1fr;row-gap:.2rem}.dump.head-row{display:none}}
.explain{color:var(--soft);font-size:.86rem;line-height:1.7;margin:0}
.ur .explain{font-size:1rem;line-height:2.1}
.later{opacity:.55}
/* 23 Sep: in Urdu the big word on a card (کامیاب) must keep its joined letters — no display font, no spacing */
.ur .place .n{font-family:"Nastaliq",serif;letter-spacing:0;font-weight:700;font-size:1.9rem;line-height:1.8}
.ur .place .n:is(.num){font-family:var(--display)}

/* Day 19 part 5: the real-restore corner — red on purpose, so nobody mistakes it for the everyday buttons */
.actions.danger{border-color:var(--red);box-shadow:inset 4px 0 0 var(--red)} .ur .actions.danger{box-shadow:inset -4px 0 0 var(--red)}
.bad{color:var(--red)} .btn-primary.bad{background:var(--red);color:var(--red-ink);border-color:var(--red)} .navbtn.bad{border-color:var(--red);color:var(--red)}
.code{font-size:1.3rem;letter-spacing:.3rem;color:var(--ink-hi);direction:ltr;display:inline-block}
#danger-code{font-size:1.4rem;letter-spacing:.4rem;direction:ltr;text-align:center;width:9rem}
.dump{grid-template-columns:12rem 7rem 7rem 9rem 8rem 1fr 23rem}
/* 23 Sep 20:35 (owner): the two buttons of a row stand side by side, same size, same line — no push-in when they wrap */
.dump .btns{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.dump .btns .navbtn{min-width:10.5rem;margin:0;text-align:center;white-space:nowrap}
