@media (max-width: 960px) {
    .responsive-grid-workaround .mud-table-container {
        width: 100% !important;
    }
}

.responsive-logo-text {
    width: auto;
    font-size: 1.2rem;
}

@media (max-width: 430px) {
    .responsive-logo-text {
        width: min-content;
        font-size: 1rem;
    }
}

@font-face {
    font-family: 'Caliban';
    src: url('/fonts/Caliban') format('ttf');
    font-weight: normal;
    font-style: normal;
}

.logo-text {
    font-family: 'Caliban', sans-serif;
}
/* ---------------- Yard inventory map ---------------- */
.yard-map-wrap { position: relative; width: 100%; background: #263238; border-radius: 6px; overflow: hidden; }
.yard-map { width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; user-select: none; }
.yard-map:active { cursor: grabbing; }
.yard-map-wrap.drawing .yard-map { cursor: crosshair; }
.yard-map-wrap.drawing .yard-loc, .yard-map-wrap.drawing .yard-area { pointer-events: none; }
.yard-map-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 24px; background: var(--mud-palette-background-grey); }
.yard-map-controls { position: absolute; top: 8px; right: 8px; display: flex; flex-direction: column; background: var(--mud-palette-surface); border-radius: 6px; box-shadow: var(--mud-elevation-2); }
.yard-map-hint { position: absolute; left: 8px; bottom: 8px; padding: 6px 10px; border-radius: 6px; background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font-size: 0.85rem; display: flex; align-items: center; box-shadow: var(--mud-elevation-2); }
.yard-area polygon { fill-opacity: 0.06; stroke-width: 3px; stroke-dasharray: 10 6; vector-effect: non-scaling-stroke; }
.yard-area-label { paint-order: stroke; stroke: rgba(255,255,255,0.85); stroke-width: 4px; font-weight: 600; pointer-events: none; }
.yard-loc { cursor: pointer; }
.yard-loc polygon { fill-opacity: 0.5; stroke-width: 2px; vector-effect: non-scaling-stroke; transition: fill-opacity 0.15s; }
.yard-loc:hover polygon { fill-opacity: 0.7; }
.yard-loc.empty polygon { fill-opacity: 0.18; stroke-dasharray: 6 4; }
.yard-loc.negative polygon { stroke: #E53935 !important; stroke-width: 3px; stroke-dasharray: 4 3; }
.yard-loc.inactive polygon { fill-opacity: 0.08; stroke-opacity: 0.4; }
.yard-loc.selected polygon { stroke-width: 4px; fill-opacity: 0.75; filter: drop-shadow(0 0 6px rgba(255,255,255,0.9)); }
.yard-label { fill: #ffffff; paint-order: stroke; stroke: rgba(0,0,0,0.75); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; font-family: Roboto, sans-serif; }
.yard-label-kg { font-weight: 500; }
.yard-vertex { fill: #ffffff; stroke: #1E88E5; stroke-width: 2px; vector-effect: non-scaling-stroke; cursor: move; }
.yard-vertex.draft { stroke: #ffffff; cursor: default; }
.yard-draft { fill: none; stroke-width: 3px; vector-effect: non-scaling-stroke; }
.yard-draft-close { stroke-dasharray: 8 6; opacity: 0.7; }
.yard-color-swatch { width: 26px; height: 26px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; display: inline-block; margin: 2px; }
.yard-color-swatch.selected { border-color: var(--mud-palette-text-primary); box-shadow: 0 0 0 2px var(--mud-palette-surface) inset; }
.yard-thumb { width: 100%; height: 160px; object-fit: cover; border-radius: 4px 4px 0 0; background: #263238; }
.yard-stock-bar { height: 8px; border-radius: 4px; background: var(--mud-palette-lines-default); overflow: hidden; }
.yard-stock-bar > div { height: 100%; }
