/* 
 * App Premium Styles
 * Centralized styles for Kart-Manager Dashboard, Ranking and Details
 */

body { padding-top: 80px; background-color: #f8f9fa; }

/* Utility Classes */
.badge-mono { font-family: 'Courier New', monospace; font-weight: bold; }
.text-normal { font-family: 'Inter', sans-serif; font-weight: 500; }

/* Dashboard Cards */
.race-card { transition: transform 0.2s; cursor: pointer; border-radius: 10px; }
.race-card:hover { transform: scale(1.01); box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important; }
.factor-value { font-weight: bold; color: #0d6efd; }

.location-container {
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    white-space: nowrap;
}

.text-truncate-custom {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Ranking Table */
.rank-1 { background-color: #fff7d6 !important; font-weight: bold; }
.rank-badge { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-weight: bold; }
.bg-gold { background: #ffd700; color: #000; }
.bg-silver { background: #c0c0c0; color: #000; }
.bg-bronze { background: #cd7f32; color: #fff; }
.elo-value { font-weight: bold; color: #6f42c1; font-size: 1.1em; }
.opacity-60 { opacity: 0.6; }

th.sortable { cursor: pointer; user-select: none; position: relative; color: #fff; transition: color 0.2s; }
th.sortable:hover { background-color: #495057 !important; color: #ffc107 !important; }
th.sortable.sort-active { color: #ffc107 !important; text-decoration: underline; font-weight: bold; }
th.sortable::after { content: ' \21c5'; font-size: 0.8em; opacity: 0.5; margin-left: 4px; }
th.sortable[data-order="asc"]::after { content: ' \25b2'; opacity: 1; color: #ffc107; }
th.sortable[data-order="desc"]::after { content: ' \25bc'; opacity: 1; color: #ffc107; }

.thead-premium {
    background-color: #212529 !important;
    color: #ffffff !important;
}
.thead-premium th {
    background-color: #212529 !important;
    color: #ffffff !important;
    border: none !important;
}

/* Driver Details */
.elo-plus { color: #28a745; font-weight: bold; }
.elo-minus { color: #dc3545; font-weight: bold; }
.stats-card { border-left: 5px solid #6f42c1; background: white; }
.pos-trend-up { color: #28a745; font-size: 0.8rem; font-weight: bold; }
.pos-trend-down { color: #dc3545; font-size: 0.8rem; font-weight: bold; }
.pos-box-start { width: 30px; text-align: right; }
.pos-box-arrow { width: 22px; text-align: center; }
.pos-box-ziel { width: 42px; text-align: center; }
.pos-box-trend { width: 30px; text-align: left; }
.x-small { font-size: 0.7rem !important; }

/* Lap Highlighting */
.bestzeit { font-weight: bold; background-color: #8fce00 !important; color: #000; }
.konstanz-zeit { background-color: #e6ffcc !important; }
.langsam-zeit-gelb { background-color: #fff3cd !important; color: #856404; }
.langsam-zeit-orange { background-color: #ffdfa3 !important; color: #856404; }

/* Data Tables */
.table-details { font-weight: 500; }
.avg-row { background-color: #f8f9fa; font-style: italic; font-size: 0.9em; }
