* {
  scrollbar-width: thin;
  scrollbar-color: #888 #f1f1f1;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

*::-webkit-scrollbar-thumb {
  background-color: #888;
  border-radius: 10px;
  border: 2px solid #f1f1f1;
}

*::-webkit-scrollbar-thumb:hover {
  background-color: #555;
}

body {
  background: #f7f7f9;
}

@media (max-width: 640px) {
  .screen-options-time {
    display: none;
  }

  .login-wrapper .left-section,
  .authentication-wrapper .left-section {
    display: none;
  }

  .login-wrapper .right-section,
  .authentication-wrapper .right-section {
    padding: 1.5rem;
  }

  .estimate-html-logo {
    display: none;
  }

  .invoice-html-body {
    padding: 1.3rem !important;
  }

  .generate-html-bank-info table td {
    display: block;
    width: 100% !important;
    text-align: center !important;
    padding: 10px !important;
  }

  .generate-html-bank-info table td:first-child {
    padding-bottom: 0 !important;
  }

  .generate-html-bank-info table td img {
    margin: 0 auto;
  }

  .generate-html-bank-info table td div {
    text-align: center !important;
  }

  .estimate-html-company-info .fs20 {
    font-size: 17px;
  }

  .invoice-sticky-header .invoice-header-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 18px;
  }

  .invoice-sticky-header .invoice-left-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .invoice-sticky-header .invoice-status {
    display: none !important;
  }

  .invoice-sticky-header .invoice-right-header {
    margin-top: 0 !important;
    margin: 0 10px;
  }

  .invoice-sticky-header .invoice-pdf-button {
    margin: 0 !important;
  }

  .invoice-sticky-header .invoice-portal-btn {
    display: none !important;
  }

  /* Đảm bảo nút PDF không quá to */
  .invoice-sticky-header .invoice-download-btn {
    padding: 6px 12px !important;
    font-size: 14px !important;
  }

  /* Căn chỉnh invoice number */
  .invoice-sticky-header .invoice-number {
    margin: 0 !important;
    font-size: 16px !important;
  }

  .mobile .preview-sticky-header {
    padding: 10px !important;
  }

  .invoice-html-logo img {
    max-width: 85% !important;
    margin: 0 auto;
  }
}

table.table {
  margin: 0;
}
.section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  color: #333;
  font-size: 16px;
}

.hr-panel-heading {
  margin: 1.25em -20px !important;
}

.text-thf {
  /* color: #b48d6a; */
}

.btn-primary {
  background-color: #666cff;
  border-color: #666cff;
}

.btn-primary:hover,
.btn-primary.active,
.btn-primary:focus {
  background-color: #5c61e6 !important;
  border-color: #5c61e6 !important;
  --tw-ring-shadow: #5c61e6 !important;
}

.float-right {
  float: right;
}

.sidebar li .nav-second-level li.active a {
  background-color: #666cff;
}

.fs14 {
  font-size: 14px;
}

.fs16 {
  font-size: 16px;
}

.fs20 {
  font-size: 20px;
}

.mt15 {
  margin-top: 15px;
}

.mb15 {
  margin-bottom: 15px;
}

.text-upp {
  text-transform: uppercase;
}

.dropdown-menu {
  min-width: 220px;
}

.sub-menu-item-proposals a {
  font-size: 13px !important;
}

.table-responsive::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.table-responsive::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.table-responsive::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 6px;
}

.table-responsive::-webkit-scrollbar-thumb:hover {
  background: #555;
}

textarea.form-control {
  height: 60px;
}

.skucode-tooltip {
  font-size: 100%;
}

.header-notifications .bg-warning {
  background: #e31937;
}

.dropdown-menu::-webkit-scrollbar {
  width: 8px;
}

.dropdown-menu::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.dropdown-menu::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}

.dropdown-menu::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.mb-0 {
  margin-bottom: 0;
}

.staff-chart-background-color .img_logo {
  width: 100px;
}

