body { background: #f4f6f9; }
.map { height: 320px; border: 1px solid #dee2e6; border-radius: .375rem; z-index: 0; }
.map-search { height: 380px; }
.map .ol-viewport { border-radius: .375rem; }
.map .ol-attribution { font-size: .7rem; }
.map-tip { display: none; background: #212529; color: #fff; font-size: .8rem; padding: .2rem .5rem; border-radius: .25rem; white-space: nowrap; pointer-events: none; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.suggest-box { z-index: 1050; display: none; max-height: 260px; overflow-y: auto; }
.suggest-box .list-group-item { font-size: .9rem; padding: .4rem .75rem; }
.machinery-picker .mp-list { max-height: 460px; overflow-y: auto; border: 1px solid #dee2e6; border-radius: .375rem; padding: .25rem .75rem .5rem; background: #fff; }
.machinery-picker .mp-group-title { font-weight: 600; margin-top: .6rem; display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #eee; padding-bottom: .15rem; }
.machinery-picker .form-check { margin: .15rem 0; }
.result-row { border: 1px solid #dee2e6; border-radius: .375rem; padding: .5rem .75rem; margin-bottom: .5rem; background: #fff; }
.result-row.muted { opacity: .75; background: #f8f9fa; }
.form-check-input.lg { transform: scale(1.35); margin-right: .5rem; flex-shrink: 0; }
.sticky-actions { position: sticky; bottom: 0; background: rgba(255,255,255,.96); border-top: 1px solid #dee2e6; padding: .75rem 1rem; z-index: 100; border-radius: .375rem .375rem 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.05); }
.badge-ch { font-weight: 500; }
.login-card { max-width: 440px; margin: 8vh auto; }
.table-sm td, .table-sm th { vertical-align: middle; }
#pointsList .input-group-text { font-family: ui-monospace, monospace; font-size: .8rem; }
.ts-wrapper.form-select { padding: 0; }

/* Карточки групп техники */
.group-card { transition: border-color .15s, box-shadow .15s; }
.group-card:hover { border-color: #0d6efd; box-shadow: 0 0 0 .2rem rgba(13,110,253,.12); }

/* Вид группы чата «партнёрская» */
.bg-purple { background-color: #6f42c1 !important; color: #fff; }
.border-purple { border-color: #6f42c1 !important; }
.text-purple { color: #6f42c1 !important; }
.partner-fields { background: #f6f2fc; }
