@charset "UTF-8";
/*
DataTables responsive
https://cdn.datatables.net/responsive/1.0.7/css/responsive.dataTables.min.css
*/
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child, table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before, table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
  top: 8px;
  left: 4px;
  height: 16px;
  width: 16px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  text-align: center;
  line-height: 14px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  content: "+";
  background-color: #31b131;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child.dataTables_empty:before, table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child.dataTables_empty:before {
  display: none;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before, table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
  content: "-";
  background-color: #d33333;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
  display: none;
}

table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child, table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
  padding-left: 27px;
}

table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before, table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
  top: 5px;
  left: 4px;
  height: 14px;
  width: 14px;
  border-radius: 14px;
  line-height: 12px;
}

table.dataTable.dtr-column > tbody > tr > td.control, table.dataTable.dtr-column > tbody > tr > th.control {
  position: relative;
  cursor: pointer;
}

table.dataTable.dtr-column > tbody > tr > td.control:before, table.dataTable.dtr-column > tbody > tr > th.control:before {
  top: 50%;
  left: 50%;
  height: 16px;
  width: 16px;
  margin-top: -10px;
  margin-left: -10px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  text-align: center;
  line-height: 14px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  content: "+";
  background-color: #31b131;
}

table.dataTable.dtr-column > tbody > tr.parent td.control:before, table.dataTable.dtr-column > tbody > tr.parent th.control:before {
  content: "-";
  background-color: #d33333;
}

table.dataTable > tbody > tr.child {
  padding: 0.5em 1em;
}

table.dataTable > tbody > tr.child:hover {
  background: transparent !important;
}