.announcement-bg {
  background-color: #f9f9f9;
  border-left: 5px solid #007bff;
  border-right: 5px solid #007bff;
  padding: 15px;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  border-radius: 6px;
  opacity: 0;
  transform: translateY(-30px) scale(0.95);
  animation: slideIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  margin-bottom: 15px;
}

@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateY(-30px) scale(0.95);
  }

  50% {
    opacity: 0.7;
    transform: translateY(10px) scale(1.02);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.announcement-bg .text-info {
  color: #007bff;
}

.announcement-bg h4 {
  font-weight: bold;
  margin-bottom: 10px;
}

.announcement-bg .close {
  color: #555;
}

.announcement-bg .close:hover {
  color: #000;
}

.announcement-bg .announcement-name {
  color: #007bff;
  font-size: 1.25rem;
}

.announcement-bg .announcement-message {
  color: #555;
}

.announcement-bg .hr-panel-separator {
  border-color: #007bff;
  margin: 15px 0;
}

.announcement-animation .panel_s {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.announcement small {
  font-size: 12px;
  color: #8c9097;
}

.billing-same-as-customer,
.customer-copy-billing-address {
  color: rgb(237 8 8);
}

.top_stats_wrapper {
  min-height: 100px;
}

.top_stats_wrapper .tw-truncate {
  overflow: auto;
  white-space: normal;
}

.screen-options-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
}

.screen-options-title {
  color: #16a34a;
  font-size: 20px;
  font-weight: 600;
  margin-top: 15px;
}

.screen-options-title-p {
  color: #8c9097;
  font-size: 13px;
  line-height: 19px;
  font-weight: normal;
  opacity: 0.9;
}

.screen-options-time {
  text-align: right;
  min-width: 30%;
}

.screen-options-time span {
  font-size: 16px;
  font-weight: 600;
}

#clock {
  font-weight: 600;
  font-size: 15px;
}

.login-form-title-hand {
  width: 20px;
  height: auto;
  cursor: pointer;
  animation-name: wave-animation;
  animation-duration: 2.5s;
  animation-iteration-count: infinite;
  transform-origin: 70% 70%;
}

@keyframes wave-animation {
  0% {
    transform: rotate(0deg);
  }

  10% {
    transform: rotate(14deg);
  }

  20% {
    transform: rotate(-8deg);
  }

  30% {
    transform: rotate(14deg);
  }

  40% {
    transform: rotate(-4deg);
  }

  50% {
    transform: rotate(10deg);
  }

  60% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

.hr_profile_view_profile .panel-body {
  padding: 10px;
}

.s_table {
  overflow-x: auto;
}

.goods_delivery .table-main-invoice-edit {
  width: 150% !important;
  max-width: 150% !important;
}

#related_tasks_wrapper .table,
.pur_order .table-main-invoice-edit {
  width: 150% !important;
  max-width: 150% !important;
}

.pur_order .invoice-items-table {
  max-width: 150%;
  width: 150%;
}

#invoice-form .table-responsive .invoice-items-table {
  max-width: 100%;
  width: 100%;
}

.invoice .highlight {
  border: 3px solid red;
  padding: 1px 10px;
  border-radius: 4px;
}

.flex-cus {
  display: flex;
  align-items: center;
  gap: 10px;
}

.estimate-html-title {
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 0;
  text-align: center;
}

.invoice-title,
.estimate-html-status {
  text-align: center;
}

.fs12 {
  font-size: 12px;
}

.invoice-html-body {
  position: relative;
}

.invoice-html-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/images/watermark.png");
  background-position: center;
  background-size: 60%;
  background-repeat: no-repeat;
  opacity: 0.1;
  /* Điều chỉnh độ mờ của watermark */
}

/* Dải băng */
.ribbon-custom {
  width: 150px;
  height: 150px;
  overflow: hidden;
  position: absolute;
  z-index: 1;
}

.ribbon-top-right-cs {
  top: 0px;
  right: 0px;
}

.ribbon-custom span {
  position: absolute;
  display: block;
  width: 200px;
  padding: 4px 0;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(45deg);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  right: -50px;
  top: 35px;
  font-size: 10px;
}

