/* ---------- Global tweaks and small utilities ---------- */
.components-range-control__marks { margin-top: 5px; }
.components-panel__body h3.fbdl-setting-custom-label { margin-bottom: 8px; }

.fbdl-button-group { display: flex; }
.fbdl-button-group .components-button,
.fbdl-button-group .disabled-element-wrapper { flex: 1; justify-content: center; }
.fbdl-button-group .disabled-element-wrapper button { width: 100%; }

.fbdl-hidden { display: none !important; }
.fbdl-opacity-50 { opacity: 0.5; }

.spinner-grow { animation: .75s linear infinite _spinner-grow; }
@keyframes _spinner-grow {
  0% { transform: scale(0); }
  50% { transform: none; opacity: 1; }
}

/* object-fit helpers */
.fbdl-thumbnail-cover img { object-fit: cover !important; }
.fbdl-thumbnail-contain img { object-fit: contain !important; }

/* ---------- Container widths ---------- */
.container { width: 100%; }
@media (min-width: 640px)  { .container { max-width: 640px; } }
@media (min-width: 768px)  { .container { max-width: 768px; } }
@media (min-width: 1024px) { .container { max-width: 1024px; } }
@media (min-width: 1280px) { .container { max-width: 1280px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }

/* ---------- Document Library scope ---------- */
:root {
  --ct-bg: #fff;
  --ct-border-color: #e1e1e1;
  --ct-border-radius: 0.5rem;
  --ct-tree-hover: #efefef;
  --ct-selection: #418eff;
  --ct-padding: 0.5rem;
}

/* Base Tailwind-like reset (scoped) */
#filebird-document-library :is(.block) { display: block; }
#filebird-document-library :is(.flex) { display: flex; }
#filebird-document-library :is(.grid) { display: grid; }
#filebird-document-library :is(.resize) { resize: both; }
#filebird-document-library :is(.filter) {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale)
          var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia)
          var(--tw-drop-shadow);
}

/* Normalize and default variables */
#filebird-document-library *,
#filebird-document-library ::before,
#filebird-document-library ::after {
  box-sizing: border-box;
  border: 0 solid #e5e7eb;
  --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0;
  --tw-scale-x: 1; --tw-scale-y: 1;
  --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
  --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ;
  --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ;
}
#filebird-document-library ::before,
#filebird-document-library ::after { --tw-content: ""; }

#filebird-document-library :where(hr) { height: 0; color: inherit; border-top-width: 1px; }
#filebird-document-library abbr[title] { text-decoration: underline dotted; }

#filebird-document-library :is(h1,h2,h3,h4,h5,h6) { font: inherit; }
#filebird-document-library a { color: inherit; text-decoration: inherit; }
#filebird-document-library :is(b,strong) { font-weight: bolder; }

#filebird-document-library :is(code,kbd,samp,pre) {
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size: 1em;
}
#filebird-document-library small { font-size: 80%; }
#filebird-document-library :is(sub,sup) { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
#filebird-document-library sub { bottom: -0.25em; }
#filebird-document-library sup { top: -0.5em; }

#filebird-document-library table { text-indent: 0; border-color: inherit; border-collapse: collapse; }

#filebird-document-library :is(button,input,optgroup,select,textarea) {
  font: inherit; color: inherit; line-height: inherit; margin: 0; padding: 0;
}
#filebird-document-library :is(button,select) { text-transform: none; }
#filebird-document-library :is(button,[type=button],[type=reset],[type=submit]) {
  -webkit-appearance: button; background: none;
}
#filebird-document-library :-moz-focusring { outline: auto; }
#filebird-document-library :-moz-ui-invalid { box-shadow: none; }
#filebird-document-library progress { vertical-align: baseline; }
#filebird-document-library ::-webkit-inner-spin-button,
#filebird-document-library ::-webkit-outer-spin-button { height: auto; }
#filebird-document-library [type=search] { -webkit-appearance: textfield; outline-offset: -2px; }
#filebird-document-library ::-webkit-search-decoration { -webkit-appearance: none; }
#filebird-document-library ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
#filebird-document-library summary { display: list-item; }

