/* ==========================================================================
   MARQS UI — theme on top of Bootstrap (FLUID + Form-friendly)
   ========================================================================== */

/* Inter (static) */
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter/Inter-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter/Inter-SemiBold.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter/Inter-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}

/* --------------------------------------------------------------------------
   Base tokens
-----------------------------------------------------------------------------*/
:root{
  --brand-blue:#0d3b8e;
  --brand-blue-600:#0b6ed1;
  --brand-blue-700:#0a5eb7;

  --text:#0f172a;
  --muted:#475569;

  --bg:#ffffff;
  --surface:#ffffff;
  --surface-alt:#f8fafc;

  --border:#e5e7eb;

  --success:#10b981;
  --danger:#ef4444;
  --warning:#f59e0b;
  --info:#3b82f6;

  --radius:12px;
  --shadow:0 1px 2px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);

  /* Shared page hero (app shell — not operator modules) */
  --marqs-hero-navy:#1a2744;
  --marqs-hero-navy-mid:#243b5c;

  /* Sticky chrome below the site navbar (JS may overwrite with measured height) */
  --marqs-sticky-nav-offset:4.15rem;
}

html,body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5{font-weight:700;letter-spacing:.1px}
small,.text-muted{color:var(--muted)!important}

/* Bootstrap `.container` (used sparingly; pages use .marqs-main) */
.container{max-width:1100px}

/* --------------------------------------------------------------------------
   Navbar (dark blue, sticky site header)
-----------------------------------------------------------------------------*/
.navbar.marqs{
  background:linear-gradient(180deg,#0f4599 0%,var(--brand-blue) 100%)!important;
  position:sticky;
  top:0;
  z-index:1030;
  box-shadow:0 1px 0 rgba(255,255,255,.08),0 4px 14px rgba(15,23,42,.16);
  border-bottom:1px solid rgba(255,255,255,.1);
  padding-top:.35rem;
  padding-bottom:.35rem;
}
.navbar.marqs .container-fluid{
  align-items:center;
  gap:.25rem;
}
.navbar.marqs .navbar-brand{
  color:#fff!important;
  padding-top:.25rem;
  padding-bottom:.25rem;
  margin-right:.5rem;
}
.navbar.marqs .navbar-brand:hover{opacity:.95}
.brand-logo{
  max-height:52px;
  height:auto;
  width:auto;
  display:block;
}
@media(max-width:520px){
  .brand-logo{max-height:44px}
}
.navbar.marqs .navbar-toggler{
  border-color:rgba(255,255,255,.35);
  padding:.35rem .55rem;
}
.navbar.marqs .navbar-toggler:focus{
  box-shadow:0 0 0 .2rem rgba(255,255,255,.25);
}
.navbar.marqs .nav-link{
  color:#fff!important;
  opacity:.97;
  font-weight:500;
  padding:.45rem .7rem;
  border-radius:8px;
  transition:background-color .15s ease,opacity .15s ease;
}
.navbar.marqs .nav-link:hover,
.navbar.marqs .nav-link:focus{
  opacity:1;
  background:rgba(255,255,255,.12);
  text-decoration:none;
}
.navbar.marqs .nav-link.dropdown-toggle::after{
  vertical-align:.2em;
}
.navbar.marqs .dropdown-menu{
  z-index:1040;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.12);
  padding:.35rem;
  margin-top:.35rem;
  max-height:calc(100dvh - 160px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.25) transparent;
}
@supports not (height:100dvh){
  .navbar.marqs .dropdown-menu,
  .navbar.marqs .dropdown-menu.show{
    max-height:calc(100vh - 160px);
  }
}
.navbar.marqs .dropdown-menu.show{
  max-height:calc(100dvh - 160px);
  overflow-y:auto;
}
.navbar.marqs .dropdown-menu::-webkit-scrollbar{
  width:6px;
}
.navbar.marqs .dropdown-menu::-webkit-scrollbar-track{
  background:transparent;
  margin:.25rem 0;
}
.navbar.marqs .dropdown-menu::-webkit-scrollbar-thumb{
  background:rgba(15,23,42,.22);
  border-radius:999px;
}
.navbar.marqs .dropdown-menu::-webkit-scrollbar-thumb:hover{
  background:rgba(15,23,42,.35);
}
.navbar.marqs .dropdown-item{
  border-radius:7px;
  padding:.45rem .75rem;
}
@media (max-width: 991.98px){
  .navbar.marqs .dropdown-item{
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }
}
.navbar.marqs .dropdown-menu.marqs-nav-event-ops{
  --bs-dropdown-min-width:18.75rem;
  min-width:min(18.75rem, calc(100vw - 1.25rem));
  max-width:min(20rem, calc(100vw - 1.25rem));
  max-height:min(calc(100dvh - 5.5rem), calc(100vh - 5.5rem));
  overflow-x:hidden;
  overflow-y:auto;
}
.navbar.marqs .marqs-nav-event-ops > li > .dropdown-item{
  display:grid;
  grid-template-columns:1.25em minmax(0, 1fr);
  column-gap:.55rem;
  align-items:start;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.35;
}
.navbar.marqs .marqs-nav-event-ops > li > .dropdown-item > [class*="fa-"]{
  flex:none;
  width:1.25em;
  text-align:center;
  line-height:1.35;
  margin-top:.12em;
}
.navbar.marqs .marqs-nav-event-ops .dropdown-item:focus,
.navbar.marqs .marqs-nav-event-ops .dropdown-item:focus-visible{
  outline:2px solid rgba(13,110,253,.45);
  outline-offset:-2px;
}
@media (max-width: 991.98px){
  .navbar.marqs .navbar-collapse .dropdown-menu.marqs-nav-event-ops{
    min-width:0;
    width:100%;
    max-width:100%;
  }
  .navbar.marqs .marqs-nav-event-ops > li > .dropdown-item{
    min-height:2.75rem;
    padding-top:.65rem;
    padding-bottom:.65rem;
  }
}
@media (max-width: 420px){
  .navbar.marqs .dropdown-menu{
    max-width:min(100vw - 1rem, 22rem);
  }
}
.navbar.marqs .dropdown-item:hover,
.navbar.marqs .dropdown-item:focus{
  background:var(--surface-alt);
}
.navbar.marqs .dropdown-header{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
  position:sticky;
  top:0;
  z-index:1;
  background:var(--surface);
  padding-top:.35rem;
  padding-bottom:.25rem;
  margin-bottom:0;
}
@media(max-width:991.98px){
  .navbar.marqs .navbar-collapse{
    background:rgba(8,30,74,.55);
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    padding:.5rem .65rem .65rem;
    margin-top:.45rem;
    max-height:min(70vh,520px);
    overflow-y:auto;
  }
  .navbar.marqs .navbar-nav.ms-auto{
    padding-top:.35rem;
    margin-top:.35rem;
    border-top:1px solid rgba(255,255,255,.12);
  }
}

/* --------------------------------------------------------------------------
   Main wrapper — FLUID (full width)
-----------------------------------------------------------------------------*/
.marqs-main{
  width:100%;
  max-width:none;          /* full width pages */
  margin:18px 0 24px;
  padding:0 16px;          /* gentle side gutters */
}

/* --------------------------------------------------------------------------
   Split layout helpers (for list + editor side-by-side)
-----------------------------------------------------------------------------*/
.split-lg{ display:grid; grid-template-columns: 1.2fr .8fr; gap:16px; align-items:start; }
@media(max-width:992px){ .split-lg{ grid-template-columns: 1fr; } }

/* make the right panel stick while scrolling long forms */
.sticky-md{ position:sticky; top:12px; }