.ribbon-inv span {
  right: -60px;
  top: 29px;
  z-index: 1;
}

/* Status 1 */
.status-1 span {
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
  border-style: solid;
  border-width: 1px;
  color: rgb(51 65 85 / var(--tw-text-opacity));
}

/* Status 2 */
.status-2 span {
  background-color: rgb(240 249 255 / var(--tw-bg-opacity));
  border-color: rgb(224 242 254 / var(--tw-border-opacity));
  border-style: solid;
  border-width: 1px;
  color: #0284c7;
}

/* Status 3 */
.status-3 span,
.inv-status-1 span {
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
  border-color: rgb(254 226 226 / var(--tw-border-opacity));
  border-style: solid;
  border-width: 1px;
  color: #dc2626;
}

/* Status 4 */
.status-4 span {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
  border-style: solid;
  border-width: 1px;
  color: #16a34a;
}

/* Status 5 */
.status-5 span,
.inv-status-3 span,
.inv-status-4 span {
  background-color: rgb(254 252 232 / var(--tw-bg-opacity));
  border-color: rgb(254 240 138 / var(--tw-border-opacity));
  border-style: solid;
  border-width: 1px;
  color: #ca8a04;
}

/* .ribbon-custom::before,
.ribbon::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 5px solid #f39c12;
} */

.ribbon-top-right-cs::before {
  border-top-color: transparent;
  border-left-color: transparent;
  top: 0;
  right: 0;
}

.ribbon-top-right-cs::after {
  border-bottom-color: transparent;
  border-right-color: transparent;
  bottom: 0;
  left: 0;
}

.table-total-xuat-kho td {
  text-align: right;
}

/*************************************** TẠM ẨN  ***************************************/

/* Hiển thị số lượng dưới dạng: Số lượng, Giờ, Số lượng/Giờ trong tạo hóa đơn */
.show_quantity_as_wrapper {
  display: none;
}

/* Ẩn bấm giờ trên thanh menu trên cùng */
#top-timers {
  display: none;
}

/* ấn chương trình trong khách hàng tạm thời */
.sub-menu-item-sales_agent-programs {
  display: none !important;
}

/* --------------------------- */

/* --------------------------- */
/* ấn thuê bao trong chi tiết khách hàng */
.customer_tab_credit_notes {
  display: none !important;
}

/* --------------------------- */
/* ấn yêu cầu trong chi tiết khách hàng */
.customer_tab_tickets {
  display: none !important;
}

/* --------------------------- */
/* ấn phân công trong chi tiết khách hàng */
.customer_tab_tasks {
  display: none !important;
}

/* ấn đăng ký trong chi tiết khách hàng */
.customer_tab_subscriptions {
  display: none !important;
}

/* --------------------------- */
/* ấn đề xuất kế hoạch trong chi tiết khách hàng */
.customer_tab_proposals {
  display: none !important;
}

/* --------------------------- */
/* ấn vault trong chi tiết khách hàng */
.customer_tab_vault {
  display: none !important;
}

/* --------------------------- */
/* ấn hợp đồng trong chi tiết khách hàng */
.customer_tab_contracts {
  display: none !important;
}

/* --------------------------- */
/* ấn dự án trong chi tiết khách hàng */
.customer_tab_projects {
  display: none !important;
}

/* --------------------------- */

/* Ẩn mạng nội bộ */
.header-newsfeed {
  display: none !important;
}

.form-group-select-task_select {
  display: none;
}

/* Ẩn tổng quan dự án ở trang chủ */
#widget-finance_overview .col-md-12.col-sm-6.col-lg-4:nth-of-type(3) {
  display: none;
}

/* sửa lại kích thước width của col-lg-4 2 phần còn lại chiếm đủ ô  */
#widget-finance_overview .home-summary .col-lg-4:nth-of-type(1),
#widget-finance_overview .home-summary .col-lg-4:nth-of-type(2) {
  width: 50% !important;
}

