/* TIU Kutubxona — Geex shabloni ustiga kichik moslamalar */

.hidden { display: none !important; }

/* TIU logo */
.lib-logo { display: flex; align-items: center; text-decoration: none; }

/* Status belgilari */
.lib-status {
  display: inline-block; padding: 4px 14px; border-radius: 30px;
  font-size: 13px; font-weight: 500; white-space: nowrap;
}
.lib-status--available, .lib-status--returned { background: var(--success-color-transparent, #00A38926); color: var(--success-color); }
.lib-status--issued, .lib-status--active { background: #58CDFF26; color: #2BA3D8; }
.lib-status--under_repair { background: #FFBB5426; color: #D89A2B; }
.lib-status--written_off { background: var(--gray-color); color: var(--sec-color); }
.lib-status--overdue { background: #FF5B5B26; color: var(--danger-color); }

/* Sidebar overdue hisoblagichi */
.lib-badge-danger {
  display: inline-block; background: var(--danger-color); color: #fff;
  border-radius: 12px; font-size: 11px; line-height: 1; padding: 3px 8px; margin-left: 6px;
}

/* Jadval (geex kartochka ichida bootstrap table ustiga) */
.lib-table { width: 100%; border-collapse: collapse; }
.lib-table th {
  font-size: 12px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--sec-color); font-weight: 600; padding: 12px 16px;
  border-bottom: 2px solid var(--gray-color); text-align: left;
}
.lib-table td { padding: 14px 16px; border-bottom: 1px solid var(--section-color); color: var(--body-color); vertical-align: middle; }
.lib-table tbody tr:last-child td { border-bottom: 0; }
.lib-table tbody tr:hover { background: var(--sectionTwo-color); }
.lib-table code { color: var(--primary-color); font-weight: 600; }
.lib-table .lib-sub { display: block; font-size: 13px; color: var(--sec-color); margin-top: 2px; }

/* Qat'iy ustunli jadval: uzun nom/ism qo'shni ustunlarni siqmaydi.
   table-layout: fixed kengliklarni thead th klasslaridan oladi; klasssiz
   ustun (nomi/F.I.Sh) qolgan joyni egallaydi. min-width tor ekranda
   .table-responsive gorizontal skrollga o'tkazadi. */
.lib-table--fixed { table-layout: fixed; min-width: 860px; }
.lib-table--fixed.lib-table--wide { min-width: 1120px; }
/* Katak ichidagi matn hech qachon qo'shni ustun ustiga chiqmasin */
.lib-table--fixed th, .lib-table--fixed td { overflow: hidden; }
.lib-col-title { width: 26%; }
.lib-col-author { width: 12%; }
.lib-col-person { width: 16%; }
.lib-col-faculty { width: 18%; }
.lib-col-genre { width: 13%; }
.lib-col-isbn { width: 165px; }
.lib-col-code { width: 110px; }
.lib-col-date { width: 118px; }
.lib-col-status { width: 125px; }
.lib-col-count { width: 150px; }
.lib-col-course { width: 70px; }
.lib-col-group { width: 90px; }
.lib-col-phone { width: 145px; }
.lib-col-actions { width: 185px; }
.lib-col-menu { width: 92px; }
.lib-col-chevron { width: 40px; }
/* Ochiq uch-nuqta menyusi qat'iy katakning overflow'idan kesilmasin */
.lib-table--fixed td:has(.dropdown-menu.show) { overflow: visible; }

/* Bir qatorli qisqartirish: sig'magani "..." (to'lig'i title tooltip'da,
   qator bosilsa tafsilot sahifasida baribir hammasi ko'rinadi) */
.lib-cell-ellipsis {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.lib-cell-nowrap { white-space: nowrap; }

/* Login: Cloudflare Turnstile — login/parol inputlari bilan bir xil o'lcham.
   Widget balandligi Cloudflare'da qat'iy 65px, inputlar 56px — shu sababli
   56/65 masshtab; en oldindan 65/56 ga kengaytiriladi, natijada aynan
   inputlarning to'liq eni va 56px balandlik chiqadi. */
.lib-turnstile-wrap { height: 56px; margin: 0 0 23px; }
.lib-turnstile-wrap .cf-turnstile {
  width: 116.071%;
  transform: scale(0.86154);
  transform-origin: 0 0;
}
.lib-turnstile-wrap .cf-turnstile iframe { width: 100% !important; }

/* Amallar tugmalari */
.lib-btn-icon {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 10px; border: 1px solid var(--gray-color);
  background: var(--white-color); color: var(--body-color);
  font-size: 13px; cursor: pointer; text-decoration: none; transition: .2s;
}
.lib-btn-icon:hover { border-color: var(--primary-color); color: var(--primary-color); }
.lib-btn-icon.danger:hover { border-color: var(--danger-color); color: var(--danger-color); }
/* Sarlavha qatorida tugmalar select va asosiy tugma bilan bir balandlikda */
.lib-section-actions .lib-btn-icon { padding: 12px 18px; border-radius: 12px; font-size: 14px; }

/* Asosiy tugma (geex uslubida) */
.lib-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--primary-color); color: #fff; border: 0;
  padding: 12px 24px; border-radius: 12px; font-size: 15px; font-weight: 500;
  cursor: pointer; transition: .2s; text-decoration: none;
}
.lib-btn-primary:hover { opacity: .88; color: #fff; }
.lib-btn-primary:disabled { opacity: .45; cursor: not-allowed; }

/* Sarlavha qatoridagi harakatlar */
.lib-section-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.lib-search-box { position: relative; flex: 1; min-width: 220px; }
.lib-search-box input {
  width: 100%; padding: 12px 16px 12px 44px; border: 1px solid var(--gray-color);
  border-radius: 12px; font-size: 14px; background: var(--white-color); color: var(--body-color);
}
.lib-search-box input:focus { outline: none; border-color: var(--primary-color); }
.lib-search-box i {
  position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  color: var(--sec-color); font-size: 18px;
}

/* Statistika kartalari (dashboard) */
.lib-feature-icon {
  width: 64px; height: 64px; border-radius: 18px;
  display: flex; align-items: center; justify-content: center; font-size: 28px;
}
.lib-feature-icon.primary { background: var(--primary-color-transparent); color: var(--primary-color); }
.lib-feature-icon.success { background: #00A38926; color: var(--success-color); }
.lib-feature-icon.warning { background: #FFBB5426; color: #D89A2B; }
.lib-feature-icon.danger { background: #FF5B5B26; color: var(--danger-color); }
.lib-feature-icon.info { background: #58CDFF26; color: #2BA3D8; }
.geex-content__feature { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.geex-content__feature__card { display: flex; justify-content: space-between; align-items: center; }

/* Forma elementlari */
.lib-form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 4px; }
.lib-form-group label { font-size: 13px; font-weight: 500; color: var(--desc-color); }
.lib-form-group input, .lib-form-group select {
  padding: 12px 16px; border: 1px solid var(--gray-color); border-radius: 12px;
  font-size: 15px; background: var(--white-color); color: var(--body-color);
}
.lib-form-group input:focus { outline: none; border-color: var(--primary-color); }
.lib-input-lg { font-size: 20px !important; font-family: ui-monospace, monospace; letter-spacing: .05em; }

/* O'quvchi tanlash ro'yxati (checkout) */
.lib-picker { display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow-y: auto; }
.lib-picker__item {
  text-align: left; padding: 10px 14px; border: 1px solid var(--gray-color); border-radius: 12px;
  background: var(--white-color); cursor: pointer; font-size: 14px; color: var(--body-color); transition: .15s;
}
.lib-picker__item:hover { border-color: var(--primary-color); background: var(--sectionTwo-color); }
.lib-chosen {
  background: var(--primary-color-transparent); border-radius: 12px; padding: 12px 16px;
  display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px;
}

/* QR modal rasmi */
#qr-modal-img { width: 240px; height: 240px; image-rendering: pixelated; }
.lib-qr-code-text { font-family: ui-monospace, monospace; font-size: 22px; font-weight: 700; letter-spacing: .08em; color: var(--dark-color); }

/* Toast */
.lib-toast {
  position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%);
  background: var(--dark-color); color: #fff; padding: 14px 26px; border-radius: 12px;
  font-size: 14px; z-index: 2000; box-shadow: 0 8px 30px rgba(0,0,0,.3); max-width: 90vw;
}

/* Natija xabari (berish/qaytarish) */
.lib-result { border-radius: 12px; padding: 16px 18px; font-size: 15px; line-height: 1.5; }
.lib-result--ok { background: #00A38918; color: #056d5c; }
.lib-result--error { background: #FF5B5B18; color: #b32f2f; }

/* Sahifalash */
.lib-load-note { margin-top: 12px; font-size: 13px; color: var(--sec-color); }

/* Modal ustidagi geex ohangi */
.modal-content { border-radius: 20px; border: 0; }
.modal-header { border-bottom: 1px solid var(--section-color); }
.modal-footer { border-top: 1px solid var(--section-color); }

/* Bosiladigan jadval qatorlari (detail sahifalarga o'tish) */
.lib-table--clickable tbody tr[data-href] { cursor: pointer; }
.lib-row-chevron { color: var(--sec-color); font-size: 18px; }
.lib-link { color: inherit; text-decoration: none; }
.lib-link:hover { color: var(--primary-color); }

/* Detail sahifadagi ma'lumotlar ro'yxati */
.lib-info-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 24px; margin: 0; }
.lib-info-list > div { border-bottom: 1px solid var(--section-color); padding-bottom: 10px; }
.lib-info-list dt { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--sec-color); font-weight: 600; margin-bottom: 4px; }
.lib-info-list dd { margin: 0; font-size: 15px; color: var(--body-color); word-break: break-word; }

/* Global qidiruv popup natijalari */
.lib-globalsearch { width: 340px; }
.lib-globalsearch__results { max-height: 320px; overflow-y: auto; margin-top: 8px; }
.lib-globalsearch__group {
  font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--sec-color); font-weight: 700; padding: 8px 6px 4px;
}
.lib-globalsearch__item {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px;
  border-radius: 10px; text-decoration: none; color: var(--body-color); font-size: 14px;
}
.lib-globalsearch__item:hover { background: var(--sectionTwo-color); color: var(--primary-color); }
.lib-globalsearch__item i { color: var(--primary-color); font-size: 16px; flex-shrink: 0; }
.lib-globalsearch__item span:first-of-type { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lib-globalsearch__meta { font-size: 12px; color: var(--sec-color); flex-shrink: 0; }

/* Todo (muddati o'tganlar) qo'shimchalari */
.geex-content__todo__list__single__tag__item.info { background: #58CDFF26; color: #2BA3D8; }
.lib-todo-done { opacity: .45; transition: opacity .5s; }
.lib-todo-done .geex-content__todo__list__single__title { text-decoration: line-through; }

/* Feature kartalar ustun bo'lib joylashishi (detail sahifalar) */
.geex-content__feature.flex-column { display: flex; flex-direction: column; grid-template-columns: none; }
.geex-content__feature.flex-column .geex-content__feature__card { flex: 1; }

/* Yuqori menyu (top navbar) — unicons ikonkalari */
.geex-header__menu__link i { font-size: 20px; color: var(--grayThree-color); }
.geex-header__menu__link.active i, .geex-header__menu__link:hover i { color: var(--primary-color); }

/* Top rejimda ham Sozlash tugmasi ko'rinib tursin (shablon yashirardi),
   faqat sidebar-ochish tugmasi keraksiz */
@media (min-width: 1200px) {
  html[data-nav="top"] .geex-content__header .geex-content__header__customizer { display: flex; }
  html[data-nav="top"] .geex-btn__toggle-sidebar { display: none; }
}

/* Tartib raqami ustuni */
.lib-num { width: 48px; color: var(--sec-color); font-size: 13px; }
.lib-todo-num { color: var(--sec-color); font-weight: 600; margin-right: 4px; }

/* Filter selectlar — geex uslubidagi maxsus dropdown ko'rinishi */
.lib-select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  padding: 12px 42px 12px 16px;
  border: 1px solid var(--gray-color); border-radius: 12px;
  font-size: 14px; font-family: inherit;
  background-color: var(--white-color); color: var(--body-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23AB54DB' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  max-width: 230px; cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
}
.lib-select:hover { border-color: var(--primary-color); }
.lib-select:focus {
  outline: none; border-color: var(--primary-color);
  box-shadow: 0 0 0 3px var(--primary-color-transparent);
}
.lib-select option { background: var(--white-color); color: var(--body-color); }

/* Eksport uchun sana oralig'i (period=custom tanlanganda ko'rinadi) */
.lib-export-range { display: inline-flex; align-items: center; gap: 6px; }
.lib-export-range span { color: var(--sec-color); }
.lib-date {
  padding: 11px 12px;
  border: 1px solid var(--gray-color); border-radius: 12px;
  font-size: 14px; font-family: inherit;
  background: var(--white-color); color: var(--body-color);
  cursor: pointer; transition: border-color .2s, box-shadow .2s;
}
.lib-date:hover { border-color: var(--primary-color); }
.lib-date:focus {
  outline: none; border-color: var(--primary-color);
  box-shadow: 0 0 0 3px var(--primary-color-transparent);
}
/* Dark rejimda brauzer kalendar ikonkasi oq bo'lishi uchun */
[data-theme="dark"] .lib-date { color-scheme: dark; }

/* Berish/Qaytarish yagona oynasi */
.lib-desk-scan-row { display: flex; gap: 12px; }
.lib-desk-scan-row input { flex: 1; min-width: 0; }
.lib-desk-scan-row .lib-btn-primary { flex-shrink: 0; }
.lib-desk-pane {
  display: flex; flex-direction: column; gap: 16px;
  border-top: 1px solid var(--section-color); padding-top: 20px;
}
.lib-desk-pane__title { margin: 0; font-size: 16px; color: var(--dark-color); }
.lib-desk-pane .lib-btn-primary { align-self: flex-start; }
.lib-desk-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.lib-desk-filters .lib-select { flex: 1 1 45%; max-width: none; }
/* Talaba tanlangach qidiruv maydonining o'zi tanlovni ko'rsatadi */
#desk-borrower-search.lib-input-chosen {
  border-color: var(--success-color);
  font-weight: 600;
}

/* Lug'at comboboxi: yozib qidiriladi, ro'yxatdan tanlanadi, yangisi qo'shiladi */
.lib-combo { position: relative; }
.lib-combo__input { width: 100%; padding-right: 40px !important; }
.lib-combo__toggle {
  position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  border: 0; background: none; color: var(--sec-color); cursor: pointer;
  padding: 6px 10px; font-size: 16px; line-height: 1;
}
.lib-combo__toggle:hover { color: var(--primary-color); }
.lib-combo__list {
  position: absolute; z-index: 1080; left: 0; right: 0; top: calc(100% + 4px);
  background: var(--white-color); border: 1px solid var(--gray-color);
  border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
  max-height: 220px; overflow-y: auto; padding: 6px;
  display: flex; flex-direction: column; gap: 2px;
}
.lib-combo__item {
  text-align: left; border: 0; background: none; padding: 9px 12px;
  border-radius: 8px; color: var(--body-color); font-size: 14px; cursor: pointer;
}
.lib-combo__item:hover { background: var(--sectionTwo-color); color: var(--primary-color); }
.lib-combo__item--new { color: var(--primary-color); font-weight: 500; }
.lib-combo__empty { padding: 9px 12px; font-size: 13px; color: var(--sec-color); }

/* Berish/Qaytarish: ma'lumotlar bitta qatorda (6 ustun) */
.lib-info-list--onerow { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1399px) {
  .lib-info-list--onerow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .lib-info-list--onerow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Bosilganda tafsilot ko'rsatadigan holat belgisi */
.lib-status[data-info] { cursor: pointer; }

/* Bosiladigan nusxa kodi — QR modalini ochadi */
.lib-code-qr { cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; }
.lib-code-qr:hover { text-decoration-style: solid; }

/* Jadval qatoridagi amallar menyusi (uch nuqta) */
.lib-actions-menu .dropdown-menu {
  background: var(--white-color); border: 1px solid var(--gray-color);
  border-radius: 12px; padding: 6px; min-width: 210px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}
.lib-actions-menu .dropdown-item {
  display: flex; gap: 8px; align-items: center;
  color: var(--body-color); border-radius: 8px;
  padding: 8px 12px; font-size: 14px;
}
.lib-actions-menu .dropdown-item:hover { background: var(--sectionTwo-color); color: var(--primary-color); }
.lib-actions-menu .dropdown-item.danger { color: var(--danger-color); }
.lib-actions-menu .dropdown-item.danger:hover { background: #FF5B5B18; color: var(--danger-color); }
/* Ochiq menyu jadval scroll-konteynerida kesilib qolmasligi uchun */
.table-responsive:has(.dropdown-menu.show) { overflow: visible; }

/* Modal formalarida maydonlar orasiga nafas */
.modal-body .lib-form-group { margin-bottom: 0; }
.modal-body .row.g-3 { --bs-gutter-y: 1.15rem; }

/* Modal tugmalari (Bekor va boshqalar) asosiy tugma bilan bir o'lchamda */
.modal-footer .lib-btn-icon { padding: 12px 24px; border-radius: 12px; font-size: 15px; }

/* Jadvalda qator tanlash checkboxi */
.lib-check { width: 16px; height: 16px; cursor: pointer; accent-color: var(--primary-color); }

/* QR tanlash ro'yxati (kitoblar sahifasidagi modal) */
.lib-qr-pick-list { display: flex; flex-direction: column; gap: 4px; max-height: 50vh; overflow-y: auto; }
.lib-qr-pick-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 10px; cursor: pointer;
  border: 1px solid transparent;
}
.lib-qr-pick-item:hover { background: var(--sectionTwo-color); }
.lib-qr-pick-item code { color: var(--primary-color); font-weight: 600; flex-shrink: 0; }
.lib-qr-pick-item span { color: var(--body-color); font-size: 14px; }

/* Holat belgisi yonidagi tafsilot popoveri */
#lib-info-pop {
  position: absolute; z-index: 2000; transform: translateY(-50%);
  background: var(--dark-color); color: #fff;
  padding: 7px 12px; border-radius: 8px; font-size: 13px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .2); white-space: nowrap;
  pointer-events: none;
}

/* TIU logo o'lchamlari (shablonning max-height:50px cheklovidan kattaroq) */
.lib-logo img.lib-logo__img {
  height: 58px; max-height: 58px; width: auto; max-width: 215px; object-fit: contain;
}
.lib-login-logo { height: 84px; width: auto; }
.geex-content__authentication__form-footer { text-transform: none; }

/* Bildirishnoma vaqt teglari */
.lib-notif-over { color: var(--danger-color) !important; }
.lib-notif-soon { color: #D89A2B !important; }

/* Jadval osti: hisob chapda kichik, sahifalash markazda */
.lib-table-footer {
  position: relative; display: flex; flex-direction: column; align-items: center;
  gap: 8px; margin-top: 16px;
}
.lib-table-footer .lib-load-note { align-self: flex-start; margin: 0; }
.lib-pager { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.lib-page-btn {
  min-width: 40px; height: 40px; padding: 0 12px;
  border: 1px solid var(--gray-color); border-radius: 12px;
  background: var(--white-color); color: var(--body-color);
  font-size: 14px; font-family: inherit; font-weight: 500; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: .18s;
}
.lib-page-btn:hover:not(:disabled):not(.active) {
  border-color: var(--primary-color); color: var(--primary-color);
}
.lib-page-btn.active {
  background: var(--primary-color); border-color: var(--primary-color);
  color: #fff; cursor: default;
  box-shadow: 0 4px 12px var(--primary-color-transparent);
}
.lib-page-btn:disabled { opacity: .35; cursor: not-allowed; }
.lib-page-btn--nav { font-size: 18px; }
.lib-page-ellipsis { color: var(--sec-color); padding: 0 2px; align-self: center; }

/* Select + "yangi qo'shish" tugmasi qatori (modallarda) */

/* Reyting medallari: oltin / kumush / bronza */
.lib-medal { font-size: 22px; line-height: 1; }
.lib-medal-1 { color: #E6A817; }
.lib-medal-2 { color: #9AA5B1; }
.lib-medal-3 { color: #C4763A; }

/* Reyting almashtirgichi (Kitoblar ↔ Talabalar) */
.lib-rating-switch {
  display: inline-flex; gap: 6px; background: var(--light-color);
  padding: 6px; border-radius: 14px;
}
.lib-rating-switch__btn {
  border: 0; background: transparent; cursor: pointer;
  padding: 10px 22px; border-radius: 10px; font-size: 15px; font-family: inherit;
  color: var(--sec-color); display: inline-flex; align-items: center; gap: 8px;
  transition: .2s;
}
.lib-rating-switch__btn:hover { color: var(--primary-color); }
.lib-rating-switch__btn.active {
  background: var(--primary-color); color: #fff; font-weight: 600;
}

/* Reyting sahifasi toolbar (almashtirgich + eksport) */
.lib-rating-toolbar {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px; flex-wrap: wrap;
}

/* Sozlamalar: lug'at ro'yxatlari */
/* Sozlamalar: lug'atlar yon-panelli ko'rinishi */
.lib-dict-layout { display: flex; gap: 24px; align-items: flex-start; }
.lib-dict-nav { display: flex; flex-direction: column; gap: 6px; min-width: 230px; }
.lib-dict-nav__item {
  display: flex; align-items: center; gap: 10px; text-align: left;
  padding: 13px 16px; border-radius: 12px; border: 0;
  background: none; color: var(--body-color); font-size: 15px;
  font-family: inherit; cursor: pointer; transition: .2s;
}
.lib-dict-nav__item:hover { background: var(--sectionTwo-color); color: var(--primary-color); }
.lib-dict-nav__item.active { background: var(--primary-color); color: #fff; }
.lib-dict-nav__count { margin-left: auto; font-size: 12px; opacity: .75; }
.lib-dict-panel { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.lib-dict-add-row { display: flex; gap: 10px; }
.lib-dict-add-row input {
  flex: 1; padding: 12px 16px; border: 1px solid var(--gray-color);
  border-radius: 12px; font-size: 14px; font-family: inherit;
  background: var(--white-color); color: var(--body-color);
}
.lib-dict-add-row input:focus { outline: none; border-color: var(--primary-color); }
.lib-dict-edit-input {
  flex: 1; min-width: 0; padding: 8px 12px; font-size: 14px; font-family: inherit;
  border: 1px solid var(--primary-color); border-radius: 10px;
  background: var(--white-color); color: var(--body-color);
}
.lib-dict-edit-input:focus { outline: none; box-shadow: 0 0 0 3px var(--primary-color-transparent); }
.lib-dict-list__item--danger { border-color: var(--danger-color) !important; }
@media (max-width: 767px) {
  .lib-dict-layout { flex-direction: column; }
  .lib-dict-nav { flex-direction: row; flex-wrap: wrap; min-width: 0; width: 100%; }
}

.lib-dict-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lib-dict-list__item {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  padding: 10px 14px; border: 1px solid var(--gray-color); border-radius: 12px;
  font-size: 14px; color: var(--body-color);
}
.lib-dict-list__item:hover { border-color: var(--primary-color); }
.lib-dict-list__actions { display: flex; gap: 6px; }
.lib-dict-list__actions .lib-btn-icon { padding: 5px 9px; }

/* Oddiy profil ikonkasi (rasm o'rniga) */
.lib-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--primary-color-transparent);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--primary-color); font-size: 22px; flex-shrink: 0;
}
.lib-avatar--lg { width: 56px; height: 56px; font-size: 28px; }

/* ==================== Dark rejim ====================
   Geex dark faqat kartalarni #222 qilib, sarlavhalarni yoritadi —
   CSS o'zgaruvchilarini ag'darmaydi. Panel komponentlari uchun
   palitrani shu yerda ag'daramiz. */
html[data-theme="dark"] {
  --white-color: #262433;
  --light-color: #222222;
  --body-color: #E7E4F0;
  --desc-color: #C6C2D4;
  --section-color: #3A3745;
  --sectionTwo-color: #2F2C3C;
  --sectionThree-color: #201E2B;
}

/* Och kulrang chegaralar qorong'i tusga o'tadi (--gray-color'ni ag'darib
   bo'lmaydi — geex dark sarlavhalari uni matn rangi sifatida ishlatadi) */
html[data-theme="dark"] .lib-btn-icon,
html[data-theme="dark"] .lib-select,
html[data-theme="dark"] .lib-date,
html[data-theme="dark"] .lib-form-group input,
html[data-theme="dark"] .lib-form-group select,
html[data-theme="dark"] .lib-combo__list,
html[data-theme="dark"] .lib-dict-add-row input,
html[data-theme="dark"] .lib-dict-list__item,
html[data-theme="dark"] .lib-picker__item,
html[data-theme="dark"] .lib-actions-menu .dropdown-menu,
html[data-theme="dark"] .lib-search-box input,
html[data-theme="dark"] .lib-page-btn,
html[data-theme="dark"] .lib-export-range .lib-date,
html[data-theme="dark"] .lib-chosen {
  border-color: #3A3745;
}

/* --dark-color matn sifatida ishlatilgan joylar dark'da yorug' bo'ladi */
html[data-theme="dark"] .lib-qr-code-text,
html[data-theme="dark"] .lib-desk-pane__title { color: var(--body-color); }

/* Toast va popover qorong'i fonda ajralib turishi uchun chegara */
html[data-theme="dark"] .lib-toast,
html[data-theme="dark"] #lib-info-pop { border: 1px solid #3A3745; }

/* Natija xabarlari rangi yorqinroq */
html[data-theme="dark"] .lib-result--ok { color: #43D6B5; }
html[data-theme="dark"] .lib-result--error { color: #FF9C9C; }
html[data-theme="dark"] .lib-status--written_off { background: #3A3745; }

/* Bootstrap modallari (oq bo'lib qolmasin) */
html[data-theme="dark"] .modal-content { background: #262433; color: var(--body-color); }
html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer { border-color: #3A3745; }
html[data-theme="dark"] .btn-close { filter: invert(1) grayscale(1); }
html[data-theme="dark"] .text-muted { color: var(--sec-color) !important; }

/* Filtr paneli: qidiruv yonidagi ikonka ichida barcha filtrlar */
.lib-filter-wrap { position: relative; }
.lib-filter-btn { position: relative; }
.lib-filter-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 5px; margin-left: 2px;
  background: var(--primary-color); color: #fff;
  border-radius: 9px; font-size: 11px; font-weight: 600;
}
.lib-filter-panel {
  position: absolute; z-index: 1060; top: calc(100% + 10px); left: 0;
  display: flex; flex-direction: column; gap: 14px;
  width: 320px; padding: 20px;
  background: var(--white-color); border: 1px solid var(--gray-color);
  border-radius: 16px; box-shadow: 0 16px 44px rgba(23, 22, 30, .16);
  transform-origin: top left;
  animation: libFilterIn .16s ease;
}
.lib-filter-panel.lib-filter-panel--right { left: auto; right: 0; transform-origin: top right; }
/* Tugma ekran pastida bo'lsa panel tepaga qarab ochiladi */
.lib-filter-panel.lib-filter-panel--up {
  top: auto; bottom: calc(100% + 10px);
  transform-origin: bottom left;
  animation: libFilterInUp .16s ease;
}
.lib-filter-panel.lib-filter-panel--up.lib-filter-panel--right { transform-origin: bottom right; }
@keyframes libFilterIn {
  from { opacity: 0; transform: translateY(-8px) scale(.97); }
  to { opacity: 1; transform: none; }
}
@keyframes libFilterInUp {
  from { opacity: 0; transform: translateY(8px) scale(.97); }
  to { opacity: 1; transform: none; }
}
/* Mobil: panel tugma ostidan emas, ekran pastidan varaq bo'lib chiqadi —
   tor ekranda hech qachon chetdan chiqib ketmaydi */
@media (max-width: 576px) {
  .lib-filter-wrap .lib-filter-panel {
    position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px;
    width: auto; max-height: 72vh; overflow-y: auto;
    z-index: 1200; transform-origin: bottom center;
    animation: libFilterInUp .16s ease;
  }
  /* Qidiruv maydoni va filter tugmasi bitta qatorda tursin */
  .lib-search-box { min-width: 0; }
  .lib-section-actions .lib-filter-btn { padding: 12px 14px; }
}
.lib-filter-panel__head {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 12px; border-bottom: 1px solid var(--section-color);
}
.lib-filter-panel__head span { font-size: 15px; font-weight: 600; color: var(--body-color); }
.lib-filter-reset {
  border: 0; background: none; padding: 0; cursor: pointer;
  color: var(--primary-color); font-size: 13px; font-family: inherit;
}
.lib-filter-reset:hover { text-decoration: underline; }
.lib-filter-group { display: flex; flex-direction: column; gap: 6px; }
.lib-filter-panel .lib-select { max-width: none; width: 100%; }
.lib-filter-panel .lib-export-range { justify-content: space-between; }
.lib-filter-panel .lib-export-range .lib-date { flex: 1; min-width: 0; }
.lib-filter-label {
  font-size: 12px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--sec-color); font-weight: 600;
}
html[data-theme="dark"] .lib-filter-panel { border-color: #3A3745; box-shadow: 0 16px 44px rgba(0, 0, 0, .5); }

/* Desk talaba qidiruvi yonidagi filtr tugmasi katta o'lchamda */
.lib-desk-scan-row .lib-filter-btn { padding: 12px 18px; border-radius: 12px; font-size: 14px; height: 100%; }
.lib-desk-scan-row .lib-filter-wrap { flex-shrink: 0; display: flex; }

/* Kitob muqovasi (kitob sahifasida) */
.lib-book-cover {
  width: 120px; height: 170px; object-fit: cover;
  border-radius: 12px; border: 1px solid var(--gray-color); flex-shrink: 0;
}

/* Katalog jadvalidagi mini muqova */
.lib-cover-mini {
  width: 34px; height: 48px; object-fit: cover; flex-shrink: 0;
  border-radius: 6px; border: 1px solid var(--gray-color);
}
.lib-cover-mini--ph {
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--primary-color-transparent), var(--sectionTwo-color));
  color: var(--primary-color); font-size: 15px;
}