table.dataTable > tbody > tr.child ul {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

table.dataTable > tbody > tr.child ul li {
  border-bottom: 1px solid #efefef;
  padding: 0.5em 0;
}

table.dataTable > tbody > tr.child ul li:first-child {
  padding-top: 0;
}

table.dataTable > tbody > tr.child ul li:last-child {
  border-bottom: none;
}

table.dataTable > tbody > tr.child span.dtr-title {
  display: inline-block;
  min-width: 75px;
  font-weight: bold;
}

/* added by Vinod */
table.dataTable td, table.dataTable th {
  white-space: normal;
}

div.dataTables_wrapper .table-striped tbody tr td {
  vertical-align: initial;
}
div.dataTables_wrapper .table-striped tbody tr:nth-of-type(odd) {
  background-color: #f8fafc;
}
div.dataTables_wrapper table.dataTable > tbody > tr:hover {
  background-color: #f1f5f9;
}
@media (max-width: 1280px) {
  div.dataTables_wrapper div.dataTables_filter input {
    width: 100%;
  }
  div.dataTables_wrapper div.dataTables_filter label {
    white-space: unset;
    text-align: center;
  }
}

table.dataTable {
  max-width: 100% !important;
}
table.dataTable .btn {
  margin-bottom: 8px;
}

.dataTables_filter {
  min-width: 100%;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.child > td.child,
table.dataTable.dtr-inline.collapsed > tbody > tr.child > th.child {
  padding-left: 0;
  padding: 8px;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.child > td.child li,
table.dataTable.dtr-inline.collapsed > tbody > tr.child > th.child li {
  list-style: none;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.child > td.child li .dtr-title,
table.dataTable.dtr-inline.collapsed > tbody > tr.child > td.child li .dtr-data,
table.dataTable.dtr-inline.collapsed > tbody > tr.child > th.child li .dtr-title,
table.dataTable.dtr-inline.collapsed > tbody > tr.child > th.child li .dtr-data {
  display: block;
  padding: 8px 0;
}

img {
  max-width: 100%;
}

a {
  color: #059669;
}
a:hover {
  color: #047857;
}

.dataTables_wrapper .dataTables_length select {
  border: 1px solid #aaa;
  border-radius: 3px;
  padding: 5px;
  background-color: transparent;
  padding: 4px;
  width: auto;
  display: inline-block;
}

[data-show-if] {
  display: none;
}

.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}

.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #9a9a9a;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #9a9a9a transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* width */
::-webkit-scrollbar {
  width: 8px;
}

/* Track */
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 1px grey;
  border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #dddddd;
  border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #dddddd;
}

html > body {
  min-height: 100vh;
  overflow-x: hidden;
  /* width */
}
html > body ::-webkit-scrollbar {
  width: 2px;
}
html > body {
  scrollbar-width: thin;
}

.navbar > .container {
  padding-right: 4.5rem !important;
}

.navbar-horizontal .navbar-nav .nav-link {
  font-size: initial;
  color: #212529;
}
@media (min-width: 992px) {
  .navbar-horizontal .navbar-nav .nav-link i {
    margin-right: 0;
  }
}
.navbar-horizontal .navbar-nav .nav-link .text-danger {
  color: #dc3545 !important;
}

.lw-terms-and-conditions-page strong {
  font-weight: 600;
}

.form-input {
  padding: 10px 8px;
  border: 1px solid #c7c7c7;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
}

.bg-default {
  background-color: #1e293b !important;
}

.fill-default {
  fill: #059669;
}

label.custom-control-label {
  user-select: none;
  cursor: pointer;
}

label.error,
label.lw-validation-error,
div.lw-validation-error {
  color: #fb6340;
  padding: 4px 0;
  width: 100%;
  font-size: 15px;
  text-align: right;
}
.text-left label.error,
.text-left label.lw-validation-error,
.text-left div.lw-validation-error {
  text-align: left;
}

label.lw-validation-error {
  padding: 10px 0 0 0;
}

.form-group + div.lw-validation-error {
  padding: 0px 0 10px 18px;
}

.btn,
.input-group,
.form-control,
.selectize-input,
.card .card-body fieldset legend {
  border-radius: 8px;
}

.btn {
  box-shadow: none;
  font-weight: 400;
}
.btn.lw-btn-breakable {
  word-break: break-word;
  white-space: normal;
}
.btn:hover {
  box-shadow: none;
  filter: saturate(1.3);
}
.btn:not(:last-child) {
  margin-right: 0;
}
.btn {
  margin-bottom: 4px;
}
.input-group .btn {
  margin-bottom: 0;
  padding: 0.825rem 1.25rem;
}
.btn.btn-primary {
  color: #ffffff;
  border-color: #059669;
  background-color: #059669;
}
.btn.btn-primary:not(:disabled):not(.disabled).active, .btn.btn-primary:not(:disabled):not(.disabled):active, .show > .btn.btn-primary.dropdown-toggle {
  background-color: #047857;
}
.btn.btn-primary:hover {
  background-color: #047857;
  border-color: #047857;
}
.btn.btn-primary[data-toggle=modal]:not(:disabled):not(.disabled).active, .btn.btn-primary[data-toggle=modal]:not(:disabled):not(.disabled):active, .show > .btn.btn-primary[data-toggle=modal].dropdown-toggle {
  color: #0a0a0a;
  border-color: #b3b3b3;
  background-color: #eaedef;
}

.page-item.active .page-link {
  color: #fff;
  border-color: #059669;
  background-color: #059669;
}

.display-2 {
  font-weight: 500;
}

.form-control {
  height: calc(2.75rem + 2px);
  border: 1px solid #e2e8f0;
  font-size: 0.875rem;
  color: #334155;
  background-clip: unset;
  border-radius: 8px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.form-control:focus {
  border-color: #059669;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

.selectize-input,
.input-group {
  transition: box-shadow 0.15s ease;
}
.selectize-input:focus,
.input-group:focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}

.selectize-input.not-full > input,
.selectize-input.not-full > input[type=select-one] {
  width: 100% !important;
}

.has-danger:after {
  display: none !important;
}

.form-group {
  margin-bottom: 0.75rem;
  margin-top: 0.75rem;
}

label.form-control-label {
  font-weight: 400;
}

.dataTables_wrapper .table th {
  font-weight: 500;
}
.dataTables_wrapper .table td,
.dataTables_wrapper .table th {
  font-size: 1rem;
}
.dataTables_wrapper .table td .btn-group-sm > .btn,
.dataTables_wrapper .table td .btn-sm,
.dataTables_wrapper .table th .btn-group-sm > .btn,
.dataTables_wrapper .table th .btn-sm {
  font-size: 0.85rem;
}
.dataTables_wrapper table.dataTable.table thead th,
.dataTables_wrapper table.dataTable.table thead td {
  border-bottom: none;
}
.dataTables_wrapper table.dataTable.table.no-footer {
  border-bottom: none;
}
.dataTables_wrapper table.dataTable tbody th,
.dataTables_wrapper table.dataTable tbody td {
  padding: 12px;
}
.dataTables_wrapper table.dataTable tbody th .avatar.avatar-sm.rounded-circle img,
.dataTables_wrapper table.dataTable tbody td .avatar.avatar-sm.rounded-circle img {
  width: 36px;
  height: 36px;
  object-fit: cover;
}
.dataTables_wrapper .card .table td,
.dataTables_wrapper .card .table th {
  padding: 1rem 1.5rem;
}
.dataTables_wrapper select.custom-select {
  padding-right: 20px;
  padding-left: 10px;
}
.dataTables_wrapper .page-item .page-link,
.dataTables_wrapper .page-item span {
  width: auto;
  height: 36px;
  margin: 0 3px;
  padding: 3px 14px;
  border-radius: 4px !important;
}
.dataTables_wrapper .form-control {
  height: calc(2rem + 2px);
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  padding: 0;
}

.modal {
  transition: none;
}
.modal .modal-content {
  box-shadow: none !important;
}
@media (min-width: 1000px) {
  .modal .lw-modal-xl {
    max-width: 1000px;
  }
}

.modal-backdrop.show {
  opacity: 0.4;
}

.modal .modal-body {
  background-color: #f6f8fa;
}

.modal-open .modal .close > span:not(.sr-only) {
  font-size: inherit;
}
.modal-open .modal {
  backdrop-filter: blur(3px) grayscale(0.6);
}
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body {
  padding: 1.5rem;
}
.modal-open .modal.lw-has-form .modal-body {
  border-bottom-left-radius: 0.4375rem;
  border-bottom-right-radius: 0.4375rem;
}
.modal-open .modal .modal-body .modal-header {
  background-color: #ffffff;
  border-radius: 0;
  margin: -23px -24px 16px;
}
.modal-open .modal .modal-body .modal-header .modal-title {
  font-size: 1rem;
}
.modal-open .modal .modal-header {
  border-radius: 0;
}
.modal-open .modal .modal-footer {
  border-radius: 0;
  padding: 16px 24px;
}

.btn-secondary {
  border-color: #e1e2e2;
}

.lw-form:not([data-show-processing=false]) .lw-form-processing *, .lw-form:not([data-show-processing=false]).lw-form-processing * {
  pointer-events: none;
  user-select: none;
}
.lw-form:not([data-show-processing=false]) .lw-form-processing .lw-form-overlay, .lw-form:not([data-show-processing=false]).lw-form-processing .lw-form-overlay {
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: white;
  opacity: 0.2;
  pointer-events: none;
  -webkit-backdrop-filter: blur(2px) grayscale(1);
  backdrop-filter: blur(2px) grayscale(1);
}
.lw-form:not([data-show-processing=false]).has-danger .form-control::-webkit-input-placeholder {
  /* Edge */
  color: #c0c7cc;
}
.lw-form:not([data-show-processing=false]).has-danger .form-control:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #c0c7cc;
}
.lw-form:not([data-show-processing=false]).has-danger .form-control::placeholder {
  color: #c0c7cc;
}

.input-group.input-group-alternative {
  border: 1px solid #cad1d7;
  box-shadow: none;
}
@media (max-width: 768px) {
  .input-group.input-group-alternative {
    border: none;
  }
}

.focused .input-group {
  box-shadow: none !important;
}

.swal2-container {
  -webkit-backdrop-filter: blur(2px) grayscale(1);
  backdrop-filter: blur(2px) grayscale(1);
}

.selectize-input {
  padding: 14px 12px;
}

.selectize-dropdown {
  z-index: 9999 !important;
}

.selectize-dropdown,
.selectize-dropdown.form-control {
  color: #333;
}

.lw-form-in-process {
  user-select: none;
}
.lw-form-in-process * {
  pointer-events: none;
}
.lw-form-in-process .lw-spinner-box {
  position: absolute;
  text-align: center;
  vertical-align: middle;
  align-self: center;
  align-items: center;
  display: flex;
  color: rgb(109, 109, 109);
  z-index: 1;
  border-radius: 8px;
  width: 100px;
  padding: 10px;
  background-color: rgba(106, 119, 132, 0.4);
}
.lw-form-in-process .lw-spinner-box ~ * {
  filter: blur(1px) grayscale(0.5);
  -webkit-filter: blur(1px) grayscale(0.5);
}
.lw-form-in-process .lw-spinner-box .spinner-border {
  margin-bottom: 4px;
}
.lw-form-in-process .lw-spinner-box small {
  display: block;
}

fieldset {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 20px;
  margin-top: 20px;
  background-color: #ffffff;
}
fieldset legend {
  font-size: 0.95rem;
  font-weight: 600;
  padding: 0 10px;
  width: auto;
  color: #334155;
  border: 1px solid #e2e8f0;
  background-color: #f8fafc;
  padding: 8px 14px;
  border-radius: 8px;
}

.lw-dynamic-template-container {
  overflow: auto !important;
}

#lwTemplateStructureContainer .card,
#lwConversionChatContainer .card,
.lw-template-structure-form fieldset .card {
  box-shadow: none;
}

.card-body fieldset legend {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.03);
  padding: 8px 12px;
  border-radius: 8px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input {
  border-color: rgba(50, 151, 211, 0.25);
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.lw-page-title {
  color: #059669;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  color: #1e293b;
  letter-spacing: -0.01em;
}

.navbar-brand-img {
  min-height: 50px;
}

@media (min-width: 768px) {
  .main-content .container-fluid {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .navbar-vertical.navbar-expand-md .navbar-nav .nav-link {
    padding: 0.65rem 1rem;
  }
  .navbar-nav .lw-expandable-nav .nav .nav-item .nav-link {
    padding: 0.5rem 1rem;
    padding-left: 2.5rem;
    font-size: 0.825rem;
  }
  .navbar-vertical.navbar-expand-md .navbar-brand-img {
    object-fit: contain;
  }
  .navbar-vertical.navbar-expand-md .navbar-collapse {
    align-items: start;
  }
}
@media (max-width: 768px) {
  .navbar-collapse .collapse-brand img {
    height: 70px;
    object-fit: contain;
    width: auto;
  }
  .card-body {
    padding: 0.5rem;
  }
  .input-group {
    padding: 0 12px;
    padding-bottom: 20px;
  }
  .input-group input[type=color] {
    height: 50px;
  }
  .input-group .input-group-text {
    border: none;
    background: transparent;
  }
  .input-group .form-control {
    padding: 0.625rem 0.75rem !important;
  }
}
@media (max-width: 768px) and (prefers-color-scheme: dark) {
  .input-group .system-theme-light-logo {
    display: none !important;
  }
}
@media (max-width: 768px) and (prefers-color-scheme: light) {
  .input-group .system-theme-dark-logo {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .lw-btn-block-mobile,
  .btn.lw-btn-block-mobile {
    width: 100%;
    margin-bottom: 8px;
  }
  .btn-group {
    width: 100%;
    display: block;
  }
  .btn-group > *:not(.dropdown-menu) {
    width: 100%;
    display: block;
    border-radius: 0 !important;
  }
  .btn-group > *:not(.dropdown-menu):first-child {
    border-top-left-radius: 0.375rem !important;
    border-top-right-radius: 0.375rem !important;
  }
  .btn-group > *:not(.dropdown-menu):last-child {
    border-bottom-left-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
  }
  .nav-tabs .nav-item .nav-link {
    border-radius: 0;
  }
  .nav-tabs .nav-item:first-child .nav-link, .nav-tabs .nav-item:last-child .nav-link {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
  }
}
.nav-tabs .nav-item .nav-link {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  margin-right: 2px;
}

.navbar-light .navbar-nav .nav-link {
  color: #94a3b8;
}

.text-primary {
  color: #059669 !important;
}

a.text-primary:focus,
a.text-primary:hover {
  color: #047857 !important;
}

.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link {
  color: #059669;
}

#lwUploadFavicon,
#lwUploadDarkThemeFavicon {
  width: 100px;
}

.lw-disabled-block-content {
  display: block;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  opacity: 0.6;
  pointer-events: none;
  -webkit-filter: blur(2px) grayscale(0.4);
  filter: blur(2px) grayscale(0.4);
  cursor: not-allowed;
}

[x-cloak] {
  display: none !important;
}

.lw-stamp-container {
  height: 150px;
  user-select: none;
  -webkit-user-drag: none;
  -moz-window-dragging: none;
}

.lw-ws-pre-line {
  white-space: pre-line;
}

@media print {
  .btn.lw-whatsapp-btn {
    display: none;
  }
  .card {
    page-break-before: always;
  }
}
.lw-logo-on-order-page {
  min-height: 100px;
  max-height: 200px;
  max-width: 90%;
  object-fit: contain;
}

.lw-bg-blue-gray {
  background-color: #636f7b;
}

.navbar-horizontal .navbar-brand {
  text-align: center;
}
.navbar-horizontal .navbar-brand img {
  max-height: 90px;
  min-height: 60px;
  max-width: 100%;
  object-fit: contain;
  height: auto;
}
@media (max-width: 768px) {
  .navbar-horizontal .navbar-brand img {
    max-height: 70px;
  }
}

.lw-form-card-box {
  backdrop-filter: blur(10px);
  background-color: rgba(30, 41, 59, 0.85) !important;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
@media (min-width: 767px) {
  .lw-form-card-box {
    margin-top: 6vh;
  }
}
.lw-form-card-box .btn-google {
  color: #fff;
  background-color: #ea4335;
  border-radius: 8px;
}
.lw-form-card-box .btn-facebook {
  color: #fff;
  background-color: #3b5998;
  border-radius: 8px;
}

.btn-group-lg > .btn,
.btn-lg {
  font-size: 1.2rem;
}

.main-content .navbar-top,
#navbar-main {
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}
.lw-guest-page .main-content .navbar-top,
.lw-guest-page #navbar-main {
  background: #ffffff !important;
}

.main-content-has-bg::before {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  content: "";
  min-width: 100vw;
  min-height: 100vh;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(4px) grayscale(0.5);
}

.card.card-stats {
  min-height: 168px;
}
.card.card-stats .h2 {
  font-size: 2.2em;
}
.card.card-stats .card-body {
  padding: 1.25rem 1.5rem;
  border-radius: 12px;
}

.card {
  border: 1px solid #e2e8f0;
  background-color: #ffffff;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  transition: box-shadow 0.2s ease;
}

.input-group-text {
  background: transparent;
}

html > body {
  background: #f1f5f9;
  font-family: "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

nav.lw-breadcrumb-container {
  padding: 16px 0 10px 20px;
  display: block;
  background-color: #1e293b;
  font-size: 1rem;
  border-radius: 10px;
}

.nav-tabs {
  border-bottom: 0;
  margin-left: 40px;
  margin-top: 20px;
}
.nav-tabs .nav-link {
  padding: 10px 1.75rem;
  font-size: 1rem;
  background-color: #e2e8f0;
  border: 0 !important;
  color: #64748b;
  font-weight: 500;
}
.nav-tabs .nav-link.active {
  background-color: #ffffff;
  color: #1e293b;
}
.nav-tabs .nav-link:hover {
  border: 0;
  color: #334155;
}

fieldset.filepond--file-wrapper {
  background-color: initial;
}

.filepond--file {
  color: white;
}
[data-filepond-item-state=processing-error] .filepond--file {
  color: white;
}
[data-filepond-item-state=processing-complete] .filepond--file {
  color: white;
}

.filepond--file-info-sub {
  display: none;
}

.lw-d-none {
  display: none;
}

.btn-size {
  width: 220px !important;
}

[dir=rtl] .float-left {
  float: right !important;
}
[dir=rtl] .float-right {
  float: left !important;
}
[dir=rtl] .text-left {
  text-align: right !important;
}
[dir=rtl] .text-right {
  text-align: left !important;
}
[dir=rtl] .modal-header .close {
  margin: 0;
  display: contents;
  float: left;
}
[dir=rtl] .sidebar {
  padding-right: 0;
}
[dir=rtl] .sidebar-dark .sidebar-brand,
[dir=rtl] .navbar {
  border-radius: 0;
}
[dir=rtl] .lw-original-text-line {
  direction: ltr;
  text-align: left;
}
[dir=rtl] .lw-lang-direction-ltr textarea,
[dir=rtl] .lw-lang-direction-ltr input {
  text-align: left;
  direction: ltr;
}
[dir=rtl] body {
  text-align: right;
}
[dir=rtl] body .lw-icon-btn {
  margin-left: 10px;
}
[dir=rtl] body input,
[dir=rtl] body .dropdown-menu {
  text-align: right;
}
[dir=rtl] body input .dropdown-item,
[dir=rtl] body .dropdown-menu .dropdown-item {
  padding-right: 4px;
}
[dir=rtl] body input .dropdown-item > div,
[dir=rtl] body input .dropdown-item .dropdown-list-image,
[dir=rtl] body .dropdown-menu .dropdown-item > div,
[dir=rtl] body .dropdown-menu .dropdown-item .dropdown-list-image {
  margin-left: 8px;
}
[dir=rtl] body .input-group > * {
  border-radius: 0;
}
[dir=rtl] body .input-group > *:last-child {
  border-top-left-radius: 0.35rem;
  border-bottom-left-radius: 0.35rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[dir=rtl] body .input-group > *:first-child {
  border-top-right-radius: 0.35rem;
  border-bottom-right-radius: 0.35rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[dir=rtl] body .input-group > .input-group-prepend,
[dir=rtl] body .input-group > .input-group-append {
  border-radius: 0;
}
[dir=rtl] body .input-group > .input-group-prepend *:not(:last-child):not(.dropdown-toggle),
[dir=rtl] body .input-group > .input-group-append *:not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
[dir=rtl] body .input-group > .input-group-prepend:last-child > *,
[dir=rtl] body .input-group > .input-group-append:last-child > * {
  border-top-left-radius: 0.35rem;
  border-bottom-left-radius: 0.35rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[dir=rtl] body .input-group > .input-group-prepend:first-child > *,
[dir=rtl] body .input-group > .input-group-append:first-child > * {
  border-top-right-radius: 0.35rem;
  border-bottom-right-radius: 0.35rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[dir=rtl] body .page-item:last-child .page-link {
  border-top-left-radius: 0.35rem;
  border-bottom-left-radius: 0.35rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[dir=rtl] body .page-item:first-child .page-link {
  border-top-right-radius: 0.35rem;
  border-bottom-right-radius: 0.35rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[dir=rtl] body .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
[dir=rtl] body .btn-group > .btn-group:not(:last-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}
[dir=rtl] body .btn-group > .btn:not(:first-child):not(.dropdown-toggle),
[dir=rtl] body .btn-group > .btn-group:not(:first-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
[dir=rtl] body .navbar-nav,
[dir=rtl] body .btn-group {
  margin-left: 0;
  margin-right: auto;
}
[dir=rtl] body .navbar-nav .nav-item .nav-link,
[dir=rtl] body .btn-group .nav-item .nav-link {
  text-align: right;
}
[dir=rtl] body .navbar-nav .dropdown-menu-right,
[dir=rtl] body .btn-group .dropdown-menu-right {
  transform: none !important;
  left: 0;
  right: auto;
}

.lw-whatsapp-preview-container {
  background: #e5ddd5;
  padding: 20px;
  max-width: 400px;
  overflow: hidden;
  font-size: 13.6px;
}
.lw-whatsapp-preview-container .lw-whatsapp-preview-bg {
  opacity: 0.2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
}
.lw-whatsapp-preview-container {
  position: relative;
}

.lw-whatsapp-header-placeholder {
  border-radius: 6px;
  display: flex;
  align-content: center;
  max-height: 200px;
  background-color: #ccd0d5;
  text-align: center;
  justify-content: center;
}
.lw-whatsapp-header-placeholder .lw-whatsapp-header-video {
  min-width: 100%;
}
.lw-whatsapp-header-placeholder .lw-whatsapp-header-image {
  min-width: 80%;
  max-height: 200px;
  object-fit: contain;
}

.lw-whatsapp-preview .lw-whatsapp-header-placeholder,
.lw-whatsapp-preview a.lw-wa-message-document-link {
  border-radius: 6px;
  display: flex;
  align-content: center;
  height: 150px;
  background-color: #ccd0d5;
  text-align: center;
  justify-content: center;
  width: 100%;
}
.lw-whatsapp-preview .lw-whatsapp-header-placeholder i.fa,
.lw-whatsapp-preview a.lw-wa-message-document-link i.fa {
  align-self: center;
  margin: auto;
}
.lw-whatsapp-preview > .card {
  border-top-left-radius: 0;
  padding: 2px;
}
.lw-whatsapp-preview > .card::after {
  border-width: 0px 10px 10px 0;
  border-color: transparent #fff transparent transparent;
  top: 0px;
  left: -10px;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
}
.lw-whatsapp-preview .lw-whatsapp-body {
  padding: 16px;
}
.lw-whatsapp-preview .lw-whatsapp-body > div {
  white-space: pre-line;
}
.lw-whatsapp-preview .lw-whatsapp-footer {
  padding: 0 16px 12px 16px;
}
.lw-whatsapp-preview .lw-whatsapp-buttons {
  color: #00a5f4;
  padding: 0;
  text-align: center;
}

.lw-configured-badge {
  font-size: 1.6em;
  padding-bottom: 3px;
  display: inline-block;
}

.navbar-horizontal .navbar-nav .nav-link {
  font-weight: 500;
  padding-right: 0.4rem;
}

@media (min-width: 1400px) {
  .container-xxl,
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1320px;
  }
}
.lw-error-page-block-section {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
.lw-error-page-block-section .lw-error-logo {
  width: 280px;
  min-width: 300px;
}
.lw-error-page-block-section .lw-error-page-block {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
  border-bottom: 4px solid #059669;
}
.lw-error-page-block-section .lw-error-page-block p {
  font-size: 17px;
  font-weight: 400;
  color: #64748b;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm,
.dropdown-item.active,
.dropdown-item:active {
  text-decoration: none;
  color: #fff !important;
  background-color: #059669;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus {
  box-shadow: none !important;
}

.card .table td,
.card .table th {
  padding-left: 0.7rem;
}

.lw-whatsapp-template-create-preview {
  position: sticky;
  top: 10vh;
}

.lw-qr-image {
  height: 160px;
}

.lw-flow-builder-container-holder {
  padding-bottom: 20px;
}

.lw-flow-builder-container {
  width: 3000px;
  height: 3000px;
  border: 2px dotted #dddddd;
}
.lw-flow-builder-container .flowchart-operator {
  min-width: 170px;
  width: auto;
}
.lw-flow-builder-container:active {
  cursor: grabbing !important;
}

.flowchart-operator-body {
  min-height: 75px;
}

.flowchart-operator-inputs .flowchart-operator-connector {
  padding-top: 0px;
  padding-bottom: 10px;
  display: block;
}
.flowchart-operator-inputs .flowchart-operator-connector:hover .flowchart-operator-connector-arrow:hover {
  border-left: 10px solid #c91f1f;
}

.lw-business-profile-image {
  height: 150px;
  width: 100%;
  object-fit: contain;
  margin-bottom: 8px;
}

.lw-page-description {
  white-space: pre-line;
  word-wrap: break-word;
}

.lw-page-dropdown {
  background-color: transparent;
}
.lw-page-dropdown button {
  background-color: white;
  box-shadow: none !important;
}
.lw-page-dropdown button:hover {
  transform: translateY(0px);
}
.lw-page-dropdown .dropdown-menu {
  min-width: 10rem;
  box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15) !important;
}

textarea.form-control::-webkit-scrollbar {
  width: 10px;
}

.pay-box-padding {
  padding: 5rem;
}

.lw-white-space-normal {
  white-space: normal;
}

#paypal-button-container {
  width: 300px;
  max-width: 100%;
  margin: 0 auto;
}

fieldset legend {
  cursor: pointer;
}

.lw-subscription-cards {
  cursor: pointer;
}

.form-control {
  padding-left: 6px !important;
}

.selectize-control.form-control {
  padding-left: 0 !important;
}

.display-2 {
  font-size: 2rem;
}

.card.card-stats .h2 {
  font-size: 2em;
}

.btn {
  font-size: 0.8rem;
}

.dataTables_wrapper .table td,
.dataTables_wrapper .table th {
  font-size: 0.9rem;
}
.dataTables_wrapper .table td .btn-group-sm > .btn,
.dataTables_wrapper .table td .btn-sm,
.dataTables_wrapper .table th .btn-group-sm > .btn,
.dataTables_wrapper .table th .btn-sm {
  font-size: 0.7rem;
}

.lw-has-form fieldset .input-group {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.lw-has-form fieldset .input-group .lw-form-field.form-control {
  border: none !important;
}
.lw-has-form fieldset .input-group .input-group-append {
  margin-left: 0;
}

.modal .modal-body .form-control {
  font-size: 0.875rem;
}

.dropdown-menu {
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
  padding: 0.5rem;
}
.dropdown-menu .dropdown-item {
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #334155;
}
.dropdown-menu .dropdown-item:hover {
  background-color: #f1f5f9;
}
.dropdown-menu .active a {
  background-color: #059669;
  font-weight: 600;
}

@media (max-width: 768px) {
  .lw-language-block .form-control,
  .lw-language-block .input-group-text {
    border: 1px solid #cad1d7 !important;
  }
  .lw-mobile-view-none {
    display: none !important;
  }
  .lw-language-block .input-group * {
    width: 100%;
    display: block;
    border-radius: 4px;
    margin: 8px 0 0 0;
    border-radius: 0.375rem !important;
  }
}
@media (prefers-color-scheme: dark) {
  .system-theme-light-logo,
  .system-theme-light-small-logo {
    display: none !important;
  }
  .campaign-text-color {
    color: #d1d1d1;
  }
}
@media (prefers-color-scheme: light) {
  .system-theme-dark-logo,
  .system-theme-dark-small-logo {
    display: none !important;
  }
  .campaign-text-color {
    color: #525f7f;
  }
}
.card-top-img {
  width: 200px;
}

.lw-mobile-app {
  text-align: left;
  white-space: pre-wrap;
  padding: 15px !important;
  min-height: 75vh !important;
  overflow: auto;
  height: auto;
}

@media (max-width: 768px) {
  .input-group {
    padding: 0;
  }
  .input-group * {
    width: auto;
    margin: 0;
    display: flex;
    line-height: 20px;
  }
  .input-group * .input-group-text {
    background-color: white;
    border: 1px solid #cad1d7;
  }
  .form-control {
    border: 1px solid #cad1d7 !important;
  }
  .selectize-control.lw-form-field.form-control.single {
    border: none !important;
  }
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active,
.active > .navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .active > .nav-link {
  background-color: rgba(16, 185, 129, 0.04) !important;
}

.card.lw-subscription-cards {
  border-radius: 12px !important;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
}
.card.lw-subscription-cards .card-header:first-child {
  border-radius: 12px;
  color: #1e293b;
}
.card.lw-subscription-cards:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04) !important;
}

.lw-position-block {
  position: absolute;
}
@media (max-width: 992px) {
  .lw-position-block {
    position: relative;
  }
}

.lw-top-spacing-block {
  margin-top: 2.8rem;
}
.lw-top-spacing-block button {
  padding: 15px 0;
}
@media (max-width: 992px) {
  .lw-top-spacing-block {
    margin-top: 1.5rem;
  }
}

@media (max-width: 500px) {
  .dataTables_wrapper .page-item .page-link {
    height: 33px;
    margin: 0 3px;
    padding: 6px;
  }
}
.campaign-text-color {
  color: #525f7f;
}

.lw-stripe-payment-list-container {
  max-height: 430px;
  overflow: auto;
}

.modal .modal-dialog {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 100%;
  margin: 0;
  padding: 0;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: white;
  border-radius: 0;
  box-shadow: -4px 0 25px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  will-change: transform;
  min-width: 100%;
  max-width: 100%;
}
@media (min-width: 576px) {
  .modal .modal-dialog {
    min-width: 400px;
    max-width: 90vw;
  }
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    min-width: 500px;
    max-width: 70vw;
  }
}
@media (min-width: 992px) {
  .modal .modal-dialog {
    min-width: 600px;
    max-width: 50vw;
  }
}
@media (min-width: 1200px) {
  .modal .modal-dialog {
    min-width: 600px;
    max-width: 40vw;
  }
}
.modal.show .modal-dialog {
  transform: translateX(0);
}
.modal.slide-out:not(.show) .modal-dialog {
  transform: translateX(100%);
}
.modal .modal-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  border: none;
  background: #ffffff;
}
.modal .modal-content .modal-header {
  border-bottom: 1px solid #e9ecef;
  padding: 1.25rem 1.5rem;
  background: #ffffff;
  align-items: center;
}
.modal .modal-content .modal-header .modal-title {
  font-weight: 600;
  font-size: 1.1rem;
  color: #1e293b;
  letter-spacing: -0.2px;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  outline: none !important;
  background: none !important;
  box-shadow: none !important;
}
/* Close button pill */
.modal .modal-content .modal-header .lw-modal-close-btn {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  font-size: 16px;
  color: #64748b;
  opacity: 1;
  padding: 0;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
}
.modal .modal-content .modal-header .lw-modal-close-btn:hover {
  background: #e2e8f0;
  color: #1e293b;
}
.modal .modal-content .modal-header .lw-modal-close-btn > span {
  font-size: 18px;
  line-height: 1;
}
.modal .modal-content .modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding-bottom: 100px !important;
  background: #f8fafc;
}
.modal .modal-footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 1;
  border-top: 1px solid #e9ecef;
  background: #ffffff;
  padding: 16px 24px;
}
.modal .modal-footer .btn {
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  padding: 8px 20px;
  transition: all 0.15s ease;
}
.modal .modal-footer .btn-secondary {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #475569;
}
.modal .modal-footer .btn-secondary:hover {
  background: #e2e8f0;
  color: #1e293b;
}

.modal-backdrop.show {
  opacity: 0.4;
  transition: none;
}

.modal.show .modal-dialog {
  transform: translateX(0);
}
.modal.slide-out .modal-dialog {
  transform: translateX(100%);
  transition: transform 0.4s ease-in-out;
}

html > body.modal-open {
  padding-right: 8px !important;
}
.main-content #navbar-main {
  position: fixed !important;
  margin-left: 70px !important;
  width: calc(100% - 70px) !important;
  padding-left: 0 !important;
}

[dir=rtl] #sidenav-collapse-main .navbar-nav {
  padding-right: 0px;
  margin-right: -20px;
}

.btn:not(.btn-block) {
  width: 100%;
  touch-action: manipulation;
}

/* Fix: Don't break layout in input groups */
.input-group .btn {
  width: auto;
  display: inline-block;
}

/* Responsive override: wider screens show inline buttons */
@media (min-width: 576px) {
  .btn:not(.btn-block) {
    display: inline-block;
    width: auto;
  }
}
/* Carousel Related Css here */
.lw-carousel-wrapper {
  position: relative;
  width: 100%; /* wrapper takes 68% width */
}

.lw-carousel-container {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 12px;
  padding: 10px;
}

.lw-carousel-card {
  flex: 0 0 105%; /* only one card fills wrapper */
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}

/* Replace image with icon container */
.lw-card-media {
  width: calc(100% - 20px); /* keep inset inside card */
  height: 180px;
  background: #ccd0d5;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px;
  border-radius: 12px;
  padding: 2px; /* <-- gap from all sides for the icon */
}

.lw-card-media i {
  font-size: 64px;
  color: white;
  max-width: 100%;
  max-height: 100%;
}

.lw-carousel-card-body {
  padding: 10px 12px;
  flex: 1;
}

.lw-card-desc {
  font-size: 13px;
  color: #3b4a54;
  line-height: 1.4;
  margin-bottom: 10px;
}

/* Hide scrollbar */
.lw-carousel-container::-webkit-scrollbar {
  display: none;
}

.lw-carousel-container {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Arrow buttons */
.lw-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(211, 211, 211, 0.4); /* 40% opacity */
  border: 2px solid rgba(211, 211, 211, 0.4);
  color: #333; /* dark text for contrast */
  border: none;
  font-size: 24px;
  padding: 0px 15px;
  cursor: pointer;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  z-index: 10;
  transition: background 0.2s;
  height: 40px;
  transition: all 0.3s ease;
  backdrop-filter: blur(4px); /* glass effect */
}

.lw-carousel-arrow:hover {
  background-color: rgba(211, 211, 211, 0.2); /* even more transparent */
  border-color: #000; /* black border */
  color: #000; /* make text black for stronger contrast */
}

.lw-carousel-arrow:focus {
  outline: none;
  box-shadow: none;
}

.lw-carousel-arrow::-moz-focus-inner {
  border: 0;
}

.lw-carousel-arrow.prev {
  left: -20px;
}

.lw-carousel-arrow.next {
  right: -20px;
}

@media (max-width: 600px) {
  .lw-carousel-arrow {
    display: none; /* hide arrows on mobile */
  }
}
/* Topbar Modern White — glass morphism */
.main-content .navbar-top.navbar-dark,
#navbar-main.navbar-dark,
#navbar-main {
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.5) !important;
  border-color: rgba(226, 232, 240, 0.5) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
  color: #1e293b !important;
}
.main-content .navbar-top.navbar-dark .navbar-brand,
#navbar-main.navbar-dark .navbar-brand,
#navbar-main .navbar-brand {
  color: #1e293b;
}
.main-content .navbar-top.navbar-dark .navbar-nav .nav-link,
#navbar-main.navbar-dark .navbar-nav .nav-link,
#navbar-main .navbar-nav .nav-link {
  color: #64748b !important;
}
.main-content .navbar-top.navbar-dark .navbar-nav .nav-link:hover,
#navbar-main.navbar-dark .navbar-nav .nav-link:hover,
#navbar-main .navbar-nav .nav-link:hover {
  color: #1e293b !important;
}
.main-content .navbar-top.navbar-dark .nav-link .ni,
#navbar-main.navbar-dark .nav-link .ni,
#navbar-main .nav-link .ni {
  color: #64748b;
}
.main-content .navbar-top.navbar-dark .navbar-search .form-control,
#navbar-main.navbar-dark .navbar-search .form-control,
#navbar-main .navbar-search .form-control {
  background-color: #f1f5f9;
  border: 1px solid #e2e8f0;
  color: #334155;
}

/* Card Header Modern */
.card-header {
  background-color: transparent;
  border-bottom: 1px solid #f1f5f9;
  padding: 1.25rem 1.5rem;
}

