/* CRM – csak kiegészítések a CMS Bootstrap-designjához (saját arculat NINCS). */
.crm-timeline { list-style: none; padding-left: 0; margin: 0; }
.crm-timeline li { position: relative; padding: 0 0 1rem 1.75rem; border-left: 2px solid #dee2e6; margin-left: .5rem; }
.crm-timeline li::before { content: ''; position: absolute; left: -7px; top: .3rem; width: 12px; height: 12px; border-radius: 50%; background: var(--bs-primary, #0d6efd); }
.crm-timeline li:last-child { border-left-color: transparent; }
.crm-thumb { width: 120px; height: 120px; object-fit: cover; border-radius: .375rem; }
.crm-thumb-wrap { position: relative; display: inline-block; }
.crm-thumb-wrap .crm-thumb-del { position: absolute; top: 4px; right: 4px; }
.crm-upload-progress { height: 4px; }
.crm-sig-pad { width: 100%; height: 220px; border: 2px dashed #adb5bd; border-radius: .375rem; background: #fff; touch-action: none; }
.crm-slot-btn { min-width: 9rem; }
.crm-tetel-table input.form-control, .crm-tetel-table select.form-select { min-width: 5rem; }
.crm-nowrap { white-space: nowrap; }
.crm-color-dot { display: inline-block; width: .85rem; height: .85rem; border-radius: 50%; vertical-align: middle; }
@media (max-width: 767.98px) {
    .crm-tetel-table thead { display: none; }
    .crm-tetel-table tr { display: block; border-bottom: 1px solid #dee2e6; padding: .5rem 0; }
    .crm-tetel-table td { display: block; border: 0; padding: .25rem 0; }
}
/* Igényfelmérő: preferált napok választója */
.crm-naptar-racs { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.crm-naptar-fej { text-align: center; font-size: .75rem; font-weight: 600; color: #6c757d; padding-bottom: 2px; }
.crm-naptar-racs .crm-nap { width: 100%; padding: .3rem 0; text-align: center; }
.crm-nap-tiltott { display: block; color: #adb5bd; background: #f8f9fa; border-radius: .25rem; font-size: .875rem; cursor: not-allowed; }
.crm-naptar-racs .btn-check:disabled + .crm-nap { opacity: .35; }
/* Igényfelmérő lépéssor mobilon: csak a sorszámok, az aktív lépés a címével */
@media (max-width: 767.98px) {
    #igLepesek { flex-wrap: wrap !important; overflow: visible !important; }
    #igLepesek .nav-link:not(.active) .crm-lepes-cimke { display: none; }
    #igLepesek .nav-link { padding: .4rem .6rem; }
}

/* ---------- Admin keret: oldalsáv (asztali) + alsó sáv (mobil) – a CMS fejléce alatt ---------- */
.crm-admin-keret { display: flex; align-items: stretch; }
.crm-oldalsav { width: 250px; flex-shrink: 0; background: #fff; border-right: 1px solid #dee2e6; }
.crm-oldalsav-belso { position: sticky; top: 0; max-height: 100vh; overflow-y: auto; padding: 1rem .75rem 1rem; }
.crm-oldalsav-fej { padding: .25rem .75rem .75rem; margin-bottom: .75rem; border-bottom: 1px solid #dee2e6; font-size: 1.1rem; }
.crm-oldalsav-cim { padding: .75rem .75rem .25rem; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6c757d; }
.crm-oldalsav .nav-link, .crm-mobil-menu .nav-link { display: flex; align-items: center; gap: .65rem; padding: .35rem .75rem; font-size: .925rem; }
.crm-oldalsav .nav-link:not(.active), .crm-mobil-menu .nav-link:not(.active) { color: #495057; }
.crm-oldalsav .nav-link:not(.active):hover, .crm-mobil-menu .nav-link:not(.active):hover { background: #f1f3f5; }
.crm-oldalsav .nav-link i, .crm-mobil-menu .nav-link i { width: 1.25rem; text-align: center; }
.crm-fo { flex: 1 1 auto; min-width: 0; }
/* A CMS custom.css csak a main > .container.mt-5 elemet igazítja – a keretben itt adjuk meg a margót */
.crm-fo > .container { width: 100% !important; max-width: 100% !important; padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.crm-fo > .container > .container { width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 991.98px) {
    .crm-fo > .container { padding-left: 1rem !important; padding-right: 1rem !important; }
}
.crm-also-hely { height: 4.5rem; }
.crm-also-sav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; justify-content: space-around;
    background: #fff; border-top: 1px solid #dee2e6; padding: .35rem 0 calc(.35rem + env(safe-area-inset-bottom)); box-shadow: 0 -2px 8px rgba(0, 0, 0, .05); }
.crm-also-sav a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .7rem; color: #6c757d; text-decoration: none; }
.crm-also-sav a i { font-size: 1.1rem; }
.crm-also-sav a.active { color: var(--bs-primary, #0d6efd); font-weight: 600; }
.crm-also-jelveny { position: absolute; top: -6px; right: -12px; min-width: 1.1rem; padding: 0 .25rem; border-radius: 1rem; background: #dc3545; color: #fff; font-size: .6rem; line-height: 1.1rem; text-align: center; }
.crm-fab { position: fixed; right: 1rem; bottom: 8.5rem; z-index: 1031; }
.crm-fab-napiterv { position: fixed; right: 1rem; bottom: 4.75rem; z-index: 1031; width: 3.25rem; height: 3.25rem; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; }
.crm-fab > .btn { width: 3.25rem; height: 3.25rem; font-size: 1.25rem; }
/* Áttekintő: kompakt gyorsmenü-rács és listák */
.crm-gyors-racs { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; }
.crm-gyors-racs .btn { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .75rem .25rem; font-size: .8rem; }
.crm-gyors-racs .btn i { font-size: 1.15rem; }
/* Mobil térközök: a CMS custom.css 576 px alatt MINDEN .row gutterét és a .col-12 paddingját nullázza
   (a kezdőlap moduljai miatt) – a CRM oldalain (admin keret, portál, ajánlatkérő, tokenes oldalak)
   visszaállítjuk a Bootstrap-térközöket, különben a kártyák és a mezők összeérnek. */
@media (max-width: 576px) {
    .crm-fo .row, .crm-oldal .row { --bs-gutter-x: 1rem; margin-left: calc(-.5 * var(--bs-gutter-x)) !important; margin-right: calc(-.5 * var(--bs-gutter-x)) !important; }
    .crm-fo .row.g-0, .crm-oldal .row.g-0, .crm-fo .row.gx-0, .crm-oldal .row.gx-0 { --bs-gutter-x: 0; }
    .crm-fo .row.g-1, .crm-oldal .row.g-1 { --bs-gutter-x: .25rem; }
    .crm-fo .row.g-2, .crm-oldal .row.g-2 { --bs-gutter-x: .5rem; }
    .crm-fo .row.g-3, .crm-oldal .row.g-3 { --bs-gutter-x: 1rem; }
    .crm-fo .row.g-4, .crm-oldal .row.g-4 { --bs-gutter-x: 1.5rem; }
    .crm-fo .row > *, .crm-oldal .row > * { padding-left: calc(.5 * var(--bs-gutter-x)) !important; padding-right: calc(.5 * var(--bs-gutter-x)) !important; }
    .crm-fo .card-body, .crm-oldal .card-body { padding: .85rem; }
}
.crm-lista-sor { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.crm-lista-sor > div, .crm-lista-sor > span:first-child { min-width: 0; }

/* Vízszintesen görgethető fül- / menüsor látható görgetősáv nélkül (az overflow-auto a fülek 1 px-es
   kilógása miatt függőleges fel-le nyilakat rajzolt) */
.crm-vgorget { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; }
.crm-vgorget::-webkit-scrollbar { display: none; }