@media (max-width: 640px) {
  #widget-finance_overview .home-summary .col-lg-4:nth-of-type(1),
  #widget-finance_overview .home-summary .col-lg-4:nth-of-type(2) {
    width: 100% !important;
  }

  .announcement-animation {
    margin-top: 30px;
  }
}

/* Ẩn biểu đồ thời gian của tôi ở menu avat xổ xuống */
.header-my-timesheets {
  display: none;
}

/* ẩn 4 thống kê trên cùng ở màn hình chính C:\laragon\www\dashboard\application\views\admin\dashboard\dashboard.php  */
#widget-top_stats {
  display: none;
}
/* Ẩn menu bên trái người phụ thuộc trong  admin/hr_profile/member/9 */
.hr_profile li a[data-group="dependent_person"] {
  display: none;
}

/* Tính toán giá bán và giá nhập theo tỉ suất lợi nhuận (tìm tinh-gia-ban-va-gia-nhap-js sau đó bỏ comment nếu muốn phục hồi) */

/*************************************** TẠM ẨN  ***************************************/

#DataTables_Table_0 .progress {
  background-color: rgb(139 139 139);
}

#DataTables_Table_0 .progress-bar {
  color: #666;
  font-weight: 600;
}

#DataTables_Table_0 .progress-bar-success {
  color: #fff;
}

form.dropzone:hover {
  background-color: transparent;
}

.customer_profile .content {
  padding-top: 50px;
}

.hr_team_manage-div {
  padding: 10px;
}

#bs-select-10-8 {
  display: none;
}

/* Login admin page */

.login-wrapper,
.authentication-wrapper {
  display: flex;
  min-height: 100vh;
  background-color: #f5f5f5;
}

.left-section {
  background-size: contain;
  background-repeat: no-repeat;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  padding: 3rem;
  position: relative;
}

.login-logo {
  position: absolute;
  top: 20px;
  left: 40px;
  height: 40px;
}

.login-logo img {
  height: 40px;
}

.left-section-bg {
  width: 507px;
}

.right-section {
  flex: 1;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: white;
  max-width: 500px;
  box-shadow: -13px 0px 27px -5px rgba(50, 50, 93, 0.25),
    -8px 0px 16px -8px rgba(0, 0, 0, 0.3);
}

.login-form-title {
  margin-bottom: 20px;
}

.login-form h1 {
  font-size: 1.5rem;
  font-weight: 600;
}

.login-form .form-control {
  height: 48px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

.login-form .btn-primary {
  background-color: #4f46e5;
  border-color: #4f46e5;
  height: 48px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
}

.login-form .btn-primary:hover {
  background-color: #4338ca;
  border-color: #4338ca;
}

.login-form .form-group {
  margin-bottom: 1rem;
  position: relative;
}

.forgot-password {
  color: #4f46e5;
  text-decoration: none;
}

.social-login {
  margin-top: 1rem;
  text-align: center;
}

.social-login a {
  margin: 0 0.5rem;
}

.display-none {
  display: none;
}

/* Flexbox for remember me and forgot password */
.remember-forgot-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.checkbox-label {
  display: flex;
  align-items: center;
}

.checkbox-label input[type="checkbox"] {
  margin-right: 5px;
}

/* Biểu tượng mắt để ẩn/hiện mật khẩu */
.toggle-password {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  cursor: pointer;
}

.social-login-div {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.social-login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 30px;
  border-radius: 4px;
  color: white;
  font-size: 18px;
  transition: background-color 0.3s ease;
}

.btn-fb {
  background-color: #3b5998;
}

.btn-gg {
  background-color: #000000;
}

.btn-tw {
  background-color: #00aced;
}

.btn-ln {
  background-color: #0077b5;
}

.social-login-btn i {
  line-height: 1;
}

.social-login a:hover {
  color: white;
}

.authentication-form-title {
  margin-bottom: 20px;
}

.authentication-form h1 {
  font-size: 1.5rem;
  font-weight: 600;
}

.authentication-form .form-control {
  height: 48px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

.authentication-form .btn-primary {
  background-color: #4f46e5;
  border-color: #4f46e5;
  height: 48px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
}

.authentication-form .btn-primary:hover {
  background-color: #4338ca;
  border-color: #4338ca;
}

.forgot-password-link {
  color: #4f46e5;
  text-decoration: none;
  display: inline-block;
  margin-top: 20px;
  text-align: center;
}

.navbar-default-cs {
  z-index: 99;
}

#wrapper {
  background: #f7f7f9;
}

.sidebar {
  background: #2f3349;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  z-index: 9;
}

#setup-menu-wrapper {
  z-index: 10;
}