/* Table Modern */
.table thead th {
  border-bottom: 2px solid #e2e8f0;
  color: #64748b;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.875rem 1rem;
}
.table td {
  border-top: 1px solid #f1f5f9;
  padding: 0.875rem 1rem;
  color: #334155;
  font-size: 0.875rem;
}

/* Badge Modern */
.badge {
  font-weight: 600;
  font-size: 0.7rem;
  letter-spacing: 0.02em;
  padding: 0.35em 0.65em;
  border-radius: 6px;
}

.badge-primary,
.bg-primary {
  background-color: #059669 !important;
}

/* Stat Cards Modern */
.card.card-stats {
  border: 1px solid #e2e8f0;
}
.card.card-stats .card-body .card-title {
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.card.card-stats .card-body .h2 {
  color: #1e293b;
  font-weight: 700;
}
.card.card-stats .icon {
  border-radius: 10px;
}
.card.card-stats:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06);
}

/* Progress bar */
.progress {
  border-radius: 8px;
  height: 6px;
  background-color: #e2e8f0;
}

.progress-bar {
  background-color: #059669;
}

/* Alert Modern */
.alert {
  border-radius: 10px;
  border: none;
  font-size: 0.875rem;
}

/* Pagination */
.page-link {
  border-color: #e2e8f0;
  color: #64748b;
  font-size: 0.875rem;
}
.page-link:hover {
  background-color: #f1f5f9;
  border-color: #e2e8f0;
  color: #059669;
}

/* Breadcrumb */
.breadcrumb {
  background-color: transparent;
  padding: 0;
  margin-bottom: 0;
}
.breadcrumb .breadcrumb-item {
  font-size: 0.875rem;
}
.breadcrumb .breadcrumb-item a {
  color: #64748b;
}
.breadcrumb .breadcrumb-item a:hover {
  color: #059669;
}
.breadcrumb .breadcrumb-item.active {
  color: #1e293b;
  font-weight: 500;
}

/* Container padding fix */
.main-content .container-fluid {
  padding-top: 1.5rem;
}

/* Topbar brand text */
.lw-topbar-brand {
  color: #1e293b;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: -0.01em;
}

/* Topbar user menu avatar */
.avatar-sm {
  width: 32px;
  height: 32px;
  border-radius: 8px;
}

/* ============================================================
   NEW SIDEBAR COMPONENT — .new-sidebar
   Fully isolated, no dependency on old sidebar classes.
   All styles scoped under .new-sidebar to avoid conflicts.
   ============================================================ */
/* --- Base: fixed left sidebar --- */
.new-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 70px;
  background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  z-index: 1050;
  overflow-x: hidden;
  overflow-y: auto;
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}

/* Hover expand to 240px */
.new-sidebar:hover {
  width: 240px;
}

/* Inner wrapper */
.new-sidebar__inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  width: 240px;
}

/* Scrollbar */
.new-sidebar::-webkit-scrollbar {
  width: 4px;
}

.new-sidebar::-webkit-scrollbar-track {
  background: transparent;
}

.new-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

.new-sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* --- Brand / Logo area --- */
.new-sidebar__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 8px;
  flex-shrink: 0;
}

.new-sidebar__brand a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.new-sidebar__logo {
  max-height: 32px;
  object-fit: contain;
}

.new-sidebar__logo--full {
  display: none;
  max-width: 160px;
}

.new-sidebar__logo--icon {
  display: block;
}

.new-sidebar:hover .new-sidebar__logo--full {
  display: block;
}

.new-sidebar:hover .new-sidebar__logo--icon {
  display: none;
}

/* --- Navigation container --- */
.new-sidebar__nav {
  flex: 1;
  padding: 8px 8px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* --- Menu list reset --- */
.new-sidebar__menu,
.new-sidebar__submenu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* --- Menu item --- */
.new-sidebar__item {
  margin-bottom: 4px;
}

/* --- Link (menu item row) --- */
.new-sidebar__link {
  display: flex;
  align-items: center;
  height: 44px;
  padding: 0 12px;
  border-radius: 10px;
  color: #cbd5e1;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  border-left: 3px solid transparent;
  gap: 12px;
}

.new-sidebar__link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #e2e8f0;
  text-decoration: none;
  transform: scale(1.01);
}

/* --- Icon --- */
.new-sidebar__icon {
  font-size: 18px;
  width: 20px;
  min-width: 20px;
  text-align: center;
  line-height: 1;
  flex-shrink: 0;
  opacity: 0.6;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  color: inherit;
}

.new-sidebar__link:hover .new-sidebar__icon {
  opacity: 0.9;
}

/* --- Text label --- */
.new-sidebar__text {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.new-sidebar:hover .new-sidebar__text {
  opacity: 1;
}

/* --- Submenu arrow --- */
.new-sidebar__arrow {
  font-size: 10px;
  margin-left: auto;
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  color: rgba(255, 255, 255, 0.4);
}

.new-sidebar:hover .new-sidebar__arrow {
  opacity: 1;
}

.new-sidebar__item--has-sub > .new-sidebar__link[aria-expanded=true] .new-sidebar__arrow {
  transform: rotate(180deg);
}

/* --- Badge --- */
.new-sidebar__badge {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(16, 185, 129, 0.2);
  color: #6ee7b7;
  line-height: 1.2;
  margin-left: auto;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.new-sidebar:hover .new-sidebar__badge {
  opacity: 1;
}

/* --- Active state --- */
.new-sidebar__link--active {
  background: rgba(16, 185, 129, 0.18);
  border-left-color: #10b981;
  color: #ffffff;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.15);
}

.new-sidebar__link--active .new-sidebar__icon {
  opacity: 1;
  color: #34d399;
}

.new-sidebar__link--active:hover {
  background: rgba(16, 185, 129, 0.24);
  color: #ffffff;
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.2);
}

/* --- Warning state --- */
.new-sidebar__link--warning {
  color: #fbbf24;
}

.new-sidebar__warning-icon {
  color: #fbbf24;
  font-size: 12px;
  margin-left: 4px;
}

/* --- Submenu container --- */
.new-sidebar__submenu {
  overflow: hidden;
}

/* Hide submenus in collapsed mode */
.new-sidebar__submenu.show,
.new-sidebar__submenu.collapsing {
  display: none;
}

.new-sidebar:hover .new-sidebar__submenu.show {
  display: block;
}

.new-sidebar:hover .new-sidebar__submenu.collapsing {
  display: block;
}

/* --- Submenu list --- */
.new-sidebar__submenu-list {
  padding-left: 20px;
  padding-top: 2px;
  padding-bottom: 2px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  margin-left: 22px;
}

.new-sidebar__submenu-list .new-sidebar__link {
  height: 38px;
  font-size: 13px;
  border-left: none;
  padding: 0 10px;
  border-radius: 8px;
}

.new-sidebar__submenu-list .new-sidebar__icon {
  font-size: 14px;
  width: 16px;
  min-width: 16px;
  opacity: 0.5;
}

.new-sidebar__submenu-list .new-sidebar__text {
  font-size: 13px;
  font-weight: 400;
}

/* Submenu active */
.new-sidebar__submenu-list .new-sidebar__link--active {
  background: rgba(16, 185, 129, 0.12);
  border-left: none;
  color: #ffffff;
}

.new-sidebar__submenu-list .new-sidebar__link--active .new-sidebar__icon {
  opacity: 0.9;
  color: #34d399;
}

/* --- Main content offset for new sidebar --- */
.new-sidebar ~ .main-content {
  margin-left: 70px;
}

/* --- Mobile sidebar toggle button --- */
.new-sidebar-toggle {
  display: none; /* hidden on desktop */
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1060;
  width: 40px;
  height: 40px;
  border-radius: var(--ds-radius-sm);
  background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
  font-size: 16px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ds-shadow-md);
  transition: background var(--ds-transition), transform var(--ds-transition);
}
.new-sidebar-toggle:hover {
  background: #1e293b;
}
.new-sidebar-toggle:active {
  transform: scale(0.95);
}

/* --- Mobile backdrop overlay --- */
.new-sidebar-backdrop {
  display: none; /* hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1040;
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(2px);
}

.new-sidebar-backdrop--visible {
  opacity: 1;
}

/* --- Mobile: sidebar overlay behavior --- */
@media (max-width: 767.98px) {
  .new-sidebar-toggle {
    display: flex;
  }
  .new-sidebar-backdrop {
    display: block;
    pointer-events: none;
  }
  .new-sidebar-backdrop--visible {
    pointer-events: auto;
  }
  .new-sidebar {
    width: 0;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: none;
  }
  /* When open, show full-width sidebar as overlay */
  .new-sidebar--open {
    width: 240px;
    transform: translateX(0);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
  }
  /* Show text/arrows/badges immediately when open (no hover needed) */
  .new-sidebar--open .new-sidebar__text,
  .new-sidebar--open .new-sidebar__arrow,
  .new-sidebar--open .new-sidebar__badge {
    opacity: 1;
  }
  .new-sidebar--open .new-sidebar__logo--full {
    display: block;
  }
  .new-sidebar--open .new-sidebar__logo--icon {
    display: none;
  }
  .new-sidebar--open .new-sidebar__submenu.show {
    display: block;
  }
  .new-sidebar--open .new-sidebar__submenu.collapsing {
    display: block;
  }
  /* Reset content margin */
  .new-sidebar ~ .main-content {
    margin-left: 0;
  }
  /* Adjust top navbar for mobile toggle */
  .navbar-top {
    padding-left: 56px;
  }
}
/* ============================================
   Design System Tokens
   Unified visual language across all components
   ============================================ */
:root {
  /* Border Radius Scale */
  --ds-radius-sm: 8px; /* badges, tags, small elements */
  --ds-radius-md: 10px; /* buttons, inputs */
  --ds-radius-lg: 12px; /* cards, containers */
  --ds-radius-xl: 14px; /* large containers, modals */
  /* Shadow Scale — refined depth with subtle color tint */
  --ds-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  --ds-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.03);
  --ds-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.07), 0 2px 8px rgba(0, 0, 0, 0.03);
  --ds-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.04);
  /* Spacing Scale (8px base) */
  --ds-space-1: 8px;
  --ds-space-2: 16px;
  --ds-space-3: 24px;
  --ds-space-4: 32px;
  --ds-space-5: 40px;
  --ds-space-6: 48px;
  /* Transition — smooth premium easing */
  --ds-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --ds-transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  /* Typography */
  --ds-text-xs: 0.75rem; /* 12px */
  --ds-text-sm: 0.8125rem; /* 13px */
  --ds-text-base: 0.875rem; /* 14px */
  --ds-text-md: 0.9375rem; /* 15px */
  --ds-text-lg: 1.125rem; /* 18px */
  --ds-text-xl: 1.5rem; /* 24px */
  --ds-text-2xl: 2rem; /* 32px */
  /* Colors */
  --ds-accent: #0d9488;
  --ds-accent-dark: #0b7e72;
  --ds-accent-light: rgba(13, 148, 136, 0.08);
  --ds-text-primary: #0f172a;
  --ds-text-secondary: #1e293b;
  --ds-text-muted: #64748b;
  --ds-text-faint: #94a3b8;
  --ds-border: #e2e8f0;
  --ds-border-light: #f1f5f9;
  --ds-bg-subtle: #f8fafc;
  --ds-bg-glass: rgba(255, 255, 255, 0.7);
  /* Card Padding */
  --ds-card-padding: 24px;
}

/* ============================================
   Premium Global Background
   Subtle layered gradient for depth
   ============================================ */
.main-content {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 40%, #eef2f7 100%);
  min-height: 100vh;
}

/* ============================================
   Premium Dashboard Styles — Micro Polish
   Single accent: teal (#0d9488 / #14b8a6)
   Neutral palette: slate tones
   Focus: depth, emphasis, alive feel
   ============================================ */
/* --- Stat Cards --- */
.lw-stat-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.6);
  position: relative;
  overflow: hidden;
  transition: box-shadow var(--ds-transition), transform var(--ds-transition), border-color var(--ds-transition);
}
.lw-stat-card:hover {
  box-shadow: var(--ds-shadow-lg);
  transform: translateY(-3px);
  border-color: rgba(13, 148, 136, 0.15);
}
.lw-stat-card--secondary {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: var(--ds-shadow-sm);
  padding: var(--ds-card-padding);
}
.lw-stat-card--secondary:hover {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--ds-shadow-md);
  transform: translateY(-3px);
  border-color: rgba(13, 148, 136, 0.12);
}
.lw-stat-card--secondary .lw-stat-card__icon {
  width: 42px;
  height: 42px;
  font-size: 15px;
}
.lw-stat-card--secondary .lw-stat-card__value {
  font-size: 1.5rem;
}
.lw-stat-card--secondary .lw-stat-card__label {
  font-size: 10.5px;
}

.lw-stat-card__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--ds-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  flex-shrink: 0;
  background: var(--ds-accent-light);
  color: var(--ds-text-faint);
  transition: color var(--ds-transition), background var(--ds-transition);
  /* All icon variants use unified teal tint bg, muted icon color */
}
.lw-stat-card__icon--contacts, .lw-stat-card__icon--campaigns, .lw-stat-card__icon--messages, .lw-stat-card__icon--rate, .lw-stat-card__icon--groups, .lw-stat-card__icon--templates, .lw-stat-card__icon--bots, .lw-stat-card__icon--team {
  background: var(--ds-accent-light);
  color: var(--ds-text-faint);
}

/* Highlight icon on card hover */
.lw-stat-card:hover .lw-stat-card__icon {
  color: var(--ds-accent);
  background: rgba(13, 148, 136, 0.12);
}

.lw-stat-card__content {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0;
}

.lw-stat-card__label {
  font-size: var(--ds-text-xs);
  font-weight: 600;
  color: var(--ds-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.7px;
}

.lw-stat-card__value {
  font-size: var(--ds-text-2xl);
  font-weight: 800;
  color: var(--ds-text-primary);
  line-height: 1.1;
  letter-spacing: -0.5px;
}

.lw-stat-card__link {
  font-size: var(--ds-text-xs);
  font-weight: 500;
  color: var(--ds-text-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--ds-transition);
}
.lw-stat-card__link:hover {
  color: var(--ds-accent);
  text-decoration: none;
}
.lw-stat-card__link i {
  font-size: 10px;
  margin-left: 3px;
  transition: transform var(--ds-transition);
}
.lw-stat-card__link:hover i {
  transform: translateX(3px);
}

/* --- Section Headers --- */
.lw-section-header {
  margin-bottom: var(--ds-space-3);
  padding-bottom: var(--ds-space-2);
  border-bottom: 1px solid var(--ds-border-light);
}

.lw-section-title {
  font-size: var(--ds-text-md);
  font-weight: 700;
  color: var(--ds-text-secondary);
  margin: 0;
  letter-spacing: -0.3px;
}

/* --- Quick Action Cards (soft blocks, not gradient buttons) --- */
.lw-quick-actions {
  display: flex;
  gap: var(--ds-space-2);
  flex-wrap: wrap;
}

.lw-quick-action-btn {
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: var(--ds-space-2) 20px;
  border-radius: var(--ds-radius-lg);
  font-size: var(--ds-text-sm);
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: var(--ds-shadow-sm);
  transition: transform var(--ds-transition), box-shadow var(--ds-transition), border-color var(--ds-transition), background var(--ds-transition);
  flex: 1;
  min-width: 160px;
  max-width: 260px;
  cursor: pointer;
}
.lw-quick-action-btn:hover {
  transform: translateY(-3px);
  box-shadow: var(--ds-shadow-lg);
  border-color: rgba(13, 148, 136, 0.2);
  background: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  color: var(--ds-text-primary);
}
.lw-quick-action-btn:active {
  transform: translateY(-1px);
  box-shadow: var(--ds-shadow-md);
}
.lw-quick-action-btn {
  /* All variants use same neutral style — no color overload */
}
.lw-quick-action-btn--campaign, .lw-quick-action-btn--contact, .lw-quick-action-btn--automation, .lw-quick-action-btn--template {
  background: rgba(255, 255, 255, 0.8);
}

.lw-quick-action-btn__icon {
  width: 40px;
  height: 40px;
  background: var(--ds-accent-light);
  border-radius: var(--ds-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  color: var(--ds-text-faint);
  transition: color var(--ds-transition), background var(--ds-transition);
}

.lw-quick-action-btn:hover .lw-quick-action-btn__icon {
  color: var(--ds-accent);
  background: rgba(13, 148, 136, 0.12);
}

/* --- Activity Card (Getting Started) --- */
.lw-activity-card {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.5);
  transition: box-shadow var(--ds-transition);
}

.lw-getting-started {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lw-getting-started__step {
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: var(--ds-space-2) 0;
  border-bottom: 1px solid #edf2f7;
  transition: background 0.2s ease;
}
.lw-getting-started__step:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.lw-getting-started__step:first-child {
  padding-top: 0;
}

.lw-getting-started__number {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
  font-size: 13.5px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lw-getting-started__text {
  font-size: var(--ds-text-base);
  color: #475569;
  line-height: 1.5;
}
.lw-getting-started__text a {
  color: var(--ds-accent);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--ds-transition);
}
.lw-getting-started__text a:hover {
  color: #0f766e;
  text-decoration: underline;
}

/* --- Dashboard Spacing Overrides --- */
.lw-dashboard-stats {
  margin-bottom: var(--ds-space-1);
}

/* --- Dashboard responsive: tablet (4 → 2 columns) --- */
@media (max-width: 991.98px) {
  .lw-dashboard-stats .row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ds-space-2);
  }
  .lw-dashboard-stats .row > [class*=col-] {
    max-width: 100%;
    flex: none;
    padding: 0;
  }
}
/* --- Dashboard responsive: mobile (2 → 1 column) --- */
@media (max-width: 767.98px) {
  .lw-dashboard-stats .row {
    grid-template-columns: 1fr;
  }
  .lw-quick-actions {
    flex-direction: column;
  }
  .lw-quick-action-btn {
    max-width: 100%;
  }
  .lw-stat-card {
    padding: var(--ds-space-2) 20px;
  }
  .lw-stat-card__value {
    font-size: 1.625rem;
  }
  .lw-stat-card__icon {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  /* Getting started section */
  .lw-getting-started__step {
    gap: var(--ds-space-1);
    padding: 12px 0;
  }
}
/* --- Dashboard responsive: small mobile --- */
@media (max-width: 479.98px) {
  .lw-stat-card {
    padding: 14px 16px;
  }
  .lw-stat-card__value {
    font-size: 1.375rem;
  }
  .lw-stat-card__label {
    font-size: 10px;
  }
  .lw-quick-action-btn {
    padding: 12px 16px;
    font-size: 13px;
  }
}
/* ============================================
   Campaign List — Modern SaaS Style
   Consistent with dashboard design system
   Scoped under .campaign-page for specificity
   ============================================ */
/* --- Step 1: Container width (reduced outer space) --- */
.campaign-page .lw-campaign-page-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 24px 0 24px !important;
}

/* --- Step 2: Page Header (title + subtitle + create button) — tighter --- */
.campaign-page .lw-campaign-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 12px;
  margin-bottom: 16px;
}
.campaign-page .lw-campaign-page-header__left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.campaign-page .lw-campaign-page-header__title {
  font-size: 22px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0;
}
.campaign-page .lw-campaign-page-header__subtitle {
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  margin: 0;
}

/* --- Tab Bar — tighter gap to table --- */
.campaign-page .lw-campaign-tab-bar {
  margin-bottom: 14px;
}

