/* assets/style.css */

/* Global Body Style */
body {
    font-family: 'Arial', sans-serif;
    background-color: #f4f6f7;
    color: #2c3e50;
    margin: 0;
    padding: 0;
}

/* Global Headers */
h1 {
    color: #2c3e50;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 30px;
}

h2, h3 {
    color: #34495e;
    text-align: center;
}

/* Card/Container Style (Replaces your inline background/border styles) */
.card-container {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

/* Dash Tabs Styling */
.custom-tab {
    font-weight: bold !important;
    font-size: 1.2rem !important;
    padding: 15px !important;
    background-color: #e9ecef !important;
}

.custom-tab--selected {
    font-weight: bold !important;
    font-size: 1.2rem !important;
    background-color: #2c3e50 !important;
    color: white !important;
    padding: 15px !important;
    border-bottom: 3px solid #27ae60 !important;
}

/* Standardized Filter Row */
.filter-row {
    text-align: center;
    margin-bottom: 15px;
    font-size: 0.9rem;
    padding: 10px;
    background-color: #ecf0f1;
    border-radius: 5px;
}

.filter-label {
    font-weight: bold;
    margin-right: 5px;
    color: #34495e;
}

.main-container { width: 95%; margin: 0 auto; padding-bottom: 50px; }
.flex-row { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 30px; }
.col-half { width: 49%; box-sizing: border-box; }
.col-third { width: 30%; box-sizing: border-box; }
.col-two-thirds { width: 68%; box-sizing: border-box; }
.col-40 { width: 40%; display: inline-block; vertical-align: top; margin-right: 1%; box-sizing: border-box; }
.col-60 { width: 59%; display: inline-block; vertical-align: top; box-sizing: border-box; }
.filter-dropdown { display: inline-block; width: 85px; vertical-align: middle; margin-right: 15px; }
.filter-radio { display: inline-block; vertical-align: middle; margin-right: 15px; }
.filter-label { font-weight: bold; margin-right: 5px; font-size: 0.85rem; }
.dash-table-wrapper { height: 400px; overflow-y: auto; min-width: 100%; }
.map-container { width: 100%; height: 650px; border-radius: 8px; }

/* Force monospace font across ALL table elements, overriding Dash defaults */
#rounds-table *,
#scorecard-table *,
#shot-detail-table * {
    font-family: monospace !important;
}

/* Ensure paragraph tags inside the markdown cells don't inherit Arial */
#scorecard-table p {
    font-family: monospace !important;
    margin: 0 !important;
    text-align: center !important;
}

#rounds-table p,
#scorecard-table p,
#shot-detail-table p {
    font-family: monospace !important;
    margin: 0 auto !important;
    text-align: center !important;
    
    /* Flexbox guarantees the inner div badges stay dead-center */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}