#filebird-document-library :is(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre) { margin: 0; }
#filebird-document-library fieldset { margin: 0; padding: 0; }
#filebird-document-library legend { padding: 0; }
#filebird-document-library :is(ol,ul,menu) { list-style: none; }
#filebird-document-library textarea { resize: vertical; }

#filebird-document-library :is(input,textarea)::placeholder { opacity: 1; color: #9ca3af; }

#filebird-document-library :is(button,[role=button]) { cursor: pointer; }
#filebird-document-library :disabled { cursor: default; }

#filebird-document-library :is(img,svg,video,canvas,audio,iframe,embed,object) {
  display: block; vertical-align: middle;
}
#filebird-document-library :is(img,video) { max-width: 100%; height: auto; }
#filebird-document-library [hidden] { display: none; }

/* ---------- Layout columns ---------- */
.fbdl-row { display: flex; gap: 10px; flex-wrap: wrap; }
.fbdl-left-side { flex: 1; min-width: 200px; }
.fbdl-right-side { flex: 3; min-width: 400px; }

#filebird-document-library .fbdl-tree {
  margin: 0; padding: 10px; border-radius: 7px; border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}

@media (max-width: 768px) {
  .fbdl-row { flex-direction: column; gap: 15px; }
  .fbdl-left-side, .fbdl-right-side { width: 100%; min-width: 100%; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .fbdl-left-side { flex: 1; }
  .fbdl-right-side { flex: 2; }
}
@media (min-width: 1025px) {
  .fbdl-left-side { flex: 1; max-width: 320px; }
  .fbdl-right-side { flex: 4; }
}

/* ---------- Spinner / Empty states ---------- */
#filebird-document-library .fbdl-spinner { position: relative; }
#filebird-document-library .fbdl-spinner:not(:has(.fbdl-hidden)) { min-height: 10rem; }

#filebird-document-library .fbdl-spinner-wrapper {
  position: absolute; inset: 0; z-index: 10; text-align: center;
}
#filebird-document-library .fbdl-spinner-wrapper .spin {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: inline-block;
}
#filebird-document-library .fbdl-spinner-wrapper .spin .spinner-grow {
  display: inline-block; width: 2rem; height: 2rem; border-radius: 9999px;
  background-color: var(--fb-color-primary-1); opacity: 0;
}
#filebird-document-library .fbdl-spinner-text { position: absolute; top: 50%; margin-top: 2rem; width: 100%; }

/* ---------- Breadcrumb ---------- */
#filebird-document-library .fbdl-breadcrumb { margin-bottom: 1rem; display: flex; align-items: center; }
#filebird-document-library .fbdl-breadcrumb .fbdl-menu {
  margin: 0; padding: 0; list-style: none;
  font-size: 1rem; line-height: 1.5; font-weight: 400; color: rgb(107 114 128);
}
#filebird-document-library .fbdl-breadcrumb .fbdl-menu-item {
  padding: 5px 12px; cursor: pointer; user-select: none; white-space: nowrap;
  border-radius: .25rem; transition: all .2s cubic-bezier(0.4,0,0.2,1);
}
#filebird-document-library .fbdl-breadcrumb .fbdl-menu-item:hover { background: rgb(243 244 246); }

#filebird-document-library .fbdl-breadcrumb .fbdl-menu .menu-dropdown { margin: 0; display: flex; align-items: center; }
#filebird-document-library .fbdl-breadcrumb .fbdl-menu .menu-dropdown svg { width: 1.25rem; }

#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle {
  display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; user-select: none; color: rgb(107 114 128); font-size: 1rem; line-height: 1.5;
}
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle.root,
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle.breadcrumb-trigger {
  padding: .125rem .25rem;
}
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle.root:hover,
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle.breadcrumb-trigger:hover {
  background: rgb(229 231 235); border-radius: .25rem; color: rgb(107 114 128);
}
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle svg { width: 1.25rem; }
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle svg:nth-child(1) { margin-right: .125rem; color: var(--fb-color-primary-1); }
#filebird-document-library .fbdl-breadcrumb .fbdl-dropdown-toggle svg[aria-expanded=true] {
  transform: rotate(180deg);
}