.campaign-page .lw-campaign-tabs {
  display: inline-flex;
  list-style: none;
  margin: 0;
  padding: 4px;
  gap: 4px;
  background: #f1f5f9;
  border-radius: var(--ds-radius-md);
}

.campaign-page .lw-campaign-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: var(--ds-text-sm);
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  transition: all var(--ds-transition);
}
.campaign-page .lw-campaign-tab i {
  font-size: 12px;
}
.campaign-page .lw-campaign-tab:hover {
  color: #334155;
  background: rgba(255, 255, 255, 0.6);
  text-decoration: none;
}
.campaign-page .lw-campaign-tab--active {
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.campaign-page .lw-campaign-tab--active:hover {
  background: #ffffff;
  color: #0f172a;
}

.campaign-page .lw-campaign-create-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
  padding: 10px 22px;
  border-radius: var(--ds-radius-md);
  font-size: var(--ds-text-sm);
  font-weight: 600;
  color: #ffffff;
  background: var(--ds-accent);
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all var(--ds-transition);
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.3);
}
.campaign-page .lw-campaign-create-btn i {
  font-size: 12px;
}
.campaign-page .lw-campaign-create-btn:hover {
  background: var(--ds-accent-dark);
  transform: translateY(-1px);
  box-shadow: var(--ds-shadow-md);
  text-decoration: none;
  color: #ffffff;
}
.campaign-page .lw-campaign-create-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.3);
}

/* --- Step 3: Campaign Table Card (strong card wrapper + inner padding) --- */
.campaign-page .lw-campaign-table-wrap .lw-campaign-datatable-card {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden;
  background: #ffffff;
  transition: box-shadow var(--ds-transition);
}
.campaign-page .lw-campaign-table-wrap .lw-campaign-datatable-card .card-body {
  padding: 20px;
}

/* --- Step 4: Table Styling (improved rows, cells, hover) --- */
.campaign-page .lw-campaign-datatable-card .table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  width: 100% !important;
}
.campaign-page .lw-campaign-datatable-card .table thead th {
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  border-top: none;
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  vertical-align: middle;
}
.campaign-page .lw-campaign-datatable-card .table tbody td {
  padding: 18px 20px !important;
  font-size: var(--ds-text-sm);
  color: #334155;
  border-bottom: 1px solid #f0f0f4 !important;
  vertical-align: middle;
  transition: background 0.2s ease;
  height: 72px !important;
  max-height: 72px;
  overflow: visible;
  box-sizing: border-box;
}
.campaign-page .lw-campaign-datatable-card .table tbody tr {
  transition: background 0.2s ease;
  cursor: pointer;
}
.campaign-page .lw-campaign-datatable-card .table tbody tr:hover td {
  background: #f8fffe;
}
.campaign-page .lw-campaign-datatable-card .table tbody tr:last-child td {
  border-bottom: none;
}
.campaign-page .lw-campaign-datatable-card .table.table-striped tbody tr:nth-of-type(odd) {
  background-color: transparent;
}

/* --- Campaign Info (title + badge + meta) --- */
.campaign-page .lw-campaign-info {
  min-width: 240px;
}

.campaign-page .lw-campaign-info__top {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.campaign-page .lw-campaign-info__title {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.campaign-page .lw-campaign-info__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.campaign-page .lw-campaign-info__template,
.campaign-page .lw-campaign-info__date {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
}
.campaign-page .lw-campaign-info__template i,
.campaign-page .lw-campaign-info__date i {
  font-size: 10px;
  color: #94a3b8;
}

/* --- Step 5: Campaign Metrics (compact inline badges) --- */
.campaign-page .lw-campaign-metrics {
  display: flex;
  align-items: center;
  gap: 10px;
}

.campaign-page .lw-campaign-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 58px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #f1f5f9;
  transition: all var(--ds-transition);
}
.campaign-page .lw-campaign-metric__value {
  font-size: 16px;
  font-weight: 700;
  color: #334155;
  line-height: 1.2;
}
.campaign-page .lw-campaign-metric__label {
  font-size: 10px;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 2px;
}
.campaign-page .lw-campaign-metric--sent {
  background: rgba(59, 130, 246, 0.06);
  border-color: rgba(59, 130, 246, 0.12);
}
.campaign-page .lw-campaign-metric--sent .lw-campaign-metric__value {
  color: #2563eb;
}
.campaign-page .lw-campaign-metric--failed {
  background: rgba(239, 68, 68, 0.06);
  border-color: rgba(239, 68, 68, 0.12);
}
.campaign-page .lw-campaign-metric--failed .lw-campaign-metric__value {
  color: #dc2626;
}

/* --- Status-based row background tinting --- */
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--sending td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--paused td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--completed td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--stopped td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--pending td {
  background: transparent;
}
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--sending:hover td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--paused:hover td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--completed:hover td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--stopped:hover td,
.campaign-page .lw-campaign-datatable-card .table tbody tr.lw-row--pending:hover td {
  background: #f8fffe;
}

/* --- Campaign Status Badges --- */
.campaign-page .lw-campaign-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2px;
  white-space: nowrap;
}
.campaign-page .lw-campaign-badge i {
  font-size: 9px;
}
.campaign-page .lw-campaign-badge--completed {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
.campaign-page .lw-campaign-badge--sending {
  background: rgba(59, 130, 246, 0.1);
  color: #2563eb;
}
.campaign-page .lw-campaign-badge--paused {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
}
.campaign-page .lw-campaign-badge--stopped {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
.campaign-page .lw-campaign-badge--pending {
  background: #eef2ff;
  color: #6366f1;
}
.campaign-page .lw-campaign-badge--default {
  background: rgba(100, 116, 139, 0.1);
  color: #64748b;
}

/* --- Step 6: Campaign Action Buttons (improved spacing + hover) --- */
.campaign-page .lw-campaign-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

.campaign-page .lw-campaign-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  font-size: var(--ds-text-sm);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  position: relative;
  background: #f8fafc;
}
.campaign-page .lw-campaign-action-btn:hover {
  text-decoration: none;
  transform: scale(1.08);
  background: #eef2f7;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.campaign-page .lw-campaign-action-btn:active {
  transform: scale(1);
}
.campaign-page .lw-campaign-action-btn[title]:hover::after {
  content: attr(title);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 10px;
  border-radius: 6px;
  background: #0f172a;
  color: #ffffff;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.campaign-page .lw-campaign-action-btn[title]:hover::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: #0f172a;
  pointer-events: none;
  z-index: 10;
}
.campaign-page .lw-campaign-action-btn--dashboard {
  color: #334155;
  border-color: #e2e8f0;
  background: #f1f5f9;
}
.campaign-page .lw-campaign-action-btn--dashboard:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.campaign-page .lw-campaign-action-btn--pause {
  color: #d97706;
  border-color: rgba(245, 158, 11, 0.2);
}
.campaign-page .lw-campaign-action-btn--pause:hover {
  background: rgba(245, 158, 11, 0.08);
  color: #b45309;
}
.campaign-page .lw-campaign-action-btn--resume {
  color: #059669;
  border-color: rgba(16, 185, 129, 0.2);
}
.campaign-page .lw-campaign-action-btn--resume:hover {
  background: rgba(16, 185, 129, 0.08);
  color: #047857;
}
.campaign-page .lw-campaign-action-btn--stop {
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.2);
}
.campaign-page .lw-campaign-action-btn--stop:hover {
  background: rgba(239, 68, 68, 0.08);
  color: #b91c1c;
}
.campaign-page .lw-campaign-action-btn--delete {
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.2);
}
.campaign-page .lw-campaign-action-btn--delete:hover {
  background: rgba(239, 68, 68, 0.08);
  color: #b91c1c;
}
.campaign-page .lw-campaign-action-btn--archive {
  color: #64748b;
  border-color: #e2e8f0;
}
.campaign-page .lw-campaign-action-btn--archive:hover {
  background: rgba(100, 116, 139, 0.08);
  color: #475569;
}
.campaign-page .lw-campaign-action-btn--unarchive {
  color: #3b82f6;
  border-color: rgba(59, 130, 246, 0.2);
}
.campaign-page .lw-campaign-action-btn--unarchive:hover {
  background: rgba(59, 130, 246, 0.08);
  color: #2563eb;
}

/* --- Step 7 & 8: DataTables Overrides (tighter spacing + pagination) --- */
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper {
  padding: 0;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_length,
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_filter {
  padding: 12px 20px 8px;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_length label {
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_length select {
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  padding: 4px 8px;
  font-size: 13px;
  color: #334155;
  background: #f8fafc;
  transition: border-color 0.2s ease;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_length select:focus {
  border-color: #0d9488;
  outline: none;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_filter input {
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  padding: 8px 14px;
  font-size: 13px;
  color: #334155;
  background: #f8fafc;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_filter input:focus {
  border-color: #0d9488;
  outline: none;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
  background: #ffffff;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_info {
  padding: 8px 20px;
  font-size: 12.5px;
  color: #94a3b8;
}
/* Step 8: Pagination — right-aligned with spacing */
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate {
  padding: 10px 20px 12px;
  text-align: right;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 8px;
  font-size: 13px;
  padding: 6px 12px;
  margin: 0 2px;
  border: 1px solid transparent;
  color: #64748b;
  transition: all 0.15s ease;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #0f172a;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: #0d9488;
  border-color: #0d9488;
  color: #ffffff;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: #0f766e;
  border-color: #0f766e;
  color: #ffffff;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  color: #cbd5e1;
  cursor: not-allowed;
}
.campaign-page .lw-campaign-datatable-card .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  background: transparent;
  border-color: transparent;
}
.campaign-page .lw-campaign-datatable-card .table tbody td.dataTables_empty {
  padding: 80px 20px;
  text-align: center;
  color: #94a3b8;
  font-size: 14px;
  font-weight: 500;
  background: #fafbfc;
  cursor: default;
}

/* --- Campaign List Responsive --- */
@media (max-width: 991.98px) {
  .campaign-page .lw-campaign-metrics {
    gap: 4px;
  }
  .campaign-page .lw-campaign-metric {
    min-width: 48px;
    padding: 6px 8px;
  }
  .campaign-page .lw-campaign-metric__value {
    font-size: 13px;
  }
  .campaign-page .lw-campaign-metric__label {
    font-size: 9px;
  }
  .campaign-page .lw-campaign-info__top {
    gap: 6px;
    margin-bottom: 6px;
  }
  .campaign-page .lw-campaign-info__title {
    font-size: 13.5px;
  }
  .campaign-page .lw-campaign-info__meta {
    gap: 10px;
  }
  /* Enable horizontal scroll on campaign table */
  .campaign-page .lw-campaign-datatable-card {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .campaign-page .lw-campaign-datatable-card .table {
    min-width: 700px;
  }
}
@media (max-width: 767.98px) {
  .campaign-page .lw-campaign-page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .campaign-page .lw-campaign-tabs {
    width: 100%;
    justify-content: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .campaign-page .lw-campaign-tab {
    white-space: nowrap;
    font-size: 12px;
    padding: 7px 12px;
  }
  .campaign-page .lw-campaign-create-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .campaign-page .lw-campaign-datatable-card {
    border-radius: var(--ds-radius-sm);
    padding: 12px;
  }
  .campaign-page .lw-campaign-datatable-card .table {
    min-width: 600px;
  }
  .campaign-page .lw-campaign-datatable-card .table thead th {
    padding: 10px 14px;
    font-size: 10px;
  }
  .campaign-page .lw-campaign-datatable-card .table tbody td {
    padding: 14px;
    font-size: 12.5px;
  }
  .campaign-page .lw-campaign-info {
    min-width: unset;
  }
  .campaign-page .lw-campaign-info__meta {
    flex-direction: column;
    gap: 4px;
  }
  .campaign-page .lw-campaign-metrics {
    flex-direction: column;
    gap: 4px;
  }
  .campaign-page .lw-campaign-metric {
    flex-direction: row;
    gap: 6px;
    min-width: unset;
    width: 100%;
    padding: 6px 10px;
  }
  .campaign-page .lw-campaign-metric__label {
    margin-top: 0;
  }
  .campaign-page .lw-campaign-action-btn {
    width: 32px;
    height: 32px;
    font-size: 11px;
  }
  .campaign-page .lw-campaign-badge {
    padding: 3px 8px;
    font-size: 10.5px;
  }
}

[class*="lw-campaign-window-"] {
  margin-top: 0 !important;
  padding-top: 10px !important;
}

.lw-cd-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.5);
  gap: var(--ds-space-2);
  flex-wrap: wrap;
  transition: box-shadow var(--ds-transition);
}
.lw-cd-header__left {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1;
  min-width: 0;
}
.lw-cd-header__info {
  flex: 1;
  min-width: 0;
}
.lw-cd-header__title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.lw-cd-header__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.lw-cd-header__subtitle {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.lw-cd-header__meta {
  font-size: 0.8rem;
  color: #94a3b8;
  font-weight: 500;
}
.lw-cd-header__meta i {
  margin-right: 5px;
  font-size: 0.75rem;
}
.lw-cd-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.lw-cd-back-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--ds-radius-sm);
  background: var(--ds-border-light);
  color: var(--ds-text-muted);
  font-size: 0.85rem;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background var(--ds-transition), color var(--ds-transition);
  text-decoration: none;
}
.lw-cd-back-link:hover {
  background: #e2e8f0;
  color: #334155;
  text-decoration: none;
}

.lw-cd-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: var(--ds-radius-sm);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}
.lw-cd-badge i {
  font-size: 0.6rem;
}
.lw-cd-badge--pending {
  background: rgba(234, 179, 8, 0.1);
  color: #a16207;
}
.lw-cd-badge--sending {
  background: rgba(59, 130, 246, 0.1);
  color: #1d4ed8;
}
.lw-cd-badge--pulse {
  animation: lw-cd-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.lw-cd-badge--paused {
  background: rgba(249, 115, 22, 0.1);
  color: #c2410c;
}
.lw-cd-badge--stopped {
  background: rgba(239, 68, 68, 0.1);
  color: #b91c1c;
}
.lw-cd-badge--completed {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}
.lw-cd-badge--archived {
  background: rgba(100, 116, 139, 0.1);
  color: #475569;
}

.lw-cd-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--ds-space-1) 14px;
  border-radius: var(--ds-radius-sm);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all var(--ds-transition);
  white-space: nowrap;
  line-height: 1.4;
}
.lw-cd-action-btn i {
  font-size: 0.7rem;
}
.lw-cd-action-btn--resume {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}
.lw-cd-action-btn--resume:hover {
  background: rgba(13, 148, 136, 0.18);
  color: #0d9488;
  text-decoration: none;
}
.lw-cd-action-btn--pause {
  background: rgba(249, 115, 22, 0.1);
  color: #c2410c;
}
.lw-cd-action-btn--pause:hover {
  background: rgba(249, 115, 22, 0.18);
  color: #c2410c;
  text-decoration: none;
}
.lw-cd-action-btn--stop {
  background: rgba(239, 68, 68, 0.1);
  color: #b91c1c;
}
.lw-cd-action-btn--stop:hover {
  background: rgba(239, 68, 68, 0.18);
  color: #b91c1c;
  text-decoration: none;
}
.lw-cd-action-btn--warning {
  background: rgba(234, 179, 8, 0.1);
  color: #a16207;
}
.lw-cd-action-btn--warning:hover {
  background: rgba(234, 179, 8, 0.18);
  color: #a16207;
  text-decoration: none;
}
.lw-cd-action-btn--secondary {
  background: #f1f5f9;
  color: #475569;
}
.lw-cd-action-btn--secondary:hover {
  background: #e2e8f0;
  color: #334155;
  text-decoration: none;
}
.lw-cd-action-btn--primary {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}
.lw-cd-action-btn--primary:hover {
  background: rgba(13, 148, 136, 0.18);
  color: #0d9488;
  text-decoration: none;
}

.lw-cd-header-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
  padding: 10px var(--ds-space-2);
  border-radius: var(--ds-radius-sm);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all var(--ds-transition);
  white-space: nowrap;
  line-height: 1.4;
}
.lw-cd-header-btn i {
  font-size: 0.75rem;
}
.lw-cd-header-btn--pause {
  background: #f97316;
  color: #fff;
  box-shadow: 0 2px 6px rgba(249, 115, 22, 0.3);
}
.lw-cd-header-btn--pause:hover {
  background: #ea580c;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(249, 115, 22, 0.35);
}
.lw-cd-header-btn--stop {
  background: #ef4444;
  color: #fff;
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.3);
}
.lw-cd-header-btn--stop:hover {
  background: #dc2626;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(239, 68, 68, 0.35);
}

.lw-cd-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--ds-space-2);
}

