/* ==========================================================================
   CMMS UNIFIED STYLESHEET (SAFE MERGE)
   Verzió: 2.2 (Complete & Copy-Paste Ready)
   Tartalmazza: style.css (eredeti) + style_enterprise_patch.css (dizájn)
   ========================================================================== */

/* ===============================
   1. VARIABLES & THEME TOKENS
   =============================== */

:root {
    /* --- Eredeti változók --- */
    --navbar-height: 56px;
    
    /* --- Enterprise Patch Színpaletta (CMMS) --- */
    --cmms-primary: #2F5D8C;       /* Graphite Blue */
    --cmms-primary-hover: #254A70;
    
    --cmms-success: #1F7A5C;       /* Deep Green */
    --cmms-warning: #C48A00;       /* Dark Yellow/Gold */
    --cmms-danger: #B42318;        /* Vivid Red */
    --cmms-stock-out: #D97706;     /* Orange – kiadás modal (nem piros) */
    
    --cmms-text-primary: #1F2933;
    --cmms-text-secondary: #52606D;
    
    /* --- Layout Színek (Enterprise alapok) --- */
    --cmms-body-bg: #F3F5F7;
    --cmms-card-bg: #FFFFFF;
    --cmms-border: #D8DEE4;
    
    /* --- Mapping a régi változókra (Kompatibilitás) --- */
    --body-bg: var(--cmms-body-bg);
    --card-bg: var(--cmms-card-bg);
    --card-border-color: var(--cmms-border);
    
    --sidebar-bg: #FFFFFF;
    --sticky-bar-bg: rgba(255, 255, 255, 0.95); /* Glass effect */
    --bottom-bar-bg: #dee2e6; /* Sötétebb a tartalomnál, hogy rögtön látszódjon */
    --input-bg: #FFFFFF;
    --input-color: #1F2933;
    
    /* --- Table Header Specifics --- */
    --table-header-bg: #F8FAFC;
    --table-header-border: #d1d5db;
}

/* --- DARK MODE (Kombinált logika) --- */
[data-bs-theme="dark"] {
    /* Enterprise Dark Palette */
    --cmms-primary: #4C78A8;
    --cmms-primary-hover: #3E628A;
    
    --cmms-stock-out: #EA580C;     /* Világosabb narancs dark módban – jobb kontraszt */
    
    --cmms-text-primary: #E6EDF3;
    --cmms-text-secondary: #9AA5B1;
    
    --cmms-body-bg: #0D1117;       /* Darker body */
    --cmms-card-bg: #161B22;       /* Slightly lighter cards */
    --cmms-border: #30363D;
    
    /* Mapping */
    --body-bg: var(--cmms-body-bg);
    --card-bg: var(--cmms-card-bg);
    --card-border-color: var(--cmms-border);
    
    --sidebar-bg: #161B22;
    --sticky-bar-bg: rgba(22, 27, 34, 0.95);
    --bottom-bar-bg: #21262d; /* Világosabb a sötét háttérnél */
    --input-bg: #0D1117;
    --input-color: #E6EDF3;
    
    --table-header-bg: #212529;
    --table-header-border: #495057;

    /* Bootstrap Overrides */
    body { color: var(--cmms-text-primary); background-color: var(--body-bg); }
    .text-dark { color: #f8f9fa !important; }
    .text-muted { color: #9AA5B1 !important; }
    .bg-white { background-color: var(--card-bg) !important; color: var(--cmms-text-primary) !important; }
    .bg-light { background-color: #21262d !important; color: var(--cmms-text-primary) !important; }
    
    .border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--card-border-color) !important; }
    
    /* Form Elements Dark */
    .form-control, .form-select, .input-group-text {
        background-color: var(--input-bg);
        border-color: var(--cmms-border);
        color: var(--input-color);
    }
    .form-control:focus, .form-select:focus {
        background-color: #1c2128;
        color: #fff;
        border-color: var(--cmms-primary);
    }
    .form-control:disabled, .form-control[readonly] {
        background-color: #21262d;
        opacity: 0.6;
    }
    
    .table { --bs-table-color: var(--cmms-text-primary); --bs-table-hover-color: #fff; border-color: var(--cmms-border); }
    .modal-content { background-color: var(--card-bg); border-color: var(--cmms-border); }
    .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
    
    .btn-outline-dark { color: #e9ecef; border-color: #6c757d; }
    .btn-outline-dark:hover { background-color: #495057; color: #fff; }
}

/* Képmodal: nagy felbontású kép se legyen nagyobb a nézetnél (gépek, alkatrészek) */
.img-modal-fit,
#imageModal img.img-fluid,
#partImageModal img.img-fluid {
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Képmodal: a dialog mérete egyezzen a képpel (kép mellé kattintva = backdrop = bezár) */
#imageModal .modal-dialog,
#partImageModal .modal-dialog {
    width: fit-content;
    max-width: calc(100vw - 2rem);
    margin-left: auto;
    margin-right: auto;
}
#imageModal .modal-content,
#partImageModal .modal-content {
    width: fit-content;
}
#imageModal .modal-body,
#partImageModal .modal-body {
    position: relative;
    padding: 0;
}
/* X gomb a kép jobb felső sarkában, mindig kattintható */
#imageModal .modal-content .btn-close,
#partImageModal .modal-content .btn-close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 10;
    opacity: 0.9;
}

/* ===============================
   2. GLOBAL BODY & TYPOGRAPHY
   =============================== */

