/* csv-viewer chrome styles — Bootstrap supplies the rest. Grid styles live
 * in src/grid/grid.css. */

.drop-zone {
    min-height: 200px;
    cursor: pointer;
    border-style: dashed !important;
    border-color: var(--bs-border-color);
    transition: all 0.15s ease-in-out;
}
.drop-zone:hover,
.drop-zone.drag-over {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-primary) !important;
}

/* Status bar — lower left. The grid renders its row counts into #status
 * (statusBar: element). */
#status-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    background: var(--bs-body-bg);
    border-top: 1px solid var(--bs-border-color);
    padding: 3px 12px;
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
    text-align: left;
}

/* Responsive navbar: below the lg breakpoint collapse the toolbar button
 * labels to their icons so the one-row toolbar stays usable down to phone
 * width (it wraps to a second row as a last resort). */
@media (max-width: 991.98px) {
    #toolbar .btn-label { display: none; }
}
@media (max-width: 575.98px) {
    #header-version { display: none; }
    #global-filter { max-width: none !important; }
}

/* Card chrome + viewport cap on the grid's scroll area (the grid itself
 * stays layout-neutral) */
#grid-root .csvgrid-scroll {
    max-height: calc(100vh - 195px);
    background: var(--bs-body-bg);
    border-radius: 0.375rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