.lw-cd-stat-card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-2);
  position: relative;
  transition: box-shadow var(--ds-transition), transform var(--ds-transition), border-color var(--ds-transition);
}
.lw-cd-stat-card:hover {
  box-shadow: var(--ds-shadow-md);
  transform: translateY(-2px);
  border-color: rgba(13, 148, 136, 0.12);
}
.lw-cd-stat-card__icon {
  width: 40px;
  height: 40px;
  border-radius: var(--ds-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.lw-cd-stat-card__icon--contacts {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}
.lw-cd-stat-card__icon--sent {
  background: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
}
.lw-cd-stat-card__icon--delivered {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}
.lw-cd-stat-card__icon--failed {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
.lw-cd-stat-card__body {
  flex: 1;
  min-width: 0;
}
.lw-cd-stat-card__value {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.lw-cd-stat-card__label {
  display: block;
  font-size: 0.75rem;
  color: #94a3b8;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 2px;
}
.lw-cd-stat-card__percent {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 500;
  margin-top: 2px;
}
.lw-cd-stat-card:nth-child(2), .lw-cd-stat-card:nth-child(3) {
  border-color: rgba(13, 148, 136, 0.12);
}
.lw-cd-stat-card__action {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: none;
  background: #f8fafc;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.7rem;
  opacity: 0;
  transition: opacity 0.15s ease, background 0.15s ease;
}
.lw-cd-stat-card__action:hover {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}
.lw-cd-stat-card__action:disabled {
  cursor: not-allowed;
  opacity: 0 !important;
}
.lw-cd-stat-card:hover .lw-cd-stat-card__action {
  opacity: 1;
}

.lw-cd-progress-card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.5);
  transition: box-shadow var(--ds-transition);
}
.lw-cd-progress-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.lw-cd-progress-card__title {
  font-size: 0.95rem;
  font-weight: 650;
  color: #1e293b;
  margin: 0;
}
.lw-cd-progress-card__status {
  font-size: 0.78rem;
  font-weight: 600;
  color: #0d9488;
  background: rgba(13, 148, 136, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
}
.lw-cd-progress-card__desc {
  font-size: 0.85rem;
  color: #64748b;
  margin: 0 0 16px 0;
  line-height: 1.5;
}
.lw-cd-progress-card__desc strong {
  color: #334155;
}
.lw-cd-progress-card__queue-count {
  display: inline-block;
  font-weight: 700;
  color: #1d4ed8;
  background: rgba(59, 130, 246, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.88rem;
}

.lw-cd-progress-bar {
  margin-bottom: 14px;
}
.lw-cd-progress-bar__track {
  height: 10px;
  background: #f1f5f9;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
}
.lw-cd-progress-bar__fill {
  height: 100%;
  border-radius: 5px;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cd-progress-bar__fill--delivered {
  background: #0d9488;
}
.lw-cd-progress-bar__fill--sent {
  background: #3b82f6;
}
.lw-cd-progress-bar__fill--failed {
  background: #ef4444;
}

.lw-cd-progress-legend {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.lw-cd-progress-legend__item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 500;
}
.lw-cd-progress-legend__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.lw-cd-progress-legend__dot--delivered {
  background: #0d9488;
}
.lw-cd-progress-legend__dot--sent {
  background: #3b82f6;
}
.lw-cd-progress-legend__dot--failed {
  background: #ef4444;
}
.lw-cd-progress-legend__dot--queue {
  background: #f59e0b;
}

.lw-cd-info-card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.5);
  height: 100%;
  transition: box-shadow var(--ds-transition);
}
.lw-cd-info-card__title {
  font-size: 0.95rem;
  font-weight: 650;
  color: #1e293b;
  margin: 0 0 18px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #f1f5f9;
}

.lw-cd-info-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #f8fafc;
}
.lw-cd-info-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.lw-cd-info-item:first-child {
  padding-top: 0;
}
.lw-cd-info-item__label {
  font-size: 0.8rem;
  color: #94a3b8;
  font-weight: 500;
  white-space: nowrap;
  min-width: 100px;
}
.lw-cd-info-item__label i {
  margin-right: 6px;
  font-size: 0.75rem;
  width: 14px;
  text-align: center;
}
.lw-cd-info-item__value {
  font-size: 0.82rem;
  color: #334155;
  font-weight: 500;
  text-align: right;
}
.lw-cd-info-item__value--danger {
  color: #dc2626;
}
.lw-cd-info-item__countdown {
  display: inline-block;
  margin-left: 6px;
  font-size: 0.72rem;
  color: #f59e0b;
  font-weight: 600;
  background: rgba(245, 158, 11, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
}
.lw-cd-info-item__group {
  display: inline-block;
  background: rgba(13, 148, 136, 0.08);
  color: #0d9488;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  margin: 1px 2px;
}

.lw-cd-secondary-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.lw-cd-secondary-stat {
  background: transparent;
  border-radius: var(--ds-radius-sm);
  padding: var(--ds-space-2);
  border: 1px solid var(--ds-border-light);
  transition: background var(--ds-transition);
}
.lw-cd-secondary-stat:hover {
  background: #f8fafc;
}
.lw-cd-secondary-stat__header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.lw-cd-secondary-stat__header i {
  font-size: 0.8rem;
}
.lw-cd-secondary-stat__label {
  font-size: 0.72rem;
  color: #94a3b8;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.lw-cd-secondary-stat__value {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.2;
}
.lw-cd-secondary-stat__percent {
  display: inline-block;
  font-size: 0.7rem;
  color: #64748b;
  margin-top: 2px;
}
.lw-cd-secondary-stat__action {
  display: inline-block;
  margin-top: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #0d9488;
  background: rgba(13, 148, 136, 0.08);
  padding: 3px 8px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
.lw-cd-secondary-stat__action:hover {
  background: rgba(13, 148, 136, 0.15);
}
.lw-cd-secondary-stat__action:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.lw-cd-icon--delivered {
  color: #16a34a;
}
.lw-cd-icon--queue {
  color: #f59e0b;
}
.lw-cd-icon--expired {
  color: #ef4444;
}
.lw-cd-icon--accepted {
  color: #8b5cf6;
}

.lw-cd-activity-card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.5);
  overflow: hidden;
  transition: box-shadow var(--ds-transition);
}
.lw-cd-activity-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid #f1f5f9;
  gap: 12px;
  flex-wrap: wrap;
}
.lw-cd-activity-card__title {
  font-size: 0.95rem;
  font-weight: 650;
  color: #1e293b;
  margin: 0;
  white-space: nowrap;
}
.lw-cd-activity-card__tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--ds-bg-subtle);
  border-radius: var(--ds-radius-sm);
  padding: 3px;
}
.lw-cd-activity-card__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.lw-cd-activity-card__body {
  padding: 0;
}

.lw-cd-activity-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ds-text-muted);
  text-decoration: none;
  transition: all var(--ds-transition);
  white-space: nowrap;
}
.lw-cd-activity-tab i {
  font-size: 0.72rem;
}
.lw-cd-activity-tab:hover {
  color: #334155;
  background: rgba(0, 0, 0, 0.04);
  text-decoration: none;
}
.lw-cd-activity-tab--active {
  background: #fff;
  color: #0d9488;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.lw-cd-activity-tab--active:hover {
  background: #fff;
  color: #0d9488;
}

@keyframes lw-cd-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
@media (max-width: 1199px) {
  .lw-cd-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .lw-cd-header {
    padding: var(--ds-space-2);
  }
  .lw-cd-header__left {
    gap: var(--ds-space-1);
  }
  .lw-cd-header__title {
    font-size: 1.1rem;
  }
  .lw-cd-header__subtitle {
    flex-direction: column;
    gap: 4px;
  }
  .lw-cd-header__actions {
    width: 100%;
    justify-content: flex-start;
  }
  .lw-cd-header-btn {
    flex: 1;
    justify-content: center;
    padding: var(--ds-space-1) 14px;
  }
  .lw-cd-stats {
    grid-template-columns: 1fr;
  }
  .lw-cd-stat-card {
    padding: var(--ds-space-2);
  }
  .lw-cd-stat-card__action {
    opacity: 1;
  }
  .lw-cd-progress-card {
    padding: var(--ds-space-2);
  }
  .lw-cd-progress-legend {
    flex-direction: column;
    gap: var(--ds-space-1);
  }
  .lw-cd-info-card {
    padding: var(--ds-space-2);
  }
  .lw-cd-secondary-stats {
    grid-template-columns: 1fr;
  }
  .lw-cd-activity-card__header {
    flex-direction: column;
    align-items: flex-start;
    padding: 14px var(--ds-space-2);
  }
  .lw-cd-activity-card__tabs {
    width: 100%;
  }
  .lw-cd-activity-card__actions {
    width: 100%;
  }
  .lw-cd-activity-tab {
    flex: 1;
    justify-content: center;
  }
  .lw-cd-action-btn {
    font-size: 0.72rem;
    padding: 6px 10px;
  }
}
@media (max-width: 479.98px) {
  .lw-cd-header {
    padding: 14px;
  }
  .lw-cd-header-btn {
    font-size: 0.75rem;
    padding: 6px 10px;
  }
  .lw-cd-stat-card {
    padding: 14px;
  }
  .lw-cd-stat-card__icon {
    width: 34px;
    height: 34px;
  }
}
.lw-cw-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 36px;
  margin-bottom: 28px;
  gap: 16px;
}

.lw-cw-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: #334155;
  text-decoration: none;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cw-back i {
  font-size: 0.75rem;
  color: #94a3b8;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cw-back:hover {
  color: #0d9488;
  border-color: #99f6e4;
  background: #f0fdfa;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.1);
}
.lw-cw-back:hover i {
  color: #0d9488;
  transform: translateX(-2px);
}

.lw-cw-sync {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  color: #64748b;
  text-decoration: none;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cw-sync:hover {
  color: #0d9488;
  border-color: #99f6e4;
  background: #f0fdfa;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.1);
}

.lw-cw {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-md);
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: var(--ds-space-5);
  max-width: 740px;
  margin: 0 auto;
}

.lw-cw__steps {
  display: flex;
  gap: var(--ds-space-1);
  margin-bottom: var(--ds-space-6);
  justify-content: space-between;
  padding: 0 4px;
}

.lw-cw__step {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  position: relative;
}

.lw-cw__step-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ds-bg-subtle);
  border: 2px solid var(--ds-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--ds-text-faint);
  flex-shrink: 0;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.lw-cw__step--active .lw-cw__step-num {
  background: var(--ds-accent);
  border-color: var(--ds-accent);
  color: #fff;
  box-shadow: 0 3px 12px rgba(13, 148, 136, 0.3);
  transform: scale(1.05);
}

.lw-cw__step--done .lw-cw__step-num {
  background: var(--ds-accent);
  border-color: var(--ds-accent);
  color: #fff;
  opacity: 0.85;
}

.lw-cw__step-label {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ds-text-faint);
  white-space: nowrap;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: 0.01em;
}

.lw-cw__step--active .lw-cw__step-label {
  color: var(--ds-accent);
  font-weight: 700;
}

.lw-cw__step--done .lw-cw__step-label {
  color: var(--ds-accent);
  opacity: 0.8;
}

.lw-cw__step-line {
  flex: 1;
  height: 2px;
  background: var(--ds-border);
  margin: 0 6px;
  min-width: 16px;
  border-radius: 1px;
  position: relative;
  overflow: hidden;
  transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.lw-cw__step--done .lw-cw__step-line {
  background: var(--ds-accent);
}

.lw-cw__body {
  min-height: 300px;
  margin-bottom: 36px;
}

.lw-cw__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
}

.lw-cw__desc {
  font-size: 0.95rem;
  color: #64748b;
  margin: 0 0 32px 0;
  line-height: 1.5;
}

.lw-cw__field-group {
  margin-bottom: 28px;
}

.lw-cw__label {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 10px;
  letter-spacing: 0.01em;
}

.lw-cw input[type=text],
.lw-cw input[type=datetime-local],
.lw-cw select,
.lw-cw textarea {
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 0.95rem;
  color: #1e293b;
  background: #fff;
  width: 100%;
  transition: border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  min-height: 48px;
}
.lw-cw input[type=text]::placeholder,
.lw-cw input[type=datetime-local]::placeholder,
.lw-cw select::placeholder,
.lw-cw textarea::placeholder {
  color: #94a3b8;
}
.lw-cw input[type=text]:focus,
.lw-cw input[type=datetime-local]:focus,
.lw-cw select:focus,
.lw-cw textarea:focus {
  border-color: #0d9488;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
}

.lw-cw select {
  appearance: auto;
  cursor: pointer;
}

.lw-cw__template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 14px;
}

.lw-cw__template-card {
  padding: var(--ds-space-2);
  border: 1.5px solid var(--ds-border);
  border-radius: var(--ds-radius-lg);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  background: #fff;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
}
.lw-cw__template-card:hover {
  border-color: #99d5cf;
  background: #f7fffe;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.08);
}

.lw-cw__template-card--selected {
  border-color: #0d9488 !important;
  background: #f0fdf9 !important;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.12), 0 2px 8px rgba(13, 148, 136, 0.08);
  transform: translateY(-1px);
}

.lw-cw__template-card-icon {
  color: #94a3b8;
  font-size: 1.1rem;
  margin-top: 2px;
  flex-shrink: 0;
  transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cw__template-card--selected .lw-cw__template-card-icon {
  color: #0d9488;
}

.lw-cw__template-card-body {
  flex: 1;
  min-width: 0;
}

.lw-cw__template-card-name {
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 6px;
  font-size: 0.875rem;
  word-break: break-word;
  line-height: 1.4;
}

.lw-cw__template-card-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.lw-cw__template-tag {
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 5px;
  background: #f1f5f9;
  color: #64748b;
  font-weight: 500;
}

.lw-cw__template-tag--cat {
  background: #ecfdf5;
  color: #047857;
}

.lw-cw__template-card-check {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #0d9488;
  font-size: 1.1rem;
  filter: drop-shadow(0 1px 2px rgba(13, 148, 136, 0.3));
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.lw-cw__template-card--selected .lw-cw__template-card-check {
  transform: scale(1.1);
}

.lw-cw__template-config {
  margin-top: var(--ds-space-4);
  padding: var(--ds-card-padding);
  background: var(--ds-bg-subtle);
  border-radius: var(--ds-radius-lg);
  border: 1px solid var(--ds-border);
}
.lw-cw__template-config .lw-position-block {
  position: relative;
}

.lw-cw__config-title {
  font-size: 1rem;
  font-weight: 600;
  color: #475569;
  margin: 0 0 16px 0;
}

.lw-cw__schedule-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 28px;
}

.lw-cw__schedule-card {
  padding: var(--ds-card-padding) 20px;
  border: 1.5px solid var(--ds-border);
  border-radius: var(--ds-radius-lg);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
}
.lw-cw__schedule-card:hover {
  border-color: #99d5cf;
  background: #f7fffe;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.08);
}

.lw-cw__schedule-card--selected {
  border-color: #0d9488 !important;
  background: #f0fdf9 !important;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.12), 0 2px 8px rgba(13, 148, 136, 0.08);
  transform: translateY(-1px);
}

.lw-cw__schedule-card-icon {
  font-size: 1.6rem;
  color: #94a3b8;
  margin-bottom: 10px;
  transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cw__schedule-card--selected .lw-cw__schedule-card-icon {
  color: #0d9488;
}

.lw-cw__schedule-card-title {
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 4px;
  font-size: 0.95rem;
}

.lw-cw__schedule-card-desc {
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.4;
}

.lw-cw__schedule-fields {
  background: var(--ds-bg-subtle);
  padding: var(--ds-card-padding);
  border-radius: var(--ds-radius-lg);
  margin-bottom: var(--ds-space-4);
  border: 1px solid var(--ds-border);
}

.lw-cw__expiry-section {
  padding: var(--ds-space-2) var(--ds-card-padding);
  background: var(--ds-bg-subtle);
  border-radius: var(--ds-radius-lg);
  border: 1px solid var(--ds-border);
}

.lw-cw__checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 500;
  color: #1e293b;
  font-size: 0.95rem;
}
.lw-cw__checkbox-label input {
  cursor: pointer;
  accent-color: #0d9488;
  width: 18px;
  height: 18px;
}

.lw-cw__hint {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 6px 0 0 0;
  line-height: 1.4;
}

@keyframes lw-cw-review-fadein {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.lw-cw__body[x-show="step === 4"] {
  animation: lw-cw-review-fadein 0.25s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.lw-cw__review {
  background: var(--ds-bg-subtle);
  padding: 6px;
  border-radius: var(--ds-radius-lg);
  border: 1px solid var(--ds-border);
  box-shadow: var(--ds-shadow-sm);
}

.lw-cw__review-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 22px;
  background: #fff;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-cw__review-row:first-child {
  border-radius: 12px 12px 0 0;
}
.lw-cw__review-row:last-child {
  border-bottom: none;
  border-radius: 0 0 12px 12px;
}
.lw-cw__review-row:only-child {
  border-radius: 12px;
}

.lw-cw__review-row--highlight {
  background: #fafffe;
}

.lw-cw__review-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f0fdf9;
  color: #0d9488;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
  opacity: 0.85;
}

.lw-cw__review-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.lw-cw__review-label {
  font-weight: 500;
  color: #94a3b8;
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.lw-cw__review-value {
  color: #1e293b;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.4;
}

.lw-cw__review-value--primary {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
}

.lw-cw__review-meta {
  font-size: 0.78rem;
  color: #94a3b8;
  margin-left: 4px;
  font-weight: 400;
}

.lw-cw__create-action {
  text-align: center;
  margin-top: 40px;
  padding-top: 8px;
}

.lw-cw__btn--create-final {
  padding: 14px 36px;
  font-size: 1rem;
  font-weight: 700;
  border-radius: var(--ds-radius-lg);
  box-shadow: 0 2px 6px rgba(13, 148, 136, 0.25);
}
.lw-cw__btn--create-final:hover:not(:disabled) {
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.4);
  transform: translateY(-2px);
}
.lw-cw__btn--create-final:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(13, 148, 136, 0.25);
}

.lw-cw__nav {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid #f1f5f9;
}

.lw-cw__btn {
  padding: 12px var(--ds-card-padding);
  border-radius: var(--ds-radius-md);
  font-weight: 600;
  font-size: var(--ds-text-md);
  cursor: pointer;
  border: none;
  transition: all var(--ds-transition);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.lw-cw__btn--next,
.lw-cw__btn--create {
  background: linear-gradient(135deg, #0d9488 0%, #0b7e72 100%);
  color: #fff;
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.2);
}
.lw-cw__btn--next:hover:not(:disabled),
.lw-cw__btn--create:hover:not(:disabled) {
  background: linear-gradient(135deg, #0b7e72 0%, #096960 100%);
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.35);
  transform: translateY(-1px);
  color: #fff;
}
.lw-cw__btn--next:active:not(:disabled),
.lw-cw__btn--create:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.2);
}
.lw-cw__btn--next:disabled,
.lw-cw__btn--create:disabled {
  background: #e2e8f0;
  cursor: not-allowed;
  color: #94a3b8;
  box-shadow: none;
}

.lw-cw__btn--back {
  background: transparent;
  color: var(--ds-text-muted);
  border: 1.5px solid var(--ds-border);
}
.lw-cw__btn--back:hover {
  background: var(--ds-bg-subtle);
  border-color: #cbd5e1;
  color: #475569;
}

@media (max-width: 991.98px) {
  .lw-cw {
    padding: var(--ds-space-4) var(--ds-space-3);
    max-width: 100%;
  }
  .lw-cw__template-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .lw-cw {
    padding: 20px 16px;
    border-radius: var(--ds-radius-sm);
  }
  .lw-cw-topbar {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ds-space-1);
    margin-bottom: 20px;
  }
  /* Steps stack vertically on mobile */
  .lw-cw__steps {
    flex-direction: column;
    gap: var(--ds-space-1);
    margin-bottom: var(--ds-space-4);
  }
  .lw-cw__step {
    flex-direction: row;
    align-items: center;
    gap: var(--ds-space-1);
  }
  .lw-cw__step-num {
    width: 32px;
    height: 32px;
    font-size: 0.75rem;
  }
  .lw-cw__step-label {
    display: block;
    font-size: 0.8rem;
  }
  .lw-cw__step-line {
    display: none;
  }
  /* Section title */
  .lw-cw__section-title {
    font-size: 1rem;
  }
  /* Template grid — single column */
  .lw-cw__template-grid {
    grid-template-columns: 1fr;
  }
  .lw-cw__template-config {
    padding: var(--ds-space-2);
  }
  /* Schedule — single column */
  .lw-cw__schedule-options {
    grid-template-columns: 1fr;
  }
  .lw-cw__schedule-fields {
    padding: var(--ds-space-2);
  }
  /* Review */
  .lw-cw__review-row {
    padding: 14px 16px;
  }
  /* Navigation — full width buttons */
  .lw-cw__nav {
    flex-direction: column-reverse;
    gap: var(--ds-space-1);
    padding-top: 20px;
  }
  .lw-cw__btn {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
  }
  .lw-cw__btn--create-final {
    width: 100%;
    justify-content: center;
  }
  /* Expiry section */
  .lw-cw__expiry-section {
    padding: 14px var(--ds-space-2);
  }
}
@media (max-width: 479.98px) {
  .lw-cw {
    padding: 16px 12px;
    border-radius: var(--ds-radius-sm);
  }
  .lw-cw__step-num {
    width: 28px;
    height: 28px;
    font-size: 0.7rem;
  }
  .lw-cw__btn {
    font-size: var(--ds-text-sm);
    padding: 10px 16px;
  }
}
.lw-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--ds-space-6) var(--ds-space-4);
  max-width: 420px;
  margin: 0 auto;
}

.lw-empty-state__icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f0fdf9 0%, #e0f7f3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.lw-empty-state__icon i {
  font-size: 1.6rem;
  color: #0d9488;
  opacity: 0.8;
}

.lw-empty-state__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ds-text-primary);
  margin: 0 0 var(--ds-space-1) 0;
  letter-spacing: -0.01em;
}

.lw-empty-state__text {
  font-size: 0.92rem;
  color: var(--ds-text-muted);
  margin: 0 0 var(--ds-space-4) 0;
  line-height: 1.55;
}

