/**
 * Clay 3.159.0
 *
 * SPDX-FileCopyrightText: © 2020 Liferay, Inc. <https://liferay.com>
 * SPDX-FileCopyrightText: © 2020 Contributors to the project Clay <https://github.com/liferay/clay/graphs/contributors>
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */
/**
 * Bootstrap v4.4.1
 *
 * SPDX-FileCopyrightText: © 2019 Twitter, Inc. <https://twitter.com>
 * SPDX-FileCopyrightText: © 2019 The Bootstrap Authors <https://getbootstrap.com/>
 *
 * SPDX-License-Identifier: LicenseRef-MIT-Bootstrap
 */
/**
 * Clay 3.159.0
 *
 * SPDX-FileCopyrightText: © 2020 Liferay, Inc. <https://liferay.com>
 * SPDX-FileCopyrightText: © 2020 Contributors to the project Clay <https://github.com/liferay/clay/graphs/contributors>
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */
/**
 * Bootstrap v4.4.1
 *
 * SPDX-FileCopyrightText: © 2019 Twitter, Inc. <https://twitter.com>
 * SPDX-FileCopyrightText: © 2019 The Bootstrap Authors <https://getbootstrap.com/>
 *
 * SPDX-License-Identifier: LicenseRef-MIT-Bootstrap
 */
.quick-access-nav {
  position: fixed;
  z-index: 999;
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
}

.lfr-asset-column-details .lfr-asset-categories {
  color: #7d7d7d;
}
.lfr-asset-column-details .lfr-asset-categories .lfr-asset-category {
  color: #555;
}
.lfr-asset-column-details .lfr-asset-description {
  color: #444;
  font-style: italic;
  margin: 0.5em auto 2em;
  -ms-hyphens: none;
  -webkit-hyphens: none;
  hyphens: none;
}
.lfr-asset-column-details .lfr-asset-icon {
  border-right: 1px solid transparent;
  color: #999;
  float: left;
  line-height: 1em;
  margin-right: 10px;
  padding-right: 10px;
}
.lfr-asset-column-details .lfr-asset-icon.last {
  border-width: 0;
}
.lfr-asset-column-details .lfr-asset-tags {
  color: #7d7d7d;
}
.lfr-asset-column-details .lfr-asset-tags .tag {
  color: #555;
}
.lfr-asset-column-details .lfr-asset-metadata {
  clear: both;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
}
.lfr-asset-column-details .lfr-panel {
  clear: both;
  margin-bottom: 0.2em;
}
.lfr-asset-column-details .lfr-panel.lfr-extended {
  border: 1px solid #ccc;
  margin-bottom: 0;
}
.lfr-asset-column-details .taglib-custom-attributes-list label,
.lfr-asset-column-details .lfr-asset-field label {
  display: block;
}
.lfr-asset-column-details .taglib-custom-attributes-list {
  margin-bottom: 1em;
}

.overlay {
  position: absolute;
}

.overlay-hidden,
.overlaymask-hidden {
  display: none;
}

.lfr-form-row {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  margin-top: 10px;
  padding: 1px 5px 25px;
  position: relative;
}
.lfr-form-row:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}
.lfr-form-row:hover {
  border: solid #ccc;
  border-width: 1px 0;
  padding-top: 0;
}
.lfr-form-row.lfr-form-row-inline .form-group {
  margin-right: 5px;
}
.lfr-form-row legend .field-label {
  float: left;
  margin-right: 10px;
}
.lfr-form-row .handle-sort-vertical {
  background: url(../images/application/handle_sort_vertical.png) no-repeat 0 50%;
  cursor: move;
  padding-left: 20px;
}
.lfr-form-row fieldset {
  border-width: 0;
  margin: 0;
  padding: 0;
}

.lfr-autorow-controls {
  bottom: 5px;
  position: absolute;
  right: 5px;
}

.datepicker-popover-content .popover-content {
  padding: 0.75rem 1rem;
}

.dropdown.open > .dropdown-menu, .overlay-content .open > .dropdown-menu {
  display: block;
}

.user-avatar-link {
  display: block;
  position: relative;
}
.panel-notifications-count, html:not(#__):not(#___) .cadmin .panel-notifications-count {
  border-radius: 50rem;
  display: flex;
  margin: 0;
  max-width: none;
  position: absolute;
  right: calc(100% - 0.7rem);
  top: -0.4rem;
}

.badge, html:not(#__):not(#___) .cadmin .badge {
  margin: 0.25rem;
}

.user-avatar-link .text-default {
  align-items: center;
  display: flex;
}
.user-avatar-link .text-default .user-full-name {
  margin-left: 0.5rem;
}
@media (max-width: 575.98px) {
  .user-avatar-link .text-default .user-full-name {
    display: none;
  }
}

.user-personal-bar .fieldset {
  position: relative;
}
.user-personal-bar .user-avatar-link .panel-notifications-count {
  right: calc(100% - 1rem);
  top: -0.6rem;
}

.form-control-inline {
  background-color: transparent;
  font-size: 1.125rem;
  font-weight: 700;
}
.form-control-inline:not(:hover) {
  border-color: transparent;
}
.form-control-inline::placeholder {
  color: #a9afb5;
  font-style: italic;
}

.form-search .input-group {
  position: relative;
}
.form-search .input-group.advanced-search .search-query {
  padding-left: 40px;
  z-index: 0;
}
.form-search .input-group.advanced-search .toggle-advanced {
  cursor: pointer;
  left: 0;
  line-height: 1;
  padding: 8px 10px;
  position: absolute;
  top: 0;
}
.form-search .input-group.advanced-search .toggle-advanced .caret {
  margin-top: 7px;
}
.form-search .input-group.advanced-search .toggle-advanced .icon-search {
  font-size: 14px;
}
@media (max-width: 991.98px) {
  .form-search .input-group {
    width: 100%;
  }
  .form-search .input-group .btn {
    clip: rect(0, 0, 0, 0);
    left: -9999px;
    position: absolute;
  }
  .form-search .input-group input.search-query {
    width: 100%;
  }
}

.lfr-table {
  border-collapse: collapse;
  clear: both;
}
.lfr-table > tbody > tr > td,
.lfr-table > tbody > tr > th,
.lfr-table > thead > tr > td,
.lfr-table > thead > tr > th,
.lfr-table > tfoot > tr > td,
.lfr-table > tfoot > tr > th {
  padding: 0 5px;
  overflow-wrap: break-all;
  word-wrap: break-all;
}
.lfr-table > tbody > tr > td:first-child, .lfr-table > tbody > tr > td.first-child,
.lfr-table > tbody > tr > th:first-child,
.lfr-table > tbody > tr > th.first-child,
.lfr-table > thead > tr > td:first-child,
.lfr-table > thead > tr > td.first-child,
.lfr-table > thead > tr > th:first-child,
.lfr-table > thead > tr > th.first-child,
.lfr-table > tfoot > tr > td:first-child,
.lfr-table > tfoot > tr > td.first-child,
.lfr-table > tfoot > tr > th:first-child,
.lfr-table > tfoot > tr > th.first-child {
  padding-left: 0;
}
.lfr-table > tbody > tr > td:last-child, .lfr-table > tbody > tr > td.last-child,
.lfr-table > tbody > tr > th:last-child,
.lfr-table > tbody > tr > th.last-child,
.lfr-table > thead > tr > td:last-child,
.lfr-table > thead > tr > td.last-child,
.lfr-table > thead > tr > th:last-child,
.lfr-table > thead > tr > th.last-child,
.lfr-table > tfoot > tr > td:last-child,
.lfr-table > tfoot > tr > td.last-child,
.lfr-table > tfoot > tr > th:last-child,
.lfr-table > tfoot > tr > th.last-child {
  padding-right: 0;
}
.lfr-table > tbody > tr > th,
.lfr-table > thead > tr > th,
.lfr-table > tfoot > tr > th {
  font-weight: bold;
}

.lfr-pagination:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}
.lfr-pagination .dropdown-menu {
  display: none;
}
.lfr-pagination .dropdown-toggle .icon-caret-down {
  margin-left: 5px;
}
.lfr-pagination .lfr-pagination-controls {
  float: left;
}
.lfr-pagination .lfr-pagination-controls .search-results {
  display: inline-block;
  margin-left: 10px;
  margin-top: 5px;
  top: 10px;
}
.lfr-pagination .lfr-pagination-controls li .lfr-pagination-link {
  border-width: 0;
  clear: both;
  color: #333;
  display: block;
  font-weight: normal;
  line-height: 20px;
  padding: 3px 20px;
  text-align: left;
  white-space: nowrap;
  width: 100%;
}
.lfr-pagination .lfr-pagination-delta-selector {
  float: left;
}
@media (max-width: 991.98px) {
  .lfr-pagination .lfr-pagination-delta-selector .lfr-icon-menu-text {
    display: none;
  }
}
.lfr-pagination .pagination-content {
  float: right;
}

.lfr-panel.lfr-extended {
  border: 1px solid transparent;
  border-color: #dedede #bfbfbf #bfbfbf #dedede;
}
.lfr-panel.lfr-extended.lfr-collapsible .lfr-panel-button {
  display: block;
}
.lfr-panel.lfr-extended.lfr-collapsed .lfr-panel-titlebar {
  border-bottom-width: 0;
}
.lfr-panel.panel-default .panel-heading {
  border-bottom-width: 0;
}
.lfr-panel .toggler-header {
  cursor: pointer;
}

