.c515-wrap {
  background: #f0f0f1;
  padding: 0;
  margin: 0;
}

.c515-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:12px}
.c515-actions{display:flex;gap:8px;align-items:center}
.c515-muted{opacity:.7;font-size:13px}

.c515-sheet-link{margin-top:4px;font-size:12px}
.c515-sheet-link a{display:inline-block;text-decoration:none;border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:3px 8px;background:#fff}
.c515-sheet-link a:hover{background:#f4f4f4}

.c515-sheet-wrap{max-width:980px;margin:0 auto;padding:24px 16px}
.c515-sheet-card{background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.10);box-shadow:0 6px 18px rgba(0,0,0,.08);padding:18px 18px 16px;margin-bottom:16px}
.c515-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.c515-sheet-title{font-size:22px;font-weight:800;margin:0}
.c515-sheet-sub{margin-top:4px;opacity:.8;font-size:13px}
.c515-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.c515-sheet-label{font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase;margin:0 0 6px}
.c515-sheet-textarea{width:100%;min-height:180px;border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:10px 10px;font-size:14px;line-height:1.35}
.c515-sheet-textarea.small{min-height:90px}
.c515-sheet-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.c515-sheet-status{font-size:12px;opacity:.8}

@media (max-width:860px){.c515-sheet-grid{grid-template-columns:1fr}}
.c515-table th.c515-nowrap,.c515-table td.c515-nowrap{white-space:nowrap !important}
.c515-col-ensemble-name{min-width:460px}
.c515-card {
  background: #f0f0f1;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0 0 12px 0;
  border-radius: 0;
}

.c515-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.c515-filters label{display:flex;gap:6px;align-items:center;font-size:14px}
.c515-input,.c515-select{border:1px solid rgba(0,0,0,.2);border-radius:8px;padding:6px 8px;font-size:14px;background:#fff}
.c515-btn{display:inline-block;border:1px solid rgba(0,0,0,.25);border-radius:999px;padding:8px 12px;background:#fff;text-decoration:none;font-weight:600;cursor:pointer}
.c515-btn:hover{background:rgba(0,0,0,.04)}
.c515-link{font-weight:700;text-decoration:none}
.c515-day{margin:18px 0}
.c515-day-title{font-size:18px;font-weight:900;margin:6px 0}
.c515-festival-title{font-size:18px;font-weight:900;margin:20px 0 6px 0}
.c515-table{width:100%;border-collapse:separate;border-spacing:0}
.c515-table th,.c515-table td{border-bottom:1px solid rgba(0,0,0,.08);padding:10px 8px;vertical-align:top;text-align:left;font-size:14px}
.c515-table th{position:sticky;top:var(--c515-sticky-offset,32px);background:#fafafa;z-index:25;font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.c515-table tr:hover td{background:rgba(0,0,0,.02)}

.c515-select.c515-adj{min-width:170px;}

.c515-workloc{min-width:170px;}

/* Keep content flush-left inside WP admin content area */
body.toplevel_page_cantando-515-adjudicators #wpbody-content,
body.adjudicators_page_cantando-515-adjudicators-edmonton #wpbody-content,
body.adjudicators_page_cantando-515-adjudicators-whistler #wpbody-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.adjudicators_page_cantando-515-adjudicators-edmonton .wrap,
body.adjudicators_page_cantando-515-adjudicators-whistler .wrap {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Prevent wrapping for compact columns */
.c515-col-ensemble_type, .c515-col-date, .c515-col-time { white-space: nowrap; }
/* Director should not wrap, but also must not blow up column widths */
.c515-col-director { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
/* Let the browser allocate a sane width for Ensemble Name (avoid fixed layout squish) */
.c515-col-ensemble_name { width: auto; }
/* Allow natural column sizing (previous spacing) */
.c515-table { width: 100%; table-layout: auto; }
body.adjudicators_page_cantando-515-adjudicators-edmonton, body.adjudicators_page_cantando-515-adjudicators-whistler { background: #f0f0f1; }

/* Column nowrap via nth-child to avoid needing per-cell classes */
.c515-table th:nth-child(2), .c515-table td:nth-child(2),
.c515-table th:nth-child(3), .c515-table td:nth-child(3),
.c515-table th:nth-child(4), .c515-table td:nth-child(4),
.c515-table th:nth-child(5), .c515-table td:nth-child(5) { white-space: nowrap; }
body.adjudicators_page_cantando-515-adjudicators-edmonton .c515-table th:nth-child(6),
body.adjudicators_page_cantando-515-adjudicators-edmonton .c515-table td:nth-child(6) { white-space: nowrap; }
body.adjudicators_page_cantando-515-adjudicators-whistler .c515-table th:nth-child(7),
body.adjudicators_page_cantando-515-adjudicators-whistler .c515-table td:nth-child(7) { white-space: nowrap; }

/* Grey page + grey table */
.c515-table, .c515-table thead th, .c515-table tbody td { background: #f0f0f1; }
.c515-table tbody tr { background: #f0f0f1; }

/* Admin note textarea */
textarea.c515-comments{
  width: 100%;
  min-height: 34px;
  resize: vertical;
  overflow: hidden;
}

/* Keep filters visible while scrolling */
.c515-filters{
  position: static;
  top: 0;
  z-index: 20;
  background: #fff;
  padding-top: 8px;
}

/* Table header sticks below filters */
.c515-table thead th{
  /* JS sets --c515-sticky-offset so headers stay frozen *below* the sticky top block. */
  top: var(--c515-sticky-offset, 58px);
  z-index: 35;
}


/* Sticky top block (Assignment counts + filters) */
.c515-sticky{
  position: sticky;
  top: 32px;
  z-index: 30;
  background: #fff;
  padding-top: 8px;
}


/* Admin notes column */
.c515-col-comments{min-width:280px;}
textarea.c515-comments{width:100%; min-width:260px; resize:none;}
textarea.c515-comments{overflow-y:hidden;}

/* v079: Time-based workshop row colouring */
.c515-workshop-time-band { transition: background .15s; }
.c515-workshop-time-band td { background: inherit !important; }

/* v077: Roster form layout (kept for reference) */
.c515-roster-create { display:flex; flex-wrap:wrap; gap:24px; margin-top:12px; align-items:flex-start; }
.c515-roster-left { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
.c515-roster-right { display:flex; flex-direction:column; gap:14px; min-width:200px; }
.c515-inline-checks { display:flex; flex-wrap:wrap; gap:8px; }
.c515-tog { display:inline-flex; align-items:center; gap:4px; font-size:13px; cursor:pointer; }
