/* Drum Major Results Manager – public display aligned with the Band Results Manager aesthetic */
.rspba-browser h3{margin-bottom:0.25rem}
.rspba-event-header{margin:0 0 1rem}
.rspba-event-header .rspba-meta{line-height:1.5}
.rspba-grade-heading{display:flex;align-items:baseline;gap:6px;margin:1rem 0 .25rem}
.rspba-grade-heading h3{margin:0}
.rspba-grade-heading .rspba-grade-label{font-weight:500;opacity:.7}
.rspba-adjudicators{margin-top:0.25rem;margin-bottom:0.75rem;line-height:1.6;color:#333}

/* Card-style result sections, matching the Bands results presentation more closely */
.rspba-result-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:1rem;margin:0 0 1.25rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.rspba-result-card .rspba-grade-heading{margin-top:0}
.rspba-result-card .rspba-table-wrap{margin-bottom:0}
.rspba-browser .rspba-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}
.rspba-browser table{width:100%;border-collapse:collapse;min-width:760px}
.rspba-browser th,.rspba-browser td{border:1px solid #e5e5e5;padding:.4rem;text-align:left;vertical-align:top}
.rspba-browser th{font-weight:700}
.rspba-browser th.dmrm-col-dress-faults,.rspba-browser td.dmrm-col-dress-faults,
.rspba-browser th.dmrm-col-md-1,.rspba-browser td.dmrm-col-md-1,
.rspba-browser th.dmrm-col-flourish-1,.rspba-browser td.dmrm-col-flourish-1,
.rspba-browser th.dmrm-col-md-2,.rspba-browser td.dmrm-col-md-2,
.rspba-browser th.dmrm-col-flourish-2,.rspba-browser td.dmrm-col-flourish-2,
.rspba-browser th.dmrm-col-total,.rspba-browser td.dmrm-col-total,
.rspba-browser th.dmrm-col-final-pos,.rspba-browser td.dmrm-col-final-pos{text-align:center;white-space:nowrap}
.rspba-preview-banner{background:#fff3cd;border:1px solid #ffeeba;color:#775000;padding:.5rem .75rem;margin-bottom:.75rem;border-radius:4px}

/* 50/50 filter layout */
.rspba-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rspba-filters .rspba-col{flex:1 1 300px;min-width:260px}
.rspba-filters label{display:block;margin-bottom:4px}
.rspba-filters select{max-width:100%}
@media (min-width: 900px){
  .rspba-filters .rspba-col{flex:0 0 calc(50% - 6px)}
  .rspba-filters select{width:100%}
}

/* Phone portrait: Drum Major Name | Band Name | Final Pos.
   Rotate to landscape to use the normal full results table with horizontal scrolling. */
.rspba-rotate-message{display:none}
@media (max-width: 640px){
  .rspba-browser{font-size:15px}
  .rspba-filters{gap:10px;margin-bottom:1rem}
  .rspba-filters .rspba-col{flex:1 1 100%;min-width:100%}
  .rspba-filters label{font-size:14px}
  .rspba-filters select{width:100%;min-height:42px;font-size:16px}
  .rspba-event-header .rspba-meta strong{display:inline-block;margin-top:.15rem}
  .rspba-grade-heading{align-items:flex-start;gap:4px;margin-top:1.2rem}
  .rspba-grade-heading h3{font-size:1.1rem;line-height:1.25}
  .rspba-adjudicators{font-size:14px;line-height:1.55}
  .rspba-adjudicators strong:first-child{display:block;margin-bottom:.15rem}
}

@media (max-width: 640px) and (orientation: portrait){

  .rspba-result-card{padding:.75rem;margin-bottom:1rem;border-radius:9px}
  .rspba-result-card .rspba-adjudicators{margin-bottom:.65rem}
  .rspba-rotate-message{display:block;margin:.35rem 0 .6rem;font-size:.9rem;color:#555}
  .rspba-mobile-expand-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
  .rspba-browser .rspba-table-wrap{overflow:visible}
  .rspba-browser table{min-width:0;border:0}
  .rspba-browser thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .rspba-browser tbody{display:block;width:100%}
  .rspba-browser tr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:.75rem;align-items:center;border:1px solid #e5e5e5;border-radius:8px;margin:0 0 .55rem;background:#fff;padding:.6rem .7rem;box-sizing:border-box}
  .rspba-browser td{display:none;border:0;padding:0;box-sizing:border-box;white-space:normal;word-break:break-word}
  .rspba-browser td.dmrm-col-drum-major,.rspba-browser td.dmrm-col-band,.rspba-browser td.dmrm-col-final-pos{display:block}
  .rspba-browser td.dmrm-col-drum-major{font-weight:700;text-align:left}
  .rspba-browser td.dmrm-col-band{text-align:left}
  .rspba-browser td.dmrm-col-final-pos{font-weight:700;text-align:right;white-space:nowrap}
  .rspba-browser td.dmrm-col-final-pos::before{content:'Position ';font-weight:400;color:#555}
}

@media (max-width: 640px) and (orientation: landscape){
  .rspba-browser .rspba-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rspba-browser table{min-width:760px}
}

/* Admin badges */
.badge-published{display:inline-block;background:#e6ffed;color:#065f46;border:1px solid #a7f3d0;padding:2px 8px;border-radius:12px;font-size:12px;vertical-align:middle}
.badge-draft{display:inline-block;background:#fff5f5;color:#7f1d1d;border:1px solid #fecaca;padding:2px 8px;border-radius:12px;vertical-align:middle}

/* Action buttons */
.dmrm-actions form{display:inline}
.dmrm-danger{background:#b91c1c;color:#fff;border-color:#b91c1c}

/* DMRM-specific status tags */
.dmrm-badge{display:inline-block;padding:2px 6px;border-radius:6px;font-size:12px;margin-left:6px}
.dmrm-badge.pub{background:#16a34a;color:#fff}
.dmrm-badge.draft{background:#6b7280;color:#fff}

/* Mobile expandable results */
.rspba-mobile-expand-controls{display:none}
.rspba-mobile-expand-controls button{border:1px solid #0070ba;background:#0070ba;color:#fff;border-radius:6px;padding:.45rem .65rem;font-size:.9rem;font-weight:600;line-height:1.2;cursor:pointer}
.rspba-mobile-expand-controls button:hover,.rspba-mobile-expand-controls button:focus{background:#005f9e;border-color:#005f9e;color:#fff}
.rspba-mobile-results{display:none}
@media (max-width: 640px) and (orientation: portrait){
  .rspba-rotate-message{display:block;margin:.35rem 0 .6rem;font-size:.9rem;color:#555}
  .rspba-mobile-expand-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
  .rspba-browser .rspba-table-wrap{display:none}
  .rspba-mobile-results{display:block}
  .rspba-mobile-result{border:1px solid #e5e5e5;border-radius:8px;margin:0 0 .55rem;background:#fff;overflow:hidden}
  .rspba-mobile-result summary{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.9fr);gap:.65rem;align-items:center;padding:.6rem .7rem;cursor:pointer;list-style:none}
  .rspba-mobile-result summary::-webkit-details-marker{display:none}
  .rspba-mobile-result summary::after{content:'+';font-weight:700;color:#555;margin-left:.15rem}
  .rspba-mobile-result[open] summary::after{content:'–'}
  .rspba-mobile-position{font-weight:700;text-align:left;white-space:nowrap}
  .rspba-mobile-position::before{content:'Pos ';font-weight:400;color:#555}
  .rspba-mobile-primary{font-weight:700;text-align:left;word-break:break-word}
  .rspba-mobile-secondary{text-align:left;word-break:break-word}
  .rspba-mobile-details{border-top:1px solid #eeeeee;margin:0;padding:.45rem .7rem .65rem}
  .rspba-mobile-details div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.22rem 0}
  .rspba-mobile-details dt{font-weight:600;color:#444}
  .rspba-mobile-details dd{margin:0;text-align:right;font-weight:600}
}
@media (max-width: 640px) and (orientation: portrait){.rspba-mobile-result summary{grid-template-columns:auto minmax(0,1fr) minmax(0,.9fr) auto}}


/* Back to top link for long public result pages */
.rspba-back-to-top{text-align:right;margin:1rem 0 0}
.rspba-back-to-top a{display:inline-block;border:1px solid #0070ba;background:#0070ba;color:#fff;text-decoration:none;border-radius:6px;padding:.45rem .7rem;font-weight:600;line-height:1.2}
.rspba-back-to-top a:hover,.rspba-back-to-top a:focus{background:#005f9e;border-color:#005f9e;color:#fff}
html{scroll-behavior:smooth}

/* Admin public-display preview panels */
.rspba-admin-public-preview{margin:1.5rem 0;padding:1rem;background:#f6f7f7;border:1px solid #dcdcde;border-radius:10px}
.rspba-admin-preview-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.rspba-admin-preview-frame{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:1rem;max-height:520px;overflow:auto}
.rspba-admin-preview-phone{max-width:390px}
.rspba-admin-preview-phone .rspba-filters{display:none}
.rspba-admin-preview-phone .rspba-table-wrap{display:none!important}
.rspba-admin-preview-phone .rspba-rotate-message{display:block;margin:.35rem 0 .6rem;font-size:.9rem;color:#555}
.rspba-admin-preview-phone .rspba-mobile-expand-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
.rspba-admin-preview-phone .rspba-mobile-results{display:block}
.rspba-admin-preview-phone .rspba-mobile-result{border:1px solid #e5e5e5;border-radius:8px;margin:0 0 .55rem;background:#fff;overflow:hidden}
.rspba-admin-preview-phone .rspba-mobile-result summary{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.9fr) auto;gap:.65rem;align-items:center;padding:.6rem .7rem;cursor:pointer;list-style:none}
.rspba-admin-preview-phone .rspba-mobile-result summary::-webkit-details-marker{display:none}
.rspba-admin-preview-phone .rspba-mobile-result summary::after{content:'+';font-weight:700;color:#555;margin-left:.15rem}
.rspba-admin-preview-phone .rspba-mobile-result[open] summary::after{content:'–'}
.rspba-admin-preview-phone .rspba-mobile-position{font-weight:700;text-align:left;white-space:nowrap}
.rspba-admin-preview-phone .rspba-mobile-position::before{content:'Pos ';font-weight:400;color:#555}
.rspba-admin-preview-phone .rspba-mobile-primary{font-weight:700;text-align:left;word-break:break-word}
.rspba-admin-preview-phone .rspba-mobile-secondary{text-align:left;word-break:break-word}
.rspba-admin-preview-phone .rspba-mobile-details{border-top:1px solid #eeeeee;margin:0;padding:.45rem .7rem .65rem}
.rspba-admin-preview-phone .rspba-mobile-details div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.22rem 0}
.rspba-admin-preview-phone .rspba-mobile-details dt{font-weight:600;color:#444}
.rspba-admin-preview-phone .rspba-mobile-details dd{margin:0;text-align:right;font-weight:600}
.rspba-admin-preview-desktop .rspba-mobile-results,.rspba-admin-preview-desktop .rspba-mobile-expand-controls,.rspba-admin-preview-desktop .rspba-rotate-message{display:none!important}