.sidebar-sm .sheet-subtitle {
  font-size: 0.75rem;
  margin-bottom: 1rem;
}
.sidebar-sm .form-control[type=file] {
  padding: 0;
}
.sidebar-sm .article-content-description .input-localized.input-localized-editor .input-group-item .wrapper .form-control {
  min-height: auto;
  padding: 0.285rem 0.75rem;
}
.sidebar-sm .list-group-item-flex {
  padding: 0.5rem 0.25rem;
}
.sidebar-sm .list-group-item-flex .autofit-col {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.lfr-translation-manager {
  border-radius: 4px;
  display: inline-block;
  margin-top: 0.5em;
  min-height: 1.8em;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-default-locale {
  display: inline-block;
  width: auto;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-icon-menu {
  float: none;
  padding: 0.4em 0;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-icon-menu li,
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-icon-menu li strong {
  display: inline;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-translations-message {
  margin: 10px 0;
}
.lfr-translation-manager .lfr-translation-manager-available-translations {
  white-space: normal;
}
.lfr-translation-manager .lfr-translation-manager-available-translations .lfr-translation-manager-available-translations-links {
  line-height: 1;
}
.lfr-translation-manager .lfr-translation-manager-translation {
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  display: inline-block;
  margin: 0.2em;
  padding: 0.4em 0.3em 0.4em 0.5em;
  text-decoration: none;
}
.lfr-translation-manager .lfr-translation-manager-translation * {
  vertical-align: middle;
}
.lfr-translation-manager .lfr-translation-manager-translation img {
  margin-right: 0.3em;
}
.lfr-translation-manager .lfr-translation-manager-translation:hover {
  background-color: #d1e5ef;
}
.lfr-translation-manager .lfr-translation-manager-translation.lfr-translation-manager-translation-editing {
  background-color: #598bec;
  border-color: #224fa8;
  color: #fff;
}
.lfr-translation-manager .lfr-translation-manager-change-default-locale {
  margin: 0 0.4em;
}
.lfr-translation-manager .lfr-translation-manager-delete-translation {
  display: inline-block;
  padding: 0 2px;
}
.lfr-translation-manager .lfr-translation-manager-delete-translation svg {
  pointer-events: none;
}

.lfr-tree a {
  text-decoration: none;
}
.lfr-tree li {
  margin-bottom: 2px;
  padding-left: 0;
}
.lfr-tree li ul li, .lfr-tree li.tree-item {
  padding-left: 0;
}
.lfr-tree li.tree-item {
  padding-left: 5px;
}
.lfr-tree li.tree-item li {
  padding-left: 20px;
}
.lfr-tree li.tree-item ul {
  margin-left: 0;
  margin-top: 5px;
}

.lfr-upload-container {
  margin-bottom: 1rem;
}
.lfr-upload-container .upload-target {
  border: 3px dashed #e5e7e9;
  margin-bottom: 1rem;
  min-height: 2rem;
  padding: 2rem 0;
  position: relative;
  text-align: center;
}
.upload-drop-intent .lfr-upload-container .upload-target {
  z-index: 100;
}
.upload-drop-active .lfr-upload-container .upload-target {
  background-color: #92e5a5;
  border-color: #69db83;
}
.lfr-upload-container .upload-target .drop-file-text {
  font-weight: normal;
}
.mobile .lfr-upload-container .upload-target .drop-file-text {
  display: none;
}
.lfr-upload-container .upload-target .small {
  display: block;
  margin: 5px 0;
  text-transform: lowercase;
}
.lfr-upload-container .manage-upload-target {
  padding-top: 5px;
  position: relative;
}
.lfr-upload-container .manage-upload-target .select-files {
  float: left;
  line-height: 0;
  margin: 0 1.125rem 1.125rem;
  padding: 0 0 0 5px;
}
.lfr-upload-container .cancel-uploads,
.lfr-upload-container .clear-uploads {
  background-repeat: no-repeat;
  float: right;
}
.lfr-upload-container .cancel-uploads {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAnFBMVEX////4YWP/dXjyS07/dXj9bXD6a234YWP4XWD2WVv2VFfsOTzoLzHmKSvkISP2VFf0TE/vREftPT/iHB72WVvvREf0TE//hon/gYX/fYD/e33/dXj/cXP9bXD/a236a23/Zmb4YWP4XWD/Wl32WVv/VVj2VFf3VFb0TE/yS072SUvvREfuQELtPT/sOTzrMzXoLzHnLC/mKSvkISPh2jkWAAAAF3RSTlMAESIiMzMzMzMzMzMzMzNERERERHd3qtw8lzkAAACOSURBVHjaZcjZDsIgEIXhcd+tu5YBKUixttS6vP+7OQKJTfxvTr4D7Tpxu/2w410SjDjwVvLQ805TPiRryfQeKM6OTI68K/BJPHGlJZJjSqSMofEOGXbJecsTgzkds58V5+J8refBU7Jx9yIrmkW0sA6gqbLyuaRjZZWtgXq58rEFan0jf3uTfRuIkf/7AO8DDcVPSSG3AAAAAElFTkSuQmCC);
  margin-right: 0;
}
.lfr-upload-container .clear-uploads {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAdVBMVEX///+6QwTEVx65RQPEVx3EWB64RQPDVxq5RAO5RAO5RQPATQ65RQO5RQO5RQPRczjJZCW9TQTLay28QgTdZAHhaAPmdyHqeQXrikDudgDvfxj0nWP1qHL2tY33tY34dgD+za7+1rj/dxH/fxj/hiH/kk3///9TM3sUAAAAFHRSTlMAbXd4eHh6gN3e3+Hi4+T5+/z8/mIsq5IAAABHSURBVBjTY2CgGWDlFuZhRuIz8cspyggxIgQ4ZFWVVCQ4EQLCCmpqalLCCAFeaWV5SVE+hAC7gJi4iCAbkqksXMK8bNRzNADCOQN++eLhCQAAAABJRU5ErkJggg==);
  padding-left: 16px;
}
.lfr-upload-container .upload-file.upload-complete.file-saved {
  padding-left: 25px;
}
.lfr-upload-container .upload-file .file-title {
  display: inline-block;
  max-width: 95%;
  overflow: hidden;
  padding-right: 16px;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}
.lfr-upload-container .upload-file .icon-file {
  font-size: 40px;
}
.lfr-upload-container .upload-list-info {
  margin: 1em 0 0.5em;
}
.lfr-upload-container .upload-list-info .h4,
.lfr-upload-container .upload-list-info h4 {
  font-size: 1.3em;
}
.lfr-upload-container .cancel-button {
  color: #6c757d;
  margin-top: 1px;
  position: absolute;
  right: 5px;
  top: 50%;
  white-space: nowrap;
}
.lfr-upload-container .cancel-button .cancel-button-text {
  display: none;
  margin-left: 5px;
}
.lfr-upload-container .cancel-button:hover .cancel-button-text {
  display: inline;
}
.lfr-upload-container .cancel-button .lexicon-icon {
  height: 12px;
}
.lfr-upload-container .delete-button {
  color: #6c757d;
}
.lfr-upload-container .delete-button-col {
  padding-right: 10px;
}
.lfr-upload-container .file-added .success-message {
  float: right;
  font-weight: normal;
}
.lfr-upload-container .upload-error {
  opacity: 1;
  padding-left: 25px;
}
.lfr-upload-container .upload-complete .cancel-button,
.lfr-upload-container .delete-button,
.lfr-upload-container .upload-complete.file-saved .delete-button,
.lfr-upload-container .upload-complete.upload-error .delete-button {
  display: none;
}
.lfr-upload-container .multiple-files .upload-error {
  background: #f5c4c9 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJPSURBVDjLpZPLS5RhFMYfv9QJlelTQZwRb2OKlKuINuHGLlBEBEOLxAu46oL0F0QQFdWizUCrWnjBaDHgThCMoiKkhUONTqmjmDp2GZ0UnWbmfc/ztrC+GbM2dXbv4ZzfeQ7vefKMMfifyP89IbevNNCYdkN2kawkCZKfSPZTOGTf6Y/m1uflKlC3LvsNTWArr9BT2LAf+W73dn5jHclIBFZyfYWU3or7T4K7AJmbl/yG7EtX1BQXNTVCYgtgbAEAYHlqYHlrsTEVQWr63RZFuqsfDAcdQPrGRR/JF5nKGm9xUxMyr0YBAEXXHgIANq/3ADQobD2J9fAkNiMTMSFb9z8ambMAQER3JC1XttkYGGZXoyZEGyTHRuBuPgBTUu7VSnUAgAUAWutOV2MjZGkehgYUA6O5A0AlkAyRnotiX3MLlFKduYCqAtuGXpyH0XQmOj+TIURt51OzURTYZdBKV2UBSsOIcRp/TVTT4ewK6idECAihtUKOArWcjq/B8tQ6UkUR31+OYXP4sTOdisivrkMyHodWejlXwcC38Fvs8dY5xaIId89VlJy7ACpCNCFCuOp8+BJ6A631gANQSg1mVmOxxGQYRW2nHMha4B5WA3chsv22T5/B13AIicWZmNZ6cMchTXUe81Okzz54pLi0uQWp+TmkZqMwxsBV74Or3od4OISPr0e3SHa3PX0f3HXKofNH/UIG9pZ5PeUth+CyS2EMkEqs4fPEOBJLsyske48/+xD8oxcAYPzs4QaS7RR2kbLTTOTQieczfzfTv8QPldGvTGoF6/8AAAAASUVORK5CYII=) no-repeat 5px 5px;
  border-color: #bd2130;
  color: #bd2130;
  font-weight: normal;
  margin-bottom: 16px;
  padding: 8px 8px 8px 24px;
}
.lfr-upload-container .multiple-files .upload-error .error-message {
  display: block;
}
.lfr-upload-container .multiple-files .upload-complete.file-saved .form-check-middle-left .card-body,
.lfr-upload-container .multiple-files .upload-complete.upload-error .form-check-middle-left .card-body {
  padding-left: 1rem;
}
.lfr-upload-container .multiple-files .upload-complete.file-saved .form-check-middle-left .custom-control-label,
.lfr-upload-container .multiple-files .upload-complete.upload-error .form-check-middle-left .custom-control-label {
  display: none;
}
.lfr-upload-container .single-file .upload-error {
  list-style: none;
  margin-top: 1em;
}
.lfr-upload-container .single-file .upload-error .upload-error-message {
  margin-bottom: 0.5em;
}
.lfr-upload-container .upload-complete {
  padding-left: 5px;
}
.lfr-upload-container .upload-complete .error-message,
.lfr-upload-container .upload-complete .success-message {
  font-weight: bold;
  margin-left: 1em;
}
.lfr-upload-container .upload-complete .delete-button {
  display: inline-block;
}
.lfr-upload-container .upload-complete .select-file:disabled + .custom-control-label {
  display: none;
}
.lfr-upload-container .progress {
  display: none;
  margin-top: 0.5rem;
}
.lfr-upload-container .file-uploading .progress {
  display: flex;
}

.lfr-alert-container {
  left: 0;
  position: absolute;
  right: auto;
  top: auto;
  width: 100%;
  z-index: 430;
}
.lfr-alert-container.inline-alert-container {
  position: relative;
}
.lfr-alert-container.inline-alert-container .lfr-alert-wrapper {
  padding: 0;
}
.lfr-alert-container .lfr-alert-wrapper {
  margin-bottom: 5px;
  overflow: hidden;
}

.lfr-search-container td .overlay.entry-action {
  position: static;
}
.lfr-search-container td .overlay.entry-action .btn a {
  display: block;
  padding: 4px 12px;
}

.contextual-sidebar {
  height: calc(
		100vh - var(--control-menu-container-height) - 49px
	);
  pointer-events: none;
  position: fixed;
  right: 0;
  top: calc(var(--control-menu-container-height) + 49px);
  transform: translateX(100%);
  transition: transform ease 0.5s;
  visibility: hidden;
  width: 320px;
  will-change: transform;
}
.contextual-sidebar.contextual-sidebar-visible {
  pointer-events: auto;
  transform: translateX(0);
  visibility: visible;
}

@media (min-width: 768px) {
  .contextual-sidebar {
    height: calc(
			100vh - var(--control-menu-container-height) - 64px
		);
    top: calc(
			var(--control-menu-container-height) + 64px
		);
  }
  .contextual-sidebar-content {
    transition: padding ease 0.5s;
    will-change: padding;
  }
  .contextual-sidebar-visible .contextual-sidebar-content,
  .contextual-sidebar-visible + .contextual-sidebar-content {
    padding-right: 320px;
  }
}
.taglib-diff-html div.diff-removed-image {
  background: #fdc6c6 url(../images/diff/minus.png);
}
.taglib-diff-html div.diff-added-image {
  background: #cfc url(../images/diff/plus.png) no-repeat;
}
.taglib-diff-html div.diff-removed-image, .taglib-diff-html div.diff-added-image {
  height: 300px;
  margin: 2px;
  opacity: 0.55;
  position: absolute;
  width: 200px;
}
.taglib-diff-html span.diff-html-added {
  background-color: #cfc;
  font-size: 1em;
}
.taglib-diff-html span.diff-html-added img {
  border: 2px solid #cfc;
}
.taglib-diff-html span.diff-html-changed {
  background: url(../images/diff/underline.png) bottom repeat-x;
}
.taglib-diff-html span.diff-html-changed img {
  border: 2px dotted #009;
}
.taglib-diff-html span.diff-html-removed {
  background-color: #fdc6c6;
  font-size: 1em;
  text-decoration: line-through;
}
.taglib-diff-html span.diff-html-removed img {
  border: 2px solid #fdc6c6;
}

.taglib-discussion {
  font-size: 0.875rem;
  margin-top: 1rem;
}
.taglib-discussion .actions-menu .component-action {
  display: inline-flex;
}
.taglib-discussion .button-holder {
  margin: 1rem 0;
}
.taglib-discussion .comment-container {
  margin-bottom: 1.5rem;
}
.taglib-discussion .lfr-discussion .lfr-discussion-form-edit .alloy-editor-placeholder {
  border-left-color: #dbdde1;
}
.taglib-discussion .lfr-discussion-body {
  font-size: 1rem;
}
@media (min-width: 576px) {
  .taglib-discussion .lfr-discussion-body {
    padding-left: 3.5rem;
  }
}
@media (min-width: 576px) {
  .taglib-discussion .lfr-discussion-details .taglib-user-display {
    word-wrap: break-word;
  }
}
.taglib-discussion .lfr-discussion-details .taglib-user-display .user-details .user-name {
  font-weight: bold;
  text-decoration: none;
}
.taglib-discussion .lfr-discussion-details .taglib-user-display .user-details .user-name:hover {
  text-decoration: underline;
}
.taglib-discussion .lfr-discussion-details .taglib-user-display .user-profile-image .avatar {
  background-size: 50px;
}
.taglib-discussion .lfr-discussion-container {
  border-bottom: 1px solid #e7e7ed;
  margin-bottom: 1.5rem;
}
.taglib-discussion .lfr-discussion-container:first-of-type {
  border-top: 1px solid #e7e7ed;
  padding-top: 1.5rem;
}
.taglib-discussion .lfr-discussion-container:last-of-type {
  border-bottom: 0;
}
.taglib-discussion .lfr-discussion-container .lfr-discussion {
  padding-left: 1rem;
}
.taglib-discussion .lfr-discussion-container .lfr-discussion .lfr-discussion .lfr-discussion .lfr-discussion {
  padding-left: 0;
}
@media (min-width: 576px) {
  .taglib-discussion .lfr-discussion-container .lfr-discussion {
    padding-left: 3.5rem;
  }
}
.taglib-discussion .lfr-discussion-parent-link {
  color: #67678c;
  font-weight: 600;
  margin-left: 1em;
}
@media (max-width: 767.98px) {
  .taglib-discussion .lfr-discussion-parent-link {
    display: block;
    margin-left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.taglib-discussion .lfr-discussion-controls .autofit-col:first-of-type > .btn-outline-borderless {
  margin-left: -0.75rem;
}
.taglib-discussion .lfr-discussion-more-comments {
  border-top: 1px solid #e7e7ed;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  text-align: center;
}
.taglib-discussion .username {
  color: #272833;
  font-weight: 600;
}
.taglib-discussion .taglib-workflow-status {
  margin-left: 0.5rem;
}
.taglib-discussion .workflow-value {
  text-transform: uppercase;
}
@media (min-width: 576px) {
  .taglib-discussion .actions-menu {
    display: none;
  }
  .taglib-discussion .comment-container:hover .actions-menu,
  .taglib-discussion .actions-menu:focus,
  .taglib-discussion .actions-menu.open {
    display: inline-block;
  }
}

.drop-zone {
  min-height: 80px;
  padding: 20px;
  text-align: center;
}
.drop-zone.drop-enabled {
  outline: 2px dashed transparent;
}
.drop-zone.drop-enabled:not(.no-border) {
  outline-color: rgba(176, 180, 187, 0.5);
}
.drop-zone p {
  margin: 10px auto 0;
  max-width: 75%;
}

.drop-here-info {
  font-size: 25px;
  height: 100%;
  left: 0;
  min-height: 100px;
  opacity: 0;
  position: absolute;
  text-align: center;
  top: 0;
  visibility: hidden;
  width: 100%;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .drop-here-info {
    transition: none;
  }
}
.drop-here-info {
  transition: none;
}

.drop-here-info .drop-here-indicator {
  height: 115px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.drop-here-info .drop-icons {
  display: inline-block;
  position: relative;
  width: 160px;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .drop-here-info .drop-icons {
    transition: none;
  }
}
.drop-here-info .drop-icons {
  transition: none;
}

.drop-here-info .drop-icons span {
  border-radius: 3px;
  position: absolute;
  text-align: center;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .drop-here-info .drop-icons span {
    transition: none;
  }
}
.drop-here-info .drop-icons span {
  transition: none;
}

.drop-here-info .drop-icons span:nth-of-type(1) {
  box-shadow: 5px 4px 0 0 rgba(0, 0, 0, 0.08);
  height: 60px;
  left: 0;
  line-height: 60px;
  opacity: 0;
  top: 10px;
  transform: rotate(25deg);
  width: 60px;
}
.drop-here-info .drop-icons span:nth-of-type(2) {
  background: #00c2ff;
  color: #fff;
  height: 80px;
  left: 40px;
  line-height: 80px;
  width: 80px;
  z-index: 2;
}
.drop-here-info .drop-icons span:nth-of-type(3) {
  box-shadow: -5px 4px 0 0 rgba(0, 0, 0, 0.08);
  display: block;
  font-size: 45px;
  height: 70px;
  left: 90px;
  line-height: 70px;
  opacity: 0;
  position: relative;
  top: 8px;
  transform: rotate(-25deg);
  width: 70px;
  z-index: 1;
}
.drop-here-info .drop-icons span:nth-of-type(1), .drop-here-info .drop-icons span:nth-of-type(3) {
  background: #e8e6e8;
  color: #a5a6ac;
}
.drop-here-info .drop-text {
  color: #fff;
  display: block;
  font-size: 20px;
  margin-left: 0;
  margin-top: 20px;
}
.drop-active .drop-here-info {
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.drop-active .drop-here-info .drop-icons span:nth-of-type(1), .drop-active .drop-here-info .drop-icons span:nth-of-type(3) {
  opacity: 1;
}
.drop-active .drop-here-info span:nth-of-type(1) {
  transform: rotate(-20deg);
}
.drop-active .drop-here-info span:nth-of-type(2) {
  transform: scale(1);
}
.drop-active .drop-here-info span:nth-of-type(3) {
  transform: rotate(15deg);
}

.taglib-empty-result-message.sheet {
  margin-bottom: 24px;
}
.taglib-empty-result-message .taglib-empty-result-message-description {
  color: #6c757d;
  margin-top: 8px;
}
.taglib-empty-result-message .taglib-empty-result-message-header,
.taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn,
.taglib-empty-result-message .taglib-empty-search-result-message-header {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  margin-left: auto;
  margin-right: auto;
}
.taglib-empty-result-message .taglib-empty-result-message-header,
.taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
  max-width: 200px;
  padding-top: 250px;
}
.taglib-empty-result-message .taglib-empty-result-message-header,
.taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
  background-image: url(../images/states/empty_state.svg);
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-empty-result-message-header,
  .taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
    background-image: url(../images/states/empty_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-result-message-header,
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
  background-image: url(../images/states/empty_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-empty-search-result-message-header {
  background-image: url(../images/states/search_state.svg);
  max-width: 210px;
  padding-top: 232px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-empty-search-result-message-header {
    background-image: url(../images/states/search_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-search-result-message-header {
  background-image: url(../images/states/search_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-empty-state {
  background-image: url(../images/states/empty_state.svg);
  margin: auto;
  max-width: 250px;
  padding-top: 250px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-empty-state {
    background-image: url(../images/states/empty_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-state {
  background-image: url(../images/states/empty_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-success-state {
  background-image: url(../images/states/success_state.svg);
  margin: auto;
  max-width: 250px;
  padding-top: 250px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-success-state {
    background-image: url(../images/states/success_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-success-state {
  background-image: url(../images/states/success_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-search-state {
  background-image: url(../images/states/search_state.svg);
  margin: auto;
  max-width: 250px;
  padding-top: 250px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-search-state {
    background-image: url(../images/states/search_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-search-state {
  background-image: url(../images/states/search_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-empty-result-message-title {
  font-size: 1rem;
  margin-top: 48px;
}
.taglib-empty-result-message .taglib-empty-result-message-description {
  font-size: 0.875rem;
}
.taglib-empty-result-message .taglib-empty-result-message-header + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-empty-search-result-message-header + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-empty-state + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-success-state + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-search-state + .taglib-empty-result-message-title {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.taglib-empty-result-message .taglib-empty-result-message-header ~ .taglib-empty-result-message-description, .taglib-empty-result-message .taglib-empty-result-message-header ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-empty-search-result-message-header ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-empty-search-result-message-header ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-empty-state ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-empty-state ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-success-state ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-success-state ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-search-state ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-search-state ~ .taglib-empty-result-message-actions {
  font-size: 1rem;
  text-align: center;
}

.field-wrapper.form-inline .control-label {
  display: inline-block;
}

.field-wrapper-html .input-localized .input-group-item {
  flex-wrap: nowrap;
}

.taglib-header {
  border-bottom: 1px solid #c8c9ca;
  color: #555;
  margin-bottom: 1em;
  padding-bottom: 10px;
}
.taglib-header .header-title {
  display: inline-block;
  margin: 0.1em;
  max-width: 100%;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
  word-wrap: normal;
}
.taglib-header .header-back-to {
  display: inline-block;
  vertical-align: middle;
}
.taglib-header .header-back-to a {
  display: block;
  font-weight: bold;
  padding: 0 0.3em 0 0;
  text-decoration: none;
}

.taglib-icon {
  text-decoration: none;
}
.taglib-icon:not(.btn):hover .taglib-text, .taglib-icon:not(.btn):focus .taglib-text {
  text-decoration: underline;
}
.taglib-icon[lang] > img {
  vertical-align: baseline;
  width: 16px;
}

.taglib-icon-help {
  color: #6c757d !important;
}
.taglib-icon-help:hover, .taglib-icon-help:active {
  color: #343a40 !important;
}

.icon-monospaced {
  color: inherit;
  display: inline-block;
  height: 2rem;
  line-height: 34px;
  text-align: center;
  width: 2rem;
}
.icon-monospaced.lexicon-icon {
  padding: 8px;
}

.taglib-icon-list li {
  float: left;
  margin-right: 1em;
}
.taglib-icon-list:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}

.lfr-icon-menu .lfr-icon-menu-icon {
  max-width: none;
}
@media (max-width: 767.98px) {
  .table-cell.last .lfr-icon-menu .dropdown-toggle {
    text-align: center;
  }
  .table-cell.last .lfr-icon-menu .dropdown-toggle > img,
  .table-cell.last .lfr-icon-menu .dropdown-toggle .lfr-icon-menu-text {
    display: none;
  }
}

.lfr-menu-list {
  float: none;
  overflow-y: auto;
  position: relative;
}
.lfr-menu-list.direction-right {
  margin: 0 2px;
}
.lfr-menu-list.dropdown-menu {
  float: none;
  position: relative;
}
@media (max-width: 991.98px) {
  .lfr-menu-list.dropdown-menu > li > a {
    font-size: 22px;
    line-height: 40px;
    white-space: normal;
  }
  .lfr-menu-list.dropdown-menu > li > a img {
    margin-bottom: 3px;
  }
}
.lfr-menu-list.dropdown-menu .search-panel {
  margin-bottom: 0;
}
.lfr-menu-list.dropdown-menu .search-panel .form-group {
  margin: 0 16px;
}
.lfr-menu-list.dropdown-menu .search-panel .menu-item-filter {
  width: auto;
}
body > .lfr-menu-list ul {
  border-radius: 4px;
}

.lfr-icon-menu-open:after {
  clear: both;
  content: "";
  display: table;
}
.lfr-icon-menu-open .dropdown-menu {
  position: static;
}

.input-localized.input-localized-editor .form-control {
  border-width: 0;
  height: 100%;
  padding: 0;
}
.input-localized .input-group-item {
  flex-direction: column;
}
.input-localized .input-localized-content {
  margin-left: 6px;
}
.input-group .input-localized .input-localized-content {
  margin-top: 3px;
}
.input-localized .lfr-input-localized .lfr-input-localized-state {
  background-color: #ddd;
}
.input-localized .lfr-input-localized .lfr-input-localized-state.lfr-input-localized-state-error {
  background-color: #ff0047;
}
.input-localized .lfr-input-localized-default a {
  margin-right: 14px;
}
.input-localized .lfr-input-localized-state {
  height: 4px;
  margin: 3px 5px;
  width: 4px;
}
.input-localized .palette-item-inner .lfr-input-localized-flag {
  font-size: 16px;
  opacity: 0.5;
}
.input-localized .palette-item,
.input-localized .palette-item-hover,
.input-localized .palette-item-hover .palette-item-inner {
  border-color: transparent;
}
.input-localized .palette-item-inner {
  border-color: #666;
  display: block;
  height: 16px;
  width: 16px;
}
.input-localized .palette-item-selected .lfr-input-localized-state {
  background: #27c1f2;
}

.input-localized-palette-container .palette-items-container {
  font-size: 0;
  margin: 0;
  white-space: normal;
}
.input-localized-palette-container .palette-item {
  border-width: 0;
  padding: 0.5rem 1.25rem;
}
.input-localized-palette-container .palette-item-inner {
  border: 1px solid;
  margin-right: 4px;
  width: 16px;
}
.input-localized-palette-container .palette-item-inner img {
  display: block;
}

.taglib-move-boxes {
  margin-bottom: 1em;
}
.taglib-move-boxes label {
  border-bottom: 1px solid transparent;
  display: block;
  margin-bottom: 5px;
  padding: 5px;
}
.taglib-move-boxes .toolbar {
  text-align: center;
}
.taglib-move-boxes .arrow-button img {
  border-width: 0;
  height: 16px;
  width: 16px;
}
.taglib-move-boxes .choice-selector {
  width: 100%;
}
.taglib-move-boxes .choice-selector label {
  background: #ebf1f9;
  border-bottom-color: #8db2f3;
}
.taglib-move-boxes .field-content {
  margin-bottom: 0;
}
.taglib-move-boxes .move-arrow-buttons {
  margin-top: 5em;
}
.taglib-move-boxes .move-arrow-buttons .arrow-button {
  display: block;
}
.taglib-move-boxes .sortable-container {
  margin-top: 10px;
}
.taglib-move-boxes .sortable-container .btn.edit-selection {
  margin-bottom: 10px;
}
.taglib-move-boxes .sortable-container .move-option {
  background-color: transparent;
  border-top: 1px solid #ddd;
  display: none;
  margin: 2px 0;
  padding: 2px;
  position: relative;
}
.taglib-move-boxes .sortable-container .move-option.selected {
  display: block;
}
.taglib-move-boxes .sortable-container .move-option.move-option-dragging {
  background-color: #fafafa;
}
.taglib-move-boxes .sortable-container .move-option .checkbox,
.taglib-move-boxes .sortable-container .move-option .handle {
  position: absolute;
}
.taglib-move-boxes .sortable-container .move-option .checkbox {
  display: none;
  margin: 7px 0 0 5px;
}
.taglib-move-boxes .sortable-container .move-option .handle {
  color: #999;
  cursor: pointer;
  font-size: 1.5em;
  padding: 6px;
}
.taglib-move-boxes .sortable-container .move-option .title {
  font-size: 1.2em;
  margin: 1px 0 1px 30px;
}
.taglib-move-boxes .sortable-container.edit-list-active .move-option {
  display: block;
}
.taglib-move-boxes .sortable-container.edit-list-active .move-option .checkbox {
  display: inline-block;
}
.taglib-move-boxes .sortable-container.edit-list-active .move-option .handle {
  display: none;
}
.mobile .taglib-move-boxes .selector-container {
  display: none;
}

.item-selector .card-row > .autofit-col-expand {
  padding-top: 4px;
}
.item-selector .drop-zone {
  background-color: #f1f2f5;
  margin-top: 1rem;
}
.item-selector .input-file {
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 0.1px;
  z-index: -1;
}
.item-selector .input-file + label {
  position: relative;
}
.item-selector .input-file + label::before {
  border-radius: 4px;
  bottom: -2px;
  content: "";
  display: block;
  left: -2px;
  position: absolute;
  right: -2px;
  top: -2px;
  transition: box-shadow 0.15s ease-in-out;
}
.item-selector .input-file:focus + label::before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #75b8ff;
}
.item-selector .item-selector-list-row:hover {
  background-color: #e5f2ff;
  cursor: pointer;
}

.lfr-map {
  border: 1px solid #ccc;
  min-height: 400px;
  width: 100%;
}
.lfr-map .home-button {
  margin: 5px;
}
@media (max-width: 575.98px) {
  .lfr-map .home-button {
    height: 35px;
    width: 45px;
  }
}
.lfr-map .search-controls {
  font-size: 15px;
  margin-top: 5px;
  width: 100%;
}
@media (min-width: 576px) {
  .lfr-map .search-controls {
    width: 50%;
  }
}
.lfr-map .search-controls .search-input {
  width: 100%;
}

.navbar .navbar-collapse {
  max-height: none;
}
.navbar .navbar-collapse:after, .navbar .navbar-collapse:before {
  display: inline;
}
@media (max-width: 767.98px) {
  .navbar .navbar-search {
    background-color: #f3f3f3;
    border-top-width: 0;
    width: 100%;
  }
}
.navbar .navbar-search .form-search {
  margin: 8px 0;
}
@media (min-width: 768px) {
  .navbar .navbar-search .form-search {
    float: right;
    max-width: 275px;
  }
}
@media (max-width: 767.98px) {
  .navbar .navbar-search .form-search .input-group {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .navbar .container .navbar-btn,
  .navbar .container-fluid .navbar-btn {
    margin-bottom: 5px;
    width: 45px;
  }
  .navbar .container .navbar-collapse.open,
  .navbar .container-fluid .navbar-collapse.open {
    border-width: 0;
    display: block;
    height: auto;
    overflow: visible;
  }
}

.taglib-portlet-preview.show-borders {
  border: 1px solid #828f95;
  margin-bottom: 1em;
  padding: 3px 3px 1em;
}
.taglib-portlet-preview.show-borders .title {
  background-color: #d3dadd;
  font-size: 1.4em;
  font-weight: bold;
  padding: 0.5em;
}
.taglib-portlet-preview .preview {
  margin: 1em;
  min-height: 90px;
}

.lfr-search-container .entry-action {
  width: 1px;
}
.lfr-search-container .entry-action .taglib-icon {
  white-space: nowrap;
}

.lfr-search-container-wrapper.lfr-search-container-fixed-first-column {
  position: relative;
}
@media (min-width: 576px) {
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive {
    margin-left: 375px;
    width: auto;
  }
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table {
  position: static;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header {
  left: 12px;
  position: fixed;
  right: 12px;
  top: -1px;
  z-index: 989;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th {
  display: block;
  padding: 0;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper {
  overflow-x: hidden;
}
@media (min-width: 576px) {
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper {
    margin-left: 375px;
  }
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper table {
  border-collapse: collapse;
  width: 100%;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper table th {
  border-radius: 0;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table td,
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table th {
  width: auto;
}
@media (min-width: 576px) {
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table td:first-child,
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table th:first-child {
    background-color: #fff;
    left: 0;
    position: absolute;
    right: 15px;
  }
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table th {
  height: auto;
}
.lfr-search-container-wrapper a:not(.btn):not(.component-action):not(.page-link) {
  color: #495057;
  font-weight: 500;
  text-decoration: underline;
}
.lfr-search-container-wrapper a:not(.btn):not(.component-action):not(.page-link):focus, .lfr-search-container-wrapper a:not(.btn):not(.component-action):not(.page-link):hover {
  color: #000;
}
.lfr-search-container-wrapper .dropdown-action .dropdown-toggle {
  color: #6c757d;
}
.lfr-search-container-wrapper .dropdown-action .dropdown-toggle:hover {
  color: #343a40;
}
.lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle {
  color: #6c757d;
}
.lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle:active, .lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle:focus, .lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle:hover {
  background-color: #f7f8f9;
  border-radius: 4px;
  color: #343a40;
}
.lfr-search-container-wrapper .lfr-search-container-list .list-group:last-child .list-group-item:nth-last-child(2) {
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.lfr-search-container-wrapper .lfr-search-container-list + .taglib-search-iterator-page-iterator-bottom {
  margin-top: 20px;
}
.lfr-search-container-wrapper .list-group {
  margin-bottom: 0;
}
.lfr-search-container-wrapper .list-group + .list-group .list-group-header:first-child,
.lfr-search-container-wrapper .list-group + .list-group .list-group-item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.lfr-search-container-wrapper .list-group .list-group-item .h4,
.lfr-search-container-wrapper .list-group .list-group-item h4 {
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 0;
}
.lfr-search-container-wrapper .list-group .list-group-item .h5,
.lfr-search-container-wrapper .list-group .list-group-item .h6,
.lfr-search-container-wrapper .list-group .list-group-item h5,
.lfr-search-container-wrapper .list-group .list-group-item h6 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0;
}
.lfr-search-container-wrapper .list-group .list-group-item span + h2.h5 {
  font-weight: 600;
}
.lfr-search-container-wrapper .list-group .list-group-item .h6 + .h5,
.lfr-search-container-wrapper .list-group .list-group-item h6 + h5 {
  font-weight: 600;
}
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) td:first-child,
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) th:first-child {
  border-bottom-left-radius: 0.25rem;
}
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) td:last-child,
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) th:last-child {
  border-bottom-right-radius: 0.25rem;
}

.user-info {
  display: flex;
}
.user-info .sticker {
  align-self: center;
}
.user-info .user-details {
  margin-left: 1rem;
}
.user-info .user-name {
  color: #343a40;
  font-weight: 600;
}
.user-info .date-info {
  color: #6c757d;
}

.user-status-tooltip .user-status-avatar {
  float: left;
  margin-right: 5px;
}
.user-status-tooltip .user-status-avatar .user-status-avatar-image {
  width: 27px;
}
.user-status-tooltip .user-status-info {
  display: inline-block;
  overflow: hidden;
}
.user-status-tooltip .user-status-info .user-status-date {
  font-size: 11px;
}

.lfr-search-container {
  margin-top: 1.5em;
  overflow: auto;
}
@media (max-width: 767.98px) {
  .lfr-search-container .selector-button {
    width: auto;
  }
}
.touch .lfr-search-container {
  -webkit-overflow-scrolling: touch;
}
.touch .lfr-search-container .searchcontainer-content .table {
  max-width: none;
}

.taglib-page-iterator {
  clear: both;
  height: auto;
  width: auto;
}
.taglib-page-iterator .lfr-pagination-buttons {
  float: right;
  margin: 0;
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .lfr-pagination-buttons {
    width: 100%;
  }
}
@media (max-width: 991.98px) and (max-width: 767.98px) {
  .taglib-page-iterator .lfr-pagination-buttons {
    float: none;
    margin-top: 20px;
  }
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .lfr-pagination-buttons > li {
    display: inline-block;
    width: 50%;
  }
  .taglib-page-iterator .lfr-pagination-buttons > li.first, .taglib-page-iterator .lfr-pagination-buttons > li.last {
    display: none;
  }
  .taglib-page-iterator .lfr-pagination-buttons > li > a {
    line-height: 20px;
    padding: 11px 19px;
  }
}
.taglib-page-iterator .lfr-pagination-config {
  float: left;
  line-height: 46px;
}
@media (max-width: 767.98px) {
  .taglib-page-iterator .lfr-pagination-config {
    float: none;
  }
  .taglib-page-iterator .lfr-pagination-config .current-page-menu {
    display: block;
  }
  .taglib-page-iterator .lfr-pagination-config .current-page-menu .btn {
    display: block;
  }
}
.taglib-page-iterator .lfr-pagination-config .lfr-pagination-delta-selector,
.taglib-page-iterator .lfr-pagination-config .lfr-pagination-page-selector {
  display: inline;
}
.taglib-page-iterator .lfr-pagination-config .lfr-pagination-delta-selector {
  float: none;
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .lfr-pagination-config .lfr-pagination-delta-selector {
    display: none;
  }
}
.taglib-page-iterator .search-results {
  float: left;
  line-height: 46px;
  margin-left: 10px;
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .search-results {
    display: none;
  }
}

@media (max-width: 991.98px) {
  ul.pagination ul.inline-scroller {
    max-height: inherit;
  }
}
.taglib-search-toggle .form-search {
  position: relative;
}
.taglib-search-toggle .form-search .input-group-btn {
  position: absolute;
}
@media (min-width: 992px) {
  .taglib-search-toggle .form-search .input-group-btn {
    position: static;
  }
}
.taglib-search-toggle .toggle-advanced {
  color: inherit;
  margin-left: 10px;
  position: absolute;
  top: 8px;
}
.taglib-search-toggle .toggle-advanced, .taglib-search-toggle .toggle-advanced:hover, .taglib-search-toggle .toggle-advanced:focus {
  text-decoration: none;
}

.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced {
  background-color: #fcfcfc;
  border: solid #ddd;
  border-width: 0 1px 1px;
  margin-top: 0;
  padding: 15px 15px 0;
}
.navbar-search .taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced {
  border-width: 1px 0 0;
}
.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced .taglib-search-toggle-advanced-content {
  position: relative;
}
.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced .taglib-search-toggle-advanced-content .match-fields {
  margin-bottom: 0;
}
.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced .taglib-search-toggle-advanced-content .match-fields-legend {
  color: #999;
  font-size: 13px;
}
.taglib-search-toggle-advanced-wrapper .btn.close {
  margin-right: 5px;
  position: relative;
  z-index: 1;
}

.taglib-user-display {
  padding: 0.5em;
}
.taglib-user-display .avatar {
  background: no-repeat center;
  background-size: 60px;
  display: block;
  height: 60px;
  margin: 0 auto;
  width: 60px;
}
.taglib-user-display .avatar.author:after {
  background: rgba(50, 168, 230, 0.5);
  border-radius: 50%;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
}
.taglib-user-display .user-details {
  margin-top: 1em;
}
.taglib-user-display .user-name {
  font-size: 1.1em;
  font-weight: bold;
}
.taglib-user-display a .user-name {
  text-decoration: underline;
}
.taglib-user-display.display-style-1 .user-profile-image {
  float: left;
  margin-right: 24px;
}
.taglib-user-display.display-style-1 .user-name {
  display: inline-block;
  margin-top: 10px;
}
.taglib-user-display.display-style-1 .user-details {
  margin-top: 0;
}
.taglib-user-display.display-style-2 .user-profile-image,
.taglib-user-display.display-style-2 .user-name {
  clear: both;
  display: block;
  min-height: 20px;
  text-align: center;
}
.taglib-user-display.display-style-3 {
  padding: 0;
}
.taglib-user-display.display-style-3 .user-profile-image {
  display: inline-block;
  vertical-align: middle;
}

.taglib-workflow-status .workflow-id,
.taglib-workflow-status .workflow-version,
.taglib-workflow-status .workflow-status {
  color: #999;
}
.table-cell .taglib-workflow-status {
  margin: 0;
}
.table-cell .taglib-workflow-status .workflow-status {
  padding-left: 0;
}

.lfr-autocomplete-input-list .yui3-aclist-list {
  margin: 0;
}

.portal-popup .sheet > .lfr-nav {
  margin-top: -24px;
}
.portal-popup .contacts-portlet .portlet-configuration-container .form {
  position: static;
}
.portal-popup .lfr-form-content {
  padding: 24px 12px;
}
.portal-popup .portlet-body,
.portal-popup .portlet-boundary,
.portal-popup .portlet-column,
.portal-popup .portlet-layout {
  height: 100%;
}
.portal-popup .portlet-column {
  position: static;
}
.portal-popup .dialog-body > .container-fluid-max-xl,
.portal-popup .dialog-body .container-view,
.portal-popup .export-dialog-tree > .container-fluid-max-xl,
.portal-popup .export-dialog-tree .container-view,
.portal-popup .lfr-dynamic-uploader > .container-fluid-max-xl,
.portal-popup .lfr-dynamic-uploader .container-view,
.portal-popup .lfr-form-content > .container-fluid-max-xl,
.portal-popup .lfr-form-content .container-view,
.portal-popup .portlet-configuration-body-content > .container-fluid-max-xl,
.portal-popup .portlet-configuration-body-content .container-view,
.portal-popup .process-list > .container-fluid-max-xl,
.portal-popup .process-list .container-view,
.portal-popup .roles-selector-body > .container-fluid-max-xl,
.portal-popup .roles-selector-body .container-view {
  padding-top: 20px;
}
.portal-popup .dialog-body > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .dialog-body .container-view .nav-tabs-underline,
.portal-popup .export-dialog-tree > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .export-dialog-tree .container-view .nav-tabs-underline,
.portal-popup .lfr-dynamic-uploader > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .lfr-dynamic-uploader .container-view .nav-tabs-underline,
.portal-popup .lfr-form-content > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .lfr-form-content .container-view .nav-tabs-underline,
.portal-popup .portlet-configuration-body-content > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .portlet-configuration-body-content .container-view .nav-tabs-underline,
.portal-popup .process-list > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .process-list .container-view .nav-tabs-underline,
.portal-popup .roles-selector-body > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .roles-selector-body .container-view .nav-tabs-underline {
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -20px;
}
.portal-popup .dialog-body > .lfr-nav + .container-fluid-max-xl,
.portal-popup .export-dialog-tree > .lfr-nav + .container-fluid-max-xl,
.portal-popup .lfr-dynamic-uploader > .lfr-nav + .container-fluid-max-xl,
.portal-popup .lfr-form-content > .lfr-nav + .container-fluid-max-xl,
.portal-popup .portlet-configuration-body-content > .lfr-nav + .container-fluid-max-xl,
.portal-popup .process-list > .lfr-nav + .container-fluid-max-xl,
.portal-popup .roles-selector-body > .lfr-nav + .container-fluid-max-xl {
  padding-top: 0;
}
.portal-popup .login-container {
  padding: 1rem;
}
.portal-popup .navbar ~ .portlet-configuration-setup,
.portal-popup .portlet-export-import-container {
  height: calc(100% - 48px);
  position: relative;
}
@media (min-width: 576px) {
  .portal-popup .navbar ~ .portlet-configuration-setup,
  .portal-popup .portlet-export-import-container {
    height: calc(100% - 48px);
  }
}
.portal-popup .panel-group .panel {
  border-left-width: 0;
  border-radius: 0;
  border-right-width: 0;
}
.portal-popup .panel-group .panel + .panel {
  border-top-width: 0;
  margin-top: 0;
}
.portal-popup .panel-heading {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.portal-popup .portlet-configuration-setup .lfr-nav {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  padding-left: 3px;
  padding-right: 3px;
}
@media (min-width: 576px) {
  .portal-popup .portlet-configuration-setup .lfr-nav {
    padding-left: 8px;
    padding-right: 8px;
  }
}
.portal-popup .lfr-dynamic-uploader,
.portal-popup .process-list {
  bottom: 0;
  display: block;
  left: 0;
  overflow: auto;
  position: absolute;
  right: 0;
  top: 48px;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 576px) {
  .portal-popup .lfr-dynamic-uploader,
  .portal-popup .process-list {
    top: 48px;
  }
}
.portal-popup .portlet-export-import-publish-processes {
  top: 0;
}
.portal-popup .dialog-footer {
  background-color: #fff;
  border-top: 1px solid #dee2e6;
  bottom: 0;
  display: flex;
  flex-direction: row-reverse;
  left: 0;
  margin: 0;
  padding: 10px 24px;
  width: 100%;
  z-index: 989;
}
@media (min-width: 768px) {
  .portal-popup .dialog-footer {
    position: fixed;
  }
}
.portal-popup .dialog-footer .btn {
  margin-left: 1rem;
  margin-right: 0;
}
.portal-popup .dialog-footer.dialog-footer-not-reverse {
  flex-direction: initial;
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .portal-popup .dialog-body:not(:last-child),
  .portal-popup .lfr-dynamic-uploader:not(:last-child),
  .portal-popup .lfr-form-content:not(:last-child),
  .portal-popup .portlet-configuration-body-content:not(:last-child),
  .portal-popup .roles-selector-body:not(:last-child) {
    padding-bottom: 60px;
  }
}
.portal-popup .lfr-dynamic-uploader {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.portal-popup .lfr-dynamic-uploader.hide-dialog-footer {
  bottom: 0;
}
.portal-popup .lfr-dynamic-uploader.hide-dialog-footer + .dialog-footer {
  display: none;
}
.portal-popup .portlet-configuration-edit-permissions .portlet-configuration-body-content {
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.portal-popup .portlet-configuration-edit-permissions .portlet-configuration-body-content > form {
  flex-grow: 1;
  max-width: none;
  overflow: auto;
}
.portal-popup .portlet-configuration-edit-templates .portlet-configuration-body-content {
  bottom: 0;
}
.portal-popup:not(.article-preview) #main-content,
.portal-popup:not(.article-preview) #wrapper {
  bottom: 0;
  left: 0;
  overflow: auto;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-overflow-scrolling: touch;
}
@media print {
  .portal-popup:not(.article-preview) #main-content,
  .portal-popup:not(.article-preview) #wrapper {
    position: initial;
  }
}
.portal-popup .columns-max > .portlet-layout.row {
  margin-left: 0;
  margin-right: 0;
}
.portal-popup .columns-max > .portlet-layout.row > .portlet-column {
  padding-left: 0;
  padding-right: 0;
}

html:not(#__):not(#___) .portlet-layout.dragging {
  border-collapse: separate;
}
html:not(#__):not(#___) .drop-area {
  background-color: #d3dadd;
}
html:not(#__):not(#___) .active-area {
  background: #ffc;
}
html:not(#__):not(#___) .portlet-boundary.yui3-dd-dragging {
  opacity: 0.6;
}
html:not(#__):not(#___) .portlet-boundary.yui3-dd-dragging .portlet {
  border: 2px dashed #ccc;
}
html:not(#__):not(#___) .sortable-layout-proxy {
  opacity: 1;
}
html:not(#__):not(#___) .sortable-layout-proxy .portlet-topper {
  background-image: none;
}
html:not(#__):not(#___) .proxy {
  cursor: move;
  opacity: 0.65;
  position: absolute;
}
html:not(#__):not(#___) .proxy.generic-portlet {
  height: 200px;
  width: 300px;
}
html:not(#__):not(#___) .proxy.generic-portlet .portlet-title {
  padding: 10px;
}
html:not(#__):not(#___) .proxy.not-intersecting .forbidden-action {
  background: url(../images/application/forbidden_action.png) no-repeat;
  display: block;
  height: 32px;
  position: absolute;
  right: -15px;
  top: -15px;
  width: 32px;
}
html:not(#__):not(#___) .resizable-proxy {
  border: 1px dashed #828f95;
  position: absolute;
  visibility: hidden;
}
html:not(#__):not(#___) .sortable-proxy {
  background: #727c81;
  margin-top: 1px;
}
html:not(#__):not(#___) .sortable-layout-drag-target-indicator {
  margin: 2px 0;
}
html:not(#__):not(#___) .yui3-dd-proxy {
  z-index: 1110 !important;
}

.portlet-layout.dragging {
  border-collapse: separate;
}

.drop-area {
  background-color: #d3dadd;
}

.active-area {
  background: #ffc;
}

.portlet-boundary.yui3-dd-dragging {
  opacity: 0.6;
  transform: scale(0.8);
  transition: transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .portlet-boundary.yui3-dd-dragging {
    transition: none;
  }
}
.c-prefers-reduced-motion .portlet-boundary.yui3-dd-dragging {
  transition: none;
}
.portlet-boundary.yui3-dd-dragging .portlet {
  border: 2px dashed #ccc;
}

.sortable-layout-proxy {
  opacity: 1;
}
.sortable-layout-proxy .portlet-topper {
  background-image: none;
}

.proxy {
  cursor: move;
  opacity: 0.65;
  position: absolute;
}
.proxy.generic-portlet {
  height: 200px;
  width: 300px;
}
.proxy.generic-portlet .portlet-title {
  padding: 10px;
}
.proxy.not-intersecting .forbidden-action {
  background: url(../images/application/forbidden_action.png) no-repeat;
  display: block;
  height: 32px;
  position: absolute;
  right: -15px;
  top: -15px;
  width: 32px;
}

.resizable-proxy {
  border: 1px dashed #828f95;
  position: absolute;
  visibility: hidden;
}

.sortable-proxy {
  background: #727c81;
  margin-top: 1px;
}

.sortable-layout-drag-target-indicator {
  margin: 2px 0;
}

.yui3-dd-proxy {
  z-index: 1110 !important;
}

.portlet-column-content.empty {
  padding: 50px;
}

.lfr-portlet-title-editable {
  margin-top: 0;
  z-index: 9999;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content {
  padding: 0;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .field-input {
  margin-bottom: 0;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .textfield-label {
  display: none;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .btn-toolbar-content {
  display: inline-block;
  vertical-align: bottom;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .btn-group {
  margin-top: 0;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .btn {
  display: inline-block;
  float: none;
  margin-top: 0;
  width: auto;
}

.lfr-source-editor {
  border: solid 0 #ccc;
  border-bottom-width: 2px;
  position: relative;
}
.lfr-source-editor .ace_editor {
  height: 100%;
}
.lfr-source-editor .lfr-source-editor-toolbar li > .btn {
  background-color: #fff;
  border: transparent;
  color: #717383;
  outline: 0;
}
.lfr-source-editor .lfr-source-editor-code {
  background-color: #fff;
  color: #2b4259;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter {
  background-color: #ededef;
  color: #868896;
  overflow: hidden;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget {
  font-family: fontawesome-alloy;
  text-align: center;
  vertical-align: middle;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_open, .lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_closed {
  background-image: none;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_open:before {
  content: "▾";
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_closed:before {
  content: "▸";
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_gutter-active-cell {
  color: #fff;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_gutter-active-line {
  background-color: #717383;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_gutter-layer {
  border-right: solid 1px #ccc;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_info {
  background-image: none;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_active-line {
  background-color: #ededef;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_constant {
  color: #34adab;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_tag {
  color: #1d5ec7;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_string {
  color: #ff6c58;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_string.ace_regex {
  color: #f00;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code {
  background-color: #47474f;
  color: #fff;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_gutter {
  background: #54555e;
  color: #fff;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_gutter .ace_gutter-active-line {
  background-color: #009aed;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_content .ace_active-line {
  background-color: #11394e;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_content .ace_cursor {
  color: #fff;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_content .ace_tag {
  color: #4d91ff;
}

.lfr-fullscreen-source-editor {
  height: 100%;
  overflow: hidden;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-header {
  height: 40px;
  margin-right: 4px;
  margin-top: 4px;
  min-height: 40px;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content {
  height: 95%;
  position: relative;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content .panel-splitter {
  border: 1px solid #ccc;
  position: absolute;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content .preview-panel {
  display: inline-block;
  overflow-y: auto;
  padding-left: 20px;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content .source-panel {
  display: inline-block;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.vertical .source-panel,
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.vertical .preview-panel {
  height: 100%;
  width: 50%;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.vertical .panel-splitter {
  height: 100%;
  left: 50%;
  top: 0;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.horizontal .source-panel,
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.horizontal .preview-panel {
  height: 50%;
  width: 100%;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.horizontal .panel-splitter {
  top: 50%;
  width: 100%;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.simple .panel-splitter,
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.simple .preview-panel {
  display: none;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.simple .source-panel {
  height: 100%;
  width: 100%;
}

.lfr-fulscreen-source-editor-dialog .modal-footer {
  text-align: left;
}

.file-icon-color-0 {
  background-color: #fff;
  color: #6c757d;
}

.file-icon-color-1 {
  background-color: #fff;
  color: #6c757d;
}

.file-icon-color-2 {
  background-color: #fff;
  color: #24a892;
}

.file-icon-color-3 {
  background-color: #fff;
  color: #ff4d4d;
}

.file-icon-color-4 {
  background-color: #fff;
  color: #ff6200;
}

.file-icon-color-5 {
  background-color: #fff;
  color: #bf66ff;
}

.file-icon-color-6 {
  background-color: #fff;
  color: #0099e6;
}

.file-icon-color-7 {
  background-color: #fff;
  color: #ff4db2;
}

.lfr-item-viewer.uploading > div:not(.progress-container) {
  opacity: 0.3;
}
.lfr-item-viewer.uploading > .progress-container {
  visibility: visible;
}
.lfr-item-viewer .aspect-ratio a.item-preview {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  position: absolute;
  width: 100%;
}
.lfr-item-viewer .image-viewer-base-image-list {
  padding-top: 35px;
}
.lfr-item-viewer .item-preview:hover {
  cursor: pointer;
}
.lfr-item-viewer .progress-container {
  background-color: #fff;
  left: 0;
  margin: 0 auto;
  padding: 20px 30px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  visibility: hidden;
  width: 80%;
  z-index: 1000;
}
.lfr-item-viewer .progress-container a {
  position: absolute;
  right: 30px;
}
.lfr-item-viewer .progress-container .progress {
  margin-top: 10px;
}
.lfr-item-viewer .search-info {
  background-color: #d3e8f1;
}
.lfr-item-viewer .search-info .keywords {
  font-size: 1.4em;
  font-weight: bold;
}
.lfr-item-viewer .search-info .change-search-folder {
  font-size: 0.8em;
  font-weight: normal;
}
.lfr-item-viewer .upload-view {
  display: table;
  height: 400px;
  margin-top: 20px;
  width: 100%;
}
.lfr-item-viewer .upload-view > div {
  display: table-cell;
  vertical-align: middle;
}
.lfr-item-viewer .yui3-widget-bd {
  position: relative;
}

.lfr-menu-expanded li a:focus {
  background-color: #5b677d;
  color: #fff;
  text-shadow: -1px -1px #2c2f34;
}

.lfr-url-error {
  display: inline-block;
  white-space: normal;
  overflow-wrap: break-all;
  word-wrap: break-all;
}

.lfr-page-layouts {
  padding: 0;
}
.lfr-page-layouts input[type=radio] {
  opacity: 0;
  position: absolute;
}
.lfr-page-layouts input[type=radio]:checked + .card-horizontal {
  cursor: default;
}
.lfr-page-layouts input[type=radio]:checked + .card-horizontal::after {
  bottom: calc(0.0625rem * -1);
  content: "";
  left: calc(0.0625rem * -1);
  position: absolute;
  right: calc(0.0625rem * -1);
  transition: height 0.15s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-page-layouts input[type=radio]:checked + .card-horizontal::after {
    transition: none;
  }
}
.lfr-page-layouts input[type=radio]:checked + .card-horizontal::after {
  transition: none;
}

.lfr-page-layouts .card-horizontal {
  cursor: pointer;
  outline: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-page-layouts .card-horizontal {
    transition: none;
  }
}
.lfr-page-layouts .card-horizontal {
  transition: none;
}

.lfr-page-layouts .card-horizontal::after {
  border-radius: 0rem 0rem 0.25rem 0.25rem;
  bottom: calc(0.0625rem * -1);
  content: "";
  height: 0rem;
  left: calc(0.0625rem * -1);
  position: absolute;
  right: calc(0.0625rem * -1);
  transition: height 0.15s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-page-layouts .card-horizontal::after {
    transition: none;
  }
}
.lfr-page-layouts .card-horizontal::after {
  transition: none;
}

.modal-body.dialog-iframe-bd {
  overflow: hidden;
  padding: 0;
}

.modal-dialog:not(.dialog-iframe-modal):not(.modal-full-screen) {
  position: relative;
}
.modal-dialog.dialog-iframe-modal {
  max-width: none;
}
.modal-dialog.modal-dialog-sm {
  max-width: 500px;
}
.modal-dialog .yui3-resize-handles-wrapper {
  pointer-events: all;
}
.modal-dialog .yui3-resize-handles-wrapper .yui3-resize-handle-inner-br {
  bottom: 0;
  right: 0;
}

.modal-open .modal {
  display: block;
}

.sheet > .panel-group .sheet-footer {
  margin-bottom: 0;
}

.sheet-footer .btn {
  margin-right: 0.5rem;
}
.sheet-footer .btn:last-child {
  margin-right: 0;
}

.tag-items {
  list-style: none;
  margin: 0 1em 0 0;
  padding: 0 1em 0.5em;
  white-space: normal;
}
.tag-items li {
  display: inline-block;
  margin: 0 1em 0 0;
  max-width: 100%;
}

.tag-selected {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

.tag-cloud .tag-popularity-1 {
  font-size: 1em;
}
.tag-cloud .tag-popularity-2 {
  font-size: 1.3em;
}
.tag-cloud .tag-popularity-3 {
  font-size: 1.6em;
}
.tag-cloud .tag-popularity-4 {
  font-size: 1.9em;
}
.tag-cloud .tag-popularity-5 {
  font-size: 2.2em;
}
.tag-cloud .tag-popularity-6 {
  font-size: 2.5em;
}

.lfr-portal-tooltip {
  display: inline-flex;
}
.lfr-portal-tooltip,
.lfr-portal-tooltip a {
  -webkit-touch-callout: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.tree-node .icon-check {
  padding-right: 2px;
}
.tree-node .tree-node-checked .icon-check {
  padding-right: 0;
}
.tree-node [class^=icon-] {
  margin-right: 5px;
}
.tree-node .tree-node-checkbox-container {
  margin-right: 0;
}
.tree-node .tree-node-selected .tree-label {
  background: none;
}

.tree-node-content .tree-hitarea {
  color: #999;
  font-size: 10px;
  padding-right: 6px;
}
.tree-node-content .tree-label {
  margin-left: 3px;
}
.tree-node-content .tree-node-hidden-hitarea {
  visibility: hidden;
}

.tree-node-selected .tree-label {
  background-color: transparent;
}

.tree-view li.tree-node .tree-node-content svg.lexicon-icon {
  pointer-events: none;
}

.user-icon-color-0 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #6c757d;
}

.user-icon-color-1 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #66abff;
}

.user-icon-color-2 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #ff6200;
}

.user-icon-color-3 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #ff4d4d;
}

.user-icon-color-4 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #24a892;
}

.user-icon-color-5 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #ff4db2;
}

.user-icon-color-6 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #53a117;
}

.user-icon-color-7 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #bf66ff;
}

.user-icon-color-8 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #b38900;
}

.user-icon-color-9 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #0099e6;
}

.collapse.open {
  display: block;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20class='lexicon-icon-outline'%20d='M15%203H1a1%201%200%200%201%200-2h14a1%201%200%200%201%200%202Zm0%206H1a1%201%200%200%201%200-2h14a1%201%200%200%201%200%202ZM1%2015h14a1%201%200%200%200%200-2H1a1%201%200%200%200%200%202Z'%20fill='%23212529'/%3E%3C/svg%3E");
  height: 1em;
  width: 1em;
}

.navbar-nav .nav-item.hover:after {
  bottom: -0.125rem;
  content: "";
  height: 0.125rem;
  left: 0;
  position: absolute;
  width: 100%;
}

.navbar .navbar-toggler .c-inner {
  max-width: none;
}

html:not(#__):not(#___) .cadmin.portlet-topper {
  position: relative;
}
html:not(#__):not(#___) .cadmin.portlet-topper .portlet-topper-toolbar .portlet-icon-back {
  background: url(../images/arrows/12_left.png) no-repeat 0 50%;
  padding: 5px 5px 5px 18px;
}
html:not(#__):not(#___) .cadmin.portlet-topper .portlet-topper-toolbar .portlet-options .lfr-icon-menu-text {
  display: none;
}
html:not(#__):not(#___) .cadmin .component-action.portlet-options {
  color: white;
}

body.portlet {
  border-width: 0;
}

.portlet-icon-back {
  margin-top: -2px;
}
.portlet-topper .portlet-topper-toolbar .portlet-icon-back {
  background: url(../images/arrows/12_left.png) no-repeat 0 50%;
  padding: 5px 5px 5px 18px;
}

.portlet-options-dropdown {
  z-index: 1035;
}

.portlet-topper {
  position: relative;
}
.portlet-topper .portlet-topper-toolbar .portlet-options .lfr-icon-menu-text {
  display: none;
}
.portlet-draggable .portlet-topper {
  cursor: move;
}

.portlet-title-editable {
  cursor: pointer;
}

.portlet-title-text {
  display: inline-block;
  margin-top: 0;
  max-width: 95%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  white-space: nowrap;
}
.panel-page-body .portlet-title-text, .panel-page-content .portlet-title-text {
  cursor: auto;
}

.portlet-minimized .portlet-content {
  padding: 0;
}

.portlet-nested-portlets .portlet-boundary {
  left: 0 !important;
  position: relative !important;
  top: 0 !important;
}

.portlet-layout .portlet-header {
  margin-bottom: 1rem;
}

@media (min-width: 576px) {
  .portlet .visible-interaction {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .controls-hidden .portlet .visible-interaction {
    display: none;
  }
}
.portlet:hover .visible-interaction, .portlet.open .visible-interaction, .portlet.focus .visible-interaction {
  display: block;
}

.controls-hidden .lfr-meta-actions,
.controls-hidden .lfr-configurator-visibility {
  display: none;
}
.controls-hidden .portlet-title-editable {
  pointer-events: none;
}
.controls-hidden .portlet-topper {
  display: none !important;
}
.controls-hidden .portlet-topper-toolbar {
  display: none !important;
}

html:not(#__):not(#___) .cadmin.portlet-topper {
  background-color: #f7f7f7;
  border-color: transparent;
  border-radius: 0 0;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  color: rgba(0, 0, 0, 0.5);
  display: box;
  display: flex;
  height: 28px;
  padding: 3px 12px 3px 24px;
  position: relative;
}
html:not(#__):not(#___) .cadmin.portlet-topper .lexicon-icon {
  height: 12px;
  width: 12px;
}
html:not(#__):not(#___) .cadmin.portlet-topper .lexicon-icon.lexicon-icon-drag {
  height: 16px;
  width: 16px;
}
html:not(#__):not(#___) .portlet > .cadmin.portlet-topper {
  display: none;
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .portlet > .cadmin.portlet-topper {
    display: flex;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    transform: translateY(-97%);
    transition: opacity 0.15s;
    top: 0;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  html:not(#__):not(#___) .portlet > .cadmin.portlet-topper {
    transition: none;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .portlet > .c-prefers-reduced-motion .cadmin.portlet-topper {
    transition: none;
  }
}
html:not(#__):not(#___) .cadmin .portlet-actions {
  float: right;
}
html:not(#__):not(#___) .cadmin .portlet-options {
  display: inline-block;
}
html:not(#__):not(#___) .cadmin .portlet-title-menu {
  flex: 0 1 auto;
}
html:not(#__):not(#___) .cadmin .portlet-title-menu > span > a {
  display: inline-block;
  text-decoration: none;
}
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar {
  margin: 0;
  padding-left: 0;
}
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > a,
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > span > a,
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar .lfr-icon-menu > a {
  color: rgba(0, 0, 0, 0.5);
}
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > a:focus, html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > a:hover {
  text-decoration: none;
}
html:not(#__):not(#___) .cadmin .portlet-name-text {
  font-size: 12px;
  font-weight: 600;
  margin-left: 4px;
}
html:not(#__):not(#___) .cadmin .portlet-title-default {
  flex: 1 1 auto;
  line-height: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 576px) {
  html:not(#__):not(#___) .lfr-configurator-visibility .portlet:hover .portlet-topper, html:not(#__):not(#___) .lfr-configurator-visibility .portlet.focus .portlet-topper, html:not(#__):not(#___) .lfr-configurator-visibility .portlet.open .portlet-topper {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .controls-visible .portlet:hover > .portlet-content-editable, html:not(#__):not(#___) .controls-visible .portlet.open > .portlet-content-editable, html:not(#__):not(#___) .controls-visible .portlet.focus > .portlet-content-editable {
    border-color: transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .controls-visible .portlet:hover > .cadmin.portlet-topper, html:not(#__):not(#___) .controls-visible .portlet.open > .cadmin.portlet-topper, html:not(#__):not(#___) .controls-visible .portlet.focus > .cadmin.portlet-topper {
    opacity: 1;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .controls-visible .portlet.open > .cadmin.portlet-topper {
    transition-duration: 0ms;
  }
}
@media (max-width: 767.98px) {
  html:not(#__):not(#___) .controls-visible .cadmin.portlet-topper {
    align-items: center;
    display: box;
    display: flex;
  }
}
html:not(#__):not(#___) .controls-visible .cadmin .portlet-topper-toolbar {
  display: block;
}

.portlet {
  margin-bottom: 10px;
  position: relative;
}
@media (min-width: 768px) {
  .controls-visible .portlet:hover > .portlet-content-editable, .controls-visible .portlet.open > .portlet-content-editable, .controls-visible .portlet.focus > .portlet-content-editable {
    border-color: transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
@media (min-width: 768px) {
  .controls-visible .portlet:hover > .portlet-topper, .controls-visible .portlet.open > .portlet-topper, .controls-visible .portlet.focus > .portlet-topper {
    opacity: 1;
  }
}
@media (min-width: 576px) {
  .lfr-configurator-visibility .portlet:hover .portlet-topper, .lfr-configurator-visibility .portlet.focus .portlet-topper, .lfr-configurator-visibility .portlet.open .portlet-topper {
    opacity: 0.5;
  }
}

.portlet-content-editable {
  border-color: transparent;
  border-radius: 0 0;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  transition: border-color 0.15s ease;
}
.portlet > .portlet-content-editable {
  border-color: transparent;
}
@media (max-width: 767.98px) {
  .controls-visible .portlet-content-editable {
    border-color: transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

.portlet-options {
  display: inline-block;
}

.portlet-title-default {
  flex: 1 1 auto;
  line-height: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portlet-title-menu {
  flex: 0 1 auto;
}
.portlet-title-menu > span > a {
  display: inline-block;
  text-decoration: none;
}

.portlet-topper {
  background-color: #f7f7f7;
  border-color: transparent;
  border-radius: 0 0;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  color: rgba(0, 0, 0, 0.5);
  display: box;
  display: flex;
  padding: 3px 12px 3px 24px;
  position: relative;
}
.portlet > .portlet-topper {
  display: none;
}
@media (min-width: 768px) {
  .portlet > .portlet-topper {
    display: flex;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    transition: opacity 0.15s;
    top: 0;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .portlet > .portlet-topper {
    transition: none;
  }
}
@media (min-width: 768px) {
  .portlet > .portlet-topper {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .controls-visible .portlet-topper {
    display: box;
    display: flex;
  }
}

.portlet-topper-toolbar {
  margin: 0;
  padding-left: 0;
}
.portlet-topper-toolbar > a,
.portlet-topper-toolbar > span > a,
.portlet-topper-toolbar .lfr-icon-menu > a {
  color: rgba(0, 0, 0, 0.5);
}
.portlet-topper-toolbar > a:focus, .portlet-topper-toolbar > a:hover {
  text-decoration: none;
}
.controls-visible .portlet-topper-toolbar {
  display: block;
}

.lfr-panel-page .portlet-title {
  font-size: 13px;
}

.portlet-borderless .portlet-content {
  padding: 1rem;
}
.portlet-decorate .portlet-content {
  background: #fff;
  border-color: transparent;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  padding: 1rem;
  word-wrap: break-word;
}
.portlet-barebone .portlet-content {
  padding: 0;
}

.portlet-dynamic-data-lists-display .lfr-ddm-field-group,
.portlet-dynamic-data-lists .lfr-ddm-field-group {
  margin-bottom: 10px;
  margin-top: 10px;
  padding: 28px 24px;
}

.breadcrumb.breadcrumb-vertical {
  display: inline-block;
  text-align: center;
}
.breadcrumb.breadcrumb-vertical li {
  display: block;
}
.breadcrumb.breadcrumb-vertical li.last, .breadcrumb.breadcrumb-vertical li.only {
  background: none;
}
.breadcrumb.breadcrumb-vertical .divider {
  background: url(../images/arrows/07_down.png) no-repeat 50% 100%;
  display: block;
  height: 10px;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}

.navbar form {
  margin: 0;
}

:not(.inline-item) > .loading-animation {
  margin-bottom: 20px;
  margin-top: 20px;
}
.product-menu .loading-animation {
  margin-top: 160px;
}

@keyframes lfr-drop-active {
  0% {
    background-color: #ebebeb;
    border-color: #ddd;
  }
  50% {
    background-color: #ddedde;
    border-color: #7d7;
    transform: scale(1.1);
  }
  75% {
    background-color: #ddedde;
    border-color: #7d7;
  }
  100% {
    background-color: #ebebeb;
    border-color: #ddd;
  }
}
.lfr-upload-container .progress-bar,
.lfr-upload-container .progress {
  border-radius: 10px;
}
.lfr-upload-container .upload-file,
.lfr-upload-container .upload-target {
  border-radius: 5px;
}
.upload-drop-active .lfr-upload-container .upload-target {
  animation: none;
}
.upload-drop-intent .lfr-upload-container .upload-target {
  animation: lfr-drop-active 1s ease 0.2s infinite;
}

.select-files {
  border-radius: 5px;
}

.taglib-form-navigator > .form-steps > ul.form-navigator.list-group {
  box-shadow: none;
}
.taglib-form-navigator > .form-steps > ul.form-navigator.list-group .tab .tab-label:hover .number, .taglib-form-navigator > .form-steps > ul.form-navigator.list-group .tab .tab-label:focus .number {
  box-shadow: 0 0 5px 0 #333;
  transition-duration: 0.25s;
  transition-property: box-shadow;
  transition-timing-function: ease-out;
}
.taglib-form-navigator > .form-steps > ul.form-navigator.list-group .tab .tab-label .number {
  border-radius: 50%;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.lfr-progress-active .progress-bar-status,
.lfr-upload-container .file-uploading .progress-bar .progress {
  animation: progress-bar-stripes 0.5s linear infinite;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0));
  background-size: 40px 40px;
  transition: width, 0.5s, ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-progress-active .progress-bar-status,
  .lfr-upload-container .file-uploading .progress-bar .progress {
    transition: none;
  }
}
.c-prefers-reduced-motion .lfr-progress-active .progress-bar-status,
.c-prefers-reduced-motion .lfr-upload-container .file-uploading .progress-bar .progress {
  transition: none;
}

@keyframes highlight-animation {
  from {
    background-color: #ffc;
  }
  to {
    background-color: transparent;
  }
}
.highlight-animation {
  animation: highlight-animation 0.7s;
}

.portlet-options.btn-group .dropdown-toggle, .portlet-options.btn-group.open .dropdown-toggle {
  box-shadow: none;
}

.form-group.form-inline.input-boolean-wrapper label, .form-group.form-inline.input-checkbox-wrapper label {
  gap: 0.3125rem;
}

/* Centralized CRM styles moved from Angular portlets into the theme. */
/* Generated from existing portlet style sources to keep the current UI intact. */
.portlet ng-component,
app-whatsapp-account-list,
app-whatsapp-account-details-modal,
app-whatsapp-account-form-modal {
  display: block;
  width: 100%;
}

/* Source: modules/front/private/Whatsapp_Account/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.whatsapp-account-root {
  --font-size: 16px;
  --background: #f7f9fb;
  --foreground: #111b21;
  --card: #ffffff;
  --card-foreground: #111b21;
  --primary: #25d366;
  --primary-foreground: #0b2517;
  --secondary: #e9edef;
  --secondary-foreground: #30434d;
  --muted: #f0f2f5;
  --muted-foreground: #667781;
  --accent: #e9edef;
  --accent-foreground: #30434d;
  --destructive: #d4183d;
  --destructive-foreground: #ffffff;
  --border: #d8dde1;
  --input: transparent;
  --input-background: #ffffff;
  --ring: #b8bcc4;
  --radius: 10px;
  --wa-green: #25d366;
  --wa-green-dark: #20bd5a;
  background: linear-gradient(180deg, #f7f9fb 0%, #eef1f5 100%);
  box-sizing: border-box;
  color: var(--foreground);
  font-size: var(--font-size);
  min-height: 100%;
  padding: 12px;
  position: relative;
  width: 100%;
}

.wa-initial-loading-mask {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  inset: 0;
  justify-content: center;
  position: absolute;
  z-index: 30;
}

.wa-initial-loading-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  padding: 12px 14px;
}

.wa-initial-loading-spinner {
  animation: wa-initial-spin 0.9s linear infinite;
  border: 2px solid #d8dde1;
  border-radius: 50%;
  border-top-color: #20bd5a;
  height: 16px;
  width: 16px;
}

@keyframes wa-initial-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.whatsapp-account-root * {
  box-sizing: border-box;
}

.whatsapp-account-root h1,
.whatsapp-account-root h2,
.whatsapp-account-root h3,
.whatsapp-account-root h4 {
  color: var(--foreground);
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
}

.whatsapp-account-root p {
  color: var(--muted-foreground);
  line-height: 1.5;
  margin: 0;
}

.whatsapp-account-root input,
.whatsapp-account-root textarea,
.whatsapp-account-root select,
.whatsapp-account-root button {
  font-size: 14px;
}

.whatsapp-account-shell {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  margin: 0;
  max-width: none;
  overflow: hidden;
  width: 100%;
}

.whatsapp-account-header {
  align-items: center;
  background: #f0f2f5;
  border-bottom: 1px solid var(--border);
  color: var(--foreground);
  display: flex;
  justify-content: space-between;
  padding: 24px;
}

.whatsapp-account-header h1 {
  color: var(--foreground);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.whatsapp-account-header p {
  color: var(--muted-foreground);
  margin-top: 6px;
}

.wa-alert {
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  margin: 16px 24px 0;
  padding: 12px 14px;
}

.wa-alert-success {
  background: rgba(37, 211, 102, 0.12);
  border: 1px solid rgba(37, 211, 102, 0.4);
  color: #0f5132;
}

.wa-alert-error {
  background: rgba(212, 24, 61, 0.1);
  border: 1px solid rgba(212, 24, 61, 0.28);
  color: #8d1029;
}

.wa-btn {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 600;
  gap: 6px;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.wa-btn:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.wa-btn-primary {
  background: var(--wa-green);
  border-color: var(--wa-green);
  color: #0b2517;
}

.wa-btn-primary:hover {
  background: var(--wa-green-dark);
  border-color: var(--wa-green-dark);
  color: #ffffff;
}

.wa-btn-secondary {
  background: #e9edef;
  border-color: #d3dbde;
  color: #30434d;
}

.wa-btn-secondary:hover {
  background: #dde4e7;
}

.wa-btn-danger {
  background: rgba(212, 24, 61, 0.1);
  border-color: rgba(212, 24, 61, 0.28);
  color: #b40e31;
}

.wa-btn-danger:hover {
  background: rgba(212, 24, 61, 0.14);
}

.wa-input,
.wa-select,
.wa-textarea {
  background: var(--input-background);
  border: 1px solid #d6dde0;
  border-radius: 10px;
  color: var(--foreground);
  padding: 10px 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.wa-input:focus,
.wa-select:focus,
.wa-textarea:focus {
  border-color: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.2);
  outline: none;
}

.wa-textarea {
  min-height: 92px;
  resize: vertical;
}

.wa-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wa-field-label {
  color: #364152;
  font-size: 13px;
  font-weight: 600;
}

.wa-required {
  color: #c1121f;
  margin-left: 2px;
}

.wa-modal-backdrop {
  align-items: center;
  background: rgba(6, 10, 14, 0.56);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 16px;
  position: fixed;
  z-index: 80;
}

.wa-modal-card {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 28px 55px -35px rgba(4, 8, 16, 0.6);
  max-height: 92vh;
  overflow: auto;
  width: 100%;
}

.wa-modal-header {
  align-items: center;
  background: #f0f2f5;
  border-bottom: 1px solid #d8dde1;
  color: #111b21;
  display: flex;
  justify-content: space-between;
  padding: 14px 18px;
}

.wa-modal-title {
  color: #111b21;
  font-size: 20px;
  font-weight: 700;
}

.wa-modal-close {
  background: #e9edef;
  border: 1px solid #d3dbde;
  border-radius: 999px;
  color: #30434d;
  cursor: pointer;
  font-size: 20px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  width: 32px;
}

.wa-modal-close:hover {
  background: #dde4e7;
}

.wa-validation-modal-backdrop {
  z-index: 90;
}

.wa-validation-modal-card {
  border: 1px solid #d7dee7;
  max-width: 420px;
  overflow: hidden;
  width: min(92vw, 420px);
}

.wa-validation-modal-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px 20px;
  text-align: center;
}

.wa-validation-icon {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 22px;
  font-weight: 800;
  height: 52px;
  justify-content: center;
  margin: 0 auto 2px;
  width: 52px;
}

.wa-validation-icon-loading {
  background: rgba(10, 123, 109, 0.12);
  color: #0a7b6d;
}

.wa-validation-icon-success {
  background: rgba(37, 211, 102, 0.16);
  color: #0f8f46;
}

.wa-validation-icon-error {
  background: rgba(212, 24, 61, 0.14);
  color: #b40e31;
}

.wa-validation-spinner {
  animation: wa-validation-spin 0.85s linear infinite;
  border: 3px solid rgba(10, 123, 109, 0.2);
  border-radius: 50%;
  border-top-color: #0a7b6d;
  display: inline-block;
  height: 26px;
  width: 26px;
}

.wa-validation-modal-title {
  color: #1b2432;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

.wa-validation-modal-message {
  color: #425066;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}

.wa-validation-modal-trace {
  background: #f4f6f9;
  border: 1px solid #d7dee7;
  border-radius: 8px;
  color: #58657d;
  font-family: ui-monospace, Menlo, Monaco, "Courier New", monospace;
  font-size: 12px;
  margin: 0;
  padding: 8px 10px;
}

.wa-validation-modal-actions {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.wa-templates-modal-card {
  border: 1px solid #d7dee7;
  max-width: 860px;
  width: min(96vw, 860px);
}

.wa-templates-modal-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
}

.wa-templates-modal-toolbar {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.wa-templates-modal-subtitle {
  color: #53627a;
  font-size: 13px;
  font-weight: 500;
}

.wa-templates-modal-sub-sep {
  color: #a0acbe;
  margin: 0 6px;
}

.wa-alert-inline {
  margin: 0;
}

.wa-template-create-card {
  background: #f9fbfb;
  border: 1px solid #d8dde1;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
}

.wa-template-create-title {
  color: #1f2937;
  font-size: 16px;
  font-weight: 700;
  margin: 0;
}

.wa-template-create-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wa-template-create-grid .full-width {
  grid-column: 1/-1;
}

.wa-template-create-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.wa-templates-table-wrap {
  border: 1px solid #d8dde1;
  border-radius: 10px;
  max-height: 56vh;
  overflow: auto;
}

.wa-templates-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 760px;
  width: 100%;
}

.wa-templates-table th {
  background: #f6f9fd;
  border-bottom: 1px solid #e0e6ef;
  color: #5a6678;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.35px;
  padding: 10px 12px;
  text-align: left;
  text-transform: uppercase;
}

.wa-templates-table td {
  border-bottom: 1px solid #eef2f6;
  color: #1f2937;
  font-size: 13px;
  padding: 10px 12px;
  vertical-align: middle;
}

@keyframes wa-validation-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 900px) {
  .whatsapp-account-header {
    padding: 18px;
  }
  .whatsapp-account-header h1 {
    font-size: 22px;
  }
  .wa-alert {
    margin-left: 16px;
    margin-right: 16px;
  }
  .wa-validation-modal-title {
    font-size: 20px;
  }
  .wa-templates-modal-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .wa-template-create-grid {
    grid-template-columns: 1fr;
  }
  .wa-template-create-actions {
    flex-direction: column-reverse;
  }
  .wa-template-create-actions .wa-btn {
    width: 100%;
  }
}
/* Source: modules/front/private/Whatsapp_Account/src/main/resources/META-INF/resources/lib/app/components/whatsapp-account-details-modal/whatsapp-account-details-modal.component.styles.ts */
.wa-details-modal {
  max-width: 760px;
}

.wa-details-loading,
.wa-details-empty {
  color: #4b5563;
  padding: 22px 18px;
}

.wa-details-content {
  padding: 18px;
}

.wa-detail-row {
  border-bottom: 1px solid #edf1f5;
  display: grid;
  gap: 10px;
  grid-template-columns: 180px 1fr;
  padding: 11px 0;
}

.wa-detail-row:last-child {
  border-bottom: 0;
}

.wa-detail-label {
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}

.wa-detail-value {
  color: #1f2937;
  font-size: 14px;
  font-weight: 500;
  word-break: break-word;
}

.wa-detail-value.token {
  background: #f8fafc;
  border: 1px solid #e3e8ef;
  border-radius: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  padding: 10px;
}

.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.wa-details-footer {
  background: #f8fafc;
  border-top: 1px solid #e3e8ef;
  display: flex;
  justify-content: flex-end;
  padding: 12px 18px;
}

@media (max-width: 720px) {
  .wa-detail-row {
    grid-template-columns: 1fr;
  }
  .wa-details-footer .wa-btn {
    width: 100%;
  }
}
/* Source: modules/front/private/Whatsapp_Account/src/main/resources/META-INF/resources/lib/app/components/whatsapp-account-list/whatsapp-account-list.component.styles.ts */
.wa-list-wrap {
  padding: 24px;
}

.wa-list-toolbar {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: flex-end;
  margin-bottom: 16px;
}

.wa-loading-state {
  background: #f5f8fa;
  border: 1px solid #dce1e8;
  border-radius: 12px;
  color: #445163;
  padding: 14px;
}

.wa-table-card {
  background: #ffffff;
  border: 1px solid #dce1e8;
  border-radius: 14px;
  overflow: visible;
}

.wa-table-scroll {
  overflow: visible;
}

.wa-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 860px;
  width: 100%;
}

.wa-table th {
  background: #f8fafc;
  border-bottom: 1px solid #e3e8ef;
  color: #5a6678;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.35px;
  padding: 12px 14px;
  text-align: left;
  text-transform: uppercase;
}

.wa-table td {
  border-bottom: 1px solid #eef1f5;
  color: #1f2937;
  font-size: 14px;
  padding: 12px 14px;
  vertical-align: middle;
}

.wa-table-row:hover td {
  background: #fafdfc;
}

.wa-empty-cell {
  color: #6b7280;
  padding: 20px 14px !important;
  text-align: center;
}

.account-title-cell {
  align-items: center;
  display: flex;
  gap: 10px;
}

.account-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.account-avatar {
  align-items: center;
  background: #25d366;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.account-title {
  font-weight: 600;
}

.validation-success {
  color: #0f766e;
  font-size: 12px;
  font-weight: 600;
}

.validation-error {
  color: #b42318;
  font-size: 12px;
  font-weight: 500;
}

.validation-trace {
  color: #6b7280;
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  margin-top: 2px;
}

.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.group-chip {
  background: #dcf8c6;
  border-radius: 999px;
  color: #075e54;
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
}

.muted {
  color: #8b93a1;
}

.actions-head {
  text-align: right;
}

.actions-cell {
  position: relative;
  text-align: right;
}

.actions-toggle {
  min-height: 34px;
  padding-left: 10px;
  padding-right: 10px;
}

.chevron {
  font-size: 11px;
}

.actions-overlay {
  inset: 0;
  position: fixed;
  z-index: 15;
}

.actions-dropdown {
  background: #ffffff;
  border: 1px solid #dde3eb;
  border-radius: 10px;
  box-shadow: 0 14px 28px -16px rgba(15, 23, 42, 0.55);
  max-height: 280px;
  min-width: 170px;
  overflow-y: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 2000;
}

.actions-dropdown-up {
  bottom: calc(100% + 6px);
  top: auto;
}

.dropdown-action {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: #334155;
  cursor: pointer;
  display: block;
  font-size: 14px;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

.dropdown-action:hover {
  background: #f3f6fa;
}

.dropdown-action:disabled {
  background: #f8fafc;
  color: #94a3b8;
  cursor: not-allowed;
}

.dropdown-action.danger {
  color: #c1121f;
}

.wa-table-footer {
  align-items: center;
  background: #fafbfd;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 14px;
}

.result-count {
  color: #627083;
  font-size: 13px;
  font-weight: 500;
}

.pager-actions {
  display: flex;
  gap: 8px;
}

@media (max-width: 900px) {
  .wa-list-wrap {
    padding: 16px;
  }
  .wa-list-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .pager-actions {
    width: 100%;
  }
  .pager-actions .wa-btn {
    flex: 1;
  }
}
/* Source: modules/front/private/Whatsapp_Account/src/main/resources/META-INF/resources/lib/app/components/whatsapp-account-form-modal/whatsapp-account-form-modal.component.styles.ts */
.wa-form-modal {
  max-width: 780px;
}

.wa-form-content {
  padding: 18px;
}

.wa-form-error {
  background: rgba(212, 24, 61, 0.1);
  border: 1px solid rgba(212, 24, 61, 0.28);
  border-radius: 10px;
  color: #8d1029;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 14px;
  padding: 10px 12px;
}

.wa-form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wa-field-help {
  color: #5d6a80;
  font-size: 12px;
  font-weight: 500;
  margin: 2px 0 0;
}

.wa-field-help-error {
  color: #8d1029;
}

.full-width {
  grid-column: 1/-1;
}

.wa-form-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 16px;
}

@media (max-width: 800px) {
  .wa-form-grid {
    grid-template-columns: 1fr;
  }
  .wa-form-actions {
    flex-direction: column-reverse;
  }
  .wa-form-actions .wa-btn {
    width: 100%;
  }
}
/* Source: modules/front/private/Whatsapp_Conversations/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.wc-wa-root {
  --wa-accent: #25d366;
  --wa-border: #d8dde1;
  --wa-muted: #667781;
  --wa-panel: #f0f2f5;
  --wa-text: #111b21;
  background: linear-gradient(180deg, #f7f9fb 0, #eef1f5 100%);
  color: var(--wa-text);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: clamp(560px, 78vh, 980px);
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.wc-wa-initial-loading-mask {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  display: flex;
  inset: 0;
  justify-content: center;
  position: absolute;
  z-index: 30;
}

.wc-wa-initial-loading-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--wa-border);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  padding: 12px 14px;
}

.wc-wa-initial-loading-spinner {
  animation: wc-wa-spin 0.9s linear infinite;
  border: 2px solid #d8dde1;
  border-radius: 50%;
  border-top-color: #25d366;
  height: 16px;
  width: 16px;
}

@keyframes wc-wa-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.wc-wa-alert {
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 10px;
  padding: 10px 12px;
}

.wc-wa-alert-error {
  background: #fdecef;
  border: 1px solid #f4c0c7;
  color: #8d1029;
}

.wc-wa-alert-info {
  background: #eef7ff;
  border: 1px solid #c7def9;
  color: #0d4f8d;
}

.wc-wa-alert-inline {
  margin-bottom: 0;
}

.wc-wa-view-tabs {
  display: inline-flex;
  gap: 8px;
  margin: 0 0 10px;
}

.wc-wa-view-tab {
  background: #e9edef;
  border: 1px solid #d3dbde;
  border-radius: 10px;
  color: #30434d;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 12px;
}

.wc-wa-view-tab-active {
  background: #e6f7ed;
  border-color: #b6e6c8;
  color: #0b5b2b;
}

.wc-wa-shell {
  background: var(--wa-panel);
  border: 1px solid #ccd3d7;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: 380px minmax(0, 1fr);
  height: 100%;
  margin: 0;
  max-width: none;
  min-height: 0;
  overflow: hidden;
  width: 100%;
}

.wc-wa-history-shell {
  background: #ffffff;
  border: 1px solid #ccd3d7;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  display: grid;
  flex: 1 1 auto;
  gap: 10px;
  grid-template-rows: auto auto auto 1fr auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 12px;
}

.wc-wa-history-header {
  align-items: center;
  background: #f7f8fa;
  border: 1px solid var(--wa-border);
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  padding: 10px 12px;
}

.wc-wa-history-filters {
  background: #f7f8fa;
  border: 1px solid var(--wa-border);
  border-radius: 10px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.wc-wa-history-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wc-wa-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wc-wa-filter-label {
  color: #4e5f71;
  font-size: 12px;
  font-weight: 700;
}

.wc-wa-history-actions {
  display: inline-flex;
  gap: 8px;
  justify-content: flex-end;
}

.wc-wa-history-state {
  border: 1px dashed var(--wa-border);
  border-radius: 10px;
  font-size: 13px;
  min-height: 120px;
}

.wc-wa-history-table-wrap {
  border: 1px solid var(--wa-border);
  border-radius: 10px;
  min-height: 0;
  overflow: auto;
}

.wc-wa-history-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.wc-wa-history-pager {
  display: inline-flex;
  gap: 8px;
}

.wc-wa-sidebar {
  background: #ffffff;
  border-right: 1px solid var(--wa-border);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
}

.wc-wa-sidebar-header {
  align-items: center;
  background: #f7f8fa;
  border-bottom: 1px solid var(--wa-border);
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
}

.wc-wa-sidebar-head-main {
  min-width: 0;
}

.wc-wa-head-actions {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.wc-wa-pill {
  background: #e6f7ed;
  border: 1px solid #b6e6c8;
  border-radius: 999px;
  color: #0b5b2b;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
}

.wc-wa-title {
  font-size: 17px;
  font-weight: 700;
}

.wc-wa-title-sm {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1px;
}

.wc-wa-subtitle {
  color: var(--wa-muted);
  font-size: 12px;
}

.wc-wa-sidebar-filters {
  background: #f7f8fa;
  border-bottom: 1px solid var(--wa-border);
  display: grid;
  gap: 8px;
  padding: 10px 12px;
}

.wc-wa-account-select-box {
  display: grid;
  gap: 6px;
}

.wc-wa-select-label {
  color: #4e5f71;
  font-size: 12px;
  font-weight: 700;
}

.wc-wa-search-box {
  padding: 0;
}

.wc-wa-search-input {
  background: #ffffff;
  border: 1px solid #d6dde0;
  border-radius: 10px;
  font-size: 13px;
  outline: none;
  padding: 8px 10px;
  width: 100%;
}

.wc-wa-search-input:focus {
  border-color: #9dc8b0;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.16);
}

.wc-wa-status-filter-box {
  display: grid;
  gap: 6px;
}

.wc-wa-status-filter {
  background: #e9efed;
  border: 1px solid #d6dde0;
  border-radius: 12px;
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 4px;
}

.wc-wa-status-filter-option {
  background: transparent;
  border: 0;
  border-radius: 9px;
  color: #5c6d78;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 10px;
  text-align: center;
  transition: background 120ms ease, color 120ms ease, box-shadow 120ms ease;
}

.wc-wa-status-filter-option:hover {
  color: #30434d;
}

.wc-wa-status-filter-option-active {
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
  color: #0b5b2b;
}

.wc-wa-list {
  min-height: 0;
  overflow: auto;
  padding: 4px 0;
}

.wc-wa-conv-item {
  align-items: center;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid #f0f2f5;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto 1fr auto;
  padding: 11px 14px;
  text-align: left;
  transition: background 120ms ease;
  width: 100%;
}

.wc-wa-conv-item:hover {
  background: #f5f6f6;
}

.wc-wa-conv-active {
  background: #eef5f1;
}

.wc-wa-avatar {
  align-items: center;
  background: #dfe5e7;
  border-radius: 999px;
  color: #30434d;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.wc-wa-avatar-lg {
  height: 40px;
  width: 40px;
}

.wc-wa-conv-main {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}

.wc-wa-conv-name {
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wc-wa-conv-sub {
  color: var(--wa-muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wc-wa-conv-window {
  margin-top: 4px;
}

.wc-wa-window-badge {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  padding: 3px 8px;
}

.wc-wa-window-open {
  background: #e8f9ef;
  border-color: #b7e9c8;
  color: #0d5a31;
}

.wc-wa-window-closed {
  background: #fff1f2;
  border-color: #f4c6cc;
  color: #8d1029;
}

.wc-wa-unread-dot {
  background: var(--wa-accent);
  border-radius: 999px;
  display: inline-block;
  height: 9px;
  width: 9px;
}

.wc-wa-notif-box {
  background: #f9fbfb;
  border-top: 1px solid var(--wa-border);
  display: grid;
  padding: 10px 12px;
  row-gap: 8px;
}

.wc-wa-notif-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.wc-wa-live-pill {
  background: #e6f7ed;
  border: 1px solid #b6e6c8;
  border-radius: 999px;
  color: #0b5b2b;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
}

.wc-wa-live-off {
  background: #fdecef;
  border-color: #f4c0c7;
  color: #8d1029;
}

.wc-wa-notif-list {
  display: grid;
  gap: 6px;
  max-height: 210px;
  overflow: auto;
}

.wc-wa-notif-item {
  background: #ffffff;
  border: 1px solid #e4e8eb;
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  gap: 4px;
  padding: 8px 9px;
  text-align: left;
}

.wc-wa-notif-unread {
  border-color: var(--wa-accent);
  box-shadow: 0 0 0 2px rgba(37, 211, 102, 0.14);
}

.wc-wa-notif-head {
  align-items: center;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: space-between;
}

.wc-wa-notif-title {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wc-wa-icon-btn {
  background: #e9edef;
  border: 1px solid #d3dbde;
  border-radius: 10px;
  color: #30434d;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
  transition: background 120ms ease;
}

.wc-wa-icon-btn:hover {
  background: #dde4e7;
}

.wc-wa-chat {
  background: #efeae2;
  background-image: radial-gradient(rgba(255, 255, 255, 0.4) 1px, transparent 1px);
  background-size: 14px 14px;
  display: grid;
  min-height: 0;
}

.wc-wa-empty {
  align-items: center;
  color: var(--wa-muted);
  display: flex;
  font-size: 15px;
  font-weight: 600;
  justify-content: center;
  padding: 20px;
  text-align: center;
}

.wc-wa-chat-layout {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  height: 100%;
  min-height: 0;
}

.wc-wa-chat-header {
  align-items: center;
  background: #f0f2f5;
  border-bottom: 1px solid var(--wa-border);
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
}

.wc-wa-chat-user {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}

.wc-wa-chat-name {
  font-size: 15px;
  font-weight: 700;
}

.wc-wa-chat-meta {
  color: var(--wa-muted);
  font-size: 12px;
}

.wc-wa-chat-window-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.wc-wa-chat-window-expiry {
  color: var(--wa-muted);
  font-size: 12px;
  font-weight: 600;
}

.wc-wa-read-banner {
  background: #fff8d9;
  border-bottom: 1px solid #f0e6b5;
  color: #7b6700;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 12px;
}

.wc-wa-messages {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 16px;
}

.wc-wa-messages-lane {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  max-width: none;
  min-height: min-content;
  width: 100%;
}

.wc-wa-bubble {
  border-radius: 9px;
  box-shadow: 0 1px 0 rgba(17, 27, 33, 0.1);
  max-width: min(74%, 720px);
  padding: 9px 11px;
  position: relative;
  width: fit-content;
}

.wc-wa-bubble-inbound {
  background: #ffffff;
  border-top-left-radius: 4px;
  margin-right: auto;
}

.wc-wa-bubble-inbound::before {
  border-right: 8px solid #ffffff;
  border-top: 8px solid transparent;
  content: "";
  height: 0;
  left: -7px;
  position: absolute;
  top: 0;
  width: 0;
}

.wc-wa-bubble-outbound {
  background: #d9fdd3;
  border-top-right-radius: 4px;
  margin-left: auto;
}

.wc-wa-bubble-outbound::before {
  border-left: 8px solid #d9fdd3;
  border-top: 8px solid transparent;
  content: "";
  height: 0;
  position: absolute;
  right: -7px;
  top: 0;
  width: 0;
}

.wc-wa-bubble-text {
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
  white-space: normal;
}

.wc-wa-media-card {
  align-items: flex-start;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid #d3e0ea;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  margin-top: 8px;
  padding: 10px;
}

.wc-wa-media-icon {
  align-items: center;
  background: linear-gradient(180deg, #0f2f4a 0%, #1f5f8f 100%);
  border-radius: 10px;
  color: #ffffff;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  min-width: 52px;
  padding: 8px 10px;
}

.wc-wa-media-content {
  min-width: 0;
}

.wc-wa-media-title {
  color: #13263a;
  font-size: 12px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wc-wa-media-subtitle {
  color: var(--wa-muted);
  font-size: 11px;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wc-wa-media-preview {
  margin-top: 8px;
}

.wc-wa-media-image {
  border: 1px solid #d6e0ea;
  border-radius: 8px;
  display: block;
  height: auto;
  max-height: 260px;
  max-width: 320px;
  object-fit: cover;
  width: 100%;
}

.wc-wa-media-player {
  background: #ffffff;
  border: 1px solid #d6e0ea;
  border-radius: 10px;
  margin-top: 8px;
  padding: 8px;
}

.wc-wa-media-player audio,
.wc-wa-media-player video {
  display: block;
  max-width: 360px;
  width: 100%;
}

.wc-wa-media-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.wc-wa-media-link {
  align-items: center;
  background: #edf2f5;
  border: 1px solid #c8d3d9;
  border-radius: 999px;
  color: #183043;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  padding: 6px 10px;
  text-decoration: none;
  transition: background 120ms ease, border-color 120ms ease;
}

.wc-wa-media-link:hover {
  background: #dfe8ed;
  text-decoration: none;
}

.wc-wa-media-link:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

.wc-wa-media-link-download {
  background: #e6f7ed;
  border-color: #b6e6c8;
  color: #0b5b2b;
}

.wc-wa-media-link-download:hover {
  background: #d8f0e3;
}

.wc-wa-bubble-meta {
  color: var(--wa-muted);
  display: flex;
  font-size: 11px;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 6px;
  flex-wrap: wrap;
}

.wc-wa-direction-badge {
  align-items: center;
  border: 1px solid #c5d2d8;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 4px;
  line-height: 1;
  padding: 4px 8px;
}

.wc-wa-direction-symbol {
  font-size: 11px;
  font-weight: 800;
}

.wc-wa-direction-badge-inbound {
  background: #edf5ff;
  border-color: #bbd8fb;
  color: #13457b;
}

.wc-wa-direction-badge-outbound {
  background: #e8f9ef;
  border-color: #b7e9c8;
  color: #0d5a31;
}

.wc-wa-direction-badge-neutral {
  background: #f4f6f8;
  border-color: #d5dde2;
  color: #42535e;
}

.wc-wa-bubble-status {
  font-weight: 700;
}

.wc-wa-bubble-status-failed {
  color: #8d1029;
}

.wc-wa-read-events {
  background: #ffffff;
  border-top: 1px solid var(--wa-border);
  max-height: 200px;
  overflow: auto;
  padding: 8px;
}

.wc-wa-composer {
  background: #f0f2f5;
  border-top: 1px solid var(--wa-border);
  display: grid;
  gap: 8px;
  padding: 10px 12px;
}

.wc-wa-composer-note {
  font-size: 12px;
  font-weight: 600;
}

.wc-wa-composer-note-open {
  color: #0d5a31;
}

.wc-wa-composer-note-closed {
  color: #8d1029;
}

.wc-wa-composer-row {
  align-items: flex-end;
  display: flex;
  gap: 8px;
}

.wc-wa-composer-input {
  background: #ffffff;
  border: 1px solid #d6dde0;
  border-radius: 10px;
  flex: 1 1 auto;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.4;
  max-height: 160px;
  min-height: 42px;
  outline: none;
  padding: 8px 10px;
  resize: vertical;
}

.wc-wa-composer-input:focus {
  border-color: #9dc8b0;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.16);
}

.wc-wa-composer-input:disabled {
  background: #f3f5f6;
  color: #7a8a94;
  cursor: not-allowed;
}

.wc-wa-send-btn {
  background: #e6f7ed;
  border-color: #b6e6c8;
  color: #0b5b2b;
  height: fit-content;
  min-width: 96px;
}

.wc-wa-send-btn:hover {
  background: #d8f0e3;
}

.wc-wa-send-btn:disabled {
  opacity: 0.7;
}

.wc-wa-table {
  border-collapse: collapse;
  width: 100%;
}

.wc-wa-table th {
  background: #f6f9fd;
  border-bottom: 1px solid #e0e6ef;
  font-size: 12px;
  font-weight: 700;
  padding: 8px;
  text-align: left;
}

.wc-wa-table td {
  border-bottom: 1px solid #eef2f6;
  font-size: 12px;
  padding: 8px;
}

.wc-wa-muted {
  color: var(--wa-muted);
  font-size: 12px;
}

@media (max-width: 1080px) {
  .wc-wa-shell {
    grid-template-columns: 320px 1fr;
  }
}
@media (max-width: 900px) {
  .wc-wa-root {
    height: auto;
    overflow: visible;
  }
  .wc-wa-shell {
    grid-template-columns: 1fr;
    height: auto;
  }
  .wc-wa-history-shell {
    height: auto;
  }
  .wc-wa-history-grid {
    grid-template-columns: 1fr;
  }
  .wc-wa-history-actions {
    justify-content: stretch;
  }
  .wc-wa-history-actions .wc-wa-icon-btn {
    flex: 1;
  }
  .wc-wa-sidebar {
    max-height: 460px;
  }
  .wc-wa-chat {
    min-height: 480px;
  }
  .wc-wa-messages-lane {
    max-width: 100%;
  }
  .wc-wa-bubble {
    max-width: 88%;
  }
  .wc-wa-composer-row {
    align-items: stretch;
    flex-direction: column;
  }
  .wc-wa-send-btn {
    min-width: 0;
    width: 100%;
  }
}
/* Source: modules/front/private/Whatsapp_Conversation_Relay/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.wcr-root {
  --wcr-accent: #0f6f5c;
  --wcr-accent-soft: #d8f2ea;
  --wcr-border: #d5dce2;
  --wcr-panel: #f6f8fb;
  --wcr-text: #102431;
  --wcr-muted: #536776;
  background: radial-gradient(circle at 10% 10%, #f4fbf8 0, transparent 40%), linear-gradient(180deg, #fbfcfd 0, #eef2f7 100%);
  box-sizing: border-box;
  color: var(--wcr-text);
  padding: 8px;
  position: relative;
}

.wcr-initial-loading-mask {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  display: flex;
  inset: 0;
  justify-content: center;
  position: absolute;
  z-index: 20;
}

.wcr-initial-loading-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--wcr-border);
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(17, 34, 51, 0.08);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  padding: 12px 14px;
}

.wcr-initial-loading-spinner {
  animation: wcr-spin 0.9s linear infinite;
  border: 2px solid #d2e2ec;
  border-radius: 50%;
  border-top-color: #2f7ca3;
  height: 16px;
  width: 16px;
}

@keyframes wcr-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.wcr-shell {
  background: #ffffff;
  border: 1px solid var(--wcr-border);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(17, 34, 51, 0.08);
  display: grid;
  gap: 12px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: clamp(420px, 70vh, 860px);
  overflow: hidden;
  padding: 12px;
}

.wcr-header {
  align-items: center;
  background: #f7fafc;
  border: 1px solid var(--wcr-border);
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  padding: 12px;
}

.wcr-title {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.1px;
  margin: 0;
}

.wcr-subtitle {
  color: var(--wcr-muted);
  font-size: 13px;
  margin: 4px 0 0;
}

.wcr-table-wrap {
  border: 1px solid var(--wcr-border);
  border-radius: 12px;
  min-height: 260px;
  overflow: auto;
}

.wcr-table {
  border-collapse: collapse;
  min-width: 920px;
  width: 100%;
}

.wcr-table th,
.wcr-table td {
  border-bottom: 1px solid #e8edf3;
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.wcr-table th {
  background: #f4f8fc;
  color: #335064;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.wcr-row {
  cursor: pointer;
  transition: background-color 120ms ease;
}

.wcr-row:hover,
.wcr-row:focus {
  background: #f8fbff;
  outline: none;
}

.wcr-row.wcr-window-closed {
  border-left: 4px solid #dd8f34;
}

.wcr-row.wcr-window-open {
  border-left: 4px solid #1c8f63;
}

.wcr-client-name {
  font-size: 14px;
  font-weight: 700;
}

.wcr-client-meta {
  color: var(--wcr-muted);
  font-size: 12px;
  margin-top: 2px;
}

.wcr-assignee-pill {
  background: #edf5fb;
  border: 1px solid #c5daea;
  border-radius: 999px;
  color: #1f4f70;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 8px;
  white-space: nowrap;
}

.wcr-preview-cell {
  max-width: 320px;
  word-break: break-word;
}

.wcr-state {
  color: var(--wcr-muted);
  font-size: 14px;
  padding: 16px;
}

.wcr-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.wcr-page-status {
  color: var(--wcr-muted);
  font-size: 13px;
}

.wcr-pager-actions {
  display: inline-flex;
  gap: 8px;
}

.wcr-btn {
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px;
}

.wcr-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.wcr-btn-primary {
  background: var(--wcr-accent);
  color: #ffffff;
}

.wcr-btn-secondary {
  background: #f4f7f9;
  border-color: #d7e0e6;
  color: #2e4a5c;
}

.wcr-btn-ghost {
  background: transparent;
  border-color: #d7e0e6;
  color: #2e4a5c;
}

.wcr-alert {
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
  padding: 10px 12px;
}

.wcr-alert-inline {
  flex: 0 0 auto;
  margin: 0;
}

.wcr-alert-error {
  background: #fdeff1;
  border: 1px solid #f1c2ca;
  color: #8e1a2f;
}

.wcr-alert-info {
  background: #eff9ff;
  border: 1px solid #c6e3f3;
  color: #174d72;
}

.wcr-modal-backdrop {
  align-items: flex-start;
  background: rgba(11, 22, 31, 0.44);
  display: flex;
  inset: 0;
  justify-content: center;
  overflow: auto;
  padding: 16px;
  position: fixed;
  z-index: 1200;
}

.wcr-modal {
  background: #ffffff;
  box-sizing: border-box;
  border-radius: 14px;
  box-shadow: 0 18px 36px rgba(11, 22, 31, 0.26);
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: min(820px, 100vh - 32px);
  margin: 0 auto;
  overflow: hidden;
  max-height: calc(100vh - 32px);
  max-width: 980px;
  padding: 12px;
  width: min(980px, 100%);
}

.wcr-modal-header {
  align-items: center;
  border-bottom: 1px solid var(--wcr-border);
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  padding-bottom: 10px;
}

.wcr-modal-title {
  font-size: 18px;
  font-weight: 800;
  margin: 0;
}

.wcr-modal-subtitle {
  color: var(--wcr-muted);
  font-size: 13px;
  margin: 4px 0 0;
}

.wcr-modal-window {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 24px;
}

.wcr-window-pill {
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
}

.wcr-window-pill.wcr-window-open {
  background: var(--wcr-accent-soft);
  border-color: #aadcc8;
  color: #0f6f5c;
}

.wcr-window-pill.wcr-window-closed {
  background: #fff3de;
  border-color: #efcb8c;
  color: #8f5f11;
}

.wcr-window-expiry {
  color: var(--wcr-muted);
  font-size: 12px;
}

.wcr-window-locked-banner {
  background: #fff3de;
  border: 1px solid #efcb8c;
  border-radius: 10px;
  color: #8f5f11;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 10px;
  width: 100%;
}

.wcr-thread-shell {
  background: #f9fbfd;
  border: 1px solid var(--wcr-border);
  border-radius: 12px;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.wcr-thread-state {
  color: var(--wcr-muted);
  font-size: 14px;
  padding: 14px;
}

.wcr-thread-messages {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow: auto;
  padding: 12px;
  scrollbar-gutter: stable;
}

.wcr-thread-bubble {
  align-self: flex-start;
  border: 1px solid var(--wcr-border);
  border-radius: 10px;
  max-width: 86%;
  padding: 9px 10px;
}

.wcr-thread-bubble-inbound {
  background: #ffffff;
}

.wcr-thread-bubble-outbound {
  align-self: flex-end;
  background: #e8faf2;
  border-color: #c6ebda;
}

.wcr-thread-text {
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
  word-break: break-word;
}

.wcr-media-card {
  align-items: flex-start;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid #d3e0ea;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  margin-top: 8px;
  padding: 10px;
}

.wcr-media-icon {
  align-items: center;
  background: linear-gradient(180deg, #0f2f4a 0%, #1f5f8f 100%);
  border-radius: 10px;
  color: #ffffff;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  min-width: 52px;
  padding: 8px 10px;
}

.wcr-media-content {
  min-width: 0;
}

.wcr-media-title {
  color: #13263a;
  font-size: 12px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wcr-media-subtitle {
  color: var(--wcr-muted);
  font-size: 11px;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wcr-media-player {
  background: #ffffff;
  border: 1px solid #d6e0ea;
  border-radius: 10px;
  margin-top: 8px;
  padding: 8px;
}

.wcr-media-player audio {
  display: block;
  max-width: 360px;
  width: 100%;
}

.wcr-media-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.wcr-media-link {
  align-items: center;
  background: #edf2f5;
  border: 1px solid #c8d3d9;
  border-radius: 999px;
  color: #183043;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  padding: 6px 10px;
  text-decoration: none;
  transition: background 120ms ease, border-color 120ms ease;
}

.wcr-media-link:hover {
  background: #dfe8ed;
  text-decoration: none;
}

.wcr-media-link:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

.wcr-media-link-download {
  background: #e6f7ed;
  border-color: #b6e6c8;
  color: #0b5b2b;
}

.wcr-media-link-download:hover {
  background: #d8f0e3;
}

.wcr-sticker-wrap {
  margin-top: 6px;
}

.wcr-sticker-img {
  border-radius: 6px;
  display: block;
  max-height: 160px;
  max-width: 160px;
  width: auto;
}

.wcr-image-wrap {
  margin-top: 6px;
}

.wcr-image-img {
  border-radius: 8px;
  cursor: pointer;
  display: block;
  max-height: 320px;
  max-width: 100%;
  width: auto;
}

.wcr-thread-meta {
  color: var(--wcr-muted);
  font-size: 11px;
  margin-top: 8px;
}

.wcr-composer-shell {
  align-items: end;
  display: grid;
  flex: 0 0 auto;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.wcr-composer-textarea {
  box-sizing: border-box;
  border: 1px solid var(--wcr-border);
  border-radius: 10px;
  font-size: 14px;
  margin: 0;
  max-height: 160px;
  min-height: 84px;
  outline: none;
  padding: 10px;
  resize: vertical;
  width: 100%;
}

.wcr-composer-send-btn {
  align-self: end;
  white-space: nowrap;
}

.wcr-composer-textarea:focus {
  border-color: #7db8a7;
  box-shadow: 0 0 0 2px rgba(15, 111, 92, 0.15);
}

@media (max-width: 992px) {
  .wcr-shell {
    min-height: auto;
  }
  .wcr-modal {
    height: min(820px, 100vh - 16px);
    max-height: calc(100vh - 16px);
  }
  .wcr-composer-shell {
    grid-template-columns: 1fr;
  }
  .wcr-composer-send-btn {
    justify-self: stretch;
  }
}
@supports (height: 100dvh) {
  .wcr-modal {
    height: min(820px, 100dvh - 32px);
    max-height: calc(100dvh - 32px);
  }
  @media (max-width: 992px) {
    .wcr-modal {
      height: min(820px, 100dvh - 16px);
      max-height: calc(100dvh - 16px);
    }
  }
}
/* Source: modules/front/private/Whatsapp_Dashboard/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.wd-root {
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  padding: 16px;
}

.wd-root *,
.wd-root *::before,
.wd-root *::after {
  box-sizing: inherit;
}

/* ── Card ── */
.wd-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 12px;
  overflow: hidden;
  padding: 20px 24px;
}

/* ── Card header ── */
.wd-card-header {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.wd-card-title-row {
  align-items: center;
  display: flex;
  gap: 10px;
}

.wd-card-title {
  color: #1a2336;
  font-size: 16px;
  font-weight: 700;
  margin: 0;
}

.wd-badge-total {
  background: #c1121f;
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  min-width: 24px;
  padding: 2px 8px;
  text-align: center;
}

/* ── Buttons ── */
.wd-btn {
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 8px 16px;
  transition: opacity 0.15s;
  white-space: nowrap;
}

.wd-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.wd-btn-primary {
  background: #25d366;
  border-color: #20bd5a;
  color: #ffffff;
}

.wd-btn-primary:hover:not(:disabled) {
  opacity: 0.88;
}

.wd-btn-page {
  background: #f4f6fa;
  border-color: #dce2ea;
  color: #1a2336;
}

.wd-btn-page:hover:not(:disabled) {
  background: #e8ecf3;
}

.wd-btn-icon {
  background: transparent;
  border-color: #dce2ea;
  color: #5b677a;
  font-size: 18px;
  padding: 4px 10px;
}

.wd-btn-icon:hover {
  background: #f4f6fa;
}

/* ── Table ── */
.wd-table-wrap {
  border: 1px solid #e0e6ef;
  border-radius: 10px;
  overflow: auto;
}

.wd-table {
  border-collapse: collapse;
  min-width: 100%;
  width: 100%;
}

.wd-table th {
  background: #f6f9fd;
  border-bottom: 1px solid #e0e6ef;
  font-size: 12px;
  font-weight: 700;
  padding: 10px 14px;
  text-align: left;
  white-space: nowrap;
}

.wd-table td {
  border-bottom: 1px solid #eef2f6;
  font-size: 13px;
  padding: 11px 14px;
  vertical-align: middle;
}

.wd-table tbody tr:last-child td {
  border-bottom: none;
}

.wd-table tbody tr:hover td {
  background: #f9fbff;
}

.wd-cell-contact {
  font-weight: 600;
}

.wd-cell-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ── Delay badge ── */
.wd-delay-badge {
  border-radius: 999px;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
}

.wd-delay-ok {
  background: #ecfdf3;
  color: #0d9b4d;
}

.wd-delay-warning {
  background: #fff8ea;
  color: #9a6700;
}

.wd-delay-critical {
  background: #fff1f3;
  color: #c1121f;
}

/* ── Pagination ── */
.wd-pagination {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 16px;
}

.wd-page-label {
  color: #5b677a;
  font-size: 13px;
}

/* ── Footer count ── */
.wd-footer-count {
  color: #8a96a5;
  font-size: 12px;
  margin-top: 12px;
  text-align: right;
}

/* ── Empty state ── */
.wd-empty-block {
  align-items: center;
  color: #5b677a;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 40px 0;
}

.wd-empty-icon {
  color: #0d9b4d;
  font-size: 36px;
}

.wd-empty-text {
  font-size: 15px;
}

/* ── Error state ── */
.wd-error-block {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 32px 0;
}

.wd-error-icon {
  color: #c1121f;
  font-size: 32px;
}

.wd-error-text {
  color: #c1121f;
  font-size: 14px;
  text-align: center;
}

/* ── Skeleton loader ── */
@keyframes wd-shimmer {
  0% {
    background-position: -600px 0;
  }
  100% {
    background-position: 600px 0;
  }
}
.wd-skeleton-header,
.wd-skeleton-row {
  animation: wd-shimmer 1.4s infinite linear;
  background: linear-gradient(90deg, #e8ecf3 25%, #f4f6fa 50%, #e8ecf3 75%);
  background-size: 1200px 100%;
  border-radius: 6px;
  height: 18px;
  margin-bottom: 14px;
}

.wd-skeleton-header {
  height: 24px;
  margin-bottom: 20px;
  width: 55%;
}

.wd-skeleton-row-short {
  width: 70%;
}

/* Source: modules/front/private/Whatsapp_messaging/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.wm-root {
  --wm-bg: #f7f9fb;
  --wm-card: #ffffff;
  --wm-border: #d8dde1;
  --wm-text: #111b21;
  --wm-muted: #667781;
  --wm-primary: #25d366;
  --wm-primary-dark: #20bd5a;
  --wm-danger: #c1121f;
  --wm-danger-soft: #fdecef;
  --wm-warning-soft: #fff7e6;
  background: linear-gradient(180deg, #f7f9fb 0%, #eef1f5 100%);
  box-sizing: border-box;
  color: var(--wm-text);
  padding: 12px;
  position: relative;
  width: 100%;
}

.wm-initial-loading-mask {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  inset: 0;
  justify-content: center;
  position: absolute;
  z-index: 30;
}

.wm-initial-loading-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  padding: 12px 14px;
}

.wm-initial-loading-spinner {
  animation: wm-initial-spin 0.9s linear infinite;
  border: 2px solid #d8dde1;
  border-radius: 50%;
  border-top-color: #25d366;
  height: 16px;
  width: 16px;
}

@keyframes wm-initial-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.wm-shell {
  background: var(--wm-card);
  border: 1px solid var(--wm-border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  margin: 0;
  max-width: none;
  overflow: hidden;
  width: 100%;
}

.wm-header {
  background: #f0f2f5;
  border-bottom: 1px solid var(--wm-border);
  color: var(--wm-text);
  padding: 20px 24px;
}

.wm-header h1 {
  font-size: 26px;
  font-weight: 700;
  margin: 0;
}

.wm-header p {
  color: var(--wm-muted);
  margin: 6px 0 0;
}

.wm-content {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.wm-layout {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(420px, 1fr) minmax(560px, 1.25fr);
  align-items: start;
  width: 100%;
}

.wm-column {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.wm-column-left {
  grid-auto-rows: min-content;
}

.wm-column-right {
  grid-auto-rows: min-content;
  position: sticky;
  top: 80px;
  align-self: start;
}

.wm-column-left .wm-card {
  max-height: 320px;
  overflow-y: auto;
}

.wm-card {
  background: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: 12px;
  padding: 14px;
}

.wm-card-table {
  display: grid;
  gap: 12px;
  min-height: 220px;
  min-width: 0;
}

.wm-card h2 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
}

.wm-step {
  align-items: center;
  background: #e6f7ed;
  border: 1px solid #b6e6c8;
  border-radius: 999px;
  color: #0b5b2b;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  margin-right: 8px;
  padding: 3px 9px;
}

.wm-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wm-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wm-field.full {
  grid-column: 1/-1;
}

.wm-field label {
  color: #304055;
  font-size: 13px;
  font-weight: 600;
}

.wm-required {
  color: var(--wm-danger);
}

.wm-input,
.wm-select,
.wm-file {
  background: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: 10px;
  color: var(--wm-text);
  font-size: 14px;
  padding: 10px 12px;
}

.wm-input:focus,
.wm-select:focus {
  border-color: var(--wm-primary);
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.2);
  outline: none;
}

.wm-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.wm-btn {
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  min-height: 38px;
  min-width: 180px;
  padding: 0 14px;
}

.wm-btn:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.wm-btn-primary {
  background: var(--wm-primary);
  border-color: var(--wm-primary);
  color: #0b2517;
}

.wm-btn-primary:hover {
  background: var(--wm-primary-dark);
  border-color: var(--wm-primary-dark);
  color: #ffffff;
}

.wm-btn-secondary {
  background: #e9edef;
  border-color: #d3dbde;
  color: #30434d;
}

.wm-alert {
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px;
}

.wm-alert-error {
  background: #fdecef;
  border: 1px solid #f4c0c7;
  color: #8d1029;
}

.wm-alert-info {
  background: #eef7ff;
  border: 1px solid #c7def9;
  color: #0d4f8d;
}

.wm-summary {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wm-check-toggle {
  align-items: center;
  color: #304055;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
}

.wm-checkbox {
  accent-color: var(--wm-primary);
  height: 14px;
  margin: 0;
  width: 14px;
}

.wm-kpi {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
}

.wm-progress {
  background: #e9edef;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
  width: 100%;
}

.wm-progress-value {
  background: linear-gradient(120deg, #25d366 0%, #20bd5a 100%);
  height: 100%;
  transition: width 0.2s ease;
}

.wm-table-wrap {
  align-self: center;
  border: 1px solid #e0e6ef;
  border-radius: 10px;
  max-height: 42vh;
  max-width: 100%;
  overflow: auto;
  width: 100%;
}

.wm-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 100%;
  width: max-content;
}

.wm-table th {
  background: #f6f9fd;
  border-bottom: 1px solid #e0e6ef;
  font-size: 12px;
  font-weight: 700;
  padding: 10px;
  text-align: left;
}

.wm-table td {
  border-bottom: 1px solid #eef2f6;
  font-size: 13px;
  padding: 10px;
  vertical-align: top;
}

.wm-row-invalid td {
  background: var(--wm-danger-soft);
}

.wm-row-warning td {
  background: var(--wm-warning-soft);
}

.wm-row-selected-failed td {
  background: #fff1f3;
  outline: 2px solid #fac6cf;
  outline-offset: -2px;
}

.wm-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.wm-muted {
  color: var(--wm-muted);
}

.wm-status-chip {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
  padding: 3px 10px;
  white-space: nowrap;
}

.wm-status-dot {
  border-radius: 999px;
  height: 8px;
  width: 8px;
}

.wm-status-success {
  background: #ecfdf3;
  border-color: #c8f1d7;
  color: #0d9b4d;
}

.wm-status-success .wm-status-dot {
  background: #0d9b4d;
}

.wm-status-failed {
  background: #fff1f3;
  border-color: #fac6cf;
  color: #c1121f;
}

.wm-status-failed .wm-status-dot {
  background: #c1121f;
}

.wm-status-running {
  background: #eef6ff;
  border-color: #c7ddfa;
  color: #0d4f8d;
}

.wm-status-running .wm-status-dot {
  background: #0d4f8d;
}

.wm-status-queued {
  background: #fff8ea;
  border-color: #f9e2b7;
  color: #9a6700;
}

.wm-status-queued .wm-status-dot {
  background: #9a6700;
}

.wm-status-skipped,
.wm-status-unknown {
  background: #f4f6fa;
  border-color: #dce2ea;
  color: #5b677a;
}

.wm-status-skipped .wm-status-dot,
.wm-status-unknown .wm-status-dot {
  background: #5b677a;
}

.wm-response-ok {
  color: #0d9b4d;
  font-weight: 700;
}

.wm-live-block {
  display: grid;
  gap: 12px;
  padding-top: 12px;
}

.wm-retry-toolbar {
  align-items: center;
  background: #fff8ea;
  border: 1px solid #f9e2b7;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 12px;
}

.wm-retry-count {
  color: #9a6700;
  font-size: 13px;
  font-weight: 700;
}

.wm-btn-retry {
  background: #fff1f3;
  border-color: #fac6cf;
  color: #c1121f;
}

.wm-cell-check {
  width: 36px;
}

@media (max-width: 1400px) {
  .wm-layout {
    grid-template-columns: minmax(360px, 1fr) minmax(440px, 1fr);
  }
}
@media (max-width: 1180px) {
  .wm-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 980px) {
  .wm-grid {
    grid-template-columns: 1fr;
  }
  .wm-actions {
    justify-content: stretch;
  }
  .wm-actions .wm-btn {
    flex: 1;
    justify-content: center;
  }
}
/* ── Mode toggle ─────────────────────────────────────────────── */
.wm-mode-toggle {
  align-items: center;
  background: #f0f2f5;
  border: 1px solid var(--wm-border);
  border-radius: 12px;
  display: inline-flex;
  gap: 4px;
  padding: 4px;
}

.wm-mode-option {
  align-items: center;
  border-radius: 9px;
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 6px;
  padding: 7px 16px;
  transition: background 0.15s, color 0.15s;
  user-select: none;
}

.wm-mode-option:hover {
  background: rgba(37, 211, 102, 0.1);
}

.wm-mode-active {
  background: #ffffff;
  border: 1px solid var(--wm-border);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  color: var(--wm-text);
}

.wm-mode-radio {
  display: none;
}

/* ── V2 template picker ──────────────────────────────────────── */
.wm-hint {
  font-size: 13px;
  padding: 6px 0;
}

.wm-v2-template-list {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.wm-v2-template-item {
  align-items: flex-start;
  border: 1px solid var(--wm-border);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  transition: border-color 0.15s, background 0.15s;
}

.wm-v2-template-item:hover {
  border-color: var(--wm-primary);
}

.wm-v2-template-selected {
  background: #f0fdf4;
  border-color: var(--wm-primary);
}

.wm-v2-template-check {
  flex-shrink: 0;
  padding-top: 2px;
}

.wm-v2-template-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.wm-v2-template-name {
  font-size: 13px;
  font-weight: 700;
}

.wm-v2-template-lang {
  color: var(--wm-muted);
  font-size: 12px;
  font-weight: 400;
}

.wm-v2-template-body {
  color: var(--wm-muted);
  font-size: 12px;
  font-style: italic;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── V2 mapping card per template ────────────────────────────── */
.wm-v2-mapping-list {
  margin-top: 4px;
}

.wm-v2-mapping-card {
  border: 1px solid var(--wm-border);
  border-radius: 10px;
  margin-top: 12px;
  padding: 12px;
}

.wm-v2-mapping-card-header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 700;
  gap: 4px;
  margin-bottom: 10px;
}

.wm-v2-mapping-card-name {
  color: var(--wm-text);
}

.wm-v2-no-vars {
  color: var(--wm-muted);
  font-size: 12px;
  font-weight: 400;
}

/* ── V2 summary (post-send) ──────────────────────────────────── */
.wm-v2-summary {
  border: 1px solid #c8f1d7;
  border-radius: 10px;
  background: #f0fdf4;
  margin-top: 12px;
  padding: 12px;
}

.wm-v2-summary-header {
  color: #0b5b2b;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}

.wm-v2-job-item {
  background: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  padding: 10px 12px;
}

.wm-v2-job-item:last-child {
  margin-bottom: 0;
}

.wm-v2-job-template-name {
  font-size: 13px;
  font-weight: 700;
}

.wm-v2-job-detail {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wm-v2-job-id {
  color: var(--wm-muted);
  font-size: 11px;
}

/* ── V2 live tracking panels ── */
.wm-v2-tracking-panel {
  border-top: 2px solid #e0e6ef;
  margin-top: 16px;
  padding-top: 14px;
}

.wm-v2-tracking-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.wm-v2-tracking-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wm-v2-tracking-name {
  font-size: 14px;
  font-weight: 700;
}

.wm-v2-tracking-lang {
  background: #f4f6fa;
  border-radius: 4px;
  color: var(--wm-muted);
  font-size: 11px;
  padding: 2px 6px;
}

/* Source: modules/front/private/Whatsapp_Scheduled_Send/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.wss-root {
  --wss-accent: #0f766e;
  --wss-accent-strong: #0a5f58;
  --wss-accent-soft: #d8f4ee;
  --wss-highlight: #f6b23c;
  --wss-highlight-soft: #fff4da;
  --wss-danger: #b93a51;
  --wss-danger-soft: #fff0f3;
  --wss-border: #d7e1e8;
  --wss-border-strong: #b7c6d2;
  --wss-panel: rgba(255, 255, 255, 0.94);
  --wss-panel-alt: #f4f8fb;
  --wss-text: #153042;
  --wss-muted: #617a8b;
  --wss-shadow: 0 22px 48px rgba(19, 42, 61, 0.12);
  background: radial-gradient(circle at top left, rgba(15, 118, 110, 0.14), transparent 34%), radial-gradient(circle at top right, rgba(246, 178, 60, 0.16), transparent 28%), linear-gradient(180deg, #f8fbfd 0%, #eef4f8 100%);
  box-sizing: border-box;
  color: var(--wss-text);
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  padding: 14px;
  position: relative;
}

.wss-alert {
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(15, 33, 50, 0.06);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
  padding: 12px 16px;
}

.wss-alert-error {
  background: #fff2f5;
  border: 1px solid #f3cad3;
  color: #8e2138;
}

.wss-alert-info {
  background: #eef8ff;
  border: 1px solid #c9e2f2;
  color: #1d5577;
}

.wss-shell {
  background: var(--wss-panel);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 24px;
  box-shadow: var(--wss-shadow);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: clamp(440px, 72vh, 900px);
  overflow: hidden;
  padding: 18px;
}

.wss-shell-form,
.wss-shell-detail {
  min-height: auto;
}

.wss-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(244, 249, 251, 0.98)), linear-gradient(90deg, rgba(15, 118, 110, 0.06), rgba(246, 178, 60, 0.04));
  border: 1px solid rgba(183, 198, 210, 0.7);
  border-radius: 22px;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 18px 20px;
  position: relative;
}

.wss-header::after {
  background: linear-gradient(90deg, var(--wss-accent), rgba(246, 178, 60, 0.85));
  border-radius: 999px;
  content: "";
  height: 4px;
  left: 20px;
  position: absolute;
  right: 20px;
  top: 0;
}

.wss-header-hero {
  align-items: center;
}

.wss-header-form {
  align-items: stretch;
  flex-direction: column;
}

.wss-header-topbar {
  display: flex;
  justify-content: flex-start;
}

.wss-header-copy,
.wss-header-center {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wss-header-center {
  align-items: center;
  text-align: center;
}

.wss-eyebrow {
  color: var(--wss-accent-strong);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.wss-title {
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0;
}

.wss-title-centered {
  margin: 0 auto;
}

.wss-subtitle {
  color: var(--wss-muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  max-width: 760px;
}

.wss-subtitle-centered {
  margin: 0 auto;
}

.wss-header-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.wss-overview-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wss-overview-card {
  background: linear-gradient(180deg, #ffffff, #f5f9fc);
  border: 1px solid rgba(183, 198, 210, 0.8);
  border-radius: 20px;
  padding: 14px 16px;
}

.wss-overview-label {
  color: var(--wss-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wss-overview-value {
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  font-size: 24px;
  font-weight: 700;
  margin-top: 6px;
}

.wss-steps-indicator {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 8px;
}

.wss-steps-indicator-centered {
  justify-content: center;
}

.wss-step {
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--wss-muted);
  font-weight: 700;
  padding: 7px 12px;
}

.wss-step-active {
  background: var(--wss-accent-soft);
  border-color: rgba(15, 118, 110, 0.22);
  color: var(--wss-accent-strong);
}

.wss-step-done {
  background: rgba(15, 118, 110, 0.09);
  border-color: rgba(15, 118, 110, 0.14);
  color: var(--wss-accent-strong);
}

.wss-step-separator {
  color: var(--wss-muted);
  font-size: 18px;
}

.wss-btn {
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 11px 16px;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.wss-btn:hover:not(:disabled) {
  box-shadow: 0 10px 20px rgba(19, 42, 61, 0.1);
  transform: translateY(-1px);
}

.wss-btn:disabled {
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}

.wss-btn-primary {
  background: linear-gradient(135deg, var(--wss-accent), #179485);
  color: #ffffff;
}

.wss-btn-secondary {
  background: #f4f8fb;
  border-color: rgba(183, 198, 210, 0.9);
  color: #29475b;
}

.wss-btn-ghost {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(183, 198, 210, 0.9);
  color: #29475b;
}

.wss-btn-inline {
  align-self: flex-start;
  margin-bottom: 4px;
}

.wss-btn-launch {
  background: #ebf7ff;
  border-color: #b5d9ef;
  color: #175c86;
}

.wss-btn-cancel {
  background: var(--wss-highlight-soft);
  border-color: #efd08e;
  color: #8b5a0f;
}

.wss-btn-cancel-solid {
  background: linear-gradient(135deg, #c6851d, #e7a43b);
  color: #ffffff;
}

.wss-btn-action {
  font-size: 12px;
  padding: 9px 12px;
}

.wss-btn-danger-xs {
  background: var(--wss-danger-soft);
  border: 1px solid #efc8d2;
  color: #9f2740;
  padding: 7px 12px;
}

.wss-table-wrap {
  background: #ffffff;
  border: 1px solid rgba(183, 198, 210, 0.72);
  border-radius: 20px;
  flex: 1 1 auto;
  min-height: 220px;
  overflow: auto;
}

.wss-table-wrap-sm {
  flex: none;
  max-height: 380px;
  min-height: auto;
}

.wss-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 760px;
  width: 100%;
}

.wss-table th,
.wss-table td {
  border-bottom: 1px solid #e5edf3;
  padding: 13px 14px;
  text-align: left;
  vertical-align: top;
}

.wss-table th {
  background: #f5f9fc;
  color: #426174;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  position: sticky;
  text-transform: uppercase;
  top: 0;
  z-index: 1;
}

.wss-table tbody tr {
  background: #ffffff;
  transition: background-color 0.16s ease;
}

.wss-table tbody tr:hover {
  background: #f9fcff;
}

.wss-table tbody tr:last-child td {
  border-bottom: 0;
}

.wss-cell-primary {
  font-size: 14px;
  font-weight: 700;
}

.wss-cell-meta {
  color: var(--wss-muted);
  font-size: 12px;
  line-height: 1.4;
}

.wss-cell-error {
  color: #8e2138;
  font-size: 12px;
  line-height: 1.5;
  max-width: 280px;
  word-break: break-word;
}

.wss-cell-check {
  padding: 12px 10px;
  width: 42px;
}

.wss-cell-check input[type=checkbox] {
  cursor: pointer;
  height: 16px;
  width: 16px;
}

.wss-cell-mono,
.wss-wamid {
  font-family: Consolas, "Courier New", monospace;
}

.wss-wamid {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wss-actions-cell {
  white-space: nowrap;
}

.wss-actions-cell .wss-btn + .wss-btn {
  margin-left: 6px;
}

.wss-state {
  color: var(--wss-muted);
  font-size: 14px;
  padding: 18px;
}

.wss-state-empty,
.wss-empty-state {
  align-items: center;
  background: linear-gradient(180deg, #fafcfd, #f3f8fb);
  border: 1px dashed rgba(183, 198, 210, 0.9);
  border-radius: 18px;
  display: flex;
  justify-content: center;
  min-height: 94px;
  text-align: center;
}

.wss-job-recipients {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wss-recipient-chip {
  align-self: flex-start;
  background: #ebf4fb;
  border: 1px solid #c7dcec;
  border-radius: 999px;
  color: #345468;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 10px;
}

.wss-recipient-split {
  align-items: center;
  color: var(--wss-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 7px;
}

.wss-recipient-dot {
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  width: 8px;
}

.wss-recipient-dot-success {
  background: var(--wss-accent);
}

.wss-recipient-dot-failed {
  background: var(--wss-danger);
}

.wss-badge {
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 11px;
  white-space: nowrap;
}

.wss-badge-scheduled {
  background: #e9f3ff;
  border-color: #bfd8ee;
  color: #1c567d;
}

.wss-badge-queued {
  background: #eaf8f7;
  border-color: #bfe5e2;
  color: #0f6460;
}

.wss-badge-running {
  animation: wss-pulse 1.3s ease-in-out infinite;
  background: #fff6e4;
  border-color: #efd18b;
  color: #8b5a0f;
}

.wss-badge-completed {
  background: var(--wss-accent-soft);
  border-color: rgba(15, 118, 110, 0.24);
  color: var(--wss-accent-strong);
}

.wss-badge-completed-errors {
  background: #fff5df;
  border-color: #efd08e;
  color: #8b5a0f;
}

.wss-badge-failed {
  background: var(--wss-danger-soft);
  border-color: #efc8d2;
  color: #9f2740;
}

.wss-badge-cancelled {
  background: #f2f5f8;
  border-color: #d7e1e8;
  color: #536776;
}

@keyframes wss-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.62;
  }
}
.wss-footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}

.wss-page-status {
  color: var(--wss-muted);
  font-size: 13px;
  font-weight: 700;
}

.wss-pager-actions {
  display: inline-flex;
  gap: 10px;
}

.wss-form-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.wss-form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wss-form-card,
.wss-recipient-card,
.wss-detail-card,
.wss-recipient-panel {
  background: linear-gradient(180deg, #ffffff, #f8fbfd);
  border: 1px solid rgba(183, 198, 210, 0.82);
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(19, 42, 61, 0.06);
  padding: 16px 18px;
}

.wss-form-card-accent {
  background: linear-gradient(180deg, rgba(15, 118, 110, 0.05), rgba(255, 255, 255, 0.96)), #ffffff;
}

.wss-form-card-wide {
  grid-column: 1/-1;
}

.wss-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wss-label {
  color: #234357;
  font-size: 13px;
  font-weight: 800;
}

.wss-input,
.wss-select {
  background: #ffffff;
  border: 1px solid var(--wss-border);
  border-radius: 14px;
  box-sizing: border-box;
  color: var(--wss-text);
  font-family: inherit;
  font-size: 14px;
  outline: none;
  padding: 12px 14px;
  width: 100%;
}

.wss-input:focus,
.wss-select:focus {
  border-color: rgba(15, 118, 110, 0.42);
  box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
}

.wss-input-phone {
  max-width: none;
}

.wss-field-hint {
  color: var(--wss-muted);
  font-size: 12px;
  line-height: 1.5;
}

.wss-immediate-notice {
  background: #fff5de;
  border-radius: 999px;
  color: #855515;
  display: inline-flex;
  font-weight: 800;
  padding: 6px 10px;
}

.wss-variables-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wss-variable-tag {
  background: #edf6ff;
  border: 1px solid #d0dfeb;
  border-radius: 999px;
  color: #31536a;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 10px;
}

.wss-form-section-title {
  color: var(--wss-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wss-section-heading {
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.08;
  margin: 4px 0 0;
}

.wss-section-subtitle {
  color: var(--wss-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 8px 0 0;
  max-width: 760px;
}

.wss-recipient-hero {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

.wss-summary-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.wss-summary-pill {
  background: #eff5f9;
  border: 1px solid #d1dce6;
  border-radius: 999px;
  color: #365265;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 12px;
}

.wss-summary-pill-accent {
  background: var(--wss-accent-soft);
  border-color: rgba(15, 118, 110, 0.24);
  color: var(--wss-accent-strong);
}

.wss-recipient-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

.wss-recipient-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wss-recipient-card-header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

.wss-recipient-card-title {
  font-size: 20px;
  font-weight: 700;
  margin: 4px 0 0;
}

.wss-recipient-card-subtitle {
  color: var(--wss-muted);
  font-size: 13px;
  line-height: 1.55;
  margin: 8px 0 0;
}

.wss-import-zone {
  background: linear-gradient(180deg, rgba(15, 118, 110, 0.04), rgba(255, 255, 255, 0.98)), #ffffff;
  border: 1px dashed rgba(15, 118, 110, 0.34);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
}

.wss-import-hint {
  color: var(--wss-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

.wss-file-input {
  font-family: inherit;
  font-size: 13px;
}

.wss-file-input::file-selector-button {
  background: var(--wss-accent);
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  margin-right: 10px;
  padding: 9px 12px;
}

.wss-import-summary {
  background: var(--wss-accent-soft);
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 16px;
  color: var(--wss-accent-strong);
  font-size: 13px;
  font-weight: 700;
  padding: 11px 14px;
}

.wss-mapping-grid,
.wss-validation-summary,
.wss-section-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wss-mapping-grid .wss-field {
  flex: 1 1 220px;
}

.wss-kpi {
  background: #eff5f9;
  border: 1px solid #d1dce6;
  border-radius: 999px;
  color: #375466;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 11px;
}

.wss-kpi-soft {
  background: var(--wss-accent-soft);
  border-color: rgba(15, 118, 110, 0.22);
  color: var(--wss-accent-strong);
}

.wss-kpi-danger {
  background: var(--wss-danger-soft);
  border-color: #efc8d2;
  color: #9f2740;
}

.wss-check-toggle {
  align-items: center;
  color: #365265;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 8px;
}

.wss-checkbox {
  cursor: pointer;
  height: 16px;
  width: 16px;
}

.wss-manual-row {
  display: flex;
  gap: 10px;
}

.wss-form-footer {
  display: flex;
}

.wss-form-footer-end {
  justify-content: flex-end;
}

.wss-form-footer-step2 {
  align-items: center;
  gap: 12px;
  justify-content: space-between;
}

.wss-row-failed {
  background: #fff8f9;
}

.wss-row-failed.wss-row-selected {
  background: #ffeef2;
  box-shadow: inset 0 0 0 2px rgba(185, 58, 81, 0.16);
}

.wss-row-invalid {
  background: #fff7f9;
}

.wss-row-skipped {
  background: #f7fafc;
  color: var(--wss-muted);
}

.wss-detail-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.wss-detail-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.wss-detail-label {
  color: var(--wss-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wss-detail-value {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 6px;
}

.wss-created-by-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wss-identity {
  align-items: center;
  display: flex;
  gap: 12px;
}

.wss-identity-compact {
  align-items: flex-start;
}

.wss-identity-badge {
  align-items: center;
  background: linear-gradient(135deg, var(--wss-accent), #189889);
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 40px;
  font-size: 13px;
  font-weight: 800;
  height: 40px;
  justify-content: center;
  text-transform: uppercase;
  width: 40px;
}

.wss-identity-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.wss-identity-name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  word-break: break-word;
}

.wss-identity-meta {
  color: var(--wss-muted);
  font-size: 12px;
  line-height: 1.4;
}

.wss-recipient-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wss-section-header {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
}

.wss-retry-toolbar {
  align-items: center;
  background: linear-gradient(180deg, #fff7e8, #fff3dd);
  border: 1px solid #efd08e;
  border-radius: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 14px;
}

.wss-retry-count {
  color: #8b5a0f;
  font-size: 13px;
  font-weight: 800;
}

.wss-btn-retry {
  background: linear-gradient(135deg, #a73247, #c64c62);
  border: 0;
  color: #ffffff;
}

.wss-live-dot {
  animation: wss-blink 1s ease-in-out infinite;
  background: var(--wss-highlight);
  border-radius: 50%;
  display: inline-block;
  height: 9px;
  margin-left: 7px;
  vertical-align: middle;
  width: 9px;
}

@keyframes wss-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
}
.wss-modal-backdrop {
  align-items: center;
  background: rgba(16, 36, 49, 0.54);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 999;
}

.wss-modal {
  background: #ffffff;
  border: 1px solid rgba(183, 198, 210, 0.82);
  border-radius: 24px;
  box-shadow: 0 26px 60px rgba(16, 36, 49, 0.26);
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 520px;
  outline: none;
  padding: 22px;
  width: 100%;
}

.wss-modal-header {
  display: flex;
  gap: 16px;
}

.wss-modal-icon {
  align-items: center;
  background: linear-gradient(135deg, #f0a52d, #d98714);
  border-radius: 16px;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 44px;
  font-size: 22px;
  font-weight: 800;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.wss-modal-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

.wss-modal-text {
  color: var(--wss-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 8px 0 0;
}

.wss-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

@media (max-width: 1024px) {
  .wss-overview-grid,
  .wss-form-grid,
  .wss-recipient-grid {
    grid-template-columns: 1fr;
  }
  .wss-summary-pills {
    justify-content: flex-start;
  }
}
@media (max-width: 768px) {
  .wss-root {
    padding: 10px;
  }
  .wss-shell {
    border-radius: 20px;
    min-height: auto;
    padding: 14px;
  }
  .wss-header,
  .wss-footer,
  .wss-section-header,
  .wss-form-footer-step2 {
    align-items: stretch;
    flex-direction: column;
  }
  .wss-header-actions,
  .wss-pager-actions,
  .wss-modal-actions {
    justify-content: stretch;
  }
  .wss-header-actions .wss-btn,
  .wss-pager-actions .wss-btn,
  .wss-modal-actions .wss-btn {
    width: 100%;
  }
  .wss-title {
    font-size: 24px;
  }
  .wss-manual-row {
    flex-direction: column;
  }
  .wss-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .wss-root {
    padding: 6px;
  }
  .wss-header,
  .wss-form-card,
  .wss-recipient-card,
  .wss-detail-card,
  .wss-recipient-panel,
  .wss-modal {
    border-radius: 18px;
    padding: 14px;
  }
  .wss-overview-value,
  .wss-section-heading {
    font-size: 20px;
  }
  .wss-identity {
    align-items: flex-start;
  }
}
/* Source: modules/front/administration/Leads/src/main/resources/META-INF/resources/lib/app/app.component.styles.ts */
.leads-app {
  background: linear-gradient(180deg, #f7f4ef 0%, #ffffff 55%);
  color: #1f2933;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 24px;
}

.leads-hero {
  align-items: flex-start;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.leads-eyebrow {
  color: #8a5b21;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.leads-title {
  font-size: 30px;
  line-height: 1.1;
  margin: 0;
}

.leads-subtitle {
  color: #52606d;
  line-height: 1.5;
  margin: 10px 0 0;
  max-width: 760px;
}

.leads-stats {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(96px, 1fr));
  min-width: 320px;
}

.leads-stat {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #eadfd1;
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(133, 92, 33, 0.08);
  padding: 16px;
}

.leads-stat span {
  color: #7b8794;
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.leads-stat strong {
  color: #102a43;
  font-size: 24px;
}

.leads-alert {
  border-radius: 14px;
  margin-bottom: 16px;
  padding: 14px 16px;
}

.leads-alert.error {
  background: #fff0ef;
  border: 1px solid #f5c2c0;
  color: #b42318;
}

.leads-alert.success {
  background: #edfdf3;
  border: 1px solid #b7ebc6;
  color: #027a48;
}

.leads-toolbar,
.leads-card-head,
.leads-pagination,
.leads-panel-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.leads-toolbar {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #eadfd1;
  border-radius: 18px;
  gap: 16px;
  margin-bottom: 20px;
  padding: 16px 18px;
}

.leads-toolbar-left,
.leads-toolbar-right,
.leads-toolbar-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.leads-toolbar label,
.leads-toolbar span {
  color: #334e68;
  font-size: 14px;
}

.leads-toggle {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.leads-toolbar select,
.leads-form-input,
.leads-form-textarea {
  background: #ffffff;
  border: 1px solid #d9d0c5;
  border-radius: 12px;
  box-sizing: border-box;
  color: #102a43;
  font-size: 14px;
  padding: 10px 12px;
  width: 100%;
}

.leads-layout {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1.8fr) minmax(320px, 0.95fr);
}

.leads-card,
.leads-panel {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #eadfd1;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(133, 92, 33, 0.08);
  padding: 20px;
}

.leads-card-head h2,
.leads-panel-head h2 {
  font-size: 20px;
  margin: 4px 0 0;
}

.leads-muted {
  color: #7b8794;
  font-size: 13px;
}

.leads-table-wrap {
  overflow-x: auto;
}

.leads-table {
  border-collapse: collapse;
  width: 100%;
}

.leads-table th,
.leads-table td {
  border-bottom: 1px solid #f0e5d8;
  padding: 14px 10px;
  text-align: left;
  vertical-align: top;
}

.leads-table th {
  color: #7b8794;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.leads-table tr.is-active {
  background: #fff8ee;
}

.leads-name {
  color: #102a43;
  display: block;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 6px;
}

.leads-comment {
  color: #52606d;
  display: block;
  font-size: 13px;
  line-height: 1.4;
  max-width: 280px;
}

.leads-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.leads-button {
  background: #102a43;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 14px;
}

.leads-button.secondary {
  background: #f0e5d8;
  color: #7c4d12;
}

.leads-button.ghost {
  background: transparent;
  border: 1px solid #d9d0c5;
  color: #334e68;
}

.leads-button.danger {
  background: #b42318;
}

.leads-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.leads-pagination {
  gap: 12px;
  margin-top: 16px;
}

.leads-pagination-summary {
  color: #ccd4de;
  font-size: 14px;
}

.leads-empty,
.leads-loading,
.leads-panel-empty {
  color: #52606d;
  line-height: 1.6;
  padding: 24px 8px 8px;
}

.leads-panel-actions {
  display: flex;
  gap: 8px;
}

.leads-detail-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.leads-detail-item {
  background: #fbf7f2;
  border-radius: 16px;
  padding: 14px 16px;
}

.leads-detail-item span {
  color: #7b8794;
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.leads-detail-item strong,
.leads-detail-item p {
  color: #102a43;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  overflow-wrap: anywhere;
}

.leads-detail-item.is-wide {
  grid-column: 1/-1;
}

.leads-form {
  display: grid;
  gap: 14px;
}

.leads-form-row {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.leads-form-field label {
  color: #334e68;
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}

.leads-form-textarea {
  min-height: 140px;
  resize: vertical;
}

.leads-form-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 4px;
}

@media (max-width: 1100px) {
  .leads-hero,
  .leads-layout {
    grid-template-columns: 1fr;
  }
  .leads-hero {
    flex-direction: column;
  }
  .leads-stats {
    min-width: 0;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .leads-app {
    padding: 16px;
  }
  .leads-toolbar,
  .leads-card,
  .leads-panel {
    padding: 16px;
  }
  .leads-form-row,
  .leads-detail-grid,
  .leads-stats {
    grid-template-columns: 1fr;
  }
  .leads-pagination,
  .leads-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* Source: modules/front/public/Compagne_Marketing/src/main/resources/META-INF/resources/lib/app/app.component.ts */
/* ── Reset ───────────────────────────────────────────────────────────────── */
.cm-root *, .cm-root *::before, .cm-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.cm-root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
  font-size: 16px;
  color: #1a2336;
  background: #ffffff;
  overflow-x: hidden;
}

.cm-root a {
  text-decoration: none;
}

/* ── Tokens ──────────────────────────────────────────────────────────────── */
/* --green: #25d366 | --navy: #1a2336 | --light: #f4f6fa */
/* ── Brand ───────────────────────────────────────────────────────────────── */
.cm-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 32px;
}

.cm-brand-logo {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #25d366, #20bd5a);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
  flex-shrink: 0;
}

.cm-brand-name {
  font-size: 32px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -1px;
  line-height: 1;
}

.cm-brand-name em {
  color: #25d366;
  font-style: normal;
}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.cm-hero {
  background: linear-gradient(135deg, #0d1f33 0%, #1a2336 50%, #0a2e1a 100%);
  padding: 100px 24px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cm-hero::before {
  content: "";
  position: absolute;
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(37, 211, 102, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.cm-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(37, 211, 102, 0.12);
  border: 1px solid rgba(37, 211, 102, 0.3);
  border-radius: 999px;
  color: #25d366;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  margin-bottom: 28px;
  letter-spacing: 0.03em;
}

.cm-hero-badge-dot {
  width: 7px;
  height: 7px;
  background: #25d366;
  border-radius: 50%;
  animation: cm-pulse 1.8s ease-in-out infinite;
}

@keyframes cm-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.75);
  }
}
.cm-hero-title {
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 900;
  color: #ffffff;
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin-bottom: 24px;
}

.cm-hero-title span {
  color: #25d366;
}

.cm-hero-subtitle {
  font-size: clamp(16px, 2vw, 20px);
  color: rgba(255, 255, 255, 0.65);
  max-width: 620px;
  margin: 0 auto 44px;
  line-height: 1.7;
}

.cm-hero-subtitle-strong {
  color: #ffffff;
}

.cm-hero-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.cm-btn-primary {
  background: #25d366;
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 32px;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  letter-spacing: 0.02em;
}

.cm-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.45);
}

.cm-btn-secondary {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
  font-weight: 600;
  padding: 14px 32px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.cm-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.13);
}

/* ── Stats ───────────────────────────────────────────────────────────────── */
.cm-stats {
  background: #f4f6fa;
  padding: 56px 24px;
}

.cm-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.cm-stat-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 14px;
  padding: 28px 24px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cm-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.cm-stat-number {
  font-size: 42px;
  font-weight: 900;
  color: #25d366;
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 8px;
}

.cm-stat-label {
  font-size: 13px;
  color: #000000;
  font-weight: 500;
  line-height: 1.4;
}

/* ── Section headers ─────────────────────────────────────────────────────── */
.cm-section {
  padding: 80px 24px;
}

.cm-section-alt {
  background: #f4f6fa;
}

.cm-section-dark {
  background: linear-gradient(135deg, #1a2336 0%, #0d1f33 100%);
  color: #ffffff;
}

.cm-container {
  max-width: 1160px;
  margin: 0 auto;
}

.cm-section-label {
  display: inline-block;
  background: rgba(37, 211, 102, 0.12);
  border: 1px solid rgba(37, 211, 102, 0.25);
  border-radius: 999px;
  color: #25d366;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 5px 14px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.cm-section-title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  color: #1a2336;
  letter-spacing: -0.8px;
  line-height: 1.15;
  margin-bottom: 16px;
}

.cm-section-dark .cm-section-title {
  color: #ffffff;
}

.cm-section-title span {
  color: #25d366;
}

.cm-section-desc {
  font-size: 17px;
  color: #5b677a;
  max-width: 600px;
  line-height: 1.7;
  margin-bottom: 56px;
}

.cm-section-dark .cm-section-desc {
  color: rgba(255, 255, 255, 0.6);
}

/* ── Features grid ───────────────────────────────────────────────────────── */
.cm-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}

.cm-feature-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
}

.cm-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
  border-color: rgba(37, 211, 102, 0.3);
}

.cm-feature-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #25d366, #20bd5a);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.cm-feature-card:hover::after {
  transform: scaleX(1);
}

.cm-feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 18px;
  background: rgba(37, 211, 102, 0.1);
  flex-shrink: 0;
}

.cm-feature-title {
  font-size: 16px;
  font-weight: 800;
  color: #1a2336;
  margin-bottom: 10px;
  letter-spacing: -0.2px;
}

.cm-feature-desc {
  font-size: 14px;
  color: #5b677a;
  line-height: 1.65;
}

.cm-feature-tag {
  display: inline-block;
  background: #f4f6fa;
  border-radius: 999px;
  color: #5b677a;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 3px 10px;
  margin-top: 14px;
  text-transform: uppercase;
}

.cm-feature-tag-green {
  background: rgba(37, 211, 102, 0.1);
  color: #1a8f47;
}

/* ── How it works ────────────────────────────────────────────────────────── */
.cm-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 32px;
  position: relative;
}

.cm-step {
  text-align: center;
  padding: 32px 24px;
  position: relative;
}

.cm-step-number {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25d366, #20bd5a);
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
}

.cm-step-title {
  font-size: 17px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 10px;
}

.cm-step-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.65;
}

/* ── Roles table ─────────────────────────────────────────────────────────── */
.cm-roles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.cm-role-card {
  border-radius: 16px;
  padding: 32px 28px;
  border: 1px solid #e0e6ef;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}

.cm-role-card:hover {
  transform: translateY(-3px);
}

.cm-role-card-featured {
  background: linear-gradient(135deg, #1a2336, #0d1f33);
  border-color: rgba(37, 211, 102, 0.25);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

.cm-role-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 12px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.cm-role-badge-standard {
  background: #f4f6fa;
  color: #5b677a;
}

.cm-role-badge-resp {
  background: rgba(37, 211, 102, 0.1);
  color: #1a8f47;
}

.cm-role-badge-admin {
  background: rgba(37, 211, 102, 0.15);
  color: #25d366;
}

.cm-role-icon {
  font-size: 16px;
}

.cm-role-name {
  font-size: 22px;
  font-weight: 900;
  color: #1a2336;
  margin-bottom: 12px;
}

.cm-role-card-featured .cm-role-name {
  color: #000000;
}

.cm-role-features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 4px;
}

.cm-role-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: #5b677a;
  line-height: 1.4;
}

.cm-role-card-featured .cm-role-feature-item {
  color: #000000;
}

.cm-role-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(37, 211, 102, 0.15);
  color: #25d366;
  font-size: 11px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

/* ── Integrations ────────────────────────────────────────────────────────── */
.cm-integrations {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-top: 40px;
}

.cm-integrations-section {
  text-align: center;
}

.cm-integrations-desc {
  margin: 0 auto 0;
}

.cm-integration-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  transition: background 0.15s ease, border-color 0.15s ease;
}

.cm-integration-pill:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(37, 211, 102, 0.35);
}

.cm-integration-icon {
  font-size: 20px;
}

/* ── CTA ─────────────────────────────────────────────────────────────────── */
.cm-cta {
  background: linear-gradient(135deg, #0a2e1a 0%, #1a2336 50%, #0a1628 100%);
  padding: 96px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cm-cta::before {
  content: "";
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(37, 211, 102, 0.08) 0%, transparent 65%);
  pointer-events: none;
}

.cm-cta-title {
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -1px;
  line-height: 1.15;
  margin-bottom: 20px;
}

.cm-cta-title span {
  color: #25d366;
}

.cm-cta-subtitle {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  max-width: 540px;
  margin: 0 auto 44px;
  line-height: 1.65;
}

.cm-cta-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  max-width: 600px;
  margin: 0 auto 16px;
  text-align: left;
}

.cm-cta-form-full {
  grid-column: 1/-1;
}

.cm-cta-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cm-cta-label {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cm-cta-input {
  height: 50px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  color: #ffffff;
  font-size: 15px;
  padding: 0 18px;
  outline: none;
  width: 100%;
  transition: border-color 0.15s ease, background 0.15s ease;
  font-family: inherit;
}

.cm-cta-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.cm-cta-input:focus {
  background: rgba(255, 255, 255, 0.11);
  border-color: #25d366;
}

.cm-cta-textarea {
  height: 110px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  color: #ffffff;
  font-size: 15px;
  padding: 14px 18px;
  outline: none;
  width: 100%;
  resize: vertical;
  transition: border-color 0.15s ease, background 0.15s ease;
  font-family: inherit;
  line-height: 1.5;
}

.cm-cta-textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.cm-cta-textarea:focus {
  background: rgba(255, 255, 255, 0.11);
  border-color: #25d366;
}

.cm-cta-submit {
  grid-column: 1/-1;
  text-align: center;
  margin-top: 4px;
}

.cm-cta-note {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 12px;
}

.cm-cta-error {
  font-size: 13px;
  color: #ff6b6b;
  margin-top: 4px;
  min-height: 18px;
  text-align: center;
}

@media (max-width: 600px) {
  .cm-cta-form {
    grid-template-columns: 1fr;
  }
  .cm-cta-form-full {
    grid-column: 1;
  }
  .cm-cta-submit {
    grid-column: 1;
  }
}
/* ── Footer bar ──────────────────────────────────────────────────────────── */
.cm-footer-bar {
  background: #0d1f33;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 20px 24px;
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
}

.cm-footer-bar span {
  color: #25d366;
  font-weight: 600;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .cm-hero {
    padding: 70px 20px 60px;
  }
  .cm-section {
    padding: 56px 20px;
  }
  .cm-features-grid {
    grid-template-columns: 1fr;
  }
  .cm-steps {
    grid-template-columns: 1fr;
  }
  .cm-roles-grid {
    grid-template-columns: 1fr;
  }
}
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
  font-size: 15px;
  color: #1a2336;
  background: #f4f6fa;
  margin: 0;
}

.navbar,
.site-navigation,
#header {
  background: #0d1f33 !important;
  border-bottom: 2px solid #25d366 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25) !important;
  min-height: 56px;
}

.waba-header-inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 1rem;
  min-height: 56px;
}

.waba-header-left {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}

.waba-header-center {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.waba-header-center #navigation,
.waba-header-center .portlet-navigation,
.waba-header-center .portlet-boundary,
.waba-header-center .portlet-body,
.waba-header-center .portlet-content,
.waba-header-center .portlet-content-editable,
.waba-header-center .portlet-content-container,
.waba-header-center .site-navigation-menu-portlet,
.waba-header-center .navbar-collapse,
.waba-header-center .collapse {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.waba-header-center #navigation .nav,
.waba-header-center #navigation ul {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.waba-header-right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.navbar-brand,
.site-name-text,
.logo-text {
  color: #ffffff !important;
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -0.4px;
}
.navbar-brand em,
.site-name-text em,
.logo-text em {
  color: #25d366;
  font-style: normal;
}

.navbar .nav-link,
.navbar .nav-item > a,
#navigation .nav-link {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 0.15s ease;
  padding: 0.5rem 0.9rem;
}
.navbar .nav-link:hover, .navbar .nav-link:focus,
.navbar .nav-item > a:hover,
.navbar .nav-item > a:focus,
#navigation .nav-link:hover,
#navigation .nav-link:focus {
  color: #25d366 !important;
}
.navbar .nav-link.active,
.navbar .nav-item > a.active,
#navigation .nav-link.active {
  color: #25d366 !important;
  font-weight: 700;
}

.breadcrumb {
  background: transparent;
  padding: 0.5rem 0;
  margin: 0;
}
.breadcrumb .breadcrumb-item a {
  color: #25d366;
}
.breadcrumb .breadcrumb-item.active {
  color: #5b677a;
}

.lfr-nav-left,
.portlet-navigation,
.site-navigation-menu-portlet {
  background: #1a2336;
}
.lfr-nav-left .nav-link,
.portlet-navigation .nav-link,
.site-navigation-menu-portlet .nav-link {
  color: rgba(255, 255, 255, 0.7) !important;
  border-radius: 6px;
  margin: 2px 8px;
  transition: background 0.15s, color 0.15s;
}
.lfr-nav-left .nav-link:hover,
.portlet-navigation .nav-link:hover,
.site-navigation-menu-portlet .nav-link:hover {
  background: rgba(37, 211, 102, 0.12);
  color: #25d366 !important;
}
.lfr-nav-left .nav-link.active,
.portlet-navigation .nav-link.active,
.site-navigation-menu-portlet .nav-link.active {
  background: rgba(37, 211, 102, 0.12);
  color: #25d366 !important;
  font-weight: 700;
}

#content,
.portlet-layout,
.container-fluid {
  background: #f4f6fa;
}

.portlet-column-content {
  padding: 0;
}

.portlet-topper {
  display: none;
}

.portlet-content {
  background: transparent;
  padding: 0;
  border: none;
}

.portlet-decorate .portlet-content-container {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.portlet-borderless .portlet-content-container {
  background: transparent;
  border: none;
  box-shadow: none;
}

.portlet-header {
  align-items: center;
}

.portlet-header-separator-col .autofit-section {
  display: flex;
  align-items: center;
  height: 100%;
}

.portlet-header-separator {
  display: block;
  width: 1px;
  height: 24px;
  margin: 0 12px;
  background: #e0e6ef;
}

.btn-primary,
.lfr-btn-primary {
  background: #25d366 !important;
  border-color: #25d366 !important;
  color: #ffffff !important;
  font-weight: 700;
  border-radius: 8px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-primary:hover,
.lfr-btn-primary:hover {
  background: #20bd5a !important;
  border-color: #20bd5a !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35);
}

.btn-secondary,
.lfr-btn-secondary {
  background: #ffffff !important;
  border-color: #e0e6ef !important;
  color: #1a2336 !important;
  font-weight: 600;
  border-radius: 8px;
}
.btn-secondary:hover,
.lfr-btn-secondary:hover {
  border-color: #25d366 !important;
  color: #25d366 !important;
}

.form-control {
  border-color: #e0e6ef;
  border-radius: 8px;
  color: #1a2336;
  font-size: 0.9375rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.form-control:focus {
  border-color: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.15);
  outline: none;
}

label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #5b677a;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.alert-success {
  background: rgba(37, 211, 102, 0.1);
  border-color: rgba(37, 211, 102, 0.3);
  color: #1a7a40;
}

.alert-danger {
  background: rgba(255, 77, 77, 0.08);
  border-color: rgba(255, 77, 77, 0.25);
  color: #c0392b;
}

.alert-info {
  background: rgba(11, 95, 255, 0.07);
  border-color: rgba(11, 95, 255, 0.2);
  color: #0b5fff;
}

.table {
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e0e6ef;
}
.table thead th {
  background: #f4f6fa;
  color: #5b677a;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid #e0e6ef;
  padding: 0.75rem 1rem;
}
.table tbody td {
  padding: 0.75rem 1rem;
  border-color: #e0e6ef;
  vertical-align: middle;
  font-size: 0.9rem;
}
.table tbody tr:hover {
  background: #f4f6fa;
}

.badge-green {
  background: rgba(37, 211, 102, 0.12);
  color: #1a7a40;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  padding: 0.3em 0.7em;
  border-radius: 999px;
  text-transform: uppercase;
}

footer,
#footer,
.footer {
  background: #0d1f33 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 0.8rem;
  text-align: center;
  padding: 1rem;
}
footer a,
#footer a,
.footer a {
  color: #25d366 !important;
  font-weight: 600;
  text-decoration: none;
}
footer a:hover,
#footer a:hover,
.footer a:hover {
  text-decoration: underline;
}

.control-menu-container,
.lfr-admin-panel {
  background: #1a2336 !important;
}
.control-menu-container .control-menu-nav-item a,
.control-menu-container .lfr-admin-panel-link,
.lfr-admin-panel .control-menu-nav-item a,
.lfr-admin-panel .lfr-admin-panel-link {
  color: rgba(255, 255, 255, 0.8) !important;
}
.control-menu-container .control-menu-nav-item a:hover,
.control-menu-container .lfr-admin-panel-link:hover,
.lfr-admin-panel .control-menu-nav-item a:hover,
.lfr-admin-panel .lfr-admin-panel-link:hover {
  color: #25d366 !important;
}

body.public-page #wrapper,
body.public-page #content,
body.public-page .portlet-layout {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

@media (max-width: 768px) {
  .navbar {
    min-height: 48px;
  }
  .portlet-decorate .portlet-content-container {
    border-radius: 8px;
  }
}
.navigation a[href*=create_account],
.navigation a[href*=CreateAccount],
.navigation a[href*=create-account],
.taglib-icon-list a[href*=create_account],
.taglib-icon-list a[href*=CreateAccount] {
  display: none !important;
}

.navigation li:has(> a[href*=create_account]),
.navigation li:has(> a[href*=CreateAccount]),
.taglib-icon-list li:has(> a[href*=create_account]) {
  display: none !important;
}

body.waba-login-page {
  background: radial-gradient(ellipse 80% 55% at 15% -5%, rgba(37, 211, 102, 0.2) 0%, transparent 55%), radial-gradient(ellipse 55% 45% at 88% 105%, rgba(37, 211, 102, 0.13) 0%, transparent 50%), linear-gradient(155deg, #0d1f33 0%, #071120 100%) !important;
  min-height: 100vh;
}
body.waba-login-page #header, body.waba-login-page #footer {
  display: none !important;
}
body.waba-login-page #wrapper {
  background: transparent !important;
}
body.waba-login-page #content {
  min-height: 100vh;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  padding: 2rem 1rem;
}
body.waba-login-page .portlet-layout,
body.waba-login-page .portlet-column,
body.waba-login-page .portlet-column-content,
body.waba-login-page .portlet-content-container,
body.waba-login-page .portlet-decorate .portlet-content-container,
body.waba-login-page .portlet-content,
body.waba-login-page .portlet-body {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.waba-login-page .login-container {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 20px 60px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.2);
  padding: 2.75rem 2.5rem 2rem;
  width: 100%;
  max-width: 420px;
  position: relative;
  border: none !important;
}
body.waba-login-page .login-container::before {
  content: "wabaSend";
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: -0.5px;
  color: #0d1f33;
  margin-bottom: 0.35rem;
}
body.waba-login-page .login-container::after {
  content: "Connectez-vous à votre espace";
  display: block;
  text-align: center;
  font-size: 0.85rem;
  color: #5b677a;
  margin-bottom: 1.75rem;
}

body.waba-login-page .login-container .control-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #5b677a;
  margin-bottom: 0.35rem;
  display: block;
}
body.waba-login-page .login-container .field.form-control,
body.waba-login-page .login-container .form-control {
  height: 46px;
  border: 1.5px solid #e0e6ef;
  border-radius: 10px;
  font-size: 0.9375rem;
  color: #1a2336;
  padding: 0 0.9rem;
  background: #f9fafb;
  transition: border-color 0.15s, box-shadow 0.15s;
}
body.waba-login-page .login-container .field.form-control:focus,
body.waba-login-page .login-container .form-control:focus {
  border-color: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.15);
  background: #ffffff;
  outline: none;
}
body.waba-login-page .login-container .field.form-control::placeholder,
body.waba-login-page .login-container .form-control::placeholder {
  color: #b8c0cc;
}
body.waba-login-page .login-container select.field,
body.waba-login-page .login-container select.form-control {
  height: 46px;
  appearance: auto;
  cursor: pointer;
}
body.waba-login-page .login-container .form-group,
body.waba-login-page .login-container .field-wrapper {
  margin-bottom: 1rem;
}
body.waba-login-page .login-container .checkbox label,
body.waba-login-page .login-container .form-check-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #5b677a;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

body.waba-login-page .login-container .btn-group,
body.waba-login-page .login-container .btn-block,
body.waba-login-page .login-container .c-mt-3.btn-block {
  margin-top: 0.75rem;
}

body.waba-login-page .login-container .btn-primary {
  width: 100%;
  height: 50px;
  margin-top: 0.75rem;
  background: linear-gradient(135deg, #25d366 0%, #20bd5a 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
  cursor: pointer;
}
body.waba-login-page .login-container .btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.5) !important;
}
body.waba-login-page .login-container .btn-primary:active {
  transform: translateY(0) !important;
}

body.waba-login-page .login-container .navigation {
  margin-top: 1.25rem;
  text-align: center;
}
body.waba-login-page .login-container .navigation .taglib-icon-list,
body.waba-login-page .login-container .navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
body.waba-login-page .login-container .navigation a {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #5b677a;
  text-decoration: none;
  transition: color 0.15s;
}
body.waba-login-page .login-container .navigation a:hover {
  color: #25d366;
}
body.waba-login-page .login-container .navigation li:has(a[href*=create_account]),
body.waba-login-page .login-container .navigation li:has(a[href*=create-account]),
body.waba-login-page .login-container .navigation a[href*=create_account],
body.waba-login-page .login-container .navigation a[href*=create-account] {
  display: none !important;
}

body.waba-login-page .login-container .alert {
  border-radius: 10px;
  font-size: 0.85rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 1024px) {
  .clients-app .clients-layout {
    grid-template-columns: 1fr;
  }
  .clients-app .clients-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .clients-app .clients-hero {
    padding: 1.5rem;
    flex-direction: column;
    gap: 1.5rem;
  }
  .clients-app .clients-hero .clients-title {
    font-size: 1.35rem;
  }
  .clients-app .clients-card-head {
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
  }
  .clients-app .clients-toolbar {
    flex-direction: column;
    justify-content: flex-start;
  }
  .clients-app .clients-table {
    font-size: 0.8rem;
  }
  .clients-app .clients-table th, .clients-app .clients-table td {
    padding: 0.6rem 0.75rem;
  }
  .clients-app .clients-info-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .clients-app .clients-form-row {
    grid-template-columns: 1fr;
  }
  .clients-app .clients-fiche-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .clients-app .clients-onboarding-card {
    position: static;
    margin-top: 1rem;
  }
  .clients-app .clients-onboarding-step {
    grid-template-columns: 36px 1fr;
    gap: 0.75rem;
  }
  .clients-app .clients-onboarding-step::before {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }
}
@media (max-width: 480px) {
  .clients-app .clients-hero {
    padding: 1rem;
    gap: 1rem;
  }
  .clients-app .clients-hero .clients-title {
    font-size: 1.1rem;
  }
  .clients-app .clients-hero .clients-subtitle {
    font-size: 0.8rem;
  }
  .clients-app .clients-card {
    border-radius: 8px;
  }
  .clients-app .clients-card-head {
    padding: 1rem;
    border-radius: 8px;
  }
  .clients-app .clients-card-head h2 {
    font-size: 0.95rem;
  }
  .clients-app .clients-panel {
    padding: 1rem;
    border-radius: 8px;
  }
  .clients-app .clients-button {
    width: 100%;
    justify-content: center;
    padding: 0.5rem 0.75rem;
  }
  .clients-app .clients-actions {
    flex-direction: column;
    width: 100%;
  }
}
@supports selector(:has(*)) {
  body.waba-login-page .portlet-body:has(select[name*=oAuthClientEntryId]),
  body.waba-login-page .portlet-body:has(input[name*=oAuthClientEntryId]) {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 20px 60px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.2);
    padding: 2.75rem 2.5rem 2rem;
    width: 100%;
    max-width: 420px;
    position: relative;
    border: none !important;
    margin: 0 auto !important;
  }
  body.waba-login-page .portlet-body:has(select[name*=oAuthClientEntryId])::before,
  body.waba-login-page .portlet-body:has(input[name*=oAuthClientEntryId])::before {
    content: "wabaSend";
    display: block;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: -0.5px;
    color: #0d1f33;
    margin-bottom: 0.35rem;
  }
  body.waba-login-page .portlet-body:has(select[name*=oAuthClientEntryId])::after,
  body.waba-login-page .portlet-body:has(input[name*=oAuthClientEntryId])::after {
    content: "Connectez-vous à votre espace";
    display: block;
    text-align: center;
    font-size: 0.85rem;
    color: #5b677a;
    margin-bottom: 1.75rem;
  }
}
body.waba-login-page--oidc .waba-oidc-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 20px 60px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  padding: 2.75rem 2.5rem 2rem !important;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  position: relative;
  border: none !important;
}
body.waba-login-page--oidc .waba-oidc-card::before {
  content: "wabaSend";
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: -0.5px;
  color: #0d1f33;
  margin-bottom: 0.35rem;
}
body.waba-login-page--oidc .waba-oidc-card::after {
  content: "Connectez-vous à votre espace";
  display: block;
  text-align: center;
  font-size: 0.85rem;
  color: #5b677a;
  margin-bottom: 1.75rem;
}
body.waba-login-page--oidc .waba-oidc-card .control-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #5b677a;
  margin-bottom: 0.35rem;
  display: block;
}
body.waba-login-page--oidc .waba-oidc-card .field.form-control,
body.waba-login-page--oidc .waba-oidc-card .form-control {
  height: 46px;
  border: 1.5px solid #e0e6ef !important;
  border-radius: 10px !important;
  font-size: 0.9375rem;
  color: #1a2336;
  padding: 0 0.9rem !important;
  background: #f9fafb !important;
  box-shadow: none !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
body.waba-login-page--oidc .waba-oidc-card .field.form-control:focus,
body.waba-login-page--oidc .waba-oidc-card .form-control:focus {
  border-color: #25d366 !important;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.15) !important;
  background: #ffffff !important;
  outline: none;
}
body.waba-login-page--oidc .waba-oidc-card .field.form-control::placeholder,
body.waba-login-page--oidc .waba-oidc-card .form-control::placeholder {
  color: #b8c0cc;
}
body.waba-login-page--oidc .waba-oidc-card select.field,
body.waba-login-page--oidc .waba-oidc-card select.form-control {
  height: 46px;
  appearance: auto;
  cursor: pointer;
}
body.waba-login-page--oidc .waba-oidc-card .form-group,
body.waba-login-page--oidc .waba-oidc-card .field-wrapper {
  margin-bottom: 1rem;
}
body.waba-login-page--oidc .waba-oidc-card .btn-primary {
  width: 100%;
  height: 50px;
  background: linear-gradient(135deg, #25d366 0%, #20bd5a 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
  cursor: pointer;
  margin-top: 0.75rem;
}
body.waba-login-page--oidc .waba-oidc-card .btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.5) !important;
}
body.waba-login-page--oidc .waba-oidc-card .btn-primary:active {
  transform: translateY(0) !important;
}
body.waba-login-page--oidc .waba-oidc-card .navigation {
  margin-top: 1.25rem;
  text-align: center;
}
body.waba-login-page--oidc .waba-oidc-card .navigation .taglib-icon-list, body.waba-login-page--oidc .waba-oidc-card .navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
body.waba-login-page--oidc .waba-oidc-card .navigation a {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #5b677a;
  text-decoration: none;
  transition: color 0.15s;
}
body.waba-login-page--oidc .waba-oidc-card .navigation a:hover {
  color: #25d366;
}
body.waba-login-page--oidc .waba-oidc-card .navigation li:has(a[href*=create_account]),
body.waba-login-page--oidc .waba-oidc-card .navigation li:has(a[href*=create-account]),
body.waba-login-page--oidc .waba-oidc-card .navigation a[href*=create_account],
body.waba-login-page--oidc .waba-oidc-card .navigation a[href*=create-account] {
  display: none !important;
}
body.waba-login-page--oidc .waba-oidc-card .alert {
  border-radius: 10px;
  font-size: 0.85rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 480px) {
  body.waba-login-page--oidc .waba-oidc-card {
    padding: 2rem 1.4rem 1.75rem !important;
    border-radius: 16px !important;
    margin: 0 0.5rem;
  }
  body.waba-login-page--oidc .waba-oidc-card::before {
    font-size: 1.35rem;
  }
}
.portlet-leads footer, .portlet-leads_portlet footer {
  background: transparent !important;
  border-top: none !important;
  color: inherit !important;
  font-size: inherit;
  text-align: left;
  padding: 0;
}
.portlet-leads footer a, .portlet-leads_portlet footer a {
  color: inherit !important;
  font-weight: inherit;
}
.portlet-leads .leads-pagination, .portlet-leads_portlet .leads-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  background: #ffffff !important;
  border-top: 1px solid #e0e6ef !important;
  border-radius: 0 0 0.75rem 0.75rem;
  color: inherit !important;
}
.portlet-leads .leads-pagination .leads-pagination-summary, .portlet-leads_portlet .leads-pagination .leads-pagination-summary {
  font-size: 0.85rem;
  color: #5b677a;
  font-weight: 500;
}
.portlet-leads .leads-pagination .leads-actions, .portlet-leads_portlet .leads-pagination .leads-actions {
  display: flex;
  gap: 0.5rem;
}
.portlet-leads .leads-status-badge, .portlet-leads_portlet .leads-status-badge {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.portlet-leads .leads-status-EN_ATTENTE, .portlet-leads_portlet .leads-status-EN_ATTENTE {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffc107;
}
.portlet-leads .leads-status-CONTACTE, .portlet-leads_portlet .leads-status-CONTACTE {
  background: #cce5ff;
  color: #004085;
  border: 1px solid #007bff;
}
.portlet-leads .leads-status-EN_COURS, .portlet-leads_portlet .leads-status-EN_COURS {
  background: #d4edda;
  color: #155724;
  border: 1px solid #28a745;
}
.portlet-leads .leads-status-NON_RETENU, .portlet-leads_portlet .leads-status-NON_RETENU {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #dc3545;
}
.portlet-leads .leads-status-CONVERTI, .portlet-leads_portlet .leads-status-CONVERTI {
  background: #e8d5f5;
  color: #5b2c8d;
  border: 1px solid #8e44ad;
}
.portlet-leads .leads-workflow-actions, .portlet-leads_portlet .leads-workflow-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}
.portlet-leads .leads-workflow-btn, .portlet-leads_portlet .leads-workflow-btn {
  font-size: 0.8rem;
  padding: 0.3rem 0.75rem;
  border-radius: 0.5rem;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: opacity 0.15s;
}
.portlet-leads .leads-workflow-btn:hover:not(:disabled), .portlet-leads_portlet .leads-workflow-btn:hover:not(:disabled) {
  opacity: 0.85;
}
.portlet-leads .leads-workflow-btn:disabled, .portlet-leads_portlet .leads-workflow-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.portlet-leads .leads-workflow-CONTACTE, .portlet-leads_portlet .leads-workflow-CONTACTE {
  background: #007bff;
  color: #ffffff;
  border-color: #007bff;
}
.portlet-leads .leads-workflow-EN_COURS, .portlet-leads_portlet .leads-workflow-EN_COURS {
  background: #25d366;
  color: #ffffff;
  border-color: #25d366;
}
.portlet-leads .leads-workflow-NON_RETENU, .portlet-leads_portlet .leads-workflow-NON_RETENU {
  background: #dc3545;
  color: #ffffff;
  border-color: #dc3545;
}
.portlet-leads .leads-workflow-CONVERTI, .portlet-leads_portlet .leads-workflow-CONVERTI {
  background: #8e44ad;
  color: #ffffff;
  border-color: #8e44ad;
}

.clients-app {
  color: #1a2336;
}
.clients-app .clients-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 2rem;
  background: linear-gradient(135deg, #25d366 0%, #20bd5a 100%);
  color: #ffffff;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.2);
}
.clients-app .clients-eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #25d366;
  margin: 0 0 0.25rem;
}
.clients-app .clients-title {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  color: #ffffff;
}
.clients-app .clients-subtitle {
  font-size: 0.875rem;
  opacity: 0.75;
  margin: 0;
  max-width: 42rem;
}
.clients-app .clients-stats {
  display: flex;
  gap: 1.25rem;
}
.clients-app .clients-stat {
  text-align: center;
}
.clients-app .clients-stat span {
  display: block;
  font-size: 0.72rem;
  opacity: 0.7;
  text-transform: uppercase;
}
.clients-app .clients-stat strong {
  font-size: 1.5rem;
  font-weight: 700;
}
.clients-app .clients-alert {
  padding: 1rem 1.25rem;
  border-radius: 8px;
  font-size: 0.875rem;
  margin-bottom: 1rem;
  border-left: 4px solid;
}
.clients-app .clients-alert.success {
  background: rgba(37, 211, 102, 0.08);
  color: #1a7a40;
  border-left-color: #25d366;
}
.clients-app .clients-alert.error {
  background: rgba(255, 77, 77, 0.08);
  color: #c0392b;
  border-left-color: #ff4d4d;
}
.clients-app .clients-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.clients-app .clients-toolbar-left,
.clients-app .clients-toolbar-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.clients-app .clients-toolbar-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.clients-app .clients-toolbar-group select {
  border: 1px solid #e0e6ef;
  border-radius: 0.375rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}
.clients-app .clients-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 1.25rem;
  align-items: start;
}
@media (max-width: 960px) {
  .clients-app .clients-layout {
    grid-template-columns: 1fr;
  }
}
.clients-app .clients-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.clients-app .clients-card:hover {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 20px 60px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}
.clients-app .clients-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e0e6ef;
  background: linear-gradient(135deg, #f9fafb 0%, #f4f6fa 100%);
}
.clients-app .clients-card-head h2 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0;
  color: #1a2336;
}
.clients-app .clients-muted {
  font-size: 0.8rem;
  color: #5b677a;
}
.clients-app .clients-loading,
.clients-app .clients-empty {
  padding: 2rem;
  text-align: center;
  color: #5b677a;
  font-size: 0.875rem;
}
.clients-app .clients-table-wrap {
  overflow-x: auto;
}
.clients-app .clients-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.clients-app .clients-table th {
  background: linear-gradient(135deg, #f9fafb 0%, #f4f6fa 100%);
  padding: 0.8rem 1rem;
  text-align: left;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #5b677a;
  border-bottom: 2px solid #e0e6ef;
}
.clients-app .clients-table td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #e0e6ef;
  vertical-align: middle;
}
.clients-app .clients-table tr:last-child td {
  border-bottom: none;
}
.clients-app .clients-table tbody tr {
  transition: background 0.15s;
}
.clients-app .clients-table tbody tr:hover {
  background: #f8fafc;
}
.clients-app .clients-table tbody tr.is-active {
  background: rgba(37, 211, 102, 0.05);
  border-left: 3px solid #25d366;
}
.clients-app .clients-name {
  display: block;
  font-weight: 600;
}
.clients-app .clients-actions {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.clients-app .clients-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid #e0e6ef;
  font-size: 0.85rem;
  color: #5b677a;
}
.clients-app .clients-pagination-summary {
  font-size: 0.8rem;
}
.clients-app .clients-panel {
  background: #ffffff;
  border: 2px solid #25d366;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.clients-app .clients-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(37, 211, 102, 0.12);
}
.clients-app .clients-panel-head h2 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  word-break: break-word;
  color: #25d366;
}
.clients-app .clients-panel-actions {
  display: flex;
  gap: 0.4rem;
  flex-shrink: 0;
}
.clients-app .clients-panel-empty {
  color: #5b677a;
  font-size: 0.875rem;
  text-align: center;
  padding: 1.5rem 0;
}
.clients-app .clients-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem 1rem;
  margin-bottom: 1rem;
}
.clients-app .clients-detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.5rem;
  background: #fafbfc;
  border-radius: 8px;
  transition: background 0.15s;
}
.clients-app .clients-detail-item:hover {
  background: #f4f6fa;
}
.clients-app .clients-detail-item.is-wide {
  grid-column: 1/-1;
}
.clients-app .clients-detail-item span {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #5b677a;
}
.clients-app .clients-detail-item strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a2336;
}
.clients-app .clients-detail-item p {
  font-size: 0.8rem;
  margin: 0;
  color: #1a2336;
  white-space: pre-wrap;
  line-height: 1.3;
}
.clients-app .clients-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.clients-app .clients-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.clients-app .clients-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.clients-app .clients-form-field label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #5b677a;
}
.clients-app .clients-form-input,
.clients-app .clients-form-textarea {
  border: 1.5px solid #e0e6ef;
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  font-size: 0.875rem;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.15s ease;
  background: #ffffff;
}
.clients-app .clients-form-input:focus,
.clients-app .clients-form-textarea:focus {
  outline: none;
  border-color: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.1);
  background: #fafbfc;
}
.clients-app .clients-form-input:disabled,
.clients-app .clients-form-textarea:disabled {
  background: #f4f6fa;
  color: #5b677a;
  cursor: not-allowed;
}
.clients-app .clients-form-textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.5;
}
.clients-app .clients-form-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  padding-top: 0.5rem;
}
.clients-app .clients-button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 1rem;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  background: #25d366;
  color: #ffffff;
  border-color: #25d366;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.15);
}
.clients-app .clients-button:hover:not(:disabled) {
  background: #20bd5a;
  border-color: #20bd5a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25);
}
.clients-app .clients-button:active:not(:disabled) {
  transform: translateY(0);
}
.clients-app .clients-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.clients-app .clients-button.secondary {
  background: #ffffff;
  color: #1a2336;
  border-color: #e0e6ef;
  box-shadow: none;
}
.clients-app .clients-button.secondary:hover:not(:disabled) {
  background: #f4f6fa;
  border-color: #25d366;
  color: #25d366;
}
.clients-app .clients-button.ghost {
  background: transparent;
  color: #1a2336;
  border-color: #e0e6ef;
  box-shadow: none;
}
.clients-app .clients-button.ghost:hover:not(:disabled) {
  background: #f4f6fa;
  border-color: #25d366;
  color: #25d366;
}
.clients-app .clients-fiche-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.clients-app .clients-back-btn {
  align-self: flex-start;
  font-size: 0.8rem;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.clients-app .clients-back-btn:hover {
  background: #f4f6fa;
  border-color: #25d366;
  color: #25d366;
}
.clients-app .clients-fiche-title-block {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.clients-app .clients-fiche-title-block .clients-eyebrow {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}
.clients-app .clients-fiche-title-block .clients-title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2336;
}
.clients-app .clients-fiche-title-block .clients-subtitle {
  margin: 0;
  font-size: 0.9rem;
  color: #5b677a;
}
.clients-app .clients-fiche-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 900px) {
  .clients-app .clients-fiche-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.clients-app .clients-fiche-main,
.clients-app .clients-fiche-side {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.clients-app .clients-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.4rem 0.9rem;
  padding: 0.5rem 1rem 0.5rem 1.25rem;
}
.clients-app .clients-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
.clients-app .clients-info-item > span {
  font-size: 0.65rem;
  color: #5b677a;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.clients-app .clients-info-item > strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a2336;
  line-height: 1.2;
}
.clients-app .clients-info-item > p {
  margin: 0;
  font-size: 0.8rem;
  color: #1a2336;
  white-space: pre-line;
  line-height: 1.3;
}

.clients-info-wide {
  grid-column: 1/-1;
}

.clients-onboarding-card {
  position: sticky;
  top: 1rem;
  background: linear-gradient(135deg, rgba(37, 211, 102, 0.05) 0%, rgba(37, 211, 102, 0.02) 100%);
  border: 1px solid rgba(37, 211, 102, 0.12);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.clients-eyebrow-onboarding {
  color: #25d366;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.clients-onboarding-steps {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 0.5rem;
}

.clients-onboarding-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 1rem;
  align-items: start;
}
.clients-onboarding-step::before {
  content: attr(data-step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}
.clients-onboarding-step.completed::before {
  content: "✓";
  background: #20bd5a;
}
.clients-onboarding-step.in-progress::before {
  content: attr(data-step);
  background: #25d366;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(37, 211, 102, 0);
  }
}
.clients-step-content {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.clients-step-content h3 {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  color: #1a2336;
}
.clients-step-content p {
  font-size: 0.8rem;
  margin: 0;
  color: #5b677a;
  line-height: 1.4;
}
.clients-step-content .clients-step-meta {
  font-size: 0.75rem;
  color: #25d366;
  font-weight: 600;
  margin-top: 0.25rem;
}

.clients-step {
  border: 1px solid #e0e6ef;
  border-radius: 0.5rem;
  padding: 1rem;
  background: #ffffff;
  transition: border-color 0.15s, background 0.15s;
}

.clients-step-done {
  border-color: #25d366;
  background: #f0fcf5;
}

.clients-step-locked {
  opacity: 0.6;
}

.clients-step-header {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.clients-step-badge {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #1a2336;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
}
.clients-step-done .clients-step-badge {
  background: #25d366;
}

.clients-step-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a2336;
  margin: 0 0 0.2rem;
}

.clients-step-desc {
  font-size: 0.8rem;
  color: #5b677a;
  margin: 0;
  line-height: 1.5;
}

.clients-step-done-info {
  font-size: 0.8rem;
  font-weight: 500;
  color: #25d366;
  padding: 0.35rem 0.6rem;
  background: #dff9e9;
  border-radius: 0.3rem;
  margin-top: 0.25rem;
}

.clients-step-locked-msg {
  font-size: 0.78rem;
  color: #5b677a;
  margin: 0.25rem 0 0;
  font-style: italic;
}

.clients-step-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.clients-step-btn {
  margin-top: 0.5rem;
  width: 100%;
  justify-content: center;
}

.clients-offer-select {
  width: 100%;
  cursor: pointer;
}

.cm-root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
  color: #1a2336;
  line-height: 1.6;
}

.cm-btn-primary {
  display: inline-block;
  background: #25d366;
  color: #ffffff;
  border: none;
  border-radius: 0.75rem;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  text-decoration: none;
}
.cm-btn-primary:hover {
  background: #20bd5a;
  transform: translateY(-1px);
}
.cm-btn-primary:active {
  transform: translateY(0);
}

.cm-btn-secondary {
  display: inline-block;
  background: transparent;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-radius: 0.75rem;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  text-decoration: none;
}
.cm-btn-secondary:hover {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.cm-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.cm-section {
  padding: 5rem 1.5rem;
  background: #ffffff;
}

.cm-section-dark {
  background: #0d1f33;
  color: #ffffff;
}
.cm-section-dark .cm-section-label {
  color: #25d366;
}
.cm-section-dark .cm-section-title span {
  color: #25d366;
}
.cm-section-dark .cm-section-desc {
  color: rgba(255, 255, 255, 0.7);
}

.cm-section-alt {
  background: #f4f6fa;
}

.cm-section-label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #25d366;
  margin-bottom: 0.75rem;
}

.cm-section-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1rem;
  color: inherit;
}
.cm-section-title span {
  color: #25d366;
}

.cm-section-desc {
  font-size: 1.05rem;
  color: #5b677a;
  max-width: 640px;
  margin: 0 0 3rem;
}

.cm-hero {
  background: linear-gradient(135deg, #0d1f33 0%, #1a3a5c 100%);
  color: #ffffff;
  padding: 6rem 1.5rem 5rem;
  text-align: center;
}

.cm-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
}

.cm-brand-logo {
  display: none;
}

.cm-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 2rem;
}

.cm-brand-name {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #ffffff;
}
.cm-brand-name em {
  color: #25d366;
  font-style: normal;
}

.cm-brand-vn {
  color: #ffffff;
}

.cm-brand-by {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
}

.cm-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(37, 211, 102, 0.15);
  border: 1px solid rgba(37, 211, 102, 0.4);
  border-radius: 2rem;
  padding: 0.35rem 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #25d366;
  margin-bottom: 1.75rem;
}

.cm-hero-badge-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #25d366;
}

.cm-hero-title {
  font-size: clamp(2.25rem, 5vw, 4rem);
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 1.25rem;
}
.cm-hero-title span {
  color: #25d366;
}

.cm-hero-subtitle {
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.75);
  max-width: 640px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.cm-hero-subtitle-strong {
  color: #25d366;
  font-weight: 700;
}

.cm-hero-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.cm-stats {
  background: #1a2336;
  padding: 2rem 1.5rem;
}

.cm-stats-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  text-align: center;
}

.cm-stat-card {
  padding: 1.25rem 0.75rem;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.cm-stat-card:last-child {
  border-right: none;
}

.cm-stat-number {
  font-size: 1.75rem;
  font-weight: 900;
  color: #25d366;
  line-height: 1;
  margin-bottom: 0.35rem;
}

.cm-stat-label {
  font-size: 0.8rem;
  color: #000000;
  line-height: 1.4;
}

.cm-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

.cm-feature-card {
  background: #f4f6fa;
  border: 1px solid #e0e6ef;
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  transition: box-shadow 0.2s, transform 0.2s;
}
.cm-feature-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.cm-feature-icon {
  font-size: 2rem;
  margin-bottom: 0.75rem;
}

.cm-feature-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #1a2336;
}

.cm-feature-desc {
  font-size: 0.9rem;
  color: #5b677a;
  line-height: 1.55;
  margin: 0 0 1rem;
}

.cm-feature-tag {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #e0e6ef;
  color: #5b677a;
  border-radius: 2rem;
  padding: 0.25rem 0.75rem;
}
.cm-feature-tag.cm-feature-tag-green {
  background: rgba(37, 211, 102, 0.12);
  color: #1da851;
}

.cm-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
  text-align: center;
}

.cm-step-number {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}

.cm-step-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

.cm-step-desc {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.55;
  margin: 0;
}

.cm-pains-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  .cm-pains-grid {
    grid-template-columns: 1fr;
  }
}

.cm-pain-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-left: 4px solid #25d366;
  border-radius: 0 0.875rem 0.875rem 0;
  padding: 1.75rem 2rem 1.75rem 1.5rem;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.25rem;
  box-shadow: 0 2px 10px rgba(26, 35, 54, 0.06);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  cursor: default;
}
.cm-pain-card::after {
  content: "“";
  position: absolute;
  bottom: -0.75rem;
  right: 1rem;
  font-size: 6rem;
  line-height: 1;
  color: rgba(37, 211, 102, 0.1);
  font-family: Georgia, serif;
  pointer-events: none;
}
.cm-pain-card:hover {
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.14);
  transform: translateY(-3px);
}

.cm-pain-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  background: rgba(37, 211, 102, 0.12);
  border-radius: 50%;
  margin-top: 0.1rem;
}

.cm-pain-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.cm-pain-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2336;
  line-height: 1.35;
}

.cm-pain-text {
  font-size: 0.88rem;
  color: #5b677a;
  line-height: 1.65;
  margin: 0;
}

.cm-pains-answer {
  margin-top: 2rem;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 500;
  color: #1a2336;
}

.cm-targets-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.cm-target-card {
  background: #ffffff;
  border: 1.5px solid #e0e6ef;
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  box-shadow: 0 2px 12px rgba(26, 35, 54, 0.07);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  cursor: default;
}
.cm-target-card:hover {
  border-color: #25d366;
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.15);
  transform: translateY(-4px);
}

.cm-target-icon {
  font-size: 2rem;
  line-height: 1;
}

.cm-target-name {
  font-size: 1rem;
  font-weight: 700;
  color: #1a2336;
}

.cm-target-desc {
  font-size: 0.9rem;
  color: #5b677a;
  line-height: 1.6;
  margin: 0;
}

.cm-roles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  align-items: start;
}

.cm-role-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 1.25rem;
  padding: 2rem 1.5rem;
}
.cm-role-card.cm-role-card-featured {
  border-color: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.12);
}

.cm-role-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 2rem;
  padding: 0.3rem 0.9rem;
  margin-bottom: 1rem;
  background: #e0e6ef;
  color: #5b677a;
}
.cm-role-badge.cm-role-badge-standard {
  background: #e8f5e9;
  color: #2e7d32;
}
.cm-role-badge.cm-role-badge-resp {
  background: #e3f2fd;
  color: #1565c0;
}
.cm-role-badge.cm-role-badge-admin {
  background: #fce4ec;
  color: #880e4f;
}

.cm-role-icon {
  font-size: 1.1rem;
}

.cm-role-name {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: #1a2336;
}

.cm-role-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cm-role-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #5b677a;
  padding: 0.35rem 0;
  border-bottom: 1px solid #e0e6ef;
}
.cm-role-feature-item:last-child {
  border-bottom: none;
}

.cm-role-check {
  color: #25d366;
  font-weight: 900;
  flex-shrink: 0;
  margin-top: 0.05rem;
}

.cm-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.cm-testimonial-card {
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 12px;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
}
.cm-testimonial-card::before {
  content: "“";
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  font-size: 4rem;
  line-height: 1;
  color: #25d366;
  opacity: 0.15;
  font-family: Georgia, serif;
}

.cm-testimonial-quote {
  font-size: 0.9375rem;
  color: #374151;
  line-height: 1.75;
  font-style: italic;
  flex: 1;
}

.cm-testimonial-author {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  border-top: 1px solid #e0e6ef;
  padding-top: 1rem;
}

.cm-testimonial-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25d366 0%, #20bd5a 100%);
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.25);
}

.cm-testimonial-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1a2336;
}

.cm-testimonial-role {
  font-size: 0.8125rem;
  color: #5b677a;
  margin-top: 0.125rem;
}

.cm-integrations-section {
  text-align: center;
}

.cm-integrations-desc {
  margin-left: auto;
  margin-right: auto;
}

.cm-integrations {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.cm-integration-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #ffffff;
  border: 1.5px solid #e0e6ef;
  border-radius: 2rem;
  padding: 0.65rem 1.4rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: #1a2336;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.cm-integration-pill:hover {
  border-color: #25d366;
  box-shadow: 0 3px 10px rgba(37, 211, 102, 0.15);
  transform: translateY(-1px);
}

.cm-integration-icon {
  font-size: 1.15rem;
}

.cm-meta-pricing {
  margin-top: 1.75rem;
  padding: 1.25rem 1.5rem;
  background: #f4f6fa;
  border: 1.5px solid #e0e6ef;
  border-radius: 0.875rem;
  text-align: center;
}

.cm-meta-pricing-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #5b677a;
  letter-spacing: 0.02em;
  margin-bottom: 0.9rem;
  text-transform: uppercase;
}

.cm-meta-pricing-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.cm-meta-pricing-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #ffffff;
  border: 1.5px solid #e0e6ef;
  border-radius: 2rem;
  padding: 0.55rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a2336;
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.cm-meta-pricing-link:hover {
  border-color: #25d366;
  box-shadow: 0 3px 10px rgba(37, 211, 102, 0.18);
  transform: translateY(-1px);
  color: #1a2336;
  text-decoration: none;
}

.cm-meta-pricing-link-icon {
  font-size: 1rem;
}

.cm-faq-list {
  max-width: 780px;
  margin: 2.5rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cm-faq-item {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: border-color 0.2s;
}
.cm-faq-item:hover {
  border-color: rgba(37, 211, 102, 0.4);
}

.cm-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: transparent;
  border: none;
  padding: 1.1rem 1.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
  transition: color 0.2s;
}
.cm-faq-question:hover {
  color: #25d366;
}

.cm-faq-toggle {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(37, 211, 102, 0.15);
  color: #25d366;
  border-radius: 50%;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}

.cm-faq-answer {
  padding: 0 1.4rem 1.1rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.65;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding-top: 0.9rem;
}

.cm-pricing-toggle {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 2rem;
  padding: 0.25rem;
  margin: 0 auto 2.5rem;
  gap: 0.25rem;
  width: fit-content;
}

.cm-pricing-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  border: none;
  border-radius: 1.75rem;
  padding: 0.55rem 1.4rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: #5b677a;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.cm-pricing-toggle-btn.cm-pricing-toggle-btn-active {
  background: #1a2336;
  color: #ffffff;
}
.cm-pricing-toggle-btn:not(.cm-pricing-toggle-btn-active):hover {
  background: #f4f6fa;
}

.cm-pricing-toggle-save {
  display: inline-block;
  background: rgba(37, 211, 102, 0.12);
  color: #1fb055;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  border-radius: 1rem;
  padding: 0.15rem 0.55rem;
}

.cm-pricing-discount-badge {
  display: inline-block;
  background: #25d366;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  border-radius: 1rem;
  padding: 0.2rem 0.65rem;
  margin-bottom: 0.5rem;
}

.cm-pricing-annual-total {
  font-size: 0.82rem;
  color: #5b677a;
  margin-bottom: 0.25rem;
  min-height: 1.2rem;
}

.cm-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.75rem;
  align-items: start;
}

.cm-pricing-card {
  position: relative;
  background: #ffffff;
  border: 2px solid #e0e6ef;
  border-radius: 1.5rem;
  padding: 2.25rem 1.75rem 2rem;
  transition: box-shadow 0.2s, transform 0.2s;
}
.cm-pricing-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.09);
  transform: translateY(-3px);
}
.cm-pricing-card.cm-pricing-card-featured {
  border-color: #25d366;
  box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.12), 0 12px 32px rgba(37, 211, 102, 0.12);
  transform: translateY(-4px);
}

.cm-pricing-badge {
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  background: #25d366;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 0 0 0.75rem 0.75rem;
  padding: 0.3rem 1rem;
}

.cm-pricing-icon {
  font-size: 2.25rem;
  margin-bottom: 0.75rem;
}

.cm-pricing-name {
  font-size: 1.2rem;
  font-weight: 800;
  color: #1a2336;
  margin-bottom: 1rem;
}

.cm-pricing-price {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
  margin-bottom: 0.75rem;
}

.cm-pricing-amount {
  font-size: 2.75rem;
  font-weight: 900;
  color: #25d366;
  line-height: 1;
}

.cm-pricing-currency {
  font-size: 1rem;
  font-weight: 700;
  color: #5b677a;
}

.cm-pricing-period {
  font-size: 0.9rem;
  color: #5b677a;
}

.cm-pricing-tagline {
  font-size: 0.9rem;
  color: #5b677a;
  margin: 0 0 1.5rem;
  line-height: 1.5;
  min-height: 2.5rem;
}

.cm-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.cm-pricing-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #5b677a;
  padding: 0.4rem 0;
  border-bottom: 1px solid #e0e6ef;
}
.cm-pricing-feature-item:last-child {
  border-bottom: none;
}

.cm-pricing-check {
  color: #25d366;
  font-weight: 900;
  flex-shrink: 0;
  margin-top: 0.05rem;
}

.cm-pricing-cta {
  width: 100%;
  text-align: center;
}

.cm-pricing-note {
  text-align: center;
  font-size: 0.82rem;
  color: #5b677a;
  margin-top: 2.5rem;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.55;
}

.cm-cta {
  background: linear-gradient(135deg, #0d1f33 0%, #1a3a5c 100%);
  color: #ffffff;
  padding: 5rem 1.5rem;
  text-align: center;
}

.cm-cta-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1rem;
}
.cm-cta-title span {
  color: #25d366;
}

.cm-cta-subtitle {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.7);
  max-width: 560px;
  margin: 0 auto 2.5rem;
  line-height: 1.65;
}

.cm-cta-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  max-width: 640px;
  margin: 0 auto 1.5rem;
  text-align: left;
}
@media (max-width: 600px) {
  .cm-cta-form {
    grid-template-columns: 1fr;
  }
}

.cm-cta-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.cm-cta-form-full {
  grid-column: 1/-1;
}

.cm-cta-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
}

.cm-cta-input,
.cm-cta-textarea {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.625rem;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  color: #ffffff;
  outline: none;
  transition: border-color 0.2s;
  font-family: inherit;
}
.cm-cta-input::placeholder,
.cm-cta-textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
.cm-cta-input:focus,
.cm-cta-textarea:focus {
  border-color: #25d366;
}

.cm-cta-textarea {
  resize: vertical;
  min-height: 100px;
}

.cm-cta-submit {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.cm-cta-error {
  font-size: 0.85rem;
  color: #ff6b6b;
  min-height: 1.25rem;
  margin: 0;
}

.cm-cta-selected-plan {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: rgba(37, 211, 102, 0.15);
  border: 1px solid rgba(37, 211, 102, 0.4);
  border-radius: 2rem;
  padding: 0.45rem 1.1rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #25d366;
  margin-bottom: 1.75rem;
}

.cm-cta-selected-plan-name {
  font-weight: 800;
  color: #ffffff;
}

.cm-cta-selected-plan-clear {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.9rem;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.15s;
}
.cm-cta-selected-plan-clear:hover {
  color: #ffffff;
}

.cm-cta-label-hint {
  font-weight: 400;
  font-size: 0.78rem;
  color: #25d366;
  margin-left: 0.35rem;
}

.cm-cta-note {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 1.25rem;
}

.waba-plan-lock {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 3rem 2rem;
  margin: 2rem auto;
  max-width: 480px;
  background: #f4f6fa;
  border: 2px dashed #e0e6ef;
  border-radius: 12px;
  text-align: center;
  color: #5b677a;
}

.waba-plan-lock-icon {
  font-size: 2.5rem;
  line-height: 1;
}

.waba-plan-lock-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2336;
  margin: 0;
}

.waba-plan-lock p {
  font-size: 0.92rem;
  margin: 0;
  line-height: 1.6;
}
.waba-plan-lock p strong {
  color: #1a2336;
}

.waba-plan-lock-cta {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.55rem 1.4rem;
  background: #25d366;
  color: #ffffff;
  border-radius: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.18s;
}
.waba-plan-lock-cta:hover {
  background: #20bd5a;
  color: #ffffff;
}

.wm-mode-locked {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.wm-plan-badge {
  font-size: 0.62em;
  font-weight: 700;
  color: #25d366;
  vertical-align: super;
  letter-spacing: 0.02em;
}

.cm-footer-bar {
  background: #0d1f33;
  color: rgba(255, 255, 255, 0.4);
  text-align: center;
  padding: 1.25rem 1.5rem;
  font-size: 0.82rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.cm-footer-bar span {
  color: #25d366;
  font-weight: 600;
}

.leads-subscribe-btn {
  background: #25d366;
  color: #ffffff;
  font-weight: 600;
  border: none;
}
.leads-subscribe-btn:hover:not(:disabled) {
  background: #20bd5a;
  color: #ffffff;
}

.leads-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.leads-modal {
  background: #ffffff;
  border-radius: 12px;
  padding: 2rem;
  max-width: 780px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.leads-modal-head {
  margin-bottom: 1.5rem;
}
.leads-modal-head h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a2336;
  margin: 0 0 0.25rem;
}

.leads-plan-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 600px) {
  .leads-plan-cards {
    grid-template-columns: 1fr;
  }
}

.leads-plan-card {
  border: 2px solid #e0e6ef;
  border-radius: 10px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: center;
  transition: border-color 0.18s, box-shadow 0.18s;
}
.leads-plan-card:hover {
  border-color: #25d366;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.15);
}
.leads-plan-card--highlight {
  border-color: #25d366;
  background: rgba(37, 211, 102, 0.04);
}

.leads-plan-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  color: #ffffff;
  background: #25d366;
  border-radius: 20px;
  padding: 0.15rem 0.6rem;
  letter-spacing: 0.04em;
}

.leads-plan-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2336;
  margin: 0;
}

.leads-plan-features {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.88rem;
  color: #5b677a;
  text-align: left;
}
.leads-plan-features li {
  padding: 0.2rem 0;
}
.leads-plan-features li::before {
  content: "✓ ";
  color: #25d366;
  font-weight: 700;
}

.leads-modal-footer {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid #e0e6ef;
  padding-top: 1rem;
}