#filebird-document-library .fbdl-breadcrumb .fbdl-breadcrumb-sub { margin: 0; display: flex; padding: 0; }
#filebird-document-library .fbdl-breadcrumb .fbdl-breadcrumb-item {
  display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; color: rgb(107 114 128); font-size: 1rem; line-height: 1.5;
}
#filebird-document-library .fbdl-breadcrumb .fbdl-breadcrumb-item::before {
  content: "/"; color: rgb(229 231 235); padding-right: 5px;
}
#filebird-document-library .fbdl-breadcrumb .fbdl-breadcrumb-item svg { width: 1.25rem; }
#filebird-document-library .fbdl-breadcrumb .fbdl-breadcrumb-item svg:nth-child(1) {
  margin-right: .125rem; color: var(--fb-color-primary-1);
}

/* Multi dropdown + loading */
#filebird-document-library .fbdl-breadcrumb .fbdl-multi-dropdown {
  z-index: 9999; display: none; list-style: none; border-radius: .25rem;
  background: #fff; padding: .25rem; outline: 2px solid transparent; outline-offset: 2px;
  box-shadow: 0 6px 16px rgba(0,0,0,.08), 0 3px 6px -4px rgba(0,0,0,.12), 0 9px 28px 8px rgba(0,0,0,.05);
}
#filebird-document-library .fbdl-breadcrumb .fbdl-multi-dropdown.block { display: block; }

#filebird-document-library .fbdl-breadcrumb .fbdl-loading-breadcrumbs:not(.fbdl-has-message) {
  display: inline-block; width: 20px; height: 20px;
  border: 2px solid #f3f3f3; border-top-color: #3498db; border-radius: 50%;
  animation: fbdl_spin 1s linear infinite;
}
@keyframes fbdl_spin { to { transform: rotate(360deg); } }

/* ---------- Search & Layout controls ---------- */
/*#filebird-document-library .fbdl-layout-control,*/
#filebird-document-library .fbdl-search-control { margin-bottom: 1rem; }

/*#filebird-document-library .fbdl-layout-control .fbdl-layout-control-wrapper,*/
#filebird-document-library .fbdl-search-control .fbdl-search-control-wrapper {
  display: flex; justify-content: space-between; align-items: center;
}
@media (max-width: 639.98px) {
  #filebird-document-library .fbdl-search-control .fbdl-title { margin-bottom: 1rem; }
}
#filebird-document-library .fbdl-search-control .fbdl-title {
  display: flex; align-items: center; margin-bottom: 0;
}
#filebird-document-library .fbdl-search-control .fbdl-title svg { margin-right: 1.25rem; fill: var(--fb-color-primary-1); }
#filebird-document-library .fbdl-search-control .fbdl-title h2 { margin: 0; font-size: 1.25rem; font-weight: 700; }

#filebird-document-library .fbdl-input-search { position: relative; }
#filebird-document-library .fbdl-input-search input {
  width: 100%; height: 2.5rem; margin: 0; border-radius: .4rem;
  border: 2px solid rgb(240 240 240); background: rgb(245 245 245);
  padding: .5rem 2.5rem .5rem 1rem; outline: 2px solid transparent;
  transition: all .3s cubic-bezier(0.4,0,0.2,1);
}
@media (min-width: 640px) { #filebird-document-library .fbdl-input-search input { width: 15rem; } }
#filebird-document-library .fbdl-input-search input:is(:focus,:active,:focus-visible) { border-color: var(--fb-color-primary-2); }
#filebird-document-library .fbdl-input-search svg {
  position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); cursor: pointer;
}
/*
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-limit {
  display: flex; align-items: center;
}
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-limit span:first-child { margin-right: .25rem; }
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-limit span:last-child { margin-left: .25rem; }
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-limit input {
  max-height: 34px; width: auto; border: 1px solid rgb(196,196,196); border-radius: .375rem;
  padding: .25rem .0 .25rem .5rem; outline: 2px solid transparent; transition: all .3s;
}
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-limit input:is(:focus,:active,:focus-visible) {
  border-color: var(--fb-color-primary-2);
}
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-display {
  display: flex; align-items: center; justify-content: center;
}
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-display span {
  display: flex; width: 2rem; height: 2rem; align-items: center; justify-content: center;
  cursor: pointer; border-radius: 5px; background: rgb(245 245 245); transition: .3s;
}
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-display span:hover { background: rgb(235 235 235); }
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-display span:last-child { margin-left: .375rem; }
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-display span svg { color: var(--fb-color-secondary); }
#filebird-document-library .fbdl-layout-control .fbdl-layout-control-display .fbdl-layout-control-display-selected {
  color: var(--fb-color-primary-1);
}
*/
/* ---------- Grid View ---------- */
#filebird-document-library .fbdl-gridview { margin-bottom: 1rem; }
#filebird-document-library .fbdl-gridview-container { margin-inline: auto; }

