/* ============================================================
   Admin extras (Oct 2026): AI cost page, Today status strip,
   "Find a page" box, and one look for buttons across the admin desk.
   ============================================================ */

/* ---------- Today: one line of status ---------- */
.adm-strip{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.adm-st{ display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 14px; border-radius:12px; border:1.5px solid #e3eaf9; background:#fff; color:#24324d; font:600 13.5px Manrope,sans-serif; cursor:pointer; text-align:left; }
.adm-st b{ font-family:Sora,Manrope,sans-serif; color:#0b1b33; }
.adm-st:hover{ border-color:#2f5bff; }
.adm-st:focus-visible{ outline:3px solid rgba(47,91,255,.35); outline-offset:1px; }
.adm-st i{ width:10px; height:10px; border-radius:50%; background:#9aa6bd; flex:0 0 10px; }
.adm-st.ok i{ background:#14a06b; }
.adm-st.warn{ border-color:#f2c26b; background:#fff8ea; }
.adm-st.warn i{ background:#d98a00; }
@media(max-width:560px){ .adm-st{ flex:1 1 100%; } }

/* ---------- Menu: find a page ---------- */
.adm-find{ padding:2px 2px 10px; }
.adm-find input{ width:100%; box-sizing:border-box; height:38px; padding:0 12px; border-radius:11px; border:1px solid #d9e1f2; background:#f6f8fd; font:500 14px Manrope,sans-serif; color:#0b1b33; }
.adm-find input:focus{ outline:3px solid rgba(47,91,255,.3); border-color:#2f5bff; background:#fff; }
#adminMain.tq-adm .adm-find input{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:#fff; }
#adminMain.tq-adm .adm-find input::placeholder{ color:#9fb4ea; }
#adminMain.tq-adm .adm-find input:focus{ background:rgba(255,255,255,.16); border-color:#8ea8ff; }
.adm-grp.finding .adm-gi, #adminMain .adm-grp.shut.finding .adm-gi{ display:block; }

/* ---------- AI cost page ---------- */
.ac-alert{ margin:0 0 14px; padding:12px 14px; border-radius:12px; background:#fff1f0; border:1px solid #f3b7b1; color:#7a1d14; font-size:14px; }
.ac-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(142px,1fr)); gap:10px; margin:0 0 14px; }
.ac-t{ padding:14px 16px; border-radius:14px; background:#f6f8fd; border:1px solid #e3eaf9; display:flex; flex-direction:column; gap:3px; }
.ac-t b{ font:800 22px Sora,Manrope,sans-serif; color:#0b1b33; }
.ac-t span{ font:700 13px Manrope,sans-serif; color:#33415c; }
.ac-t small{ font-size:12px; color:#5b6b85; line-height:1.4; }
.ac-t.good{ background:#eefaf4; border-color:#bfe8d3; } .ac-t.good b{ color:#0d6b47; }
.ac-t.bad{ background:#fff4f2; border-color:#f3c4bd; } .ac-t.bad b{ color:#a3271a; }
.ac-card{ padding:14px 16px; border-radius:14px; border:1px solid #e3eaf9; background:#fff; margin:0 0 14px; min-width:0; }
.ac-h{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:0 0 8px; }
.ac-h b{ font:700 15px Sora,Manrope,sans-serif; color:#0b1b33; }
.ac-h small{ font-size:12.5px; color:#5b6b85; }
.ac-chart{ width:100%; height:auto; display:block; }
.ac-grid{ stroke:#e6ebf5; stroke-width:1; }
.ac-ax{ font:11px Manrope,sans-serif; fill:#5b6b85; }
.ac-bar{ fill:#2f5bff; }
.ac-hit{ fill:transparent; }
.ac-b:hover .ac-bar{ fill:#1d3fd1; }
.ac-b:hover .ac-hit{ fill:rgba(47,91,255,.06); }
.ac-2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; }
.ac-2 .ac-card{ margin:0 0 14px; }
.ac-tbl{ width:100%; border-collapse:collapse; font-size:14px; }
.ac-tbl td{ padding:8px 4px; border-top:1px solid #eef1f8; vertical-align:middle; color:#24324d; }
.ac-tbl tr:first-child td{ border-top:0; }
.ac-tbl td small{ display:block; font-size:12px; color:#5b6b85; }
.ac-tbl .num{ text-align:right; font-weight:700; color:#0b1b33; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ac-sh{ width:38%; }
.ac-sh i{ display:block; height:8px; border-radius:4px; background:#2f5bff; }
.ac-empty{ color:#5b6b85; font-size:14px; margin:6px 0; }
.ac-set{ border:1px solid #e3eaf9; border-radius:14px; padding:12px 16px; background:#fafbfe; }
.ac-set summary{ cursor:pointer; font:700 14px Manrope,sans-serif; color:#24324d; }
.ac-note{ font-size:13px; line-height:1.55; color:#33415c; margin:10px 0; }
.ac-form{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
.ac-form label{ display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:#33415c; font-weight:600; }
.ac-form input{ height:38px; padding:0 10px; border:1px solid #d9e1f2; border-radius:10px; font:500 14px Manrope,sans-serif; }
.ac-act{ display:flex; align-items:center; gap:12px; margin-top:12px; }
#acMsg{ font-size:13px; color:#a3271a; }

/* ---------- One look across the admin desk ---------- */
/* the "Super Admin" tag on every heading added noise: only super admins see those pages anyway */
#adminMain .section-card > h4 .role-pill.role-super{ display:none; }
/* wide tables scroll inside their card instead of stretching the page */
#adminMain .section-card{ min-width:0; }
#adminMain .section-card .v2-scroll, #adminMain .section-card .table-wrap{ overflow-x:auto; }
/* the older button styles in a few pages follow the main blue button */
#adminMain .tm-btn:not(.alt):not(.red), #adminMain .gx-btn:not(.ghost):not(.alt){ background:linear-gradient(135deg,#2f5bff,#5b3df5); color:#fff; border-color:transparent; }
#adminMain .tm-btn.gold, #adminMain .gx-btn.gold{ background:linear-gradient(135deg,#2f5bff,#5b3df5); color:#fff; }
/* anything that gives money back or deletes reads as red */
#adminMain .ot-btn[data-rf], #adminMain .btn-danger{ background:#c62f22 !important; color:#fff !important; border-color:#c62f22 !important; }

/* a refund that failed at the bank */
#adminMain .cm-row.cm-bad{ background:#fff4f2; border-left:3px solid #c62f22; padding-left:10px; border-radius:8px; }

/* two-step login card */
.tf-top{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 12px; }
.tf-sw{ display:flex; align-items:center; gap:8px; font-size:14px; color:#24324d; }
.tf-sw input{ width:18px; height:18px; }
#tfMsg{ font-size:13px; } #tfMsg.bad{ color:#a3271a; }
.tf-backup{ padding:12px 14px; border-radius:12px; background:#f6f8fd; border:1px solid #e3eaf9; margin:0 0 12px; font-size:14px; color:#24324d; }
.tf-codes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; margin:10px 0 0; }
.tf-codes code{ font:700 15px ui-monospace,monospace; background:#fff; border:1px dashed #9fb0d6; border-radius:8px; padding:8px; text-align:center; }
.tf-em{ width:100%; min-width:180px; height:36px; padding:0 10px; border:1px solid #d9e1f2; border-radius:9px; font:500 14px Manrope,sans-serif; }
.tf-em.ok{ border-color:#14a06b; }
.tf-need{ color:#9a6700; font-weight:700; font-size:13px; }
.tf-tbl td{ vertical-align:middle; }
@media(max-width:640px){ .tf-tbl tr{ display:grid; grid-template-columns:1fr; } .tf-tbl td.num{ text-align:left; } }

/* folded panels */
#adminMain details.ie-adm-prices{ border:1px solid #e3eaf9; border-radius:12px; padding:0 12px; margin:10px 0; background:#fafbfe; }
#adminMain details.ie-adm-prices > summary{ cursor:pointer; padding:10px 0; }