.lw-empty-state__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
  padding: 12px var(--ds-card-padding);
  border-radius: var(--ds-radius-md);
  font-weight: 600;
  font-size: var(--ds-text-md);
  color: #fff;
  background: linear-gradient(135deg, #0d9488 0%, #0b7e72 100%);
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--ds-transition);
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.2);
}
.lw-empty-state__btn:hover {
  background: linear-gradient(135deg, #0b7e72 0%, #096960 100%);
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.35);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}
.lw-empty-state__btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.2);
}

.dataTables_empty {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.dataTables_empty .lw-empty-state {
  padding: 48px 24px;
}

@keyframes lwShimmer {
  0% {
    background-position: -400px 0;
  }
  100% {
    background-position: 400px 0;
  }
}
@keyframes lwSkeletonFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.lw-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 37%, #f0f0f0 63%);
  background-size: 800px 100%;
  animation: lwShimmer 1.8s ease-in-out infinite;
  border-radius: var(--ds-radius-sm);
  display: block;
}

.lw-skeleton-wrap {
  transition: opacity 0.3s ease;
}
.lw-skeleton-wrap.lw-skeleton-wrap--hidden {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  pointer-events: none;
}

.lw-stat-card-skeleton {
  background: #fff;
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-card-padding);
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  box-shadow: var(--ds-shadow-sm);
  border: 1px solid var(--ds-border-light);
  min-height: 110px;
}

.lw-stat-card-skeleton__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--ds-radius-lg);
  flex-shrink: 0;
}

.lw-stat-card-skeleton__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lw-stat-card-skeleton__label {
  height: 12px;
  width: 70%;
  border-radius: 4px;
}

.lw-stat-card-skeleton__value {
  height: 24px;
  width: 45%;
  border-radius: 6px;
}

.lw-stat-card-skeleton__link {
  height: 10px;
  width: 50%;
  border-radius: 4px;
  margin-top: 4px;
}

.lw-table-skeleton {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.lw-table-skeleton__row {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #f1f5f9;
  gap: 24px;
}
.lw-table-skeleton__row:last-child {
  border-bottom: none;
}

.lw-table-skeleton__cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lw-table-skeleton__cell--info {
  flex: 2.5;
}
.lw-table-skeleton__cell--metrics {
  flex: 1.5;
  flex-direction: row;
  gap: 16px;
}
.lw-table-skeleton__cell--schedule {
  flex: 1;
}
.lw-table-skeleton__cell--actions {
  flex: 0.8;
  flex-direction: row;
  gap: 8px;
  justify-content: flex-end;
}

.lw-table-skeleton__title {
  height: 14px;
  width: 75%;
  border-radius: 4px;
}

.lw-table-skeleton__subtitle {
  height: 10px;
  width: 55%;
  border-radius: 4px;
}

.lw-table-skeleton__badge {
  height: 22px;
  width: 64px;
  border-radius: 11px;
}

.lw-table-skeleton__metric {
  height: 32px;
  width: 48px;
  border-radius: 6px;
}

.lw-table-skeleton__date {
  height: 12px;
  width: 80%;
  border-radius: 4px;
}

.lw-table-skeleton__action-btn {
  height: 30px;
  width: 30px;
  border-radius: 8px;
}

.lw-template-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
  padding: 8px 0;
}

.lw-template-skeleton-card {
  background: #fff;
  border-radius: var(--ds-radius-lg);
  border: 1px solid var(--ds-border-light);
  padding: var(--ds-space-2);
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  min-height: 80px;
}

.lw-template-skeleton-card__icon {
  width: 40px;
  height: 40px;
  border-radius: var(--ds-radius-md);
  flex-shrink: 0;
}

.lw-template-skeleton-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lw-template-skeleton-card__name {
  height: 13px;
  width: 70%;
  border-radius: 4px;
}

.lw-template-skeleton-card__tags {
  display: flex;
  gap: 8px;
}

.lw-template-skeleton-card__tag {
  height: 18px;
  width: 50px;
  border-radius: 9px;
}

@keyframes lwToastSlideIn {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes lwToastSlideOut {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}
@keyframes lwToastProgress {
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
.lw-toast-container {
  position: fixed;
  top: var(--ds-space-3);
  right: var(--ds-space-3);
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
  pointer-events: none;
  max-width: 400px;
  width: 100%;
}
@media (max-width: 480px) {
  .lw-toast-container {
    top: 12px;
    right: 12px;
    left: 12px;
    max-width: none;
  }
}

.lw-toast {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-2);
  padding: var(--ds-space-2);
  border-radius: var(--ds-radius-lg);
  background: #fff;
  box-shadow: var(--ds-shadow-lg);
  pointer-events: auto;
  animation: lwToastSlideIn 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.04);
  min-width: 320px;
}
.lw-toast.lw-toast--dismissing {
  animation: lwToastSlideOut 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@media (max-width: 480px) {
  .lw-toast {
    min-width: 0;
  }
}

.lw-toast__icon {
  width: 36px;
  height: 36px;
  border-radius: var(--ds-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.95rem;
}

.lw-toast__content {
  flex: 1;
  min-width: 0;
}

.lw-toast__title {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ds-text-primary);
  margin: 0 0 2px 0;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.lw-toast__message {
  font-size: 0.82rem;
  color: var(--ds-text-muted);
  margin: 0;
  line-height: 1.45;
  word-break: break-word;
}

.lw-toast__close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--ds-text-faint);
  font-size: 0.85rem;
  line-height: 1;
  flex-shrink: 0;
  border-radius: var(--ds-radius-sm);
  transition: all var(--ds-transition);
  margin-top: -2px;
}
.lw-toast__close:hover {
  color: #475569;
  background: #f1f5f9;
}

.lw-toast__progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  border-radius: 0 0 var(--ds-radius-lg) var(--ds-radius-lg);
}

.lw-toast__progress-bar {
  height: 100%;
  border-radius: inherit;
  animation: lwToastProgress linear forwards;
}

.lw-toast--success {
  border-left: 3px solid #10b981;
}
.lw-toast--success .lw-toast__icon {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  color: #059669;
}
.lw-toast--success .lw-toast__progress-bar {
  background: linear-gradient(90deg, #10b981, #34d399);
}

.lw-toast--error {
  border-left: 3px solid #ef4444;
}
.lw-toast--error .lw-toast__icon {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  color: #dc2626;
}
.lw-toast--error .lw-toast__progress-bar {
  background: linear-gradient(90deg, #ef4444, #f87171);
}

.lw-toast--info {
  border-left: 3px solid #3b82f6;
}
.lw-toast--info .lw-toast__icon {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color: #2563eb;
}
.lw-toast--info .lw-toast__progress-bar {
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}

.lw-toast--warning {
  border-left: 3px solid #f59e0b;
}
.lw-toast--warning .lw-toast__icon {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  color: #d97706;
}
.lw-toast--warning .lw-toast__progress-bar {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* ============================================
   Global Responsive — Content Spacing
   Adjusts main-content padding and general
   container spacing for smaller screens
   ============================================ */
/* Tablet: reduce main content padding */
@media (max-width: 991.98px) {
  .main-content .container-fluid,
  .main-content .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  /* Skeleton grids: 2 columns */
  .lw-template-skeleton-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Mobile: tighter spacing */
@media (max-width: 767.98px) {
  .main-content {
    padding-top: 60px; /* space for mobile toggle */
  }
  .main-content .container-fluid,
  .main-content .container {
    padding-left: 12px;
    padding-right: 12px;
  }
  /* Empty states: reduce padding */
  .lw-empty-state {
    padding: var(--ds-space-4) var(--ds-space-2);
    max-width: 100%;
  }
  .lw-empty-state__icon {
    width: 60px;
    height: 60px;
    margin-bottom: var(--ds-space-2);
  }
  .lw-empty-state__icon i {
    font-size: 1.3rem;
  }
  .lw-empty-state__title {
    font-size: 1.05rem;
  }
  .lw-empty-state__text {
    font-size: 0.85rem;
  }
  .lw-empty-state__btn {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
  }
  /* Skeleton grids: single column */
  .lw-template-skeleton-grid {
    grid-template-columns: 1fr;
  }
  /* Stat card skeletons: tighter */
  .lw-stat-card-skeleton {
    padding: var(--ds-space-2);
  }
  /* Toast: full width on mobile */
  .lw-toast-container {
    top: var(--ds-space-1);
    right: var(--ds-space-1);
    left: var(--ds-space-1);
    max-width: none;
  }
  .lw-toast {
    min-width: 0;
    gap: 12px;
    padding: 12px;
  }
  .lw-toast__icon {
    width: 32px;
    height: 32px;
    font-size: 0.85rem;
  }
  .lw-toast__title {
    font-size: 0.82rem;
  }
  .lw-toast__message {
    font-size: 0.76rem;
  }
}
/* Small mobile: extra-tight spacing */
@media (max-width: 479.98px) {
  .main-content .container-fluid,
  .main-content .container {
    padding-left: 8px;
    padding-right: 8px;
  }
  .lw-empty-state__btn {
    font-size: var(--ds-text-sm);
    padding: 10px 16px;
  }
}
/* ============================================
   Premium Polish — Global Smooth Transitions
   Ensures no abrupt visual changes anywhere
   ============================================ */
/* Universal smooth transitions for interactive elements */
a,
button,
input,
select,
textarea,
.btn,
.card,
.nav-link,
.dropdown-item {
  transition: color var(--ds-transition), background-color var(--ds-transition), border-color var(--ds-transition), box-shadow var(--ds-transition), opacity var(--ds-transition);
}

/* Cards & containers — universal glass-like softness */
.card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-sm);
  transition: box-shadow var(--ds-transition), transform var(--ds-transition), border-color var(--ds-transition);
}

/* Smooth hover lift for all cards */
.card:hover {
  box-shadow: var(--ds-shadow-md);
}

/* Section header subtle enhancement */
.lw-section-header {
  border-bottom-color: rgba(226, 232, 240, 0.6);
}

/* Navbar glass effect — applied via .main-content .navbar-top rule at line ~830 */
/* Dropdown menus — premium glass */
.dropdown-menu {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-lg);
}

.dropdown-item {
  border-radius: var(--ds-radius-sm);
  margin: 2px 4px;
  padding: 8px 12px;
}
.dropdown-item:hover, .dropdown-item:focus {
  background: rgba(13, 148, 136, 0.06);
  color: var(--ds-text-primary);
}

/* Form inputs — refined borders */
.form-control,
.form-select {
  border: 1px solid var(--ds-border);
  border-radius: var(--ds-radius-sm);
  transition: border-color var(--ds-transition), box-shadow var(--ds-transition);
}
.form-control:focus,
.form-select:focus {
  border-color: rgba(13, 148, 136, 0.4);
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.08);
}

/* Empty state — softer glass */
.lw-empty-state {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: var(--ds-radius-lg);
}

/* Toast — enhanced glass effect */
.lw-toast {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
}

/* Campaign create button — smooth hover */
.lw-campaign-create-btn {
  transition: all var(--ds-transition);
}
.lw-campaign-create-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.3);
}
.lw-campaign-create-btn:active {
  transform: translateY(0);
}

/* Campaign tabs — smoother transitions */
.lw-campaign-tab {
  transition: all var(--ds-transition);
}

/* Getting started step — smooth hover */
.lw-getting-started__step {
  border-radius: var(--ds-radius-sm);
  padding-left: var(--ds-space-1);
  padding-right: var(--ds-space-1);
  margin: 0 calc(var(--ds-space-1) * -1);
  transition: background var(--ds-transition);
}
.lw-getting-started__step:hover {
  background: rgba(13, 148, 136, 0.03);
}

/* Secondary stat hover */
.lw-cd-secondary-stat {
  transition: background var(--ds-transition), border-color var(--ds-transition), transform var(--ds-transition);
}
.lw-cd-secondary-stat:hover {
  background: rgba(255, 255, 255, 0.8);
  transform: translateY(-1px);
}

/* ============================================================
   Automation List — Premium SaaS UI
   ============================================================ */
/* Page header */
.lw-automation-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 var(--ds-space-3) 0;
}

.lw-automation-header__left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lw-automation-header__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ds-text-primary);
  margin: 0;
  letter-spacing: -0.02em;
}

.lw-automation-header__subtitle {
  font-size: 0.85rem;
  color: var(--ds-text-secondary);
  margin: 0;
}

/* Create button */
.lw-automation-create-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--ds-accent);
  color: #fff;
  border: none;
  border-radius: var(--ds-radius-md);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--ds-transition), transform var(--ds-transition), box-shadow var(--ds-transition);
}
.lw-automation-create-btn:hover {
  background: #0b8578;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.3);
  color: #fff;
  text-decoration: none;
}
.lw-automation-create-btn:active {
  transform: translateY(0);
}
.lw-automation-create-btn i {
  font-size: 0.8rem;
}

/* Card grid */
.lw-automation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 20px;
}

/* Individual card */
.lw-automation-card {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.7);
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  overflow: hidden;
  transition: box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1), transform 0.24s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-automation-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.07), 0 2px 8px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
  border-color: rgba(13, 148, 136, 0.22);
}

.lw-automation-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 14px;
}

/* Status badge */
.lw-automation-card__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: capitalize;
}

.lw-automation-card__status--active {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}
.lw-automation-card__status--active .lw-automation-card__status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
  animation: lw-pulse-dot 2s ease-in-out infinite;
}

.lw-automation-card__status--paused {
  background: rgba(245, 158, 11, 0.12);
  color: #92400e;
}
.lw-automation-card__status--paused .lw-automation-card__status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}

@keyframes lw-pulse-dot {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
/* Card action buttons */
.lw-automation-card__actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-automation-card:hover .lw-automation-card__actions {
  opacity: 1;
}

.lw-automation-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.03);
  color: var(--ds-text-tertiary);
  font-size: 0.76rem;
  cursor: pointer;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-automation-action-btn:hover {
  background: rgba(0, 0, 0, 0.06);
  color: var(--ds-text-primary);
  transform: scale(1.05);
}

.lw-automation-action-btn--edit:hover {
  color: var(--ds-accent);
  background: rgba(13, 148, 136, 0.08);
}

.lw-automation-action-btn--pause:hover {
  color: #d97706;
  background: rgba(245, 158, 11, 0.08);
}

.lw-automation-action-btn--activate:hover {
  color: #059669;
  background: rgba(16, 185, 129, 0.08);
}

.lw-automation-action-btn--delete:hover {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
}

/* Card body */
.lw-automation-card__body {
  padding: 0 24px 16px;
}

.lw-automation-card__name {
  font-size: 1.05rem;
  font-weight: 620;
  color: var(--ds-text-primary);
  margin: 0 0 6px 0;
  letter-spacing: -0.015em;
  line-height: 1.35;
}

.lw-automation-card__description {
  font-size: 0.82rem;
  color: #64748b;
  margin: 0;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Card meta footer */
.lw-automation-card__meta {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 24px;
  border-top: 1px solid rgba(226, 232, 240, 0.45);
  background: rgba(248, 250, 252, 0.45);
}

.lw-automation-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.73rem;
  color: #94a3b8;
}
.lw-automation-card__meta-item i {
  font-size: 0.65rem;
  color: rgba(13, 148, 136, 0.45);
}

/* Empty state */
.lw-automation-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 48px;
  text-align: center;
  background: #ffffff;
  border: 1px dashed rgba(203, 213, 225, 0.7);
  border-radius: 14px;
}

.lw-automation-empty__icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(13, 148, 136, 0.06);
  margin-bottom: 24px;
}
.lw-automation-empty__icon i {
  font-size: 1.8rem;
  color: var(--ds-accent);
  opacity: 0.6;
}

.lw-automation-empty__title {
  font-size: 1.15rem;
  font-weight: 650;
  color: var(--ds-text-primary);
  margin: 0 0 10px 0;
  letter-spacing: -0.01em;
}

.lw-automation-empty__text {
  font-size: 0.85rem;
  color: #94a3b8;
  margin: 0 0 28px 0;
  max-width: 380px;
  line-height: 1.65;
}

.lw-automation-empty__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  background: var(--ds-accent);
  color: #fff;
  border: none;
  border-radius: var(--ds-radius-md);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--ds-transition), transform var(--ds-transition), box-shadow var(--ds-transition);
}
.lw-automation-empty__btn:hover {
  background: #0b8578;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.3);
  color: #fff;
  text-decoration: none;
}

/* Modal styling */
.lw-automation-modal {
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-lg);
}
.lw-automation-modal .modal-header {
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
  padding: 20px 24px;
}
.lw-automation-modal .modal-header .modal-title {
  font-size: 1.05rem;
  font-weight: 650;
  color: var(--ds-text-primary);
}
.lw-automation-modal .modal-body {
  padding: 24px;
}
.lw-automation-modal .modal-footer {
  border-top: 1px solid rgba(226, 232, 240, 0.5);
  padding: 16px 24px;
}
.lw-automation-modal .modal-footer .btn-primary {
  background: var(--ds-accent);
  border-color: var(--ds-accent);
  font-weight: 600;
}
.lw-automation-modal .modal-footer .btn-primary:hover {
  background: #0b8578;
  border-color: #0b8578;
}

/* Responsive */
@media (max-width: 768px) {
  .lw-automation-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .lw-automation-grid {
    grid-template-columns: 1fr;
  }
  .lw-automation-card__actions {
    opacity: 1;
  }
  .lw-automation-card__header {
    padding: 16px 20px 12px;
  }
  .lw-automation-card__body {
    padding: 0 20px 14px;
  }
  .lw-automation-card__meta {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 20px;
  }
}
@media (max-width: 480px) {
  .lw-automation-empty {
    padding: 56px 24px;
  }
}
/* ================================================
   Automation Flow Builder — Modern SaaS UI
   ================================================ */
/* Back link */
.lw-builder-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-back:hover {
  color: var(--ds-accent, #0d9488);
  text-decoration: none;
}
.lw-builder-back i {
  font-size: 12px;
}

/* Trigger / Flow Header */
.lw-builder-trigger {
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.02) 0%, rgba(6, 182, 212, 0.02) 100%);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 16px;
  padding: 28px 32px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-trigger:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}
.lw-builder-trigger::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ds-accent, #0d9488), #06b6d4);
}

.lw-builder-trigger__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--ds-accent, #0d9488), #06b6d4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3);
}

.lw-builder-trigger__body {
  flex: 1;
  min-width: 0;
}

.lw-builder-trigger__label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--ds-accent, #0d9488);
  margin-bottom: 4px;
}

