/* ==========================================================================
   BASE STYLES - Font imports, root variables, global HTML/body styles
   ========================================================================== */

@import url('https://rsms.me/inter/inter.css');

:root {
  --tblr-font-sans-serif: 'Inter', -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif;
}

/* Scrollbar overlay - không chiếm width */
html {
  overflow-y: overlay;
  overflow-y: auto;
  scrollbar-gutter: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
}

html::-webkit-scrollbar {
  width: 12px;
}

html::-webkit-scrollbar-track {
  background: transparent;
}

html::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 6px;
  border: 3px solid transparent;
  background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5);
  border: 3px solid transparent;
  background-clip: padding-box;
}

body {
  font-feature-settings: 'cv03', 'cv04', 'cv11';
  width: 100vw;
  overflow-x: hidden;
}

.layout-fluid {
  scrollbar-width: none; /* Firefox */
}

.layout-fluid::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}

/* ==========================================================================
   LAYOUT COMPONENTS - Footer and structural elements
   ========================================================================== */

.footer {
  padding: 15px 0px;
}

/* ==========================================================================
   TABLE STYLES - Base table and general table customizations
   ========================================================================== */

.markdown > table > :not(caption) > * > *,
.table > :not(caption) > * > * {
  padding-top: 3px;
  padding-bottom: 3px;
}

table tr:hover {
  background-color: rgb(250, 250, 250) !important;
}

table tr .dropdown .btn-action {
  min-width: 30px;
  min-height: 30px;
  padding-top: 4px;
  padding-bottom: 4px;
}

/* ==========================================================================
   DATATABLE PLUGIN - DataTables specific styles
   ========================================================================== */

/* DataTable header */
table.datatable th {
  background-color: rgb(245, 245, 245) !important;
  color: rgb(80, 80, 80);
  font-weight: bold;
  font-size: 13px;
}

/* DataTable text wrapping */
.dataTables_wrapper .dataTables_scrollBody table td,
.dataTables_wrapper .dataTables_scrollBody table th {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

table.dataTable td,
table.dataTable th {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

table.dataTable td, table.dataTable td small, table.dataTable td span.status {
  line-height: 1.5 !important;
}

/* DataTable controls */
div.dt-container div.dt-buttons {
  padding-left: 8px;
}

div.dt-container div.dt-buttons .btn span {
  padding-left: 10px;
  padding-right: 10px;
}

div.dt-container div.dt-buttons .dropdown-menu {
  background-color: rgb(250, 250, 250);
  border-radius: 5px;
  border: 1px solid rgba(200, 200, 200, 0.9);
}

div.dt-search {
  float: right !important;
  padding-bottom: 5px !important;
  padding-right: 8px !important;
}

div.dt-paginate {
  float: right !important;
  padding: 10px 20px;
  padding-top: 10px !important;
}

div.dt-info {
  float: left !important;
  padding: 10px 20px !important;
}

div.dt-paging {
  float: right !important;
  padding: 5px 20px !important;
}

div.dt-scroll-body {
  border-width: 2px;
  border-color: lightgray;
}

.datatable-button {
  margin-right: 10px !important;
  border-radius: 4px !important;
}

/* ==========================================================================
   TOM-SELECT PLUGIN - Dropdown select component
   ========================================================================== */

.ts-control {
  height: 33px;
}

.ts-control input {
  min-width: 10px;
  width: auto;
}

.ts-dropdown {
  background-color: #ffffff;
}

.ts-dropdown .option {
  padding-top: 6px;
  padding-bottom: 6px;
}

.ts-dropdown .option:hover {
  background-color: #f8f8f8;
}

/* ==========================================================================
   FANCYTREE PLUGIN - Tree view component
   ========================================================================== */

/* Remove border */
.fancytree-container,
ul.fancytree-container:focus,
.fancytree-treefocus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Increase font size */
#tree .fancytree-container {
  font-size: 1.1em !important;
}

/* ==========================================================================
   DATERANGEPICKER PLUGIN - Date range picker component
   ========================================================================== */

.daterangepicker {
  font-family:
    'Inter',
    -apple-system,
    BlinkMacSystemFont,
    San Francisco,
    Segoe UI,
    Roboto,
    Helvetica Neue,
    sans-serif;
}

/* ==========================================================================
   DROPDOWN COMPONENTS - Dropdown menus and related elements
   ========================================================================== */

.dropdown i.ti {
  font-size: 20px;
}

/* ==========================================================================
   UI UTILITIES - Status badges, file links, and helper classes
   ========================================================================== */

/* Status badges */
.status.cursor-pointer {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
}

span.status {
  height: auto !important;
}

span.status-dot {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  flex-shrink: 0 !important;
}

/* File utilities */
.file-name-ellipsis {
  display: inline-block;
  max-width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: translateY(2px);
}

.a-download-file {
  color: unset;
  &:hover {
    text-decoration: none;
    background-color: unset;
    color: #0066cc !important;
  }
}
