/*//////////////////////////////////////////////////////////////////
[ FONT ]*/
:root {
  --border-color-soft: rgba(0, 0, 0, 0.05);
  --shadow-soft: 0 0 2px 2px #ececec !important;
  --bg-soft: var(--background-color);
}

@font-face {
  font-family: Poppins-Regular;
  src: url('/fonts/Poppins-Regular.ttf');
}

@font-face {
  font-family: Poppins-Bold;
  src: url('/fonts/Poppins-Bold.ttf');
}

@font-face {
  font-family: Poppins-Medium;
  src: url('/fonts/Poppins-Medium.ttf');
}

@font-face {
  font-family: Montserrat-Bold;
  src: url('/fonts/Montserrat-Bold.ttf');
}

/*//////////////////////////////////////////////////////////////////
[ RESTYLE TAG ]*/

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

body,
html {
  height: 100%;
  font-family: 'Roboto', sans-serif !important;
}

/*---------------------------------------------*/
a {

  font-size: 14px;

  color: #666666;
  margin: 0px;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  -moz-transition: all 0.4s;
  text-decoration: none;
}

a:focus {
  outline: none !important;
}

a:hover {
  text-decoration: none;
  color: #57b846;
}

/*---------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0px;
}

p {
  font-family: Poppins-Regular;
  font-size: 14px;
  line-height: 1.7;
  color: #666666;
  margin: 0px;
}

ul,
li {
  margin: 0px;
  list-style-type: none;
}


/*---------------------------------------------*/
input {
  outline: none;
  border: none;
}

textarea {
  outline: none;
  border: none;
}

textarea:focus,
input:focus {
  border-color: transparent !important;
}

input:focus::-webkit-input-placeholder {
  color: transparent;
}

input:focus:-moz-placeholder {
  color: transparent;
}

input:focus::-moz-placeholder {
  color: transparent;
}

input:focus:-ms-input-placeholder {
  color: transparent;
}

textarea:focus::-webkit-input-placeholder {
  color: transparent;
}

textarea:focus:-moz-placeholder {
  color: transparent;
}

textarea:focus::-moz-placeholder {
  color: transparent;
}

textarea:focus:-ms-input-placeholder {
  color: transparent;
}

input::-webkit-input-placeholder {
  color: #999999;
}

input:-moz-placeholder {
  color: #999999;
}

input::-moz-placeholder {
  color: #999999;
}

input:-ms-input-placeholder {
  color: #999999;
}

textarea::-webkit-input-placeholder {
  color: #999999;
}

textarea:-moz-placeholder {
  color: #999999;
}

textarea::-moz-placeholder {
  color: #999999;
}

textarea:-ms-input-placeholder {
  color: #999999;
}

/*---------------------------------------------*/
button {
  outline: none !important;
  border: none;
  background: transparent;
}

button:hover {
  cursor: pointer;
}

iframe {
  border: none !important;
}


/*//////////////////////////////////////////////////////////////////
[ Utility ]*/
.txt1 {
  font-family: Poppins-Regular;
  font-size: 13px;
  line-height: 1.5;
  color: #999999;
}

.txt2 {
  font-family: Poppins-Regular;
  font-size: 13px;
  line-height: 1.5;
  color: #666666;
}


/*//////////////////////////////////////////////////////////////////
[ login ]*/

.limiter {
  width: 100%;
  margin: 0 auto;
}

