* { box-sizing: border-box; }

body {
    margin: 0;
    background: #f1f3f7;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #111827;
}

/* Sort radio — pill style */
#sort-radio {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}
#sort-radio input[type="radio"] { display: none; }
#sort-radio label {
    padding: 5px 16px;
    border-radius: 20px;
    border: 1px solid #d1d5db;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    user-select: none;
    line-height: 1.4;
}
#sort-radio input[type="radio"]:checked + label {
    background: #185fa5;
    color: #e6f1fb;
    border-color: #185fa5;
}
#sort-radio label:hover {
    border-color: #9ca3af;
}

/* Buy / View links in table */
.dash-cell a {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 6px;
    background: #e6f1fb;
    color: #185fa5 !important;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 500;
}
.dash-cell a:hover {
    background: #b5d4f4;
}

/* Dash DataTable container */
.dash-spreadsheet-container { border-radius: 0; }

/* KPI grid */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 28px 0;
}

/* Controls row */
.controls-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.store-filter-dropdown { width: 200px; min-width: 120px; }

/* ---- Mobile ---- */
@media (max-width: 600px) {
    .kpi-grid { gap: 8px; }
    .kpi-grid .kpi-label { font-size: 10px; }
    .kpi-grid .kpi-value { font-size: 20px; }

    /* Equal height cards — stretch inner card div to fill grid item */
    .kpi-grid > div { display: flex; }
    .kpi-grid > div > div { flex: 1; }

    /* Store filter — narrower on mobile to fit on same line */
    .store-filter-dropdown { width: 120px !important; min-width: 0; }
}

/* Hide DataTable toolbar (Toggle Columns / Export buttons) */
.show-hide { display: none !important; }
.export { display: none !important; }