body {
    background-color: var(--cmms-body-bg);
    color: var(--cmms-text-primary);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

a { text-decoration: none; transition: color 0.2s ease; }

/* Scrollbar (Webkit) */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #BDC3C7; border-radius: 4px; }
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb { background: #30363D; }

/* Navbar brand: gyűrű logó – belseje = navbar háttér; külső perem lágyan átmegy az árnyékba */
.navbar-brand-circle {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: #E9EEF3;
  border: none;
  box-shadow:
    0 0 0 1.5px rgba(47, 93, 140, 0.9),
    0 0 0 3px rgba(47, 93, 140, 0.4),
    0 0 8px 2px rgba(47, 93, 140, 0.35),
    0 0 16px 4px rgba(47, 93, 140, 0.2),
    0 0 24px 8px rgba(47, 93, 140, 0.1);
  flex-shrink: 0;
}
[data-bs-theme="dark"] .navbar-brand-circle {
  background-color: #1B222B;
  box-shadow:
    0 0 0 1.5px rgba(76, 120, 168, 0.9),
    0 0 0 3px rgba(76, 120, 168, 0.45),
    0 0 8px 2px rgba(76, 120, 168, 0.4),
    0 0 16px 4px rgba(76, 120, 168, 0.25),
    0 0 24px 8px rgba(76, 120, 168, 0.12);
}

/* Navbar Enterprise Tone: alsó szegély a +új gomb kékjével, árnyék kék → háttér átmenet */
.navbar {
    background-color: #E9EEF3 !important;
    border-bottom: 2px solid var(--cmms-primary) !important;
    height: var(--navbar-height);
    box-shadow: 0 3px 10px rgba(47, 93, 140, 0.38), 0 6px 20px rgba(47, 93, 140, 0.12) !important;
}
[data-bs-theme="dark"] .navbar {
    background-color: #1B222B !important;
    box-shadow: 0 3px 10px rgba(76, 120, 168, 0.45), 0 6px 20px rgba(76, 120, 168, 0.18) !important;
}

/* Területek: nincs jogosultság sorok – háttér = alap/oldal háttér (nem a táblázat kártyáé) */
tr.area-no-permission,
tr.area-no-permission td { background-color: var(--cmms-body-bg) !important; }
[data-bs-theme="dark"] tr.area-no-permission,
[data-bs-theme="dark"] tr.area-no-permission td { background-color: var(--cmms-body-bg) !important; }

/* Maintenance szűrő blokk: egyezzen a navbar háttérszínével */
.filter-card {
    background-color: #E9EEF3 !important;
}
[data-bs-theme="dark"] .filter-card {
    background-color: #1B222B !important;
}

/* Maintenance filter: chipek és mezők az oldal alapháttér színével (Kedvencek is = .btn-chip) */
.filter-card .chip-toggle,
.filter-card .btn-chip {
    background-color: var(--cmms-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
.filter-card .mobile-search-group .form-control,
.filter-card .mobile-search-group .input-group-text,
.filter-card .maintenance-filter-control,
.filter-card .maintenance-filter-control-group .input-group-text,
.filter-card .maintenance-filter-control-group .form-control {
    background-color: var(--cmms-body-bg) !important;
}

/* Maintenance dashboard: gyorsszűrő gombok és chipek az alapháttérrel (mint a többi lista oldalon) */
.filter-card .maint-dash-date-quick,
.filter-card .maint-dash-chip {
    background-color: var(--cmms-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
.filter-card .maint-dash-date-quick.active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.filter-card .maint-dash-chip.chip-active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.filter-card .inv-dash-date-quick,
.filter-card .inv-dash-chip {
    background-color: var(--cmms-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
.filter-card .inv-dash-date-quick.active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.filter-card .inv-dash-chip.chip-active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.filter-card .btn-chip.chip-active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
/* Napló: gyorsszűrő + irány = Gépek/Tárhely chip (hover / aktív) */
.filter-card .stock-quick-date,
.filter-card .stock-direction-btn {
    background-color: var(--cmms-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
.filter-card .stock-quick-date:hover,
.filter-card .stock-direction-btn:hover {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.filter-card .stock-quick-date.chip-active,
.filter-card .stock-direction-btn.chip-active {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
    box-shadow: none !important;
}
.filter-card .stock-quick-date.chip-active:focus-visible,
.filter-card .stock-direction-btn.chip-active:focus-visible {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
}
.filter-card .planning-date-quick.chip-active .planning-quick-active-badge {
    background-color: rgba(255, 255, 255, 0.25) !important;
    color: #fff !important;
}
/* Szűrő badge-ek a kártya alatt: ugyanaz az alapháttér */
#maint-dash-active-filters .filter-badge {
    background-color: var(--cmms-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
#maint-dash-active-filters .filter-badge:hover {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
#maint-dash-active-filters .badge {
    background-color: var(--cmms-body-bg) !important;
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}
#dashboard-active-filters .filter-badge {
    background-color: var(--cmms-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
#dashboard-active-filters .filter-badge:hover {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}

/* 1. szűrősor: desktopon egy sorban marad (kereső, chipek, dátum, Alaphelyzet) */
@media (min-width: 992px) {
    .maintenance-filter-first-row {
        flex-wrap: nowrap;
    }
}

.navbar .nav-link { color: var(--cmms-text-secondary) !important; font-weight: 500; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--cmms-primary) !important; font-weight: 600; }
.navbar .nav-link.active { background-color: rgba(47, 93, 140, 0.12) !important; border-radius: 6px; }
[data-bs-theme="dark"] .navbar .nav-link.active { background-color: rgba(76, 120, 168, 0.2) !important; }

/* Navbar dropdown: ugyanolyan háttér mint a navbar, kék szegély + kék→háttér átmenetű árnyék, jobbra mobilon, hover desktopon */
.navbar .dropdown-menu {
  z-index: 1040;
  background-color: #E9EEF3 !important;
  border: 2px solid var(--cmms-primary);
  box-shadow: 0 3px 10px rgba(47, 93, 140, 0.35), 0 8px 24px rgba(47, 93, 140, 0.14);
}
[data-bs-theme="dark"] .navbar .dropdown-menu {
  background-color: #1B222B !important;
  border: 2px solid var(--cmms-primary);
  box-shadow: 0 3px 10px rgba(76, 120, 168, 0.4), 0 8px 24px rgba(76, 120, 168, 0.2);
}

/* Értesítések: még nem látott (harang megnyitása előtt) – light: sötétebb, dark: világosabb */
.notifications-dropdown-menu .list-group-item.notification-item-unread {
  background-color: #E5E9EF;
}
.notifications-dropdown-menu .list-group-item.notification-item-unread:hover {
  background-color: #D8DEE4;
}
[data-bs-theme="dark"] .notifications-dropdown-menu .list-group-item.notification-item-unread {
  background-color: #242D38;
}
[data-bs-theme="dark"] .notifications-dropdown-menu .list-group-item.notification-item-unread:hover {
  background-color: #2D3844;
}

/* Mobil: nyelv/értesítés/profil dropdownok ne lógjanak balra – fix jobb szélhez igazítva */
@media (max-width: 991.98px) {
  .navbar .dropdown-menu {
    left: auto !important;
    right: 1rem !important;
    min-width: 12rem;
    max-width: calc(100vw - 2rem);
    position: fixed !important;
    top: calc(var(--navbar-height) + 0.25rem) !important;
  }
}

/* Mobil offcanvas menü: max 70% széles, fejléc = navbar magasság, tömör háttér */
#navOffcanvas.offcanvas { width: 70vw !important; max-width: 70vw !important; background-color: #ffffff !important; }
#navOffcanvas .offcanvas-header { min-height: var(--navbar-height); height: var(--navbar-height); align-items: center; border-bottom: 2px solid var(--cmms-primary-hover) !important; }
[data-bs-theme="dark"] #navOffcanvas.offcanvas { background-color: #161B22 !important; }
#navOffcanvas .nav-offcanvas-section-title {
  padding: 0.5rem 1rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--cmms-text-secondary);
  cursor: default;
  user-select: none;
  pointer-events: none;
  margin-top: 0.5rem;
}
#navOffcanvas .nav-offcanvas-section-title:first-child { margin-top: 0; }
#navOffcanvas .nav-link { color: var(--cmms-text-primary); }
#navOffcanvas .nav-link.active { background-color: rgba(47, 93, 140, 0.12); color: var(--cmms-primary); font-weight: 600; }
[data-bs-theme="dark"] #navOffcanvas .nav-link.active { background-color: rgba(76, 120, 168, 0.2); }
@media (min-width: 992px) {
  .navbar .nav-dropdown-hover:hover .dropdown-menu { display: block !important; }
}
/* Kiválasztott oldal a dropdownban: ne térjen el a betű színe a többitől */
.navbar .dropdown-item.active { background-color: rgba(47, 93, 140, 0.15); color: inherit !important; font-weight: inherit !important; }
[data-bs-theme="dark"] .navbar .dropdown-item.active { background-color: rgba(76, 120, 168, 0.25); color: inherit !important; font-weight: inherit !important; }

/* ===============================
   3. COMPONENTS (EREDETI + PATCH)
   =============================== */

/* Cards (Enterprise Style) */
.card {
    background-color: var(--cmms-card-bg);
    border: 1px solid var(--cmms-border);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}
.card-header {
    background-color: #F8FAFC;
    border-bottom: 1px solid var(--cmms-border);
    font-weight: 600;
}
[data-bs-theme="dark"] .card-header { background-color: #242D38; }

/* Alkatrész adatlap – Készlet kártya: dark módban a táblázat fejléc/láb és a card-footer ne legyen fehér, egyezzen az alapadatok sor stílusával */
[data-bs-theme="dark"] .part-details-stock-card .table thead.table-light,
[data-bs-theme="dark"] .part-details-stock-card .table thead.table-light th,
[data-bs-theme="dark"] .part-details-stock-card .table tfoot.table-light,
[data-bs-theme="dark"] .part-details-stock-card .table tfoot.table-light td {
    background-color: var(--cmms-card-bg) !important;
    color: var(--cmms-text-primary) !important;
    border-color: var(--cmms-border);
}
[data-bs-theme="dark"] .part-details-stock-card .table thead.table-light {
    border-bottom-color: var(--cmms-border);
}
[data-bs-theme="dark"] .part-details-stock-card .card-footer.bg-light {
    background-color: var(--cmms-card-bg) !important;
    color: var(--cmms-text-secondary);
    border-top-color: var(--cmms-border);
}

/* Buttons */
.btn-primary {
    background-color: var(--cmms-primary);
    border-color: var(--cmms-primary);
    font-weight: 600;
}
.btn-primary:hover {
    background-color: var(--cmms-primary-hover);
    border-color: var(--cmms-primary-hover);
}
.btn-outline-secondary {
    border-color: var(--cmms-border);
    color: var(--cmms-text-secondary);
}

/* ===============================
   4. BADGE SYSTEM (ENTERPRISE)
   =============================== */

/* Base overrides */
.badge {
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 0.4em 0.7em;
    border-radius: 6px;
}

/* Solid Badges (Bootstrap Override - Critical for Enterprise Look) */
.badge.bg-success { background-color: var(--cmms-success) !important; color: #fff !important; }
.badge.bg-warning { background-color: var(--cmms-warning) !important; color: #fff !important; }
.badge.bg-danger { background-color: var(--cmms-danger) !important; color: #fff !important; }
.badge.bg-primary { background-color: var(--cmms-primary) !important; color: #fff !important; }
.badge.bg-secondary { background-color: #6B7280 !important; color: #fff !important; }
.badge.bg-light { background-color: #E5E7EB !important; color: #1F2933 !important; border: 1px solid var(--cmms-border); }
[data-bs-theme="dark"] .badge.bg-light { background-color: #2E3A45 !important; color: #E6EDF3 !important; }

/* Status Badges (Macro Use - Pastel/Soft) */
.status-badge { padding: 0.35em 0.65em; font-size: 0.75em; font-weight: 700; border-radius: 6px; text-transform: uppercase; letter-spacing: 0.5px; }

.status-badge-success { background-color: #d1e7dd; color: #0f5132; }
[data-bs-theme="dark"] .status-badge-success { background-color: #051b11; color: #75b798; border: 1px solid #0f5132; }

.status-badge-warning { background-color: #fff3cd; color: #664d03; }
[data-bs-theme="dark"] .status-badge-warning { background-color: #332701; color: #ffda6a; border: 1px solid #664d03; }

.status-badge-danger { background-color: #f8d7da; color: #842029; }
.status-badge-scrapped { background-color: var(--cmms-danger) !important; color: #fff !important; border: none; }
[data-bs-theme="dark"] .status-badge-danger { background-color: #2c0b0e; color: #ea868f; border: 1px solid #842029; }
[data-bs-theme="dark"] .status-badge-scrapped { background-color: var(--cmms-danger) !important; color: #fff !important; }

.status-badge-secondary { background-color: #e2e3e5; color: #41464b; }
[data-bs-theme="dark"] .status-badge-secondary { background-color: #383c41; color: #adb5bd; border: 1px solid #495057; }

/* Gép alapadatok/blokkok: view és edit egyaránt kompakt (ugyanolyan betűméret) */
.machine-basic-blocks .list-group-item {
    font-size: 0.875rem;
}
.machine-basic-blocks .list-group-item .form-control,
.machine-basic-blocks .list-group-item .form-select {
    font-size: 0.875rem;
}
/* Alapadatok és Besorolás listák egy magasságban (view), sorok ne nyúljanak */
.machine-view-mode .list-group.machine-equal-height {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.machine-view-mode .list-group.machine-equal-height .list-group-item {
    flex: 0 0 auto;
}

/* ===============================
   5. UI UTILITIES (EREDETI FÁJLBÓL)
   =============================== */

.collapse-chevron { transition: transform 0.2s ease; }
[aria-expanded="true"] .collapse-chevron { transform: rotate(180deg); }

/* Inheritance Icons */
.input-group-text.inherited-icon {
    border-color: var(--card-border-color);
    min-width: 42px;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.03);
    padding: 0 0.5rem;
    display: flex;
    align-items: center;
}
[data-bs-theme="dark"] .input-group-text.inherited-icon {
    background-color: rgba(255, 255, 255, 0.05);
    border-color: var(--cmms-border);
}
.inherited-type i { color: #fd7e14; font-size: 1.1em; }
.inherited-group i { color: #0d6efd; font-size: 1.1em; }

/* Context Badge */
.context-badge {
    font-size: 0.75rem; padding: 0.25em 0.6em; border-radius: 4px;
    background-color: rgba(0,0,0,0.05); color: var(--bs-body-color);
    display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; border: 1px solid transparent;
}
[data-bs-theme="dark"] .context-badge { background-color: rgba(255,255,255,0.1); }

/* Hero Img & Timeline */
.hero-img { width: 100%; max-width: 180px; aspect-ratio: 1/1; object-fit: cover; border-radius: 8px; border: 1px solid var(--card-border-color); background-color: var(--card-bg); }
.timeline-icon { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; flex-shrink: 0; font-size: 0.9rem; }

/* Mobile Cards */
.mobile-card { background-color: var(--card-bg); border: 1px solid var(--card-border-color); border-radius: 8px; padding: 0.75rem; margin-bottom: 0.5rem; }
/* Raktár lista mobil kártya: kompakt (gépek mintájára) */
/* Raktár lista mobil kártya: karbantartás stílusú (színes bal keret), card + card-body, badge nélkül */
.parts-mobile-card { background-color: var(--card-bg); border-radius: 8px; }
.parts-mobile-card .fw-bold.text-dark { font-size: 0.95rem; }
.parts-mobile-card .card-body { font-size: 0.9rem; }
.parts-mobile-card .small { font-size: 0.8rem; }
.parts-mobile-card .row.g-2 { --bs-gutter-y: 0.25rem; --bs-gutter-x: 0.35rem; }
.parts-mobile-card .parts-list-secondary-small { font-size: 0.75rem; }

.clickable-row { cursor: pointer; transition: background-color 0.1s ease; }
.clickable-row:hover { background-color: rgba(0, 0, 0, 0.05) !important; }
[data-bs-theme="dark"] .clickable-row:hover { background-color: rgba(255, 255, 255, 0.08) !important; }

/* Table row clickable (készletnapló, mozgáslista) – szemantikus alias */
.table-row-clickable { cursor: pointer; transition: background-color 0.1s ease; }
.table-row-clickable:hover { background-color: rgba(0, 0, 0, 0.05) !important; }
[data-bs-theme="dark"] .table-row-clickable:hover { background-color: rgba(255, 255, 255, 0.08) !important; }

/* Készlet áttárolás megjelenítése */
.stock-change-neutral { color: var(--cmms-text-secondary); font-weight: 600; display: inline-flex; align-items: center; }
.stock-change-neutral i { font-size: 1.1em; }
.stock-context-relocation { color: var(--cmms-primary); font-weight: 500; display: inline-flex; align-items: center; }
[data-bs-theme="dark"] .stock-change-neutral { color: #9AA5B1; }
[data-bs-theme="dark"] .stock-context-relocation { color: var(--cmms-primary); }

/* Készletnapló mobil kártyák */
.stock-history-mobile-card .card-body { font-size: 0.9rem; }

/* Készletnapló táblázat layout */
.table-min-width-800 { min-width: 800px; }
.stock-col-datetime { width: 140px; }
.stock-reason-cell { max-width: 250px; }
.details-th-width { width: 8rem; }

/* ===============================
   6. FIXED LAYOUT (Gép Adatlap & Karbantartás)
   =============================== */

body.fixed-layout { height: 100vh; overflow: hidden; }
body.fixed-layout main.container-lg {
    max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important;
    height: calc(100vh - var(--navbar-height)); min-height: 0; display: flex; flex-direction: column;
    overflow: hidden;
}

.app-container { flex: 1; overflow: hidden; display: flex; flex-direction: column; }
.app-row { height: 100%; margin: 0; }

/* Sidebar */
.sidebar-col { height: 100%; padding: 0; border-right: 1px solid var(--card-border-color); background-color: var(--sidebar-bg); display: flex; flex-direction: column; }
/* Sablon adatlap: nincs elválasztó vonal a sidebar és a tartalom fejléc között */
.mtpl-template-sidebar-no-divider { border-right: none !important; }
.sidebar-sticky-container { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.sidebar-header { flex-shrink: 0; padding: 1rem; border-bottom: 1px solid var(--card-border-color); background-color: var(--card-bg); }
.sidebar-machine-list { flex: 1 1 auto; overflow-y: auto; min-height: 0; background-color: var(--sidebar-bg); padding: 0.35rem 0.5rem 4rem; }
.sidebar-machine-list .list-group-item {
  background-color: rgba(0, 0, 0, 0.04);
  color: var(--bs-body-color);
  border: 1px solid var(--card-border-color);
  border-left: 3px solid transparent;
  border-radius: 6px;
  padding: 0.65rem 0.85rem;
  margin-bottom: 0.35rem;
}
.sidebar-machine-list .list-group-item:last-child { margin-bottom: 0; }
.sidebar-machine-list .list-group-item.active {
  background-color: rgba(var(--bs-primary-rgb), 0.12);
  color: var(--bs-primary);
  border-left-color: var(--bs-primary);
  border-color: rgba(var(--bs-primary-rgb), 0.35);
  font-weight: 600;
}
[data-bs-theme="dark"] .sidebar-machine-list .list-group-item {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: var(--card-border-color);
}
[data-bs-theme="dark"] .sidebar-machine-list .list-group-item.active {
  background-color: rgba(var(--bs-primary-rgb), 0.2);
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}

/* Content Logic - PATCHED to avoid gaps */
.content-col { display: flex; flex-direction: column; height: 100%; overflow: hidden; background-color: var(--cmms-body-bg); }

.content-sticky-header {
    flex: 0 0 auto;
    background-color: var(--sticky-bar-bg);
    border-bottom: 1px solid var(--card-border-color);
    padding: 0.5rem 1rem 0 1rem;
    z-index: 1020;
    position: sticky;
    top: 0;
}

.content-body { 
    flex: 1 1 auto; 
    min-height: 0;
    overflow-y: auto; 
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 1rem; 
    padding-top: 1rem !important; /* Gap fix */
    margin-top: 0 !important;
    background-color: var(--cmms-body-bg); 
    padding-bottom: 6rem !important; /* Hely a bottom barnak */
    scroll-behavior: smooth;
}
.content-body > *:first-child { margin-top: 0 !important; }

/* Desktop fixed-layout: flex lánc + min-width:0 – csak a .content-body görget (fejléc alatt) */
@media (min-width: 992px) {
  body.fixed-layout main.container-lg {
    min-height: 0;
  }
  body.fixed-layout .app-container {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
  }
  body.fixed-layout .app-container > .row.app-row {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    align-items: stretch;
  }
  body.fixed-layout .sidebar-col,
  body.fixed-layout .content-col {
    min-height: 0;
    max-height: 100%;
  }
  body.fixed-layout .content-col {
    min-width: 0;
  }
  body.fixed-layout .content-body {
    flex: 1 1 0;
    min-height: 0;
  }
  /* HTMX wrapper (#machineDetailContent / #partEditContent): különben a flex nem éri el a content-body-t */
  body.fixed-layout .content-scroll-stack {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    height: 100%;
  }
}

/*
 * Lista oldalak (gépek, raktárkészlet): dokumentum-szintű görgetés, mint a területek / főoldal.
 * Megakadályozza, hogy bármely szülő overflow:hidden + fix magasság elnyelje a görgetést.
 */
body.page-flow-scroll:not(.modal-open),
html:has(body.page-flow-scroll:not(.modal-open)) {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch;
}
body.page-flow-scroll:not(.modal-open) {
  overflow-y: auto !important;
}
body.page-flow-scroll main.container-lg {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  flex: none !important;
}

/* Kompakt UI elemek */
.form-control-sm, .form-select-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-text, .input-group-sm > .btn { padding: 0.2rem 0.4rem; font-size: 0.85rem; }
.form-label { margin-bottom: 0.1rem; font-size: 0.75rem; color: var(--bs-secondary-color); }

/* Tabs */
.content-sticky-header .nav-tabs { border-bottom: none; }
.content-sticky-header .nav-tabs .nav-link { padding: 0.4rem 0.8rem; font-size: 0.85rem; border-radius: 4px 4px 0 0; color: var(--cmms-text-secondary); border: 1px solid transparent; }
.content-sticky-header .nav-tabs .nav-link:hover { border-color: transparent; background-color: rgba(0,0,0,0.03); color: var(--cmms-primary); }
.content-sticky-header .nav-tabs .nav-link.active { font-weight: 600; color: var(--cmms-primary); background-color: var(--cmms-body-bg); border-color: var(--cmms-border); border-bottom-color: var(--cmms-body-bg); }

/* Számláló input fixek */
.input-group-sm { flex-wrap: nowrap; }
#counter_type_select { flex: 0 0 auto; width: auto; max-width: 85px; min-width: 0; padding-right: 1.5rem; }
#counter_value_input { flex: 1 1 auto; min-width: 0; }

/* Öröklés kapcsoló */
.form-control.is-inherited { background-color: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-style: italic; cursor: not-allowed; }
.btn-inheritance { border-color: var(--bs-border-color); background-color: var(--bs-body-bg); color: var(--bs-secondary-color); z-index: 5; }
.btn-inheritance:hover { background-color: var(--bs-secondary-bg); }
.btn-inheritance.active-type { color: #fd7e14; border-color: #fd7e14; background-color: rgba(253, 126, 20, 0.1); }
.btn-inheritance.active-category { color: #0d6efd; border-color: #0d6efd; background-color: rgba(13, 110, 253, 0.1); }

/* ===============================
   7. MAINTENANCE SPECIFIC EXTRAS
   =============================== */

/* Modern Dátumválasztó */
.modern-date-input {
    appearance: none; -webkit-appearance: none;
    background-color: var(--input-bg); border: 1px solid var(--cmms-border); border-radius: 0.5rem;
    padding: 0.5rem 0.75rem; font-family: inherit; font-weight: 600; color: var(--input-color);
    cursor: pointer; transition: all 0.2s ease-in-out; width: 100%;
}
.modern-date-input:focus { border-color: var(--cmms-primary); outline: 0; box-shadow: 0 0 0 0.25rem rgba(47, 93, 140, 0.15); }

/* Input Constraint */
.input-constraint { max-width: 350px; }
@media (max-width: 768px) { .input-constraint { max-width: 100%; } }

/* Sticky Bottom Bar – ~15% nagyobb sáv és gombok (desktop + mobil) */
.bottom-bar {
    padding: 0.52rem 1.15rem;
    padding-bottom: calc(0.52rem + env(safe-area-inset-bottom));
    background-color: var(--bottom-bar-bg) !important;
    backdrop-filter: blur(8px);
    border-top: 1px solid var(--cmms-border) !important;
    box-shadow: 0 -6px 16px rgba(0,0,0,0.08);
}
[data-bs-theme="dark"] .bottom-bar { box-shadow: 0 -6px 16px rgba(0,0,0,0.4); }

.bottom-bar .btn { padding: 0.4rem 0.86rem; font-size: 1rem; }
.bottom-bar .btn-primary { background-color: var(--cmms-success) !important; border-color: var(--cmms-success) !important; }
.bottom-bar .btn-primary:hover { background-color: #17664B !important; }

/* Piszkozat mentése / Mégse: alapból hover-szerű kinézet, hoverre ne változzon */
.bottom-bar .btn-outline-secondary.bar-btn-secondary,
.bottom-bar .btn-outline-secondary.bar-btn-secondary:hover {
    background-color: rgba(0, 0, 0, 0.06);
    border-color: var(--cmms-border);
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .bottom-bar .btn-outline-secondary.bar-btn-secondary,
[data-bs-theme="dark"] .bottom-bar .btn-outline-secondary.bar-btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: var(--cmms-border);
    color: var(--bs-body-color);
}

/* Görgethető feladatlista – térközök (plan_detail, terv modal): feladat név, leírás, gombok között ~2× légtér */
.task-list-wrap { gap: 0.5rem !important; }
.task-list-wrap .task-card .card-body { padding: 0.75rem 1rem !important; }
.task-list-wrap .task-card.card { margin-bottom: 0 !important; }

/* Feladat név ↔ leírás ↔ gombok/mezők között nagyobb tér (kb. 2×) */
.task-list-wrap .task-card .card-body .task-title-row { margin-bottom: 0.35rem !important; }
.task-list-wrap .task-card .card-body .task-desc { margin-top: 0.15rem; margin-bottom: 0.75rem !important; white-space: pre-wrap; }
.task-list-wrap .task-card .task-main-row { margin-top: 0.6rem !important; }
.task-list-wrap .task-card .task-expected-text { margin-top: 0.5rem !important; }
.task-list-wrap .task-card .task-input-group-separated { gap: 0.5rem; }

/* Szám és gép számláló beviteli mező: ~240px */
.task-input-narrow { max-width: 240px !important; }
.task-input-narrow .form-control { max-width: 100%; }

/* Elvárt / Jelenlegi szöveg – kicsit kisebb betűméret */
.task-expected-text { font-size: 0.72rem !important; }

/* Terv végrehajtás – dátum mező (ne legyen inline style) */
#done_date_input.plan-detail-date-input,
.plan-detail-date-input {
    height: 44px;
    font-size: 1.1rem;
    cursor: pointer;
    max-width: 240px;
}

/* Terv előzmény nézet (event task sor) – oszlopok és Elvárt szöveg */
.event-values-col { min-width: 140px; }
.event-icon-col { width: 50px; }
.event-expected-label { font-size: 0.65rem; font-weight: 700; }

/* Task Cards (Design Patch) */
.task-card {
    border-radius: 12px; transition: box-shadow 0.15s ease; border: 1px solid var(--cmms-border);
}
.task-card:hover, .task-card:focus-within {
    box-shadow: 0 4px 10px rgba(16, 24, 40, 0.08); border-color: var(--cmms-primary);
}
[data-bs-theme="dark"] .task-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.5); }

/* Child Task */
.child-task .card { border-left: 4px solid var(--cmms-warning); background-color: rgba(196, 138, 0, 0.03); }
[data-bs-theme="dark"] .child-task .card { background-color: rgba(196, 138, 0, 0.08); }

/* Task Switch */
#planActiveSwitch {
    width: 2.8em; height: 1.5em; cursor: pointer; border: 1px solid var(--cmms-border);
    transition: background-position .15s ease-in-out;
}
#planActiveSwitch:checked {
    background-color: var(--cmms-success); border-color: var(--cmms-success);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
#planActiveSwitch:not(:checked) {
    background-color: #e9ecef;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23adb5bd'/%3e%3c/svg%3e");
}

/* ===============================
   YES/NO GOMBOK (CMMS STÍLUS)
   =============================== */

/* Alap gomb kinézet (Kikapcsolt állapot) */
/* Ugyanazt a logikát használjuk, mint az Elvégezve gombnál */
.task-card .btn-soft-success,
.task-card .btn-soft-danger {
    background-color: var(--input-bg);       /* Fehér (vagy sötét módban sötét) */
    border: 1px solid var(--cmms-border);    /* Szürke keret */
    color: var(--cmms-text-secondary);       /* Szürke szöveg */
    border-radius: 6px;                      /* Kerekítés mindenhol */
    padding: 0.4rem 1rem;                    /* Ugyanaz a padding */
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;                        /* Mobilon kényelmes magasság */
}

/* Hover effekt (amikor fölé viszed az egeret) */
.task-card .btn-soft-success:hover,
.task-card .btn-soft-danger:hover {
    background-color: rgba(0, 0, 0, 0.05);
}
[data-bs-theme="dark"] .task-card .btn-soft-success:hover,
[data-bs-theme="dark"] .task-card .btn-soft-danger:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* --- AKTÍV (KIVÁLASZTOTT) ÁLLAPOTOK --- */

/* HA ZÖLDNEK KELL LENNIE (Jó válasz) */
.task-card .btn-check:checked + .btn-soft-success {
    background-color: var(--cmms-success) !important;
    border-color: var(--cmms-success) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(31, 122, 92, 0.3); /* Finom árnyék */
}

/* HA PIROSNAK KELL LENNIE (Rossz válasz) */
.task-card .btn-check:checked + .btn-soft-danger {
    background-color: var(--cmms-danger) !important;
    border-color: var(--cmms-danger) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(180, 35, 24, 0.3);
}

/* DARK MODE JAVÍTÁS */
/* Sötét módban az alap (kikapcsolt) gomb ne világítson, hanem simuljon be */
[data-bs-theme="dark"] .task-card .btn-soft-success,
[data-bs-theme="dark"] .task-card .btn-soft-danger {
    background-color: #21262d; /* Sötétszürke háttér */
    border-color: #30363d;     /* Sötét keret */
    color: #c9d1d9;            /* Világosszürke szöveg */
}

/* Photo Upload Button */
.photo-upload-btn {
    width: 42px; height: 42px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--bs-light); border: 1px solid var(--cmms-border); transition: all 0.2s;
}
.photo-upload-btn:active { transform: scale(0.95); background-color: var(--bs-secondary-bg); }
[data-bs-theme="dark"] .photo-upload-btn { background-color: #343a40; border-color: #495057; color: #e9ecef; }

/* Photo Thumbnail */
.photo-container img { transition: transform 0.2s; }
.photo-container a:active img { transform: scale(0.95); opacity: 0.8; }

/* Task Inputs: mobilon = bottom bar méret, desktopon kisebb (Elvégezve / Igen / Nem / beviteli mezők) */
.task-card .btn, .task-card .form-control, .task-card .form-select, .task-card .input-group-text,
.task-card .btn-check + .btn { min-height: 38px; padding: 0.35rem 0.65rem; font-size: 0.95rem; }
.task-card .input-group-sm .form-control, .task-card .input-group-sm .input-group-text { min-height: 38px; padding: 0.35rem 0.5rem; font-size: 0.95rem; }
@media (min-width: 992px) {
    .task-card .btn, .task-card .form-control, .task-card .form-select, .task-card .input-group-text,
    .task-card .btn-check + .btn { min-height: 32px; padding: 0.25rem 0.5rem; font-size: 0.875rem; }
    .task-card .input-group-sm .form-control, .task-card .input-group-sm .input-group-text { min-height: 32px; padding: 0.25rem 0.5rem; font-size: 0.875rem; }
}

/* Segmented Buttons (Yes/No) */
.task-input-group { display: flex; width: 100%; max-width: 200px; }
.task-input-group .btn {
    flex: 1; border-radius: 0; padding: 0.35rem 0.5rem; font-size: 0.9rem; font-weight: 500;
    border: 1px solid var(--cmms-border); background-color: var(--input-bg); color: var(--cmms-text-secondary);
}
.task-input-group .btn:first-child { border-top-left-radius: 6px; border-bottom-left-radius: 6px; }
.task-input-group .btn:last-child { border-top-right-radius: 6px; border-bottom-right-radius: 6px; border-left: 0; }

.btn-check:checked + .btn-outline-success {
    background-color: #f0fdf4 !important; color: #166534 !important; border-color: #166534 !important; font-weight: 700;
}
.btn-check:checked + .btn-outline-danger {
    background-color: #fef2f2 !important; color: #991b1b !important; border-color: #991b1b !important; font-weight: 700;
}

/* Checked Button (Kész) – mobilon bottom bar méret, desktopon kisebb */
.task-card .btn-check + .btn-success-soft {
    width: auto; min-width: 120px; border-radius: 6px;
    background-color: var(--input-bg); border: 1px solid var(--cmms-border); color: var(--cmms-text-secondary);
}
@media (min-width: 992px) {
    .task-card .btn-check + .btn-success-soft { min-width: 100px; }
}
.task-card .btn-check:checked + .btn-success-soft {
    background-color: var(--cmms-success); border-color: var(--cmms-success); color: white;
}

/* Deviation Warning */
.deviation-warning { font-size: 0.85rem; animation: fadeIn 0.3s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* ===============================
   8. MTPL (MAINTENANCE TEMPLATE) LAYOUT
   =============================== */

.mtpl-layout { min-height: 100vh; }
.mtpl-sidebar {
    background: var(--bs-light); border-right: 1px solid rgba(0,0,0,0.06);
    height: 100vh; position: sticky; top: 0;
}
/* Terv/Előzmények sidebar fülek – ugyanaz a stílus mint a content-sticky-header .nav-tabs (machine_detail) */
.mtpl-sidebar-tabs { border-bottom: none; padding: 0.25rem 0 0; }
.mtpl-sidebar-tabs .nav-link {
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    border-radius: 4px 4px 0 0;
    color: var(--cmms-text-secondary);
    border: 1px solid transparent;
}
.mtpl-sidebar-tabs .nav-link:hover {
    border-color: transparent;
    background-color: rgba(0,0,0,0.03);
    color: var(--cmms-primary);
}
.mtpl-sidebar-tabs .nav-link.active {
    font-weight: 600;
    color: var(--cmms-primary);
    background-color: var(--cmms-body-bg);
    border-color: var(--cmms-border);
    border-bottom-color: var(--cmms-body-bg);
}
.mtpl-sidebar-content { overflow: hidden; display: flex; flex-direction: column; }
.mtpl-history-scroll { overflow-y: auto; height: calc(100vh - 120px); padding: 0.5rem; }
.mtpl-version-item { padding: 0.5rem; border-radius: 6px; cursor: pointer; transition: background 0.15s ease; }
.mtpl-version-item:hover { background: rgba(0,0,0,0.05); }
.mtpl-main { padding: 1rem; }
.mtpl-main input[type="date"] { min-height: 42px; font-size: 16px; }

@media (max-width: 991px) {
    .mtpl-sidebar { display: none !important; }
    .mtpl-main { padding: 0.75rem; }
}

/* Sablon oldal – szövegek, badge-ek, táblázat (ne legyen inline style) */
.mtpl-desc { line-height: 1.4; }
.mtpl-badge-scope { font-size: 0.65rem !important; }
.mtpl-section-label { font-size: 0.7rem !important; }
.mtpl-stat-label { font-size: 0.6rem !important; }
.mtpl-version-badge-fw { width: 45px; }
.mtpl-history-note { font-size: 0.75rem !important; }
.mtpl-sticky-header { z-index: 1020; }
.mtpl-content-body { padding-bottom: 100px; }
.mtpl-scope-end { max-width: 70%; }
.mtpl-tasks-table { table-layout: fixed; }
.mtpl-tasks-th-feladat { width: 45%; }
.mtpl-tasks-th-tipus { width: 20%; }
.mtpl-tasks-th-elvaras { width: 20%; }
.mtpl-tasks-th-status { width: 15%; }
.mtpl-drag-offset { margin-left: -10px; }
.mtpl-temp-id-badge { font-size: 0.7rem !important; }
.mtpl-reason-cell { max-width: 350px; }
.mtpl-modal-tall.modal .modal-content { height: 80vh; }
.mtpl-action-menu { z-index: 9999; }
.mtpl-task-desc-textarea { resize: vertical; }
.mtpl-part-qty-width { width: 100px; }
/* Alkatrész választó mező: ne foglalja el az egész sort, csak ~ mennyiség + tárhely szélessége */
.mtpl-part-picker-input-wrap { max-width: 320px; flex: 0 1 320px; }
/* Alkatrész kiválasztása modal: ~15% szélesebb (alap 500px → 575px) */
#partSelectorModal .mtpl-part-selector-modal-wider { max-width: 661px; }
.mtpl-bottom-bar { z-index: 1030; }

/* Sidebar – kompaktabb sablon meta blokkok (hatókör, elvégzett karbantartások) */
.mtpl-sidebar-compact-list .list-group-item {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}
.mtpl-sidebar-compact-block {
    padding-top: 0.35rem;
    padding-bottom: 0.4rem;
}
.mtpl-sidebar-compact-block .mtpl-stat-line {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

/* Karbantartás lista (maintenance_list_partial) */
.maint-list-machine-name { max-width: 150px; }
.maint-list-due-sub { font-size: 0.85em; }
.maint-list-created { font-size: 0.8em; }
/* Hibajegy sor/kártya: áttetsző piros/rózsaszín háttér (táblázat és mobil kártya) */
.maint-row-hibajegy { background-color: rgba(220, 53, 69, 0.08); }
.table .maint-row-hibajegy td { background-color: rgba(220, 53, 69, 0.08); }
[data-bs-theme="dark"] .maint-row-hibajegy { background-color: rgba(220, 53, 69, 0.18); }
[data-bs-theme="dark"] .table .maint-row-hibajegy td { background-color: rgba(220, 53, 69, 0.18); }
.card.maint-row-hibajegy .card-body { background-color: inherit; }

/* ===============================
   9. MAINTENANCE OVERVIEW SPECIFICS
   =============================== */

/* Maintenance: inline style kiváltások */
.maintenance-loading-progress { height: 2px; }
.maintenance-mobile-border-left { border-left-width: 6px !important; }
.border-nyitott { border-color: #e67e22 !important; }
[data-bs-theme="dark"] .border-nyitott { border-color: #d35400 !important; }
.maintenance-intersect-sentinel { height: 1px; }
.maintenance-intersect-sentinel-hidden { visibility: hidden; }
.workorder-machine-scan-reader { min-height: 220px; }

.pd-history-user-truncate { max-width: 100px; }
.pd-min-width-0 { min-width: 0; }
.pd-template-subtitle { font-size: 0.9rem; }
.pd-plan-meta-label { font-size: 0.7rem; letter-spacing: 0.5px; }
.pd-plan-meta-label-muted { font-size: 0.7rem; letter-spacing: 0.5px; opacity: 0.7; }
.pd-content-scroll-area { flex: 1; overflow-y: auto; min-height: 0; padding-bottom: 100px; }
/* Végrehajtás modal: telefonon teljes képernyő, desktopon keskenyebb + teljes magasság */
@media (min-width: 768px) {
  .execution-plan-modal-dialog { max-width: 912px; width: 90%; }
  /* Dátum/idő mező ne nyúljon túl szélesre (kb. mint a hibajegy modálban) */
  #execution-timestamps-wrap input[type="datetime-local"] { max-width: 20rem; }
}
@media (min-width: 576px) {
  #quickCompleteModalContent input[type="datetime-local"] { max-width: 20rem; }
}

/* Adhoc Plan Modal (Új munkalap / feladat) – mobilon teljes képernyő, mint hibajegy/terv */
@media (max-width: 575.98px) {
  .adhoc-plan-modal-dialog { margin: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; }
  .adhoc-plan-modal-dialog .modal-content { height: 100%; max-height: none; min-height: 0; }
}
@media (min-width: 576px) {
  #newAdhocPlanModal .modal-dialog { max-height: calc(100vh - 2rem); margin: 1rem auto; }
  #newAdhocPlanModal .modal-content { max-height: calc(100vh - 2rem); }
}
#newAdhocPlanModal .modal-content { display: flex; flex-direction: column; overflow: hidden; }
#newAdhocPlanModal #adhocPlanForm { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; }
#newAdhocPlanModal .modal-header, #newAdhocPlanModal .modal-footer { flex-shrink: 0; }
#newAdhocPlanModal .modal-body { overflow-y: auto; -webkit-overflow-scrolling: touch; flex: 1 1 auto; min-height: 200px; }

/* Helyszín szűrő modal (gépek + karbantartás): mobile-first, nagyobb vezérlők */
.location-filter-modal-dialog .modal-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.location-filter-modal-body {
  font-size: 1rem;
}
.location-filter-modal-body .btn-group > .btn {
  min-height: 2.75rem;
  font-size: 1rem;
  font-weight: 600;
}
.location-filter-modal-body .form-check {
  min-height: 2rem;
}
.location-filter-modal-body .form-check-label {
  font-size: 1rem;
  line-height: 1.35;
}
.location-filter-modal-body .form-check-input {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.2rem;
}
.location-filter-modal-body .location-filter-input {
  min-height: 2.75rem;
  font-size: 1rem;
}
.location-filter-modal-body .location-filter-list {
  max-height: 52vh;
  overflow-y: auto;
}
.location-filter-modal-body .location-filter-list.location-filter-list-locations {
  max-height: 46vh;
}
.location-filter-modal-dialog .modal-footer .btn {
  min-height: 2.75rem;
  font-size: 1rem;
}
@media (min-width: 576px) {
  .location-filter-modal-dialog {
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
  }
  .location-filter-modal-dialog .modal-content {
    max-height: calc(100vh - 2rem);
  }
}
@media (min-width: 992px) {
  .location-filter-modal-body {
    font-size: 0.95rem;
  }
  .location-filter-modal-body .btn-group > .btn {
    min-height: 2.25rem;
    font-size: 0.95rem;
  }
  .location-filter-modal-body .form-check-label {
    font-size: 0.95rem;
  }
  .location-filter-modal-body .location-filter-input {
    min-height: 2.25rem;
    font-size: 0.95rem;
  }
  .location-filter-modal-dialog .modal-footer .btn {
    min-height: 2.25rem;
    font-size: 0.95rem;
  }
  .location-filter-modal-body .location-filter-list {
    max-height: 320px;
  }
  .location-filter-modal-body .location-filter-list.location-filter-list-locations {
    max-height: 280px;
  }
}

/* Tárhely választó modal: mobile-first, munkalap modalhoz igazított méret */
.location-selector-modal-dialog .modal-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.location-selector-modal-dialog .modal-title {
  font-size: 1.1rem;
}
.location-selector-modal-dialog .location-selector-search-input {
  min-height: 2.75rem;
  font-size: 1rem;
}
.location-selector-modal-dialog .modal-body {
  font-size: 1rem;
}
.location-selector-modal-dialog .modal-body #location-picker-body {
  max-height: 58vh;
  overflow-y: auto;
}
@media (min-width: 576px) {
  .location-selector-modal-dialog {
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
  }
  .location-selector-modal-dialog .modal-content {
    max-height: calc(100vh - 2rem);
  }
  .location-selector-modal-dialog .modal-body #location-picker-body {
    max-height: 60vh;
  }
}
@media (min-width: 992px) {
  .location-selector-modal-dialog .modal-title {
    font-size: 1rem;
  }
  .location-selector-modal-dialog .location-selector-search-input {
    min-height: 2.25rem;
    font-size: 0.95rem;
  }
  .location-selector-modal-dialog .modal-body {
    font-size: 0.95rem;
  }
  .location-selector-modal-dialog .modal-body #location-picker-body {
    max-height: 48vh;
  }
}

/* Kategória/Beszállító multiselect modal: mobilon nagyobb vezérlők */
.parts-multi-modal-dialog .modal-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.parts-multi-modal-dialog .modal-body .btn-group > .btn {
  min-height: 2.75rem;
  font-size: 1rem;
  font-weight: 600;
}
.parts-multi-modal-dialog .parts-multi-list {
  max-height: 52vh;
  overflow-y: auto;
}
.parts-multi-modal-dialog .parts-multi-row {
  min-height: 2rem;
}
.parts-multi-modal-dialog .parts-multi-row .form-check-label {
  font-size: 1rem;
  line-height: 1.35;
}
.parts-multi-modal-dialog .parts-multi-row .form-check-input {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.2rem;
}
.parts-multi-modal-dialog .modal-footer .btn {
  min-height: 2.75rem;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .parts-multi-modal-dialog .modal-body .btn-group > .btn {
    min-height: 2.25rem;
    font-size: 0.95rem;
  }
  .parts-multi-modal-dialog .parts-multi-list {
    max-height: 320px;
  }
  .parts-multi-modal-dialog .parts-multi-row {
    min-height: 1.85rem;
  }
  .parts-multi-modal-dialog .parts-multi-row .form-check-label {
    font-size: 0.95rem;
  }
  .parts-multi-modal-dialog .modal-footer .btn {
    min-height: 2.25rem;
    font-size: 0.95rem;
  }
}

/* Új munkalap / hibajegy modal: sötétedés, ha a gépválasztó modal nyitva */
#newAdhocPlanModal.workorder-picker-open .modal-content,
#newQuickTaskModal.workorder-picker-open .modal-content {
  filter: brightness(0.45);
  pointer-events: none;
  transition: filter 0.2s ease;
}

/* Számláló frissítése modal: mobile-first, teljes képernyő mobilon; sötétedés gépválasztó/megerősítés esetén */
#machineCounterUpdateModal .modal-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
#machineCounterUpdateModal .modal-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
  min-height: 200px;
}
@media (max-width: 575.98px) {
  .machine-counter-update-modal-dialog .modal-content {
    height: 100%;
    max-height: none;
    min-height: 0;
  }
}
@media (min-width: 576px) {
  .machine-counter-update-modal-dialog {
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
  }
  .machine-counter-update-modal-dialog .modal-content {
    max-height: calc(100vh - 2rem);
  }
}
#machineCounterUpdateModal.counter-update-picker-open .modal-content {
  filter: brightness(0.45);
  pointer-events: none;
  transition: filter 0.2s ease;
}
/* Siker: halvány overlay a tartalom felett; a toast NEM filter alatt van (nem sötétül el) */
#machineCounterUpdateModal .counter-update-confirm-backdrop {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: rgba(0, 0, 0, 0.4);
  border-radius: var(--bs-modal-border-radius, 0.5rem);
  pointer-events: auto;
}
#machineCounterUpdateModal .counter-update-confirm-toast {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 6;
  width: min(92%, 22rem);
  max-width: 100%;
  pointer-events: auto;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

/* Végrehajtás modal fejléc: kompakt, sablon neve és gép kód/nev közötti tér, egy sorban */
.execution-plan-modal-header .modal-title { font-size: 1rem; }
#executionPlanModalHeader .modal-title + .text-muted { font-size: 0.8rem; margin-left: 0.5em; margin-top: 0; flex-shrink: 0; }
#executionPlanModalHeader .text-muted { font-size: 0.8rem; margin-top: 0.15rem; }
.execution-modal-header-subtitle { margin-top: 0.2rem; }
.execution-plan-modal-header { flex-wrap: nowrap; }
.execution-plan-modal-header .modal-title { flex-shrink: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Terv és hibajegy modal alsó sáv: navbar színű háttér (light/dark) */
#executionPlanModalContent > .modal-footer,
#quickCompleteModalContent .modal-footer {
  background-color: #E9EEF3 !important;
  border-top-color: var(--cmms-border) !important;
}
[data-bs-theme="dark"] #executionPlanModalContent > .modal-footer,
[data-bs-theme="dark"] #quickCompleteModalContent .modal-footer {
  background-color: #1B222B !important;
}

.execution-modal-toolbar { padding: 0.35rem 0 !important; margin-bottom: 0.75rem !important; }
#executionPlanModal .modal-body { padding-top: 0; }
/* Sticky fejléc a terv oldal görgethető tartalmában (desktop) */
.pd-sticky-header { position: sticky; top: 0; z-index: 10; background: var(--bs-body-bg); }
/* Elvégzés adatai: táblázatos blokk (list-group), max sidebar szélesség; hosszú szöveg tördelhet; picivel nagyobb betű */
.pd-event-data-table-wrap { max-width: 22rem; }
.pd-event-data-table-wrap .pd-event-data-table { font-size: 0.9375rem; }
.pd-event-data-table-wrap .pd-event-data-table .text-muted { font-size: inherit; }
.pd-event-data-table-wrap .list-group-item .text-break { word-break: break-word; min-width: 0; }
.pd-history-row-root { padding: 0.75rem; }
.pd-history-row-child { padding-left: 2.5rem; border-left: 4px solid #ffc107; }
.pd-optional-badge-desktop { font-size: 0.65rem; }
.pd-optional-badge-mobile { font-size: 0.6rem; }
.pd-text-pre-wrap { white-space: pre-wrap; }
.pd-photo-thumb-50 { width: 50px; height: 50px; }
.pd-photo-thumb-60 { width: 60px; height: 60px; }
.pd-mobile-history-card { border-left-width: 5px !important; margin-left: 0; }
.pd-mobile-history-card-child { margin-left: 1.5rem; }

/* Mobil: number/textarea fókuszáláskor ne takarja el a billentyűzet – görgetéshez légtér */
@media (max-width: 767.98px) {
  .pd-content-scroll-area input[type="number"],
  .pd-content-scroll-area textarea,
  .task-list-wrap input[type="number"],
  .task-list-wrap textarea {
    scroll-margin-bottom: 25vh;
  }
}

/* Sticky Table Header (Overview Only) */
.sticky-header th {
    position: sticky; top: 56px; /* Navbar alatt */
    background-color: var(--table-header-bg);
    color: var(--cmms-text-secondary);
    border-bottom: 2px solid var(--table-header-border);
    box-shadow: 0 4px 6px -4px rgba(0,0,0,0.1);
    z-index: 1020; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.5px;
}
[data-bs-theme="dark"] .sticky-header th { background-color: #212529; color: #adb5bd; border-bottom: 2px solid #495057; }

/* Pagination Minimal */
.pagination-minimal .page-link { border: none; background: transparent; color: var(--cmms-text-secondary); font-weight: 600; padding: 0.25rem 0.5rem; }
.pagination-minimal .page-link:hover { color: var(--cmms-primary); background-color: rgba(0,0,0,0.05); border-radius: 4px; }
.pagination-minimal .disabled .page-link { color: #9ca3af; }

/* Quick Filter Buttons */
.btn-quick-filter {
    font-size: 0.75rem; font-weight: 600; border: 1px solid transparent;
    padding: 0.35rem 0.4rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
    opacity: 0.8; transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1); border-radius: 8px;
}
.btn-quick-filter:hover { opacity: 1; transform: translateY(-2px); }

/* Quick Filter Active States */
.quick-filter-active {
    opacity: 1 !important; transform: scale(1.1) !important; z-index: 10;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important; border-width: 2px !important;
    background-color: var(--cmms-card-bg) !important;
}
[data-bs-theme="dark"] .quick-filter-active { background-color: #2c3238 !important; }

.btn-quick-filter.active.text-danger { border-color: var(--cmms-danger); background-color: #fff5f5; }
.btn-quick-filter.active.text-warning-emphasis { border-color: var(--cmms-warning); background-color: #fffbeb; }
.btn-quick-filter.active.text-success { border-color: var(--cmms-success); background-color: #f0fdf4; }
/* Inaktív gyorsszűrő gomb (szürke) – fallback ha nincs bg-secondary-subtle */
.btn-quick-filter.text-secondary.bg-secondary-subtle,
.btn-quick-filter.text-secondary { background-color: #f3f4f6 !important; color: #4b5563 !important; }
[data-bs-theme="dark"] .btn-quick-filter.text-secondary.bg-secondary-subtle,
[data-bs-theme="dark"] .btn-quick-filter.text-secondary { background-color: #374151 !important; color: #9ca3af !important; }
.btn-quick-filter.active.text-secondary { border-color: #6B7280; background-color: #f3f4f6; }
[data-bs-theme="dark"] .btn-quick-filter.active.text-secondary { border-color: #9ca3af; background-color: #374151; }

/* Inaktív / Archivált státusz badge lista oldalakon (szürke) */
.badge.bg-secondary.border-secondary,
.badge-status-inactive,
.badge-status-archived { background-color: #6B7280 !important; color: #fff !important; border-color: #6B7280 !important; }

/* Hibajegy nyitott státusz – narancssárga */
.badge-nyitott { background-color: #e67e22 !important; color: #fff !important; border: 1px solid #d35400 !important; }
/* Hibajegy gép megállt státusz – pirosas (állásidő) */
.badge-megallt { background-color: #dc3545 !important; color: #fff !important; border: 1px solid #c82333 !important; }
[data-bs-theme="dark"] .badge-megallt { background-color: #c82333 !important; color: #fff !important; border-color: #bd2130 !important; }
[data-bs-theme="dark"] .badge-nyitott { background-color: #d35400 !important; color: #fff !important; border-color: #b84500 !important; }
[data-bs-theme="dark"] .badge.bg-secondary.border-secondary,
[data-bs-theme="dark"] .badge-status-inactive,
[data-bs-theme="dark"] .badge-status-archived { background-color: #4b5563 !important; color: #e5e7eb !important; border-color: #4b5563 !important; }

/* Reset Button States */
.reset-btn-active { background-color: #6c757d !important; color: #fff !important; border-color: #6c757d !important; cursor: pointer; }
.reset-btn-inactive { background-color: transparent !important; color: #dee2e6 !important; border: 1px dashed #e9ecef !important; cursor: default; pointer-events: none; }
[data-bs-theme="dark"] .reset-btn-inactive {
    color: #6b7280 !important;
    border-color: #4b5563 !important;
}

/* Alacsony készlet badge – sárga, fehér és dark háttérnél is olvasható */
.badge-stock-low { background-color: #ffc107 !important; color: #212529 !important; }
.stock-low-text { color: #b38600 !important; }
[data-bs-theme="dark"] .badge-stock-low { background-color: #d4a800 !important; color: #1a1a1a !important; }
[data-bs-theme="dark"] .stock-low-text { color: #e6b800 !important; }

/* Többlet gyorsszűrő – fakóbb kék, átlátszóbb (dark mode kevésbé kontrasztos) */
.parts-quick-surplus { background-color: rgba(13, 110, 253, 0.18) !important; color: #0a58ca !important; }
[data-bs-theme="dark"] .parts-quick-surplus { background-color: rgba(13, 110, 253, 0.22) !important; color: #6ea8fe !important; }
.parts-quick-surplus.quick-filter-active { background-color: var(--cmms-card-bg) !important; color: inherit !important; }
[data-bs-theme="dark"] .parts-quick-surplus.quick-filter-active { background-color: #2c3238 !important; }
.parts-badge-surplus { background-color: #5a8fd4 !important; color: #fff !important; }
[data-bs-theme="dark"] .parts-badge-surplus { background-color: #4a7fc4 !important; }
.badge-surplus { background-color: #5a8fd4 !important; color: #fff !important; }
[data-bs-theme="dark"] .badge-surplus { background-color: #4a7fc4 !important; }

/* Folyamatban gyorsszűrő (maintenance) – ugyanolyan fakó kék, mint a többlet */
.maint-quick-in-progress { background-color: rgba(13, 110, 253, 0.18) !important; color: #0a58ca !important; border: 0 !important; }
[data-bs-theme="dark"] .maint-quick-in-progress { background-color: rgba(13, 110, 253, 0.22) !important; color: #6ea8fe !important; }
.maint-quick-in-progress.quick-filter-active,
#btn-q-in_progress.quick-filter-active { background-color: var(--cmms-card-bg) !important; color: inherit !important; }
[data-bs-theme="dark"] .maint-quick-in-progress.quick-filter-active,
[data-bs-theme="dark"] #btn-q-in_progress.quick-filter-active { background-color: #2c3238 !important; }
.maint-badge-in-progress { background-color: #5a8fd4 !important; color: #fff !important; }
[data-bs-theme="dark"] .maint-badge-in-progress { background-color: #4a7fc4 !important; }

/* Folyamatban badge (kártya/listában) – fakóbb kék */
.badge-in-progress { background-color: #5a8fd4 !important; color: #fff !important; }
[data-bs-theme="dark"] .badge-in-progress { background-color: #4a7fc4 !important; }
.border-in-progress { border-color: #5a8fd4 !important; }
[data-bs-theme="dark"] .border-in-progress { border-color: #4a7fc4 !important; }

/* Mobile Horizontal Scroll */
.mobile-horizontal-scroll {
    display: flex; gap: 0.5rem; overflow-x: auto; padding: 0.25rem 0.5rem 0.5rem 0.5rem;
    margin-left: -0.5rem; margin-right: -0.5rem; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.mobile-horizontal-scroll::-webkit-scrollbar { display: none; }

/* Chip gombok (Terület, Csoport, Típus, Gép, Sablon) */
.btn-chip {
    padding: 0.25rem 0.6rem;
    font-size: 0.8rem;
    line-height: 1.3;
    border-radius: 999px;
}
/* Desktop: chipek egy sorban, ne törjön a Sablon 2. sorba; szűk nézetben vízszintesen görgethető */
.chip-row-desktop {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    min-width: 0;
}
.chip-row-desktop::-webkit-scrollbar { height: 4px; }
.chip-row-desktop::-webkit-scrollbar-thumb { background: var(--bs-border-color); border-radius: 2px; }
.chip-toggle:hover {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.chip-toggle.chip-active,
.btn-chip.chip-active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.chip-row-mobile .btn-chip-mobile {
    padding: 0.35rem 0.75rem;
    font-size: 0.875rem;
}
.mobile-search-group .form-control,
.mobile-search-group.input-group .input-group-text {
    min-height: 2.65rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}
.mobile-sliders-btn {
    min-height: 2.65rem;
    padding-left: 0.9rem;
    padding-right: 0.9rem;
}
/* Kamera Mégse gomb a szűrő oldalakon – kb. 2× magasabb, könnyebb megfogás mobilón */
.scan-cancel-btn {
    min-height: 3rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}
.mobile-sliders-btn[aria-expanded="true"] {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
}
.mobile-sliders-btn.collapsed,
.mobile-sliders-btn[aria-expanded="false"] {
    background-color: transparent !important;
    color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
}

/* Raktár / Gépek / Karbantartás mobil nav: egy gomb (aktuális) + dropdown, Új gombok mellette; magasabb gombok */
.parts-mobile-nav-btn,
.machines-mobile-nav-btn,
.maintenance-mobile-nav-btn {
    min-height: 2.75rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}
.parts-mobile-nav-row .dropdown .btn,
.machines-mobile-nav-row .dropdown .btn,
.maintenance-mobile-nav-row .dropdown .btn {
    min-height: 2.75rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

/* Maintenance overview filter mezők: keresővel egyező magasság */
.maintenance-filter-control,
.maintenance-filter-control-group .input-group-text,
.maintenance-filter-control-group .form-control {
    min-height: 2.65rem;
}
@media (min-width: 992px) {
    .maintenance-filter-control,
    .maintenance-filter-control-group .input-group-text,
    .maintenance-filter-control-group .form-control {
        min-height: calc(1.5em + 0.5rem + 2px);
    }
}

/* Reset gomb: kb 3x szélesebb és középre rendezhető */
.maintenance-reset-btn-wide {
    min-width: 9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Szűrő badge-ek (aktív szűrők eltávolítása) */
.filter-badge {
    border-radius: 999px;
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}
.filter-badge:hover {
    background-color: transparent;
    color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

/* Picker mini lista és dropdown */
.picker-list { max-height: 60vh; overflow: auto; }
.picker-row:hover { background-color: rgba(0,0,0,.04); }
.cursor-pointer { cursor: pointer; }
#picker-dropdown .picker-row { white-space: nowrap; padding: 0.35rem 0.75rem; }
#picker-dropdown.display-block { display: block !important; }
.picker-dropdown-panel {
    padding: 0.25rem 0;
    max-height: 70vh;
    overflow: auto;
    min-width: 12rem;
}
.picker-dropdown-panel.picker-dropdown-panel-wide { min-width: 14rem; }

/* Badge kisebb méret (pl. part_edit státusz) */
.badge-sm { font-size: 0.7rem !important; }

/* Tartalom padding az alsó sáv miatt (szerkesztő nézetek) – sáv ~15% nagyobb */
.content-body-with-bar { padding-bottom: 115px !important; }

/* Navbar wrapper és fő fejléc (base.html) */
.navbar-wrapper {
    background-color: var(--bs-body-bg);
    z-index: 1030;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.navbar-wrapper .navbar.navbar-main {
    height: var(--navbar-height);
    background-color: var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-border-color);
}

/* Mobil offcanvas menü háttér */
#navOffcanvas.offcanvas { background-color: var(--bs-body-bg) !important; }

/* Scroll-to-top gomb (mobil) */
#scrollTopBtn {
    position: fixed;
    bottom: 90px !important;
    right: 20px;
    width: 44px;
    height: 44px;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* Badge hover tooltip (több beszállító / tárhely / hatókör listázása) – keret + árnyék mint a navbar dropdown */
.badge-hover-wrap { position: relative; display: inline-block; cursor: default; }
.badge-hover-wrap .badge-hover-content {
    display: none; /* Inline content hidden; JS shows floating copy to avoid table clipping */
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 2px;
    z-index: 1020;
    min-width: 10rem;
    max-width: 20rem;
    max-height: 14rem;
    overflow-y: auto;
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    background: var(--cmms-card-bg);
    border: 2px solid var(--cmms-primary);
    border-radius: 6px;
    box-shadow: 0 3px 10px rgba(47, 93, 140, 0.35), 0 8px 24px rgba(47, 93, 140, 0.14);
}
.badge-hover-content ul { list-style: none; padding: 0; margin: 0; }
.badge-hover-content li { padding: 0.15rem 0; }
.badge-hover-content li + li { border-top: 1px solid rgba(0,0,0,.06); }
[data-bs-theme="dark"] .badge-hover-wrap .badge-hover-content {
    background: var(--cmms-card-bg);
    border: 2px solid var(--cmms-primary);
    box-shadow: 0 3px 10px rgba(76, 120, 168, 0.4), 0 8px 24px rgba(76, 120, 168, 0.2);
}

/* Floating popup: body-level, so never clipped by table overflow – ugyanolyan keret + árnyék */
#badge-hover-floating-popup {
    display: none;
    position: fixed;
    z-index: 1060;
    min-width: 10rem;
    max-width: 20rem;
    max-height: 14rem;
    overflow-y: auto;
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    background: var(--cmms-card-bg);
    border: 2px solid var(--cmms-primary);
    border-radius: 6px;
    box-shadow: 0 3px 10px rgba(47, 93, 140, 0.35), 0 8px 24px rgba(47, 93, 140, 0.14);
    pointer-events: auto;
}
#badge-hover-floating-popup ul { list-style: none; padding: 0; margin: 0; }
#badge-hover-floating-popup li { padding: 0.15rem 0; }
#badge-hover-floating-popup li + li { border-top: 1px solid rgba(0,0,0,.06); }
[data-bs-theme="dark"] #badge-hover-floating-popup {
    background: var(--cmms-card-bg);
    border: 2px solid var(--cmms-primary);
    box-shadow: 0 3px 10px rgba(76, 120, 168, 0.4), 0 8px 24px rgba(76, 120, 168, 0.2);
}

/* Info hover ikonok: tooltip ugyanolyan keretben, mint a badge hover (egységes UI, újrafelhasználható) */
.tooltip.info-tooltip-card .tooltip-inner {
    max-width: 20rem;
    padding: 0.5rem 0.65rem !important;
    font-size: 0.8rem !important;
    text-align: left;
    background: var(--cmms-card-bg) !important;
    color: var(--bs-body-color) !important;
    border: 2px solid var(--cmms-primary) !important;
    border-radius: 6px !important;
    box-shadow: 0 3px 10px rgba(47, 93, 140, 0.35), 0 8px 24px rgba(47, 93, 140, 0.14) !important;
}
.tooltip.info-tooltip-card .tooltip-arrow::before {
    border-top-color: var(--cmms-primary);
}
.tooltip.info-tooltip-card.bs-tooltip-bottom .tooltip-arrow::before { border-bottom-color: var(--cmms-primary); }
.tooltip.info-tooltip-card.bs-tooltip-start .tooltip-arrow::before { border-left-color: var(--cmms-primary); }
.tooltip.info-tooltip-card.bs-tooltip-end .tooltip-arrow::before { border-right-color: var(--cmms-primary); }
[data-bs-theme="dark"] .tooltip.info-tooltip-card .tooltip-inner {
    background: var(--cmms-card-bg) !important;
    border-color: var(--cmms-primary);
    box-shadow: 0 3px 10px rgba(76, 120, 168, 0.4), 0 8px 24px rgba(76, 120, 168, 0.2);
}

/* ==========================================================================
   FIXES (BUTTONS & SCROLL)
   ========================================================================== */

/* "Elvégezve" gomb: ne legyen teljes szélességű, méret a task-input szabályokból (mobil = bottom bar, desktop = kisebb) */
.task-card .btn-check + .btn-success-soft {
    width: auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* Fel-görgetés gomb (scrollTopBtn) pozíció javítása */
/* Hogy ne takarja ki az alsó mentés sávot */
#scrollTopBtn {
    bottom: 90px !important; 
}


/* ===============================
   10. MEDIA QUERIES (RESPONSIVE FIXES - FIXED GAP & STICKY)
   =============================== */
@media (max-width: 991.98px) {
    
    /* ============================================================
       CSAK A PLAN_DETAIL (FIXED-LAYOUT) OLDALRA VONATKOZÓ SZABÁLYOK
       A többi oldalt (Dashboard, Lista) békén hagyjuk!
       ============================================================ */

    /* 1. GÖRGETÉS ENGEDÉLYEZÉSE (Csak itt!) */
    /* Mivel desktopon ez az oldal fix, mobilon vissza kell adni a görgetést */
    body.fixed-layout,
    html:has(body.fixed-layout) {
        height: auto !important;
        overflow-y: auto !important; /* Ez engedi a görgetést */
        overflow-x: hidden !important;
    }

    /* 2. RÉS ELTÜNTETÉSE (GAP FIX) */
    /* A base.html margóit (my-4) nullázzuk, hogy a fejléc felcsússzon */
    body.fixed-layout main {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        max-width: 100% !important;
    }

    /* 3. BELSŐ KONTÉNEREK KINYITÁSA (STICKY FIX) */
    /* Ha ezeken overflow:hidden marad, a sticky nem működik. */
    body.fixed-layout .app-container,
    body.fixed-layout .row,
    body.fixed-layout .content-col,
    body.fixed-layout .layout-wrapper, /* A form vagy div */
    body.fixed-layout .content-body {
        height: auto !important;
        overflow: visible !important; /* Kulcsfontosságú a sticky-hez! */
        display: block !important;
    }

    /* 4. A MÁSODIK FEJLÉC POZÍCIÓJA */
    /* Ez a szürke sáv, aminek a kék Navbar (56px) ALÁ kell tapadnia */
    body.fixed-layout .content-sticky-header {
        position: -webkit-sticky !important;
        /*
        position: sticky !important;
        */

        position: static !important;

        
        top: 55px !important; /* Navbar magassága alá */
        z-index: 1020;
        background-color: var(--bs-body-bg) !important;
        border-bottom: 1px solid var(--bs-border-color);
        width: 100%;
        margin: 0 !important;
    }

    /* 5. TARTALOM IGAZÍTÁS */
    /* Helyet hagyunk az alsó lebegő gomboknak (~15% nagyobb sáv) */
    body.fixed-layout .content-body {
        padding-top: 1rem !important;
        padding-bottom: 115px !important;
    }
}

   

/* =========================================
   DESKTOP SPECIFIKUS BEÁLLÍTÁSOK (>992px)
   ========================================= */
@media (min-width: 992px) {
    
    /* 1. Eredeti szabály (megtartjuk) */
    .sticky-mobile-only { 
        position: static !important; 
    }

    /* 2. ÚJ: Fejléc magasság igazítás (Sidebar vs Content) */
    /* Beállítjuk a közös minimumot, hogy a vonalak találkozzanak */
    .sidebar-header, 
    .content-sticky-header,
    .pd-sidebar-header {
        min-height: 72px !important; /* Ezzel tudsz játszani, ha csúszik (pl. 78px) */
        display: flex;
        flex-direction: column;
        justify-content: center; /* Függőlegesen középre húzza a tartalmat */
    }

    /* 3. Sidebar specifikus korrekció */
    /* Kivesszük a paddingot, hogy a flexbox középre tudja húzni a címet */
    .sidebar-header {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Terv oldal: sidebar fejléc (fülek) ugyanolyan magas mint a tartalom fejléc */
    .pd-sidebar-header .mtpl-sidebar-tabs {
        margin-bottom: 0;
    }
    
    /* A belső dobozt teljes méretre nyújtjuk */
    .sidebar-header > div {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

@media (max-width: 768px) {
    .content-sticky-header .d-flex { flex-wrap: wrap; row-gap: 0.25rem; }
    .content-sticky-header h1, .content-sticky-header .fs-6 {
        font-size: 1rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px;
    }
    .content-sticky-header > div:last-child { margin-left: auto; }
}

@media (max-width: 576px) {
    .task-card .btn-group .btn { padding: 0.6rem; font-size: 0.9rem; }
    .task-card .btn-check + .btn { width: 100%; }
    .task-card .input-group-sm > .form-control { font-size: 1rem; }
    .bottom-bar .btn { padding: 0.35rem 0.69rem; font-size: 0.98rem; }
}

/* Gépadatlap: mobil alapadat mezők */
@media (max-width: 991.98px) {
    .alapadatok-mobile .alapadatok-mobile-input,
    .alapadatok-mobile .form-select.alapadatok-mobile-input {
        font-size: 1rem;
        min-height: 2.5rem;
    }
    .alapadatok-mobile .form-label {
        font-size: 0.95rem;
    }
}

/* Alkatrész adatlap: mobil méretek mint a gépeknél (Profilkép → Készlet → Alapadatok sorrend) */
@media (max-width: 991.98px) {
    .part-details-card .form-control.form-control-sm,
    .part-details-card .form-select.form-select-sm {
        font-size: 1rem;
        min-height: 2.5rem;
        padding: 0.375rem 0.75rem;
    }
    .part-details-card .form-label {
        font-size: 0.95rem;
        margin-bottom: 0.25rem;
    }
    .part-details-card .btn-group-sm .btn {
        font-size: 0.95rem;
        padding: 0.375rem 0.75rem;
    }
    /* Készlet sor: Bevételezés / Kiadás gombok 20%-kal magasabbak mobilon */
    .part-stock-action-btn {
        min-height: 2.5rem;
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
    }
}

/* Adatlap fejléc mobil: fülek egy dropdown alatt (fél sor), akciógombok nagyobbak és szélesebbek */
@media (max-width: 991.98px) {
    .detail-header-action-btn {
        min-height: 2.75rem;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
        min-width: 2.75rem;
    }
    .detail-header-action-btn-wide {
        min-width: 5.5rem;
        min-height: 2.75rem;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
    }
    .detail-tabs-dropdown-btn {
        min-height: 2.75rem;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
    }
}

/* Fülek dropdown menü: viewport fölé (ne takarja ki az oldal), fix z-index */
.detail-tabs-dropdown-menu {
    z-index: 1060;
}

/* Bevételezés / Kiadás modal: mobilon teljes képernyő (mint karbantartás munkalap modal) */
@media (max-width: 575.98px) {
    .stock-in-out-modal-dialog { margin: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; }
    .stock-in-out-modal-dialog .modal-content { height: 100%; max-height: none; min-height: 0; }
}

/* Mobil fullscreen modalok: iOS/Android alsó böngészősáv (safe area) kezelése */
@media (max-width: 575.98px) {
    .modal-dialog.modal-fullscreen-sm-down {
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
    }
    .modal-dialog.modal-fullscreen-sm-down .modal-content {
        padding-bottom: env(safe-area-inset-bottom);
    }
    .modal-dialog.modal-fullscreen-sm-down .modal-footer {
        padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
    }
}

/* Készlet kiadás modal fejléc – narancssárga (light + dark) */
.bg-stock-out,
#stockOutModal .modal-header.bg-stock-out,
#stockOutModal .modal-content .modal-header.bg-stock-out {
    background-color: var(--cmms-stock-out) !important;
    color: #fff !important;
}
.bg-stock-out .btn-close,
.bg-stock-out .btn-close-white { filter: brightness(0) invert(1); }
[data-bs-theme="dark"] .bg-stock-out,
[data-bs-theme="dark"] #stockOutModal .modal-header.bg-stock-out {
    background-color: var(--cmms-stock-out) !important;
    color: #fff !important;
}

/* Kiadás gombok: teli narancs, fehér betű (mint Bevételezés btn-success) – gyors mozgás modal, kiadás modal, adatlap */
.btn-stock-out {
    background-color: var(--cmms-stock-out);
    border-color: var(--cmms-stock-out);
    color: #fff !important;
}
.btn-stock-out:hover,
.btn-stock-out:focus {
    background-color: var(--cmms-stock-out);
    border-color: var(--cmms-stock-out);
    color: #fff !important;
    filter: brightness(1.08);
}
[data-bs-theme="dark"] .btn-stock-out {
    background-color: var(--cmms-stock-out);
    border-color: var(--cmms-stock-out);
    color: #fff !important;
}
[data-bs-theme="dark"] .btn-stock-out:hover,
[data-bs-theme="dark"] .btn-stock-out:focus {
    filter: brightness(1.12);
}
.btn-stock-out:disabled {
    background-color: var(--cmms-stock-out);
    border-color: var(--cmms-stock-out);
    opacity: 0.6;
}

/* Bevételezés / Kiadás modal: a form közbülső elem, Bootstrap modal-dialog-scrollable a modal-content
   közvetlen gyermekein (header/body/footer) dolgozik – a formot flex oszloppá kell tenni */
#stockInModal .modal-content,
#stockOutModal .modal-content { display: flex; flex-direction: column; overflow: hidden; }
#stockInModal #stock-in-form,
#stockOutModal #stock-out-form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}
#stockInModal #stock-in-form .modal-header,
#stockInModal #stock-in-form .modal-footer,
#stockOutModal #stock-out-form .modal-header,
#stockOutModal #stock-out-form .modal-footer { flex-shrink: 0; }
#stockInModal #stock-in-form .modal-body,
#stockOutModal #stock-out-form .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1 1 auto;
    min-height: 0;
}

/* Gyors készletmozgás – mobilon kényelmesebb UI, desktop marad kompakt */
@media (max-width: 575.98px) {
    #quickPartPickerModal .modal-content {
        height: 100%;
        max-height: none;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        padding-bottom: env(safe-area-inset-bottom);
    }
    #quickPartPickerModal .modal-header,
    #quickPartPickerModal .modal-footer {
        flex-shrink: 0;
    }
    #quickPartPickerModal .modal-title {
        font-size: 1.12rem;
        font-weight: 700;
    }
    #quickPartPickerModal .modal-body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        flex: 1 1 auto;
        min-height: 0;
        font-size: 1rem;
    }
    #quickPartPickerModal .form-control,
    #quickPartPickerModal .btn:not(.btn-close),
    #quickPartPickerModal .input-group-text {
        min-height: 2.75rem;
        font-size: 1rem;
    }
    #quickPartPickerModal .qp-chip {
        min-height: 2.55rem;
        font-size: 0.96rem;
    }
    #quickPartPickerModal .qp-part-row {
        min-height: 3.2rem;
    }
    #quickPartPickerModal .qp-part-row .small,
    #quickPartPickerModal .qp-part-row .text-muted {
        font-size: 0.93rem !important;
    }
    #quickPartPickerModal .qp-part-row .badge {
        font-size: 0.86rem;
        padding: 0.45em 0.6em;
    }
    #quickPartPickerModal .modal-footer .btn {
        min-height: 2.75rem;
        font-size: 1rem;
    }

    #stockInModal .modal-title,
    #stockOutModal .modal-title {
        font-size: 1.08rem;
        font-weight: 700;
    }
    #stockInModal .modal-body,
    #stockOutModal .modal-body {
        font-size: 1rem;
    }
    #stockInModal .form-label,
    #stockOutModal .form-label {
        font-size: 0.98rem;
        font-weight: 600;
    }
    #stockInModal .form-control,
    #stockInModal .form-select,
    #stockInModal .btn:not(.btn-close),
    #stockInModal .input-group-text,
    #stockOutModal .form-control,
    #stockOutModal .form-select,
    #stockOutModal .btn:not(.btn-close),
    #stockOutModal .input-group-text {
        min-height: 2.75rem;
        font-size: 1rem;
    }
    #stockInModal .btn-group.btn-group-sm > .btn,
    #stockOutModal .btn-group.btn-group-sm > .btn {
        min-height: 2.65rem;
        font-size: 0.98rem;
    }
    #stockInModal .modal-footer .btn,
    #stockOutModal .modal-footer .btn {
        min-height: 2.75rem;
        font-size: 1rem;
    }
}


/* ===============================
   RAKTÁR MODUL – inline → osztályok
   =============================== */

/* Áttárolás táblázat */
.transfer-th-check { width: 2.5rem; }
.transfer-qty-input { width: 5.5rem; }

/* Lista: másodlagos szöveg kisebb */
.parts-list-secondary-small { font-size: 0.75rem; }

/* Sidebar: végtelen scroll trigger */
.part-sidebar-htmx-trigger { height: 1px; }

/* Part group edit: csonkolt cella */
.part-group-cell-truncate { max-width: 200px; }

/* Part edit: táblázat fejlécek */
.part-th-actions { width: 6rem; }
.part-th-count { width: 5rem; }
.part-th-delete { width: 6rem; }

/* Part edit: profilkép / kép doboz */
.part-profile-img-wrap { width: 120px; height: 120px; }
.part-profile-img-wrap img { object-fit: cover; width: 100%; height: 100%; }
.part-profile-img-desktop { width: 120px; height: 120px; object-fit: cover; }
.part-doc-thumb { height: 80px; width: auto; object-fit: contain; }

/* Part edit: alapadatok elrendezés */
.part-alapadatok-gap-1 { gap: 0.75rem 1rem; }
.part-alapadatok-col { gap: 0.5rem 1rem; flex: 1 1 280px; min-width: 0; }
.part-alapadatok-row { gap: 0.5rem 1rem; }
.part-field-140 { flex: 0 1 auto; min-width: 140px; }
.part-field-90 { flex: 0 1 auto; min-width: 90px; }
.part-field-70 { flex: 0 1 auto; min-width: 70px; }
.part-field-165 { flex: 0 1 auto; min-width: 165px; }
.part-field-name { flex: 0 1 auto; min-width: 120px; max-width: 38%; }
@media (max-width: 991.98px) {
    .part-field-category-mobile { min-width: 100%; width: 100%; }
    .part-field-name { max-width: 100%; }
}
.part-input-grow { min-width: 10ch; }
.part-input-5ch { min-width: 5ch; }
.part-field-100 { flex: 0 1 auto; min-width: 100px; }
.part-select-full { min-width: 100%; }
.part-extra-field-row { flex: 0 1 auto; min-width: 180px; }
.part-extra-name { min-width: 100px; }
.part-extra-value { min-width: 120px; }

/* Part edit: mobil alsó sáv */
.part-bottom-bar { z-index: 1030; }

/* Bevételezés: tárhely dropdown */
#stock-in-location-dropdown.dropdown-menu {
    max-height: 12rem;
    overflow-y: auto;
    min-width: 100%;
    z-index: 1050;
}

/* Gépválasztó modalok (single + multi) – mobile-first, nagyobb vezérlők */
.machine-picker-modal .modal-content {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.machine-picker-modal .modal-header,
.machine-picker-modal .modal-footer {
    flex-shrink: 0;
}
.machine-picker-modal .modal-title {
    font-size: 1.1rem;
    font-weight: 700;
}
.machine-picker-modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1 1 auto;
    min-height: 0;
    font-size: 1rem;
}
.machine-picker-modal .btn-group > .btn {
    min-height: 2.75rem;
    font-size: 1rem;
    font-weight: 600;
}
.machine-picker-modal .form-label {
    font-size: 0.98rem;
    font-weight: 600;
}
.machine-picker-modal .form-control,
.machine-picker-modal .form-select,
.machine-picker-modal .btn:not(.btn-close),
.machine-picker-modal .input-group-text {
    min-height: 2.75rem;
    font-size: 1rem;
}
.machine-picker-modal .form-check {
    min-height: 2.1rem;
    margin-bottom: 0.1rem;
}
.machine-picker-modal .form-check-label {
    font-size: 1rem;
    line-height: 1.35;
}
.machine-picker-modal .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.2rem;
}
.machine-picker-modal .badge {
    font-size: 0.82rem;
}
.machine-picker-list-height {
    max-height: 52vh;
    overflow-y: auto;
}
.machine-picker-model-height {
    max-height: 48vh;
    overflow-y: auto;
}
@media (max-width: 575.98px) {
    .machine-picker-modal-dialog {
        margin: 0;
        width: 100%;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
    }
    .machine-picker-modal-dialog .modal-content {
        height: 100%;
        max-height: none;
        min-height: 0;
        padding-bottom: env(safe-area-inset-bottom);
    }
    .machine-picker-modal .modal-footer {
        padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
    }
}
@media (min-width: 576px) {
    .machine-picker-modal-dialog {
        max-height: calc(100vh - 2rem);
        margin: 1rem auto;
    }
    .machine-picker-modal-dialog .modal-content {
        max-height: calc(100vh - 2rem);
    }
    .machine-picker-list-height {
        max-height: 340px;
    }
    .machine-picker-model-height {
        max-height: 340px;
    }
}
@media (min-width: 992px) {
    .machine-picker-modal .modal-title {
        font-size: 1.02rem;
    }
    .machine-picker-modal-body {
        font-size: 0.94rem;
    }
    .machine-picker-modal .btn-group > .btn {
        min-height: 2.3rem;
        font-size: 0.93rem;
    }
    .machine-picker-modal .form-label {
        font-size: 0.9rem;
    }
    .machine-picker-modal .form-control,
    .machine-picker-modal .form-select,
    .machine-picker-modal .btn:not(.btn-close),
    .machine-picker-modal .input-group-text {
        min-height: 2.3rem;
        font-size: 0.93rem;
    }
    .machine-picker-modal .form-check {
        min-height: 1.9rem;
    }
    .machine-picker-modal .form-check-label {
        font-size: 0.94rem;
    }
    .machine-picker-modal .form-check-input {
        width: 1rem;
        height: 1rem;
        margin-top: 0.16rem;
    }
    .machine-picker-list-height {
        max-height: 340px;
    }
    .machine-picker-model-height {
        max-height: 340px;
    }
}

/* Áttárolás: forrás/cél input */
.storage-transfer-input { max-width: 22rem; }

/* ===============================
   11. FLATPICKR DARK MODE FIX
   =============================== */

[data-bs-theme="dark"] .flatpickr-calendar {
    background: #2b3035; box-shadow: 0 4px 6px rgba(0,0,0,0.5); border: 1px solid #495057;
}
[data-bs-theme="dark"] .flatpickr-calendar.arrowTop:before, [data-bs-theme="dark"] .flatpickr-calendar.arrowTop:after { border-bottom-color: #495057; }
[data-bs-theme="dark"] .flatpickr-months .flatpickr-month, [data-bs-theme="dark"] .flatpickr-weekdays { background: #2b3035; color: #e9ecef; }
[data-bs-theme="dark"] span.flatpickr-weekday { color: #adb5bd; }
[data-bs-theme="dark"] .flatpickr-day { color: #dee2e6; }
[data-bs-theme="dark"] .flatpickr-day.flatpickr-disabled { color: #495057; }
[data-bs-theme="dark"] .flatpickr-day:hover, [data-bs-theme="dark"] .flatpickr-day.selected {
    background: var(--cmms-primary); border-color: var(--cmms-primary); color: #fff;
}
[data-bs-theme="dark"] .flatpickr-input { background-color: #2b3035 !important; color: #e9ecef !important; border-color: #495057; }

/* Dark mode: sablon feladatok – ... és Feltöltés gomb szürke, jól látható */
[data-bs-theme="dark"] .task-row-card .btn-light.border,
[data-bs-theme="dark"] .task-row-card .btn.btn-sm.btn-light {
    background-color: #2E3A45 !important;
    border-color: #495057 !important;
    color: #c9d1d9 !important;
}
[data-bs-theme="dark"] .task-row-card .btn-light:hover {
    background-color: #38434f !important;
    color: #e6edf3 !important;
}

/* Dark mode: fejléc és nagy fehér betűk → világos szürke */
[data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4, [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6 {
    color: #c9d1d9 !important;
}
[data-bs-theme="dark"] .content-sticky-header h1,
[data-bs-theme="dark"] .content-sticky-header .fw-bold,
[data-bs-theme="dark"] .navbar-brand {
    color: #c9d1d9 !important;
}
[data-bs-theme="dark"] .text-dark { color: #c9d1d9 !important; }

/* Flatpickr Mobile Fix */
@media (max-width: 768px) {
    .flatpickr-calendar { left: 50% !important; transform: translateX(-50%) !important; max-width: 90vw; width: 330px; }
    .flatpickr-calendar:before, .flatpickr-calendar:after { display: none !important; }
}

/* =========================================
   DARK MODE BORDER FIX (MOBIL KÁRTYÁK)
   ========================================= */
[data-bs-theme="dark"] .card.border-success {
    border-color: var(--bs-success) !important; /* Kényszerített Zöld */
}

[data-bs-theme="dark"] .card.border-danger {
    border-color: var(--bs-danger) !important; /* Kényszerített Piros */
}

[data-bs-theme="dark"] .card.border-warning {
    border-color: var(--bs-warning) !important; /* Kényszerített Sárga */
}

/* Mobil: inaktív/archivált kártya teljes kerete szürke */
.maintenance-card-inactive-archived.card {
    border-color: #6B7280 !important;
}
[data-bs-theme="dark"] .maintenance-card-inactive-archived.card {
    border-color: #4b5563 !important;
}

/* Tárhely kiválasztó modal: mindig a többi modal fölé (pl. áttárolás modal) */
#locationSelectorModal.modal {
    z-index: 1060 !important;
}

/* Bevételezés: „Válassz tárhelyet” mező select-szerű megjelenés */
.input-group-select-like .stock-in-location-display {
    cursor: pointer;
    background-color: var(--input-bg, #fff);
}
.input-group-select-like .stock-in-location-chevron {
    cursor: pointer;
    pointer-events: auto;
}

/* === FullCalendar: Tervező nézet extra stílusok === */

/* Múlt napok halvány háttér */
.fc .fc-day-past {
    background-color: rgba(0, 0, 0, 0.035) !important;
}
[data-bs-theme="dark"] .fc .fc-day-past {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

/* Nap fejléc: szám + badge-ek egy sorban */
.fc .fc-daygrid-day-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}
.fc .fc-daygrid-day-top .fc-daygrid-day-number {
  margin-right: 0;
}

/* Nap összesítő sor (hét nézetben): perc, fő, leállás */
.fc-day-summary {
    font-size: .72rem;
    line-height: 1.3;
    padding: 2px 4px 3px 4px;
    border-bottom: 1px solid rgba(0,0,0,.07);
    min-height: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}
[data-bs-theme="dark"] .fc-day-summary {
    border-bottom-color: rgba(255,255,255,.08);
}
.fc-day-summary .fc-summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 1px 5px;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}
.fc-day-summary .fc-summary-time {
    background: rgba(13,110,253,.1);
    color: #0d6efd;
}
[data-bs-theme="dark"] .fc-day-summary .fc-summary-time {
    background: rgba(99,161,255,.15);
    color: #6ca0ff;
}
.fc-day-summary .fc-summary-workers {
    background: rgba(25,135,84,.1);
    color: #198754;
}
[data-bs-theme="dark"] .fc-day-summary .fc-summary-workers {
    background: rgba(70,200,120,.12);
    color: #5fcf8a;
}
.fc-day-summary .fc-summary-stop {
    background: rgba(255,193,7,.2);
    color: #b8860b;
}
[data-bs-theme="dark"] .fc-day-summary .fc-summary-stop {
    background: rgba(255,193,7,.15);
    color: #ffc107;
}

/* FullCalendar események: áttetsző háttér + világos szürke szöveg dark mode-ban */
[data-bs-theme="dark"] .fc .fc-event {
    opacity: 0.78;
    color: #f0f0f0 !important;
}
[data-bs-theme="dark"] .fc .fc-event .fc-event-title,
[data-bs-theme="dark"] .fc .fc-event .fc-event-details,
[data-bs-theme="dark"] .fc .fc-list-event-title {
    color: #f0f0f0 !important;
}

/* Tárhelyek – terület választó dropdown */
.area-selector-collapse {
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}

.area-chip-toggle .area-chip-chevron {
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.area-chip-toggle[aria-expanded="true"] .area-chip-chevron {
    transform: rotate(180deg);
}

.area-chip-toggle.chip-active {
    background-color: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}

/* --- GRID ELRENDEZÉS A RAKTÁRHELY ZÓNA NÉZETHEZ --- */
.zone-stats-grid {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
.zone-stats-cell {
    width: 65px;
    display: inline-flex;
    justify-content: flex-end;
}
.zone-stats-cell-wide {
    width: 85px;
    display: inline-flex;
    justify-content: flex-end;
}
.zone-action-cell {
    width: 120px;
    min-width: 120px;
    display: inline-flex;
    justify-content: flex-end;
}
.zone-action-cell .btn-group {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}
.zone-action-cell .btn-group .btn,
.zone-action-cell .btn-group .form {
    flex: 1 1 0;
    min-width: 0;
}
.zone-action-cell .btn-group .form {
    display: flex;
    max-width: 100%;
}
/* Polc / tárhely sor: minden egy vízszintes sorban (görgetés, ha szűk) */
.zone-shelf-td {
    vertical-align: middle !important;
}
.zone-shelf-toolbar {
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end;
    gap: 0.35rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 1px;
}
.zone-shelf-toolbar::-webkit-scrollbar {
    height: 4px;
}
.zone-shelf-toolbar::-webkit-scrollbar-thumb {
    background: var(--bs-secondary-bg-subtle, #ccc);
    border-radius: 4px;
}
.zone-shelf-areas-rail {
    overflow-x: auto;
    overflow-y: hidden;
    min-width: 0;
    max-width: min(12rem, 32vw);
    flex: 0 1 auto;
    scrollbar-width: thin;
}
.zone-shelf-actions.zone-action-cell {
    width: auto !important;
    min-width: 5.25rem !important;
    max-width: 7rem;
    flex-shrink: 0;
}
.zone-loc-area-badges.badge-hover-wrap {
    position: relative;
    max-width: none;
    vertical-align: middle;
    flex-shrink: 0;
}
.zone-shelf-area-pill {
    max-width: 5.25rem;
    flex-shrink: 0;
}
.zone-storage-use-chip {
    line-height: 1.2;
}
.zone-storage-use-chip .bi {
    font-size: 0.95em;
    flex-shrink: 0;
}
.zone-shelf-toolbar .zone-stats-grid {
    flex-wrap: nowrap !important;
    flex-shrink: 0;
}

.zone-use-badge-full {
    max-width: min(13rem, 38vw);
    line-height: 1.25;
    white-space: normal !important;
    hyphens: auto;
}
.zone-stats-grid-with-use .zone-stats-use-stack {
    width: auto !important;
    min-width: 6rem;
    max-width: min(20rem, 45vw);
    flex: 1 1 10rem;
    align-items: flex-end;
}
.accordion-button .zone-stats-grid-with-use {
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 992px) {
    .zone-stats-grid {
        flex-wrap: wrap;
        justify-content: flex-end;
        width: 100%;
        margin-top: 0.25rem;
    }
    .zone-stats-cell, .zone-stats-cell-wide, .zone-action-cell {
        width: auto;
        min-width: 0;
    }
    .zone-loc-area-badges.badge-hover-wrap {
        max-width: 100%;
    }
    .zone-shelf-areas-rail {
        max-width: min(10rem, 50vw);
    }
}

.cursor-pointer {
    cursor: pointer;
}

.select2-container--bootstrap-5 .select2-selection {
    font-size: 0.875rem;
    min-height: 31px;
}
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
    font-size: 0.75rem;
    margin-top: 2px;
}

/* Dashboard badge helper classes */
.dash-badge-qty { min-width: 80px; text-align: right; }
.dash-badge-qty-90 { min-width: 90px; text-align: right; }
.dash-badge-val { min-width: 120px; text-align: right; }
.dash-badge-time { min-width: 110px; text-align: right; }

/* ===============================
   KARBANTARTÁS DASHBOARD
   =============================== */

/* KPI kártyák hover/focus – ugyanaz mint a raktár dashboardon */
.dashboard-kpi-card,
.dashboard-top-card,
.dashboard-chart-card {
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dashboard-kpi-card:hover,
.dashboard-top-card:hover,
.dashboard-chart-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1) !important;
}
.dashboard-kpi-card:focus,
.dashboard-top-card:focus,
.dashboard-chart-card:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Készlet értéke kártya: kisebb betű az összegnek, hogy 10 számjegy is elférjen */
.dashboard-widget[data-widget-id="inv_card_total_value"] .card-body h3 { font-size: 0.85rem; }

/* Bal oldali szín-jelölő kombinált tervekhez (lila) */
.border-purple {
    border-color: #6f42c1 !important;
}

/* Diagram wrapper minimális magassággal */
.dash-chart-min-height {
    min-height: 220px;
}

/* Azonos magasság a 6 kördiagram kártyának */
.maint-dash-doughnut-card {
    height: 260px;
    display: flex;
    flex-direction: column;
}
.maint-dash-doughnut-card .card-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.maint-dash-doughnut-card .card-footer {
    flex-shrink: 0;
}

/* Modal chart wrap & legend */
.maint-dash-modal-canvas-wrap {
    position: relative;
    height: 420px;
    min-width: 0;
    flex: 1 1 auto;
}
.maint-dash-modal-legend {
    display: none;
    max-height: 420px;
    overflow-y: auto;
}
.maint-dash-modal-canvas-wrap-compact {
    flex: 0 0 42%;
    max-width: 42%;
}
.maint-dash-legend-item {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    flex-wrap: nowrap;
}
.maint-dash-legend-color {
    flex-shrink: 0;
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 3px;
}
.maint-dash-legend-label {
    flex-shrink: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 170px;
    font-size: 0.875rem;
}
.maint-dash-legend-value {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 0.875rem;
    font-weight: 600;
}
.maint-dash-legend-pct {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 0.8rem;
    color: #6c757d;
}
[data-bs-theme="dark"] .maint-dash-legend-pct {
    color: #8b949e;
}

/* Karbantartás dashboard: toplista elem csonkítása */
.dash-toplist-name {
    max-width: 65%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Full list modal: fit-content szélesség (max 95vw) */
.dash-fulllist-modal-dialog {
    width: fit-content;
    min-width: 320px;
    max-width: min(95vw, 900px);
}
.dash-fulllist-modal-dialog-xl {
    max-width: min(95vw, 1200px);
}
.dash-fulllist-modal-dialog .modal-content,
.dash-fulllist-modal-dialog-xl .modal-content {
    width: 100%;
}
.dash-fulllist-modal-body {
    overflow-y: auto;
    overflow-x: auto;
    max-height: 70vh;
}
.dash-fulllist-table {
    table-layout: auto;
}

/* Karbantartás dashboard: összefoglaló KPI blokkok (kattintásra bővülnek) */
.maint-dash-kpi-summary-card {
    cursor: pointer;
    transition: box-shadow 0.2s ease, opacity 0.25s ease, visibility 0.25s ease;
}
.maint-dash-kpi-summary-card.maint-dash-summary-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.maint-dash-kpi-summary-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1) !important;
}
.maint-dash-kpi-summary-card:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Karbantartás dashboard: kattintható diagram kártyák */
.maint-dash-chart-card {
    cursor: pointer;
    transition: box-shadow 0.2s ease;
}
.maint-dash-chart-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1) !important;
}
.maint-dash-chart-card:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Mini főkártya a detail sorban (collapse trigger) */
.maint-dash-mini-main-card {
    cursor: pointer;
    transition: box-shadow 0.2s ease;
}
.maint-dash-mini-main-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.12) !important;
}
.maint-dash-mini-main-card:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}
.maint-dash-kpi-summary-card .maint-dash-kpi-chevron {
    transition: transform 0.25s ease;
    flex-shrink: 0;
}
.maint-dash-kpi-summary-card[aria-expanded="true"] .maint-dash-kpi-chevron {
    transform: rotate(180deg);
}

/* KPI detail panel – mindig kicsomagolva, soronként a kártyák */
.maint-dash-kpi-detail-panel.maint-dash-detail-always-visible {
    max-height: none;
    overflow: visible;
}
.maint-dash-detail-section.maint-dash-detail-visible {
    display: block;
}
.maint-dash-detail-section .row {
    padding-top: 0.5rem;
    padding-bottom: 0.75rem;
}


/* ==========================================================================
   FŐOLDAL – TESTRESZABHATÓ DASHBOARD WIDGETEK
   ========================================================================== */

/* Widget kártya */
.dashboard-widget-card {
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.dashboard-widget-clickable {
    cursor: pointer;
}

.dashboard-widget-clickable:hover {
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-2px);
}

.dashboard-widget-clickable:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.dashboard-widget-bg-icon {
    font-size: 3.5rem;
    pointer-events: none;
    user-select: none;
}

.dashboard-widget-value {
    font-size: clamp(1.6rem, 4vw, 2.25rem);
    line-height: 1.1;
    min-height: 2.5rem;
    word-break: break-all;
}

/* Dashboard testreszabás modal – fülek */
#dashboardCustomizeModal .nav-tabs {
    border-bottom: 1px solid var(--bs-border-color);
}
#dashboardCustomizeModal .nav-tabs .nav-link {
    color: var(--cmms-text-secondary);
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.5rem 1rem;
    margin-bottom: -1px;
}
#dashboardCustomizeModal .nav-tabs .nav-link:hover {
    color: var(--cmms-primary);
}
#dashboardCustomizeModal .nav-tabs .nav-link.active {
    color: var(--cmms-primary);
    font-weight: 600;
    border-bottom-color: var(--cmms-primary);
    background: transparent;
}

/* Testreszabó modal – widget elem */
.customize-widget-item {
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
    border-color: var(--bs-border-color) !important;
}

.customize-widget-item:hover {
    background-color: var(--bs-tertiary-bg);
}

.customize-widget-item.customize-widget-active {
    background-color: rgba(var(--bs-primary-rgb), 0.07);
    border-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .customize-widget-item.customize-widget-active {
    background-color: rgba(var(--bs-primary-rgb), 0.15);
}

.cursor-pointer {
    cursor: pointer;
}

/* Dashboard gyorsgombok (a +Új hibajegy kivételével): világos szürke, hover sötétszürke */
.btn-dashboard-secondary {
    background-color: #e9ecef;
    border-color: #dee2e6;
    color: #495057;
}
.btn-dashboard-secondary:hover {
    background-color: #495057;
    border-color: #495057;
    color: #fff;
}
[data-bs-theme="dark"] .btn-dashboard-secondary {
    background-color: #21262d;
    border-color: #30363d;
    color: #9aa5b1;
}
[data-bs-theme="dark"] .btn-dashboard-secondary:hover {
    background-color: #6e7681;
    border-color: #6e7681;
    color: #e6edf3;
}

/* Dashboard gyorsgombok mobilon: nagyobb, középen, egymás alatt */
@media (max-width: 767.98px) {
    .dashboard-quick-actions {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
    }
    .dashboard-quick-actions .btn {
        width: 100%;
        max-width: 20rem;
        padding: 0.5rem 1rem;
        font-size: 1.1rem;
        min-height: 2.75rem;
    }
    .dashboard-quick-actions .btn i {
        font-size: 1.25rem;
    }
}

/* Időszak gyorsgombok (Ma, Tegnap, …): ugyanaz a stílus, aktív = primary */
#home-time-filter-bar .home-time-quick.btn-outline-secondary {
    background-color: #e9ecef;
    border-color: #dee2e6;
    color: #495057;
}
#home-time-filter-bar .home-time-quick.btn-outline-secondary:hover {
    background-color: #495057;
    border-color: #495057;
    color: #fff;
}
[data-bs-theme="dark"] #home-time-filter-bar .home-time-quick.btn-outline-secondary {
    background-color: #21262d;
    border-color: #30363d;
    color: #9aa5b1;
}
[data-bs-theme="dark"] #home-time-filter-bar .home-time-quick.btn-outline-secondary:hover {
    background-color: #6e7681;
    border-color: #6e7681;
    color: #e6edf3;
}

/* ══════════════════════════════════════════════════════════════════════
   FŐOLDAL DRAG-AND-DROP ÁTRENDEZÉS
══════════════════════════════════════════════════════════════════════ */

.home-drag-handle {
    display: none;
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 10;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    border-radius: 6px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    cursor: grab;
    font-size: 1rem;
    transition: background 0.15s;
}
.home-drag-handle:hover { background: rgba(var(--bs-primary-rgb), 0.25); }
.home-drag-handle:active { cursor: grabbing; }

/* Dashboard widget grid – rögzített sor magasság = egységes kártyaméret (top kártyák ne nyújtsák a sort) */
.dashboard-grid {
    --dash-row: 8rem;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: minmax(var(--dash-row), auto);
    grid-auto-flow: dense;
    gap: 0.125rem;
    align-items: stretch;
}
@media (max-width: 1199.98px) {
    .dashboard-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 767.98px) {
    .dashboard-grid { grid-template-columns: 1fr; }
}
.dashboard-widget { min-width: 0; }
/* Szélesség x Magasság */
.dashboard-widget.widget-1x1 { grid-column: span 1; grid-row: span 1; }
.dashboard-widget.widget-1x2 { grid-column: span 1; grid-row: span 2; }
.dashboard-widget.widget-2x1 { grid-column: span 2; grid-row: span 1; }
.dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }
.dashboard-widget.widget-3x2 { grid-column: span 3; grid-row: span 2; }
.dashboard-widget.widget-4x2 { grid-column: span 4; grid-row: span 2; }
@media (max-width: 1199.98px) {
    .dashboard-widget.widget-2x2,
    .dashboard-widget.widget-3x2,
    .dashboard-widget.widget-4x2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .dashboard-widget.widget-1x1,
    .dashboard-widget.widget-1x2,
    .dashboard-widget.widget-2x1,
    .dashboard-widget.widget-2x2,
    .dashboard-widget.widget-3x2,
    .dashboard-widget.widget-4x2 { grid-column: span 1; grid-row: span 1; }
}
.dashboard-grid-fullwidth {
    grid-column: 1 / -1;
    min-height: min-content;
}
/* Karbantartás és raktár dashboard collapse nyilak */
.maint-dash-section-header[aria-expanded="false"] .bi-chevron-down {
    transform: rotate(-90deg);
}
.maint-dash-section-header .bi-chevron-down {
    transition: transform 0.2s ease-in-out;
}

/* Karbantartási idők kártya: light mode = fekete számok, dark mode = színek maradnak */
html:not([data-bs-theme="dark"]) .maint-times-summary-card .maint-times-value {
    color: #212529 !important;
}

/* Hibajegyek: külön wrapper, hogy a fejléc és a kártyák közt kis fix tér maradjon */
.maint-dash-section-faults-wrapper {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* kb. 1 sornyi tér */
    min-height: 0;
}
/* Kártyaméret egyezzen a főoldal GridStack-kel: cellHeight 125px, margin 6px */
.maint-dash-section-faults-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 125px;
    grid-auto-flow: dense;
    gap: 6px;
    align-items: stretch;
}
.maint-dash-section-faults-grid > .dashboard-widget { min-width: 0; padding: 6px; }
.maint-dash-section-faults-grid > .dashboard-widget.widget-1x1 { grid-column: span 1; grid-row: span 1; }
.maint-dash-section-faults-grid > .dashboard-widget.widget-2x1 { grid-column: span 2; grid-row: span 1; }
.maint-dash-section-faults-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1199.98px) {
    .maint-dash-section-faults-grid { grid-template-columns: repeat(4, 1fr); }
    .maint-dash-section-faults-grid > .dashboard-widget.widget-2x1,
    .maint-dash-section-faults-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .maint-dash-section-faults-grid { grid-template-columns: 1fr; }
    .maint-dash-section-faults-grid > .dashboard-widget.widget-2x1,
    .maint-dash-section-faults-grid > .dashboard-widget.widget-2x2 { grid-column: span 1; grid-row: span 1; }
}
/* Karbantartási tervek: egy teljes szélességű blokk (fejléc + grid), ne keveredjen más szekcióval; fejléc és kártyák közt kis tér */
.maint-dash-section-plans-wrapper {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* ugyanúgy mint hibajegyeknél és alkatrésznél */
    min-height: 0;
}
.maint-dash-section-plans-wrapper > .maint-dash-section-header { flex-shrink: 0; }
.maint-dash-section-plans-wrapper > .maint-dash-section-plans-top,
.maint-dash-section-plans-wrapper > .maint-dash-section-plans-grid { flex: 0 0 auto; min-height: 0; }
.maint-dash-section-plans-top {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 125px;
    gap: 6px;
    align-items: stretch;
}
.maint-dash-section-plans-top > .dashboard-widget { min-width: 0; }
.maint-dash-section-plans-top > .dashboard-widget.widget-1x1 { grid-column: span 1; grid-row: span 1; }
.maint-dash-section-plans-top > .dashboard-widget.widget-2x1 { grid-column: span 2; grid-row: span 1; }
.maint-dash-section-plans-top > .dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }
.maint-dash-section-plans-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 125px;
    grid-auto-flow: row;
    gap: 6px;
    align-items: stretch;
}
.maint-dash-section-plans-grid > .dashboard-widget { min-width: 0; padding: 6px; }
.maint-dash-section-plans-grid > .dashboard-widget.widget-1x1 { grid-column: span 1; grid-row: span 1; }
.maint-dash-section-plans-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1199.98px) {
    .maint-dash-section-plans-top { grid-template-columns: repeat(4, 1fr); }
    .maint-dash-section-plans-top > .dashboard-widget.widget-2x1,
    .maint-dash-section-plans-top > .dashboard-widget.widget-2x2 { grid-column: span 2; }
    .maint-dash-section-plans-grid { grid-template-columns: repeat(4, 1fr); }
    .maint-dash-section-plans-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .maint-dash-section-plans-top { grid-template-columns: 1fr; }
    .maint-dash-section-plans-top > .dashboard-widget.widget-2x1,
    .maint-dash-section-plans-top > .dashboard-widget.widget-2x2 { grid-column: span 1; grid-row: span 1; }
    .maint-dash-section-plans-grid { grid-template-columns: 1fr; }
    .maint-dash-section-plans-grid > .dashboard-widget.widget-2x2 { grid-column: span 1; grid-row: span 1; }
}
/* Előzmények: egy teljes szélességű blokk (fejléc + grid), ne keveredjen más szekcióval; fejléc és kártyák közt kis tér */
.maint-dash-section-history-wrapper {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* ugyanúgy mint hibajegyeknél és alkatrésznél */
    min-height: 0;
}
.maint-dash-section-history-wrapper > .maint-dash-section-header { flex-shrink: 0; }
.maint-dash-section-history-wrapper > .maint-dash-section-history-grid { flex: 0 0 auto; min-height: 0; }
/* Előzmények blokk: kártyák saját gridben (ne kerüljenek más blokkba a dense flow miatt) */
.maint-dash-section-history-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 125px;
    grid-auto-flow: dense;
    gap: 6px;
    align-items: stretch;
}
.maint-dash-section-history-grid > .dashboard-widget { min-width: 0; padding: 6px; }
.maint-dash-section-history-grid > .dashboard-widget.widget-1x1 { grid-column: span 1; grid-row: span 1; }
.maint-dash-section-history-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1199.98px) {
    .maint-dash-section-history-grid { grid-template-columns: repeat(4, 1fr); }
    .maint-dash-section-history-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .maint-dash-section-history-grid { grid-template-columns: 1fr; }
    .maint-dash-section-history-grid > .dashboard-widget.widget-2x2 { grid-column: span 1; grid-row: span 1; }
}
/* Szekciófejléc: egy sor magasság (8rem), kompakt padding */
.maint-dash-section-header {
    padding: 0 0.25rem;
    min-height: 0;
}
.maint-dash-section-header h5 {
    font-size: 1rem;
    color: #344054;
    letter-spacing: 0.01em;
}
.maint-dash-section-header hr {
    border-color: rgba(0,0,0,0.10);
    opacity: 1;
    margin-top: 0.25rem;
    margin-bottom: 0.125rem;
}
[data-bs-theme="dark"] .maint-dash-section-header h5 {
    color: #c9d1d9;
}
[data-bs-theme="dark"] .maint-dash-section-header hr {
    border-color: rgba(255,255,255,0.12);
}

/* Alkatrész felhasználás szekció: saját grid blokk, mindig új sorban, mindig látható */
.maint-dash-section-block {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* kb. 1 sornyi tér */
    min-height: 0;
}
.maint-dash-section-machines-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 125px;
    gap: 6px;
    align-items: stretch;
}
.maint-dash-section-machines-grid > .dashboard-widget { min-width: 0; padding: 6px; }
.maint-dash-section-machines-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1199.98px) {
    .maint-dash-section-machines-grid { grid-template-columns: repeat(4, 1fr); }
    .maint-dash-section-machines-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .maint-dash-section-machines-grid { grid-template-columns: 1fr; }
    .maint-dash-section-machines-grid > .dashboard-widget.widget-2x2 { grid-column: span 1; grid-row: span 1; }
}

/* Kimutatások desktop: ugyanaz a kártyarács mechanika, mint a főoldal (GridStack), edit mód nélkül */
.maint-gridstack-enabled .maint-dash-section-faults-grid,
.maint-gridstack-enabled .maint-dash-section-plans-grid,
.maint-gridstack-enabled .maint-dash-section-history-grid,
.maint-gridstack-enabled .maint-dash-section-machines-grid {
    display: block;
    min-height: 0;
}
.maint-gridstack-enabled .maint-dash-section-faults-grid .grid-stack-item-content,
.maint-gridstack-enabled .maint-dash-section-plans-grid .grid-stack-item-content,
.maint-gridstack-enabled .maint-dash-section-history-grid .grid-stack-item-content,
.maint-gridstack-enabled .maint-dash-section-machines-grid .grid-stack-item-content {
    padding: 0;
    overflow: visible;
}
.maint-gridstack-enabled .maint-dash-section-faults-grid .home-card-col,
.maint-gridstack-enabled .maint-dash-section-plans-grid .home-card-col,
.maint-gridstack-enabled .maint-dash-section-history-grid .home-card-col,
.maint-gridstack-enabled .maint-dash-section-machines-grid .home-card-col,
.maint-gridstack-enabled .maint-dash-section-faults-grid .home-card-col .card,
.maint-gridstack-enabled .maint-dash-section-plans-grid .home-card-col .card,
.maint-gridstack-enabled .maint-dash-section-history-grid .home-card-col .card,
.maint-gridstack-enabled .maint-dash-section-machines-grid .home-card-col .card {
    height: 100%;
}
.maint-gridstack-enabled .grid-stack {
    overflow: visible !important;
}

/* Collapse: bezárt szekciónál a tartalom ne látszódjon (grid-stack absolute elemek legyenek levágtatva) */
.maint-dash-section-faults-grid.collapse:not(.show),
.maint-dash-section-plans-grid.collapse:not(.show),
.maint-dash-section-history-grid.collapse:not(.show),
.maint-dash-section-machines-grid.collapse:not(.show) {
    overflow: hidden !important;
    display: block !important;
}

/* Kimutatás oldalon: GridStack item-content ne görgessenek (felülírja a gridstack.min.css overflow-y:auto-ját) */
.maint-dash-page .grid-stack-item-content {
    overflow: hidden !important;
}
/* A kártya maga se kapjon scrollbart */
.maint-dash-page .grid-stack-item-content .card {
    overflow: hidden !important;
}
/* Toplista és doughnut belső területe se görgessenek */
.maint-dash-page .dashboard-top-card .card-body,
.maint-dash-page .dashboard-top-card .card-body ul,
.maint-dash-page .maint-dash-doughnut-card .card-body,
.maint-dash-page .dash-doughnut-legend {
    overflow: hidden !important;
}
.maint-dash-page .dashboard-top-card .card-body ul {
    max-height: none !important;
}

/* Raktár dashboard: ugyanaz a grid mint a karbantartás (maint-dash-section-faults-grid) – 6 oszlop, 125px sor, gap 6px */
.inv-dash-grid.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    align-items: stretch;
}
.inv-dash-section-summary-wrapper,
.inv-dash-section-minmax-wrapper,
.inv-dash-section-movements-wrapper,
.inv-dash-section-toplists-wrapper {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 0;
}
.inv-dash-section-summary-wrapper > .maint-dash-section-header,
.inv-dash-section-movements-wrapper > .maint-dash-section-header,
.inv-dash-section-toplists-wrapper > .maint-dash-section-header { flex-shrink: 0; }
.inv-dash-section-summary-wrapper > .inv-dash-section-summary-grid,
.inv-dash-section-movements-wrapper > .inv-dash-section-movements-grid,
.inv-dash-section-toplists-wrapper > .inv-dash-section-toplists-grid { flex: 0 0 auto; min-height: 0; }

/* Spanek = maint-dash-section-faults-grid (6 oszlop) */
.inv-dash-section-summary-grid,
.inv-dash-section-movements-grid,
.inv-dash-section-toplists-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 125px;
    grid-auto-flow: dense;
    gap: 6px;
    align-items: stretch;
}
.inv-dash-section-summary-grid > .dashboard-widget,
.inv-dash-section-movements-grid > .dashboard-widget,
.inv-dash-section-toplists-grid > .dashboard-widget { min-width: 0; padding: 6px; }
.inv-dash-section-summary-grid > .dashboard-widget.widget-1x1,
.inv-dash-section-movements-grid > .dashboard-widget.widget-1x1,
.inv-dash-section-toplists-grid > .dashboard-widget.widget-1x1 { grid-column: span 1; grid-row: span 1; }
.inv-dash-section-summary-grid > .dashboard-widget.widget-2x1,
.inv-dash-section-movements-grid > .dashboard-widget.widget-2x1,
.inv-dash-section-toplists-grid > .dashboard-widget.widget-2x1 { grid-column: span 2; grid-row: span 1; }
.inv-dash-section-summary-grid > .dashboard-widget.widget-2x2,
.inv-dash-section-movements-grid > .dashboard-widget.widget-2x2,
.inv-dash-section-toplists-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; grid-row: span 2; }

@media (max-width: 1199.98px) {
    .inv-dash-grid.dashboard-grid { grid-template-columns: repeat(4, 1fr); }
    .inv-dash-section-summary-grid,
    .inv-dash-section-movements-grid,
    .inv-dash-section-toplists-grid { grid-template-columns: repeat(4, 1fr); }
    .inv-dash-section-summary-grid > .dashboard-widget.widget-2x1,
    .inv-dash-section-summary-grid > .dashboard-widget.widget-2x2,
    .inv-dash-section-movements-grid > .dashboard-widget.widget-2x1,
    .inv-dash-section-movements-grid > .dashboard-widget.widget-2x2,
    .inv-dash-section-toplists-grid > .dashboard-widget.widget-2x1,
    .inv-dash-section-toplists-grid > .dashboard-widget.widget-2x2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .inv-dash-grid.dashboard-grid { grid-template-columns: 1fr; }
    .inv-dash-section-summary-grid,
    .inv-dash-section-movements-grid,
    .inv-dash-section-toplists-grid { grid-template-columns: 1fr; }
    .inv-dash-section-summary-grid > .dashboard-widget.widget-2x1,
    .inv-dash-section-summary-grid > .dashboard-widget.widget-2x2,
    .inv-dash-section-movements-grid > .dashboard-widget.widget-2x1,
    .inv-dash-section-movements-grid > .dashboard-widget.widget-2x2,
    .inv-dash-section-toplists-grid > .dashboard-widget.widget-2x1,
    .inv-dash-section-toplists-grid > .dashboard-widget.widget-2x2 { grid-column: span 1; grid-row: span 1; }
}

/* Raktár dashboard: kártya és wrapper kitölti a cellát (mint maintenance) */
#inv-dash-widget-grid .dashboard-widget,
#inv-dash-widget-grid .dashboard-widget .card { height: 100%; }
#inv-dash-widget-grid .home-drag-handle { display: none; }

/* Top lista kártyák (top 5): kompakt, de olvasható – kimutatás ÉS főoldal azonos megjelenés */
.dash-toplist-row,
#home-gridstack .dash-toplist-row {
    font-size: 0.875rem !important;
    padding: 0.45rem 0.6rem !important;
    min-height: 0;
}
.dash-toplist-row .dash-toplist-name,
#home-gridstack .dash-toplist-row .dash-toplist-name {
    font-size: 0.875rem;
}
.inv-modal-row-link {
    cursor: pointer;
}
.inv-modal-row-link:hover td {
    background-color: rgba(13, 110, 253, 0.06);
}
[data-bs-theme="dark"] .inv-modal-row-link:hover td {
    background-color: rgba(121, 192, 255, 0.10);
}
.dashboard-top-card .card-header h6,
#home-gridstack .dashboard-top-card .card-header h6 {
    font-size: 0.95rem;
}
.dashboard-top-card .card-body .dash-toplist-row .badge,
#home-gridstack .dashboard-top-card .card-body .dash-toplist-row .badge {
    font-size: 0.8rem;
}

/* Időértékek "óra" / "perc" egysége: szürke, vékonyabb betű */
.dash-time-unit {
    color: #6c757d;
    font-weight: 400;
    font-size: 0.95em;
}
[data-bs-theme="dark"] .dash-time-unit {
    color: #8b949e;
}
/* KPI elsődleges értékénél (fs-4 kontextus) az egységek kompaktak */
.maint-kpi-primary-value .dash-time-unit {
    font-size: 0.58em;
    font-weight: 400;
}

/* Két hiba között kártya: ugyanakkora betűméret mint az Állásidő kártyán (fs-4 + dash-time-unit) */
.dashboard-widget[data-widget-id="maint_card_faults_avg_between"] .card-body h3,
.dashboard-widget[data-widget-id="maint_card_faults_avg_between"] #kpi-avg-between-faults {
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 700;
}
.dashboard-widget[data-widget-id="maint_card_faults_avg_between"] .card-body .dash-time-unit {
    font-size: 0.58em;
    font-weight: 400;
    color: #6c757d;
}
[data-bs-theme="dark"] .dashboard-widget[data-widget-id="maint_card_faults_avg_between"] .card-body .dash-time-unit {
    color: #8b949e;
}

/* Top lista kártya: rögzített magasság, lista görgethető – egységes kártyaméret, kerek sarkok */
.dashboard-top-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--bs-border-radius, 0.375rem);
}
.dashboard-top-card .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}
.dashboard-top-card .card-body ul {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
#home-gridstack .dashboard-top-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--bs-border-radius, 0.375rem);
}
#home-gridstack .dashboard-top-card .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}
#home-gridstack .dashboard-top-card .card-body ul {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

/* Főoldal: GridStack – eredeti tartalom-wrapper dobozok rejtve (kártyák már a gridben vannak) */
.home-using-gridstack #maint-dash-content,
.home-using-gridstack #dashboard-content {
    display: none !important;
}

/* GridStack item belső tartalom: padding nélkül, overflow látható (dropdown-ok miatt) */
#home-gridstack .grid-stack-item-content {
    padding: 0;
    overflow: visible;
}

/* A kártya és az azt becsomagoló .home-card-col töltse ki a cellát */
#home-gridstack .home-card-col,
#home-gridstack .home-card-col .card {
    height: 100%;
}

/* Kártya méret fix: GridStack átméretezési handle soha ne jelenjen meg */
#home-gridstack .grid-stack-item .ui-resizable-handle,
#home-gridstack .grid-stack-item [class*="resize-handle"] {
    display: none !important;
}

/* Drag handle csak edit módban látható – .home-edit-mode a #home-sortable-wrapper-en van */
#home-gridstack .home-drag-handle {
    display: none;
}
.home-edit-mode #home-gridstack .home-drag-handle {
    display: flex;
}

/* Edit módban GridStack item kerete */
.home-edit-mode #home-gridstack .grid-stack-item > .grid-stack-item-content .card {
    outline: 2px dashed rgba(var(--bs-primary-rgb), 0.35);
    outline-offset: 2px;
    transition: outline 0.15s, box-shadow 0.15s;
}
.home-edit-mode #home-gridstack .grid-stack-item:hover > .grid-stack-item-content .card {
    outline-color: var(--bs-primary);
    box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), 0.12) !important;
}

[data-bs-theme="dark"] .home-edit-mode #home-gridstack .grid-stack-item > .grid-stack-item-content .card {
    outline-color: rgba(var(--bs-primary-rgb), 0.5);
}

.home-edit-mode .home-card-col {
    position: relative;
    cursor: default;
}
.home-edit-mode .home-card-col .home-drag-handle {
    display: flex;
}
.home-edit-mode .home-card-col .card {
    outline: 2px dashed rgba(var(--bs-primary-rgb), 0.35);
    outline-offset: 2px;
    transition: outline 0.15s, box-shadow 0.15s;
}
.home-edit-mode .home-card-col:hover .card {
    outline-color: var(--bs-primary);
    box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), 0.12) !important;
}

.home-sortable-ghost { opacity: 0.3; }
.home-sortable-ghost .card { background: rgba(var(--bs-primary-rgb), 0.06) !important; }

.home-sortable-chosen .card {
    box-shadow: 0 8px 24px rgba(0,0,0,0.18) !important;
    transform: rotate(0.8deg);
}
.home-sortable-drag .card {
    box-shadow: 0 12px 30px rgba(0,0,0,0.22) !important;
    transform: rotate(1.5deg) scale(1.02);
}

[data-bs-theme="dark"] .home-edit-mode .home-card-col .card {
    outline-color: rgba(var(--bs-primary-rgb), 0.5);
}
[data-bs-theme="dark"] .home-drag-handle { background: rgba(var(--bs-primary-rgb), 0.18); }
[data-bs-theme="dark"] .home-drag-handle:hover { background: rgba(var(--bs-primary-rgb), 0.35); }

/* Gyorsgombok blokk átrendezés módban – külön blokk, mint a kártyák */
#dashboard-quick-actions-wrapper.home-edit-mode {
    padding: 0.75rem 1rem;
    border: 2px dashed rgba(var(--bs-primary-rgb), 0.35);
    border-radius: 0.5rem;
    background: rgba(var(--bs-primary-rgb), 0.04);
}
#dashboard-quick-actions-wrapper.home-edit-mode::before {
    content: "Gyorsgombok – húzd átrendezéshez";
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--bs-secondary);
    margin-bottom: 0.5rem;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-actions {
    min-height: 2.5rem;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.5rem !important;
    align-items: stretch;
}
.dashboard-quick-action-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item {
    width: 100%;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item > .btn,
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item > a.btn {
    width: 100%;
    justify-content: flex-start;
}
.dashboard-qa-drag-handle {
    display: none;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.25rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    cursor: grab;
    flex-shrink: 0;
}
.dashboard-qa-drag-handle:active {
    cursor: grabbing;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-qa-drag-handle {
    display: inline-flex !important;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item {
    outline: 2px dashed rgba(var(--bs-primary-rgb), 0.25);
    outline-offset: 2px;
    border-radius: 0.375rem;
    transition: outline-color 0.15s, box-shadow 0.15s;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item:hover {
    outline-color: rgba(var(--bs-primary-rgb), 0.5);
}
.home-edit-mode #home-gridstack .grid-stack-item-content a,
.home-edit-mode #home-gridstack .grid-stack-item-content button,
.home-edit-mode #home-gridstack .grid-stack-item-content input,
.home-edit-mode #home-gridstack .grid-stack-item-content select,
.home-edit-mode #home-gridstack .grid-stack-item-content textarea,
.home-edit-mode #home-gridstack .grid-stack-item-content [data-bs-toggle],
.home-edit-mode #home-gridstack .grid-stack-item-content [onclick] {
    pointer-events: none !important;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item > a,
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item > button {
    pointer-events: none !important;
}
#dashboard-quick-actions-wrapper.home-edit-mode .dashboard-quick-action-item {
    cursor: move;
}
.dashboard-quick-action-item.dashboard-qa-drag-over {
    outline: 2px solid var(--bs-primary) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), 0.15);
}
.dashboard-quick-action-item.dashboard-qa-dragging {
    opacity: 0.7;
}

/* ══════════════════════════════════════════════════════════════════════
   FŐOLDAL – MOBIL OPTIMALIZÁCIÓ (GridStack ki van kapcsolva <768px alatt)
══════════════════════════════════════════════════════════════════════ */

/* Időszak szűrő sáv: vízszintes görgetés szűk képernyőn */
@media (max-width: 767.98px) {
    #home-time-filter-bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    #home-time-filter-bar::-webkit-scrollbar { display: none; }
    #home-time-quick-btns { flex-shrink: 0; }
    #home-date-range-badge { flex-shrink: 0; }
}

/* Kártyák: alacsonyabb sor mobilon (kis KPI kártyák ne legyenek túl magasak) */
@media (max-width: 767.98px) {
    #maint-dash-widget-grid,
    #inv-dash-widget-grid,
    .maint-dash-section-faults-grid,
    .maint-dash-section-plans-grid,
    .maint-dash-section-history-grid,
    .maint-dash-section-machines-grid,
    .inv-dash-section-summary-grid,
    .inv-dash-section-movements-grid,
    .inv-dash-section-toplists-grid {
        grid-auto-rows: minmax(4rem, auto);
    }

    /* Minden widget mobilon teljes szélességű, 1 oszlopos sor */
    #maint-dash-widget-grid .dashboard-widget,
    #inv-dash-widget-grid .dashboard-widget,
    .maint-dash-section-faults-grid .dashboard-widget,
    .maint-dash-section-plans-grid .dashboard-widget,
    .maint-dash-section-history-grid .dashboard-widget,
    .maint-dash-section-machines-grid .dashboard-widget,
    .inv-dash-section-summary-grid .dashboard-widget,
    .inv-dash-section-movements-grid .dashboard-widget,
    .inv-dash-section-toplists-grid .dashboard-widget {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

    /* Doughnut kártya: ne legyen fix 260px, engedjük megnyúlni */
    .maint-dash-doughnut-card {
        height: auto;
        min-height: 220px;
    }

    /* Top lista kártya: maximális lista magasság mobilon (görgethető) */
    .dashboard-top-card .card-body ul {
        max-height: 20rem;
    }

    /* KPI kártya értéke: kicsit kisebb font mobilon */
    .dashboard-widget-value {
        font-size: clamp(1.4rem, 8vw, 2rem);
    }

    /* Dashboard kártyák: kompaktabb padding mobilon */
    .home-card-col .card-body,
    #maint-dash-widget-grid .card-body,
    #inv-dash-widget-grid .card-body {
        padding: 0.75rem;
    }
    /* Kis KPI kártyák: még kompaktabb mobilon (kevesebb üres tér) */
    .dashboard-kpi-card .card-body {
        padding: 0.5rem 0.75rem;
    }

    /* Diagram modal: teljes szélesség mobilon */
    .maint-dash-modal-canvas-wrap {
        height: 280px;
    }
}

/* Raktár KPI kártyák: kisebb távolság a szám és a Beszerzési igény / Lekötött többlettőke sor között */
#inv-dash-widget-grid .dashboard-kpi-card .inv-kpi-subline {
    margin-top: 0.05rem;
}

/* Modal magasság-korlátok: csak desktopon/tableten, mobilon fullscreen */
@media (min-width: 576px) {
  .maint-modal-h-constrained    { max-height: 85vh; }
  .maint-modal-h-screen-lg      { max-height: calc(100vh - 2rem); }
}

/* Kereső mellett lévő kamera gomb – picit nagyobb a könnyebb megérintéshez */
#qcPartPickerScanBtn,
#qp-camera-btn,
#maint-mobile-camera-btn,
#parts-camera-btn,
#machines-camera-btn {
  min-height: 2.5rem;
  min-width: 2.5rem;
  padding: 0.45rem 0.65rem;
  font-size: 1.2rem;
}

/* Alkatrész picker – nagyobb szöveg/mező mobilon */
@media (max-width: 767.98px) {
  #qcPartPickerModal .modal-header h6 { font-size: 1rem; }
  #qcPartPickerModal #qcPartPickerSearch { font-size: 1rem; height: 2.75rem; }
  #qcPartPickerModal #qcPartPickerCount { font-size: 0.9rem; }
  #qcPartPickerModal #qcPartPickerTable thead th { font-size: 0.8rem; }
  #qcPartPickerModal #qcPartPickerTable tbody td { font-size: 0.95rem; padding-top: 0.65rem; padding-bottom: 0.65rem; }
  #qcPartPickerModal #qcPartPickerSelectedBadge { font-size: 0.95rem; }
  #qcPartPickerModal #qcPartPickerQtyInput { font-size: 1rem; height: 2.75rem; }
  #qcPartPickerModal #qcPartPickerQtyUnit { font-size: 1rem; }
  #qcPartPickerModal #qcPartPickerCancelSelBtn,
  #qcPartPickerModal #qcPartPickerConfirmBtn { font-size: 0.95rem; padding: 0.55rem 1rem; }
}

/* Dashboard kis diagram legenda */
.dash-legend-item { display: flex; align-items: center; gap: 5px; margin-bottom: 2px; flex-wrap: nowrap; line-height: 1.2; }
.dash-legend-color { flex-shrink: 0; border-radius: 0.25rem; width: 9px; height: 9px; }
.dash-legend-label { flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.82rem; }
.dash-legend-value { flex-shrink: 0; font-weight: 600; font-size: 0.82rem; }
.dash-legend-pct { flex-shrink: 0; color: var(--bs-secondary-color); font-size: 0.76rem; }

/* Fix 2–5 elemű kördiagram kártyák: nagyobb betű és szám a legendában */
.dashboard-widget[data-widget-id="maint_card_chart_plan_type"] .dash-legend-label,
.dashboard-widget[data-widget-id="maint_card_chart_plan_status"] .dash-legend-label,
.dashboard-widget[data-widget-id="maint_card_chart_history_type"] .dash-legend-label,
.dashboard-widget[data-widget-id="maint_card_chart_met_not_met"] .dash-legend-label,
.dashboard-widget[data-widget-id="maint_card_chart_completion"] .dash-legend-label { font-size: 0.95rem; }
.dashboard-widget[data-widget-id="maint_card_chart_plan_type"] .dash-legend-value,
.dashboard-widget[data-widget-id="maint_card_chart_plan_status"] .dash-legend-value,
.dashboard-widget[data-widget-id="maint_card_chart_history_type"] .dash-legend-value,
.dashboard-widget[data-widget-id="maint_card_chart_met_not_met"] .dash-legend-value,
.dashboard-widget[data-widget-id="maint_card_chart_completion"] .dash-legend-value { font-size: 0.95rem; }
.dashboard-widget[data-widget-id="maint_card_chart_plan_type"] .dash-legend-pct,
.dashboard-widget[data-widget-id="maint_card_chart_plan_status"] .dash-legend-pct,
.dashboard-widget[data-widget-id="maint_card_chart_history_type"] .dash-legend-pct,
.dashboard-widget[data-widget-id="maint_card_chart_met_not_met"] .dash-legend-pct,
.dashboard-widget[data-widget-id="maint_card_chart_completion"] .dash-legend-pct { font-size: 0.88rem; }
.dashboard-widget[data-widget-id="maint_card_chart_plan_type"] .dash-card-count,
.dashboard-widget[data-widget-id="maint_card_chart_plan_status"] .dash-card-count,
.dashboard-widget[data-widget-id="maint_card_chart_history_type"] .dash-card-count,
.dashboard-widget[data-widget-id="maint_card_chart_met_not_met"] .dash-card-count,
.dashboard-widget[data-widget-id="maint_card_chart_completion"] .dash-card-count { font-size: 1.05em; }

/* Raktár: Mozgások kördiagram kártya – ugyanakkora betű mint a karbantartás kördiagramjain */
.dashboard-widget[data-widget-id="inv_card_movement_summary"] .dash-legend-label,
.dashboard-widget[data-widget-id="inv_card_movement_summary"] .dash-legend-value { font-size: 0.95rem; }
.dashboard-widget[data-widget-id="inv_card_movement_summary"] .dash-legend-pct { font-size: 0.88rem; }
/* Raktár: Mozgások modal – még nagyobb betű a színmagyarázatban */
#fullListModalChartLegend.dash-doughnut-legend .dash-legend-label,
#fullListModalChartLegend.dash-doughnut-legend .dash-legend-value { font-size: 1.05rem; }
#fullListModalChartLegend.dash-doughnut-legend .dash-legend-pct { font-size: 0.95rem; }

/* Inventory dashboard olvashatóság: dark mode kis szövegek kontrasztja, maint dashboardhoz igazítva */
[data-bs-theme="dark"] #inv-dash-widget-grid .dashboard-kpi-card h6.text-muted {
    color: #c2ccd6 !important;
}
[data-bs-theme="dark"] #inv-dash-widget-grid .dashboard-kpi-card .small.text-muted {
    color: #b7c2ce !important;
}
[data-bs-theme="dark"] #inv-dash-widget-grid .dashboard-top-card .card-header .text-muted,
[data-bs-theme="dark"] #inv-dash-widget-grid .dashboard-chart-card .card-header .text-muted {
    color: #aeb8c2 !important;
}
[data-bs-theme="dark"] #inv-dash-widget-grid .dash-legend-label,
[data-bs-theme="dark"] #inv-dash-widget-grid .dash-legend-value {
    color: #d0d7de;
}
[data-bs-theme="dark"] #inv-dash-widget-grid .dash-legend-pct {
    color: #9fb0c0;
}

/* Dashboard diagram wrapper helper-ek */
.dash-card-count { font-size: 1em; }
/** Szumma a kártya fejlécében: mattabb acélkék (Σ + érték + mértékegység) */
.dash-card-sum { color: #5c6b7a !important; font-size: 0.95em; }
[data-bs-theme="dark"] .dash-card-sum { color: #8b9caa !important; }
.dash-card-fs-icon { font-size: 0.8rem; }
.dash-doughnut-canvas-wrap { width: 100px; min-height: 100px; }
.dash-doughnut-legend { max-height: 112px; overflow: hidden; font-size: 0.9em; }
/* Top hibák / Top állásidők: ugyanolyan magasság mint a többi top kártya (grid cellát kitölti), oszlopdiagram, nincs oldalsó legenda */
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_count"] .dash-doughnut-legend,
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_dt"] .dash-doughnut-legend { display: none; }
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_count"] .dash-doughnut-canvas-wrap,
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_dt"] .dash-doughnut-canvas-wrap { flex: 1; min-width: 0; width: auto; }
/* Diagram oszlop mindig ugyanolyan magas: min. 3 sáv magassága (Top egyéb hibákhoz igazítva) */
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_count"] .dash-doughnut-canvas-wrap,
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_dt"] .dash-doughnut-canvas-wrap {
    min-height: 145px;
}
/* Magasság: 100% hogy a grid cellát kitöltse */
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_count"] .maint-dash-doughnut-card,
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_dt"] .maint-dash-doughnut-card { height: 100%; min-height: 0; display: flex; flex-direction: column; }
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_count"] .maint-dash-doughnut-card .card-body,
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_dt"] .maint-dash-doughnut-card .card-body {
    flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; align-items: stretch;
}
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_count"] .dash-doughnut-canvas-wrap,
.dashboard-widget[data-widget-id="maint_card_chart_top_faults_dt"] .dash-doughnut-canvas-wrap {
    flex: 1 1 auto;
}
.dash-history-chart-container { height: 400px; }

/* Inventory dashboard: modal chart canvas wrap – egyező a maintenance maint-dash-modal-canvas-wrap-kal */
.inv-dash-chart-modal-wrap {
    position: relative;
    height: 420px;
    min-width: 0;
    width: 100%;
}
.inv-dash-modal-doughnut-wrap {
    flex: 0 0 42%;
    max-width: 42%;
}

/* ── Gépadatlap: view mód – readonly mezők sima szövegként ────────── */
#machine-basic-form.machine-view-mode .form-control[readonly]:not(.is-inherited),
#machine-basic-form.machine-view-mode .form-select:disabled:not(.is-inherited) {
    border: 1px solid transparent;
    background: transparent;
    box-shadow: none;
    padding-left: 0;
    cursor: default;
    opacity: 1;
}
#machine-basic-form.machine-view-mode .form-control[readonly]:not(.is-inherited):focus,
#machine-basic-form.machine-view-mode .form-select:disabled:not(.is-inherited):focus {
    border-color: transparent;
    box-shadow: none;
    outline: none;
}
/* Select legördülő nyíl elrejtése view módban */
#machine-basic-form.machine-view-mode .form-select:disabled:not(.is-inherited) {
    background-image: none;
}
/* Öröklésvezérlő (link/pencil) gomb visszafogottan view módban */
#machine-basic-form.machine-view-mode .btn-inheritance[disabled] {
    border-color: transparent;
    background: transparent;
    opacity: 0.3;
}
/* Dark mode override */
[data-bs-theme="dark"] #machine-basic-form.machine-view-mode .form-control[readonly]:not(.is-inherited),
[data-bs-theme="dark"] #machine-basic-form.machine-view-mode .form-select:disabled:not(.is-inherited) {
    background: transparent;
    border-color: transparent;
    opacity: 1;
}


/* ==========================================================================
   CHROME / WEBKIT MODAL SCROLL FIX
   Bootstrap 5 + Flexbox modal görgetési hiba javítása
   ========================================================================== */
body.modal-open {
  overflow: hidden !important;
  touch-action: none;
}
.modal-open .modal {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: auto;
}
.modal-open .modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-open .modal-dialog-scrollable .modal-body {
  overflow-y: auto !important;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