.container-login100 {
  width: 100%;
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 15px;
  background: #9053c7;
  background: -webkit-linear-gradient(-135deg, #c850c0, #4158d0);
  background: -o-linear-gradient(-135deg, #c850c0, #4158d0);
  background: -moz-linear-gradient(-135deg, #c850c0, #4158d0);
  background: linear-gradient(-135deg, #c850c0, #4158d0);
}

.wrap-login100 {
  width: 968px;
  max-height: 888px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;

  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 177px 130px 33px 95px;
}

.login100-pic.js-tilt {
  max-height: 886px;
  width: 394px;
  height: 394px;
}

/*------------------------------------------------------------------
[  ]*/
.login100-pic {
  width: 394px;
  height: 394px;
}

.login100-pic img {
  max-width: 100%;
  height: calc(100% - 19px);
}


/*------------------------------------------------------------------
[  ]*/
.login100-form {
  width: 290px;
}


/*---------------------------------------------*/
.wrap-input100 {
  position: relative;
  width: 100%;
  z-index: 1;
  margin-bottom: 10px;
}



.input100 {

  font-size: 15.3px;
  line-height: 1.5;
  color: #666666;

  display: block;
  width: 100%;
  background: #e6e6e6;
  height: 49px;
  background: #f9f9f9;


  box-shadow: var(--shadow-soft) !important;
  border-radius: 9px;
  padding: 0 25px 0 68px;
  max-width: none;
}


/*------------------------------------------------------------------
[ Focus ]*/
.focus-input100 {
  display: block;
  position: absolute;
  border-radius: 25px;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  box-shadow: 0px 0px 0px 0px;
  color: rgba(87, 184, 70, 0.8);
}

.input100:focus+.focus-input100 {
  -webkit-animation: anim-shadow 0.5s ease-in-out forwards;
  animation: anim-shadow 0.5s ease-in-out forwards;
}

@-webkit-keyframes anim-shadow {
  to {
    box-shadow: 0px 0px 70px 25px;
    opacity: 0;
  }
}

@keyframes anim-shadow {
  to {
    box-shadow: 0px 0px 70px 25px;
    opacity: 0;
  }
}

.symbol-input100 {
  font-size: 15px;

  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  position: absolute;
  border-radius: 25px;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-left: 35px;
  pointer-events: none;
  color: #666666;

  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
}

.input100:focus+.focus-input100+.symbol-input100 {
  color: #57b846;
  padding-left: 28px;
}
/* Đặt ban đầu cho các phần tử */
.login100-form-title {
    opacity: 0;
    transform: translateY(30px); /* Di chuyển các phần tử xuống dưới */
    animation: fadeInUp 1s forwards; /* Áp dụng hiệu ứng fadeInUp */
    animation-delay: 0.3s; /* Thời gian trì hoãn trước khi xuất hiện */
}

.welcoming, .name-app {
    opacity: 0;
    transform: translateY(20px); /* Các phần tử di chuyển nhẹ khi xuất hiện */
    animation: fadeInUp 1s forwards;
}

/* Hiệu ứng fadeInUp */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px); /* Ban đầu di chuyển xuống dưới */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* Kết thúc tại vị trí ban đầu */
    }
}

/* Hiệu ứng riêng cho phần .welcoming */
.welcoming {
    animation-delay: 0.6s; /* Độ trễ riêng cho phần welcoming */
}

/* Hiệu ứng riêng cho phần .name-app */
.name-app {
    animation-delay: 0.9s; /* Độ trễ riêng cho phần name-app */
    text-align: center;
}

/* Thêm hiệu ứng mượt mà cho chuyển động */
.welcoming, .name-app {
    transition: all 0.5s ease-out;
}

/*------------------------------------------------------------------
[ Button ]*/
.container-login100-form-btn {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 20px;
}

.login100-form-btn {
  font-family: Montserrat-Bold;
  font-size: 15px;
  line-height: 1.5;
  color: #fff;
  text-transform: uppercase;

  width: 100%;
  height: 49px;
  border-radius: 25px;
  
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 25px;

  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
}

.login100-form-btn:hover {
  background: #333333;
}



/*------------------------------------------------------------------
[ Responsive ]*/

form.form-group-header {
  max-width: 50%;
}
 .container-login100 {
        transition: background-image 1s ease-in-out; /* Smooth transition for background change */
        background-size: 100% 100%; /* Ensure the image covers the entire div */
        background-repeat: no-repeat;
        background-attachment: fixed;
    }
@media (min-width: 992px) {
.login100-pic img{
      padding: 68px 1px;
    min-width: 394px;
}
}
@media (max-width: 992px) {
  .login100-form-title .welcoming {
    font-size: 19px;
    font-weight: 600;
    color: #176cb0 !important;
    max-width: 100%;
    text-transform: uppercase;
    text-align: center;
    line-height: 25px;
  }

  .login100-pic.js-tilt {
    max-height: 886px;
    width: 333px;
    height: 349px;
    min-width: 319px;
  }

  form.form-group-header {
    max-width: calc(100% - 349px);
  }

  .wrap-login100 {
    padding: 177px 90px 33px 85px;
  }

  .login100-pic {
    width: 35%;
  }

  .login100-form {
    width: 50%;

  }

}

@media (max-width: 768px) {
  .wrap-login100 {
    padding: 100px 80px 33px 80px;
  }

  .login100-pic.js-tilt {
    width: 100%;
    height: 113px;
    text-align: center;
    justify-content: center;
    left: 99px;
    align-items: center;

    text-align: center;

  }

  .login100-form-title {

    padding-bottom: 19px;
  }

  .login100-form {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .wrap-login100 {
    padding: 100px 15px 33px 15px;
  }
}


/*------------------------------------------------------------------
[ Alert validate ]*/

.validate-input {
  position: relative;
}

.alert-validate::before {
  content: attr(data-validate);
  position: absolute;
  max-width: 70%;
  background-color: white;
  border: 1px solid #c80000;
  border-radius: 13px;
  padding: 4px 25px 4px 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 8px;
  pointer-events: none;

  font-family: Poppins-Medium;
  color: #c80000;
  font-size: 13px;
  line-height: 1.4;
  text-align: left;

  visibility: hidden;
  opacity: 0;

  -webkit-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

.alert-validate::after {
  content: "\f06a";
  font-family: FontAwesome;
  display: block;
  position: absolute;
  color: #c80000;
  font-size: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 13px;
}

.alert-validate:hover:before {
  visibility: visible;
  opacity: 1;
}


body,
.k-widget,
.k-grid,


.k-tabstrip,
.k-menu,
.k-dialog,
.k-tooltip {
  text-shadow: 0.3px 0.3px 0.6px rgba(0, 0, 0, 0.05);
  font-family: "Roboto", "Helvetica Neue", sans-serif;

}

.k-widget.k-button-group {
  background: 0 0;
  width: 100%;
  padding: 9px;
}

.k-tabstrip-items .k-item.k-state-active .k-link {
  color: #4d657f;
}

.k-tabstrip .k-content.k-state-active {
  background: unset;
  padding: unset;
}

.k-tabstrip .k-content.k-state-active {

  background: var(--bg-soft) !important;
}

.k-taskboard-column {
  border-color: transparent;
  background-color: var(--bg-soft) !important;
  border: unset !important;
  padding: unset !important;
  width: 319px !important;
}

.k-button-group {

  border: unset !important;
  box-shadow: unset !important;
}

/* === Áp dụng cho toàn bộ khối giao diện chính có border của Kendo === */
.k-widget,
.k-grid,
.k-panelbar,
.k-tabstrip,
.k-tilelayout-item,
.k-tilelayout-container,
.k-window,
.k-dialog,
.k-popup,
.k-tooltip,
.k-menu,
.k-notification,



.k-list-container,
.k-calendar {
  border: 1px solid var(--border-color-soft) !important;
  box-shadow: var(--shadow-soft) !important;

  background-color: var(--bg-soft) !important;
}


.k-card {
  border: 1px solid var(--border-color-soft) !important;
  box-shadow: var(--shadow-soft) !important;

  background-color: #fff !important;
}

.k-card-header,
.k-card-footer {
  background-color: #f5f5f5 !important;
}

.k-taskboard,
.k-taskboard-column {}

/* === Các vùng header/footer/card có border mặc định === */
.k-header,
.k-window-titlebar,
.k-dialog-titlebar,
.k-grid-header,
.k-grid-footer,

.k-tabstrip-items {
  border-bottom: 1px solid var(--border-color-soft) !important;
  /* background-color: var(--bg-soft) !important;  */
}

/* === Grid content: nội dung bảng có border rõ ràng === */
.k-grid-content,
.k-grid-content-locked,
.k-grid-header-locked {
  border-right: 1px solid var(--border-color-soft) !important;
  background-color: var(--bg-soft) !important;
}

/* === Table cell & header cell === */
.k-grid td,
.k-grid th {
  border-bottom: 1px solid var(--border-color-soft) !important;
  background-color: var(--bg-soft) !important;
}

/* === Các input, dropdown, combobox... có border === */

.k-dropdown,
.k-combobox,
.k-textbox,
.k-multiselect,
.k-datepicker,
.k-dateinput,
.k-input,
.k-numerictextbox,
.k-autocomplete {
  /* border: 1px solid var(--border-color-soft) !important;
        box-shadow:var(--shadow-soft) !important;

    background-color: var(--shadow-soft) !important;  */
}

/* === TaskBoard card + column === */
.k-taskboard-card,
.k-card {}

/* === Overlay và tooltip === */
.k-overlay {
  background-color: var(--bg-soft) !important;
}

.k-tooltip,
.k-list>.k-item.k-state-hover,
.k-list>.k-item.k-hover {
  background-color: var(--bg-soft) !important;
  border: 1px solid var(--border-color-soft) !important;
  box-shadow: var(--shadow-soft) !important;

}

.k-taskboard-column-header {
  padding: unset !important;
}

.k-taskboard-column-cards-container {
  padding: unset !important;
  border: unset !important;
  padding-top: 13px !important;
}





/* --- Tổng quát cho container, box, card --- */
.card,
.box,
.box-header,
.box-body,
.card-header,
.card-body,
.modal-content,
.content-wrapper,
.main-footer,
.navbar,
.sidebar {
  border: 1px solid var(--border-color-soft) !important;
  background-color: var(--bg-soft) !important;
  box-shadow: var(--shadow-soft) !important;
  border-radius: 0.5rem !important;
}

/* --- Form control, input, select --- */
.form-control,
.input-group,
.input-group-text,
.custom-select,
.select2-container--default .select2-selection--single {

  /* background-color: #ffffff !important;
    box-shadow: var(--shadow-soft) !important;
    border-radius: 0.375rem !important; */
}

/* --- Table border và hover --- */
.table,
.table-bordered,
.table th,
.table td {
  border: 1px solid var(--border-color-soft) !important;
  background-color: var(--bg-soft) !important;
}

.table-hover tbody tr:hover {
  background-color: var(--bg-soft) !important;
}

/* --- Navbar và Sidebar --- */
.main-header,
.main-sidebar,
.navbar-nav,
.sidebar-menu>li>a {
  border-bottom: 1px solid var(--border-color-soft) !important;
  background-color: var(--bg-soft) !important;
}

/* --- Modal, alert, badge... --- */


/* --- Tabs --- */
.nav-tabs>li>a {
  border: 1px solid var(--border-color-soft) !important;
  background-color: var(--bg-soft) !important;
  border-radius: 0.375rem 0.375rem 0 0 !important;
}



/* === Font toàn bộ Kendo UI === */
.k-widget,
.k-grid,
.k-card,
.k-taskboard,
.k-menu,
.k-dialog,
.k-window,
.k-button,
.k-input,
.k-tabstrip,
.k-panelbar,
.k-notification,
.k-calendar,
.k-tooltip,
.k-list-container,
.k-dropdown,
.k-combobox,
.k-multiselect,
.k-textbox,
.k-numerictextbox,
.k-dateinput,
.k-datepicker,
.k-tilelayout-container,
.k-tilelayout-item {
  font-family: "Roboto", "Helvetica Neue", Arial, sans-serif !important;

  font-weight: 400;
  letter-spacing: -0.1px;

}

.k-taskboard-column-header .card-header {
  box-shadow: 0 0 2px 2px #ececec !important;
  background: #fff !important;
  border-radius: 19px 19px 1px 1px !important;
  padding-left: 5px;
  padding-right: 5px;
}

.p-2.d-flex.flex-column.border-left.k-card-body.border-danger {
  padding: 19px !important;
}

.k-tabstrip-wrapper {
  height: calc(100vh - 131px);
}

/* .k-tabstrip-items .k-item .k-link
{
    color: #65676D;
    font-style: normal;
    font-weight: 400;
}
.k-autocomplete, .k-draghandle, .k-dropdown-wrap, .k-grid-header, .k-grouping-header, .k-header, .k-numeric-wrap, .k-panelbar .k-tabstrip-items .k-item, .k-picker-wrap, .k-progressbar, .k-state-highlight, .k-tabstrip-items .k-item
{
     background: #D9D9D9;
     color: #65676D;
}
.k-tabstrip-top>.k-tabstrip-items .k-state-active {
    border-bottom-color: #FFF4EE;
}
.k-tabstrip-items .k-item.k-state-active {
    background: #004c47;
} */


/* ============================
   Mượt mà, hiện đại & chuyên nghiệp
   ============================ */



/* Hover mềm mượt */
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.10);
  opacity: 0.95;
}

.btn:active {
  transform: scale(0.98);
  box-shadow: none;
}

/* ============================
   Màu sắc hiện đại theo xu hướng 2024
   ============================ */


/* ==========================================
   TEXT COLOR PALETTE – ĐẸP, MƯỢT, CHUYÊN NGHIỆP
   ========================================== */

/* Chữ chính – đậm, dễ đọc */
.text-main {
  color: #4d657f !important;
  /* dark gray - readable */
}

/* Chữ phụ, mô tả ngắn */
.text-subtle {
  color: #4B5563 !important;
  /* subtle gray */
}

/* Chữ trắng – dùng cho nền tối */
.text-white {
  color: #ffffff !important;
}

/* Chữ sáng – xám rất nhạt */
.text-light {
  color: #e5e7eb !important;
}

/* Chữ nhấn – xanh chuyên nghiệp */
.text-accent {
  color: #3B82F6 !important;
  /* blue-500 */
}

.text-accent:hover {
  color: #2563EB !important;
}

/* Chữ vàng thương hiệu – Kim Tâm Cát */
.text-gold {
  color: #e39d37 !important;
}

.text-gold:hover {
  color: #c8822c !important;
}

/* Chữ nguy hiểm – lỗi, cảnh báo */
.text-danger {
  color: #EF4444 !important;
}

.text-success {
  color: #10B981 !important;
}

.text-warning {
  color: #EF9B00 !important;
}

.text-info {
  color: #0EA5E9 !important;
}

.dung-han,
.trong-han {
  color: #0EA5E9 !important;
}

.sap-tre {
  color: #e39d37 !important;
}

.tre,
.tre-han {
  color: #5030E5 !important;
}

.btn {
  white-space: nowrap;
}

.title.text-main.text-left {
  display: flex;
}

.k-listview-content>div {
  text-align: left !important;
  background: transparent;
  padding-left: 19px;
  padding-right: 19px;
}

.k-listview-content>div:nth-child(even) {
  background: #f9f9f9;

  margin-bottom: 13px !important;
  box-shadow: var(--shadow-soft) !important;
}

.d-flex.toolbar-left.me-auto.mb-2.mb-md-0.align-items-center.gap-2 {
  gap: 13px;
}

.k-tabstrip-items li.k-item.k-state-default::after {
  content: "\f0d7";
  /* mã unicode của icon */
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  /* 900: solid | 400: regular | 300: light, tùy theo gói bạn dùng */
  margin-left: 8px;
  /* khoảng cách với text */
  display: inline-block;
  padding-right: 8px;
}

.k-listview-content {
  overflow: hidden;
}

.k-listview-content:hover {
  overflow: auto;
}

.wrap-login100 {
  padding: 49px 49px 49px 49px !important;
}

.login100-form-title .name-app{
  font-size: 26px;
  color: #0d6efd !important;
  max-width: 100%;
  font-weight: 700;
  text-align: center;
  line-height: 33px;
  margin-bottom: 39px;
}



.license-login {
  text-align: center;
}

@media (max-width: 992px) {
  .alert-validate::before {
    visibility: visible;
    opacity: 1;
  }


}

.wrap-login100 {
  background: #f5f5f5;
  opacity: .94;
}

/* Mobile: ≤ 576px */
@media (max-width: 768px) {
  .wrap-login100 {

    padding: 13px !important;
    padding-bottom: 86px !important;
    padding-top: 68px !important;
  }

  form.form-group-header {
    width: 100%;
    max-width: 100%;
  }

  .container-login100 {
    overflow: auto !important;
  }

  .login100-form-title {
    font-size: 26px;
    color: #0d6efd !important;
    max-width: 100%;
    text-align: center !important;
    line-height: 33px;
    padding-bottom: 39px !important;
  }
}


.login100-form-title .welcoming {
  font-size: 22.8px;
  font-weight: 600;
  color: #176cb0 !important;
  max-width: 100%;
  text-transform: uppercase;
  text-align: center;
  line-height: 42px;

}




.show-pass {
    position: absolute;
    top: 50%;
    right: 49px;
    transform: translateY(-50%);
    cursor: pointer;
    color: #176cb0;
}


