@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700");
@import url("https://fonts.googleapis.com/css?family=Roboto:400,300,500,700");

:root {
  --brand-primary: #96b900;
  --brand-secondary: #f3f3f4;
  --text-muted: #676a6c;
  --primary: #96b900;
  --dark: #1a1a1a;
  --soft-gray: #f9f9f9;
  --border-color: #eee;
  /* Variables para contenedores */
  --ibox-bg: #ffffff;
  --ibox-border: #f0f2f5;
  --ibox-title-text: #1a202c;
  --ibox-body-text: #4a5568;
  --ibox-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ibox-radius: 8px;
}

/* Input estilo lux (product-details, calendar, etc.) */
.lux-input {
  background: rgba(0,0,0,0.02) !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  color: #1a1a1a !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  font-size: 0.9rem !important;
  transition: all 0.3s ease;
}
.lux-input:focus {
  border-color: #96b900 !important;
  box-shadow: 0 0 0 3px rgba(150, 185, 0, 0.15) !important;
  background: #ffffff !important;
}

/* Forzar Century Gothic en el navbar */
.landing-page .navbar-wrapper .nav li a,
.landing-page .navbar-wrapper .navbar-brand {
  font-family: "Nunito", sans-serif !important;
}

@font-face {
  font-family: "Glyphicons Halflings";
  src: url("../fonts/glyphicons-halflings-regular.eot");
  src:
    url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),
    url("../fonts/glyphicons-halflings-regular.woff2") format("woff2"),
    url("../fonts/glyphicons-halflings-regular.woff") format("woff"),
    url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"),
    url("../fonts/glyphicons-halflings-regular.svg") format("svg");
}

.btt-icons a {
  display: inline-block;
  text-decoration: none;
  padding: 10px 14px;
  margin: 5px 5px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #96b900;
  border-radius: 8px;
  transition: all 0.3s ease;
}

/* Hover con efecto premium */
.btt-icons a:hover {
  background-color: #7a9600;
}


.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: "Glyphicons Halflings";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.glyphicon-asterisk:before {
  content: "\002a";
}

.glyphicon-plus:before {
  content: "\002b";
}

.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}

.glyphicon-minus:before {
  content: "\2212";
}

.glyphicon-cloud:before {
  content: "\2601";
}

.glyphicon-envelope:before {
  content: "\2709";
}

.glyphicon-pencil:before {
  content: "\270f";
}

.glyphicon-glass:before {
  content: "\e001";
}

.glyphicon-music:before {
  content: "\e002";
}

.glyphicon-search:before {
  content: "\e003";
}

.glyphicon-heart:before {
  content: "\e005";
}

.glyphicon-star:before {
  content: "\e006";
}

.glyphicon-star-empty:before {
  content: "\e007";
}

.glyphicon-user:before {
  content: "\e008";
}

.glyphicon-film:before {
  content: "\e009";
}

.glyphicon-th-large:before {
  content: "\e010";
}

.glyphicon-th:before {
  content: "\e011";
}

.glyphicon-th-list:before {
  content: "\e012";
}

.glyphicon-ok:before {
  content: "\e013";
}

.glyphicon-remove:before {
  content: "\e014";
}

.glyphicon-zoom-in:before {
  content: "\e015";
}

.glyphicon-zoom-out:before {
  content: "\e016";
}

.glyphicon-off:before {
  content: "\e017";
}

.glyphicon-signal:before {
  content: "\e018";
}

.glyphicon-cog:before {
  content: "\e019";
}

.glyphicon-trash:before {
  content: "\e020";
}

.glyphicon-home:before {
  content: "\e021";
}

.glyphicon-file:before {
  content: "\e022";
}

.glyphicon-time:before {
  content: "\e023";
}

.glyphicon-road:before {
  content: "\e024";
}

.glyphicon-download-alt:before {
  content: "\e025";
}

.glyphicon-download:before {
  content: "\e026";
}

.glyphicon-upload:before {
  content: "\e027";
}

.glyphicon-inbox:before {
  content: "\e028";
}

.glyphicon-play-circle:before {
  content: "\e029";
}

.glyphicon-repeat:before {
  content: "\e030";
}

.glyphicon-refresh:before {
  content: "\e031";
}

.glyphicon-list-alt:before {
  content: "\e032";
}

.glyphicon-lock:before {
  content: "\e033";
}

.glyphicon-flag:before {
  content: "\e034";
}

.glyphicon-headphones:before {
  content: "\e035";
}

.glyphicon-volume-off:before {
  content: "\e036";
}

.glyphicon-volume-down:before {
  content: "\e037";
}

.glyphicon-volume-up:before {
  content: "\e038";
}

.glyphicon-qrcode:before {
  content: "\e039";
}

.glyphicon-barcode:before {
  content: "\e040";
}

.glyphicon-tag:before {
  content: "\e041";
}

.glyphicon-tags:before {
  content: "\e042";
}

.glyphicon-book:before {
  content: "\e043";
}

.glyphicon-bookmark:before {
  content: "\e044";
}

.glyphicon-print:before {
  content: "\e045";
}

.glyphicon-camera:before {
  content: "\e046";
}

.glyphicon-font:before {
  content: "\e047";
}

.glyphicon-bold:before {
  content: "\e048";
}

.glyphicon-italic:before {
  content: "\e049";
}

.glyphicon-text-height:before {
  content: "\e050";
}

.glyphicon-text-width:before {
  content: "\e051";
}

.glyphicon-align-left:before {
  content: "\e052";
}

.glyphicon-align-center:before {
  content: "\e053";
}

.glyphicon-align-right:before {
  content: "\e054";
}

.glyphicon-align-justify:before {
  content: "\e055";
}

.glyphicon-list:before {
  content: "\e056";
}

.glyphicon-indent-left:before {
  content: "\e057";
}

.glyphicon-indent-right:before {
  content: "\e058";
}

.glyphicon-facetime-video:before {
  content: "\e059";
}

.glyphicon-picture:before {
  content: "\e060";
}

.glyphicon-map-marker:before {
  content: "\e062";
}

.glyphicon-adjust:before {
  content: "\e063";
}

.glyphicon-tint:before {
  content: "\e064";
}

.glyphicon-edit:before {
  content: "\e065";
}

.glyphicon-share:before {
  content: "\e066";
}

.glyphicon-check:before {
  content: "\e067";
}

.glyphicon-move:before {
  content: "\e068";
}

.glyphicon-step-backward:before {
  content: "\e069";
}

.glyphicon-fast-backward:before {
  content: "\e070";
}

.glyphicon-backward:before {
  content: "\e071";
}

.glyphicon-play:before {
  content: "\e072";
}

.glyphicon-pause:before {
  content: "\e073";
}

.glyphicon-stop:before {
  content: "\e074";
}

.glyphicon-forward:before {
  content: "\e075";
}

.glyphicon-fast-forward:before {
  content: "\e076";
}

.glyphicon-step-forward:before {
  content: "\e077";
}

.glyphicon-eject:before {
  content: "\e078";
}

.glyphicon-chevron-left:before {
  content: "\e079";
}

.glyphicon-chevron-right:before {
  content: "\e080";
}

.glyphicon-plus-sign:before {
  content: "\e081";
}

.glyphicon-minus-sign:before {
  content: "\e082";
}

.glyphicon-remove-sign:before {
  content: "\e083";
}

.glyphicon-ok-sign:before {
  content: "\e084";
}

.glyphicon-question-sign:before {
  content: "\e085";
}

.glyphicon-info-sign:before {
  content: "\e086";
}

.glyphicon-screenshot:before {
  content: "\e087";
}

.glyphicon-remove-circle:before {
  content: "\e088";
}

.glyphicon-ok-circle:before {
  content: "\e089";
}

.glyphicon-ban-circle:before {
  content: "\e090";
}

.glyphicon-arrow-left:before {
  content: "\e091";
}

.glyphicon-arrow-right:before {
  content: "\e092";
}

.glyphicon-arrow-up:before {
  content: "\e093";
}

.glyphicon-arrow-down:before {
  content: "\e094";
}

.glyphicon-share-alt:before {
  content: "\e095";
}

.glyphicon-resize-full:before {
  content: "\e096";
}

.glyphicon-resize-small:before {
  content: "\e097";
}

.glyphicon-exclamation-sign:before {
  content: "\e101";
}

.glyphicon-gift:before {
  content: "\e102";
}

.glyphicon-leaf:before {
  content: "\e103";
}

.glyphicon-fire:before {
  content: "\e104";
}

.glyphicon-eye-open:before {
  content: "\e105";
}

.glyphicon-eye-close:before {
  content: "\e106";
}

.glyphicon-warning-sign:before {
  content: "\e107";
}

.glyphicon-plane:before {
  content: "\e108";
}

.glyphicon-calendar:before {
  content: "\e109";
}

.glyphicon-random:before {
  content: "\e110";
}

.glyphicon-comment:before {
  content: "\e111";
}

.glyphicon-magnet:before {
  content: "\e112";
}

.glyphicon-chevron-up:before {
  content: "\e113";
}

.glyphicon-chevron-down:before {
  content: "\e114";
}

.glyphicon-retweet:before {
  content: "\e115";
}

.glyphicon-shopping-cart:before {
  content: "\e116";
}

.glyphicon-folder-close:before {
  content: "\e117";
}

.glyphicon-folder-open:before {
  content: "\e118";
}

.glyphicon-resize-vertical:before {
  content: "\e119";
}

.glyphicon-resize-horizontal:before {
  content: "\e120";
}

.glyphicon-hdd:before {
  content: "\e121";
}

.glyphicon-bullhorn:before {
  content: "\e122";
}

.glyphicon-bell:before {
  content: "\e123";
}

.glyphicon-certificate:before {
  content: "\e124";
}

.glyphicon-thumbs-up:before {
  content: "\e125";
}

.glyphicon-thumbs-down:before {
  content: "\e126";
}

.glyphicon-hand-right:before {
  content: "\e127";
}

.glyphicon-hand-left:before {
  content: "\e128";
}

.glyphicon-hand-up:before {
  content: "\e129";
}

.glyphicon-hand-down:before {
  content: "\e130";
}

.glyphicon-circle-arrow-right:before {
  content: "\e131";
}

.glyphicon-circle-arrow-left:before {
  content: "\e132";
}

.glyphicon-circle-arrow-up:before {
  content: "\e133";
}

.glyphicon-circle-arrow-down:before {
  content: "\e134";
}

.glyphicon-globe:before {
  content: "\e135";
}

.glyphicon-wrench:before {
  content: "\e136";
}

.glyphicon-tasks:before {
  content: "\e137";
}

.glyphicon-filter:before {
  content: "\e138";
}

.glyphicon-briefcase:before {
  content: "\e139";
}

.glyphicon-fullscreen:before {
  content: "\e140";
}

.glyphicon-dashboard:before {
  content: "\e141";
}

.glyphicon-paperclip:before {
  content: "\e142";
}

.glyphicon-heart-empty:before {
  content: "\e143";
}

.glyphicon-link:before {
  content: "\e144";
}

.glyphicon-phone:before {
  content: "\e145";
}

.glyphicon-pushpin:before {
  content: "\e146";
}

.glyphicon-usd:before {
  content: "\e148";
}

.glyphicon-gbp:before {
  content: "\e149";
}

.glyphicon-sort:before {
  content: "\e150";
}

.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}

.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}

.glyphicon-sort-by-order:before {
  content: "\e153";
}

.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}

.glyphicon-sort-by-attributes:before {
  content: "\e155";
}

.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}

.glyphicon-unchecked:before {
  content: "\e157";
}

.glyphicon-expand:before {
  content: "\e158";
}

.glyphicon-collapse-down:before {
  content: "\e159";
}

.glyphicon-collapse-up:before {
  content: "\e160";
}

.glyphicon-log-in:before {
  content: "\e161";
}

.glyphicon-flash:before {
  content: "\e162";
}

.glyphicon-log-out:before {
  content: "\e163";
}

.glyphicon-new-window:before {
  content: "\e164";
}

.glyphicon-record:before {
  content: "\e165";
}

.glyphicon-save:before {
  content: "\e166";
}

.glyphicon-open:before {
  content: "\e167";
}

.glyphicon-saved:before {
  content: "\e168";
}

.glyphicon-import:before {
  content: "\e169";
}

.glyphicon-export:before {
  content: "\e170";
}

.glyphicon-send:before {
  content: "\e171";
}

.glyphicon-floppy-disk:before {
  content: "\e172";
}

.glyphicon-floppy-saved:before {
  content: "\e173";
}

.glyphicon-floppy-remove:before {
  content: "\e174";
}

.glyphicon-floppy-save:before {
  content: "\e175";
}

.glyphicon-floppy-open:before {
  content: "\e176";
}

.glyphicon-credit-card:before {
  content: "\e177";
}

.glyphicon-transfer:before {
  content: "\e178";
}

.glyphicon-cutlery:before {
  content: "\e179";
}

.glyphicon-header:before {
  content: "\e180";
}

.glyphicon-compressed:before {
  content: "\e181";
}

.glyphicon-earphone:before {
  content: "\e182";
}

.glyphicon-phone-alt:before {
  content: "\e183";
}

.glyphicon-tower:before {
  content: "\e184";
}

.glyphicon-stats:before {
  content: "\e185";
}

.glyphicon-sd-video:before {
  content: "\e186";
}

.glyphicon-hd-video:before {
  content: "\e187";
}

.glyphicon-subtitles:before {
  content: "\e188";
}

.glyphicon-sound-stereo:before {
  content: "\e189";
}

.glyphicon-sound-dolby:before {
  content: "\e190";
}

.glyphicon-sound-5-1:before {
  content: "\e191";
}

.glyphicon-sound-6-1:before {
  content: "\e192";
}

.glyphicon-sound-7-1:before {
  content: "\e193";
}

.glyphicon-copyright-mark:before {
  content: "\e194";
}

.glyphicon-registration-mark:before {
  content: "\e195";
}

.glyphicon-cloud-download:before {
  content: "\e197";
}

.glyphicon-cloud-upload:before {
  content: "\e198";
}

.glyphicon-tree-conifer:before {
  content: "\e199";
}

.glyphicon-tree-deciduous:before {
  content: "\e200";
}

.glyphicon-cd:before {
  content: "\e201";
}

.glyphicon-save-file:before {
  content: "\e202";
}

.glyphicon-open-file:before {
  content: "\e203";
}

.glyphicon-level-up:before {
  content: "\e204";
}

.glyphicon-copy:before {
  content: "\e205";
}

.glyphicon-paste:before {
  content: "\e206";
}

.glyphicon-alert:before {
  content: "\e209";
}

.glyphicon-equalizer:before {
  content: "\e210";
}

.glyphicon-king:before {
  content: "\e211";
}

.glyphicon-queen:before {
  content: "\e212";
}

.glyphicon-pawn:before {
  content: "\e213";
}

.glyphicon-bishop:before {
  content: "\e214";
}

.glyphicon-knight:before {
  content: "\e215";
}

.glyphicon-baby-formula:before {
  content: "\e216";
}

.glyphicon-tent:before {
  content: "\26fa";
}

.glyphicon-blackboard:before {
  content: "\e218";
}

.glyphicon-bed:before {
  content: "\e219";
}

.glyphicon-apple:before {
  content: "\f8ff";
}

.glyphicon-erase:before {
  content: "\e221";
}

.glyphicon-hourglass:before {
  content: "\231b";
}

.glyphicon-lamp:before {
  content: "\e223";
}

.glyphicon-duplicate:before {
  content: "\e224";
}

.glyphicon-piggy-bank:before {
  content: "\e225";
}

.glyphicon-scissors:before {
  content: "\e226";
}

.glyphicon-bitcoin:before {
  content: "\e227";
}

.glyphicon-btc:before {
  content: "\e227";
}

.glyphicon-xbt:before {
  content: "\e227";
}

.glyphicon-yen:before {
  content: "\00a5";
}

.glyphicon-jpy:before {
  content: "\00a5";
}

.glyphicon-ruble:before {
  content: "\20bd";
}

.glyphicon-rub:before {
  content: "\20bd";
}

.glyphicon-scale:before {
  content: "\e230";
}

.glyphicon-ice-lolly:before {
  content: "\e231";
}

.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}

.glyphicon-education:before {
  content: "\e233";
}

.glyphicon-option-horizontal:before {
  content: "\e234";
}

.glyphicon-option-vertical:before {
  content: "\e235";
}

.glyphicon-menu-hamburger:before {
  content: "\e236";
}

.glyphicon-modal-window:before {
  content: "\e237";
}

.glyphicon-oil:before {
  content: "\e238";
}

.glyphicon-grain:before {
  content: "\e239";
}

.glyphicon-sunglasses:before {
  content: "\e240";
}

.glyphicon-text-size:before {
  content: "\e241";
}

.glyphicon-text-color:before {
  content: "\e242";
}

.glyphicon-text-background:before {
  content: "\e243";
}

.glyphicon-object-align-top:before {
  content: "\e244";
}

.glyphicon-object-align-bottom:before {
  content: "\e245";
}

.glyphicon-object-align-horizontal:before {
  content: "\e246";
}

.glyphicon-object-align-left:before {
  content: "\e247";
}

.glyphicon-object-align-vertical:before {
  content: "\e248";
}

.glyphicon-object-align-right:before {
  content: "\e249";
}

.glyphicon-triangle-right:before {
  content: "\e250";
}

.glyphicon-triangle-left:before {
  content: "\e251";
}

.glyphicon-triangle-bottom:before {
  content: "\e252";
}

.glyphicon-triangle-top:before {
  content: "\e253";
}

.glyphicon-console:before {
  content: "\e254";
}

.glyphicon-superscript:before {
  content: "\e255";
}

.glyphicon-subscript:before {
  content: "\e256";
}

.glyphicon-menu-left:before {
  content: "\e257";
}

.glyphicon-menu-right:before {
  content: "\e258";
}

.glyphicon-menu-down:before {
  content: "\e259";
}

.glyphicon-menu-up:before {
  content: "\e260";
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

.h1,
.h2,
.h3,
h1,
h2,
h3 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

.h1 {
  font-size: 2.5rem;
}

.h2 {
  font-size: 2.15rem;
}

.h3 {
  font-size: 1.75rem;
}

.h4 {
  font-size: 1.5rem;
}

.h5 {
  font-size: 1.25rem;
}

.h6 {
  font-size: 1rem;
}

h3,
h4,
h5 {
  margin-top: 5px;
  font-weight: 600;
}

.nav>li>a {
  color: #bac5ce;
  font-weight: 400;
  padding: 0.6rem 0.9rem 0.6rem 0.6rem;
  display: block;
}

.nav.metismenu>li {
  display: block;
  width: 100%;
  position: relative;
  font-size: 0.7rem;
}

.nav.metismenu .dropdown-menu>li>a {
  padding: 3px 20px;
  display: block;
}

.nav.navbar-right>li>a {
  color: #16405c;
}

.nav>li.active>a {
  color: #ffffff;
}

.navbar-default .nav>li>a:hover,
.navbar-default .nav>li>a:focus {
  background-color: #293846;
  color: white;
}

.nav .open>a,
.nav .open>a:hover,
.nav .open>a:focus {
  background: #fff;
}

.nav.navbar-top-links>li>a:hover,
.nav.navbar-top-links>li>a:focus {
  background-color: transparent;
}

.nav>li>a i {
  margin-right: 6px;
}

.navbar {
  border: 0;
}

.navbar-default {
  background-color: transparent;
  border-color: #2f4050;
}

.navbar-top-links li {
  display: inline-block;
  align-self: center;
}

.body-small .navbar-top-links li:last-child {
  margin-right: 0;
}

.navbar-top-links li a {
  padding: 20px 10px;
  min-height: 50px;
}

.dropdown-menu {
  border: medium none;
  border-radius: 3px;
  box-shadow: 0 0 3px rgba(86, 96, 117, 0.7);
  display: none;
  float: left;
  font-size: 12px;
  left: 0;
  list-style: none outside none;
  padding: 0;
  position: absolute;
  text-shadow: none;
  top: 100%;
  z-index: 1000;
  min-width: 14rem;
  /* Ocultar scrollbar pero mantener funcionalidad */
  max-height: 400px;
  overflow-y: auto;
  -ms-overflow-style: none;
  /* IE y Edge */
  scrollbar-width: none;
  /* Firefox */
}

/* Ocultar scrollbar en Chrome, Safari y Opera */
.dropdown-menu::-webkit-scrollbar {
  display: none;
}

.dropdown-menu>li>a {
  border-radius: 3px;
  color: inherit;
  line-height: 25px;
  margin: 2px;
  text-align: left;
  font-weight: normal;
  display: block;
  padding: 3px 20px;
}

.dropdown-menu>li>a:focus,
.dropdown-menu>li>a:hover {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #96b900;
  outline: 0;
}

.dropdown-menu>li>a.font-bold {
  font-weight: 600;
}

.navbar-top-links .dropdown-menu li {
  display: block;
}

.navbar-top-links .dropdown-menu li:last-child {
  margin-right: 0;
}

.navbar-top-links .dropdown-menu li a {
  padding: 3px 20px;
  min-height: 0;
}

.navbar-top-links .dropdown-menu li a div {
  white-space: normal;
}

.navbar-top-links .dropdown-messages,
.navbar-top-links .dropdown-tasks,
.navbar-top-links .dropdown-alerts {
  min-width: 320px;
}

.navbar-top-links .dropdown-messages {
  margin-left: 5px;
}

.navbar-top-links .dropdown-tasks {
  margin-left: -59px;
}

.navbar-top-links .dropdown-alerts {
  margin-left: -123px;
}

.navbar-top-links .dropdown-user {
  right: 0;
  left: auto;
}

.dropdown-messages,
.dropdown-alerts {
  padding: 10px 10px 10px 10px;
}

.dropdown-messages li a,
.dropdown-alerts li a {
  font-size: 12px;
}

.dropdown-messages li em,
.dropdown-alerts li em {
  font-size: 10px;
}

.nav.navbar-top-links .dropdown-alerts a {
  font-size: 12px;
}

.nav-header {
  padding: 33px 25px;
  background-color: #2f4050;
  background-image: url("patterns/header-profile.png");
}

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.profile-element .dropdown-toggle::after {
  display: none;
}

.pace-done .nav-header {
  transition: all 0.4s;
}

ul.nav-second-level {
  background: #293846;
}

.nav>li.active {
  border-left: 2px solid #96b900;
  background: #293846;
}

.nav.nav-second-level>li.active {
  border: none;
}

.nav.nav-second-level.collapse[style] {
  height: auto !important;
}

.nav-header a {
  color: #dfe4ed;
}

.nav-header .text-muted {
  color: #8095a8 !important;
}

.minimalize-styl-2 {
  padding: 4px 12px;
  margin: 14px 5px 5px 20px;
  font-size: 14px;
  float: left;
}

.navbar-form-custom {
  float: left;
  height: 50px;
  padding: 0;
  width: 200px;
  display: block;
}

.navbar-form-custom .form-group {
  margin-bottom: 0;
}

.nav.navbar-top-links a {
  font-size: 14px;
}

.navbar-form-custom .form-control {
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
  border: medium none;
  font-size: 14px;
  height: 60px;
  margin: 0;
  z-index: 2000;
}

.nav.navbar-top-links .dropdown-toggle::after {
  display: none;
}

.navbar.navbar-static-top {
  padding: 0;
  width: 100%;
  align-items: inherit;
}

.navbar-static-top .dropdown-menu {
  right: 15px;
  left: auto;
}

.count-info .label {
  line-height: 12px;
  padding: 2px 5px;
  position: absolute;
  right: 6px;
  top: 12px;
}

.arrow {
  float: right;
}

.fa.arrow:before {
  content: "\f104";
}

.active>a>.fa.arrow:before {
  content: "\f107";
}

.nav-second-level li,
.nav-third-level li {
  border-bottom: none !important;
}

.nav.nav-third-level>li.active {
  border: none;
}

.nav-second-level li a {
  padding: 4px 10px 4px 20px;
}

.fixed-sidebar.mini-navbar .nav-second-level.collapsing li a,
.nav-second-level.collapsing li a {
  min-width: 220px;
}

.body-small .nav-second-level.collapsing li a,
.mini-navbar .nav-second-level.collapsing li a {
  min-width: 140px;
}

.nav-third-level li a,
.fixed-sidebar.mini-navbar .nav-second-level li .nav-third-level li a {
  padding-left: 45px;
}

.nav-second-level li:last-child {
  padding-bottom: 10px;
}

body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav li:hover>.nav-second-level,
.mini-navbar .nav li:focus>.nav-second-level {
  display: block;
  border-radius: 0 2px 2px 0;
  min-width: 160px;
  height: auto;
}

body.mini-navbar .navbar-default .nav>li>.nav-second-level li a {
  font-size: 9px;
  border-radius: 3px;
}

.fixed-nav .slimScrollDiv #side-menu {
  padding-bottom: 60px;
}

.mini-navbar .nav-second-level li a {
  padding: 10px 10px 10px 15px;
}

.mini-navbar .nav .nav-second-level {
  position: absolute;
  left: 70px;
  top: 0;
  background-color: #2f4050;
  padding: 10px 10px 10px 10px;
  font-size: 12px;
}

.canvas-menu.mini-navbar .nav-second-level {
  background: #293846;
}

.mini-navbar li.active .nav-second-level {
  left: 65px;
}

.navbar-default .special_link a {
  background: #96b900;
  color: white;
}

.navbar-default .special_link a:hover {
  background: #17987e !important;
  color: white;
}

.navbar-default .special_link a span.label {
  background: #fff;
  color: #96b900;
}

.navbar-default .landing_link a {
  background: #1cc09f;
  color: white;
}

.navbar-default .landing_link a:hover {
  background: #96b900 !important;
  color: white;
}

.navbar-default .landing_link a span.label {
  background: #fff;
  color: #1cc09f;
}

.logo-element {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: white;
  display: none;
  padding: 18px 0;
}

.navbar-static-side {
  transition: width 0s;
}

.footer {
  transition: margin 0s;
}

.pace-done .navbar-static-side,
.pace-done .nav-header,
.pace-done li.active,
.pace-done #page-wrapper,
.pace-done .footer {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.navbar-fixed-top {
  background: #fff;
  transition-duration: 0.4s;
  border-bottom: 1px solid #e7eaec !important;
  z-index: 2030;
  position: fixed;
  right: 0;
  left: 0;
  padding: 0;
  top: 0;
}

.navbar-fixed-top .navbar-form-custom .form-control {
  height: 50px;
}

.navbar-fixed-top,
.navbar-static-top {
  background: #f3f3f4;
}

.fixed-nav #wrapper {
  margin-top: 0;
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:hover,
.nav-tabs>li.active>a:focus {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  background: none;
  border-color: #dddddd #dddddd rgba(0, 0, 0, 0);
  border-bottom: #f3f3f4;
  border-image: none;
  border-style: solid;
  border-width: 1px;
  color: #555555;
  cursor: default;
}

.nav.nav-tabs li {
  background: none;
  border: none;
}

body.fixed-nav #wrapper .navbar-static-side,
body.fixed-nav #wrapper #page-wrapper {
  margin-top: 60px;
}

body.top-navigation.fixed-nav #wrapper #page-wrapper {
  margin-top: 0;
}

body.fixed-nav.fixed-nav-basic .navbar-fixed-top {
  left: 120px;
}

body.fixed-nav.fixed-nav-basic.mini-navbar .navbar-fixed-top {
  left: 70px;
}

body.fixed-nav.fixed-nav-basic.fixed-sidebar.mini-navbar .navbar-fixed-top {
  left: 0;
}

body.fixed-nav.fixed-nav-basic #wrapper .navbar-static-side {
  margin-top: 0;
}

body.fixed-nav.fixed-nav-basic.body-small .navbar-fixed-top {
  left: 0;
}

body.fixed-nav.fixed-nav-basic.fixed-sidebar.mini-navbar.body-small .navbar-fixed-top {
  left: 190;
}

.fixed-nav .minimalize-styl-2 {
  margin: 10px 5px 5px 15px;
}

.body-small .navbar-fixed-top {
  margin-left: 0;
}

body.mini-navbar .navbar-static-side {
  width: 70px;
}

body.mini-navbar .profile-element,
body.mini-navbar .nav-label,
body.mini-navbar .navbar-default .nav li a span {
  display: none;
}

body.canvas-menu .profile-element {
  display: block;
}

body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav-second-level {
  display: none;
}

body.mini-navbar .navbar-default .nav>li>a {
  font-size: 16px;
}

body.mini-navbar .logo-element {
  display: block;
}

body.canvas-menu .logo-element {
  display: none;
}

body.mini-navbar .nav-header {
  padding: 0;
  background-color: #96b900;
}

body.canvas-menu .nav-header {
  padding: 33px 25px;
}

body.canvas-menu .sidebar-collapse li {
  width: 100%;
}

body.mini-navbar #page-wrapper {
  width: calc(100% - 30px);
}

body.canvas-menu.mini-navbar #page-wrapper,
body.canvas-menu.mini-navbar .footer {
  margin: 0;
  width: 100%;
}

body.fixed-sidebar .navbar-static-side,
body.canvas-menu .navbar-static-side {
  width: 150px;
  z-index: 2001;
  height: 100vh;
  position: fixed;
}

body.fixed-sidebar.mini-navbar .navbar-static-side {
  width: 0;
}

body.fixed-sidebar #page-wrapper {
  margin: 0 0 0 150px;
}

body.fixed-sidebar.body-small #page-wrapper {
  margin: 0;
}

body.fixed-sidebar.mini-navbar #page-wrapper {
  margin: 0 0 0 0;
  width: 100%;
}

body.body-small.fixed-sidebar.mini-navbar #page-wrapper {
  margin: 0 0 0 120px;
}

body.body-small.fixed-sidebar.mini-navbar .navbar-static-side {
  width: 120px;
}

.fixed-sidebar.mini-navbar .nav li:focus>.nav-second-level,
.canvas-menu.mini-navbar .nav li:focus>.nav-second-level {
  display: block;
  height: auto;
}

body.fixed-sidebar.mini-navbar .navbar-default .nav>li>.nav-second-level li a {
  font-size: 12px;
  border-radius: 3px;
}

body.canvas-menu.mini-navbar .navbar-default .nav>li>.nav-second-level li a {
  font-size: 13px;
  border-radius: 3px;
}

.fixed-sidebar.mini-navbar .nav-second-level li a,
.canvas-menu.mini-navbar .nav-second-level li a {
  padding: 10px 10px 10px 15px;
}

.fixed-sidebar.mini-navbar .nav-second-level,
.canvas-menu.mini-navbar .nav-second-level {
  position: relative;
  padding: 0;
  font-size: 13px;
}

.fixed-sidebar.mini-navbar li.active .nav-second-level,
.canvas-menu.mini-navbar li.active .nav-second-level {
  left: 0;
}

body.fixed-sidebar.mini-navbar .navbar-default .nav>li>a,
body.canvas-menu.mini-navbar .navbar-default .nav>li>a {
  font-size: 10px;
}

body.fixed-sidebar.mini-navbar .nav-label,
body.fixed-sidebar.mini-navbar .navbar-default .nav li a span,
body.canvas-menu.mini-navbar .nav-label,
body.canvas-menu.mini-navbar .navbar-default .nav li a span {
  display: inline;
}

body.canvas-menu.mini-navbar .navbar-default .nav li .profile-element a span {
  display: block;
}

.canvas-menu.mini-navbar .nav-second-level li a,
.fixed-sidebar.mini-navbar .nav-second-level li a {
  padding: 7px 10px 7px 52px;
}

.fixed-sidebar.mini-navbar .nav-second-level,
.canvas-menu.mini-navbar .nav-second-level {
  left: 0;
}

body.canvas-menu nav.navbar-static-side {
  z-index: 2001;
  background: #2f4050;
  height: 100%;
  position: fixed;
  display: none;
}

body.canvas-menu.mini-navbar nav.navbar-static-side {
  display: block;
  width: 220px;
}

.top-navigation #page-wrapper {
  width: 100%;
}

.top-navigation .navbar-nav .dropdown-menu>.active>a {
  background: white;
  color: #96b900;
  font-weight: bold;
}

.white-bg .navbar-fixed-top,
.white-bg .navbar-static-top {
  background: #fff;
}

.top-navigation .navbar {
  margin-bottom: 0;
}

.top-navigation .nav>li>a {
  padding: 15px 20px;
  color: white;
}

.top-navigation .nav>li a:hover,
.top-navigation .nav>li a:focus {
  background: #fff;
  color: #96b900;
}

.top-navigation .navbar .nav>li.active {
  background: #fff;
  border: none;
}

.top-navigation .nav>li.active>a {
  color: #96b900;
}

.top-navigation .navbar-right {
  margin-right: 10px;
}

.top-navigation .navbar-nav .dropdown-menu {
  box-shadow: none;
  border: 1px solid #e7eaec;
}

.top-navigation .dropdown-menu>li>a {
  margin: 0;
  padding: 7px 20px;
}

.navbar .dropdown-menu {
  margin-top: 0;
}

.top-navigation .navbar-brand {
  background: #96b900;
  color: #fff;
  padding: 15px 25px;
  font-size: 18px;
  line-height: 20px;
}

.top-navigation .navbar-top-links li:last-child {
  margin-right: 0;
}

.top-navigation.mini-navbar #page-wrapper,
.top-navigation.body-small.fixed-sidebar.mini-navbar #page-wrapper,
.mini-navbar .top-navigation #page-wrapper,
.body-small.fixed-sidebar.mini-navbar .top-navigation #page-wrapper,
.canvas-menu #page-wrapper {
  margin: 0;
  width: 100%;
}

.top-navigation.fixed-nav #wrapper,
.fixed-nav #wrapper.top-navigation {
  margin-top: 50px;
}

.top-navigation .footer.fixed {
  margin-left: 0 !important;
}

.top-navigation .wrapper.wrapper-content {
  padding: 40px;
}

.top-navigation.body-small .wrapper.wrapper-content,
.body-small .top-navigation .wrapper.wrapper-content {
  padding: 40px 0 40px 0;
}

.navbar-toggler {
  background-color: #96b900;
  color: #fff;
  padding: 6px 12px;
  font-size: 14px;
  margin: 8px;
}

.top-navigation .navbar-nav .open .dropdown-menu>li>a,
.top-navigation .navbar-nav .open .dropdown-menu .dropdown-header {
  padding: 10px 15px 10px 20px;
}

@media (max-width: 768px) {
  .top-navigation .navbar-header {
    display: block;
    float: none;
  }
}

.menu-visible-lg,
.menu-visible-md {
  display: none !important;
}

@media (min-width: 1200px) {
  .menu-visible-lg {
    display: block !important;
  }
}

@media (min-width: 992px) {
  .menu-visible-md {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .menu-visible-md {
    display: block !important;
  }

  .menu-visible-lg {
    display: block !important;
  }
}

button:focus {
  outline: 0 !important;
}

.btn {
  text-decoration: none;
  padding: 5px 20px;
  font-weight: 600;
}

.btn:focus {
  box-shadow: none;
}

.btn-xs {
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
}

.btn-group-sm>.btn,
.btn-sm {
  font-size: 0.8rem;
}

.float-e-margins .btn {
  margin-bottom: 5px;
}

.btn-w-m {
  min-width: 120px;
}

.btn-primary.btn-outline {
  color: #fff;
}

.btn-success.btn-outline {
  color: #1c84c6;
}

.btn-info.btn-outline {
  color: #23c6c8;
}

.btn-warning.btn-outline {
  color: #f8ac59;
}

.btn-danger.btn-outline {
  color: #ed5565;
}

.btn-primary.btn-outline:hover,
.btn-success.btn-outline:hover,
.btn-info.btn-outline:hover,
.btn-warning.btn-outline:hover,
.btn-danger.btn-outline:hover {
  color: #fff;
}

.btn.active,
.btn:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-primary {
  color: #fff;
  background-color: #96b900;
  border-color: #96b900;
}

.btn-primary:hover {
  background-color: #000;
  color: #ffffff;
  border-color: #000;
}

.btn-primary:focus {
  color: #fff;
  background-color: #96b900;
  border-color: #96b900;
  box-shadow: 0 0 0 0 #96b900;
}

.btn-primary.disabled,
.btn-primary:disabled {
  color: #fff;
  background-color: #5e8601;
  border-color: #5e8601;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #000;
  border-color: #000;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-primary.dropdown-toggle:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

/* Outline variants based on primary/success/info/warning/danger/default/white colors */
.btn-outline-primary {
  color: #96b900;
  background-color: transparent;
  border-color: #96b900;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.focus {
  color: #fff;
  background-color: #96b900;
  border-color: #96b900;
}
.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #fff;
  background-color: rgba(150,185,0,0.2);
  border-color: rgba(150,185,0,0.2);
}
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show>.btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-primary.dropdown-toggle:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-outline-success {
  color: #1c84c6;
  background-color: transparent;
  border-color: #1c84c6;
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success.focus {
  color: #fff;
  background-color: #1a7bb9;
  border-color: #1a7bb9;
}
.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #fff;
  background-color: rgba(28,132,198,0.15);
  border-color: rgba(28,132,198,0.15);
}
.btn-outline-info {
  color: #23c6c8;
  background-color: transparent;
  border-color: #23c6c8;
}
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info.focus {
  color: #fff;
  background-color: #21b9bb;
  border-color: #21b9bb;
}
.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #fff;
  background-color: rgba(35,198,200,0.15);
  border-color: rgba(35,198,200,0.15);
}
.btn-outline-warning {
  color: #f8ac59;
  background-color: transparent;
  border-color: #f8ac59;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning.focus {
  color: #fff;
  background-color: #f7a54a;
  border-color: #f7a54a;
}
.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #fff;
  background-color: rgba(248,172,89,0.15);
  border-color: rgba(248,172,89,0.15);
}
.btn-outline-danger {
  color: #ed5565;
  background-color: transparent;
  border-color: #ed5565;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger.focus {
  color: #fff;
  background-color: #ec4758;
  border-color: #ec4758;
}
.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #fff;
  background-color: rgba(237,85,101,0.15);
  border-color: rgba(237,85,101,0.15);
}
.btn-outline-default {
  color: #000;
  background-color: transparent;
  border-color: #e7eaec;
}
.btn-outline-default:hover,
.btn-outline-default:focus,
.btn-outline-default.focus {
  color: #000;
  background-color: #d2d2d2;
  border-color: #d2d2d2;
}
.btn-outline-default.disabled,
.btn-outline-default:disabled {
  color: #cacaca;
  background-color: transparent;
  border-color: rgba(0,0,0,0.05);
}
.btn-outline-white {
  color: #fff;
  background-color: transparent;
  border-color: #fff;
}
.btn-outline-white:hover,
.btn-outline-white:focus,
.btn-outline-white.focus {
  color: #000;
  background-color: #fff;
  border-color: #fff;
}
.btn-outline-white.disabled,
.btn-outline-white:disabled {
  color: rgba(255,255,255,0.6);
  background-color: transparent;
  border-color: rgba(255,255,255,0.2);
}


.btn-success {
  color: #fff;
  background-color: #1c84c6;
  border-color: #1c84c6;
}

.btn-success:hover,
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #1a7bb9;
  border-color: #1a7bb9;
}

.btn-success.disabled,
.btn-success:disabled {
  color: #fff;
  background-color: #1a7bb9;
  border-color: #1a7bb9;
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show>.btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1a7bb9;
  border-color: #1a7bb9;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show>.btn-success.dropdown-toggle:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-info {
  color: #fff;
  background-color: #23c6c8;
  border-color: #23c6c8;
}

.btn-info:hover,
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #21b9bb;
  border-color: #21b9bb;
}

.btn-info.disabled,
.btn-info:disabled {
  color: #fff;
  background-color: #21b9bb;
  border-color: #21b9bb;
}

.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show>.btn-info.dropdown-toggle {
  color: #fff;
  background-color: #21b9bb;
  border-color: #21b9bb;
}

.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.show>.btn-info.dropdown-toggle:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-default {
  color: #000;
  background: white;
  border: 1px solid #e7eaec;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default,
.btn-default:active:focus,
.btn-default:active:hover,
.btn-default.active:hover,
.btn-default.active:focus {
  color: #000;
  background: #d2d2d2;
  border: 1px solid #d2d2d2;
}

.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset;
}

.btn-default.disabled,
.btn-default.disabled:hover,
.btn-default.disabled:focus,
.btn-default.disabled:active,
.btn-default.disabled.active,
.btn-default[disabled],
.btn-default[disabled]:hover,
.btn-default[disabled]:focus,
.btn-default[disabled]:active,
.btn-default.active[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-default:hover,
fieldset[disabled] .btn-default:focus,
fieldset[disabled] .btn-default:active,
fieldset[disabled] .btn-default.active {
  color: #cacaca;
}

.btn-warning {
  color: #ffffff;
  background-color: #f8ac59;
  border-color: #f8ac59;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus {
  color: #ffffff;
  background-color: #f7a54a;
  border-color: #f7a54a;
}

.btn-warning.disabled,
.btn-warning:disabled {
  color: #ffffff;
  background-color: #f7a54a;
  border-color: #f7a54a;
}

.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show>.btn-warning.dropdown-toggle {
  color: #ffffff;
  background-color: #f7a54a;
  border-color: #f7a54a;
}

.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show>.btn-warning.dropdown-toggle:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-danger {
  color: #fff;
  background-color: #ed5565;
  border-color: #ed5565;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #ec4758;
  border-color: #ec4758;
}

.btn-danger.disabled,
.btn-danger:disabled {
  color: #fff;
  background-color: #ec4758;
  border-color: #ec4758;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show>.btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #ec4758;
  border-color: #ec4758;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show>.btn-danger.dropdown-toggle:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-link {
  color: inherit;
}

.btn-link:hover,
.btn-link:focus,
.btn-link:active,
.btn-link.active,
.open .dropdown-toggle.btn-link {
  color: #96b900;
  text-decoration: none;
}

.btn-link:active,
.btn-link.active,
.open .dropdown-toggle.btn-link {
  background-image: none;
  box-shadow: none;
}

.btn-link.disabled,
.btn-link.disabled:hover,
.btn-link.disabled:focus,
.btn-link.disabled:active,
.btn-link.disabled.active,
.btn-link[disabled],
.btn-link[disabled]:hover,
.btn-link[disabled]:focus,
.btn-link[disabled]:active,
.btn-link.active[disabled],
fieldset[disabled] .btn-link,
fieldset[disabled] .btn-link:hover,
fieldset[disabled] .btn-link:focus,
fieldset[disabled] .btn-link:active,
fieldset[disabled] .btn-link.active {
  color: #cacaca;
}

.btn-white {
  color: inherit;
  background: white;
  border: 1px solid #e7eaec;
}

.btn-white:hover,
.btn-white:focus,
.btn-white:active,
.btn-white.active,
.open .dropdown-toggle.btn-white,
.btn-white:active:focus,
.btn-white:active:hover,
.btn-white.active:hover,
.btn-white.active:focus {
  color: inherit;
  border: 1px solid #d2d2d2;
}

.btn-white:active,
.btn-white.active {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset;
}

.btn-white:active,
.btn-white.active,
.open .dropdown-toggle.btn-white {
  background-image: none;
}

.btn-white.disabled,
.btn-white.disabled:hover,
.btn-white.disabled:focus,
.btn-white.disabled:active,
.btn-white.disabled.active,
.btn-white[disabled],
.btn-white[disabled]:hover,
.btn-white[disabled]:focus,
.btn-white[disabled]:active,
.btn-white.active[disabled],
fieldset[disabled] .btn-white,
fieldset[disabled] .btn-white:hover,
fieldset[disabled] .btn-white:focus,
fieldset[disabled] .btn-white:active,
fieldset[disabled] .btn-white.active {
  color: #cacaca;
}

.form-control,
.form-control:focus,
.has-error .form-control:focus,
.has-success .form-control:focus,
.has-warning .form-control:focus,
.navbar-collapse,
.navbar-form,
.navbar-form-custom .form-control:focus,
.navbar-form-custom .form-control:hover,
.open .btn.dropdown-toggle,
.panel,
.popover,
.progress,
.progress-bar {
  box-shadow: none;
}

.btn-outline {
  color: inherit;
  background-color: rgba(0, 0, 0, 0.1);
  /* Fondo negro translúcido */
  backdrop-filter: blur(3px);
  /* Efecto de desenfoque ligero */
  transition: all 0.5s;
}

.btn-rounded {
  border-radius: 50px;
}

.btn-large-dim {
  width: 70px;
  height: 70px;
  font-size: 42px;
}

button.dim {
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  padding-top: 6px;
  margin-right: 10px;
  position: relative;
  cursor: pointer;
  border-radius: 5px;
  font-weight: 600;
  margin-bottom: 20px !important;
}

button.dim:active {
  top: 3px;
}

button.btn-primary.dim {
  box-shadow:
    inset 0 0 0 #16987e,
    0 5px 0 0 #16987e,
    0 10px 5px #999 !important;
}

button.btn-primary.dim:active {
  box-shadow:
    inset 0 0 0 #16987e,
    0 2px 0 0 #16987e,
    0 5px 3px #999 !important;
}

button.btn-default.dim {
  box-shadow:
    inset 0 0 0 #b3b3b3,
    0 5px 0 0 #b3b3b3,
    0 10px 5px #999 !important;
}

button.btn-default.dim:active {
  box-shadow:
    inset 0 0 0 #b3b3b3,
    0 2px 0 0 #b3b3b3,
    0 5px 3px #999 !important;
}

button.btn-warning.dim {
  box-shadow:
    inset 0 0 0 #f79d3c,
    0 5px 0 0 #f79d3c,
    0 10px 5px #999 !important;
}

button.btn-warning.dim:active {
  box-shadow:
    inset 0 0 0 #f79d3c,
    0 2px 0 0 #f79d3c,
    0 5px 3px #999 !important;
}

button.btn-info.dim {
  box-shadow:
    inset 0 0 0 #1eacae,
    0 5px 0 0 #1eacae,
    0 10px 5px #999 !important;
}

button.btn-info.dim:active {
  box-shadow:
    inset 0 0 0 #1eacae,
    0 2px 0 0 #1eacae,
    0 5px 3px #999 !important;
}

button.btn-success.dim {
  box-shadow:
    inset 0 0 0 #1872ab,
    0 5px 0 0 #1872ab,
    0 10px 5px #999 !important;
}

button.btn-success.dim:active {
  box-shadow:
    inset 0 0 0 #1872ab,
    0 2px 0 0 #1872ab,
    0 5px 3px #999 !important;
}

button.btn-danger.dim {
  box-shadow:
    inset 0 0 0 #ea394c,
    0 5px 0 0 #ea394c,
    0 10px 5px #999 !important;
}

button.btn-danger.dim:active {
  box-shadow:
    inset 0 0 0 #ea394c,
    0 2px 0 0 #ea394c,
    0 5px 3px #999 !important;
}

button.dim:before {
  font-size: 50px;
  line-height: 1em;
  font-weight: normal;
  color: #fff;
  display: block;
  padding-top: 10px;
}

button.dim:active:before {
  top: 7px;
  font-size: 50px;
}

.btn:focus {
  outline: none !important;
}

.label {
  background-color: #96b900;
  color: #ffffff;
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
  font-weight: 600;
  font-size: 9px;
  padding: 3px 8px;
  text-shadow: none;
  border-radius: 0.25em;
  line-height: 1;
  white-space: nowrap;
}

.nav .label,
.ibox .label {
  font-size: 9px;
}

.badge {
  font-size: 0.6rem !important;
  background-color: #96b900;
  color: #ffffff;
  font-weight: 400;
  padding-bottom: 4px;
  padding-left: 6px;
  padding-right: 6px;
  text-shadow: none;
  white-space: nowrap;
}

.label-primary,
.badge-primary {
  background-color: #96b900;
  color: #ffffff;
}

.label-success,
.badge-success {
  background-color: #1c84c6;
  color: #ffffff;
}

.label-warning,
.badge-warning {
  background-color: #f8ac59;
  color: #ffffff;
}

.label-warning-light,
.badge-warning-light {
  background-color: #f8ac59;
  color: #ffffff;
}

.label-danger,
.badge-danger {
  background-color: #ed5565;
  color: #ffffff;
}

.label-info,
.badge-info {
  background-color: #23c6c8;
  color: #ffffff;
}

.label-inverse,
.badge-inverse {
  background-color: #262626;
  color: #ffffff;
}

.label-white,
.badge-white {
  background-color: #ffffff;
  color: #5e5e5e;
}

.label-white,
.badge-disable {
  background-color: #2a2e36;
  color: #8b91a0;
}

.onoffswitch-checkbox {
  display: none;
}

.onoffswitch-label {
  display: block;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid #96b900;
  border-radius: 2px;
}

.onoffswitch-inner {
  width: 200%;
  margin-left: -100%;
  -moz-transition: margin 0.3s ease-in 0s;
  -webkit-transition: margin 0.3s ease-in 0s;
  -o-transition: margin 0.3s ease-in 0s;
  transition: margin 0.3s ease-in 0s;
}

.onoffswitch-inner:before,
.onoffswitch-inner:after {
  float: left;
  width: 50%;
  height: 20px;
  padding: 0;
  line-height: 20px;
  font-size: 12px;
  color: white;
  font-family: Trebuchet, Arial, sans-serif;
  font-weight: bold;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.onoffswitch-inner:before {
  content: "ON";
  padding-left: 10px;
  background-color: #96b900;
  color: #ffffff;
}

.onoffswitch-inner:after {
  content: "OFF";
  padding-right: 10px;
  background-color: #ffffff;
  color: #87a502;
  text-align: right;
}

.onoffswitch-switch {
  width: 20px;
  margin: 0;
  background: #ffffff;
  border: 2px solid #96b900;
  border-radius: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 44px;
  -moz-transition: all 0.3s ease-in 0s;
  -webkit-transition: all 0.3s ease-in 0s;
  -o-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
  margin-left: 0;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
  right: 0;
}

.onoffswitch-checkbox:disabled+.onoffswitch-label .onoffswitch-inner:before {
  background-color: #919191;
}

.onoffswitch-checkbox:disabled+.onoffswitch-label,
.onoffswitch-checkbox:disabled+.onoffswitch-label .onoffswitch-switch {
  border-color: #919191;
}

/* Alpine pill toggle (replaces Switchery for hidden panels) */
.alpine-toggle {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  margin-bottom: 0;
  vertical-align: middle;
}
.alpine-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.alpine-toggle .slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #e2e8f0;
  transition: .3s;
  border-radius: 20px;
}
.alpine-toggle .slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  transition: .3s;
  border-radius: 50%;
}
.alpine-toggle input:checked + .slider {
  background-color: #96b900;
}
.alpine-toggle input:checked + .slider:before {
  transform: translateX(16px);
}

/* CHOSEN PLUGIN */
.chosen-container-single .chosen-single {
  background: #ffffff;
  box-shadow: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 2px;
  cursor: text;
  height: auto !important;
  margin: 0;
  min-height: 30px;
  overflow: hidden;
  padding: 4px 12px;
  position: relative;
  width: 100%;
}

.chosen-container-multi .chosen-choices li.search-choice {
  background: #f1f1f1;
  border: 1px solid #e5e6e7;
  border-radius: 2px;
  box-shadow: none;
  color: #333333;
  cursor: default;
  line-height: 13px;
  margin: 3px 0 3px 5px;
  padding: 3px 20px 3px 5px;
  position: relative;
}

/* Tags Input Plugin */
.bootstrap-tagsinput {
  border: 1px solid #e5e6e7;
  box-shadow: none;
}

/* PAGINATIN */
.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
  border-color: #dddddd;
  cursor: default;
  z-index: 2;
}

.pagination>li>a,
.pagination>li>span {
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: inherit;
  float: left;
  line-height: 1.42857;
  margin-left: -1px;
  padding: 4px 10px;
  position: relative;
  text-decoration: none;
}

.page-item.active .page-link {
  background-color: #96b900;
  border-color: #96b900;
}

.page-link:focus {
  box-shadow: none;
}

.page-link:hover {
  color: #676a6c;
}

.pagination .footable-page.active a {
  background-color: #96b900;
  border-color: #96b900;
  color: white;
}

/* TOOLTIPS */
.tooltip-inner {
  background-color: #2f4050;
}

.tooltip.top .tooltip-arrow {
  border-top-color: #2f4050;
}

.tooltip.right .tooltip-arrow {
  border-right-color: #2f4050;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #2f4050;
}

.tooltip.left .tooltip-arrow {
  border-left-color: #2f4050;
}

.bs-tooltip-auto[x-placement^="left"] .arrow::before,
.bs-tooltip-left .arrow::before {
  border-left-color: #2f4050;
}

.bs-tooltip-auto[x-placement^="right"] .arrow::before,
.bs-tooltip-right .arrow::before {
  border-right-color: #2f4050;
}

.bs-tooltip-auto[x-placement^="top"] .arrow::before,
.bs-tooltip-top .arrow::before {
  border-top-color: #2f4050;
}

.bs-tooltip-auto[x-placement^="bottom"] .arrow::before,
.bs-tooltip-bottom .arrow::before {
  border-bottom-color: #2f4050;
}

/* EASY PIE CHART*/
.easypiechart {
  position: relative;
  text-align: center;
}

.easypiechart .h2 {
  margin-left: 10px;
  margin-top: 10px;
  display: inline-block;
}

.easypiechart canvas {
  top: 0;
  left: 0;
}

.easypiechart .easypie-text {
  line-height: 1;
  position: absolute;
  top: 33px;
  width: 100%;
  z-index: 1;
}

.easypiechart img {
  margin-top: -4px;
}

.jqstooltip {
  box-sizing: content-box;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
}

/* Chat */
.chat-activity-list .chat-element {
  border-bottom: 1px solid #e7eaec;
}

.chat-element:first-child {
  margin-top: 0;
}

.chat-element {
  padding-bottom: 15px;
}

.chat-element,
.chat-element .media {
  margin-top: 15px;
}

.media-body {
  margin: 0 15px 0 15px;
}

.chat-element,
.media-body {
  overflow: hidden;
}

.chat-element .media-body {
  display: block;
  width: auto;
}

.chat-element>.float-left {
  margin-right: 10px;
}

.chat-element img.rounded-circle,
.dropdown-messages-box img.rounded-circle {
  width: 38px;
  height: 38px;
}

.chat-element .well {
  border: 1px solid #e7eaec;
  box-shadow: none;
  margin-top: 10px;
  margin-bottom: 5px;
  padding: 10px 20px;
  font-size: 11px;
  line-height: 16px;
}

.chat-element .actions {
  margin-top: 10px;
}

.chat-element .photos {
  margin: 10px 0;
}

.right.chat-element>.float-right {
  margin-left: 10px;
}

.chat-photo {
  max-height: 180px;
  border-radius: 4px;
  overflow: hidden;
  margin-right: 10px;
  margin-bottom: 10px;
}

.chat {
  margin: 0;
  padding: 0;
  list-style: none;
}

.chat li {
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px dotted #b3a9a9;
}

.chat li.left .chat-body {
  margin-left: 60px;
}

.chat li.right .chat-body {
  margin-right: 60px;
}

.chat li .chat-body p {
  margin: 0;
  color: #777777;
}

.panel .slidedown .glyphicon,
.chat .glyphicon {
  margin-right: 5px;
}

.chat-panel .panel-body {
  height: 350px;
  overflow-y: scroll;
}

/* LIST GROUP */
a.list-group-item.active,
a.list-group-item.active:hover,
a.list-group-item.active:focus {
  background-color: #96b900;
  border-color: #96b900;
  color: #ffffff;
  z-index: 2;
}

.list-group-item-heading {
  margin-top: 10px;
}

.list-group-item-text {
  margin: 0 0 10px;
  color: inherit;
  font-size: 12px;
  line-height: inherit;
}

.no-padding .list-group-item {
  border-left: none;
  border-right: none;
  border-bottom: none;
}

.no-padding .list-group-item:first-child {
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-top: none;
}

.no-padding .list-group {
  margin-bottom: 0;
}

.list-group-item {
  background-color: inherit;
  border: 1px solid #e7eaec;
  display: block;
  margin-bottom: -1px;
  padding: 10px 15px;
  position: relative;
}

.elements-list .list-group-item {
  border-left: none;
  border-right: none;
  padding: 0;
}

.elements-list .list-group-item:first-child {
  border-left: none;
  border-right: none;
  border-top: none !important;
}

.elements-list .list-group {
  margin-bottom: 0;
}

.elements-list a {
  color: inherit;
}

.elements-list .list-group-item a.active,
.elements-list .list-group-item a:hover {
  background: #f3f3f4;
  color: inherit;
  border-color: #e7eaec;
  border-radius: 0;
}

.elements-list li.active {
  transition: none;
}

.elements-list .nav-link {
  padding: 15px 25px;
}

.element-detail-box {
  padding: 25px;
}

/* FLOT CHART  */
.flot-chart {
  display: block;
  height: 200px;
}

.widget .flot-chart.dashboard-chart {
  display: block;
  height: 120px;
  margin-top: 40px;
}

.flot-chart.dashboard-chart {
  display: block;
  height: 180px;
  margin-top: 40px;
}

.flot-chart-content {
  width: 100%;
  height: 100%;
}

.flot-chart-pie-content {
  width: 200px;
  height: 200px;
  margin: auto;
}

.jqstooltip {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  visibility: hidden;
  background: #2b303a;
  background-color: rgba(43, 48, 58, 0.8);
  color: white;
  text-align: left;
  white-space: nowrap;
  z-index: 10000;
  padding: 5px 5px 5px 5px;
  min-height: 22px;
  border-radius: 3px;
}

.jqsfield {
  color: white;
  text-align: left;
}

.fh-150 {
  height: 150px;
}

.fh-200 {
  height: 200px;
}

.h-150 {
  min-height: 150px;
}

.h-200 {
  min-height: 200px;
}

.h-300 {
  min-height: 300px;
}

.w-150 {
  min-width: 150px;
}

.w-200 {
  min-width: 200px;
}

.w-300 {
  min-width: 300px;
}

.legendLabel {
  padding-left: 5px;
}

.stat-list li:first-child {
  margin-top: 0;
}

.stat-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.stat-percent {
  float: right;
}

.stat-list li {
  margin-top: 15px;
  position: relative;
}

/* DATATABLES */
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
  background: transparent;
}

.dataTables_wrapper {
  padding-bottom: 30px;
}

.dataTables_length {
  float: left;
}

.dataTables_filter label {
  margin-right: 5px;
}

.html5buttons {
  float: right;
}

.html5buttons a {
  border: 1px solid #e7eaec;
  background: #fff;
  color: #676a6c;
  box-shadow: none;
  padding: 6px 8px;
  font-size: 12px;
}

.html5buttons a:hover,
.html5buttons a:focus:active {
  background-color: #eee;
  color: inherit;
  border-color: #d2d2d2;
}

div.dt-button-info {
  z-index: 100;
}

@media (max-width: 768px) {
  .html5buttons {
    float: none;
    margin-top: 10px;
  }

  .dataTables_length {
    float: none;
  }
}

.dt-bootstrap4 .form-control-sm {
  height: 29px !important;
  padding: 2px 10px;
}

/* CIRCLE */
.img-circle {
  border-radius: 50%;
}

.btn-circle {
  width: 30px;
  height: 30px;
  padding: 6px 0;
  border-radius: 15px;
  text-align: center;
  font-size: 12px;
  line-height: 1.428571429;
}

.btn-circle.btn-lg {
  width: 50px;
  height: 50px;
  padding: 10px 16px;
  border-radius: 25px;
  font-size: 18px;
  line-height: 1.33;
}

.btn-circle.btn-xl {
  width: 70px;
  height: 70px;
  padding: 10px 16px;
  border-radius: 35px;
  font-size: 24px;
  line-height: 1.33;
}

.show-grid [class^="col-"] {
  padding-top: 10px;
  padding-bottom: 10px;
  border: 1px solid #ddd;
  background-color: #eee !important;
}

.show-grid {
  margin: 15px 0;
}

/* ANIMATION */
.css-animation-box h1 {
  font-size: 44px;
}

.animation-efect-links a {
  padding: 4px 6px;
  font-size: 12px;
}

#animation_box {
  background-color: #f9f8f8;
  border-radius: 16px;
  width: 80%;
  margin: 0 auto;
  padding-top: 80px;
}

.animation-text-box {
  position: absolute;
  margin-top: 40px;
  left: 50%;
  margin-left: -100px;
  width: 200px;
}

.animation-text-info {
  position: absolute;
  margin-top: -60px;
  left: 50%;
  margin-left: -100px;
  width: 200px;
  font-size: 10px;
}

.animation-text-box h2 {
  font-size: 54px;
  font-weight: 600;
  margin-bottom: 5px;
}

.animation-text-box p {
  font-size: 12px;
  text-transform: uppercase;
}

/* PEACE */
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pace-inactive {
  display: none;
}

.pace .pace-progress {
  background: #96b900;
  position: fixed;
  z-index: 2040;
  top: 0;
  right: 100%;
  width: 100%;
  height: 2px;
}

.pace-inactive {
  display: none;
}

/* WIDGETS */
.widget {
  border-radius: 5px;
  padding: 15px 20px;
  margin-bottom: 10px;
  margin-top: 10px;
}

.widget.style1 h2 {
  font-size: 30px;
}

.widget h2,
.widget h3 {
  margin-top: 5px;
  margin-bottom: 0;
}

.widget-text-box {
  padding: 20px;
  border: 1px solid #e7eaec;
  background: #ffffff;
}

.widget-head-color-box {
  border-radius: 5px 5px 0 0;
  margin-top: 10px;
}

.widget .flot-chart {
  height: 100px;
}

.vertical-align div {
  display: inline-block;
  vertical-align: middle;
}

.vertical-align h2,
.vertical-align h3 {
  margin: 0;
}

.todo-list {
  list-style: none outside none;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.todo-list.small-list {
  font-size: 12px;
}

.todo-list.small-list>li {
  background: #f3f3f4;
  border-left: none;
  border-right: none;
  border-radius: 4px;
  color: inherit;
  margin-bottom: 2px;
  padding: 6px 6px 6px 12px;
}

.todo-list.small-list .btn-xs,
.todo-list.small-list .btn-group-xs>.btn {
  border-radius: 5px;
  font-size: 10px;
  line-height: 1.5;
  padding: 1px 2px 1px 5px;
}

.todo-list>li {
  background: #f3f3f4;
  border-left: 6px solid #e7eaec;
  border-right: 6px solid #e7eaec;
  border-radius: 4px;
  color: inherit;
  margin-bottom: 2px;
  padding: 10px;
}

.todo-list .handle {
  cursor: move;
  display: inline-block;
  font-size: 16px;
  margin: 0 5px;
}

.todo-list>li .label {
  font-size: 9px;
  margin-left: 10px;
}

.check-link {
  font-size: 16px;
}

.todo-completed {
  text-decoration: line-through;
}

.geo-statistic h1 {
  font-size: 36px;
  margin-bottom: 0;
}

.glyphicon.fa {
  font-family: "FontAwesome";
}

/* INPUTS */
.inline {
  display: inline-block !important;
}

.input-s-sm {
  width: 120px;
}

.input-s {
  width: 200px;
}

.form-control {
  font-size: 0.9rem;
}

select.form-control:not([size]):not([multiple]) {
  height: 2.05rem;
}

.input-sm,
.form-control-sm {
  height: 31px;
}

.input-s-lg {
  width: 250px;
}

.i-checks {
  padding-left: 0;
}

.form-control,
.single-line {
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #e5e6e7;
  border-radius: 1px;
  color: inherit;
  display: block;
  padding: 6px 12px;
  transition:
    border-color 0.15s ease-in-out 0s,
    box-shadow 0.15s ease-in-out 0s;
  width: 100%;
}

.form-control:focus,
.single-line:focus {
  border-color: #96b900;
}

.has-success .form-control,
.has-success .form-control:focus {
  border-color: #96b900;
}

.has-warning .form-control,
.has-warning .form-control:focus {
  border-color: #f8ac59;
}

.has-error .form-control,
.has-error .form-control:focus {
  border-color: #ed5565;
}

.has-success .control-label {
  color: #96b900;
}

.has-warning .control-label {
  color: #f8ac59;
}

.has-error .control-label {
  color: #ed5565;
}

.input-group-addon {
  background-color: #fff;
  border: 1px solid #e5e6e7;
  border-radius: 1px;
  color: inherit;
  font-size: 14px;
  line-height: 1;
  padding: 9px 12px 4px 12px;
  text-align: center;
}

.input-daterange .input-group-addon {
  margin: 0;
}

.input-group.date .input-group-addon {
  border-right: 0;
}

.spinner-buttons.input-group-btn .btn-xs {
  line-height: 1.13;
}

.spinner-buttons.input-group-btn {
  width: 20%;
}

.noUi-connect {
  background: none repeat scroll 0 0 #96b900;
  box-shadow: none;
}

.slider_red .noUi-connect {
  background: none repeat scroll 0 0 #ed5565;
  box-shadow: none;
}

/* UI Sortable */
.ui-sortable .ibox-title {
  cursor: move;
}

.ui-sortable-placeholder {
  border: 1px dashed #cecece !important;
  visibility: visible !important;
  background: #e7eaec;
}

.ibox.ui-sortable-placeholder {
  margin: 0 0 23px !important;
}

.onoffswitch-checkbox {
  display: none;
}

.onoffswitch-label {
  display: block;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid #96b900;
  border-radius: 3px;
}

.onoffswitch-inner {
  display: block;
  width: 200%;
  margin-left: -100%;
  -moz-transition: margin 0.3s ease-in 0s;
  -webkit-transition: margin 0.3s ease-in 0s;
  -o-transition: margin 0.3s ease-in 0s;
  transition: margin 0.3s ease-in 0s;
}

.onoffswitch-inner:before,
.onoffswitch-inner:after {
  display: block;
  float: left;
  width: 50%;
  height: 16px;
  padding: 0;
  line-height: 16px;
  font-size: 10px;
  color: white;
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
  font-weight: bold;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.onoffswitch-inner:before {
  content: "ON";
  padding-left: 7px;
  background-color: #96b900;
  color: #ffffff;
}

.onoffswitch-inner:after {
  content: "OFF";
  padding-right: 7px;
  background-color: #ffffff;
  color: #919191;
  text-align: right;
}

.onoffswitch-switch {
  display: block;
  width: 18px;
  margin: 0;
  background: #ffffff;
  border: 2px solid #96b900;
  border-radius: 3px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 36px;
  -moz-transition: all 0.3s ease-in 0s;
  -webkit-transition: all 0.3s ease-in 0s;
  -o-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
  margin-left: 0;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
  right: 0;
}

/* jqGrid */
.ui-jqgrid {
  -moz-box-sizing: content-box;
  box-sizing: border-box;
}

.ui-jqgrid-btable {
  border-collapse: separate;
}

.ui-jqgrid-htable {
  border-collapse: separate;
}

.ui-jqgrid-titlebar {
  height: 40px;
  line-height: 15px;
  color: #676a6c;
  background-color: #f9f9f9;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.ui-jqgrid .ui-jqgrid-title {
  float: left;
  margin: 1.1em 1em 0.2em;
}

.ui-jqgrid .ui-jqgrid-titlebar {
  position: relative;
  border-left: 0 solid;
  border-right: 0 solid;
  border-top: 0 solid;
}

.ui-widget-header {
  background: none;
  background-image: none;
  background-color: #f5f5f6;
  text-transform: uppercase;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.ui-jqgrid tr.ui-row-ltr td {
  border-right-color: inherit;
  border-right-style: solid;
  border-right-width: 1px;
  text-align: left;
  border-color: #dddddd;
  background-color: inherit;
}

.ui-search-toolbar input[type="text"] {
  font-size: 12px;
  height: 15px;
  border: 1px solid #cccccc;
  border-radius: 0;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  background: #f9f9f9;
  border: 1px solid #dddddd;
  line-height: 15px;
  font-weight: bold;
  color: #676a6c;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.ui-widget-content {
  box-sizing: content-box;
}

.ui-icon-triangle-1-n {
  background-position: 1px -16px;
}

.ui-jqgrid tr.ui-search-toolbar th {
  border-top-width: 0 !important;
  border-top-color: inherit !important;
  border-top-style: ridge !important;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  background: #f5f5f5;
  border-collapse: separate;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  background: #f2fbff;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: 1px solid #dddddd;
  background: #ffffff;
  font-weight: normal;
  color: #212121;
}

.ui-jqgrid .ui-pg-input {
  font-size: inherit;
  width: 50px;
  border: 1px solid #cccccc;
  height: 15px;
}

.ui-jqgrid .ui-pg-selbox {
  display: block;
  font-size: 1em;
  height: 25px;
  line-height: 18px;
  margin: 0;
  width: auto;
}

.ui-jqgrid .ui-pager-control {
  position: relative;
}

.ui-jqgrid .ui-jqgrid-pager {
  height: 32px;
  position: relative;
}

.ui-pg-table .navtable .ui-corner-all {
  border-radius: 0;
}

.ui-jqgrid .ui-pg-button:hover {
  padding: 1px;
  border: 0;
}

.ui-jqgrid .loading {
  position: absolute;
  top: 45%;
  left: 45%;
  width: auto;
  height: auto;
  z-index: 101;
  padding: 6px;
  margin: 5px;
  text-align: center;
  font-weight: bold;
  display: none;
  border-width: 2px !important;
  font-size: 11px;
}

.ui-jqgrid .form-control {
  height: 10px;
  width: auto;
  display: inline;
  padding: 10px 12px;
}

.ui-jqgrid-pager {
  height: 32px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 0;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 0;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 0;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 0;
}

.ui-widget-content {
  border: 1px solid #ddd;
}

.ui-jqgrid .ui-jqgrid-titlebar {
  padding: 0;
}

.ui-jqgrid .ui-jqgrid-titlebar {
  border-bottom: 1px solid #ddd;
}

.ui-jqgrid tr.jqgrow td {
  padding: 6px;
}

.ui-jqdialog .ui-jqdialog-titlebar {
  padding: 10px 10px;
}

.ui-jqdialog .ui-jqdialog-title {
  float: none !important;
}

.ui-jqdialog>.ui-resizable-se {
  position: absolute;
}

/* Nestable list */
.dd {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  line-height: 20px;
}

.dd-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dd-list .dd-list {
  padding-left: 30px;
}

.dd-collapsed .dd-list {
  display: none;
}

.dd-item,
.dd-empty,
.dd-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  font-size: 13px;
  line-height: 20px;
}

.dd-handle {
  display: block;
  margin: 5px 0;
  padding: 5px 10px;
  color: #333;
  text-decoration: none;
  border: 1px solid #e7eaec;
  background: #f5f5f5;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.dd-handle span {
  font-weight: bold;
}

.dd-handle:hover {
  background: #f0f0f0;
  cursor: pointer;
  font-weight: bold;
}

.dd-item>button {
  display: block;
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 20px;
  margin: 5px 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  font-weight: bold;
}

.dd-item>button:before {
  content: "+";
  display: block;
  position: absolute;
  width: 100%;
  text-align: center;
  text-indent: 0;
}

.dd-item>button[data-action="collapse"]:before {
  content: "-";
}

#nestable2 .dd-item>button {
  font-family: FontAwesome;
  height: 34px;
  width: 33px;
  color: #c1c1c1;
}

#nestable2 .dd-item>button:before {
  content: "\f067";
}

#nestable2 .dd-item>button[data-action="collapse"]:before {
  content: "\f068";
}

.dd-placeholder,
.dd-empty {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  background: #f2fbff;
  border: 1px dashed #b6bcbf;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.dd-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #e5e5e5;
  background-image:
    -webkit-linear-gradient(45deg,
      #fff 25%,
      transparent 25%,
      transparent 75%,
      #fff 75%,
      #fff),
    -webkit-linear-gradient(45deg,
      #fff 25%,
      transparent 25%,
      transparent 75%,
      #fff 75%,
      #fff);
  background-image:
    -moz-linear-gradient(45deg,
      #fff 25%,
      transparent 25%,
      transparent 75%,
      #fff 75%,
      #fff),
    -moz-linear-gradient(45deg,
      #fff 25%,
      transparent 25%,
      transparent 75%,
      #fff 75%,
      #fff);
  background-image:
    linear-gradient(45deg,
      #fff 25%,
      transparent 25%,
      transparent 75%,
      #fff 75%,
      #fff),
    linear-gradient(45deg,
      #fff 25%,
      transparent 25%,
      transparent 75%,
      #fff 75%,
      #fff);
  background-size: 60px 60px;
  background-position:
    0 0,
    30px 30px;
}

.dd-dragel {
  position: absolute;
  z-index: 9999;
  pointer-events: none;
}

.dd-dragel>.dd-item .dd-handle {
  margin-top: 0;
}

.dd-dragel .dd-handle {
  -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
}

/**
* Nestable Extras
*/
.nestable-lists {
  display: block;
  clear: both;
  padding: 30px 0;
  width: 100%;
  border: 0;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
}

#nestable-menu {
  padding: 0;
  margin: 10px 0 20px 0;
}

#nestable-output,
#nestable2-output {
  width: 100%;
  font-size: 0.75em;
  line-height: 1.333333em;
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
  padding: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#nestable2 .dd-handle {
  color: inherit;
  border: 1px dashed #e7eaec;
  background: #f3f3f4;
  padding: 10px;
}

#nestable2 span.label {
  margin-right: 10px;
}

#nestable-output,
#nestable2-output {
  font-size: 12px;
  padding: 25px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

/* CodeMirror */
.CodeMirror {
  border: 1px solid #eee;
  height: auto;
}

.CodeMirror-scroll {
  overflow-y: hidden;
  overflow-x: auto;
}

/* Google Maps */
.google-map {
  height: 300px;
}

/* Validation */
label.error {
  color: #cc5965;
  display: inline-block;
  margin-left: 5px;
}

.valid {
  border-color: #96b900;
}

/* Estilos por defecto (pantallas grandes) */
.menu-text {
  font-weight: 600;
  display: inline;
  font-size: 1.2rem;
  /* ≈16px, base legible */
  margin-left: 0.05rem;
  /* ≈8px de separación respecto al ícono */
}

/* Media Query para pantallas menores a 48rem (768px) */
@media (max-width: 48rem) {
  .menu-text {
    display: none;
  }
}

.nav>li>a i {
  display: inline-block;
  /* Asegura que los íconos siempre se vean */
  font-size: 14px;
  /* Ajustar tamaño de los íconos si es necesario */
}

.form-control.error {
  border: 1px dotted #cc5965;
}

/* ngGrid */
.gridStyle {
  border: 1px solid #d4d4d4;
  width: 100%;
  height: 400px;
}

.gridStyle2 {
  border: 1px solid #d4d4d4;
  width: 500px;
  height: 300px;
}

.ngH eaderCell {
  border-right: none;
  border-bottom: 1px solid #e7eaec;
}

.ngCell {
  border-right: none;
}

.ngTopPanel {
  background: #f5f5f6;
}

.ngRow.even {
  background: #f9f9f9;
}

.ngRow.selected {
  background: #ebf2f1;
}

.ngRow {
  border-bottom: 1px solid #e7eaec;
}

.ngCell {
  background-color: transparent;
}

.ngHeaderCell {
  border-right: none;
}

/* Toastr custom style */
#toast-container>div {
  -moz-box-shadow: 0 0 3px #999;
  -webkit-box-shadow: 0 0 3px #999;
  box-shadow: 0 0 3px #999;
  opacity: 0.9;
  -ms-filter: alpha(opacity=90);
  filter: alpha(opacity=90);
}

#toast-container> :hover {
  -moz-box-shadow: 0 0 4px #999;
  -webkit-box-shadow: 0 0 4px #999;
  box-shadow: 0 0 4px #999;
  opacity: 1;
  -ms-filter: alpha(opacity=100);
  filter: alpha(opacity=100);
  cursor: pointer;
}

/* Toast notifications - redesigned for chat messages */
#toast-container > .toast-info.chat-message-toast,
#toast-container > .toast.chat-message-toast {
    background: #fff !important;
    background-image: none !important;
    background-color: #fff !important;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    padding: 14px 16px 14px 14px;
    width: 380px;
    color: #333;
    opacity: 1;
    border: none;
}

#toast-container > .toast-info.chat-message-toast:hover,
#toast-container > .toast.chat-message-toast:hover {
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
    opacity: 1;
}

#toast-container .chat-message-toast .toast-title {
    display: none;
}

#toast-container .chat-message-toast .toast-message {
    margin: 0;
    padding: 0;
}

#toast-container .chat-message-toast .toast-close-button {
    position: absolute;
    top: 6px;
    right: 8px;
    color: #999;
    font-size: 18px;
    opacity: 0.6;
    text-shadow: none;
}

#toast-container .chat-message-toast .toast-close-button:hover {
    color: #333;
    opacity: 1;
}

#toast-container .chat-message-toast .toast-progress {
    background: #96b900;
    opacity: 0.3;
    height: 3px;
}

.chat-toast-body {
    display: flex;
    align-items: center;
    gap: 12px;
}

.chat-toast-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: #f0f0f0;
}

.chat-toast-content {
    flex: 1;
    min-width: 0;
}

.chat-toast-title {
    font-weight: 600;
    font-size: 14px;
    color: #1a1a1a;
    margin-bottom: 2px;
    line-height: 1.3;
}

.chat-toast-text {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.toast {
  background-color: #96b900;
  border-color: #e7eaec;
}

.toast-success {
  background-color: #96b900;
}

.toast-error {
  background-color: #ed5565;
}

.toast-info {
  background-color: #23c6c8;
}

.toast-warning {
  background-color: #f8ac59;
}

.toast-top-full-width {
  margin-top: 20px;
}

.toast-bottom-full-width {
  margin-bottom: 20px;
}

.toast {
  z-index: 3000;
}

.toast.toast-bootstrap {
  background-color: white;
}

.toast.toast-bootstrap .toast-body {
  background-color: #fbfbfb;
  font-size: 0.775rem;
}

/* Notifie */
.cg-notify-message.inspinia-notify {
  background: #fff;
  padding: 0;
  -moz-box-shadow:
    0 0 1px rgba(0, 0, 0, 0.1),
    0 2px 4px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow:
    0 0 1px rgba(0, 0, 0, 0.1),
    0 2px 4px rgba(0, 0, 0, 0.2);
  box-shadow:
    0 0 1px rgba(0, 0, 0, 0.1),
    0 2px 4px rgba(0, 0, 0, 0.2);
  border: none;
  margin-top: 30px;
  color: inherit;
}

.inspinia-notify.alert-warning {
  border-left: 6px solid #f8ac59;
}

.inspinia-notify.alert-success {
  border-left: 6px solid #1c84c6;
}

.inspinia-notify.alert-danger {
  border-left: 6px solid #ed5565;
}

.inspinia-notify.alert-info {
  border-left: 6px solid #96b900;
}

/* Image cropper style */
.img-container,
.img-preview {
  overflow: hidden;
  text-align: center;
  width: 100%;
}

.img-preview-sm {
  height: 130px;
  width: 200px;
}

/* Forum styles  */
.forum-post-container .media {
  margin: 10px 10px 10px 10px;
  padding: 20px 10px 20px 10px;
  border-bottom: 1px solid #f1f1f1;
}

.forum-avatar {
  float: left;
  margin-right: 20px;
  text-align: center;
  width: 110px;
}

.forum-avatar .rounded-circle {
  height: 48px;
  width: 48px;
}

.author-info {
  color: #676a6c;
  font-size: 11px;
  margin-top: 5px;
  text-align: center;
}

.forum-post-info {
  padding: 9px 12px 6px 12px;
  background: #f9f9f9;
  border: 1px solid #f1f1f1;
}

.media-body>.media {
  background: #f9f9f9;
  border-radius: 3px;
  border: 1px solid #f1f1f1;
}

.forum-post-container .media-body .photos {
  margin: 10px 0;
}

.forum-photo {
  max-width: 140px;
  border-radius: 3px;
}

.media-body>.media .forum-avatar {
  width: 70px;
  margin-right: 10px;
}

.media-body>.media .forum-avatar .rounded-circle {
  height: 38px;
  width: 38px;
}

.mid-icon {
  font-size: 66px;
}

.forum-item {
  margin: 10px 0;
  padding: 10px 0 20px;
  border-bottom: 1px solid #f1f1f1;
}

.views-number {
  font-size: 24px;
  line-height: 18px;
  font-weight: 400;
}

.forum-container,
.forum-post-container {
  padding: 30px !important;
}

.forum-item small {
  color: #999;
}

.forum-item .forum-sub-title {
  color: #999;
  margin-left: 50px;
}

.forum-title {
  margin: 15px 0 15px 0;
}

.forum-info {
  text-align: center;
}

.forum-desc {
  color: #999;
}

.forum-icon {
  float: left;
  width: 30px;
  margin-right: 20px;
  text-align: center;
}

a.forum-item-title {
  color: inherit;
  display: block;
  font-size: 18px;
  font-weight: 600;
}

a.forum-item-title:hover {
  color: inherit;
}

.forum-icon .fa {
  font-size: 30px;
  margin-top: 8px;
  color: #9b9b9b;
}

.forum-item.active .fa {
  color: #96b900;
}

.forum-item.active a.forum-item-title {
  color: #96b900;
}

@media (max-width: 992px) {
  .forum-info {
    margin: 15px 0 10px 0;
    /* Comment this is you want to show forum info in small devices */
    display: none;
  }

  .forum-desc {
    float: none !important;
  }
}

/* New Timeline style */
.vertical-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 1170px;
  margin: 0 auto;
}

.vertical-container::after {
  /* clearfix */
  content: "";
  display: table;
  clear: both;
}

#vertical-timeline {
  position: relative;
  padding: 0;
  margin-top: 2em;
  margin-bottom: 2em;
}

#vertical-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18px;
  height: 100%;
  width: 4px;
  background: #f1f1f1;
}

.vertical-timeline-content .btn {
  float: right;
}

#vertical-timeline.light-timeline:before {
  background: #e7eaec;
}

.dark-timeline .vertical-timeline-content:before {
  border-color: transparent #f5f5f5 transparent transparent;
}

.dark-timeline.center-orientation .vertical-timeline-content:before {
  border-color: transparent transparent transparent #f5f5f5;
}

.dark-timeline .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before,
.dark-timeline.center-orientation .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before {
  border-color: transparent #f5f5f5 transparent transparent;
}

.dark-timeline .vertical-timeline-content,
.dark-timeline.center-orientation .vertical-timeline-content {
  background: #f5f5f5;
}

@media only screen and (min-width: 1170px) {
  #vertical-timeline.center-orientation {
    margin-top: 3em;
    margin-bottom: 3em;
  }

  #vertical-timeline.center-orientation:before {
    left: 50%;
    margin-left: -2px;
  }
}

@media only screen and (max-width: 1170px) {
  .center-orientation.dark-timeline .vertical-timeline-content:before {
    border-color: transparent #f5f5f5 transparent transparent;
  }
}

.vertical-timeline-block {
  position: relative;
  margin: 2em 0;
}

.vertical-timeline-block:after {
  content: "";
  display: table;
  clear: both;
}

.vertical-timeline-block:first-child {
  margin-top: 0;
}

.vertical-timeline-block:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 1170px) {
  .center-orientation .vertical-timeline-block {
    margin: 4em 0;
  }

  .center-orientation .vertical-timeline-block:first-child {
    margin-top: 0;
  }

  .center-orientation .vertical-timeline-block:last-child {
    margin-bottom: 0;
  }
}

.vertical-timeline-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 16px;
  border: 3px solid #f1f1f1;
  text-align: center;
}

.vertical-timeline-icon i {
  display: block;
  width: 24px;
  height: 24px;
  position: relative;
  left: 50%;
  top: 50%;
  margin-left: -12px;
  margin-top: -9px;
}

@media only screen and (min-width: 1170px) {
  .center-orientation .vertical-timeline-icon {
    width: 50px;
    height: 50px;
    left: 50%;
    margin-left: -25px;
    transform: translateZ(0);
    /* estándar */
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    /* estándar */
    -webkit-backface-visibility: hidden;
    font-size: 19px;
  }

  .center-orientation .vertical-timeline-icon i {
    margin-left: -12px;
    margin-top: -10px;
  }

  .center-orientation .cssanimations .vertical-timeline-icon.is-hidden {
    visibility: hidden;
  }
}

.vertical-timeline-content {
  position: relative;
  margin-left: 60px;
  background: white;
  border-radius: 0.25em;
  padding: 1em;
}

.vertical-timeline-content:after {
  content: "";
  display: table;
  clear: both;
}

.vertical-timeline-content h2 {
  font-weight: 400;
  margin-top: 4px;
}

.vertical-timeline-content p {
  margin: 1em 0;
  line-height: 1.6;
}

.vertical-timeline-content .vertical-date {
  float: left;
  font-weight: 500;
}

.vertical-date small {
  color: #96b900;
  font-weight: 400;
}

.vertical-timeline-content::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 100%;
  height: 0;
  width: 0;
  border: 7px solid transparent;
  border-right: 7px solid white;
}

@media only screen and (min-width: 768px) {
  .vertical-timeline-content h2 {
    font-size: 18px;
  }

  .vertical-timeline-content p {
    font-size: 13px;
  }
}

@media only screen and (min-width: 1170px) {
  .center-orientation .vertical-timeline-content {
    margin-left: 0;
    padding: 1.6em;
    width: 45%;
  }

  .center-orientation .vertical-timeline-content::before {
    top: 24px;
    left: 100%;
    border-color: transparent;
    border-left-color: white;
  }

  .center-orientation .vertical-timeline-content .btn {
    float: left;
  }

  .center-orientation .vertical-timeline-content .vertical-date {
    position: absolute;
    width: 100%;
    left: 122%;
    top: 2px;
    font-size: 14px;
  }

  .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content {
    float: right;
  }

  .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content::before {
    top: 24px;
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: white;
  }

  .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .btn {
    float: right;
  }

  .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .vertical-date {
    left: auto;
    right: 122%;
    text-align: right;
  }

  .center-orientation .cssanimations .vertical-timeline-content.is-hidden {
    visibility: hidden;
  }
}

/* Tabs */
.tabs-container .panel-body {
  background: #fff;
  border: 1px solid #e7eaec;
  border-radius: 2px;
  padding: 20px;
  position: relative;
}

.tabs-container .nav-tabs>li.active>a,
.tabs-container .nav-tabs>li.active>a:hover,
.tabs-container .nav-tabs>li.active>a:focus {
  border: 1px solid #e7eaec;
  border-bottom-color: transparent;
  background-color: #fff;
}

.tabs-container .nav-tabs>li {
  float: left;
  margin-bottom: -1px;
}

.tabs-container .tab-pane .panel-body {
  border-top: none;
}

.tabs-container .nav-tabs>li.active>a,
.tabs-container .nav-tabs>li.active>a:hover,
.tabs-container .nav-tabs>li.active>a:focus {
  border: 1px solid #e7eaec;
  border-bottom-color: transparent;
}

.tabs-container .nav-tabs {
  border-bottom: 1px solid #e7eaec;
}

.tabs-container .tab-pane .panel-body {
  border-top: none;
}

.tabs-container .tabs-left .tab-pane .panel-body,
.tabs-container .tabs-right .tab-pane .panel-body {
  border-top: 1px solid #e7eaec;
}

.tabs-container .tabs-below>.nav-tabs,
.tabs-container .tabs-right>.nav-tabs,
.tabs-container .tabs-left>.nav-tabs {
  border-bottom: 0;
}

.tabs-container .tabs-left .panel-body {
  position: static;
}

.tabs-container .tabs-left>.nav-tabs,
.tabs-container .tabs-right>.nav-tabs {
  width: 20%;
}

.tabs-container .tabs-left .panel-body {
  width: 80%;
  margin-left: 20%;
}

.tabs-container .tabs-right .panel-body {
  width: 80%;
  margin-right: 20%;
}

.tabs-container .tab-content>.tab-pane,
.tabs-container .pill-content>.pill-pane {
  display: none;
}

.tabs-container .tab-content>.active,
.tabs-container .pill-content>.active {
  display: block;
}

.tabs-container .tabs-below>.nav-tabs {
  border-top: 1px solid #e7eaec;
}

.tabs-container .tabs-below>.nav-tabs>li {
  margin-top: -1px;
  margin-bottom: 0;
}

.tabs-container .tabs-below>.nav-tabs>li>a {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}

.tabs-container .tabs-below>.nav-tabs>li>a:hover,
.tabs-container .tabs-below>.nav-tabs>li>a:focus {
  border-top-color: #e7eaec;
  border-bottom-color: transparent;
}

.tabs-container .tabs-left>.nav-tabs>li,
.tabs-container .tabs-right>.nav-tabs>li {
  float: none;
  word-break: break-word;
  width: 100%;
}

.tabs-container .tabs-left>.nav-tabs>li>a,
.tabs-container .tabs-right>.nav-tabs>li>a {
  margin-right: 0;
  margin-bottom: 3px;
}

.tabs-container .tabs-left>.nav-tabs {
  float: left;
  margin-right: 19px;
}

.tabs-container .tabs-left>.nav-tabs>li>a {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}

.tabs-container .tabs-left>.nav-tabs a.active,
.tabs-container .tabs-left>.nav-tabs a.active:hover,
.tabs-container .tabs-left>.nav-tabs a.active:focus {
  border-color: #e7eaec transparent #e7eaec #e7eaec;
}

.tabs-container .tabs-right>.nav-tabs {
  float: right;
  margin-left: 19px;
}

.tabs-container .tabs-right>.nav-tabs>li>a {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}

.tabs-container .tabs-right>.nav-tabs a.active,
.tabs-container .tabs-right>.nav-tabs a.active:hover,
.tabs-container .tabs-right>.nav-tabs a.active:focus {
  border-color: #e7eaec #e7eaec #e7eaec transparent;
  z-index: 1;
}

.tabs-container .tabs-right>.nav-tabs li {
  z-index: 1;
}

.nav-tabs .nav-link:not(.active):focus,
.nav-tabs .nav-link:not(.active):hover {
  border-color: transparent;
}

@media (max-width: 767px) {
  .tabs-container .nav-tabs>li {
    float: none !important;
  }

  .tabs-container .nav-tabs>li.active>a {
    border-bottom: 1px solid #e7eaec !important;
    margin: 0;
  }
}

/* jsvectormap */
.jvectormap-container {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.jvectormap-tip {
  position: absolute;
  display: none;
  border: solid 1px #cdcdcd;
  border-radius: 3px;
  background: #292929;
  color: white;
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
  font-size: smaller;
  padding: 5px;
}

.jvectormap-zoomin,
.jvectormap-zoomout,
.jvectormap-goback {
  position: absolute;
  left: 10px;
  border-radius: 3px;
  background: #96b900;
  padding: 3px;
  color: white;
  cursor: pointer;
  line-height: 10px;
  text-align: center;
  box-sizing: content-box;
}

.jvectormap-zoomin,
.jvectormap-zoomout {
  width: 10px;
  height: 10px;
}

.jvectormap-zoomin {
  top: 10px;
}

.jvectormap-zoomout {
  top: 30px;
}

.jvectormap-goback {
  bottom: 10px;
  z-index: 1000;
  padding: 6px;
}

.jvectormap-spinner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: center no-repeat url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==);
}

.jvectormap-legend-title {
  font-weight: bold;
  font-size: 14px;
  text-align: center;
}

.jvectormap-legend-cnt {
  position: absolute;
}

.jvectormap-legend-cnt-h {
  bottom: 0;
  right: 0;
}

.jvectormap-legend-cnt-v {
  top: 0;
  right: 0;
}

.jvectormap-legend {
  background: black;
  color: white;
  border-radius: 3px;
}

.jvectormap-legend-cnt-h .jvectormap-legend {
  float: left;
  margin: 0 10px 10px 0;
  padding: 3px 3px 1px 3px;
}

.jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick {
  float: left;
}

.jvectormap-legend-cnt-v .jvectormap-legend {
  margin: 10px 10px 0 0;
  padding: 3px;
}

.jvectormap-legend-cnt-h .jvectormap-legend-tick {
  width: 40px;
}

.jvectormap-legend-cnt-h .jvectormap-legend-tick-sample {
  height: 15px;
}

.jvectormap-legend-cnt-v .jvectormap-legend-tick-sample {
  height: 20px;
  width: 20px;
  display: inline-block;
  vertical-align: middle;
}

.jvectormap-legend-tick-text {
  font-size: 12px;
}

.jvectormap-legend-cnt-h .jvectormap-legend-tick-text {
  text-align: center;
}

.jvectormap-legend-cnt-v .jvectormap-legend-tick-text {
  display: inline-block;
  vertical-align: middle;
  line-height: 20px;
  padding-left: 3px;
}

/*Slick Carousel */
.slick-prev:before,
.slick-next:before {
  color: #96b900 !important;
}

/* Payments */
.payment-card {
  background: #ffffff;
  padding: 20px;
  margin-bottom: 25px;
  border: 1px solid #e7eaec;
}

.payment-icon-big {
  font-size: 60px;
  color: #96b900;
}

.payments-method.panel-group .panel+.panel {
  margin-top: -1px;
}

.payments-method .panel-heading {
  padding: 15px;
  background-color: #f3f3f4;
}

.payments-method .panel-default {
  border: 1px solid #e7eaec;
}

.payments-method .panel {
  border-radius: 0;
}

.payments-method .panel-heading h5 {
  margin-bottom: 5px;
}

.payments-method .panel-heading i {
  font-size: 26px;
}

/* Select2 custom styles */
.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected="true"] {
  background-color: #96b900;
}

.select2-container--bootstrap4 .select2-selection,
.select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above,
.select2-container--bootstrap4 .select2-dropdown {
  border-color: #e7eaec;
}

.select2-container :focus {
  outline: none;
}

.select2-container--open {
  z-index: 3000;
}

.select2-container--bootstrap4.select2-container--focus .select2-selection {
  box-shadow: none;
  border-color: #96b900;
}

.select2-container--bootstrap4 .select2-selection__clear {
  margin-top: 0.9em;
}

/* Tour */
.tour-tour .btn.btn-default {
  background-color: #ffffff;
  border: 1px solid #d2d2d2;
  color: inherit;
}

.tour-step-backdrop {
  z-index: 2101;
}

.tour-backdrop {
  z-index: 2100;
  opacity: 0.7;
}

.popover[class*="tour-"] {
  z-index: 2100;
}

.popover-header {
  margin-top: 0;
}

body.tour-open .animated {
  animation-fill-mode: initial;
}

.tour-tour .btn.btn-secondary {
  background-color: #ffffff;
  border: 1px solid #d2d2d2;
  color: inherit;
}

/* Resizable */
.resizable-panels .ibox {
  clear: none;
  margin: 10px;
  float: left;
  overflow: hidden;
  min-height: 150px;
  min-width: 150px;
}


.resizable-panels .ibox .ibox-content {
  height: calc(100% - 49px);
}

.ui-resizable-helper {
  background: rgba(211, 211, 211, 0.4);
}

/* Wizard step fix */
.wizard>.content>.body {
  position: relative;
}

/* PDF js style */
.pdf-toolbar {
  max-width: 600px;
  margin: 0 auto;
}

.pdf-toolbar .input-group {
  width: 100px;
}

/* Dropzone */
.dropzone {
  min-height: 140px;
  border: 1px dashed #96b900;
  background: white;
  padding: 20px 20px;
}

.dropzone .dz-message {
  font-size: 16px;
}

/* Activity stream */
.stream {
  position: relative;
  padding: 10px 0;
}

.stream:first-child .stream-badge:before {
  top: 10px;
}

.stream:last-child .stream-badge:before {
  height: 30px;
}

.stream .stream-badge {
  width: 50px;
}

.stream .stream-badge i {
  border: 1px solid #e7eaec;
  border-radius: 50%;
  padding: 6px;
  color: #808486;
  position: absolute;
  background-color: #ffffff;
  left: 8px;
}

.stream .stream-badge i.fa-circle {
  color: #ced0d1;
}

.stream .stream-badge i.bg-success {
  color: #ffffff;
  background-color: #1c84c6;
  border-color: #1c84c6;
}

.stream .stream-badge i.bg-primary {
  color: #ffffff;
  background-color: #96b900;
  border-color: #96b900;
}

.stream .stream-badge i.bg-warning {
  color: #ffffff;
  background-color: #f8ac59;
  border-color: #f8ac59;
}

.stream .stream-badge i.bg-info {
  color: #ffffff;
  background-color: #23c6c8;
  border-color: #23c6c8;
}

.stream .stream-badge i.bg-danger {
  color: #ffffff;
  background-color: #ed5565;
  border-color: #ed5565;
}

.stream .stream-badge:before {
  content: "";
  width: 1px;
  background-color: #e7eaec;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
}

.stream .stream-info {
  font-size: 12px;
  margin-bottom: 5px;
}

.stream .stream-info img {
  border-radius: 50%;
  width: 18px;
  height: 18px;
  margin-right: 2px;
  margin-top: -4px;
}

.stream .stream-info .date {
  color: #9a9d9f;
  font-size: 80%;
}

.stream .stream-panel {
  margin-left: 55px;
}

.stream-small {
  margin: 10px 0;
}

.stream-small .label {
  padding: 2px 6px;
  margin-right: 2px;
}

/* Touch Spin */
.bootstrap-touchspin-postfix.input-group-addon {
  padding: inherit;
}

.bootstrap-touchspin-postfix .input-group-text {
  background-color: inherit;
  line-height: 1;
  border: none;
}

/* Code */
pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #eff2f3;
  border: 1px solid #96b900;
  border-radius: 2px;
}

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

.popover {
  z-index: 2060;
}

.sidebar-panel {
  width: 220px;
  background: #ebebed;
  padding: 10px 20px;
  position: absolute;
  right: 0;
  height: calc(100% - 62px);
}

.sidebar-panel .feed-element img.rounded-circle {
  width: 32px;
  height: 32px;
}

.sidebar-panel .feed-element,
.media-body,
.sidebar-panel p {
  font-size: 9px;
}

.sidebar-panel .feed-element {
  margin-top: 20px;
  padding-bottom: 0;
}

.sidebar-panel .list-group {
  margin-bottom: 10px;
}

.sidebar-panel .list-group .list-group-item {
  padding: 5px 0;
  font-size: 12px;
  border: 0;
}

.sidebar-content .wrapper,
.wrapper.sidebar-content {
  padding-right: 230px !important;
}

.body-small .sidebar-content .wrapper,
.body-small .wrapper.sidebar-content {
  padding-right: 20px !important;
}

#right-sidebar {
  background-color: #fff;
  border-left: 1px solid #e7eaec;
  border-top: 1px solid #e7eaec;
  overflow: hidden;
  position: fixed;
  top: 60px;
  width: 260px !important;
  z-index: 1009;
  bottom: 0;
  right: -260px;
}

#right-sidebar.sidebar-open {
  right: 0;
}

#right-sidebar.sidebar-open.sidebar-top {
  top: 0;
  border-top: none;
}

.sidebar-container ul.nav-tabs {
  border: none;
}

.sidebar-container ul.nav-tabs.navs-4 li {
  width: 25%;
}

.sidebar-container ul.nav-tabs.navs-3 li {
  width: 33.3333%;
}

.sidebar-container ul.nav-tabs.navs-2 li {
  width: 50%;
}

.sidebar-container ul.nav-tabs li {
  border: none;
}

.sidebar-container ul.nav-tabs li a {
  border: none;
  padding: 12px 10px;
  margin: 0;
  border-radius: 0;
  background: #2f4050;
  color: #fff;
  text-align: center;
  border-right: 1px solid #334556;
}

.sidebar-container ul.nav-tabs li.active a {
  border: none;
  background: #f9f9f9;
  color: #676a6c;
  font-weight: bold;
}

.sidebar-container .nav-tabs>li.active>a:hover,
.sidebar-container .nav-tabs>li.active>a:focus {
  border: none;
}

.sidebar-container ul.sidebar-list {
  margin: 0;
  padding: 0;
}

.sidebar-container ul.sidebar-list li {
  border-bottom: 1px solid #e7eaec;
  padding: 15px 20px;
  list-style: none;
  font-size: 12px;
}

.sidebar-container .sidebar-message:nth-child(2n + 2) {
  background: #f9f9f9;
}

.sidebar-container ul.sidebar-list li a {
  text-decoration: none;
  color: inherit;
}

.sidebar-container .sidebar-content {
  padding: 15px 20px;
  font-size: 12px;
}

.sidebar-container .sidebar-title {
  background: #f9f9f9;
  padding: 20px;
  border-bottom: 1px solid #e7eaec;
}

.sidebar-container .sidebar-title h3 {
  margin-bottom: 3px;
  padding-left: 2px;
}

.sidebar-container .tab-content h4 {
  margin-bottom: 5px;
}

.sidebar-container .sidebar-message>a>.float-left {
  margin-right: 10px;
}

.sidebar-container .sidebar-message>a {
  text-decoration: none;
  color: inherit;
}

.sidebar-container .sidebar-message {
  padding: 15px 20px;
}

.sidebar-container .sidebar-message .media-body {
  display: block;
  width: auto;
}

.sidebar-container .sidebar-message .message-avatar {
  height: 38px;
  width: 38px;
  border-radius: 50%;
}

.sidebar-container .setings-item {
  padding: 15px 20px;
  border-bottom: 1px solid #e7eaec;
}

body {
  font-family: "Nunito", sans-serif;
  background-color: #2f4050;
  font-size: 13px;
  color: #08304a;
  overflow-x: hidden;
}

html,
body {
  height: 100%;
}

/*  body.full-height-layout #wrapper,
body.full-height-layout #page-wrapper {
  height: 100%;
}  */

body.boxed-layout {
  background: url("patterns/shattered.png");
}

body.boxed-layout #wrapper {
  background-color: #2f4050;
  max-width: 1200px;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75);
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75);
}

.top-navigation.boxed-layout #wrapper,
.boxed-layout #wrapper.top-navigation {
  max-width: 1300px !important;
}

.block {
  display: block;
}

.clear {
  display: block;
  overflow: hidden;
}

a {
  cursor: pointer;
}

a:hover,
a:focus {
  text-decoration: none;
}

.border-bottom {
  border-bottom: 1px solid #e7eaec !important;
}

.font-bold {
  font-weight: 600;
}

.font-normal {
  font-weight: 400;
}

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

.font-italic {
  font-style: italic;
}

.b-r {
  border-right: 1px solid #e7eaec;
}

.hr-line-dashed {
  border-top: 1px dashed #e7eaec;
  color: #ffffff;
  background-color: #ffffff;
  height: 1px;
  margin: 20px 0;
}

.hr-line-solid {
  border-bottom: 1px solid #e7eaec;
  background-color: rgba(0, 0, 0, 0);
  border-style: solid !important;
  margin-top: 15px;
  margin-bottom: 15px;
}

video {
  width: 100% !important;
  height: auto !important;
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: 0;
  margin-left: 0;
}

/* GALLERY */
.gallery>.row>div {
  margin-bottom: 15px;
}

.fancybox img {
  margin-bottom: 5px;
  /* Only for demo */
  width: 24%;
}

/* Summernote text editor  */
.note-editor {
  height: auto !important;
}

.note-toolbar {
  background-color: rgba(0, 0, 0, 0.03);
}

.note-editor.fullscreen {
  z-index: 2050;
}

.note-editor.note-frame.fullscreen {
  z-index: 2020;
}

.note-editor.note-frame .note-editing-area .note-editable {
  color: #676a6c;
  padding: 15px;
}

.note-editor.note-frame {
  border: none;
}

.note-editor.panel {
  margin-bottom: 0;
}

.note-btn-group .note-btn {
  border: none;
}

/* Estilo para el contenido desplazable en los modales */
.scrollable-content {
  max-height: 52vh;
  overflow-y: hidden;
  transition: overflow-y 0.3s ease-in-out;
  overflow-y: auto;
}

.scrollable-content::-webkit-scrollbar {
  width: 8px;
}

.scrollable-content::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

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

.scrollable-content::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.scrollable-tooltip {
  max-height: 200px;
  width: 180px;
  overflow-y: auto;
}

/* MODAL */
.modal-content {
  background-clip: padding-box;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  outline: 0 none;
  position: relative;
  /* Máxima altura relativa a la ventana gráfica */
}

.modal-dialog {
  z-index: 1900;
}

.modal-body {
  padding: 20px 30px 30px 30px;
}

.inmodal .modal-body {
  background: #f8fafb;
}

.inmodal .modal-header {
  padding: 30px 15px;
  text-align: center;
  display: block;
}

.animated.modal.fade .modal-dialog {
  -webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}

.inmodal .modal-title {
  font-size: 26px;
}

.inmodal .modal-icon {
  font-size: 84px;
  color: #e2e3e3;
}

.modal-footer {
  margin-top: 0;
}

/* WRAPPERS */
#wrapper {
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
}

.wrapper {
  padding: 0 20px;
}

.wrapper-content {
  padding: 20px 10px 40px;
}

#modal-form .wrapper-content {
  padding: 20px 10px 40px;
  width: 100%;
  /* Ocupa todo el ancho disponible */
  height: 100vh;
  /* Ocupa toda la altura de la pantalla */
  box-sizing: border-box;
  /* Incluir el padding en el tamaño total */
}

#page-wrapper {
  padding: 0;
  min-height: 100vh;
  position: relative !important;
  flex-shrink: 1;
  width: calc(100% - 150px);
}

@media (min-width: 768px) {
  #page-wrapper {
    position: relative !important;
  }
}

.title-action {
  text-align: right;
  padding-top: 30px;
}

.ibox-content h1,
.ibox-content h2,
.ibox-content h3,
.ibox-content h4,
.ibox-content h5,
.ibox-title h1,
.ibox-title h2,
.ibox-title h3,
.ibox-title h4,
.ibox-title h5 {
  margin-top: 5px;
}

ul.unstyled,
ol.unstyled {
  list-style: none outside none;
  margin-left: 0;
}

.big-icon {
  font-size: 160px !important;
  color: #e5e6e7;
}

/* FOOTER */
.footer {
  background: none repeat scroll 0 0 white;
  border-top: 1px solid #e7eaec;
  bottom: 0;
  left: 0;
  padding: 10px 20px;
  position: absolute;
  right: 0;
}

.footer.fixed_full {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 10px 20px;
  background: white;
  border-top: 1px solid #e7eaec;
}

.footer.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 10px 20px;
  background: white;
  border-top: 1px solid #e7eaec;
  margin-left: 220px;
}

body.mini-navbar .footer.fixed,
body.body-small.mini-navbar .footer.fixed {
  margin: 0 0 0 70px;
}

body.mini-navbar.fixed-sidebar .footer.fixed {
  margin: 0;
}

body.mini-navbar.canvas-menu .footer.fixed,
body.canvas-menu .footer.fixed {
  margin: 0 !important;
}

body.fixed-sidebar.body-small.mini-navbar .footer.fixed {
  margin: 0 0 0 220px;
}

body.body-small .footer.fixed {
  margin-left: 0;
}

/* PANELS */
.panel-title>.small,
.panel-title>.small>a,
.panel-title>a,
.panel-title>small,
.panel-title>small>a {
  color: inherit;
}

.page-heading {
  border-top: 0;
  padding: 0 10px 20px 10px;
}

.panel-heading h1,
.panel-heading h2 {
  margin-bottom: 5px;
}

.panel-body {
  padding: 15px;
}

/* Bootstrap 3.3.x panels */
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
}

.panel-heading {
  color: white;
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.panel-footer {
  padding: 10px 15px;
  border-top: 1px solid #e7eaec;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.panel-default>.panel-heading {
  color: #333;
  background-color: #f5f5f5;
  border-color: #e7eaec;
}

.panel-default {
  border-color: #e7eaec;
}

.panel-group .panel+.panel {
  margin-top: 5px;
}

.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}

/* TABLES */
.table td {
  vertical-align: middle !important;
  /* centra contenido */
}

@media (max-width: 480px) {
  .ibox-note {
    display: none;
  }
}


.table>caption+thead>tr:first-child>td,
.table>caption+thead>tr:first-child>th,
.table>colgroup+thead>tr:first-child>td,
.table>colgroup+thead>tr:first-child>th,
.table>thead:first-child>tr:first-child>td,
.table>thead:first-child>tr:first-child>th {
  border-top: 0;
}

.table-bordered {
  border: 1px solid #ebebeb;
}

.table-bordered>thead>tr>th,
.table-bordered>thead>tr>td {
  background-color: #f5f5f6;
  border-bottom-width: 1px;
}

.table-bordered>thead>tr>th,
.table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>th,
.table-bordered>thead>tr>td,
.table-bordered>tbody>tr>td,
.table-bordered>tfoot>tr>td {
  border: 1px solid #e7e7e7;
}

.table>thead>tr>th {
  border-bottom: 1px solid #dddddd;
  vertical-align: bottom;
}

.table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
  border-top: 1px solid #e7eaec;
  line-height: 1.42857;
  padding: 8px;
  vertical-align: top;
}

/* PANELS */
.panel.blank-panel {
  background: none;
  margin: 0;
}

.blank-panel .panel-heading {
  padding-bottom: 0;
}

.nav-tabs>li>a {
  color: #a7b1c2;
  font-weight: 600;
  padding: 10px 20px 10px 25px;
}

.nav-tabs>li>a:hover,
.nav-tabs>li>a:focus {
  color: #676a6c;
}

.ui-tab .tab-content {
  padding: 20px 0;
}

/* GLOBAL  */
.no-padding {
  padding: 0 !important;
}

.no-borders {
  border: none !important;
}

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

.no-top-border {
  border-top: 0 !important;
}

.ibox-content.text-box {
  padding-bottom: 0;
  padding-top: 15px;
}

.border-left-right {
  border-left: 1px solid #e7eaec;
  border-right: 1px solid #e7eaec;
}

.border-top-bottom {
  border-top: 1px solid #e7eaec;
  border-bottom: 1px solid #e7eaec;
}

.border-left {
  border-left: 1px solid #e7eaec;
}

.border-right {
  border-right: 1px solid #e7eaec;
}

.border-top {
  border-top: 1px solid #e7eaec;
}

.border-bottom {
  border-bottom: 1px solid #e7eaec;
}

.border-size-sm {
  border-width: 3px;
}

.border-size-md {
  border-width: 6px;
}

.border-size-lg {
  border-width: 9px;
}

.border-size-xl {
  border-width: 12px;
}

.full-width {
  width: 100% !important;
}

.link-block {
  font-size: 12px;
  padding: 10px;
}

.nav.navbar-top-links .link-block a {
  font-size: 12px;
}

.navbar-top-links {
  text-align: right;
}

.link-block a {
  font-size: 10px;
  color: inherit;
}

body.mini-navbar .branding {
  display: none;
}

img.circle-border {
  border: 6px solid #ffffff;
  border-radius: 50%;
}

.branding {
  float: left;
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  padding: 17px 20px;
  text-align: center;
  background-color: #96b900;
}

.login-panel {
  margin-top: 25%;
}

.icons-box h3 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.icons-box .infont a i {
  font-size: 25px;
  display: block;
  color: #676a6c;
}

.icons-box .infont a {
  color: #a6a8a9;
}

.icons-box .infont a {
  padding: 10px;
  margin: 1px;
  display: block;
}

.ui-draggable .ibox-title {
  cursor: move;
}

.breadcrumb {
  background-color: #ffffff;
  padding: 0;
  margin-bottom: 0;
}

.breadcrumb>li a {
  color: inherit;
  font-weight: 600;
}

.breadcrumb>.active {
  color: inherit;
}

code {
  background-color: #f9f2f4;
  border-radius: 4px;
  color: #ca4440;
  font-size: 90%;
  padding: 2px 4px;
  white-space: nowrap;
}



.ibox {
  background-color: var(--ibox-bg);
  border-radius: var(--ibox-radius);
  box-shadow: var(--ibox-shadow);
  margin-bottom: 24px;
  margin-top: 0;
  padding: 0;
  clear: both;
  border: 1px solid var(--ibox-border);
  transition: all 0.3s ease;
}

.ibox.collapsed .ibox-content {
  display: none;
}

.ibox.collapsed .fa.fa-chevron-up:before {
  content: "\f078";
}

.ibox.collapsed .fa.fa-chevron-down:before {
  content: "\f077";
}

.ibox:after,
.ibox:before {
  display: table;
  content: " ";
}

.ibox-title {
  background-color: var(--ibox-bg);
  border-color: var(--ibox-border);
  border-style: solid solid none;
  border-width: 1px;
  color: var(--ibox-title-text);
  margin-bottom: 0;
  padding: 15px 20px;
  /* Padding simplificado y equilibrado */
  min-height: 50px;
  position: relative;
  clear: both;
  border-radius: var(--ibox-radius) var(--ibox-radius) 0 0;
  -webkit-border-radius: var(--ibox-radius) var(--ibox-radius) 0 0;
  -moz-border-radius: var(--ibox-radius) var(--ibox-radius) 0 0;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ibox-content {
  background-color: var(--ibox-bg);
  color: var(--ibox-body-text);
  padding: 20px;
  border-color: var(--ibox-border);
  border-image: none;
  border-style: solid;
  border-width: 1px;
  border-radius: 0 0 var(--ibox-radius) var(--ibox-radius);
  line-height: 1.6;
}

.ibox-content:last-child {
  border-radius: 0 0 var(--ibox-radius) var(--ibox-radius);
}

.ibox-footer {
  color: #718096;
  border-top: 1px solid var(--ibox-border);
  font-size: 85%;
  background: #f9fafb;
  padding: 12px 20px;
  border-radius: 0 0 var(--ibox-radius) var(--ibox-radius);
}

.ibox-tools {
  display: block;
  float: right;
  margin-top: 0;
  position: relative;
}

.ibox-tools a {
  cursor: pointer;
  margin-left: 5px;
  color: #c4c4c4;
  text-decoration: none;
}

.ibox-tools a:hover {
  color: var(--ibox-body-text);
}

table.table-mail tr td {
  padding: 12px;
}

.table-mail .check-mail {
  padding-left: 20px;
}

.table-mail .mail-date {
  padding-right: 20px;
}

.star-mail,
.check-mail {
  width: 40px;
}

.unread td a,
.unread td {
  font-weight: 600;
  color: inherit;
}

.read td a,
.read td {
  font-weight: normal;
  color: inherit;
}

.unread td {
  background-color: #f9f8f8;
}

.unread {
  border-left: 5px solid #96b900;
  /* Color para notificaciones no leídas */
}

.read {
  border-left: 5px solid #f9f8f8;
  /* Color para notificaciones leídas */
}

.ibox-content {
  clear: both;
}

.ibox-heading {
  background-color: #f3f6fb;
  border-bottom: none;
}

.ibox-heading h3 {
  font-weight: 200;
  font-size: 24px;
}

.ibox-title h5 {
  display: inline-block;
  font-size: 14px;
  margin: 0 0 7px;
  padding: 0;
  text-overflow: ellipsis;
  float: none;
}

.ibox-title .label {
  margin-left: 4px;
}

.ibox-title .pull-right {
  position: absolute;
  right: 15px;
  top: 15px;
}

.ibox-tools {
  display: block;
  float: none;
  margin-top: 0;
  position: absolute;
  right: 15px;
  padding: 0;
  text-align: right;
}

/* Estilo base para las anclas en ibox-tools */
.ibox-tools a {
  cursor: pointer;
  margin-left: 5px;
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #555 !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* Hover: solo cambio de color */
.ibox-tools a:hover {
  color: #1a73e8 !important;
  /* azul agradable en hover */
  text-decoration: underline;
}

/* Botón primario: mantener fondo, mejorar texto */
.ibox-tools a.btn-primary {
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #fff !important;
}

/* Dropdown items: tipografía más clara */
.ibox-tools .dropdown-menu>li>a {
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #444 !important;
  text-decoration: none;
}

.ibox-tools .dropdown-menu>li>a:hover {
  color: #444 !important;
}


.dropdown-item {
  width: auto;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: inherit;
  color: inherit;
}

/* BACKGROUNDS */
.gray-bg,
.bg-muted {
  background-color: #f3f3f4;
}

.white-bg {
  background-color: #ffffff;
}

.blue-bg,
.bg-success {
  background-color: #1c84c6 !important;
  color: #ffffff;
}

.navy-bg,
.bg-primary {
  background-color: #96b900 !important;
  color: #ffffff;
}

.lazur-bg,
.bg-info {
  background-color: #23c6c8 !important;
  color: #ffffff;
}

.greenGb-bg,
.bg-infobg {
  background-color: #ffffff !important;
  color: #000;
  /*border: 0.25px solid rgba(0, 0, 0, 0.1);*/
}

.greenGb-bg:hover,
.bg-infobg:hover {
  background-color: rgba(145, 185, 0, 0.7) !important;
  color: rgba(255, 255, 255, 1);
}

.yellow-bg,
.bg-warning {
  background-color: #f8ac59 !important;
  color: #ffffff;
}

.red-bg,
.bg-danger {
  background-color: #ed5565 !important;
  color: #ffffff;
}

.black-bg {
  background-color: #262626;
}

.panel-primary {
  border-color: #96b900;
}

.panel-primary>.panel-heading {
  background-color: #96b900;
  border-color: #96b900;
}

.panel-success {
  border-color: #1c84c6;
}

.panel-success>.panel-heading {
  background-color: #1c84c6;
  border-color: #1c84c6;
  color: #ffffff;
}

.panel-info {
  border-color: #23c6c8;
}

.panel-info>.panel-heading {
  background-color: #23c6c8;
  border-color: #23c6c8;
  color: #ffffff;
}

.panel-warning {
  border-color: #f8ac59;
}

.panel-warning>.panel-heading {
  background-color: #f8ac59;
  border-color: #f8ac59;
  color: #ffffff;
}

.panel-danger {
  border-color: #ed5565;
}

.panel-danger>.panel-heading {
  background-color: #ed5565;
  border-color: #ed5565;
  color: #ffffff;
}

.progress-bar {
  background-color: #96b900;
}

.progress-small,
.progress-small .progress-bar {
  height: 10px;
}

.progress-small,
.progress-mini {
  margin-top: 5px;
}

.progress-mini,
.progress-mini .progress-bar {
  height: 5px;
  margin-bottom: 0;
}

.progress-bar-navy-light {
  background-color: #3dc7ab;
}

.progress-bar-success {
  background-color: #1c84c6;
}

.progress-bar-info {
  background-color: #23c6c8;
}

.progress-bar-warning {
  background-color: #f8ac59;
}

.progress-bar-danger {
  background-color: #ed5565;
}

.panel-title {
  font-size: inherit;
}

.jumbotron {
  border-radius: 6px;
  padding: 40px;
}

.jumbotron h1 {
  margin-top: 0;
}

/* COLORS */
.text-navy {
  color: #96b900 !important;
}

.text-primary {
  color: inherit !important;
}

.text-success {
  color: #1c84c6 !important;
}

.text-info {
  color: #23c6c8 !important;
}

.text-warning {
  color: #f8ac59 !important;
}

.text-danger {
  color: #ed5565 !important;
}

.text-muted {
  color: #888888 !important;
}

.text-white {
  color: #ffffff;
}

.simple_tag {
  background-color: #f3f3f4;
  border: 1px solid #e7eaec;
  border-radius: 2px;
  color: inherit;
  font-size: 10px;
  margin-right: 5px;
  margin-top: 5px;
  padding: 5px 12px;
  display: inline-block;
}

.img-shadow {
  -webkit-box-shadow: 0 0 3px 0 #919191;
  -moz-box-shadow: 0 0 3px 0 #919191;
  box-shadow: 0 0 3px 0 #919191;
}

/* For handle diferent bg color in AngularJS version */
.dashboards\.dashboard_2 nav.navbar,
.dashboards\.dashboard_3 nav.navbar,
.mailbox\.inbox nav.navbar,
.mailbox\.email_view nav.navbar,
.mailbox\.email_compose nav.navbar,
.dashboards\.dashboard_4_1 nav.navbar,
.metrics nav.navbar,
.metrics\.index nav.navbar,
.dashboards\.dashboard_5 nav.navbar {
  background: #fff;
}

/* For handle diferent bg color in MVC version */
.Dashboard_2 .navbar.navbar-static-top,
.Dashboard_3 .navbar.navbar-static-top,
.Dashboard_4_1 .navbar.navbar-static-top,
.ComposeEmail .navbar.navbar-static-top,
.EmailView .navbar.navbar-static-top,
.Inbox .navbar.navbar-static-top,
.Metrics .navbar.navbar-static-top,
.Dashboard_5 .navbar.navbar-static-top {
  background: #fff;
}

a.close-canvas-menu {
  position: absolute;
  top: 10px;
  right: 15px;
  z-index: 1011;
  color: #a7b1c2;
}

a.close-canvas-menu:hover {
  color: #fff;
}

.close-canvas-menu {
  display: none;
}

.canvas-menu .close-canvas-menu {
  display: block;
}

.light-navbar .navbar.navbar-static-top {
  background-color: #fff;
}

/* FULL HEIGHT */
.full-height {
  height: 100%;
}

.fh-breadcrumb {
  height: calc(100% - 196px);
  margin: 0 -15px;
  position: relative;
}

.fh-no-breadcrumb {
  height: calc(100% - 99px);
  margin: 0 -15px;
  position: relative;
}

.fh-column {
  background: #fff;
  height: 100%;
  width: 240px;
  float: left;
}

.modal-backdrop {
  z-index: 2040 !important;
}

.modal {
  z-index: 2050 !important;
}

.spiner-example {
  height: 200px;
  padding-top: 70px;
}

legend {
  font-size: 1rem;
}

/* MARGINS & PADDINGS */
.p-xxs {
  padding: 5px;
}

.p-xs {
  padding: 10px;
}

.p-sm {
  padding: 15px;
}

.p-m {
  padding: 20px;
}

.p-md {
  padding: 25px;
}

.p-lg {
  padding: 30px;
}

.p-xl {
  padding: 40px;
}

.p-w-xs {
  padding: 0 10px;
}

.p-w-sm {
  padding: 0 15px;
}

.p-w-m {
  padding: 0 20px;
}

.p-w-md {
  padding: 0 25px;
}

.p-w-lg {
  padding: 0 30px;
}

.p-w-xl {
  padding: 0 40px;
}

.p-h-xs {
  padding: 10px 0;
}

.p-h-sm {
  padding: 15px 0;
}

.p-h-m {
  padding: 20px 0;
}

.p-h-md {
  padding: 25px 0;
}

.p-h-lg {
  padding: 30px 0;
}

.p-h-xl {
  padding: 40px 0;
}

.m-xxs {
  margin: 2px 4px;
}

.m {
  margin: 15px;
}

.m-xs {
  margin: 5px;
}

.m-sm {
  margin: 10px;
}

.m-md {
  margin: 20px;
}

.m-lg {
  margin: 30px;
}

.m-xl {
  margin: 50px;
}

.m-n {
  margin: 0 !important;
}

.m-l-none {
  margin-left: 0;
}

.m-l-xs {
  margin-left: 5px;
}

.m-l-sm {
  margin-left: 10px;
}

.m-l {
  margin-left: 15px;
}

.m-l-md {
  margin-left: 20px;
}

.m-l-lg {
  margin-left: 30px;
}

.m-l-xl {
  margin-left: 40px;
}

.m-l-n-xxs {
  margin-left: -1px;
}

.m-l-n-xs {
  margin-left: -5px;
}

.m-l-n-sm {
  margin-left: -10px;
}

.m-l-n {
  margin-left: -15px;
}

.m-l-n-md {
  margin-left: -20px;
}

.m-l-n-lg {
  margin-left: -30px;
}

.m-l-n-xl {
  margin-left: -40px;
}

.m-t-none {
  margin-top: 0;
}

.m-t-xxs {
  margin-top: 1px;
}

.m-t-xs {
  margin-top: 5px;
}

.m-t-sm {
  margin-top: 10px;
}

.m-t {
  margin-top: 15px;
}

.m-t-md {
  margin-top: 20px;
}

.m-t-lg {
  margin-top: 30px;
}

.m-t-xl {
  margin-top: 40px;
}

.m-t-n-xxs {
  margin-top: -1px;
}

.m-t-n-xs {
  margin-top: -5px;
}

.m-t-n-sm {
  margin-top: -10px;
}

.m-t-n {
  margin-top: -15px;
}

.m-t-n-md {
  margin-top: -20px;
}

.m-t-n-lg {
  margin-top: -30px;
}

.m-t-n-xl {
  margin-top: -40px;
}

.m-r-none {
  margin-right: 0;
}

.m-r-xxs {
  margin-right: 1px;
}

.m-r-xs {
  margin-right: 5px;
}

.m-r-sm {
  margin-right: 10px;
}

.m-r {
  margin-right: 15px;
}

.m-r-md {
  margin-right: 20px;
}

.m-r-lg {
  margin-right: 30px;
}

.m-r-xl {
  margin-right: 40px;
}

.m-r-n-xxs {
  margin-right: -1px;
}

.m-r-n-xs {
  margin-right: -5px;
}

.m-r-n-sm {
  margin-right: -10px;
}

.m-r-n {
  margin-right: -15px;
}

.m-r-n-md {
  margin-right: -20px;
}

.m-r-n-lg {
  margin-right: -30px;
}

.m-r-n-xl {
  margin-right: -40px;
}

.m-b-none {
  margin-bottom: 0;
}

.m-b-xxs {
  margin-bottom: 1px;
}

.m-b-xs {
  margin-bottom: 5px;
}

.m-b-sm {
  margin-bottom: 10px;
}

.m-b {
  margin-bottom: 15px;
}

.m-b-md {
  margin-bottom: 20px;
}

.m-b-lg {
  margin-bottom: 30px;
}

.m-b-xl {
  margin-bottom: 40px;
}

.m-b-n-xxs {
  margin-bottom: -1px;
}

.m-b-n-xs {
  margin-bottom: -5px;
}

.m-b-n-sm {
  margin-bottom: -10px;
}

.m-b-n {
  margin-bottom: -15px;
}

.m-b-n-md {
  margin-bottom: -20px;
}

.m-b-n-lg {
  margin-bottom: -30px;
}

.m-b-n-xl {
  margin-bottom: -40px;
}

.space-15 {
  margin: 15px 0;
}

.space-20 {
  margin: 20px 0;
}

.space-25 {
  margin: 25px 0;
}

.space-30 {
  margin: 30px 0;
}

.img-sm {
  width: 32px;
  height: 32px;
}

.img-md {
  width: 64px;
  height: 64px;
}

.img-lg {
  width: 96px;
  height: 96px;
}

.b-r-xs {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
}

.b-r-sm {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.b-r-md {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}

.b-r-lg {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}

.b-r-xl {
  -webkit-border-radius: 24px;
  -moz-border-radius: 24px;
  border-radius: 24px;
}

.fullscreen-ibox-mode .animated {
  animation: none;
}

body.fullscreen-ibox-mode {
  overflow-y: hidden;
}

.ibox.fullscreen {
  z-index: 2030;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  margin-bottom: 0;
}

.ibox.fullscreen .collapse-link {
  display: none;
}

.ibox.fullscreen .ibox-content {
  min-height: calc(100% - 48px);
}

body.modal-open {
  padding-right: inherit !important;
}

_::-webkit-full-page-media,
_:future,
:root body.modal-open .wrapper-content.animated {
  -webkit-animation: none;
  -ms-animation-nam: none;
  animation: none;
}

body.modal-open .animated {
  animation-fill-mode: initial;
  z-index: inherit;
}

/* Show profile dropdown on fixed sidebar */
body.mini-navbar.fixed-sidebar .profile-element,
.block {
  display: block !important;
}

body.mini-navbar.fixed-sidebar .nav-header {
  padding: 33px 25px;
}

body.mini-navbar.fixed-sidebar .logo-element {
  display: none;
}

.fullscreen-video .animated {
  animation: none;
}

.list-inline>li {
  display: inline-block;
}

.custom-file-label {
  padding: 0.5rem 0.75rem;
}

.custom-file-label::after {
  padding: 0.5rem 0.75rem;
}

/* SEARCH PAGE */
.search-form {
  margin-top: 10px;
}

.search-result h3 {
  margin-bottom: 0;
  color: #1e0fbe;
}

.search-result .search-link {
  color: #006621;
}

.search-result p {
  font-size: 12px;
  margin-top: 5px;
}

/* CONTACTS */
.contact-box {
  background-color: #ffffff;
  border: 1px solid #e7eaec;
  padding: 20px;
  margin-bottom: 20px;
}

.contact-box>a {
  color: inherit;
}

.contact-box.center-version {
  border: 1px solid #e7eaec;
  padding: 0;
}

.contact-box.center-version>a {
  display: block;
  background-color: #ffffff;
  padding: 20px;
  text-align: center;
}

.contact-box.center-version>a img {
  width: 80px;
  height: 80px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.contact-box.center-version address {
  margin-bottom: 0;
}

.contact-box .contact-box-footer {
  text-align: center;
  background-color: #ffffff;
  border-top: 1px solid #e7eaec;
  padding: 15px 20px;
}

/* INVOICE */
.invoice-table tbody>tr>td:last-child,
.invoice-table tbody>tr>td:nth-child(4),
.invoice-table tbody>tr>td:nth-child(3),
.invoice-table tbody>tr>td:nth-child(2) {
  text-align: right;
}

.invoice-table thead>tr>th:last-child,
.invoice-table thead>tr>th:nth-child(4),
.invoice-table thead>tr>th:nth-child(3),
.invoice-table thead>tr>th:nth-child(2) {
  text-align: right;
}

.invoice-total>tbody>tr>td:first-child {
  text-align: right;
}

.invoice-total>tbody>tr>td {
  border: 0 none;
}

.invoice-total>tbody>tr>td:last-child {
  border-bottom: 1px solid #dddddd;
  text-align: right;
  width: 15%;
}

/* ERROR & LOGIN & LOCKSCREEN*/
.middle-box {
  max-width: 400px;
  z-index: 100;
  margin: 0 auto;
  padding-top: 40px;
}

.lockscreen.middle-box {
  width: 200px;
  padding-top: 110px;
}

.loginscreen.middle-box {
  width: 300px;
}

.loginColumns {
  max-width: 800px;
  margin: 0 auto;
  padding: 100px 20px 20px 20px;
}

.passwordBox {
  max-width: 460px;
  margin: 0 auto;
  padding: 100px 20px 20px 20px;
}

.logo-name {
  color: #e6e6e6;
  font-size: 180px;
  font-weight: 800;
  letter-spacing: -10px;
  margin-bottom: 0;
}

.middle-box h1 {
  font-size: 170px;
}

.wrapper .middle-box {
  margin-top: 140px;
}

.lock-word {
  z-index: 10;
  position: absolute;
  top: 110px;
  left: 50%;
  margin-left: -470px;
}

.lock-word span {
  font-size: 100px;
  font-weight: 600;
  color: #e9e9e9;
  display: inline-block;
}

.lock-word .first-word {
  margin-right: 160px;
}

/* DASBOARD */
.dashboard-header {
  border-top: 0;
  padding: 20px 20px 20px 20px;
}

.dashboard-header h2 {
  margin-top: 10px;
  font-size: 26px;
}

.fist-item {
  border-top: none !important;
}

.statistic-box {
  margin-top: 40px;
}

.dashboard-header .list-group-item span.label {
  margin-right: 10px;
}

.list-group.clear-list .list-group-item {
  border-top: 1px solid #e7eaec;
  border-bottom: 0;
  border-right: 0;
  border-left: 0;
  padding: 10px 0;
}

ul.clear-list:first-child {
  border-top: none !important;
}

/* Intimeline */
.timeline-item .date i {
  position: absolute;
  top: 0;
  right: 0;
  padding: 5px;
  width: 30px;
  text-align: center;
  border-top: 1px solid #e7eaec;
  border-bottom: 1px solid #e7eaec;
  border-left: 1px solid #e7eaec;
  background: #f8f8f8;
}

.timeline-item .date {
  text-align: right;
  width: 110px;
  position: relative;
  padding-top: 30px;
}

.timeline-item .content {
  border-left: 1px solid #e7eaec;
  border-top: 1px solid #e7eaec;
  padding-top: 10px;
  min-height: 100px;
}

.timeline-item .content:hover {
  background: #f6f6f6;
}

/* PIN BOARD */
ul.notes li,
ul.tag-list li {
  list-style: none;
}

ul.notes li h4 {
  margin-top: 20px;
  font-size: 16px;
}

ul.notes li div {
  text-decoration: none;
  color: #000;
  background: #ffc;
  display: block;
  height: 140px;
  width: 140px;
  padding: 1em;
  position: relative;
}

ul.notes li div small {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 10px;
}

ul.notes li div a {
  position: absolute;
  right: 10px;
  bottom: 10px;
  color: inherit;
}

ul.notes li {
  margin: 10px 40px 50px 0;
  float: left;
}

ul.notes li div p {
  font-size: 12px;
}

ul.notes li div {
  text-decoration: none;
  color: #000;
  background: #ffc;
  display: block;
  height: 140px;
  width: 140px;
  padding: 1em;
  /* Firefox */
  -moz-box-shadow: 5px 5px 2px #212121;
  /* Safari+Chrome */
  -webkit-box-shadow: 5px 5px 2px rgba(33, 33, 33, 0.7);
  /* Opera */
  box-shadow: 5px 5px 2px rgba(33, 33, 33, 0.7);
}

ul.notes li div {
  -webkit-transform: rotate(-6deg);
  -o-transform: rotate(-6deg);
  -moz-transform: rotate(-6deg);
  -ms-transform: rotate(-6deg);
  transform: rotate(-6deg);
}

ul.notes li:nth-child(even) div {
  -o-transform: rotate(4deg);
  -webkit-transform: rotate(4deg);
  -moz-transform: rotate(4deg);
  -ms-transform: rotate(4deg);
  transform: rotate(4deg);
  position: relative;
  top: 5px;
}

ul.notes li:nth-child(3n) div {
  -o-transform: rotate(-3deg);
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  position: relative;
  top: -5px;
}

ul.notes li:nth-child(5n) div {
  -o-transform: rotate(5deg);
  -webkit-transform: rotate(5deg);
  -moz-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  position: relative;
  top: -10px;
}

ul.notes li div:hover,
ul.notes li div:focus {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  position: relative;
  z-index: 5;
}

ul.notes li div {
  text-decoration: none;
  color: #000;
  background: #ffc;
  display: block;
  height: 210px;
  width: 210px;
  padding: 1em;
  -moz-box-shadow: 5px 5px 7px #212121;
  -webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
  box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
  -moz-transition: -moz-transform 0.15s linear;
  -o-transition: -o-transform 0.15s linear;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
}

/* FILE MANAGER */
.file-box {
  float: left;
  width: 150px;
}

.file-manager h5 {
  text-transform: uppercase;
}

.file-manager {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

.folder-list li a {
  color: #666666;
  display: block;
  padding: 5px 0;
}

.folder-list li {
  border-bottom: 1px solid #e7eaec;
  display: block;
}

.folder-list li i {
  margin-right: 8px;
  color: #3d4d5d;
}

.category-list li a {
  color: #666666;
  display: block;
  padding: 5px 0;
}

.category-list li {
  display: block;
}

.category-list li i {
  margin-right: 8px;
  color: #3d4d5d;
}

.category-list li a .text-navy {
  color: #96b900;
}

.category-list li a .text-primary {
  color: #1c84c6;
}

.category-list li a .text-info {
  color: #23c6c8;
}

.category-list li a .text-danger {
  color: #ef5352;
}

.category-list li a .text-warning {
  color: #f8ac59;
}

.file-manager h5.tag-title {
  margin-top: 20px;
}

.tag-list li {
  float: left;
}

.tag-list li a {
  font-size: 10px;
  background-color: #f3f3f4;
  padding: 5px 12px;
  color: inherit;
  border-radius: 2px;
  border: 1px solid #e7eaec;
  margin-right: 5px;
  margin-top: 5px;
  display: block;
}

.file {
  border: 1px solid #e7eaec;
  padding: 0;
  background-color: #ffffff;
  position: relative;
  margin-bottom: 20px;
  margin-right: 20px;
}

.file-manager .hr-line-dashed {
  margin: 15px 0;
}

.file .icon,
.file .image {
  height: 100px;
  overflow: hidden;
}

.file .icon {
  padding: 15px 10px;
  text-align: center;
}

.file-control {
  color: inherit;
  font-size: 11px;
  margin-right: 10px;
}

.file-control.active {
  text-decoration: underline;
}

.file .icon i {
  font-size: 70px;
  color: #dadada;
}

.file .file-name {
  padding: 10px;
  background-color: #f8f8f8;
  border-top: 1px solid #e7eaec;
}

.file-name small {
  color: #676a6c;
}

.corner {
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  line-height: 0;
  border: 0.6em solid transparent;
  border-right: 0.6em solid #f1f1f1;
  border-bottom: 0.6em solid #f1f1f1;
  right: 0em;
  bottom: 0em;
}

a.compose-mail {
  padding: 8px 10px;
}

.mail-search {
  max-width: 300px;
}

/* PROFILE */
.profile-content {
  border-top: none !important;
}

.profile-stats {
  margin-right: 10px;
}

.profile-image {
  width: 120px;
  float: left;
}

.profile-image img {
  width: 96px;
  height: 96px;
}

.profile-info {
  margin-left: 120px;
}

.feed-activity-list .feed-element {
  border-bottom: 1px solid #e7eaec;
}

.feed-element:first-child {
  margin-top: 0;
}

.feed-element {
  padding-bottom: 15px;
}

.feed-element,
.feed-element .media {
  margin-top: 15px;
}

.feed-element,
.media-body {
  overflow: hidden;
}

.feed-element>a img {
  margin-right: 10px;
}

.dropdown-messages-box {
  display: flex;
  width: 100%;
}

.feed-element img.rounded-circle,
.dropdown-messages-box img.rounded-circle {
  width: 38px;
  height: 38px;
}

.feed-element .well {
  border: 1px solid #e7eaec;
  box-shadow: none;
  margin-top: 10px;
  margin-bottom: 5px;
  padding: 10px 20px;
  font-size: 11px;
  line-height: 16px;
}

.feed-element .actions {
  margin-top: 10px;
}

.feed-element .photos {
  margin: 10px 0;
}

.dropdown-messages-box .dropdown-item:focus,
.dropdown-messages-box .dropdown-item:hover {
  background-color: inherit;
}

.feed-photo {
  max-height: 180px;
  border-radius: 4px;
  overflow: hidden;
  margin-right: 10px;
  margin-bottom: 10px;
}

.file-list li {
  padding: 5px 10px;
  font-size: 11px;
  border-radius: 2px;
  border: 1px solid #e7eaec;
  margin-bottom: 5px;
}

.file-list li a {
  color: inherit;
}

.file-list li a:hover {
  color: #96b900;
}

.user-friends img {
  width: 42px;
  height: 42px;
  margin-bottom: 5px;
  margin-right: 5px;
}

/* MAILBOX */
.mail-box {
  background-color: #ffffff;
  border: 1px solid #e7eaec;
  border-top: 0;
  padding: 0;
  margin-bottom: 20px;
}

.mail-box-header {
  background-color: #ffffff;
  border: 1px solid #e7eaec;
  border-bottom: 0;
  padding: 30px 20px 20px 20px;
}

.mail-box-header h2 {
  margin-top: 0;
}

.mailbox-content .tag-list li a {
  background: #ffffff;
}

.mail-body {
  border-top: 1px solid #e7eaec;
  padding: 20px;
}

.mail-text {
  border-top: 1px solid #e7eaec;
}

.mail-text .note-toolbar {
  padding: 10px 15px;
}

.mail-body .form-group {
  margin-bottom: 5px;
}

.mail-text .note-editor .note-toolbar {
  background-color: #f9f8f8;
}

.mail-attachment {
  border-top: 1px solid #e7eaec;
  padding: 20px;
  font-size: 12px;
}

.mailbox-content {
  background: none;
  border: none;
  padding: 10px;
}

.mail-ontact {
  width: 23%;
}

/* PROJECTS */
.project-people,
.project-actions {
  text-align: right;
  vertical-align: middle;
}

dd.project-people {
  text-align: left;
  margin-top: 5px;
}

.project-people img {
  width: 32px;
  height: 32px;
}

.project-title a {
  font-size: 14px;
  color: #676a6c;
  font-weight: 600;
}

.project-list table tr td {
  border-top: none;
  border-bottom: 1px solid #e7eaec;
  padding: 15px 10px;
  vertical-align: middle;
}

.project-manager .tag-list li a {
  font-size: 10px;
  background-color: white;
  padding: 5px 12px;
  color: inherit;
  border-radius: 2px;
  border: 1px solid #e7eaec;
  margin-right: 5px;
  margin-top: 5px;
  display: block;
}

.project-files li a {
  font-size: 11px;
  color: #676a6c;
  margin-left: 10px;
  line-height: 22px;
}

/* FAQ */
.faq-item {
  padding: 20px;
  margin-bottom: 2px;
  background: #fff;
}

.faq-question {
  font-size: 18px;
  font-weight: 600;
  color: #96b900;
  display: block;
}

.faq-question:hover {
  color: #179d82;
}

.faq-answer {
  margin-top: 10px;
  background: #f3f3f4;
  border: 1px solid #e7eaec;
  border-radius: 3px;
  padding: 15px;
}

.faq-item .tag-item {
  background: #f3f3f4;
  padding: 2px 6px;
  font-size: 10px;
  text-transform: uppercase;
}

/* Chat view */
.message-input {
  height: 90px !important;
}

.chat-avatar {
  width: 36px;
  height: 36px;
  float: left;
  margin-right: 10px;
}

.chat-user-name {
  padding: 10px;
}

.chat-user {
  padding: 8px 10px;
  border-bottom: 1px solid #e7eaec;
}

.chat-user a {
  color: inherit;
}

.chat-view {
  z-index: 20012;
}

.chat-users,
.chat-statistic {
  margin-left: -30px;
}

@media (max-width: 992px) {

  .chat-users,
  .chat-statistic {
    margin-left: 0;
  }
}

.chat-view .ibox-content {
  padding: 0;
}

.chat-message {
  padding: 10px 20px;
}

.message-avatar {
  height: 48px;
  width: 48px;
  border: 1px solid #e7eaec;
  border-radius: 4px;
  margin-top: 1px;
}

.chat-discussion .chat-message.left .message-avatar {
  float: left;
  margin-right: 10px;
}

.chat-discussion .chat-message.right .message-avatar {
  float: right;
  margin-left: 10px;
}

.message {
  background-color: #fff;
  border: 1px solid #e7eaec;
  text-align: left;
  display: block;
  padding: 10px 20px;
  position: relative;
  border-radius: 4px;
}

.chat-discussion .chat-message.left .message-date {
  float: right;
}

.chat-discussion .chat-message.right .message-date {
  float: left;
}

.chat-discussion .chat-message.left .message {
  text-align: left;
  margin-left: 55px;
}

.chat-discussion .chat-message.right .message {
  text-align: right;
  margin-right: 55px;
}

.message-date {
  font-size: 10px;
  color: #888888;
}

.message-content {
  display: block;
}

.chat-discussion {
  background: #eee;
  padding: 15px;
  height: 400px;
  overflow-y: auto;
}

.chat-users {
  overflow-y: auto;
  height: 400px;
}

.chat-message-form .form-group {
  margin-bottom: 0;
}

/* jsTree */
.jstree-open>.jstree-anchor>.fa-folder:before {
  content: "\f07c";
}

.jstree-default .jstree-icon.none {
  width: 0;
}

/* CLIENTS */
.clients-list {
  margin-top: 20px;
}

.clients-list .tab-pane {
  position: relative;
  height: 600px;
}

.client-detail {
  position: relative;
  height: 620px;
}

.clients-list table tr td {
  height: 46px;
  vertical-align: middle;
  border: none;
}

.client-link {
  font-weight: 600;
  color: inherit;
}

.client-link:hover {
  color: inherit;
}

.client-avatar {
  width: 42px;
}

.client-avatar img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
}

.contact-type {
  width: 20px;
  color: #c1c3c4;
}

.client-status {
  text-align: left;
}

.client-detail .vertical-timeline-content p {
  margin: 0;
}

.client-detail .vertical-timeline-icon.gray-bg {
  color: #a7aaab;
}

.clients-list .nav-tabs>li.active>a,
.clients-list .nav-tabs>li.active>a:hover,
.clients-list .nav-tabs>li.active>a:focus {
  border-bottom: 1px solid #fff;
}

/* BLOG ARTICLE */
.blog h2 {
  font-weight: 700;
}

.blog h5 {
  margin: 0 0 5px 0;
}

.blog .btn {
  margin: 0 0 5px 0;
}

.article h1 {
  font-size: 48px;
  font-weight: 700;
  color: #2f4050;
}

.article p {
  font-size: 15px;
  line-height: 26px;
}

.article-title {
  text-align: center;
  margin: 40px 0 100px 0;
}

.article .ibox-content {
  padding: 40px;
}

/* ISSUE TRACKER */
.issue-tracker .btn-link {
  color: #96b900;
}

table.issue-tracker tbody tr td {
  vertical-align: middle;
  height: 50px;
}

.issue-info {
  width: 50%;
}

.issue-info a {
  font-weight: 600;
  color: #676a6c;
}

.issue-info small {
  display: block;
}

/* TEAMS */
.team-members {
  margin: 10px 0;
}

.team-members img.rounded-circle {
  width: 42px;
  height: 42px;
  margin-bottom: 5px;
}

/* AGILE BOARD */
.sortable-list {
  padding: 10px 0;
}

.agile-list {
  list-style: none;
  margin: 0;
}

.agile-list li {
  background: #fafafb;
  border: 1px solid #e7eaec;
  margin: 0 0 10px 0;
  padding: 10px;
  border-radius: 2px;
}

.agile-list li:hover {
  cursor: pointer;
  background: #fff;
}

.agile-list li.warning-element {
  border-left: 3px solid #f8ac59;
}

.agile-list li.danger-element {
  border-left: 3px solid #ed5565;
}

.agile-list li.info-element {
  border-left: 3px solid #1c84c6;
}

.agile-list li.success-element {
  border-left: 3px solid #96b900;
}

.agile-detail {
  margin-top: 5px;
  font-size: 12px;
}

/* DIFF */
ins {
  background-color: #c6ffc6;
  text-decoration: none;
}

del {
  background-color: #ffc6c6;
}

/* E-commerce */
.product-box {
  padding: 0;
  border: 1px solid #e7eaec;
}

.product-box:hover,
.product-box.active {
  border: 1px solid transparent;
  -webkit-box-shadow: 0 3px 7px 0 #a8a8a8;
  -moz-box-shadow: 0 3px 7px 0 #a8a8a8;
  box-shadow: 0 3px 7px 0 #a8a8a8;
}

.product-imitation {
  text-align: center;
  padding: 90px 0;
  background-color: #f8f8f9;
  color: #bebec3;
  font-weight: 600;
}

.cart-product-imitation {
  max-width: 140px;
  max-height: 140px;
  border-radius: 5%;
  text-align: center;
  background-color: #f8f8f9;
}

.product-imitation.xl {
  padding: 120px 0;
}

.product-desc {
  padding: 20px;
  position: relative;
}

.ecommerce .tag-list {
  padding: 0;
}

.ecommerce .fa-star {
  color: #96b900;
}

.ecommerce .fa-star.active {
  color: #f8ac59;
}

.ecommerce .note-editor {
  border: 1px solid #e7eaec;
}

table.shoping-cart-table {
  margin-bottom: 0;
}

table.shoping-cart-table tr td {
  border: none;
  text-align: right;
}

table.shoping-cart-table tr td.desc,
table.shoping-cart-table tr td:first-child {
  text-align: left;
}

table.shoping-cart-table tr td:last-child {
  width: 80px;
}

.product-name {
  font-size: 16px;
  font-weight: 600;
  color: #676a6c;
  display: block;
  margin: 2px 0 5px 0;
}

.product-name:hover,
.product-name:focus {
  color: #96b900;
}

.product-price {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  background-color: #96b900;
  padding: 6px 12px;
  position: absolute;
  top: -32px;
  right: 0;
}

.product-detail .ibox-content {
  padding: 30px 30px 50px 30px;
}

.image-imitation {
  background-color: #f8f8f9;
  text-align: center;
  padding: 200px 0;
}

.product-main-price small {
  font-size: 10px;
}

.product-images {
  margin: 0 20px;
}

/* Social feed */
.social-feed-separated .social-feed-box {
  margin-left: 62px;
}

.social-feed-separated .social-avatar {
  float: left;
  padding: 0;
}

.social-feed-separated .social-avatar img {
  width: 52px;
  height: 52px;
  border: 1px solid #e7eaec;
}

.social-feed-separated .social-feed-box .social-avatar {
  padding: 15px 15px 0 15px;
  float: none;
}

.social-feed-box {
  /*padding: 15px;*/
  border: 1px solid #e7eaec;
  background: #fff;
  margin-bottom: 15px;
}

.article .social-feed-box {
  margin-bottom: 0;
  border-bottom: none;
}

.article .social-feed-box:last-child {
  margin-bottom: 0;
  border-bottom: 1px solid #e7eaec;
}

.article .social-feed-box p {
  font-size: 13px;
  line-height: 18px;
}

.social-action {
  margin: 15px;
}

.social-action .dropdown-toggle::after {
  margin-left: auto;
}

.social-avatar {
  padding: 15px 15px 0 15px;
}

.social-comment .social-comment {
  margin-left: 45px;
}

.social-avatar img {
  height: 40px;
  width: 40px;
  margin-right: 10px;
}

.social-avatar .media-body a {
  font-size: 14px;
  display: block;
}

.social-body {
  padding: 15px;
}

.social-body img {
  margin-bottom: 10px;
}

.social-footer {
  border-top: 1px solid #e7eaec;
  padding: 10px 15px;
  background: #f9f9f9;
}

.social-footer .social-comment img {
  width: 32px;
  margin-right: 10px;
}

.social-comment:first-child {
  margin-top: 0;
}

.social-comment {
  margin-top: 15px;
}

.social-comment textarea {
  font-size: 12px;
}

/* Vote list */
.vote-item {
  padding: 20px 25px;
  background: #ffffff;
  border-top: 1px solid #e7eaec;
}

.vote-item:last-child {
  border-bottom: 1px solid #e7eaec;
}

.vote-item:hover {
  background: #fbfbfb;
}

.vote-actions {
  float: left;
  width: 30px;
  margin-right: 15px;
  text-align: center;
}

.vote-actions a {
  color: #96b900;
  font-weight: 600;
}

.vote-actions {
  font-weight: 600;
}

.vote-title {
  display: block;
  color: inherit;
  font-size: 18px;
  font-weight: 600;
  margin-top: 5px;
  margin-bottom: 2px;
}

.vote-title:hover,
.vote-title:focus {
  color: inherit;
}

.vote-info,
.vote-title {
  margin-left: 45px;
}

.vote-info,
.vote-info a {
  color: #b4b6b8;
  font-size: 12px;
}

.vote-info a {
  margin-right: 10px;
}

.vote-info a:hover {
  color: #96b900;
}

.vote-icon {
  text-align: right;
  font-size: 38px;
  display: block;
  color: #e8e9ea;
}

.vote-icon.active {
  color: #96b900;
}

body.body-small .vote-icon {
  display: none;
}

.lightBoxGallery {
  text-align: center;
}

.lightBoxGallery img {
  margin: 5px;
  border-radius: 5%;
}

/* Estilos para el chat */
#small-chat {
  position: fixed;
  bottom: 80px;
  /* Aumentar la distancia desde abajo */
  right: 30px;
  /* Aumentar la distancia desde la derecha */
  z-index: 1002;
}

#small-chat .badge {
  position: absolute;
  top: -6px;
  /* Ajustar posición del badge */
  right: -8px;
  /* Ajustar posición del badge */
  background-color: #96b900;
  /* Color corporativo */
  color: #fff;
  /* Texto blanco */
  font-size: 12px;
  /* Ajustar tamaño del texto del badge */
  width: 20px;
  /* Ajustar ancho del badge */
  height: 20px;
  /* Ajustar alto del badge */
  line-height: 20px;
  /* Ajustar altura de línea del badge */
  border-radius: 50%;
  /* Hacer el badge redondo */

  z-index: 1003;
}

.open-small-chat {
  height: 50px;
  /* Ajustar altura del botón */
  width: 50px;
  /* Ajustar ancho del botón */
  display: block;
  background: #96b900;
  /* Color corporativo */
  padding: 12px 10px;
  /* Ajustar relleno del botón */
  text-align: center;
  color: #fff;
  /* Texto blanco */
  border-radius: 50%;
  font-size: 20px;
  /* Ajustar tamaño del ícono */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  /* Sombra ligera */
}

.open-small-chat:hover {
  color: #fff;
  background: #6c757d;
  /* Color corporativo más oscuro */
}

.small-chat-box {
  display: none;
  position: fixed;
  bottom: 60px;
  /* Aumentar la distancia desde abajo */
  right: 90px;
  /* Aumentar la distancia desde la derecha */
  background: #fff;
  /* Fondo blanco */
  border: 1px solid #e7eaec;
  width: 280px;
  /* Aumentar el ancho del chat */
  height: 380px;
  /* Aumentar la altura del chat */
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  /* Sombra ligera */
}

.small-chat-box.ng-small-chat {
  display: block;
}

.body-small .small-chat-box {
  bottom: 70px;
  /* Ajustar posición en responsive */
  right: 30px;
  /* Ajustar posición en responsive */
}

.small-chat-box.active {
  display: block;
}

.small-chat-box {
  z-index: 1001;
}

.small-chat-box .heading {
  background: #6c757d;
  /* Color corporativo más oscuro */
  padding: 12px 20px;
  /* Ajustar relleno de la cabecera */
  font-weight: bold;
  color: #fff;
  /* Texto blanco */
  font-size: 14px;
  /* Ajustar tamaño del texto */
}

.small-chat-box .chat-date {
  opacity: 0.6;
  font-size: 11px;
  /* Ajustar tamaño del texto */
  font-weight: normal;
}

.small-chat-box .content {
  padding: 15px 20px;
  /* Ajustar relleno del contenido */
}

.small-chat-box .content .author-name {
  font-weight: bold;
  margin-bottom: 5px;
  /* Ajustar margen inferior */
  font-size: 12px;
  /* Ajustar tamaño del texto */
  color: #6c757d;
  /* Color corporativo */
}

.small-chat-box .content>div {
  padding-bottom: 20px;
}

.small-chat-box .content .chat-message {
  padding: 8px 12px;
  /* Ajustar relleno del mensaje */
  border-radius: 6px;
  font-size: 12px;
  /* Ajustar tamaño del texto */
  line-height: 16px;
  /* Ajustar altura de línea */
  max-width: 85%;
  /* Ajustar ancho máximo */
  background: #f3f3f4;
  /* Fondo gris claro */
  margin-bottom: 12px;
  /* Ajustar margen inferior */
  color: #333;
  /* Texto negro */
}

.small-chat-box .content .chat-message.active {
  background: #96b900;
  /* Color corporativo */
  color: #fff;
  /* Texto blanco */
}

.small-chat-box .content .left {
  text-align: left;
  clear: both;
}

.small-chat-box .content .left .chat-message {
  float: left;
}

.small-chat-box .content .right {
  text-align: right;
  clear: both;
}

.small-chat-box .content .right .chat-message {
  float: right;
}

.small-chat-box .form-chat {
  padding: 10px 12px;
  /* Ajustar relleno del formulario */
}

.small-chat-box .form-chat input[type="text"].form-control {
  border-color: #6c757d;
  /* Borde del input color corporativo */
  font-size: 12px;
  /* Ajustar tamaño del texto */
}

.small-chat-box .form-chat .btn-primary {
  background-color: #96b900;
  /* Botón color corporativo */
  border-color: #96b900;
  /* Borde del botón color corporativo */
  font-size: 12px;
  /* Ajustar tamaño del texto */
}

.small-chat-box .form-chat .btn-primary:hover {
  background-color: #000;
  /* Color corporativo más oscuro para hover */
  border-color: #6c757d;
  /* Borde del botón color corporativo */
  color: #fff;
  /* Texto blanco */
}

/*
 * metismenu - v2.0.2
 * A jQuery menu plugin
 * https://github.com/onokumus/metisMenu
 *
 * Made by Osman Nuri Okumus
 * Under MIT License
 */
.metismenu .plus-minus,
.metismenu .plus-times {
  float: right;
}

.metismenu .arrow {
  float: right;
  line-height: 1.42857;
}

.metismenu .glyphicon.arrow:before {
  content: "\e079";
}

.metismenu .active>a>.glyphicon.arrow:before {
  content: "\e114";
}

.metismenu .fa.arrow:before {
  content: "\f104";
}

.metismenu .active>a>.fa.arrow:before {
  content: "\f107";
}

.metismenu .ion.arrow:before {
  content: "\f3d2";
}

.metismenu .active>a>.ion.arrow:before {
  content: "\f3d0";
}

.metismenu .fa.plus-minus:before,
.metismenu .fa.plus-times:before {
  content: "\f067";
}

.metismenu .active>a>.fa.plus-times {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.metismenu .active>a>.fa.plus-minus:before {
  content: "\f068";
}

.metismenu .collapse {
  display: none;
}

.metismenu .collapse.in {
  display: block;
}

.metismenu .collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
}

.mini-navbar .metismenu .collapse {
  opacity: 0;
}

.mini-navbar .metismenu .collapse.in {
  opacity: 1;
}

.mini-navbar .metismenu .collapse a {
  display: none;
}

.mini-navbar .metismenu .collapse.in a {
  display: block;
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-rotating-plane"></div>
 *
 */
.sk-spinner-rotating-plane.sk-spinner {
  width: 30px;
  height: 30px;
  background-color: #96b900;
  margin: 0 auto;
  -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out;
  animation: sk-rotatePlane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotatePlane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }

  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  }

  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

@keyframes sk-rotatePlane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }

  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  }

  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-double-bounce">
 *      <div class="sk-double-bounce1"></div>
 *      <div class="sk-double-bounce2"></div>
 *    </div>
 *
 */
.sk-spinner-double-bounce.sk-spinner {
  width: 40px;
  height: 40px;
  position: relative;
  margin: 0 auto;
}

.sk-spinner-double-bounce .sk-double-bounce1,
.sk-spinner-double-bounce .sk-double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #96b900;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-doubleBounce 2s infinite ease-in-out;
  animation: sk-doubleBounce 2s infinite ease-in-out;
}

.sk-spinner-double-bounce .sk-double-bounce2 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes sk-doubleBounce {

  0%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-doubleBounce {

  0%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-wave">
 *      <div class="sk-rect1"></div>
 *      <div class="sk-rect2"></div>
 *      <div class="sk-rect3"></div>
 *      <div class="sk-rect4"></div>
 *      <div class="sk-rect5"></div>
 *    </div>
 *
 */
.sk-spinner-wave.sk-spinner {
  margin: 0 auto;
  width: 50px;
  height: 30px;
  text-align: center;
  font-size: 10px;
}

.sk-spinner-wave div {
  background-color: #96b900;
  height: 100%;
  width: 6px;
  display: inline-block;
  -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
  animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
}

.sk-spinner-wave .sk-rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-spinner-wave .sk-rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-spinner-wave .sk-rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-spinner-wave .sk-rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-waveStretchDelay {

  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4);
    transform: scaleY(0.4);
  }

  20% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes sk-waveStretchDelay {

  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4);
    transform: scaleY(0.4);
  }

  20% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-wandering-cubes">
 *      <div class="sk-cube1"></div>
 *      <div class="sk-cube2"></div>
 *    </div>
 *
 */
.sk-spinner-wandering-cubes.sk-spinner {
  margin: 0 auto;
  width: 32px;
  height: 32px;
  position: relative;
}

.sk-spinner-wandering-cubes .sk-cube1,
.sk-spinner-wandering-cubes .sk-cube2 {
  background-color: #96b900;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-wanderingCubeMove 1.8s infinite ease-in-out;
  animation: sk-wanderingCubeMove 1.8s infinite ease-in-out;
}

.sk-spinner-wandering-cubes .sk-cube2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

@-webkit-keyframes sk-wanderingCubeMove {
  25% {
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
    transform: translateX(42px) rotate(-90deg) scale(0.5);
  }

  50% {
    /* Hack to make FF rotate in the right direction */
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
    transform: translateX(42px) translateY(42px) rotate(-179deg);
  }

  50.1% {
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
    transform: translateX(42px) translateY(42px) rotate(-180deg);
  }

  75% {
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
  }

  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

@keyframes sk-wanderingCubeMove {
  25% {
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
    transform: translateX(42px) rotate(-90deg) scale(0.5);
  }

  50% {
    /* Hack to make FF rotate in the right direction */
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
    transform: translateX(42px) translateY(42px) rotate(-179deg);
  }

  50.1% {
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
    transform: translateX(42px) translateY(42px) rotate(-180deg);
  }

  75% {
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
  }

  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-pulse"></div>
 *
 */
.sk-spinner-pulse.sk-spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto;
  background-color: #96b900;
  border-radius: 100%;
  -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out;
  animation: sk-pulseScaleOut 1s infinite ease-in-out;
}

@-webkit-keyframes sk-pulseScaleOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

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

@keyframes sk-pulseScaleOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

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

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-chasing-dots">
 *      <div class="sk-dot1"></div>
 *      <div class="sk-dot2"></div>
 *    </div>
 *
 */
.sk-spinner-chasing-dots.sk-spinner {
  margin: 0 auto;
  width: 40px;
  height: 40px;
  position: relative;
  text-align: center;
  -webkit-animation: sk-chasingDotsRotate 2s infinite linear;
  animation: sk-chasingDotsRotate 2s infinite linear;
}

.sk-spinner-chasing-dots .sk-dot1,
.sk-spinner-chasing-dots .sk-dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #96b900;
  border-radius: 100%;
  -webkit-animation: sk-chasingDotsBounce 2s infinite ease-in-out;
  animation: sk-chasingDotsBounce 2s infinite ease-in-out;
}

.sk-spinner-chasing-dots .sk-dot2 {
  top: auto;
  bottom: 0;
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes sk-chasingDotsRotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes sk-chasingDotsRotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes sk-chasingDotsBounce {

  0%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-chasingDotsBounce {

  0%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-three-bounce">
 *      <div class="sk-bounce1"></div>
 *      <div class="sk-bounce2"></div>
 *      <div class="sk-bounce3"></div>
 *    </div>
 *
 */
.sk-spinner-three-bounce.sk-spinner {
  margin: 0 auto;
  width: 70px;
  text-align: center;
}

.sk-spinner-three-bounce div {
  width: 18px;
  height: 18px;
  background-color: #96b900;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-threeBounceDelay 1.4s infinite ease-in-out;
  animation: sk-threeBounceDelay 1.4s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.sk-spinner-three-bounce .sk-bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.sk-spinner-three-bounce .sk-bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-threeBounceDelay {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-threeBounceDelay {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-circle">
 *      <div class="sk-circle1 sk-circle"></div>
 *      <div class="sk-circle2 sk-circle"></div>
 *      <div class="sk-circle3 sk-circle"></div>
 *      <div class="sk-circle4 sk-circle"></div>
 *      <div class="sk-circle5 sk-circle"></div>
 *      <div class="sk-circle6 sk-circle"></div>
 *      <div class="sk-circle7 sk-circle"></div>
 *      <div class="sk-circle8 sk-circle"></div>
 *      <div class="sk-circle9 sk-circle"></div>
 *      <div class="sk-circle10 sk-circle"></div>
 *      <div class="sk-circle11 sk-circle"></div>
 *      <div class="sk-circle12 sk-circle"></div>
 *    </div>
 *
 */
.sk-spinner-circle.sk-spinner {
  margin: 0 auto;
  width: 22px;
  height: 22px;
  position: relative;
}

.sk-spinner-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-spinner-circle .sk-circle:before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 20%;
  height: 20%;
  background-color: #96b900;
  border-radius: 100%;
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out;
  animation: sk-circleBounceDelay 1.2s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.sk-spinner-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.sk-spinner-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.sk-spinner-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sk-spinner-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.sk-spinner-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.sk-spinner-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sk-spinner-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  -ms-transform: rotate(210deg);
  transform: rotate(210deg);
}

.sk-spinner-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.sk-spinner-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sk-spinner-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  -ms-transform: rotate(300deg);
  transform: rotate(300deg);
}

.sk-spinner-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  -ms-transform: rotate(330deg);
  transform: rotate(330deg);
}

.sk-spinner-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-spinner-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-spinner-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-spinner-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.sk-spinner-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.sk-spinner-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.sk-spinner-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.sk-spinner-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.sk-spinner-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.sk-spinner-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.sk-spinner-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleBounceDelay {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-circleBounceDelay {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-cube-grid">
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *      <div class="sk-cube"></div>
 *    </div>
 *
 */
.sk-spinner-cube-grid.sk-spinner {
  width: 30px;
  height: 30px;
  margin: 0 auto;
}

.sk-spinner-cube-grid .sk-cube {
  width: 33%;
  height: 33%;
  background-color: #96b900;
  float: left;
  -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
  animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}

.sk-spinner-cube-grid .sk-cube:nth-child(1) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(2) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(3) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(4) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(5) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(6) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(7) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(8) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.sk-spinner-cube-grid .sk-cube:nth-child(9) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

@-webkit-keyframes sk-cubeGridScaleDelay {

  0%,
  70%,
  100% {
    -webkit-transform: scale3D(1, 1, 1);
    transform: scale3D(1, 1, 1);
  }

  35% {
    -webkit-transform: scale3D(0, 0, 1);
    transform: scale3D(0, 0, 1);
  }
}

@keyframes sk-cubeGridScaleDelay {

  0%,
  70%,
  100% {
    -webkit-transform: scale3D(1, 1, 1);
    transform: scale3D(1, 1, 1);
  }

  35% {
    -webkit-transform: scale3D(0, 0, 1);
    transform: scale3D(0, 0, 1);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-wordpress">
 *      <span class="sk-inner-circle"></span>
 *    </div>
 *
 */
.sk-spinner-wordpress.sk-spinner {
  background-color: #96b900;
  width: 30px;
  height: 30px;
  border-radius: 30px;
  position: relative;
  margin: 0 auto;
  -webkit-animation: sk-innerCircle 1s linear infinite;
  animation: sk-innerCircle 1s linear infinite;
}

.sk-spinner-wordpress .sk-inner-circle {
  display: block;
  background-color: #fff;
  width: 8px;
  height: 8px;
  position: absolute;
  border-radius: 8px;
  top: 5px;
  left: 5px;
}

@-webkit-keyframes sk-innerCircle {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes sk-innerCircle {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*
 *  Usage:
 *
 *    <div class="sk-spinner sk-spinner-fading-circle">
 *      <div class="sk-circle1 sk-circle"></div>
 *      <div class="sk-circle2 sk-circle"></div>
 *      <div class="sk-circle3 sk-circle"></div>
 *      <div class="sk-circle4 sk-circle"></div>
 *      <div class="sk-circle5 sk-circle"></div>
 *      <div class="sk-circle6 sk-circle"></div>
 *      <div class="sk-circle7 sk-circle"></div>
 *      <div class="sk-circle8 sk-circle"></div>
 *      <div class="sk-circle9 sk-circle"></div>
 *      <div class="sk-circle10 sk-circle"></div>
 *      <div class="sk-circle11 sk-circle"></div>
 *      <div class="sk-circle12 sk-circle"></div>
 *    </div>
 *
 */
.sk-spinner-fading-circle.sk-spinner {
  margin: 0 auto;
  width: 22px;
  height: 22px;
  position: relative;
}

.sk-spinner-fading-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-spinner-fading-circle .sk-circle:before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 18%;
  height: 18%;
  background-color: #96b900;
  border-radius: 100%;
  -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out;
  animation: sk-circleFadeDelay 1.2s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.sk-spinner-fading-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.sk-spinner-fading-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.sk-spinner-fading-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sk-spinner-fading-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.sk-spinner-fading-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.sk-spinner-fading-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sk-spinner-fading-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  -ms-transform: rotate(210deg);
  transform: rotate(210deg);
}

.sk-spinner-fading-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.sk-spinner-fading-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sk-spinner-fading-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  -ms-transform: rotate(300deg);
  transform: rotate(300deg);
}

.sk-spinner-fading-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  -ms-transform: rotate(330deg);
  transform: rotate(330deg);
}

.sk-spinner-fading-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-spinner-fading-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-spinner-fading-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-spinner-fading-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.sk-spinner-fading-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.sk-spinner-fading-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.sk-spinner-fading-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.sk-spinner-fading-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.sk-spinner-fading-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.sk-spinner-fading-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.sk-spinner-fading-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {

  0%,
  39%,
  100% {
    opacity: 0;
  }

  40% {
    opacity: 1;
  }
}

@keyframes sk-circleFadeDelay {

  0%,
  39%,
  100% {
    opacity: 0;
  }

  40% {
    opacity: 1;
  }
}

.ibox-content>.sk-spinner {
  display: none;
}

.ibox-content.sk-loading {
  position: relative;
}

.ibox-content.sk-loading:after {
  content: "";
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ibox-content.sk-loading>.sk-spinner {
  display: block;
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  z-index: 2000;
}

/* PACE PLUGIN
-------------------------------------------------- */
.landing-page.pace .pace-progress {
  background: #fff;
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  height: 2px;
  -webkit-transition: width 1s;
  -moz-transition: width 1s;
  -o-transition: width 1s;
  transition: width 1s;
}

.pace-inactive {
  display: none;
}

body.landing-page {
  color: #676a6c;
  font-family: "Nunito", sans-serif;
  background-color: #fff;
}


.landing-page button:focus {
  outline: 0;
}

.landing-page .container {
  overflow: hidden;
}

.landing-page span.navy {
  color: #96b900;
}

.landing-page p.text-color {
  color: #676a6c;
}

.landing-page a.navy-link {
  color: #96b900;
  text-decoration: none;
}

.landing-page a.navy-link:hover {
  color: #179d82;
}

.landing-page section p {
  color: #aeaeae;
  font-size: 13px;
}

.landing-page address {
  font-size: 13px;
}

.landing-page h1 {
  margin-top: 10px;
  font-size: 30px;
  font-weight: 200;
}

.landing-page .navy-line {
  width: 60px;
  height: 1px;
  margin: 60px auto 0;
  border-bottom: 2px solid #96b900;
}

.landing-page .navbar {
  padding: 0 11rem;
}

.landing-page .navbar-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 200;
}

.landing-page .navbar-wrapper>.container {
  padding-right: 0;
  padding-left: 0;
}

.landing-page .navbar-wrapper .navbar {
  padding-right: 15px;
  padding-left: 15px;
}

.landing-page .navbar-default.navbar-scroll {
  background-color: #fff;
  border-color: #fff;
  padding: 15px 0;
}

.landing-page .navbar-default {
  background-color: rgba(0, 0, 0, 0.3);
  border-color: transparent;
  transition: all 0.3s ease-in-out 0s;
}

.landing-page .navbar-defaul {
  background-color: rgba(0, 0, 0, 0.3);
  border-color: transparent;
  transition: all 0.3s ease-in-out 0s;
}

.landing-page .navbar-default .nav li a {
  color: #fff;
  font-family: "sans-serif";
  font-size: 12px;
}

.landing-page .navbar-nav>li>a {
  padding-top: 25px;
  border-top: 6px solid transparent;
}

.landing-page .navbar-default .navbar-nav>.active>a,
.landing-page .navbar-default .navbar-nav>.active>a:hover {
  background: transparent;
  color: #fff;
  border-top: 6px solid #96b900;
}

.landing-page .navbar-default .navbar-nav>li>a:hover,
.landing-page .navbar-default .navbar-nav>li>a:focus {
  color: #96b900;
  background: inherit;
}

.landing-page .navbar-default .navbar-nav>.active>a:focus {
  background: transparent;
  color: #fff;
}

.landing-page .navbar-default .navbar-nav>.active>a:focus {
  background: transparent;
  color: #ffffff;
}

.landing-page .navbar-default.navbar-scroll .navbar-nav>.active>a:focus {
  background: transparent;
  color: inherit;
}

.landing-page .navbar-default .navbar-brand:hover,
.landing-page .navbar-default .navbar-brand:focus {
  background: #179d82;
  color: #fff;
}

.landing-page .navbar-default .navbar-brand {
  color: #fff;
  height: auto;
  display: block;
  font-size: 14px;
  background: #96b900;
  padding: 15px 20px 15px 20px;
  border-radius: 0 0 5px 5px;
  font-weight: 700;
  transition: all 0.3s ease-in-out 0s;
  margin-top: -16px;
}

.landing-page .navbar-scroll.navbar-default .nav li a {
  color: #676a6c;
}

.landing-page .navbar-scroll.navbar-default .nav li a:hover {
  color: #96b900;
}

.landing-page .navbar-wrapper .navbar.navbar-scroll {
  padding-top: 0;
  padding-bottom: 5px;
  border-bottom: 1px solid #e7eaec;
  border-radius: 0;
}

.landing-page .nav.navbar-right {
  flex-direction: row;
}

.landing-page .nav>li.active {
  border: none;
  background: inherit;
}

.landing-page .nav>li>a {
  padding: 25px 10px 15px 10px;
}

.landing-page .navbar-scroll .navbar-nav>li>a {
  padding: 20px 10px;
}

.landing-page .navbar-default .navbar-nav>li .nav-link.active,
.landing-page .navbar-default .navbar-nav>li .nav-link.active:hover {
  border-top: 6px solid #96b900;
}

.landing-page .navbar-fixed-top {
  border: none !important;
}

.landing-page .navbar-fixed-top.navbar-scroll {
  border-bottom: 1px solid #e7eaec !important;
}

.landing-page .navbar.navbar-scroll .navbar-brand {
  margin-top: 5px;
  border-radius: 5px;
  font-size: 12px;
  padding: 10px;
  height: auto;
}

.landing-page .header-back {
  height: 100vh;
  width: 100%;
}

.landing-page .header-back.one {
  background: url("../img/landing/header_one.jpg") center center no-repeat;
  background-size: cover;
  /* hace que la imagen se escale para rellenar */
  background-position: center;
  /* centra la imagen */
}

.landing-page .header-back.two {
  background: url("../img/landing/header_two.jpg") 50% 0 no-repeat;
}

.landing-page .carousel {
  height: 100%;
}

.landing-page .carousel-caption {
  z-index: 10;
}

.landing-page .carousel .item {
  height: 370px;
  background-color: #777;
}

.landing-page .carousel-inner>.item>img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: 370px;
}

.landing-page .carousel-fade .carousel-inner .item {
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.landing-page .carousel-fade .carousel-inner .active {
  opacity: 1;
}

.landing-page .carousel-fade .carousel-inner .active.left,
.landing-page .carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}

.landing-page .carousel-fade .carousel-inner .next.left,
.landing-page .carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}

.landing-page .carousel-fade .carousel-control {
  z-index: 2;
}

.landing-page .carousel-control.left,
.landing-page .carousel-control.right {
  background: none;
}

.landing-page .carousel-control {
  width: 6%;
}

.landing-page .carousel-inner .container {
  position: relative;
  overflow: visible;
}

.landing-page .carousel-inner {
  overflow: visible;
}

.landing-page .carousel-caption {
  position: absolute;
  top: 100px;
  left: 0;
  bottom: auto;
  right: auto;
  text-align: left;
}

.landing-page .carousel-caption {
  position: absolute;
  top: 100px;
  left: 0;
  bottom: auto;
  right: auto;
  text-align: left;
}

.landing-page .carousel-caption.blank {
  top: 140px;
}

.landing-page .carousel-image {
  position: absolute;
  right: -140px;
  top: 95px;
}

.landing-page .carousel-image img {
  width: 85%;
}

.landing-page .carousel-indicators {
  padding-right: 60px;
}

.landing-page .carousel-caption h1 {
  font-weight: 700;
  font-size: 38px;
  text-transform: uppercase;
  text-shadow: none;
  letter-spacing: -1.5px;
}

.landing-page .carousel-caption p {
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: none;
}

.landing-page .caption-link {
  color: #fff;
  margin-left: 10px;
  text-transform: capitalize;
  font-weight: 400;
}

.landing-page .caption-link:hover {
  text-decoration: none;
  color: inherit;
}

.landing-page .services {
  padding-top: 60px;
}

.landing-page .services h2 {
  font-size: 20px;
  letter-spacing: -1px;
  font-weight: 600;
  text-transform: uppercase;
}

.landing-page .features-block {
  margin-top: 40px;
}

.landing-page .features-text {
  margin-top: 40px;
}

.landing-page .features small {
  color: #96b900;
}

.landing-page .features h2 {
  font-size: 18px;
  margin-top: 5px;
}

.landing-page .features-text-alone {
  margin: 40px 0;
}

.landing-page .features-text-alone h1 {
  font-weight: 200;
}

.landing-page .features-icon {
  color: #96b900;
  font-size: 40px;
}

.landing-page .navy-section {
  margin-top: 60px;
  background: #96b900;
  color: #fff;
  padding: 20px 0;
}

.landing-page .gray-section {
  background: #f4f4f4;
  margin-top: 60px;
}

.landing-page .team-member {
  text-align: center;
}

.landing-page .team-member img {
  margin: auto;
}

.landing-page .social-icon a {
  background: #96b900;
  color: #fff;
  padding: 4px 8px;
  height: 28px;
  width: 28px;
  display: block;
  border-radius: 50px;
}

.landing-page .social-icon a:hover {
  background: #179d82;
}

.landing-page .img-small {
  height: 88px;
  width: 88px;
}

.landing-page .pricing-plan {
  margin: 20px 30px 0 30px;
  border-radius: 4px;
}

.landing-page .pricing-plan.selected {
  transform: scale(1.1);
  background: #f4f4f4;
}

.landing-page .pricing-plan li {
  padding: 10px 16px;
  border-top: 1px solid #e7eaec;
  text-align: center;
  color: #aeaeae;
}

.landing-page .pricing-plan .pricing-price span {
  font-weight: 700;
  color: #96b900;
}

.landing-page li.pricing-desc {
  font-size: 13px;
  border-top: none;
  padding: 20px 16px;
}

.landing-page li.pricing-title {
  background: #96b900;
  color: #fff;
  padding: 10px;
  border-radius: 4px 4px 0 0;
  font-size: 22px;
  font-weight: 600;
}

.landing-page .testimonials {
  padding-top: 80px;
  padding-bottom: 90px;
  background-color: #96b900;
  background-image: url("../img/landing/avatar_all.png");
}

.landing-page .big-icon {
  font-size: 56px !important;
}

.landing-page .features .big-icon {
  color: #96b900 !important;
}

.landing-page .contact {
  background-image: url("../img/landing/word_map.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  margin-top: 60px;
}

.landing-page section.timeline {
  padding-bottom: 30px;
}

.landing-page section.comments {
  padding-bottom: 80px;
}

.landing-page .comments-avatar {
  margin-top: 25px;
  margin-left: 22px;
  margin-bottom: 25px;
}

.landing-page .comments-avatar .commens-name {
  font-weight: 600;
  font-size: 14px;
}

.landing-page .comments-avatar img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  margin-right: 10px;
}

.landing-page .bubble {
  position: relative;
  height: 120px;
  padding: 20px;
  background: #ffffff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  font-style: italic;
  font-size: 14px;
}

.landing-page .bubble:after {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 15px 14px 0;
  border-color: #ffffff transparent;
  display: block;
  width: 0;
  z-index: 1;
  bottom: -15px;
  left: 30px;
}

.landing-page .btn-primary.btn-outline:hover,
.landing-page .btn-success.btn-outline:hover,
.landing-page .btn-info.btn-outline:hover,
.landing-page .btn-warning.btn-outline:hover,
.landing-page .btn-danger.btn-outline:hover {
  color: #000;
}

.landing-page .btn-primary {
  background-color: #96b900;
  border-color: #96b900;
  color: #ffffff;
  font-size: 14px;
  padding: 10px 20px;
  font-weight: 600;
}

.landing-page .btn-primary:hover,
.landing-page .btn-primary:focus,
.landing-page .btn-primary:active,
.landing-page .btn-primary.active,
.landing-page .open .dropdown-toggle.btn-primary {
  background-color: #000000;
  border-color: #000000;
  color: #ffffff;
}

.landing-page .btn-primary:active,
.landing-page .btn-primary.active,
.landing-page .open .dropdown-toggle.btn-primary {
  background-image: none;
}

.landing-page .btn-primary.disabled,
.landing-page .btn-primary.disabled:hover,
.landing-page .btn-primary.disabled:focus,
.landing-page .btn-primary.disabled:active,
.landing-page .btn-primary.disabled.active,
.landing-page .btn-primary[disabled],
.landing-page .btn-primary[disabled]:hover,
.landing-page .btn-primary[disabled]:focus,
.landing-page .btn-primary[disabled]:active,
.landing-page .btn-primary.active[disabled],
.landing-page fieldset[disabled] .btn-primary,
.landing-page fieldset[disabled] .btn-primary:hover,
.landing-page fieldset[disabled] .btn-primary:focus,
.landing-page fieldset[disabled] .btn-primary:active,
.landing-page fieldset[disabled] .btn-primary.active {
  background-color: #1dc5a3;
  border-color: #1dc5a3;
}

@media (min-width: 768px) {


  .landing-page .navbar-default .navbar-nav>li>a {
    font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
    font-size: 14px;
    font-weight: 400;
    margin: 6px;
    letter-spacing: 0.5px;
  }

  .landing-page .navbar-wrapper .container {
    padding-right: 15px;
    padding-left: 15px;
  }

  .landing-page .navbar-wrapper .navbar {
    padding-right: 0;
    padding-left: 0;
  }

  .landing-page .navbar-wrapper .navbar {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }

  .landing-page .carousel-caption p {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.4;
  }

  .landing-page .featurette-heading {
    font-size: 50px;
  }
}

@media (max-width: 992px) {
  .landing-page .carousel-image {
    display: none;
  }
}

@media (max-width: 768px) {

  .landing-page .carousel-caption,
  .landing-page .carousel-caption.blank {
    left: 5%;
    top: 80px;
  }

  .landing-page .carousel-caption h1 {
    font-size: 28px;
  }

  .landing-page .navbar.navbar-scroll .navbar-brand {
    margin-top: 6px;
  }

  .landing-page .navbar-default {
    background-color: #fff;
    border-color: #fff;
    padding: 15px 0;
  }

  .landing-page .navbar-default .navbar-nav>.active>a:focus {
    background: transparent;
    color: inherit;
  }

  .landing-page .navbar-default .nav li a {
    color: white;
  }

  .landing-page .navbar-default .nav li a:hover {
    color: #96b900;
  }

  .landing-page .navbar-wrapper .navbar {
    padding-top: 10;
    padding-bottom: 5px;
    border-bottom: 1px solid #e7eaec;
    border-radius: 0;
  }

  .landing-page .nav>li>a {
    padding: 10px 10px 15px 10px;
  }

  .landing-page .navbar-nav>li>a {
    padding: 20px 10px;
  }

  .landing-page .navbar .navbar-brand {
    margin-top: 5px;
    border-radius: 5px;
    font-size: 12px;
    padding: 10px;
    height: auto;
  }

  .landing-page .navbar-wrapper .navbar {
    padding-left: 15px;
    padding-right: 15px;
  }

  .landing-page .navbar-default .navbar-nav>.active>a,
  .landing-page .navbar-default .navbar-nav>.active>a:hover {
    color: inherit;
  }

  .landing-page .carousel-control {
    display: none;
  }
}

@media (min-width: 992px) {
  .landing-page .featurette-heading {
    margin-top: 120px;
  }
}

@media (max-width: 768px) {
  .landing-page .navbar .navbar-header {
    display: block;
    float: none;
  }

  .landing-page .navbar .navbar-header .navbar-toggle {
    background-color: #ffffff;
    padding: 9px 10px;
    border: none;
  }

  .landing-page .nav.navbar-right {
    flex-direction: column;
  }
}

.landing-page .navbar-toggle {
  color: #ddd;
  float: right;
}

.landing-page .navbar-toggle i {
  font-size: 24px;
}

body.rtls {
  text-align: right !important;
  /* Theme config */
}

body.rtls .nav-second-level li a {
  padding: 7px 35px 7px 10px;
}

body.rtls .ibox-title h5 {
  float: right;
}

body.rtls .float-right {
  float: left !important;
}

body.rtls .float-left {
  float: right !important;
}

body.rtls .ibox-title {
  padding: 15px 15px 8px 15px;
}

body.rtls .ibox-title .label {
  float: left;
}

body.rtls #small-chat {
  right: auto;
  left: 20px;
}

body.rtls .small-chat-box {
  right: auto;
  left: 75px;
}

body.rtls .ibox-tools {
  float: left;
  position: static;
}

body.rtls .stat-percent {
  float: left;
}

body.rtls .navbar-right {
  float: left !important;
}

body.rtls .navbar-top-links li:last-child {
  margin-left: 40px;
  margin-right: 0;
}

body.rtls .minimalize-styl-2 {
  float: right;
  margin: 14px 20px 5px 5px;
}

body.rtls .feed-element>.float-left {
  margin-left: 10px;
  margin-right: 0;
}

body.rtls .timeline-item .date {
  text-align: left;
}

body.rtls .timeline-item .date i {
  left: 0;
  right: auto;
}

body.rtls .timeline-item .content {
  border-right: 1px solid #e7eaec;
  border-left: none;
}

body.rtls .theme-config {
  left: 0;
  right: auto;
}

body.rtls .spin-icon {
  border-radius: 0 20px 20px 0;
}

body.rtls .toast-close-button {
  float: left;
}

body.rtls #toast-container>.toast:before {
  margin: auto -1.5em auto 0.5em;
}

body.rtls #toast-container>div {
  padding: 15px 50px 15px 15px;
}

body.rtls #toast-container>div {
  background-position: 95% center;
}

body.rtls .center-orientation .vertical-timeline-icon i {
  margin-left: 0;
  margin-right: -12px;
}

body.rtls .vertical-timeline-icon i {
  right: 50%;
  left: auto;
  margin-left: auto;
  margin-right: -12px;
}

body.rtls .file-box {
  float: right;
}

body.rtls ul.notes li {
  float: right;
}

body.rtls .chat-users,
body.rtls .chat-statistic {
  margin-right: -30px;
  margin-left: auto;
}

body.rtls .dropdown-menu>li>a {
  text-align: right;
}

body.rtls .b-r {
  border-left: 1px solid #e7eaec;
  border-right: none;
}

body.rtls .dd-list .dd-list {
  padding-right: 30px;
  padding-left: 0;
}

body.rtls .dd-item>button {
  float: right;
}

body.rtls .theme-config-box {
  margin-left: -190px;
  margin-right: 0;
}

body.rtls .theme-config-box.show {
  margin-left: 0;
  margin-right: 0;
}

body.rtls .spin-icon {
  right: 0;
  left: auto;
}

body.rtls .skin-settings {
  margin-right: 40px;
  margin-left: 0;
}

body.rtls .skin-settings {
  direction: ltr;
}

body.rtls .footer.fixed {
  margin-right: 220px;
  margin-left: 0;
}

body.rtls .navbar-static-top .dropdown-menu {
  left: 0;
  right: auto;
}

body.rtls .social-footer .social-comment img,
body.rtls .social-avatar img {
  margin-left: 10px;
  margin-right: 0;
}

body.rtls .sidebar-container .sidebar-message>a>.float-left {
  margin-left: 10px;
  margin-right: 0;
}

body.rtls .setings-item .switch {
  margin-left: 5px;
}

body.rtls .nav>li>a i {
  margin-left: 6px;
}

@media (max-width: 992px) {

  body.rtls .chat-users,
  body.rtls .chat-statistic {
    margin-right: 0;
  }
}

body.rtls.mini-navbar .footer.fixed,
body.body-small.mini-navbar .footer.fixed {
  margin: 0 70px 0 0;
}

body.rtls.mini-navbar.fixed-sidebar .footer.fixed,
body.body-small.mini-navbar .footer.fixed {
  margin: 0 0 0 0;
}

body.rtls.top-navigation .navbar-toggle {
  float: right;
  margin-left: 15px;
  margin-right: 15px;
}

.body-small.rtls.top-navigation .navbar-header {
  float: none;
}

body.rtls.top-navigation #page-wrapper {
  margin: 0;
}

body.rtls.mini-navbar.fixed-sidebar #page-wrapper {
  margin: 0 0 0 0;
}

body.rtls.body-small.fixed-sidebar.mini-navbar #page-wrapper {
  margin: 0 220px 0 0;
}

body.rtls.body-small.fixed-sidebar.mini-navbar .navbar-static-side {
  width: 220px;
}

.body-small.rtls .navbar-fixed-top {
  margin-right: 0;
}

.body-small.rtls .navbar-header {
  float: right;
}

body.rtls .navbar-top-links li:last-child {
  margin-left: 20px;
}

body.rtls .top-navigation #page-wrapper,
body.rtls.mini-navbar .top-navigation #page-wrapper,
body.rtls.mini-navbar.top-navigation #page-wrapper {
  margin: 0;
}

body.rtls .top-navigation .footer.fixed,
body.rtls.top-navigation .footer.fixed {
  margin: 0;
}

@media (max-width: 768px) {
  body.rtls .navbar-top-links li:last-child {
    margin-left: 10px;
  }

  .navbar-top-links li a {
    padding: 20px 5px;
  }

  .body-small.rtls #page-wrapper {
    position: inherit;
    margin: 0 0 0 0;
    min-height: 1000px;
  }

  .rtls.fixed-sidebar.body-small .navbar-static-side {
    display: none;
    z-index: 2001;
    position: fixed;
    width: 220px;
  }

  .rtls.fixed-sidebar.body-small.mini-navbar .navbar-static-side {
    display: block;
  }
}

.rtls .ltr-support {
  direction: ltr;
}

.rtls.mini-navbar .nav-second-level,
.rtls.mini-navbar li.active .nav-second-level {
  left: auto;
  right: 70px;
}

.rtls #right-sidebar {
  left: -260px;
  right: auto;
}

.rtls #right-sidebar.sidebar-open {
  left: 0;
}

/*
 *
 *   This is style for skin config
 *   Use only in demo theme
 *
*/
.theme-config {
  position: absolute;
  top: 90px;
  right: 0;
  overflow: hidden;
}

.theme-config-box {
  margin-right: -190px;
  position: relative;
  z-index: 1100;
  transition-duration: 0.8s;
}

.theme-config-box.show {
  margin-right: 0;
}

.spin-icon {
  background: #96b900;
  position: absolute;
  padding: 7px 10px 7px 13px;
  border-radius: 20px 0 0 20px;
  font-size: 16px;
  top: 0;
  left: 0;
  width: 40px;
  color: #fff;
  cursor: pointer;
}

.skin-settings {
  width: 190px;
  margin-left: 40px;
  background: #f3f3f4;
}

.skin-settings .title {
  background: #efefef;
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  display: block;
  padding: 10px 15px;
  font-size: 12px;
}

.setings-item {
  padding: 10px 30px;
}

.setings-item.skin {
  text-align: center;
}

.setings-item .switch {
  float: right;
}

.skin-name a {
  text-transform: uppercase;
}

.setings-item a {
  color: #fff;
}

.default-skin,
.blue-skin,
.ultra-skin,
.yellow-skin {
  text-align: center;
}

.default-skin {
  font-weight: 600;
  background: #283a49;
}

.default-skin:hover {
  background: #1e2e3d;
}

.blue-skin {
  font-weight: 600;
  background: url("patterns/header-profile-skin-1.png") repeat scroll 0 0;
}

.blue-skin:hover {
  background: #0d8ddb;
}

.yellow-skin {
  font-weight: 600;
  background: url("patterns/header-profile-skin-3.png") repeat scroll 0 100%;
}

.yellow-skin:hover {
  background: #ce8735;
}

.ultra-skin {
  padding: 20px 10px;
  font-weight: 600;
  background: url("patterns/3.png") repeat scroll 0 0;
}

.ultra-skin:hover {
  background: url("patterns/4.png") repeat scroll 0 0;
}

/*
 *
 *   SKIN 1 - INSPINIA - Responsive Admin Theme
 *   NAME - Blue light
 *
*/
.skin-1 .minimalize-styl-2 {
  margin: 14px 5px 5px 30px;
}

.skin-1 .navbar-top-links li:last-child {
  margin-right: 30px;
}

.skin-1.fixed-nav .minimalize-styl-2 {
  margin: 14px 5px 5px 15px;
}

.skin-1 .spin-icon {
  background: #0e9aef !important;
}

.skin-1 .nav-header {
  background-color: #0e9aef;
  background-image: url("patterns/header-profile-skin-1.png");
}

.skin-1.mini-navbar .nav-second-level {
  background: #3e495f;
}

.skin-1 .breadcrumb {
  background: transparent;
}

.skin-1 .page-heading {
  border: none;
}

.skin-1 .nav>li.active {
  background: #3a4459;
}

.skin-1 .nav>li>a {
  color: #9ea6b9;
}

.skin-1 ul.nav-second-level {
  background-color: inherit;
}

.skin-1 .nav>li.active>a {
  color: #fff;
}

.skin-1 .navbar-minimalize {
  background: #0e9aef;
  border-color: #0e9aef;
}

body.skin-1 {
  background: #3e495f;
}

.skin-1 .navbar-static-top {
  background: #ffffff;
}

.skin-1 .dashboard-header {
  background: transparent;
  border-bottom: none !important;
  border-top: none;
  padding: 20px 30px 10px 30px;
}

.fixed-nav.skin-1 .navbar-fixed-top {
  background: #fff;
}

.skin-1 .wrapper-content {
  padding: 30px 15px;
}

.skin-1 #page-wrapper {
  background: #f4f6fa;
}

.skin-1 .ibox-title,
.skin-1 .ibox-content {
  border-width: 1px;
}

.skin-1 .ibox-content:last-child {
  border-style: solid solid solid solid;
}

.skin-1 .nav>li.active {
  border: none;
}

.skin-1 .nav-header {
  padding: 35px 25px 25px 25px;
}

.skin-1 .nav-header a.dropdown-toggle {
  color: #fff;
  margin-top: 10px;
}

.skin-1 .nav-header a.dropdown-toggle .text-muted {
  color: #fff;
  opacity: 0.8;
}

.skin-1 .profile-element {
  text-align: center;
}

.skin-1 .rounded-circle {
  border-radius: 5px;
}

.skin-1 .navbar-default .nav>li>a:hover,
.skin-1 .navbar-default .nav>li>a:focus {
  background: #3a4459;
  color: #fff;
}

.skin-1 .nav.nav-tabs>li.active>a {
  color: #555;
}

.skin-1 .nav.nav-tabs>li.active {
  background: transparent;
}

/*
 *
 *   SKIN 2 - INSPINIA - Responsive Admin Theme
 *   NAME - Inspinia Ultra
 *
*/
body.skin-2 {
  color: #565758 !important;
}

.skin-2 .minimalize-styl-2 {
  margin: 14px 5px 5px 25px;
}

.skin-2 .navbar-top-links li:last-child {
  margin-right: 30px;
}

.skin-2 .spin-icon {
  background: #23c6c8 !important;
}

.skin-2 .nav-header {
  background-color: #23c6c8;
  background-image: url("patterns/header-profile-skin-2.png");
}

.skin-2.mini-navbar .nav-second-level {
  background: #ededed;
}

.skin-2 .breadcrumb {
  background: transparent;
}

.skin-2.fixed-nav .minimalize-styl-2 {
  margin: 14px 5px 5px 15px;
}

.skin-2 .page-heading {
  border: none;
  background: rgba(255, 255, 255, 0.7);
}

.skin-2 ul.nav-second-level {
  background-color: inherit;
}

.skin-2 .nav>li.active {
  background: #e0e0e0;
}

.skin-2 .logo-element {
  padding: 17px 0;
}

.skin-2 .nav>li>a,
.skin-2 .welcome-message {
  color: #edf6ff;
}

.skin-2 #top-search::-moz-placeholder {
  color: #edf6ff;
  opacity: 0.5;
}

.skin-2 #side-menu>li>a,
.skin-2 .nav.nav-second-level>li>a {
  color: #586b7d;
}

.skin-2 .nav>li.active>a {
  color: #213a53;
}

.skin-2.mini-navbar .nav-header {
  background: #213a53;
}

.skin-2 .navbar-minimalize {
  background: #23c6c8;
  border-color: #23c6c8;
}

.skin-2 .border-bottom {
  border-bottom: none !important;
}

.skin-2 #top-search {
  color: #fff;
}

body.skin-2 #wrapper {
  background-color: #ededed;
}

.skin-2 .navbar-static-top {
  background: #213a53;
}

.fixed-nav.skin-2 .navbar-fixed-top {
  background: #213a53;
  border-bottom: none !important;
}

.skin-2 .nav-header {
  padding: 30px 25px 30px 25px;
}

.skin-2 .dashboard-header {
  background: rgba(255, 255, 255, 0.4);
  border-bottom: none !important;
  border-top: none;
  padding: 20px 30px 20px 30px;
}

.skin-2 .wrapper-content {
  padding: 30px 15px;
}

.skin-2 .dashoard-1 .wrapper-content {
  padding: 0 30px 25px 30px;
}

.skin-2 .ibox-title {
  background: rgba(255, 255, 255, 0.7);
  border: none;
  margin-bottom: 1px;
}

.skin-2 .ibox-content {
  background: rgba(255, 255, 255, 0.4);
  border: none !important;
}

.skin-2 #page-wrapper {
  background: #f6f6f6;
  background: -webkit-radial-gradient(center,
      ellipse cover,
      #f6f6f6 20%,
      #d5d5d5 100%);
  background: -o-radial-gradient(center,
      ellipse cover,
      #f6f6f6 20%,
      #d5d5d5 100%);
  background: -ms-radial-gradient(center,
      ellipse cover,
      #f6f6f6 20%,
      #d5d5d5 100%);
  background: radial-gradient(ellipse at center, #f6f6f6 20%, #d5d5d5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f6f6f6, endColorstr=#d5d5d5);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f6f6f6, endColorstr=#d5d5d5)";
}

.skin-2 .ibox-title,
.skin-2 .ibox-content {
  border-width: 1px;
}

.skin-2 .ibox-content:last-child {
  border-style: solid solid solid solid;
}

.skin-2 .nav>li.active {
  border: none;
}

.skin-2 .nav-header a.dropdown-toggle {
  color: #edf6ff;
  margin-top: 10px;
}

.skin-2 .nav-header a.dropdown-toggle .text-muted {
  color: #edf6ff;
  opacity: 0.8;
}

.skin-2 .rounded-circle {
  border-radius: 10px;
}

.skin-2 .nav.navbar-top-links>li>a:hover,
.skin-2 .nav.navbar-top-links>li>a:focus {
  background: #1a2d41;
}

.skin-2 .navbar-default .nav>li>a:hover,
.skin-2 .navbar-default .nav>li>a:focus {
  background: #e0e0e0;
  color: #213a53;
}

.skin-2 .nav.nav-tabs>li.active>a {
  color: #555;
}

.skin-2 .nav.nav-tabs>li.active {
  background: transparent;
}

/*
 *
 *   SKIN 3 - INSPINIA - Responsive Admin Theme
 *   NAME - Yellow/purple
 *
*/
.skin-3 .minimalize-styl-2 {
  margin: 14px 5px 5px 30px;
}

.skin-3 .navbar-top-links li:last-child {
  margin-right: 30px;
}

.skin-3.fixed-nav .minimalize-styl-2 {
  margin: 14px 5px 5px 15px;
}

.skin-3 .spin-icon {
  background: #ecba52 !important;
}

body.boxed-layout.skin-3 #wrapper {
  background: #3e2c42;
}

.skin-3 .nav-header {
  background-color: #ecba52;
  background-image: url("patterns/header-profile-skin-3.png");
}

.skin-3.mini-navbar .nav-second-level {
  background: #3e2c42;
}

.skin-3 .breadcrumb {
  background: transparent;
}

.skin-3 .page-heading {
  border: none;
}

.skin-3 ul.nav-second-level {
  background-color: inherit;
}

.skin-3 .nav>li.active {
  background: #38283c;
}

.fixed-nav.skin-3 .navbar-fixed-top {
  background: #fff;
}

.skin-3 .nav>li>a {
  color: #948b96;
}

.skin-3 .nav>li.active>a {
  color: #fff;
}

.skin-3 .navbar-minimalize {
  background: #ecba52;
  border-color: #ecba52;
}

body.skin-3 {
  background: #3e2c42;
}

.skin-3 .navbar-static-top {
  background: #ffffff;
}

.skin-3 .dashboard-header {
  background: transparent;
  border-bottom: none !important;
  border-top: none;
  padding: 20px 30px 10px 30px;
}

.skin-3 .wrapper-content {
  padding: 30px 15px;
}

.skin-3 #page-wrapper {
  background: #f4f6fa;
}

.skin-3 .ibox-title,
.skin-3 .ibox-content {
  border-width: 1px;
}

.skin-3 .ibox-content:last-child {
  border-style: solid solid solid solid;
}

.skin-3 .nav>li.active {
  border: none;
}

.skin-3 .nav-header {
  padding: 35px 25px 25px 25px;
}

.skin-3 .nav-header a.dropdown-toggle {
  color: #fff;
  margin-top: 10px;
}

.skin-3 .nav-header a.dropdown-toggle .text-muted {
  color: #fff;
  opacity: 0.8;
}

.skin-3 .profile-element {
  text-align: center;
}

.skin-3 .rounded-circle {
  border-radius: 5px;
}

.skin-3 .navbar-default .nav>li>a:hover,
.skin-3 .navbar-default .nav>li>a:focus {
  background: #38283c;
  color: #fff;
}

.skin-3 .nav.nav-tabs>li.active>a {
  color: #555;
}

.skin-3 .nav.nav-tabs>li.active {
  background: transparent;
}

/*
 *
 *   SKIN 4 - INSPINIA - Responsive Admin Theme
 *   NAME - Light-Skin
 *
*/
body.light-skin {
  background-color: #f9f9f9;
  color: #3e5476;
}

.light-skin {
  /* For handle diferent bg color in MVC version */
  display: block;
}

.light-skin .select2-container--default .select2-selection--single,
.light-skin .select2-container--default .select2-selection--multiple,
.light-skin .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 2.05rem;
}

.light-skin .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 32px;
}

.light-skin .navbar-fixed-top,
.light-skin .navbar-static-top {
  background-color: transparent;
}

.light-skin .Dashboard_2 .navbar.navbar-static-top,
.light-skin .Dashboard_3 .navbar.navbar-static-top,
.light-skin .Dashboard_4_1 .navbar.navbar-static-top,
.light-skin .ComposeEmail .navbar.navbar-static-top,
.light-skin .EmailView .navbar.navbar-static-top,
.light-skin .Inbox .navbar.navbar-static-top,
.light-skin .Metrics .navbar.navbar-static-top,
.light-skin .Dashboard_5 .navbar.navbar-static-top {
  background: transparent;
}

.light-skin.fixed-nav .navbar-fixed-top {
  background-color: #ffffff;
}

.light-skin.mini-navbar .nav .nav-second-level {
  background-color: #f9f9f9;
  box-shadow:
    0 1px 8px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.1);
}

.light-skin.fixed-sidebar.mini-navbar .nav .nav-second-level,
.light-skin.canvas-menu.mini-navbar .nav .nav-second-level {
  box-shadow: none;
}

.light-skin.canvas-menu nav.navbar-static-side {
  background-color: #f9f9f9;
}

.light-skin.canvas-menu.mini-navbar nav.navbar-static-side {
  box-shadow:
    0 1px 8px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.1);
}

.light-skin.mini-navbar .nav-header {
  background-color: #f9f9f9;
}

.light-skin #page-wrapper.gray-bg,
.light-skin #page-wrapper.bg-muted {
  background-color: #f9f9f9;
}

.light-skin .logo-element {
  color: #7c899a;
}

.light-skin nav>.sidebar-collapse>ul>li a {
  color: #7c899a;
  padding-top: 9px;
  padding-bottom: 9px;
}

.light-skin nav>.sidebar-collapse .nav-second-level li a {
  padding-top: 7px;
  padding-bottom: 7px;
}

.light-skin .nav>li.active>a {
  color: #384d6c;
  font-weight: 700;
}

.light-skin .nav-header a {
  color: #384d6c;
}

.light-skin .navbar-default .nav>li>a:hover,
.light-skin .navbar-default .nav>li>a:focus {
  background-color: inherit;
  color: #384d6c;
  font-weight: 700;
}

.light-skin .nav-header .font-bold {
  font-size: 12px;
  font-weight: 700;
  color: #384d6c;
}

.light-skin .nav-header .text-muted {
  color: #8291a3 !important;
  font-size: 12px;
}

.light-skin .nav-header {
  background-color: #f9f9f9;
  background-image: none;
  padding: 20px 25px 20px 25px;
}

.light-skin .profile-element img {
  border-radius: 6px !important;
}

.light-skin .nav>li.active {
  background: #f9f9f9;
}

.light-skin ul.nav-second-level {
  background: #f9f9f9;
}

.light-skin .dashboard-header {
  border-bottom: none !important;
  border-top: 0;
  border-radius: 4px;
  padding: 20px 20px 20px 20px;
  margin: 10px 10px 0 10px;
  box-shadow:
    0 1px 8px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.1);
}

.light-skin .page-heading {
  padding-bottom: 10px;
}

.light-skin .ibox-title {
  background-color: transparent;
  border: none;
  padding-left: 5px;
}

.light-skin .ibox-title h5 {
  font-size: 12px;
}

.light-skin .ibox-tools {
  right: 5px;
}

.light-skin .ibox-tools a {
  color: #7c899a !important;
}

.light-skin .ibox-heading {
  background-color: #fff;
  margin-bottom: 20px;
}

.light-skin .ibox-content {
  box-shadow:
    0 1px 8px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  border: none;
  background-color: #ffffff;
}

.light-skin .breadcrumb {
  background-color: transparent;
}

.light-skin .minimalize-styl-2 {
  margin: 14px 5px 5px 30px;
}

.light-skin .footer {
  border: none;
  background: none;
}

.light-skin .sidebar-panel {
  background-color: #fff;
}

.light-skin #page-wrapper>.border-bottom,
.light-skin .ibox.border-bottom {
  border-bottom: transparent !important;
}

.light-skin .fh-breadcrumb {
  height: calc(100% - 176px);
}

.light-skin.top-navigation #page-wrapper>.border-bottom {
  border-bottom: 1px solid #e7eaec !important;
}

.light-skin .wrapper.white-bg {
  background-color: transparent;
}

.light-skin .ibox-tools a.btn-primary {
  color: #ffffff !important;
}

.light-skin .chat-discussion {
  background-color: #ffffff;
}

.light-skin .ibox-footer {
  margin-top: 4px;
  border: none;
  box-shadow:
    0 1px 8px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.light-skin .contact-box,
.light-skin .social-feed-box,
.light-skin .vertical-timeline-content {
  box-shadow:
    0 1px 8px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.1);
  border: none;
}

.light-skin .navbar-default .landing_link a,
.light-skin .navbar-default .special_link a {
  color: #ffffff;
}

body.md-skin {
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
  background-color: #ffffff;
}

.md-skin .nav-header {
  background: url("patterns/4.png") no-repeat;
}

.md-skin .label,
.md-skin .badge {
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
}

.md-skin ul.nav-second-level {
  background-color: inherit;
}

.md-skin .font-bold {
  font-weight: 500;
}

.md-skin .wrapper-content {
  padding: 30px 20px 40px;
}

@media (max-width: 768px) {
  .md-skin .wrapper-content {
    padding: 30px 0 40px;
  }
}

.md-skin .page-heading {
  border-bottom: none !important;
  border-top: 0;
  padding: 0 10px 20px 10px;
  box-shadow:
    0 1px 1px -1px rgba(0, 0, 0, 0.34),
    0 0 6px 0 rgba(0, 0, 0, 0.14);
}

.md-skin .full-height-layout .page-heading {
  border-bottom: 1px solid #e7eaec !important;
}

.md-skin .ibox {
  clear: both;
  margin-bottom: 25px;
  margin-top: 0;
  padding: 0;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin .ibox.border-bottom {
  border-bottom: none !important;
}

.md-skin .ibox-title,
.md-skin .ibox-content {
  border-style: none;
}

.md-skin .ibox-title h5 {
  font-size: 16px;
  font-weight: 400;
}

.md-skin a.close-canvas-menu {
  color: #ffffff;
}

.md-skin .welcome-message {
  color: #ffffff !important;
  font-weight: 300;
}

.md-skin #top-search::-moz-placeholder {
  color: #ffffff;
}

.md-skin #top-search::-webkit-input-placeholder {
  color: #ffffff;
}

.md-skin #nestable-output,
.md-skin #nestable2-output {
  font-family:
    "Roboto",
    lucida grande,
    lucida sans unicode,
    helvetica,
    arial,
    sans-serif;
}

.md-skin .landing-page {
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
}

.md-skin .landing-page.navbar-default.navbar-scroll {
  background-color: #fff !important;
}

.md-skin .landing-page.navbar-default {
  background-color: transparent !important;
  box-shadow: none;
}

.md-skin .landing-page.navbar-default .nav li a {
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
}

.md-skin .nav>li>a {
  color: white;
  padding: 14px 20px 14px 25px;
}

.md-skin .nav.navbar-right>li>a {
  color: #ffffff;
}

.md-skin .nav>li.active>a {
  color: #5b5d5f;
  font-weight: 700;
}

.md-skin .navbar-default .nav>li>a:hover,
.md-skin .navbar-default .nav>li>a:focus {
  font-weight: 700;
  color: #5b5d5f;
}

.md-skin .nav .open>a,
.md-skin .nav .open>a:hover,
.md-skin .nav .open>a:focus {
  background: #96b900;
}

.md-skin .navbar-top-links li {
  display: inline-table;
}

.md-skin .navbar-top-links .dropdown-menu li {
  display: block;
}

.md-skin .pace-done .nav-header {
  transition: all 0.4s;
}

.md-skin .nav>li.active {
  background: #f8f8f9;
}

.md-skin .nav-second-level li a {
  padding: 7px 10px 7px 52px;
}

.md-skin .nav-third-level li a {
  padding-left: 62px;
}

.md-skin .navbar-top-links li a {
  padding: 20px 10px;
  min-height: 50px;
}

.md-skin .nav>li>a {
  font-weight: 400;
}

.md-skin .navbar-static-side .nav>li>a:focus,
.md-skin .navbar-static-side .nav>li>a:hover {
  background-color: inherit;
}

.md-skin .navbar-top-links .dropdown-menu li a {
  padding: 3px 20px;
  min-height: inherit;
}

.md-skin .nav-header .navbar-fixed-top a {
  color: #ffffff;
}

.md-skin .nav-header .text-muted {
  color: #ffffff !important;
}

.md-skin .navbar-form-custom .form-control {
  font-weight: 300;
}

.md-skin .mini-navbar .nav-second-level {
  background-color: inherit;
}

.md-skin .mini-navbar li.active .nav-second-level {
  left: 65px;
}

.md-skin .canvas-menu.mini-navbar .nav-second-level {
  background: inherit;
}

.md-skin .pace-done .navbar-static-side,
.md-skin .pace-done .nav-header,
.md-skin .pace-done li.active,
.md-skin .pace-done #page-wrapper,
.md-skin .pace-done .footer {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.md-skin .navbar-fixed-top {
  background: #fff;
  transition-duration: 0.4s;
  z-index: 2030;
  border-bottom: none !important;
}

.md-skin .navbar-fixed-top,
.md-skin .navbar-static-top {
  background-color: #96b900 !important;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin .navbar-static-side {
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin #right-sidebar {
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
  border: none;
  z-index: 900;
}

.md-skin .white-bg .navbar-fixed-top,
.md-skin .white-bg .navbar-static-top {
  background: #fff !important;
}

.md-skin .contact-box {
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
  border: none;
}

.md-skin .dashboard-header {
  border-bottom: none !important;
  border-top: 0;
  padding: 20px 20px 20px 20px;
  margin: 30px 20px 0 20px;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

@media (max-width: 768px) {
  .md-skin .dashboard-header {
    margin: 20px 0 0 0;
  }
}

.md-skin ul.notes li div {
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin .file {
  border: none;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin .mail-box {
  background-color: #ffffff;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
  padding: 0;
  margin-bottom: 20px;
  border: none;
}

.md-skin .mail-box-header {
  border: none;
  background-color: #ffffff;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
  padding: 30px 20px 20px 20px;
}

.md-skin .mailbox-content {
  border: none;
  padding: 20px;
  background: #ffffff;
}

.md-skin .social-feed-box {
  border: none;
  background: #fff;
  margin-bottom: 15px;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin.landing-page .navbar-default {
  background-color: transparent !important;
  border-color: transparent;
  transition: all 0.3s ease-in-out 0s;
  box-shadow: none;
}

.md-skin.landing-page .navbar-default.navbar-scroll,
.md-skin.landing-page.body-small .navbar-default {
  background-color: #ffffff !important;
}

.md-skin.landing-page .nav>li.active {
  background: inherit;
}

.md-skin.landing-page .navbar-scroll .navbar-nav>li>a {
  padding: 20px 10px;
}

.md-skin.landing-page .navbar-default .nav li a {
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
}

.md-skin.landing-page .nav>li>a {
  padding: 25px 10px 15px 10px;
}

.md-skin.landing-page .navbar-default .navbar-nav>li>a:hover,
.md-skin.landing-page .navbar-default .navbar-nav>li>a:focus {
  background: inherit;
  color: #96b900;
}

.md-skin.landing-page.body-small .nav.navbar-right>li>a {
  color: white;
}

.md-skin .landing_link a,
.md-skin .special_link a {
  color: #ffffff !important;
}

.md-skin.canvas-menu.mini-navbar .nav-second-level {
  background: #f8f8f9;
}

.md-skin.mini-navbar .nav-second-level {
  background-color: #ffffff;
  box-shadow:
    0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.md-skin.mini-navbar .nav-second-level li a {
  padding-left: 0;
}

.md-skin.mini-navbar.fixed-sidebar .nav-second-level li a {
  padding-left: 52px;
}

.md-skin.top-navigation .nav.navbar-right>li>a {
  padding: 15px 20px;
  color: white;
}

.md-skin.top-navigation .nav>li a:hover,
.md-skin .top-navigation .nav>li a:focus,
.md-skin.top-navigation .nav .open>a,
.md-skin.top-navigation .nav .open>a:hover,
.md-skin.top-navigation .nav .open>a:focus {
  color: #96b900;
  background: #ffffff;
}

.md-skin.top-navigation .nav>li.active a {
  color: #96b900;
  background: #ffffff;
}

.md-skin.fixed-nav #side-menu {
  background-color: #fff;
}

.md-skin.fixed-nav #wrapper.top-navigation #page-wrapper {
  margin-top: 0;
}

.md-skin.fixed-sidebar.mini-navbar #page-wrapper {
  margin: 0 0 0 0;
}

.md-skin.body-small.fixed-sidebar.mini-navbar .navbar-static-side {
  width: 220px;
  background-color: #ffffff;
}

.md-skin.boxed-layout #wrapper {
  background-color: #ffffff;
}

.md-skin.canvas-menu nav.navbar-static-side {
  z-index: 2001;
  background: #ffffff;
  height: 100%;
  position: fixed;
  display: none;
}

@media (min-width: 768px) {
  #page-wrapper {
    position: inherit;
    min-height: 100vh;
  }

  .navbar-static-side {
    z-index: 2001;
    width: 200px;
  }

  .navbar-top-links .dropdown-messages,
  .navbar-top-links .dropdown-tasks,
  .navbar-top-links .dropdown-alerts {
    margin-left: auto;
  }
}

@media (max-width: 768px) {
  #page-wrapper {
    position: inherit;
    margin: 0 0 0 0;
    min-height: 100vh;
    width: 100%;
  }

  .body-small .navbar-static-side {
    display: block;
    z-index: 2001;
    width: 0;
    overflow: hidden;
  }

  .body-small.mini-navbar .navbar-static-side {
    display: block;
    overflow: visible;
  }

  .lock-word {
    display: none;
  }

  .navbar-form-custom {
    display: none;
  }

  .navbar-header {
    display: inline;
    float: left;
  }

  .sidebar-panel {
    z-index: 2;
    position: relative;
    width: auto;
    min-height: 100% !important;
  }

  .sidebar-content .wrapper {
    padding-right: 0;
    z-index: 1;
  }

  .fixed-sidebar.body-small .navbar-static-side {
    display: none;
    z-index: 2001;
    position: fixed;
    width: 220px;
  }

  .fixed-sidebar.body-small.mini-navbar .navbar-static-side {
    display: block;
  }

  .ibox-tools {
    float: none;
    text-align: right;
    display: block;
  }

  .navbar-static-side {
    display: none;
  }

  body:not(.mini-navbar) {
    -webkit-transition: background-color 500ms linear;
    -moz-transition: background-color 500ms linear;
    -o-transition: background-color 500ms linear;
    -ms-transition: background-color 500ms linear;
    transition: background-color 500ms linear;
    background-color: #f3f3f4;
  }
}

@media (max-width: 350px) {
  .timeline-item .date {
    text-align: left;
    width: 110px;
    position: relative;
    padding-top: 30px;
  }

  .timeline-item .date i {
    position: absolute;
    top: 0;
    left: 15px;
    padding: 5px;
    width: 30px;
    text-align: center;
    border: 1px solid #e7eaec;
    background: #f8f8f8;
  }

  .timeline-item .content {
    border-left: none;
    border-top: 1px solid #e7eaec;
    padding-top: 10px;
    min-height: 100px;
  }

  .nav.navbar-top-links li.dropdown {
    display: none;
  }

  .ibox-tools {
    float: none;
    text-align: left;
    display: inline-block;
  }
}

/* Only demo */
@media (max-width: 1000px) {
  .welcome-message {
    display: none;
  }
}

@media print {
  nav.navbar-static-side {
    display: none;
  }

  body {
    overflow: visible !important;
  }

  #page-wrapper {
    margin: 0;
  }
}

#carouselExampleIndicators {
  position: relative;
}

#carouselExampleIndicators .carousel-indicators {
  bottom: 10px;
}

#carouselExampleIndicators .carousel-indicators li {
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid #fff;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#carouselExampleIndicators .carousel-indicators li.active {
  background-color: #fff;
}

#carouselExampleIndicators .carousel-caption {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 20px;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  transition: opacity 0.3s ease;
}

#carouselExampleIndicators .carousel-caption h5 {
  font-size: 24px;
  margin-bottom: 10px;
}

#carouselExampleIndicators .carousel-caption p {
  font-size: 16px;
}

#carouselExampleIndicators .carousel-item:hover .carousel-caption {
  opacity: 0.9;
}

#carouselExampleIndicators .carousel-control-prev,
#carouselExampleIndicators .carousel-control-next {
  width: 50px;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  line-height: 46px;
  z-index: 1000;
  /* Asegura que los controles estén al frente */
  opacity: 0.7;
}

#carouselExampleIndicators .carousel-control-prev:hover,
#carouselExampleIndicators .carousel-control-next:hover {
  opacity: 1;
}

#carouselExampleIndicators .carousel-control-prev {
  left: 10px;
}

#carouselExampleIndicators .carousel-control-next {
  right: 10px;
}

.mt-Sect {
  margin-top: 10vh;
}

.mt-view {
  margin-top: 14vh;
}

.mt-texts {
  margin-top: 12px;
}

#HomeTabs .nav.nav-tabs {
  display: flex;
  justify-content: center;
}

/* Estilos para la línea de color debajo de la tab seleccionada */
#HomeTabs .nav-tabs .nav-link {
  position: relative;
}

#HomeTabs .nav-tabs .nav-link::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  /* Altura de la línea de color */
  background-color: #96b900;
  /* Color de la línea de color */
  transition: width 0.3s ease;
  /* Animación de la transición */
}

#HomeTabs .nav-tabs .nav-link.active::after {
  width: 100%;
  /* Ancho completo cuando la tab está seleccionada */
}

#HomeTabs .nav-tabs .nav-link {
  border: none;
  /* Elimina el borde */
}

#HomeTabs .nav-tabs .nav-link.active {
  background-color: transparent;
  /* Fondo transparente cuando la tab está activa */
  border-bottom: 2px solid #96b900;
  /* Agrega un borde inferior para indicar la selección */
  border-radius: 0;
  /* Elimina cualquier borde redondeado */
  box-shadow: none;
  /* Elimina el efecto de sombra */
}

.widgetAct {
  transition: transform 0.3s;
  /* Agrega una transición suave al efecto de zoom */
}

.widgetAct:hover {
  transform: scale(1.1);
  /* Hace un zoom al 110% del tamaño original al pasar el mouse */
}

#custom-form {
  padding: 10px;
  margin: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#custom-form input {
  margin-right: 10px;
}

#custom-form button {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#loader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 1);
  text-align: center;
  padding-top: 20%;
  z-index: 9999;
  /* Asegúrate de que esté por encima de otros elementos */
}

#loader img {
  /* Estilos para la imagen de carga si estás utilizando una */
  width: 50px;
  height: 50px;
}

/* footer estilos agregados */
#custom-footer {
  background-color: #000000;
  padding: 30px 0;
}

#custom-footer .custom-footer-ul {
  margin-bottom: 20px;
}

#custom-footer .custom-footer-ul li {
  margin-bottom: 10px;
  font-weight: bold;
  color: #96b900;
}

#custom-footer .custom-footer-ul li a {
  color: #96b900;
  text-decoration: none;
}

#custom-footer .custom-footer-ul li a:hover {
  color: #dc3545;
}

#custom-footer .custom-footer-icon {
  width: 40px;
  height: 40px;
}

.custom-footer-icon {
  transition: filter 0.3s;
  /* Transición suave */
}

.custom-footer-icon:hover {
  filter: invert(100%);
  /* Invertir los colores al 100% */
}

#subscribe-form {
  margin-bottom: 20px;
}

#subscribe-email {
  border-radius: 0;
}

#subscribe-button {
  border-radius: 50px;
  background-color: #96b900;
  border-radius: 0;
}

#subscribe-button:hover {
  background-color: #000;
  color: white;
}

.footer-section-text-1,
.footer-section-text-2 {
  margin-bottom: 10px;
}

/* =========================================
   ESTADO INICIAL (Dentro del banner - Oscuro)
   ========================================= */
#nav-barSt {
  background-color: rgba(0, 0, 0, 0.8);
  /* Añadimos un padding que se reducirá al hacer scroll (efecto shrink) */
  padding-top: 1rem;
  padding-bottom: 1rem;
  /* Transicionamos el fondo, el padding y la sombra */
  transition: background-color 0.5s ease, padding 0.5s ease, box-shadow 0.5s ease;
  z-index: 1050;
  /* Asegura que esté por encima de todo */
}

/* Enlaces del navbar */
#nav-barSt li a {
  color: #ffffff;
  font-weight: 500;
  padding: 8px 15px;
  border-radius: 5px;
  text-decoration: none;
  /* LA TRANSICIÓN DEBE IR AQUÍ PARA LOS TEXTOS */
  transition: color 0.3s ease, background-color 0.3s ease;
}

/* Efecto hover inicial */
#nav-barSt li a:hover {
  color: #96b900;
  /* Cambia esto por el color primario de tu marca */
  background-color: rgba(255, 255, 255, 0.1);
}

/* Icono del menú hamburguesa */
#nav-barSt .navbar-toggler i {
  color: #ffffff;
  transition: color 0.5s ease;
}

/* Logo (preparamos la transición si usamos filtros) */
#nav-barSt .navbar-logo {
  transition: filter 0.5s ease, transform 0.5s ease;
}

/* Animación de flotación constante para el logo */
@keyframes logo-float-constant {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

#nav-barSt {
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Visibilidad de las opciones (Texto más grueso y sombra para fondos claros) */
#nav-barSt li a {
  font-weight: 600 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
}

#nav-barSt li a i {
  color: #ADCE2C;
  /* Verde de tu marca siempre presente en iconos */
  margin-right: 6px;
  font-size: 1.1em;
}

/* Efecto Vida en el Logo */
.navbar-logo {
  animation: logo-float-constant 3.5s ease-in-out infinite;
  transition: all 0.5s ease;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

/* =========================================
   ESTADO SCROLL (Fuera del banner - Elegante)
   ========================================= */
#nav-barSt.nav-out-banner {
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  /* Efecto cristal moderno */
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

#nav-barSt.nav-out-banner li a {
  color: #2c3e50 !important;
  /* Un gris azulado oscuro más premium que el negro */
  text-shadow: none;
}

#nav-barSt.nav-out-banner li a:hover {
  color: #ADCE2C !important;
  transform: translateY(-2px);
}

#nav-barSt.nav-out-banner .navbar-toggler i {
  color: #2c3e50;
}

/* MEJORA DEL LOGO EN SCROLL: Menos "triste" */
#nav-barSt.nav-out-banner .navbar-logo {
  /* En lugar de negro total, usamos un contraste oscuro elegante */
  filter: invert(1) brightness(0.2) contrast(1.2);
  opacity: 0.9;
  transform: scale(0.95);
}

/* Al pasar el mouse sobre el logo en modo scroll, recupera un poco de brillo */
#nav-barSt.nav-out-banner .navbar-brand:hover .navbar-logo {
  filter: invert(1) brightness(0.1) contrast(1.5);
  opacity: 1;
}

.contenedor-padre {
  max-height: 680px;
}

.slick_demo_2 .ibox-content {
  margin: 0 10px;
  align-items: center;
}

/* adaptaciones al login */
/* Estilos adicionales para dispositivos móviles */

/* Tamaño de fuente para los botones */
#login-form .btn {
  font-size: 14px;
  /* Ajusta el tamaño de fuente de los botones según sea necesario */
}

/* Ajuste de ancho para los botones en pantallas pequeñas */
@media (max-width: 767px) {
  #login-form .btn {
    width: 100%;
    /* Haz que los botones ocupen todo el ancho en dispositivos pequeños */
    margin-bottom: 10px;
    /* Agrega espacio entre los botones */
  }

  /* Ajusta el margen superior del contenedor del formulario en pantallas pequeñas */
  .loginscreen {
    margin-top: 20px;
    /* Ajusta el margen superior según sea necesario */
  }
}

/* Ajuste de ancho para los botones en pantallas pequeñas */
@media (max-width: 767px) {
  #signup-form .btn {
    width: 100%;
    /* Haz que los botones ocupen todo el ancho en dispositivos pequeños */
    margin-bottom: 10px;
    /* Agrega espacio entre los botones */
  }

  /* Ajusta el margen superior del contenedor del formulario en pantallas pequeñas */
  .loginscreen {
    margin-top: 20px;
    /* Ajusta el margen superior según sea necesario */
  }
}

/* Estilos para el checkbox en dispositivos móviles */
#login-form .magic-checkbox input[type="checkbox"]+label::before {
  width: 24px;
  /* Ajusta el tamaño del checkbox */
  height: 24px;
  font-size: 14px;
  /* Ajusta el tamaño de fuente del checkbox */
  line-height: 24px;
  /* Alinea el texto del checkbox verticalmente */
}

/* Ajuste de tamaño de fuente para el texto del checkbox en dispositivos móviles */
#login-form .magic-checkbox input[type="checkbox"]+label {
  font-size: 14px;
  /* Ajusta el tamaño de fuente del texto del checkbox */
}

/* Estilos para el checkbox en dispositivos móviles */
#signup-form .magic-checkbox input[type="checkbox"]+label::before {
  width: 24px;
  /* Ajusta el tamaño del checkbox */
  height: 24px;
  font-size: 14px;
  /* Ajusta el tamaño de fuente del checkbox */
  line-height: 24px;
  /* Alinea el texto del checkbox verticalmente */
}

/* Ajuste de tamaño de fuente para el texto del checkbox en dispositivos móviles */
#signup-form .magic-checkbox input[type="checkbox"]+label {
  font-size: 14px;
  /* Ajusta el tamaño de fuente del texto del checkbox */
}

/* Ajusta el tamaño de la imagen según el ancho de la pantalla */
.img-fluid-custom {
  max-width: 70%;
  /* Hace que la imagen sea responsiva */
  height: auto;
  /* Evita que la imagen se distorsione */
}

.custom-container {
  /* Estilos para tu nuevo contenedor */
  padding: 20px;
  /* Agrega relleno al contenedor */
  margin: 0 auto;
  /* Centra el contenedor horizontalmente */
  max-width: 500px;
  /* Define el ancho máximo del contenedor */
}

.cover {
  border: 0.5px solid rgba(0, 0, 0, 0.2);
  /* Borde delgado */
  padding: 20px 30px;
  margin: 0 auto;
  /* Centrado horizontal */
  width: fit-content;
  /* Ancho ajustado al contenido */
  background-color: rgba(145, 185, 0, 0.9);
}

.form-control::placeholder {
  color: rgba(155, 125, 30, 1) !important;
}

.star i {
  color: #96b900;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0;
  height: 100%;
}

.grid-item {
  position: relative;
  overflow: hidden;
}

.grid-item img {
  margin: 15px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scrollable-menu {
  max-height: 550px;
  overflow-y: hidden;
  padding-right: 10px;
  transition: overflow-y 0.3s ease-in-out;
}

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

.scrollable-menu::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

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

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

.notification-button {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 10px;
  width: 100%;
  display: flex;
  align-items: center;
  transition: background 0.3s;
}

.notification-button:hover {
  background: #f9f9f9;
  /* Fondo más claro al pasar el mouse */
}

.notification-button img {
  margin-right: 10px;
  /* Espaciado a la derecha de la imagen */
  width: 40px;
  /* Ancho de la imagen */
  height: 40px;
  /* Altura de la imagen */
}

.notification-button .media-body {
  flex: 1;
  /* Ocupa todo el espacio disponible */
}

.footer-buttons {
  margin-top: 10px;
  /* Espaciado superior para separar del contenido principal */
}

.mark-read-btn {
  color: #006621;
  /* Color del icono */
  text-decoration: none;
  /* Sin subrayado en el enlace */
  transition: color 0.3s;
  /* Transición suave para el color del texto */
  font-size: 1.5em;
  /* Tamaño del icono */
  margin-left: auto;
  /* Mueve el botón a la derecha */
}

.mark-read-btn:hover {
  color: #0d8ddb;
  /* Color del icono más oscuro al pasar el mouse */
}

.notification-button.unread {
  background: #f0f9e5;
  /* Fondo verde claro para notificaciones no leídas */
  border-left: 5px solid #96b900;
  /* Borde izquierdo verde para destacar */
}

.notification-button.unread:hover {
  background: #e1f3cc;
  /* Fondo ligeramente más oscuro al pasar el mouse */
}

.text-center.link-block {
  padding: 10px;
  /* Espaciado interior */
}

.text-center.link-block a {
  display: block;
  /* Convertir en bloque para ocupar todo el ancho disponible */
  padding: 15px 20px;
  /* Espaciado interno */
  color: #96b900;
  /* Color del texto verde similar al de las notificaciones no leídas */
  text-decoration: none;
  /* Sin subrayado */
  transition:
    background-color 0.3s,
    color 0.3s;
  /* Transiciones suaves */
  background-color: #f0f9e5;
  /* Fondo similar al de las notificaciones no leídas */
  border-radius: 5px;
  /* Bordes redondeados */
}

.text-center.link-block a:hover {
  background-color: #e1f3cc;
  /* Fondo más oscuro al pasar el mouse */
  color: #74a500;
  /* Color del texto más oscuro al pasar el mouse */
}

.user-friends {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.friend {
  position: relative;
  text-align: center;
  width: 50px;
}

.friend img {
  width: 50px;
  height: 50px;
}

.friend-name {
  display: block;
  font-size: 12px;
  margin-top: 5px;
}

.online-status {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  background-color: gray;
  border-radius: 50%;
  border: 1px solid white;
}

.online-status.online {
  background-color: green;
}

.card {
  margin-bottom: 20px;
  border-radius: 4px;
}

.card-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
}

.card-body {
  padding: 15px;
}

.form-control {
  resize: none;
}

.publication-background {
  background-color: #d6dbdf;
}

.dropdown-menu-left {
  right: 0;
  left: auto;
}

/*Aqui iran los css para las solicitudes de amistade friends*/
.list-group-item {
  border: 1px solid #e7eaec;
  padding: 20px;
  margin-bottom: 10px;
  border-radius: 50%;
  transition: background-color 0.3s;
}

.list-group-item:hover {
  background-color: #f9f9f9;
}

.media img {
  border: 2px solid #ddd;
  padding: 2px;
  background-color: #fff;
}

.media-body h5 {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 600;
}

.media-body p {
  margin-bottom: 10px;
}

.btn-group .btn {
  margin-right: 5px;
}

/* Estilos para el dropdown */
.dropdown-menu-chat {
  min-width: auto;
  /* Ajusta el ancho según sea necesario */
  border: 1px solid #e7eaec;
  /* Borde del dropdown */
}

.dropdown-menu-chat a {
  color: #333;
  /* Color del texto del enlace */
  padding: 8px 15px;
  /* Espaciado interno */
  display: block;
  /* Mostrar como bloque */
  font-size: 12px;
  /* Tamaño de fuente */
  width: 15rem;
}

.dropdown-menu-chat a:hover,
.dropdown-menu-chat a:focus {
  background-color: #f3f3f4;
  /* Color de fondo al pasar el ratón o enfocar */
  text-decoration: none;
  /* Quitar subrayado */
}

.dropdown-menu-chat .dropdown-divider {
  margin: 0;
  /* Margen cero para la divisoria */
  border-top: 1px solid #e7eaec;
  /* Borde superior de la divisoria */
}

/* Ajustes específicos para dropdown hacia arriba y hacia la derecha */
.dropup.dropup-right .dropdown-menu-chat {
  margin-top: -1px;
  /* Ajuste para corregir el solapamiento con el botón */
  left: auto;
  /* Alinear a la derecha del contenedor */
  right: 0;
  /* Asegurar que no haya alineación a la izquierda */
}

/*centro de publicaciones*/
.publications-center {
  border-radius: 5%;
  display: block;
  position: -webkit-sticky;
  /* Soporte para Safari */
  position: sticky;
  top: 0px;
  z-index: 1005;
}

/*Chats listas de amigos */

.feed-element.unread {
  background-color: #f0f9e5;
  border-left: 5px solid #96b900;
  padding: 10px;
  margin-bottom: 10px;
}

.message-text {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
}

.feed-activity-list {
  overflow-x: hidden;
  /* Evita el scroll horizontal */
}

.chat-activity-list {
  overflow-x: hidden;
  /* Evita el scroll horizontal */
}

/*Styles para la seccion de OTP*/

.otp-container {
  text-align: center;
  background-color: #ffffff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.otp-inputs input {
  width: 40px;
  height: 40px;
  margin: 0 5px;
  text-align: center;
  font-size: 20px;
  border: 2px solid #96b900;
  border-radius: 5px;
}

.otp-inputs input:focus {
  border-color: #6c757d;
  outline: none;
}

.buttonOTP {
  background-color: #96b900;
  text-decoration: none;
  border-radius: 10px;
  display: inline-block;
  padding: 10px 20px;
  font-weight: 600;
  font-family:
    "Century Gothic", CenturyGothic, AppleGothic, Verdana, Geneva, sans-serif;
  border: none;
  margin-top: 20px;
  cursor: not-allowed;
}

button:enabled {
  cursor: pointer;
}

/**GB Profile*/

.banner-profile {
  background-size: cover;
  background-position: center center;
  height: 60vh;
}

/* Botones flotantes */
.floating-button-left {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 10px 15px;
  /* Tamaño por defecto */
}

.floating-button-right {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 1000;
  padding: 10px 15px;
  /* Tamaño por defecto */
}

.floating-Info {
  position: absolute;
  bottom: 50px;
  left: 10px;
  z-index: 1000;
}

.floating-Info small {
  position: absolute;
  padding: 2px;
  right: 10px;
  color: #fff;
}

.coverUser {
  background-size: cover;
  background-position: center center;
  height: 40vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-info-container {
  color: #fff;
  background-color: transparent;
  padding: 2px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
}

.profile-info-container h2 {
  font-size: 24px;
  /* Tamaño por defecto */
  font-weight: bold;
}

.profile-image-container {
  position: relative;
  top: -70px;
  left: 0;
  width: 200px;
  height: 200px;
  border: 5px solid rgba(255, 255, 255, 1);
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-stats {
  flex: 0 0 25%;
  min-width: 150px;
}

.banner-profile {
  /* Profile */
  background-size: cover;
  background-position: center center;
  height: 60vh;
}

.profile-image-container {
  position: relative;
  display: inline-block;
}

.profile-image-container .profile-image-overlay {
  /* Profile */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  /* Opacidad inicial */
  border-radius: 50%;
  /* Ajusta la forma según la imagen */
  transition: background-color 0.3s ease;
  /* Transición suave */
}

.profile-image-container:hover .profile-image-overlay {
  background-color: rgba(0, 0, 0, 0.1);
  /* Oscurecimiento suave */
}

/* Media Queries para Responsividad */

/* Pantallas grandes */
@media (min-width: 1025px) {
  .banner-profile {
    height: 50vh;
  }

  .profile-info-container h2 {
    font-size: 24px;
    /* Tamaño por defecto */
  }

  .floating-button-left,
  .floating-button-right {
    font-size: 1rem;
    /* Tamaño por defecto */
  }
}

/* Pantallas medianas (tabletas) */
@media (max-width: 1024px) {
  .profile-info-container h2 {
    font-size: 22px;
    /* Reduce el tamaño del texto */
  }

  .floating-button-left,
  .floating-button-right {
    font-size: 0.9rem;
    /* Reduce el tamaño del texto */
  }

  .profile-image-container {
    width: 180px;
    height: 180px;
    top: -60px;
  }
}

/* Pantallas pequeñas (celulares) */
@media (max-width: 925px) {
  .banner-profile {
    height: 50vh;
  }

  .profile-info-container h2 {
    font-size: 20px;
    /* Reduce el tamaño del texto */
  }

  .profile-image-container {
    width: 210px;
    height: 210px;
    top: -50px;
  }

  .floating-button-left span,
  .floating-button-right span {
    display: none;
    /* Oculta el texto de los botones */
  }
}

/* Pantallas muy pequeñas (celulares pequeños) */
@media (max-width: 728px) {
  .banner-profile {
    height: 50vh;
  }

  .floating-button-left,
  .floating-button-right {
    font-size: 0.7rem;
    /* Reduce aún más el tamaño del texto */
    padding: 8px 12px;
    /* Reduce aún más el tamaño del botón */
    /* Oculta el texto del botón */
    white-space: nowrap;
    /* Evita que el texto se muestre */
  }
}

/* Pantallas pequeñas (celulares) */
@media (max-width: 556px) {
  .profile-image-container {
    width: 170px;
    height: 170px;
    top: -50px;
  }

  .banner-profile {
    height: 40vh;
  }

  .floating-Info small {
    display: none;
    /* Oculta el texto en pantallas de hasta 768px */
  }

  .profile-info-container h2 {
    font-size: 16px;
    /* Reduce el tamaño del texto */
  }
}

/**GB Profile*/

/* Tablas view tooltips */
.table {
  width: 100%;
  margin-top: 0;
}

.table td {
  padding: 4px;
  font-size: 14px;
}

.table td strong {
  display: block;
  font-size: 18px;
  color: #333;
}

/* Tablas view tooltips */

@media (max-width: 768px) {
  .infoUser {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .profile-info {
    margin-left: 0;
    text-align: center;
  }

  .profile-stats {
    margin-top: 20px;
  }
}

@media (max-width: 308px) {
  .profile-image-container {
    top: -60px;
    /* Ajusta este valor según sea necesario para que la imagen sobresalga */
    left: 10px;
    /* Ajusta este valor según sea necesario para la posición horizontal */
    width: 200px;
    height: 200px;
    border: 5px solid rgba(255, 255, 255, 1);
    /* Mismo color que el fondo */
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }

  .infoUser {
    margin-top: 20px;
    position: absolute;
    left: 50%;
  }
}

/*User profile image*/
.preview-container {
  border: 5px solid rgba(255, 255, 255, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  width: 100%;
  height: 300px;
  /* Altura del modal, ajusta según sea necesario */
}

.preview {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 2px solid #e7eaec;
  width: 150px;
  height: 150px;
  overflow: hidden;
  margin-top: 10px;
}

.preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/*User Cover image*/
.cover-preview-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}

.cover-preview {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #e7eaec;
  width: 100%;
  max-width: 600px;
  /* Ajusta según sea necesario */
  height: 200px;
  /* Ajusta según sea necesario */
  overflow: hidden;
  margin-top: 10px;
}

.cover-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.default-preview {
  max-width: 40%;
  max-height: 40%;
}

/*Reviews*/

.image-center {
  text-align: center;
}

.message-avatar {
  border: 2px solid #e7eaec;
  width: 100px;
  height: 100px;
  display: block;
  margin: 0 auto;
}

.username {
  font-size: 1.5em;
  font-weight: bold;
}

.author-info {
  font-size: 1.1em;
  color: #999999;
}

.m-t-xs {
  margin-top: 10px;
}

.content {
  margin-top: 20px;
}

.slide-title {
  font-size: 1.4em;
  font-weight: bold;
}

.slide-content {
  font-size: 1.1em;
  line-height: 1.6;
}

.photos img {
  margin-bottom: 10px;
}

.photos .col-6 {
  padding: 5px;
}

.shoppingCartImage {
  max-width: 140px;
  max-height: 140px;
  border-radius: 5%;
  text-align: center;
  background-color: #f8f8f9;
}

.imageMiniatura {
  width: 5rem;
  /* 3rem = 48px si el tamaño de fuente raíz es 16px */
  height: 3rem;
  object-fit: cover;
  border-radius: 0.625rem;
  /* 10px en rem */
  box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.15);
  /* Sombra ajustada en rem */
  transition: transform 0.3s ease;
}

.imageMiniatura:hover {
  transform: scale(1.4);
}

.card-standard-size {
  width: 100%;
  height: 300px;
  /* Establece una altura estándar para las cards */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card-standard-size .card-img-top {
  flex-shrink: 0;
  height: 150px;
  /* Altura para la imagen */
  object-fit: cover;
}

.card-standard-size .card-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card-standard-size {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  /* Sombra suave para el card */
}

.card-zoom {
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
  /* Puedes ajustar el tiempo (0.4s) y el tipo de curva (ease, ease-in-out, etc.) */
}

.card-zoom:hover {
  transform: scale(1.05);
  /* Zoom del 15% */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
  /* Sombra más prominente al pasar el cursor */
}

.eccomerceItem-loader {
  text-align: center;
  padding: 20px;
  font-size: 1rem;
  color: gray;
  font-weight: bold;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  /* Centra el loader en el contenedor */
}

/* Preview de formulario */
#image-container {
  border: 1px solid #ddd;
  padding: 0;
  /* Eliminamos el padding para que la imagen ocupe todo el contenedor */
  position: relative;
  text-align: center;
  border-radius: 0.625rem;
  width: 100%;
  height: 250px;
  /* Ajuste la altura según tus necesidades */
}

#upload-link {
  display: block;
  padding: 20px;
}

#portada-input {
  display: none;
}

#preview-image {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
}

.preview-img {
  width: 10rem;
  height: 10rem;
  object-fit: cover;
  border-radius: 0.625rem;
  padding: 2%;
}

#clear-image-button {
  display: none;
  position: absolute;
  top: 0px;
  right: 0px;
}

#clear-image-preview {
  position: absolute;
  top: 0px;
  right: 0%;
}

.preview-img-container {
  position: relative;
  display: inline-block;
  padding: 10px;
}

.remove-img {
  position: absolute;
  z-index: 10;
}

#clear-file-preview {
  position: absolute;
  top: 0px;
  right: 0%;
}

/*Become a provider*/
.imagenBAProvider {
  width: 100%;
  height: 25rem;
  object-fit: cover;
  border-radius: 5%;
}

.custom-table-header {
  background-color: #4caf50;
  /* Verde */
  color: white;
  /* Blanco */
}

.custom-table-row {
  background-color: #f2f2f2;
  /* Gris Claro */
}

.custom-table-row:hover {
  background-color: #ddd;
  /* Gris Medio */
}

/* Estilo del enlace de dropdown */
.user-email {
  display: inline-block;
  padding: 2px;
  color: #000;
  text-decoration: none;
  border-radius: 2px;
  transition: background-color 0.3s ease;
  max-width: 100%;
  /* Evita que el enlace exceda el contenedor */
}

/* Efecto hover para el dropdown */
.user-email:hover {
  background-color: #e6e6e6;
  color: #000;
}

/* Estilo del texto del correo electrónico */
.email-text {
  color: #fff;
  display: block;
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
  /* Define un ancho máximo */
  margin: 0 auto;
  padding: 0;
}

.email-text:hover {
  color: #000;
}

/* Centra el texto dentro del contenedor */
.text-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.shopcartproductproccess {
  border-radius: 50%;
  border: 0.3rem solid white;
  position: absolute;
  width: 42%;
  /* Usar porcentaje en lugar de rem */
  height: 25%;
  object-fit: cover;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}

/* Consulta de medios para pantallas pequeñas (sm) */
@media (max-width: 767px) {
  .shopcartproductproccess {
    position: static;
    /* Cambia a relative en pantallas pequeñas */

    height: 100%;
    width: 35%;
  }
}

.shopcartproductproccess:hover {
  transform: scale(1.1);
  /* Ampliar imagen al pasar el ratón */
}

.image1 {
  left: 1rem;
  top: 4rem;
  z-index: 9;
}

.image2 {
  left: 2rem;
  top: 11rem;
  z-index: 8;
}

.image3 {
  left: 1rem;
  top: 18rem;
  z-index: 7;
}

.image4 {
  right: 2rem;
  top: 4rem;
  z-index: 6;
}

.image5 {
  right: 1rem;
  top: 11rem;
  z-index: 5;
}

.image6 {
  right: 2rem;
  top: 18rem;
  z-index: 4;
}

.custom-center {
  display: flex;
  justify-content: center;
  align-items: center;
  /* Para centrar verticalmente también si es necesario */
}

@media (max-width: 768px) {

  .project-manager h4,
  .project-manager h5 {
    font-size: 1.2em;
  }

  .project-manager p.small {
    font-size: 0.9em;
  }

  .project-manager ul.project-files {
    padding-left: 0;
  }

  .project-manager ul.project-files li {
    padding: 5px 0;
  }
}

.payment-card-number {
  font-size: 1rem;
  margin-bottom: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  display: block;
  /* Asegúrate de que ocupe todo el ancho disponible */
}

/*Ladda respuesta*/
.icon-success,
.icon-failure {
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.icon-success polyline {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: draw-success 2s ease forwards;
  /* Animación lenta */
  stroke-width: 3;
  /* Más grueso para mayor visibilidad */
}

.icon-failure line {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: draw-failure 2.5s ease forwards;
  stroke-width: 3;
}

/* Animación para éxito */
@keyframes draw-success {
  to {
    stroke-dashoffset: 0;
  }
}

/* Animación para error */
@keyframes draw-failure {
  to {
    stroke-dashoffset: 0;
  }
}

.drop-align {
  position: absolute;
  top: 33px;
  left: 25px;
  will-change: top, left;
  margin-right: 40px;
}

.section-title {
  font-size: 1.8rem;
  font-weight: 600;
}

/* Estilos responsivos */
@media (max-width: 768px) {
  .section-title {
    font-size: 1.3rem;
  }
}

@media (max-width: 480px) {
  .section-title {
    font-size: 1.2rem;
    /* Tamaño aún más pequeño para pantallas pequeñas */
  }
}

.flag-icon {
  width: 40px;
  height: auto;
  margin-right: 8px;
}

.pcl-info-element {
  border: 1px solid #ddd;
  margin-bottom: 10px;
  padding: 15px;
  border-radius: 5px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.pcl-task-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  padding: 10px 5px;
  background: linear-gradient(135deg, #96b900, #a1c93b);
  color: white;
}

.pcl-task-title {
  font-size: 16px;
  font-weight: bold;
  color: white;
}

.pcl-task-priority {
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 12px;
  color: white;
}

.pcl-priority-high {
  background-color: #f28b82;
  /* Rojo suave para alta prioridad */
}

.pcl-priority-medium {
  background-color: #ffeb3b;
  /* Amarillo pastel para media prioridad */
}

.pcl-priority-low {
  background-color: #81c784;
  /* Verde pastel para baja prioridad */
}

.pcl-task-body {
  margin-top: 10px;
  font-size: 14px;
}

.pcl-task-description {
  margin-bottom: 10px;
}

.pcl-task-date {
  font-size: 12px;
  color: #777;
}

.pcl-task-actions {
  margin-top: 10px;
}

.pcl-task-actions .btn {
  margin-right: 5px;
  font-size: 12px;
}

.pcl-task-actions .btn i {
  margin-right: 5px;
}

.disabled-date-custom {
  background-color: #96b900 !important;
  color: white !important;
  border-radius: 50%;
  pointer-events: none;
  /* Evita interacción con fechas deshabilitadas */
}

/* elementos del eccomerce */
.nav-pills .nav-link {
  color: #333;
  background-color: #f0f0f0;
  /* Color claro */
  transition: all 0.3s ease;
}

.nav-pills .nav-link.active {
  background-color: #96b900 !important;
  /* Verde activo */
  color: #fff !important;
}

.nav-pills .nav-link {
  font-size: larger;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* elementos del eccomerce */
.nav-pills .nav-link {
  color: #333;
  background-color: #f0f0f0;
  transition: all 0.3s ease;
  font-size: larger;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.nav-pills .nav-link.active {
  background-color: #96b900 !important;
  color: #fff !important;
}

/* Estilos para barra de busqueda eccomerce */
.search-bar-ecomerce {
  background-color: #ffffff;
  border-radius: 40px;
  border: 2px solid #eaeaea;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
  max-width: 100%;
  box-sizing: border-box;
  transition:
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.search-bar-ecomerce:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  border-color: #dcdcdc;
}

.search-group-ecomerce {
  display: flex;
  flex-direction: column;
  padding: 0 10px;
  box-sizing: border-box;
}

.search-group-ecomerce:not(:last-child) {
  border-right: 1px solid #ddd;
}

.search-label-ecomerce {
  font-weight: bold;
  font-size: 14px;
  color: #333;
}

.search-input-ecomerce {
  border: none;
  outline: none;
  font-size: 16px;
  color: #666;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.search-input-ecomerce::placeholder {
  color: #aaa;
}

.search-button-ecomerce {
  background-color: #96b900;
  color: white;
  border: none;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  box-sizing: border-box;
}

.search-button-ecomerce i {
  font-size: 18px;
}

.search-button-ecomerce:hover {
  background-color: #000000;
  color: white;
}

.eSearch-container {
  width: 85%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 📱 Responsive para pantallas pequeñas */
@media (max-width: 768px) {
  .search-bar-ecomerce {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    gap: 16px;
    border-radius: 20px;
  }

  .search-group-ecomerce {
    width: 100%;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid #ddd;
  }

  .search-group-ecomerce:last-child {
    border-bottom: none;
  }

  .search-input-ecomerce {
    font-size: 15px;
  }

  .search-button-ecomerce {
    width: 100%;
    height: 50px;
    border-radius: 8px;
    margin-top: 12px;
  }

  #toggleAdvancedFiltersEvents {
    width: 100%;
    text-align: center;
    margin-top: 8px;
    box-sizing: border-box;
  }

  .eSearch-container {
    width: 100%;
    padding: 0 12px;
  }
}

@media (max-width: 576px) {
  .search-label-ecomerce {
    font-size: 13px;
  }

  .search-input-ecomerce {
    font-size: 14px;
  }
}

.team-members {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.provider-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10px;
}

.provider-item img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  margin-bottom: 5px;
}

.provider-name {
  max-width: 80px;
  word-wrap: break-word;
}

.provider-name small {
  font-size: 11px;
  line-height: 1.2;
}

/* ====================================
   MEJORAS PARA VISTA DE PAGO DEL CARRITO
   ==================================== */

/* Contenedor principal */
.payment-container {
  background: linear-gradient(135deg, #f8fafc 0%, #e3f2fd 100%);
  min-height: 100vh;
  padding: 20px 0;
}

/* Header mejorado */
.payment-header {
  background: linear-gradient(135deg, #96b900 0%, #7ba428 100%);
  color: white;
  border-radius: 15px 15px 0 0;
  padding: 25px 30px;
  box-shadow: 0 8px 32px rgba(150, 185, 0, 0.3);
  position: relative;
  overflow: hidden;
}

.payment-header::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle,
      rgba(255, 255, 255, 0.1) 0%,
      transparent 70%);
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {

  0%,
  100% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
  }

  50% {
    transform: translateX(0%) translateY(0%) rotate(45deg);
  }
}

.payment-header h1 {
  margin: 0;
  font-weight: 300;
  font-size: 2.2rem;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}

.payment-header .fa {
  margin-right: 15px;
  font-size: 1.4em;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {

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

  50% {
    transform: scale(1.1);
  }
}

/* Botón de pago mejorado */
.btn-pay-enhanced {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  border: none;
  border-radius: 50px;
  padding: 15px 35px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  transition: all 0.4s ease;
  box-shadow: 0 8px 25px rgba(40, 167, 69, 0.4);
  position: relative;
  overflow: hidden;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-pay-enhanced .ladda-label {
  position: relative;
  z-index: 2;
  display: inline-block;
}

.btn-pay-enhanced .ladda-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.btn-pay-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent);
  transition: left 0.5s ease;
  z-index: 0;
}

.btn-pay-enhanced:hover::before {
  left: 100%;
}

.btn-pay-enhanced:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(40, 167, 69, 0.6);
  color: white;
}

/* Secciones del carrito */
.cart-section {
  background: white;
  border-radius: 20px;
  margin: 25px 0;
  overflow: hidden;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.cart-section:hover {
  transform: translateY(-5px);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15);
}

/* Headers de sección */
.section-header-enhanced {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 25px 30px;
  border-bottom: 3px solid #96b900;
  position: relative;
}

.section-header-enhanced::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #96b900, #7ba428, #96b900);
  animation: slide 2s ease-in-out infinite;
}

@keyframes slide {

  0%,
  100% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(100%);
  }
}

.section-header-enhanced h4,
.section-header-enhanced h5 {
  margin: 0;
  color: #2c3e50;
  font-weight: 700;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}

.section-header-enhanced .fa {
  margin-right: 12px;
  color: #96b900;
  font-size: 1.2em;
}

/* Stream mejorado */
.stream-enhanced {
  padding: 25px 30px;
  border-left: 5px solid transparent;
  margin: 20px 0;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 15px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.stream-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, #96b900, #7ba428);
  transition: width 0.3s ease;
}

.stream-enhanced:hover::before {
  width: 8px;
}

.stream-enhanced:hover {
  transform: translateX(10px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
  border-left-color: #96b900;
}

/* Badge moderno */
.stream-badge-modern {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, #96b900 0%, #7ba428 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 25px;
  box-shadow: 0 8px 25px rgba(150, 185, 0, 0.4);
  position: relative;
  overflow: hidden;
}

.stream-badge-modern::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(transparent,
      rgba(255, 255, 255, 0.3),
      transparent);
  animation: rotate 3s linear infinite;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.stream-badge-modern i {
  color: white;
  font-size: 28px;
  position: relative;
  z-index: 2;
}

/* Precio mejorado */
.price-amount-enhanced {
  font-size: 2.2em;
  font-weight: 800;
  background: linear-gradient(135deg, #96b900, #7ba428);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  position: relative;
}

/* Grid de proveedores */
.providers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 25px;
  padding: 30px;
}

.provider-card-enhanced {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 20px;
  padding: 25px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
}

.provider-card-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #96b900, #7ba428);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.provider-card-enhanced:hover::before {
  opacity: 0.05;
}

.provider-card-enhanced:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  border-color: #96b900;
}

.provider-card-enhanced img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #96b900;
  margin-bottom: 15px;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
}

.provider-card-enhanced:hover img {
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(150, 185, 0, 0.5);
  border-width: 6px;
}

.provider-name-enhanced {
  font-weight: 700;
  color: #2c3e50;
  font-size: 14px;
  margin-top: 10px;
  position: relative;
  z-index: 2;
}

/* Showcase de productos */
.products-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px;
  padding: 30px;
}

.product-image-enhanced {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
  border: 3px solid transparent;
  position: relative;
  overflow: hidden;
}

.product-image-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg,
      rgba(150, 185, 0, 0.2),
      rgba(123, 164, 40, 0.2));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.product-image-enhanced:hover::before {
  opacity: 1;
}

.product-image-enhanced:hover {
  transform: scale(1.08);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
  border-color: #96b900;
}

/* Métodos de pago */
.payment-methods-section {
  background: white;
  border-radius: 20px;
  margin: 25px 0;
  overflow: hidden;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
}

.payment-card-modern {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border: 2px solid #e9ecef;
  border-radius: 20px;
  padding: 25px;
  margin: 20px;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.payment-card-modern::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
      transparent,
      rgba(150, 185, 0, 0.1),
      transparent);
  transition: left 0.6s ease;
}

.payment-card-modern:hover::before {
  left: 100%;
}

.payment-card-modern:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  border-color: #96b900;
}

/* Desglose de precios */
.price-breakdown-modern {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 5px;
  padding: 20px;
  margin: 15px 0;
  border: 1px solid #e9ecef;
  transition: all 0.3s ease;
}

.price-breakdown-modern:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* Total final destacado */
.total-final-highlight {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  color: white;
  border-radius: 10px;
  padding: 25px;
  text-align: center;
  box-shadow: 0 15px 40px rgba(40, 167, 69, 0.3);
  margin: 20px 0;
}

/* Animaciones */
.fade-in {
  animation: fadeIn 0.8s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.slide-up {
  animation: slideUp 0.6s ease-out;
}

@keyframes slideUp {
  from {
    transform: translateY(30px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Responsive Design */
/* Centrar títulos de secciones */
.section-header {
  text-align: center;
}

.section-header h3,
.section-header h4,
.section-header h5 {
  justify-content: center;
}

/* Centrar título del header principal */
.payment-header {
  text-align: center;
}

.payment-header .row {
  align-items: center;
}

.payment-header h1 {
  justify-content: center;
  text-align: center;
}

/* Para mobile, asegurar que esté centrado */
@media (max-width: 768px) {

  .payment-header .col-md-8,
  .payment-header .col-md-4 {
    text-align: center;
    margin-bottom: 15px;
  }

  .payment-header .text-right {
    text-align: center !important;
  }
}

@media (max-width: 480px) {

  .providers-grid,
  .products-showcase {
    grid-template-columns: 1fr;
  }

  .payment-header h1 {
    font-size: 1.5rem;
  }

  .price-amount-enhanced {
    font-size: 1.8rem;
  }
}

/* Timeline de productos */
.products-timeline {
  position: relative;
}

.product-card-enhanced {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #e8f4f8;
  overflow: hidden;
  transition: all 0.3s ease;
}

.product-card-enhanced:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.product-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1.5rem;
  border-bottom: 1px solid #dee2e6;
}

.product-icon-badge {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
}

.product-type-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  color: white;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.product-title {
  color: #2c3e50;
  font-weight: 600;
  font-size: 1.2rem;
}

.product-main-price .price-primary {
  font-size: 1.8rem;
  font-weight: 800;
  color: #2c3e50;
  line-height: 1;
}

.product-main-price .price-secondary {
  font-size: 1rem;
  color: #27ae60;
  font-weight: 600;
}

.product-content {
  padding: 1.5rem;
  min-height: 12rem;
}

.section-subtitle {
  color: #2c3e50;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #96b900;
}

/* Lista de precios */
.price-breakdown-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.price-item {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
  border-left: 4px solid #96b900;
}

.price-item-name {
  color: #2c3e50;
  font-size: 1rem;
}

.currency-origin-badge {
  background: #e3f2fd;
  color: #1976d2;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  margin-left: 8px;
}

.price-item-amount .amount-primary {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50;
}

/* Conversión compacta */
.conversion-info-compact {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px dashed #dee2e6;
}

.conversion-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.conversion-step {
  background: #fff;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-size: 0.8rem;
  font-weight: 600;
}

.conversion-step.final {
  background: #96b900;
  color: white;
  border-color: #96b900;
}

.exchange-rate-info {
  color: #6c757d;
  font-size: 0.75rem;
}

/* Cálculo de totales */
.totals-calculation {
  background: #fff;
  border-radius: 8px;
  padding: 1rem;
  border: 1px solid #e9ecef;
}

.total-line {
  padding: 0.75rem 0;
  border-bottom: 1px solid #f1f3f4;
}

.total-line:last-child {
  border-bottom: none;
}

.total-label {
  font-weight: 600;
  color: #495057;
}

.total-amounts .amount-primary {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50;
}

.total-amounts .amount-secondary {
  font-size: 0.9rem;
  color: #27ae60;
  font-weight: 600;
}

.product-total-line {
  background: #f8f9fa;
  margin: 0 -1rem;
  padding: 1rem;
  border-top: 2px solid #96b900;
}

.product-total-amount {
  font-size: 1.3rem !important;
  color: #96b900 !important;
}

/* Resumen de conversión */
.conversion-summary {
  background: #e8f5e8;
  border-radius: 8px;
  padding: 1rem;
  margin-top: 1rem;
}

.summary-title {
  color: #2c3e50;
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}

.summary-line {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
}

.total-summary {
  border-top: 1px solid #c8e6c9;
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}

.conversion-summary {
  background: #96b900;
  color: white;
  padding: 0.5rem;
  border-radius: 6px;
  margin-top: 0.5rem;
}

/* Separador entre productos */
.product-separator {
  display: flex;
  align-items: center;
  margin: 2rem 0;
}

.separator-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, #dee2e6, transparent);
}

.separator-icon {
  margin: 0 1rem;
  width: 40px;
  height: 40px;
  background: white;
  border: 2px solid #96b900;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

/* Sidebar */
.cart-sidebar {
  position: sticky;
  top: 100px;
}

.total-summary-card {
  background: linear-gradient(135deg, #96b900 0%, #7ba428 100%);
  color: white;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 2rem;
  box-shadow: 0 8px 30px rgba(150, 185, 0, 0.3);
}

.summary-header {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
}

.summary-body {
  padding: 1.5rem;
}

.total-main-amount {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.total-usd-amount {
  font-size: 1.2rem;
  opacity: 0.9;
  font-weight: 600;
}

.summary-breakdown {
  margin: 1.5rem 0;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}

.breakdown-line {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.breakdown-line:last-child {
  margin-bottom: 0;
}

.total-breakdown {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-top: 0.75rem;
  margin-top: 0.75rem;
}

.breakdown-amount.total-amount {
  font-size: 1.1rem;
}

.payment-info {
  background: rgba(255, 255, 255, 0.1);
  padding: 1rem;
  border-radius: 10px;
}

.payment-notice,
.currency-info {
  margin-bottom: 0.75rem;
}

.payment-notice:last-child,
.currency-info:last-child {
  margin-bottom: 0;
}

/* Cards de preview */
.products-preview-card,
.providers-preview-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
}

.preview-header {
  display: flex;
  justify-content: between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e9ecef;
}

.preview-header h5 {
  margin: 0;
  color: #2c3e50;
  font-size: 1rem;
}

.products-count {
  background: #96b900;
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
}

.products-grid-mini {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.product-mini-card {
  position: relative;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f9fa;
}

.product-mini-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-mini-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(150, 185, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.product-mini-card:hover .product-mini-overlay {
  opacity: 1;
}

.more-products {
  background: #96b900;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
}

.providers-list-mini {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.provider-mini-item {
  display: flex;
  align-items: center;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 8px;
  margin-bottom: 0.75rem;
}

.provider-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 0.75rem;
}

.provider-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.provider-name {
  font-weight: 600;
  color: #2c3e50;
  font-size: 0.9rem;
}

/* Responsive */
@media (max-width: 991px) {
  .cart-sidebar {
    position: static;
    margin-top: 2rem;
  }

  .products-grid-mini {
    grid-template-columns: repeat(4, 1fr);
  }

  .total-main-amount {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  .product-header {
    padding: 1rem;
  }

  .product-content {
    padding: 1rem;
  }

  .conversion-flow {
    flex-direction: column;
    align-items: flex-start;
  }

  .total-main-amount {
    font-size: 1.8rem;
  }
}

/* ✅ ESTILOS PARA MEJORAR ALINEACIÓN DE CHECKBOXES Y RADIOS */
.form-check.abc-checkbox {
  display: flex;
  align-items: center;
  padding-left: 0;
}

.form-check.abc-checkbox .form-check-input {
  position: static;
  margin-right: 12px;
  margin-top: 0;
  flex-shrink: 0;
}

.form-check.abc-checkbox .form-check-label {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.form-check.abc-checkbox .form-check-label h5 {
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 1.1rem;
  font-weight: 600;
  color: #2c3e50;
}

.form-check.abc-checkbox .form-check-label h3 {
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 600;
  color: #2c3e50;
}

.form-check.abc-checkbox .form-check-label i {
  color: #96b900;
  margin-right: 8px;
}

/* Hover effect para mejorar UX */
.form-check.abc-checkbox:hover .form-check-label {
  color: #96b900;
}

.form-check.abc-checkbox:hover .form-check-label i {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}

/* ===================================
   CREDIT CARDS STYLES - FontAwesome 4.7.0
   =================================== */

/* ✅ CONTENEDOR PRINCIPAL */
.body-cards {
  min-height: 400px;
}

/* ✅ ENCABEZADO DE LA SECCIÓN */
.cards-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 30px;
}

.cards-title {
  margin: 0;
  color: white;
}

.cards-subtitle {
  margin: 5px 0 0 0;
  opacity: 0.9;
}

.btn-add-card {
  font-weight: bold;
}

/* ✅ ESTILOS BASE DE TARJETAS */
.credit-card {
  border-radius: 15px;
  padding: 25px;
  margin-bottom: 20px;
  color: white;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-height: 190px;
}

.credit-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
}

.credit-card::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transition: all 0.3s ease;
}

.credit-card:hover::before {
  top: -30%;
  right: -30%;
}

/* ✅ GRADIENTES POR MARCA */
.visa-gradient {
  background-color: #1e3c72;
}

.mastercard-gradient {
  background-color: #ee5a52;
}

.amex-gradient {
  background-color: #27ae60;
}

.discover-gradient {
  background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
}

.default-gradient {
  background: linear-gradient(135deg, #95a5a6 0%, #7f8c8d 100%);
}

/* ✅ ELEMENTOS DE LA TARJETA */
.card-brand-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  opacity: 0.9;
}

.card-number {
  font-family: "Courier New", monospace;
  font-size: 1.4em;
  letter-spacing: 3px;
  margin: 20px 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.card-holder {
  font-size: 0.9em;
  text-transform: uppercase;
  opacity: 0.9;
  margin-top: 15px;
}

.card-expiry {
  font-size: 0.9em;
  opacity: 0.9;
}

.card-label {
  opacity: 0.7;
}

.card-brand-name {
  margin-top: 15px;
  opacity: 0.8;
}

.card-default-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: rgba(255, 255, 255, 0.2);
  padding: 5px 10px;
  border-radius: 15px;
  font-size: 0.8em;
  font-weight: bold;
}

.card-debug-info {
  margin-top: 15px;
  font-size: 0.7em;
  opacity: 0.7;
}

/* ✅ ACCIONES DE LA TARJETA */
.card-actions {
  margin-top: 20px;
  text-align: center;
}

.btn-card-action {
  margin: 0 5px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  color: white;
  transition: all 0.3s ease;
}

.btn-card-action:hover {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}

.btn-card-action.btn-delete:hover {
  background: rgba(190, 53, 69, 0.8);
  border-color: rgba(190, 53, 69, 0.8);
}

/* ✅ TARJETA PARA AGREGAR NUEVA */
.add-card-container {
  border: 2px dashed #ddd;
  border-radius: 15px;
  padding: 40px 20px;
  text-align: center;
  transition: all 0.3s ease;
  background: #f8f9fa;
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.add-card-container:hover {
  border-color: #007bff;
  background: #e3f2fd;
  transform: scale(1.02);
}

/* ✅ ESTADO VACÍO */
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #6c757d;
}

/* ✅ ANIMACIÓN DE PULSO USANDO FA 4.7.0 */
.fa-pulse {
  -webkit-animation: fa-pulse 1s infinite linear;
  animation: fa-pulse 1s infinite linear;
}

@-webkit-keyframes fa-pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes fa-pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* ✅ RESPONSIVE */
@media (max-width: 768px) {
  .credit-card {
    margin-bottom: 15px;
  }

  .card-number {
    font-size: 1.2em;
    letter-spacing: 2px;
  }

  .cards-header {
    padding: 20px;
    text-align: center;
  }

  .cards-header .col-lg-4 {
    margin-top: 15px;
  }

  .btn-card-action {
    margin: 2px;
    font-size: 0.85em;
  }
}

@media (max-width: 576px) {
  .card-actions {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .btn-card-action {
    margin: 0;
    width: 100%;
  }
}

/* ✅ EFECTOS ADICIONALES */
.credit-card {
  background-attachment: fixed;
}

.card-brand-icon i {
  transition: all 0.3s ease;
}

.credit-card:hover .card-brand-icon i {
  transform: scale(1.1);
}

/* ✅ MEJORAS VISUALES */
.btn-add-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.empty-state i {
  opacity: 0.5;
}

.empty-state h3 {
  margin-top: 20px;
  color: #495057;
}

.empty-state p {
  font-size: 1.1em;
  margin-bottom: 25px;
}

/* ==========================================
   MODERN SHOPPING CART TABS STYLES
   ========================================== */

/* General card styles for all tabs */
.modern-tab-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 15px;
  padding: 25px;
  color: white;
  box-shadow: 0 15px 35px rgba(102, 126, 234, 0.1);
  margin-bottom: 20px;
  transition: all 0.3s ease;
  animation: fadeInUp 0.6s ease-out;
}

.modern-tab-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(102, 126, 234, 0.15);
}

/* Rental Tab Specific */
.rental-modern-card {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.rental-modern-card:hover {
  box-shadow: 0 20px 40px rgba(79, 172, 254, 0.15);
}

/* Services Tab Specific */
.services-modern-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.services-modern-card:hover {
  box-shadow: 0 20px 40px rgba(102, 126, 234, 0.15);
}

/* Events Tab Specific */
.events-modern-card {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.events-modern-card:hover {
  box-shadow: 0 20px 40px rgba(240, 147, 251, 0.15);
}

/* Taxis Tab Specific */
.taxis-modern-card {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.taxis-modern-card:hover {
  box-shadow: 0 20px 40px rgba(67, 233, 123, 0.15);
}

/* Card Headers */
.tab-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.tab-card-title {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0;
  color: white;
}

.tab-price-badge {
  background: rgba(255, 255, 255, 0.2);
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

/* Info Grid */
.tab-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-bottom: 20px;
}

.tab-info-item {
  background: rgba(255, 255, 255, 0.1);
  padding: 15px;
  border-radius: 10px;
  text-align: center;
  backdrop-filter: blur(5px);
}

.tab-info-label {
  font-size: 0.85rem;
  opacity: 0.8;
  margin-bottom: 5px;
}

.tab-info-value {
  font-size: 1.1rem;
  font-weight: 600;
}

/* Date Timeline */
.tab-date-timeline {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
  text-align: center;
}

.tab-date-header {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: white;
}

.tab-date-display {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.tab-date-item {
  text-align: center;
}

.tab-date-value {
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
  margin-bottom: 5px;
}

.tab-date-label {
  font-size: 0.9rem;
  opacity: 0.8;
}

.tab-date-arrow {
  font-size: 1.5rem;
  opacity: 0.6;
}

/* Price Breakdown */
.tab-price-breakdown {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
}

.tab-price-header {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: white;
}

.tab-price-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.tab-price-item:last-child {
  border-bottom: 2px solid rgba(255, 255, 255, 0.3);
  font-weight: 700;
  font-size: 1.1rem;
  margin-top: 10px;
  padding-top: 15px;
}

/* Timeline for services */
.tab-timeline {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
}

.tab-timeline-header {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: white;
}

.tab-session-item {
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.tab-session-item:last-child {
  border-bottom: none;
}

.tab-session-icon {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  font-size: 18px;
}

.tab-session-details {
  flex: 1;
}

.tab-session-time {
  font-weight: 600;
  margin-bottom: 3px;
}

.tab-session-duration {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* Actions */
.tab-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.tab-btn-modern {
  padding: 12px 24px;
  border: none;
  border-radius: 25px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tab-btn-primary {
  background: rgba(255, 255, 255, 0.9);
  color: #667eea;
}

.tab-btn-primary:hover {
  background: white;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: #667eea;
}

.tab-btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.tab-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  color: white;
}

/* Responsive Design */
@media (max-width: 768px) {
  .tab-info-grid {
    grid-template-columns: 1fr;
  }

  .tab-card-header {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .tab-actions {
    flex-direction: column;
  }

  .tab-date-display {
    flex-direction: column;
    gap: 10px;
  }

  .tab-date-arrow {
    transform: rotate(90deg);
  }
}

/* Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================
   COMPACT CARD STYLES FOR SHOPPING CART
   ========================================== */

/* Compact card structure */
.compact-card {
  padding: 0 !important;
  overflow: hidden;
  max-width: 100%;
  width: 100%;
  margin: 0 auto 20px auto;
  height: auto;
  background: white !important;
  color: #333 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
}

/* Image header for cards */
.tab-card-image {
  position: relative;
  height: 150px;
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}

.tab-service-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.compact-card:hover .tab-service-image {
  transform: scale(1.05);
}

.tab-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.1) 0%,
      rgba(0, 0, 0, 0.4) 100%);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 15px;
}

.tab-image-overlay .tab-price-badge {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.5);
  color: #2c3e50;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 1.1em;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  text-shadow: none;
}

/* Compact card content */
.tab-card-content {
  padding: 20px;
  background: white;
  color: #333;
}

/* Compact grid layout */
.compact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 20px;
}

.compact-grid .tab-info-item {
  text-align: center;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e9ecef;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.compact-grid .tab-info-label {
  font-size: 0.85em;
  color: #6c757d;
  margin-bottom: 4px;
  font-weight: 500;
}

.compact-grid .tab-info-value {
  font-weight: 600;
  font-size: 0.95em;
  color: #2c3e50;
}

/* Compact breakdown */
.compact-breakdown {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.compact-breakdown .tab-price-header {
  font-size: 0.95em;
  margin-bottom: 10px;
  font-weight: 600;
  color: #495057;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 8px;
}

.compact-item {
  padding: 6px 0 !important;
  font-size: 0.9em !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
}

/* Compact actions */
.compact-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.compact-btn {
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-size: 1.1em !important;
  min-width: auto !important;
}

.compact-btn i {
  margin: 0 !important;
}

/* Better card hover effects */
.compact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Rectangular card layout optimization */
.compact-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tab-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Route info styling for taxis */
.tab-route-info {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
}

/* Header styling for white background */
.tab-card-header {
  margin-bottom: 15px;
}

.tab-card-title {
  color: #2c3e50;
  font-size: 1.1em;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tab-card-title i {
  color: #6c757d;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .compact-card {
    max-width: 100%;
    margin-bottom: 15px;
  }

  .tab-card-image {
    height: 120px;
  }

  .compact-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .tab-card-content {
    padding: 15px;
  }

  .compact-breakdown {
    padding: 12px;
  }
}

/* Better mobile optimization */
@media (max-width: 480px) {
  .compact-card {
    margin-bottom: 12px;
  }

  .tab-card-image {
    height: 100px;
  }

  .tab-image-overlay .tab-price-badge {
    font-size: 0.95em !important;
    padding: 6px 12px !important;
  }

  .compact-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .compact-grid .tab-info-item {
    padding: 8px !important;
  }

  .compact-grid .tab-info-label {
    font-size: 0.8em !important;
  }

  .compact-grid .tab-info-value {
    font-size: 0.9em !important;
  }

  .compact-btn {
    width: 40px !important;
    height: 40px !important;
    font-size: 1em !important;
  }
}

/* 📱 En pantallas pequeñas y medianas: ocultar texto */
@media (max-width: 991px) {
  .nav-tabs .nav-link span {
    display: none;
    /* solo se muestra el ícono */
  }

  .nav-tabs .nav-link i {
    font-size: 1.9rem;
    /* agrandar un poco el ícono */
  }

  .nav-tabs {
    justify-content: space-around;
    /* distribuir horizontalmente */
    flex-wrap: nowrap;
    /* que no se bajen */
    overflow-x: auto;
    /* scroll horizontal si no caben */
    overflow-y: hidden;
  }

  .nav-tabs .nav-item {
    flex: 1 1 auto;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* oculta scrollbar en Firefox */
  }

  .nav-tabs::-webkit-scrollbar {
    display: none;
    /* oculta scrollbar en Chrome/Safari */
  }

  .nav-tabs .nav-item {
    flex: 0 0 auto;
    min-width: 64px;
    text-align: center;
  }

  .nav-tabs .nav-link {
    padding: 10px;
    box-sizing: border-box;
    overflow: visible;
    min-width: 64px;
  }

  .nav-tabs .nav-link i {
    font-size: 1.8rem;
    display: block;
    margin: 0 auto;
  }

  .nav-tabs .nav-link span {
    display: none;
    /* solo íconos en pantallas muy pequeñas */
  }
}

.custom-navbar {
  z-index: 1100;
}

.custom-footer {
  position: relative;
  z-index: 1000;
}

/* CSS */
.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(1920px, calc(100% - 32px));
  z-index: 9999;
  background: rgba(150, 185, 0, 1);
  /* #96B900 con alfa 0.8 */
  border: 4px solid rgba(0, 0, 0, 0.12);
  /* borde sólido y grueso */
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  transition:
    transform 190ms ease,
    opacity 190ms ease;
}

/* Contenido interno */
.cookie-content {
  width: 100%;
  height: 15vh;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  color: #0b0b0b;
  font-size: 14px;
  line-height: 1.2;
  flex-wrap: nowrap;
}

/* Botón aceptar */
.cookie-btn {
  background: #ffffff;
  color: #2b2b2b;
  border: 2px solid rgba(0, 0, 0, 0.08);
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 120ms ease,
    box-shadow 120ms ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

/* Hover y foco */
.cookie-btn:hover,
.cookie-btn:focus {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
  outline: none;
}

/* Mobile adjustments */
@media (max-width: 520px) {
  .cookie-banner {
    bottom: 12px;
    padding: 12px;
    border-radius: 10px;
  }

  .cookie-content {
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    text-align: center;
  }

  .cookie-btn {
    width: 100%;
  }
}

/* ==========================================
   ESTILOS PARA BANNER PRINCIPAL CON IMAGEN DE FONDO
   ========================================== */

.banner-principal {
  width: 100%;
  height: 100vh;
  background: url("../img/landing/header_one.jpg") center center no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  text-align: center;
}

.banner-principal::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  /* overlay oscuro */
}

.banner-content {
  position: relative;
  z-index: 1;
  max-width: 900px;
  padding: 1rem;
}

/* Contenedor de las cards */
.card-banner-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

/* Estilo base de las cards */
.card-banner-proveedor,
.card-banner-usuarios {
  background: rgba(150, 185, 0, 0.6);
  /* #96B900 con alfa */

  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  padding: 1.5rem 2rem;
  min-width: 160px;
  text-align: center;
  backdrop-filter: blur(4px);
  /* efecto glass */
  transition:
    transform 0.2s ease,
    background 0.3s ease;
}

.card-banner-proveedor:hover,
.card-banner-usuarios:hover {
  transform: translateY(-5px);
  background: rgba(0, 0, 0, 0.45);
}

/* Títulos */
.card-banner-title {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  margin: 0;
}

.banner-logo {
  margin-bottom: 1rem;
}

.banner-logo img {
  max-width: 120px;
  /* tamaño pequeño */
  height: auto;
  display: block;
  margin: 0 auto;
  /* centra la imagen */
}

/* ==========================================
   BOOKINGS CLIENTS STYLES
   ========================================== */

/* Base Layout */
.booking_client-layout-container {
  display: flex;
  height: 100%;
  flex-grow: 1;
  flex-direction: column;
}

/* Background & Colors */
.booking_client-bg-light {
  background-color: #f1f2f3;
  min-height: 100vh;
  color: #181d0c;
}

.booking_client-bg-dark {
  background-color: #1a1d23;
  color: white;
}

.booking_client-bg-white {
  background-color: white;
}

.booking_client-bg-primary {
  background-color: #84b800;
}

.booking_client-bg-primary-10 {
  background-color: rgba(132, 184, 0, 0.1);
}

.booking_client-bg-primary-5 {
  background-color: rgba(132, 184, 0, 0.05);
}

.booking_client-bg-pending {
  background-color: #f8ac59;
}

.booking_client-bg-error {
  background-color: #ed5565;
}

.booking_client-bg-error-5 {
  background-color: rgba(237, 85, 101, 0.05);
}

.booking_client-bg-error-10 {
  background-color: rgba(237, 85, 101, 0.1);
}

.booking_client-bg-gray-50 {
  background-color: #f9fafb;
}

.booking_client-bg-white-5 {
  background-color: rgba(255, 255, 255, 0.05);
}

/* Header */
.booking_client-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background-color: white;
  padding: 0.75rem 2.5rem;
  position: sticky;
  top: 0;
  z-index: 50;
}

.booking_client-header-dark {
  background-color: #1a1d23;
}

.booking_client-header-content {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.booking_client-header-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #181d0c;
}

.booking_client-header-brand-dark {
  color: white;
}

.booking_client-header-logo {
  width: 1.5rem;
  height: 1.5rem;
  color: #84b800;
}

.booking_client-header-title {
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

/* Navigation */
.booking_client-nav {
  display: none;
  align-items: center;
  gap: 2.25rem;
}

@media (min-width: 768px) {
  .booking_client-nav {
    display: flex;
  }
}

.booking_client-nav-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.booking_client-nav-link:hover {
  color: #84b800;
}

.booking_client-nav-link-active {
  color: #84b800;
  border-bottom: 2px solid #84b800;
}

/* Header Actions */
.booking_client-header-actions {
  display: flex;
  flex: 1;
  justify-content: flex-end;
  gap: 1.5rem;
  align-items: center;
}

.booking_client-search-container {
  display: none;
  align-items: center;
  background-color: #f1f2f3;
  border-radius: 0.5rem;
  padding: 0.375rem 0.75rem;
  width: 16rem;
  border: 1px solid transparent;
  transition: all 0.2s;
}

@media (min-width: 1024px) {
  .booking_client-search-container {
    display: flex;
  }
}

.booking_client-search-container:focus-within {
  border-color: rgba(132, 184, 0, 0.5);
}

.booking_client-search-container-dark {
  background-color: rgba(255, 255, 255, 0.05);
}

.booking_client-search-icon {
  color: #84b800;
  font-size: 1.25rem;
}

.booking_client-search-input {
  background: transparent;
  border: none;
  outline: none;
  font-size: 0.875rem;
  width: 100%;
  margin-left: 0.5rem;
}

.booking_client-search-input::placeholder {
  color: #9ca3af;
}

.booking_client-btn-primary {
  display: flex;
  min-width: 5.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  height: 2.5rem;
  padding: 0 1.25rem;
  background-color: #84b800;
  color: white;
  font-size: 0.875rem;
  font-weight: 700;
  box-shadow: 0 10px 15px -3px rgba(132, 184, 0, 0.2);
  transition: all 0.2s;
  border: none;
  text-decoration: none;
}

.booking_client-btn-primary:hover {
  background-color: rgba(132, 184, 0, 0.9);
}

.booking_client-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  border: 2px solid rgba(132, 184, 0, 0.2);
}

/* Main Content */
.booking_client-main {
  max-width: 75rem;
  margin: 0 auto;
  width: 100%;
  padding: 2rem 1.5rem;
}

/* Breadcrumbs */
.booking_client-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.booking_client-breadcrumb-link {
  color: #84b800;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}

.booking_client-breadcrumb-link:hover {
  text-decoration: underline;
}

.booking_client-breadcrumb-separator {
  color: #9ca3af;
  font-size: 0.875rem;
}

.booking_client-breadcrumb-current {
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 700;
}

.booking_client-breadcrumb-current-dark {
  color: #d1d5db;
}

/* Page Header */
.booking_client-page-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 2rem;
}

.booking_client-page-title-section {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.booking_client-page-title-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.booking_client-page-title {
  font-size: 1.875rem;
  font-weight: 900;
  letter-spacing: -0.025em;
  margin: 0;
}

.booking_client-vip-badge {
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  background-color: rgba(132, 184, 0, 0.1);
  color: #84b800;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.booking_client-page-subtitle {
  color: #6b7280;
  font-size: 1rem;
  margin: 0;
}

.booking_client-page-subtitle-dark {
  color: #9ca3af;
}

.booking_client-page-actions {
  display: flex;
  gap: 0.75rem;
}

.booking_client-btn-secondary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  height: 2.5rem;
  padding: 0 1rem;
  background-color: white;
  border: 1px solid #e5e7eb;
  font-size: 0.875rem;
  font-weight: 700;
  transition: background-color 0.2s;
  text-decoration: none;
  color: inherit;
}

.booking_client-btn-secondary:hover {
  background-color: #f9fafb;
}

.booking_client-btn-secondary-dark {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.booking_client-btn-icon {
  font-size: 1.125rem;
}

/* Product Sections */
.booking_client-section {
  margin-bottom: 3rem;
}

.booking_client-section-faded {
  opacity: 0.95;
}

.booking_client-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.booking_client-section-indicator {
  height: 2rem;
  width: 0.375rem;
  border-radius: 9999px;
}

.booking_client-section-indicator-primary {
  background-color: #84b800;
}

.booking_client-section-indicator-error {
  background-color: #ed5565;
  box-shadow: 0 0 10px rgba(237, 85, 101, 0.4);
}

.booking_client-section-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  margin: 0;
}

.booking_client-section-ref {
  margin-left: auto;
  font-size: 0.75rem;
  font-family: "Roboto Mono", monospace;
  color: #9ca3af;
}

/* Product Cards */
.booking_client-product-card {
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    0 10px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  background-color: white;
}

.booking_client-product-card-dark {
  background-color: rgba(255, 255, 255, 0.05);
}

.booking_client-product-card-error {
  border-color: rgba(237, 85, 101, 0.3);
}

.booking_client-product-grid {
  display: grid;
  grid-template-columns: 1fr;
  height: 20rem;
}

@media (min-width: 768px) {
  .booking_client-product-grid {
    grid-template-columns: 3fr 2fr;
  }
}

.booking_client-product-grid-small {
  height: 17.5rem;
}

/* Product Image Section */
.booking_client-product-image-section {
  position: relative;
  height: 100%;
}

@media (min-width: 768px) {
  .booking_client-product-image-section {
    grid-column: span 3;
  }
}

.booking_client-product-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.booking_client-product-image-grayscale {
  filter: grayscale(100%);
}

.booking_client-product-overlay {
  position: absolute;
  inset: 0;
}

.booking_client-product-overlay-primary {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.4), transparent);
}

.booking_client-product-overlay-error {
  background: linear-gradient(to right, rgba(237, 85, 101, 0.6), transparent);
}

.booking_client-product-overlay-dark {
  background: linear-gradient(to top left, rgba(17, 24, 39, 0.5), transparent);
  opacity: 0.8;
  z-index: 0;
}

.booking_client-product-corner-icon {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: white;
  opacity: 0.8;
  font-size: 2.5rem;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

.booking_client-product-badge {
  position: absolute;
  bottom: 1.5rem;
  left: 2rem;
  color: white;
}

.booking_client-product-badge-tag {
  background-color: #84b800;
  padding: 0.25rem 0.75rem;
  border-radius: 0.25rem;
  font-size: 0.625rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.booking_client-product-badge-title {
  font-size: 1.5rem;
  font-weight: 900;
  margin: 0;
}

.booking_client-product-badge-subtitle {
  font-size: 0.875rem;
  opacity: 0.9;
  font-weight: 500;
  margin: 0;
}

/* Product Alert Overlay */
.booking_client-product-alert {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.booking_client-product-alert-box {
  background-color: rgba(237, 85, 101, 0.9);
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.booking_client-product-alert-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.booking_client-product-alert-icon {
  font-size: 1.5rem;
}

.booking_client-product-alert-text {
  font-size: 1.125rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.025em;
}

/* Product Info Section */
.booking_client-product-info-section {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid #f9fafb;
}

@media (min-width: 768px) {
  .booking_client-product-info-section {
    grid-column: span 2;
  }
}

.booking_client-product-info-section-dark {
  border-left-color: rgba(255, 255, 255, 0.05);
}

.booking_client-product-info-section-error {
  border-left-color: rgba(237, 85, 101, 0.1);
}

.booking_client-product-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.booking_client-product-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.booking_client-product-price-label {
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
}

.booking_client-product-price {
  font-size: 1.875rem;
  font-weight: 900;
  color: #84b800;
}

.booking_client-product-price-error {
  color: #ed5565;
}

.booking_client-product-detail-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid #f3f4f6;
}

.booking_client-product-detail-row-dark {
  border-top-color: rgba(255, 255, 255, 0.05);
}

.booking_client-product-detail-col {
  flex: 1;
}

.booking_client-product-detail-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: -0.025em;
  margin-bottom: 0.25rem;
  display: block;
}

.booking_client-product-detail-value {
  font-size: 0.875rem;
  font-weight: 700;
  margin: 0;
}

.booking_client-product-schedule {
  font-family: "Roboto Mono", monospace;
  font-size: 1rem;
  font-weight: 800;
  color: #181d0c;
  line-height: 1.25;
  margin: 0;
}

.booking_client-product-schedule-dark {
  color: white;
}

.booking_client-product-status {
  padding-top: 1rem;
}

.booking_client-status-badge {
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.625rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.booking_client-status-badge-primary {
  background-color: rgba(132, 184, 0, 0.1);
  color: #84b800;
  border: 1px solid rgba(132, 184, 0, 0.2);
}

.booking_client-status-icon {
  font-size: 0.75rem;
  vertical-align: middle;
  margin-right: 0.25rem;
}

.booking_client-product-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
}

.booking_client-product-subtitle {
  font-family: "Roboto Mono", monospace;
  font-size: 0.875rem;
  font-weight: 700;
  color: #6b7280;
  margin: 0;
}

/* Grid Layout */
.booking_client-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .booking_client-grid {
    grid-template-columns: repeat(12, 1fr);
  }
}

.booking_client-grid-col-8 {
  grid-column: span 8;
}

.booking_client-grid-col-4 {
  grid-column: span 4;
}

@media (max-width: 1023px) {

  .booking_client-grid-col-8,
  .booking_client-grid-col-4 {
    grid-column: span 1;
  }
}

/* Timeline Card */
.booking_client-timeline-card {
  background-color: white;
  border-radius: 0.75rem;
  border: 1px solid #f3f4f6;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.booking_client-timeline-card-dark {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.booking_client-timeline-card-error {
  border-color: rgba(237, 85, 101, 0.2);
}

.booking_client-timeline-content {
  padding: 2rem;
}

.booking_client-timeline-header {
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.booking_client-timeline-header-icon {
  font-size: 1rem;
}

/* Timeline */
.booking_client-timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.booking_client-timeline-line {
  width: 2px;
  height: 100%;
  background: #e7eaec;
  position: absolute;
  left: 15px;
  top: 0;
}

.booking_client-timeline-item {
  display: flex;
  gap: 1.5rem;
  position: relative;
  z-index: 10;
}

.booking_client-timeline-node {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.booking_client-timeline-node-primary {
  background-color: #84b800;
  box-shadow: 0 0 0 4px rgba(132, 184, 0, 0.1);
}

.booking_client-timeline-node-pending {
  background-color: #f8ac59;
  box-shadow: 0 0 0 4px rgba(248, 172, 89, 0.1);
}

.booking_client-timeline-node-error {
  background-color: #ed5565;
  box-shadow: 0 0 0 4px rgba(237, 85, 101, 0.2);
}

.booking_client-timeline-node-icon {
  font-size: 1.25rem;
}

.booking_client-timeline-content {
  flex: 1;
  margin-top: -0.25rem;
}

.booking_client-timeline-content-highlighted {
  background-color: rgba(248, 172, 89, 0.05);
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(248, 172, 89, 0.2);
}

.booking_client-timeline-content-error {
  background-color: rgba(237, 85, 101, 0.03);
  padding: 1.25rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(237, 85, 101, 0.1);
}

.booking_client-timeline-title-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.booking_client-timeline-title-row-start {
  align-items: flex-start;
}

.booking_client-timeline-title {
  font-weight: 700;
  color: #111827;
  margin: 0;
}

.booking_client-timeline-title-dark {
  color: white;
}

.booking_client-timeline-title-pending {
  color: #f8ac59;
}

.booking_client-timeline-title-error {
  color: #ed5565;
}

.booking_client-timeline-timestamp {
  font-family: "Roboto Mono", monospace;
  font-size: 0.875rem;
  font-weight: 700;
  color: #9ca3af;
}

.booking_client-timeline-timestamp-small {
  font-size: 0.75rem;
}

.booking_client-timeline-timestamp-pending {
  color: #f8ac59;
}

.booking_client-timeline-description {
  font-size: 0.875rem;
  color: #6b7280;
  margin-top: 0.25rem;
  margin-bottom: 0;
  line-height: 1.5;
}

.booking_client-timeline-description-dark {
  color: #d1d5db;
}

.booking_client-timeline-description-relaxed {
  line-height: 1.625;
  margin-top: 0.75rem;
}

.booking_client-timeline-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.booking_client-timeline-actions-large {
  gap: 1rem;
  margin-top: 1rem;
}

.booking_client-btn-pending {
  padding: 0.25rem 0.75rem;
  background-color: #f8ac59;
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 0.25rem;
  border: none;
  cursor: pointer;
}

.booking_client-btn-pending-outline {
  padding: 0.25rem 0.75rem;
  background-color: white;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 0.25rem;
  border: 1px solid rgba(248, 172, 89, 0.2);
  cursor: pointer;
}

.booking_client-btn-pending-outline-dark {
  background-color: rgba(255, 255, 255, 0.1);
}

.booking_client-btn-error {
  background-color: #ed5565;
  color: white;
  padding: 0.5rem 1.25rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  box-shadow: 0 4px 6px rgba(237, 85, 101, 0.2);
  border: none;
  cursor: pointer;
}

.booking_client-status-badge-error {
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  background-color: #ed5565;
  color: white;
  font-size: 0.625rem;
  font-weight: 900;
  text-transform: uppercase;
}

/* Provider Card */
.booking_client-provider-card {
  background-color: white;
  border-radius: 0.75rem;
  border-left: 4px solid #84b800;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.booking_client-provider-card-dark {
  background-color: rgba(255, 255, 255, 0.05);
}

.booking_client-provider-card-error {
  border-left-color: #ed5565;
}

.booking_client-provider-content {
  padding: 1.25rem;
}

.booking_client-provider-header {
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin-bottom: 1rem;
}

.booking_client-provider-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.booking_client-provider-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.booking_client-provider-icon-primary {
  background-color: rgba(132, 184, 0, 0.1);
  color: #84b800;
}

.booking_client-provider-icon-error {
  background-color: rgba(237, 85, 101, 0.1);
  color: #ed5565;
}

.booking_client-provider-icon-symbol {
  font-size: 1.75rem;
}

.booking_client-provider-details {
  flex: 1;
}

.booking_client-provider-name {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  margin: 0;
}

.booking_client-provider-rating {
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 0.25rem;
  letter-spacing: -0.025em;
  margin-bottom: 0;
}

.booking_client-provider-rating-primary {
  color: #84b800;
}

.booking_client-provider-rating-error {
  color: #ed5565;
}

.booking_client-provider-contacts {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.booking_client-provider-contact {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
}

.booking_client-provider-contact-icon {
  font-size: 1.125rem;
  color: #9ca3af;
}

.booking_client-provider-contact-text {
  font-weight: 500;
}

.booking_client-provider-actions {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #f9fafb;
}

.booking_client-provider-actions-dark {
  border-top-color: rgba(255, 255, 255, 0.05);
}

.booking_client-btn-provider {
  width: 100%;
  height: 2.5rem;
  border-radius: 0.5rem;
  font-weight: 700;
  font-size: 0.875rem;
  transition: all 0.2s;
  border: none;
  cursor: pointer;
}

.booking_client-btn-provider-primary {
  background-color: rgba(132, 184, 0, 0.1);
  color: #84b800;
}

.booking_client-btn-provider-primary:hover {
  background-color: rgba(132, 184, 0, 0.2);
}

.booking_client-btn-provider-error {
  border: 1px solid rgba(237, 85, 101, 0.3);
  color: #ed5565;
  background-color: transparent;
}

.booking_client-btn-provider-error:hover {
  background-color: rgba(237, 85, 101, 0.05);
}

/* Management Card */
.booking_client-management-card {
  background-color: white;
  border-radius: 0.75rem;
  border: 1px solid #f3f4f6;
  padding: 1.25rem;
}

.booking_client-management-card-dark {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.booking_client-management-header {
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin-bottom: 1rem;
}

.booking_client-management-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.booking_client-management-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #f9fafb;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}

.booking_client-management-btn:hover {
  background-color: #f3f4f6;
}

.booking_client-management-btn-dark {
  background-color: rgba(255, 255, 255, 0.05);
}

.booking_client-management-btn-dark:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.booking_client-management-btn-icon {
  font-size: 1.25rem;
  color: #4b5563;
}

.booking_client-management-btn-icon-dark {
  color: #d1d5db;
}

.booking_client-management-btn-icon-error {
  color: #ed5565;
}

.booking_client-management-btn-text {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
}

.booking_client-management-btn-text-error {
  color: #ed5565;
}

.booking_client-space-y-6>*+* {
  margin-top: 1.5rem;
}

/* Footer */
.booking_client-footer {
  margin-top: auto;
  border-top: 1px solid #e5e7eb;
  background-color: white;
  padding: 1rem 2.5rem;
}

.booking_client-footer-dark {
  border-top-color: rgba(255, 255, 255, 0.1);
  background-color: #1a1d23;
}

.booking_client-footer-content {
  max-width: 75rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: #9ca3af;
  gap: 1rem;
}

.booking_client-footer-stats {
  display: flex;
  gap: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.booking_client-footer-stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.booking_client-footer-stat-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.booking_client-footer-stat-dot-primary {
  background-color: #84b800;
}

.booking_client-footer-stat-dot-pending {
  background-color: #f8ac59;
}

.booking_client-footer-stat-dot-error {
  background-color: #ed5565;
}

.booking_client-footer-health {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background-color: #f9fafb;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  border: 1px solid #f3f4f6;
}

.booking_client-footer-health-dark {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.booking_client-footer-health-label {
  color: #6b7280;
}

.booking_client-footer-health-bar {
  width: 8rem;
  height: 0.375rem;
  background-color: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden;
}

.booking_client-footer-health-bar-dark {
  background-color: rgba(255, 255, 255, 0.1);
}

.booking_client-footer-health-fill {
  width: 75%;
  height: 100%;
  background-color: #84b800;
  border-radius: 9999px;
}

.booking_client-footer-health-score {
  color: #84b800;
}

/* Utility Classes */
.booking_client-text-primary {
  color: #84b800;
}

.booking_client-text-pending {
  color: #f8ac59;
}

.booking_client-text-error {
  color: #ed5565;
}

.booking_client-text-gray-400 {
  color: #9ca3af;
}

.booking_client-text-gray-500 {
  color: #6b7280;
}

.booking_client-text-gray-600 {
  color: #4b5563;
}

.booking_client-text-gray-300-dark {
  color: #d1d5db;
}

.booking_client-border-primary {
  border-color: #84b800;
}

.booking_client-border-error {
  border-color: #ed5565;
}

.booking_client-border-gray-100 {
  border-color: #f3f4f6;
}

.booking_client-border-gray-200 {
  border-color: #e5e7eb;
}

.booking_client-border-white-10 {
  border-color: rgba(255, 255, 255, 0.1);
}

.booking_client-shadow-sm {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.booking_client-shadow-lg {
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Hero Image Shadow */
.booking_client-hero-shadow {
  box-shadow:
    0 10px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* Material Icons */
.booking_client-icon {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .booking_client-main {
    padding: 1rem;
  }

  .booking_client-page-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .booking_client-page-actions {
    width: 100%;
    justify-content: stretch;
  }

  .booking_client-btn-secondary {
    flex: 1;
    justify-content: center;
  }

  .booking_client-footer-content {
    flex-direction: column;
    text-align: center;
  }

  .booking_client-footer-stats {
    flex-direction: column;
    gap: 0.5rem;
  }
}

/* Dark mode utilities */
@media (prefers-color-scheme: dark) {
  .booking_client-auto-dark {
    background-color: #1a1d23;
    color: white;
  }
}

/* Contenedor principal del carrusel */
.reviews-carousel {
  margin-top: 2rem;
  padding: 1rem;
}

/* Cada tarjeta de reseña */
.review-card {
  aspect-ratio: 1 / 1;
  /* siempre cuadrado */
  width: 100%;
  /* ocupa todo el ancho disponible */
  max-width: 280px;
  /* límite máximo */
  background: rgba(0,
      0,
      0,
      0.7);
  /* fondo negro con opacidad 80% */
  /* 
  backdrop-filter: blur(6px);   /* efecto blur */
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  padding: 1rem;
  border: 0.5px solid #000;
  color: #fff;
  /* texto blanco */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.review-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

/* Imagen de perfil */
.review-avatar {
  width: 80px;
  height: 80px;
  object-fit: cover;
  margin: 0 auto 1rem auto;
}

/* Nombre del usuario */
.review-username {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: #fff;
  /* texto blanco */
}

/* Fecha */
.review-date {
  font-size: 0.85rem;
  color: #ddd;
  /* gris claro sobre fondo oscuro */
  margin-bottom: 1rem;
}

/* Estrellas */
.review-stars i {
  font-size: 1rem;
  margin: 0 2px;
  color: #ffd700;
  /* amarillo brillante */
}

/* Título de la reseña */
.review-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #fff;
}

/* Texto de la reseña */
.review-text {
  font-size: 0.95rem;
  color: #eee;
  margin-bottom: 1rem;
}

/* Fotos adicionales */
.review-photos img {
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s ease;
}

.review-photos img:hover {
  transform: scale(1.05);
}

/* Ajuste interno para mantener proporción */
.review-card img,
.review-card .review-avatar {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/* PARA TABLERO */
.finanzas-card {
  color: #000;
  min-width: 100%;
  min-height: 100%;
  vertical-align: top;
  transform: scale(1);
  /* reduce al 90% su tamaño */
  transition: transform 0.3s;
  /* animación suave */
}

.finanzas-card:hover {
  transform: scale(1.05);
  /* vuelve al tamaño normal al pasar el mouse */
}

/* BAP view */
/* Contenedor general de las cards */
.Bap-card {
  border-radius: 4px;
  overflow: hidden;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  background: #fff;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  height: 100%;
}

/* Hover effect */
.Bap-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.Bap-card .Bap-card-title,
.Bap-card .Bap-card-text {
  color: #333;
}

/* Imagen superior */
.Bap-card img {
  border-bottom: 1px solid #f0f0f0;
  max-height: 180px;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

/* Título */
.Bap-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}

.Bap-subtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #444;
}

/* Contenido interno */
.Bap-card .p-3 {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Texto */
.Bap-card-text {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 1rem;
}

/* Para componente selector de ciudad */

.city-selector {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.city-label {
  font-weight: bold;
  color: #333;
  margin-bottom: 8px;
  display: block;
}

.city-input {
  border: 2px solid #007bff;
  border-radius: 6px;
  padding: 10px;
  transition: border-color 0.3s;
}

.city-input:focus {
  border-color: #0056b3;
  outline: none;
}

.city-result p {
  margin: 5px 0;
  font-size: 0.9rem;
  color: #555;
}

.city-result i {
  margin-right: 6px;
}

.pac-container {
  z-index: 5000 !important;
  /* más alto que el modal de Bootstrap */
}

#startService .amenities-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

#startService .amenity-chip {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 500;
  display: flex;
  align-items: center;
  color: #495057;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

#startService .amenity-chip i {
  margin-right: 6px;
  color: #1ab394;
  font-size: 13px;
}

#startService .bg-light {
  background-color: #f8f9fa !important;
}

#startService .bg-navy {
  background-color: #243140;
}

#startService .bg-gray-50 {
  background-color: #fbfbfb;
}

#startService .bg-light-blue {
  background-color: #e3f2fd;
}

#startService .border-left-info {
  border-left: 5px solid #23c6c8 !important;
}

#startService .vertical-align-middle {
  vertical-align: middle !important;
}

#startService .thumb-md {
  width: 54px;
  height: 54px;
  object-fit: cover;
}

#startService .btn-confirm-service {
  border-radius: 20px;
  font-weight: 600;
  transition: all 0.3s;
}

#startService .btn-confirm-service:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(26, 179, 148, 0.3);
}

/* Encapsulamiento total de estilos */


/* --- NUEVOS ESTILOS: Indicadores --- */
#custom-dashboard-wrapper .indicators-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

#custom-dashboard-wrapper .indicator-card {
  flex: 1;
  min-width: 200px;
  background: #ffffff;
  border-radius: 12px;
  padding: 15px 20px;
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  display: flex;
  align-items: center;
  gap: 15px;
}

#custom-dashboard-wrapper .indicator-icon-circle {
  width: 40px;
  height: 40px;
  background: rgba(153, 188, 1, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #99bc01;
  font-size: 18px;
}

#custom-dashboard-wrapper .indicator-content {
  display: flex;
  flex-direction: column;
}

#custom-dashboard-wrapper .indicator-label {
  font-size: 12px;
  color: #7f8c8d;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 2px;
}

#custom-dashboard-wrapper .indicator-value {
  font-size: 18px;
  font-weight: 800;
  color: #2c3e50;
}

/* Estilo pequeño para el timer */
#custom-dashboard-wrapper .countdown-text {
  font-size: 14px;
  color: #99bc01;
  font-family: monospace;
}


/* Estilos de la Tabla (Tus estilos originales) */
#custom-dashboard-wrapper .custom-card-table {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  overflow: hidden;
}

#custom-dashboard-wrapper .table-header-main {
  padding: 15px 20px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#custom-dashboard-wrapper .table-header-main h5 {
  margin: 0;
  font-weight: 700;
  color: #2c3e50;
  display: flex;
  align-items: center;
  gap: 10px;
}

#custom-dashboard-wrapper .table-custom {
  width: 100%;
  margin-bottom: 0;
}

#custom-dashboard-wrapper .table-custom thead th {
  background: #fbfbfb;
  color: #7f8c8d;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 15px 20px;
  border-bottom: 2px solid #eee;
  font-weight: 600;
}

#custom-dashboard-wrapper .table-custom tbody td {
  padding: 18px 20px;
  vertical-align: middle;
  border-bottom: 1px solid #f1f1f1;
}

/* Alojamiento */
#custom-dashboard-wrapper .property-thumb {
  width: 60px;
  height: 60px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

#custom-dashboard-wrapper .property-title {
  color: #99bc01;
  font-weight: 700;
  font-size: 15px;
  display: block;
  margin-bottom: 2px;
}

#custom-dashboard-wrapper .property-loc {
  color: #95a5a6;
  font-size: 12px;
}

/* Huéspedes - Badge más grande */
#custom-dashboard-wrapper .guest-badge {
  background-color: #99bc01;
  color: white;
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 4px rgba(153, 188, 1, 0.2);
}

/* Estancia */
#custom-dashboard-wrapper .date-range {
  font-weight: 600;
  color: #99bc01;
  font-size: 14px;
}

#custom-dashboard-wrapper .date-sep {
  color: #bdc3c7;
  margin: 0 5px;
  font-weight: 400;
}

/* Monto */
#custom-dashboard-wrapper .price-text {
  font-size: 18px;
  font-weight: 800;
  color: #2c3e50;
}

/* Estatus - Columna Propia */
#custom-dashboard-wrapper .status-pill,
#custom-dashboard-wrapper .pill-status {
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
}

#custom-dashboard-wrapper .status-confirmed,
#custom-dashboard-wrapper .pill-status.status-confirmed {
  background-color: #99bc01;
  color: white;
}

#custom-dashboard-wrapper .status-pending,
#custom-dashboard-wrapper .pill-status.status-pending {
  background-color: #f1c40f;
  color: #fff;
}

#custom-dashboard-wrapper .pill-status.status-danger {
  background-color: #f8d7da;
  color: #842029;
}

#custom-dashboard-wrapper .pill-status.status-warning {
  background-color: #fff3cd;
  color: #664d03;
}

#custom-dashboard-wrapper .pill-status.status-neutral {
  background-color: #f0f0f0;
  color: #666;
}

/* Botón de Acción Mejorado */
#custom-dashboard-wrapper .btn-action {
  background: #ffffff;
  border: 2px solid #99bc01;
  color: #99bc01;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 700;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#custom-dashboard-wrapper .btn-action:hover {
  background: #99bc01;
  color: #ffffff;
  box-shadow: 0 4px 8px rgba(153, 188, 1, 0.3);
  transform: translateY(-1px);
}

#custom-dashboard-wrapper .btn-ver-todas {
  background-color: #99bc01;
  color: white;
  font-weight: 600;
  padding: 6px 15px;
  border-radius: 6px;
  text-decoration: none;
}


/* booking-provider-index panel */
#module-booking-view.luxury-monitor {
  background: #f8fafb;
  padding: 20px;
  border-radius: 15px;
}

#module-booking-view .monitor-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

/* --- ETIQUETAS DE COLUMNAS (ESCRITORIO) --- */
#module-booking-view .monitor-labels {
  display: flex;
  padding: 10px 20px;
  background: #f8fafc;
  border-bottom: 2px solid #edf2f7;
  margin-top: 10px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* --- FILAS / TARJETAS --- */
#module-booking-view .monitor-row {
  display: flex;
  align-items: center;
  background: white;
  margin-bottom: 12px;
  padding: 15px 20px;
  border-radius: 15px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

/* --- CONTROL DE COLUMNAS FLEX --- */
#module-booking-view .col-main {
  flex: 2;
  display: flex;
  align-items: center;
  gap: 15px;
}

#module-booking-view .col-stat {
  flex: 1;
  text-align: center;
}

#module-booking-view .col-action {
  flex: 1;
  text-align: right;
}

/* --- ELEMENTOS INTERNOS --- */
#module-booking-view .header-left {
  font-size: 18px;
  font-weight: 700;
  color: #2c3e50;
  display: flex;
  align-items: center;
  gap: 10px;
}

#module-booking-view .btn-luxury-green {
  background: #8cc63f;
  color: white !important;
  padding: 8px 25px;
  border-radius: 50px;
  font-weight: 700;
  text-decoration: none;
}

#module-booking-view .img-luxury {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  object-fit: cover;
}

#module-booking-view .p-title {
  display: block;
  color: #8cc63f;
  font-weight: 700;
  font-size: 15px;
}

#module-booking-view .p-loc {
  display: block;
  color: #bbb;
  font-size: 11px;
}

#module-booking-view .badge-guest {
  background: #8cc63f;
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  font-weight: 700;
  display: inline-block;
}

#module-booking-view .stay-txt {
  font-size: 13px;
  color: #333;
  font-weight: 600;
}

#module-booking-view .price-txt {
  font-size: 17px;
  font-weight: 800;
  color: #1c2d41;
}

/* Global pill style for booking bubbles, including provider view */
.pill-status {
  display: inline-block;
  padding: 8px 15px;
  border-radius: 50px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  border: 1px solid transparent;
  white-space: nowrap;
}

.pill-status.status-confirmed {
  background: #d1f3d1;
  color: #2d5a2d;
  border-color: #80b980;
}

.pill-status.status-pending {
  background: #fff4c1;
  color: #856404;
  border-color: #e6ca4f;
}

.pill-status.status-danger {
  background: #f8d7da;
  color: #842029;
  border-color: #f5c2c7;
}

.pill-status.status-warning {
  background: #fff3cd;
  color: #664d03;
  border-color: #ffe69c;
}

.pill-status.status-neutral {
  background: #f0f0f0;
  color: #666;
  border-color: #d8d8d8;
}

#module-booking-view .pill-status {
  background: #d1f3d1;
  /* Verde clarito de fondo */
  color: #2d5a2d;
  /* Verde oscuro para el texto */
  padding: 8px 15px;
  border-radius: 50px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

#module-booking-view .pill-status.status-pending {
  background: #fff4c1;
  color: #856404;
}

#module-booking-view .pill-status.status-confirmed {
  background: #d1f3d1;
  color: #2d5a2d;
}

#module-booking-view .pill-status.status-danger {
  background: #f8d7da;
  color: #842029;
}

#module-booking-view .pill-status.status-warning {
  background: #fff3cd;
  color: #664d03;
}

#module-booking-view .pill-status.status-neutral {
  background: #f0f0f0;
  color: #666;
}

#module-booking-view .btn-view-luxury {
  border: 2px solid #8cc63f;
  color: #8cc63f !important;
  padding: 8px 15px;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* --- CONFIGURACIÓN RESPONSIVE MEJORADA --- */

@media (max-width: 992px) {

  /* Ocultamos las cabeceras de tabla */
  #module-booking-view .monitor-labels {
    display: none;
  }

  /* La fila se convierte en una Tarjeta (Card) */
  #module-booking-view .monitor-row {
    flex-direction: column;
    padding: 25px 20px;
    gap: 18px;
    text-align: center;
    position: relative;
  }

  /* Columna Principal (Imagen y Título) */
  #module-booking-view .col-main {
    flex-direction: column;
    width: 100%;
    gap: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 15px;
  }

  #module-booking-view .img-luxury {
    width: 80px;
    height: 80px;
    margin: 0 auto;
  }

  #module-booking-view .p-title {
    font-size: 18px;
  }

  /* Columnas de Datos (Estancia, Huéspedes, Total) */
  #module-booking-view .col-stat {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  /* Etiquetas dinámicas (Huéspedes, Estancia, Total) */
  #module-booking-view .col-stat::before {
    content: attr(data-label);
    display: block;
    font-size: 10px;
    color: #94a3b8;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  /* El precio destaca más en la card móvil */
  #module-booking-view .price-txt {
    font-size: 24px;
    color: #8cc63f;
    margin: 10px 0;
  }

  /* Botón de Acción en móvil */
  #module-booking-view .col-action {
    width: 100%;
    margin-top: 10px;
  }

  #module-booking-view .btn-view-luxury {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
    padding: 12px;
  }

  /* Header superior (Título y botón Ver Todas) */
  #module-booking-view .monitor-header {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
  }
}

/* Ajustes para pantallas muy pequeñas (iPhone/Android compactos) */
@media (max-width: 480px) {
  #module-booking-view {
    padding: 15px 10px;
  }

  #module-booking-view .monitor-row {
    padding: 20px 15px;
  }

  /* Si tienes los cuadros de resumen superiores, los hacemos scrollable o apilados */
  #module-booking-view .summary-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* Dos por fila en móviles pequeños */
    gap: 10px;
  }
}

/* Booking-provider-view */
/* --- CONTENEDOR PRINCIPAL --- */
#booking-provider-view.lx-main-wrapper {
  background: #f8fafb;
  padding: 25px;
  border-radius: 20px;
}

/* --- CABECERA --- */
#booking-provider-view .lx-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

#booking-provider-view .lx-label-mini {
  display: block;
  color: #8cc63f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
}

#booking-provider-view .lx-main-title {
  margin: 0;
  font-weight: 800;
  color: #1a2a3a;
  font-size: 24px;
}

#booking-provider-view .lx-action-btn {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #edf2f7;
  color: #1a2a3a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  transition: all 0.2s ease;
  text-decoration: none !important;
}

#booking-provider-view .lx-action-btn:hover {
  background: #1a2a3a;
  color: #ffffff;
  transform: translateY(-2px);
}

/* --- GRID DE CONTENIDO --- */
#booking-provider-view .lx-content-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 30px;
}

/* --- CARD HERO --- */
#booking-provider-view .lx-hero-card {
  background: #ffffff;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

#booking-provider-view .lx-hero-image {
  height: 260px;
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 20px;
}

#booking-provider-view .lx-type-tag {
  display: inline-block;
  background: rgba(26, 42, 58, 0.7);
  color: #fff;
  padding: 6px 15px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(5px);
}

#booking-provider-view .lx-hero-body {
  padding: 30px;
}

#booking-provider-view .lx-product-name {
  margin: 0 0 25px 0;
  font-size: 22px;
  font-weight: 800;
  color: #1a2a3a;
}

/* --- FILA DE FECHAS --- */
#booking-provider-view .lx-dates-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fdfdfd;
  padding: 20px;
  border-radius: 15px;
  border: 1px solid #f1f5f9;
}

#booking-provider-view .lx-date-item label {
  display: block;
  font-size: 10px;
  color: #94a3b8;
  font-weight: 800;
  margin-bottom: 5px;
}

#booking-provider-view .lx-date-item strong {
  font-size: 18px;
  color: #1a2a3a;
}

#booking-provider-view .lx-date-sep {
  color: #8cc63f;
  font-size: 20px;
  opacity: 0.5;
}

/* --- COLUMNA LATERAL --- */
#booking-provider-view .lx-profile-card {
  background: #ffffff;
  border-radius: 25px;
  padding: 30px;
  text-align: center;
  margin-bottom: 25px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

#booking-provider-view .lx-profile-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 4px solid #f8fafb;
  margin-bottom: 15px;
  object-fit: cover;
}

#booking-provider-view .lx-user-name {
  font-size: 18px;
  font-weight: 800;
  color: #1a2a3a;
  margin: 0;
}

#booking-provider-view .lx-user-email {
  font-size: 12px;
  color: #94a3b8;
  margin: 5px 0 0;
}

/* --- FINANZAS --- */
#booking-provider-view .lx-finance-card {
  background: #ffffff;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

#booking-provider-view .lx-fin-head {
  background: #1a2a3a;
  color: #fff;
  text-align: center;
  padding: 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
}

#booking-provider-view .lx-fin-body {
  padding: 25px;
}

#booking-provider-view .lx-fin-line {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 20px;
}

#booking-provider-view .lx-gain-highlight {
  background: #f0fdf4;
  padding: 20px;
  border-radius: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #dcfce7;
}

#booking-provider-view .lx-gain-text strong {
  display: block;
  color: #166534;
  font-size: 14px;
}

#booking-provider-view .lx-gain-text small {
  color: #8cc63f;
  font-size: 10px;
  font-weight: 700;
}

#booking-provider-view .lx-gain-val {
  font-size: 26px;
  font-weight: 900;
  color: #8cc63f;
}

/* --- BOTONES ACCIÓN --- */
#booking-provider-view .lx-confirm-btn {
  display: block;
  width: 100%;
  background: #8cc63f;
  color: #fff !important;
  text-align: center;
  padding: 18px;
  border-radius: 15px;
  font-weight: 800;
  margin-top: 20px;
  box-shadow: 0 10px 20px rgba(140, 198, 63, 0.2);
  text-decoration: none !important;
  transition: transform 0.2s ease;
}

#booking-provider-view .lx-confirm-btn:hover {
  transform: scale(1.02);
}

#booking-provider-view .lx-processed-badge {
  text-align: center;
  padding: 15px;
  background: #f1f5f9;
  color: #94a3b8;
  border-radius: 15px;
  font-weight: 800;
  margin-top: 20px;
}

/* --- RESPONSIVE --- */
@media (max-width: 992px) {
  #booking-provider-view .lx-content-grid {
    grid-template-columns: 1fr;
  }

  #booking-provider-view .lx-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
}

/* ================================================================
   BOOKING PROVIDER VIEW V2 — Lux Styles
   ================================================================ */
#booking-provider-view.lx-main-wrapper {
  background: #f8fafb;
  padding: 25px;
  border-radius: 20px;
}

/* --- HEADER --- */
#booking-provider-view .lx-header {
  margin-bottom: 25px;
}

#booking-provider-view .lx-label-mini {
  display: block;
  color: #8cc63f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
}

#booking-provider-view .lx-main-title {
  margin: 0;
  font-weight: 800;
  color: #1a2a3a;
  font-size: 24px;
}

#booking-provider-view .lx-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

#booking-provider-view .lx-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: #94a3b8;
}

#booking-provider-view .lx-meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

#booking-provider-view .lx-meta-item i {
  color: #8cc63f;
}

/* --- TIMELINE BAR --- */
#booking-provider-view .lx-timeline-bar {
  display: flex;
  align-items: flex-start;
  background: #fff;
  border-radius: 16px;
  padding: 20px 30px;
  margin-bottom: 25px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.03);
  gap: 0;
  overflow-x: auto;
}

#booking-provider-view .lx-timeline-step {
  display: flex;
  align-items: center;
  flex: 1;
  position: relative;
  min-width: 140px;
}

#booking-provider-view .lx-step-dot {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eef2f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #94a3b8;
  font-size: 16px;
  transition: all 0.3s ease;
}

#booking-provider-view .lx-timeline-step.completed .lx-step-dot {
  background: #8cc63f;
  color: #fff;
}

#booking-provider-view .lx-timeline-step.active .lx-step-dot {
  background: #1a2a3a;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(26,42,58,0.15);
}

#booking-provider-view .lx-step-label {
  margin-left: 12px;
  white-space: nowrap;
}

#booking-provider-view .lx-step-label strong {
  display: block;
  font-size: 12px;
  color: #1a2a3a;
  font-weight: 700;
}

#booking-provider-view .lx-step-label small {
  font-size: 10px;
  color: #94a3b8;
}

#booking-provider-view .lx-step-line {
  flex: 1;
  height: 2px;
  background: #eef2f6;
  margin: 0 15px;
  min-width: 20px;
}

#booking-provider-view .lx-timeline-step.completed ~ .lx-timeline-step .lx-step-line {
  background: #8cc63f;
}

/* --- CANCEL BANNER --- */
#booking-provider-view .lx-cancel-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 12px;
  padding: 14px 20px;
  margin-bottom: 25px;
  color: #991b1b;
  font-weight: 600;
  font-size: 14px;
}

#booking-provider-view .lx-cancel-banner i {
  font-size: 20px;
  color: #dc2626;
}

#booking-provider-view .lx-cancel-reason {
  font-weight: 400;
  font-size: 13px;
  color: #7f1d1d;
}

/* --- GRID --- */
#booking-provider-view .lx-content-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 30px;
}

/* --- TABS --- */
#booking-provider-view .lx-tabs {
  margin-bottom: 25px;
}

#booking-provider-view .lx-tab-bar {
  display: flex;
  gap: 4px;
  background: #fff;
  border-radius: 14px;
  padding: 4px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  overflow-x: auto;
}

#booking-provider-view .lx-tab-btn {
  flex: 1;
  border: none;
  background: transparent;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

#booking-provider-view .lx-tab-btn.active {
  background: #1a2a3a;
  color: #fff;
}

#booking-provider-view .lx-tab-btn:hover:not(.active) {
  background: #f1f5f9;
  color: #1a2a3a;
}

/* --- HERO CARD --- */
#booking-provider-view .lx-hero-card {
  background: #ffffff;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

#booking-provider-view .lx-hero-image {
  height: 260px;
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 20px;
}

#booking-provider-view .lx-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%);
}

#booking-provider-view .lx-hero-top {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

#booking-provider-view .lx-type-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(26, 42, 58, 0.8);
  color: #fff;
  padding: 6px 15px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(5px);
}

#booking-provider-view .lx-unit-tag {
  display: inline-flex;
  background: rgba(140, 198, 63, 0.9);
  color: #fff;
  padding: 6px 15px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(5px);
}

#booking-provider-view .lx-hero-body {
  padding: 30px;
}

#booking-provider-view .lx-product-name {
  margin: 0 0 20px 0;
  font-size: 22px;
  font-weight: 800;
  color: #1a2a3a;
}

/* --- DETAIL CARDS --- */
#booking-provider-view .lx-detail-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#booking-provider-view .lx-detail-card {
  background: #fff;
  border: 1px solid #f1f5f9;
  border-radius: 16px;
  overflow: hidden;
}

#booking-provider-view .lx-dc-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #fafbfc;
  border-bottom: 1px solid #f1f5f9;
  font-size: 13px;
  font-weight: 700;
  color: #1a2a3a;
}

#booking-provider-view .lx-dc-header i {
  color: #8cc63f;
  font-size: 15px;
}

#booking-provider-view .lx-dc-body {
  padding: 20px;
}

#booking-provider-view .lx-dc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 16px;
}

#booking-provider-view .lx-dc-col {
  flex: 1;
}

#booking-provider-view .lx-dc-col small {
  display: block;
  font-size: 10px;
  color: #94a3b8;
  font-weight: 800;
  margin-bottom: 4px;
}

#booking-provider-view .lx-dc-col strong {
  font-size: 16px;
  color: #1a2a3a;
}

#booking-provider-view .lx-dc-arrow {
  color: #8cc63f;
  font-size: 18px;
  padding: 0 5px;
}

#booking-provider-view .lx-dc-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}

#booking-provider-view .lx-dc-stat {
  background: #f8fafb;
  border-radius: 10px;
  padding: 12px;
  text-align: center;
}

#booking-provider-view .lx-dc-stat i {
  display: block;
  color: #8cc63f;
  font-size: 18px;
  margin-bottom: 6px;
}

#booking-provider-view .lx-dc-stat strong {
  display: block;
  font-size: 13px;
  color: #1a2a3a;
}

#booking-provider-view .lx-dc-stat small {
  font-size: 10px;
  color: #94a3b8;
}

#booking-provider-view .lx-dc-schedules {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
}

#booking-provider-view .lx-dc-sched-title {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  margin-bottom: 8px;
}

#booking-provider-view .lx-dc-sched-item {
  display: flex;
  justify-content: space-between;
  padding: 6px 10px;
  background: #f8fafb;
  border-radius: 8px;
  margin-bottom: 4px;
  font-size: 12px;
  color: #475569;
}

#booking-provider-view .lx-dc-sched-day {
  font-weight: 600;
}

#booking-provider-view .lx-dc-sched-time {
  color: #64748b;
}

#booking-provider-view .lx-dc-sched-total {
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  color: #8cc63f;
  margin-top: 6px;
}

/* --- TIMEOUT CARD --- */
#booking-provider-view .lx-timeout-card .lx-dc-header {
  cursor: pointer;
}

#booking-provider-view .lx-timeout-row {
  border-bottom: 1px solid #f1f5f9;
  padding: 10px 0;
}

#booking-provider-view .lx-timeout-row:last-child {
  border-bottom: none;
}

#booking-provider-view .lx-timeout-dates {
  font-size: 13px;
  color: #1a2a3a;
  display: flex;
  align-items: center;
  gap: 6px;
}

#booking-provider-view .lx-timeout-dates i {
  color: #8cc63f;
}

#booking-provider-view .lx-timeout-scheds {
  margin-top: 6px;
  padding-left: 22px;
}

#booking-provider-view .lx-timeout-sched-item {
  font-size: 12px;
  color: #64748b;
  padding: 2px 0;
}

#booking-provider-view .lx-timeout-days {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
  padding-left: 22px;
}

#booking-provider-view .lx-day-badge {
  background: #eef2f6;
  color: #475569;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  text-transform: capitalize;
}

/* --- LOCATION CARD --- */
#booking-provider-view .lx-location-card .lx-dc-body {
  padding: 16px 20px;
}

#booking-provider-view .lx-loc {
  font-size: 14px;
  color: #475569;
  margin: 0 0 8px;
}

#booking-provider-view .lx-loc i {
  color: #8cc63f;
  margin-right: 6px;
}

#booking-provider-view .lx-text {
  font-size: 13px;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

/* --- WHITE CARD (for Timeline/Financial tabs) --- */
#booking-provider-view .lx-card-white {
  background: #fff;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}

#booking-provider-view .lx-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 25px;
  border-bottom: 1px solid #f1f5f9;
  font-size: 14px;
  font-weight: 700;
  color: #1a2a3a;
}

#booking-provider-view .lx-card-header i {
  color: #8cc63f;
}

#booking-provider-view .lx-card-body {
  padding: 25px;
}

/* --- VERTICAL TIMELINE --- */
#booking-provider-view .lx-vertical-timeline {
  position: relative;
}

#booking-provider-view .lx-vt-item {
  display: flex;
  position: relative;
  padding-bottom: 24px;
}

#booking-provider-view .lx-vt-item:last-child {
  padding-bottom: 0;
}

#booking-provider-view .lx-vt-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eef2f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  color: #94a3b8;
  z-index: 2;
}

#booking-provider-view .lx-vt-item.created .lx-vt-dot { background: #eef2f6; color: #64748b; }
#booking-provider-view .lx-vt-item.confirmed .lx-vt-dot { background: #dcfce7; color: #16a34a; }
#booking-provider-view .lx-vt-item.in_progress .lx-vt-dot { background: #dbeafe; color: #2563eb; }
#booking-provider-view .lx-vt-item.completed .lx-vt-dot { background: #dcfce7; color: #16a34a; }
#booking-provider-view .lx-vt-item.cancelled .lx-vt-dot { background: #fef2f2; color: #dc2626; }

#booking-provider-view .lx-vt-line {
  position: absolute;
  left: 17px;
  top: 36px;
  width: 2px;
  height: calc(100% - 36px);
  background: #eef2f6;
  z-index: 1;
}

#booking-provider-view .lx-vt-content {
  margin-left: 16px;
  padding-top: 4px;
}

#booking-provider-view .lx-vt-content strong {
  display: block;
  font-size: 14px;
  color: #1a2a3a;
}

#booking-provider-view .lx-vt-content small {
  font-size: 11px;
  color: #94a3b8;
}

#booking-provider-view .lx-vt-reason {
  margin: 4px 0 0;
  font-size: 12px;
  color: #991b1b;
  background: #fef2f2;
  padding: 6px 10px;
  border-radius: 6px;
}

/* --- FINANCIAL TABLE --- */
#booking-provider-view .lx-fin-table {
  max-width: 500px;
}

#booking-provider-view .lx-fin-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 13px;
  color: #475569;
}

#booking-provider-view .lx-fin-row-sub {
  padding-left: 20px;
  font-size: 12px;
  color: #94a3b8;
}

#booking-provider-view .lx-fin-row-total {
  font-weight: 700;
  color: #1a2a3a;
  font-size: 15px;
  border-top: 2px solid #f1f5f9;
  margin-top: 4px;
  padding-top: 12px;
}

#booking-provider-view .lx-fin-row-highlight {
  background: #f0fdf4;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #dcfce7;
  margin-top: 8px;
  font-weight: 700;
  font-size: 14px;
}

#booking-provider-view .lx-fin-val {
  font-weight: 600;
}

#booking-provider-view .lx-fin-val-lg {
  font-size: 17px;
  font-weight: 800;
  color: #1a2a3a;
}

#booking-provider-view .lx-fin-val-green {
  color: #16a34a;
  font-size: 20px;
}

#booking-provider-view .lx-fin-val-neg {
  color: #dc2626;
}

#booking-provider-view .lx-fin-divider {
  height: 1px;
  background: #f1f5f9;
  margin: 4px 0;
}

#booking-provider-view .lx-fin-status-card {
  background: #f8fafb;
  border-radius: 12px;
  padding: 14px;
  text-align: center;
}

#booking-provider-view .lx-fin-status-card small {
  display: block;
  font-size: 10px;
  color: #94a3b8;
  font-weight: 700;
  margin-bottom: 6px;
}

#booking-provider-view .lx-status-label {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
}

#booking-provider-view .lx-st-funds_collected,
#booking-provider-view .lx-st-completed,
#booking-provider-view .lx-st-transferred,
#booking-provider-view .lx-st-ready_for_release {
  background: #dcfce7;
  color: #16a34a;
}

#booking-provider-view .lx-st-pending,
#booking-provider-view .lx-st-requires_payment {
  background: #fef9c3;
  color: #a16207;
}

#booking-provider-view .lx-st-on_hold {
  background: #fef2f2;
  color: #dc2626;
}

#booking-provider-view .lx-st-refunded {
  background: #f1f5f9;
  color: #64748b;
}

/* --- SIDEBAR --- */
#booking-provider-view .lx-profile-card {
  background: #ffffff;
  border-radius: 25px;
  padding: 30px;
  text-align: center;
  margin-bottom: 25px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

#booking-provider-view .lx-profile-avatar {
  position: relative;
  display: inline-block;
}

#booking-provider-view .lx-profile-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 4px solid #f8fafb;
  margin-bottom: 15px;
  object-fit: cover;
}

#booking-provider-view .lx-online-dot {
  position: absolute;
  bottom: 14px;
  right: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: #94a3b8;
}

#booking-provider-view .lx-online-dot.online {
  background: #22c55e;
}

#booking-provider-view .lx-user-name {
  font-size: 18px;
  font-weight: 800;
  color: #1a2a3a;
  margin: 0;
}

#booking-provider-view .lx-user-email {
  font-size: 12px;
  color: #94a3b8;
  margin: 5px 0 16px;
}

#booking-provider-view .lx-client-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
}

#booking-provider-view .lx-cs-item {
  background: #f8fafb;
  border-radius: 10px;
  padding: 10px;
}

#booking-provider-view .lx-cs-item small {
  display: block;
  font-size: 9px;
  color: #94a3b8;
  font-weight: 700;
  margin-bottom: 2px;
}

#booking-provider-view .lx-cs-item strong {
  font-size: 14px;
  color: #1a2a3a;
}

#booking-provider-view .lx-chat-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f1f5f9;
  color: #1a2a3a !important;
  border: none;
  padding: 10px 20px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

#booking-provider-view .lx-chat-btn:hover {
  background: #e2e8f0;
  transform: translateY(-1px);
}

#booking-provider-view .lx-chat-btn i {
  color: #8cc63f;
}

/* --- FINANCE SIDEBAR CARD --- */
#booking-provider-view .lx-finance-card {
  background: #ffffff;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

#booking-provider-view .lx-fin-head {
  background: #1a2a3a;
  color: #fff;
  text-align: center;
  padding: 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
}

#booking-provider-view .lx-fin-body {
  padding: 25px;
}

#booking-provider-view .lx-fin-line {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 20px;
}

#booking-provider-view .lx-val-total {
  font-weight: 800;
  color: #1a2a3a;
}

#booking-provider-view .lx-gain-highlight {
  background: #f0fdf4;
  padding: 20px;
  border-radius: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #dcfce7;
}

#booking-provider-view .lx-gain-text strong {
  display: block;
  color: #166534;
  font-size: 14px;
}

#booking-provider-view .lx-gain-text small {
  color: #8cc63f;
  font-size: 10px;
  font-weight: 700;
}

#booking-provider-view .lx-gain-val {
  font-size: 26px;
  font-weight: 900;
  color: #8cc63f;
}

/* --- STATUS MINI BADGES --- */
#booking-provider-view .lx-status-mini {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

#booking-provider-view .lx-sm-item {
  flex: 1;
  text-align: center;
}

#booking-provider-view .lx-sm-item small {
  display: block;
  font-size: 9px;
  color: #94a3b8;
  font-weight: 700;
  margin-bottom: 4px;
}

#booking-provider-view .lx-sm-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 50px;
  font-size: 10px;
  font-weight: 700;
}

#booking-provider-view .lx-sm-funds_collected,
#booking-provider-view .lx-sm-completed,
#booking-provider-view .lx-sm-transferred,
#booking-provider-view .lx-sm-ready_for_release {
  background: #dcfce7;
  color: #16a34a;
}

#booking-provider-view .lx-sm-pending,
#booking-provider-view .lx-sm-requires_payment {
  background: #fef9c3;
  color: #a16207;
}

#booking-provider-view .lx-sm-on_hold {
  background: #fef2f2;
  color: #dc2626;
}

#booking-provider-view .lx-sm-refunded {
  background: #f1f5f9;
  color: #64748b;
}

/* --- ACTION BUTTONS --- */
#booking-provider-view .lx-actions-wrapper {
  margin-top: 20px;
}

#booking-provider-view .lx-action-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#booking-provider-view .lx-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

#booking-provider-view .lx-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

#booking-provider-view .lx-btn-primary {
  background: #8cc63f;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(140,198,63,0.2);
}

#booking-provider-view .lx-btn-primary:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(140,198,63,0.3);
}

#booking-provider-view .lx-btn-danger {
  background: #dc2626;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(220,38,38,0.15);
}

#booking-provider-view .lx-btn-danger:hover:not(:disabled) {
  transform: translateY(-1px);
}

#booking-provider-view .lx-btn-warning {
  background: #f59e0b;
  color: #fff !important;
}

#booking-provider-view .lx-btn-warning:hover {
  transform: translateY(-1px);
}

#booking-provider-view .lx-btn-orange {
  background: #f97316;
  color: #fff !important;
}

#booking-provider-view .lx-btn-orange:hover {
  transform: translateY(-1px);
}

#booking-provider-view .lx-processed-badge {
  text-align: center;
  padding: 15px;
  background: #f0fdf4;
  color: #16a34a;
  border-radius: 15px;
  font-weight: 800;
  font-size: 13px;
}

#booking-provider-view .lx-processed-badge i {
  margin-right: 6px;
}

/* --- RESPONSIVE --- */
@media (max-width: 992px) {
  #booking-provider-view .lx-content-grid {
    grid-template-columns: 1fr;
  }

  #booking-provider-view .lx-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  #booking-provider-view .lx-timeline-bar {
    padding: 14px 16px;
  }

  #booking-provider-view .lx-dc-grid-3 {
    grid-template-columns: 1fr 1fr;
  }

  #booking-provider-view .lx-fin-statuses {
    grid-template-columns: 1fr;
  }

  #booking-provider-view .lx-client-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  #booking-provider-view.lx-main-wrapper {
    padding: 12px;
  }

  #booking-provider-view .lx-hero-image {
    height: 180px;
  }

  #booking-provider-view .lx-dc-grid-3 {
    grid-template-columns: 1fr;
  }
}

#module-finanzas .table-container-custom {
  border-radius: 8px;
  border: 1px solid #e7eaec !important;
  background: #fff;
  overflow: hidden;
}

#module-finanzas .text-primary {
  color: #9acd32 !important;
}

#module-finanzas .bg-white {
  background-color: #fff !important;
}

#module-finanzas .p-none {
  padding: 0 !important;
}

#module-finanzas .m-t-lg {
  margin-top: 30px;
}

/* Estilos de Tabla */
#module-finanzas .table-dashboard thead th {
  background: #fdfdfd;
  color: #999;
  font-size: 11px;
  font-weight: 600;
  padding: 12px 20px;
  border-bottom: 1px solid #f1f1f1;
  text-transform: uppercase;
}

#module-finanzas .table-dashboard tbody td {
  padding: 15px 20px !important;
  border-top: 1px solid #f1f1f1 !important;
  vertical-align: middle !important;
  font-size: 13px;
  color: #676a6c;
}

#module-finanzas .icon-wrapper {
  width: 35px;
  height: 35px;
  background: #f8f9fa;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  color: #9acd32;
  border: 1px solid #eee;
}

/* Badges */
#module-finanzas .status-badge {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 700;
}

#module-finanzas .status-confirmed {
  background-color: #9acd32;
  color: #fff;
}

#module-finanzas .method-badge {
  background: #f9f9f9;
  border: 1px solid #eee;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  display: inline-block;
}

/* Botones */
#module-finanzas .btn-detail {
  border-radius: 6px;
  font-weight: 600;
  font-size: 11px;
  padding: 4px 10px;
  border: 1px solid #9acd32;
  color: #9acd32;
  background: transparent;
  transition: 0.3s;
}

#module-finanzas .btn-detail:hover {
  background: #9acd32;
  color: #fff;
}

#module-finanzas .btn-rounded {
  border-radius: 50px;
}

/* Cards de Tarjetas */
#module-finanzas .modern-credit-card {
  height: 220px;
  border-radius: 20px;
  padding: 25px;
  color: white;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.3s;
}

#module-finanzas .modern-credit-card:hover {
  transform: translateY(-5px);
}

/* Gradientes */
#module-finanzas .visa-gradient {
  background-color: #1a1a1a;
}

#module-finanzas .mastercard-gradient {
  background-color: #753a88;
}

#module-finanzas .amex-gradient {
  background-color: #2193b0;
}

#module-finanzas .default-gradient {
  background: linear-gradient(135deg, #676a6c 0%, #2f4050 100%);
}

#module-finanzas .chip-icon {
  width: 40px;
  height: 30px;
  background: linear-gradient(135deg, #f0d78c 0%, #e1c05e 100%);
  border-radius: 6px;
}

#module-finanzas .m-card-number {
  font-family: monospace;
  font-size: 20px;
  letter-spacing: 2px;
  display: flex;
  gap: 10px;
  margin: 20px 0;
}

#module-finanzas .m-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: 0.3s;
  border-radius: 20px;
}

#module-finanzas .modern-credit-card:hover .m-card-overlay {
  opacity: 1;
}

#module-finanzas .btn-overlay {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: white;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.2s;
}

/* Wallet Main Card */
#module-finanzas .wallet-main-card {
  background: #fff;
  border-radius: 20px !important;
}

#module-finanzas .balance-number {
  font-size: 38px;
  font-weight: 800;
  color: #333;
  margin: 0 5px;
}

#module-finanzas .wallet-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#module-finanzas .btn-recharge-v4 {
  background: #f8f9fa;
  border: 1px solid #eee;
  padding: 12px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}

#module-finanzas .btn-recharge-v4 .icon-box {
  width: 32px;
  height: 32px;
  background: #9acd32;
  color: white;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#module-finanzas .empty-state-container {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  text-align: center;
  border: 2px dashed #e7eaec;
}

#module-finanzas .add-card-wrapper {
  background: #fff;
  border-radius: 20px;
  height: 220px;
  border: 2px dashed #dee2e6;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: 0.3s;
}

#module-finanzas .add-card-wrapper:hover {
  border-color: #9acd32;
  background: #f9fdfc;
}

/* Responsivo */
@media (max-width: 768px) {
  #module-finanzas .table-dashboard thead {
    display: none;
  }

  #module-finanzas .table-dashboard tbody tr {
    display: block;
    padding: 15px;
    border-bottom: 5px solid #f8f9fa;
  }

  #module-finanzas .table-dashboard tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0 !important;
    border: none !important;
    width: 100%;
  }

  #module-finanzas .table-dashboard tbody td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #ccc;
    font-size: 10px;
  }

  #module-finanzas .wallet-container {
    flex-direction: column;
    text-align: left;
    gap: 15px;
  }
}





/* --- CARRO DE COMPRA --- */

/* Timeline de productos */
.products-timeline {
  position: relative;
}

.product-card-enhanced {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #e8f4f8;
  overflow: hidden;
  transition: all 0.3s ease;
}

.product-card-enhanced:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.product-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1.5rem;
  border-bottom: 1px solid #dee2e6;
}

.product-icon-badge {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
}

.product-type-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  color: white;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.product-title {
  color: #2c3e50;
  font-weight: 600;
  font-size: 1.2rem;
}

.product-main-price .price-primary {
  font-size: 1.8rem;
  font-weight: 800;
  color: #2c3e50;
  line-height: 1;
}

.product-main-price .price-secondary {
  font-size: 1rem;
  color: #27ae60;
  font-weight: 600;
}

.product-content {
  padding: 1.5rem;
}

.section-subtitle {
  color: #2c3e50;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #96B900;
}

/* Lista de precios */
.price-breakdown-list {
  margin-bottom: 1rem;
}

.price-item {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
  border-left: 4px solid #96B900;
}

.price-item-name {
  color: #2c3e50;
  font-size: 1rem;
}

.currency-origin-badge {
  background: #e3f2fd;
  color: #1976d2;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  margin-left: 8px;
}

.price-item-amount .amount-primary {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50;
}

/* ✅ NUEVOS ESTILOS PARA TAXES */
.taxes-breakdown {
  margin-top: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border-radius: 8px;
  border-left: 4px solid #ffc107;
  box-shadow: 0 2px 8px rgba(255, 193, 7, 0.2);
}

.taxes-title {
  color: #856404;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: between;
}

.taxes-title .badge {
  margin-left: 0.5rem;
  font-size: 0.7rem;
}

.taxes-list {
  margin: 0.75rem 0;
}

.tax-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px dashed #ffc107;
  font-size: 0.85rem;
}

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

.tax-info {
  flex: 1;
}

.tax-name {
  color: #e65100;
  font-weight: 600;
  font-size: 0.9rem;
  margin-right: 0.5rem;
}

.tax-percentage {
  color: #ff9800;
  font-weight: 700;
  font-size: 0.85rem;
}

.tax-description {
  margin-top: 0.25rem;
  font-size: 0.8rem;
  line-height: 1.3;
}

.tax-amount {
  text-align: right;
}

.amount-tax {
  color: #e65100;
  font-weight: 700;
  font-size: 0.9rem;
  background: rgba(255, 152, 0, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

.component-total-with-taxes {
  margin-top: 1rem;
  padding: 0.75rem;
  background: linear-gradient(135deg, #e8f5e8 0%, #f1f8e9 100%);
  border-radius: 6px;
  border: 2px solid #4caf50;
}

.component-total-label {
  color: #2e7d32;
  font-size: 0.9rem;
}

.component-total-amount {
  color: #1b5e20;
  font-size: 1rem;
  background: rgba(76, 175, 80, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}


.amount-base {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50;
  background: rgba(44, 62, 80, 0.05);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* ✅ ESTILOS PARA LÍNEAS DE TAXES EN TOTALES */
.taxes-line {
  background: rgba(255, 193, 7, 0.1);
  border-radius: 4px;
  margin: 0.5rem 0;
  padding: 0.75rem;
  border-left: 3px solid #ffc107;
}

.taxes-line .total-label {
  color: #856404;
  font-weight: 600;
}

.taxes-line .amount-primary {
  color: #856404;
  font-weight: 700;
}

/* ✅ ESTILOS PARA TAXES COMPACTOS Y DISCRETOS */
.taxes-compact {
  margin-top: 0.75rem;
  padding: 0.5rem 0.75rem;
  background: rgba(108, 117, 125, 0.05);
  border-radius: 4px;
  border-left: 2px solid #6c757d;
}

.taxes-label {
  color: #6c757d;
  font-size: 0.8rem;
  font-weight: 500;
  display: block;
  margin-bottom: 0.25rem;
}

.taxes-inline {
  margin-bottom: 0.5rem;
}

.tax-inline-item {
  display: inline-block;
  color: #495057;
  font-size: 0.8rem;
  margin-right: 1rem;
  margin-bottom: 0.25rem;
}

.tax-amount-small {
  color: #007bff;
  font-weight: 600;
  margin-left: 0.25rem;
}

.component-total-compact {
  color: #28a745;
  font-size: 0.85rem;
  display: block;
  text-align: right;
  border-top: 1px solid rgba(108, 117, 125, 0.2);
  padding-top: 0.25rem;
  margin-top: 0.25rem;
}

/* Animaciones para feedback de pago */
.animated-feedback {
  animation-duration: 0.7s;
  animation-fill-mode: both;
}

.bounce-in {
  animation-name: bounceIn;
}

.shake-in {
  animation-name: shakeIn;
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }

  50% {
    opacity: 1;
    transform: scale(1.05);
  }

  70% {
    transform: scale(0.9);
  }

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

@keyframes shakeIn {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }

  40% {
    opacity: 1;
    transform: translateX(10px);
  }

  60% {
    transform: translateX(-5px);
  }

  80% {
    transform: translateX(2px);
  }

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

/* Responsive para taxes compactos */
@media (max-width: 767px) {
  .taxes-compact {
    padding: 0.5rem;
  }

  .tax-inline-item {
    display: block;
    margin-bottom: 0.5rem;
    margin-right: 0;
  }

  .component-total-compact {
    text-align: left;
    margin-top: 0.5rem;
  }
}

/* Responsive */
@media (max-width: 991px) {
  .cart-sidebar {
    position: static;
    margin-top: 2rem;
  }

  .products-grid-mini {
    grid-template-columns: repeat(4, 1fr);
  }

  .total-main-amount {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  .product-header {
    padding: 1rem;
  }

  .product-content {
    padding: 1rem;
  }

  .conversion-flow {
    flex-direction: column;
    align-items: flex-start;
  }

  .total-main-amount {
    font-size: 1.8rem;
  }
}

/* Contenedor posicionado */
#floating-shop-container {
  position: fixed;
  bottom: 10vh;
  right: 30px;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* Botón principal circular */
#floating-shop-container .fab-main {
  width: 50px;
  height: 50px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(26, 179, 148, 0.4);
  transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
  position: relative;
  z-index: 2001;
  overflow: visible;
}

/* Contenedor para asegurar el centrado perfecto del icono */
#floating-shop-container .fab-icon-holder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#floating-shop-container .fab-main i {
  font-size: 14px;
  width: 24px;
  text-align: center;
  line-height: 1;
}

/* Estado activo (Abierto) */
#floating-shop-container .fab-main.active {
  transform: rotate(90deg);
  background-color: #ed5565 !important;
  /* Color danger/tache */
  border-color: #ed5565 !important;
  box-shadow: 0 4px 15px rgba(237, 85, 101, 0.4);
}

/* Lista de opciones */
#floating-shop-container .fab-options {
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

/* Fila de opción (Label + Botón) */
#floating-shop-container .option-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Etiquetas de texto */
#floating-shop-container .option-label {
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 9px;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Botones secundarios más pequeños */
#floating-shop-container .sub-fab {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease;
}

#floating-shop-container .sub-fab:hover {
  transform: scale(1.1);
}

/* Badge de notificación */
#floating-shop-container .shop-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  border-radius: 50%;
  padding: 4px 8px;
  border: 2px solid white;
  z-index: 2002;
}

/* Adaptación a móviles */
@media (max-width: 768px) {
  #floating-shop-container {
    bottom: 20px;
    right: 20px;
  }
}



/* ==========================================================================
       HERO SECTION
       ========================================================================== */
.gb-hero {
  position: relative;
  min-height: 100vh;
  background: url('/img/landing/header_one.jpg') center/cover no-repeat fixed;
  display: flex;
  align-items: center;
}

.gb-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.4));
}

.gb-hero-container {
  position: relative;
  z-index: 2;
}

.gb-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 50px;
  align-items: center;
}

.gb-main-title {
  color: #fff;
  font-size: 3.8rem;
  font-weight: 850;
  line-height: 1.1;
  margin-bottom: 20px;
}

.gb-accent {
  color: var(--primary);
}

.gb-hero-description {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.2rem;
  max-width: 600px;
  line-height: 1.6;
}

.gb-logo-wrapper img {
  height: 85px;
  margin-bottom: 20px;
}

.gb-tagline {
  color: var(--primary);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 2px;
  font-size: 0.85rem;
}

/* ==========================================================================
       GLASS CARDS (Mejoradas para evitar deformación)
       ========================================================================== */
.gb-glass-stack {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.gb-glass-card {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 22px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  color: #fff;
  text-decoration: none !important;
  transition: all 0.3s ease;
  min-height: 90px;
  /* Asegura consistencia */
  width: 100%;
}

.gb-glass-card:hover {
  transform: translateX(10px);
  background: rgba(255, 255, 255, 0.15);
  border-color: var(--primary);
}

.gb-glass-card.gb-active {
  border-color: var(--primary);
  background: rgba(163, 198, 20, 0.15);
}

.gb-card-icon {
  width: 50px;
  height: 50px;
  background: var(--primary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a1a1a;
  font-size: 1.3rem;
  flex-shrink: 0;
  /* Evita que el icono se aplaste */
}

.gb-card-body {
  flex: 1;
}

.gb-card-body h3 {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
}

.gb-card-body p {
  margin: 3px 0 0;
  opacity: 0.7;
  font-size: 0.9rem;
}

.gb-arrow {
  margin-left: auto;
  opacity: 0.4;
}

/* ==========================================================================
       SECCIÓN SERVICIOS, TABS Y BUSCADOR
       ========================================================================== */
.gb-section-padding {
  padding: 90px 0;
  background: #fff;
}

.gb-section-view-detail {
  padding: 130px 0 30px 0;
  background: #fff;
}

.gb-section-view-detail2 {
  padding: 0 0 30px 0;
  background: #fff;
}

.gb-section-title {
  font-size: 2.6rem;
  font-weight: 800;
  color: #222;
  margin-bottom: 10px;
}

.gb-divider-left {
  width: 50px;
  height: 5px;
  background: var(--primary);
  border-radius: 10px;
}

.gb-tabs-outer {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  position: relative;
  z-index: 20;
}

.gb-tabs-container {
  display: flex;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  padding: 8px;
  border-radius: 50px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--border-color);
  gap: 5px;
}

.gb-tab-item {
  border: none !important;
  background: transparent !important;
  padding: 12px 25px;
  border-radius: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: #666 !important;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 0.9rem;
}

.gb-tab-item.active,
.gb-tab-item.nav-link.active {
  background: var(--primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(163, 198, 20, 0.2) !important;
  transform: translateY(-2px);
}

.gb-search-shell {
  background: #fff;
  border-radius: 25px;
  padding: 8px 8px 8px 35px;
  border: 1px solid var(--border-color);
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
  transition: box-shadow 0.3s ease;
}

.gb-form-flex {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 10px;
}

.gb-dynamic-grid {
  display: grid;
  grid-template-columns: 1.4fr auto 1fr auto 0.8fr;
  align-items: center;
  flex: 1;
}

.gb-v-divider {
  width: 1px;
  height: 35px;
  background: #eee;
  margin: 0 5px;
}

.gb-main-search-btn {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 50px;
  padding: 5px 5px 5px 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  transition: 0.3s;
}

.btn-icon-circle {
  width: 44px;
  height: 44px;
  background: var(--primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

/* ==========================================================================
       RESPONSIVE CRÍTICO (Unificado)
       ========================================================================== */
@media (max-width: 991px) {

  /* Hero Responsive */
  .gb-hero {
    padding: 100px 0 60px 0;
    min-height: auto;
    display: block;
  }

  .gb-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }

  .gb-hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .gb-main-title {
    font-size: 2.5rem;
  }

  .gb-hero-description {
    font-size: 1.1rem;
    margin: 0 auto 20px auto;
  }

  .gb-logo-wrapper img {
    height: 70px;
  }

  /* Glass Cards en Móvil */
  .gb-glass-stack {
    gap: 12px;
    max-width: 450px;
    margin: 0 auto;
  }

  .gb-glass-card {
    padding: 15px 20px;
    gap: 15px;
  }

  .gb-card-icon {
    width: 45px;
    height: 45px;
  }

  .gb-card-body h3,
  .gb-card-body p {
    text-align: left;
  }

  /* Tabs y Buscador en Móvil */
  .gb-tabs-container {
    flex-wrap: wrap;
    border-radius: 20px;
    justify-content: center;
  }

  .gb-search-shell {
    border-radius: 30px;
    padding: 25px;
  }

  .gb-form-flex {
    flex-direction: column;
  }

  .gb-dynamic-grid {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 15px;
  }

  .gb-v-divider {
    display: none;
  }

  .gb-search-submit-wrapper {
    width: 100%;
    margin-top: 15px;
  }

  .gb-main-search-btn {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 480px) {
  .gb-main-title {
    font-size: 2rem;
  }

  .gb-card-body h3 {
    font-size: 1rem;
  }

  .gb-hero-description {
    font-size: 1rem;
  }
}

/* Animaciones */
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

/* ANIMACIÓN MODERNA 1: Slide suave desde derecha */
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slideInRight {
  animation-name: slideInRight;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ANIMACIÓN MODERNA 2: Zoom suave */
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.4s;
  animation-timing-function: cubic-bezier(0.23, 1, 0.320, 1);
}

/* ANIMACIÓN MODERNA 3: Fade suave con desplazamiento */
@keyframes fadeInSmoothDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeInSmoothDown {
  animation-name: fadeInSmoothDown;
  animation-duration: 0.6s;
  animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

/* ANIMACIÓN MODERNA 4: Elastic */
@keyframes elasticIn {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }

  50% {
    opacity: 1;
  }

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

.elasticIn {
  animation-name: elasticIn;
  animation-duration: 0.7s;
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Animaciones antiguas (mantener compatibilidad) */
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

.fadeInRight {
  animation-name: fadeInRight;
}

/* ==========================================================================
   ESTILOS BASE Y WRAPPERS
   ========================================================================== */
.gb-rentals-search-wrapper,
.gb-events-search-wrapper,
.gb-services-search-wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Contenedor principal del buscador */
.gb-search-main-bar {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 100px;
  /* Por defecto redondeado total */
  padding: 6px;
  width: 100%;
  position: relative;
}

/* Modificador para servicios que usa radio más cuadrado */
.gb-services-search-wrapper .gb-search-main-bar {
  border-radius: 25px;
}

/* ==========================================================================
   SISTEMA DE COLUMNAS (FLEX)
   ========================================================================== */
.gb-group {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
  flex: 1;
  min-width: 0;
}

/* Proporciones específicas por sección */
.section-destino {
  flex: 2;
}

.section-fecha {
  flex: 1.2;
}

.section-huespedes,
.section-invitados {
  flex: 0.8;
}

.section-tipo {
  flex: 1.2;
}

.section-avanzado {
  flex: 1;
  align-items: center;
  justify-content: center;
}

/* Ajuste específico para Servicios */
.gb-services-search-wrapper .section-destino {
  flex: 1.5;
}

.gb-services-search-wrapper .section-avanzado {
  flex: 0.8;
}

/* ==========================================================================
   ELEMENTOS DE INTERFAZ (Inputs, Labels, Botones)
   ========================================================================== */
.gb-label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 2px;
  white-space: nowrap;
}

.gb-field-input {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: #555 !important;
  width: 100% !important;
  outline: none !important;
  box-shadow: none !important;
  height: 24px !important;
  font-weight: 500;
}

.gb-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gb-v-divider {
  width: 1px;
  height: 35px;
  background: #f0f0f0;
  flex-shrink: 0;
}

/* Botón Avanzado */
.gb-btn-advanced {
  background: none;
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  padding: 0;
  transition: opacity 0.2s;
}

.gb-btn-advanced:hover {
  opacity: 0.7;
}

.gb-adv-label {
  font-size: 11px;
  font-weight: 700;
  color: #666;
}

.gb-btn-advanced i {
  font-size: 12px;
  color: #aaa;
  margin-top: 2px;
}

/* Botón de Acción Principal (Lupa) */
.gb-submit-wrapper {
  padding-left: 10px;
  flex-shrink: 0;
}

.gb-btn-primary-search {
  background: #a3c614;
  color: #fff;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(163, 198, 20, 0.3);
}

.gb-btn-primary-search:hover {
  transform: scale(1.05);
  background: #92b212;
}

/* ==========================================================================
   PANELES Y DROPDOWNS (Google Autocomplete y Panel Avanzado)
   ========================================================================== */
.pac-container {
  border-radius: 15px !important;
  margin-top: 10px !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #eee !important;
  font-family: inherit !important;
  z-index: 9999 !important;
}

.pac-item {
  padding: 10px !important;
  cursor: pointer !important;
}

/* Panel Avanzado General */
.gb-advanced-panel {
  background: #fff;
  border-radius: 25px;
  margin-top: 12px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
  border: 1px solid #f0f0f0;
  position: relative;
  z-index: 50;
  overflow: hidden;
}

.gb-panel-header {
  padding: 15px 25px;
  border-bottom: 1px solid #f8f8f8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fafafa;
}

.gb-panel-body {
  padding: 25px;
}

/* Inputs dentro del panel */
.gb-panel-select,
.gb-panel-input {
  width: 100%;
  border: 1.5px solid #eee;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  color: #444;
  outline: none;
  background-color: #f9f9f9;
  transition: 0.2s;
}

.gb-panel-select:focus,
.gb-panel-input:focus {
  border-color: #a3c614;
  background-color: #fff;
}

.gb-label-panel {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 5px;
  display: block;
  color: #333;
}

/* Botón cerrar panel */
.gb-close-panel {
  background: #f5f5f5;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #999;
  transition: 0.2s;
}

.gb-close-panel:hover {
  background: #eee;
  color: #f44336;
}

/* ==========================================================================
   RESPONSIVE (Mobile & Tablet)
   ========================================================================== */
@media (max-width: 991px) {
  .gb-search-main-bar {
    flex-direction: column;
    border-radius: 25px;
    padding: 20px;
  }

  .gb-v-divider {
    display: none;
  }

  .gb-group {
    width: 100%;
    padding: 12px 0;
    border-bottom: 1px solid #f5f5f5;
  }

  .gb-submit-wrapper {
    width: 100%;
    margin-top: 15px;
    padding-left: 0;
  }

  .gb-btn-primary-search {
    width: 100%;
    border-radius: 12px;
    height: 45px;
  }
}

/* PÍLDORAS */
.pill-nav-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: -25px;
  /* Solape elegante con el buscador */
  position: relative;
  z-index: 10;
}

.pill-nav {
  display: flex;
  background: white;
  padding: 8px;
  border-radius: 100px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  gap: 5px;
}

.pill-item {
  border: none;
  background: transparent;
  padding: 12px 25px;
  border-radius: 100px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: #666;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pill-item i {
  font-size: 1.1rem;
}

.pill-item.active {
  background: #96b900;
  /* Tu color corporativo */
  color: white;
  box-shadow: 0 4px 15px rgba(150, 185, 0, 0.4);
}

/* CAJA DE BÚSQUEDA */
.search-engine-box {
  background: white;
  padding: 40px 30px;
  border-radius: 25px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
}

.search-form-grid {
  display: grid;
  grid-template-columns: 2fr 1.5fr 1fr;
  gap: 20px;
  align-items: end;
}

@media (max-width: 768px) {
  .search-form-grid {
    grid-template-columns: 1fr;
  }
}

.search-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.search-group label {
  font-size: 0.85rem;
  font-weight: 700;
  color: #222;
  padding-left: 5px;
}

.input-with-icon {
  position: relative;
}

.input-with-icon i {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
}

.input-with-icon input {
  padding-left: 45px !important;
}

.search-group input,
.search-group select {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #f8f9fa;
  outline: none;
  transition: border 0.3s;
}

.search-group input:focus {
  border-color: #96b900;
  background: white;
}

/* GRID DE RESULTADOS */
.grid-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 25px;
}

/* BOTÓN BUSCAR */
.gb-btn-primary {
  background: #222;
  color: white;
  border: none;
  padding: 15px 30px;
  border-radius: 12px;
  font-weight: bold;
  width: 100%;
  cursor: pointer;
  transition: 0.3s;
}

.gb-btn-primary:hover {
  background: #96b900;
  transform: scale(1.02);
}

/* SPINNER */
.loader-spinner {
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
  display: inline-block;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Grid de resultados */
.grid-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px;
  padding: 20px 0;
}

/* Card Principal */
.product-card {
  background: #fff;
  border-radius: 24px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Lista de badges (flotante) */
.category-badge-list {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  /* espacio entre badges */
  z-index: 2;
}

/* Cada badge individual */
.category-badge {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(5px);
  padding: 5px 12px;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #333;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s ease;
}

/* Badge activo */
.category-badge.active {
  background: #96b900;
  /* verde principal */
  color: #fff;
  /* texto blanco */
  border: 1px solid #7a9400;
  /* verde más oscuro para contraste */
  box-shadow: 0 4px 12px rgba(150, 185, 0, 0.5);
  /* sombra con el mismo verde */
}



/* Offer badge (bottom-right sobre imagen) */
.offer-badge {
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: #e74c3c;
  color: #fff;
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 0.85rem;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(231, 76, 60, 0.4);
  z-index: 3;
  line-height: 1;
}

/* Contenedor de Imagen */
.image-wrapper {
  width: 100%;
  height: 220px;
  position: relative;
  /* Altura fija para que todas sean iguales */
  overflow: hidden;
  background: #f5f5f5;
}

.product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* MAGIA: Ajusta la imagen sin deformarla */
  transition: transform 0.6s ease;
}

.product-card:hover .product-img {
  transform: scale(1.08);
}

/* Contenido */
.card-body {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.product-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 10px 0;
  color: #1a1a1a;
}

.product-description {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.5;
  margin-bottom: 20px;
  /* Truncar a 2 líneas */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Footer y Precio */
.card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #f5f5f5;
}

.price-info {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.currency {
  font-size: 0.8rem;
  font-weight: 600;
  color: #96b900;
}

.amount {
  font-size: 1.4rem;
  font-weight: 800;
  color: #1a1a1a;
}

.rating-box {
  font-size: 0.85rem;
  font-weight: 600;
}

.text-warning {
  color: #ffc107;
}

.text-muted {
  color: #ccc;
}

/* Botón final */
.btn-details {
  margin-top: 15px;
  background: #1a1a1a;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-details:hover {
  background: #96b900;
}

/* EFECTO ESCALONADO Y DIAGONAL */
.gb-skew-section {
  position: relative;
  padding-top: 100px;
  clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
  /* Diagonal en fondo */
  background: #fdfdfd;
}

.gb-step-header {
  width: 100%;
}

.gb-step-header.text-end {
  margin-left: auto;
  /* Empuja el contenedor a la derecha */
}

.gb-divider-right {
  width: 80px;
  height: 4px;
  background: #96b900;
  margin-left: auto;
  /* Línea alineada a la derecha */
  border-radius: 10px;
}

/* CARDS DE EXPERIENCIA MEJORADAS */
.gb-experience-card {
  background: white;
  border-radius: 25px;
  overflow: hidden;
  height: 320px;
  position: relative;
  cursor: pointer;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid #f0f0f0;
}

.exp-card-image {
  height: 60%;
  background: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.5s;
}

.exp-icon {
  font-size: 4rem;
  color: white;
  z-index: 2;
  transition: 0.5s;
}

.exp-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, #96b900, #1a1a1a);
  opacity: 0.2;
  transition: 0.5s;
}

.exp-content {
  padding: 25px;
  text-align: center;
  position: relative;
}

.exp-content h3 {
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 5px;
  color: #222;
}

.exp-btn {
  position: absolute;
  top: -25px;
  right: 30px;
  width: 50px;
  height: 50px;
  background: #96b900;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 5px 15px rgba(150, 185, 0, 0.4);
  transition: 0.4s;
}

/* HOVERS */
.gb-experience-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12);
}

.gb-experience-card:hover .exp-card-image {
  height: 100%;
  /* La imagen/color llena la tarjeta */
}

.gb-experience-card:hover .exp-icon {
  transform: scale(1.2) rotate(-10deg);
}

.gb-experience-card:hover .exp-overlay {
  opacity: 0.9;
}

.gb-experience-card:hover .exp-content h3,
.gb-experience-card:hover .exp-content p {
  color: white;
  position: relative;
  z-index: 3;
}

.gb-experience-card:hover .exp-btn {
  transform: rotate(90deg) scale(1.1);
  background: #222;
}

/* Divisor negro con tamaño fijo, alineado por el padre flex */
.gb-divider-black-short {
  width: 60px;
  /* El mismo ancho que tu divisor verde */
  height: 4px;
  background: #1a1a1a;
  /* Negro */
  margin-top: 8px;
  /* Espacio visual bajo el texto */
  border-radius: 10px;
}

/* Opcional: un pequeño efecto al pasar el mouse sobre el bloque derecho */
.gb-step-header:hover .gb-divider-black-short {
  width: 100px;
  transition: width 0.4s ease;
  background: #96b900;
  /* Cambia a verde al hacer hover si quieres linkear los estilos */
}

/* Ajuste opcional para móviles: centrar todo si la pantalla es pequeña */
@media (max-width: 768px) {
  .gb-step-header {
    text-align: center !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .gb-divider-black-right {
    margin-right: auto !important;
  }
}

.exp-card-image {
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.8s ease;
}

.gb-experience-card:hover .exp-card-image {
  transform: scale(1.1);
}

/* Contenedor de Grilla (Asegúrate de tenerlo definido) */
.grid-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 25px;
}

/* Estilos del Skeleton */
.skeleton-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #efefef;
  height: 420px;
  /* Misma altura aproximada que tus cards reales */
}

.skeleton-image {
  height: 220px;
  background: #f0f0f0;
  position: relative;
  overflow: hidden;
}

.skeleton-body {
  padding: 20px;
}

.skeleton-line {
  background: #f0f0f0;
  margin-bottom: 12px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

/* Animación de brillo moviéndose */
.skeleton-image::after,
.skeleton-line::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

.skeleton-line.title {
  width: 80%;
  height: 20px;
}

.skeleton-line.desc {
  width: 100%;
  height: 40px;
}

.skeleton-line.price {
  width: 40%;
  height: 25px;
  margin-top: 20px;
}

/* Transición suave para la entrada de datos */
.fade-in-up {
  animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* CONTENEDOR NO RESULTADOS */
.gb-no-results-box {
  text-align: center;
  padding: 60px 20px;
  background: #fbfbfb;
  /* Un gris muy tenue para diferenciar del fondo blanco */
  border-radius: 25px;
  border: 1px dashed #e0e0e0;
  /* Un borde sutil que indica 'vacío' */
  width: 100%;
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* STACK DE ICONOS (Carita dentro de lupa) */
.gb-icon-mood-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.gb-icon-stack {
  position: relative;
  width: 100px;
  height: 100px;
}

.gb-icon-search {
  font-size: 6rem;
  opacity: 0.2;
  /* Lupa tenue */
  position: absolute;
  top: -10px;
  left: -15px;
}

.gb-icon-frown {
  font-size: 3.5rem;
  color: #96b900;
  /* Tu color corporativo en la carita */
  position: absolute;
  top: 20px;
  left: 22px;
}

/* Animación Pulse de animate.css (Asegúrate de tenerla cargada o añade esto) */
.pulse {
  animation-name: pulse;
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.infinite {
  animation-iteration-count: infinite;
}

/* TEXTO DINÁMICO RESALTADO */
.gb-accent-text {
  border-bottom: 2px solid #96b900;
}

/* BOTÓN OUTLINE DARK (A juego con tu estilo) */
.gb-btn-outline-dark {
  background: transparent;
  border: 2px solid #222;
  color: #222;
  padding: 12px 25px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.gb-btn-outline-dark:hover {
  background: #222;
  color: white;
}

.gb-app-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  overflow: hidden;
  position: relative;
}

.gb-app-title {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
  color: #1a1a1a;
}

.gb-tagline-gold {
  color: #96b900;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 10px;
}

.gb-app-description {
  font-size: 1.1rem;
  color: #555;
  margin-bottom: 30px;
}

/* Beneficios Checkmark */
.gb-app-benefits .benefit-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-weight: 600;
  color: #333;
}

.gb-app-benefits i {
  color: #96b900;
  font-size: 1.2rem;
}

/* Botones de descarga */
.gb-download-buttons {
  display: flex;
  gap: 15px;
  margin-top: 20px;
}

.gb-download-buttons img {
  height: 45px;
  transition: transform 0.3s ease;
}

.gb-download-buttons img:hover {
  transform: translateY(-5px);
}

/* Mockup Animation */
.gb-mobile-mockup-wrapper {
  position: relative;
  display: inline-block;
}

.gb-circle-bg {
  position: absolute;
  width: 400px;
  height: 400px;
  background: rgba(150, 185, 0, 0.1);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

.gb-mobile-img {
  width: 300px;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 30px 50px rgba(0, 0, 0, 0.2));
  animation: floatMobile 4s ease-in-out infinite;
}

@keyframes floatMobile {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-20px);
  }
}

/* Responsive */
@media (max-width: 991px) {
  .gb-app-title {
    font-size: 2.2rem;
  }

  .gb-mobile-img {
    width: 220px;
    margin-top: 50px;
  }

  .gb-circle-bg {
    width: 300px;
    height: 300px;
  }
}

.gb-review-card {
  background: #ffffff;
  padding: 30px;
  border-radius: 24px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  transition: all 0.4s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.gb-review-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  border-color: #96b900;
}

/* Card destacada (la del centro) */
.gb-review-card.featured {
  background: #1a1a1a;
  color: white;
}

.gb-review-card.featured .gb-user-info span,
.gb-review-card.featured .gb-review-text,
.gb-review-card.featured .gb-review-footer {
  color: #cccccc !important;
}

.gb-review-card.featured .gb-user-info h4 {
  color: white;
}

/* Header de la reseña */
.gb-review-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.gb-avatar-wrapper {
  position: relative;
}

.gb-avatar-wrapper img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #96b900;
}

.gb-verify-badge {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #96b900;
  color: white;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid white;
}

.gb-user-info h4 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
}

.gb-user-info span {
  font-size: 0.85rem;
  color: #96b900;
  font-weight: 600;
}

/* Estrellas y Texto */
.gb-rating-stars {
  color: #ffc107;
  margin-bottom: 15px;
}

.gb-review-text {
  font-style: italic;
  line-height: 1.6;
  color: #555;
  flex-grow: 1;
}

.gb-review-footer {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #f0f0f0;
  color: #bbb;
}

.gb-divider-center {
  width: 60px;
  height: 4px;
  background: #96b900;
  margin-top: 15px;
  border-radius: 2px;
}

.gb-trust-item {
  padding: 20px;
  transition: transform 0.3s ease;
}

.gb-trust-item:hover {
  transform: translateY(-5px);
}

.gb-icon-circle {
  width: 80px;
  height: 80px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  color: #96b900;
  font-size: 2rem;
  border: 1px solid #f0f0f0;
}

.gb-trust-item h3 {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 15px;
  color: #222;
}

.gb-trust-item p {
  color: #666;
  line-height: 1.6;
  font-size: 0.95rem;
}


/* --- Nuevo Sistema de Galería de Lujo (gb-lux-gallery-) --- */

/* Contenedor Principal */
.gb-lux-gallery-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  /* Una columna grande, una pequeña */
  grid-template-rows: 1fr 1fr;
  /* Dos filas */
  gap: 16px;
  height: 600px;
  /* Altura fija para el grid */
  margin-bottom: 50px;
}

/* Items del Grid */
.gb-lux-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gb-lux-gallery-item:hover {
  transform: scale(1.02);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

/* Posicionamiento asimétrico */
.gb-lux-gallery-item-1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

/* Grande vertical */
.gb-lux-gallery-item-2 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

/* Pequeña superior */
.gb-lux-gallery-item-3 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

/* Pequeña inferior */

/* Imagen dentro del item */
.gb-lux-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.gb-lux-gallery-item:hover .gb-lux-gallery-img {
  transform: scale(1.1);
}

/* Capa de superposición para Items traseros (si hay más de 3 fotos) */
.gb-lux-gallery-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 600;
  backdrop-filter: blur(5px);
}

/* --- MODAL DIVERTIDO Y PANTALLA COMPLETA --- */
.gb-lux-gallery-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(15px);
}

.gb-lux-gallery-modal-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
}

.gb-lux-gallery-modal-img {
  max-width: 100%;
  max-height: 90vh;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Botones del Modal */
.gb-lux-gallery-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.gb-lux-gallery-modal-close:hover {
  opacity: 1;
}

.gb-lux-gallery-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.8);
  border: none;
  color: white;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  transition: background 0.3s;
}

.gb-lux-gallery-modal-nav:hover {
  background: rgba(0, 0, 0, 0.4);
}

.gb-lux-gallery-modal-prev {
  left: 20px;
}

.gb-lux-gallery-modal-next {
  right: 20px;
}

/* Utilidades Alpine */
[x-cloak] {
  display: none !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .gb-lux-gallery-grid {
    grid-template-columns: 1fr 1fr;
    /* Dos columnas iguales */
    grid-template-rows: auto auto;
    /* Filas automáticas */
    height: auto;
    /* Quitar altura fija */
  }

  /* Grande arriba ocupando las dos columnas */
  .gb-lux-gallery-item-1 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    height: 250px;
    /* Ajusta según tu diseño */
  }

  /* Dos pequeñas abajo */
  .gb-lux-gallery-item-2 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    height: 150px;
  }

  .gb-lux-gallery-item-3 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    height: 150px;
  }
}

/* clases para formulario dinamico en view */

.form-reserve-wrapper {
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 20px;
}

.gb-reserve-card {
  background: #ffffff;
  padding: 24px;
  display: flex;
  flex-direction: column;
}

/* --- AJUSTES PARA ESCRITORIO (Desktop) --- */
@media (min-width: 992px) {
  .form-reserve-wrapper {
    margin-top: 0;
    height: 600px;
  }

  .gb-reserve-card {
    height: 100%;
    padding: 32px;
    justify-content: space-between;
  }
}



/* clases para formulario dinamico en view */

/* Para que las etiquetas de RESEÑAS y HUÉSPEDES se vean más elegantes */
.header-center-content span {
  display: block;
  margin-top: -2px;
  /* Acerca la etiqueta al número */
  color: #888;
  letter-spacing: 0.5px;
}

.header-center-content h4,
.header-center-content .fw-bold {
  color: #222;
  line-height: 1;
}

/* Un pequeño separador vertical más visible si sientes que se pierden */
.gb-data-divider {
  width: 1px;
  height: 35px;
  background: rgba(0, 0, 0, 0.1);
  align-self: center;
}



.gb-host-header {
  margin-bottom: 1rem;
}

.gb-section-Subtitle {
  font-size: 1.1rem;
  font-weight: 800;
  color: #222;
  margin-bottom: 10px;
  max-width: 100%;
  word-wrap: break-word;
  /* Permite cortar palabras largas */
  white-space: normal;
  /* Asegura que el texto pueda saltar de línea */
  line-height: 1.4;
  /* Mejora la legibilidad cuando hay varias líneas */
}

.gb-divider {
  height: 2px;
  width: 40px;
  background: #2e7d32;
  margin-top: 0.5rem;
}

.gb-host-badge {
  text-align: center;
}

.badge-header {
  display: flex;
  align-items: center;
  justify-content: left;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.badge-header h4 {
  margin: 0;
  font-size: 1rem;
  color: #444;
}

.laurel {
  font-size: 1.2rem;
  color: #2e7d32;
}

.badge-text {
  font-size: 1.2rem;
  color: #000 !important;
  margin-bottom: 0.5rem;
}

.badge-reviews {
  font-size: 1.2rem;
  color: #000;
  margin: 0.3rem 0;
}


#rating .star-icon {
  color: #f5b301;
  /* amarillo dorado */
  font-size: 0.9rem;
}

#rating span {
  font-weight: bold;
  margin-right: 0.3rem;
}

.gb-host-section {
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 1rem;
  background: #fafafa;
  width: 100%;
}

.gb-host-profile {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.gb-host-img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 1rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.gb-host-info h4 {
  margin: 0;
  font-size: 1rem;
  color: #333;
}

.gb-host-info p {
  margin: 0;
  font-size: 0.85rem;
  color: #666;
}

.gb-highlights h5 {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  color: #444;
}

.gb-highlights ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gb-highlights li {
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  color: #555;
}

.gb-highlights strong {
  color: #222;
}


/* Estilos en carrito de compra */
.cart-summary-card {
  background: white;
  border-radius: 10px;
  padding: 25px;
  position: sticky;
  top: 20px;
}

.cart-title {
  font-weight: 600;
  margin-bottom: 20px;
}

.cart-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 14px;
}

.cart-divider {
  height: 1px;
  background: #eee;
  margin: 15px 0;
}

.cart-total {
  font-size: 18px;
  font-weight: 700;
}

.cart-total span:last-child {
  color: #000;
}

.cart-notes {
  font-size: 12px;
  color: #000;
  margin-top: 10px;
}

.checkout-btn {
  width: 100%;
  margin-top: 20px;
  background: #96b900;
  color: white;
  border: none;
  padding: 14px;
  border-radius: 8px;
  font-weight: 600;
  transition: 0.2s;
}

.checkout-btn:hover {
  background: #000;
  transform: translateY(-1px);
}

.cart-support {
  background: white;
  border-radius: 10px;
  padding: 20px;
  margin-top: 20px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.support-phone {
  font-size: 18px;
  font-weight: 600;
  margin: 10px 0;
}


/*==================================================================*/
/*=======================Logeo en reservas==========================*/
/*==================================================================*/

.auth-notice-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  background: linear-gradient(135deg, #f8fafc 0%, #e0e7ef 100%);
  border-radius: 18px;
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
  padding: 48px 24px;
  max-width: 400px;
  margin: 60px auto;
}

.auth-notice-title {
  font-size: 2rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 18px;
  text-align: center;
}

.auth-notice-text {
  font-size: 1.1rem;
  color: #4a5568;
  margin-bottom: 32px;
  text-align: center;
}

.auth-login-btn {
  background: linear-gradient(90deg, #667eea 0%, #5a67d8 100%);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 12px 32px;
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(90, 103, 216, 0.15);
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.auth-login-btn:hover {
  background: linear-gradient(90deg, #5a67d8 0%, #434190 100%);
  transform: translateY(-2px) scale(1.03);
}

/* Calendario proveedores */
.calendar-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.calendar-main {
  flex: 1 1 70%;
  min-width: 300px;
}

.booking-summary-panel {
  flex: 1 1 25%;
  min-width: 280px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e7eaec;
  padding: 20px;
  height: fit-content;
  position: sticky;
  top: 20px;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  background-color: #e7eaec;
  border: 1px solid #e7eaec;
  border-radius: 8px;
  overflow: hidden;
}

.day-card {
  background: #fff;
  min-height: 90px;
  padding: 10px;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
}

.day-card:hover {
  background-color: #f9f9f9;
  z-index: 2;
}

.day-header {
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 5px;
}

/* Estados de Selección */
.in-range {
  background-color: #e8f4fd !important;
}

.range-edge {
  background-color: var(--brand-primary) !important;
  color: white !important;
}

.range-edge .badge-primary {
  background-color: #fff;
  color: var(--brand-primary);
}

@media (max-width: 768px) {
  .calendar-main {
    flex: 1 1 100%;
  }

  .booking-summary-panel {
    flex: 1 1 100%;
    position: relative;
  }

  .day-card {
    min-height: 60px;
    padding: 5px;
  }
}

.hour-picker {
  background: #fdfdfd;
  border: 1px dashed var(--brand-primary);
  padding: 10px;
  border-radius: 6px;
  margin-top: 10px;
}

/* Días deshabilitados */
.day-disabled {
  background-color: #f8f9fa !important;
  color: #d1dade !important;
  cursor: not-allowed !important;
  pointer-events: none;
  /* Evita que incluso se disparen eventos de hover */
}

.day-disabled:hover {
  transform: none !important;
  box-shadow: none !important;
}
.search-results-dropdown {
    position: absolute;
    z-index: 1000;
    width: 100%;
    max-height: 250px;
    overflow-y: auto;
    background: white;
    border: 1px solid #e7eaec;
    border-radius: 0 0 8px 8px;
}
.search-item:hover {
    background-color: #f3f3f4;
    cursor: pointer;
}
.category-badge {
    font-size: 10px;
    padding: 2px 5px;
    text-transform: uppercase;
}

    .booking-summary-panel {
        background: #ffffff;
        border-radius: 16px;
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .header-gradient {
        background: linear-gradient(135deg, #1ab394 0%, #169d82 100%);
        color: white;
        padding: 20px;
    }

    .search-container {
        background: #fff;
        border-radius: 12px;
        border: 1px solid #e2e8f0;
        transition: all 0.3s ease;
    }

    .search-container:focus-within {
        border-color: #1ab394;
        box-shadow: 0 0 0 4px rgba(26, 179, 148, 0.1);
    }

    .current-item-card {
        background: var(--primary-soft);
        border: 1px solid #c7d2fe;
        border-radius: 10px;
        padding: 8px 15px;
        transition: transform 0.2s;
    }

    .stat-row {
        display: flex;
        justify-content: space-between;
        padding: 12px 0;
        border-bottom: 1px solid #f8fafc;
    }

    .stat-row:last-child { border-bottom: none; }

    .selected-resource-card {
        min-width: 280px; /* Asegura un tamaño consistente */
        transition: transform 0.3s ease;
    }
    
    .selected-resource-card:hover {
        transform: translateY(-2px); /* Efecto sutil al pasar el mouse */
    }

    .img-md {
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
        /* Estilos específicos para la barra superior */
    .search-wrapper {
    position: relative;
    margin-left: auto;
}

    .custom-search-input {
        border: 1px solid #e2e8f0 !important;
        border-left: none !important;
        height: 42px;
        box-shadow: none !important;
        border-radius: 0 8px 8px 0 !important;
    }

    .custom-search-addon {
        background: white !important;
        border: 1px solid #e2e8f0 !important;
        border-right: none !important;
        border-radius: 8px 0 0 8px !important;
        color: #94a3b8;
    }

    .search-results-dropdown {
        position: absolute;
        z-index: 1000;
        width: 100%;
        top: 105%;
        background: white;
        border-radius: 12px;
        border: 1px solid #e2e8f0;
        overflow: hidden;
    }

    .search-item {
        cursor: pointer;
        transition: all 0.2s;
        border-bottom: 1px solid #f1f5f9;
    }

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

    .search-item:hover {
        background-color: #f8fafc;
    }

    .selected-resource-card {
        background: #f0fdf4;
        /* Verde muy suave */
        border: 1px solid #bbf7d0;
        border-radius: 10px;
        padding: 8px 15px;
        display: inline-flex;
        align-items: center;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
    }

    .category-badge {
        font-size: 10px;
        padding: 3px 8px;
        border-radius: 20px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

     .day-booked {
        background: #ffc8c8 !important;
        color: #a43d3d !important;
        border-color: #e06969 !important;
    }
/* Calendario proveedores */


/* Profile provider */
.provider-panel { border-radius: 1.25rem; overflow: hidden; box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08); }
.provider-panel .card-header { background: #96b900; border: none; color: #fff; }
.provider-panel .provider-metric { background: #fff; border-radius: 1rem; padding: 1.3rem; box-shadow: 0 12px 24px rgba(15, 23, 42, .08); transition: transform .25s ease, box-shadow .25s ease; }
.provider-panel .provider-metric:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(15, 23, 42, .12); }
.provider-panel .provider-metric-icon { width: 48px; height: 48px; display: inline-flex; border-radius: 50%; align-items: center; justify-content: center; font-size: 1.15rem; color: #fff; margin-right: 1rem; }
.provider-panel .provider-metric-icon.title { background: #96b900; }
.provider-panel .provider-metric-icon.type { background: #0ea5e9; }
.provider-panel .provider-metric-icon.status { background: #10b981; }
.provider-panel .provider-metric-icon.date { background: #f59e0b; }
.provider-panel .provider-description { background: linear-gradient(180deg, #eff6ff, #ffffff); border-radius: 1rem; padding: 1.5rem; min-height: 100%; }
.provider-panel .provider-description h6 { font-size: 1rem; margin-bottom: 1rem; }
.provider-panel .provider-cta { background: #111827; border-radius: 1rem; color: #fff; padding: 1.5rem; min-height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.provider-panel .provider-cta i { font-size: 1.25rem; margin-right: .75rem; }
.provider-panel .provider-chip { display: inline-flex; align-items: center; gap: .45rem; background: rgba(37, 99, 235, .12); color: #1d4ed8; border-radius: 999px; padding: .45rem .85rem; font-weight: 600; }
.provider-panel .provider-panel-footer { font-size: .95rem; color: #cbd5e1; margin-top: .85rem; }
.provider-panel .badge-status { font-size: .85rem; padding: .55rem .85rem; border-radius: 999px; }
@keyframes pulse-icon { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.provider-panel .provider-pulse { animation: pulse-icon 2.5s ease-in-out infinite; }
.provider-box { background: #fff; border-radius: 1rem; border: 1px solid rgba(15, 23, 42, .05); }
.provider-box .card-body { padding: 1.5rem; }
.icon-box { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: .9rem; color: #fff; margin-right: 1rem; flex-shrink: 0; }
.icon-box.title { background: #2563eb; }
.icon-box.type { background: #0ea5e9; }
.icon-box.info { background: #6366f1; }
.icon-box.status { background: #10b981; }
.icon-box.date { background: #f59e0b; }
.provider-label { display: block; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: #6b7280; margin-bottom: .5rem; }
.provider-card-title { font-size: 1.1rem; line-height: 1.25; margin-bottom: .5rem; }
.provider-desc-text { min-height: 185px; }
.provider-note { font-size: .9rem; color: #6b7280; }
.provider-status-row { gap: .75rem; }
@media (max-width: 991px) {
  .provider-desc-text { min-height: auto; }
}


/*Aqui debes agregar los css nuevos */
.stripe-overview-row .stripe-overview-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  padding: 1.25rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.stripe-overview-card-secondary {
  background: #f8fafc;
}

.stripe-overview-card-accent {
  background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);
  color: #ffffff;
}

.stripe-overview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-weight: 700;
}

.stripe-overview-header i {
  font-size: 1.3rem;
}

.stripe-overview-value {
  font-size: 2.3rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.stripe-overview-subtitle {
  color: rgba(75, 85, 99, 0.9);
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

.stripe-overview-card-accent .stripe-overview-subtitle {
  color: rgba(255, 255, 255, 0.85);
}

.stripe-overview-actions {
  margin-top: auto;
}

.stripe-overview-actions .btn {
  min-width: 140px;
}

.btn-outline-secondary {
  color: #475569;
  border-color: #cbd5e1;
}

.btn-outline-secondary:hover {
  color: #0b1120;
  background: #e2e8f0;
}

@media (max-width: 768px) {
  .stripe-overview-row .stripe-overview-card {
    padding: 1rem;
  }
}

.stripe-provider-status-panel {
  border-radius: 1rem;
  background: #f8fafc;
  padding: 1rem;
  border: 1px solid #e2e8f0;
}

.stripe-provider-card {
  display: grid;
  gap: 1rem;
}

.stripe-provider-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}

.stripe-provider-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.stripe-summary-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.85rem;
  padding: 1rem;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
}

.stripe-summary-label {
  display: block;
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 0.35rem;
}

.stripe-provider-card-body {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.75rem;
}

.stripe-provider-row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  padding: 0.8rem 1rem;
  border-radius: 0.85rem;
  background: #f8fafc;
}

.stripe-provider-row-warning {
  background: #fff7ed;
  border: 1px solid #f5d0a9;
}

.method-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 0.8rem;
  background: rgba(56, 189, 248, 0.12);
  color: #0ea5e9;
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
}

.status-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.status-confirmed {
  color: #065f46;
  background: rgba(16, 185, 129, 0.12);
}

.status-pending {
  color: #854d0e;
  background: rgba(234, 179, 8, 0.12);
}

.status-cancelled {
  color: #7f1d1d;
  background: rgba(248, 113, 113, 0.12);
}

.btn-detail {
  min-width: 110px;
}

@media (max-width: 768px) {
  .stripe-provider-summary-grid {
    grid-template-columns: 1fr;
  }
}
/**Aqui van los nue4vos styles**/
/* Styles para cards.php: stripe provider summary */
.stripe-provider-summary .ibox-title {
  background: #1e3a70;
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}
.stripe-provider-summary .provider-summary-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  padding: 1rem;
  min-height: 120px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.stripe-provider-summary .provider-summary-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
.stripe-provider-summary .provider-summary-card .summary-title {
  font-size: 0.85rem;
  color: #546e7a;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.stripe-provider-summary .provider-summary-card .summary-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #102840;
}
.stripe-provider-summary .provider-summary-card .summary-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.85rem;
  color: #ffffff;
  background: #1e3a70;
  flex-shrink: 0;
}
.stripe-provider-summary .provider-info-box {
  background: #f8fafc;
  border: 1px solid #dfe7ef;
  border-radius: 1rem;
  padding: 1rem;
}
.stripe-provider-summary .provider-info-box h6 {
  margin-bottom: 0.35rem;
  font-weight: 700;
}
.stripe-provider-summary .provider-info-box p {
  margin-bottom: 0;
  color: #4d6375;
}
.stripe-provider-summary .provider-state-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.95rem;
  border-radius: 900px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #ffffff;
  background: #0d2d63;
}
.stripe-provider-summary .provider-state-pill.label-warning {
  background: #d97706;
}
.stripe-provider-summary .provider-state-pill.label-success {
  background: #14b8a6;
}
.stripe-provider-summary .provider-action {
  text-align: right;
}
.stripe-provider-summary .profile-card {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.stripe-provider-summary .profile-card .profile-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(30, 58, 112, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1e3a70;
  font-size: 22px;
}
.stripe-provider-summary .profile-card .profile-text small {
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.stripe-provider-summary .provider-status-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(30, 58, 112, 0.08);
  color: #1e3a70;
}

/* Estilos para tablas de movimientos (cards.php) */
.table-dashboard {
  border-collapse: separate;
  border-spacing: 0 8px;
}
.table-dashboard thead th {
  background: transparent;
  color: #0f172a;
  font-weight: 700;
  border-bottom: none;
}
.table-dashboard tbody tr {
  background: #fff;
  box-shadow: 0 6px 18px rgba(2,6,23,0.04);
  border-radius: 8px;
}
.table-dashboard tbody tr td {
  vertical-align: middle;
  border: none;
  padding: 0.9rem 0.75rem;
}
.table-dashboard tbody tr:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(2,6,23,0.06);
}

/* Método / Iconos */
.method-badge {
  display: inline-flex;
  gap: .5rem;
  align-items: center;
  padding: .35rem .6rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: .85rem;
  color: #0f172a;
  background: rgba(2,6,23,0.03);
}

/* Estado */
.status-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.status-confirmed {
  color: #065f46;
  background: rgba(16, 185, 129, 0.12);
}
.status-pending {
  color: #854d0e;
  background: rgba(234, 179, 8, 0.12);
}
.status-cancelled {
  color: #7f1d1d;
  background: rgba(248, 113, 113, 0.12);
}

/* Acción */
.btn-detail {
  min-width: 110px;
  border-radius: .5rem;
}

/* Responsive: compactar filas en pantallas pequeñas */
@media (max-width: 768px) {
  .table-dashboard tbody tr td {
    padding: .6rem .5rem;
    font-size: .9rem;
  }
  .table-dashboard thead { display: none; }
  .table-dashboard tbody tr { display: block; margin-bottom: 12px; }
  .table-dashboard tbody tr td { display: flex; justify-content: space-between; }
}


/* ==========================================================================
   User Wallet Styles
   ========================================================================== */
.user-wallet-summary {
    margin-bottom: 1.5rem;
}

.wallet-card {
    border-radius: 12px !important;
    background-color: var(--brand-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border: none !important;
    overflow: hidden;
}

.wallet-card .ibox-content {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
}

.wallet-card h3, 
.wallet-card h2, 
.wallet-card small,
.wallet-card span {
    color: #ffffff !important;
}

.wallet-card .opacity-80 {
    opacity: 0.9;
}

/* Stripe Provider Card Fixes */
.stripe-provider-card {
    border-radius: 12px !important;
    overflow: hidden;
    border: 1px solid #edf2f7 !important;
}

.stripe-provider-card .ibox-title {
    background: #f8fafc !important;
    border-bottom: 1px solid #edf2f7 !important;
    color: #1a202c !important;
}

.stripe-provider-card .ibox-title h5 {
    color: #1a202c !important;
    font-weight: 700;
}

.stripe-provider-card .ibox-content {
    background: #ffffff !important;
}

.wallet-balance-currency {
    font-size: 0.5em;
    vertical-align: middle;
}

.bg-gb-primary {
    background-color: #0d2d63 !important;
}


/* ==========================================================================
   Premium Table Styles
   ========================================================================== */
.table-dashboard {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    margin-top: -8px !important;
}

.table-dashboard thead th {
    background: #f8f9fa;
    color: #4a5568;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    padding: 12px 15px !important;
    border: none !important;
    border-bottom: 2px solid #edf2f7 !important;
}

.table-dashboard tbody tr {
    transition: all 0.2s ease;
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.table-dashboard tbody tr:hover {
    background-color: #f1f5f9 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.table-dashboard tbody td {
    padding: 15px !important;
    vertical-align: middle !important;
    border-top: 1px solid #edf2f7 !important;
    border-bottom: 1px solid #edf2f7 !important;
}

.table-dashboard tbody td:first-child {
    border-left: 1px solid #edf2f7 !important;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.table-dashboard tbody td:last-child {
    border-right: 1px solid #edf2f7 !important;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Status Badges */
.status-badge {
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
}

.status-confirmed {
    background-color: #defadb;
    color: #1a7f37;
}

.status-pending {
    background-color: #fff4e5;
    color: #b76e00;
}

.status-cancelled {
    background-color: #ffebe9;
    color: #cf222e;
}

.concept-icon {
    width: 36px;
    height: 36px;
    background: #edf2f7;
    color: #4a5568;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1.1rem;
}


/* Asegurar que las tablas tengan espacio horizontal */
.table-dashboard-container {
    padding: 10px 15px;
}

/* Presence en dropdown */
#presence-menu .presence-option {
    display: flex;
    align-items: center;
    gap: 6px;
}
#presence-menu .presence-option .presence-mark {
    margin-left: auto;
    display: none;
    color: #96b900;
}
#presence-menu .presence-option.presence-selected .presence-mark {
    display: inline-block;
}
#presence-menu .presence-option .presence-check {
    font-size: 10px;
}
#presence-menu .presence-option .presence-ico-1 { color: #96b900; }
#presence-menu .presence-option .presence-ico-2 { color: #f0ad4e; }
#presence-menu .presence-option .presence-ico-3 { color: #d9534f; }
#presence-menu .presence-option .presence-ico-0 { color: #888; }
#presence-opt-auto .presence-check { color: #5e8601; }

/* Presence dot en navbar */
.presence-dot {
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    z-index: 10;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
    transition: all 0.2s ease;
}
.presence-dot.dot-online {
    background-color: #96b900;
    box-shadow: 0 0 8px rgba(150, 185, 0, 0.6);
}
.presence-dot.dot-away {
    background-color: #f0ad4e;
    box-shadow: 0 0 8px rgba(240, 173, 78, 0.6);
}
.presence-dot.dot-busy {
    background-color: #d9534f;
    box-shadow: 0 0 8px rgba(217, 83, 79, 0.6);
}
.presence-dot.dot-offline {
    background-color: #ccc;
}

/* ========================================
   Friends Page - Modern Card UI
   ======================================== */
.friends-page {
    padding: 10px 0 40px;
}

.friends-header {
    background: linear-gradient(135deg, #1ab394 0%, #96b900 100%);
    border-radius: 16px;
    padding: 40px 36px;
    color: #fff;
    box-shadow: 0 8px 30px rgba(26, 179, 148, 0.3);
}

.friends-header h2 {
    margin: 0 0 6px;
    font-weight: 700;
    font-size: 1.8rem;
    color: #fff;
}

.friends-header p {
    margin: 0;
    opacity: 0.9;
    font-size: 1rem;
}

/* Tabs */
.friends-tabs {
    display: flex;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    overflow: hidden;
}

.friends-tabs li {
    flex: 1;
    text-align: center;
    padding: 16px 12px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.95rem;
    color: #676a6c;
    border-bottom: 3px solid transparent;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.friends-tabs li:hover {
    background: #f8f9fa;
    color: #1ab394;
}

.friends-tabs li.active {
    color: #1ab394;
    border-bottom-color: #1ab394;
    font-weight: 600;
}

.friends-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0 6px;
    color: #fff;
}

.friends-badge.warning {
    background: #f0ad4e;
}

.friends-badge.primary {
    background: #1ab394;
}

.friends-badge.danger {
    background: #d9534f;
}

/* Search box */
.search-box {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 50px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    padding: 4px 4px 4px 20px;
    margin-bottom: 24px;
}

.search-box-icon {
    color: #b4bcc2;
    font-size: 1.1rem;
    margin-right: 12px;
}

.search-box-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 1rem;
    padding: 14px 0;
    background: transparent;
}

.search-box-btn {
    background: #1ab394;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}

.search-box-btn:hover {
    background: #17a086;
    transform: scale(1.05);
}

.search-box-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
}

/* Spinner */
.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #e8eaed;
    border-top-color: #1ab394;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Empty state */
.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #888;
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 16px;
    color: #d5d8dc;
}

.empty-state h5 {
    font-size: 1.2rem;
    margin: 0 0 6px;
    color: #555;
}

.empty-state p {
    margin: 0;
    font-size: 0.95rem;
}

/* User card (list item) */
.user-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border-radius: 12px;
    padding: 14px 20px;
    margin-bottom: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    transition: all 0.2s;
}

.user-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

.user-card.blocked {
    opacity: 0.65;
    background: #fafafa;
}

.user-card-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #f0f0f0;
}

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

.user-card-body strong {
    display: block;
    font-size: 1rem;
    color: #2d3436;
}

.user-card-body small {
    display: block;
    font-size: 0.82rem;
    color: #888;
    margin-top: 2px;
}

.user-card-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    align-items: center;
}

/* Buttons */
.btn-add-friend {
    background: #1ab394;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 600;
}

.btn-add-friend:hover {
    background: #17a086;
    transform: translateY(-1px);
}

.btn-accept, .btn-decline, .btn-cancel, .btn-unblock {
    border: none;
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-accept {
    background: #e8f5e9;
    color: #2e7d32;
}

.btn-accept:hover {
    background: #c8e6c9;
    transform: translateY(-1px);
}

.btn-decline {
    background: #ffebee;
    color: #c62828;
}

.btn-decline:hover {
    background: #ffcdd2;
    transform: translateY(-1px);
}

.btn-cancel {
    background: #fff8e1;
    color: #f57f17;
}

.btn-cancel:hover {
    background: #ffecb3;
    transform: translateY(-1px);
}

.btn-unblock {
    background: #e8f5e9;
    color: #2e7d32;
}

.btn-unblock:hover {
    background: #c8e6c9;
    transform: translateY(-1px);
}

/* Section titles */
.section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #444;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}

.section-title i {
    color: #1ab394;
    margin-right: 8px;
}

/* Friends grid (card grid view) */
.friends-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

.friend-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: all 0.25s;
}

.friend-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.1);
    transform: translateY(-4px);
}

.friend-card-cover {
    background: linear-gradient(135deg, #e0f7f4 0%, #f1f8e9 100%);
    padding: 28px 20px 16px;
    text-align: center;
}

.friend-card-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.friend-card-body {
    padding: 8px 20px;
    text-align: center;
}

.friend-card-body strong {
    display: block;
    font-size: 1rem;
    color: #2d3436;
}

.friend-card-body small {
    display: block;
    font-size: 0.8rem;
    color: #888;
    margin-top: 2px;
}

.friend-card-footer {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px 16px;
    border-top: 1px solid #f5f5f5;
}

.btn-sm-outline-danger, .btn-sm-outline-secondary {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.btn-sm-outline-danger:hover {
    border-color: #d9534f;
    color: #d9534f;
    background: #fff5f5;
}

.btn-sm-outline-secondary:hover {
    border-color: #888;
    color: #555;
    background: #f8f8f8;
}

/* Badge overrides for inline badges in friends */
.badge {
    font-size: 0.8rem;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 500;
}

.badge-success {
    background: #e8f5e9;
    color: #2e7d32;
}

.badge-warning {
    background: #fff8e1;
    color: #f57f17;
}

.badge-secondary {
    background: #f5f5f5;
    color: #888;
}

/* ========================================
   Chat UI
   ======================================== */
.chat-layout {
    display: flex;
    gap: 0;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    height: calc(100vh - 160px);
    min-height: 500px;
}

.chat-sidebar {
    width: 340px;
    flex-shrink: 0;
    border-right: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    background: #fafbfc;
}

.chat-sidebar-header {
    padding: 18px 20px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.chat-sidebar-header h5 {
    margin: 0;
    font-weight: 700;
    font-size: 1.1rem;
}

.chat-search {
    padding: 10px 14px;
}

.chat-search input {
    width: 100%;
    border: none;
    background: #f0f2f5;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.9rem;
    outline: none;
}

.chat-search input:focus {
    background: #e8eaed;
}

.chat-list {
    flex: 1;
    overflow-y: auto;
}

.chat-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    cursor: pointer;
    transition: all 0.15s;
    border-bottom: 1px solid #f5f5f5;
}

.chat-list-item:hover {
    background: #f0f7f5;
}

.chat-list-item.active {
    background: #e8f5e9;
    border-left: 3px solid #1ab394;
}

.chat-list-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    position: relative;
}

.chat-list-body {
    flex: 1;
    min-width: 0;
}

.chat-list-body strong {
    display: block;
    font-size: 0.92rem;
    color: #2d3436;
}

.chat-list-body small {
    display: block;
    font-size: 0.78rem;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-list-time {
    font-size: 0.7rem;
    color: #aaa;
    flex-shrink: 0;
}

.chat-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.chat-main-header {
    padding: 16px 24px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
}

.chat-main-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.chat-main-info h5 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.chat-main-info small {
    font-size: 0.78rem;
    color: #888;
}

.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #f8f9fb;
}

.chat-message {
    max-width: 75%;
    padding: 10px 16px;
    border-radius: 14px;
    font-size: 0.92rem;
    line-height: 1.45;
    position: relative;
    word-wrap: break-word;
}

.chat-message.sent {
    align-self: flex-end;
    background: #1ab394;
    color: #fff;
    border-bottom-right-radius: 4px;
}

.chat-message.received {
    align-self: flex-start;
    background: #fff;
    color: #333;
    border-bottom-left-radius: 4px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.chat-message-time {
    font-size: 0.65rem;
    margin-top: 4px;
    opacity: 0.7;
    text-align: right;
}

.chat-message.sent .chat-message-time {
    color: rgba(255,255,255,0.8);
}

.chat-message.received .chat-message-time {
    color: #999;
}

.chat-input-area {
    padding: 14px 24px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 10px;
    background: #fff;
    position: relative;
}

.chat-input-area input {
    flex: 1;
    border: 1px solid #e0e0e0;
    border-radius: 24px;
    padding: 12px 20px;
    font-size: 0.92rem;
    outline: none;
    transition: border-color 0.2s;
}

.chat-input-area input:focus {
    border-color: #1ab394;
}

.chat-input-area button {
    background: #1ab394;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}

.chat-input-area button:hover {
    background: #17a086;
    transform: scale(1.05);
}

.chat-input-area button:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
}

.chat-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #bbb;
    gap: 12px;
}

.chat-empty i {
    font-size: 4rem;
}

.chat-empty h5 {
    color: #888;
    margin: 0;
}

.new-chat-panel {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #f5f7f9;
}

.friend-results {
    max-height: 200px;
    overflow-y: auto;
}

.friend-result-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s;
}
.friend-result-item:hover {
    background: #e8ecef;
}

.friend-result-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

/* ============================================================
   CHAT SYSTEM — WhatsApp-style interface
   ============================================================ */

.chat-app {
    display: flex;
    height: calc(100vh - 220px);
    min-height: 400px;
    margin-bottom: 55px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    position: relative;
}

/* Sidebar */
.chat-sidebar {
    width: 340px;
    min-width: 340px;
    border-right: 1px solid #e9edef;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #f0f2f5;
    border-bottom: 1px solid #e9edef;
}

.sidebar-title {
    font-size: 16px;
    font-weight: 600;
    color: #111b21;
}

.sidebar-newchat-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #54656f;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.sidebar-newchat-btn:hover {
    background: #d9dbde;
}

.sidebar-header-actions {
    display: flex;
    gap: 4px;
}

.sidebar-settings {
    padding: 10px 12px;
    border-bottom: 1px solid #e9edef;
    background: #fafafa;
}

.sidebar-settings-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 6px 0;
}

.sidebar-settings-label {
    font-size: 14px;
    color: #111b21;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sidebar-settings-label i {
    color: #54656f;
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.sidebar-newchat {
    padding: 10px 12px;
    border-bottom: 1px solid #e9edef;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    background: #fafafa;
}
.sidebar-newchat-expanded {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.sidebar-newchat-expanded .group-create {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding-bottom: 4px;
}
.sidebar-newchat-expanded .group-create-friends-list {
    flex: 1;
    overflow-y: auto;
    max-height: none;
}
.sidebar-newchat-expanded .group-create-members {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.newchat-input {
    flex: 1;
    min-width: 0;
    padding: 7px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    font-size: 13px;
    outline: none;
}

.newchat-input:focus {
    border-color: #96b900;
}

.newchat-search-btn {
    padding: 7px 14px;
    border: none;
    border-radius: 6px;
    background: #96b900;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}

.newchat-search-btn:disabled {
    opacity: 0.5;
    cursor: default;
}

.newchat-loading,
.newchat-empty {
    width: 100%;
    font-size: 12px;
    color: #667781;
    padding: 4px 0;
}

.newchat-results {
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
}

.newchat-result {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 6px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s;
}

.newchat-result:hover {
    background: #e8ecef;
}

.newchat-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

/* Search */
.sidebar-search {
    padding: 8px 12px;
    position: relative;
    background: #fff;
}

.sidebar-search-icon {
    position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
    color: #667781;
    font-size: 13px;
    pointer-events: none;
}

.sidebar-search input {
    width: 100%;
    padding: 8px 12px 8px 32px;
    border: none;
    border-radius: 8px;
    background: #f0f2f5;
    font-size: 13px;
    outline: none;
    transition: background 0.15s;
}

.sidebar-search input:focus {
    background: #e2e5e8;
}

.sidebar-search input::placeholder {
    color: #667781;
}

/* Chat list */
.sidebar-list {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

.sidebar-loading,
.sidebar-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #667781;
    font-size: 13px;
}

.sidebar-empty-icon {
    font-size: 32px;
    margin-bottom: 10px;
    color: #d0d5d9;
}

.chat-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid #f0f2f5;
}

.chat-item:hover {
    background: #f0f2f5;
}

.chat-item-active {
    background: #e7f0fe !important;
}

.chat-item-unread {
    background: #fcfcfc;
}

.chat-item-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    margin-right: 12px;
}

.chat-item-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.chat-item-body {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.chat-item-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 3px;
}

.chat-item-name {
    font-size: 14px;
    font-weight: 500;
    color: #111b21;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-item-unread .chat-item-name {
    font-weight: 600;
}

.chat-item-time {
    font-size: 11px;
    color: #667781;
    white-space: nowrap;
    margin-left: 6px;
    flex-shrink: 0;
}

.chat-item-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.chat-item-msg {
    font-size: 13px;
    color: #667781;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.chat-item-badge {
    background: #25d366;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    margin-left: 6px;
    flex-shrink: 0;
}

/* Main area */
.chat-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #efeae2;
    position: relative;
}

.chat-empty {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f2f5;
}

.chat-empty-inner {
    text-align: center;
    color: #667781;
}

.chat-empty-icon {
    font-size: 64px;
    color: #d0d5d9;
    margin-bottom: 16px;
}

.chat-empty-title {
    font-size: 18px;
    font-weight: 400;
    color: #3b4a54;
    margin: 0 0 8px;
}

.chat-empty-text {
    font-size: 13px;
    color: #667781;
    margin: 0;
}

/* Active chat layout */
.chat-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Header */
.chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background: #f0f2f5;
    border-bottom: 1px solid #e9edef;
}

.chat-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.chat-header-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.chat-header-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.chat-header-info {
    flex: 1;
    min-width: 0;
}

.chat-header-name {
    font-size: 15px;
    font-weight: 600;
    color: #111b21;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-header-status {
    font-size: 12px;
    color: #667781;
    margin-top: 1px;
}

.chat-header-right {
    flex-shrink: 0;
}

.chat-header-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #54656f;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.chat-header-btn:hover {
    background: #d9dbde;
}

/* Messages container */
.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 16px 40px;
    background-color: #efeae2;
    background-image: 
        radial-gradient(circle at 20px 20px, #e5ddd5 2px, transparent 2px),
        radial-gradient(circle at 60px 80px, #e5ddd5 1px, transparent 1px),
        radial-gradient(circle at 100px 40px, #e5ddd5 1.5px, transparent 1.5px);
    background-size: 80px 100px, 100px 120px, 120px 100px;
}

.msg-loading {
    text-align: center;
    padding: 40px;
    color: #667781;
    font-size: 20px;
}

.msg-row {
    display: flex;
    margin-bottom: 12px;
    animation: msgFadeIn 0.2s ease-out;
}

@keyframes msgFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes msgHighlightShake {
    0%   { transform: translateX(0); }
    10%  { transform: translateX(-4px); }
    20%  { transform: translateX(4px); }
    30%  { transform: translateX(-4px); }
    40%  { transform: translateX(4px); }
    50%  { transform: translateX(-2px); }
    60%  { transform: translateX(2px); }
    70%  { transform: translateX(-1px); }
    80%  { transform: translateX(1px); }
    90%  { transform: translateX(0); }
    100% { transform: translateX(0); }
}
.msg-row.msg-highlight {
    animation: msgHighlightShake 0.6s ease-in-out;
}

.msg-sent {
    justify-content: flex-end;
}

.msg-received {
    justify-content: flex-start;
}

.msg-bubble {
    max-width: 80%;
    min-width: 260px;
    padding: 10px 14px 7px;
    border-radius: 12px;
    position: relative;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.5;
}

.msg-bubble-sent {
    padding-left: 32px;
}

.msg-bubble-received {
    padding-right: 32px;
}

@media (max-width: 768px) {
    .msg-bubble { max-width: 92%; min-width: 180px; }
    .chat-messages { padding: 12px 16px; }
}

/* Bubble tails */
.msg-bubble-sent::after {
    content: '';
    position: absolute;
    top: 8px;
    right: -6px;
    border: 6px solid transparent;
    border-left-color: #d9fdd3;
    border-right: 0;
}

.msg-bubble-received::after {
    content: '';
    position: absolute;
    top: 8px;
    left: -6px;
    border: 6px solid transparent;
    border-right-color: #fff;
    border-left: 0;
}

.msg-bubble-sent {
    background: #d9fdd3;
    border-top-right-radius: 2px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.msg-bubble-sent:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}

.msg-bubble-received {
    background: #fff;
    border-top-left-radius: 2px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.msg-bubble-received:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

.msg-text {
    font-size: 14.5px;
    line-height: 1.45;
    color: #111b21;
    white-space: pre-wrap;
    margin-bottom: 2px;
}

.msg-system {
    font-size: 12px;
    font-style: italic;
    color: #667781;
    text-align: center;
    padding: 6px 0;
}

.msg-encrypted {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #667781;
}

.msg-encrypted-icon {
    font-size: 14px;
}

.msg-admin-decrypt {
    font-size: 11px;
    color: #00a884;
    cursor: pointer;
    text-decoration: none;
    margin-left: 8px;
}

.msg-admin-decrypt:hover {
    text-decoration: underline;
}

.msg-admin-decrypted {
    font-size: 12px;
    color: #8696a0;
    font-style: italic;
}

.msg-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    height: 16px;
    margin-top: 0;
}

.msg-time {
    font-size: 10.5px;
    color: #8696a0;
    line-height: 1;
    letter-spacing: 0.01em;
}

.msg-read {
    font-size: 11px;
    color: #8696a0;
    line-height: 1;
}

.msg-read-read {
    color: var(--primary);
}

.msg-read .fa-check-double {
    font-size: 11px;
}

.msg-read .fa-check {
    font-size: 11px;
}

.msg-read-label {
    font-size: 10px;
    margin-left: 3px;
    vertical-align: middle;
}

.msg-status {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.msg-status-sending {
    font-size: 10.5px;
    color: #8696a0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.msg-status-sending i {
    font-size: 11px;
}

.msg-status-failed {
    font-size: 10.5px;
    color: #e74c3c;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.msg-status-failed i {
    font-size: 11px;
}

/* Input area */
.input-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #54656f;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s;
}

.input-btn:hover {
    background: #d9dbde;
}

.input-textarea-wrap {
    flex: 1;
    min-width: 0;
    position: relative;
    display: flex;
}

.input-textarea {
    flex: 1;
    min-width: 0;
    padding: 9px 12px;
    border: none;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    resize: none;
    line-height: 1.4;
    max-height: 100px;
}

.input-textarea:focus {
    box-shadow: 0 0 0 1px #96b900;
}

.input-send {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: #96b900;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s;
}

.input-send:hover {
    background: #7fa000;
}

.input-send:disabled {
    background: #c0ce8a;
    cursor: default;
}

.input-chars {
    position: absolute;
    bottom: 4px;
    right: 8px;
    font-size: 10px;
    color: #bbb;
    pointer-events: none;
    line-height: 1;
}

.input-chars-warn {
    color: #e74c3c;
    font-weight: 600;
}

/* Message editing */
.msg-edit-wrap {
    padding: 6px 10px;
}

.msg-edit-textarea {
    width: 100%;
    min-height: 48px;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    line-height: 1.4;
    resize: vertical;
    outline: none;
    box-sizing: border-box;
}

.msg-edit-textarea:focus {
    border-color: #96b900;
    box-shadow: 0 0 0 1px #96b900;
}

.msg-edit-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.msg-edit-btn {
    padding: 4px 14px;
    border: none;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    font-family: inherit;
}

.msg-edit-btn-save {
    background: #96b900;
    color: #fff;
}

.msg-edit-btn-save:hover {
    background: #7fa000;
}

.msg-edit-btn-cancel {
    background: #f0f0f0;
    color: #555;
}

.msg-edit-btn-cancel:hover {
    background: #e0e0e0;
}

.msg-edit-chars {
    margin-left: auto;
    font-size: 11px;
    color: #999;
}

.msg-edit-chars-warn {
    color: #e74c3c;
    font-weight: 600;
}

.msg-edited {
    font-size: 10px;
    color: #999;
    font-style: italic;
    margin-left: 6px;
}

.msg-deleted-text {
    padding: 10px 12px 4px;
    font-size: 12px;
    font-style: italic;
    color: #999;
}

/* Presence dots */
.presence-dot {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
}

.presence-dot-lg {
    width: 14px;
    height: 14px;
    border-width: 2px;
}

.presence-dot-sm {
    width: 10px;
    height: 10px;
    border-width: 1.5px;
}

.presence-dot.online {
    background: #44b700;
}

.presence-dot.away {
    background: #f0ad4e;
}

.presence-dot.busy {
    background: #d9534f;
}

.presence-dot.offline {
    background: #a0a0a0;
}

/* Scrollbar styling */
.chat-messages::-webkit-scrollbar,
.sidebar-list::-webkit-scrollbar,
.newchat-results::-webkit-scrollbar {
    width: 6px;
}

.chat-messages::-webkit-scrollbar-track,
.sidebar-list::-webkit-scrollbar-track,
.newchat-results::-webkit-scrollbar-track {
    background: transparent;
}

.chat-messages::-webkit-scrollbar-thumb,
.sidebar-list::-webkit-scrollbar-thumb,
.newchat-results::-webkit-scrollbar-thumb {
    background: #c0c4c8;
    border-radius: 3px;
}

.chat-messages::-webkit-scrollbar-thumb:hover,
.sidebar-list::-webkit-scrollbar-thumb:hover {
    background: #a0a4a8;
}

/* Emoji picker */
.emoji-picker {
    position: absolute;
    bottom: 60px;
    left: 10px;
    width: 280px;
    max-height: 200px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 100;
}

.emoji-item {
    font-size: 22px;
    cursor: pointer;
    padding: 3px;
    border-radius: 4px;
    line-height: 1;
    transition: background 0.1s;
    user-select: none;
}

.emoji-item:hover {
    background: #f0f2f5;
    transform: scale(1.2);
}

/* Chat header back button */
.chat-header-back {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #54656f;
    font-size: 16px;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 4px;
    transition: background 0.15s;
}

.chat-header-back:hover {
    background: #d9dbde;
}

/* Responsive */
@media (max-width: 768px) {
    .chat-app {
        height: calc(100vh - 160px);
        border-radius: 0;
        min-height: 0;
    }

    .chat-sidebar {
        width: 100%;
        min-width: 100%;
    }

    .chat-main {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        background: #efeae2;
    }

    .chat-header-back {
        display: flex;
    }

    .chat-messages {
        padding: 12px 16px;
    }

    .msg-bubble {
        max-width: 85%;
    }

    .chat-main .chat-header {
        padding: 8px 12px;
    }

    .chat-input-area {
        padding: 8px 10px;
        gap: 4px;
    }

    .input-textarea {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .chat-item {
        padding: 10px 12px;
    }

    .chat-item-avatar {
        width: 40px;
        height: 40px;
    }

    .chat-sidebar {
        width: 100%;
        min-width: 100%;
    }

    .sidebar-header {
        padding: 10px 12px;
    }

    .chat-messages {
        padding: 8px 10px;
    }

    .msg-bubble {
        max-width: 92%;
        padding: 6px 8px 5px;
    }

    .msg-media-img,
    .msg-media-video {
        max-height: 200px;
    }
}

/* Chat: main area shrink to accommodate info panel */
.chat-main-with-info {
    width: calc(100% - 340px - 320px);
    flex: none;
}

/* Info panel (right sidebar) */
.chat-info-panel {
    width: 320px;
    min-width: 320px;
    background: #fff;
    border-left: 1px solid #e9edef;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
}

.info-panel-header {
    padding: 18px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f0f2f5;
    font-weight: 600;
    font-size: 16px;
    color: #1c1e21;
    border-bottom: 1px solid #e9edef;
}

.info-panel-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #667781;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}

.info-panel-close:hover {
    color: #1c1e21;
}

.info-panel-body {
    padding: 16px;
    flex: 1;
}

.info-loading {
    text-align: center;
    padding: 40px 0;
    color: #667781;
}

.info-section {
    margin-bottom: 24px;
}

.info-avatar {
    text-align: center;
    margin-bottom: 12px;
}

.info-avatar-img {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e9edef;
}

.info-name {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: #1c1e21;
    margin-bottom: 4px;
}

.info-desc {
    text-align: center;
    font-size: 13px;
    color: #667781;
    margin-bottom: 8px;
}

.info-section-title {
    font-size: 14px;
    font-weight: 600;
    color: #1c1e21;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #25d366;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info-participant {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #f0f2f5;
}

.info-participant-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.info-participant-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.info-participant-name {
    font-size: 14px;
    color: #1c1e21;
    font-weight: 500;
}

.info-participant-role {
    font-size: 11px;
    color: #667781;
    background: #f0f2f5;
    padding: 2px 8px;
    border-radius: 10px;
}

.info-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid #e9edef;
}

.info-avatar-group {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background-color: #e9edef;
    background-size: cover;
    background-position: center;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    border: 3px solid #e9edef;
}
.info-avatar-group i {
    font-size: 24px;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border-radius: 50%;
    padding: 10px;
    opacity: 0;
    transition: opacity 0.2s;
}
.info-avatar-group:hover i {
    opacity: 1;
}
.info-edit-group {
    padding: 8px 0;
}
.info-edit-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d9dee0;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
}
.info-edit-input:focus {
    border-color: #25d366;
}
.info-edit-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.info-action-btn-sm {
    padding: 6px 14px;
    font-size: 13px;
    width: auto;
}
.info-edit-icon {
    font-size: 14px;
    color: #667781;
    cursor: pointer;
    margin-left: 8px;
    opacity: 0.6;
}
.info-edit-icon:hover {
    opacity: 1;
    color: #25d366;
}
.info-add-icon {
    font-size: 18px;
    color: #25d366;
    cursor: pointer;
}
.info-add-icon:hover {
    color: #1da851;
}
.info-add-member {
    padding: 8px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 12px;
}
.info-participant-right {
    display: flex;
    align-items: center;
    gap: 6px;
}
.info-role-select {
    padding: 2px 6px;
    border: 1px solid #d9dee0;
    border-radius: 4px;
    font-size: 11px;
    outline: none;
    background: #fff;
    cursor: pointer;
}
.info-remove-icon {
    font-size: 14px;
    color: #ea0038;
    cursor: pointer;
    opacity: 0.5;
}
.info-remove-icon:hover {
    opacity: 1;
}

.newchat-tabs {
    display: flex;
    border-bottom: 2px solid #e9edef;
    margin-bottom: 10px;
}
.newchat-tab {
    flex: 1;
    padding: 8px;
    border: none;
    background: none;
    font-size: 13px;
    color: #667781;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 0.2s;
}
.newchat-tab.active {
    color: #25d366;
    border-bottom-color: #25d366;
    font-weight: 600;
}
.group-create {
    padding: 6px 0;
}
.group-create .group-create-section-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #25d366;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 16px 0 8px;
}
.group-create .group-create-section-label:first-of-type {
    margin-top: 4px;
}
.group-create .group-create-section-label i {
    font-size: 13px;
}
.group-create-members {
    border-top: 1px solid #e9edef;
    padding-top: 4px;
    margin-top: 6px;
}
.group-create-label {
    font-size: 12px;
    color: #667781;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.group-create-label span {
    background: #e9edef;
    color: #667781;
    padding: 1px 6px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
}
.group-create-search-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    background: #f0f2f5;
    border-radius: 8px;
    padding: 0 10px;
    transition: background 0.2s;
}
.group-create-search-row:focus-within {
    background: #e6e8eb;
}
.group-create-search-row i {
    color: #8696a0;
    font-size: 14px;
}
.group-create-search-row .newchat-input {
    border: none;
    background: transparent;
    padding: 9px 0;
    font-size: 13px;
}
.group-create-search-row .newchat-input:focus {
    border-color: transparent;
}
.group-create-btn {
    width: 100%;
    padding: 11px;
    border: none;
    background: linear-gradient(135deg, #25d366, #1da851);
    color: #fff;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 12px;
    transition: all 0.25s;
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.25);
    letter-spacing: 0.3px;
}
.group-create-btn:hover {
    background: linear-gradient(135deg, #1da851, #168f42);
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35);
    transform: translateY(-1px);
}
.group-create-btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(37, 211, 102, 0.2);
}
.group-create-btn:disabled {
    background: #b9bbbe;
    box-shadow: none;
    transform: none;
    cursor: not-allowed;
}
.group-create-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
    margin: 0 auto 12px;
    background: linear-gradient(135deg, #e9edef, #d4d9dd);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s, box-shadow 0.25s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: relative;
}
.group-create-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.group-create-avatar:hover .group-create-avatar-overlay {
    opacity: 1;
}
.group-create-avatar-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    opacity: 0;
    transition: opacity 0.25s;
    border-radius: 50%;
}
.group-create-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.group-create-avatar-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #8696a0;
    gap: 3px;
}
.group-create-avatar-placeholder i {
    font-size: 26px;
}
.group-create-avatar-placeholder span {
    font-size: 10px;
    font-weight: 500;
}
.group-create-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 8px 0 4px;
}
.group-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #d9fdd3;
    padding: 4px 10px 4px 12px;
    border-radius: 16px;
    font-size: 12px;
    color: #1a5e2a;
    font-weight: 500;
    animation: chipPop 0.25s ease;
}
@keyframes chipPop {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.group-chip i {
    cursor: pointer;
    font-size: 11px;
    color: #1a5e2a;
    opacity: 0.6;
    transition: opacity 0.15s;
}
.group-chip i:hover {
    opacity: 1;
    color: #c0392b;
}
.group-create-friends-list {
    max-height: 200px;
    overflow-y: auto;
    border-radius: 8px;
    margin-top: 2px;
}
.group-create-friends-list .newchat-result {
    padding: 7px 8px;
    border-radius: 8px;
    position: relative;
}
.group-create-friends-list .newchat-result:hover {
    background: #f0f2f5;
}
.group-create-friends-list .newchat-result.is-selected {
    background: #e8f8ed;
}
.group-create-friends-list .newchat-result .check-indicator {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #d4d9dd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: transparent;
    transition: all 0.2s;
    flex-shrink: 0;
    margin-left: auto;
}
.group-create-friends-list .newchat-result.is-selected .check-indicator {
    background: #25d366;
    border-color: #25d366;
    color: #fff;
}

.info-action-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: none;
    background: #f0f2f5;
    border-radius: 8px;
    font-size: 14px;
    color: #1c1e21;
    cursor: pointer;
    transition: background 0.2s;
    width: 100%;
}

.info-action-btn:hover {
    background: #e9edef;
}

.info-action-btn-danger {
    color: #ef5350;
}

.info-action-btn-danger:hover {
    background: #fce4e4;
}

/* Upload preview area (above input) */
.upload-preview-area {
    padding: 8px 12px 4px 12px;
    background: #f0f2f5;
    border-top: 1px solid #e9edef;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 130px;
    overflow-y: auto;
}

.upload-preview-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid #e9edef;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
    max-width: 220px;
    flex-shrink: 0;
}

.upload-preview-item:hover {
    background: #f5f6f7;
}

.upload-preview-thumb-wrap {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef0f2;
}

.upload-preview-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.upload-preview-icon {
    font-size: 20px;
    color: #667781;
}

.upload-preview-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    overflow: hidden;
}

.upload-preview-name {
    font-size: 12px;
    font-weight: 500;
    color: #1c1e21;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.upload-preview-size {
    font-size: 10px;
    color: #667781;
}

.upload-preview-remove {
    background: none;
    border: none;
    color: #8696a0;
    font-size: 16px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
    transition: color 0.15s;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.upload-preview-remove:hover {
    color: #ef5350;
    background: #f0f2f5;
}

/* Upload progress bar */
.upload-preview-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(0,0,0,0.08);
}

.upload-preview-progress-bar {
    height: 100%;
    background: #25d366;
    transition: width 0.2s ease;
    border-radius: 0 0 6px 6px;
}

/* Drop zone active */
.chat-input-area.drop-active {
    border-top: 2px dashed #25d366 !important;
    background: #e8f5e9 !important;
    transition: background 0.2s, border-color 0.2s;
}

/* Media preview modal */
#media-preview-modal .modal-body {
    padding: 0;
    background: #111;
    border-radius: 0 0 4px 4px;
}

#media-preview-modal .modal-header {
    background: #111;
    border-bottom: none;
    padding: 8px 12px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

#media-preview-modal .modal-header .close {
    color: #fff;
    opacity: 0.8;
    font-size: 28px;
    text-shadow: none;
}

#media-preview-modal .modal-content {
    border: none;
    border-radius: 4px;
    background: #111;
}

.media-preview-content {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    max-height: 80vh;
}

.media-preview-img {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

.media-preview-video {
    max-width: 100%;
    max-height: 80vh;
}

/* Multimedia in message bubbles */
.msg-media {
    margin: 6px 0 4px 0;
    border-radius: 6px;
    overflow: hidden;
    max-width: 100%;
}

.msg-media-only {
    margin-bottom: 0;
}

.msg-media-img {
    width: auto;
    min-width: 80px;
    max-width: 100%;
    max-height: 320px;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
    cursor: pointer;
    display: block;
    transition: opacity 0.2s;
}

.msg-media-img[src$=".svg"] {
    width: 100%;
}

.msg-media-img:hover {
    opacity: 0.9;
}

.msg-media-video {
    width: auto;
    min-width: 180px;
    max-width: 100%;
    max-height: 320px;
    border-radius: 6px;
    display: block;
}

.msg-media-file {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(0,0,0,0.05);
    border-radius: 6px;
    text-decoration: none;
    color: #1c1e21;
    font-size: 13px;
    transition: background 0.2s;
}

.msg-media-file:hover {
    background: rgba(0,0,0,0.1);
    text-decoration: none;
    color: #1c1e21;
}

.msg-media-file i {
    font-size: 20px;
    color: #667781;
}

/* Message actions (delete menu) */
.msg-bubble-wrap {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    max-width: 100%;
}

.msg-row-sent {
    justify-content: flex-end;
}

.msg-row-sent .msg-bubble-wrap {
    flex-direction: row-reverse;
}

.msg-actions {
    position: absolute;
    top: 8px;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 100;
}

.msg-bubble-sent .msg-actions {
    left: 2px;
    right: auto;
}

.msg-bubble-received .msg-actions {
    right: 2px;
    left: auto;
}

.msg-row:hover .msg-actions,
.msg-actions-open {
    opacity: 1;
}



.msg-actions-btn {
    background: rgba(0,0,0,0.05);
    border: none;
    color: #667781;
    cursor: pointer;
    padding: 2px;
    font-size: 11px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    transition: background 0.2s, color 0.2s;
}

.msg-actions-btn:hover {
    background: rgba(0,0,0,0.12);
    color: #1c1e21;
}

.msg-bubble-sent .msg-actions-btn {
    background: rgba(0,0,0,0.06);
}
.msg-bubble-sent .msg-actions-btn:hover {
    background: rgba(0,0,0,0.14);
}

.msg-row-menu-open {
    position: relative;
    z-index: 1000;
}

.msg-actions-menu {
    position: absolute;
    top: 24px;
    right: 0;
    left: auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    z-index: 100000;
    min-width: 180px;
    padding: 4px 0;
}

.msg-actions-menu-up {
    bottom: 24px;
    top: auto;
}

.msg-actions-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border: none;
    background: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
    font-size: 14px;
    color: #1c1e21;
    transition: background 0.15s;
}

.msg-actions-item:hover {
    background: #f5f6f7;
}

.msg-actions-item-danger {
    color: #ef5350;
}

.msg-actions-item i {
    width: 16px;
    text-align: center;
}

/* Upload preview area */

/* ---- Reply Quote ---- */
.msg-reply-quote {
    position: relative;
    padding: 4px 8px 4px 12px;
    margin-bottom: 4px;
    background: rgba(0,0,0,0.04);
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s;
}
.msg-reply-quote:hover { background: rgba(0,0,0,0.08); }
.msg-reply-quote::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: #25d366;
    border-radius: 2px;
}
.msg-bubble-sent .msg-reply-quote { background: rgba(0,0,0,0.06); }
.msg-bubble-sent .msg-reply-quote:hover { background: rgba(0,0,0,0.1); }
.msg-reply-sender {
    font-size: 11px;
    font-weight: 600;
    color: #25d366;
    margin-bottom: 1px;
}
.msg-reply-text {
    font-size: 12px;
    color: #667781;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* ---- Replying Bar ---- */
.replying-bar {
    display: flex;
    align-items: center;
    padding: 6px 16px;
    background: #f0f2f5;
    border-top: 1px solid #e9edef;
    gap: 8px;
}
.replying-bar-content {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.replying-bar-line {
    width: 3px;
    height: 28px;
    background: #25d366;
    border-radius: 2px;
    flex-shrink: 0;
}
.replying-bar-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.replying-bar-label {
    font-size: 11px;
    color: #25d366;
    font-weight: 500;
    line-height: 1.2;
}
.replying-bar-label strong { font-weight: 700; }
.replying-bar-preview {
    font-size: 12px;
    color: #667781;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.3;
}
.replying-bar-close {
    background: none;
    border: none;
    color: #8696a0;
    font-size: 18px;
    cursor: pointer;
    padding: 2px 4px;
    line-height: 1;
    flex-shrink: 0;
}
.replying-bar-close:hover { color: #1c1e21; }

/* ---- Message Reactions ---- */
.msg-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 2px;
    margin-bottom: -2px;
    position: relative;
}
.msg-reaction {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 1px 5px;
    background: rgba(0,0,0,0.05);
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 12px;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s, border-color 0.15s;
}
.msg-reaction:hover { background: rgba(0,0,0,0.1); }
.msg-reaction-mine {
    background: #d9fdd3;
    border-color: #96b900;
}
.msg-bubble-sent .msg-reaction { background: rgba(0,0,0,0.08); }
.msg-bubble-sent .msg-reaction:hover { background: rgba(0,0,0,0.14); }
.msg-bubble-sent .msg-reaction-mine { background: #c8e6c9; border-color: #7fa000; }

.msg-reaction-add {
    font-weight: 700;
    font-size: 14px;
    color: #667781;
    padding: 1px 7px;
    position: relative;
    margin-left: auto;
}
.msg-reaction-add:hover { background: rgba(0,0,0,0.12); color: #1c1e21; }
.msg-bubble-received .msg-reaction-add {
    order: -1;
    margin-left: 0;
}

.reaction-picker {
    position: absolute;
    bottom: 100%;
    display: flex;
    gap: 2px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    padding: 3px 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    z-index: 10;
    white-space: nowrap;
    margin-bottom: 4px;
}

.msg-bubble-sent .reaction-picker {
    right: 0;
    left: auto;
}

.msg-bubble-received .reaction-picker {
    left: 0;
    right: auto;
}
.reaction-picker-emoji {
    font-size: 20px;
    cursor: pointer;
    padding: 2px;
    border-radius: 50%;
    line-height: 1;
    transition: background 0.15s, transform 0.15s;
}
.reaction-picker-emoji:hover {
    background: #f0f2f5;
    transform: scale(1.2);
}

/* Sender name in group messages */
/* ---- Typing Indicator ---- */
.chat-header-typing {
    font-size: 12px;
    color: #25d366;
    font-style: italic;
    animation: typingPulse 1.5s ease-in-out infinite;
}
@keyframes typingPulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

.fw-typing {
    padding: 3px 12px;
    font-size: 11px;
    color: #25d366;
    font-style: italic;
    background: #f0f2f5;
    border-bottom: 1px solid #e9edef;
    animation: typingPulse 1.5s ease-in-out infinite;
}

.msg-sender-name {
    font-size: 12px;
    font-weight: 600;
    color: #25d366;
    margin-bottom: 2px;
}

/* Unread message row indicator */
.msg-row.msg-row-read {
    /* subtle highlight for new messages */
}

/* Responsive: hide info panel on mobile */
@media (max-width: 1024px) {
    .chat-info-panel {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 320px;
        z-index: 100;
        box-shadow: -4px 0 20px rgba(0,0,0,0.15);
    }
    
    .chat-main-with-info {
        width: 100% !important;
    }
}

.icon-picker-btn:hover i.text-primary,
.icon-picker-btn:hover i.fas.text-primary {
    color: #fff !important;
}

/* Chat info panel slide animation */
.info-panel-enter {
    transition: all 0.25s ease-out;
}
.info-panel-enter-start {
    opacity: 0;
    transform: translateX(20px);
}
.info-panel-enter-end {
    opacity: 1;
    transform: translateX(0);
}
.info-panel-leave {
    transition: all 0.2s ease-in;
}
.info-panel-leave-start {
    opacity: 1;
    transform: translateX(0);
}
.info-panel-leave-end {
    opacity: 0;
    transform: translateX(20px);
}

/* AsyncTable V2: Fix "No data" message alignment - Force center with highest specificity */
.async-table .table-responsive {
    overflow: visible !important;
}

.async-table table.table tbody tr:has(> td[colspan]) {
    width: 100%;
}

.async-table table.table tbody tr td[colspan] {
    display: table-cell !important;
    text-align: center !important;
    vertical-align: middle !important;
    width: 100% !important;
    padding: 20px !important;
    color: #666;
}

.async-table table.table tbody tr td[colspan] span {
    display: block;
    text-align: center !important;
}

/* ---- V2 Notification Dropdown ---- */
.notif-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    transition: background 0.15s;
    text-decoration: none;
    color: inherit;
    cursor: default;
    border-radius: 6px;
    margin: 2px 6px;
}
.notif-item:hover {
    background: var(--gb-bg);
}
.notif-item.notif-unread {
    background: rgba(150,185,0,0.06);
    border-left: 3px solid #96b900;
}
.notif-item.notif-unread:hover {
    background: rgba(150,185,0,0.10);
}
.notif-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    color: #fff;
}
.notif-icon.notif-icon-default { background: #95a5a6; }
.notif-icon.notif-icon-booking { background: #3498db; }
.notif-icon.notif-icon-chat { background: #2ecc71; }
.notif-icon.notif-icon-friend { background: #e67e22; }
.notif-icon.notif-icon-payment { background: #9b59b6; }
.notif-icon.notif-icon-support { background: #1abc9c; }
.notif-icon.notif-icon-review { background: #f1c40f; color: #333; }
.notif-body {
    flex: 1;
    min-width: 0;
}
.notif-title {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--gb-brand-charcoal);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.notif-unread .notif-title {
    font-weight: 700;
}
.notif-desc {
    font-size: 0.75rem;
    color: var(--gb-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
    margin-top: 1px;
}
.notif-time {
    font-size: 0.65rem;
    color: var(--gb-text-muted);
    opacity: 0.7;
    margin-top: 3px;
}
.notif-actions {
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    transition: opacity 0.15s;
    flex-shrink: 0;
    padding-left: 4px;
}
.notif-item:hover .notif-actions {
    opacity: 1;
}
.notif-btn {
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--gb-text-muted);
    transition: all 0.15s;
    padding: 0;
}
.notif-btn:hover {
    background: rgba(0,0,0,0.06);
    color: var(--gb-brand-charcoal);
}
.notif-btn.notif-btn-danger:hover {
    background: rgba(231,76,60,0.10);
    color: #e74c3c;
}
.notif-btn.notif-btn-primary:hover {
    background: rgba(52,152,219,0.10);
    color: #3498db;
}
.notif-footer-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 0.8rem;
    color: var(--gb-text-muted);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
}
.notif-footer-btn:hover {
    background: var(--gb-bg);
    color: var(--gb-brand-charcoal);
}
.notif-footer-btn i {
    width: 16px;
    text-align: center;
}

/* =====================================================
   Product Details Preview (V2) — reutilizado en wizards
   ===================================================== */
.font-outfit { font-family: 'Outfit', sans-serif !important; }
.font-playfair { font-family: 'Playfair Display', serif !important; }
.text-dark-charcoal { color: #1a1a1a !important; }
.bg-luxury-gold { background-color: #96b900 !important; }
.text-luxury-gold { color: #96b900 !important; }

.bento-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 220px 220px;
    gap: 16px;
}
.bento-item-large {
    grid-row: span 2;
    border-radius: 24px !important;
    overflow: hidden;
    position: relative;
}
.bento-item-small {
    border-radius: 20px !important;
    overflow: hidden;
    position: relative;
}
.bento-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.bento-item:hover .bento-img {
    transform: scale(1.05);
}

.sticky-reserve-card {
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.05);
    background: #ffffff;
    padding: 20px 20px 16px 20px !important;
    transition: all 0.3s ease;
}
.sticky-reserve-card:hover {
    box-shadow: 0 24px 48px rgba(0,0,0,0.09);
}

.feature-badge {
    background-color: rgba(150, 185, 0, 0.05);
    color: #7da000;
    font-weight: 600;
    border-radius: 50px;
    padding: 6px 14px;
    font-size: 0.8rem;
}

.offer-badge-detail {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: #e74c3c;
    color: #fff;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(231, 76, 60, 0.4);
    z-index: 3;
    line-height: 1;
}
.lux-chip {
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid rgba(0,0,0,0.08);
    background: #ffffff;
    color: #4a5568;
    transition: all 0.25s ease;
}
.lux-chip:hover {
    border-color: #96b900;
    color: #96b900;
}
.lux-chip.active {
    background: #96b900;
    color: #ffffff !important;
    border-color: #96b900;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(150, 185, 0, 0.25);
}

.luxury-lightbox-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    background: rgba(10, 10, 10, 0.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
}
.lightbox-img-transition {
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    opacity: 1;
    transform: translateX(0) scale(1);
}
.lightbox-img-sliding-next {
    opacity: 0;
    transform: translateX(60px) scale(0.98);
}
.lightbox-img-sliding-prev {
    opacity: 0;
    transform: translateX(-60px) scale(0.98);
}

@media (max-width: 991.98px) {
    .bento-grid {
        grid-template-columns: 1fr;
        grid-template-rows: 300px 150px 150px;
    }
    .bento-item-large {
        grid-row: span 1;
    }
}

/* Tracking / letter-spacing utility */
.tracking-wider { letter-spacing: 0.05em; }