#filebird-document-library .fbdl-grid {
  display: grid; grid-template-columns: repeat(1,minmax(0,1fr)); gap: .5rem;
}
@media (min-width: 640px) { #filebird-document-library .fbdl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; } }
@media (min-width: 768px) { #filebird-document-library .fbdl-grid { gap: 1.5rem; } }

@media (min-width: 1024px) {
  #filebird-document-library .fbdl-grid.fb-col-1 { grid-template-columns: repeat(1,minmax(0,1fr)); }
  #filebird-document-library .fbdl-grid.fb-col-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #filebird-document-library .fbdl-grid.fb-col-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #filebird-document-library .fbdl-grid.fb-col-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
  #filebird-document-library .fbdl-grid.fb-col-5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
  #filebird-document-library .fbdl-grid.fb-col-6 { grid-template-columns: repeat(6,minmax(0,1fr)); }
}

#filebird-document-library .fbdl-grid .fbdl-grid-item {
  display: flex; flex-direction: column; justify-content: center; vertical-align: middle;
  padding: var(--fb-grid-item-padding); border: 1px solid transparent; border-radius: .5rem;
  background: rgb(245 245 245); transition: .3s;
}
#filebird-document-library .fbdl-grid .fbdl-grid-item:hover {
  border-color: var(--fb-color-primary-2); background: #fff;
}
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-grid-item-info { margin-bottom: 1rem; text-align: center; }

#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-grid-thumbnail img {
  width: 100%; height: 13rem; object-fit: contain; object-position: center;
  border-radius: 6px; margin-bottom: 1rem;
}

#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-grid-icon {
  margin: 0 auto 1rem; display: flex; height: 13rem; width: var(--fb-grid-icon-size);
}
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-grid-icon img {
  width: 3.5rem; height: 100%; object-fit: contain; object-position: center;
}

#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-grid-detail {
  display: flex; flex-direction: column; justify-content: center; gap: .625rem;
}
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-title {
  display: inline-block; max-width: 100%; color: var(--fb-color-primary-1);
  font-size: var(--fb-grid-item-font-size); font-weight: 500; line-height: normal;
  text-decoration: none; background: transparent; outline: 2px solid transparent; outline-offset: 2px;
}
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-title:hover { text-decoration: underline; }

#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-caption,
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-description {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  font-size: .875rem; line-height: 1.25rem;
}

#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-file-size {
  font-size: var(--fb-grid-item-font-size); color: rgb(156 163 175); line-height: normal;
}

#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-download-button,
#filebird-document-library .fbdl-listview .fbdl-list .fbdl-table .fbdl-list-last-item a {
  margin: auto; margin-top: auto; user-select: none; cursor: pointer;
  border: none; border-radius: 9999px; background: var(--fb-color-primary-1);
  color: #fff; text-decoration: none; transition: .3s cubic-bezier(0.4,0,0.2,1);
}
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-download-button {
  padding: .5rem 1.25rem; font-size: var(--fb-grid-item-font-size);
}
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-download-button:hover { background: var(--fb-color-primary-2); }
#filebird-document-library .fbdl-grid .fbdl-grid-item .fbdl-download-button:is(:focus,:active) {
  background: var(--fb-color-primary-1);
  box-shadow: inset 0 0 0 3px #0063a1, inset 0 0 0 5px #fff;
}

/* ---------- List View ---------- */
#filebird-document-library .fbdl-listview { margin-bottom: 1rem; }
#filebird-document-library .fbdl-listview-container { margin-inline: auto; }
#filebird-document-library .fbdl-list { width: 100%; overflow-x: auto; }