#setup-menu > li:first-child {
  color: #3b4056;
  border-bottom: 1px solid #3b4056;
}

.sidebar li a,
.sidebar li .nav-second-level li a {
  color: #e3e2e8;
  font-weight: 600;
  transition: 0.3s;
}

.sidebar .nav > li > a:focus,
.sidebar li.active > a {
  color: #e3e2e8 !important;
  background: #666cff !important;
  box-shadow: 0 0.125rem 0.375rem 0 rgba(38, 43, 67, 0.14);
}

.sidebar .nav > li > a:focus .menu-icon,
.sidebar .nav > li > a:hover .menu-icon,
.sidebar li.active > a .menu-icon,
.sidebar li a i.menu-icon {
  opacity: 1;
}

.sidebar .nav > li > a:hover,
.sidebar .nav > li .nav-second-level > li:not(.active) > a:focus,
.sidebar .nav > li .nav-second-level > li:not(.active) > a:hover {
  background: rgba(225, 222, 245, 0.06);
  color: #e3e2e8;
}

.sidebar .nav > li > a:hover i {
  color: #e3e2e8;
}

.sm\:tw-bg-neutral-900\/50 {
  background-color: #2f3349;
}

#menu {
  transition: margin-left 0.3s ease;
}

.nav-second-level li {
  position: relative;
  list-style: none;
}

.nav-second-level li:before {
  content: "\2022";
  color: #6a6e7fc4;
  font-size: 20px;
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
}

.content-profile .panel-body {
  box-shadow: none;
}

.label-solid {
  background: rgb(239 246 255 / var(--tw-bg-opacity));
  border-color: rgb(191 219 254 / var(--tw-border-opacity));
  border-style: solid;
  border-width: 1px;
}

.preview-top-wrapper,
.preview-top-wrapper .container {
  max-width: 750px;
  margin: 0 auto;
}

.estimate_panel {
  max-width: 720px;
  margin: 0 auto;
  margin-top: 20px;
}

.estimate_panel .invoice-html-body {
  padding: 2.5rem;
  zoom: 0.75;
  min-height: 1200px;
}

.preview-sticky-header {
  padding: 10px;
  z-index: 2;
}

.preview-sticky-header .preview-sticky-header-flex {
  display: flex;
  gap: 20px;
}

#subtotal td {
  border-color: transparent;
}

.invoices-total-manual .ui-sortable td,
.invoices-total-manual .ui-sortable td span,
.estimates .ui-sortable td,
.estimates .ui-sortable td span {
  font-size: 13px !important;
}

.viewestimate thead th,
.viewinvoice thead th {
  font-size: 16px !important;
}

.table-mtop5 table {
  margin-top: 5px !important;
}

.disabled-link {
  pointer-events: none;
  opacity: 0.6;
  cursor: not-allowed;
}

.table_statement td,
.table_statement th {
  padding: 5px 10px !important;
}

.clred {
  color: #ef4444 !important;
}

.payment-preview-wrapper {
  padding: 5px 10px;
  margin-top: 0;
  text-align: left;
}

.centered-warning {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1050;
  width: 50%;
  text-align: center;
  background-color: #fff;
  color: #333;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #f5c6cb;
  box-shadow: 0px 12px 28px 0px rgba(0, 0, 0, 0.2),
    0px 2px 4px 0px rgba(0, 0, 0, 0.1),
    0px 0px 0px 1px rgba(255, 255, 255, 0.05) inset;
}

