* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

body {
  margin: 0;
  font-family: "Poppins", Arial, sans-serif;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(246, 248, 251, 0) 320px),
    var(--color-bg);
  color: var(--color-text);
  line-height: 1.6;
}

h1, h2, h3 { text-wrap: balance; letter-spacing: -0.025em; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
i { line-height: 1; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px clamp(16px, 4vw, 56px);
  background: rgba(246, 248, 251, 0.94);
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(10px);
}

.brand { display: flex; align-items: center; gap: 10px; font-weight: 700; transition: transform 180ms ease; }
.brand:hover { transform: translateY(-1px); }
.brand img { width: 44px; height: 44px; object-fit: contain; }
.nav { display: flex; align-items: center; gap: 18px; font-size: 0.95rem; }
.nav a, .link-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--color-muted);
  font: inherit;
  transition: color 180ms ease, transform 180ms ease;
}
.nav a i, .link-button i { color: var(--color-primary); font-size: 0.9rem; transition: transform 180ms ease; }
.nav a.active, .nav a:hover, .link-button:hover { color: var(--color-text); transform: translateY(-1px); }
.nav a:hover i, .link-button:hover i { transform: scale(1.1); }
.nav-cta {
  padding: 10px 14px;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  color: var(--color-text) !important;
  background: rgba(239, 125, 34, 0.08);
}
.nav-cta:hover { background: rgba(239, 125, 34, 0.15); }
.inline-form { margin: 0; }
.link-button { border: 0; background: transparent; cursor: pointer; padding: 0; }

.burger { display: none; width: 44px; height: 44px; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); transition: transform 180ms ease, border-color 180ms ease; }
.burger:hover { transform: translateY(-1px); border-color: var(--color-primary); }
.burger span { display: block; width: 20px; height: 2px; margin: 5px auto; background: var(--color-text); transition: transform 180ms ease; }

.page { min-height: calc(100vh - 130px); }
.hero, .section, .split-section, .choice-page, .auth-page, .article-detail, .error-page {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.hero {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
  min-height: 620px;
  padding: 56px 0;
}

.hero h1, .page-title h1, .choice-page h1, .auth-page h1, .article-detail h1, .error-page h1 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4vw, 4.2rem);
  line-height: 1.08;
}