#filebird-document-library .fbdl-table { min-width: 100%; border-collapse: separate; border-spacing: 0 10px; border: none; }
#filebird-document-library .fbdl-table :is(th,td) { white-space: nowrap; }

/*#filebird-document-library .fbdl-table :is(th.fbdl-table-first-header, th.fbdl-table-header, th.fbdl-table-last-header) {
  border: none; background: rgb(243 244 246); color: rgb(75 85 99);
  font-size: 1rem; line-height: 1.5rem; font-weight: 600; letter-spacing: .05em;
  padding: .75rem 1.25rem; text-align: left;
}
#filebird-document-library .fbdl-table th.fbdl-table-first-header {
  border-radius: .5rem 0 0 .5rem; padding-inline: 1.5rem;*/
}
#filebird-document-library .fbdl-table th.fbdl-table-last-header {
  border-radius: 0 .5rem .5rem 0; text-align: center;
}
#filebird-document-library .fbdl-table th .fbdl-table-header-wrapper {
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
#filebird-document-library .fbdl-table .fbdl-table-sort {
  margin-left: .5rem; display: inline-flex; flex-direction: column; align-items: center;
}
#filebird-document-library .fbdl-table .fbdl-table-sort span { padding: 2px; }
#filebird-document-library .fbdl-table .fbdl-table-sort .fbdl-sort-unselected.sort-asc { display: none; }
#filebird-document-library .fbdl-table .fbdl-table-sort.fbdl-sort-current .fbdl-sort-unselected { display: none; }

#filebird-document-library .fbdl-table tbody { background: #fff; }
#filebird-document-library .fbdl-table tr {
  border-radius: .75rem; border-width: 2px;
  box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
}

#filebird-document-library .fbdl-table td.fbdl-list-item,
#filebird-document-library .fbdl-table td.fbdl-list-first-item,
#filebird-document-library .fbdl-table td.fbdl-list-last-item {
  border-color: rgb(229 231 235);
  padding: var(--fb-list-item-padding);
  font-size: var(--fb-list-item-font-size);
  line-height: 1.25rem;
  vertical-align: middle;
}

#filebird-document-library .fbdl-table td.fbdl-list-item {
  border-top-width: 1px; border-bottom-width: 1px; border-right-width: 0; text-align: center;
}
#filebird-document-library .fbdl-table td.fbdl-list-item > div { color: rgb(17 24 39); }

#filebird-document-library .fbdl-table td.fbdl-list-first-item {
  border-width: 1px 0 1px 1px; border-radius: .75rem 0 0 .75rem; text-align: left;
}
#filebird-document-library .fbdl-list-item-icon { display: flex; align-items: center; }
#filebird-document-library .fbdl-list-item-icon-wrapper { width: var(--fb-list-icon-size); height: var(--fb-list-icon-size); flex-shrink: 0; }
#filebird-document-library .fbdl-list-item-icon-wrapper img { width: 100%; height: 100%; }
#filebird-document-library .fbdl-list-item-thumbnail-wrapper img { width: 2rem; height: auto; }

#filebird-document-library .fbdl-list-item-title { margin-left: .75rem; }
#filebird-document-library .fbdl-list-item-title > div { font-weight: 500; color: rgb(17 24 39); }
#filebird-document-library .fbdl-list-item-title > div a {
  color: var(--fb-color-primary-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal;
}
#filebird-document-library .fbdl-list-item-title > div a:hover { text-decoration: underline; text-underline-offset: 2px; }
#filebird-document-library .fbdl-list-item-title > div p {
  font-size: .75rem; line-height: 1rem; font-weight: 400; color: #777;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal;
}

