.header {
	text-align: center;
	border: 5px solid black;
	background-color: white;
}

.spacer {
	width: 10px;
}

.center {
	text-align: center;
}

.rightBorder {
	border-right: 5px solid black;
}

.leftBorder {
	border-left: 5px solid black;
}

.invisibleBorderLeft {
	border-left: 5px solid white;
}

.bottomBorder {
	border-bottom: 5px solid black;
}

.alignTop {
	vertical-align: top;
}

table {
	margin: 0 auto;
	border-spacing: 0px;
	border-collapse: separate;
	border: 1px solid #ccc;
}

form button {
	margin-top: 10px;
}

.navbar {
	margin-bottom: 20px;
	border-radius: 0px;
}

.navbar.footer {
	margin-top: 20px;
	margin-bottom: 0px;
}

span.bold {
	font-weight: bold;
}

td.center {
	text-align: center;
}

td.control .players, div.innerDetails {
	display: none
}

td.details {
	background: #ccc;
}

.switchery {
	width: 40px;
	height: 20px;
}

.switchery>small {
	height: 17px;
	width: 17px;
}

.up {
	color: green;
}

.down {
	color: red;
}

.triangle {
	margin-top: 5px;
	margin-right: 5px;
	display: block;
	float: left;
}

.up .triangle {
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 7px solid green;
}

.down .triangle {
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 7px solid red;
}

label.radio-inline,label.checkbox-inline {
	background-color: #dcdfd4;
	cursor: pointer;
	font-weight: 400;
	margin-bottom: 5px !important;
	margin-top: 5px !important;
	margin-right: 2%;
	margin-left: 0;
	padding: 5px 5px 5px 30px;
}

label.radio-inline.checked,label.checkbox-inline.checked {
	background-color: #266c8e;
	color: #fff !important;
	text-shadow: 1px 1px 2px #000 !important;
}

.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline {
	margin-left: 0;
}

.columns label.radio-inline,.columns label.checkbox-inline {
	vertical-align: top;
	width: 100%;
}

footer.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 60px;
	background-color: black;
}

p {
  background-color: white;
  margin: 0 0 0px;
}

body {
	margin-bottom: 85px !important;
	background-position:center;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: 30%;
	background-image: url('/img/hr.jpg');
}

html {
	min-height: 100%;
	position: relative;
}

table.dataTable {
    background-color: white;
}



.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
	vertical-align: middle !important;
}

.roster-container {
    padding: 15px;
    background: #f7f7f7;
    border-top: 1px solid #ddd;
}

.roster-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}


.roster-card {
    background: #e9e9e9;
    border-radius: 8px;
    padding: 10px 14px;

    display: grid;
    grid-template-columns: 1fr auto; /* THIS is the fix */
    align-items: center;

    font-size: 14px;
}

.player-name {
    color: #333;
    padding-right: 10px;
}

.player-hr {
    color: #1e73d8;
    font-weight: 600;
}

/* MOBILE OPTIMIZATION */
@media (max-width: 576px) {

    .roster-grid {
        grid-template-columns: repeat(3, 1fr); /* keep 3 columns */
        gap: 6px; /* tighter spacing between cards */
    }

    .roster-card {
        padding: 6px 8px; /* reduce padding */
        font-size: 12px; /* slightly smaller text */
        border-radius: 6px;
        column-gap: 4px; /* reduce space between name and HR */
    }

    .player-hr {
        font-size: 11px; /* slightly smaller HR text */
    }

    .roster-container {
        padding: 8px; /* reduce outer spacing */
    }
}

/* REMOVE DataTables default look */
td.control {
    background: none !important;
    cursor: pointer;
    padding-left: 8px !important;
    text-align: center;
}

/* NEW modern button */
.expand-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;
    font-size: 14px;

    background: #3aa655;
    color: white;

    border-radius: 50%;
    font-size: 16px; /* smaller + */
    font-weight: bold;

    cursor: pointer;
}

/* red when expanded */
.expand-btn.open {
    background: #cc3b3b;
}

.hr-total {
    white-space: nowrap; /* THIS is the key */
}

.hr-value {
    color: blue;
    font-weight: bold;
}

.hr-change {
    font-size: 11px;
    margin-left: 6px;
}