.invoice-view-content {
  position: relative;
  filter: blur(0.8px);
  pointer-events: none;
}

.centered-warning-title {
  font-size: 16px;
  color: #dc2626;
}

.loading {
  position: relative;
  min-height: 200px;
}

.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 35px;
  height: 35px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #666cff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.input-error {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.table-select-items {
  overflow: visible !important;
}

.items.table-main-estimate-edit td {
  overflow: visible !important;
}

.default-option {
  color: #9a9a9a;
}

.supplier-select-wrapper .bootstrap-select .btn {
  font-size: 12px;
}

@keyframes shakeText {
  0%,
  100% {
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-3px);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translateX(3px);
  }
}

.shake-error {
  display: inline-block;
  animation: shakeText 1s ease-in-out;
  color: #dc2626;
  font-weight: 500;
}

.popover-content {
  font-family: "Inter", sans-serif !important;
}

/* Ẩn cột ID/hình ảnh trong module kho hàng (danh sách hàng hóa)  */
#table-table_commodity_list thead th:nth-child(2),
#table-table_commodity_list tbody td:nth-child(2) {
  display: none;
}

/* Ẩn dự án trong phần danh sách báo giá/hóa đơn  */
.table-invoices th:nth-child(7),
.table-invoices td:nth-child(7),
.table-estimates th:nth-child(7),
.table-estimates td:nth-child(7) {
  display: none;
}
/* Ẩn ngày tạo (datecreator) trong bảng điểu chỉnh tồn kho  */
.table-loss_adjustment th:nth-child(3),
.table-loss_adjustment td:nth-child(3) {
  display: none;
}

.invoice-payments-table-cs,
.invoice-items-preview,
.estimate-items-preview {
  border: 1px solid #ddd;
  border-collapse: collapse;
}

.invoice-items-preview th,
.estimate-items-preview th,
.invoice-items-preview td,
.estimate-items-preview td,
.invoice-payments-table-cs th,
.invoice-payments-table-cs td {
  border: 1px solid #ddd;
}

.invoice-items-preview th,
.estimate-items-preview th,
.invoice-payments-table-cs th {
  background-color: #f1f5f9;
  font-weight: bold;
}

.customers-nav-item-login {
  display: none !important;
}

.skucode-tooltip {
  font-size: 13px !important;
}

.tb-edit-purchase td {
  text-align: right;
}

/* REPORT expenses_vs_income  */
.widget-stats {
  padding: 25px;
  border-radius: 8px;
  margin-bottom: 20px;
  position: relative;
  color: #fff;
  overflow: hidden;
  min-height: 140px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px,
    rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
}

.widget-stats:hover {
  transform: translateY(-3px);
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px,
    rgba(0, 0, 0, 0.22) 0px 15px 12px;
}

.widget-stats .widget-stats-content {
  position: relative;
  z-index: 1;
}

.widget-stats .widget-stats-title {
  font-size: 14px;
  margin-bottom: 8px;
  opacity: 0.9;
  font-weight: 500;
  text-transform: uppercase;
}

.widget-stats .widget-stats-number {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}

.widget-stats .widget-stats-footer {
  position: absolute;
  top: -17px;
  right: 20px;
  font-size: 60px;
  opacity: 0.2;
  transition: opacity 0.2s ease;
}

.widget-stats:hover .widget-stats-footer {
  opacity: 0.4;
}