.hero p, .page-title p { color: var(--color-muted); max-width: 720px; }
.eyebrow { margin: 0 0 8px; color: var(--color-primary); font-weight: 700; text-transform: uppercase; font-size: 0.78rem; }
.hero-logo {
  justify-self: center;
  padding: 34px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.hero-logo:hover { transform: translateY(-4px) rotate(-1deg); box-shadow: 0 22px 48px rgba(22, 22, 22, 0.12); }
.hero-logo img { width: 280px; }

.actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 11px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  gap: 8px;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.button.primary { background: var(--color-primary); border-color: var(--color-primary); color: #111; }
.button:disabled { cursor: wait; opacity: 0.72; transform: none; box-shadow: none; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(22, 22, 22, 0.10); }
.button:active { transform: scale(0.97); }
.button:hover i { transform: translateX(1px) scale(1.05); }
.button i { transition: transform 180ms ease; }
.button.primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: white; }
.button.secondary { background: transparent; }
.button.secondary:hover { border-color: var(--color-primary); background: rgba(239, 125, 34, 0.08); }
.button.danger { color: white; background: var(--color-danger); border-color: var(--color-danger); }
.button.small { min-height: 36px; padding: 7px 11px; font-size: 0.9rem; }
.button.full { width: 100%; }

.section { padding: 42px 0; }
.section > .back-link { display: inline-flex; margin-bottom: 18px; }
.surface-band { border-top: 1px solid var(--color-border); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.section-heading h1, .section-heading h2 { margin: 0; }
.section-heading a { color: var(--color-primary-hover); font-weight: 700; }
.section-heading a i, .back-link i, .downloads a i { margin-right: 6px; transition: transform 180ms ease; }
.section-heading a:hover i { transform: translateX(3px); }
.muted, time { color: var(--color-muted); }

.card-grid { display: grid; gap: 20px; }
.news-grid { grid-template-columns: repeat(3, 1fr); }
.card, .person-card, .dashboard-card, .choice-card, .form-card, .info-panel, .list-item {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.card:hover, .person-card:hover, .dashboard-card:hover, .choice-card:hover, .list-item:hover {
  transform: translateY(-4px);
  border-color: rgba(239, 125, 34, 0.45);
  box-shadow: 0 22px 44px rgba(22, 22, 22, 0.12);
}
.card-img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-bottom: 1px solid var(--color-border); }
.card-body { padding: 18px; }
.card-body h2, .card-body h3 { margin: 8px 0; font-size: 1.15rem; }

.people-grid, .dashboard-grid, .choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.person-card { padding: 18px; display: grid; gap: 8px; }
.person-card img { width: 78px; height: 78px; border-radius: 50%; object-fit: cover; border: 1px solid var(--color-border); }
.person-card span { color: var(--color-muted); }
.person-contacts{display:grid;gap:5px;margin-top:4px;padding-top:9px;border-top:1px solid var(--color-border)}.person-contacts a{display:flex;align-items:center;gap:7px;min-width:0;color:var(--color-primary-hover);font-size:.78rem;font-weight:700;overflow-wrap:anywhere}.person-contacts i{width:14px;color:var(--color-primary)}
.dashboard-card, .choice-card { padding: 24px; font-weight: 700; min-height: 110px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.dashboard-card > i, .choice-card > i, .dashboard-icon {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius);
  background: rgba(239, 125, 34, 0.12);
  color: var(--color-primary-hover);
  font-size: 1.2rem;
  transition: transform 200ms ease, background 200ms ease;
}
.dashboard-icon { position: relative; overflow: visible; }
.dashboard-icon > i { line-height: 1; }
.dashboard-card:hover > i, .choice-card:hover > i, .dashboard-card:hover .dashboard-icon {
  transform: scale(1.08) rotate(-4deg);
  background: rgba(239, 125, 34, 0.2);
}
.notification-bubble {
  position: absolute; top: -8px; right: -10px; min-width: 22px; height: 22px; padding: 0 6px;
  display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--color-surface);
  border-radius: 999px; background: var(--color-danger); color: #fff; font-size: 0.72rem; font-weight: 800;
  line-height: 1; box-shadow: 0 3px 8px rgba(180, 35, 24, 0.3); z-index: 2;
}
.match-problem-bubble { top: -9px; right: -9px; min-width: 20px; width: 20px; height: 20px; padding: 0; }
.match-problem-bubble i { position: static; color: #fff; font-size: 0.65rem; transform: none !important; }
.nav-notification-link { position: relative; }
.nav-notification-bubble { top: -8px; right: -8px; }
.referee-options-panel { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 22px; border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.referee-options-panel h2 { margin: 2px 0 6px; }
.referee-options-panel p { margin: 0; }
.option-switch { display: flex; align-items: center; gap: 10px; white-space: nowrap; cursor: pointer; }
.option-switch input { width: 22px; min-height: 22px; accent-color: var(--color-primary); }
.club-feedback-panel { display: grid; gap: 12px; margin: 24px 0; }
.club-feedback-panel h2 { margin-bottom: 0; }
.designation-detail { padding: 42px 0 64px; }
.designation-detail > .back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; color: var(--color-primary-hover); font-weight: 700; }
.designation-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: clamp(22px, 4vw, 38px); border-radius: var(--radius-large); color: white; background: linear-gradient(125deg, #172337, #263753 68%, #75492f); box-shadow: var(--shadow); }
.designation-hero h1 { display: flex; align-items: center; gap: clamp(10px, 2vw, 22px); margin: 0; font-size: clamp(1.55rem, 3vw, 3rem); }
.designation-hero h1 i { flex: 0 0 auto; color: var(--color-primary); font-size: .55em; }
.designation-hero .eyebrow { display: flex; align-items: center; gap: 7px; }
.designation-number { flex: 0 0 auto; padding: 9px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.09); font-size: .86rem; font-weight: 700; }
.designation-number i { color: var(--color-primary); }
.designation-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.designation-fact { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 13px; align-items: start; min-height: 130px; padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.designation-fact > i { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; color: var(--color-primary-hover); background: rgba(239,125,34,.13); font-size: 1.05rem; }
.designation-fact div { display: grid; gap: 3px; min-width: 0; }
.designation-fact span { color: var(--color-muted); font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.designation-fact strong { overflow-wrap: anywhere; line-height: 1.4; }
.designation-fact small { color: var(--color-muted); }
.designation-address { grid-column: 1 / -1; grid-template-columns: 44px minmax(0, 1fr) auto; min-height: auto; align-items: center; }
.designation-address .button { align-self: center; }
.designation-map-actions { display: flex !important; grid-auto-flow: column; gap: 8px !important; }
.designation-map-actions .button { white-space: nowrap; }
.designation-section-title { display: flex; align-items: center; gap: 14px; }
.designation-section-title > i { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: var(--color-primary-hover); background: rgba(239,125,34,.13); }
.designation-section-title h2, .designation-section-title p { margin: 0; }
.designation-section-title p { color: var(--color-muted); font-size: .9rem; }
.designation-feedback { display: grid; gap: 22px; margin-top: 26px; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--color-border); border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.designation-feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.feedback-box { gap: 10px; padding: 16px; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-bg); }
.feedback-box > span { display: flex; align-items: center; gap: 8px; line-height: 1.35; }
.feedback-box > span i { color: var(--color-primary-hover); }
.feedback-box textarea { min-height: 118px; border-color: transparent; background: var(--color-surface); resize: vertical; }
.feedback-box textarea:focus { border-color: var(--color-primary); }
.feedback-positive { border-top: 3px solid var(--color-success); }
.feedback-positive > span i { color: var(--color-success); }
.feedback-negative { border-top: 3px solid var(--color-primary); }
.feedback-wide { grid-column: 1 / -1; }
.designation-feedback-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 4px; }
.designation-feedback-actions p { margin: 0; color: var(--color-muted); font-size: .84rem; }
.designation-feedback-actions p i { margin-right: 5px; color: var(--color-primary-hover); }
.designation-official-report { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-top: 16px; padding: 18px 20px; border: 1px solid rgba(239,125,34,.35); border-radius: var(--radius-large); background: rgba(239,125,34,.08); transition: transform 180ms ease, background 180ms ease; }
.designation-official-report:hover { transform: translateY(-2px); background: rgba(239,125,34,.14); }
.designation-official-report > i:first-child { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: white; background: var(--color-primary-hover); }
.designation-official-report span { display: grid; }
.designation-official-report small { color: var(--color-muted); }
.report-prefill-options { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--color-border); border-radius: var(--radius-large); background: var(--color-bg); }
.report-prefill-options h3, .report-prefill-options p { margin: 0; }
.report-prefill-options h3 i { margin-right: 6px; color: var(--color-primary-hover); }
.report-prefill-options fieldset { margin: 0; padding: 14px; border: 1px solid var(--color-border); border-radius: var(--radius); }
.report-prefill-options legend { padding: 0 7px; color: var(--color-primary-hover); font-weight: 700; }
.report-checkbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.report-checkbox-grid .check { display: flex; align-items: flex-start; gap: 9px; padding: 9px 10px; border-radius: 10px; background: var(--color-surface); cursor: pointer; font-size: .87rem; font-weight: 500; }
.report-checkbox-grid .check:hover { background: rgba(239,125,34,.09); }
.report-checkbox-grid input { flex: 0 0 auto; width: 19px; min-height: 19px; margin-top: 1px; accent-color: var(--color-primary); }
.platform-update-list { display: grid; gap: 18px; }
.platform-update-card { padding: 22px; border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.platform-update-card time { color: var(--color-muted); font-size: 0.9rem; }
.platform-update-card h2 { margin: 6px 0 14px; }
.feedback-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.feedback-stats article { padding: 16px; border-radius: var(--radius); background: var(--color-surface); box-shadow: var(--shadow); }
.feedback-stats strong, .feedback-stats span { display: block; }
.feedback-stats strong { color: var(--color-primary-hover); font-size: 1.7rem; }
.feedback-stats span { color: var(--color-muted); }
.feedback-filters { display: grid; grid-template-columns: 1fr 1fr auto auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 14px; border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.feedback-admin-list { display: grid; gap: 16px; }
.feedback-admin-card { padding: 20px; border-left: 5px solid var(--color-border); border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.feedback-admin-card.feedback-kind-bug { border-left-color: var(--color-danger); }
.feedback-admin-card.feedback-kind-suggestion { border-left-color: var(--color-primary); }
.feedback-admin-card.feedback-kind-feedback { border-left-color: var(--color-success); }
.feedback-admin-card header, .feedback-admin-actions, .feedback-admin-actions form { display: flex; align-items: center; gap: 12px; }
.feedback-admin-card header { justify-content: space-between; }
.feedback-admin-card h2 { margin: 7px 0 0; }
.feedback-author { margin: 14px 0; color: var(--color-muted); font-size: 0.9rem; }
.feedback-admin-actions { justify-content: space-between; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--color-border); }
.choice-grid { grid-template-columns: repeat(2, minmax(0, 320px)); justify-content: center; }
.choice-page, .auth-page, .error-page { min-height: 68vh; display: grid; place-content: center; padding: 48px 0; }
.choice-page h1 { text-align: center; }
.choice-card small { color: var(--color-muted); font-weight: 400; }
.split-section { display: grid; grid-template-columns: 1fr 360px; gap: 32px; align-items: start; padding: 72px 0; }
.info-panel { padding: 24px; }
.info-panel ul { padding-left: 0; list-style: none; display: grid; gap: 10px; }
.info-panel li { display: flex; align-items: center; gap: 10px; }
.info-panel li i { color: var(--color-primary-hover); width: 20px; }

.form-card { width: min(100%, 760px); padding: 24px; display: grid; gap: 16px; }
.auth-help-link { justify-self: end; margin-top: -8px; color: var(--color-primary); font-size: .9rem; font-weight: 700; text-decoration: none; }
.auth-help-link:hover { text-decoration: underline; }
.auth-form-icon { display: grid; width: 58px; height: 58px; place-items: center; margin: 0 auto; border-radius: 18px; color: white; background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover)); font-size: 1.4rem; box-shadow: 0 10px 24px rgba(239,125,34,.25); }
.auth-form-icon + h1, .auth-form-icon ~ .reset-password-fields h1 { text-align: center; }
.reset-password-fields { display: grid; gap: 16px; }
.table-sort-button { display: inline-flex; align-items: center; gap: 8px; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; font-weight: inherit; text-align: left; }
.table-sort-button i { margin-left: auto; color: var(--color-primary); opacity: .7; }
.table-sort-button:hover i, th[aria-sort] .table-sort-button i { opacity: 1; }
.list-sort-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; color: var(--color-muted); font-size: .88rem; font-weight: 700; }
.list-sort-toolbar button { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-text); background: var(--color-control); cursor: pointer; font: inherit; }
.list-sort-toolbar button:hover { border-color: var(--color-primary); color: var(--color-primary); }
.form-card-large { width: min(100%, 920px); }
.auth-page.wide { display: block; padding: 42px 0; }
.auth-page.wide .form-card { margin: 0 auto; }
label { display: grid; gap: 7px; font-weight: 600; }
input, textarea, select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: 10px 12px;
  font: inherit;
  background: var(--color-control);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(239, 125, 34, 0.14);
}
textarea { resize: vertical; }
.password-field{position:relative;display:block;width:100%;min-width:0}.password-field input{padding-right:52px}.password-visibility-toggle{position:absolute;top:50%;right:5px;display:grid;width:38px;height:38px;place-items:center;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:var(--color-muted);cursor:pointer;font-size:1rem}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{outline:none;color:var(--color-primary);background:rgba(239,125,34,.12)}
.custom-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 11px 10px 14px;border:1px solid color-mix(in srgb,var(--color-border) 78%,var(--color-primary) 22%);border-radius:var(--radius);color:var(--color-text);background:var(--color-control);cursor:pointer;font:inherit;font-weight:600;text-align:left;transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease}.custom-date-trigger:hover{border-color:var(--color-primary);background:var(--color-surface)}.custom-date-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(239,125,34,.14)}.custom-date-trigger i{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--color-primary);background:rgba(239,125,34,.13);font-size:1rem}.custom-date-dialog{width:min(390px,calc(100% - 24px));padding:0;border:0;border-radius:20px;color:var(--color-text);background:var(--color-surface);box-shadow:0 28px 90px #0008}.custom-date-dialog::backdrop{background:#111827a8;backdrop-filter:blur(4px)}.custom-date-calendar{padding:18px}.custom-date-calendar header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:14px}.custom-date-calendar header strong{text-align:center;text-transform:capitalize;font-size:1.05rem}.custom-date-nav{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text);background:var(--color-control);cursor:pointer}.custom-date-nav:hover{border-color:var(--color-primary);color:var(--color-primary)}.custom-date-weekdays,.custom-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.custom-date-weekdays{margin-bottom:6px;color:var(--color-muted);font-size:.7rem;font-weight:700;text-align:center;text-transform:uppercase}.custom-date-weekdays span{padding:5px 0}.custom-date-day{display:grid;aspect-ratio:1;place-items:center;border:1px solid transparent;border-radius:11px;color:var(--color-text);background:transparent;cursor:pointer;font:inherit;font-size:.83rem;font-weight:600}.custom-date-day:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(239,125,34,.09)}.custom-date-day.today{border-color:var(--color-primary);color:var(--color-primary)}.custom-date-day.selected{color:#fff;border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 5px 14px rgba(239,125,34,.28)}.custom-date-day:disabled{opacity:.25;pointer-events:none}.custom-date-calendar footer{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}
.custom-date-period-toggle { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 7px 10px; border: 0; border-radius: 11px; color: var(--color-text); background: transparent; cursor: pointer; font: inherit; font-size: 1.05rem; font-weight: 800; text-transform: capitalize; }
.custom-date-period-toggle:hover, .custom-date-period-toggle[aria-expanded="true"] { color: var(--color-primary); background: rgba(239, 125, 34, 0.1); }
.custom-date-period-toggle i { font-size: 0.72rem; transition: transform 160ms ease; }
.custom-date-period-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.custom-date-period-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: -4px 0 15px; padding: 12px; border: 1px solid var(--color-border); border-radius: 13px; background: var(--color-control); }
.custom-date-period-picker[hidden] { display: none; }
.custom-date-period-picker label { gap: 5px; color: var(--color-muted); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.custom-date-period-picker select { min-height: 42px; padding: 7px 9px; color: var(--color-text); background: var(--color-surface); font-size: 0.9rem; font-weight: 700; text-transform: capitalize; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.check { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.check input { width: 18px; min-height: 18px; }
.permissions { border: 1px solid var(--color-border); border-radius: var(--radius); display: grid; gap: 8px; padding: 14px; background: var(--color-surface-soft); }
.category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.category-chip {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.category-chip:hover { transform: translateY(-1px); border-color: rgba(239, 125, 34, 0.45); }
.category-chip input:checked + span { color: var(--color-primary-hover); font-weight: 800; }

.custom-select { position: relative; }
.custom-select select { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.custom-select-search {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: 10px 42px 10px 12px;
  background: white;
  text-align: left;
  font: inherit;
}
.custom-select::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: 14px;
  top: 13px;
  color: var(--color-primary-hover);
}
.custom-select-panel {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
  animation: pop-in 140ms ease;
}
.custom-select-panel[hidden] { display: none; }
.custom-select-list { max-height: 220px; overflow: auto; display: grid; gap: 6px; }
.custom-select-option {
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  padding: 9px 10px;
  text-align: left;
  cursor: pointer;
}
.custom-select-option:hover { background: rgba(239, 125, 34, 0.11); }

.custom-select-field{position:relative;display:block;width:100%;min-width:0}.custom-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 13px 10px 14px;border:1px solid color-mix(in srgb,var(--color-border) 78%,var(--color-primary) 22%);border-radius:var(--radius);color:var(--color-text);background:var(--color-control);cursor:pointer;font:inherit;font-weight:600;text-align:left;transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease}.custom-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger i{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--color-primary);background:rgba(239,125,34,.13);font-size:.8rem}.custom-select-trigger.placeholder span{color:var(--color-muted)}.custom-select-trigger:hover{border-color:var(--color-primary);background:var(--color-surface)}.custom-select-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(239,125,34,.14)}.custom-select-dialog{width:min(490px,calc(100% - 24px));max-height:min(700px,calc(100vh - 24px));padding:0;border:0;border-radius:20px;color:var(--color-text);background:var(--color-surface);box-shadow:0 28px 90px #0008}.custom-select-dialog::backdrop{background:#111827a8;backdrop-filter:blur(4px)}.custom-select-dialog-shell{display:flex;flex-direction:column;max-height:min(700px,calc(100vh - 24px))}.custom-select-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:21px 21px 14px;border-bottom:1px solid var(--color-border)}.custom-select-dialog header .eyebrow{margin-bottom:3px}.custom-select-dialog h2{margin:0;font-size:1.16rem}.custom-select-close{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);background:var(--color-control);cursor:pointer}.custom-select-close:hover{color:var(--color-primary);border-color:var(--color-primary)}.custom-select-search-field{position:relative;display:block;margin:15px 18px 0}.custom-select-search-field[hidden]{display:none}.custom-select-search-field i{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:var(--color-primary)}.custom-select-search-field input{padding-left:40px}.custom-select-options{display:grid;gap:6px;min-height:0;overflow-y:auto;padding:15px 18px 19px}.custom-select-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 13px;border:1px solid transparent;border-radius:11px;color:var(--color-text);background:var(--color-surface);cursor:pointer;font:inherit;font-size:.88rem;text-align:left}.custom-select-choice[hidden]{display:none}.custom-select-choice:hover,.custom-select-choice:focus-visible{outline:none;border-color:var(--color-primary);background:rgba(239,125,34,.08)}.custom-select-choice.selected{border-color:var(--color-primary);color:var(--color-primary);background:rgba(239,125,34,.1);font-weight:700}.custom-select-choice i{visibility:hidden;color:var(--color-primary)}.custom-select-choice.selected i{visibility:visible}.custom-select-empty{margin:0;padding:0 22px 22px;color:var(--color-muted)}.custom-select-empty[hidden]{display:none}

.custom-check-list .custom-options { max-height: 340px; overflow: auto; display: grid; gap: 8px; padding-right: 4px; }
.custom-option {
  display: flex;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.custom-option:hover { transform: translateY(-1px); border-color: rgba(239, 125, 34, 0.45); background: rgba(239, 125, 34, 0.07); }
.custom-option input { width: 18px; min-height: 18px; }
.custom-option small { display: block; color: var(--color-muted); font-weight: 400; }
.custom-option em { display: block; margin-top: 3px; color: var(--color-primary-hover); font-style: normal; font-size: 0.82rem; font-weight: 700; }
.match-availability-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 8px 0; font-size: 0.85rem; font-weight: 700; }
.match-availability-legend span { display: inline-flex; align-items: center; gap: 5px; }
.match-availability-legend .available { color: #13733a; }
.match-availability-legend .unavailable { color: #b86500; }
.match-availability-legend .missing { color: #687482; }
.custom-option.availability-unavailable { border-color:color-mix(in srgb,var(--color-danger) 42%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-text);opacity:.82;filter:none}.custom-option.availability-missing { border-color: var(--color-disabled-border); background: var(--color-disabled-bg); color: var(--color-disabled-text); opacity: 0.78; filter: none; }
.custom-option.availability-unavailable:hover, .custom-option.availability-missing:hover { opacity: 1; border-color:var(--color-danger) }.custom-option.availability-missing:hover{border-color:var(--color-primary)}
.custom-option.availability-available { border-color: var(--color-available-border); background: var(--color-available-bg); }
.custom-option input:checked { accent-color: var(--color-primary); }
.custom-option input:checked + span { color: var(--color-text); }
.custom-option input:checked + span strong { color: var(--color-primary-hover); }
.custom-option .referee-availability-status { margin-top: 6px; font-weight: 800; }
.referee-selector .custom-options{max-height:min(62vh,680px);gap:5px}.referee-selector .custom-option{gap:8px;padding:7px 9px;border-radius:10px}.referee-selector .custom-option>span{min-width:0;line-height:1.2}.referee-selector .custom-option strong{font-size:.86rem}.referee-selector .custom-option small{font-size:.7rem;line-height:1.25}.referee-selector .custom-option em{display:inline;margin:0 0 0 7px;font-size:.7rem}.referee-selector .custom-option .referee-availability-status{margin-top:3px}.referee-selector .referee-useful-info,.referee-selector .referee-assignment-info{margin-top:4px;padding:5px 7px;font-size:.68rem!important}
.referee-group-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding:8px 10px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);box-shadow:0 3px 9px rgba(23,35,55,.08);font-size:.75rem;font-weight:850}.referee-group-heading:first-child{margin-top:0}.referee-group-heading span{display:flex;align-items:center;gap:7px}.referee-group-heading strong{display:grid;min-width:23px;height:23px;place-items:center;border-radius:999px;background:var(--color-surface-soft);font-size:.7rem}.referee-group-available i{color:var(--color-available-text)}.referee-group-availability i,.referee-group-schedule i,.referee-group-workload i{color:var(--color-danger)}.referee-group-heading[hidden]{display:none}
.custom-option.availability-available.availability-double-warning{border-color:#d99022;box-shadow:inset 4px 0 #d99022}.referee-double-warning{display:flex!important;align-items:center;gap:5px;width:max-content;max-width:100%;margin-top:4px;color:#a65300!important;font-weight:800!important}.referee-double-warning[hidden]{display:none!important}.referee-double-warning i{color:#e08a16}
.travel-info-bubble{position:relative;display:inline-grid!important;width:20px;height:20px;margin:4px 0 0 6px;padding:0;place-items:center;border:1px solid #d47a12;border-radius:999px;color:#9d4f00;background:#fff1dc;cursor:help;font-size:.65rem;vertical-align:middle}.travel-info-bubble[hidden]{display:none!important}.travel-info-tooltip{position:fixed;z-index:10000;width:min(520px,calc(100vw - 24px));padding:11px 13px;border:1px solid #d99a4d;border-radius:10px;color:#fff;background:#5b310d;box-shadow:0 12px 34px #0008;font-size:.76rem;font-weight:700;line-height:1.55;text-align:left;white-space:pre-line;pointer-events:none}.travel-info-tooltip[hidden]{display:none}
.custom-date-day.has-matches { border-color: color-mix(in srgb, var(--color-available-text) 72%, var(--color-available-border)); color: var(--color-available-text); background: var(--color-available-bg); }
.custom-date-day.has-matches:hover { border-color: var(--color-available-text); color: var(--color-available-text); background: color-mix(in srgb, var(--color-available-bg) 82%, var(--color-surface) 18%); }
.custom-date-day.has-matches.selected { color: #fff; border-color: var(--color-primary); background: var(--color-primary); }
.custom-date-day.outside { color: var(--color-muted); opacity: .62; }
.custom-date-day.outside.has-matches { color: var(--color-available-text); opacity: .82; }
.custom-date-field { position: relative; display: block; min-width: 0; }
.custom-date-field .custom-date-trigger { padding-right: 58px; }
.custom-date-clear { position: absolute; z-index: 1; top: 50%; right: 12px; display: grid; width: 28px; height: 28px; padding: 0; place-items: center; transform: translateY(-50%); border: 0; border-radius: 8px; color: var(--color-muted); background: transparent; cursor: pointer; line-height: 1; }
.custom-date-clear:hover { color: var(--color-danger); background: var(--color-unavailable-bg); }
.custom-date-clear[hidden] { display: none; }
.referee-useful-info{display:flex!important;align-items:flex-start;gap:7px;width:fit-content;max-width:720px;margin-top:7px;padding:8px 10px;border-left:3px solid var(--color-primary);border-radius:0 8px 8px 0;color:var(--color-warning-text)!important;background:var(--color-warning-bg);font-weight:600!important;line-height:1.45}.referee-useful-info[hidden]{display:none!important}.referee-useful-info i{flex:0 0 auto;margin-top:3px;color:var(--color-primary)}.referee-useful-info span{white-space:pre-wrap;overflow-wrap:anywhere}
.custom-option.availability-available .referee-availability-status { color: var(--color-available-text); }
.custom-option.availability-unavailable .referee-availability-status { color:var(--color-danger); }
.custom-option.availability-missing .referee-availability-status { color: var(--color-disabled-text); }
.match-referee-warning { margin: 0; }
.same-club-indicator{display:inline-grid!important;width:22px;height:22px;margin-left:5px;place-items:center;border:1px solid color-mix(in srgb,var(--color-warning-text) 35%,transparent);border-radius:7px;color:var(--color-warning-text)!important;background:var(--color-warning-bg);font-size:.68rem;vertical-align:middle}.same-club-indicator[hidden]{display:none!important}
.answer-row { display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 10px; }
.answer-row input[type="radio"] { width: 18px; min-height: 18px; }

.toolbar { display: grid; grid-template-columns: 1fr 220px auto; gap: 12px; margin-bottom: 18px; }
.compact-toolbar { grid-template-columns: minmax(220px, 320px) auto auto; justify-content: start; }
.match-filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.match-filter-panel .check { min-height: 46px; }
.match-filter-actions{display:flex;align-items:center;gap:8px;grid-column:span 2}.match-filter-actions .button{justify-content:center;white-space:nowrap}.match-filter-actions button:disabled{cursor:wait;opacity:.7}
.match-category-filter{position:relative;display:grid;gap:7px;color:var(--color-text);font-weight:600}.match-category-filter>span{font-size:inherit}.match-category-filter details{position:relative}.match-category-filter summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-control);cursor:pointer;list-style:none}.match-category-filter summary::-webkit-details-marker{display:none}.match-category-filter summary>i:first-child{color:var(--color-primary)}.match-category-filter summary>i:last-child{margin-left:auto;color:var(--color-primary);font-size:.72rem;transition:transform .18s}.match-category-filter details[open] summary{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus)}.match-category-filter details[open] summary>i:last-child{transform:rotate(180deg)}.match-category-options{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow)}.match-category-options label{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;cursor:pointer;font-size:.82rem}.match-category-options label:hover{background:var(--color-warning-bg)}.match-category-options input{width:17px!important;height:17px!important;min-height:17px!important;margin:0;padding:0;accent-color:var(--color-primary)}
.match-heading-actions{align-items:center;flex-wrap:wrap}.draft-default-toggle{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer}.draft-default-toggle:has(input:checked){border-color:var(--color-primary);background:var(--color-warning-bg)}.draft-default-toggle>input{width:18px!important;height:18px!important;min-height:18px!important;margin:0;padding:0;accent-color:var(--color-primary)}.draft-default-toggle>span{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 6px}.draft-default-toggle i{grid-row:1/3;color:var(--color-primary);font-size:.8rem}.draft-default-toggle strong{font-size:.76rem;line-height:1.2}.draft-default-toggle small{color:var(--color-muted);font-size:.62rem;line-height:1.2}.draft-default-toggle:has(input:disabled){cursor:wait;opacity:.65}
.publish-drafts-heading:disabled{cursor:not-allowed;opacity:.45}
.match-list-tools { margin: 0 0 18px; }
.match-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.notice.warning, .club-warning { color: #8a4b08; }
.notice.warning { padding: 14px 16px; border: 1px solid rgba(239, 125, 34, .35); border-radius: var(--radius); background: #fff7ef; font-weight: 600; }
.club-warning { display: block; margin-top: 5px; font-weight: 700; }
.club-account-fields { margin-top: 6px; }
.match-report-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 7px; color: #8a4b08; font-size: .86rem; font-weight: 700; }
.match-report-link.resolved { color: var(--color-success); }
.staff-report-form { margin-top: 22px; }
.report-list .list-item { align-items: flex-start; }
.report-item.resolved { box-shadow: none; background: #f7faf8; }
.report-item.resolved > div { opacity: .68; }
.report-resolved-check { min-height: 44px; white-space: nowrap; color: var(--color-success); }
.staff-reports-page { width: min(1240px, calc(100% - 32px)); margin-inline: auto; }
.staff-reports-hero { align-items: center; }
.staff-reports-hero h1 { font-size: clamp(1.45rem, 2.7vw, 2.65rem); }
.staff-report-hero-status { display: flex; align-items: center; gap: 11px; min-width: 132px; padding: 13px 16px; border: 1px solid #ffffff2b; border-radius: 14px; background: #ffffff12; }
.staff-report-hero-status > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #ffffff18; }
.staff-report-hero-status span { display: grid; }
.staff-report-hero-status strong { font-size: 1.4rem; line-height: 1; }
.staff-report-hero-status small { margin-top: 3px; color: #d7dee9; }
.staff-report-hero-status.warning > i { color: #ffc58f; }
.staff-report-hero-status.complete > i { color: #9ce6b5; }
.staff-report-facts { margin-bottom: 28px; }
.staff-report-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 8px 0 16px; }
.staff-report-toolbar h2 { margin: 2px 0 4px; }
.staff-report-toolbar p { margin: 0; color: var(--color-muted); }
.staff-report-toolbar .eyebrow { color: var(--color-primary-hover); }
.staff-report-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .8fr); gap: 20px; align-items: start; }
.staff-report-history { display: grid; gap: 13px; }
.staff-report-card { overflow: hidden; border: 1px solid var(--color-border); border-left: 4px solid var(--color-primary); border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.staff-report-card.resolved { border-left-color: var(--color-success); box-shadow: none; }
.staff-report-card > header { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 17px 18px; border-bottom: 1px solid var(--color-border); }
.staff-report-card > header > div { display: grid; gap: 2px; }
.staff-report-card > header strong { line-height: 1.25; }
.staff-report-card > header small { color: var(--color-muted); }
.staff-report-role { color: var(--color-primary-hover); font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.staff-report-author-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; color: #a64c08; background: #ffead8; }
.staff-report-author-icon.club { color: #9b3b2f; background: #fdeae7; }
.staff-report-author-icon.arbitre { color: #2463a7; background: #e5f0ff; }
.staff-report-content { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; padding: 20px 22px 22px; }
.staff-report-content > i { color: var(--color-primary); opacity: .5; }
.staff-report-content p { margin: 0; line-height: 1.65; }
.staff-report-status-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.staff-report-status-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.staff-report-status-toggle span { display: grid; width: 30px; height: 30px; place-items: center; border: 2px solid var(--color-border); border-radius: 9px; color: transparent; background: var(--color-control); transition: .18s; }
.staff-report-status-toggle input:checked + span { border-color: var(--color-success); color: #fff; background: var(--color-success); }
.staff-report-status-toggle em { color: var(--color-primary-hover); font-size: .78rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.staff-report-status-toggle input:checked ~ em { color: var(--color-success); }
.staff-report-card-actions { display: flex; align-items: center; gap: 10px; }
.staff-report-delete { display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 1px solid #f0c5c1; border-radius: 10px; color: var(--color-danger); background: #fdf0ef; cursor: pointer; transition: .18s; }
.staff-report-delete:hover { border-color: var(--color-danger); color: #fff; background: var(--color-danger); transform: translateY(-1px); }
.staff-report-compose { position: sticky; top: 92px; }
.staff-report-compose form { display: grid; gap: 16px; padding: 22px; border: 1px solid var(--color-border); border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.staff-report-compose form > p { margin: -5px 0 2px; color: var(--color-muted); font-size: .88rem; line-height: 1.5; }
.staff-report-compose-heading { display: flex; align-items: center; gap: 12px; }
.staff-report-compose-heading > span { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 12px; color: #fff; background: var(--color-primary); }
.staff-report-compose-heading h2 { margin: 1px 0 0; font-size: 1.2rem; }
.staff-report-compose-heading .eyebrow { margin: 0; }
.staff-report-compose textarea { resize: vertical; min-height: 155px; }
.staff-report-compose .button { width: 100%; }
.staff-report-empty { display: grid; justify-items: center; gap: 5px; padding: 48px 20px; border: 1px dashed var(--color-border); border-radius: var(--radius-large); color: var(--color-muted); background: var(--color-surface); text-align: center; }
.staff-report-empty i { margin-bottom: 5px; color: var(--color-success); font-size: 1.8rem; }
.staff-report-empty strong { color: var(--color-text); }
.import-panel {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(220px, 320px) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  padding: 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.import-panel span { display: block; color: var(--color-muted); font-size: 0.9rem; }
.file-picker { margin: 0; min-width: 0; }
.file-picker input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.file-picker span {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
}
.import-progress {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding-top: 4px;
}
.progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--color-muted);
  font-size: 0.9rem;
}
.progress-meta strong { color: var(--color-primary-hover); }
.progress-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf3;
}
.progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--color-primary), #16a085);
  transition: width 420ms ease;
}
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: var(--color-surface); border: 1px solid var(--color-border); }
th, td { padding: 13px; text-align: left; border-bottom: 1px solid var(--color-border); }
.badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 0.82rem; font-weight: 700; }
.badge.ok { background: #e9f6ed; color: var(--color-success); }
.badge.off { background: #f7e8e6; color: var(--color-danger); }

.list-stack { display: grid; gap: 12px; }
.list-group-title {
  margin: 12px 0 0;
  padding-top: 8px;
  color: var(--color-primary-hover);
  font-size: 1rem;
}
.list-item { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px; }
.list-item.compact { padding: 13px; }
.list-item span { display: block; color: var(--color-muted); }
.selection-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 12px; }
.club-list-main { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.club-selector { padding-top: 2px; }
.club-selector input { width: 18px; height: 18px; }
.field-error { display: block; margin-top: 6px; color: var(--color-danger); font-weight: 600; }
.match-row-main, .referee-filter-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.match-state-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  position: relative;
  display: inline-block;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: #f1f5f9;
  color: var(--color-muted);
  line-height: 1;
  text-align: center;
}
.match-state-icon i {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin: 0;
  width: auto;
  height: auto;
  line-height: 1;
  transform: translate(-50%, -50%) !important;
  transition: none;
}
.match-state-icon.complete {
  border-color: rgba(19, 115, 51, 0.22);
  background: #e9f6ed;
  color: var(--color-success);
}
.match-state-icon.pending {
  border-color: rgba(239, 125, 34, 0.28);
  background: rgba(239, 125, 34, 0.1);
  color: var(--color-primary-hover);
}
.referee-filter-row {
  display: grid;
  grid-template-columns: 1fr minmax(180px, 240px);
}
.empty-state {
  margin: 0;
  padding: 18px;
  border: 1px dashed var(--color-empty-border);
  border-radius: var(--radius);
  color: var(--color-disabled-text);
  background: var(--color-empty-bg);
}

.article-detail { padding: 42px 0; }
.article-hero { width: 100%; max-height: 460px; object-fit: cover; border-radius: var(--radius); margin: 24px 0; background: var(--color-surface); }
.article-carousel { position: relative; margin: 24px 0; overflow: hidden; border-radius: var(--radius-large); background: #111; box-shadow: var(--shadow); }
.carousel-track { position: relative; aspect-ratio: 16 / 9; }
.carousel-slide { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; opacity: 0; visibility: hidden; background: transparent; cursor: zoom-in; transition: opacity 300ms ease; }
.carousel-slide.active { opacity: 1; visibility: visible; }
.carousel-slide img { width: 100%; height: 100%; object-fit: contain; }
.carousel-control { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgba(0, 0, 0, 0.58); transform: translateY(-50%); cursor: pointer; }
.carousel-control:hover { background: rgba(0, 0, 0, 0.78); }
.carousel-control.previous { left: 14px; }
.carousel-control.next { right: 14px; }
.carousel-dots { position: absolute; z-index: 2; bottom: 12px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); }
.carousel-dots button { width: 10px; height: 10px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: rgba(0, 0, 0, 0.35); cursor: pointer; }
.carousel-dots button.active { background: #fff; }
.image-lightbox { width: min(96vw, 1400px); max-width: none; height: min(94vh, 1000px); max-height: none; padding: 44px 12px 12px; border: 0; border-radius: var(--radius-large); background: rgba(8, 8, 8, 0.97); }
.image-lightbox::backdrop { background: rgba(0, 0, 0, 0.84); }
.image-lightbox img { width: 100%; height: 100%; object-fit: contain; }
.lightbox-close { position: absolute; top: 8px; right: 10px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,0.14); cursor: pointer; }
.article-image-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.article-image-preview img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.article-image-preview-item { position: relative; }
.image-delete-button { position: absolute; top: 7px; right: 7px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: var(--color-danger); box-shadow: 0 2px 8px rgba(0,0,0,0.28); cursor: pointer; }
.image-delete-button:hover { filter: brightness(0.88); transform: scale(1.05); }
.markdown-editor { display: grid; gap: 7px; }
.markdown-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border: 1px solid var(--color-border); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; background: var(--color-surface-soft); }
.markdown-toolbar button { display: grid; place-items: center; min-width: 38px; height: 36px; padding: 6px 9px; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-surface); cursor: pointer; }
.markdown-editor textarea { border-radius: 0 0 var(--radius) var(--radius); line-height: 1.55; }
.rich-content { line-height: 1.75; }
.rich-content p { margin: 0 0 1em; white-space: normal; }
.rich-content h2, .rich-content h3, .rich-content h4 { margin: 1.4em 0 0.55em; line-height: 1.25; }
.rich-content ul, .rich-content ol { margin: 0 0 1em; padding-left: 1.5em; }
.rich-content blockquote { margin: 1.2em 0; padding: 12px 18px; border-left: 4px solid var(--color-primary); background: var(--color-surface-soft); }
.rich-content pre { overflow-x: auto; padding: 14px; border-radius: var(--radius); background: #1e293b; color: #f8fafc; }
.rich-content { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 24px; }
.observation-detail .page-title { margin: 18px 0 22px; }
.observation-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 16px; }
.observation-grid .info-panel p, .observation-columns .info-panel p { margin-bottom: 0; }
.observation-columns { margin-bottom: 16px; }
.observation-file { display: grid; justify-items: start; gap: 14px; margin-top: 20px; }
.observation-file-preview { width: min(100%, 780px); max-height: 620px; object-fit: contain; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: var(--shadow); }
.observation-evaluation-section{display:grid;gap:14px;margin:22px 0;padding:18px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-soft)}.observation-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.observation-section-heading h2{margin:0;font-size:1.08rem}.observation-section-heading p{margin:4px 0 0;color:var(--color-muted);font-size:.8rem}.observation-situations{display:grid;gap:10px}.observation-situation{display:grid;grid-template-columns:170px 140px minmax(260px,1fr) 40px;align-items:end;gap:10px;padding:13px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.observation-situation label{margin:0}.observation-situation-description textarea{min-height:74px}.observation-situation-remove{margin-bottom:2px;color:var(--color-danger)}.observation-situations-empty{margin:0}.observation-mastery-grid{display:grid;gap:10px}.observation-mastery-item{display:grid;grid-template-columns:minmax(250px,1fr) minmax(500px,1.5fr);align-items:center;gap:14px;margin:0;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.observation-mastery-item legend{display:flex;align-items:center;gap:9px;width:100%;padding:0;font-size:.82rem;font-weight:750}.observation-mastery-item legend span{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border-radius:8px;color:#fff;background:var(--color-primary);font-size:.72rem}.observation-mastery-options{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.observation-mastery-options label{margin:0;cursor:pointer}.observation-mastery-options input{position:absolute;opacity:0;pointer-events:none}.observation-mastery-options span{display:grid;min-height:38px;place-items:center;padding:6px;border:1px solid var(--color-border);border-radius:9px;color:var(--color-muted);background:var(--color-control);font-size:.7rem;text-align:center}.observation-mastery-options input:checked+span{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.observation-mastery-options input:focus-visible+span{box-shadow:0 0 0 3px var(--color-focus)}
@media(max-width:850px){.observation-situation{grid-template-columns:1fr 1fr 40px}.observation-situation-description{grid-column:1/3}.observation-mastery-item{grid-template-columns:1fr}.observation-mastery-options{grid-template-columns:1fr 1fr}}@media(max-width:520px){.observation-section-heading{display:grid}.observation-situation{grid-template-columns:1fr 40px}.observation-situation label{grid-column:1}.observation-situation-description{grid-column:1/3}.observation-situation-remove{grid-column:2;grid-row:1}.observation-mastery-options{grid-template-columns:1fr}}
.downloads { margin-top: 24px; display: grid; gap: 10px; }
.downloads a, .back-link { color: var(--color-primary-hover); font-weight: 700; }
.downloads a:hover i, .back-link:hover i { transform: translateX(-3px); }

.profile-hero {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  padding: 26px;
  margin: 16px 0 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.profile-hero h1 { margin-bottom: 6px; }
.referee-profile-detail{padding:42px 0 18px}.referee-profile-detail>.back-link{display:inline-flex;margin-bottom:20px}.referee-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(22px,4vw,36px);border-radius:var(--radius-large);color:#fff;background:linear-gradient(125deg,#172337,#263753 68%,#75492f);box-shadow:var(--shadow)}.referee-profile-identity{display:flex;align-items:center;gap:20px}.referee-profile-avatar{display:grid;flex:0 0 76px;width:76px;height:76px;place-items:center;border:2px solid #ffffff40;border-radius:22px;color:#fff;background:#ef7d22;font-size:1.65rem;font-weight:900;letter-spacing:.03em}.referee-profile-hero h1{margin:2px 0 9px;font-size:clamp(1.75rem,3vw,2.8rem)}.referee-profile-hero .eyebrow{display:flex;align-items:center;gap:7px}.referee-profile-badges{display:flex;flex-wrap:wrap;gap:7px}.referee-profile-badges .badge{border:1px solid #ffffff30;color:#fff;background:#ffffff16}.referee-profile-actions{justify-content:flex-end}.referee-profile-actions .secondary{border-color:#ffffff35;color:#fff;background:#ffffff12}.referee-profile-actions .secondary:hover{background:#ffffff22}.referee-profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.referee-profile-facts .designation-fact{margin:0}.referee-club-fact{grid-column:span 2;grid-template-columns:44px minmax(0,1fr) auto}.referee-club-fact small{white-space:pre-line}.referee-profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.referee-profile-stats .info-panel{position:relative;overflow:hidden}.referee-profile-stats .info-panel>i{position:absolute;right:15px;top:15px;color:rgba(239,125,34,.22);font-size:1.5rem}.referee-profile-panel{padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow)}.referee-profile-panel>.designation-section-title{margin-bottom:16px}.referee-match-item small{display:block;margin-top:4px;color:var(--color-muted)}.referee-match-item span i,.referee-match-item small i{width:16px;color:var(--color-primary-hover)}
@media(max-width:900px){.referee-profile-hero{align-items:flex-start;flex-direction:column}.referee-profile-actions{justify-content:flex-start}.referee-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.referee-club-fact{grid-column:1/-1}.referee-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.referee-profile-identity{align-items:flex-start}.referee-profile-avatar{width:58px;height:58px;flex-basis:58px;border-radius:17px;font-size:1.25rem}.referee-profile-actions{display:grid;width:100%}.referee-profile-actions .button{justify-content:center}.referee-profile-facts{grid-template-columns:1fr}.referee-club-fact{grid-column:auto;grid-template-columns:44px minmax(0,1fr)}.referee-club-fact>.button{grid-column:1/-1;justify-content:center}.referee-profile-stats{grid-template-columns:1fr 1fr}}
.referee-profile-admin{padding-top:18px;padding-bottom:64px}.referee-profile-admin>.designation-section-title:first-child{margin-bottom:18px}.referee-profile-admin>.form-card{margin-bottom:18px}.referee-admin-title{margin:32px 0 16px;padding-top:24px;border-top:1px solid var(--color-border)}
.stats-grid, .detail-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 18px 0;
}
.stats-grid .info-panel strong { display: block; font-size: 2rem; line-height: 1; color: var(--color-primary-hover); }
.stats-grid .info-panel span { color: var(--color-muted); }
.detail-columns { grid-template-columns: repeat(2, 1fr); align-items: start; }
.section-inner { margin-top: 28px; }

.video-frame {
  aspect-ratio: 16 / 9;
  width: 100%;
  margin: 22px 0;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
  background: #111;
  box-shadow: var(--shadow);
}
.video-frame iframe, .video-frame video { width: 100%; height: 100%; border: 0; display: block; }
.video-quiz { margin-top: 20px; }
.video-quiz h2 { margin: 0; font-size: 1.25rem; }
.quiz-answer {
  width: 100%;
  min-height: 48px;
  padding: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}
.quiz-answer:hover { transform: translateX(3px); border-color: var(--color-primary); }
.quiz-answer.correct { border-color: var(--color-success); background: #e9f6ed; }
.quiz-answer.wrong { border-color: var(--color-danger); background: #f7e8e6; }
.quiz-result {
  padding: 14px;
  border-radius: var(--radius);
  background: rgba(239, 125, 34, 0.1);
  animation: pop-in 180ms ease;
}

.availability-panel, .availability-table {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.availability-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  padding: 16px 18px;
  background: rgba(239, 125, 34, 0.12);
  color: var(--color-text);
  font-weight: 700;
}
.availability-panel-title span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.availability-week { display: grid; }
.availability-week-compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-border);
}
.availability-week-compact .availability-day-row { background: var(--color-surface); }
.availability-panel-compact .availability-panel-title { min-height: 50px; padding-block: 10px; }
.availability-week-compact .availability-day-title { padding: 9px 12px; border: 0; border-left: 3px solid var(--color-primary); }
.availability-week-compact .availability-day-title h2 { font-size: 0.96rem; }
.availability-week-compact .availability-slots {
  grid-template-columns: 1fr;
  gap: 3px;
  padding: 8px 12px 10px;
}
.availability-week-compact .slot-check { min-height: 27px; gap: 7px; font-size: 0.88rem; }
.availability-week-compact .slot-check input { width: 17px; min-height: 17px; }
.availability-week-compact .slot-check small { display: none; }
.availability-panel-compact .availability-actions { padding: 10px 14px 12px; }
.availability-subtitle {
  padding: 16px 28px;
  background: #fff7ef;
  color: var(--color-primary-hover);
  font-weight: 700;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.availability-day-row h2 {
  margin: 0;
  padding: 16px 28px;
  background: #fff3e6;
  color: #121212;
  font-size: 1.08rem;
  font-weight: 800;
  text-transform: capitalize;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  border-left: 4px solid var(--color-primary);
}
.availability-day-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 14px 24px;
  background: #fff3e6;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  border-left: 4px solid var(--color-primary);
}
.availability-day-title h2 {
  padding: 0;
  background: transparent;
  border: 0;
}
.availability-day-row h2 span {
  margin-left: 6px;
  color: var(--color-muted);
  font-size: 0.9rem;
}
.availability-slots, .modal-slots {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 18px 28px;
  background: var(--color-bg);
}
.slot-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 42px;
  font-weight: 500;
}
.slot-check small { color: var(--color-muted); font-weight: 400; }
.slot-check input {
  width: 20px;
  min-height: 20px;
  accent-color: var(--color-primary);
}
.availability-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 28px 22px;
  background: var(--color-bg);
}
.availability-table { margin-top: 26px; }
.availability-table td[colspan] { text-align: center; color: var(--color-muted); }

.referee-future-availabilities { margin-top: 26px; }
.referee-future-availabilities .section-heading { margin-bottom: 14px; }
.referee-future-availabilities .section-heading h2 { margin: 0; }
.referee-availability-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.referee-availability-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 15px; border: 1px solid; border-radius: var(--radius); }
.referee-availability-item.available { border-color: var(--color-available-border); background: var(--color-available-bg); color: var(--color-available-text); }
.referee-availability-item.unavailable { border-color: var(--color-unavailable-border); background: var(--color-unavailable-bg); color: var(--color-unavailable-text); }
.referee-availability-item > i { margin-top: 3px; font-size: 1.15rem; }
.referee-availability-item > div { display: grid; gap: 3px; }
.referee-availability-item span, .referee-availability-item small { color: var(--color-text); }
.referee-availability-item small { overflow-wrap: anywhere; }

.referee-calendar-section {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.referee-calendar-heading, .referee-calendar-nav, .referee-calendar-legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.referee-calendar-heading h2 { margin: 0 0 4px; }
.referee-calendar-heading p { margin: 0; }
.referee-calendar-legend { justify-content: flex-end; flex-wrap: wrap; font-weight: 700; font-size: 0.9rem; }
.referee-calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.referee-calendar-legend i { width: 13px; height: 13px; border-radius: 4px; }
.referee-calendar-legend .available i { background: #2e9d57; }
.referee-calendar-legend .unavailable i { background: #d64545; }
.referee-calendar-nav { margin: 18px 0 10px; }
.referee-calendar-nav strong { text-transform: capitalize; font-size: 1.08rem; }
.referee-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-border);
  gap: 1px;
}
.referee-calendar-weekday { padding: 9px 5px; background: #f3f5f8; text-align: center; font-weight: 800; }
.referee-calendar-day {
  display: flex;
  min-height: 78px;
  padding: 9px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  border: 0;
  border-radius: 0;
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
  text-align: left;
}
.referee-calendar-day:hover:not(:disabled), .referee-calendar-day:focus-visible { outline: 3px solid rgba(239, 125, 34, 0.38); outline-offset: -3px; }
.referee-calendar-day.outside { opacity: 0.58; }
.referee-calendar-day.available { background: var(--color-available-bg); color: var(--color-available-text); }
.referee-calendar-day.unavailable { background: var(--color-unavailable-bg); color: var(--color-unavailable-text); }
.referee-calendar-day.mixed { color: var(--color-text); background: linear-gradient(135deg, var(--color-available-bg) 0 49%, var(--color-unavailable-bg) 51% 100%); }
.referee-calendar-day.today { position: relative; box-shadow: inset 0 0 0 3px var(--color-primary); }
.referee-calendar-day.today span:first-child { display: inline-grid; min-width: 27px; min-height: 27px; place-items: center; border-radius: 999px; background: var(--color-primary); color: white; }
.referee-calendar-day.locked { box-shadow: inset 0 0 0 2px rgba(88, 99, 112, 0.38); }
.referee-calendar-day.today.locked { box-shadow: inset 0 0 0 3px var(--color-primary), inset 0 0 0 5px rgba(88, 99, 112, 0.28); }
.referee-calendar-day.locked::after { content: '\f023'; align-self: flex-end; font-family: 'Font Awesome 6 Free'; font-weight: 900; opacity: 0.62; }
.referee-calendar-day:disabled { cursor: not-allowed; opacity: 0.42; }
.referee-calendar-day span { color: inherit; font-weight: 800; }
.referee-calendar-day small { color: inherit; font-weight: 700; }
.calendar-status-modal { width: min(860px, 100%); }
.calendar-status-body { text-align: center; }
.calendar-status-body p { margin: 0; }
.calendar-status-body [data-calendar-choice-content] { display: grid; gap: 18px; }
.calendar-drag-hint{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 14px;border-radius:11px;color:var(--color-warning-text);background:var(--color-warning-bg)}.calendar-drag-hint i{color:var(--color-primary-hover);font-size:1.1rem}.calendar-slot-bank,.calendar-dropzone{padding:13px;border:2px dashed var(--color-border);border-radius:14px;text-align:left;transition:border-color .15s,background .15s}.calendar-slot-bank>strong{display:block;margin-bottom:9px}.calendar-slot-bank [data-calendar-slot-list]{display:flex;flex-wrap:wrap;gap:8px;min-height:48px}.calendar-status-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calendar-dropzone>header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.calendar-dropzone>header>i{font-size:1.35rem}.calendar-dropzone>header div{display:grid}.calendar-dropzone>header small{color:var(--color-muted)}.calendar-dropzone>[data-calendar-slot-list]{display:grid;align-content:start;gap:8px;min-height:132px}.calendar-dropzone.available{border-color:var(--color-available-border);background:var(--color-available-bg)}.calendar-dropzone.available>header{color:var(--color-available-text)}.calendar-dropzone.unavailable{border-color:var(--color-unavailable-border);background:var(--color-unavailable-bg)}.calendar-dropzone.unavailable>header{color:var(--color-unavailable-text)}.calendar-dropzone.drag-over,.calendar-slot-bank.drag-over{border-color:var(--color-primary);background:var(--color-warning-bg)}.calendar-drag-slot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);background:var(--color-surface);box-shadow:0 3px 9px #1b273514;cursor:grab;text-align:left}.calendar-drag-slot:active{cursor:grabbing}.calendar-drag-slot.dragging{opacity:.4}.calendar-drag-slot>span{display:grid}.calendar-drag-slot small{color:var(--color-muted);font-size:.72rem}.calendar-drag-slot>i:first-child{color:var(--color-muted)}.calendar-drag-slot>i:last-child{color:var(--color-primary-hover);font-size:.75rem}.calendar-drag-slot.available{border-color:var(--color-available-border)}.calendar-drag-slot.unavailable{border-color:var(--color-unavailable-border)}.calendar-save-slots{justify-self:end}
@media(max-width:640px){.calendar-status-columns{grid-template-columns:1fr}.calendar-dropzone>[data-calendar-slot-list]{min-height:72px}.calendar-save-slots{width:100%;justify-content:center}.calendar-drag-hint{align-items:flex-start;text-align:left}}
.calendar-drag-slot{touch-action:none;-webkit-user-select:none;user-select:none}.calendar-drag-ghost{position:fixed!important;z-index:10000;width:min(260px,70vw);margin:0;pointer-events:none;opacity:.92;transform:translate(-50%,-50%) rotate(2deg);box-shadow:0 14px 35px #11182755}
.calendar-slot-picker { margin: 0; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius); text-align: left; }
.calendar-slot-picker legend { margin-left: 12px; padding: 0 6px; font-weight: 800; }
.calendar-slot-picker .modal-slots { padding: 12px 16px; }
.calendar-comment-field { text-align: left; }
.calendar-status-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.calendar-status-choice {
  display: flex;
  min-height: 112px;
  padding: 18px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 2px solid transparent;
  border-radius: var(--radius);
  cursor: pointer;
  font-size: 1rem;
}
.calendar-status-choice i { font-size: 1.8rem; }
.calendar-status-choice.available { background: #dff3e5; border-color: #72bd8b; color: #0b5529; }
.calendar-status-choice.unavailable { background: #f8dede; border-color: #de8585; color: #822020; }
.calendar-lock-message { display: grid; justify-items: center; gap: 10px; padding: 20px; border: 1px solid #e0a06b; border-radius: var(--radius); background: #fff3e6; color: #7b3d0c; }
.calendar-lock-message[hidden], [data-calendar-choice-content][hidden] { display: none; }
.calendar-lock-message > i { font-size: 2rem; }
.calendar-lock-message p { max-width: 48ch; }

.designation-calendar-section {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.designation-calendar-day.has-matches {
  background: linear-gradient(145deg, #edf4ff, #dce9ff);
  color: #244b87;
  cursor: pointer;
  opacity: 1;
  box-shadow: inset 0 0 0 2px rgba(57, 105, 176, 0.24);
}
.designation-calendar-day.has-matches:hover { background: linear-gradient(145deg, #fff4e8, #ffe1c2); color: #7b3d0c; box-shadow: inset 0 0 0 3px var(--color-primary); }
.designation-calendar-day.has-matches.today { box-shadow: inset 0 0 0 3px var(--color-primary); }
.designation-match-count { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border-radius: 999px; background: rgba(36, 75, 135, 0.12); color: inherit; font-weight: 800; }
.match-day-modal { width: min(720px, 100%); }
.match-day-list { display: grid; gap: 10px; }
.match-day-choice {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 88px;
  padding: 14px 18px;
  border: 2px solid #b9cbea;
  border-radius: var(--radius);
  background: linear-gradient(145deg, #f4f8ff, #e5efff);
  color: var(--color-text);
  text-decoration: none;
}
.match-day-choice:hover { border-color: var(--color-primary); background: #fff5eb; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(54, 73, 96, 0.12); }
.match-day-choice-icon { display: inline-grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: #244b87; color: white; font-size: 1.35rem; }
.match-day-choice-content { display: grid; gap: 8px; min-width: 0; }
.match-day-choice-content > strong { overflow-wrap: anywhere; }
.match-day-choice-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--color-muted); }
.match-day-choice-meta > span:not(.badge) { display: inline-flex; align-items: center; gap: 5px; }
.match-day-choice > i { color: var(--color-primary); font-size: 1.15rem; }

.staff-match-calendar-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 0; }
.availability-reopen-panel { display: grid; gap: 18px; margin: 22px 0; padding: 18px; border: 1px solid var(--color-border); border-left: 5px solid var(--color-primary); border-radius: var(--radius); background: var(--color-surface); box-shadow: var(--shadow); }
.availability-reopen-panel.active { border-left-color: var(--color-success); background: #eef9f1; }
.availability-reopen-panel p { margin: 6px 0 0; color: var(--color-muted); }
.availability-reopen-panel form { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; }
.availability-reopen-panel fieldset { display: flex; gap: 10px; min-width: 0; padding: 10px 12px 12px; border: 1px solid var(--color-border); border-radius: var(--radius); }
.availability-reopen-panel legend { padding: 0 5px; font-size: .82rem; font-weight: 800; color: var(--color-muted); }
.availability-reopen-panel label { min-width: 145px; }
.availability-reopen-panel input { width: 100%; }
.staff-match-calendar-nav > strong { font-size: 1.25rem; text-transform: capitalize; }
.staff-match-days { display: grid; gap: 18px; }
.staff-match-days > .empty-state { grid-column: 1 / -1; }
.staff-match-day-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.staff-match-day-row[data-day-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.staff-match-day-row[data-day-count="3"] .staff-day-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.staff-match-day-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 2px solid #c8d4e3;
  border-radius: calc(var(--radius) + 4px);
  background: linear-gradient(145deg, #fff, #f3f7fb);
  color: var(--color-text);
  cursor: pointer;
  text-align: left;
  box-shadow: 0 7px 22px rgba(39, 55, 74, 0.08);
  transition: 160ms ease;
}
.staff-match-day-card:hover { border-color: var(--color-primary); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(39, 55, 74, 0.15); }
.staff-match-day-card.today { border-color: var(--color-primary); }
.staff-match-day-card > header { display: flex; align-items: center; gap: 12px; }
.staff-match-day-card > header > span:last-child { display: grid; gap: 4px; }
.staff-match-day-card > header small { color: var(--color-muted); }
.staff-match-day-number { display: inline-grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 14px; background: var(--color-primary); color: white; font-size: 1.3rem; font-weight: 900; }
.staff-day-slot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.staff-day-slot-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 10px; border-radius: var(--radius); background: var(--color-surface-soft); }
.staff-day-slot-summary > strong, .staff-day-slot-summary > small { grid-column: 1 / -1; }
.staff-day-slot-summary > small { color: var(--color-muted); font-size: 0.75rem; }
.staff-day-slot-summary > span { display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 5px; border-radius: 7px; font-weight: 900; }
.staff-day-slot-summary .available { background: #dff3e5; color: #0b5529; }
.staff-day-slot-summary .unavailable { background: #f8dede; color: #822020; }
.staff-availability-modal { width: min(1180px, 100%); max-height: calc(100dvh - 48px); }
.staff-availability-modal > .modal-body { min-height: 0; max-height: calc(100dvh - 116px); overflow-y: auto; overscroll-behavior: contain; }
.staff-day-matches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.staff-day-match-card { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--color-border); border-radius: var(--radius); background: #f4f6f9; }
.staff-day-match-card > span:last-child { display: grid; gap: 3px; min-width: 0; }
.staff-day-match-card small { color: var(--color-muted); }
.staff-day-match-status { display: inline-grid; width: 34px; height: 34px; place-items: center; border-radius: 999px; font-size: 1.2rem; }
.staff-day-match-card.complete .staff-day-match-status { background: #dff3e5; color: #13733a; }
.staff-day-match-card.warning .staff-day-match-status { background: #fff0d8; color: #c56b00; }
.staff-day-match-card.empty .staff-day-match-status { background: #f8dede; color: #b12d2d; }
.staff-day-match-card.warning .staff-day-match-assignment { color: #a65700; font-weight: 800; }
.staff-day-match-card.complete .staff-day-match-assignment { color: #13733a; font-weight: 700; }
.staff-day-match-card.empty .staff-day-match-assignment { color: #9d2929; font-weight: 700; }
.staff-availability-split { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; height: min(58vh, 680px); min-height: 320px; }
.staff-availability-column { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 0; overflow: hidden; border: 2px solid transparent; border-radius: calc(var(--radius) + 3px); }
.staff-availability-column > header { display: flex; align-items: center; gap: 12px; padding: 16px 18px; }
.staff-availability-column > header > i { font-size: 1.8rem; }
.staff-availability-column > header > div { display: grid; }
.staff-availability-column.available { border-color: var(--color-available-border); background: var(--color-available-bg); color: var(--color-available-text); }
.staff-availability-column.unavailable { border-color: var(--color-unavailable-border); background: var(--color-unavailable-bg); color: var(--color-unavailable-text); }
.staff-availability-column.missing { border-color:var(--color-disabled-border);background:var(--color-disabled-bg);color:var(--color-disabled-text); }
.staff-day-slot-summary .missing { color:#596572;background:#e6ebf0;grid-column:1/-1; }
.staff-availability-person-list { display: grid; align-content: start; gap: 10px; min-height: 0; padding: 12px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
.staff-availability-person-list::-webkit-scrollbar { width: 10px; }
.staff-availability-person-list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(73, 89, 105, 0.42); background-clip: padding-box; }
.staff-availability-person { padding: 12px; border-radius: var(--radius); background: rgba(255,255,255,0.72); color: var(--color-text); }
.staff-availability-person > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 9px; }
.staff-availability-person.name-only > header { margin-bottom: 0; }
.staff-availability-person > header small { color: var(--color-muted); }
.staff-person-slots { display: grid; gap: 6px; }
.staff-person-slots > span { display: grid; grid-template-columns: minmax(90px, auto) auto; gap: 4px 12px; padding-top: 6px; border-top: 1px solid rgba(70, 85, 100, 0.15); }
.staff-person-slots small { color: var(--color-muted); text-align: right; }
.staff-person-slots em { grid-column: 1 / -1; font-size: 0.86rem; }
.staff-availability-empty { padding: 18px; text-align: center; font-weight: 700; }

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: start center;
  padding: 8vh 16px 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(0, 0, 0, 0.52);
}
.modal-backdrop[hidden] { display: none; }
body.modal-open { overflow: hidden; }
.availability-modal {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(1000px, 100%);
  max-height: calc(84vh - 24px);
  max-height: calc(84dvh - 24px);
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24);
  animation: pop-in 160ms ease;
}
.modal-title, .modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: rgba(239, 125, 34, 0.12);
  color: var(--color-text);
}
.modal-title button {
  width: 42px;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: var(--color-primary-hover);
  cursor: pointer;
  font-size: 1.6rem;
}
.modal-body {
  display: grid;
  gap: 18px;
  min-height: 0;
  padding: 20px 28px 26px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.availability-date-builder {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.availability-date-builder .muted {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.9rem;
}
.availability-selected-dates {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 34px;
}
.date-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 8px 6px 12px;
  border: 1px solid rgba(19, 115, 51, 0.28);
  border-radius: var(--radius);
  background: #e9f6ed;
  color: #0b4f26;
  font-weight: 700;
}
.date-chip button {
  width: 26px;
  min-height: 26px;
  border: 0;
  border-radius: 999px;
  background: rgba(19, 115, 51, 0.12);
  color: #0b4f26;
  cursor: pointer;
}
.availability-range-fallback {
  padding: 12px 14px;
  border: 1px dashed var(--color-border);
  border-radius: var(--radius);
  background: #fbfcfe;
}
.availability-range-fallback summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--color-primary-hover);
}
.availability-range-fallback .form-grid { margin-top: 12px; }
.availability-slot-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.modal-slots { padding: 10px 0; background: transparent; }
.modal-footer { justify-content: end; }

.availability-staff-page, .availability-calendar-page { width: min(1280px, calc(100% - 32px)); }
.availability-heading { align-items: end; }
.availability-filter-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(140px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.availability-filter-actions {
  display: flex;
  gap: 8px;
}
.availability-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.availability-stat {
  min-height: 96px;
  padding: 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #ffffff, #fbfcfe);
}
.availability-stat span, .availability-stat small {
  display: block;
  color: var(--color-muted);
  font-size: 0.86rem;
}
.availability-stat strong {
  display: block;
  margin-top: 4px;
  font-size: 1.8rem;
  line-height: 1.1;
}
.availability-referee-list {
  display: grid;
  gap: 16px;
}
.availability-referee-card {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.availability-referee-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  background: rgba(239, 125, 34, 0.10);
}
.availability-referee-header h2 {
  margin: 0;
  font-size: 1.2rem;
}
.availability-referee-header p { margin: 4px 0 0; color: var(--color-muted); }
.availability-referee-columns {
  display: grid;
  grid-template-columns: 0.9fr 1.3fr;
  gap: 18px;
  padding: 18px;
}
.availability-referee-columns h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 1rem;
}
.availability-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.availability-chip {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid rgba(239, 125, 34, 0.32);
  border-radius: var(--radius);
  background: #fff7ef;
  font-weight: 700;
}
.availability-mini-table {
  display: grid;
  gap: 8px;
}
.availability-mini-table div {
  display: grid;
  grid-template-columns: 120px 130px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: #fbfcfe;
}
.availability-mini-table small { color: var(--color-muted); }

.availability-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.availability-calendar-toolbar form {
  display: flex;
  gap: 8px;
  align-items: center;
}
.availability-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}
.availability-calendar-head {
  padding: 12px;
  background: rgba(239, 125, 34, 0.12);
  font-weight: 800;
  text-align: center;
  border-bottom: 1px solid var(--color-border);
}
.availability-calendar-day {
  min-height: 150px;
  padding: 10px;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: #fff;
}
.availability-calendar-day.outside {
  background: #f3f6f9;
  color: var(--color-muted);
}
.availability-calendar-day header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  font-weight: 800;
}
.availability-calendar-day header small { color: var(--color-muted); font-weight: 600; }
.calendar-slot {
  display: grid;
  gap: 2px;
  margin-top: 6px;
  padding: 7px 8px;
  border-radius: var(--radius);
  font-size: 0.82rem;
}
.calendar-slot.permanent {
  border: 1px solid rgba(19, 115, 51, 0.24);
  background: #e9f6ed;
}
.calendar-slot.temporary {
  border: 1px solid rgba(239, 125, 34, 0.28);
  background: #fff7ef;
}
.calendar-slot span, .calendar-slot small { color: var(--color-muted); }

@media print {
  body { background: white; }
  .no-print, .site-header, .site-footer, .flash { display: none !important; }
  .page { min-height: 0; }
  .section, .availability-staff-page, .availability-calendar-page { width: 100%; padding: 0; }
  .availability-summary-grid { grid-template-columns: repeat(3, 1fr); }
  .availability-referee-card, .availability-calendar, .availability-stat {
    box-shadow: none;
    break-inside: avoid;
  }
  .availability-calendar-day { min-height: 112px; }
}

@keyframes pop-in {
  from { opacity: 0; transform: translateY(-4px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.flash { width: min(1120px, calc(100% - 32px)); margin: 16px auto 0; padding: 12px 14px; border-radius: var(--radius); font-weight: 600; }
.flash.success { background: #e9f6ed; color: var(--color-success); }
.flash.warning { border: 1px solid color-mix(in srgb, var(--color-warning-text) 45%, transparent); background: var(--color-warning-bg); color: var(--color-warning-text); }
.flash.error { background: #f7e8e6; color: var(--color-danger); }

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 24px clamp(16px, 4vw, 56px);
  color: var(--color-muted);
  border-top: 1px solid var(--color-border);
}

/* File de traitement des candidatures */
.candidature-heading { align-items: end; }
.candidature-heading h1 { margin: 0; }
.candidature-heading .muted { margin: 4px 0 0; }
.result-count { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; background: rgba(239, 125, 34, 0.1); color: var(--color-primary-hover); font-size: 0.86rem; }
.result-count strong { font-variant-numeric: tabular-nums; }
.account-default-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; padding: 14px; border-radius: var(--radius-large); background: rgba(239, 125, 34, 0.09); box-shadow: inset 0 0 0 1px rgba(239, 125, 34, 0.16); }
.account-default-copy { display: flex; align-items: center; gap: 12px; }
.account-default-copy strong, .account-default-copy span { display: block; }
.account-default-copy span { color: var(--color-muted); font-size: 0.86rem; }
.account-default-icon { display: grid !important; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: var(--radius); background: var(--color-surface); color: var(--color-primary-hover) !important; box-shadow: 0 1px 3px rgba(22, 22, 22, 0.08); }
.account-default-panel label { flex: 0 0 210px; }
.account-default-panel select { min-height: 42px; background: var(--color-surface); font-weight: 600; }
.candidature-filters { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; padding: 14px; border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.candidature-selection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 10px 14px; border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); }
.search-field { position: relative; flex: 1; min-width: 220px; }
.search-field > i { position: absolute; z-index: 1; left: 14px; top: 50%; color: var(--color-muted); transform: translateY(-50%); pointer-events: none; }
.search-field input { padding-left: 40px; }
.toggle-check { position: relative; display: flex; grid-template-columns: none; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border-radius: var(--radius); cursor: pointer; white-space: nowrap; transition: background-color 160ms cubic-bezier(0.23, 1, 0.32, 1); }
.toggle-check:hover { background: rgba(239, 125, 34, 0.08); }
.toggle-check input { width: 20px; min-height: 20px; accent-color: var(--color-primary); }
.candidature-list { display: grid; gap: 16px; }
.candidature-card { overflow: hidden; border-radius: var(--radius-large); background: var(--color-surface); box-shadow: var(--shadow); animation: content-in 240ms cubic-bezier(0.23, 1, 0.32, 1) both; }
.candidature-card:nth-child(2) { animation-delay: 35ms; }
.candidature-card:nth-child(3) { animation-delay: 70ms; }
.candidature-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 20px 14px; }
.candidature-identity { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.candidature-selector { padding-top: 2px; }
.candidature-selector input { width: 20px; min-height: 20px; accent-color: var(--color-primary); }
.candidature-card h2 { margin: 0 0 5px; font-size: 1.12rem; }
.candidature-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--color-muted); font-size: 0.88rem; }
.candidature-meta i { width: 16px; color: var(--color-primary-hover); }
.candidature-meta a:hover { color: var(--color-text); }
.candidature-badges { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.badge.status { background: #f0f3f7; color: #475467; }
.candidature-message { margin: 0 20px 16px; padding: 12px 14px; border-left: 3px solid var(--color-primary); border-radius: 0 var(--radius) var(--radius) 0; background: var(--color-surface-soft); color: #344054; }
.candidature-actions { padding: 16px 20px 18px; background: var(--color-surface-soft); border-top: 1px solid rgba(102, 112, 133, 0.13); }
.candidature-update-form { display: grid; grid-template-columns: 170px minmax(220px, 1fr) auto; align-items: end; gap: 12px; }
.candidature-update-form label { font-size: 0.82rem; color: var(--color-muted); }
.candidature-update-form input, .candidature-update-form select { min-height: 42px; background: var(--color-surface); }
.candidature-account-actions { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(102, 112, 133, 0.13); }
.create-account-form { display: flex; align-items: end; gap: 8px; }
.create-account-form input { min-height: 40px; background: var(--color-surface); }
.button.danger.ghost { color: var(--color-danger); background: transparent; border-color: transparent; box-shadow: none; }
.button.danger.ghost:hover { background: #fdf0ef; border-color: rgba(180, 35, 24, 0.16); }
.candidature-empty { display: grid; justify-items: center; gap: 4px; padding: 40px 20px; text-align: center; }
.candidature-empty > i { margin-bottom: 6px; color: var(--color-success); font-size: 1.7rem; }
.candidature-empty span { color: var(--color-muted); }

@keyframes content-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
.whatsapp-connection-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; margin: 22px 0; padding: 20px; border: 1px solid var(--color-border); border-left: 5px solid #25d366; border-radius: var(--radius); background: var(--color-surface); box-shadow: var(--shadow); }
.whatsapp-connection-card h2 { margin-top: 0; }
.whatsapp-connection-card h2 i { color: #16a34a; }
.whatsapp-connection-card [data-whatsapp-qr] { text-align: center; }
.whatsapp-connection-card [data-whatsapp-qr] img { width: min(260px, 100%); border-radius: 10px; background: white; }
.whatsapp-connection-card .actions { grid-column: 1 / -1; }
.whatsapp-add-group { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 10px; padding-top: 14px; border-top: 1px solid var(--color-border); }
.whatsapp-add-group small { grid-column: 1 / -1; color: var(--color-muted); }
.whatsapp-send-grid { margin-block: 24px; }
.whatsapp-send-grid .form-card form { display: grid; gap: 14px; }
.whatsapp-weekdays { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
.analytics-page { width: min(1380px, calc(100% - 32px)); }
.analytics-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:30px; color:#fff; border-radius:22px; background:linear-gradient(125deg,#151d2a 0%,#263246 58%,#ef7d22 160%); box-shadow:var(--shadow); }
.analytics-hero h1 { margin:3px 0 4px; font-size:clamp(2rem,4vw,3.3rem); line-height:1; }
.analytics-hero p { margin:0; color:#ced7e4; }
.analytics-back { display:inline-flex; gap:8px; align-items:center; margin-bottom:18px; color:#fff; font-size:.9rem; }
.analytics-eyebrow { margin:0 0 5px!important; color:var(--color-primary)!important; font-size:.72rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.analytics-period { display:flex; align-items:center; gap:12px; min-width:max-content; padding:13px 16px; border:1px solid #ffffff2e; border-radius:12px; background:#ffffff12; font-size:.88rem; }
.analytics-period i { color:#ffb477; font-size:1.2rem; }
.analytics-filters { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,minmax(125px,1fr)) auto; gap:12px; align-items:end; margin:-1px 18px 24px; padding:18px; border:1px solid var(--color-border); border-radius:0 0 16px 16px; background:var(--color-surface); box-shadow:var(--shadow); }
.analytics-filters label { display:grid; gap:6px; color:var(--color-muted); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.analytics-filters :is(input,select) { min-width:0; }
.analytics-filter-actions { display:flex; gap:8px; }
.analytics-shortcuts { grid-column:1/-1; display:flex; gap:7px; padding-top:5px; }
.analytics-shortcuts button { padding:6px 10px; border:1px solid var(--color-border); border-radius:999px; background:var(--color-surface-soft); color:var(--color-muted); cursor:pointer; font:inherit; font-size:.77rem; }
.analytics-shortcuts button:hover { border-color:var(--color-primary); color:var(--color-primary); }
.analytics-filters .analytics-draft-filter{display:flex;align-items:center;gap:9px;min-height:46px;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:var(--color-control);cursor:pointer;text-transform:none;letter-spacing:0}.analytics-draft-filter:has(input:checked){border-color:var(--color-primary);background:var(--color-warning-bg)}.analytics-draft-filter input{width:18px!important;height:18px!important;min-height:18px!important;margin:0;padding:0;accent-color:var(--color-primary)}.analytics-draft-filter span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 6px}.analytics-draft-filter i{grid-row:1/3;color:var(--color-primary)}.analytics-draft-filter strong{font-size:.72rem;line-height:1.2}.analytics-draft-filter small{color:var(--color-muted);font-size:.6rem;font-weight:500;line-height:1.2}
.analytics-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.analytics-kpi { display:flex; align-items:center; gap:14px; min-width:0; padding:20px; border:1px solid var(--color-border); border-radius:16px; background:var(--color-surface); box-shadow:var(--shadow); }
.analytics-kpi.featured { color:#fff; border-color:#e96c0d; background:linear-gradient(145deg,#ef7d22,#d85e08); }
.analytics-kpi small,.analytics-kpi p { display:block; margin:0; color:var(--color-muted); font-size:.76rem; }
.analytics-kpi.featured small,.analytics-kpi.featured p { color:#fffde0; }
.analytics-kpi strong { display:block; margin:2px 0; font-size:1.75rem; line-height:1; }
.analytics-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:12px; color:#157347; background:#e2f4e9; }
.analytics-icon.warning { color:#9a6500; background:#fff1cc; }.analytics-icon.danger{color:#b42318;background:#fee8e6}.analytics-icon.blue{color:#2463a7;background:#e5f0ff}.analytics-icon.violet{color:#7141a7;background:#f0e7ff}.analytics-kpi.featured .analytics-icon{color:#ef7d22;background:#fff}
.analytics-tabs { position:sticky; top:76px; z-index:5; display:flex; gap:6px; width:max-content; margin:0 auto 18px; padding:5px; border:1px solid var(--color-border); border-radius:999px; background:color-mix(in srgb,var(--color-surface) 92%,transparent); box-shadow:var(--shadow); backdrop-filter:blur(10px); }
.analytics-tabs a { padding:8px 15px; border-radius:999px; color:var(--color-muted); font-size:.85rem; font-weight:600; }.analytics-tabs a:hover{color:#fff;background:var(--color-primary)}
.analytics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; scroll-margin-top:130px; }.analytics-card{min-width:0;padding:22px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow)}.analytics-card.span-2{grid-column:1/-1}.analytics-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.analytics-card h2{margin:0;font-size:1.08rem}.analytics-card header p:not(.analytics-eyebrow){max-width:720px;margin:5px 0 0;color:var(--color-muted);font-size:.8rem}.analytics-legend{color:var(--color-muted);font-size:.76rem}.analytics-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--color-primary)}
.analytics-chart { display:grid; grid-template-columns:repeat(var(--columns),minmax(34px,1fr)); align-items:end; gap:8px; height:230px; padding-top:22px; overflow-x:auto; }.analytics-chart-column{display:grid;grid-template-rows:18px 1fr 22px;align-items:end;height:100%;text-align:center}.analytics-chart-column span{color:var(--color-muted);font-size:.68rem}.analytics-chart-column i{display:block;width:min(28px,70%);min-height:3px;margin:0 auto;border-radius:6px 6px 2px 2px;background:linear-gradient(#ffa65f,var(--color-primary));transition:height .3s}.analytics-chart.traffic .analytics-chart-column i{background:linear-gradient(#7db5ff,#3275c7)}.analytics-chart-column small{padding-top:6px;color:var(--color-muted);font-size:.65rem}
.analytics-bars{display:grid;gap:15px;max-height:330px;overflow:auto}.analytics-bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:.82rem}.analytics-bar-row small{color:var(--color-muted);font-size:.7rem}.analytics-bar{height:7px;overflow:hidden;border-radius:99px;background:var(--color-control)}.analytics-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),#ffab67)}.analytics-bar.secondary i{background:linear-gradient(90deg,#316fb4,#76adf0)}.analytics-bars.compact{gap:12px}
.analytics-table-card{margin-bottom:16px;scroll-margin-top:130px}.analytics-table-card input[type=search]{width:min(280px,100%)}.analytics-table-wrap{overflow:auto}.analytics-table{width:100%;border-collapse:collapse;font-size:.84rem}.analytics-table th{padding:10px 12px;color:var(--color-muted);font-size:.7rem;text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.analytics-table td{padding:12px;border-bottom:1px solid var(--color-border)}.analytics-table tbody tr:hover{background:var(--color-surface-soft)}.analytics-table td a{display:flex;align-items:center;gap:9px;color:var(--color-text)}.analytics-avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#a64c08;background:#ffead8;font-size:.68rem;font-weight:700}.analytics-rate{display:inline-block;min-width:48px;padding:4px 7px;text-align:center;border-radius:99px;font-weight:700}.analytics-rate.good{color:#137333;background:#e3f5e9}.analytics-rate.average{color:#946200;background:#fff2cf}.analytics-rate.low{color:#a52b22;background:#fee9e7}
.analytics-ranking{display:grid;gap:2px;margin:0;padding:0;list-style:none}.analytics-ranking li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--color-border)}.analytics-ranking li>span{display:flex;align-items:center;gap:10px;min-width:0}.analytics-ranking b{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:var(--color-control);font-size:.7rem}.analytics-ranking li span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.analytics-ranking small{display:block;color:var(--color-muted);font-size:.68rem}.analytics-ranking strong{color:var(--color-primary)}
.analytics-hour-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.analytics-hour-grid span{display:grid;aspect-ratio:1;place-items:center;border-radius:7px;background:var(--color-control);color:var(--color-muted);font-size:.68rem}.analytics-hour-grid .level-1{background:#ffe9d7;color:#a84f0c}.analytics-hour-grid .level-2{background:#ffc998;color:#7e3600}.analytics-hour-grid .level-3{background:#f59950;color:#fff}.analytics-hour-grid .level-4{background:var(--color-primary);color:#fff}.analytics-empty{padding:30px 12px;color:var(--color-muted);text-align:center;font-size:.84rem}
.analytics-method{display:flex;gap:12px;margin-top:16px;padding:16px 18px;border:1px solid #b9d5f3;border-radius:14px;color:#244c78;background:#edf6ff;font-size:.8rem}.analytics-method i{margin-top:3px}.analytics-method p{margin:3px 0 0;line-height:1.55}
@media(max-width:1050px){.analytics-kpis{grid-template-columns:repeat(3,1fr)}.analytics-filters{grid-template-columns:repeat(2,1fr)}.analytics-filter-actions{grid-column:1/-1}.analytics-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.analytics-page{width:min(100% - 20px,1380px)}.analytics-hero{padding:22px;border-radius:16px}.analytics-period{min-width:0;width:100%}.analytics-filters{grid-template-columns:1fr;margin:0 0 16px;border-radius:0 0 14px 14px}.analytics-filter-actions{grid-column:auto}.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-kpi{padding:15px}.analytics-kpi.featured{grid-column:1/-1}.analytics-grid{grid-template-columns:1fr}.analytics-card.span-2{grid-column:auto}.analytics-tabs{top:64px;max-width:100%;overflow:auto}.analytics-tabs a{padding:7px 11px}.analytics-card{padding:16px}.analytics-card>header{flex-direction:column}.analytics-chart{height:190px}.analytics-table{min-width:700px}}
.observation-match-field { display:grid; gap:7px; align-content:start; }
.observation-register{display:grid;gap:18px}.observation-referee-group{overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow)}.observation-referee-group>header{padding:13px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface-soft)}.observation-referee-group>header a{display:flex;align-items:center;gap:11px;width:max-content;color:var(--color-text)}.observation-referee-group>header a>span:last-child{display:grid}.observation-referee-group>header small{color:var(--color-muted);font-size:.72rem}.observation-referee-group .list-stack{gap:0}.observation-referee-group .list-item{border:0;border-bottom:1px solid var(--color-border);border-radius:0;box-shadow:none}.observation-referee-group .list-item:last-child{border-bottom:0}.observation-register-item p{max-width:720px;margin:6px 0 0;color:var(--color-muted);font-size:.78rem}
.observation-match-field>span,.observation-match-filters label { color:var(--color-muted); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.observation-match-trigger { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; min-height:58px; padding:9px 12px; border:1px solid var(--color-border); border-radius:var(--radius); color:var(--color-text); background:var(--color-control); cursor:pointer; text-align:left; font:inherit; }
.observation-match-trigger:hover { border-color:var(--color-primary); box-shadow:0 0 0 3px var(--color-focus); }
.observation-match-trigger>i:first-child { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; color:#fff; background:var(--color-primary); }
.observation-match-trigger>i:last-child { color:var(--color-muted); }.observation-match-trigger span{min-width:0}.observation-match-trigger strong,.observation-match-trigger small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.observation-match-trigger small{margin-top:2px;color:var(--color-muted);font-size:.72rem}
.observation-match-dialog { width:min(920px,calc(100% - 28px)); max-height:min(820px,calc(100vh - 28px)); padding:0; border:0; border-radius:18px; color:var(--color-text); background:var(--color-surface); box-shadow:0 25px 80px #0006; }
.observation-match-dialog::backdrop { background:#111827b5; backdrop-filter:blur(4px); }.observation-match-dialog-shell{display:flex;flex-direction:column;max-height:min(820px,calc(100vh - 28px))}.observation-match-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 16px;border-bottom:1px solid var(--color-border)}.observation-match-dialog h2{margin:0;font-size:1.35rem}.observation-match-dialog header p:not(.analytics-eyebrow){margin:4px 0 0;color:var(--color-muted);font-size:.82rem}.icon-button{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);background:var(--color-control);cursor:pointer}
.observation-match-filters{display:grid;grid-template-columns:1fr 1fr 150px 170px;gap:10px;padding:16px 24px;border-bottom:1px solid var(--color-border);background:var(--color-surface-soft)}.observation-match-filters label{display:grid;gap:5px}.observation-match-results{display:grid;gap:9px;padding:16px 24px 24px;overflow-y:auto}.observation-match-card{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(100px,auto);align-items:center;gap:14px;width:100%;padding:12px;border:1px solid var(--color-border);border-radius:13px;color:var(--color-text);background:var(--color-surface);cursor:pointer;text-align:left;font:inherit}.observation-match-card:hover,.observation-match-card.selected{border-color:var(--color-primary);background:#fff8f2;box-shadow:0 0 0 2px var(--color-focus)}.observation-match-card.none{grid-template-columns:42px 1fr;color:var(--color-muted);border-style:dashed}.observation-match-card.none>i{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--color-control)}.observation-match-date{display:grid;place-items:center;padding:7px;border-radius:10px;color:#fff;background:var(--color-primary)}.observation-match-date b{font-size:1.2rem;line-height:1}.observation-match-date small{text-transform:uppercase;font-size:.62rem}.observation-match-teams{display:grid;min-width:0}.observation-match-teams strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.observation-match-teams i{margin:2px 0;color:var(--color-muted);font-size:.67rem;font-style:normal}.observation-match-meta{text-align:right}.observation-match-meta b,.observation-match-meta small{display:block}.observation-match-meta b{color:var(--color-primary);font-size:.78rem}.observation-match-meta small{margin-top:3px;color:var(--color-muted);font-size:.7rem}
@media(max-width:760px){.observation-match-filters{grid-template-columns:1fr 1fr}.observation-match-card{grid-template-columns:48px minmax(0,1fr)}.observation-match-meta{grid-column:2;text-align:left}.observation-match-dialog header,.observation-match-filters,.observation-match-results{padding-left:15px;padding-right:15px}}
.pdf-preview-dialog { width:min(1180px,calc(100% - 24px)); height:min(900px,calc(100vh - 24px)); padding:0; border:0; border-radius:16px; color:var(--color-text); background:var(--color-surface); box-shadow:0 30px 90px #0008; }
.pdf-preview-dialog::backdrop { background:#0c1420c7; backdrop-filter:blur(5px); }.pdf-preview-shell{display:grid;grid-template-rows:auto 1fr;height:100%}.pdf-preview-shell>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.pdf-preview-shell>header>div:first-child{display:grid}.pdf-preview-shell>header small{color:var(--color-muted);font-size:.75rem}.pdf-preview-shell iframe{width:100%;height:100%;border:0;background:#4a4a4a}.pdf-preview-loading{display:grid;grid-row:2;place-items:center;align-content:center;gap:12px;color:var(--color-muted);background:var(--color-surface-soft)}.pdf-preview-loading i{color:var(--color-primary);font-size:1.7rem}.pdf-preview-shell iframe[hidden],.pdf-preview-loading[hidden]{display:none}.pdf-preview-shell .actions{margin:0}
.observation-pdf-frame{display:block;width:100%;height:min(78vh,980px);min-height:620px;margin-top:18px;border:1px solid var(--color-border);border-radius:var(--radius-large);background:#4a4a4a;box-shadow:var(--shadow)}
@media(max-width:650px){.pdf-preview-dialog{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.pdf-preview-shell>header{align-items:flex-start}.pdf-preview-shell>header small{display:none}.pdf-preview-shell .button{font-size:0}.pdf-preview-shell .button i{margin:0;font-size:1rem}}
.distribution-page{width:min(1420px,calc(100% - 32px))}.distribution-filters{display:flex;align-items:end;gap:12px;margin:18px 0;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow)}.distribution-filters label{display:grid;gap:6px;color:var(--color-muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.distribution-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.distribution-summary span{display:flex;align-items:baseline;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:.78rem}.distribution-summary strong{color:var(--color-text);font-size:1rem}.distribution-table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:var(--shadow)}.distribution-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:.82rem}.distribution-table th{padding:12px;color:var(--color-muted);background:var(--color-surface-soft);border-bottom:1px solid var(--color-border);text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.distribution-table td{padding:12px;border-bottom:1px solid var(--color-border);vertical-align:middle}.distribution-table td small{display:block;margin-top:3px;color:var(--color-muted)}.distribution-table tbody tr{transition:opacity .2s,background .2s}.distribution-table tbody tr.completed{opacity:.55;background:var(--color-surface-soft)}.distribution-table tbody tr.completed td:nth-child(3){text-decoration:line-through}.distribution-number{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:7px;color:#225d3b;background:#e4f4ea;font-weight:700;white-space:nowrap}.distribution-number.missing{color:#9b3b2f;background:#fdeae7}.distribution-match-link{transition:color .16s,background .16s,transform .16s}.distribution-match-link i{font-size:.62rem;opacity:.65}.distribution-match-link:hover,.distribution-match-link:focus-visible{color:var(--color-primary-hover);background:var(--color-warning-bg);transform:translateY(-1px)}.distribution-check{display:inline-flex;cursor:pointer}.distribution-check input{position:absolute;opacity:0;pointer-events:none}.distribution-check span{display:grid;width:34px;height:34px;place-items:center;border:2px solid var(--color-border);border-radius:10px;color:transparent;background:var(--color-control);transition:.2s}.distribution-check input:checked+span{border-color:var(--color-success);color:#fff;background:var(--color-success)}.distribution-check:hover span{border-color:var(--color-primary)}
.distribution-save-status{min-width:70px;margin-top:5px!important;font-size:.65rem;text-align:center}.distribution-check:has(input:disabled){cursor:wait;opacity:.65}
.distribution-change-note{max-width:190px;color:#a65700!important;font-size:.7rem!important;font-weight:700;line-height:1.35}.distribution-change-note:empty{display:none}.distribution-change-note i{margin-right:3px}
.distribution-table tbody tr.distribution-removal-pending{opacity:1;background:#fff3df;box-shadow:inset 5px 0 #ed8b18}.distribution-table tbody tr.distribution-removal-pending td:nth-child(3){text-decoration:none}.distribution-removal-summary{border-color:color-mix(in srgb,var(--color-warning-text) 42%,var(--color-border))!important;color:var(--color-warning-text)!important;background:var(--color-warning-bg)!important}.distribution-removal-summary strong{color:var(--color-warning-text)}.distribution-removal-title{display:block;color:#9a4e00;font-size:.76rem}.distribution-removal-check{display:block;margin-top:8px;cursor:pointer}.distribution-removal-check input{margin-right:6px}.distribution-removal-check span{color:#793f00;font-size:.72rem;font-weight:800}.referee-assignment-info{display:block;margin-top:5px;padding:6px 8px;border-radius:7px;color:#763c00!important;background:#fff0d8;font-weight:700}.audit-page{width:min(1500px,calc(100% - 32px))}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:18px}.audit-page table{min-width:1100px}.audit-page td small{display:block;color:var(--color-muted)}.audit-page code{font-size:.72rem;white-space:normal}.audit-page pre{max-width:420px;max-height:220px;overflow:auto;white-space:pre-wrap;font-size:.68rem}
.distribution-double{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:5px 8px;border:1px solid #f0b56c;border-radius:8px;color:#8a4800;background:#fff0d8;font-size:.7rem;font-weight:800;white-space:nowrap}.distribution-double i{color:#e56f00}
.distribution-mail-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:18px;border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--color-border));border-radius:16px;background:linear-gradient(120deg,var(--color-surface),var(--color-warning-bg));box-shadow:var(--shadow)}.distribution-mail-panel>div{display:flex;align-items:center;gap:13px}.distribution-mail-panel p{margin:3px 0 0;color:var(--color-muted);font-size:.82rem}.distribution-mail-icon{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;border-radius:12px;color:#fff;background:var(--color-primary)}.distribution-mail-panel form{display:grid;justify-items:center;gap:4px;flex:0 0 auto}.distribution-mail-panel form small{color:var(--color-muted);font-size:.65rem}.distribution-mail-panel button:disabled{cursor:not-allowed;opacity:.55}
.mailing-page{width:min(1250px,calc(100% - 32px))}.mailing-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;align-items:start}.mailing-composer{display:grid;gap:16px;padding:22px}.mailing-composer>label{display:grid;gap:7px;font-weight:700}.mailing-composer label small{color:var(--color-muted);font-weight:400}.mailing-step{display:flex;align-items:center;gap:11px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.mailing-step>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;color:#fff;background:var(--color-primary);font-weight:800}.mailing-step div{display:grid}.mailing-step small{color:var(--color-muted)}.mailing-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:250px;padding:8px;overflow:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft)}.mailing-recipient-list>label{display:flex;align-items:center;gap:9px;padding:9px;border-radius:9px;background:var(--color-surface);cursor:pointer}.mailing-recipient-list>label:has(input:checked){outline:2px solid var(--color-primary);background:var(--color-warning-bg)}.mailing-recipient-list input{width:18px;min-height:18px;accent-color:var(--color-primary)}.mailing-recipient-list span{display:grid;min-width:0;font-size:.78rem}.mailing-recipient-list small{overflow:hidden;text-overflow:ellipsis}.mailing-selection-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;color:var(--color-primary-hover);background:var(--color-warning-bg);font-size:.82rem}.mailing-history{padding:20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow)}.mailing-history h2{margin:0}.mailing-log{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:12px 0;border-bottom:1px solid var(--color-border)}.mailing-log:last-child{border:0}.mailing-log>div{display:grid;min-width:0}.mailing-log span,.mailing-log small{color:var(--color-muted);font-size:.72rem;overflow-wrap:anywhere}.mailing-log-status{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:#fff!important;background:var(--color-success)}.mailing-log-status.failed{background:var(--color-danger)}.mailing-error{color:var(--color-danger)!important}.mailing-alert{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:14px;border-radius:12px;color:var(--color-danger);background:var(--color-danger-bg)}.mailing-alert div{display:grid}
.mailing-editor-field{display:grid;gap:7px}.mailing-editor-label{font-weight:700}.mailing-editor-field>small{color:var(--color-muted)}.mailing-editor{overflow:hidden;border:1px solid var(--color-border);border-radius:13px;background:#fff;box-shadow:inset 0 1px 2px #00000008}.mailing-editor:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.mailing-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px;border-bottom:1px solid var(--color-border);background:#f7f8fa}.mailing-editor-toolbar select{width:auto;min-height:34px;padding:5px 28px 5px 8px;border-radius:7px;font-size:.72rem}.mailing-toolbar-group{display:flex;overflow:hidden;border:1px solid var(--color-border);border-radius:7px}.mailing-editor-toolbar button{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:7px;color:#42505c;background:transparent;cursor:pointer}.mailing-toolbar-group button{border-radius:0}.mailing-toolbar-group button+button{border-left:1px solid var(--color-border)}.mailing-editor-toolbar button:hover,.mailing-editor-toolbar button:focus-visible{color:var(--color-primary-hover);background:var(--color-warning-bg)}.mailing-color-tool{position:relative;display:grid!important;width:34px;height:34px;place-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:7px;color:#42505c;background:#fff;cursor:pointer}.mailing-color-tool input{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer}.mailing-editor-canvas{min-height:250px;padding:20px;color:#263238;outline:0;font-family:Arial,sans-serif;font-size:16px;line-height:1.65}.mailing-editor-canvas p{margin:0 0 14px}.mailing-editor-canvas h2{margin:20px 0 10px;color:#172337;font-size:24px}.mailing-editor-canvas h3{margin:18px 0 8px;color:#d85f00;font-size:18px}.mailing-editor-canvas blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid #ef7d22;background:#fff5eb;color:#59656f}.mailing-preview-panel{overflow:hidden;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface-soft)}.mailing-preview-panel summary{padding:11px 14px;color:var(--color-muted);font-size:.78rem;font-weight:800;cursor:pointer}.mailing-preview-panel summary i{margin-right:7px;color:var(--color-primary)}.mailing-preview{margin:0 12px 12px;padding:24px;border-radius:10px;background:#fff;color:#34414c;font-family:Arial,sans-serif;font-size:16px;line-height:1.7;box-shadow:0 5px 16px #1e2d3c12}.mailing-preview h2{color:#172337}.mailing-preview h3{color:#d85f00}.mailing-preview blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid #ef7d22;background:#fff5eb}.mailing-preview a{color:#d85f00;font-weight:700}
.mailing-editor-canvas:empty::before{content:attr(data-placeholder);color:#98a2aa;pointer-events:none}
.mailing-editor{color:var(--color-text);background:var(--color-control);box-shadow:inset 0 1px 2px #00000012}.mailing-editor-toolbar{background:var(--color-surface-soft)}.mailing-editor-toolbar select[data-native-select]{display:block!important;position:static!important;width:auto!important;min-width:116px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:6px 30px 6px 10px!important;border:1px solid var(--color-border)!important;border-radius:8px!important;opacity:1!important;pointer-events:auto!important;color:var(--color-text)!important;background-color:var(--color-control)!important;box-shadow:none!important;font-size:.76rem!important;font-weight:700!important;line-height:1.2!important}.mailing-toolbar-group{background:var(--color-control)}.mailing-editor-toolbar button{width:36px;height:36px;color:var(--color-text)}.mailing-color-tool{width:36px;height:36px;color:var(--color-text);background:var(--color-control)}.mailing-editor-canvas{color:var(--color-text);background:var(--color-control)}.mailing-preview{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-control);box-shadow:0 5px 16px #0002}
:root[data-theme="dark"] .mailing-editor-canvas h2,:root[data-theme="dark"] .mailing-preview h2{color:var(--color-text)}:root[data-theme="dark"] .mailing-editor-canvas h3,:root[data-theme="dark"] .mailing-preview h3{color:var(--color-primary-hover)}:root[data-theme="dark"] .mailing-editor-canvas blockquote,:root[data-theme="dark"] .mailing-preview blockquote{color:var(--color-text);background:var(--color-warning-bg)}
.mailing-editor-canvas h3,.mailing-preview h3,.mailing-preview a{color:var(--color-primary)}
@media(max-width:850px){.mailing-layout{grid-template-columns:1fr}.distribution-mail-panel{align-items:stretch;flex-direction:column}.distribution-mail-panel form{justify-items:stretch}.mailing-recipient-list{grid-template-columns:1fr}.mailing-editor-toolbar select{flex:1 1 120px}}
.match-double-badge{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:3px 7px;border-radius:999px;color:#7b3d0c;background:#fff0d8;font-size:.7rem;font-weight:800;vertical-align:middle;white-space:nowrap}.match-double-badge i{color:#d06a00}
.match-return-danger{display:flex;align-items:flex-start;gap:9px;width:fit-content;max-width:760px;margin-top:8px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--color-danger) 45%,var(--color-border));border-radius:10px;color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));font-size:.76rem}.match-return-danger>i{margin-top:2px}.match-return-danger span{display:grid}.match-return-danger small{margin-top:2px;color:var(--color-text);font-weight:500}.match-return-danger.source{color:#9a6500;border-color:#e3bd69;background:#fff6dc}.match-danger-form{margin-bottom:14px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}
.match-double-group{position:relative;display:grid;gap:7px;padding:0 0 0 34px}.match-double-group::before{content:"";position:absolute;left:12px;top:30px;bottom:30px;width:2px;border-radius:2px;background:var(--color-primary)}.match-double-group>.list-item{position:relative}.match-double-group>.list-item::before{content:"";position:absolute;left:-22px;top:50%;width:22px;height:2px;background:var(--color-primary)}.match-double-link{position:absolute!important;z-index:2;left:0;top:50%;display:grid!important;width:26px;height:26px;place-items:center;border:2px solid var(--color-primary);border-radius:50%;color:var(--color-primary-hover)!important;background:var(--color-surface);font-size:0;transform:translateY(-50%)}.match-double-link i{font-size:.62rem}.match-double-group+.match-double-group{margin-top:9px}
@media(max-width:650px){.match-double-group{padding-left:26px}.match-double-group::before{left:8px}.match-double-group>.list-item::before{left:-18px;width:18px}.match-double-link{left:-4px}}
.match-import-review{max-width:1180px}.import-review-summary{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.import-review-summary span{padding:9px 13px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:.82rem}.import-review-summary strong{color:var(--color-text)}.import-change-list{display:grid;gap:16px}.import-change-card{overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow)}.import-change-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;background:var(--color-surface-soft);border-bottom:1px solid var(--color-border)}.import-change-card>header>div{display:grid;text-align:right}.import-change-card>header small{color:var(--color-muted)}.import-change-grid{display:grid;gap:0}.import-change-field{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--color-border)}.import-change-field:last-child{border-bottom:0}.import-change-field>span{display:grid;padding:8px 10px;border-radius:9px}.import-change-field>span small{font-size:.65rem;font-weight:800;text-transform:uppercase}.import-change-field .before{color:#8a3d35;background:#fdeae7}.import-change-field .after{color:#225d3b;background:#e4f4ea}.import-change-field>i{color:var(--color-muted)}.import-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}.import-review-actions.top{justify-content:space-between;margin:0 0 14px;padding:12px 15px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.import-review-actions.top>span{color:var(--color-muted);font-size:.85rem;font-weight:700}@media(max-width:720px){.import-change-card>header{align-items:flex-start;flex-direction:column-reverse}.import-change-card>header>div{text-align:left}.import-change-field{grid-template-columns:1fr}.import-change-field>i{transform:rotate(90deg);justify-self:center}.import-review-actions:not(.top){display:grid;grid-template-columns:1fr}.import-review-actions .button{justify-content:center}}
.match-import-review{max-width:1180px}.import-review-summary{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.import-review-summary span{padding:9px 13px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:.82rem}.import-review-summary strong{color:var(--color-text)}.import-change-list{display:grid;gap:10px}.import-change-card{overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow)}.import-change-card>summary{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px;background:var(--color-surface-soft);cursor:pointer;list-style:none}.import-change-card>summary::-webkit-details-marker{display:none}.import-change-card[open]>summary{border-bottom:1px solid var(--color-border)}.import-change-match{display:grid;min-width:0}.import-change-match strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-change-match small{color:var(--color-muted)}.import-change-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.import-change-tags span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);background:var(--color-surface);font-size:.7rem;font-weight:700}.import-change-tags i{color:var(--color-primary)}.import-change-chevron{color:var(--color-muted);transition:transform .18s}.import-change-card[open] .import-change-chevron{transform:rotate(180deg)}.import-change-grid{display:grid;gap:0}.import-change-field{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--color-border)}.import-change-field:last-child{border-bottom:0}.import-change-field>span{display:grid;padding:8px 10px;border-radius:9px}.import-change-field>span small{font-size:.65rem;font-weight:800;text-transform:uppercase}.import-change-field .before{color:#8a3d35;background:#fdeae7}.import-change-field .after{color:#225d3b;background:#e4f4ea}.import-change-field>i{color:var(--color-muted)}.import-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}.import-review-actions.top{justify-content:space-between;margin:0 0 14px;padding:12px 15px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.import-review-actions.top>span{color:var(--color-muted);font-size:.85rem;font-weight:700}@media(max-width:720px){.import-change-card>summary{grid-template-columns:auto 1fr auto}.import-change-tags{grid-column:2/4;justify-content:flex-start}.import-change-field{grid-template-columns:1fr}.import-change-field>i{transform:rotate(90deg);justify-self:center}.import-review-actions:not(.top){display:grid;grid-template-columns:1fr}.import-review-actions .button{justify-content:center}}
.referee-number-import{max-width:760px;margin-bottom:1.5rem}.import-summary{margin:1.5rem 0;flex-wrap:wrap}.import-report{margin-top:1rem;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);overflow:hidden}.import-report>summary{padding:1rem 1.1rem;cursor:pointer;font-weight:700}.import-report .table-wrap{margin:0;border:0;border-top:1px solid var(--color-border);border-radius:0}
.match-confirm-dialog{width:min(620px,calc(100% - 28px));padding:0;border:0;border-radius:20px;color:var(--color-text);background:var(--color-surface);box-shadow:0 28px 90px #0007}.match-confirm-dialog::backdrop{background:#111827a8;backdrop-filter:blur(4px)}.match-confirm-dialog-shell{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:24px}.match-confirm-dialog-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:#a54c08;background:#fff0df;font-size:1.25rem}.match-confirm-dialog h2{margin:3px 0 8px}.match-confirm-dialog p{margin:0}.match-confirm-dialog ul{display:grid;gap:8px;margin:16px 0 0;padding-left:20px;color:var(--color-text);font-size:.9rem}.match-confirm-dialog li::marker{color:var(--color-primary)}.match-confirm-dialog-actions{grid-column:1/-1;justify-content:flex-end;margin:4px 0 0;padding-top:16px;border-top:1px solid var(--color-border)}
@media(max-width:520px){.match-confirm-dialog-shell{grid-template-columns:1fr;padding:19px}.match-confirm-dialog-actions{display:grid;grid-template-columns:1fr}.match-confirm-dialog-actions .button{justify-content:center}}
@media(max-width:650px){.distribution-page{width:calc(100% - 20px)}.distribution-filters{display:grid;grid-template-columns:1fr 1fr}.distribution-filters .button{grid-column:1/-1}.distribution-summary{display:grid;grid-template-columns:1fr}.distribution-summary span{border-radius:10px}}
.ajax-filter-loading {
  opacity: .6;
  pointer-events: none;
  transition: opacity .15s ease;
}
.regional-requests-page,.regional-management-page{padding:42px 0}.regional-request-form{max-width:760px;margin:22px 0}.regional-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.regional-request-list{margin-top:24px}.regional-request-item span{display:flex;align-items:center;gap:7px}.regional-request-filters{grid-template-columns:minmax(190px,240px) minmax(220px,320px) minmax(180px,240px) auto;align-items:end}.regional-request-filters label{display:grid;gap:6px;color:var(--color-muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.regional-request-table a:hover{color:var(--color-primary-hover)}
.regional-request-details{align-items:start}.regional-request-details textarea{resize:vertical}.regional-request-note{max-width:360px;margin:5px 0 0;padding:8px 10px;border-left:3px solid var(--color-primary);border-radius:0 8px 8px 0;color:var(--color-text);background:var(--color-surface-soft);font-size:.76rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.regional-request-note i{margin-right:5px;color:var(--color-primary)}.regional-match-count{justify-content:center;min-width:42px;color:var(--color-primary-hover);background:var(--color-warning-bg)}
.referee-login-page{padding:42px 0}.referee-login-form{max-width:720px;margin-top:24px}.impersonation-return{padding:8px 11px!important;border:1px solid var(--color-primary)!important;border-radius:var(--radius);color:var(--color-primary-hover)!important;background:var(--color-warning-bg)!important;font-weight:700!important}
.availability-tabs{display:flex;gap:7px;width:max-content;margin:12px 0 20px;padding:5px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft)}.availability-tabs a{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:8px;color:var(--color-muted);font-size:.82rem;font-weight:800}.availability-tabs a.active{color:#fff;background:var(--color-primary)}.oversight-legend{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 14px;color:var(--color-available-text);font-size:.78rem;font-weight:700}.oversight-legend .warning{color:#a65300}.oversight-list{display:grid;gap:12px}.oversight-card{overflow:hidden;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:var(--shadow)}.oversight-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:var(--color-surface-soft)}.oversight-card>header>div{display:grid;gap:3px}.oversight-card>header>div:last-child{display:flex;align-items:center;gap:8px}.oversight-card>header span,.oversight-card>header small{color:var(--color-muted);font-size:.78rem}.oversight-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px;padding:12px}.oversight-candidate{display:grid;gap:3px;padding:9px 11px;border:1px solid var(--color-available-border);border-radius:10px;color:var(--color-available-text);background:var(--color-available-bg)}.oversight-candidate span{display:flex;align-items:center;gap:7px}.oversight-candidate small{color:var(--color-muted);font-size:.7rem}.oversight-candidate.uncertain{border-color:#d99022;color:#a65300;background:var(--color-warning-bg)}
.oversight-filters{flex-wrap:wrap}.oversight-filters label:nth-child(3){min-width:220px}.oversight-filters label:nth-child(4){min-width:210px}.oversight-availability-message{display:block;margin-top:5px;padding:6px 8px;border-left:3px solid var(--color-primary);border-radius:0 7px 7px 0;color:var(--color-warning-text)!important;background:var(--color-warning-bg);font-weight:700!important;line-height:1.35!important}.oversight-availability-message i{margin-right:4px;color:var(--color-primary)}.oversight-travel-info{display:inline-grid!important;width:19px;height:19px;flex:0 0 19px;place-items:center;margin-left:auto;border:1px solid #d47a12;border-radius:50%;color:#9d4f00!important;background:#fff1dc;cursor:help;font-size:.62rem}.oversight-travel-info>i{color:inherit!important}.oversight-travel-info:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
.oversight-single-separator{display:flex;justify-content:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.oversight-single-toggle{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft);cursor:pointer}.oversight-single-toggle input{width:18px;height:18px;margin:0;accent-color:var(--color-primary)}.oversight-single-toggle span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px}.oversight-single-toggle i{grid-row:1/3;color:var(--color-primary)}.oversight-single-toggle strong{font-size:.82rem}.oversight-single-toggle small{color:var(--color-muted);font-size:.68rem}.oversight-single-toggle:has(input:checked){border-color:var(--color-primary);background:var(--color-warning-bg)}.oversight-single-list{margin-top:14px}
.assignment-draft-settings{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin:0 0 12px}.assignment-draft-toggle,.assignment-publish-toggle{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;width:auto;max-width:440px;padding:9px 11px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-soft);cursor:pointer}.assignment-draft-toggle>input,.assignment-publish-toggle>input{width:18px!important;height:18px!important;min-height:18px!important;margin:0;padding:0;border-radius:4px;accent-color:var(--color-primary)}.assignment-draft-toggle:has(input:checked),.assignment-publish-toggle:has(input:checked){border-color:var(--color-primary);background:var(--color-warning-bg)}.assignment-draft-toggle>span,.assignment-publish-toggle>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 7px}.assignment-draft-toggle strong,.assignment-publish-toggle strong{font-size:.82rem;line-height:1.3}.assignment-draft-toggle i,.assignment-publish-toggle i{grid-row:1/3;color:var(--color-primary);font-size:.82rem}.assignment-draft-toggle small,.assignment-publish-toggle small{color:var(--color-muted);font-size:.66rem;font-weight:500;line-height:1.35}.custom-option.assignment-draft{border-color:var(--color-primary);background:var(--color-warning-bg)}.assignment-draft-badge,.match-draft-badge,.badge.draft{display:inline-flex!important;align-items:center;gap:5px;width:max-content;padding:4px 8px;border:1px solid var(--color-primary);border-radius:999px;color:var(--color-primary-hover)!important;background:var(--color-warning-bg);font-size:.68rem!important;font-style:normal;font-weight:800}.match-draft-badge{margin-left:6px;vertical-align:middle}.badge.draft{font-size:.75rem!important}
@media(max-width:720px){.regional-slot-grid{grid-template-columns:1fr 1fr}.regional-request-filters{grid-template-columns:1fr}.regional-request-item{align-items:flex-start;flex-direction:column}.regional-request-item form,.regional-request-item .button{width:100%}.regional-request-item .button{justify-content:center}}
@media(max-width:720px){.assignment-draft-settings{display:grid;grid-template-columns:1fr}.assignment-draft-toggle,.assignment-publish-toggle{width:100%;max-width:none}}
.match-edit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.match-edit-heading h1{margin:2px 0 4px}.match-edit-heading p{margin:0;color:var(--color-muted)}.match-core-details{margin-bottom:14px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-soft)}.match-core-details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;list-style:none}.match-core-details>summary::-webkit-details-marker{display:none}.match-core-details>summary>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 9px}.match-core-details>summary>span>i{grid-row:1/3;color:var(--color-primary)}.match-core-details>summary small{color:var(--color-muted);font-size:.7rem}.match-core-details>summary>i{transition:transform .18s}.match-core-details[open]>summary>i{transform:rotate(180deg)}.match-core-details[open]>summary{border-bottom:1px solid var(--color-border)}.match-core-details .match-core-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.match-core-details>label{display:grid;margin:0 14px 14px}.return-coverage-setting{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:12px;margin-bottom:16px;padding:12px;border:1px solid color-mix(in srgb,var(--color-danger) 30%,var(--color-border));border-radius:14px;background:color-mix(in srgb,var(--color-danger) 5%,var(--color-surface))}.return-coverage-toggle{width:100%;max-width:none!important;margin:0}.return-coverage-setting>label:last-child{display:grid;gap:6px}.return-coverage-setting textarea{min-height:70px}@media(max-width:780px){.match-core-details .match-core-grid{grid-template-columns:1fr 1fr}.return-coverage-setting{grid-template-columns:1fr}.match-edit-heading{flex-direction:column}}.staff-dashboard-sections{display:grid;gap:22px}.staff-dashboard-section{padding:18px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface-soft)}.staff-dashboard-section>header{display:flex;align-items:center;gap:11px;margin-bottom:14px}.staff-dashboard-section>header>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--color-primary);background:var(--color-warning-bg)}.staff-dashboard-section h2{margin:0;font-size:1.05rem}.staff-dashboard-section header small{color:var(--color-muted);font-size:.7rem}.staff-dashboard-section .dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.staff-dashboard-section .dashboard-card{min-height:86px;padding:16px}@media(max-width:900px){.staff-dashboard-section .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.staff-dashboard-section{padding:12px}.staff-dashboard-section .dashboard-grid{grid-template-columns:1fr}}
.distribution-mail-selector{display:grid;align-items:stretch}.distribution-mail-selector>div{display:block}.distribution-mail-heading{display:flex!important;align-items:center;gap:13px}.distribution-mail-filters{display:flex!important;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--color-border) 75%,transparent)}.distribution-mail-filter{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);background:var(--color-control);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800}.distribution-mail-filter.active{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-warning-bg)}.distribution-mail-filter b{display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border-radius:999px;color:inherit;background:color-mix(in srgb,currentColor 12%,transparent)}.distribution-mail-candidates{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;max-height:260px;overflow:auto}.distribution-mail-candidate{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);cursor:pointer}.distribution-mail-candidate:has(input:checked){border-color:var(--color-primary);background:var(--color-warning-bg)}.distribution-mail-candidate input{width:18px;min-height:18px;accent-color:var(--color-primary)}.distribution-mail-candidate>span{display:grid;min-width:0}.distribution-mail-candidate small{color:var(--color-muted);font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distribution-mail-candidate em{font-size:.62rem!important;white-space:nowrap}.distribution-mail-actions{display:flex!important;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--color-border) 75%,transparent)}.distribution-mail-actions>span{color:var(--color-muted);font-size:.78rem}.distribution-mail-actions>span strong{color:var(--color-text);font-size:1rem}@media(max-width:650px){.distribution-mail-actions{align-items:stretch!important;flex-direction:column}.distribution-mail-candidates{grid-template-columns:1fr}.distribution-mail-candidate{grid-template-columns:auto 1fr}.distribution-mail-candidate em{grid-column:2}}
.designation-mail-progress{padding:16px;border:1px solid color-mix(in srgb,var(--color-primary) 50%,var(--color-border));border-radius:13px;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.designation-mail-progress[hidden]{display:none!important}.designation-mail-progress-heading,.designation-mail-progress-footer{display:flex!important;align-items:center;justify-content:space-between;gap:14px}.designation-mail-progress-heading strong{color:var(--color-text)}.designation-mail-progress-heading span{color:var(--color-primary-hover);font-weight:900}.designation-mail-progress-track{height:10px;margin:12px 0;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--color-border) 75%,var(--color-control))}.designation-mail-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));transition:width .35s ease}.designation-mail-progress-footer small{color:var(--color-muted)}@media(max-width:650px){.designation-mail-progress-footer{align-items:stretch!important;flex-direction:column}}
.salim-page .availability-tabs{margin:18px 0}.salim-match-table td:first-child small,.salim-match-table td:nth-child(2) small{display:block;margin-top:4px;color:var(--color-muted)}.salim-page .referee-profile-hero{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.salim-filters{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;align-items:end;margin:16px 0;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.salim-filters label,.salim-search-field{display:grid;gap:6px;color:var(--color-muted);font-size:.72rem;font-weight:800}.salim-filter-actions{display:flex;gap:8px;grid-column:1/-1}.salim-referee-search{align-items:end}.salim-referee-search .salim-search-field{flex:1;min-width:240px}.referee-calendar-day.readonly{cursor:default}.referee-calendar-day.readonly:hover{outline:none}.salim-readonly-calendar .muted i{margin-right:5px;color:var(--color-primary)}@media(max-width:950px){.salim-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.salim-filters{grid-template-columns:1fr}.salim-filter-actions,.salim-referee-search{align-items:stretch;flex-direction:column}.salim-filter-actions .button{justify-content:center}}
.email-logs-page{width:min(1550px,calc(100% - 32px))}.email-log-filters{display:grid;grid-template-columns:minmax(190px,1fr) repeat(4,minmax(135px,.55fr)) auto auto;gap:10px;align-items:end;margin:16px 0;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow)}.email-log-filters label{display:grid;gap:6px;color:var(--color-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.email-log-table{min-width:1350px}.email-log-table td small{display:block;margin-top:4px;color:var(--color-muted)}.email-log-table code{display:block;max-width:230px;overflow:hidden;color:var(--color-muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1000px){.email-log-filters{grid-template-columns:1fr 1fr}.email-log-filters .button{justify-content:center}}@media(max-width:600px){.email-log-filters{grid-template-columns:1fr}}
.live-refresh-notice {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 20%);
}