/* --------------------------------------------------------------------------
   Cards
-----------------------------------------------------------------------------*/
.card.marqs{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card.marqs .card-header{
  background:var(--surface-alt);
  border-bottom:1px solid var(--border);
  font-weight:700;
}

/* --------------------------------------------------------------------------
   Buttons
-----------------------------------------------------------------------------*/
.btn-marqs{
  display:inline-flex;align-items:center;gap:8px;
  border:0;border-radius:10px;
  padding:10px 14px;
  font-weight:600;cursor:pointer;
  background:var(--brand-blue);color:#fff;
}
.btn-marqs:hover{filter:brightness(.98)}
.btn-marqs:active{transform:translateY(1px)}
.btn-marqs.secondary{background:#0f172a;color:#fff}
.btn-marqs.ghost{background:#fff;color:var(--brand-blue);border:1px solid var(--brand-blue)}
.btn-marqs.success{background:var(--success)}
.btn-marqs.danger{background:var(--danger)}
.btn-marqs.warning{background:var(--warning)}
.btn-marqs.info{background:var(--info)}
.btn-marqs.sm{padding:6px 10px;border-radius:8px}
.btn-marqs.lg{padding:12px 18px;border-radius:12px}
.btn-marqs:disabled,
.btn-marqs[disabled]{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
  filter:none;
  transform:none;
}

.btn-primary{background-color:var(--brand-blue);border-color:var(--brand-blue)}
.btn-primary:hover{background-color:var(--brand-blue-600);border-color:var(--brand-blue-600)}

/* --------------------------------------------------------------------------
   Forms
-----------------------------------------------------------------------------*/
.form-control,.form-select,textarea{
  border:2px solid var(--border);
  border-radius:10px;
}
.form-control:focus,.form-select:focus,textarea:focus{
  border-color:var(--brand-blue);
  box-shadow:0 0 0 .2rem rgba(13,59,142,.15)!important;
}

.form-text{color:var(--muted)}

.form-row-marqs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.form-row-marqs{grid-template-columns:1fr}}

select[multiple]{ min-height: 180px; }

/* High-contrast checkboxes */
.form-check-input[type="checkbox"]{
  appearance:none;
  width:1.25rem;height:1.25rem;
  border-radius:.25rem;
  border:2px solid #334155;             /* slate-700 */
  background:#f1f5f9;                   /* slate-100 */
  display:inline-grid;place-content:center;
  cursor:pointer;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.form-check-input[type="checkbox"]::after{
  content:"";
  width:.7rem;height:.7rem;
  transform:scale(0);
  transition:transform 120ms ease-in-out;
  background:var(--brand-blue);
  clip-path:polygon(14% 44%, 0 62%, 43% 100%, 100% 18%, 84% 0, 41% 62%);
}
.form-check-input[type="checkbox"]:hover{
  border-color:#1f2937;                 /* gray-800 */
  background:#e2e8f0;                   /* slate-200 */
}
.form-check-input[type="checkbox"]:focus{
  outline:none;
  box-shadow:0 0 0 .2rem rgba(13,59,142,.20);
  border-color:var(--brand-blue);
}
.form-check-input[type="checkbox"]:active{ background:#e2e8f0; }
.form-check-input[type="checkbox"]:checked{
  border-color:var(--brand-blue);
  background:#eaf1fb;                   /* faint blue fill */
}
.form-check-input[type="checkbox"]:checked::after{ transform:scale(1); }
.form-check-input[type="checkbox"]:disabled{ cursor:not-allowed; opacity:.6; }

/* Compact inline checkbox groups */
.check-grid{ display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:8px 12px; }
@media(max-width:992px){ .check-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:720px){ .check-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* --------------------------------------------------------------------------
   Tables
-----------------------------------------------------------------------------*/
.table.marqs{
  background:#fff;border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
}
.table.marqs th,.table.marqs td{
  padding:10px 12px;border-bottom:1px solid var(--border);
}
.table.marqs th{background:var(--surface-alt);font-weight:700}
.table.marqs tbody tr:hover{background:#f3f6fb}
.table.marqs tbody tr.reg-row--already-registered:hover,
.table.marqs tbody tr.reg-row--in-cart:hover{
  background-color:transparent;
}

/* Zebra striping (staff list tables); intentionally visible for desk scanning — opt-in via .marqs-table-zebra */
.table.marqs.marqs-table-zebra tbody tr{
  background-color:transparent;
}
.table.marqs.marqs-table-zebra tbody tr:nth-child(odd):not(.marqs-reg-div-category-row):not(.table-warning):not(.marqs-search-match):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.marqs-order-group-header):not(.marqs-order-group-child):not(.collapse) > *{
  --bs-table-bg:#fff;
  background-color:#fff;
}
.table.marqs.marqs-table-zebra tbody tr:nth-child(even):not(.marqs-reg-div-category-row):not(.table-warning):not(.marqs-search-match):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.marqs-order-group-header):not(.marqs-order-group-child):not(.collapse) > *{
  --bs-table-bg:#e6f0ff;
  background-color:#e6f0ff;
}
.table.marqs.marqs-table-zebra tbody tr:hover:not(.marqs-reg-div-category-row):not(.table-warning):not(.marqs-search-match):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.marqs-order-group-header):not(.marqs-order-group-child):not(.collapse) > *{
  --bs-table-bg:#d7e7ff;
  background-color:#d7e7ff;
}
/* Rows marked .marqs-zebra-on (skips collapse/helper rows between data lines) */
.table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on):not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted) > *{
  --bs-table-bg:#fff;
  background-color:#fff;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on):not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted) > *{
  --bs-table-bg:#e6f0ff;
  background-color:#e6f0ff;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:hover:not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted) > *{
  --bs-table-bg:#d7e7ff;
  background-color:#d7e7ff;
}
.table.marqs.marqs-table-zebra tbody tr.collapse > *{
  --bs-table-bg:#fff;
  background-color:#fff;
}
.table.marqs.marqs-table-zebra tbody tr.table-warning > *,
.table.marqs.marqs-table-zebra tbody tr.table-warning:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.table-warning:nth-child(even) > *{
  background-color:#fffbeb;
}
.table.marqs.marqs-table-zebra tbody tr.table-warning:hover > *{
  background-color:#fef3c7;
}
.table tbody tr.marqs-search-match > *{
  background-color:#fff3cd;
  color:#3d3420;
  box-shadow:none;
}
.table tbody tr.marqs-search-match > td:first-child,
.table tbody tr.marqs-search-match > th:first-child{
  box-shadow:inset 4px 0 0 #c9a227;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:nth-child(even) > *{
  --bs-table-bg:#fff3cd;
  background-color:#fff3cd;
  color:#3d3420;
  box-shadow:none;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match > td:first-child,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match > th:first-child,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:nth-child(odd) > td:first-child,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:nth-child(even) > td:first-child{
  box-shadow:inset 4px 0 0 #c9a227;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:hover > *{
  --bs-table-bg:#ffe8a3;
  background-color:#ffe8a3;
  box-shadow:none;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:hover > td:first-child,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match:hover > th:first-child{
  box-shadow:inset 4px 0 0 #c9a227;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match.table-warning > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match.table-warning:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match.table-warning:nth-child(even) > *{
  --bs-table-bg:#ffe69c;
  background-color:#ffe69c;
  box-shadow:none;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match.table-warning > td:first-child,
.table.marqs.marqs-table-zebra tbody tr.marqs-search-match.table-warning > th:first-child{
  box-shadow:inset 4px 0 0 #c9a227;
}
.marqs-search-match-label{
  display:inline-block;
  margin-left:.35rem;
  padding:.05rem .4rem;
  font-size:.75rem;
  font-weight:600;
  color:#664d03;
  background:#fff8e1;
  border:1px solid #c9a227;
  border-radius:.25rem;
  white-space:nowrap;
}
.marqs-search-match-reason{
  display:block;
  font-size:.75rem;
  color:#664d03;
  font-weight:500;
}
.marqs-standings-div-list .list-group-item.marqs-standings-div-item{
  border-left:0;
  border-right:0;
  padding:.7rem 1rem;
}
.marqs-standings-div-list .list-group-item.marqs-standings-div-item:nth-child(odd){
  background:#f8fafc;
}
.marqs-standings-div-list .list-group-item.marqs-standings-div-item:nth-child(even){
  background:#fff;
}
.marqs-standings-div-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .6rem;
}
.marqs-standings-div-name,
.marqs-standings-div-title{
  font-weight:600;
}
.marqs-standings-div-meta{
  margin-top:.2rem;
  font-size:.8125rem;
  line-height:1.4;
  color:var(--muted);
  white-space:normal;
  overflow-wrap:anywhere;
}
.marqs-section-card--primary.card.marqs > .card-header .marqs-standings-div-meta{
  color:rgba(255,255,255,.86);
}
.marqs-standings-tour-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.marqs-standings-tour-table{
  margin-bottom:0;
}
.marqs-standings-tour-table th.marqs-standings-tour-col,
.marqs-standings-tour-table td.marqs-standings-tour-col{
  min-width:7.75rem;
  white-space:nowrap;
}
.marqs-standings-tour-table .marqs-standings-sticky{
  position:sticky;
  z-index:2;
  background-clip:padding-box;
}
.marqs-standings-tour-table thead .marqs-standings-sticky{
  z-index:4;
  background:var(--bs-table-bg, #fff);
}
.marqs-standings-tour-table .marqs-standings-sticky--rank{
  left:0;
  min-width:3.5rem;
  width:3.5rem;
}
.marqs-standings-tour-table .marqs-standings-sticky--name{
  left:3.5rem;
  min-width:11rem;
}
.marqs-standings-tour-table .marqs-standings-sticky--school{
  left:14.5rem;
  min-width:7rem;
}
.marqs-standings-tour-table .marqs-standings-sticky--code{
  left:21.5rem;
  min-width:4.75rem;
}
.marqs-standings-tour-table .marqs-standings-sticky--total{
  left:26.25rem;
  min-width:4.5rem;
  box-shadow:1px 0 0 var(--border);
}
@media (max-width: 767.98px){
  .marqs-standings-tour-table .marqs-standings-sticky--school,
  .marqs-standings-tour-table .marqs-standings-sticky--code{
    position:static;
  }
  .marqs-standings-tour-table .marqs-standings-sticky--total{
    left:14.5rem;
  }
}
.marqs-overall-rank-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.marqs-overall-rank-table{
  min-width:48rem;
}
.marqs-overall-rank-table .marqs-overall-rank-col--rank{
  white-space:nowrap;
  min-width:6.25rem;
}
.marqs-overall-rank-table .marqs-overall-rank-col--name{
  min-width:11rem;
}
.marqs-overall-rank-table .marqs-overall-rank-col--school{
  min-width:7rem;
}
.marqs-overall-rank-table .marqs-overall-rank-col--code{
  white-space:nowrap;
  min-width:4.5rem;
}
.marqs-overall-rank-table .marqs-overall-rank-col--regions,
.marqs-overall-rank-table .marqs-overall-rank-col--best,
.marqs-overall-rank-table .marqs-overall-rank-col--points{
  white-space:nowrap;
  min-width:4.5rem;
}
.marqs-overall-rank-table .marqs-overall-rank-col--results{
  min-width:14rem;
}
[data-bs-theme="dark"] .table tbody tr.marqs-search-match > *,
[data-bs-theme="dark"] .table.marqs.marqs-table-zebra tbody tr.marqs-search-match > *,
[data-bs-theme="dark"] .table.marqs.marqs-table-zebra tbody tr.marqs-search-match:nth-child(odd) > *,
[data-bs-theme="dark"] .table.marqs.marqs-table-zebra tbody tr.marqs-search-match:nth-child(even) > *{
  --bs-table-bg:#4a3f1f;
  background-color:#4a3f1f;
  color:#fde68a;
  box-shadow:none;
}
[data-bs-theme="dark"] .table tbody tr.marqs-search-match > td:first-child,
[data-bs-theme="dark"] .table tbody tr.marqs-search-match > th:first-child,
[data-bs-theme="dark"] .table.marqs.marqs-table-zebra tbody tr.marqs-search-match > td:first-child,
[data-bs-theme="dark"] .table.marqs.marqs-table-zebra tbody tr.marqs-search-match > th:first-child{
  box-shadow:inset 4px 0 0 #fbbf24;
}
[data-bs-theme="dark"] .marqs-search-match-label{
  color:#fde68a;
  background:#5c4d24;
  border-color:#fbbf24;
}
[data-bs-theme="dark"] .marqs-search-match-reason{
  color:#fde68a;
}
.table.marqs.marqs-table-zebra tbody tr.table-danger > *,
.table.marqs.marqs-table-zebra tbody tr.table-danger:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.table-danger:nth-child(even) > *{
  background-color:#fef2f2;
}
.table.marqs.marqs-table-zebra tbody tr.table-danger:hover > *{
  background-color:#fee2e2;
}
.table.marqs.marqs-table-zebra tbody tr.table-success > *,
.table.marqs.marqs-table-zebra tbody tr.table-success:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.table-success:nth-child(even) > *{
  background-color:#ecfdf5;
}
.table.marqs.marqs-table-zebra tbody tr.table-success:hover > *{
  background-color:#d1fae5;
}
.table.marqs.marqs-table-zebra tbody tr.table-secondary > *,
.table.marqs.marqs-table-zebra tbody tr.table-secondary:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.table-secondary:nth-child(even) > *{
  background-color:#f8fafc;
}
.table.marqs.marqs-table-zebra tbody tr.table-light > *,
.table.marqs.marqs-table-zebra tbody tr.table-light:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.table-light:nth-child(even) > *,
.table.marqs.marqs-table-zebra tbody tr.table-light:hover > *{
  --bs-table-bg:#f8f9fa;
  background-color:#f8f9fa;
}
/* register.php blocked division rows — must follow zebra rules and win over nth-child striping */
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:nth-child(even) > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:hover > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered > td,
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:hover > td{
  --bs-table-bg:#e8edf5;
  --bs-table-color:#334155;
  background-color:#e8edf5 !important;
  color:#334155;
  box-shadow:none;
}
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:hover > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:hover > td{
  --bs-table-bg:#dbe4f0;
  background-color:#dbe4f0 !important;
}
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart:nth-child(even) > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart:hover > *,
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart > td,
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart:hover > td{
  --bs-table-bg:#e3f8ef;
  --bs-table-color:#065f46;
  background-color:#e3f8ef !important;
  color:#065f46;
  box-shadow:none;
}
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered .form-check-label,
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart .form-check-label{
  color:inherit;
  opacity:.88;
}
.table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered code:not(.division-code),
.table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart code:not(.division-code){
  color:inherit;
}
.reg-division-search .form-control[type="search"]::-webkit-search-cancel-button{
  cursor:pointer;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-row-muted > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-row-muted:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-row-muted:nth-child(even) > *{
  background-color:#f8fafc;
}
.table.marqs.marqs-table-zebra tbody tr.marqs-table-empty > *{
  background-color:var(--surface-alt);
}

/* Zebra list rows (staff lists); matches .marqs-table-zebra colors — opt-in via .marqs-list-zebra */
ul.marqs-list-zebra,
ol.marqs-list-zebra{
  margin:0;
  padding:0;
  list-style:none;
}
.marqs-list-zebra > .marqs-list-zebra-row:nth-child(odd),
.marqs-list-zebra > li:nth-child(odd){
  background-color:#fff;
}
.marqs-list-zebra > .marqs-list-zebra-row:nth-child(even),
.marqs-list-zebra > li:nth-child(even){
  background-color:#e6f0ff;
}
.marqs-list-zebra > .marqs-list-zebra-row:hover,
.marqs-list-zebra > li:hover{
  background-color:#d7e7ff;
}

/* --------------------------------------------------------------------------
   Alerts
-----------------------------------------------------------------------------*/
.alert{padding:10px 12px;margin-top:8px}
.alert-border{border:1px solid var(--border);border-radius:10px}
.alert-info.marqs{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.alert-success.marqs{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
.alert-warning.marqs{background:#fffbeb;border-color:#fde68a;color:#92400e}
.alert-danger.marqs{background:#fef2f2;border-color:#fecaca;color:#991b1b}

/* --------------------------------------------------------------------------
   Badges
-----------------------------------------------------------------------------*/
.badge-marqs{
  display:inline-block;padding:4px 8px;border-radius:999px;
  font-size:.85rem;font-weight:700;background:#eceff3;border:1px solid #dae0e7;color:#334155
}
.badge-marqs.blue{background:#e0ecff;border-color:#bed7ff;color:#0b48a8}
.badge-marqs.gray{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.badge-marqs.success{background:#d1fae5;border-color:#a7f3d0;color:#065f46}
.badge-marqs.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}

/* Registration / desk status (staff tables) */
.badge-marqs--status-pending{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.badge-marqs--status-paid{background:#d1fae5;border-color:#a7f3d0;color:#065f46}
.badge-marqs--status-checked-in{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}
.badge-marqs--status-withdrawn{background:#fef3c7;border-color:#fde68a;color:#92400e}
.badge-marqs--status-refunded{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}
.badge-marqs--status-registered{background:#e2e8f0;border-color:#cbd5e1;color:#334155}
.badge-marqs--status-roster{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.badge-marqs--pay-partial{background:#fef3c7;border-color:#fde68a;color:#92400e}
.badge-marqs--pay-reported{background:#fff7ed;border-color:#fdba74;color:#9a3412}

.marqs-admin-reg-contact-link{
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.marqs-admin-reg-contact-link:hover,
.marqs-admin-reg-contact-link:focus{
  text-decoration:underline;
}
.badge-marqs.marqs-admin-reg-spec-badge{
  min-width:1.5rem;
  text-align:center;
  padding:2px 7px;
  font-size:.8rem;
  font-weight:700;
}

/* --------------------------------------------------------------------------
   Admin / staff layout
-----------------------------------------------------------------------------*/
.marqs-page{
  width:100%;
  max-width:none;
}
.marqs-page--desk{
  --marqs-page-gap:1rem;
}

/* --------------------------------------------------------------------------
   Page hero — navy title card for normal app pages (header.php shell)
-----------------------------------------------------------------------------*/
.marqs-page-hero{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px 18px;
  background:linear-gradient(135deg,var(--marqs-hero-navy) 0%,var(--marqs-hero-navy-mid) 52%,var(--brand-blue) 100%);
  color:#f1f5f9;
  border-radius:16px;
  padding:clamp(16px,2.5vw,24px);
  margin-bottom:clamp(14px,2vw,20px);
  box-shadow:0 14px 36px rgba(15,23,42,.12);
  border:1px solid rgba(255,255,255,.08);
}
.marqs-page-hero__main{
  flex:1 1 280px;
  min-width:0;
}
.marqs-page-title{
  margin:0 0 6px;
  font-size:clamp(1.25rem,2.5vw,1.5rem);
  font-weight:800;
  line-height:1.2;
  color:#fff;
  letter-spacing:-.02em;
}
.marqs-page-hero--compact .marqs-page-title{
  font-size:clamp(1.15rem,2vw,1.35rem);
  letter-spacing:-.01em;
}
.marqs-page-hero--public .marqs-page-title{
  font-size:clamp(1.5rem,4vw,2rem);
  letter-spacing:-.03em;
}
.marqs-page-subtitle{
  margin:0;
  max-width:42rem;
  font-size:.9375rem;
  line-height:1.55;
  color:#94a3b8;
}
.marqs-page-hero--public .marqs-page-subtitle{
  font-size:1.02rem;
  line-height:1.6;
}
.marqs-page-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.marqs-page-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:.8rem;
  font-weight:600;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  color:#e2e8f0;
}
.marqs-page-chip b{
  color:#fff;
  font-weight:800;
}
.marqs-page-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 1 auto;
  align-self:center;
}
@media(max-width:575.98px){
  .marqs-page-actions{
    width:100%;
    justify-content:flex-start;
    align-self:flex-start;
  }
}
.marqs-page-hero .marqs-page-actions .btn{
  font-weight:600;
  border-radius:8px;
  white-space:nowrap;
}
.marqs-page-hero .marqs-page-actions .btn-light{
  color:var(--marqs-hero-navy);
}
.marqs-page-hero .marqs-page-actions .btn-outline-light:hover,
.marqs-page-hero .marqs-page-actions .btn-outline-light:focus{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.marqs-page-hero .marqs-page-actions .btn-primary{
  background:#fff;
  border-color:#fff;
  color:var(--marqs-hero-navy);
}
.marqs-page-hero .marqs-page-actions .btn-primary:hover,
.marqs-page-hero .marqs-page-actions .btn-primary:focus{
  background:#f1f5f9;
  border-color:#f1f5f9;
  color:var(--marqs-hero-navy);
}
.marqs-page-hero .marqs-page-actions .btn-outline-danger{
  color:#fecaca;
  border-color:rgba(248,113,113,.65);
}
.marqs-page-hero .marqs-page-actions .btn-outline-danger:hover,
.marqs-page-hero .marqs-page-actions .btn-outline-danger:focus{
  background:rgba(239,68,68,.2);
  color:#fff;
}
.marqs-page-hero .marqs-page-actions .btn-warning{
  color:#78350f;
  background:#fde68a;
  border-color:#fcd34d;
}
.marqs-page-hero .marqs-page-actions .btn-warning:hover,
.marqs-page-hero .marqs-page-actions .btn-warning:focus{
  background:#fef3c7;
  border-color:#fde68a;
  color:#78350f;
}

.sched-page-hero .sched-hero-name{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  color:#fff;
  font-weight:700;
}
.sched-tournament-selector{
  margin-top:14px;
  width:100%;
  max-width:36rem;
  min-width:0;
}
.sched-tournament-selector .form-label{
  color:#e2e8f0;
  font-weight:600;
  margin-bottom:4px;
}
.sched-tournament-selector .form-select,
.sched-tournament-selector .form-control{
  background:#fff;
  color:#0f172a;
  border-color:rgba(255,255,255,.55);
}
.sched-tournament-selector .form-select:focus,
.sched-tournament-selector .form-control:focus{
  border-color:#fff;
  box-shadow:0 0 0 .2rem rgba(255,255,255,.35);
}
.sched-tournament-filter{
  margin-bottom:8px;
}
.sched-tournament-selector__row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:stretch;
  width:100%;
}
.sched-tournament-selector__row .form-select{
  flex:1 1 14rem;
  min-width:0;
  max-width:100%;
}
.sched-tournament-open{
  flex:0 0 auto;
  white-space:nowrap;
}
.sched-empty-state{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:1.25rem 1.1rem;
  color:#475569;
}
@media (max-width:390px){
  .sched-tournament-selector{
    max-width:100%;
  }
  .marqs-page-hero .marqs-page-actions .btn{
    white-space:normal;
  }
}

#division-editor{
  scroll-margin-top:5.5rem;
}
.marqs-inline-ring-select{
  min-width:7rem;
  max-width:11rem;
}
.marqs-inline-ring-order{
  max-width:5.5rem;
  margin-left:auto;
}
.marqs-divisions-list td.marqs-div-name,
.marqs-divisions-list td.marqs-div-skills,
.marqs-divisions-list td.marqs-div-styles{
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:12rem;
}
.marqs-divisions-pager{
  row-gap:.5rem;
}
.marqs-inline-default-ring{
  max-width:5.5rem;
}
.marqs-compact-form-grid > .marqs-form-section-title{
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#6c757d;
  margin:1rem 0 .4rem;
  padding-bottom:.2rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.marqs-compact-form-grid > .marqs-form-section-title:first-of-type{
  margin-top:0;
}
.marqs-compact-form-grid .form-label{
  margin-bottom:.2rem;
  font-size:.875rem;
}
@media(min-width:768px){
  .marqs-compact-form-grid .marqs-compact-field{
    max-width:9rem;
  }
}
.marqs-compact-form-grid select[multiple]{
  min-height:140px;
}

.page-header-marqs{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px 16px;
  margin-bottom:1rem;
}
.page-header-marqs__title{
  flex:1 1 280px;
  min-width:0;
}
.page-header-marqs__title h1{
  margin:0 0 .35rem;
  font-size:1.35rem;
  line-height:1.25;
}
.page-header-marqs__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.page-lead{
  margin:0;
  color:var(--muted);
  font-size:.9375rem;
  line-height:1.45;
  max-width:52rem;
}

.marqs-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}
.marqs-grid-2--wide-left{
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
}
@media(max-width:992px){
  .marqs-grid-2,
  .marqs-grid-2--wide-left{
    grid-template-columns:1fr;
  }
}

.marqs-filter-bar{
  margin-bottom:1rem;
}
.marqs-filter-bar .form-label{
  margin-bottom:.25rem;
  font-weight:600;
  font-size:.8125rem;
}
.marqs-filter-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.marqs-filter-bar .marqs-filter-actions{
  justify-content:flex-start;
  margin-top:.25rem;
}
.marqs-filter-bar .marqs-filter-actions .btn-outline-secondary{
  color:#334155;
  border-color:#94a3b8;
  background:#fff;
}
.marqs-filter-bar .marqs-filter-actions .btn-outline-secondary:hover,
.marqs-filter-bar .marqs-filter-actions .btn-outline-secondary:focus{
  color:#0f172a;
  border-color:#64748b;
  background:#f8fafc;
}
.marqs-filter-bar .marqs-filter-actions .btn-outline-secondary:disabled{
  color:#64748b;
  border-color:#cbd5e1;
  background:#f1f5f9;
  opacity:1;
}

/* Admin Registrations: dedicated filter tracks (do not use col-md-1 for checkboxes). */
.marqs-admin-reg-filters{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  min-width:0;
}
.marqs-admin-reg-filters__primary,
.marqs-admin-reg-filters__secondary{
  display:grid;
  gap:.5rem .75rem;
  align-items:end;
  min-width:0;
}
.marqs-admin-reg-filters__primary > *,
.marqs-admin-reg-filters__secondary > *{
  min-width:0;
}
.marqs-admin-reg-filters__primary{
  grid-template-columns:minmax(0, 1.35fr) repeat(5, minmax(0, 1fr));
}
.marqs-admin-reg-filters__secondary{
  grid-template-columns:minmax(10rem, 12rem) minmax(13.75rem, max-content) minmax(0, 1fr) auto;
}
.marqs-admin-reg-filters__search .form-control{
  min-width:0;
  width:100%;
}
.marqs-admin-reg-school-filter{
  min-width:0;
  width:100%;
}
.marqs-admin-reg-school-link{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.marqs-admin-reg-school-link:hover,
.marqs-admin-reg-school-link:focus{
  text-decoration:underline;
}
.marqs-admin-reg-school-names{
  font-size:.8rem;
  line-height:1.35;
}
.marqs-admin-filter-options{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem 1rem;
  min-width:0;
}
.marqs-admin-filter-options .form-check{
  display:flex;
  align-items:center;
  gap:.4rem;
  margin:0;
  min-height:0;
  padding-left:0;
}
.marqs-admin-filter-options .form-check-input{
  float:none;
  margin:0;
  flex:0 0 auto;
}
.marqs-admin-filter-options .form-check-label{
  white-space:nowrap;
  margin:0;
}
.marqs-admin-filter-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-top:0;
}
@media (max-width:1399px){
  .marqs-admin-reg-filters__primary{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .marqs-admin-reg-filters__secondary{
    grid-template-columns:minmax(10rem, 12rem) minmax(13.75rem, max-content) minmax(0, 1fr);
  }
  .marqs-admin-filter-actions{
    grid-column:1 / -1;
  }
}
@media (max-width:991px){
  .marqs-admin-reg-filters__primary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .marqs-admin-reg-filters__secondary{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  }
  .marqs-admin-reg-filters__search{
    grid-column:1 / -1;
  }
}
@media (max-width:767px){
  .marqs-admin-reg-filters__primary,
  .marqs-admin-reg-filters__secondary{
    grid-template-columns:minmax(0, 1fr);
  }
  .marqs-admin-reg-filters__search,
  .marqs-admin-filter-actions{
    grid-column:auto;
  }
  .marqs-admin-filter-actions{
    width:100%;
  }
  .marqs-admin-filter-actions .btn{
    flex:1 1 auto;
    min-height:44px;
  }
}

.marqs-stat-bar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:1rem;
}
.marqs-stat-tile{
  flex:1 1 200px;
  min-width:0;
  padding:12px 14px;
  background:var(--surface-alt);
  border:1px solid var(--border);
  border-radius:10px;
}
.marqs-stat-tile--wide{
  flex:2 1 320px;
}
.marqs-stat-tile__label{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:6px;
}
.marqs-stat-tile__value{
  font-size:.9375rem;
  line-height:1.45;
}
.marqs-stat-tile__value strong{
  font-weight:700;
}

.marqs-table-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
}
.marqs-table-card .table.marqs{
  margin-bottom:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.marqs-table-card .table-responsive{
  margin-bottom:0;
}
.marqs-table-empty{
  padding:2rem 1rem!important;
  text-align:center;
  color:var(--muted);
  font-style:italic;
  background:var(--surface-alt);
}
.marqs-row-actions{
  width:1%;
  white-space:nowrap;
}

.marqs-form-section{
  border:1px solid var(--border);
  border-radius:10px;
  padding:12px 14px;
  background:var(--surface-alt);
}
.marqs-form-section > label:first-child,
.marqs-form-section > .form-label:first-child{
  font-weight:700;
  margin-bottom:8px;
  display:block;
}
.marqs-form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.marqs-field-hint{
  color:var(--muted);
  font-size:.875rem;
  margin-top:4px;
}

/* --------------------------------------------------------------------------
   Public registration / account flow
-----------------------------------------------------------------------------*/
.marqs-page--public{
  width:100%;
  max-width:1220px;
  margin:0 auto;
  padding:0 clamp(.5rem,2vw,1rem) 2rem;
}

/* Wide shell for register.php two-column builder (login/signup/detail stay at 1220px) */
.marqs-page--public.marqs-page--registration-builder{
  max-width:1680px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  padding:0 clamp(.75rem,2.5vw,1.5rem) 2rem;
}

.reg-flow-header{
  margin-bottom:clamp(.75rem,2.5vw,1.25rem);
}
.reg-flow-header__title{
  margin:0 0 .4rem;
  font-size:clamp(1.5rem,4vw,2rem);
  line-height:1.15;
  letter-spacing:-.03em;
}
.reg-flow-header__lead{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.6;
  max-width:42rem;
}

.reg-flow-steps{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 clamp(1rem,3vw,1.5rem);
  padding:0;
  list-style:none;
}
.reg-flow-step{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.38rem .85rem;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-alt);
  color:var(--muted);
  font-size:.8125rem;
  font-weight:600;
}
.reg-flow-step.is-active{
  background:#eef6ff;
  border-color:#bfdbfe;
  color:var(--brand-blue);
}
.reg-flow-step.is-complete{
  background:#ecfdf5;
  border-color:#bbf7d0;
  color:#065f46;
}

.reg-flow-shell{
  display:grid;
  gap:clamp(1rem,4vw,2rem);
}
.reg-flow-shell--login{
  grid-template-columns:minmax(0,.95fr) minmax(320px,.7fr);
  align-items:stretch;
}
.reg-flow-shell--signup{
  grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);
  align-items:start;
}
.reg-flow-shell--register{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:clamp(14px,1.5vw,24px);
  align-items:start;
  width:100%;
  max-width:none;
}
@media(min-width:1200px){
  .marqs-page--registration-builder .reg-flow-shell--register{
    grid-template-columns:minmax(300px,2fr) minmax(0,3fr);
  }
}

/* register.php — top-to-bottom builder flow (replaces two-column shell on that page) */
.register-builder-flow{
  display:flex;
  flex-direction:column;
  gap:1rem;
  width:100%;
  max-width:none;
}
.register-builder-selectors .register-selector-grid{
  align-items:flex-start;
}
.register-builder-selectors .register-selector-field > .register-selector-label,
.register-builder-selectors .register-selector-field > .form-label.register-selector-label{
  margin-bottom:.35rem;
}
.register-builder-selectors .register-selector-tournament .register-selector-control,
.register-builder-selectors .register-selector-subject .register-selector-control{
  width:100%;
}
.register-builder-selectors .register-selector-hint{
  margin-top:-.25rem;
  padding-top:0;
}
@media(max-width:991.98px){
  .register-builder-selectors .register-selector-hint{
    margin-top:0;
    padding-top:0;
  }
}

.marqs-page--public .card.marqs:not(.marqs-section-card):not(.reg-section-card) > .card-header{
  padding:1rem 1.25rem;
  background:linear-gradient(135deg,#f8fafc,#eef6ff);
  border-bottom:1px solid #dbe4f0;
  font-weight:600;
}

/* MARQS shared section cards (register, staff, public, config) */
.marqs-section-card.card.marqs,
.reg-section-card.card.marqs{
  border:1px solid var(--border);
  overflow:hidden;
}
.marqs-section-card.card.marqs > .card-header,
.reg-section-card.card.marqs > .card-header{
  padding:1rem 1.35rem;
  font-weight:700;
  letter-spacing:.01em;
  border-bottom:1px solid rgba(15,23,42,.1);
}
.marqs-section-card--soft.card.marqs > .card-header,
.reg-section-card--soft.card.marqs > .card-header{
  background:linear-gradient(135deg,#e8f0fe 0%,#cfe0ff 100%);
  color:#0b3d8e;
  border-bottom-color:#93c5fd;
}
.marqs-section-card--soft.card.marqs > .card-header .text-muted,
.marqs-section-card--soft.card.marqs > .card-header small,
.reg-section-card--soft.card.marqs > .card-header .text-muted,
.reg-section-card--soft.card.marqs > .card-header small{
  color:#1e4a8a !important;
  opacity:.92;
}
.marqs-section-card--primary.card.marqs > .card-header,
.reg-section-card--primary.card.marqs > .card-header{
  background:linear-gradient(135deg,#071a3a 0%,var(--brand-blue) 52%,var(--brand-blue-600) 100%);
  color:#fff;
  border-bottom-color:rgba(255,255,255,.18);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);
}
.marqs-section-card--primary.card.marqs > .card-header .text-muted,
.marqs-section-card--primary.card.marqs > .card-header small,
.marqs-section-card--primary.card.marqs > .card-header .marqs-section-card__subtitle,
.marqs-section-card--primary.card.marqs > .card-header .reg-section-card__subtitle,
.reg-section-card--primary.card.marqs > .card-header .text-muted,
.reg-section-card--primary.card.marqs > .card-header small,
.reg-section-card--primary.card.marqs > .card-header .marqs-section-card__subtitle,
.reg-section-card--primary.card.marqs > .card-header .reg-section-card__subtitle{
  color:rgba(255,255,255,.86) !important;
}
.marqs-section-card__title,
.reg-section-card__title{
  font-weight:inherit;
  line-height:1.3;
}
.marqs-section-card__subtitle,
.reg-section-card__subtitle{
  font-weight:500;
  font-size:.8125rem;
  line-height:1.4;
}
.marqs-section-card--primary > .card-header .btn-outline-secondary,
.reg-section-card--primary > .card-header .btn-outline-secondary{
  border-color:rgba(255,255,255,.5);
  color:#fff;
  background:rgba(255,255,255,.1);
}
.marqs-section-card--primary > .card-header .btn-outline-secondary:hover,
.marqs-section-card--primary > .card-header .btn-outline-secondary:focus,
.reg-section-card--primary > .card-header .btn-outline-secondary:hover,
.reg-section-card--primary > .card-header .btn-outline-secondary:focus{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.65);
  color:#fff;
}
.marqs-section-card--primary .btn-marqs,
.reg-section-card--primary .btn-marqs{
  background:#fff;
  color:var(--brand-blue);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 1px 3px rgba(15,23,42,.14);
}
.marqs-section-card--primary .btn-marqs:hover,
.reg-section-card--primary .btn-marqs:hover{
  background:#f0f7ff;
  filter:none;
}
.marqs-section-card--primary .btn-marqs:active,
.reg-section-card--primary .btn-marqs:active{
  transform:translateY(1px);
}
.marqs-section-card--primary .btn-marqs:disabled,
.marqs-section-card--primary .btn-marqs[disabled],
.reg-section-card--primary .btn-marqs:disabled,
.reg-section-card--primary .btn-marqs[disabled]{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
  filter:none;
  transform:none;
}
.marqs-section-card--primary .card-header a:not(.btn),
.reg-section-card--primary .card-header a:not(.btn){
  color:#fff;
  text-decoration:underline;
  text-underline-offset:2px;
}
.marqs-section-card--primary .card-header a:not(.btn):hover,
.marqs-section-card--primary .card-header a:not(.btn):focus,
.reg-section-card--primary .card-header a:not(.btn):hover,
.reg-section-card--primary .card-header a:not(.btn):focus{
  color:#fff;
  opacity:.92;
}

/* Waiver viewer action — AQR (soft header) and public checkout (primary header) */
.marqs-waiver-card-header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.65rem 1rem;
}
.marqs-waiver-card-title{
  flex:1 1 12rem;
  min-width:0;
}
.marqs-waiver-open-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  flex:0 1 auto;
  max-width:100%;
  min-width:0;
  min-height:2.5rem;
  padding:.55rem 1rem;
  border-radius:10px;
  border:2px solid transparent;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.12);
}
.marqs-waiver-open-btn__label{
  min-width:0;
  overflow-wrap:anywhere;
}
.marqs-waiver-open-btn:focus-visible{
  outline:3px solid #1d4ed8;
  outline-offset:3px;
}
.marqs-waiver-open-btn[data-waiver-ui="not_opened"]{
  background:#f59e0b;
  color:#1c1917;
  border-color:#b45309;
}
.marqs-waiver-open-btn[data-waiver-ui="not_opened"]:hover,
.marqs-waiver-open-btn[data-waiver-ui="not_opened"]:focus{
  background:#d97706;
  color:#0c0a09;
  border-color:#92400e;
}
.marqs-waiver-open-btn[data-waiver-ui="opened"]{
  background:#ecfdf5;
  color:#065f46;
  border-color:#059669;
  font-weight:600;
  box-shadow:none;
}
.marqs-waiver-open-btn[data-waiver-ui="opened"]:hover,
.marqs-waiver-open-btn[data-waiver-ui="opened"]:focus{
  background:#d1fae5;
  color:#064e3b;
}
.marqs-waiver-open-btn[data-waiver-ui="on_file"],
.marqs-waiver-open-btn[data-waiver-ui="view"]{
  background:#fff;
  color:#0f172a;
  border-color:#64748b;
  font-weight:600;
  box-shadow:none;
}
.marqs-waiver-open-btn[data-waiver-ui="on_file"]:hover,
.marqs-waiver-open-btn[data-waiver-ui="on_file"]:focus,
.marqs-waiver-open-btn[data-waiver-ui="view"]:hover,
.marqs-waiver-open-btn[data-waiver-ui="view"]:focus{
  background:#f8fafc;
  border-color:#334155;
}
.marqs-section-card--primary .marqs-waiver-open-btn[data-waiver-ui="on_file"],
.marqs-section-card--primary .marqs-waiver-open-btn[data-waiver-ui="view"],
.reg-section-card--primary .marqs-waiver-open-btn[data-waiver-ui="on_file"],
.reg-section-card--primary .marqs-waiver-open-btn[data-waiver-ui="view"]{
  background:#fff;
  color:var(--brand-blue);
  border-color:#fff;
}
.marqs-waiver-open-hint{
  color:#92400e;
  font-weight:600;
}
.marqs-waiver-open-btn__attention{
  display:none;
  color:inherit;
}
.marqs-waiver-open-btn[data-waiver-ui="not_opened"] .marqs-waiver-open-btn__attention{
  display:inline-flex;
}
@media (max-width:575.98px){
  .marqs-waiver-open-btn{
    width:100%;
    min-height:44px;
  }
}
@media (prefers-reduced-motion:reduce){
  .marqs-waiver-open-btn{
    transition:none;
  }
}

/* Contacts editor — sticky Save Changes chrome below the MARQS navbar */
.marqs-contact-editor-card.marqs-section-card.card.marqs{
  overflow:visible;
}
#contact-editor{
  overflow:visible;
  scroll-margin-top:calc(var(--marqs-sticky-nav-offset,4.15rem) + .5rem);
}
.marqs-contact-editor-header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.5rem .75rem;
  position:sticky;
  top:var(--marqs-sticky-nav-offset,4.15rem);
  z-index:1020;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08),0 6px 16px rgba(15,23,42,.18);
}
.marqs-contact-editor-title{
  flex:1 1 10rem;
  min-width:0;
}
.marqs-contact-editor-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  margin-left:auto;
  max-width:100%;
}
.marqs-contact-editor-header .marqs-contact-save-btn{
  color:#78350f;
  background:#fde68a;
  border:1px solid #fcd34d;
  font-weight:700;
  white-space:nowrap;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.marqs-contact-editor-header .marqs-contact-save-btn:hover,
.marqs-contact-editor-header .marqs-contact-save-btn:focus{
  color:#78350f;
  background:#fef3c7;
  border-color:#fde68a;
}
.marqs-contact-editor-card.marqs-section-card--primary .card-body .btn-marqs{
  background:var(--brand-blue);
  color:#fff;
  border:0;
  box-shadow:none;
}
.marqs-contact-editor-card.marqs-section-card--primary .card-body .btn-marqs:hover{
  background:var(--brand-blue-600,#0b6ed1);
  filter:none;
  color:#fff;
}
#contact-editor-form .form-control,
#contact-editor-form .form-select,
#contact-editor-form .form-check-input,
#contact-editor-form fieldset{
  scroll-margin-top:calc(var(--marqs-sticky-nav-offset,4.15rem) + var(--marqs-contact-editor-header-h,3.5rem) + .75rem);
}
@media(max-width:575.98px){
  .marqs-contact-editor-header{
    padding-top:.45rem;
    padding-bottom:.45rem;
  }
  .marqs-contact-editor-actions{
    width:100%;
    margin-left:0;
  }
  .marqs-contact-editor-header .marqs-contact-save-btn,
  .marqs-contact-editor-actions .btn{
    flex:1 1 auto;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}

/* Event Ops — section titles on live operator screens */
.marqs-event-ops-section{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--bs-secondary-color,#6c757d);
  margin:0 0 .65rem;
  padding-bottom:.35rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* Event Ops — run module operator shell (Ring View mode=module) */
.marqs-page--operator{
  --marqs-operator-bg:#f8fafc;
  background:var(--marqs-operator-bg);
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--radius,.5rem);
  padding:.75rem 1rem 1.25rem;
  margin-bottom:1rem;
}
.marqs-page--operator .marqs-operator-body{
  min-width:0;
}
.marqs-page--operator .marqs-operator-root{
  padding-left:0;
  padding-right:0;
}
.marqs-page--operator .marqs-operator-header{
  margin-bottom:1rem;
}
.marqs-page--operator .marqs-operator-header .marqs-operator-title{
  font-size:1.35rem;
  line-height:1.25;
}
.marqs-page--operator .marqs-operator-header .marqs-operator-subtitle{
  font-size:1.15rem;
  line-height:1.3;
}
.marqs-page--operator .marqs-operator-badges{
  margin-top:.5rem;
}
.marqs-page--operator .marqs-operator-badges .badge{
  font-weight:500;
  font-size:.8125rem;
}
.marqs-page--operator .marqs-operator-badges .badge b{
  font-weight:700;
}
.marqs-page--operator .marqs-operator-toolbar{
  align-items:center;
}
.marqs-page--operator .marqs-operator-feedback{
  margin-bottom:1rem;
}
.marqs-page--operator .completed-ribbon{
  position:fixed;
  top:12px;
  right:12px;
  z-index:1040;
  background:#198754;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
  box-shadow:0 6px 20px rgba(0,0,0,.15);
  display:flex;
  align-items:center;
  gap:8px;
  max-width:min(1000px,94vw);
  white-space:normal;
}
.marqs-page--operator .completed-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.25) inset;
  flex-shrink:0;
}
.marqs-page--operator .completed-msg{
  font-weight:600;
  opacity:.95;
}
.marqs-page--operator .title-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#d1e7dd;
  color:#0f5132;
  border:1px solid #badbcc;
  border-radius:999px;
  padding:2px 8px;
  font-size:.85rem;
  font-weight:700;
  margin-left:.5rem;
  vertical-align:middle;
}
.marqs-page--operator .card.marqs.marqs-section-card{
  box-shadow:0 1px 3px rgba(15,23,42,.06);
}
.marqs-page--operator .card.marqs.marqs-section-card > .card-body.p-0 .table{
  margin-bottom:0;
}
.marqs-page--operator .card.marqs.marqs-section-card > .card-body.p-0 .table thead th{
  border-top:0;
}

/* Operator — clickable competitor photo avatars */
.marqs-competitor-inline{
  display:inline-flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  gap:.4rem;
  min-width:0;
  max-width:100%;
}
.marqs-competitor-inline .marqs-contact-photo-btn{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  line-height:1;
  vertical-align:middle;
  padding:0;
  min-width:0;
  width:auto;
}
.marqs-competitor-name{
  min-width:0;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.marqs-competitor-inline-sep{
  flex-shrink:0;
  line-height:1;
}
.marqs-competitor-inline-form{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  margin:0;
  width:auto;
  max-width:none;
}
.marqs-competitor-checkin-row{
  display:flex;
  align-items:center;
  gap:.4rem;
  flex-wrap:nowrap;
  margin:.25rem 0;
  min-width:0;
  width:100%;
}
.marqs-competitor-checkin-row .marqs-contact-photo-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  max-width:none;
  padding:0;
  line-height:1;
}
.marqs-competitor-checkin-row .marqs-contact-photo-btn.btn{
  display:inline-flex !important;
  width:auto !important;
  max-width:none !important;
}
.marqs-competitor-checkin-row .marqs-competitor-name{
  flex:0 1 auto;
  min-width:0;
  max-width:24rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.marqs-competitor-checkin-row .marqs-competitor-separator{
  flex:0 0 auto;
}
.marqs-competitor-checkin-row button[type="submit"]{
  flex:0 0 auto;
  white-space:nowrap;
  margin-left:0;
}

/* Kata-family operator (FTK + Standard Kata + Team Kata) — check-in table + score tables, admin zebra reinforcement
   Scoped to module roots. Module head reloads Bootstrap after site marqs.css. */
.marqs-ftk-operator .marqs-section-card > .card-body.p-0,
.marqs-kata-operator .marqs-section-card > .card-body.p-0,
.marqs-team-kata-operator .marqs-section-card > .card-body.p-0{
  overflow:hidden;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table{
  margin-bottom:0;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table td,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table td,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table td{
  vertical-align:middle;
}
.marqs-ftk-operator .marqs-ftk-checkin-table .photo-cell,
.marqs-kata-operator .marqs-kata-checkin-table .photo-cell{
  width:44px;
  padding-left:.65rem;
  padding-right:.35rem;
}
.marqs-ftk-operator .marqs-ftk-checkin-table .name-cell,
.marqs-kata-operator .marqs-kata-checkin-table .name-cell{
  max-width:24rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.marqs-ftk-operator .marqs-ftk-checkin-table .separator-cell,
.marqs-kata-operator .marqs-kata-checkin-table .separator-cell{
  width:1%;
  white-space:nowrap;
  padding-left:.25rem;
  padding-right:.25rem;
}
.marqs-ftk-operator .marqs-ftk-checkin-table .action-cell,
.marqs-kata-operator .marqs-kata-checkin-table .action-cell{
  width:1%;
  white-space:nowrap;
  padding-right:.65rem;
}
.marqs-team-kata-operator .marqs-team-kata-checkin-table .team-cell{
  width:1%;
  white-space:nowrap;
  padding-left:.65rem;
  vertical-align:middle;
}
.marqs-team-kata-operator .marqs-team-kata-checkin-table .members-cell{
  vertical-align:middle;
}
.marqs-team-kata-operator .marqs-team-kata-checkin-table .action-cell{
  width:1%;
  white-space:nowrap;
  padding-right:.65rem;
  vertical-align:middle;
}
.marqs-ftk-operator .marqs-ftk-checkin-table .marqs-competitor-checkin-row,
.marqs-kata-operator .marqs-kata-checkin-table .marqs-competitor-checkin-row{
  display:inline;
  margin:0;
  padding:0;
  width:auto;
}
.marqs-team-kata-operator .member-chip,
.marqs-team-kata-operator .marqs-team-member-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 6px;
  border-radius:12px;
  border:1px solid #e2e8f0;
  background:#fff;
  margin:2px 6px 2px 0;
}
.marqs-team-kata-operator .member-chip .ringchk{
  padding:0 6px;
  border-radius:10px;
  border:1px solid #cbd5e1;
  background:#fff;
  font-size:.8rem;
}
.marqs-team-kata-operator .member-chip .ringchk.on{
  background:#e6f4ff;
  border-color:#60a5fa;
  color:#1d4ed8;
}
.marqs-team-kata-operator .marqs-team-member-inline{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
}
.marqs-team-kata-operator .team-ready{
  font-size:.75rem;
  padding:2px 6px;
  border-radius:10px;
  background:#eef7ff;
  color:#0d47a1;
}
.marqs-team-kata-operator .team-notready{
  font-size:.75rem;
  padding:2px 6px;
  border-radius:10px;
  background:#fff3cd;
  color:#7c5a00;
}
.marqs-team-kata-operator .team-partial{
  font-size:.75rem;
  padding:2px 6px;
  border-radius:10px;
  background:#fff7ed;
  color:#9a3412;
}
.marqs-team-kata-operator .marqs-team-inline{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
}
.marqs-team-kata-operator .marqs-team-name{
  min-width:0;
}
.marqs-team-kata-operator .marqs-team-photo-btn,
.marqs-team-photo-btn{
  line-height:1;
  vertical-align:middle;
  flex-shrink:0;
}
.marqs-team-kata-operator .marqs-team-photo,
.marqs-team-photo{
  border-radius:8px;
  object-fit:cover;
  border:1px solid rgba(15,23,42,.12);
  background:#f3f4f6;
  display:block;
  flex-shrink:0;
}
.marqs-team-photo--preview{
  width:160px;
  height:160px;
  border-radius:12px;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table thead th,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table thead th,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table thead th{
  background:linear-gradient(180deg,#eef3fb 0%,#e3ebf7 100%) !important;
  border-bottom:1px solid rgba(15,23,42,.12);
  font-size:.8125rem;
  font-weight:600;
  white-space:nowrap;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr:nth-child(odd) > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on) > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:nth-child(odd) > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr:nth-child(odd) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:nth-child(odd) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr:nth-child(odd) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:nth-child(odd) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on) > *{
  --bs-table-bg:#fff;
  --bs-table-accent-bg:#fff;
  background-color:#fff !important;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr:nth-child(even) > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on) > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:nth-child(even) > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr:nth-child(even) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:nth-child(even) > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr:nth-child(even) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:nth-child(even) > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on) > *{
  --bs-table-bg:#e6f0ff;
  --bs-table-accent-bg:#e6f0ff;
  background-color:#e6f0ff !important;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr:hover > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr.marqs-zebra-on:hover > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:hover > *,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:hover > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr:hover > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr.marqs-zebra-on:hover > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:hover > *,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:hover > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr:hover > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr.marqs-zebra-on:hover > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr:hover > *,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr.marqs-zebra-on:hover > *{
  --bs-table-bg:#d7e7ff;
  --bs-table-accent-bg:#d7e7ff;
  background-color:#d7e7ff !important;
}
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-ftk-checkin-table tbody tr > td,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr > td,
.marqs-ftk-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr > th,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-kata-checkin-table tbody tr > td,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr > td,
.marqs-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr > th,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-team-kata-checkin-table tbody tr > td,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr > td,
.marqs-team-kata-operator .table.marqs.marqs-table-zebra.marqs-operator-score-table tbody tr > th{
  border-bottom:1px solid rgba(15,23,42,.08);
  vertical-align:middle;
}
.marqs-ftk-operator .marqs-section-card--primary > .card-header,
.marqs-kata-operator .marqs-section-card--primary > .card-header,
.marqs-team-kata-operator .marqs-section-card--primary > .card-header,
.marqs-first-time-sparring-operator .marqs-section-card--primary > .card-header{
  padding:.65rem 1rem;
}

/* First Time Sparring operator — check-in lists + schedule zebra rows */
.marqs-first-time-sparring-operator .marqs-fts-checkin-list .marqs-fts-checkin-row{
  border-left:0;
  border-right:0;
  vertical-align:middle;
}
.marqs-first-time-sparring-operator .marqs-fts-checkin-list .marqs-fts-checkin-row:first-child{
  border-top:0;
}
.marqs-first-time-sparring-operator .marqs-fts-checkin-list .marqs-zebra-on:nth-child(odd),
.marqs-first-time-sparring-operator .marqs-fts-schedule-list .schedule-row.marqs-zebra-on:nth-child(odd){
  background:#fff !important;
}
.marqs-first-time-sparring-operator .marqs-fts-checkin-list .marqs-zebra-on:nth-child(even),
.marqs-first-time-sparring-operator .marqs-fts-schedule-list .schedule-row.marqs-zebra-on:nth-child(even){
  background:#e6f0ff !important;
}
.marqs-first-time-sparring-operator .marqs-fts-checkin-list .marqs-zebra-on:hover,
.marqs-first-time-sparring-operator .marqs-fts-schedule-list .schedule-row.marqs-zebra-on:hover{
  background:#d7e7ff !important;
}
.marqs-first-time-sparring-operator .marqs-section-card > .card-body.p-0{
  overflow:hidden;
}

/* First Time Sparring — draggable scoring modal */
#score-modal.marqs-fts-score-modal .marqs-fts-score-head .right-controls .btn-outline-light{
  color:#f8fafc;
  border-color:rgba(255,255,255,.35);
}
#score-modal.marqs-fts-score-modal .marqs-fts-score-head .right-controls .btn-outline-light:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
}
#score-modal.marqs-fts-score-modal .marqs-fts-score-head .right-controls .btn-light{
  color:#0f172a;
}
@media (max-width:991.98px){
  #score-modal .modal-grid{ grid-template-columns:1fr; }
  #score-modal .marqs-fts-score-card{ width:min(720px, 96vw); }
}
/* FTS operator — schedule drag/drop editing */
.marqs-first-time-sparring-operator .marqs-fts-drag-handle{
  cursor:grab;
  font-size:1.1rem;
  line-height:1;
  flex-shrink:0;
  user-select:none;
}
.marqs-first-time-sparring-operator .marqs-fts-drag-handle--disabled{
  cursor:not-allowed;
  opacity:.35;
}
.marqs-first-time-sparring-operator .marqs-fts-drop-slot{
  min-width:8rem;
  min-height:2rem;
  padding:.25rem .5rem;
  border:1px dashed rgba(15,23,42,.2);
  border-radius:.375rem;
  background:rgba(255,255,255,.6);
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.marqs-first-time-sparring-operator .marqs-fts-drop-slot--red{
  border-color:rgba(220,38,38,.35);
  background:rgba(254,226,226,.25);
}
.marqs-first-time-sparring-operator .marqs-fts-drop-slot--blue{
  border-color:rgba(37,99,235,.35);
  background:rgba(219,234,254,.25);
}
.marqs-first-time-sparring-operator .marqs-fts-drop-slot--over{
  outline:2px solid #2563eb;
  outline-offset:1px;
}
.marqs-first-time-sparring-operator .marqs-fts-slot-competitor{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  cursor:grab;
  max-width:100%;
}
.marqs-first-time-sparring-operator .marqs-fts-slot-competitor--locked{
  cursor:default;
}
.marqs-first-time-sparring-operator .marqs-fts-slot-name{
  font-weight:600;
  font-size:.875rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:10rem;
}
.marqs-first-time-sparring-operator .schedule-row.marqs-fts-row--dragging{
  opacity:.55;
}
.marqs-first-time-sparring-operator .schedule-row.marqs-fts-row--over{
  box-shadow:inset 0 0 0 2px #2563eb;
}
.marqs-first-time-sparring-operator .marqs-fts-roster-drag[draggable="true"]{
  cursor:grab;
}
.marqs-first-time-sparring-operator .marqs-fts-roster-drag.marqs-fts-row--dragging{
  opacity:.6;
}
.marqs-first-time-sparring-operator #btn-save-schedule.marqs-fts-unsaved{
  border-color:#f59e0b;
  box-shadow:0 0 0 1px rgba(245,158,11,.35);
}
.marqs-first-time-sparring-operator .marqs-fts-unsaved{
  font-size:.75rem;
  vertical-align:middle;
}
@media (max-width:479.98px){
  .marqs-competitor-checkin-row{
    flex-wrap:wrap;
  }
}
.marqs-page--operator .marqs-contact-photo-btn,
.marqs-contact-photo-btn{
  line-height:1;
  vertical-align:middle;
  flex-shrink:0;
}
.marqs-page--operator .marqs-contact-photo,
.marqs-contact-photo{
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(15,23,42,.12);
  background:#f3f4f6;
  display:block;
  flex-shrink:0;
}
.marqs-contact-photo--preview{
  width:160px;
  height:160px;
  border-radius:12px;
}
.marqs-contact-photo-video{
  max-height:280px;
  object-fit:cover;
  background:#111;
}
.marqs-contact-photo-actions{
  align-items:center;
}
.marqs-contact-photo-camera-select{
  max-width:100%;
}
.marqs-contact-photo-camera-select .form-label{
  margin-bottom:.25rem;
}
.marqs-contact-photo-help{
  border:1px solid rgba(15,23,42,.1);
  border-radius:.375rem;
  padding:.5rem .75rem;
  background:#f8fafc;
}
.marqs-contact-photo-help summary{
  cursor:pointer;
  font-weight:600;
  color:var(--brand-blue,#0b3d8e);
}
.marqs-contact-photo-help code{
  word-break:break-all;
}

/* register.php — selected totals card body */
.reg-flow-summary.marqs-section-card,
.reg-flow-summary.reg-section-card{
  padding:0;
  background:#fff;
}
.reg-flow-summary.marqs-section-card .card-body,
.reg-flow-summary.reg-section-card .card-body{
  padding:1rem 1.25rem;
  background:linear-gradient(180deg,#fafcff 0%,#f1f7ff 100%);
}
.reg-flow-summary.marqs-section-card > .card-header,
.reg-flow-summary.reg-section-card > .card-header{
  padding:.85rem 1.25rem;
}

/* Stronger zebra inside register builder only (staff/global tables unchanged) */
.register-builder-flow .table.marqs tbody tr:hover{
  background-color:transparent;
}
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on):not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.division-row-selected):not(.division-row-filter-hidden) > *{
  --bs-table-bg:#fff;
  background-color:#fff;
}
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on):not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.division-row-selected):not(.division-row-filter-hidden) > *{
  --bs-table-bg:#d4e4fa;
  background-color:#d4e4fa;
}
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:hover:not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.division-row-selected):not(.division-row-filter-hidden) > *{
  --bs-table-bg:#c5d9f5;
  background-color:#c5d9f5;
}
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered > *,
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered > td{
  --bs-table-bg:#e8edf5;
  background-color:#e8edf5 !important;
  color:#334155;
}
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:hover > *,
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.reg-row--already-registered:hover > td{
  --bs-table-bg:#dbe4f0;
  background-color:#dbe4f0 !important;
}
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart > *,
.register-builder-flow .table.marqs.marqs-table-zebra tbody tr.reg-row--in-cart > td{
  --bs-table-bg:#e3f8ef;
  background-color:#e3f8ef !important;
  color:#065f46;
}
.register-builder-flow .table.marqs tbody tr.reg-row--already-registered:hover,
.register-builder-flow .table.marqs tbody tr.reg-row--in-cart:hover{
  background-color:transparent;
}
/* register.php — division selection highlight + search filter (gold/yellow, distinct from blue zebra) */
.register-builder-flow table tbody tr.division-registration-row.division-row-selected,
.register-builder-flow table tbody tr.division-registration-row.division-row-selected > td{
  --bs-table-bg:#fff3cd;
  --bs-table-color:#1f2937;
  background-color:#fff3cd !important;
  color:#1f2937;
}
.register-builder-flow table tbody tr.division-registration-row.division-row-selected{
  box-shadow:
    inset 7px 0 0 #f59f00,
    inset 0 0 0 1px #ffda6a;
}
.register-builder-flow table tbody tr.division-registration-row.division-row-selected:hover,
.register-builder-flow table tbody tr.division-registration-row.division-row-selected:hover > td,
.register-builder-flow table tbody tr.division-registration-row.division-row-selected:focus-within,
.register-builder-flow table tbody tr.division-registration-row.division-row-selected:focus-within > td{
  --bs-table-bg:#ffe69c;
  background-color:#ffe69c !important;
}
.register-builder-flow table tbody tr.division-registration-row.division-row-selected .division-name{
  color:#7a4b00;
  font-weight:800;
}
.register-builder-flow table tbody tr.division-registration-row.division-row-selected td{
  color:#1f2937;
}
.register-builder-flow table tbody tr.division-registration-row.division-row-selected .badge{
  box-shadow:0 0 0 1px rgba(122,75,0,.15);
}
.register-builder-flow table#divisionRegisterTable tbody tr.division-registration-row.division-row-filter-hidden,
.register-builder-flow table#divisionRegisterTable tbody tr.division-registration-row[hidden]{
  display:none !important;
}

/* Shared registration catalog (public + Quick Register): stronger zebra, gold selected, readable codes */
.marqs-reg-div-catalog .table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:nth-child(odd of .marqs-zebra-on:not(.division-row-filter-hidden)):not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.division-row-selected):not(.division-row-filter-hidden) > *{
  --bs-table-bg:#fff;
  background-color:#fff;
}
.marqs-reg-div-catalog .table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:nth-child(even of .marqs-zebra-on:not(.division-row-filter-hidden)):not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.division-row-selected):not(.division-row-filter-hidden) > *{
  --bs-table-bg:#d4e4fa;
  background-color:#d4e4fa;
}
.marqs-reg-div-catalog .table.marqs.marqs-table-zebra tbody tr.marqs-zebra-on:hover:not(.table-warning):not(.table-danger):not(.table-success):not(.table-secondary):not(.table-light):not(.reg-row--already-registered):not(.reg-row--in-cart):not(.marqs-row-muted):not(.division-row-selected):not(.division-row-filter-hidden) > *{
  --bs-table-bg:#c5d9f5;
  background-color:#c5d9f5;
}
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected,
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected > td{
  --bs-table-bg:#fff3cd;
  --bs-table-color:#1f2937;
  background-color:#fff3cd !important;
  color:#1f2937;
}
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected{
  box-shadow:
    inset 7px 0 0 #f59f00,
    inset 0 0 0 1px #ffda6a;
}
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected:hover,
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected:hover > td,
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected:focus-within,
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected:focus-within > td{
  --bs-table-bg:#ffe69c;
  background-color:#ffe69c !important;
}
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-selected .division-name .marqs-div-sel-title{
  color:#7a4b00;
  font-weight:800;
}
.marqs-reg-div-catalog table tbody tr.division-registration-row.division-row-filter-hidden,
.marqs-reg-div-catalog table tbody tr.division-registration-row[hidden]{
  display:none !important;
}
.marqs-reg-div-catalog table tbody.marqs-reg-div-category-empty,
.marqs-reg-div-catalog table tbody[hidden]{
  display:none !important;
}
.marqs-reg-div-catalog table tbody tr.marqs-reg-div-category-row,
.marqs-reg-div-catalog table tbody tr.marqs-reg-div-category-row > th{
  --bs-table-bg:var(--brand-blue,#0d3b8e);
  --bs-table-accent-bg:var(--brand-blue,#0d3b8e);
  --bs-table-bg-type:transparent;
  --bs-table-bg-state:transparent;
  --bs-table-color:#fff;
  background-color:var(--brand-blue,#0d3b8e);
  color:#fff;
  cursor:default;
  user-select:none;
  pointer-events:none;
  box-shadow:none;
}
.marqs-reg-div-catalog table tbody tr.marqs-reg-div-category-row > th{
  padding:.32rem .75rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.2;
  border-color:#0a2f73;
  vertical-align:middle;
  white-space:nowrap;
}
.marqs-reg-div-catalog table tbody tr.marqs-reg-div-category-row:hover > th,
.marqs-reg-div-catalog .table.marqs tbody tr.marqs-reg-div-category-row:hover > th{
  --bs-table-bg:var(--brand-blue,#0d3b8e);
  --bs-table-accent-bg:var(--brand-blue,#0d3b8e);
  background-color:var(--brand-blue,#0d3b8e);
  color:#fff;
}
.marqs-reg-div-catalog .marqs-reg-div-category-label{
  display:inline-block;
  color:#fff;
}
.marqs-reg-div-catalog code.division-code,
.marqs-reg-team-catalog code.division-code,
code.division-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.03em;
  color:#fff;
  background:#1e293b;
  padding:.28rem .62rem;
  border-radius:999px;
  white-space:nowrap;
  text-align:center;
  vertical-align:middle;
  box-shadow:0 0 0 1px rgba(15,23,42,.22);
}
.marqs-reg-div-catalog .marqs-div-sel-title{
  font-size:1.1rem;
  font-weight:700;
  color:#111827;
}
.marqs-reg-div-code-col{
  width:1%;
  white-space:nowrap;
  vertical-align:middle;
}
.marqs-reg-div-catalog .form-check{
  min-height:1.4rem;
}
.marqs-reg-div-mobile-meta{
  margin-top:.15rem;
}
@media(max-width:767.98px){
  .marqs-reg-div-catalog .table.marqs td:not(.marqs-reg-div-code-col),
  .marqs-reg-div-catalog .table.marqs th:not(.marqs-reg-div-code-col){
    white-space:normal;
  }
  .marqs-reg-div-catalog table tbody tr.marqs-reg-div-category-row > th{
    display:table-cell;
    white-space:normal;
    padding:.28rem .6rem;
    font-size:.75rem;
  }
  .marqs-reg-div-code-col{
    width:1%;
    white-space:nowrap;
  }
  .marqs-reg-div-catalog code.division-code,
  .marqs-reg-team-catalog code.division-code{
    font-size:1rem;
    white-space:nowrap;
  }
}

.register-add-continue-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:54px;
  padding:0.85rem 1.25rem;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:.01em;
}
.register-add-continue-btn:disabled,
.register-add-continue-btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
  filter:none;
  transform:none;
}

/* Card payment CTA — must stay solid blue even inside inverted primary cards */
.marqs-checkout-card-cta{
  margin-top:1rem;
  padding:1rem 1.1rem 1.15rem;
  border:2px solid var(--brand-blue, #0d3b8e);
  border-radius:14px;
  background:#eff6ff;
}
.marqs-checkout-card-cta__eyebrow{
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--brand-blue, #0d3b8e);
  margin-bottom:.2rem;
}
.marqs-checkout-card-cta__due{
  font-size:1.05rem;
  margin-bottom:.75rem;
}
.marqs-checkout-card-pay-btn,
a.marqs-checkout-card-pay-btn,
.marqs-section-card--primary .marqs-checkout-card-pay-btn,
.reg-section-card--primary .marqs-checkout-card-pay-btn,
.marqs-section-card--primary a.marqs-checkout-card-pay-btn,
.marqs-checkout-pay-panel .marqs-checkout-card-pay-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  width:100%;
  max-width:36rem;
  min-height:56px;
  padding:.9rem 1.4rem;
  border:0;
  border-radius:12px;
  background:var(--brand-blue, #0d3b8e);
  color:#fff !important;
  font-size:1.1rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(13,59,142,.28);
  cursor:pointer;
}
.marqs-checkout-card-pay-btn:hover,
.marqs-checkout-card-pay-btn:active,
.marqs-section-card--primary .marqs-checkout-card-pay-btn:hover,
.reg-section-card--primary .marqs-checkout-card-pay-btn:hover{
  background:var(--brand-blue-700, #0a5eb7);
  color:#fff !important;
  filter:none;
  text-decoration:none;
}
.marqs-checkout-card-pay-btn:focus,
.marqs-checkout-card-pay-btn:focus-visible{
  outline:3px solid #fbbf24 !important;
  outline-offset:3px;
  box-shadow:0 8px 18px rgba(13,59,142,.28), 0 0 0 3px #fbbf24;
  color:#fff !important;
}
.marqs-checkout-card-pay-btn:disabled{
  opacity:.85;
  cursor:wait;
}
.marqs-checkout-card-cta__hint{
  margin-top:.65rem;
  color:#334155;
  font-size:.92rem;
}
.marqs-checkout-pay-secondary > summary{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.4rem .85rem;
  border:1px solid #94a3b8;
  border-radius:8px;
  background:#fff;
  color:#334155;
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.marqs-checkout-pay-secondary > summary::-webkit-details-marker{display:none}
.marqs-checkout-pay-tertiary .btn{
  font-weight:500;
}
@media (max-width: 767.98px){
  .marqs-checkout-card-pay-btn,
  a.marqs-checkout-card-pay-btn{
    width:100%;
    max-width:none;
  }
}
.register-checkout-cta{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  padding:1rem;
  border:2px solid var(--brand-blue, #1d4ed8);
  border-radius:14px;
  background:#eff6ff;
}
.register-checkout-cta__meta{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:baseline;
  font-weight:600;
}
.register-checkout-cta__total{
  font-size:1.15rem;
}
.register-checkout-sticky{
  position:sticky;
  bottom:0;
  z-index:30;
  margin-top:1rem;
  padding-bottom:env(safe-area-inset-bottom);
}
.register-checkout-sticky__inner{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
  justify-content:space-between;
  padding:.75rem 1rem;
  background:#0f172a;
  color:#fff;
  border-radius:12px 12px 0 0;
  box-shadow:0 -8px 24px rgba(15,23,42,.18);
}
.register-checkout-sticky .register-add-continue-btn{
  width:auto;
  min-width:16rem;
  margin:0;
}
@media (max-width: 767.98px){
  .register-add-continue-btn,
  .register-checkout-sticky .register-add-continue-btn{
    width:100%;
    min-width:0;
  }
}

.reg-flow-helper{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:clamp(1.25rem,4vw,2.5rem);
  color:#fff;
  background:
    radial-gradient(circle at 82% 14%,rgba(59,130,246,.28),transparent 32%),
    radial-gradient(circle at 10% 88%,rgba(245,158,11,.18),transparent 30%),
    linear-gradient(135deg,#071a3a 0%,var(--brand-blue) 54%,var(--brand-blue-600) 100%);
  box-shadow:0 24px 70px rgba(15,23,42,.16);
}
.reg-flow-shell--signup .reg-flow-helper{
  position:sticky;
  top:1rem;
}
.reg-flow-helper__eyebrow{
  letter-spacing:.14em;
  color:rgba(255,255,255,.72);
  margin-bottom:.75rem;
}
.reg-flow-helper__title{
  max-width:640px;
  font-size:clamp(1.75rem,5vw,3.25rem);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:0 0 1rem;
}
.reg-flow-helper p{
  max-width:560px;
  color:rgba(255,255,255,.84);
  line-height:1.7;
  margin-bottom:0;
}

.reg-flow-guide-list{
  display:grid;
  gap:.75rem;
  margin-top:1.5rem;
}
.reg-flow-guide-item{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.1);
  padding:.85rem 1rem;
  backdrop-filter:blur(8px);
  font-weight:600;
}
.reg-flow-guide-item i{
  width:2rem;
  height:2rem;
  display:inline-grid;
  place-items:center;
  border-radius:12px;
  background:#fff;
  color:var(--brand-blue);
  flex:0 0 auto;
}
.reg-flow-guide-item strong{
  display:block;
  margin-bottom:.15rem;
  font-weight:700;
}
.reg-flow-guide-item span{
  display:block;
  color:rgba(255,255,255,.78);
  font-weight:400;
  line-height:1.45;
}

.reg-flow-card{
  border:1px solid #dbe4f0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.08);
  overflow:hidden;
}
.reg-flow-card__header{
  padding:1.4rem 1.5rem;
  background:linear-gradient(135deg,#f8fafc,#eef6ff);
  border-bottom:1px solid #dbe4f0;
}
.reg-flow-card__header h2{
  margin:0;
  letter-spacing:-.025em;
}
.reg-flow-card__body{
  padding:1.5rem;
}

.reg-flow-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
}
.reg-flow-link{
  color:var(--brand-blue);
  font-weight:700;
  text-decoration:none;
}
.reg-flow-link:hover{
  text-decoration:underline;
}

.reg-flow-note{
  border:1px solid #bfdbfe;
  border-radius:18px;
  background:#eff6ff;
  color:#1e3a8a;
  padding:1rem;
  line-height:1.6;
}

@media(max-width:992px){
  .reg-flow-shell--login,
  .reg-flow-shell--signup,
  .reg-flow-shell--register{
    grid-template-columns:1fr;
  }
  .register-builder-selectors .d-flex.gap-3{
    flex-wrap:wrap;
  }
  .reg-flow-shell--signup .reg-flow-helper{
    position:relative;
    top:auto;
  }
}
@media(max-width:576px){
  .reg-flow-helper,
  .reg-flow-card{
    border-radius:22px;
  }
  .reg-flow-card__body{
    padding:1rem;
  }
  .reg-flow-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .reg-flow-actions > *{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* Divisions — collapsed create editor */
.marqs-editor-collapsed .card-body{
  padding-top:.75rem;
  padding-bottom:.75rem;
}

.marqs-divisions-sort-hint{
  margin-top:-.25rem;
}

/* Divisions list — sortable table headers */
.marqs-th-sortable a{
  color:inherit;
  text-decoration:none;
  white-space:nowrap;
}
.marqs-th-sortable a:hover{
  text-decoration:underline;
}
.marqs-th-sort-active a{
  font-weight:600;
}
.marqs-sort-indicator{
  font-size:.7em;
  margin-left:.2em;
  opacity:.85;
}

/* --------------------------------------------------------------------------
   Utilities
-----------------------------------------------------------------------------*/
.m0{margin:0}.mt4{margin-top:4px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}
.mb4{margin-bottom:4px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}
.p8{padding:8px}.p12{padding:12px}.p16{padding:16px}.p24{padding:24px}
.text-muted-marqs{color:var(--muted)} .text-right{text-align:right} .text-center{text-align:center}
.round{border-radius:var(--radius)} .shadow-marqs{box-shadow:var(--shadow)} .hidden{display:none!important}

/* Make sure long forms never get clipped by a container */
.marqs-main,
.marqs-main .card,
.marqs-main .card-body,
.marqs-main .grid,
.marqs-main .row,
.marqs-main form:not(.public-create-team-form){
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
}

/* Footer */
.footer-marqs{text-align:center;color:#475569;padding:24px}

.marqs-admin-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .6rem;
  padding:.65rem 1rem;font-size:.78rem;color:#64748b;
  border-top:1px solid #e2e8f0;background:#f8fafc;
}
.marqs-admin-footer strong{font-weight:600;color:#334155}
.marqs-admin-footer a{color:#2563eb;text-decoration:none}
.marqs-admin-footer a:hover{text-decoration:underline}
.marqs-admin-footer__sep{opacity:.55}

/* Create Team modal — viewport scroll + MARQS styling */
.public-create-team-modal .modal-dialog{
  max-height:calc(100dvh - 2rem);
}
.public-create-team-modal .modal-content{
  max-height:calc(100dvh - 2rem);
  display:flex;
  flex-direction:column;
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
}
.public-create-team-modal .public-create-team-form{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  max-height:none !important;
  height:auto !important;
}
.public-create-team-modal .modal-header{
  flex:0 0 auto;
  background:linear-gradient(135deg,#08285f 0%,#0d47a1 55%,#0d6efd 100%);
  color:#fff;
  border-bottom:0;
  padding:1.25rem 1.5rem;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.public-create-team-modal .modal-title{
  font-weight:800;
  letter-spacing:-.02em;
}
.public-create-team-modal__subtitle{
  font-size:.875rem;
  line-height:1.4;
  color:rgba(255,255,255,.88);
  margin-top:.35rem;
  max-width:36rem;
}
.public-create-team-modal .modal-header .btn-close{
  filter:invert(1) grayscale(100%);
  opacity:.85;
  margin-top:.15rem;
}
.public-create-team-modal .modal-header .btn-close:hover{
  opacity:1;
}
.public-create-team-modal .modal-body{
  overflow-y:auto !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  height:auto !important;
  background:#f5f8fc;
  padding:1.25rem;
}
.public-create-team-modal .modal-footer{
  flex:0 0 auto;
  background:#fff;
  border-top:1px solid #dbe4f0;
  padding:1rem 1.25rem;
  box-shadow:0 -8px 20px rgba(15,23,42,.05);
}
.public-create-team-modal .team-create-section{
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:16px;
  padding:1rem;
  margin-bottom:1rem;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.public-create-team-modal .team-create-section-title{
  font-weight:800;
  color:#08285f;
  margin-bottom:.75rem;
}
.public-create-team-modal .marqs-team-primary-selected{
  border:1px solid #dbe4f0;
  border-radius:10px;
  padding:.5rem .75rem;
  background:#f8fafc;
}
.public-create-team-modal .form-label{
  font-weight:700;
  color:#24364f;
}
.public-create-team-modal .form-control,
.public-create-team-modal .form-select{
  border-radius:10px;
  border-color:#cfd9e8;
}
.public-create-team-modal .form-control:focus,
.public-create-team-modal .form-select:focus{
  border-color:#0d6efd;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.14);
}
.public-create-team-modal .outside-search-selected{
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  color:#166534;
  border-radius:12px;
  padding:.7rem .85rem;
  font-weight:700;
  margin-top:.5rem;
}
.public-create-team-modal .outside-search-results{
  display:grid;
  gap:.5rem;
  margin-top:.5rem;
}
.public-create-team-modal .outside-search-result{
  width:100%;
  text-align:left;
  border:1px solid #dbe4f0;
  background:#fff;
  border-radius:12px;
  padding:.75rem .85rem;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
  cursor:pointer;
}
.public-create-team-modal .outside-search-result:hover,
.public-create-team-modal .outside-search-result:focus{
  border-color:#0d6efd;
  background:#eff6ff;
  outline:none;
}
.public-create-team-modal .outside-search-result:disabled{
  opacity:.55;
  cursor:not-allowed;
  background:#f1f5f9;
}
@media (max-width:576px){
  .public-create-team-modal .modal-dialog{
    margin:.5rem;
    max-height:calc(100dvh - 1rem);
  }
  .public-create-team-modal .modal-content{
    max-height:calc(100dvh - 1rem);
    border-radius:14px;
  }
  .public-create-team-modal .modal-header,
  .public-create-team-modal .modal-body,
  .public-create-team-modal .modal-footer{
    padding:1rem;
  }
}
@supports not (height:100dvh){
  .public-create-team-modal .modal-dialog,
  .public-create-team-modal .modal-content{
    max-height:calc(100vh - 2rem);
  }
}

/* Compact selected-roster rows (Create Team + catalog) */
.marqs-team-roster-selected{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  max-height:14rem;
  overflow-y:auto;
}
.marqs-team-roster-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:10px;
  padding:.4rem .65rem;
}
.marqs-team-roster-row__main{
  min-width:0;
  flex:1 1 auto;
  font-size:.9rem;
  line-height:1.3;
}
.marqs-team-roster-row__name{
  font-weight:700;
  color:#0f172a;
}
.marqs-team-roster-row__school{
  color:#475569;
}
.marqs-team-roster-row__actions{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex:0 0 auto;
}
.marqs-team-roster-badge{
  display:inline-block;
  margin-left:.4rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.01em;
  color:#334155;
  background:#e2e8f0;
  border-radius:999px;
  padding:.1rem .45rem;
  vertical-align:middle;
}
.marqs-team-roster-badge--anchor{
  color:#1e3a5f;
  background:#dbeafe;
}
.marqs-team-roster-badge--no{
  color:#9a3412;
  background:#ffedd5;
}
.marqs-team-roster-results{
  max-height:12rem;
  overflow-y:auto;
}
.marqs-team-roster-pick.is-active,
.marqs-team-roster-pick:focus{
  border-color:#0d6efd;
  background:#eff6ff;
}
.marqs-team-roster-new-panel{
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#f8fafc;
  padding:.85rem;
}
.marqs-team-roster-count{
  font-weight:600;
}

/* Admin Teams roster add: Contact | Role | Add on one control row */
.marqs-team-roster-add{
  display:grid;
  width:100%;
  min-width:0;
  column-gap:.75rem;
  row-gap:.25rem;
  align-items:stretch;
  grid-template-columns:minmax(0,1fr) minmax(8rem,11rem) max-content;
  grid-template-areas:
    "contact-label role-label ."
    "contact-field role-field action"
    "contact-help  .           .";
}
.marqs-team-roster-add .form-label{
  margin-bottom:0;
}
.marqs-team-roster-add__contact-label{
  grid-area:contact-label;
  align-self:end;
}
.marqs-team-roster-add__contact-field{
  grid-area:contact-field;
  min-width:0;
  width:100%;
  max-width:100%;
}
.marqs-team-roster-add__contact-help{
  grid-area:contact-help;
  min-width:0;
  margin-top:.15rem;
  overflow-wrap:anywhere;
}
.marqs-team-roster-add__role-label{
  grid-area:role-label;
  align-self:end;
}
.marqs-team-roster-add__role-field{
  grid-area:role-field;
  min-width:0;
  width:100%;
  max-width:100%;
}
.marqs-team-roster-add__action{
  grid-area:action;
  display:flex;
  align-items:center;
  align-self:stretch;
}
.marqs-team-roster-add__action .btn{
  white-space:nowrap;
}
@media (max-width:575.98px){
  .marqs-team-roster-add{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "contact-label"
      "contact-field"
      "contact-help"
      "role-label"
      "role-field"
      "action";
    row-gap:.35rem;
  }
  .marqs-team-roster-add__contact-label,
  .marqs-team-roster-add__role-label{
    align-self:start;
  }
  .marqs-team-roster-add__role-label{
    margin-top:.35rem;
  }
  .marqs-team-roster-add__action{
    display:block;
    margin-top:.15rem;
  }
  .marqs-team-roster-add__action .btn{
    width:100%;
    min-height:2.75rem;
  }
}

/* Competitor search results — privacy-safe verification cards */
.contact-search-results{
  display:grid;
  gap:.5rem;
}
.contact-search-result{
  width:100%;
  text-align:left;
  border:1px solid #dbe4f0;
  background:#fff;
  border-radius:12px;
  padding:.75rem .85rem;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
  cursor:pointer;
}
.contact-search-result:hover,
.contact-search-result:focus{
  border-color:#0d6efd;
  background:#eff6ff;
  outline:none;
}
.contact-search-result:disabled{
  opacity:.55;
  cursor:not-allowed;
  background:#f1f5f9;
}
.contact-search-result__name{
  font-weight:700;
  color:#0f172a;
  line-height:1.3;
}
.contact-search-result__school{
  margin-top:.2rem;
  font-size:.875rem;
  color:#475569;
  line-height:1.35;
}
.contact-search-result__meta{
  margin-top:.25rem;
  font-size:.8125rem;
  color:#64748b;
  line-height:1.35;
}
.contact-search-selected{
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  color:#166534;
  border-radius:12px;
  padding:.7rem .85rem;
  font-weight:600;
  font-size:.9rem;
}

/* School roster panel — action buttons + MARQS modals */
.school-roster-panel .roster-action-bar .btn,
.school-roster-panel .card-header .btn{
  font-weight:700;
}
.school-roster-panel .btn-add-staff-enabled{
  background:#fff;
  color:#084298;
  border-color:rgba(255,255,255,.85);
}
.school-roster-panel .btn-add-staff-enabled:hover,
.school-roster-panel .btn-add-staff-enabled:focus{
  background:#eaf2ff;
  color:#052c65;
  border-color:#fff;
}
.school-roster-panel .roster-add-staff-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.school-roster-modal .modal-content{
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
}
.school-roster-modal .modal-header{
  background:linear-gradient(135deg,#08285f 0%,#0d47a1 55%,#0d6efd 100%);
  color:#fff;
  border-bottom:0;
  padding:1.25rem 1.5rem;
}
.school-roster-modal .modal-title{
  font-weight:800;
  letter-spacing:-.02em;
}
.school-roster-modal .modal-header .btn-close{
  filter:invert(1) grayscale(100%);
  opacity:.85;
}
.school-roster-modal .modal-body{
  background:#f5f8fc;
  padding:1.25rem;
}
.school-roster-modal .modal-footer{
  background:#fff;
  border-top:1px solid #dbe4f0;
  padding:1rem 1.25rem;
  box-shadow:0 -8px 20px rgba(15,23,42,.05);
}
.school-roster-modal .roster-modal-section{
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:16px;
  padding:1rem;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.school-roster-modal .form-label{
  font-weight:700;
  color:#24364f;
}
.school-roster-modal .form-control,
.school-roster-modal .form-select{
  border-radius:10px;
  border-color:#cfd9e8;
}
.school-roster-modal .form-control:focus,
.school-roster-modal .form-select:focus{
  border-color:#0d6efd;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.14);
}
.school-roster-modal .roster-search-result,
.school-roster-modal .contact-search-result{
  width:100%;
  text-align:left;
  border:1px solid #dbe4f0;
  background:#fff;
  border-radius:12px;
  padding:.75rem .85rem;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
}
.school-roster-modal .roster-search-result:hover,
.school-roster-modal .roster-search-result:focus,
.school-roster-modal .contact-search-result:hover,
.school-roster-modal .contact-search-result:focus{
  border-color:#0d6efd;
  background:#eff6ff;
  outline:none;
}

/* Launch control / system status banners */
.marqs-launch-banners{
  position:relative;
  z-index:1020;
}
.marqs-launch-banner{
  padding:.55rem 1rem;
  font:600 .875rem/1.35 system-ui,Segoe UI,Roboto,Arial,sans-serif;
  text-align:center;
}
.marqs-launch-banner--admin{
  background:#fef3c7;
  color:#78350f;
  border-bottom:1px solid #fcd34d;
}
.marqs-launch-banner--public{
  background:#e0f2fe;
  color:#0c4a6e;
  border-bottom:1px solid #7dd3fc;
}
.marqs-launch-banner--label{
  background:#f1f5f9;
  color:#334155;
  border-bottom:1px solid #cbd5e1;
}
.marqs-launch-server-badge{
  display:inline-block;
  margin-left:.5rem;
  padding:.15rem .55rem;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:.72rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  vertical-align:middle;
}

/* --------------------------------------------------------------------------
   Competition History � scalable season / tournament / result UI
-----------------------------------------------------------------------------*/
.marqs-empty-state{
  text-align:center;
  padding:2rem 1.25rem;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  color:#475569;
}
.marqs-empty-state__icon{
  font-size:1.75rem;
  color:#94a3b8;
  margin-bottom:.5rem;
}
.marqs-empty-state__title{
  font-weight:700;
  color:#0f172a;
  margin-bottom:.35rem;
}
.marqs-empty-state__body{
  margin:0 auto;
  max-width:28rem;
  font-size:.9rem;
}
.marqs-empty-state__actions{margin-top:.75rem}
.marqs-filter-panel .form-label{font-weight:600;color:#334155}
.marqs-summary-grid{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.marqs-summary-chip{
  display:flex;
  flex-direction:column;
  min-width:6.5rem;
  padding:.55rem .75rem;
  border-radius:10px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
}
.marqs-summary-chip span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:600}
.marqs-summary-chip strong{font-size:1.05rem;color:#0f172a}
.marqs-status-badge{font-weight:600}
.marqs-admin-badge{font-weight:700}
.marqs-ch-season > .card-header.marqs-ch-season__header,
.marqs-ch-season__header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-start;
  gap:.75rem 1rem;
  background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 55%,#1d4ed8 100%)!important;
  color:#f8fafc!important;
  border-bottom:0!important;
}
.marqs-ch-season__actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.marqs-ch-tournament__toggle,
.marqs-ch-result__toggle{
  display:flex;
  width:100%;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  text-align:left;
  background:transparent;
  border:0;
  padding:.75rem 1rem;
  color:inherit;
}
.marqs-ch-tournament__toggle:focus-visible,
.marqs-ch-result__toggle:focus-visible{
  outline:2px solid #2563eb;
  outline-offset:2px;
}
.marqs-ch-tournament__stats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem .55rem;
  justify-content:flex-end;
}
.marqs-ch-result{border-top:1px solid #e2e8f0}
.marqs-ch-result__main{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}
.marqs-ch-result__title{display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:baseline}
.marqs-ch-result__code{font-weight:800;color:#0f172a}
.marqs-ch-result__name{font-weight:600;color:#1e293b}
.marqs-ch-result__meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center}
.marqs-ch-result__calc{font-size:.8rem;word-break:break-word}
.marqs-ch-result__detail{padding:.25rem 1rem 1rem 1rem;background:#f8fafc}
.marqs-ch-result__chevron,
.marqs-ch-chevron{opacity:.55;transition:transform .15s ease}
.marqs-ch-result__toggle[aria-expanded="true"] .marqs-ch-result__chevron,
.marqs-ch-tournament__toggle[aria-expanded="true"] .marqs-ch-chevron{transform:rotate(180deg)}
.marqs-ch-category-card{
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:.75rem .9rem;
  background:#fff;
  height:100%;
}
.marqs-ch-jump .btn{margin-right:.15rem}
@media(max-width:575.98px){
  .marqs-ch-tournament__toggle,
  .marqs-ch-result__toggle{flex-direction:column}
  .marqs-ch-tournament__stats{justify-content:flex-start}
  .marqs-ch-season__header{flex-direction:column}
}

/* Admin venue location map preview */
.marqs-venue-preview__map{
  width:100%;
  max-width:100%;
  overflow:hidden;
  border:1px solid #c5d0de;
  border-radius:10px;
  background:#e8eef5;
}
.marqs-venue-preview__iframe{
  display:block;
  width:100%;
  height:260px;
  border:0;
  border-radius:10px;
  max-width:100%;
}
.marqs-venue-preview__coords{word-break:break-word}
.marqs-venue-preview__actions .btn{margin:0}
.marqs-venue-search-status.is-ok{color:#0f766e}
.marqs-venue-search-status.is-warn{color:#b45309}
.marqs-venue-search-status.is-info{color:#475569}
@media(max-width:575.98px){
  .marqs-venue-preview__iframe{height:210px}
}

/* Shared registration team catalog (compact rows matching Individual Divisions) */
.marqs-reg-div-section{margin-top:1.25rem}
.marqs-reg-team-slots{margin:0;padding:.15rem 0 .25rem}
.marqs-reg-team-slot{
  border:1px dashed #cbd5e1;
  border-radius:10px;
  padding:.75rem;
  margin-bottom:.75rem;
  background:var(--surface-alt);
}
.marqs-reg-team-expand-row > td{
  background:var(--surface-alt,#f8fafc) !important;
  padding:.75rem 1rem 1rem !important;
  border-top:0 !important;
}
.marqs-reg-team-catalog tbody.division-registration-row.division-row-filter-hidden,
.marqs-reg-team-catalog tbody.division-registration-row[hidden],
.marqs-reg-team-catalog tr.division-registration-row.division-row-filter-hidden,
.marqs-reg-team-catalog tr.division-registration-row[hidden]{
  display:none !important;
}
.marqs-reg-team-catalog tr.division-registration-row.division-row-filter-hidden + tr.marqs-reg-team-expand-row,
.marqs-reg-team-catalog tr.division-registration-row[hidden] + tr.marqs-reg-team-expand-row {
  display: none !important;
}
.marqs-reg-team-catalog tr.division-registration-row[hidden] + tr.marqs-reg-team-expand-row{
  display:none !important;
}
.marqs-reg-team-catalog tr.division-registration-row.division-row-selected,
.marqs-reg-team-catalog tr.division-registration-row.division-row-selected > td{
  --bs-table-bg:#fff3cd;
  --bs-table-color:#1f2937;
  background-color:#fff3cd !important;
  color:#1f2937;
}
.marqs-reg-team-catalog tr.division-registration-row.division-row-selected{
  box-shadow:
    inset 7px 0 0 #f59f00,
    inset 0 0 0 1px #ffda6a;
}
.marqs-reg-team-catalog tr.division-registration-row.division-row-selected .division-name{
  color:#7a4b00;
  font-weight:800;
}
.marqs-reg-team-catalog th.marqs-reg-team-price-col,
.marqs-reg-team-catalog th.marqs-reg-team-disc-col,
.marqs-reg-team-catalog th.marqs-reg-team-net-col,
.marqs-reg-team-catalog td.marqs-reg-team-price-col,
.marqs-reg-team-catalog td.marqs-reg-team-disc-col,
.marqs-reg-team-catalog td.marqs-reg-team-net-col{
  white-space:nowrap;
  min-width:4.25rem;
}
.marqs-reg-team-slot-price-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(4.5rem, auto));
  gap:.35rem .75rem;
  text-align:right;
}
@media (max-width:575.98px){
  .marqs-reg-team-slot-price-grid{
    grid-template-columns:1fr;
    text-align:left;
  }
  .marqs-reg-team-catalog th.marqs-reg-team-disc-col,
  .marqs-reg-team-catalog th.marqs-reg-team-net-col,
  .marqs-reg-team-catalog td.marqs-reg-team-disc-col,
  .marqs-reg-team-catalog td.marqs-reg-team-net-col{
    min-width:3.5rem;
    font-size:.85rem;
  }
}
.marqs-reg-div-catalog tr.division-registration-row.table-warning td,
.marqs-reg-div-catalog tr.division-registration-row.table-info td{
  font-size:.92rem;
}
.marqs-reg-div-status.bg-primary{
  background:#2563eb;
}
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  line-height:1.2;
  padding:.15rem .45rem;
  border-radius:999px;
  border:1px solid transparent;
  white-space:nowrap;
}
.marqs-roster-badge--complete{
  background:#d1fae5;
  border-color:#a7f3d0;
  color:#065f46;
}
.marqs-roster-badge--incomplete{
  background:#fef3c7;
  border-color:#fde68a;
  color:#92400e;
}
.marqs-roster-badge--invalid{
  background:#fee2e2;
  border-color:#fecaca;
  color:#991b1b;
}
.marqs-roster-incomplete-notice{
  margin-top:.35rem;
}
.marqs-roster-incomplete-staff{
  border-top:1px dashed #cbd5e1;
  padding-top:.75rem;
  margin-top:.25rem;
  display:flex;
  flex-wrap:wrap;
  width:100%;
  min-width:0;
}
.marqs-reg-team-slot > .marqs-roster-incomplete-staff{
  margin-top:.75rem;
}
.marqs-pricing-compare-table th,
.marqs-pricing-compare-table td{
  vertical-align:top;
}
.marqs-pricing-compare-table th:nth-child(2),
.marqs-pricing-compare-table th:nth-child(3),
.marqs-pricing-compare-table td:nth-child(2),
.marqs-pricing-compare-table td:nth-child(3){
  white-space:nowrap;
}

.marqs-cop-panel .btn-success.btn-lg{
  min-height:52px;
  font-weight:700;
}

.marqs-test-order-danger{
  border-color:#fecaca;
}
.marqs-test-order-danger > .card-header{
  background:#fef2f2;
  color:#991b1b;
}
.marqs-test-order-danger .btn-danger{
  font-weight:700;
}

.marqs-order-card.card.marqs .card-header{
  background:var(--surface-alt,#f8fafc);
  color:var(--text,#0f172a);
}
.marqs-order-card .card-body{
  padding:.85rem 1rem 1rem;
}
.marqs-order-card .marqs-order-contents{
  padding-left:1.1rem;
  margin-bottom:0;
}
.marqs-order-contents__item + .marqs-order-contents__item{
  margin-top:.5rem;
  padding-top:.5rem;
  border-top:1px solid #e5e7eb;
}

/*
  Admin order-group contrast:
  Header previously set navy + light text on `td` (low specificity).
  `.table.marqs.marqs-table-zebra tbody tr:nth-child(even):not(...) > *`
  then painted the cells `#e6f0ff`, leaving `#f8fafc` / `.text-muted` `#cbd5e1`
  on pale blue. Header/child rows are excluded from zebra; header uses dark
  navy text on a light blue bar so muted/white-on-pale cannot recur.
*/
.table.marqs tbody tr.marqs-order-group-header > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-header > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-header:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-header:nth-child(even) > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-header:hover > *{
  background-color:#eef4ff;
  color:var(--text,#0f172a);
  --bs-table-bg:#eef4ff;
  --bs-table-color:var(--text,#0f172a);
  border-bottom:1px solid #c5d7f5;
  padding:.4rem .75rem;
  vertical-align:middle;
  box-shadow:inset 4px 0 0 var(--brand-blue,#0d3b8e);
}
.marqs-order-group-header__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:.35rem .85rem;
}
.marqs-order-group-header__copy{
  min-width:0;
  flex:1 1 16rem;
  color:var(--text,#0f172a);
}
.marqs-order-group-header__title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem .45rem;
  color:var(--text,#0f172a);
  line-height:1.25;
}
.marqs-order-group-header__title strong{
  color:var(--text,#0f172a);
  font-size:.95rem;
}
.marqs-order-group-header__meta{
  margin-top:.15rem;
  color:#1e293b;
  font-size:.8125rem;
  line-height:1.35;
}
.marqs-order-group-header__totals{
  color:var(--text,#0f172a);
  font-weight:700;
}
.marqs-order-group-header__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem;
  flex:0 1 auto;
}
.marqs-order-group-header__actions .btn{
  white-space:nowrap;
}
.table.marqs tbody tr.marqs-order-group-child > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-child > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-child:nth-child(odd) > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-child:nth-child(even) > *{
  background-color:#fff;
  color:var(--text,#0f172a);
  --bs-table-bg:#fff;
  --bs-table-color:var(--text,#0f172a);
}
.table.marqs tbody tr.marqs-order-group-child:hover > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-child:hover > *{
  background-color:#f8fafc;
  --bs-table-bg:#f8fafc;
}
.table.marqs tbody tr.marqs-order-group-child td:first-child,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-child td:first-child{
  padding-left:1.5rem;
  box-shadow:inset 4px 0 0 var(--brand-blue,#0d3b8e);
}
.marqs-order-group-child__mark{
  display:inline-block;
  width:.45rem;
  height:.45rem;
  margin-right:.4rem;
  border-left:2px solid var(--brand-blue,#0d3b8e);
  border-bottom:2px solid var(--brand-blue,#0d3b8e);
  vertical-align:middle;
}
.table.marqs tbody tr.marqs-order-group-child--last > *,
.table.marqs.marqs-table-zebra tbody tr.marqs-order-group-child--last > *{
  border-bottom:2px solid var(--brand-blue,#0d3b8e);
}
.marqs-order-group-single__order{
  margin-top:.15rem;
  font-size:.75rem;
  line-height:1.3;
  color:var(--muted,#475569);
}
.marqs-order-group-single__order .badge-marqs{
  font-size:.7rem;
  padding:1px 6px;
  vertical-align:middle;
}
.marqs-order-group-child__included{
  color:var(--muted,#475569);
}
@media (max-width: 767.98px){
  .marqs-order-card .marqs-stat-bar{
    flex-direction:column;
  }
}

/* Division Ordering board
   Contrast bug: .card.marqs .card-header (0,3,0) sets background:var(--surface-alt,#f8fafc)
   and beats .marqs-div-order-col .card-header (0,2,0) navy gradient, leaving color:#fff
   on a pale header. These rules out-specify that cascade. */
.marqs-div-order-toolbar-card.card.marqs{
  position:sticky;
  top:var(--marqs-div-order-nav-h,4.15rem);
  z-index:21;
  overflow:visible;
  background:var(--surface,#fff);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.marqs-div-order-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.marqs-div-order-toolbar__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem .75rem;
  min-width:0;
}
.marqs-div-order-toolbar__name{
  color:#0f172a;
}
.marqs-div-order-detail{
  min-height:1.25rem;
}
.marqs-div-order-board{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(11.25rem, 1fr));
  gap:.75rem;
  align-items:start;
}
.marqs-div-order-col.card.marqs.marqs-section-card{
  overflow:visible;
}
.marqs-div-order-col.card.marqs > .card-header.marqs-div-order-col__head{
  position:sticky;
  top:calc(var(--marqs-div-order-nav-h,4.15rem) + var(--marqs-div-order-toolbar-h,3.35rem));
  z-index:5;
  flex-wrap:wrap;
  padding:.5rem .65rem;
  font-weight:700;
  letter-spacing:.01em;
}
.marqs-div-order-col.card.marqs > .card-header.marqs-div-order-col__head strong{
  font-size:.9rem;
  line-height:1.25;
  background:none;
}
.marqs-div-order-col.card.marqs > .card-header.marqs-div-order-col__head .badge-marqs{
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
  opacity:1;
}
.marqs-div-order-col--unassigned.card.marqs > .card-header.marqs-div-order-col__head{
  background:linear-gradient(135deg,#fde68a 0%,#fbbf24 58%,var(--warning,#f59e0b) 100%);
  color:#451a03;
  border-bottom-color:#d97706;
}
.marqs-div-order-col--unassigned.card.marqs > .card-header.marqs-div-order-col__head strong,
.marqs-div-order-col--unassigned.card.marqs > .card-header.marqs-div-order-col__head i{
  color:#451a03;
  background:none;
}
.marqs-div-order-col--unassigned.card.marqs > .card-header.marqs-div-order-col__head .badge-marqs{
  background:#fffbeb;
  border-color:#b45309;
  color:#451a03;
}
.marqs-div-order-col--ring.marqs-section-card--primary.card.marqs > .card-header.marqs-div-order-col__head{
  background:linear-gradient(135deg,#071a3a 0%,var(--brand-blue,#0d3b8e) 52%,var(--brand-blue-600,#0b6ed1) 100%);
  color:#fff;
  border-bottom-color:rgba(255,255,255,.18);
}
.marqs-div-order-col--ring.marqs-section-card--primary.card.marqs > .card-header.marqs-div-order-col__head strong{
  color:#fff;
  background:none;
}
.marqs-div-order-col--ring.card.marqs > .card-header.marqs-div-order-col__head .badge-marqs{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.45);
  color:#fff;
}
.marqs-div-order-col-body{
  min-height:4.5rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  padding:.5rem .55rem .65rem;
}
.marqs-div-order-row{
  display:flex;
  align-items:center;
  gap:.35rem;
  cursor:grab;
}
.marqs-div-order-row.is-dragging{
  opacity:.55;
  cursor:grabbing;
}
.marqs-div-order-row.is-selected .marqs-div-order-pos{
  color:#0d3b8e;
  font-weight:800;
}
.marqs-div-order-pos{
  flex:0 0 1.15rem;
  font-size:.72rem;
  font-weight:700;
  color:#64748b;
  text-align:right;
  line-height:1;
}
.marqs-div-order-row[data-unassigned="1"] .marqs-div-order-pos{
  display:none;
}
.marqs-div-order-tile{
  min-width:0;
  border:0;
  background:transparent;
  padding:0;
  cursor:grab;
  display:flex;
  align-items:center;
  gap:.28rem;
  user-select:none;
  -webkit-user-select:none;
}
.marqs-div-order-tile:focus{
  outline:2px solid var(--brand-blue-600,#0b6ed1);
  outline-offset:2px;
  border-radius:999px;
}
.marqs-div-order-tile.is-selected:focus{
  outline-offset:3px;
}
.marqs-div-order-tile .division-code{
  font-size:.78rem;
  padding:.22rem .5rem;
}
.marqs-div-order-sel-mark{
  display:none;
  flex:0 0 auto;
  width:.95rem;
  height:.95rem;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f59f00;
  color:#1e293b;
  font-size:.55rem;
  line-height:1;
  box-shadow:0 0 0 1px #fff;
}
.marqs-div-order-tile.is-selected .marqs-div-order-sel-mark,
.marqs-div-order-row.is-selected .marqs-div-order-sel-mark{
  display:inline-flex;
}
.marqs-div-order-tile.is-selected .division-code,
.marqs-div-order-row.is-selected .division-code{
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px #f59f00;
}
.marqs-div-order-sel-clear{
  color:#64748b;
  text-decoration:none;
  font-weight:600;
}
.marqs-div-order-sel-clear:hover,
.marqs-div-order-sel-clear:focus{
  color:#0d3b8e;
  text-decoration:underline;
}
.marqs-div-order-drag-ghost{
  position:fixed;
  top:-80px;
  left:8px;
  z-index:40;
  pointer-events:none;
  padding:.2rem .55rem;
  border-radius:.4rem;
  background:#0d3b8e;
  color:#fff;
  font-size:.75rem;
  font-weight:700;
  box-shadow:0 0 0 2px #f59f00, 0 6px 14px rgba(15,23,42,.25);
  white-space:nowrap;
}
.marqs-div-order-board.is-drag .marqs-div-order-col-body{
  box-shadow:inset 0 0 0 1px rgba(13,59,142,.28);
  border-radius:.5rem;
}
.tooltip.marqs-div-order-tooltip .tooltip-inner{
  max-width:320px;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-weight:400;
  line-height:1.35;
}
.tooltip.marqs-div-order-tooltip .tooltip-inner strong{
  display:block;
  font-weight:700;
  margin-bottom:.15rem;
}
@media (max-width:575.98px){
  .marqs-div-order-board{
    grid-template-columns:repeat(auto-fill, minmax(9.5rem, 1fr));
  }
}

.marqs-pass-qty-table-wrap{
  max-width:100%;
  overflow-x:hidden;
}
.marqs-pass-qty-table .aqr-pass-item-name,
.marqs-pass-qty-table .marqs-pass-holder{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.marqs-pass-already-count{
  white-space:normal;
}
.marqs-pass-add-now-note{
  color:#495057;
}
.marqs-pass-dup-notice{
  color:#1a365d;
}
.marqs-pass-previous-details summary{
  cursor:pointer;
}
@media (max-width:390px){
  .marqs-pass-qty-table-wrap{
    overflow-x:hidden;
  }
  table.marqs-pass-qty-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  table.marqs-pass-qty-table,
  table.marqs-pass-qty-table tbody,
  table.marqs-pass-qty-table tr,
  table.marqs-pass-qty-table td{
    display:block;
    width:100%;
    max-width:100%;
  }
  table.marqs-pass-qty-table tr{
    padding:.65rem 0;
    border-bottom:1px solid rgba(0,0,0,.12);
  }
  table.marqs-pass-qty-table td{
    text-align:left !important;
    padding:.2rem 0 .35rem;
  }
  table.marqs-pass-qty-table td[data-label]::before{
    content:attr(data-label);
    display:block;
    font-weight:600;
    font-size:.75rem;
    color:#6c757d;
    margin-bottom:.15rem;
  }
}