/* Màu sắc tinh tế hơn */
.widget-stats.bg-info {
  background: linear-gradient(45deg, #2980b9, #3498db);
}

.widget-stats.bg-cs-success {
  background: linear-gradient(45deg, #2196f3, #00bcd4);
}

.widget-stats.bg-cs-expenses {
  background: linear-gradient(45deg, #795548, #607d8b);
}

.bg-cs-profit {
  background: linear-gradient(45deg, #264d59, #43978d);
}

.widget-stats.bg-cs-primary {
  background: linear-gradient(45deg, #213c56, #516273);
}

.widget-stats.bg-danger {
  background: linear-gradient(45deg, #c83728, #ff1800);
}

.widget-stats.bg-warning {
  background: linear-gradient(45deg, #f39c12, #f1c40f);
}

.widget-stats.bg-success {
  background: linear-gradient(45deg, #2ad371, #2ba860);
}

.widget-stats.bg-cs-margin {
  background: linear-gradient(135deg, #329d9c 0%, #3f51b5 100%);
}

.no-magin {
  margin: 0 !important;
}

.positive {
  color: #51e873;
}

.negative {
  color: #ff4254;
}
.bg-light {
  background-color: #e5eaf2;
}
.bg-light td {
  border-right: 1px solid #fff !important;
}
/* END REPORT expenses_vs_income */

.event-time-container {
  margin: 20px 0;
  padding: 0;
  overflow: hidden;
  border-radius: 4px;
}

.event-time-item {
  display: flex;
  align-items: center;
  padding: 5px;
  background-color: #e6e6e669;
  margin-bottom: 5px;
}

.event-time-item:last-child {
  border-bottom: none;
}

.icon-label {
  display: flex;
  align-items: center;
  min-width: 150px;
}

.icon-label i {
  color: #6c757d;
  margin-right: 10px;
}

.icon-label span {
  font-weight: 600;
  color: #333;
}

.panel-table-full .dataTables_wrapper .table-responsive {
  margin-left: -1.2rem;
  margin-right: -1.2rem;
}

/* ==================================================
   QR Payment Component - Responsive Styles
   ================================================== */

/* Container */
.qr-payment-container {
  border: 1px solid #dbdfea;
  border-radius: 8px;
  overflow: hidden;
  font-size: 15px;
  color: #334155;
  background: #ffffff52;
}

/* Main content wrapper */
.qr-payment-content {
  display: flex;
  flex-wrap: wrap;
  min-height: 280px;
}

/* Left section - Bank info */
.bank-info-section {
  flex: 1;
  min-width: 300px;
  padding: 30px 25px 25px 25px;
}

/* Payment title */
.payment-title {
  color: #1b427f;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.4;
}

.payment-title-en {
  font-size: 90%;
  color: #666;
}

/* Bank details container */
.bank-details {
  margin-bottom: 20px;
}

/* Detail rows */
.detail-row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2px;
  align-items: flex-start;
}

/* Labels */
.detail-label {
  font-weight: 500;
  color: #555;
  padding-right: 8px;
  margin-bottom: 4px;
}

.detail-label.monolingual {
  min-width: 130px;
}

.detail-label.bilingual {
  min-width: 200px;
}

/* Values */
.detail-value {
  flex: 1;
  font-weight: 600;
  word-break: break-word;
}

.detail-value.account-number {
  letter-spacing: 1px;
}

.detail-value.bank-name {
  line-height: 1.4;
}

.bank-branch {
  font-size: 90%;
  color: #666;
}

.detail-value.amount {
  color: #008000;
  font-size: 16px;
}
/* Warning message */
.payment-warning {
  color: #dc2626;
  font-size: 14px;
  line-height: 1.5;
  background: #fef2f2;
  padding: 12px;
  border-radius: 6px;
  border-left: 4px solid #dc2626;
}

.warning-en {
  font-size: 90%;
  color: #b91c1c;
}

/* Right section - QR code */
.qr-code-section {
  flex: 0 0 auto;
  min-width: 240px;
  max-width: 280px;
  padding: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafe47;
}

.qr-wrapper {
  text-align: center;
}

.qr-image {
  width: 100%;
  max-width: 200px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.qr-caption {
  font-size: 11px;
  color: #666;
  margin-top: 8px;
  font-style: italic;
}

/* ==================================================
   RESPONSIVE BREAKPOINTS
   ================================================== */

/* Tablet - 768px and below */
@media (max-width: 768px) {
  .qr-payment-content {
    flex-direction: column !important;
  }

  .bank-info-section {
    min-width: auto !important;
    padding: 20px 15px !important;
  }

  .qr-code-section {
    min-width: auto !important;
    max-width: none !important;
    padding: 20px !important;
    border-top: 1px solid #e5e7eb;
  }

  .detail-label {
    min-width: 100px !important;
    margin-bottom: 4px !important;
    font-size: 14px !important;
  }

  .detail-value {
    padding-left: 10px !important;
  }

  .payment-title {
    font-size: 15px !important;
    text-align: center;
    margin-bottom: 25px !important;
  }

  .qr-image {
    max-width: 180px !important;
  }

  .viewestimate .footer,
  .viewinvoice .footer {
    font-size: 12px !important;
  }

  .viewestimate .preview-sticky-container button {
    line-height: 1;
    font-size: 12px;
  }

  .estimate-html-number {
    font-size: 16px;
  }
}

/* Mobile - 480px and below */
@media (max-width: 480px) {
  .bank-info-section {
    padding: 15px 10px !important;
  }

  .qr-code-section {
    padding: 15px !important;
  }

  .detail-label {
    font-size: 13px !important;
  }

  .detail-value {
    font-size: 14px !important;
  }

  .payment-warning {
    font-size: 13px !important;
    padding: 10px !important;
  }

  .qr-image {
    max-width: 160px !important;
  }

  .qr-caption {
    font-size: 10px !important;
  }
}

.payment-status-container.paid {
  text-align: center;
  padding: 30px;
  background: #f8f9fa;
  border: 2px solid #28a745;
  border-radius: 8px;
}

.payment-status-icon i {
  font-size: 48px;
  margin-bottom: 15px;
}

.table-profit-report th i.fa-info-circle {
  cursor: help;
  margin-left: 5px;
}

.alert-link {
  font-weight: 500;
}

.profit-notice-list {
  margin: 10px 0 0 0;
  padding-left: 20px;
}

.profit-notice-list li {
  margin-bottom: 5px;
}

/* Highlight hóa đơn có doanh thu âm hoặc = 0 */
.profit-report-negative-revenue {
  background-color: #ffe6e6 !important;
}

.profit-report-negative-revenue td {
  color: #dc2626 !important;
  font-weight: 500;
}

.profit-report-negative-revenue td:nth-child(5) {
  color: #dc2626 !important;
  font-weight: 500;
}

.profit-report-negative-revenue .fa-exclamation-triangle {
  margin-right: 5px;
  animation: pulse 1s infinite;
}

.profit-report-high-margin {
  background-color: #fefce8 !important;
}

.profit-report-high-margin td {
  color: #ca8a04 !important;
  font-weight: 500;
}

.profit-report-high-margin td:nth-child(8) {
  color: #ca8a04 !important;
  font-weight: 500;
}

.profit-report-high-margin .fa-fire {
  margin-right: 5px;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

.default {
  background-color: #f8f9fa;
}

.purchase-price-readonly {
  background-color: #eef1f6 !important;
  cursor: not-allowed;
}
.purchase-price-editing {
  background-color: #fff3cd !important;
  border-color: #ffc107 !important;
}
.validation-error {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}
.validation-warning {
  border-color: #ffc107 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}
.rate-validation-messages,
.purchase-price-validation-messages {
  margin-top: 5px;
  min-height: 15px;
}
.validation-message {
  margin-bottom: 3px;
}
.validation-message small {
  font-size: 11px;
  line-height: 1.2;
}
.btn-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.edit-purchase-price-btn {
  text-align: right;
  margin-top: 5px;
}
.edit-purchase-price-btn .btn {
  padding: 2px 8px;
  font-size: 11px;
}
.quantity-validation-message {
  margin-top: 5px;
}
.inventory-validation-message {
  margin-top: 5px;
}

/* Highlight select khi có lỗi */
.form-group.has-error {
  margin-bottom: 0 !important;
}
.form-group.has-error .selectpicker + .dropdown-toggle {
  border-color: #d9534f;
  box-shadow: 0 0 6px rgba(217, 83, 79, 0.5);
}

.form-group.has-error select {
  border-color: #d9534f;
}

a.disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.65;
}
.is-loading::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
  vertical-align: -0.125em;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
