/**
 * HOD Odds Client - Frontend Styles
 */

:root {
    --hod-bg-header: #f5f5f5;
    --hod-bg-info: #f5f5f5;
    --hod-text-primary: #333;
    --hod-text-secondary: #666;
    --hod-text-market: #222;
    --hod-border-color: #e0e0e0;
    --hod-bg-table: #fff;
    --hod-shadow-table: rgba(0,0,0,0.1);
    --hod-bg-th: #fafafa;
    --hod-color-odds: #fff;
    --hod-bg-odds: #1976d2;
    --hod-bg-hover: #fff;
    --hod-color-error: #c62828;
    --hod-color-hightlight: rgb(36 231 36);
    --hod-color-hightlight-text: var( --hod-text-primary );
    --hod-bg-error: #ffebee;
    --hod-border-info: #9e9e9e;
}

.hod-odds-wrapper {
    max-width: 100%;
    margin: 20px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.hod-match-header {
    background: var(--hod-bg-header);
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 20px;
}

.hod-match-teams {
    margin: 0 0 10px 0;
    font-size: 1.5em;
    color: var(--hod-text-primary);
}

.hod-market {
    margin-bottom: 30px;
}

.hod-market-name {
    font-size: 1.2em;
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--hod-border-color);
    color: var(--hod-text-market);
}

.hod-match-meta {
    font-size: 0.9em;
    margin: 0 0 10px 0;
}

.hod-table-wrapper {
    overflow-x: auto;
}

.hod-odds-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--hod-bg-table);
    box-shadow: 0 1px 3px var(--hod-shadow-table);
}

.hod-odds-table th,
.hod-odds-table td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--hod-border-color);
    white-space: nowrap;
}

.hod-odds-table th:not(:first-child),
.hod-odds-table tbody td:not(:first-child) {
    text-align: center;
}

.hod-odds-table th:first-child,
.hod-odds-table tbody td:first-child {
    text-align: left;
    position: sticky;
    left: 0;
    z-index: 1;
}

.hod-odds-table th:first-child {
    z-index: 2;
}

.hod-odds-table th {
    background: var(--hod-bg-th);
    font-weight: 600;
    color: var(--hod-text-secondary);
}

.hod-odds-table tbody tr {
    &:hover {
        background: var(--hod-bg-hover);
    }

    td:first-child {
        background: var(--hod-bg-table);
    }
}

.hod-selection {
    font-weight: 500;
    color: var(--hod-text-primary);
}

.hod-odds {
    font-family: "Courier New", monospace;
    font-weight: 600;
}

.hod-odds-value {
    background: var(--hod-bg-odds);
    padding: 6px 14px;
    border-radius: 6px;
    display: inline-block;
    min-width: 50px;
    color: white;
    text-decoration: none;
}

a.hod-odds-value {
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
    transform: perspective(1px) translateZ(0);
    transition-duration: 0.3s;
    transition-property: transform;

    &:hover {
        transform: scale(1.1);
    }
}

.hod-best-odd {
    background-color: var(--hod-color-hightlight);
    color: var(--hod-color-hightlight-text);
}

.hod-error {
    color: var(--hod-color-error);
    padding: 15px;
    background: var(--hod-bg-error);
    border-left: 4px solid var(--hod-color-error);
    margin: 10px 0;
}

.hod-info {
    color: var(--hod-text-secondary);
    padding: 15px;
    background: var(--hod-bg-info);
    border-left: 4px solid var(--hod-border-info);
    margin: 10px 0;
}

.hod-last-updated {
    color: var(--hod-text-secondary);
    font-size: 0.85em;
    text-align: right;
    margin-top: 15px;
    padding: 6px 0;
}

/* Split diagonal header */
thead th.hod-split-header {
    position: relative;
    background-image: linear-gradient(to left bottom, var(--hod-bg-th) 49%, var(--hod-border-color) 50%, var(--hod-bg-th) 51%);
    background-size: 100% 100%;
    min-width: 150px;
    width: 170px;
}

.hod-split-header .hod-label-provider {
    position: absolute;
    bottom: 4px;
    left: 8px;
    font-weight: 600;
    color: var(--hod-text-secondary);
    font-size: 0.9em;
}

.hod-split-header .hod-label-outcome {
    position: absolute;
    top: 4px;
    right: 8px;
    font-weight: 600;
    color: var(--hod-text-secondary);
    font-size: 0.9em;
}

/* Responsive */
@media screen and (max-width: 600px) {
    .hod-odds-table {
        font-size: 0.9em;
    }

    .hod-odds-table th,
    .hod-odds-table td {
        padding: 8px 10px;
    }

    .hod-split-header .hod-label-provider,
    .hod-split-header .hod-label-outcome {
        font-size: 0.8em;
    }
}