#filebird-document-library .fbdl-table td.fbdl-list-last-item {
  border-top-width: 1px; border-bottom-width: 1px; text-align: center;
}
#filebird-document-library .fbdl-table tr:hover td.fbdl-list-item,
#filebird-document-library .fbdl-table tr:hover td.fbdl-list-first-item,
#filebird-document-library .fbdl-table tr:hover td.fbdl-list-last-item {
  border-top-color: var(--fb-color-primary-2);
  border-bottom-color: var(--fb-color-primary-2);
}
#filebird-document-library .fbdl-table tr:hover td.fbdl-list-first-item { border-left-color: var(--fb-color-primary-2); }
#filebird-document-library .fbdl-table tr:hover td:last-child { border-right-color: var(--fb-color-primary-2); }
#filebird-document-library .fbdl-table tr td:last-child { border-right-width: 1px; border-radius: 0 .75rem .75rem 0; }

/* ---------- Pagination ---------- */
#filebird-document-library .fbdl-pagination { margin-top: 1rem; }
@media (min-width: 640px) {
  #filebird-document-library .fbdl-pagination .fbdl-pagination-wrapper {
    display: flex; align-items: center; justify-content: space-between; flex: 1 1 0%;
  }
}
#filebird-document-library .fbdl-pagination-info p {
  margin: 0; text-align: center; font-size: .875rem; line-height: 1.25rem; color: rgb(156 163 175) !important;
}
@media (min-width: 640px) {
  #filebird-document-library .fbdl-pagination-info p { text-align: left; }
}
#filebird-document-library .fbdl-pagination-page-number {
  display: flex; gap: .625rem; justify-content: center;
}
@media (min-width: 640px) {
  #filebird-document-library .fbdl-pagination-page-number { justify-content: flex-start; }
}
#filebird-document-library .fbdl-page-number {
  position: relative; display: inline-flex; width: 2rem; height: 2rem; border-radius: .375rem;
  font-size: .875rem; font-weight: 600; align-items: center; justify-content: center; cursor: pointer;
}
#filebird-document-library .fbdl-page-number.fbdl-selected {
  background: var(--fb-color-primary-1); color: #fff; cursor: default;
}
#filebird-document-library .fbdl-page-number.fbdl-unselected {
  border: 1px solid rgb(240 241 247); color: rgb(103 112 128); transition: .1s;
}
#filebird-document-library .fbdl-page-number.fbdl-unselected:hover {
  border-color: rgb(114 125 144); color: #000;
}
#filebird-document-library .fbdl-page-dots {
  pointer-events: none; display: inline-flex; align-items: center; user-select: none;
  padding: .5rem 1rem; font-size: .875rem; font-weight: 600; color: rgb(55 65 81);
}
#filebird-document-library :is(.fbdl-page-next,.fbdl-page-previous) {
  position: relative; display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center;
  border: 1px solid rgb(240 241 247); border-radius: .375rem; color: rgb(103 112 128); font-weight: 500; transition: .1s;
}
#filebird-document-library :is(.fbdl-page-next,.fbdl-page-previous):hover {
  border-color: rgb(114 125 144); color: #000;
}
#filebird-document-library :is(.fbdl-page-next,.fbdl-page-previous) span {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
#filebird-document-library :is(.fbdl-page-next,.fbdl-page-previous) svg { width: 1.25rem; height: 1.25rem; }

/* ---------- Nested folders ---------- */
#filebird-document-library .fbdl-nested-folders {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px; margin: 0 0 1rem; padding: 0; position: relative;
}
#filebird-document-library .fbdl-nested-folders-item {
  position: relative; display: flex; align-items: center; justify-content: space-between; cursor: pointer;
  padding: 15px; font-size: 14px; color: rgb(143 143 143);
  background: #fff; border-radius: .375rem; box-shadow: 0 0 0 1px rgba(0,0,0,.1);
  transition: color .2s, background-color .2s, border-color .2s, fill .2s, stroke .2s;
  white-space: nowrap;
}
#filebird-document-library .fbdl-nested-folders-item:hover { background: var(--fb-color-primary-2); color: #fff; }
#filebird-document-library .fbdl-nested-folders-item > i { margin-right: 10px; flex: 0 0 20px; }
#filebird-document-library .fbdl-nested-folders-item-counter {
  margin-left: .25rem; min-width: 1.25rem; border: 1px solid currentColor; border-radius: .125rem;
  padding: 0 .125rem; font-size: .75rem; line-height: 1rem; text-align: center; color: currentColor;
}
#filebird-document-library .fbdl-folder-tooltip-trigger { flex: 1 1 0%; overflow: hidden; text-overflow: ellipsis; }
``

