/* ==========================================================================
   Komponente — stilovi za uključene parcijale i ponovo upotrebljive delove
   ========================================================================== */

/* --------------------------------------------------------------------------
   Baner zaključavanja popisa (_inventory_lock_banner)
   -------------------------------------------------------------------------- */
.inventory-lock-banner {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%);
    border: 1px solid #fde68a;
    border-left: 4px solid #f59e0b;
    border-radius: 0.5rem;
    padding: 0.875rem 1.25rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(245, 158, 11, 0.08);
}
.inventory-lock-banner__icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(245, 158, 11, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #b45309;
    font-size: 1.125rem;
}
.inventory-lock-banner__content { flex: 1; min-width: 0; }
.inventory-lock-banner__title {
    font-weight: 600;
    font-size: 0.9375rem;
    color: #92400e;
    line-height: 1.3;
}
.inventory-lock-banner__text {
    font-size: 0.8125rem;
    color: #a16207;
    margin-top: 0.125rem;
    line-height: 1.4;
}
.inventory-lock-banner__action {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.875rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #92400e;
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 0.375rem;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.15s ease-in-out;
    flex-shrink: 0;
}
.inventory-lock-banner__action:hover {
    background: rgba(245, 158, 11, 0.22);
    color: #78350f;
    border-color: rgba(245, 158, 11, 0.5);
}

@media (max-width: 576px) {
    .inventory-lock-banner { flex-direction: column; align-items: stretch; gap: 0.75rem; }
    .inventory-lock-banner__icon { width: 32px; height: 32px; font-size: 1rem; }
    .inventory-lock-banner__action { align-self: flex-start; }
}

/* --------------------------------------------------------------------------
   Typeahead pretraga (_typeahead_search)
   -------------------------------------------------------------------------- */
.typeahead-container { position: relative; }
.typeahead-input { padding-left: 2.5rem; }
.typeahead-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    color: #6c757d;
}
.typeahead-spinner {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
}
.typeahead-results {
    position: absolute;
    width: 100%;
    z-index: 1050;
    background: white;
    border: 1px solid #dee2e6;
    border-top: 0;
    border-radius: 0 0 0.375rem 0.375rem;
    max-height: 320px;
    overflow-y: auto;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);
}
.typeahead-results:empty { display: none; border: none; box-shadow: none; }
.typeahead-result {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
}
.typeahead-result:hover,
.typeahead-result:focus {
    background-color: #e9ecef;
    outline: 2px solid #0d6efd;
    outline-offset: -2px;
}
.typeahead-result__name { font-weight: 500; }
.typeahead-result__section { font-size: 0.875rem; }
.typeahead-empty,
.typeahead-error { padding: 0.75rem; color: #6c757d; text-align: center; }
.typeahead-error { color: #dc3545; }

/* --------------------------------------------------------------------------
   Baner impersonacije - UKLONJEN (prebačen u _feedback.scss kao navbar pill)
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Padajući meni za obaveštenja (notifications dropdown)
   -------------------------------------------------------------------------- */
.notifications-dropdown-menu {
    min-width: 340px;
    max-height: 420px;
    overflow-y: auto;
}

/* --------------------------------------------------------------------------
   Indikator nepročitanog obaveštenja (_notifications_dropdown)
   -------------------------------------------------------------------------- */
.notification-dot {
    min-width: 8px;
    min-height: 8px;
    padding: 0;
}
.notification-spacer {
    min-width: 8px;
}

/* --------------------------------------------------------------------------
   Prazno stanje — velika ikona (_empty_state)
   -------------------------------------------------------------------------- */
.empty-state-icon-lg {
    font-size: 4rem;
}

/* --------------------------------------------------------------------------
   Izbor veličine stranice (_page_size)
   -------------------------------------------------------------------------- */
.page-size-auto {
    width: auto;
}

/* --------------------------------------------------------------------------
   Uslužne klase (utility classes)
   -------------------------------------------------------------------------- */
.sort-icon-inactive { opacity: 0.4; }
.form-card-narrow { max-width: 720px; }
.icon-xl { font-size: 4rem; }
.text-placeholder { color: #d1d5db; }
.text-muted-custom { color: #6b7280; }
.text-muted-light { color: #9ca3af; }
