/* @import url('https://fonts.googleapis.com/css2?family=Poppins&family=Cairo&display=swap'); */
@import 'colors.css';
@font-face {font-family: Segoe Ui Semi-light;src: url('../fonts/segoeuisl.ttf');}

html,body {padding:0;margin:0;}
* {box-sizing: border-box;font-family: 'Segoe Ui Semi-light', sans-serif;}

* ::-webkit-scrollbar-track{background-color:rgba(175,200,217,0.26)}
* ::-webkit-scrollbar{background-color:transparent;width:12px;height: 14px;}
* ::-webkit-scrollbar-thumb{border-inline:2px solid transparent;border-block:3px solid transparent;border-radius:12px;background-clip:content-box;background-color:rgba(var(--bs-success-rgb),0.5);}
* ::-webkit-scrollbar-thumb:hover{background-color:var(--bs-success);}

.no-scrollbar ::-webkit-scrollbar {display:none;}

/* GENERAL */
body {width:100%;height:100vh;font-size: 16px;line-height: 1.5;overflow: hidden;}
main {position:relative;width:fit-content;width: 100%;}

a {color: var(--bs-primary);}
a:hover {color: var(--bs-primary-hover);}

.btn-primary {background-color: var(--bs-primary);border-color: var(--bs-primary);}
.btn-primary:hover {background-color: var(--bs-primary-hover);border-color: var(--bs-primary-hover);}
.btn-success {background-color: var(--bs-success);border-color: var(--bs-success);}
.btn-success:hover {background-color: var(--bs-success-hover);border-color: var(--bs-success-hover);}
.btn-warning {background-color: var(--bs-warning);border-color: var(--bs-warning);}
.btn-warning:hover {background-color: var(--bs-warning-hover);border-color: var(--bs-warning-hover);}
.btn-danger {background-color: var(--bs-danger);border-color: var(--bs-danger);}
.btn-danger:hover {background-color: var(--bs-danger-hover);border-color: var(--bs-danger-hover);}

.invalid {border:1px solid var(--bs-danger) !important;}
.valid {border:1px solid var(--bs-success) !important;}

input {min-width:max-content;}

.auto-width {
  white-space: nowrap; /* Prevent line breaks */
  width: auto; /* Adjust width to content */
  /* Alternatively, you can use "width: fit-content;" for more precise control */
}

/* ChoicesJS */
.choices:focus {color: #212529;background-color: #fff;border-color: #86b7fe;outline: 0;box-shadow: 0 0 0 4px rgb(13 110 253 / 25%);border-radius: 0.25rem;}
.choices.is-open.is-focused > div {border-color: #ced4da !important;}
.choices:focus > div {border-color:transparent !important;}
.choices {margin-bottom: 0 !important;}
.choices__item {font-size: 0.95rem !important;word-break: keep-all;}
.choices__input__required {display: inline-block;width: 100%;padding: 0.25rem 0.5rem;border:0 !important;border-bottom: 0 !important;background-color: #fff;margin: 0;}
.choices__input__required:focus {border:0;outline:0;border-bottom:1px solid;}
.choices__input.choices__input--cloned {padding: 0.375rem 0.5rem !important;}
.choices__list--dropdown {padding: 0.375rem 0.5rem !important;z-index:99 !important;}
.choices__list--dropdown .choices__item--selectable.is-highlighted {background-color: #07306d !important;color:#FFF !important;}
.choices__list--single .choices__item {width: 95% !important;overflow: hidden;height: 1.25rem;line-height: 1.5rem;}
table .choices__list--single .choices__item {width: max-content !important;}
.choices__list {width: inherit !important;}

/* Index Page Header */
header {position:fixed;background: var(--bs-gray-200);left:0;top:0;width:100%;min-height:80px;padding:15px;display: flex;justify-content: space-between;align-items: center;gap:15px;z-index:999;}

/* Index Table */
.index-table {position: relative;top:80px;min-width:100%;height:calc(100vh - 80px);overflow: auto;}
.disabledCell {cursor: not-allowed;background-color: var(--bs-gray-300) !important;}
.selectedTableRow {background-color: var(--bs-gray-300) !important;}
.tableRowIndex.selected {position: relative;}
.tableRowMenu {position: absolute;display:none;left: 50%;flex-flow: column;padding: 0.75rem;gap: 0.5rem;z-index: 998;}
/* .tableRowMenu * {margin:0;} */
.tableRowMenuItem {margin:0;}
.tableRowMenuItem:before {content:'◉';font-size: 80%;padding-inline-end: 0.25rem;}
.tableRowMenuItem:hover {color:var(--bs-success);cursor:pointer;}

/* LOGIN FORM */
.loginForm {position: relative;background:url('../img/login-bg.png') no-repeat center;background-size:cover;background-attachment: fixed;display:flex;flex-flow:column;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:1.5rem;gap:1.5rem;padding-bottom:130px;}
.PulseCRM-Logo {position:absolute;bottom:0;width:100%;height:130px;display:flex;align-items:center;justify-content:center;}
.PulseCRM-Logo img {width:auto;height:auto;max-width:90%;max-height:70px;}

/* ANIMATIONS */
.animation-target {
  animation: animation 750ms linear both;
}

@keyframes animation {
  0% { opacity:0 }
  25% { opacity:0.25 }
  50% { opacity:0.5 }
  75% { opacity:0.75 }
  100% { opacity:1 }
}