* jQuery ComboTree Plugin 
* Author:  Erhan FIRAT
* Mail:    erhanfirat@gmail.com
* Licensed under the MIT license
* Version: 1.3.1

/* =========================
   Filebird: Compact Tree & ComboTree (ct-*)
   Scope: #filebird-document-library
   ========================= */

/* ---- Shared scope helpers ---- */
#filebird-document-library .ct-wrapper {
  position: relative;
  margin-bottom: 1rem;
  text-align: left !important;
  box-sizing: border-box;
}
#filebird-document-library .ct-wrapper * {
  box-sizing: border-box !important;
}

/* ---- Input + Arrow ---- */
#filebird-document-library .ct-input-wrapper { position: relative; }
#filebird-document-library .ct-input-box {
  width: 100%;
  padding: var(--ct-padding) 1.5rem var(--ct-padding) var(--ct-padding);
  border: 1px solid var(--ct-border-color);
  border-radius: var(--ct-border-radius);
  outline: 0;
}
#filebird-document-library .ct-input-box:focus {
  border-color: var(--ct-selection);
}

#filebird-document-library .ct-arrow-btn {
  position: absolute; inset: 0 0 0 auto; /* top/right/bottom:0; left:auto */
  padding: .5rem;
  border: none;
  background: none;
  cursor: pointer;
  -webkit-user-select: none; -moz-user-select: none; user-select: none;
}
#filebird-document-library .ct-arrow-btn svg { width: 24px; height: 24px; }
#filebird-document-library .ct-arrow-btn:hover,
#filebird-document-library .ct-arrow-btn:active,
#filebird-document-library .ct-input-box:focus + .ct-arrow-btn {
  color: var(--ct-selection);
}

/* ---- Dropdown ---- */
#filebird-document-library .ct-drop-down-container {
  display: none;
  position: absolute;
  z-index: 999;
  width: 100%;
  max-height: 250px;
  overflow-y: auto;
  background: var(--ct-bg);
  border: 1px solid var(--ct-border-color);
  box-shadow: 0 5px 15px -5px rgba(0,0,0,.3);
  -webkit-user-select: none; -moz-user-select: none; user-select: none;
}
#filebird-document-library .ct-drop-down-container ul { margin: 0; padding: 0; }
#filebird-document-library .ct-drop-down-container li {
  list-style: none;
  padding-left: 0;
  cursor: pointer;
}
#filebird-document-library .ct-drop-down-container .ct-item-parent li { padding-left: 1rem; }
#filebird-document-library .ct-drop-down-container li .not-selectable { color: #777; }
#filebird-document-library .ct-drop-down-container li:hover { background: var(--ct-tree-hover); }
#filebird-document-library .ct-drop-down-container li:hover ul { background: var(--ct-bg); }

#filebird-document-library .ct-drop-down-container :is(label, span.ct-list-item-title).ct-tree-item-hover {
  display: flex; align-items: center;
  background: var(--ct-selection);
  color: var(--ct-bg);
  border-radius: 2px;
}
/* non-selectable hover */
#filebird-document-library .ct-drop-down-container span[data-selectable="false"].ct-list-item-title.ct-tree-item-hover,
#filebird-document-library .ct-drop-down-container label.ct-tree-item-hover[data-selectable="false"] {
  background: var(--ct-border-color);
  color: #777;
  cursor: default;
}

#filebird-document-library :is(span.ct-list-item-title, .ct-drop-down-container .select-all) {
  display: block;
  padding: .25rem .5rem;
  margin-left: 1rem;
}
#filebird-document-library .ct-drop-down-container label {
  display: block; width: 100%; cursor: pointer;
}
#filebird-document-library .ct-drop-down-container :is(.ct-list-item-title input, .select-all input) {
  position: relative; margin-right: 5px;
}

/* ---- Parent expand (+) icon for multiselect trees ---- */
#filebird-document-library .ct-parent-plus {
  position: absolute; width: 1rem; padding-top: .25rem;
  text-align: center; font-weight: bold; font-size: 1rem;
  cursor: pointer; display: inline-block;
}

