/*
 * Sports League Management by TreyBraid – Diamond
 * Baseball League Management
 * Copyright (C) 2026 TreyBraid
 * License: GNU General Public License version 2; see LICENSE.txt
 */
/* CSS Document */
.red h1 { margin:0; padding:0; color: #8c0c0d; font-weight: bold; font-size: 23px;  margin: 10px 0px; line-height:140%; }
.blue h1 { margin:0; padding:0; color: #03366e; font-weight: bold; font-size: 23px;  margin: 10px 0px; line-height:140%; }
.green h1 { margin:0; padding:0; color: #277029; font-weight: bold; font-size: 23px;  margin: 10px 0px; line-height:140%; }

.green table.bb_table TH, .red table.bb_table_wide TH { font-size: 12px; color: #277029; font-weight:bold; height: 30px; border-bottom: solid 3px #212121; padding-right: 10px; }
.red table.bb_table TH, .red table.bb_table_wide TH { font-size: 12px; color: #8c0c0d; font-weight:bold; height: 30px; border-bottom: solid 3px #212121; padding-right: 10px; }
.blue table.bb_table TH, .blue table.bb_table_wide TH { font-size: 12px; color: #03366e; font-weight:bold; height: 30px; border-bottom: solid 3px #212121; padding-right: 10px; }

.green table.bb_table_wide TH, .red table.bb_table_wide TH { font-size: 12px; color: #277029; font-weight:bold; height: 30px; border-bottom: solid 3px #212121; padding-right: 10px; }
.red table.bb_table_wide TH, .red table.bb_table_wide TH { font-size: 12px; color: #8c0c0d; font-weight:bold; height: 30px; border-bottom: solid 3px #212121; padding-right: 10px; }
.blue table.bb_table_wide TH, .blue table.bb_table_wide TH { font-size: 12px; color: #03366e; font-weight:bold; height: 30px; border-bottom: solid 3px #212121; padding-right: 10px; }

.blue STRONG {color: #03366e; }
.red STRONG {color: #8c0c0d; }
.green STRONG {color: #277029; }

table.bb_table { background: #f8f8f8; border-top: dotted 1px black;border-right: dotted 1px black;border-left: dotted 1px black;   }
table.bb_table th { padding: 0px 3px; background:#ebebeb;  }
table.bb_table td { font-weight:normal; height:3px; border-bottom: dotted 1px black; color:black; padding: 0px 3px;  }
table.bb_table tr.totals { background:#666; padding:0px 3px; }
table.bb_table tr.totals td { color:white;padding:0px 3px; }

table.bb_table_wide { background: #f8f8f8;border-top: dotted 1px black;border-right: dotted 1px black;border-left: dotted 1px black;   }
table.bb_table_wide th {  padding:0px 3px; background:#ebebeb; }
table.bb_table_wide td { font-weight:normal; height:20px; border-bottom: dotted 1px black; color:black; padding:0px 3px;  }
table.bb_table_wide tr.totals { background:#666; padding:0px 3px; }
table.bb_table_wide tr.totals td { color:white;padding:0px 3px; }


span.alert
{
	color: #cc0000;
	border-top-width: 3px;
	border-top-style: solid;
	border-top-color: #fe7b7a;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #fe7b7a;
	background:#ffd6d6;

}

span.alert, span.info, span.download, span.note

{
	display: block;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 45px;
	margin-top: 15px;
	margin-right: 0pt;
	margin-bottom: 15px;
	margin-left: 0pt;
}

.message {
	color: #03366E;
	border-top-width: 3px;
	border-top-style: solid;
	border-top-color: #03366E;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #03366E;
	padding: 8px;
	padding-left: 35px;
	background:#ebebeb;
}

#system-message .message {
	border:none;
	padding: 0px;
	background:none;
}

a.columnup:link, a.columnup:visited {
	text-decoration: none;
	padding-left: 8px;
	background:none;
}

a.columnup:hover {
	text-decoration: underline;
}

a.columndown:link, a.columndown:visited {
	text-decoration: none;
	padding-left: 8px;
	background:none;
}

a.columndown:hover {
	text-decoration: underline;
}

a.column:link, a.column:visited {
	text-decoration: none;
	padding-left: 8px;
}

a.column:hover {
	text-decoration: underline;
}

/* Calendar Styles; */
#monthViewCalendar{ margin: 0 7px 7px 7px}
#monthViewCalendar table{ width: 100%; border-collapse: collapse; border: none; table-layout:fixed; word-wrap: break-word}
#monthViewCalendar caption, #month_navigation h2{ font-size: 21px; line-height: 175%; font-weight: bold; text-align: center}
#monthViewCalendar caption a, #miniCalendar caption a, #month_navigation h2 a{ text-decoration: none}
#monthViewCalendar th, #miniCalendar th{ text-align: center; background-image: url(/app_images/pageOptionsBody.jpg); background-repeat: repeat-x; background-position: 0 -95px; color: #666}
#monthViewCalendar th, #monthViewCalendar td{ border: solid 1px #CCC; width: 14%; padding: 4px; vertical-align: top}
#monthViewCalendar td{ height: 75px; text-align: right; background-image: url(/app_images/subtleBackground.jpg); background-repeat: repeat-x; background-color: #F2F2F2}
#monthViewCalendar .dateLink{ margin: 0; font-size: 16px; font-weight: bold}
#monthViewCalendar .today, #miniCalendar .today{ background-image: none; background-color: #FEF0A8}
#miniCalendar .otherMonth{ color: #999}
#monthViewCalendar .otherMonth{ font-size: 16px; font-weight: bold; text-align: right; color: #999}
#monthViewCalendar .vevent{ position: relative; overflow: hidden; margin: 10px 0; padding-top: 5px; line-height: 110%; border-top: solid 1px #CCCCCC}
#monthViewCalendar .vevent h5{ text-align: left}
#monthViewCalendar .vevent .summary{ font-size: 10px; margin: 0}
#monthViewCalendar .vevent .description, #monthViewCalendar .vevent .type{ display: none}
#monthViewCalendar .vevent .tags{ font-style: italic}
#monthViewCalendar .vevent ul, #monthViewCalendar .vevent li{ display: block; margin: 0; padding: 0}
#dayViewCalendar{ width: 100%; float: left; padding: 5px 0 0 0}
#dayViewCalendar h2{ font-size: 21px; line-height: 175%; font-weight: bold; text-align: center}
#dayViewCalendar h2 a{ text-decoration: none}
#dayViewCalendar .odd{ background-color: #EFEFEF}
#dayViewCalendar .location, #dayViewCalendar .tags, #dayViewCalendar .type, .dibItem .location, .dibItem .tags, .dibItem .type{ font-size: 11px; color: #666}
#dayViewCalendar .time, .dibItem .time{ font-weight: normal}
#dayViewCalendar .vevent{ margin: 10px 25px; padding: 10px 0; border-top: 1px solid #CCC}
#dayViewCalendar .pageElementAdmin .vevent{ border-top: none; padding: 0}
#dayViewCalendar .vevent ul{ margin: 0}
#dayViewCalendar .vevent li, #month_list .vevent li, .dibItem .vevent li{ display: block; list-style-type: none; margin: 10px 0 0 0}
/* OST Changes for Joomla 3.0 */
.text-area-order{
	width:20px;
}
.col100 input[type="text"]{
	width:20px;
}
#adminForm select{
	width:150px;
}
select.type_select {
width: 60px!important;
}
select.team_select {
width: 130px!important;
}

.bb_table_wide select{width:100%;}

/* OST Changes for Joomla 3.0 */
/* Diamond reusable frontend action buttons (Joomla 5/6) */
.diamond-action-button,
.diamond-action-button:link,
.diamond-action-button:visited {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .45rem .9rem;
    background: #000 !important;
    border: 2px solid #fff !important;
    color: #fff !important;
    border-radius: .25rem;
    box-shadow: 0 0 0 1px #000;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.diamond-action-button [class^="icon-"],
.diamond-action-button [class*=" icon-"] {
    color: #fff !important;
}

.diamond-action-button:hover,
.diamond-action-button:focus,
.diamond-action-button:active {
    background: #c00000 !important;
    border-color: #fff !important;
    color: #fff !important;
    box-shadow: 0 0 0 1px #c00000;
    text-decoration: none !important;
}

.diamond-action-button:focus-visible {
    outline: 3px solid rgba(192, 0, 0, .4);
    outline-offset: 3px;
}

@media print {
    .diamond-action-button {
        display: none !important;
    }
}

/* Equal-width administrator box-score management */
.diamond-boxscore-form .diamond-boxscore-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
  margin-bottom: 1rem;
}
.diamond-boxscore-form .card {
  height: 100%;
  border: 1px solid var(--border-color, #d9d9d9);
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.diamond-boxscore-form .diamond-section-heading th { padding: .75rem; background: #e9ecef; }
.diamond-boxscore-form .diamond-quarter-score-table th,
.diamond-boxscore-form .diamond-quarter-score-table td { vertical-align: middle; text-align: center; padding: .55rem; }
.diamond-boxscore-form .diamond-quarter-score-table th:first-child,
.diamond-boxscore-form .diamond-quarter-score-table td:first-child { text-align: left; min-width: 130px; }
.diamond-boxscore-form .diamond-score-input { width: 4.25rem; max-width: 100%; text-align: center; }
.diamond-boxscore-form .diamond-matchup-card .card-body { display: grid; align-content: center; gap: 1rem; padding: 1rem; }
.diamond-boxscore-form .diamond-game-date { text-align: center; font-weight: 600; line-height: 1.5; }
.diamond-boxscore-form .diamond-matchup-teams { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; }
.diamond-boxscore-form .diamond-matchup-team { display: grid; justify-items: center; gap: .5rem; text-align: center; min-width: 0; }
.diamond-boxscore-form .diamond-matchup-logo { display: block; width: auto; height: auto; max-width: 90px; max-height: 90px; object-fit: contain; }
.diamond-boxscore-form .diamond-versus { font-weight: 700; }
.diamond-boxscore-form .diamond-boxscore-toggle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1rem; }
.diamond-boxscore-form .diamond-section-toggle { width: 100%; min-height: 3rem; white-space: normal; font-weight: 600; }
.diamond-boxscore-form .diamond-section-toggle span { font-weight: 400; white-space: nowrap; }
.diamond-boxscore-form #gi-tq,
.diamond-boxscore-form #gi-ss,
.diamond-boxscore-form #gi-ps { margin-top: .75rem; }
@media (max-width: 900px) {
  .diamond-boxscore-form .diamond-boxscore-overview { grid-template-columns: 1fr; }
  .diamond-boxscore-form .diamond-boxscore-toggle-grid { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
  .diamond-boxscore-form .diamond-quarter-score-table { min-width: 620px; }
  .diamond-boxscore-form .diamond-matchup-logo { max-width: 72px; max-height: 72px; }
}

/* Diamond administrator boxscore grid correction.
   These rules live in the component media stylesheet because that is the
   stylesheet loaded by the administrator entry point. */
.diamond-boxscore-form {
    --diamond-boxscore-control-height: 2.85rem;
    max-width: 100%;
}

.diamond-boxscore-form .diamond-stat-grid {
    display: grid;
    width: 100%;
    margin: 0 0 1.25rem;
    gap: 0;
    border: 1px solid #cfd6de;
    border-radius: .5rem;
    overflow: hidden;
    background: #fff;
}

.diamond-boxscore-form .diamond-stat-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    align-items: stretch;
    min-width: 0;
    border-bottom: 1px solid #d8dee5;
}

.diamond-boxscore-form .diamond-stat-row:last-child {
    border-bottom: 0;
}

.diamond-boxscore-form .diamond-stat-cell {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    padding: .75rem;
}

.diamond-boxscore-form .diamond-stat-heading {
    background: #eef2f6;
    font-weight: 700;
}

.diamond-boxscore-form .diamond-stat-cell:only-child {
    grid-column: 1 / -1;
}

.diamond-boxscore-form .diamond-stat-cell input[type="text"],
.diamond-boxscore-form .diamond-stat-cell input[type="number"] {
    box-sizing: border-box;
    width: 5.5rem !important;
    min-width: 5.5rem !important;
    min-height: var(--diamond-boxscore-control-height);
    padding: .5rem .65rem;
    font-size: 1rem;
    line-height: 1.25;
    text-align: center;
}

.diamond-boxscore-form .diamond-stat-cell select {
    box-sizing: border-box;
    width: auto !important;
    min-width: 11rem !important;
    max-width: 100%;
    min-height: var(--diamond-boxscore-control-height);
    padding: .5rem .65rem;
    font-size: 1rem;
}

.diamond-boxscore-form .diamond-stat-cell textarea {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 16rem;
    min-height: 5.25rem;
    padding: .65rem;
    font-size: 1rem;
    line-height: 1.4;
    resize: vertical;
}

/* Scores by quarter: team name plus Q1-Q4, overtime and total. */
.diamond-boxscore-form .diamond-quarter-score-table > .diamond-section-heading {
    grid-template-columns: 1fr !important;
}

.diamond-boxscore-form .diamond-quarter-score-table > .diamond-stat-row:not(.diamond-section-heading) {
    grid-template-columns: minmax(180px, 1.7fr) repeat(6, minmax(74px, .55fr));
}

.diamond-boxscore-form .diamond-quarter-score-table > .diamond-stat-row:not(.diamond-section-heading) > .diamond-stat-cell:not(:first-child) {
    justify-content: center;
}

.diamond-boxscore-form .diamond-quarter-score-table .diamond-score-input {
    width: 5.25rem !important;
    min-width: 5.25rem !important;
    min-height: 3.15rem;
    font-size: 1.3rem;
    font-weight: 700;
}

/* The legacy wrapper between the toggle row and the expandable panels must
   not create columns of its own. Each expandable panel occupies full width. */
.diamond-boxscore-form .diamond-boxscore-toggle-grid + .diamond-stat-grid {
    display: block;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}

.diamond-boxscore-form .diamond-boxscore-toggle-grid + .diamond-stat-grid > .diamond-stat-row {
    display: block;
    border: 0;
}

.diamond-boxscore-form .diamond-boxscore-toggle-grid + .diamond-stat-grid > .diamond-stat-row > .diamond-stat-cell {
    display: block;
    padding: 0;
}

/* Scoring Summary: quarter heading rows use three columns; entry rows use
   Team, Type, Summary and Points. */
.diamond-boxscore-form #gi-tq .diamond-stat-grid > .diamond-stat-row:has(> .diamond-stat-cell:nth-child(3):last-child) {
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr) minmax(90px, .55fr);
}

.diamond-boxscore-form #gi-tq .diamond-stat-grid > .diamond-stat-row:has(> .diamond-stat-cell:nth-child(4):last-child) {
    grid-template-columns: minmax(180px, 1fr) minmax(110px, .6fr) minmax(280px, 2fr) minmax(90px, .55fr);
}

.diamond-boxscore-form #gi-tq .diamond-stat-cell:last-child {
    justify-content: center;
}

/* Team comparison: statistic label, Away and Home. */
.diamond-boxscore-form #gi-ss > .diamond-stat-grid > .diamond-stat-row {
    grid-template-columns: minmax(240px, 2fr) minmax(170px, 1fr) minmax(170px, 1fr);
}

.diamond-boxscore-form #gi-ss > .diamond-stat-grid > .diamond-stat-row > .diamond-stat-cell:nth-child(n+2) {
    justify-content: center;
}

.diamond-boxscore-form #gi-ss .diamond-stat-cell input[type="text"] {
    width: 5.75rem !important;
    min-width: 5.75rem !important;
}

/* Player Statistics: visiting and home columns, each containing responsive
   category grids. */
.diamond-boxscore-form #gi-ps > .diamond-stat-grid > .diamond-stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 1rem;
    border: 0;
}

.diamond-boxscore-form #gi-ps > .diamond-stat-grid > .diamond-stat-row > .diamond-stat-cell {
    display: block;
    padding: 0;
}

.diamond-boxscore-form #gi-ps .diamond-stat-grid .diamond-stat-grid {
    margin-bottom: 1rem;
}

.diamond-boxscore-form #gi-ps .diamond-stat-grid .diamond-stat-row {
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
}

.diamond-boxscore-form #gi-ps .diamond-stat-cell input[type="text"] {
    width: 5.25rem !important;
    min-width: 5.25rem !important;
}

.diamond-boxscore-form #gi-ps .diamond-stat-cell select {
    min-width: 12rem !important;
}

@media (max-width: 1100px) {
    .diamond-boxscore-form #gi-ps > .diamond-stat-grid > .diamond-stat-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .diamond-boxscore-form .diamond-quarter-score-table {
        min-width: 760px;
    }

    .diamond-boxscore-form #gi-tq .diamond-stat-grid > .diamond-stat-row,
    .diamond-boxscore-form #gi-ss > .diamond-stat-grid > .diamond-stat-row {
        grid-template-columns: 1fr;
    }

    .diamond-boxscore-form #gi-tq .diamond-stat-cell,
    .diamond-boxscore-form #gi-ss .diamond-stat-cell {
        justify-content: flex-start !important;
        flex-wrap: wrap;
    }

    .diamond-boxscore-form .diamond-stat-cell textarea {
        min-width: 0;
    }
}


/* Diamond — responsive administrator Players list */
.diamond-player-filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: .5rem;
    align-items: center;
}
.diamond-player-filters .form-select,
.diamond-player-filters .form-control { width: 100%; min-height: 42px; }
.diamond-player-search {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: .5rem;
}
.diamond-admin-player-grid { display: grid; gap: 0; width: 100%; }
.diamond-admin-player-header,
.diamond-admin-player-row {
    display: grid;
    grid-template-columns: 42px 54px minmax(100px,.78fr) minmax(118px,.92fr) 44px 44px 50px minmax(130px,1fr) 64px 92px 38px 38px 46px;
    align-items: center;
    gap: .45rem;
}
.diamond-admin-player-header {
    padding: .85rem .75rem;
    background: var(--template-bg-dark-80, #212529);
    color: #fff;
    font-weight: 700;
    border-radius: .5rem .5rem 0 0;
}
.diamond-admin-player-header > div {
    white-space: nowrap;
}

.diamond-admin-player-header > div:nth-child(13),
.diamond-admin-player-row > div:nth-child(13) {
    grid-column: 13;
    grid-row: 1;
    text-align: center;
    white-space: nowrap;
}

.diamond-admin-player-row {
    padding: .75rem;
    border: 1px solid #dfe3e7;
    border-top: 0;
    background: #fff;
}
.diamond-admin-player-row:nth-child(odd) { background: #f8f9fa; }
.diamond-admin-player-row:hover { background: #eef5fb; }
.diamond-admin-player-row > div { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1250px) {
    .diamond-admin-player-header { display: none; }
    .diamond-admin-player-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .diamond-admin-player-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
        border: 1px solid #dfe3e7;
        border-radius: .65rem;
        box-shadow: 0 .15rem .5rem rgba(0,0,0,.06);
    }
    .diamond-admin-player-row > div {
        display: grid;
        grid-template-columns: minmax(105px, 38%) 1fr;
        gap: .75rem;
        align-items: center;
    }
    .diamond-admin-player-row > div::before {
        content: attr(data-label);
        font-weight: 700;
        color: #495057;
    }
}
@media (max-width: 800px) {
    .diamond-player-filters { grid-template-columns: 1fr 1fr; }
    .diamond-player-search { grid-template-columns: 1fr; }
    .diamond-admin-player-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .diamond-player-filters { grid-template-columns: 1fr; }
    .diamond-admin-player-row > div { grid-template-columns: 1fr; gap: .15rem; }
}

/* Diamond — responsive administrator Teams list */
.diamond-team-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(190px, 1fr));
    gap: .75rem;
    align-items: center;
}
.diamond-team-filters .form-select,
.diamond-team-filters .form-control { width: 100%; min-height: 42px; }
.diamond-team-search {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto auto;
    gap: .5rem;
}
.diamond-admin-team-grid { display: grid; gap: 0; width: 100%; }
.diamond-admin-team-header,
.diamond-admin-team-row {
    display: grid;
    grid-template-columns: 42px minmax(170px,1.25fr) minmax(220px,1.45fr) minmax(82px,.52fr) minmax(135px,.82fr) minmax(270px,1.9fr) minmax(135px,.85fr) 105px 72px;
    align-items: center;
    gap: .65rem;
}
.diamond-admin-team-header {
    padding: .85rem .75rem;
    background: var(--template-bg-dark-80, #212529);
    color: #fff;
    font-weight: 700;
    border-radius: .5rem .5rem 0 0;
}
.diamond-admin-team-row {
    padding: .75rem;
    border: 1px solid #dfe3e7;
    border-top: 0;
    background: #fff;
}
.diamond-admin-team-row:nth-child(odd) { background: #f8f9fa; }
.diamond-admin-team-row:hover { background: #eef5fb; }
 .diamond-admin-team-row > div { min-width: 0; overflow-wrap: anywhere; }
/* Keep the League heading and values on one line in the desktop data grid. */
.diamond-admin-team-header > div:nth-child(3),
.diamond-admin-team-row > div:nth-child(3) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 1450px) {
    .diamond-admin-team-header { display: none; }
    .diamond-admin-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .diamond-admin-team-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
        border: 1px solid #dfe3e7;
        border-radius: .65rem;
        box-shadow: 0 .15rem .5rem rgba(0,0,0,.06);
    }
    .diamond-admin-team-row > div {
        display: grid;
        grid-template-columns: minmax(115px, 34%) 1fr;
        gap: .75rem;
        align-items: center;
    }
    .diamond-admin-team-row > div::before {
        content: attr(data-label);
        font-weight: 700;
        color: #495057;
    }
}
@media (max-width: 800px) {
    .diamond-team-filters { grid-template-columns: 1fr; }
    .diamond-team-search { grid-template-columns: 1fr; }
    .diamond-admin-team-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .diamond-admin-team-row > div { grid-template-columns: 1fr; gap: .15rem; }
}

/* Diamond — responsive administrator Schedules list */
.diamond-schedule-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: .85rem;
    align-items: end;
}
.diamond-schedule-filters select,
.diamond-schedule-filters .form-select,
.diamond-schedule-filters .form-control {
    width: 100%;
    min-height: 42px;
}
.diamond-admin-schedule-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: .6rem;
    -webkit-overflow-scrolling: touch;
}
.diamond-admin-schedule-grid {
    display: grid;
    gap: 0;
    min-width: 1510px;
    width: 100%;
}
.diamond-admin-schedule-header,
.diamond-admin-schedule-row {
    display: grid;
    grid-template-columns: 42px minmax(245px,1.45fr) minmax(220px,1.25fr) minmax(150px,.8fr) minmax(145px,.75fr) minmax(285px,1.7fr) minmax(125px,.65fr) 115px 72px;
    gap: .65rem;
    align-items: center;
}
.diamond-admin-schedule-header {
    padding: .85rem .75rem;
    background: var(--template-bg-dark-80, #212529);
    color: #fff;
    font-weight: 700;
    border-radius: .55rem .55rem 0 0;
}
.diamond-admin-schedule-row {
    padding: .75rem;
    border: 1px solid #dfe3e7;
    border-top: 0;
    background: #fff;
}
.diamond-admin-schedule-row:nth-child(odd) { background: #f8f9fa; }
.diamond-admin-schedule-row:hover { background: #eef5fb; }
.diamond-admin-schedule-header > div,
.diamond-admin-schedule-row > div {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.diamond-admin-schedule-row a { white-space: nowrap; }
@media (max-width: 1250px) {
    .diamond-schedule-filters { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
    .diamond-admin-schedule-scroll { overflow: visible; }
    .diamond-admin-schedule-grid { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .diamond-admin-schedule-header { display: none; }
    .diamond-admin-schedule-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
        border: 1px solid #dfe3e7;
        border-radius: .65rem;
        box-shadow: 0 .15rem .5rem rgba(0,0,0,.06);
    }
    .diamond-admin-schedule-row > div {
        display: grid;
        grid-template-columns: minmax(130px, 34%) minmax(0, 1fr);
        gap: .75rem;
        align-items: center;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
    .diamond-admin-schedule-row > div::before {
        content: attr(data-label);
        font-weight: 700;
        color: #495057;
    }
}
@media (max-width: 760px) {
    .diamond-schedule-filters,
    .diamond-admin-schedule-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .diamond-admin-schedule-row > div { grid-template-columns: 1fr; gap: .15rem; }
}

/* Diamond — responsive administrator Game Results list */
.diamond-boxscore-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: .85rem;
    align-items: end;
}
.diamond-boxscore-filters select,
.diamond-boxscore-filters .form-select,
.diamond-boxscore-filters .form-control {
    width: 100%;
    min-height: 42px;
}
.diamond-admin-boxscore-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: .6rem;
    -webkit-overflow-scrolling: touch;
}
.diamond-admin-boxscore-grid {
    display: grid;
    gap: 0;
    min-width: 1375px;
    width: 100%;
}
.diamond-admin-boxscore-header,
.diamond-admin-boxscore-row {
    display: grid;
    grid-template-columns: 42px minmax(235px, 1.35fr) minmax(155px, .8fr) minmax(260px, 1.5fr) minmax(155px, .8fr) minmax(130px, .7fr) 90px 115px 72px;
    gap: .65rem;
    align-items: center;
}
.diamond-admin-boxscore-header {
    padding: .85rem .75rem;
    background: var(--template-bg-dark-80, #212529);
    color: #fff;
    font-weight: 700;
    border-radius: .55rem .55rem 0 0;
}
.diamond-admin-boxscore-row {
    padding: .75rem;
    border: 1px solid #dfe3e7;
    border-top: 0;
    background: #fff;
}
.diamond-admin-boxscore-row:nth-child(odd) { background: #f8f9fa; }
.diamond-admin-boxscore-row:hover { background: #eef5fb; }
.diamond-admin-boxscore-header > div,
.diamond-admin-boxscore-row > div {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.diamond-admin-boxscore-row a { white-space: nowrap; }
@media (max-width: 1220px) {
    .diamond-boxscore-filters { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
    .diamond-admin-boxscore-scroll { overflow: visible; }
    .diamond-admin-boxscore-grid { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .diamond-admin-boxscore-header { display: none; }
    .diamond-admin-boxscore-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
        border: 1px solid #dfe3e7;
        border-radius: .65rem;
        box-shadow: 0 .15rem .5rem rgba(0,0,0,.06);
    }
    .diamond-admin-boxscore-row > div {
        display: grid;
        grid-template-columns: minmax(135px, 36%) minmax(0, 1fr);
        gap: .75rem;
        align-items: center;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
    .diamond-admin-boxscore-row > div::before {
        content: attr(data-label);
        font-weight: 700;
        color: #495057;
    }
}
@media (max-width: 760px) {
    .diamond-boxscore-filters,
    .diamond-admin-boxscore-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .diamond-admin-boxscore-row > div { grid-template-columns: 1fr; gap: .15rem; }
}

/* Diamond — responsive administrator Parks & Fields list */
.diamond-admin-location-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: .6rem;
    -webkit-overflow-scrolling: touch;
}
.diamond-admin-location-grid {
    display: grid;
    gap: 0;
    min-width: 1420px;
    width: 100%;
}
.diamond-admin-location-header,
.diamond-admin-location-row {
    display: grid;
    grid-template-columns:
        42px
        minmax(220px, 1.35fr)
        minmax(300px, 1.9fr)
        minmax(150px, .9fr)
        minmax(145px, .85fr)
        minmax(120px, .7fr)
        minmax(145px, .8fr)
        118px
        82px;
    gap: .7rem;
    align-items: center;
}
.diamond-admin-location-header {
    padding: .85rem .8rem;
    background: var(--template-bg-dark-80, #212529);
    color: #fff;
    font-weight: 700;
    border-radius: .55rem .55rem 0 0;
}
.diamond-admin-location-row {
    padding: .78rem .8rem;
    border: 1px solid #dfe3e7;
    border-top: 0;
    background: #fff;
}
.diamond-admin-location-row:nth-child(odd) { background: #f8f9fa; }
.diamond-admin-location-row:hover { background: #eef5fb; }
.diamond-admin-location-header > div,
.diamond-admin-location-row > div {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.diamond-admin-location-row .btn,
.diamond-admin-location-row .badge {
    white-space: nowrap;
}
@media (max-width: 1450px) {
    .diamond-admin-location-scroll { overflow-x: visible; }
    .diamond-admin-location-grid {
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
    .diamond-admin-location-header { display: none; }
    .diamond-admin-location-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
        border: 1px solid #dfe3e7;
        border-radius: .65rem;
        box-shadow: 0 .15rem .5rem rgba(0,0,0,.06);
    }
    .diamond-admin-location-row > div {
        display: grid;
        grid-template-columns: minmax(135px, 36%) 1fr;
        gap: .75rem;
        align-items: center;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
    .diamond-admin-location-row > div::before {
        content: attr(data-label);
        font-weight: 700;
        color: #495057;
    }
}
@media (max-width: 800px) {
    .diamond-admin-location-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .diamond-admin-location-row > div {
        grid-template-columns: 1fr;
        gap: .15rem;
    }
}


/* Diamond: constrain league statistics leader team logos. */
.diamond-statleaders-logo {
    width: 64px;
    min-width: 64px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.diamond-statleaders-logo img,
.diamond-statleaders-logo .diamond-statleaders-team-logo {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
}
@media (max-width: 767.98px) {
    .diamond-statleaders-logo { width: 56px; min-width: 56px; }
    .diamond-statleaders-logo img,
    .diamond-statleaders-logo .diamond-statleaders-team-logo {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }
}

/* Diamond: compact backend baseball boxscore workspace. */
.diamond-boxscore-summary .card-header,
.diamond-stat-section .card-header,
.diamond-substitutions-section .card-header {
    font-size: 1rem;
}

.diamond-boxscore-summary-scroll,
.diamond-stat-grid-scroll,
.diamond-substitution-list {
    overflow-x: auto;
    scrollbar-width: thin;
}

.diamond-boxscore-summary-compact {
    min-width: 820px;
}

.diamond-boxscore-summary-row {
    display: grid;
    grid-template-columns: minmax(190px, 2.2fr) repeat(9, minmax(38px, .55fr)) repeat(3, minmax(48px, .65fr));
    gap: .35rem;
    align-items: center;
    min-height: 42px;
    padding: .3rem .4rem;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.diamond-boxscore-summary-row:first-child {
    border-top: 0;
}

.diamond-boxscore-summary-heading {
    min-height: 30px;
    padding-top: 0;
    padding-bottom: .2rem;
    border-top: 0;
    color: var(--bs-secondary-color, #6c757d);
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
}

.diamond-boxscore-summary-heading .diamond-boxscore-summary-team,
.diamond-boxscore-summary-row .diamond-boxscore-summary-team {
    text-align: left;
    white-space: nowrap;
}

.diamond-boxscore-summary-row > :not(.diamond-boxscore-summary-team) {
    text-align: center;
}

.diamond-boxscore-summary-value,
.diamond-boxscore-summary-row > strong {
    font-size: .9rem;
    line-height: 1.2;
}

/* One compact editable player row per card. No HTML tables are used. */
.diamond-stat-team:last-child {
    margin-bottom: 0 !important;
}

.diamond-stat-grid-heading,
.diamond-stat-grid-row {
    display: grid;
    gap: .3rem;
    align-items: end;
}

.diamond-stat-grid-heading {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: .15rem .25rem .3rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-secondary-color, #6c757d);
    font-size: .7rem;
    font-weight: 700;
    text-align: center;
}

.diamond-stat-grid-heading > span:first-child {
    text-align: left;
}

.diamond-stat-grid-body {
    display: grid;
    gap: .35rem;
}

.diamond-stat-entry-card,
.diamond-substitution-card {
    border-color: var(--bs-border-color, #dee2e6);
    box-shadow: none;
}

.diamond-stat-entry-card .form-control-sm,
.diamond-stat-entry-card .form-select-sm,
.diamond-substitution-card .form-control-sm,
.diamond-substitution-card .form-select-sm {
    min-height: 32px;
    padding-top: .2rem;
    padding-bottom: .2rem;
    font-size: .8rem;
}

.diamond-stat-grid-cell {
    min-width: 0;
}

.diamond-stat-grid-cell .form-control,
.diamond-stat-grid-cell .form-select {
    width: 100%;
    min-width: 0;
}

.diamond-stat-player-cell .form-select {
    font-weight: 600;
}

/* Compact substitutions: one substitution per horizontal card row. */
.diamond-substitution-list {
    display: grid;
    gap: .4rem;
}

.diamond-substitution-grid {
    display: grid;
    grid-template-columns: 42px minmax(145px, 1.25fr) 62px 86px minmax(120px, .95fr) minmax(145px, 1.2fr) minmax(145px, 1.2fr) 58px 68px minmax(185px, 1.65fr);
    gap: .4rem;
    align-items: end;
    min-width: 1120px;
}

.diamond-substitution-card .form-label,
.diamond-compact-field .form-label {
    display: block;
    margin-bottom: .15rem;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--bs-secondary-color, #6c757d);
}

.diamond-substitution-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius-sm, .25rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
    font-weight: 700;
}

/* Diamond RC1 - horizontal inning-by-inning line score editor */
.diamond-line-score-team-panel {
    min-width: 0;
}

.diamond-line-score-team-name {
    font-weight: 700;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    padding-bottom: .35rem;
}

.diamond-line-score-inning-headings,
.diamond-line-score-stat-row {
    display: grid;
    grid-template-columns: minmax(68px, .9fr) repeat(9, minmax(38px, 1fr));
    gap: .3rem;
    align-items: center;
    min-width: 470px;
}

.diamond-line-score-inning-headings {
    margin-bottom: .25rem;
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
    color: var(--bs-secondary-color, #6c757d);
}

.diamond-line-score-stat-row {
    margin-bottom: .35rem;
}

.diamond-line-score-stat-row:last-child {
    margin-bottom: 0;
}

.diamond-line-score-stat-label {
    font-weight: 700;
    font-size: .8rem;
    white-space: nowrap;
}

.diamond-line-score-stat-row .diamond-line-score-input {
    min-width: 0;
    padding-left: .2rem;
    padding-right: .2rem;
    text-align: center;
}

@media (max-width: 1399.98px) {
    .diamond-line-score-team-panel {
        overflow-x: auto;
        padding-bottom: .25rem;
    }
}

@media (max-width: 767.98px) {
    .diamond-boxscore-summary-compact {
        min-width: 760px;
    }
}

/* Diamond RC1 Schedule Game Link Button Colors */
.diamond-game-links .diamond-boxscore-btn { background-color:#ffc107 !important; border-color:#ffc107 !important; color:#000 !important; }
.diamond-game-links .diamond-watch-game-btn { background-color:#dc3545 !important; border-color:#dc3545 !important; color:#fff !important; }
.diamond-game-links .diamond-buy-tickets-btn { background-color:#0d6efd !important; border-color:#0d6efd !important; color:#fff !important; }