.lw-builder-trigger__title {
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.lw-builder-trigger__rule {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.lw-builder-trigger__type {
  font-size: 13px;
  font-weight: 500;
  color: #475569;
  background: #f1f5f9;
  padding: 3px 10px;
  border-radius: 6px;
}

.lw-builder-trigger__keyword {
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-accent, #0d9488);
  background: rgba(13, 148, 136, 0.08);
  padding: 3px 10px;
  border-radius: 6px;
  border: none;
}

.lw-builder-trigger__stats {
  display: flex;
  gap: 16px;
  flex-shrink: 0;
}

.lw-builder-stat {
  text-align: center;
  min-width: 52px;
}

.lw-builder-stat__value {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.2;
}

.lw-builder-stat__label {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Vertical connector line */
.lw-builder-connector {
  display: flex;
  justify-content: center;
  padding: 0;
  height: 36px;
}

.lw-builder-connector__line {
  width: 1.5px;
  height: 100%;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 1px;
}

/* Empty state */
.lw-builder-empty {
  text-align: center;
  padding: 72px 32px;
  background: #fff;
  border: 2px dashed rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.lw-builder-empty__icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: #f1f5f9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.lw-builder-empty__icon i {
  font-size: 28px;
  color: #94a3b8;
}

.lw-builder-empty__title {
  font-size: 17px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 8px 0;
}

.lw-builder-empty__text {
  font-size: 14px;
  color: #94a3b8;
  margin: 0 0 20px 0;
}

/* Step card */
.lw-builder-step {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 14px;
  padding: 22px 26px;
  position: relative;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
}
.lw-builder-step:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
  border-color: rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.lw-builder-step.lw-dragging {
  opacity: 0.5;
  border-color: var(--ds-accent, #0d9488);
  box-shadow: 0 8px 24px rgba(13, 148, 136, 0.15);
  transform: scale(0.98);
}

/* Step type left-border accent */
.lw-builder-step--send_message {
  border-left: 3.5px solid #3b82f6;
}

.lw-builder-step--delay {
  border-left: 3.5px solid #f59e0b;
}

.lw-builder-step--send_media {
  border-left: 3.5px solid #8b5cf6;
}

.lw-builder-step--send_interactive {
  border-left: 3.5px solid #ec4899;
}

.lw-builder-step__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lw-builder-step__left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lw-builder-step__drag {
  cursor: grab;
  color: #d1d5db;
  font-size: 14px;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-step__drag:hover {
  color: #9ca3af;
}
.lw-builder-step__drag:active {
  cursor: grabbing;
}

.lw-builder-step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #f1f5f9;
  color: #475569;
  font-weight: 600;
  font-size: 12px;
  transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Step type badges */
.lw-builder-step__badge {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.lw-builder-step--send_message .lw-builder-step__badge,
.lw-builder-step__badge--send_message {
  background: #dbeafe;
  color: #1d4ed8;
}

.lw-builder-step--delay .lw-builder-step__badge,
.lw-builder-step__badge--delay {
  background: #fef3c7;
  color: #92400e;
}

.lw-builder-step--send_media .lw-builder-step__badge,
.lw-builder-step__badge--send_media {
  background: #ede9fe;
  color: #6d28d9;
}

.lw-builder-step--send_interactive .lw-builder-step__badge,
.lw-builder-step__badge--send_interactive {
  background: #fce7f3;
  color: #be185d;
}

/* Step action buttons */
.lw-builder-step__actions {
  display: flex;
  gap: 6px;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.lw-builder-step:hover .lw-builder-step__actions {
  opacity: 1;
}

.lw-builder-step__action-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  background: #f1f5f9;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 13px;
  padding: 0;
}
.lw-builder-step__action-btn--edit:hover {
  color: #3b82f6;
  background: #dbeafe;
  transform: scale(1.05);
}
.lw-builder-step__action-btn--delete:hover {
  color: #ef4444;
  background: #fee2e2;
  transform: scale(1.05);
}

/* Step content preview */
.lw-builder-step__content {
  margin-top: 14px;
  padding: 12px 14px;
  background: #f8fafc;
  border-radius: 10px;
  font-size: 13px;
  color: rgba(71, 85, 105, 0.7);
  line-height: 1.6;
  word-break: break-word;
  border: 1px solid #f1f5f9;
}

.lw-builder-step__delay {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #fffbeb;
  border-radius: 10px;
  font-size: 13px;
  color: #92400e;
  border: 1px solid #fef3c7;
}
.lw-builder-step__delay i {
  color: #f59e0b;
}

.lw-builder-step__media {
  margin-top: 8px;
  font-size: 12px;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 6px;
}
.lw-builder-step__media i {
  color: #8b5cf6;
}

/* Add Step button */
.lw-builder-add-wrapper {
  text-align: center;
}

.lw-builder-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  background: #fff;
  color: var(--ds-accent, #0d9488);
  border: 2px dashed rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-add-btn:hover {
  border-color: var(--ds-accent, #0d9488);
  background: rgba(13, 148, 136, 0.04);
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.12);
  transform: translateY(-1px);
}
.lw-builder-add-btn i {
  font-size: 13px;
}

/* Max steps limit warning */
.lw-builder-limit {
  text-align: center;
  padding: 14px 20px;
  background: #fffbeb;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  font-size: 13px;
  color: #92400e;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.lw-builder-limit i {
  margin-right: 6px;
  color: #f59e0b;
}

/* Flow Guide */
.lw-builder-guide {
  margin-top: 48px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 14px;
  padding: 28px 32px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.lw-builder-guide__title {
  font-size: 14px;
  font-weight: 600;
  color: #475569;
  margin: 0 0 20px 0;
}
.lw-builder-guide__title i {
  color: #94a3b8;
  margin-right: 8px;
}

.lw-builder-guide__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.lw-builder-guide__section h6 {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748b;
  margin: 0 0 12px 0;
}

.lw-builder-guide__type {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.lw-builder-guide__type small {
  font-size: 12px;
  color: #94a3b8;
}

.lw-builder-guide__limits {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lw-builder-guide__limits li {
  font-size: 13px;
  color: #475569;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.lw-builder-guide__limits li i {
  color: var(--ds-accent, #0d9488);
  font-size: 12px;
}

.lw-builder-guide__vars {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.lw-builder-guide__vars code {
  font-size: 12px;
  padding: 3px 8px;
  background: #f1f5f9;
  border-radius: 6px;
  color: #475569;
  border: none;
}

/* Modal */
.lw-builder-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12), 0 4px 16px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

.lw-builder-modal__header {
  border-bottom: 1px solid #f1f5f9;
  padding: 20px 24px;
}
.lw-builder-modal__header .modal-title {
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
}
.lw-builder-modal__header .close {
  color: #94a3b8;
  opacity: 1;
  font-size: 24px;
}
.lw-builder-modal__header .close:hover {
  color: #475569;
}

.lw-builder-modal__body {
  padding: 24px;
}

.lw-builder-modal__footer {
  border-top: 1px solid #f1f5f9;
  padding: 16px 24px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.lw-builder-modal__cancel {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #64748b;
  font-weight: 500;
  border-radius: 10px;
  padding: 8px 20px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-modal__cancel:hover {
  background: #f1f5f9;
  color: #475569;
}

.lw-builder-modal__save {
  background: var(--ds-accent, #0d9488) !important;
  border-color: var(--ds-accent, #0d9488) !important;
  font-weight: 600;
  border-radius: 10px;
  padding: 8px 24px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-modal__save:hover {
  background: #0b8578 !important;
  border-color: #0b8578 !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
}

/* Form fields */
.lw-builder-field {
  margin-bottom: 20px;
}

.lw-builder-field--half {
  flex: 1;
  min-width: 0;
}

.lw-builder-field__label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  margin-bottom: 6px;
  letter-spacing: 0.2px;
}

.lw-builder-field__select,
.lw-builder-field__input,
.lw-builder-field__textarea {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 14px;
  color: #1f2937;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.lw-builder-field__select:focus,
.lw-builder-field__input:focus,
.lw-builder-field__textarea:focus {
  border-color: var(--ds-accent, #0d9488);
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
  outline: none;
}
.lw-builder-field__select::placeholder,
.lw-builder-field__input::placeholder,
.lw-builder-field__textarea::placeholder {
  color: #94a3b8;
}

.lw-builder-field__textarea {
  resize: vertical;
  min-height: 100px;
}

.lw-builder-field__row {
  display: flex;
  gap: 16px;
}

/* Builder responsive */
@media (max-width: 768px) {
  .lw-builder-trigger {
    flex-direction: column;
    padding: 20px;
  }
  .lw-builder-trigger__stats {
    width: 100%;
    justify-content: space-around;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
  }
  .lw-builder-guide__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .lw-builder-step {
    padding: 16px 18px;
  }
  .lw-builder-step__actions {
    opacity: 1;
  }
  .lw-builder-field__row {
    flex-direction: column;
    gap: 0;
  }
}
/* ============================================================
   PHASE 1 — Clean Toggle Switch (replaces broken lwSwitchery)
   ============================================================ */
.lw-toggle-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}
.lw-toggle-switch input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.lw-toggle-switch .lw-toggle-slider {
  position: relative;
  width: 44px;
  height: 24px;
  background: #cbd5e1;
  border-radius: 12px;
  transition: background 0.2s ease;
  flex-shrink: 0;
}
.lw-toggle-switch .lw-toggle-slider::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease;
}
.lw-toggle-switch input[type=checkbox]:checked + .lw-toggle-slider {
  background: #059669;
}
.lw-toggle-switch input[type=checkbox]:checked + .lw-toggle-slider::after {
  transform: translateX(20px);
}
.lw-toggle-switch .lw-toggle-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #334155;
}

/* ============================================================
   PHASE 2 — Modal Polish & Global UI Consistency
   ============================================================ */
/* Modal improvements */
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body {
  padding: 20px 24px;
}
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body .form-group {
  margin-bottom: 16px;
  margin-top: 0;
}
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body .form-group label,
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body .form-group .form-control-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 6px;
  text-transform: none !important;
  letter-spacing: 0.01em;
}
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body .form-group .form-control {
  padding: 10px 14px;
}
.modal-open .modal.lw-has-form .lw-form .lw-form-modal-body .form-group small.text-muted {
  font-size: 0.75rem;
  margin-top: 4px;
  display: block;
  color: #94a3b8;
}
.modal-open .modal.lw-has-form .modal-header {
  padding: 16px 24px;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
}
.modal-open .modal.lw-has-form .modal-header .modal-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #1e293b;
}
.modal-open .modal.lw-has-form .modal-footer {
  padding: 16px 24px;
  border-top: 1px solid #e9ecef;
  background: #ffffff;
  gap: 8px;
  display: flex;
  justify-content: flex-end;
}
.modal-open .modal.lw-has-form .modal-footer .btn {
  padding: 8px 20px;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 8px;
}
.modal-open .modal .modal-dialog .modal-content {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
}

/* (Removed — now handled by Design System below) */
/* ============================================================
   PHASE 4 — Clean up duplicate/conflicting styles
   ============================================================ */
/* Ensure no duplicate scrollbar styles conflict */
.main-content {
  overflow-x: hidden;
}

/* Fix overlapping z-index issues */
.modal-backdrop {
  z-index: 1040;
}

.modal {
  z-index: 1050;
}

/* Clean up page header spacing */
.header.pb-6 {
  padding-bottom: 2rem !important;
}

/* Ensure consistent table row hover */
.table-hover tbody tr:hover {
  background-color: rgba(5, 150, 105, 0.04);
}

/* Fix badge consistency */
.badge {
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* Clean alert styling */
.alert {
  border-radius: 8px;
  border: none;
  font-size: 0.875rem;
}

/* ============================================================
   DESIGN SYSTEM — Single source of truth for all UI styling
   ============================================================

   TOKENS:
   - Primary:     #059669 (teal)
   - Primary hover: #047857
   - Text dark:   #1f2937
   - Text body:   #374151
   - Text muted:  #6b7280
   - Text light:  #9ca3af
   - Border:      #d1d5db
   - Border light: #e5e7eb
   - Border faint: #f3f4f6
   - Surface:     #f9fafb
   - White:       #fff

   SPACING:
   - Section:     32px   (.ds-section)
   - Card pad:    24px   (.ds-card)
   - Form gap:    16px   (.form-group)
   - Input pad:   10px 14px
   - Label gap:   6px
   - Button gap:  10px

   RADII:
   - Card:        12px
   - Input:       10px
   - Button:      10px
   - Badge:       6px

   ============================================================ */
/* ----- 1. SPACING UTILITIES ----- */
.ds-section {
  margin-bottom: 32px;
}

.ds-card {
  padding: 24px;
}

/* ----- 2. TYPOGRAPHY ----- */
.ds-heading {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.3;
}

.ds-label {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  display: block;
  margin-bottom: 6px;
}

.ds-muted {
  color: #6b7280;
  font-size: 13px;
}

/* ----- 3. FORM CONTROLS (global) ----- */
.form-group {
  margin-bottom: 16px;
}
.form-group label {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 6px;
  display: block;
}

.form-control {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  color: #374151;
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.form-control::placeholder {
  color: #9ca3af;
}
.form-control:focus {
  border-color: #059669;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.08);
  outline: none;
}

select.form-control {
  appearance: auto;
}

textarea.form-control {
  resize: vertical;
  min-height: 80px;
  line-height: 1.6;
}

small.text-muted,
.form-text.text-muted {
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
  display: block;
  line-height: 1.4;
}

/* ----- 4. CARDS ----- */
.card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.card .card-body {
  padding: 24px;
}
.card .card-header {
  background: #fff;
  font-weight: 600;
  color: #1f2937;
  padding: 16px 24px;
  border-bottom: 1px solid #f3f4f6;
}

/* ----- 5. BUTTONS ----- */
.btn {
  padding: 10px 22px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 10px;
  font-weight: 600;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.btn-sm {
  padding: 6px 14px;
  font-size: 13px;
  border-radius: 8px;
}

.btn-lg {
  padding: 12px 28px;
  font-size: 16px;
  border-radius: 12px;
}

.btn-primary {
  background-color: #059669;
  border-color: #059669;
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #047857;
  border-color: #047857;
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.25);
}
.btn-primary:active {
  background-color: #065f46;
  border-color: #065f46;
}

.btn-secondary {
  background-color: #fff;
  border-color: #d1d5db;
  color: #374151;
}
.btn-secondary:hover, .btn-secondary:focus {
  background-color: #f9fafb;
  border-color: #9ca3af;
  color: #1f2937;
}

/* ----- 6. TABLES ----- */
.table th {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6b7280;
  border-bottom-width: 2px;
}
.table td {
  font-size: 14px;
  color: #374151;
  vertical-align: middle;
}

/* DataTables override */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
  margin-bottom: 16px;
}
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  font-size: 13px;
  font-weight: 500;
  color: #374151;
}
.dataTables_wrapper .dataTables_info {
  font-size: 13px;
  color: #6b7280;
  padding-top: 12px;
}
.dataTables_wrapper .dataTables_paginate {
  padding-top: 12px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 8px !important;
  padding: 6px 12px !important;
  margin: 0 2px;
  font-size: 13px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: #059669 !important;
  border-color: #059669 !important;
  color: #fff !important;
}
.dataTables_wrapper table.dataTable {
  border-collapse: separate;
  border-spacing: 0;
}
.dataTables_wrapper table.dataTable thead th {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6b7280;
  padding: 12px 16px;
  border-bottom: 2px solid #e5e7eb;
  background: #f9fafb;
}
.dataTables_wrapper table.dataTable tbody td {
  padding: 14px 16px;
  font-size: 14px;
  color: #374151;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.dataTables_wrapper table.dataTable tbody tr:hover {
  background-color: rgba(5, 150, 105, 0.03);
}

/* ----- 7. BADGES ----- */
.badge-success, .badge-active {
  background: #ecfdf5;
  color: #059669;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
}

.badge-danger, .badge-inactive {
  background: #fef2f2;
  color: #dc2626;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
}

.badge-warning {
  background: #fffbeb;
  color: #d97706;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
}

.badge-info {
  background: #eff6ff;
  color: #2563eb;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
}

/* ----- 8. MODALS ----- */
.modal-content {
  border-radius: 12px;
  overflow: hidden;
}

.modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.modal-header .modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}

.modal-body,
.lw-form-modal-body {
  padding: 24px;
}

.modal-footer,
.form-actions {
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* ----- 9. TOGGLE SWITCH ----- */
.lw-toggle-switch {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
}

/* ----- 10. PAGE LAYOUT ----- */
/* Page header — scoped to vendor console pages via .lw-page-title class */
h1.lw-page-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #059669;
}

.main-content .header h6.text-muted {
  color: #6b7280 !important;
  font-size: 14px;
  font-weight: 400;
  margin-top: 4px;
}

.main-content .container-fluid {
  padding-left: 24px;
  padding-right: 24px;
}

/* Navbar */
.navbar-top {
  padding: 0 24px;
}
.navbar-top .navbar-brand {
  font-weight: 700;
  color: #1f2937;
}
.navbar-top .nav-link {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  padding: 8px 12px;
}
.navbar-top .nav-link:hover {
  color: #059669;
}

/* Sidebar active */
.new-sidebar .nav-item.active > a,
.new-sidebar .nav-link.active {
  color: #059669;
}

/* ----- 11. AUTOMATION BUILDER (page-specific) ----- */
.lw-builder-back {
  margin-bottom: 8px;
}

.lw-builder-trigger {
  margin-bottom: 8px;
}

.lw-builder-guide {
  margin-top: 32px;
  padding: 24px;
}
.lw-builder-guide .lw-builder-guide__title {
  font-size: 15px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
}
.lw-builder-guide .lw-builder-guide__title i {
  color: #059669;
  margin-right: 8px;
}
.lw-builder-guide .lw-builder-guide__grid {
  gap: 32px;
}
.lw-builder-guide .lw-builder-guide__section h6 {
  font-size: 13px;
  font-weight: 700;
  color: #1f2937;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
}
.lw-builder-guide .lw-builder-guide__type {
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #f3f4f6;
}
.lw-builder-guide .lw-builder-guide__type:last-child {
  border-bottom: none;
}
.lw-builder-guide .lw-builder-guide__type small {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
}
.lw-builder-guide .lw-builder-guide__limits {
  padding-left: 0;
  list-style: none;
  margin: 0;
}
.lw-builder-guide .lw-builder-guide__limits li {
  padding: 8px 0;
  font-size: 13px;
  color: #374151;
  border-bottom: 1px solid #f3f4f6;
}
.lw-builder-guide .lw-builder-guide__limits li:last-child {
  border-bottom: none;
}
.lw-builder-guide .lw-builder-guide__limits li i {
  color: #059669;
  margin-right: 8px;
  width: 16px;
  text-align: center;
}
.lw-builder-guide .lw-builder-guide__vars {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.lw-builder-guide .lw-builder-guide__vars code {
  background: #f3f4f6;
  color: #059669;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.lw-builder-step {
  padding: 20px 24px;
  margin-bottom: 4px;
}
.lw-builder-step .lw-builder-step__header {
  margin-bottom: 12px;
}
.lw-builder-step .lw-builder-step__content {
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #374151;
}
.lw-builder-step .lw-builder-step__delay {
  padding: 10px 16px;
  font-size: 14px;
}

.lw-builder-add-wrapper {
  text-align: center;
  padding: 8px 0;
}

.lw-builder-add-btn {
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 600;
}

/* ----- 12. RESPONSIVE ----- */
@media (max-width: 768px) {
  .main-content .container-fluid {
    padding-left: 16px;
    padding-right: 16px;
  }
  .lw-builder-trigger {
    flex-direction: column;
    padding: 20px;
  }
  .lw-builder-trigger__stats {
    width: 100%;
    justify-content: space-around;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
  }
  .lw-builder-guide__grid {
    grid-template-columns: 1fr !important;
  }
  .modal-dialog {
    margin: 16px;
  }
}

/* ============================================================
   COMPREHENSIVE MOBILE RESPONSIVE FIXES
   Fixes the root layout issue (content not filling viewport)
   and ensures all pages are fully responsive on mobile.
   Breakpoints: 767px (mobile), 991px (tablet), 1200px (desktop)
   ============================================================ */

/* --- ROOT FIX: Ensure body/html fill viewport on mobile --- */
@media (max-width: 767.98px) {
  html, body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* Main content must fill full width when sidebar is hidden */
  .main-content {
    width: 100% !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  /* Container fluid should use full width */
  .main-content .container-fluid,
  .main-content .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Navbar adjustments for mobile */
  .navbar-top {
    padding-left: 56px !important;
    padding-right: 12px !important;
  }
  .navbar > .container {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .navbar-top .navbar-nav {
    flex-direction: row !important;
    align-items: center;
  }
  .navbar-top .navbar-nav .nav-item {
    padding: 0 4px;
  }
  .navbar-top .navbar-nav .nav-link {
    padding: 0.4rem 0.5rem;
  }

  /* Fix stat cards grid — stack single column (exclude elements with col-sm-* or col-* that keep 2-col on mobile) */
  .lw-dashboard-stats-grid,
  .row .col-xl-3:not(.col-sm-6):not(.col-6):not(.col-sm-4):not(.col-sm-3),
  .row .col-lg-3:not(.col-sm-6):not(.col-6):not(.col-sm-4):not(.col-sm-3),
  .row .col-lg-6:not(.col-sm-6):not(.col-6):not(.col-sm-4):not(.col-sm-3),
  .row .col-md-4:not(.col-sm-6):not(.col-6):not(.col-sm-4):not(.col-sm-3),
  .row .col-md-6:not(.col-sm-6):not(.col-6):not(.col-sm-4):not(.col-sm-3) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Stat cards: full width, reduce padding */
  .lw-stat-card {
    padding: 16px !important;
    margin-bottom: 8px;
  }
  .lw-stat-card--secondary {
    padding: 16px !important;
  }

  /* Card body padding on mobile (exclude p-0 and chat window) */
  .card .card-body:not(.p-0):not(.lw-whatsapp-chat-window) {
    padding: 12px !important;
  }
  .card .card-header {
    padding: 12px !important;
  }

  /* Tables: enable horizontal scroll */
  .table-responsive,
  .dataTables_wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .dataTables_wrapper .row {
    flex-direction: column;
  }
  .dataTables_wrapper .row > div {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 4px 0;
  }
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    text-align: left !important;
    padding: 4px 0;
  }
  .dataTables_wrapper .dataTables_filter input {
    width: 100% !important;
    margin-left: 0 !important;
  }
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    text-align: center !important;
    padding: 8px 0;
  }

  /* Nav tabs: scrollable on mobile */
  .nav-tabs {
    margin-left: 0 !important;
    margin-top: 12px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding-bottom: 2px;
  }
  .nav-tabs .nav-item {
    flex-shrink: 0;
  }
  .nav-tabs .nav-link {
    padding: 8px 14px !important;
    font-size: 0.85rem !important;
  }

  /* Breadcrumb adjustments */
  nav.lw-breadcrumb-container {
    padding: 12px 12px 8px !important;
    font-size: 0.85rem;
  }

  /* Page title adjustments */
  .main-content h1.lw-page-title,
  .main-content .lw-page-title {
    font-size: 1.25rem !important;
    padding: 0 4px;
  }

  /* Fix header section spacing on mobile */
  .main-content > .header {
    padding-top: 1rem !important;
    padding-bottom: 0.5rem !important;
  }
  .header .container-fluid {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Fieldset and legends on mobile */
  fieldset {
    padding: 12px !important;
    margin-top: 12px !important;
  }
  fieldset legend {
    font-size: 0.85rem;
    padding: 6px 10px !important;
  }

  /* Buttons: ensure touch-friendly sizing */
  .btn {
    min-height: 40px;
    padding: 8px 14px;
  }
  .btn-sm {
    min-height: 32px;
    padding: 4px 10px;
  }

  /* Modal fixes for mobile */
  .modal-dialog {
    margin: 8px !important;
    max-width: calc(100vw - 16px) !important;
  }
  .modal .modal-content {
    border-radius: 12px;
  }
  .modal .modal-body {
    padding: 16px !important;
  }
  .modal .modal-header {
    padding: 12px 16px !important;
  }
  .modal .modal-footer {
    padding: 12px 16px !important;
  }

  /* Form groups: tighter spacing */
  .form-group {
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
  }

  /* Input group fixes */
  .input-group {
    padding: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Alert messages: readable on mobile */
  .alert {
    font-size: 0.85rem;
    padding: 10px 12px;
  }

  /* Dashboard welcome section */
  .main-content h1 {
    font-size: 1.5rem;
  }

  /* Quick actions grid */
  .lw-quick-actions {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  /* Getting started steps */
  .lw-getting-started-step {
    padding: 12px !important;
  }

  /* Automation cards grid */
  .lw-automation-grid {
    grid-template-columns: 1fr !important;
  }

  /* Campaign page responsive */
  .campaign-page .lw-campaign-header {
    flex-direction: column !important;
    gap: 12px;
  }
  .campaign-page .lw-campaign-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Subscription/billing pages */
  .lw-subscription-plans {
    grid-template-columns: 1fr !important;
  }

  /* Settings pages: stack vertically */
  .lw-settings-grid {
    grid-template-columns: 1fr !important;
  }

  /* Hide elements that aren't needed on mobile */
  .d-mobile-none {
    display: none !important;
  }

  /* Show mobile-only elements */
  .d-mobile-block {
    display: block !important;
  }

  /* Fix: vendor plan warning container spacing */
  .main-content > .container > .row > .col-12.mt-5 {
    margin-top: 1rem !important;
    padding-top: 1rem !important;
  }
  .main-content > .container > .row > .col-12.mb--7 {
    margin-bottom: -2rem !important;
  }
}

/* --- Tablet breakpoint (768px - 991px) --- */
@media (min-width: 768px) and (max-width: 991.98px) {
  .main-content {
    margin-left: 70px;
  }
  .main-content .container-fluid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* 2-column grid on tablet */
  .row .col-xl-3 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .lw-automation-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .lw-subscription-plans {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Nav tabs: allow wrapping on tablet */
  .nav-tabs {
    margin-left: 20px !important;
  }
}

/* --- Small mobile (< 480px) — Extra compact --- */
@media (max-width: 479.98px) {
  .main-content h1 {
    font-size: 1.25rem;
  }

  .lw-stat-card {
    padding: 12px !important;
  }

  .card .card-body:not(.p-0):not(.lw-whatsapp-chat-window) {
    padding: 10px !important;
  }

  .btn {
    font-size: 0.8rem;
    padding: 6px 10px;
  }

  .lw-quick-actions {
    grid-template-columns: 1fr !important;
  }

  .campaign-page .lw-campaign-stats {
    grid-template-columns: 1fr !important;
  }

  /* Extra small modal */
  .modal-dialog {
    margin: 4px !important;
  }
}

/* ===== CSS TYPOGRAPHY LOGO — "Elite Chat API" ===== */
.lw-css-logo {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25em;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    user-select: none;
}
.lw-css-logo__elite {
    color: #0f172a;
}
.lw-css-logo__chat {
    color: #0891b2;
    margin-left: 0.2em;
}
.lw-css-logo__api {
    color: #0f172a;
    margin-left: 0.2em;
    font-size: 0.75em;
    font-weight: 700;
    padding: 0.1em 0.35em;
    background: #f1f5f9;
    border-radius: 4px;
    position: relative;
    top: -0.05em;
}

/* Light variant — for dark backgrounds */
.lw-css-logo--light .lw-css-logo__elite {
    color: #ffffff;
}
.lw-css-logo--light .lw-css-logo__chat {
    color: #67e8f9;
}
.lw-css-logo--light .lw-css-logo__api {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
}

/* Sidebar variant */
.lw-css-logo--sidebar {
    font-size: 17px;
}
.lw-css-logo--sidebar .lw-css-logo__elite {
    color: #ffffff;
}
.lw-css-logo--sidebar .lw-css-logo__chat {
    color: #67e8f9;
}
.lw-css-logo--sidebar .lw-css-logo__api {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
    font-size: 0.7em;
}

/* Small / icon variant — collapsed sidebar "E" mark */
.lw-css-logo--small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #ffffff;
    background: linear-gradient(135deg, #0891b2, #06b6d4);
    border-radius: 8px;
    text-decoration: none;
    line-height: 1;
    letter-spacing: 0;
}

/* ================================================================
   COMPREHENSIVE MOBILE RESPONSIVE FIXES
   Pages: Campaigns, Contacts (3), Templates, Bot Replies (2),
          Team Members, Message Logs, My Subscription
   ================================================================ */

/* --- 1. Global DataTable Responsive --- */
@media (max-width: 767.98px) {
    /* Make DataTables scroll horizontally instead of overflowing the page */
    .table-responsive,
    .dataTables_wrapper,
    div.dataTables_wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    .dataTables_wrapper table.dataTable {
        min-width: 600px;
    }
    /* Reduce DataTable font size on mobile */
    .dataTables_wrapper table.dataTable th,
    .dataTables_wrapper table.dataTable td {
        font-size: 0.8rem;
        padding: 8px 6px;
        white-space: nowrap;
    }
    /* DataTable controls — search, length, info, pagination */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        margin-bottom: 8px;
    }
    .dataTables_wrapper .dataTables_filter input {
        width: 100% !important;
        max-width: 100% !important;
    }
    .dataTables_wrapper .dataTables_info {
        float: none !important;
        text-align: center;
        font-size: 0.8rem;
        padding-top: 8px;
    }
    .dataTables_wrapper .dataTables_paginate {
        float: none !important;
        text-align: center;
        margin-top: 8px;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button {
        padding: 4px 8px !important;
        font-size: 0.8rem;
    }
}

/* --- 2. Page Header — float-right buttons stack on mobile --- */
@media (max-width: 767.98px) {
    /* Convert float-right button containers to flex wrap */
    .container-fluid .col-xl-12 > .float-right,
    .container-fluid .col-xl-12 > .float-end {
        float: none !important;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 8px;
    }
    .container-fluid .col-xl-12 > .float-right > .btn,
    .container-fluid .col-xl-12 > .float-right > .lw-btn,
    .container-fluid .col-xl-12 > .float-right > a.btn,
    .container-fluid .col-xl-12 > .float-right > .btn-group,
    .container-fluid .col-xl-12 > .float-right > button {
        flex: 1 1 auto;
        text-align: center;
        font-size: 0.85rem;
        padding: 8px 12px;
    }
    /* Single float-right buttons (not inside a div) */
    .container-fluid .col-xl-12 > button.float-right,
    .container-fluid .col-xl-12 > a.float-right {
        float: none !important;
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 8px;
    }
}

/* --- 3. Page headings — smaller on mobile --- */
@media (max-width: 767.98px) {
    .header .container-fluid h1,
    .header .container-fluid h2,
    .header .container-fluid .h1,
    .header .container-fluid .h2 {
        font-size: 1.4rem;
    }
    .header .container-fluid h6.text-light,
    .header .container-fluid p {
        font-size: 0.8rem;
    }
    /* Reduce top/bottom padding on header section */
    .header.pb-6 {
        padding-bottom: 2rem !important;
    }
    .header.pt-5 {
        padding-top: 1.5rem !important;
    }
}

/* --- 4. Container padding reduction on mobile --- */
@media (max-width: 767.98px) {
    .container-fluid {
        padding-left: 12px;
        padding-right: 12px;
    }
    .container-fluid.mt-lg--6 {
        margin-top: -3rem !important;
    }
    /* Card padding reduction */
    .card-body {
        padding: 12px;
    }
    .card-header {
        padding: 12px;
    }
}

/* --- 5. Action buttons in DataTable rows --- */
@media (max-width: 767.98px) {
    /* Stack action buttons vertically in table cells */
    td .btn-sm,
    td .btn-group-sm > .btn {
        font-size: 0.75rem;
        padding: 3px 6px;
        margin: 1px 0;
    }
}

/* --- 6. Message Log filter form responsive --- */
@media (max-width: 767.98px) {
    /* Stack the message log filter form fields vertically */
    #lwMessageFilterForm .col-lg-5,
    #lwMessageFilterForm .col-lg-6,
    #lwMessageFilterForm .col-lg-1 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 8px;
    }
    #lwMessageFilterForm .lw-top-spacing-block {
        margin-top: 0;
    }
    #lwMessageFilterForm .btn-block {
        margin-top: 4px;
    }
}

/* --- 7. Campaign Page responsive --- */
@media (max-width: 767.98px) {
    /* Campaign page header — stack title and button */
    .lw-campaign-page-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 12px;
    }
    .lw-campaign-create-btn {
        width: 100%;
        text-align: center;
    }
    /* Campaign tabs — horizontal scroll */
    .lw-campaign-tab-bar {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .lw-campaign-tabs {
        flex-wrap: nowrap;
        white-space: nowrap;
    }
    /* Campaign info column */
    .lw-campaign-info__top {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .lw-campaign-info__meta {
        flex-direction: column;
        gap: 2px;
    }
    /* Campaign metrics — stack vertically */
    .lw-campaign-metrics {
        flex-direction: column;
        gap: 4px;
    }
    /* Campaign actions — tighter on mobile */
    .lw-campaign-actions {
        gap: 4px;
    }
    .lw-campaign-action-btn {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
    /* Skeleton adjustments */
    .lw-table-skeleton__row {
        flex-direction: column;
        gap: 8px;
    }
}

/* --- 8. Campaign Detail (Status) page responsive --- */
@media (max-width: 767.98px) {
    /* Header — stack title and actions */
    .lw-cd-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 12px;
    }
    .lw-cd-header__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        width: 100%;
    }
    .lw-cd-header__actions .lw-cd-action-btn,
    .lw-cd-header__actions .lw-cd-header-btn {
        flex: 1 1 auto;
        text-align: center;
        font-size: 0.8rem;
        padding: 6px 10px;
    }
    .lw-cd-header__title {
        font-size: 1.2rem;
    }
    .lw-cd-header__subtitle {
        flex-direction: column;
        gap: 2px;
    }
    .lw-cd-header__meta {
        font-size: 0.75rem;
    }
    /* Stats cards — 2 column grid on mobile */
    .lw-cd-stats {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .lw-cd-stat-card {
        padding: 12px;
    }
    .lw-cd-stat-card__value {
        font-size: 1.3rem;
    }
    .lw-cd-stat-card__label {
        font-size: 0.7rem;
    }
    .lw-cd-stat-card__action {
        width: 24px;
        height: 24px;
        font-size: 0.65rem;
    }
    /* Progress legend — wrap */
    .lw-cd-progress-legend {
        flex-wrap: wrap;
        gap: 6px;
    }
    .lw-cd-progress-legend__item {
        font-size: 0.75rem;
    }
    /* Secondary stats — 2 column */
    .lw-cd-secondary-stats {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px;
    }
    .lw-cd-secondary-stat {
        padding: 10px;
    }
    .lw-cd-secondary-stat__value {
        font-size: 1.1rem;
    }
}

@media (max-width: 479.98px) {
    /* Stats cards — single column on very small screens */
    .lw-cd-stats {
        grid-template-columns: 1fr !important;
    }
    .lw-cd-secondary-stats {
        grid-template-columns: 1fr !important;
    }
}

/* --- 9. Campaign Creation Wizard responsive --- */
@media (max-width: 767.98px) {
    /* Step indicator — compact */
    .lw-cw__steps {
        gap: 4px;
        padding: 12px 8px;
    }
    .lw-cw__step-num {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
    .lw-cw__step-label {
        font-size: 0.65rem;
    }
    .lw-cw__step-line {
        display: none;
    }
    /* Body padding */
    .lw-cw__body {
        padding: 16px 12px;
    }
    .lw-cw__title {
        font-size: 1.2rem;
    }
    /* Template grid — single column */
    .lw-cw__template-grid {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }
    .lw-template-skeleton-grid {
        grid-template-columns: 1fr !important;
    }
    /* Schedule cards — single column */
    .lw-cw__schedule-options {
        flex-direction: column;
        gap: 8px;
    }
    /* Review summary cards */
    .lw-cw__review-grid {
        grid-template-columns: 1fr !important;
    }
    /* Wizard nav buttons */
    .lw-cw__nav {
        flex-direction: column-reverse;
        gap: 8px;
    }
    .lw-cw__nav .btn {
        width: 100%;
    }
    /* Top bar — stack back and sync */
    .lw-cw-topbar {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }
    /* Template config container */
    .lw-cw__template-config {
        padding: 12px;
    }
}

/* --- 10. Contacts page responsive --- */
@media (max-width: 767.98px) {
    /* Contact list button bar */
    .container-fluid .col-xl-12 .float-right .btn-group {
        width: 100%;
    }
    .container-fluid .col-xl-12 .float-right .btn-group .btn {
        width: 100%;
    }
    /* Contact bulk actions */
    .lw-bulk-actions {
        flex-direction: column;
        gap: 8px;
    }
    /* Import/Export buttons */
    .text-right .btn,
    .text-right .lw-btn {
        display: inline-block;
        margin-bottom: 4px;
    }
}

/* --- 11. Bot Replies pages responsive --- */
@media (max-width: 767.98px) {
    /* Bot reply dropdown button — full width */
    .container-fluid .col-xl-12 .float-right .btn-group .dropdown-toggle {
        width: 100%;
    }
    .container-fluid .col-xl-12 .float-right .btn-group .dropdown-menu {
        width: 100%;
    }
}

/* --- 12. Team Members page responsive --- */
@media (max-width: 767.98px) {
    /* Permissions fieldset */
    fieldset legend {
        font-size: 1rem;
    }
    fieldset .d-block.my-3 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
}

/* --- 13. My Subscription page responsive --- */
@media (max-width: 767.98px) {
    /* Subscription plan cards — stack */
    .lw-plan-card,
    .pricing-card {
        margin-bottom: 16px;
    }
}

/* --- 14. Modal responsive improvements --- */
@media (max-width: 767.98px) {
    .modal-dialog {
        margin: 8px;
        max-width: calc(100vw - 16px);
    }
    .modal-body {
        padding: 12px;
    }
    .modal-footer {
        padding: 8px 12px;
        flex-wrap: wrap;
        gap: 8px;
    }
    .modal-footer .btn {
        flex: 1 1 auto;
        min-width: 0;
    }
    .lw-form-modal-body {
        padding: 12px;
    }
}

/* --- 15. Global button spacing on mobile --- */
@media (max-width: 767.98px) {
    .btn + .btn {
        margin-left: 0;
    }
    .container-fluid .col-xl-12.text-right {
        text-align: left !important;
    }
    /* Ensure col-xl-12 mb-3 with text-right stacks buttons */
    .col-xl-12.mb-3 .text-right .btn,
    .col-xl-12.mb-3 .text-right .lw-btn {
        margin-bottom: 4px;
    }
}

/* --- 16. Help modal and misc responsive --- */
@media (max-width: 767.98px) {
    .lw-help-modal-btn {
        font-size: 0.8rem;
        padding: 4px 8px;
    }
    /* Form group spacing */
    .form-group {
        margin-bottom: 0.75rem;
    }
    /* Selectize inputs full width */
    .selectize-control {
        width: 100% !important;
    }
}

/* --- 17. Individual Send Template page responsive --- */
@media (max-width: 767.98px) {
    /* Stack the back/sync/manage buttons */
    .col-xl-12.mb-3.text-right {
        text-align: left !important;
    }
    .col-xl-12.mb-3.text-right .btn,
    .col-xl-12.mb-3.text-right .lw-btn {
        display: block;
        width: 100%;
        margin-bottom: 6px;
        text-align: center;
    }
    /* Contact info card header */
    .card-header div {
        font-size: 0.85rem;
        margin-bottom: 2px;
    }
    /* Template form narrower column expansion */
    .card-body .col-sm-12.col-md-8.col-lg-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* --- 18. Message details modal content --- */
@media (max-width: 767.98px) {
    .lw-details-item.w-75 {
        width: 100% !important;
    }
}