/* ---- Dropdown filter input ---- */
#filebird-document-library .ct-drop-down-container input.ct-multiples-filter {
  width: 100%;
  padding: var(--ct-padding);
  border: none; border-bottom: 1px solid var(--ct-border-color);
}

/* =========================
   Folder Tree (fbdl-tree)
   ========================= */
#filebird-document-library .fbdl-tree {
  margin: 0;
  max-width: 300px;
  padding: 2px 0 2px 0; /* collapse into one block */
  padding-left: 0;
  list-style: none;
  font-size: 16px;
  color: #333;
  background: #fff;
  border-radius: 4px;
}

/* Folder row */
#filebird-document-library .fbdl-tree .folder {
  position: relative;
  display: flex; align-items: center; flex-wrap: wrap;
  padding: 0; margin: 4px 0;
  border-radius: 4px;
  transition: background-color .2s;
}
/* Only show chevron if has children */
#filebird-document-library .fbdl-tree .folder:not(:has(ul)) .folder-icon { visibility: hidden; }

/* Inner clickable row */
#filebird-document-library .fbdl-tree .folder > .folder-inner {
  display: flex; width: 100%;
  border-radius: 4px; padding: 4px;
}

/* Folder icon (chevron) */
#filebird-document-library .fbdl-tree .folder-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; margin-right: 0; cursor: pointer;
  color: #6b7280; transition: all .2s;
}
#filebird-document-library .fbdl-tree .folder-icon:hover { color: #1890ff; }
#filebird-document-library .fbdl-tree .folder-icon svg { display: inline-block !important; }

/* Loading state on icon */
#filebird-document-library .fbdl-tree .folder-icon.fbdl-tree-icon-loading {
  position: relative; opacity: .6;
}
#filebird-document-library .fbdl-tree .folder-icon.fbdl-tree-icon-loading::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 16px; height: 16px; margin: -8px 0 0 -8px;
  border: 2px solid #f3f3f3; border-top-color: #007cba; border-radius: 50%;
  animation: fbdl-spin .8s linear infinite;
}
@keyframes fbdl-spin { to { transform: rotate(360deg); } }

/* Rotate icon when open */
#filebird-document-library .fbdl-tree .folder.open > .folder-inner > .folder-icon svg {
  transform: rotate(90deg);
}

/* Folder name */
#filebird-document-library .fbdl-tree .folder-name-text {
  position: relative;
  display: inline-flex; align-items: center;
  width: 100%;
  padding: 0 8px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  cursor: pointer; user-select: none;
  transition: all .2s;
}
/* Default folder icon before name (closed) */
#filebird-document-library .fbdl-tree .folder-name-text::before {
  content: "";
  display: inline-block; width: 16px; height: 16px; margin-right: 6px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23faad14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E");
}
/* Active/hover text color */
#filebird-document-library .fbdl-tree .folder:hover > .folder-inner .folder-name-text,
#filebird-document-library .fbdl-tree .folder.active > .folder-inner .folder-name-text {
  color: #007cba;
}
/* Active icon color */
#filebird-document-library .fbdl-tree .folder.active > .folder-inner > .folder-icon > svg {
  color: #1890ff;
}

/* Open: change folder icon before name (blue) */
#filebird-document-library .fbdl-tree .folder.open > .folder-inner > .folder-name-text::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23007cba' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E");
}

/* Counters attached to row ends (optional) */
#filebird-document-library .fbdl-tree .folder > span.folder-icon {
  border-top-left-radius: 4px; border-bottom-left-radius: 4px; padding-left: 4px;
}
#filebird-document-library .fbdl-tree .folder > span.folder-counter {
  border-top-right-radius: 4px; border-bottom-right-radius: 4px; padding-right: 4px;
}

/* Make middle part flex: icon | name | counter */
#filebird-document-library .fbdl-tree .folder > span:first-child + span { flex: 1; }

/* Children UL */
#filebird-document-library .fbdl-tree .folder > ul {
  display: none;
  width: 100%;
  margin: 4px 0;
  padding-left: 24px;
}
#filebird-document-library .fbdl-tree .folder.open > ul {
  display: block;
  animation: fadeIn .3s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}

