/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* File type icons colors */
.fa-file-pdf {
  color: #dc3545;  /* Red */
}

.fa-file-word {
  color: #0d6efd;  /* Blue */
}

.fa-file-excel {
  color: #198754;  /* Green */
}

.fa-file-powerpoint {
  color: #fd7e14;  /* Orange */
}

.fa-file-image {
  color: #6f42c1;  /* Purple */
}

.fa-file-zipper {
  color: #6c757d;  /* Gray */
}

.fa-file-lines {
  color: #0dcaf0;  /* Cyan */
}

.fa-file {
  color: #6c757d;  /* Gray */
}

.fa-table {
  color: #198754;  /* Green - same as Excel for consistency */
}

.fa-link {
  color: #0d6efd;  /* Blue - to indicate it's clickable */
}

/* Make icons white when inside buttons */
.btn i {
  color: inherit;
}

/* Add some spacing between icon and filename */
.table td i {
  margin-right: 0.5rem;
}

.table.table-clean {
  border: none;
}
.table.table-clean th {
  border: none;
  border-bottom: 1px solid #eee;
}
.table.table-clean td {
  border: none;
  border-top: 1px solid #eee;
}
.table.table-clean tr.no-border td {
  border-top: none;
}
.table.table-clean tbody tr:last-child td {
  border-bottom: none;
}

.pagy {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

.pagy.nav {
  display: flex;
  flex-direction: row;
  list-style: none;
  margin: .5rem 0;
  padding: .5rem 0;
  gap: 0.5rem;
}

.pagy.nav a {
  border-radius: .1rem;
  display: inline-block;
  padding: .2rem .4rem;
  text-decoration: none;
}

.pagy.nav a.current {
  background: #5755d9;
  color: #fff !important;  /* Force white text even on hover */
}

.pagy.nav a[aria-disabled="true"] {
  color: #bcc3ce;
  cursor: not-allowed;
  pointer-events: none;
}

.pagy.nav a:hover {
  color: #5755d9;
}

.trix-button-group--file-tools, .trix-button--icon-heading-1, .trix-button--icon-code { display: none !important; }

.nav-container {
  position: relative;
  margin-bottom: 1rem;
}
.nav-container::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: calc(100% - 6px); /* Account for scrollbar height */
  width: 40px;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,1));
  pointer-events: none;
}
.nav.nav-vertical {
  flex-direction: row;
  overflow-x: auto;
  white-space: nowrap;
  padding: 0.5rem 0;
  -webkit-overflow-scrolling: touch;
}
/* Scrollbar styling */
.nav.nav-vertical::-webkit-scrollbar {
  height: 6px;
}
.nav.nav-vertical::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.nav.nav-vertical::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
.nav.nav-vertical::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.nav.nav-vertical .nav-item {
  display: inline-block;
  margin-right: 1rem;
}
.nav.nav-vertical .nav-item:last-child {
  margin-right: 0;
  padding-right: 40px; /* Space for the fade */
}

.handle {
  display: flex;
  align-items: center;
  width: 24px;
  height: 24px;
  justify-content: center;
}

.handle i {
  font-size: 16px;
  cursor: grab;
}

.form-input-hint {
  color: inherit !important;
}

.card-body p:last-child {
  margin-bottom: 0;
}
