/* Government Revenue & Spending by Country – Styles (LCU) */

.cre-container { width: 100%; }

/* Slider & Tooltip */
.cre-slider-container {
    position: relative;
    display: flex;
    align-items: center;
    padding: 15px 0 0 0;
    margin: 0 !important;
}
.cre-slider-container .cre-year-min,
.cre-slider-container .cre-year-max {
    width: 3em;
    text-align: center;
    font-size: 0.9em;
    font-weight: 500;
    color: #555;
}
.cre-slider-container input[type="range"] {
    flex: 1;
    margin: 0 0.5em;
    position: static;
    width: auto;
}
.cre-year-tooltip {
    position: absolute;
    top: -1.1em;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 6px;
    background: #333;
    color: #fff;
    font-size: 0.8em;
    border-radius: 3px;
    white-space: nowrap;
    pointer-events: none;
    z-index: 10;
}

/* Table wrapper */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Base table */
.sortable-ranking-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 335px;
}
@media screen and (max-width: 600px) {
    .sortable-ranking-table { font-size: 17px; }
}

/* Caption (helps SEO & accessibility) */
.sortable-ranking-table caption {
    text-align: left;
    padding: 8px 0;
    font-size: 0.95em;
    color: #444;
}

/* Header */
.sortable-ranking-table thead th {
    background-color: #f4f0f0;
    cursor: pointer;
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #dcd9d9;
    white-space: nowrap;
}

/* Zebra striping */
.sortable-ranking-table tbody tr:nth-child(odd),
.tablesorter-default tr.odd > td { background-color: #ffffff; }
.sortable-ranking-table tbody tr:nth-child(even),
.tablesorter-default tr.even > td { background-color: #f9f6f6; }

/* Cells */
.sortable-ranking-table tbody td {
    padding: 8px;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
}

/* Country column: keep on one line */
.cre-country, .cre-country a { white-space: nowrap; }

/* Flag */
.country-flag {
    width: 20px;
    height: auto;
    vertical-align: middle;
    margin-right: 0.5em;
}

/* Sort icon */
.sort-icon { color: #999; }

/* Search input */
.table-search {
    margin: 15px 0 0 !important;
    padding: 8px !important;
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 1em !important;
    box-sizing: border-box;
}

/* Source paragraph */
.table-source {
    margin-top: 15px;
    font-size: 0.9em;
    color: #666;
}

/* Active sort state */
.sortable-ranking-table thead th.asc,
.sortable-ranking-table thead th.desc { color: #333; }

/* Numbers: color only, no bold/background */
.cre-revenue,
.cre-expense,
.cre-balance {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.cre-balance.positive { color: #059669; font-weight: 400; }
.cre-balance.negative { color: #dc2626; font-weight: 400; }

/* Local Currency column (no wrap, inherit typography) */
.cre-ccy,
.cre-ccy a {
    text-align: left;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    font-family: inherit;
}
.cre-topline {
	margin: 20px auto auto auto;
}
