/* Dark theme baseline */
:root{
  --bg:#121214;--panel:#1c1c21;--panel2:#18181c;--text:#ebebf0;--muted:#a8a8b0;
  --accent:#5aa0ff;--ok:#2ca754;--warn:#e38f36;--danger:#c84646;--chip:#34343c;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font:16px system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial}
header{display:flex;align-items:center;justify-content:space-between;background:#1c1c21;padding:14px 20px;position:sticky;top:0;z-index:10}
header .brand{font-weight:700;font-size:20px}
header nav a, header nav .link{color:var(--muted);text-decoration:none;margin:0 10px}
header nav a:hover{color:var(--accent)} header nav .link{background:none;border:0;cursor:pointer}

main{padding:20px;max-width:1280px;margin:0 auto}
footer{background:#1c1c21;color:var(--muted);padding:16px 20px;margin-top:24px}

.panel{background:var(--panel);padding:16px;border-radius:12px}
.panel.soft{background:#22222a}
.panel.narrow{max-width:540px;margin:0 auto}
h2{margin:0 0 12px} h3{margin:0 0 10px}
.muted{color:var(--muted)}

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

.banner{display:flex;justify-content:space-between;align-items:flex-start;background:#18181c;border-radius:10px;padding:16px 16px;margin-bottom:16px}
.banner .countdown{font-size:32px;font-weight:700}

.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.tiles.disabled .tile{opacity:.5;pointer-events:none}
.tile{background:#2d2d34;border:1px solid #414148;border-radius:10px;padding:10px;display:flex;flex-direction:column;min-height:120px}
.tile .label{flex:1}
.tile .progress{height:8px;background:#232328;border-radius:5px;overflow:hidden;margin-top:8px}
.tile .progress span{display:block;height:100%;background:var(--accent);width:0%}
.tile .sm{margin-top:8px}

.bar{margin:6px 0}
.bar .label{font-size:14px;color:var(--muted)}
.bar .progress{height:10px;background:#232328;border-radius:6px;overflow:hidden;margin-top:6px}
.bar .progress span{display:block;height:100%;background:var(--accent)}

.recent{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.thumb{background:#34343c;border-radius:8px;padding:8px}
.thumb img{width:100%;display:block;border-radius:6px}
.thumb .meta{color:var(--muted);font-size:12px;margin-top:6px}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}
.modal.hidden{display:none}
.modal .card{background:var(--panel);width:860px;max-width:95vw;border-radius:16px;padding:16px}
.modal .card form label{display:block;margin:8px 0}
.modal .card input, .modal .card select{width:100%;padding:10px;border:1px solid #444;border-radius:8px;background:#1c1c1f;color:var(--text)}
.modal .card .checklist{margin:8px 0}
.modal .card .actions{display:flex;justify-content:flex-end;gap:10px}
button{background:var(--accent);color:#121214;border:0;border-radius:8px;padding:10px 14px;cursor:pointer}
button.ghost{background:#6a6a88;color:#121214}
button.danger{background:var(--danger);}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.filters select{background:#1c1c1f;color:var(--text);border:1px solid #444;border-radius:8px;padding:8px}

.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:1200px){ .card-grid{grid-template-columns:repeat(3,1fr)} }
.card.proof{background:#22222a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}
.card .thumb img{width:100%;display:block}
.card .meta{padding:10px}
.card .meta .chip{display:inline-block;border-radius:10px;padding:2px 8px;font-size:12px;margin-bottom:6px;background:#444}
.card .meta .chip.pending{background:#e38f36;color:#121214}
.card .meta .chip.approved{background:#5aa078;color:#121214}
.card .meta .chip.rejected{background:#c84646;color:#121214}
.card .meta .line{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .actions{display:flex;gap:8px;background:#202026;padding:10px;justify-content:flex-start}
.card .actions form{display:inline}
.link{color:var(--muted)}
.list{margin:0;padding-left:18px}
.flash-wrap{margin:12px 0}
.flash{padding:10px 12px;border-radius:8px;margin-bottom:8px;background:#2a2a33}
.flash.ok{background:#2c6f43}
.flash.error{background:#7a2c2c}
/* Extras for team boards + flashes */
.tile.complete{ background: #2ca754; color:#121214; }
.tile.partial{ background: #e38f36; color:#121214; }
.chip.progress-chip{
  display:inline-block;background:#202026;color:#ebebf0;
  font-size:12px;border-radius:8px;padding:2px 8px;margin:6px 0 4px;
}
.flex-row{display:flex;align-items:center}.flex-row .spacer{flex:1}
.switcher select{background:#1c1c1f;color:#ebebf0;border:1px solid #444;border-radius:8px;padding:6px 8px;margin-left:6px}

/* Basic flash styles (login/errors) */
.flash-wrap{margin:12px 0}
.flash{padding:10px 12px;border-radius:8px;margin-bottom:8px;background:#2a2a33}
.flash.ok{background:#2c6f43}
.flash.error{background:#7a2c2c}
<CSS_APPEND_PLACEHOLDER>/* Pending + Complete tile colors (shared + team boards) */
.tile.complete{ background: var(--ok); color:#121214; }
.tile.pending{ background: var(--warn); color:#121214; }
.tile.partial{ background: #d0b14f; color:#121214; }

/* Styled link button */
a.btn.link{display:inline-block;background:var(--accent);color:#121214;
  padding:8px 12px;border-radius:10px;text-decoration:none}
a.btn.link:hover{filter:brightness(1.1)}

/* Team board header controls */
.flex-row{display:flex;align-items:center}
.flex-row .spacer{flex:1}
.switcher select{
  background:#1c1c1f;color:var(--text);
  border:1px solid #444;border-radius:8px;padding:6px 8px;margin-left:6px;
}
/* Progress chip */
.chip.progress-chip{
  display:inline-block;background:#202026;color:var(--text);
  font-size:12px;border-radius:8px;padding:2px 8px;margin:6px 0 4px;
}
/* Admin proofs button area: allow wrapping and avoid clipping */
.actions, .btn-row, .admin-actions { display:flex; flex-wrap:wrap; gap:8px }
.panel { overflow: visible; }
.btn { display:inline-block; }
.btn.small { padding:6px 10px; font-size:12px; }
/* If your admin proof buttons have a container, this will likely catch it. */
/* Admin proofs: allow wrap, avoid clipping */
.actions, .btn-row, .admin-actions { display:flex; flex-wrap:wrap; gap:8px }
.panel { overflow: visible; }
.btn { display:inline-block; }
.btn.small { padding:6px 10px; font-size:12px; }
/* Pending badge on team tiles */
.tile { position: relative; }
.tile .badge {
  position: absolute; top: 6px; right: 6px;
  padding: 2px 6px; font-size: 11px; border-radius: 6px;
  background: #e2902f; color: #111; font-weight: 700;
}

/* Mini detail panel */
.panel.detail {
  position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%);
  width: min(900px, 92vw); max-height: 70vh; overflow: auto; z-index: 1000;
  box-shadow: 0 10px 24px rgba(0,0,0,0.45);
}
.panel.detail.hidden { display: none; }
.panel.detail .detail-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;
}
.panel.detail .thumbs { display:flex; flex-wrap:wrap; gap:8px; }
.panel.detail .thumbs .thumb, .panel.detail .thumbs a.thumb { display:block; }
.panel.detail img { width:100px; height:100px; object-fit:cover; border-radius:8px; }

/* Admin tabs */
.tabs { display:flex; gap:8px; margin:10px 0 16px; flex-wrap: wrap; }
.tab { padding:8px 12px; border-radius:8px; background:#222; color:#ddd; text-decoration:none; }
.tab.active { background:#3b82f6; color:#fff; }
.proofs .proof-row{ display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid #2a2a2a; }
.proofs .thumb img{ width:84px; height:84px; object-fit:cover; border-radius:8px; }
.admin-actions { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto }
/* Tabs */
.tabs { display:flex; gap:8px; margin:10px 0 16px; flex-wrap:wrap; }
.tab { padding:8px 12px; border-radius:10px; background:#222; color:#ddd; text-decoration:none; display:inline-block; border:1px solid #2a2a2a; }
.tab:hover { background:#2a2a2a; }
.tab.active { background:#3b82f6; color:#fff; border-color:#3b82f6; }

/* Pill links */
.pill { display:inline-block; padding:2px 8px; border-radius:999px; background:#1f2937; color:#d1d5db; text-decoration:none; border:1px solid #374151; }
.pill:hover { background:#111827; }

/* Admin proofs: make thumbs small and rows tidy */
.proofs .proof-row{ display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid #2a2a2a; }
.proofs .thumb img{ width:96px; height:96px; object-fit:cover; border-radius:8px; }

/* Team tile states */
.tile.complete { background:#0b3d22; border-color:#1f6f3b; }
.tile.complete .label { color:#c7f9cc; }
.tile.pending { background:#3b2a12; border-color:#e2902f; }
.tile.pending .label { color:#ffd7a1; }
.tile.partial { background:#102339; border-color:#3b82f6; }
.tile.partial .label { color:#cfe8ff; }

/* Pending badge (already present) */
.tile { position:relative; }
.tile .badge { position:absolute; top:6px; right:6px; padding:2px 6px; font-size:11px; border-radius:6px; background:#e2902f; color:#111; font-weight:700; }

/* Minor inputs */
input.num { width:64px; }
.small { font-size:12px; }
.btn.danger { background:#7f1d1d; }

/* --- Brand link in header --- */
.topnav .brand{ color:#e5e7eb; text-decoration:none; font-weight:800; font-size:20px; }
.topnav .brand:hover{ opacity:.9; }

/* Admin member lists */
.admin-team { padding:10px 0; border-bottom:1px solid #2a2a2a; }
.admin-team .members { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.member-pill { padding:2px 8px; border-radius:999px; background:#1f2937; color:#d1d5db; border:1px solid #374151; }
.member-pill form { display:inline; margin-left:6px; }
.member-pill button { background:none; border:none; color:#9ca3af; cursor:pointer; }
.member-pill button:hover { color:#fca5a5; }

/* Tiles editor table */
.table.compact td, .table.compact th { padding:6px 8px; }
.table.compact input[type="number"]{ width:70px; }


.admin-tabs{display:flex;gap:.75rem;margin:0 0 1rem 0;border-bottom:1px solid var(--line);padding-bottom:.5rem;flex-wrap:wrap}
.admin-tabs a{padding:.35rem .6rem;border-radius:.4rem;text-decoration:none;border:1px solid transparent}
.admin-tabs a.active{border-color:var(--line);background:var(--tile);font-weight:700}


.proof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.proof-grid .card{border:1px solid var(--line);border-radius:8px;background:var(--tile);padding:10px;display:flex;flex-direction:column;gap:8px}
.proof-grid .thumb img{display:block;max-width:100%;height:auto;border-radius:6px}
.proof-grid .noimg{height:160px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:6px}
.proof-grid .meta .dim{opacity:.8;font-size:.9em}
.proof-grid .actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.proof-grid .actions form{display:flex;flex-direction:column;gap:6px}
.btn.small{font-size:.85em;padding:.35rem .55rem}
.btn.small.active{outline:2px solid var(--line)}
.ok{background:var(--ok);border-color:var(--ok)}
.warn{background:#af2f2f;border-color:#af2f2f}
.muted{background:#525252;border-color:#525252}


/* hb-ui v2 */
:root{
  --tab-border:#2a2a2e;
  --chip-bg:#1f2937; --chip-text:#e5e7eb;
  --badge-bg:#374151; --badge-pending:#b45309; --badge-approved:#16a34a; --badge-rejected:#ef4444; --badge-overridden:#6b7280;
}
/* Admin sub-tabs */
.tabs{display:flex; gap:.5rem; border-bottom:1px solid var(--tab-border); margin:0 0 .75rem}
.tabs a{padding:.5rem .75rem; text-decoration:none; border-radius:.5rem .5rem 0 0; opacity:.9}
.tabs a.active{background:#111318; opacity:1; font-weight:600}

/* Badges */
.badge{display:inline-block; padding:.15rem .5rem; border-radius:.5rem; font-size:.75rem; line-height:1; background:var(--badge-bg)}
.badge.pending{background:var(--badge-pending)}
.badge.approved{background:var(--badge-approved)}
.badge.rejected{background:var(--badge-rejected)}
.badge.overridden{background:var(--badge-overridden)}

/* Team standings / team list links look like chips */
.standings a, .teams a{display:inline-block; padding:.25rem .5rem; border:1px solid var(--tab-border); border-radius:9999px; text-decoration:none}

/* Scope tile colors:
   - Homepage: neutral (no confusing progress colors)
   - Team boards: use colors for pending/complete  */
.page-home .tile.complete, .page-home .tile.pending{background:transparent; color:inherit; border-color:var(--tab-border)}
.page-team .tile.pending{background:#2b1f07; border-color:#5c3b10}
.page-team .tile.pending .label{color:#fbbf24}
.page-team .tile.complete{background:#0b3d22; border-color:#1f6f3b}
.page-team .tile.complete .label{color:#c7f9cc}

/* Admin proofs thumbnails and action row so Override isn't cut off */
.page-admin a[href^="/proof/"] img{max-width:220px; height:auto; border-radius:.5rem; display:block}
.actions, .proof-actions{display:flex; gap:.5rem; flex-wrap:wrap}

/* HB: tabs & proofs styling */
.tabs{display:flex;gap:18px;border-bottom:1px solid #2b2f36;margin:14px 0 20px 0}
.tabs a{padding:8px 2px;text-decoration:none;color:#9aa4ad;border-bottom:2px solid transparent}
.tabs a:hover{color:#cfd6dd}
.tabs a.active{color:#e9edf2;border-bottom-color:#4d8dff}
.tabs.small a{padding:6px 2px;font-size:.95rem}

/* Badges (pending/approved/etc.) */
.badge{display:inline-block;padding:.15rem .45rem;border-radius:.4rem;font-size:.75rem;line-height:1;border:1px solid transparent}
.badge.pending{color:#e3b341;border-color:#3d3418;background:#1e1a0a}
.badge.approved{color:#4fd18b;border-color:#1f6f3b;background:#0b3d22}
.badge.rejected{color:#ff7a7a;border-color:#61333a;background:#2a1618}
.badge.overridden{color:#7dafff;border-color:#2a3d66;background:#101827}

/* Proof grid sizing */
.proof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.proof-grid figure{margin:0;padding:.6rem;border:1px solid #2b2f36;border-radius:.6rem;background:#1c1f25}
.proof-grid img{width:100%;height:160px;object-fit:cover;border-radius:.45rem;display:block}

/* Team score list: make links look like text until hover */
.team-scores a{color:#e9edf2;text-decoration:none}
.team-scores a:hover{text-decoration:underline}

/* Brand in the header */
.brand{font-weight:700;font-size:1.25rem;color:#e9edf2;text-decoration:none}
.brand:hover{text-decoration:none;opacity:.9}


/* ---- 2025-10-03 polish ---------------------------------- */
:root{
  --hb-border: #2b2e36;
  --hb-input-bg: #1c1e24;
  --hb-input-fg: #e7e9ee;
  --hb-muted: #a1a7b3;
  --hb-accent: #6aa8ff;
}

/* Site brand in the top bar (the "Hurt Clan Bingo Event" link to "/") */
header a[href="/"], nav a[href="/"]{
  font-weight: 700;
  font-size: 22px;
  text-decoration: none;
  color: var(--hb-input-fg);
}

/* Inputs/selects: dark theme everywhere */
input[type="text"], input[type="number"], input[type="date"],
input[type="time"], input[type="file"], input[type="email"],
select, textarea{
  background: var(--hb-input-bg) !important;
  color: var(--hb-input-fg) !important;
  border: 1px solid var(--hb-border) !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
  height: 36px;
}
textarea{ height:auto; min-height: 90px; }

/* Placeholders & disabled look better on dark */
::placeholder{ color: var(--hb-muted); opacity: .9; }
:disabled{ opacity:.7; cursor:not-allowed; }

/* Admin tabs: clearer active state + consistent spacing */
.tabs, .admin-tabs{
  display:flex; gap:24px; border-bottom:1px solid var(--hb-border);
  margin: 0 0 18px 0; padding-bottom: 6px;
}
.tabs a, .admin-tabs a{
  padding: 6px 2px; text-decoration:none; border-bottom:2px solid transparent;
}
.tabs a.active, .admin-tabs a.active{
  border-color: var(--hb-accent);
}

/* Status badges */
.badge.pending{ background:#3d4325; color:#e9f4c8; }
.badge.approved{ background:#123a23; color:#c7f9cc; }
.badge.rejected{ background:#3a1b1b; color:#ffd6d6; }

/* Kill the gray “chips” backgrounds behind little meta labels */
.meta, .meta *{ background: transparent !important; }

/* Admin tables: inputs not glaring white */
table input, table select{ height:32px; }
table td{ vertical-align: middle; }

/* Narrow number fields on Tiles page */
input[type="number"].xs{ width:64px; text-align:center; }
input[type="number"].xxs{ width:52px; text-align:center; }

/* --------------------------------------------------------- */


/* --- ui-polish-20251003 --- */
:root{
  --hb-border:#2e313a;
  --hb-bg-2:#17191e;
  --hb-input-bg:#1c1f26;
  --hb-input-fg:#e8ecf6;
  --hb-muted:#a5adbd;
  --hb-accent:#6aa8ff;
}
a{ color:#6aa8ff; }
header a[href="/"]{ font-weight:700; font-size:22px; text-decoration:none; color:var(--hb-input-fg); }

input[type="text"],input[type="number"],input[type="date"],input[type="time"],input[type="email"],input[type="file"],select,textarea{
  background:var(--hb-input-bg) !important;
  color:var(--hb-input-fg) !important;
  border:1px solid var(--hb-border) !important;
  border-radius:8px !important;
  padding:6px 10px !important;
}
textarea{ min-height: 96px; }
::placeholder{ color:var(--hb-muted); opacity:.9; }

.admin-tabs{ display:flex; gap:24px; border-bottom:1px solid var(--hb-border); margin:4px 0 20px; }
.admin-tabs a{ padding:8px 2px; text-decoration:none; color:var(--hb-muted); border-bottom:2px solid transparent; }
.admin-tabs a.active{ color:#fff; border-color:var(--hb-accent); }

/* remove gray chips/banners */
.meta,.note,.chip,.pill,.inline-note{ background:transparent !important; border:none !important; box-shadow:none !important; }
.muted{ color:var(--hb-muted); }
.small{ font-size:.9rem; }

/* Teams grid: two equal columns */
.teams-grid{ display:grid; grid-template-columns:repeat(2, minmax(380px, 1fr)); gap:22px; }
@media (max-width:1100px){ .teams-grid{ grid-template-columns:1fr; } }
.team-card{ background:var(--hb-bg-2); border:1px solid var(--hb-border); border-radius:14px; padding:18px; }

/* Buttons look consistent */
.btn{ border-radius:10px; padding:8px 12px; }
.btn-primary{ background:#4b89ff; color:#fff; border:1px solid #5c95ff; }
.btn-success{ background:#2ca754; color:#0f1216; border:1px solid #3fc06a; }
.btn-danger{ background:#b33636; color:#fff; border:1px solid #c24b4b; }
/* === Hurt Bingo polish (admin + dark mode) ========================= */
:root{
  --hb-panel:#191b20;
  --hb-border:#2a2e36;
  --hb-input:#16181d;
  --hb-fg:#e7e9ee;
  --hb-muted:#9ea6b5;
  --hb-accent:#6aa8ff;
}

/* Headline brand */
header a[href="/"], nav a[href="/"]{
  font-weight:700; font-size:22px; text-decoration:none; color:var(--hb-fg);
}

/* Inputs everywhere */
input[type="text"], input[type="number"], input[type="date"],
input[type="time"], input[type="file"], input[type="email"],
select, textarea{
  background:var(--hb-input) !important;
  color:var(--hb-fg) !important;
  border:1px solid var(--hb-border) !important;
  border-radius:8px !important;
  padding:6px 10px !important;
}
::placeholder{ color:var(--hb-muted); }

/* Tabs (top and admin sub-tabs) */
.tabs, .admin-tabs{
  display:flex; gap:24px; align-items:center;
  border-bottom:1px solid var(--hb-border); margin-bottom:16px;
}
.tabs a, .admin-tabs a{
  padding:8px 12px; border-radius:10px;
  text-decoration:none; color:var(--hb-fg);
}
.tabs a.active, .admin-tabs a.active{
  outline:2px solid var(--hb-accent); box-shadow:0 0 0 3px rgba(106,168,255,.15);
}

/* Kill gray "chips" / bars used as labels; keep text only */
.meta, .chip, .kpi, .hint{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:var(--hb-muted); padding:0 !important;
}

/* Admin Tiles small legend */
small.muted{ color:var(--hb-muted); font-weight:400; }

/* Equal-height team cards in two-column layout */
.teams-grid{ display:grid; grid-template-columns:repeat(2, minmax(360px,1fr)); gap:24px; align-items:stretch; }
.teams-grid > *{ height:100%; }
.teams-grid .card{ height:100%; display:flex; flex-direction:column; }

/* Put Boards page sub-tabs in the same place as the others */
.page-admin-boards .admin-tabs{ margin-top:8px; }

/* Buttons look consistent (approve/reject) */
.btn.ok{ background:#2ca754; color:#121214; }
.btn.danger{ background:#b33a3a; color:#fff; }
/* Hide legacy proof filter links that are not inside the tab nav */
a[href*="/admin/proofs?status="]{ display:none !important; }
.tabs a[href*="/admin/proofs?status="],
.admin-tabs a[href*="/admin/proofs?status="]{ display:inline-flex !important; }

/* ---- Hurt Bingo polish (2025-10-03) ------------------ */

:root{
  --hb-border:#2b2e36;
  --hb-input-bg:#1c1e24;
  --hb-input-fg:#e7e9ee;
  --hb-muted:#a1a7b3;
  --hb-accent:#6aa8ff;
}

.muted{ color:var(--hb-muted); }

/* Make those little gray "meta/note" boxes disappear */
.meta, .chip, .note, .info {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Inputs/selects everywhere look dark & consistent */
input[type="text"], input[type="number"], input[type="date"],
input[type="time"], input[type="email"], input[type="file"],
select, textarea{
  background: var(--hb-input-bg) !important;
  color: var(--hb-input-fg) !important;
  border: 1px solid var(--hb-border) !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
}

/* Admin tabs: consistent spacing under H1 */
.admin-tabs, .tabs { margin-top: 8px; }

/* Hide any duplicate legacy proof filter row that might still render */
a[href*="/admin/proofs?status="] { display:none !important; }
.admin-tabs a[href*="/admin/proofs?status="] { display:inline-flex !important; }

/* Teams grid: equal columns / card heights */
.teams, .teams-grid, .team-cards{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
  gap: 20px;
}
.team, .team-card{ height:100%; display:flex; flex-direction:column; }

/* Tighten small helper text in table headers */
th .muted{ font-weight:400; margin-left:.25rem; }

/* ---- 2025-10-03 cleanup ----------------------------------------------- */

/* Nuke all “gray chip/label” backgrounds everywhere (plus <code>/kbd/samp) */
.meta, .label, .badge, .chip, .pill, .note, .help, .hint, .info, .muted-box,
.board-meta, .board-subtitle, .subtitle, .secondary, code, kbd, samp {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Sometimes those boxes are plain <small> or <div> with light bg — force it off */
small, .small, .muted { background: transparent !important; }

/* Teams page: equal-width columns and equal-height cards */
.teams, .teams-list, .teams-container, .teams-grid, .page-teams, .teams-wrap {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr)) !important;
  gap: 20px !important;
}
.teams .card, .teams-list .card, .teams-container .card,
.teams-grid .card, .page-teams .card, .teams-wrap .card { height: 100%; }

/* Admin Tiles: make the actions cell read clearly */
td.actions-cell { display: flex; align-items: center; gap: 8px; }
td.actions-cell input[type="number"]{ width: 64px; }
td.actions-cell .btn { margin-left: 6px; }

/* Hide any legacy duplicate proof-filter links if they still render */
a[href*="/admin/proofs?status="]:not(.tabs a) { display: none !important; }


/* ---- polish: buttons --------------------------------------------------- */
.btn, a.btn, button.btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: #4f7fff; color: #fff !important;
  border: 0; border-radius: 10px; padding: 6px 12px;
  font-weight: 600; text-decoration: none !important; height: 36px;
}
.btn:hover { filter: brightness(1.05); }
.btn.danger, .btn-danger, .danger { background: #b03535 !important; color: #fff !important; }
.btn.success, .btn-approve, .ok     { background: #2f8f46 !important; color: #fff !important; }

/* ---- Admin Tiles: clear, labeled, aligned inputs ----------------------- */
td.actions-cell{
  display: grid;
  grid-template-columns: repeat(4, 80px) auto auto;
  align-items: end; gap: 12px;
}
.actions-cell .fld{ display:flex; flex-direction:column; gap:4px; }
.actions-cell .fld small{ font-size: 12px; color: var(--hb-muted); }
.actions-cell input[type="number"]{ width: 100%; }

/* ---- Admin Signups: align select + buttons ----------------------------- */
.assign-actions{ display:flex; gap:10px; align-items:center; }

/* ---- Public Teams: balanced 2-column grid, equal-height cards ---------- */
.page-teams .teams-grid,
.page-teams .teams, 
.page-teams .teams-list, 
.page-teams .teams-container,
.page-teams .content > .cards,
.page-teams .content > .row {
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap:20px !important;
}
.page-teams .teams-grid .card,
.page-teams .teams .card,
.page-teams .teams-list .card,
.page-teams .teams-container .card,
.page-teams .content > .cards .card,
.page-teams .content > .row .card { height:100%; }



/* HB_PATCH_20251003_POLISH */
:root{
  --hb-border:#2b2e36;
  --hb-muted:#a1a7b3;
  --hb-fg:#e7e9ee;
  --hb-accent:#6aa8ff;
}

/* Buttons */
.btn, a.btn, button.btn{
  display:inline-flex; align-items:center; justify-content:center;
  background:#4f7fff; color:#fff !important;
  border:0; border-radius:10px; padding:6px 12px;
  font-weight:600; text-decoration:none !important; height:36px;
}
.btn:hover{ filter:brightness(1.05); }
.btn.success, .btn-approve, .ok{ background:#2f8f46 !important; color:#fff !important; }
.btn.danger, .btn-danger, .danger{ background:#b03535 !important; color:#fff !important; }

/* Admin Tiles: action grid + tiny labels */
td.actions-cell{
  display:grid;
  grid-template-columns:repeat(4, 80px) auto auto;
  align-items:end; gap:12px;
}
.actions-cell .fld{ display:flex; flex-direction:column; gap:4px; }
.actions-cell .fld small{ font-size:12px; color:var(--hb-muted); }
.actions-cell input[type="number"]{ width:100%; }

/* Admin Signups: align select + buttons */
.assign-actions{ display:flex; gap:10px; align-items:center; }

/* Tabs */
.tabs{ display:flex; gap:18px; border-bottom:1px solid var(--hb-border); margin-bottom:12px; }
.tabs a{ padding:8px 10px; color:var(--hb-fg); text-decoration:none; }
.tabs a.active{ color:#fff; border-bottom:2px solid var(--hb-accent); }

/* Utility */
.muted{ color:var(--hb-muted); }

/* Public Teams: balanced 2-col grid */
.page-teams .teams-grid,
.page-teams .teams,
.page-teams .teams-list,
.page-teams .teams-container,
.page-teams .content > .cards,
.page-teams .content > .row{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:20px !important;
}
.page-teams .card{ height:100%; }
/* END HB_PATCH_20251003_POLISH */

/* == Layout helpers for admin + teams (2025-10-03) == */
.admin-tabs{display:flex;gap:18px;border-bottom:1px solid var(--hb-border,#2b2e36);margin:0 0 12px}
.admin-tabs a{padding:8px 10px;color:var(--hb-fg,#e7e9ee);text-decoration:none}
.admin-tabs a.active{color:#fff;border-bottom:2px solid var(--hb-accent,#6aa8ff)}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.card{background:#111418;border:1px solid var(--hb-border,#2b2e36);border-radius:12px;padding:14px}

.btn{display:inline-flex;align-items:center;justify-content:center;background:#4f7fff;color:#fff!important;border:0;border-radius:10px;padding:6px 12px;font-weight:600;text-decoration:none!important;height:36px}
.btn:hover{filter:brightness(1.05)}
.btn.danger{background:#b03535!important}

/* forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-col{display:flex;flex-direction:column;gap:6px}
.form-col.span-2{grid-column:1/-1}
.form-col > label{font-weight:600;color:var(--hb-fg,#e7e9ee)}
.form-col input[type="number"],
.form-col input[type="text"],
.form-col textarea,
.form-col select{width:100%}

/* Teams page */
.page-teams .teams-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:900px){.page-teams .teams-grid{grid-template-columns:1fr}}
.page-teams .card{height:100%}
.page-teams .team-list{margin:10px 0 0 16px;padding:0;list-style:disc}

/* === Tiles + Teams fixes (2025-10-03) === */
.btn{display:inline-flex;align-items:center;justify-content:center;background:#4f7fff;color:#fff!important;border:0;border-radius:10px;padding:6px 12px;font-weight:600;text-decoration:none!important;height:36px}
.btn:hover{filter:brightness(1.05)}
.btn.danger{background:#b03535!important}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.card{background:#111418;border:1px solid var(--hb-border,#2b2e36);border-radius:12px;padding:14px}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-col{display:flex;flex-direction:column;gap:6px}
.form-col.span-2{grid-column:1/-1}
.form-col > label{font-weight:600}

/* Teams: single-column centered */
.page-teams .teams-wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.page-teams .team-list{margin:10px 0 0 18px;list-style:disc}

/* 2025-10-03: Center Teams page explicitly */
.page-teams{
  max-width: 900px;
  margin: 0 auto;          /* center in parent */
  padding: 0 12px;
  display: block;           /* override any parent grid/flex weirdness */
}
.page-teams .teams-wrap{
  width: 100%;
  margin: 0 auto;           /* keep centered */
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page-teams h1{ text-align: left; }

/* 2025-10-03: Team members under team name */
.team-card .team-members,
.page-teams .team-members{
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 0.95rem;
  color: var(--hb-muted, #a1a7b3);
}
.team-card .team-members li,
.page-teams .team-members li{
  margin: 0;
  padding: 0;
}
.muted { opacity: .85; }


/* settings-grid-polish */
.form-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px 16px;
  align-items:end;
}
.form-grid label{
  display:flex; flex-direction:column; gap:6px; font-weight:600;
}
.form-grid input, .form-grid select{ width:100%; }
