/* HPSuite Elite Static Stylesheet */
:root {
  --brand-rgb: 60, 141, 188;
  --primary-color: #3c8dbc;
  --glass-border: rgba(255, 255, 255, 0.2);
  --text-color: #333;
  --card-bg: #fff;
  --bg-color: #f4f6f9;
  --border-color: #dee2e6;
  --table-row-odd: #f9f9f9;
  --shop-bg: #fff;
}

/* Native App Overrides */
* {
  -webkit-tap-highlight-color: transparent;
  /* Disable the grey highlight on mobile taps */
}

/* Mobile UI Cleanup */
@media (max-width: 768px) {

  .main-footer,
  .mobile-nav-hide {
    display: none !important;
  }
}

/* Standard Flat Footer Logic */
@media (min-width: 769px) {
  .main-footer {
    position: relative !important;
    background: rgba(var(--brand-rgb), 0.02) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid var(--glass-border) !important;
    padding: 20px 30px !important;
    margin-top: 60px !important;
    margin-left: 230px !important;
    /* Sidebar width */
    z-index: 10 !important;

    font-size: 11px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--text-color);
    text-align: center !important;
    transition: margin-left 0.3s ease-in-out !important;
  }

  body.dark-mode .main-footer {
    background: rgba(10, 10, 15, 0.4) !important;
    border-top: 1px solid rgba(var(--brand-rgb), 0.2) !important;
  }

  .sidebar-collapse .main-footer {
    margin-left: 4.6rem !important;
    /* AdminLTE collapsed sidebar width */
  }

  .content-wrapper {
    padding-bottom: 80px !important;
  }
}

/* Global Elite Input Standardisation - Light Mode */
.form-control,
.input-lg,
select.form-control,
.select2-selection {
  background: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 8px !important;
  color: var(--text-color) !important;
  transition: all 0.3s ease !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.form-control:focus,
.select2-selection:focus {
  background: #ffffff !important;
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.15), 0 8px 20px rgba(0, 0, 0, 0.08) !important;
  outline: none !important;
}

body.dark-mode .form-control,
body.dark-mode .input-lg,
body.dark-mode select.form-control,
body.dark-mode .select2-selection {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .form-control:focus {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: var(--primary-color) !important;
}

body {
  overscroll-behavior-y: none;
  /* Disable the browser 'bounce' pull-to-refresh effect */
}

/* Prevent accidental text selection on navigation elements to make them feel like native buttons */
.main-sidebar,
.main-header,
.btn,
.myButton,
.sidebar-menu li a {
  user-select: none;
  -webkit-user-select: none;
}

/* Pull to Refresh Indicator */
.ptr-indicator {
  position: fixed;
  top: -60px;
  /* Hidden initially */
  left: 0;
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: transform 0.15s cubic-bezier(0, 0, 0.2, 1), opacity 0.15s ease;
}

.ptr-content {
  background: rgba(var(--primary-color-rgb, 0, 171, 255), 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--theme-color-1, #00abff);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

:root {
  --brand-rgb: var(--brand-rgb);
  --primary-color: var(--primary-color);
  --scribe-3d-color: var(--primary-color);
  /* Original Branded Color for Light Mode */
}

body.dark-mode {
  --scribe-3d-color: #00f2ff;
  /* Electric Cyan for Dark Mode */
}

/* --- HPSUITE+ ELITE TOOLTIP ENGINE --- */
[data-tooltip] {
  position: relative;
  cursor: pointer;
  overflow: visible !important;
}

/* The Tooltip Bubble */
[data-tooltip]:before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  padding: 10px 16px;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4),
    inset 0 0 0 1px rgba(var(--brand-rgb), 0.3);
  white-space: pre-wrap;
  width: max-content;
  max-width: 250px;
  z-index: 999999 !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* The Triangle Arrow */
[data-tooltip]:after {
  content: '';
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  border: 8px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.85);
  z-index: 999999 !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Dark Mode Overrides for Tooltips */
body.dark-mode [data-tooltip]:before {
  background: rgba(var(--brand-rgb), 0.95);
  border-color: var(--primary-color);
}

body.dark-mode [data-tooltip]:after {
  border-top-color: rgba(var(--brand-rgb), 0.95);
}

.hps-notif-delete:hover {
  opacity: 1 !important;
  color: #dd4b39 !important;
  transform: translateY(-50%) scale(1.2) !important;
}

/* --- HPSUITE+ SWIPE HIGHLIGHT --- */
.hps-swipe-highlight {
  animation: hpsPulseHighlight 1s ease-out;
}

@keyframes hpsPulseHighlight {
  0% {
    background: rgba(var(--primary-color-rgb), 0);
    box-shadow: 0 0 0 rgba(var(--primary-color-rgb), 0);
  }

  30% {
    background: rgba(var(--primary-color-rgb), 0.2);
    box-shadow: 0 0 15px rgba(var(--primary-color-rgb), 0.4);
    transform: scale(1.05);
  }

  100% {
    background: rgba(var(--primary-color-rgb), 0);
    box-shadow: 0 0 0 rgba(var(--primary-color-rgb), 0);
    transform: scale(1);
  }
}


/* --- HPSUITE+ AI SCRIBE COMPONENTS --- */
.material-switch {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.material-switch>input[type="checkbox"] {
  display: none;
}

.material-switch>label {
  cursor: pointer;
  height: 0px;
  position: relative;
  width: 40px;
}

.material-switch>label::before {
  background: rgb(0, 0, 0);
  box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
  border-radius: 8px;
  content: '';
  height: 16px;
  margin-top: -8px;
  position: absolute;
  opacity: 0.3;
  transition: all 0.4s ease-in-out;
  width: 40px;
}

.material-switch>label::after {
  background: rgb(255, 255, 255);
  border-radius: 16px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  content: '';
  height: 24px;
  left: -4px;
  margin-top: -8px;
  position: absolute;
  top: -4px;
  transition: all 0.3s ease-in-out;
  width: 24px;
}

.material-switch>input[type="checkbox"]:checked+label::before {
  background: var(--primary-color);
  opacity: 0.5;
}

.material-switch>input[type="checkbox"]:checked+label::after {
  background: var(--primary-color);
  left: 20px;
}

.ai-scribe-control {
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05), inset 0 0 20px rgba(var(--primary-color-rgb), 0.05);
  border: 1px solid var(--glass-border) !important;
  background: linear-gradient(135deg, rgba(var(--primary-color-rgb), 0.08), rgba(255, 255, 255, 0.05)) !important;
  padding: 12px 25px !important;
  border-radius: 18px !important;
}

.ai-scribe-control:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 30px rgba(var(--primary-color-rgb), 0.15);
  background: linear-gradient(135deg, rgba(var(--primary-color-rgb), 0.12), rgba(255, 255, 255, 0.08)) !important;
  border-color: var(--primary-color) !important;
}

.ai-scribe-control .material-switch {
  transform: scale(1.1);
  margin: 0 15px;
}

.ambient-pulse {
  width: 12px;
  height: 12px;
  background: #ff3b30;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  box-shadow: 0 0 0 rgba(255, 59, 48, 0.4);
  animation: pulse-red 1.5s infinite;
  vertical-align: middle;
}

@keyframes pulse-red {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.7);
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(255, 59, 48, 0);
  }

  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(255, 59, 48, 0);
  }
}

.scribe-hud {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  background: transparent;
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.scribe-hud.active {
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.scribe-hud.active.is-minimized {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none;
}

.scribe-card {
  background: rgba(255, 255, 255, 0.98);
  color: #000 !important;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  border: 2px solid var(--primary-color);
  border-radius: 40px;
  padding: 40px;
  width: 90%;
  max-width: 600px;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5),
    inset 0 0 20px rgba(var(--brand-rgb), 0.2);
  transform: translateY(100px) scale(0.9);
  opacity: 0;
  transition: all 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.scribe-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(var(--brand-rgb), 0.1) 0%, transparent 70%);
  animation: rotate-hologram 10s linear infinite;
  pointer-events: none;
}

@keyframes rotate-hologram {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.scribe-card.active {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.scribe-card.minimized {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 280px;
  padding: 15px;
  transform: scale(0.8) !important;
  opacity: 1;
  pointer-events: auto;
  z-index: 999999;
  border-radius: 20px;
}

.scribe-card.minimized .scribe-live-transcript-large,
.scribe-card.minimized .ai-suggestion-container,
.scribe-card.minimized .ai-status-indicator,
.scribe-card.minimized #scribe_suggestions {
  display: none !important;
}

body.dark-mode .scribe-card {
  background: rgba(15, 15, 15, 0.98);
  color: #fff !important;
  border-color: rgba(var(--brand-rgb), 0.5);
}

.ai-suggestion-container {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.ai-suggestion-pill {
  background: rgba(var(--brand-rgb), 0.15);
  border: 1px solid rgba(var(--brand-rgb), 0.3);
  color: var(--primary-color);
  padding: 10px 18px;
  border-radius: 15px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ai-suggestion-pill:hover {
  background: var(--primary-color);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(var(--brand-rgb), 0.5);
}

.ai-status-indicator {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--primary-color);
  margin-bottom: 25px;
}

.scribe-hologram-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  position: relative;
  min-height: 380px;
  overflow: visible;
  background: radial-gradient(circle at center, rgba(var(--brand-rgb), 0.1) 0%, transparent 70%);
}

#scribe_3d_canvas {
  width: 100% !important;
  height: 380px !important;
  outline: none;
  cursor: grab;
  filter: drop-shadow(0 0 20px rgba(var(--brand-rgb), 0.4));
}

.scribe-3d-hud-overlay {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
  pointer-events: none;
  z-index: 10;
  font-family: 'Inter', sans-serif;
}

@keyframes ghost-drift {

  0%,
  100% {
    transform: translate(0, 0) scale(1.1);
  }

  50% {
    transform: translate(-20px, 10px) scale(1.2);
  }
}

.neural-node {
  fill: var(--primary-color);
  filter: blur(1px);
}

.scribe-neural-pulse .neural-node {
  animation: node-flash 0.5s ease-out forwards;
}

@keyframes node-flash {
  0% {
    transform: scale(1);
    filter: brightness(1);
  }

  50% {
    transform: scale(3);
    filter: brightness(3) blur(4px);
  }

  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}

.analyzing-spin {
  animation: rotate-y 2s linear infinite, holographic-float 4s ease-in-out infinite !important;
}

@keyframes rotate-y {
  from {
    transform: rotateY(0deg);
  }

  to {
    transform: rotateY(360deg);
  }
}

.scribe-live-transcript-large {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--text-color);
  max-height: 250px;
  overflow-y: auto;
  padding: 20px;
  margin: 20px 0;
  background: rgba(var(--brand-rgb), 0.05);
  border-radius: 20px;
  border-left: 4px solid var(--primary-color);
  text-align: left;
}

/* Mobile Adaptations */
@media (max-width: 768px) {
  .scribe-card {
    padding: 25px;
    width: 95%;
    border-radius: 30px;
  }

  .scribe-live-transcript-large {
    font-size: 15px;
    max-height: 200px;
  }

  .ai-scribe-control {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Internal Practice Chat (Comms Center) */
.comms-trigger {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background: var(--primary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  z-index: 10000000 !important;
  box-shadow: 0 10px 30px rgba(var(--brand-rgb), 0.4);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.comms-trigger:hover {
  transform: scale(1.1) rotate(15deg);
  box-shadow: 0 15px 40px rgba(var(--brand-rgb), 0.6);
}

.comms-trigger .badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background: #ff3b30;
  border: 2px solid #fff;
}

.comms-sidebar {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  right: -400px;
  width: 400px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(35px);
  -webkit-backdrop-filter: blur(35px);
  border-left: 1px solid rgba(var(--brand-rgb), 0.1);
  z-index: 9999999 !important;
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  display: flex;
  flex-direction: column;
  box-shadow: -20px 0 50px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

body.dark-mode .comms-sidebar {
  background: rgba(15, 15, 15, 0.95);
  border-left-color: rgba(var(--brand-rgb), 0.3);
}

.comms-sidebar.open {
  right: 0;
}

body.dark-mode .comms-sidebar {
  background: rgba(15, 15, 15, 0.95);
  border-left-color: rgba(var(--brand-rgb), 0.3);
}

.comms-header {
  padding: 25px;
  border-bottom: 1px solid rgba(var(--brand-rgb), 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.comms-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--primary-color);
}

.comms-contact-list {
  flex: 1;
  overflow-y: auto;
  padding: 15px;
}

.contact-group-label {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  color: #999;
  margin: 20px 10px 10px;
  letter-spacing: 1px;
}

.comms-contact-item {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  border-radius: 15px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 5px;
  gap: 15px;
}

.comms-contact-item:hover {
  background: rgba(var(--brand-rgb), 0.05);
}

.comms-contact-item.active {
  background: rgba(var(--brand-rgb), 0.1);
  border-left: 4px solid var(--primary-color);
}

.contact-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(var(--brand-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--primary-color);
  overflow: hidden;
}

.contact-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.comms-chat-pane {
  flex: 1;
  display: none;
  flex-direction: column;
  height: calc(100% - 70px);
  /* Account for header */
  overflow: hidden;
}

.comms-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.chat-bubble {
  max-width: 80%;
  padding: 12px 18px;
  border-radius: 20px;
  font-size: 14px;
  line-height: 1.5;
  position: relative;
  animation: bubble-in 0.3s ease-out;
}

@keyframes bubble-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.chat-bubble.outgoing {
  align-self: flex-end;
  background: var(--primary-color);
  color: #fff;
  border-bottom-right-radius: 5px;
  box-shadow: 0 5px 15px rgba(var(--brand-rgb), 0.3);
}

.chat-bubble.incoming {
  align-self: flex-start;
  background: rgba(var(--brand-rgb), 0.08);
  color: var(--text-color);
  border-bottom-left-radius: 5px;
  border: 1px solid rgba(var(--brand-rgb), 0.1);
}

body.dark-mode .chat-bubble.incoming {
  background: rgba(255, 255, 255, 0.05);
  color: #eee;
}

.comms-input-area {
  padding: 15px 15px 40px;
  border-top: 1px solid rgba(var(--brand-rgb), 0.1);
  display: flex;
  gap: 10px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  flex-shrink: 0;
  min-height: 100px;
}

body.dark-mode .comms-input-area {
  background: rgba(0, 0, 0, 0.3);
  border-top-color: rgba(255, 255, 255, 0.1);
}

.comms-input-area input {
  flex: 1;
  background: rgba(var(--brand-rgb), 0.05);
  border: 1px solid rgba(var(--brand-rgb), 0.1);
  border-radius: 12px;
  padding: 10px 15px;
  outline: none;
  transition: all 0.2s;
}

.comms-input-area input:focus {
  border-color: var(--primary-color);
  background: #fff;
}

body.dark-mode .comms-input-area input:focus {
  background: #222;
}

@media (max-width: 768px) {
  .comms-sidebar {
    width: 100%;
    right: -100%;
    bottom: 65px !important;
    top: 0 !important;
    border-left: none;
  }

  .comms-trigger {
    display: none !important;
  }

  .comms-sidebar.open {
    right: 0;
  }

  .comms-chat-pane {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    /* JS will set to flex */
    flex-direction: column;
  }

  .comms-input-area {
    padding-bottom: env(safe-area-inset-bottom, 20px);
    background: rgba(255, 255, 255, 0.98);
  }

  body.dark-mode .comms-input-area {
    background: rgba(15, 15, 15, 0.98);
  }
}

/* End Internal Chat */

/* WhatsApp Overhaul Globals */
.wa-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #dfe5e7;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-weight: 700;
  color: #54656f;
  flex-shrink: 0;
}

.wa-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.dark-mode .wa-avatar {
  background: #202c33;
  color: #aebac1;
}

.wa-contact-item {
  display: flex;
  padding: 12px 15px;
  cursor: pointer;
  transition: background 0.2s;
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

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

body.dark-mode .wa-contact-item:hover {
  background: #202c33;
}

.wa-contact-item.active {
  background: #eff2f5;
}

body.dark-mode .wa-contact-item.active {
  background: #2a3942;
}

/* Sidebar Specific Overrides */
.comms-sidebar .comms-header {
  background: #f0f2f5;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  min-height: 59px;
}

body.dark-mode .comms-sidebar .comms-header {
  background: #202c33 !important;
  color: #e9edef !important;
  border-bottom-color: rgba(255, 255, 255, 0.05);
}

body.dark-mode .comms-sidebar .comms-header h3 {
  color: #e9edef !important;
}

.comms-sidebar .back-btn {
  color: #54656f;
  background: none;
  border: none;
}

body.dark-mode .comms-sidebar .back-btn {
  color: #8696a0;
}

.wa-search-container {
  padding: 10px;
}

.wa-search-box {
  background: #f0f2f5;
  border-radius: 20px;
  padding: 5px 15px;
  display: flex;
  align-items: center;
}

body.dark-mode .wa-search-box {
  background: #202c33 !important;
}

.wa-search-box input {
  border: none;
  background: none;
  outline: none;
  font-size: 13px;
  width: 100%;
  padding: 5px 10px !important;
  color: #000;
}

body.dark-mode .wa-search-box input {
  color: #fff !important;
}

.wa-contact-list {
  flex: 1;
  overflow-y: auto;
  background: #fff;
}

body.dark-mode .wa-contact-list {
  background: #111b21;
}

body.dark-mode .wa-contact-item:hover {
  background: #202c33;
}

.wa-contact-info {
  flex: 1;
  margin-left: 15px;
  min-width: 0;
}

.wa-contact-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3px;
}

.wa-contact-name {
  font-weight: 600;
  font-size: 16px;
  color: #111b21;
}

body.dark-mode .wa-contact-name {
  color: #e9edef;
}

.wa-contact-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wa-contact-msg {
  font-size: 13px;
  color: #667781;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 80%;
}

body.dark-mode .wa-contact-msg {
  color: #8696a0;
}

.wa-bubble {
  max-width: 65%;
  padding: 6px 7px 8px 9px;
  border-radius: 7.5px;
  position: relative;
  font-size: 14.2px;
  line-height: 19px;
  box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
  margin-bottom: 4px;
}

.wa-bubble.outgoing {
  align-self: flex-end;
  background: #d9fdd3;
  border-top-right-radius: 0;
}

body.dark-mode .wa-bubble.outgoing {
  background: #005c4b;
  color: #e9edef;
}

.wa-bubble.incoming {
  align-self: flex-start;
  background: #fff;
  border-top-left-radius: 0;
}

body.dark-mode .wa-bubble.incoming {
  background: #202c33;
  color: #e9edef;
}

.wa-bubble-tail {
  position: absolute;
  top: 0;
  width: 12px;
  height: 19px;
}

.wa-bubble.outgoing .wa-bubble-tail {
  right: -12px;
  fill: #d9fdd3;
}

body.dark-mode .wa-bubble.outgoing .wa-bubble-tail {
  fill: #005c4b;
}

.wa-bubble.incoming .wa-bubble-tail {
  left: -12px;
  fill: #fff;
}

body.dark-mode .wa-bubble.incoming .wa-bubble-tail {
  fill: #202c33;
}

.wa-bubble-meta {
  float: right;
  margin: 4px -4px -4px 8px;
  font-size: 11px;
  color: #667781;
  display: flex;
  align-items: center;
  gap: 3px;
}

body.dark-mode .wa-bubble-meta {
  color: rgba(255, 255, 255, 0.6);
}

.wa-date-separator {
  align-self: center;
  background: #fff;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 11px;
  text-transform: uppercase;
  color: #54656f;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  margin: 15px 0;
}

body.dark-mode .wa-date-separator {
  background: #182229;
  color: #8696a0;
}

.wa-chat-messages {
  flex: 1;
  position: relative;
  background-color: #efeae2;
  padding: 20px 7% 10px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 1;
}

.wa-chat-messages::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('img/chat_bg.png');
  background-size: 400px;
  background-repeat: repeat;
  opacity: 0.4;
  z-index: -1;
}

body.dark-mode .wa-chat-messages {
  background-color: #0b141a;
}

body.dark-mode .wa-chat-messages::before {
  opacity: 0.15;
  filter: invert(1);
}

.wa-input-area {
  min-height: 62px;
  background: #f0f2f5;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

body.dark-mode .wa-input-area {
  background: #202c33;
  border-top-color: rgba(255, 255, 255, 0.05);
}

.wa-input-area input {
  flex: 1;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  border: none !important;
  outline: none !important;
  font-size: 15px !important;
  color: #000 !important;
  box-shadow: none !important;
}

body.dark-mode .wa-input-area input {
  background: #2a3942 !important;
  color: #fff !important;
}

.wa-send-btn {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: none;
  border: none;
  color: #54656f;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}

body.dark-mode .wa-send-btn {
  color: #8696a0;
}

.wa-send-btn.active {
  color: var(--primary-color);
}

/* Emoji Picker */
.wa-emoji-picker {
  position: absolute;
  bottom: 70px;
  left: 10px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
  padding: 10px;
  z-index: 1000;
  width: 200px;
}

body.dark-mode .wa-emoji-picker {
  background: #233138;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.wa-emoji-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.wa-emoji-grid span {
  font-size: 24px;
  cursor: pointer;
  text-align: center;
  transition: transform 0.1s;
}

.wa-emoji-grid span:hover {
  transform: scale(1.2);
}

/* Attachments */
.wa-attachment-image img {
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.wa-attachment-file {
  transition: background 0.2s;
}

.wa-attachment-file:hover {
  background: rgba(0, 0, 0, 0.08) !important;
}

body.dark-mode .wa-attachment-file {
  background: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .wa-attachment-file:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Attachment Preview Overlay */
.wa-attachment-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(11, 20, 26, 0.95);
  z-index: 100000000 !important;
  display: flex;
  flex-direction: column;
}

.wa-attachment-preview-header {
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  color: #fff;
}

.wa-attachment-preview-body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow: hidden;
}

.wa-attachment-preview-footer {
  padding: 20px;
  display: flex;
  justify-content: center;
}

/* Elite Media Viewer */
.wa-media-viewer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  display: flex;
  flex-direction: column;
  z-index: 200000000 !important;
}

.wa-media-header {
  height: 60px;
  padding: 0 15px;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
}

.wa-media-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

/* Elite PWA Media Cards */

.media-pwa-card {
  width: 260px;
  min-height: 380px;
  margin: 15px;
  padding: 18px;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background: rgba(var(--brand-rgb), 0.04);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  vertical-align: top;
  text-align: center;
  position: relative;
  overflow: hidden;
  color: inherit;
}

.media-pwa-card:hover {
  transform: translateY(-8px);
  background: rgba(var(--brand-rgb), 0.08);
  border-color: rgba(var(--brand-rgb), 0.3);
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.15);
}

.media-pwa-preview {
  width: 100%;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.05);
  margin-bottom: 15px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.media-pwa-preview a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.media-pwa-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.media-pwa-card:hover .media-pwa-preview img {
  transform: scale(1.08);
}

.media-pwa-preview i.file-icon {
  font-size: 56px;
  color: var(--primary-color);
  opacity: 0.6;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}

.media-pwa-body {
  flex-grow: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.media-pwa-title {
  font-weight: 700;
  font-size: 1.15em;
  margin-bottom: 10px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--primary-color);
}

.media-pwa-meta {
  font-size: 0.82em;
  opacity: 0.75;
  text-align: left;
  width: 100%;
  line-height: 1.8;
}


.media-pwa-actions {
  margin-top: 15px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.media-pwa-action-btn {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(var(--brand-rgb), 0.2);
  background: rgba(var(--brand-rgb), 0.05);
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1em;
  transition: all 0.3s ease;
  cursor: pointer;
}

.media-pwa-action-btn:hover {
  background: var(--primary-color);
  color: #fff !important;
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(var(--brand-rgb), 0.3);
}

.media-pwa-action-btn.btn-ai {
  color: #f59e0b;
  border-color: rgba(245, 158, 11, 0.3);
}

.media-pwa-action-btn.btn-delete {
  color: #ef4444;
  border-color: rgba(239, 68, 68, 0.3);
}

.media-pwa-action-btn.btn-restore {
  color: #10b981;
  border-color: rgba(16, 185, 129, 0.3);
}

/* View Toggle Switch */
.media-search-input {
  width: 100%;
  max-width: 400px;
  padding: 12px 20px;
  border-radius: 12px;
  border: 1px solid rgba(var(--brand-rgb), 0.2);
  background: rgba(var(--brand-rgb), 0.05);
  color: inherit;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
  outline: none;
}

.media-search-input:focus {
  background: rgba(var(--brand-rgb), 0.1);
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.15);
}

.media-view-toggle {
  display: inline-flex;
  background: rgba(var(--brand-rgb), 0.1);
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 20px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.view-toggle-btn {
  border: none;
  background: transparent;
  color: inherit;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 0.9em;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.6;
}

.view-toggle-btn.active {
  background: var(--primary-color);
  color: #fff !important;
  opacity: 1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Media PWA List Item (Mobile Optimized Row) */
.media-pwa-list-item {
  width: 100%;
  max-width: 800px;
  margin: 8px auto;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  background: rgba(var(--brand-rgb), 0.04);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  gap: 15px;
  text-align: left;
}

.media-pwa-list-item:hover {
  background: rgba(var(--brand-rgb), 0.08);
  transform: translateX(5px);
  border-color: rgba(var(--brand-rgb), 0.2);
}

.media-pwa-list-preview {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.media-pwa-list-preview a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.media-pwa-list-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-pwa-list-preview i {
  font-size: 20px;
  color: var(--primary-color);
}

.media-pwa-list-info {
  flex-grow: 1;
  min-width: 0;
  /* Important for text truncation */
}

.media-pwa-list-title {
  font-weight: 700;
  font-size: 1em;
  color: var(--primary-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.media-pwa-list-meta {
  font-size: 0.78em;
  opacity: 0.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.media-pwa-list-actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.list-action-btn {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  transition: all 0.2s ease;
}

.list-action-btn:hover {
  background: var(--primary-color);
  color: #fff !important;
  transform: scale(1.1);
}

/* Container Toggle States */
.media-gallery-grid .media-pwa-list-item {
  display: none !important;
}

.media-gallery-list .media-pwa-card {
  display: none !important;
}

.media-pwa-meta-row {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}

.media-pwa-meta i {
  width: 20px;
  text-align: center;
  margin-right: 6px;
  font-size: 1.1em;
  opacity: 0.8;
}

.media-pwa-actions {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid rgba(var(--brand-rgb), 0.1);
}

.media-pwa-action-btn {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--brand-rgb), 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--primary-color);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 1.2em;
  text-decoration: none !important;
}

.media-pwa-action-btn:hover {
  background: var(--primary-color);
  color: #fff;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 5px 15px rgba(var(--brand-rgb), 0.3);
}

.media-pwa-action-btn.btn-delete:hover {
  background: #dd4b39;
  /* AdminLTE Red */
  box-shadow: 0 5px 15px rgba(221, 75, 57, 0.3);
}

.media-pwa-action-btn.btn-ai:hover {
  background: #00a65a;
  /* AdminLTE Green */
  box-shadow: 0 5px 15px rgba(0, 166, 90, 0.3);
}

.media-pwa-action-btn.btn-restore:hover {
  background: #0073b7;
  /* AdminLTE Blue */
  box-shadow: 0 5px 15px rgba(0, 115, 183, 0.3);
}

.ptr-icon {
  font-size: 18px;
  transition: transform 0.1s linear;
}

/* State: Resistance/Ready to release */
.ptr-indicator.ptr-ready .ptr-content {
  background: var(--theme-color-1, #00abff);
  color: #fff;
  transform: scale(1.1);
}

/* State: Refreshing (Spinning) */
.ptr-refreshing .ptr-icon {
  animation: ptr-spin 0.8s linear infinite;
}

@keyframes ptr-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/*!
 *   AdminLTE v2.4.8
 *   Author: Almsaeed Studio
 *	 Website: Almsaeed Studio <https://adminlte.io>
 *   License: Open source - MIT
 *           Please visit http://opensource.org/licenses/MIT for more information
 */
/*
 * Core: General Layout Style
 * -------------------------
 */
html,
body {
  height: 100%;
}

.layout-boxed html,
.layout-boxed body {
  height: 100%;
}

body {
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  overflow-y: auto;
}

/* Layout */
.wrapper {
  height: 100%;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
}

.wrapper:before,
.wrapper:after {
  content: " ";
  display: table;
}

.wrapper:after {
  clear: both;
}

.layout-boxed .wrapper {
  max-width: 1250px;
  margin: 0 auto;
  min-height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  position: relative;
}

.layout-boxed {
  background-color: #f9fafc;
}

/*
 * Content Wrapper - contains the main content
 */
.content-wrapper,
.main-footer {
  -webkit-transition: -webkit-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  -moz-transition: -moz-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  -o-transition: -o-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  margin-left: 230px;
  z-index: 820;
}

.layout-top-nav .content-wrapper,
.layout-top-nav .main-footer {
  margin-left: 0;
}

@media (max-width: 767px) {

  .content-wrapper,
  .main-footer {
    margin-left: 0;
  }
}

@media (min-width: 768px) {

  .sidebar-collapse .content-wrapper,
  .sidebar-collapse .main-footer {
    margin-left: 0;
  }
}

@media (max-width: 767px) {

  .sidebar-open .content-wrapper,
  .sidebar-open .main-footer {
    -webkit-transform: translate(230px, 0);
    -ms-transform: translate(230px, 0);
    -o-transform: translate(230px, 0);
    transform: translate(230px, 0);
  }
}

.content-wrapper {
  min-height: 100%;
  background-color: #ecf0f5;
  z-index: 800;
}

.main-footer {
  background: #fff;
  padding: 15px;
  color: #444;
  border-top: 1px solid #d2d6de;
}

/* Fixed layout */
.fixed .main-header,
.fixed .main-sidebar,
.fixed .left-side {
  position: fixed;
}

.fixed .main-header {
  top: 0;
  right: 0;
  left: 0;
}

.fixed .content-wrapper,
.fixed .right-side {
  padding-top: 50px;
}

@media (max-width: 767px) {

  .fixed .content-wrapper,
  .fixed .right-side {
    padding-top: 100px;
  }
}

.fixed.layout-boxed .wrapper {
  max-width: 100%;
}

.fixed .wrapper {
  overflow: hidden;
}

.hold-transition .content-wrapper,
.hold-transition .right-side,
.hold-transition .main-footer,
.hold-transition .main-sidebar,
.hold-transition .left-side,
.hold-transition .main-header .navbar,
.hold-transition .main-header .logo,
.hold-transition .menu-open .fa-angle-left {
  /* Fix for IE */
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

/* Content */
.content {
  min-height: 250px;
  padding: 15px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* H1 - H6 font */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Source Sans Pro', sans-serif;
}

/* General Links */
a {
  color: #3c8dbc;
}

a:hover,
a:active,
a:focus {
  outline: none;
  text-decoration: none;
  color: #72afd2;
}

/* Page Header */
.page-header {
  margin: 10px 0 20px 0;
  font-size: 22px;
}

.page-header>small {
  color: #666;
  display: block;
  margin-top: 5px;
}

/*
 * Component: Main Header
 * ----------------------
 */
.main-header {
  position: relative;
  max-height: 100px;
  z-index: 1030;
}

.main-header .navbar {
  -webkit-transition: margin-left 0.3s ease-in-out;
  -o-transition: margin-left 0.3s ease-in-out;
  transition: margin-left 0.3s ease-in-out;
  margin-bottom: 0;
  margin-left: 230px;
  border: none;
  min-height: 50px;
  border-radius: 0;
}

.layout-top-nav .main-header .navbar {
  margin-left: 0;
}

.main-header #navbar-search-input.form-control {
  background: rgba(255, 255, 255, 0.2);
  border-color: transparent;
}

.main-header #navbar-search-input.form-control:focus,
.main-header #navbar-search-input.form-control:active {
  border-color: rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.9);
}

.main-header #navbar-search-input.form-control::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

.main-header #navbar-search-input.form-control:-ms-input-placeholder {
  color: #ccc;
}

.main-header #navbar-search-input.form-control::-webkit-input-placeholder {
  color: #ccc;
}

.main-header .navbar-custom-menu,
.main-header .navbar-right {
  float: right;
}

@media (max-width: 991px) {

  .main-header .navbar-custom-menu a,
  .main-header .navbar-right a {
    color: inherit;
    background: transparent;
  }
}

@media (max-width: 767px) {
  .main-header .navbar-right {
    float: none;
  }

  .navbar-collapse .main-header .navbar-right {
    margin: 7.5px -15px;
  }

  .main-header .navbar-right>li {
    color: inherit;
    border: 0;
  }
}

.main-header .sidebar-toggle {
  float: left;
  background-color: transparent;
  background-image: none;
  padding: 15px 15px;
  font-family: fontAwesome;
}

.main-header .sidebar-toggle:before {
  content: "\f0c9";
}

.main-header .sidebar-toggle:hover {
  color: #fff;
}

.main-header .sidebar-toggle:focus,
.main-header .sidebar-toggle:active {
  background: transparent;
}

.main-header .sidebar-toggle .icon-bar {
  display: none;
}

.main-header .navbar .nav>li.user>a>.fa,
.main-header .navbar .nav>li.user>a>.glyphicon,
.main-header .navbar .nav>li.user>a>.ion {
  margin-right: 5px;
}

.main-header .navbar .nav>li>a>.label {
  position: absolute;
  top: 9px;
  right: 7px;
  text-align: center;
  font-size: 9px;
  padding: 2px 3px;
  line-height: .9;
}

.main-header .logo {
  -webkit-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  display: block;
  float: left;
  height: 50px;
  font-size: 20px;
  line-height: 50px;
  text-align: center;
  width: 230px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 0 15px;
  font-weight: 300;
  overflow: hidden;
}

.main-header .logo .logo-lg {
  display: block;
}

.main-header .logo .logo-mini {
  display: none;
}

.main-header .navbar-brand {
  color: #fff;
}

.content-header {
  position: relative;
  padding: 15px 15px 0 15px;
}

.content-header>h1 {
  margin: 0;
  font-size: 24px;
}

.content-header>h1>small {
  font-size: 15px;
  display: inline-block;
  padding-left: 4px;
  font-weight: 300;
}

.content-header>.breadcrumb {
  float: right;
  background: transparent;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 12px;
  padding: 7px 5px;
  position: absolute;
  top: 15px;
  right: 10px;
  border-radius: 2px;
}

.content-header>.breadcrumb>li>a {
  color: #444;
  text-decoration: none;
  display: inline-block;
}

.content-header>.breadcrumb>li>a>.fa,
.content-header>.breadcrumb>li>a>.glyphicon,
.content-header>.breadcrumb>li>a>.ion {
  margin-right: 5px;
}

.content-header>.breadcrumb>li+li:before {
  content: '>\00a0';
}

@media (max-width: 991px) {
  .content-header>.breadcrumb {
    position: relative;
    margin-top: 5px;
    top: 0;
    right: 0;
    float: none;
    background: #d2d6de;
    padding-left: 10px;
  }

  .content-header>.breadcrumb li:before {
    color: #97a0b3;
  }
}

.navbar-toggle {
  color: #fff;
  border: 0;
  margin: 0;
  padding: 15px 15px;
}

@media (max-width: 991px) {
  .navbar-custom-menu .navbar-nav>li {
    float: left;
  }

  .navbar-custom-menu .navbar-nav {
    margin: 0;
    float: left;
  }

  .navbar-custom-menu .navbar-nav>li>a {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 20px;
  }
}

@media (max-width: 767px) {
  .main-header {
    position: relative;
  }

  .main-header .logo,
  .main-header .navbar {
    width: 100%;
    float: none;
  }

  .main-header .navbar {
    margin: 0;
  }

  .main-header .navbar-custom-menu {
    float: right;
  }
}

@media (max-width: 991px) {
  .navbar-collapse.pull-left {
    float: none !important;
  }

  .navbar-collapse.pull-left+.navbar-custom-menu {
    display: block;
    position: absolute;
    top: 0;
    right: 40px;
  }
}

/*
 * Component: Sidebar
 * ------------------
 */
.main-sidebar {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 50px;
  min-height: 100%;
  width: 230px;
  z-index: 810;
  -webkit-transition: -webkit-transform 0.3s ease-in-out, width 0.3s ease-in-out;
  -moz-transition: -moz-transform 0.3s ease-in-out, width 0.3s ease-in-out;
  -o-transition: -o-transform 0.3s ease-in-out, width 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
}

@media (max-width: 767px) {
  .main-sidebar {
    padding-top: 100px;
  }
}

@media (max-width: 767px) {
  .main-sidebar {
    -webkit-transform: translate(-230px, 0);
    -ms-transform: translate(-230px, 0);
    -o-transform: translate(-230px, 0);
    transform: translate(-230px, 0);
  }
}

@media (min-width: 768px) {
  .sidebar-collapse .main-sidebar {
    -webkit-transform: translate(-230px, 0);
    -ms-transform: translate(-230px, 0);
    -o-transform: translate(-230px, 0);
    transform: translate(-230px, 0);
  }
}

@media (max-width: 767px) {
  .sidebar-open .main-sidebar {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.sidebar {
  padding-bottom: 10px;
}

.sidebar-form input:focus {
  border-color: transparent;
}

.user-panel {
  position: relative;
  width: 100%;
  padding: 10px;
  overflow: hidden;
}

.user-panel:before,
.user-panel:after {
  content: " ";
  display: table;
}

.user-panel:after {
  clear: both;
}

.user-panel>.image>img {
  width: 100%;
  max-width: 45px;
  height: auto;
}

.user-panel>.info {
  padding: 5px 5px 5px 15px;
  line-height: 1;
  position: absolute;
  left: 55px;
}

.user-panel>.info>p {
  font-weight: 600;
  margin-bottom: 9px;
}

.user-panel>.info>a {
  text-decoration: none;
  padding-right: 5px;
  margin-top: 3px;
  font-size: 11px;
}

.user-panel>.info>a>.fa,
.user-panel>.info>a>.ion,
.user-panel>.info>a>.glyphicon {
  margin-right: 3px;
}

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

.sidebar-menu>li {
  position: relative;
  margin: 0;
  padding: 0;
}

.sidebar-menu>li>a {
  padding: 12px 5px 12px 15px;
  display: block;
}

.sidebar-menu>li>a>.fa,
.sidebar-menu>li>a>.glyphicon,
.sidebar-menu>li>a>.ion {
  width: 30px;
  margin-right: 10px;
}

.sidebar-menu>li .label,
.sidebar-menu>li .badge {
  margin-right: 5px;
}

.sidebar-menu>li .badge {
  margin-top: 3px;
}

.sidebar-menu li.header {
  padding: 10px 25px 10px 15px;
  font-size: 12px;
}

.sidebar-menu li>a>.fa-angle-left,
.sidebar-menu li>a>.pull-right-container>.fa-angle-left {
  width: auto;
  height: auto;
  padding: 0;
  margin-right: 10px;
  -webkit-transition: transform 0.5s ease;
  -o-transition: transform 0.5s ease;
  transition: transform 0.5s ease;
}

.sidebar-menu li>a>.fa-angle-left {
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8px;
}

.sidebar-menu .menu-open>a>.fa-angle-left,
.sidebar-menu .menu-open>a>.pull-right-container>.fa-angle-left {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.sidebar-menu .active>.treeview-menu {
  display: block;
}

/*
 * Component: Sidebar Mini
 */
@media (min-width: 768px) {

  .sidebar-mini.sidebar-collapse .content-wrapper,
  .sidebar-mini.sidebar-collapse .right-side,
  .sidebar-mini.sidebar-collapse .main-footer {
    margin-left: 50px !important;
    z-index: 840;
  }

  .sidebar-mini.sidebar-collapse .main-sidebar {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    width: 50px !important;
    z-index: 850;
  }

  .sidebar-mini.sidebar-collapse .sidebar-menu>li {
    position: relative;
  }

  .sidebar-mini.sidebar-collapse .sidebar-menu>li>a {
    margin-right: 0;
  }

  .sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span {
    border-top-right-radius: 4px;
  }

  .sidebar-mini.sidebar-collapse .sidebar-menu>li:not(.treeview)>a>span {
    border-bottom-right-radius: 4px;
  }

  .sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu {
    padding-top: 5px;
    padding-bottom: 5px;
    border-bottom-right-radius: 4px;
  }

  .sidebar-mini.sidebar-collapse .main-sidebar .user-panel>.info,
  .sidebar-mini.sidebar-collapse .sidebar-form,
  .sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span,
  .sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu,
  .sidebar-mini.sidebar-collapse .sidebar-menu>li>a>.pull-right,
  .sidebar-mini.sidebar-collapse .sidebar-menu li.header {
    display: none !important;
    -webkit-transform: translateZ(0);
  }

  .sidebar-mini.sidebar-collapse .main-header .logo {
    width: 50px;
  }

  .sidebar-mini.sidebar-collapse .main-header .logo>.logo-mini {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
    font-size: 18px;
  }

  .sidebar-mini.sidebar-collapse .main-header .logo>.logo-lg {
    display: none;
  }

  .sidebar-mini.sidebar-collapse .main-header .navbar {
    margin-left: 50px;
  }
}

@media (min-width: 768px) {

  .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span:not(.pull-right),
  .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu {
    display: block !important;
    position: absolute;
    width: 180px;
    left: 50px;
  }

  .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span {
    top: 0;
    margin-left: -3px;
    padding: 12px 5px 12px 20px;
    background-color: inherit;
  }

  .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container {
    position: relative !important;
    float: right;
    width: auto !important;
    left: 180px !important;
    top: -22px !important;
    z-index: 900;
  }

  .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container>.label:not(:first-of-type) {
    display: none;
  }

  .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu {
    top: 44px;
    margin-left: 0;
  }
}

.sidebar-expanded-on-hover .main-footer,
.sidebar-expanded-on-hover .content-wrapper {
  margin-left: 50px;
}

.sidebar-expanded-on-hover .main-sidebar {
  box-shadow: 3px 0 8px rgba(0, 0, 0, 0.125);
}

.sidebar-menu,
.main-sidebar .user-panel,
.sidebar-menu>li.header {
  white-space: nowrap;
  overflow: hidden;
}

.sidebar-menu:hover {
  overflow: visible;
}

.sidebar-form,
.sidebar-menu>li.header {
  overflow: hidden;
  text-overflow: clip;
}

.sidebar-menu li>a {
  position: relative;
}

.sidebar-menu li>a>.pull-right-container {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -7px;
}

/*
 * Component: Control sidebar. By default, this is the right sidebar.
 */
.control-sidebar-bg {
  position: fixed;
  z-index: 1000;
  bottom: 0;
}

.control-sidebar-bg,
.control-sidebar {
  top: 0;
  right: -230px;
  width: 230px;
  -webkit-transition: right 0.3s ease-in-out;
  -o-transition: right 0.3s ease-in-out;
  transition: right 0.3s ease-in-out;
}

.control-sidebar {
  position: absolute;
  padding-top: 50px;
  z-index: 1010;
}

@media (max-width: 767px) {
  .control-sidebar {
    padding-top: 100px;
  }
}

.control-sidebar>.tab-content {
  padding: 10px 15px;
}

.control-sidebar.control-sidebar-open,
.control-sidebar.control-sidebar-open+.control-sidebar-bg {
  right: 0;
}

.control-sidebar-open .control-sidebar-bg,
.control-sidebar-open .control-sidebar {
  right: 0;
}

@media (min-width: 768px) {

  .control-sidebar-open .content-wrapper,
  .control-sidebar-open .right-side,
  .control-sidebar-open .main-footer {
    margin-right: 230px;
  }
}

.fixed .control-sidebar {
  position: fixed;
  height: 100%;
  overflow-y: auto;
  padding-bottom: 50px;
}

.nav-tabs.control-sidebar-tabs>li:first-of-type>a,
.nav-tabs.control-sidebar-tabs>li:first-of-type>a:hover,
.nav-tabs.control-sidebar-tabs>li:first-of-type>a:focus {
  border-left-width: 0;
}

.nav-tabs.control-sidebar-tabs>li>a {
  border-radius: 0;
}

.nav-tabs.control-sidebar-tabs>li>a,
.nav-tabs.control-sidebar-tabs>li>a:hover {
  border-top: none;
  border-right: none;
  border-left: 1px solid transparent;
  border-bottom: 1px solid transparent;
}

.nav-tabs.control-sidebar-tabs>li>a .icon {
  font-size: 16px;
}

.nav-tabs.control-sidebar-tabs>li.active>a,
.nav-tabs.control-sidebar-tabs>li.active>a:hover,
.nav-tabs.control-sidebar-tabs>li.active>a:focus,
.nav-tabs.control-sidebar-tabs>li.active>a:active {
  border-top: none;
  border-right: none;
  border-bottom: none;
}

@media (max-width: 768px) {
  .nav-tabs.control-sidebar-tabs {
    display: table;
  }

  .nav-tabs.control-sidebar-tabs>li {
    display: table-cell;
  }
}

.control-sidebar-heading {
  font-weight: 400;
  font-size: 16px;
  padding: 10px 0;
  margin-bottom: 10px;
}

.control-sidebar-subheading {
  display: block;
  font-weight: 400;
  font-size: 14px;
}

.control-sidebar-menu {
  list-style: none;
  padding: 0;
  margin: 0 -15px;
}

.control-sidebar-menu>li>a {
  display: block;
  padding: 10px 15px;
}

.control-sidebar-menu>li>a:before,
.control-sidebar-menu>li>a:after {
  content: " ";
  display: table;
}

.control-sidebar-menu>li>a:after {
  clear: both;
}

.control-sidebar-menu>li>a>.control-sidebar-subheading {
  margin-top: 0;
}

.control-sidebar-menu .menu-icon {
  float: left;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  text-align: center;
  line-height: 35px;
}

.control-sidebar-menu .menu-info {
  margin-left: 45px;
  margin-top: 3px;
}

.control-sidebar-menu .menu-info>.control-sidebar-subheading {
  margin: 0;
}

.control-sidebar-menu .menu-info>p {
  margin: 0;
  font-size: 11px;
}

.control-sidebar-menu .progress {
  margin: 0;
}

.control-sidebar-dark {
  color: #b8c7ce;
}

.control-sidebar-dark,
.control-sidebar-dark+.control-sidebar-bg {
  background: #222d32;
}

.control-sidebar-dark .nav-tabs.control-sidebar-tabs {
  border-bottom: #1c2529;
}

.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a {
  background: #181f23;
  color: #b8c7ce;
}

.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:focus {
  border-left-color: #141a1d;
  border-bottom-color: #141a1d;
}

.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:focus,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:active {
  background: #1c2529;
}

.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover {
  color: #fff;
}

.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:hover,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:focus,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:active {
  background: #222d32;
  color: #fff;
}

.control-sidebar-dark .control-sidebar-heading,
.control-sidebar-dark .control-sidebar-subheading {
  color: #fff;
}

.control-sidebar-dark .control-sidebar-menu>li>a:hover {
  background: #1e282c;
}

.control-sidebar-dark .control-sidebar-menu>li>a .menu-info>p {
  color: #b8c7ce;
}

.control-sidebar-light {
  color: #5e5e5e;
}

.control-sidebar-light,
.control-sidebar-light+.control-sidebar-bg {
  background: #f9fafc;
  border-left: 1px solid #d2d6de;
}

.control-sidebar-light .nav-tabs.control-sidebar-tabs {
  border-bottom: #d2d6de;
}

.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a {
  background: #e8ecf4;
  color: #444444;
}

.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:hover,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:focus {
  border-left-color: #d2d6de;
  border-bottom-color: #d2d6de;
}

.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:hover,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:focus,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:active {
  background: #eff1f7;
}

.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:hover,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:focus,
.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:active {
  background: #f9fafc;
  color: #111;
}

.control-sidebar-light .control-sidebar-heading,
.control-sidebar-light .control-sidebar-subheading {
  color: #111;
}

.control-sidebar-light .control-sidebar-menu {
  margin-left: -14px;
}

.control-sidebar-light .control-sidebar-menu>li>a:hover {
  background: #f4f4f5;
}

.control-sidebar-light .control-sidebar-menu>li>a .menu-info>p {
  color: #5e5e5e;
}

/*
 * Component: Dropdown menus
 * -------------------------
 */
/*Dropdowns in general*/
.dropdown-menu {
  box-shadow: none;
  border-color: #eee;
}

.dropdown-menu>li>a {
  color: #777;
}

.dropdown-menu>li>a>.glyphicon,
.dropdown-menu>li>a>.fa,
.dropdown-menu>li>a>.ion {
  margin-right: 10px;
}

.dropdown-menu>li>a:hover {
  background-color: #e1e3e9;
  color: #333;
}

.dropdown-menu>.divider {
  background-color: #eee;
}

.navbar-nav>.notifications-menu>.dropdown-menu,
.navbar-nav>.messages-menu>.dropdown-menu,
.navbar-nav>.tasks-menu>.dropdown-menu {
  width: 280px;
  padding: 0 0 0 0;
  margin: 0;
  top: 100%;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li,
.navbar-nav>.messages-menu>.dropdown-menu>li,
.navbar-nav>.tasks-menu>.dropdown-menu>li {
  position: relative;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li.header,
.navbar-nav>.messages-menu>.dropdown-menu>li.header,
.navbar-nav>.tasks-menu>.dropdown-menu>li.header {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-color: #ffffff;
  padding: 7px 10px;
  border-bottom: 1px solid #f4f4f4;
  color: #444444;
  font-size: 14px;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a,
.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a,
.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  font-size: 12px;
  background-color: #fff;
  padding: 7px 10px;
  border-bottom: 1px solid #eeeeee;
  color: #444 !important;
  text-align: center;
}

@media (max-width: 991px) {

  .navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a,
  .navbar-nav>.messages-menu>.dropdown-menu>li.footer>a,
  .navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a {
    background: #fff !important;
    color: #444 !important;
  }
}

.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a:hover,
.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a:hover,
.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a:hover {
  text-decoration: none;
  font-weight: normal;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li .menu,
.navbar-nav>.messages-menu>.dropdown-menu>li .menu,
.navbar-nav>.tasks-menu>.dropdown-menu>li .menu {
  max-height: 200px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: hidden;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a,
.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a,
.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a {
  display: block;
  white-space: nowrap;
  /* Prevent text from breaking */
  border-bottom: 1px solid #f4f4f4;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a:hover,
.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:hover,
.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a:hover {
  background: #f4f4f4;
  text-decoration: none;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a {
  color: #444444;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 10px;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.glyphicon,
.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.fa,
.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.ion {
  width: 20px;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a {
  margin: 0;
  padding: 10px 10px;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>div>img {
  margin: auto 10px auto auto;
  width: 40px;
  height: 40px;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>h4 {
  padding: 0;
  margin: 0 0 0 45px;
  color: #444444;
  font-size: 15px;
  position: relative;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>h4>small {
  color: #999999;
  font-size: 10px;
  position: absolute;
  top: 0;
  right: 0;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>p {
  margin: 0 0 0 45px;
  font-size: 12px;
  color: #888888;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:before,
.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:after {
  content: " ";
  display: table;
}

.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:after {
  clear: both;
}

.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a {
  padding: 10px;
}

.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a>h3 {
  font-size: 14px;
  padding: 0;
  margin: 0 0 10px 0;
  color: #666666;
}

.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a>.progress {
  padding: 0;
  margin: 0;
}

.navbar-nav>.user-menu>.dropdown-menu {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  padding: 1px 0 0 0;
  border-top-width: 0;
  width: 280px;
}

.navbar-nav>.user-menu>.dropdown-menu,
.navbar-nav>.user-menu>.dropdown-menu>.user-body {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header {
  height: 175px;
  padding: 10px;
  text-align: center;
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img {
  z-index: 5;
  height: 90px;
  width: 90px;
  border: 3px solid;
  border-color: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p {
  z-index: 5;
  color: #fff;
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  margin-top: 10px;
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p>small {
  display: block;
  font-size: 12px;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-body {
  padding: 15px;
  border-bottom: 1px solid #f4f4f4;
  border-top: 1px solid #dddddd;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-body:before,
.navbar-nav>.user-menu>.dropdown-menu>.user-body:after {
  content: " ";
  display: table;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-body:after {
  clear: both;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-body a {
  color: #444 !important;
}

@media (max-width: 991px) {
  .navbar-nav>.user-menu>.dropdown-menu>.user-body a {
    background: #fff !important;
    color: #444 !important;
  }
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer {
  background-color: #f9f9f9;
  padding: 10px;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer:before,
.navbar-nav>.user-menu>.dropdown-menu>.user-footer:after {
  content: " ";
  display: table;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer:after {
  clear: both;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default {
  color: #666666;
}

@media (max-width: 991px) {
  .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover {
    background-color: #f9f9f9;
  }
}

.navbar-nav>.user-menu .user-image {
  float: left;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  margin-right: 10px;
  margin-top: -2px;
}

@media (max-width: 767px) {
  .navbar-nav>.user-menu .user-image {
    float: none;
    margin-right: 0;
    margin-top: -8px;
    line-height: 10px;
  }
}

/* Add fade animation to dropdown menus by appending
 the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/
.open:not(.dropup)>.animated-dropdown-menu {
  backface-visibility: visible !important;
  -webkit-animation: flipInX 0.7s both;
  -o-animation: flipInX 0.7s both;
  animation: flipInX 0.7s both;
}

@keyframes flipInX {
  0% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transition-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transition-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  100% {
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  100% {
    -webkit-transform: perspective(400px);
  }
}

/* Fix dropdown menu in navbars */
.navbar-custom-menu>.navbar-nav>li {
  position: relative;
}

.navbar-custom-menu>.navbar-nav>li>.dropdown-menu {
  position: absolute;
  right: 0;
  left: auto;
}

@media (max-width: 991px) {
  .navbar-custom-menu>.navbar-nav {
    float: right;
  }

  .navbar-custom-menu>.navbar-nav>li {
    position: static;
  }

  .navbar-custom-menu>.navbar-nav>li>.dropdown-menu {
    position: absolute;
    right: 5%;
    left: auto;
    border: 1px solid #ddd;
    background: #fff;
  }
}

/*
 * Component: Form
 * ---------------
 */
.form-control {
  border-radius: 0;
  box-shadow: none;
  border-color: #d2d6de;
}

.form-control:focus {
  border-color: #3c8dbc;
  box-shadow: none;
}

.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: #bbb;
  opacity: 1;
}

.form-control:not(select) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-group.has-success label {
  color: #00a65a;
}

.form-group.has-success .form-control,
.form-group.has-success .input-group-addon {
  border-color: #00a65a;
  box-shadow: none;
}

.form-group.has-success .help-block {
  color: #00a65a;
}

.form-group.has-warning label {
  color: #f39c12;
}

.form-group.has-warning .form-control,
.form-group.has-warning .input-group-addon {
  border-color: #f39c12;
  box-shadow: none;
}

.form-group.has-warning .help-block {
  color: #f39c12;
}

.form-group.has-error label {
  color: #dd4b39;
}

.form-group.has-error .form-control,
.form-group.has-error .input-group-addon {
  border-color: #dd4b39;
  box-shadow: none;
}

.form-group.has-error .help-block {
  color: #dd4b39;
}

/* Input group */
.input-group .input-group-addon {
  border-radius: 0;
  border-color: #d2d6de;
  background-color: #fff;
}

/* button groups */
.btn-group-vertical .btn.btn-flat:first-of-type,
.btn-group-vertical .btn.btn-flat:last-of-type {
  border-radius: 0;
}

.icheck>label {
  padding-left: 0;
}

/* support Font Awesome icons in form-control */
.form-control-feedback.fa {
  line-height: 34px;
}

.input-lg+.form-control-feedback.fa,
.input-group-lg+.form-control-feedback.fa,
.form-group-lg .form-control+.form-control-feedback.fa {
  line-height: 46px;
}

.input-sm+.form-control-feedback.fa,
.input-group-sm+.form-control-feedback.fa,
.form-group-sm .form-control+.form-control-feedback.fa {
  line-height: 30px;
}

/*
 * Component: Progress Bar
 * -----------------------
 */
.progress,
.progress>.progress-bar {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.progress,
.progress>.progress-bar,
.progress .progress-bar,
.progress>.progress-bar .progress-bar {
  border-radius: 1px;
}

/* size variation */
.progress.sm,
.progress-sm {
  height: 10px;
}

.progress.sm,
.progress-sm,
.progress.sm .progress-bar,
.progress-sm .progress-bar {
  border-radius: 1px;
}

.progress.xs,
.progress-xs {
  height: 7px;
}

.progress.xs,
.progress-xs,
.progress.xs .progress-bar,
.progress-xs .progress-bar {
  border-radius: 1px;
}

.progress.xxs,
.progress-xxs {
  height: 3px;
}

.progress.xxs,
.progress-xxs,
.progress.xxs .progress-bar,
.progress-xxs .progress-bar {
  border-radius: 1px;
}

/* Vertical bars */
.progress.vertical {
  position: relative;
  width: 30px;
  height: 200px;
  display: inline-block;
  margin-right: 10px;
}

.progress.vertical>.progress-bar {
  width: 100%;
  position: absolute;
  bottom: 0;
}

.progress.vertical.sm,
.progress.vertical.progress-sm {
  width: 20px;
}

.progress.vertical.xs,
.progress.vertical.progress-xs {
  width: 10px;
}

.progress.vertical.xxs,
.progress.vertical.progress-xxs {
  width: 3px;
}

.progress-group .progress-text {
  font-weight: 600;
}

.progress-group .progress-number {
  float: right;
}

/* Remove margins from progress bars when put in a table */
.table tr>td .progress {
  margin: 0;
}

.progress-bar-light-blue,
.progress-bar-primary {
  background-color: #3c8dbc;
}

.progress-striped .progress-bar-light-blue,
.progress-striped .progress-bar-primary {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-green,
.progress-bar-success {
  background-color: #00a65a;
}

.progress-striped .progress-bar-green,
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-aqua,
.progress-bar-info {
  background-color: #00c0ef;
}

.progress-striped .progress-bar-aqua,
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-yellow,
.progress-bar-warning {
  background-color: #f39c12;
}

.progress-striped .progress-bar-yellow,
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-red,
.progress-bar-danger {
  background-color: #dd4b39;
}

.progress-striped .progress-bar-red,
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

/*
 * Component: Small Box
 * --------------------
 */
.small-box {
  border-radius: 2px;
  position: relative;
  display: block;
  margin-bottom: 20px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}

.small-box>.inner {
  padding: 10px;
}

.small-box>.small-box-footer {
  position: relative;
  text-align: center;
  padding: 3px 0;
  color: #fff;
  color: rgba(255, 255, 255, 0.8);
  display: block;
  z-index: 10;
  background: rgba(0, 0, 0, 0.1);
  text-decoration: none;
}

.small-box>.small-box-footer:hover {
  color: #fff;
  background: rgba(0, 0, 0, 0.15);
}

.small-box h3 {
  font-size: 38px;
  font-weight: bold;
  margin: 0 0 10px 0;
  white-space: nowrap;
  padding: 0;
}

.small-box p {
  font-size: 15px;
}

.small-box p>small {
  display: block;
  color: #f9f9f9;
  font-size: 13px;
  margin-top: 5px;
}

.small-box h3,
.small-box p {
  z-index: 5;
}

.small-box .icon {
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
  position: absolute;
  top: -10px;
  right: 10px;
  z-index: 0;
  font-size: 90px;
  color: rgba(0, 0, 0, 0.15);
}

.small-box:hover {
  text-decoration: none;
  color: #f9f9f9;
}

.small-box:hover .icon {
  font-size: 95px;
}

@media (max-width: 767px) {
  .small-box {
    text-align: center;
  }

  .small-box .icon {
    display: none;
  }

  .small-box p {
    font-size: 12px;
  }
}

/*
 * Component: Box
 * --------------
 */
.box {
  position: relative;
  border-radius: 3px;
  background: #ffffff;
  border-top: 3px solid #d2d6de;
  margin-bottom: 20px;
  width: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}

.box.box-primary {
  border-top-color: #3c8dbc;
}

.box.box-info {
  border-top-color: #00c0ef;
}

.box.box-danger {
  border-top-color: #dd4b39;
}

.box.box-warning {
  border-top-color: #f39c12;
}

.box.box-success {
  border-top-color: #00a65a;
}

.box.box-default {
  border-top-color: #d2d6de;
}

.box.collapsed-box .box-body,
.box.collapsed-box .box-footer {
  display: none;
}

.box .nav-stacked>li {
  border-bottom: 1px solid #f4f4f4;
  margin: 0;
}

.box .nav-stacked>li:last-of-type {
  border-bottom: none;
}

.box.height-control .box-body {
  max-height: 300px;
  overflow: auto;
}

.box .border-right {
  border-right: 1px solid #f4f4f4;
}

.box .border-left {
  border-left: 1px solid #f4f4f4;
}

.box.box-solid {
  border-top: 0;
}

.box.box-solid>.box-header .btn.btn-default {
  background: transparent;
}

.box.box-solid>.box-header .btn:hover,
.box.box-solid>.box-header a:hover {
  background: rgba(0, 0, 0, 0.1);
}

.box.box-solid.box-default {
  border: 1px solid #d2d6de;
}

.box.box-solid.box-default>.box-header {
  color: #444444;
  background: #d2d6de;
  background-color: #d2d6de;
}

.box.box-solid.box-default>.box-header a,
.box.box-solid.box-default>.box-header .btn {
  color: #444444;
}

.box.box-solid.box-primary {
  border: 1px solid #3c8dbc;
}

.box.box-solid.box-primary>.box-header {
  color: #ffffff;
  background: #3c8dbc;
  background-color: #3c8dbc;
}

.box.box-solid.box-primary>.box-header a,
.box.box-solid.box-primary>.box-header .btn {
  color: #ffffff;
}

.box.box-solid.box-info {
  border: 1px solid #00c0ef;
}

.box.box-solid.box-info>.box-header {
  color: #ffffff;
  background: #00c0ef;
  background-color: #00c0ef;
}

.box.box-solid.box-info>.box-header a,
.box.box-solid.box-info>.box-header .btn {
  color: #ffffff;
}

.box.box-solid.box-danger {
  border: 1px solid #dd4b39;
}

.box.box-solid.box-danger>.box-header {
  color: #ffffff;
  background: #dd4b39;
  background-color: #dd4b39;
}

.box.box-solid.box-danger>.box-header a,
.box.box-solid.box-danger>.box-header .btn {
  color: #ffffff;
}

.box.box-solid.box-warning {
  border: 1px solid #f39c12;
}

.box.box-solid.box-warning>.box-header {
  color: #ffffff;
  background: #f39c12;
  background-color: #f39c12;
}

.box.box-solid.box-warning>.box-header a,
.box.box-solid.box-warning>.box-header .btn {
  color: #ffffff;
}

.box.box-solid.box-success {
  border: 1px solid #00a65a;
}

.box.box-solid.box-success>.box-header {
  color: #ffffff;
  background: #00a65a;
  background-color: #00a65a;
}

.box.box-solid.box-success>.box-header a,
.box.box-solid.box-success>.box-header .btn {
  color: #ffffff;
}

.box.box-solid>.box-header>.box-tools .btn {
  border: 0;
  box-shadow: none;
}

.box.box-solid[class*='bg']>.box-header {
  color: #fff;
}

.box .box-group>.box {
  margin-bottom: 5px;
}

.box .knob-label {
  text-align: center;
  color: #333;
  font-weight: 100;
  font-size: 12px;
  margin-bottom: 0.3em;
}

.box>.overlay,
.overlay-wrapper>.overlay,
.box>.loading-img,
.overlay-wrapper>.loading-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.box .overlay,
.overlay-wrapper .overlay {
  z-index: 50;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 3px;
}

.box .overlay>.fa,
.overlay-wrapper .overlay>.fa {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -15px;
  margin-top: -15px;
  color: #000;
  font-size: 30px;
}

.box .overlay.dark,
.overlay-wrapper .overlay.dark {
  background: rgba(0, 0, 0, 0.5);
}

.box-header:before,
.box-body:before,
.box-footer:before,
.box-header:after,
.box-body:after,
.box-footer:after {
  content: " ";
  display: table;
}

.box-header:after,
.box-body:after,
.box-footer:after {
  clear: both;
}

.box-header {
  color: #444;
  display: block;
  padding: 10px;
  position: relative;
}

.box-header.with-border {
  border-bottom: 1px solid #f4f4f4;
}

.collapsed-box .box-header.with-border {
  border-bottom: none;
}

.box-header>.fa,
.box-header>.glyphicon,
.box-header>.ion,
.box-header .box-title {
  display: inline-block;
  font-size: 18px;
  margin: 0;
  line-height: 1;
}

.box-header>.fa,
.box-header>.glyphicon,
.box-header>.ion {
  margin-right: 5px;
}

.box-header>.box-tools {
  position: absolute;
  right: 10px;
  top: 5px;
}

.box-header>.box-tools [data-toggle="tooltip"] {
  position: relative;
}

.box-header>.box-tools.pull-right .dropdown-menu {
  right: 0;
  left: auto;
}

.box-header>.box-tools .dropdown-menu>li>a {
  color: #444 !important;
}

.btn-box-tool {
  padding: 5px;
  font-size: 12px;
  background: transparent;
  color: #97a0b3;
}

.open .btn-box-tool,
.btn-box-tool:hover {
  color: #606c84;
}

.btn-box-tool.btn:active {
  box-shadow: none;
}

.box-body {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  padding: 10px;
}

.no-header .box-body {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

.box-body>.table {
  margin-bottom: 0;
}

.box-body .fc {
  margin-top: 5px;
}

.box-body .full-width-chart {
  margin: -19px;
}

.box-body.no-padding .full-width-chart {
  margin: -9px;
}

.box-body .box-pane {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 3px;
}

.box-body .box-pane-right {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 0;
}

.box-footer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top: 1px solid #f4f4f4;
  padding: 10px;
  background-color: #ffffff;
}

.chart-legend {
  margin: 10px 0;
}

@media (max-width: 991px) {
  .chart-legend>li {
    float: left;
    margin-right: 10px;
  }
}

.box-comments {
  background: #f7f7f7;
}

.box-comments .box-comment {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}

.box-comments .box-comment:before,
.box-comments .box-comment:after {
  content: " ";
  display: table;
}

.box-comments .box-comment:after {
  clear: both;
}

.box-comments .box-comment:last-of-type {
  border-bottom: 0;
}

.box-comments .box-comment:first-of-type {
  padding-top: 0;
}

.box-comments .box-comment img {
  float: left;
}

.box-comments .comment-text {
  margin-left: 40px;
  color: #555;
}

.box-comments .username {
  color: #444;
  display: block;
  font-weight: 600;
}

.box-comments .text-muted {
  font-weight: 400;
  font-size: 12px;
}

/* Widget: TODO LIST */
.todo-list {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: auto;
}

.todo-list>li {
  border-radius: 2px;
  padding: 10px;
  background: #f4f4f4;
  margin-bottom: 2px;
  border-left: 2px solid #e6e7e8;
  color: #444;
}

.todo-list>li:last-of-type {
  margin-bottom: 0;
}

.todo-list>li>input[type='checkbox'] {
  margin: 0 10px 0 5px;
}

.todo-list>li .text {
  display: inline-block;
  margin-left: 5px;
  font-weight: 600;
}

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

.todo-list>li .tools {
  display: none;
  float: right;
  color: #dd4b39;
}

.todo-list>li .tools>.fa,
.todo-list>li .tools>.glyphicon,
.todo-list>li .tools>.ion {
  margin-right: 5px;
  cursor: pointer;
}

.todo-list>li:hover .tools {
  display: inline-block;
}

.todo-list>li.done {
  color: #999;
}

.todo-list>li.done .text {
  text-decoration: line-through;
  font-weight: 500;
}

.todo-list>li.done .label {
  background: #d2d6de !important;
}

.todo-list .danger {
  border-left-color: #dd4b39;
}

.todo-list .warning {
  border-left-color: #f39c12;
}

.todo-list .info {
  border-left-color: #00c0ef;
}

.todo-list .success {
  border-left-color: #00a65a;
}

.todo-list .primary {
  border-left-color: #3c8dbc;
}

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

/* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/
.chat {
  padding: 5px 20px 5px 10px;
}

.chat .item {
  margin-bottom: 10px;
}

.chat .item:before,
.chat .item:after {
  content: " ";
  display: table;
}

.chat .item:after {
  clear: both;
}

.chat .item>img {
  width: 40px;
  height: 40px;
  border: 2px solid transparent;
  border-radius: 50%;
}

.chat .item>.online {
  border: 2px solid #00a65a;
}

.chat .item>.offline {
  border: 2px solid #dd4b39;
}

.chat .item>.message {
  margin-left: 55px;
  margin-top: -40px;
}

.chat .item>.message>.name {
  display: block;
  font-weight: 600;
}

.chat .item>.attachment {
  border-radius: 3px;
  background: #f4f4f4;
  margin-left: 65px;
  margin-right: 15px;
  padding: 10px;
}

.chat .item>.attachment>h4 {
  margin: 0 0 5px 0;
  font-weight: 600;
  font-size: 14px;
}

.chat .item>.attachment>p,
.chat .item>.attachment>.filename {
  font-weight: 600;
  font-size: 13px;
  font-style: italic;
  margin: 0;
}

.chat .item>.attachment:before,
.chat .item>.attachment:after {
  content: " ";
  display: table;
}

.chat .item>.attachment:after {
  clear: both;
}

.box-input {
  max-width: 200px;
}

.modal .panel-body {
  color: #444;
}

/*
 * Component: Info Box
 * -------------------
 */
.info-box {
  display: flex !important;
  /* Switch to Flex */
  align-items: center;
  min-height: 90px;
  background: #fff;
  width: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  margin-bottom: 15px;
  overflow: hidden;
}

.info-box small {
  font-size: 14px;
}

.info-box .progress {
  background: rgba(0, 0, 0, 0.2);
  margin: 5px -10px 5px -10px;
  height: 2px;
}

.info-box .progress,
.info-box .progress .progress-bar {
  border-radius: 0;
}

.info-box .progress .progress-bar {
  background: #fff;
}

.info-box-icon {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
  display: flex;
  /* Flex Icon Center */
  align-items: center;
  justify-content: center;
  flex: 0 0 90px;
  height: 90px;
  width: 90px;
  text-align: center;
  font-size: 45px;
  background: rgba(0, 0, 0, 0.2);
}

.info-box-icon>img {
  max-width: 100%;
}

.info-box-content {
  padding: 5px 10px;
  flex: 1;
  min-width: 0;
  /* Enable ellipsis child */
}

.info-box-number {
  display: block;
  font-weight: bold;
  font-size: 18px;
}

.progress-description,
.info-box-text {
  display: block;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.info-box-text {
  text-transform: uppercase;
}

.info-box-more {
  display: block;
}

.progress-description {
  margin: 0;
}

/*
 * Component: Timeline
 * -------------------
 */
.timeline {
  position: relative;
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
}

.timeline:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #ddd;
  left: 31px;
  margin: 0;
  border-radius: 2px;
}

.timeline>li {
  position: relative;
  margin-right: 10px;
  margin-bottom: 15px;
}

.timeline>li:before,
.timeline>li:after {
  content: " ";
  display: table;
}

.timeline>li:after {
  clear: both;
}

.timeline>li>.timeline-item {
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  margin-top: 0;
  background: #fff;
  color: #444;
  margin-left: 60px;
  margin-right: 15px;
  padding: 0;
  position: relative;
}

.timeline>li>.timeline-item>.time {
  color: #999;
  float: right;
  padding: 10px;
  font-size: 12px;
}

.timeline>li>.timeline-item>.timeline-header {
  margin: 0;
  color: #555;
  border-bottom: 1px solid #f4f4f4;
  padding: 10px;
  font-size: 16px;
  line-height: 1.1;
}

.timeline>li>.timeline-item>.timeline-header>a {
  font-weight: 600;
}

.timeline>li>.timeline-item>.timeline-body,
.timeline>li>.timeline-item>.timeline-footer {
  padding: 10px;
}

.timeline>li>.fa,
.timeline>li>.glyphicon,
.timeline>li>.ion {
  width: 30px;
  height: 30px;
  font-size: 15px;
  line-height: 30px;
  position: absolute;
  color: #666;
  background: #d2d6de;
  border-radius: 50%;
  text-align: center;
  left: 18px;
  top: 0;
}

.timeline>.time-label>span {
  font-weight: 600;
  padding: 5px;
  display: inline-block;
  background-color: #fff;
  border-radius: 4px;
}

.timeline-inverse>li>.timeline-item {
  background: #f0f0f0;
  border: 1px solid #ddd;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.timeline-inverse>li>.timeline-item>.timeline-header {
  border-bottom-color: #ddd;
}

/*
 * Component: Button
 * -----------------
 */
.btn {
  border-radius: 3px;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 1px solid transparent;
}

.btn.uppercase {
  text-transform: uppercase;
}

.btn.btn-flat {
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border-width: 1px;
}

.btn:active {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-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:focus {
  outline: none;
}

.btn.btn-file {
  position: relative;
  overflow: hidden;
}

.btn.btn-file>input[type='file'] {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  font-size: 100px;
  text-align: right;
  opacity: 0;
  filter: alpha(opacity=0);
  outline: none;
  background: white;
  cursor: inherit;
  display: block;
}

.btn-default {
  background-color: #f4f4f4;
  color: #444;
  border-color: #ddd;
}

.btn-default:hover,
.btn-default:active,
.btn-default.hover {
  background-color: #e7e7e7;
}

.btn-primary {
  background-color: #3c8dbc;
  border-color: #367fa9;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.hover {
  background-color: #367fa9;
}

.btn-success {
  background-color: #00a65a;
  border-color: #008d4c;
}

.btn-success:hover,
.btn-success:active,
.btn-success.hover {
  background-color: #008d4c;
}

.btn-info {
  background-color: #00c0ef;
  border-color: #00acd6;
}

.btn-info:hover,
.btn-info:active,
.btn-info.hover {
  background-color: #00acd6;
}

.btn-danger {
  background-color: #dd4b39;
  border-color: #d73925;
}

.btn-danger:hover,
.btn-danger:active,
.btn-danger.hover {
  background-color: #d73925;
}

.btn-warning {
  background-color: #f39c12;
  border-color: #e08e0b;
}

.btn-warning:hover,
.btn-warning:active,
.btn-warning.hover {
  background-color: #e08e0b;
}

.btn-outline {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}

.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active {
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.7);
}

.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn[class*='bg-']:hover {
  -webkit-box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.2);
}

.btn-app {
  border-radius: 3px;
  position: relative;
  padding: 15px 5px;
  margin: 0 0 10px 10px;
  min-width: 80px;
  height: 60px;
  text-align: center;
  color: #666;
  border: 1px solid #ddd;
  background-color: #f4f4f4;
  font-size: 12px;
}

.btn-app>.fa,
.btn-app>.glyphicon,
.btn-app>.ion {
  font-size: 20px;
  display: block;
}

.btn-app:hover {
  background: #f4f4f4;
  color: #444;
  border-color: #aaa;
}

.btn-app:active,
.btn-app:focus {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-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-app>.badge {
  position: absolute;
  top: -3px;
  right: -10px;
  font-size: 10px;
  font-weight: 400;
}

/*
 * Component: Callout
 * ------------------
 */
.callout {
  border-radius: 3px;
  margin: 0 0 20px 0;
  padding: 15px 30px 15px 15px;
  border-left: 5px solid #eee;
}

.callout a {
  color: #fff;
  text-decoration: underline;
}

.callout a:hover {
  color: #eee;
}

.callout h4 {
  margin-top: 0;
  font-weight: 600;
}

.callout p:last-child {
  margin-bottom: 0;
}

.callout code,
.callout .highlight {
  background-color: #fff;
}

.callout.callout-danger {
  border-color: #c23321;
}

.callout.callout-warning {
  border-color: #c87f0a;
}

.callout.callout-info {
  border-color: #0097bc;
}

.callout.callout-success {
  border-color: #00733e;
}

/*
 * Component: alert
 * ----------------
 */
.alert {
  border-radius: 3px;
}

.alert h4 {
  font-weight: 600;
}

.alert .icon {
  margin-right: 10px;
}

.alert .close {
  color: #000;
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.alert .close:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.alert a {
  color: #fff;
  text-decoration: underline;
}

.alert-success {
  border-color: #008d4c;
}

.alert-danger,
.alert-error {
  border-color: #d73925;
}

.alert-warning {
  border-color: #e08e0b;
}

.alert-info {
  border-color: #00acd6;
}

/*
 * Component: Nav
 * --------------
 */
.nav>li>a:hover,
.nav>li>a:active,
.nav>li>a:focus {
  color: #444;
  background: #f7f7f7;
}

/* NAV PILLS */
.nav-pills>li>a {
  border-radius: 0;
  border-top: 3px solid transparent;
  color: #444;
}

.nav-pills>li>a>.fa,
.nav-pills>li>a>.glyphicon,
.nav-pills>li>a>.ion {
  margin-right: 5px;
}

.nav-pills>li.active>a,
.nav-pills>li.active>a:hover,
.nav-pills>li.active>a:focus {
  border-top-color: #3c8dbc;
}

.nav-pills>li.active>a {
  font-weight: 600;
}

/* NAV STACKED */
.nav-stacked>li>a {
  border-radius: 0;
  border-top: 0;
  border-left: 3px solid transparent;
  color: #444;
}

.nav-stacked>li.active>a,
.nav-stacked>li.active>a:hover {
  background: transparent;
  color: #444;
  border-top: 0;
  border-left-color: #3c8dbc;
}

.nav-stacked>li.header {
  border-bottom: 1px solid #ddd;
  color: #777;
  margin-bottom: 10px;
  padding: 5px 10px;
  text-transform: uppercase;
}

/* NAV TABS */
.nav-tabs-custom {
  margin-bottom: 20px;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
}

.nav-tabs-custom>.nav-tabs {
  margin: 0;
  border-bottom-color: #f4f4f4;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

.nav-tabs-custom>.nav-tabs>li {
  border-top: 3px solid transparent;
  margin-bottom: -2px;
  margin-right: 5px;
}

.nav-tabs-custom>.nav-tabs>li.disabled>a {
  color: #777;
}

.nav-tabs-custom>.nav-tabs>li>a {
  color: #444;
  border-radius: 0;
}

.nav-tabs-custom>.nav-tabs>li>a.text-muted {
  color: #999;
}

.nav-tabs-custom>.nav-tabs>li>a,
.nav-tabs-custom>.nav-tabs>li>a:hover {
  background: transparent;
  margin: 0;
}

.nav-tabs-custom>.nav-tabs>li>a:hover {
  color: #999;
}

.nav-tabs-custom>.nav-tabs>li:not(.active)>a:hover,
.nav-tabs-custom>.nav-tabs>li:not(.active)>a:focus,
.nav-tabs-custom>.nav-tabs>li:not(.active)>a:active {
  border-color: transparent;
}

.nav-tabs-custom>.nav-tabs>li.active {
  border-top-color: #3c8dbc;
}

.nav-tabs-custom>.nav-tabs>li.active>a,
.nav-tabs-custom>.nav-tabs>li.active:hover>a {
  background-color: #fff;
  color: #444;
}

.nav-tabs-custom>.nav-tabs>li.active>a {
  border-top-color: transparent;
  border-left-color: #f4f4f4;
  border-right-color: #f4f4f4;
}

.nav-tabs-custom>.nav-tabs>li:first-of-type {
  margin-left: 0;
}

.nav-tabs-custom>.nav-tabs>li:first-of-type.active>a {
  border-left-color: transparent;
}

.nav-tabs-custom>.nav-tabs.pull-right {
  float: none !important;
}

.nav-tabs-custom>.nav-tabs.pull-right>li {
  float: right;
}

.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type {
  margin-right: 0;
}

.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type>a {
  border-left-width: 1px;
}

.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type.active>a {
  border-left-color: #f4f4f4;
  border-right-color: transparent;
}

.nav-tabs-custom>.nav-tabs>li.header {
  line-height: 35px;
  padding: 0 10px;
  font-size: 20px;
  color: #444;
}

.nav-tabs-custom>.nav-tabs>li.header>.fa,
.nav-tabs-custom>.nav-tabs>li.header>.glyphicon,
.nav-tabs-custom>.nav-tabs>li.header>.ion {
  margin-right: 5px;
}

.nav-tabs-custom>.tab-content {
  background: #fff;
  padding: 10px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.nav-tabs-custom .dropdown.open>a:active,
.nav-tabs-custom .dropdown.open>a:focus {
  background: transparent;
  color: #999;
}

.nav-tabs-custom.tab-primary>.nav-tabs>li.active {
  border-top-color: #3c8dbc;
}

.nav-tabs-custom.tab-info>.nav-tabs>li.active {
  border-top-color: #00c0ef;
}

.nav-tabs-custom.tab-danger>.nav-tabs>li.active {
  border-top-color: #dd4b39;
}

.nav-tabs-custom.tab-warning>.nav-tabs>li.active {
  border-top-color: #f39c12;
}

.nav-tabs-custom.tab-success>.nav-tabs>li.active {
  border-top-color: #00a65a;
}

.nav-tabs-custom.tab-default>.nav-tabs>li.active {
  border-top-color: #d2d6de;
}

/* PAGINATION */
.pagination>li>a {
  background: #fafafa;
  color: #666;
}

.pagination.pagination-flat>li>a {
  border-radius: 0 !important;
}

/*
 * Component: Products List
 * ------------------------
 */
.products-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.products-list>.item {
  border-radius: 3px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  padding: 10px 0;
  background: #fff;
}

.products-list>.item:before,
.products-list>.item:after {
  content: " ";
  display: table;
}

.products-list>.item:after {
  clear: both;
}

.products-list .product-img {
  float: left;
}

.products-list .product-img img {
  width: 50px;
  height: 50px;
}

.products-list .product-info {
  margin-left: 60px;
}

.products-list .product-title {
  font-weight: 600;
}

.products-list .product-description {
  display: block;
  color: #999;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.product-list-in-box>.item {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  border-bottom: 1px solid #f4f4f4;
}

.product-list-in-box>.item:last-of-type {
  border-bottom-width: 0;
}

/*
 * Component: Table
 * ----------------
 */
.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 #f4f4f4;
}

.table>thead>tr>th {
  border-bottom: 2px solid #f4f4f4;
}

.table tr td .progress {
  margin-top: 5px;
}

.table-bordered {
  border: 1px solid #f4f4f4;
}

.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 #f4f4f4;
}

.table-bordered>thead>tr>th,
.table-bordered>thead>tr>td {
  border-bottom-width: 2px;
}

.table.no-border,
.table.no-border td,
.table.no-border th {
  border: 0;
}

/* .text-center in tables */
table.text-center,
table.text-center td,
table.text-center th {
  text-align: center;
}

.table.align th {
  text-align: left;
}

.table.align td {
  text-align: right;
}

/*
 * Component: Label
 * ----------------
 */
.label-default {
  background-color: #d2d6de;
  color: #444;
}

/*
 * Component: Direct Chat
 * ----------------------
 */
.direct-chat .box-body {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: relative;
  overflow-x: hidden;
  padding: 0;
}

.direct-chat.chat-pane-open .direct-chat-contacts {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

.direct-chat-messages {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  padding: 10px;
  height: 250px;
  overflow: auto;
}

.direct-chat-msg,
.direct-chat-text {
  display: block;
}

.direct-chat-msg {
  margin-bottom: 10px;
}

.direct-chat-msg:before,
.direct-chat-msg:after {
  content: " ";
  display: table;
}

.direct-chat-msg:after {
  clear: both;
}

.direct-chat-messages,
.direct-chat-contacts {
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  -moz-transition: -moz-transform 0.5s ease-in-out;
  -o-transition: -o-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
}

.direct-chat-text {
  border-radius: 5px;
  position: relative;
  padding: 5px 10px;
  background: #d2d6de;
  border: 1px solid #d2d6de;
  margin: 5px 0 0 50px;
  color: #444444;
}

.direct-chat-text:after,
.direct-chat-text:before {
  position: absolute;
  right: 100%;
  top: 15px;
  border: solid transparent;
  border-right-color: #d2d6de;
  content: ' ';
  height: 0;
  width: 0;
  pointer-events: none;
}

.direct-chat-text:after {
  border-width: 5px;
  margin-top: -5px;
}

.direct-chat-text:before {
  border-width: 6px;
  margin-top: -6px;
}

.right .direct-chat-text {
  margin-right: 50px;
  margin-left: 0;
}

.right .direct-chat-text:after,
.right .direct-chat-text:before {
  right: auto;
  left: 100%;
  border-right-color: transparent;
  border-left-color: #d2d6de;
}

.direct-chat-img {
  border-radius: 50%;
  float: left;
  width: 40px;
  height: 40px;
}

.right .direct-chat-img {
  float: right;
}

.direct-chat-info {
  display: block;
  margin-bottom: 2px;
  font-size: 12px;
}

.direct-chat-name {
  font-weight: 600;
}

.direct-chat-timestamp {
  color: #999;
}

.direct-chat-contacts-open .direct-chat-contacts {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

.direct-chat-contacts {
  -webkit-transform: translate(101%, 0);
  -ms-transform: translate(101%, 0);
  -o-transform: translate(101%, 0);
  transform: translate(101%, 0);
  position: absolute;
  top: 0;
  bottom: 0;
  height: 250px;
  width: 100%;
  background: #222d32;
  color: #fff;
  overflow: auto;
}

.contacts-list>li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 10px;
  margin: 0;
}

.contacts-list>li:before,
.contacts-list>li:after {
  content: " ";
  display: table;
}

.contacts-list>li:after {
  clear: both;
}

.contacts-list>li:last-of-type {
  border-bottom: none;
}

.contacts-list-img {
  border-radius: 50%;
  width: 40px;
  float: left;
}

.contacts-list-info {
  margin-left: 45px;
  color: #fff;
}

.contacts-list-name,
.contacts-list-status {
  display: block;
}

.contacts-list-name {
  font-weight: 600;
}

.contacts-list-status {
  font-size: 12px;
}

.contacts-list-date {
  color: #aaa;
  font-weight: normal;
}

.contacts-list-msg {
  color: #999;
}

.direct-chat-danger .right>.direct-chat-text {
  background: #dd4b39;
  border-color: #dd4b39;
  color: #ffffff;
}

.direct-chat-danger .right>.direct-chat-text:after,
.direct-chat-danger .right>.direct-chat-text:before {
  border-left-color: #dd4b39;
}

.direct-chat-primary .right>.direct-chat-text {
  background: #3c8dbc;
  border-color: #3c8dbc;
  color: #ffffff;
}

.direct-chat-primary .right>.direct-chat-text:after,
.direct-chat-primary .right>.direct-chat-text:before {
  border-left-color: #3c8dbc;
}

.direct-chat-warning .right>.direct-chat-text {
  background: #f39c12;
  border-color: #f39c12;
  color: #ffffff;
}

.direct-chat-warning .right>.direct-chat-text:after,
.direct-chat-warning .right>.direct-chat-text:before {
  border-left-color: #f39c12;
}

.direct-chat-info .right>.direct-chat-text {
  background: #00c0ef;
  border-color: #00c0ef;
  color: #ffffff;
}

.direct-chat-info .right>.direct-chat-text:after,
.direct-chat-info .right>.direct-chat-text:before {
  border-left-color: #00c0ef;
}

.direct-chat-success .right>.direct-chat-text {
  background: #00a65a;
  border-color: #00a65a;
  color: #ffffff;
}

.direct-chat-success .right>.direct-chat-text:after,
.direct-chat-success .right>.direct-chat-text:before {
  border-left-color: #00a65a;
}

/*
 * Component: Users List
 * ---------------------
 */
.users-list>li {
  width: 25%;
  float: left;
  padding: 10px;
  text-align: center;
}

.users-list>li img {
  border-radius: 50%;
  max-width: 100%;
  height: auto;
}

.users-list>li>a:hover,
.users-list>li>a:hover .users-list-name {
  color: #999;
}

.users-list-name,
.users-list-date {
  display: block;
}

.users-list-name {
  font-weight: 600;
  color: #444;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.users-list-date {
  color: #999;
  font-size: 12px;
}

/*
 * Component: Carousel
 * -------------------
 */
.carousel-control.left,
.carousel-control.right {
  background-image: none;
}

.carousel-control>.fa {
  font-size: 40px;
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
  margin-top: -20px;
}

/*
 * Component: modal
 * ----------------
 */
.modal {
  background: rgba(0, 0, 0, 0.3);
}

.modal-content {
  border-radius: 0;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
  border: 0;
}

@media (min-width: 768px) {
  .modal-content {
    -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
  }
}

.modal-header {
  border-bottom-color: #f4f4f4;
}

.modal-footer {
  border-top-color: #f4f4f4;
}

.modal-primary .modal-header,
.modal-primary .modal-footer {
  border-color: #307095;
}

.modal-warning .modal-header,
.modal-warning .modal-footer {
  border-color: #c87f0a;
}

.modal-info .modal-header,
.modal-info .modal-footer {
  border-color: #0097bc;
}

.modal-success .modal-header,
.modal-success .modal-footer {
  border-color: #00733e;
}

.modal-danger .modal-header,
.modal-danger .modal-footer {
  border-color: #c23321;
}

/*
 * Component: Social Widgets
 * -------------------------
 */
.box-widget {
  border: none;
  position: relative;
}

.widget-user .widget-user-header {
  padding: 20px;
  height: 120px;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

.widget-user .widget-user-username {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 25px;
  font-weight: 300;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.widget-user .widget-user-desc {
  margin-top: 0;
}

.widget-user .widget-user-image {
  position: absolute;
  top: 65px;
  left: 50%;
  margin-left: -45px;
}

.widget-user .widget-user-image>img {
  width: 90px;
  height: auto;
  border: 3px solid #fff;
}

.widget-user .box-footer {
  padding-top: 30px;
}

.widget-user-2 .widget-user-header {
  padding: 20px;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

.widget-user-2 .widget-user-username {
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 25px;
  font-weight: 300;
}

.widget-user-2 .widget-user-desc {
  margin-top: 0;
}

.widget-user-2 .widget-user-username,
.widget-user-2 .widget-user-desc {
  margin-left: 75px;
}

.widget-user-2 .widget-user-image>img {
  width: 65px;
  height: auto;
  float: left;
}

.treeview-menu {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  padding-left: 5px;
}

.treeview-menu .treeview-menu {
  padding-left: 20px;
}

.treeview-menu>li {
  margin: 0;
}

.treeview-menu>li>a {
  padding: 5px 5px 5px 15px;
  display: block;
  font-size: 14px;
}

.treeview-menu>li>a>.fa,
.treeview-menu>li>a>.glyphicon,
.treeview-menu>li>a>.ion {
  width: 25px;
  margin-right: 5px;
}

.treeview-menu>li>a>.pull-right-container>.fa-angle-left,
.treeview-menu>li>a>.pull-right-container>.fa-angle-down,
.treeview-menu>li>a>.fa-angle-left,
.treeview-menu>li>a>.fa-angle-down {
  width: auto;
}

/*
 * Page: Mailbox
 * -------------
 */
.mailbox-messages>.table {
  margin: 0;
}

.mailbox-controls {
  padding: 5px;
}

.mailbox-controls.with-border {
  border-bottom: 1px solid #f4f4f4;
}

.mailbox-read-info {
  border-bottom: 1px solid #f4f4f4;
  padding: 10px;
}

.mailbox-read-info h3 {
  font-size: 20px;
  margin: 0;
}

.mailbox-read-info h5 {
  margin: 0;
  padding: 5px 0 0 0;
}

.mailbox-read-time {
  color: #999;
  font-size: 13px;
}

.mailbox-read-message {
  padding: 10px;
}

.mailbox-attachments li {
  float: left;
  width: 200px;
  border: 1px solid #eee;
  margin-bottom: 10px;
  margin-right: 10px;
}

.mailbox-attachment-name {
  font-weight: bold;
  color: #666;
}

.mailbox-attachment-icon,
.mailbox-attachment-info,
.mailbox-attachment-size {
  display: block;
}

.mailbox-attachment-info {
  padding: 10px;
  background: #f4f4f4;
}

.mailbox-attachment-size {
  color: #999;
  font-size: 12px;
}

.mailbox-attachment-icon {
  text-align: center;
  font-size: 65px;
  color: #666;
  padding: 20px 10px;
}

.mailbox-attachment-icon.has-img {
  padding: 0;
}

.mailbox-attachment-icon.has-img>img {
  max-width: 100%;
  height: auto;
}

/*
 * Page: Lock Screen
 * -----------------
 */
/* ADD THIS CLASS TO THE <BODY> TAG */
.lockscreen {
  background: #d2d6de;
}

.lockscreen-logo {
  font-size: 35px;
  text-align: center;
  margin-bottom: 25px;
  font-weight: 300;
}

.lockscreen-logo a {
  color: #444;
}

.lockscreen-wrapper {
  max-width: 400px;
  margin: 0 auto;
  margin-top: 10%;
}

/* User name [optional] */
.lockscreen .lockscreen-name {
  text-align: center;
  font-weight: 600;
}

/* Will contain the image and the sign in form */
.lockscreen-item {
  border-radius: 4px;
  padding: 0;
  background: #fff;
  position: relative;
  margin: 10px auto 30px auto;
  width: 290px;
}

/* User image */
.lockscreen-image {
  border-radius: 50%;
  position: absolute;
  left: -10px;
  top: -25px;
  background: #fff;
  padding: 5px;
  z-index: 10;
}

.lockscreen-image>img {
  border-radius: 50%;
  width: 70px;
  height: 70px;
}

/* Contains the password input and the login button */
.lockscreen-credentials {
  margin-left: 70px;
}

.lockscreen-credentials .form-control {
  border: 0;
}

.lockscreen-credentials .btn {
  background-color: #fff;
  border: 0;
  padding: 0 10px;
}

.lockscreen-footer {
  margin-top: 10px;
}

/*
 * Page: Login & Register
 * ----------------------
 */
.login-logo,
.register-logo {
  font-size: 35px;
  text-align: center;
  margin-bottom: 25px;
  font-weight: 300;
}

.login-logo a,
.register-logo a {
  color: #444;
}

.login-page,
.register-page {
  background: #d2d6de;
}

.login-box,
.register-box {
  width: 360px;
  margin: 7% auto;
}

@media (max-width: 768px) {

  .login-box,
  .register-box {
    width: 90%;
    margin-top: 20px;
  }
}

.login-box-body,
.register-box-body {
  background: #fff;
  padding: 20px;
  border-top: 0;
  color: #666;
}

.login-box-body .form-control-feedback,
.register-box-body .form-control-feedback {
  color: #777;
}

.login-box-msg,
.register-box-msg {
  margin: 0;
  text-align: center;
  padding: 0 20px 20px 20px;
}

.social-auth-links {
  margin: 10px 0;
}

/*
 * Page: 400 and 500 error pages
 * ------------------------------
 */
.error-page {
  width: 600px;
  margin: 20px auto 0 auto;
}

@media (max-width: 991px) {
  .error-page {
    width: 100%;
  }
}

.error-page>.headline {
  float: left;
  font-size: 100px;
  font-weight: 300;
}

@media (max-width: 991px) {
  .error-page>.headline {
    float: none;
    text-align: center;
  }
}

.error-page>.error-content {
  margin-left: 190px;
  display: block;
}

@media (max-width: 991px) {
  .error-page>.error-content {
    margin-left: 0;
  }
}

.error-page>.error-content>h3 {
  font-weight: 300;
  font-size: 25px;
}

@media (max-width: 991px) {
  .error-page>.error-content>h3 {
    text-align: center;
  }
}

/*
 * Page: Invoice
 * -------------
 */
.invoice {
  position: relative;
  background: #fff;
  border: 1px solid #f4f4f4;
  padding: 20px;
  margin: 10px 25px;
}

.invoice-title {
  margin-top: 0;
}

/*
 * Page: Profile
 * -------------
 */
.profile-user-img {
  margin: 0 auto;
  width: 100px;
  padding: 3px;
  border: 3px solid #d2d6de;
}

.profile-username {
  font-size: 21px;
  margin-top: 5px;
}

.post {
  border-bottom: 1px solid #d2d6de;
  margin-bottom: 15px;
  padding-bottom: 15px;
  color: #666;
}

.post:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.post .user-block {
  margin-bottom: 15px;
}

/*
 * Social Buttons for Bootstrap
 *
 * Copyright 2013-2015 Panayiotis Lipiridis
 * Licensed under the MIT License
 *
 * https://github.com/lipis/bootstrap-social
 */
.btn-social {
  position: relative;
  padding-left: 44px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn-social> :first-child {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 32px;
  line-height: 34px;
  font-size: 1.6em;
  text-align: center;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}

.btn-social.btn-lg {
  padding-left: 61px;
}

.btn-social.btn-lg> :first-child {
  line-height: 45px;
  width: 45px;
  font-size: 1.8em;
}

.btn-social.btn-sm {
  padding-left: 38px;
}

.btn-social.btn-sm> :first-child {
  line-height: 28px;
  width: 28px;
  font-size: 1.4em;
}

.btn-social.btn-xs {
  padding-left: 30px;
}

.btn-social.btn-xs> :first-child {
  line-height: 20px;
  width: 20px;
  font-size: 1.2em;
}

.btn-social-icon {
  position: relative;
  padding-left: 44px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 34px;
  width: 34px;
  padding: 0;
}

.btn-social-icon> :first-child {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 32px;
  line-height: 34px;
  font-size: 1.6em;
  text-align: center;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}

.btn-social-icon.btn-lg {
  padding-left: 61px;
}

.btn-social-icon.btn-lg> :first-child {
  line-height: 45px;
  width: 45px;
  font-size: 1.8em;
}

.btn-social-icon.btn-sm {
  padding-left: 38px;
}

.btn-social-icon.btn-sm> :first-child {
  line-height: 28px;
  width: 28px;
  font-size: 1.4em;
}

.btn-social-icon.btn-xs {
  padding-left: 30px;
}

.btn-social-icon.btn-xs> :first-child {
  line-height: 20px;
  width: 20px;
  font-size: 1.2em;
}

.btn-social-icon> :first-child {
  border: none;
  text-align: center;
  width: 100%;
}

.btn-social-icon.btn-lg {
  height: 45px;
  width: 45px;
  padding-left: 0;
  padding-right: 0;
}

.btn-social-icon.btn-sm {
  height: 30px;
  width: 30px;
  padding-left: 0;
  padding-right: 0;
}

.btn-social-icon.btn-xs {
  height: 22px;
  width: 22px;
  padding-left: 0;
  padding-right: 0;
}

.btn-adn {
  color: #ffffff;
  background-color: #d87a68;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-adn:focus,
.btn-adn.focus {
  color: #ffffff;
  background-color: #ce563f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-adn:hover {
  color: #ffffff;
  background-color: #ce563f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-adn:active,
.btn-adn.active,
.open>.dropdown-toggle.btn-adn {
  color: #ffffff;
  background-color: #ce563f;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-adn .badge {
  color: #d87a68;
  background-color: #ffffff;
}

.btn-bitbucket {
  color: #ffffff;
  background-color: #205081;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-bitbucket:focus,
.btn-bitbucket.focus {
  color: #ffffff;
  background-color: #163758;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-bitbucket:hover {
  color: #ffffff;
  background-color: #163758;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-bitbucket:active,
.btn-bitbucket.active,
.open>.dropdown-toggle.btn-bitbucket {
  color: #ffffff;
  background-color: #163758;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-bitbucket .badge {
  color: #205081;
  background-color: #ffffff;
}

.btn-dropbox {
  color: #ffffff;
  background-color: #1087dd;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-dropbox:focus,
.btn-dropbox.focus {
  color: #ffffff;
  background-color: #0d6aad;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-dropbox:hover {
  color: #ffffff;
  background-color: #0d6aad;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-dropbox:active,
.btn-dropbox.active,
.open>.dropdown-toggle.btn-dropbox {
  color: #ffffff;
  background-color: #0d6aad;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-dropbox .badge {
  color: #1087dd;
  background-color: #ffffff;
}

.btn-facebook {
  color: #ffffff;
  background-color: #3b5998;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-facebook:focus,
.btn-facebook.focus {
  color: #ffffff;
  background-color: #2d4373;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-facebook:hover {
  color: #ffffff;
  background-color: #2d4373;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-facebook:active,
.btn-facebook.active,
.open>.dropdown-toggle.btn-facebook {
  color: #ffffff;
  background-color: #2d4373;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-facebook .badge {
  color: #3b5998;
  background-color: #ffffff;
}

.btn-flickr {
  color: #ffffff;
  background-color: #ff0084;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-flickr:focus,
.btn-flickr.focus {
  color: #ffffff;
  background-color: #cc006a;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-flickr:hover {
  color: #ffffff;
  background-color: #cc006a;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-flickr:active,
.btn-flickr.active,
.open>.dropdown-toggle.btn-flickr {
  color: #ffffff;
  background-color: #cc006a;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-flickr .badge {
  color: #ff0084;
  background-color: #ffffff;
}

.btn-foursquare {
  color: #ffffff;
  background-color: #f94877;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-foursquare:focus,
.btn-foursquare.focus {
  color: #ffffff;
  background-color: #f71752;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-foursquare:hover {
  color: #ffffff;
  background-color: #f71752;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-foursquare:active,
.btn-foursquare.active,
.open>.dropdown-toggle.btn-foursquare {
  color: #ffffff;
  background-color: #f71752;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-foursquare .badge {
  color: #f94877;
  background-color: #ffffff;
}

.btn-github {
  color: #ffffff;
  background-color: #444444;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-github:focus,
.btn-github.focus {
  color: #ffffff;
  background-color: #2b2b2b;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-github:hover {
  color: #ffffff;
  background-color: #2b2b2b;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-github:active,
.btn-github.active,
.open>.dropdown-toggle.btn-github {
  color: #ffffff;
  background-color: #2b2b2b;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-github .badge {
  color: #444444;
  background-color: #ffffff;
}

.btn-google {
  color: #ffffff;
  background-color: #dd4b39;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-google:focus,
.btn-google.focus {
  color: #ffffff;
  background-color: #c23321;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-google:hover {
  color: #ffffff;
  background-color: #c23321;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-google:active,
.btn-google.active,
.open>.dropdown-toggle.btn-google {
  color: #ffffff;
  background-color: #c23321;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-google .badge {
  color: #dd4b39;
  background-color: #ffffff;
}

.btn-instagram {
  color: #ffffff;
  background-color: #3f729b;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-instagram:focus,
.btn-instagram.focus {
  color: #ffffff;
  background-color: #305777;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-instagram:hover {
  color: #ffffff;
  background-color: #305777;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-instagram:active,
.btn-instagram.active,
.open>.dropdown-toggle.btn-instagram {
  color: #ffffff;
  background-color: #305777;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-instagram .badge {
  color: #3f729b;
  background-color: #ffffff;
}

.btn-linkedin {
  color: #ffffff;
  background-color: #007bb6;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-linkedin:focus,
.btn-linkedin.focus {
  color: #ffffff;
  background-color: #005983;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-linkedin:hover {
  color: #ffffff;
  background-color: #005983;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-linkedin:active,
.btn-linkedin.active,
.open>.dropdown-toggle.btn-linkedin {
  color: #ffffff;
  background-color: #005983;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-linkedin .badge {
  color: #007bb6;
  background-color: #ffffff;
}

.btn-microsoft {
  color: #ffffff;
  background-color: #2672ec;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-microsoft:focus,
.btn-microsoft.focus {
  color: #ffffff;
  background-color: #125acd;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-microsoft:hover {
  color: #ffffff;
  background-color: #125acd;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-microsoft:active,
.btn-microsoft.active,
.open>.dropdown-toggle.btn-microsoft {
  color: #ffffff;
  background-color: #125acd;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-microsoft .badge {
  color: #2672ec;
  background-color: #ffffff;
}

.btn-openid {
  color: #ffffff;
  background-color: #f7931e;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-openid:focus,
.btn-openid.focus {
  color: #ffffff;
  background-color: #da7908;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-openid:hover {
  color: #ffffff;
  background-color: #da7908;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-openid:active,
.btn-openid.active,
.open>.dropdown-toggle.btn-openid {
  color: #ffffff;
  background-color: #da7908;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-openid .badge {
  color: #f7931e;
  background-color: #ffffff;
}

.btn-pinterest {
  color: #ffffff;
  background-color: #cb2027;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-pinterest:focus,
.btn-pinterest.focus {
  color: #ffffff;
  background-color: #9f191f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-pinterest:hover {
  color: #ffffff;
  background-color: #9f191f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-pinterest:active,
.btn-pinterest.active,
.open>.dropdown-toggle.btn-pinterest {
  color: #ffffff;
  background-color: #9f191f;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-pinterest .badge {
  color: #cb2027;
  background-color: #ffffff;
}

.btn-reddit {
  color: #000000;
  background-color: #eff7ff;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-reddit:focus,
.btn-reddit.focus {
  color: #000000;
  background-color: #bcddff;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-reddit:hover {
  color: #000000;
  background-color: #bcddff;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-reddit:active,
.btn-reddit.active,
.open>.dropdown-toggle.btn-reddit {
  color: #000000;
  background-color: #bcddff;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-reddit .badge {
  color: #eff7ff;
  background-color: #000000;
}

.btn-soundcloud {
  color: #ffffff;
  background-color: #ff5500;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-soundcloud:focus,
.btn-soundcloud.focus {
  color: #ffffff;
  background-color: #cc4400;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-soundcloud:hover {
  color: #ffffff;
  background-color: #cc4400;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-soundcloud:active,
.btn-soundcloud.active,
.open>.dropdown-toggle.btn-soundcloud {
  color: #ffffff;
  background-color: #cc4400;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-soundcloud .badge {
  color: #ff5500;
  background-color: #ffffff;
}

.btn-tumblr {
  color: #ffffff;
  background-color: #2c4762;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-tumblr:focus,
.btn-tumblr.focus {
  color: #ffffff;
  background-color: #1c2d3f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-tumblr:hover {
  color: #ffffff;
  background-color: #1c2d3f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-tumblr:active,
.btn-tumblr.active,
.open>.dropdown-toggle.btn-tumblr {
  color: #ffffff;
  background-color: #1c2d3f;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-tumblr .badge {
  color: #2c4762;
  background-color: #ffffff;
}

.btn-twitter {
  color: #ffffff;
  background-color: #55acee;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-twitter:focus,
.btn-twitter.focus {
  color: #ffffff;
  background-color: #2795e9;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-twitter:hover {
  color: #ffffff;
  background-color: #2795e9;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-twitter:active,
.btn-twitter.active,
.open>.dropdown-toggle.btn-twitter {
  color: #ffffff;
  background-color: #2795e9;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-twitter .badge {
  color: #55acee;
  background-color: #ffffff;
}

.btn-vimeo {
  color: #ffffff;
  background-color: #1ab7ea;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-vimeo:focus,
.btn-vimeo.focus {
  color: #ffffff;
  background-color: #1295bf;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-vimeo:hover {
  color: #ffffff;
  background-color: #1295bf;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-vimeo:active,
.btn-vimeo.active,
.open>.dropdown-toggle.btn-vimeo {
  color: #ffffff;
  background-color: #1295bf;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-vimeo .badge {
  color: #1ab7ea;
  background-color: #ffffff;
}

.btn-vk {
  color: #ffffff;
  background-color: #587ea3;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-vk:focus,
.btn-vk.focus {
  color: #ffffff;
  background-color: #466482;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-vk:hover {
  color: #ffffff;
  background-color: #466482;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-vk:active,
.btn-vk.active,
.open>.dropdown-toggle.btn-vk {
  color: #ffffff;
  background-color: #466482;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-vk .badge {
  color: #587ea3;
  background-color: #ffffff;
}

.btn-yahoo {
  color: #ffffff;
  background-color: #720e9e;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-yahoo:focus,
.btn-yahoo.focus {
  color: #ffffff;
  background-color: #500a6f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-yahoo:hover {
  color: #ffffff;
  background-color: #500a6f;
  border-color: rgba(0, 0, 0, 0.2);
}

.btn-yahoo:active,
.btn-yahoo.active,
.open>.dropdown-toggle.btn-yahoo {
  color: #ffffff;
  background-color: #500a6f;
  border-color: rgba(0, 0, 0, 0.2);
}

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

.btn-yahoo .badge {
  color: #720e9e;
  background-color: #ffffff;
}

/*
 * Plugin: Full Calendar
 * ---------------------
 */
.fc-button {
  background: #f4f4f4;
  background-image: none;
  color: #444;
  border-color: #ddd;
  border-bottom-color: #ddd;
}

.fc-button:hover,
.fc-button:active,
.fc-button.hover {
  background-color: #e9e9e9;
}

.fc-header-title h2 {
  font-size: 15px;
  line-height: 1.6em;
  color: #666;
  margin-left: 10px;
}

.fc-header-right {
  padding-right: 10px;
}

.fc-header-left {
  padding-left: 10px;
}

.fc-widget-header {
  background: #fafafa;
}

.fc-grid {
  width: 100%;
  border: 0;
}

.fc-widget-header:first-of-type,
.fc-widget-content:first-of-type {
  border-left: 0;
  border-right: 0;
}

.fc-widget-header:last-of-type,
.fc-widget-content:last-of-type {
  border-right: 0;
}

.fc-toolbar {
  padding: 10px;
  margin: 0;
}

.fc-day-number {
  font-size: 20px;
  font-weight: 300;
  padding-right: 10px;
}

.fc-color-picker {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fc-color-picker>li {
  float: left;
  font-size: 30px;
  margin-right: 5px;
  line-height: 30px;
}

.fc-color-picker>li .fa {
  -webkit-transition: -webkit-transform linear 0.3s;
  -moz-transition: -moz-transform linear 0.3s;
  -o-transition: -o-transform linear 0.3s;
  transition: transform linear 0.3s;
}

.fc-color-picker>li .fa:hover {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  -o-transform: rotate(30deg);
  transform: rotate(30deg);
}

#add-new-event {
  -webkit-transition: all linear 0.3s;
  -o-transition: all linear 0.3s;
  transition: all linear 0.3s;
}

.external-event {
  padding: 5px 10px;
  font-weight: bold;
  margin-bottom: 4px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  cursor: move;
}

.external-event:hover {
  box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.2);
}

/*
 * Plugin: Select2
 * ---------------
 */
.select2-container--default.select2-container--focus,
.select2-selection.select2-container--focus,
.select2-container--default:focus,
.select2-selection:focus,
.select2-container--default:active,
.select2-selection:active {
  outline: none;
}

.select2-container--default .select2-selection--single,
.select2-selection .select2-selection--single {
  border: 1px solid #d2d6de;
  border-radius: 0;
  padding: 6px 12px;
  height: 34px;
}

.select2-container--default.select2-container--open {
  border-color: #3c8dbc;
}

.select2-dropdown {
  border: 1px solid #d2d6de;
  border-radius: 0;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #3c8dbc;
  color: white;
}

.select2-results__option {
  padding: 6px 12px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  padding-right: 0;
  height: auto;
  margin-top: -4px;
}

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 6px;
  padding-left: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 28px;
  right: 3px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  margin-top: 0;
}

.select2-dropdown .select2-search__field,
.select2-search--inline .select2-search__field {
  border: 1px solid #d2d6de;
}

.select2-dropdown .select2-search__field:focus,
.select2-search--inline .select2-search__field:focus {
  outline: none;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-search--dropdown .select2-search__field {
  border-color: #3c8dbc !important;
}

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd;
}

.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[aria-selected=true]:hover {
  color: #444;
}

.select2-container--default .select2-selection--multiple {
  border: 1px solid #d2d6de;
  border-radius: 0;
}

.select2-container--default .select2-selection--multiple:focus {
  border-color: #3c8dbc;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #d2d6de;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #3c8dbc;
  border-color: #367fa9;
  padding: 1px 10px;
  color: #fff;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  margin-right: 5px;
  color: rgba(255, 255, 255, 0.7);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fff;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding-right: 10px;
}

.box .datepicker-inline,
.box .datepicker-inline .datepicker-days,
.box .datepicker-inline>table,
.box .datepicker-inline .datepicker-days>table {
  width: 100%;
}

.box .datepicker-inline td:hover,
.box .datepicker-inline .datepicker-days td:hover,
.box .datepicker-inline>table td:hover,
.box .datepicker-inline .datepicker-days>table td:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.box .datepicker-inline td.day.old,
.box .datepicker-inline .datepicker-days td.day.old,
.box .datepicker-inline>table td.day.old,
.box .datepicker-inline .datepicker-days>table td.day.old,
.box .datepicker-inline td.day.new,
.box .datepicker-inline .datepicker-days td.day.new,
.box .datepicker-inline>table td.day.new,
.box .datepicker-inline .datepicker-days>table td.day.new {
  color: #777;
}

/*
 * General: Miscellaneous
 * ----------------------
 */
.pad {
  padding: 10px;
}

.margin {
  margin: 10px;
}

.margin-bottom {
  margin-bottom: 20px;
}

.margin-bottom-none {
  margin-bottom: 0;
}

.margin-r-5 {
  margin-right: 5px;
}

.inline {
  display: inline;
}

.description-block {
  display: block;
  margin: 10px 0;
  text-align: center;
}

.description-block.margin-bottom {
  margin-bottom: 25px;
}

.description-block>.description-header {
  margin: 0;
  padding: 0;
  font-weight: 600;
  font-size: 16px;
}

.description-block>.description-text {
  text-transform: uppercase;
}

.bg-red,
.bg-yellow,
.bg-aqua,
.bg-blue,
.bg-light-blue,
.bg-green,
.bg-navy,
.bg-teal,
.bg-olive,
.bg-lime,
.bg-orange,
.bg-fuchsia,
.bg-purple,
.bg-maroon,
.bg-black,
.bg-red-active,
.bg-yellow-active,
.bg-aqua-active,
.bg-blue-active,
.bg-light-blue-active,
.bg-green-active,
.bg-navy-active,
.bg-teal-active,
.bg-olive-active,
.bg-lime-active,
.bg-orange-active,
.bg-fuchsia-active,
.bg-purple-active,
.bg-maroon-active,
.bg-black-active,
.callout.callout-danger,
.callout.callout-warning,
.callout.callout-info,
.callout.callout-success,
.alert-success,
.alert-danger,
.alert-error,
.alert-warning,
.alert-info,
.label-danger,
.label-info,
.label-warning,
.label-primary,
.label-success,
.modal-primary .modal-body,
.modal-primary .modal-header,
.modal-primary .modal-footer,
.modal-warning .modal-body,
.modal-warning .modal-header,
.modal-warning .modal-footer,
.modal-info .modal-body,
.modal-info .modal-header,
.modal-info .modal-footer,
.modal-success .modal-body,
.modal-success .modal-header,
.modal-success .modal-footer,
.modal-danger .modal-body,
.modal-danger .modal-header,
.modal-danger .modal-footer {
  color: #fff !important;
}

.bg-gray {
  color: #000;
  background-color: #d2d6de !important;
}

.bg-gray-light {
  background-color: #f7f7f7;
}

.bg-black {
  background-color: #111111 !important;
}

.bg-red,
.callout.callout-danger,
.alert-danger,
.alert-error,
.label-danger,
.modal-danger .modal-body {
  background-color: #dd4b39 !important;
}

.bg-yellow,
.callout.callout-warning,
.alert-warning,
.label-warning,
.modal-warning .modal-body {
  background-color: #f39c12 !important;
}

.bg-aqua,
.callout.callout-info,
.alert-info,
.label-info,
.modal-info .modal-body {
  background-color: #00c0ef !important;
}

.bg-blue {
  background-color: #0073b7 !important;
}

.bg-light-blue,
.label-primary,
.modal-primary .modal-body {
  background-color: #3c8dbc !important;
}

.bg-green,
.callout.callout-success,
.alert-success,
.label-success,
.modal-success .modal-body {
  background-color: #00a65a !important;
}

.bg-navy {
  background-color: #001f3f !important;
}

.bg-teal {
  background-color: #39cccc !important;
}

.bg-olive {
  background-color: #3d9970 !important;
}

.bg-lime {
  background-color: #01ff70 !important;
}

.bg-orange {
  background-color: #ff851b !important;
}

.bg-fuchsia {
  background-color: #f012be !important;
}

.bg-purple {
  background-color: #605ca8 !important;
}

.bg-maroon {
  background-color: #d81b60 !important;
}

.bg-gray-active {
  color: #000;
  background-color: #b5bbc8 !important;
}

.bg-black-active {
  background-color: #000000 !important;
}

.bg-red-active,
.modal-danger .modal-header,
.modal-danger .modal-footer {
  background-color: #d33724 !important;
}

.bg-yellow-active,
.modal-warning .modal-header,
.modal-warning .modal-footer {
  background-color: #db8b0b !important;
}

.bg-aqua-active,
.modal-info .modal-header,
.modal-info .modal-footer {
  background-color: #00a7d0 !important;
}

.bg-blue-active {
  background-color: #005384 !important;
}

.bg-light-blue-active,
.modal-primary .modal-header,
.modal-primary .modal-footer {
  background-color: #357ca5 !important;
}

.bg-green-active,
.modal-success .modal-header,
.modal-success .modal-footer {
  background-color: #008d4c !important;
}

.bg-navy-active {
  background-color: #001a35 !important;
}

.bg-teal-active {
  background-color: #30bbbb !important;
}

.bg-olive-active {
  background-color: #368763 !important;
}

.bg-lime-active {
  background-color: #00e765 !important;
}

.bg-orange-active {
  background-color: #ff7701 !important;
}

.bg-fuchsia-active {
  background-color: #db0ead !important;
}

.bg-purple-active {
  background-color: #555299 !important;
}

.bg-maroon-active {
  background-color: #ca195a !important;
}

[class^="bg-"].disabled {
  opacity: 0.65;
  filter: alpha(opacity=65);
}

.text-red {
  color: #dd4b39 !important;
}

.text-yellow {
  color: #f39c12 !important;
}

.text-aqua {
  color: #00c0ef !important;
}

.text-blue {
  color: #0073b7 !important;
}

.text-black {
  color: #111111 !important;
}

.text-light-blue {
  color: #3c8dbc !important;
}

.text-green {
  color: #00a65a !important;
}

.text-gray {
  color: #d2d6de !important;
}

.text-navy {
  color: #001f3f !important;
}

.text-teal {
  color: #39cccc !important;
}

.text-olive {
  color: #3d9970 !important;
}

.text-lime {
  color: #01ff70 !important;
}

.text-orange {
  color: #ff851b !important;
}

.text-fuchsia {
  color: #f012be !important;
}

.text-purple {
  color: #605ca8 !important;
}

.text-maroon {
  color: #d81b60 !important;
}

.link-muted {
  color: #7a869d;
}

.link-muted:hover,
.link-muted:focus {
  color: #606c84;
}

.link-black {
  color: #666;
}

.link-black:hover,
.link-black:focus {
  color: #999;
}

.hide {
  display: none !important;
}

.no-border {
  border: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

.no-margin {
  margin: 0 !important;
}

.no-shadow {
  box-shadow: none !important;
}

.list-unstyled,
.chart-legend,
.contacts-list,
.users-list,
.mailbox-attachments {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-group-unbordered>.list-group-item {
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}

.flat {
  border-radius: 0 !important;
}

.text-bold,
.text-bold.table td,
.text-bold.table th {
  font-weight: 700;
}

.text-sm {
  font-size: 12px;
}

.jqstooltip {
  padding: 5px !important;
  width: auto !important;
  height: auto !important;
}

.bg-teal-gradient {
  background: #39cccc !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #39cccc), color-stop(1, #7adddd)) !important;
  background: -ms-linear-gradient(bottom, #39cccc, #7adddd) !important;
  background: -moz-linear-gradient(center bottom, #39cccc 0%, #7adddd 100%) !important;
  background: -o-linear-gradient(#7adddd, #39cccc) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7adddd', endColorstr='#39cccc', GradientType=0) !important;
  color: #fff;
}

.bg-light-blue-gradient {
  background: #3c8dbc !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3c8dbc), color-stop(1, #67a8ce)) !important;
  background: -ms-linear-gradient(bottom, #3c8dbc, #67a8ce) !important;
  background: -moz-linear-gradient(center bottom, #3c8dbc 0%, #67a8ce 100%) !important;
  background: -o-linear-gradient(#67a8ce, #3c8dbc) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#67a8ce', endColorstr='#3c8dbc', GradientType=0) !important;
  color: #fff;
}

.bg-blue-gradient {
  background: #0073b7 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #0073b7), color-stop(1, #0089db)) !important;
  background: -ms-linear-gradient(bottom, #0073b7, #0089db) !important;
  background: -moz-linear-gradient(center bottom, #0073b7 0%, #0089db 100%) !important;
  background: -o-linear-gradient(#0089db, #0073b7) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0089db', endColorstr='#0073b7', GradientType=0) !important;
  color: #fff;
}

.bg-aqua-gradient {
  background: #00c0ef !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00c0ef), color-stop(1, #14d1ff)) !important;
  background: -ms-linear-gradient(bottom, #00c0ef, #14d1ff) !important;
  background: -moz-linear-gradient(center bottom, #00c0ef 0%, #14d1ff 100%) !important;
  background: -o-linear-gradient(#14d1ff, #00c0ef) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#14d1ff', endColorstr='#00c0ef', GradientType=0) !important;
  color: #fff;
}

.bg-yellow-gradient {
  background: #f39c12 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #f39c12), color-stop(1, #f7bc60)) !important;
  background: -ms-linear-gradient(bottom, #f39c12, #f7bc60) !important;
  background: -moz-linear-gradient(center bottom, #f39c12 0%, #f7bc60 100%) !important;
  background: -o-linear-gradient(#f7bc60, #f39c12) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60', endColorstr='#f39c12', GradientType=0) !important;
  color: #fff;
}

.bg-purple-gradient {
  background: #605ca8 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #605ca8), color-stop(1, #9491c4)) !important;
  background: -ms-linear-gradient(bottom, #605ca8, #9491c4) !important;
  background: -moz-linear-gradient(center bottom, #605ca8 0%, #9491c4 100%) !important;
  background: -o-linear-gradient(#9491c4, #605ca8) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9491c4', endColorstr='#605ca8', GradientType=0) !important;
  color: #fff;
}

.bg-green-gradient {
  background: #00a65a !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00a65a), color-stop(1, #00ca6d)) !important;
  background: -ms-linear-gradient(bottom, #00a65a, #00ca6d) !important;
  background: -moz-linear-gradient(center bottom, #00a65a 0%, #00ca6d 100%) !important;
  background: -o-linear-gradient(#00ca6d, #00a65a) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ca6d', endColorstr='#00a65a', GradientType=0) !important;
  color: #fff;
}

.bg-red-gradient {
  background: #dd4b39 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dd4b39), color-stop(1, #e47365)) !important;
  background: -ms-linear-gradient(bottom, #dd4b39, #e47365) !important;
  background: -moz-linear-gradient(center bottom, #dd4b39 0%, #e47365 100%) !important;
  background: -o-linear-gradient(#e47365, #dd4b39) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47365', endColorstr='#dd4b39', GradientType=0) !important;
  color: #fff;
}

.bg-black-gradient {
  background: #111111 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #111111), color-stop(1, #2b2b2b)) !important;
  background: -ms-linear-gradient(bottom, #111111, #2b2b2b) !important;
  background: -moz-linear-gradient(center bottom, #111111 0%, #2b2b2b 100%) !important;
  background: -o-linear-gradient(#2b2b2b, #111111) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b2b2b', endColorstr='#111111', GradientType=0) !important;
  color: #fff;
}

.bg-maroon-gradient {
  background: #d81b60 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #d81b60), color-stop(1, #e73f7c)) !important;
  background: -ms-linear-gradient(bottom, #d81b60, #e73f7c) !important;
  background: -moz-linear-gradient(center bottom, #d81b60 0%, #e73f7c 100%) !important;
  background: -o-linear-gradient(#e73f7c, #d81b60) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e73f7c', endColorstr='#d81b60', GradientType=0) !important;
  color: #fff;
}

.description-block .description-icon {
  font-size: 16px;
}

.no-pad-top {
  padding-top: 0;
}

.position-static {
  position: static !important;
}

.list-header {
  font-size: 15px;
  padding: 10px 4px;
  font-weight: bold;
  color: #666;
}

.list-seperator {
  height: 1px;
  background: #f4f4f4;
  margin: 15px 0 9px 0;
}

.list-link>a {
  padding: 4px;
  color: #777;
}

.list-link>a:hover {
  color: #222;
}

.font-light {
  font-weight: 300;
}

.user-block:before,
.user-block:after {
  content: " ";
  display: table;
}

.user-block:after {
  clear: both;
}

.user-block img {
  width: 40px;
  height: 40px;
  float: left;
}

.user-block .username,
.user-block .description,
.user-block .comment {
  display: block;
  margin-left: 50px;
}

.user-block .username {
  font-size: 16px;
  font-weight: 600;
}

.user-block .description {
  color: #999;
  font-size: 13px;
}

.user-block.user-block-sm .username,
.user-block.user-block-sm .description,
.user-block.user-block-sm .comment {
  margin-left: 40px;
}

.user-block.user-block-sm .username {
  font-size: 14px;
}

.img-sm,
.img-md,
.img-lg,
.box-comments .box-comment img,
.user-block.user-block-sm img {
  float: left;
}

.img-sm,
.box-comments .box-comment img,
.user-block.user-block-sm img {
  width: 30px !important;
  height: 30px !important;
}

.img-sm+.img-push {
  margin-left: 40px;
}

.img-md {
  width: 60px;
  height: 60px;
}

.img-md+.img-push {
  margin-left: 70px;
}

.img-lg {
  width: 100px;
  height: 100px;
}

.img-lg+.img-push {
  margin-left: 110px;
}

.img-bordered {
  border: 3px solid #d2d6de;
  padding: 3px;
}

.img-bordered-sm {
  border: 2px solid #d2d6de;
  padding: 2px;
}

.attachment-block {
  border: 1px solid #f4f4f4;
  padding: 5px;
  margin-bottom: 10px;
  background: #f7f7f7;
}

.attachment-block .attachment-img {
  max-width: 100px;
  max-height: 100px;
  height: auto;
  float: left;
}

.attachment-block .attachment-pushed {
  margin-left: 110px;
}

.attachment-block .attachment-heading {
  margin: 0;
}

.attachment-block .attachment-text {
  color: #555;
}

.connectedSortable {
  min-height: 100px;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.sort-highlight {
  background: #f4f4f4;
  border: 1px dashed #ddd;
  margin-bottom: 10px;
}

.full-opacity-hover {
  opacity: 0.65;
  filter: alpha(opacity=65);
}

.full-opacity-hover:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.chart {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.chart svg,
.chart canvas {
  width: 100% !important;
}

/*
 * Misc: print
 * -----------
 */
@media print {

  .no-print,
  .main-sidebar,
  .left-side,
  .main-header,
  .content-header {
    display: none !important;
  }

  .content-wrapper,
  .right-side,
  .main-footer {
    margin-left: 0 !important;
    min-height: 0 !important;
    -webkit-transform: translate(0, 0) !important;
    -ms-transform: translate(0, 0) !important;
    -o-transform: translate(0, 0) !important;
    transform: translate(0, 0) !important;
  }

  .fixed .content-wrapper,
  .fixed .right-side {
    padding-top: 0 !important;
  }

  .invoice {
    width: 100%;
    border: 0;
    margin: 0;
    padding: 0;
  }

  .invoice-col {
    float: left;
    width: 33.3333333%;
  }

  .table-responsive {
    overflow: auto;
  }

  .table-responsive>.table tr th,
  .table-responsive>.table tr td {
    white-space: normal !important;
  }
}




/* --- HPSUITE+ ELITE COMPONENT REFACTOR --- */

/* Global Overrides for Dark Mode */
body.dark-mode {
  color: var(--text-primary);
  background-color: var(--body-bg);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
  color: var(--text-primary) !important;
}


body.dark-mode .main-sidebar,
body.dark-mode .main-footer,
body.dark-mode .box,
body.dark-mode .nav-tabs-custom,
body.dark-mode .nav-tabs-custom>.tab-content {
  background-color: var(--bg-main) !important;
}

body.dark-mode .box-header,
body.dark-mode .box-footer,
body.dark-mode .modal-header,
body.dark-mode .modal-footer {
  border-color: var(--border-color);
}

body.dark-mode .form-control,
body.dark-mode .select2-selection,
body.dark-mode .select2-dropdown {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
}

body.dark-mode table.tftable {
  color: var(--text-primary);
  border-color: var(--border-color);
}

/* --- HPSUITE+ ELITE BRANDED MODAL ENGINE --- */
body.dark-mode .modal-content,
body.dark-mode .jconfirm .jconfirm-box {
  background: linear-gradient(135deg, rgba(10, 10, 15, 0.95), rgba(var(--brand-rgb), 0.05)) !important;
  backdrop-filter: blur(30px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(200%) !important;

  /* Branded Glowing Border */
  border: 1px solid rgba(var(--brand-rgb), 0.4) !important;
  box-shadow: 0 25px 80px -10px rgba(0, 0, 0, 0.8),
    0 0 25px rgba(var(--brand-rgb), 0.15),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05) !important;

  border-radius: 24px !important;
  color: #ffffff !important;
  padding: 10px !important;
}

/* Modal Headers & Titles */
body.dark-mode .jconfirm .jconfirm-title-c {
  color: #ffffff !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 18px !important;
  text-shadow: 0 0 15px rgba(var(--brand-rgb), 0.5);
  padding-bottom: 15px !important;
  border-bottom: 1px solid rgba(var(--brand-rgb), 0.2) !important;
  margin-bottom: 20px !important;
}

/* Modal Body Text (High Contrast) */
body.dark-mode .jconfirm .jconfirm-content {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

/* Branded Button Engine */
body.dark-mode .jconfirm .jconfirm-buttons button {
  background: var(--primary-color) !important;
  background: linear-gradient(135deg, var(--primary-color), var(--theme-accent-grad)) !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 10px 25px !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(var(--brand-rgb), 0.3) !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

body.dark-mode .jconfirm .jconfirm-buttons button:hover {
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 8px 25px rgba(var(--brand-rgb), 0.5) !important;
}

body.dark-mode .modal-header,
body.dark-mode .modal-footer {
  border-color: rgba(var(--brand-rgb), 0.2) !important;
}

body.dark-mode .info-box,
body.dark-mode .small-box {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

/* Restore Info-Box Icon Colors */
body.dark-mode .info-box .info-box-icon {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .info-box.bg-blue .info-box-icon i {
  color: #60a5fa !important;
}

body.dark-mode .info-box.bg-red .info-box-icon i {
  color: #fb7185 !important;
}

body.dark-mode .info-box.bg-yellow .info-box-icon i {
  color: #fbbf24 !important;
}

body.dark-mode .info-box.bg-green .info-box-icon i {
  color: #34d399 !important;
}

body.dark-mode .info-box.bg-maroon .info-box-icon i {
  color: #f472b6 !important;
}

body.dark-mode .info-box.bg-aqua .info-box-icon i {
  color: #22d3ee !important;
}

body.dark-mode .info-box.bg-purple .info-box-icon i {
  color: #c084fc !important;
}



body.dark-mode .main-header .navbar,
body.dark-mode .main-header .logo {
  border-bottom: 1px solid var(--border-color);
}

body.dark-mode .nav-tabs-custom>.nav-tabs>li.active>a {
  background-color: var(--card-bg);
  color: var(--text-primary);
  border-color: var(--border-color);
  border-bottom-color: transparent;
}

body.dark-mode .nav-tabs-custom>.nav-tabs>li>a {
  color: var(--text-secondary);
  background-color: transparent !important;
}

body.dark-mode .nav-tabs-custom>.nav-tabs>li>a:hover {
  color: var(--text-primary);
  background-color: var(--theme-color-2) !important;
}

/* DataTables Global Dark Mode Force */
body.dark-mode .dataTables_wrapper,
body.dark-mode .dataTables_wrapper .dataTables_length,
body.dark-mode .dataTables_wrapper .dataTables_filter,
body.dark-mode .dataTables_wrapper .dataTables_info,
body.dark-mode .dataTables_wrapper .dataTables_processing,
body.dark-mode .dataTables_wrapper .dataTables_paginate,
body.dark-mode table.dataTable,
body.dark-mode table.dataTable tbody tr {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--text-primary) !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--theme-color-1) !important;
  border-color: var(--theme-color-2) !important;
  color: #fff !important;
}

body.dark-mode table.dataTable.stripe tbody tr.odd,
body.dark-mode table.dataTable.display tbody tr.odd,
body.dark-mode .table-striped>tbody>tr:nth-of-type(odd) {
  background-color: var(--theme-color-3) !important;
}

body.dark-mode table.dataTable.hover tbody tr:hover,
body.dark-mode table.dataTable.display tbody tr:hover,
body.dark-mode .table-hover>tbody>tr:hover {
  background-color: var(--theme-color-4) !important;
}

/* Status Differentiation (Foreground & Borders) */
body.dark-mode tr.status-unpaid {
  color: var(--status-unpaid) !important;
  border-left: 5px solid var(--status-unpaid) !important;
  background-color: transparent !important;
}

body.dark-mode tr.status-unpaid a {
  color: var(--status-unpaid) !important;
  text-decoration: underline;
}

body.dark-mode tr.status-partial {
  color: var(--status-partial) !important;
  border-left: 5px solid var(--status-partial) !important;
  background-color: transparent !important;
}

body.dark-mode tr.status-partial a {
  color: var(--status-partial) !important;
  text-decoration: underline;
}

body.dark-mode tr.status-void {
  color: var(--status-void) !important;
  border-left: 5px solid var(--status-void) !important;
  background-color: transparent !important;
  opacity: 0.7;
}

body.dark-mode tr.status-paid {
  border-left: 5px solid var(--status-paid) !important;
}

/* SMS History Specific Status Rows */
body.dark-mode tr[style*="background-color: #bbffbb"] {
  background-color: #064e3b !important;
  /* Deep Green Emerald */
  color: #ecfdf5 !important;
}

body.dark-mode tr[style*="background-color: #ffff00"] {
  background-color: #713f12 !important;
  /* Deep Golden Brown */
  color: #fefce8 !important;
}

body.dark-mode .alert-info {
  background-color: #1e3a8a !important;
  border-color: #1e40af !important;
}

body.dark-mode .alert-warning {
  background-color: #713f12 !important;
  border-color: #854d0e !important;
}

body.dark-mode .alert-danger {
  background-color: #7f1d1d !important;
  border-color: #991b1b !important;
}

body.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--theme-color-1) !important;
}

table.tftable {
  font-size: 14px;
  color: var(--text-primary);
  border-width: 1px;
  border-color: #729ea5;
  border-collapse: collapse;
  margin-left: auto;
  margin-right: auto;
}

table.tftable th {
  background-color: var(--theme-color-1);
  border-width: 1px;
  padding: 3px;
  border-style: solid;
  border-color: #729ea5;
  text-align: left;
  color: #fff;
  font-size: 10pt
}

table.tftable tr {
  background-color: var(--theme-color-3);
}

table.tftable td {
  border-width: 1px;
  padding: 3px;
  border-style: solid;
  border-color: #729ea5;
}

canvas {
  margin-right: 5px;
}


.myButton {
  -moz-box-shadow: inset 0px 1px 0px 0px var(--theme-color-2);
  -webkit-box-shadow: inset 0px 1px 0px 0px var(--theme-color-2);
  box-shadow: inset 0px 1px 0px 0px var(--theme-color-2);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, var(--theme-color-1)), color-stop(1, var(--theme-color-grad)));
  background: -moz-linear-gradient(top, var(--theme-color-1) 5%, var(--theme-color-grad) 100%);
  background: -webkit-linear-gradient(top, var(--theme-color-1) 5%, var(--theme-color-grad) 100%);
  background: -o-linear-gradient(top, var(--theme-color-1) 5%, var(--theme-color-grad) 100%);
  background: -ms-linear-gradient(top, var(--theme-color-1) 5%, var(--theme-color-grad) 100%);
  background: linear-gradient(to bottom, var(--theme-color-1) 5%, var(--theme-color-grad) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='var(--theme-color-1)', endColorstr='var(--theme-color-grad)', GradientType=0);
  background-color: var(--theme-color-1);
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 20px;
  border: 1px solid var(--theme-color-grad);
  display: inline-block;
  cursor: pointer;
  color: #ffffff;
  font-family: Arial;
  font-size: 14px;
  padding: 5px 14px;
  text-decoration: none;
  text-shadow: 0px 1px 0px #154682;
  overflow: visible !important;

}

.myButton:hover {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, var(--theme-color-grad)), color-stop(1, var(--theme-color-1)));
  background: -moz-linear-gradient(top, var(--theme-color-grad) 5%, var(--theme-color-1) 100%);
  background: -webkit-linear-gradient(top, var(--theme-color-grad) 5%, var(--theme-color-1) 100%);
  background: -o-linear-gradient(top, var(--theme-color-grad) 5%, var(--theme-color-1) 100%);
  background: -ms-linear-gradient(top, var(--theme-color-grad) 5%, var(--theme-color-1) 100%);
  background: linear-gradient(to bottom, var(--theme-color-grad) 5%, var(--theme-color-1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='var(--theme-color-grad)', endColorstr='var(--theme-color-1)', GradientType=0);
  background-color: var(--theme-color-grad);
}

.myButton:active {
  position: relative;
  top: 1px;
  color: white;
}

.myButton a {
  color: #ffffff;
}

.skin-custom .main-header .navbar {
  /* background-color: rgba(var(--brand-rgb), 0.45) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px); */
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* ─── Light Mode: Navbar Icon & Text Visibility Fix ─── */
/* In light mode the glassmorphic navbar is semi-transparent so white icons
   become invisible. Force dark icons/text and a more opaque background. */
body:not(.dark-mode) .skin-custom .main-header .navbar {
  background-color: rgba(var(--brand-rgb), 0.82) !important;
  border-bottom: 1px solid rgba(var(--brand-rgb), 0.15);
}

body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a i,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a .fa,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a .ion,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a .glyphicon,
body:not(.dark-mode) .skin-custom .main-header .navbar .sidebar-toggle,
body:not(.dark-mode) .skin-custom .main-header .navbar .navbar-toggle {
  color: rgba(0, 0, 0, 0.80) !important;
}

body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a:hover,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a:active,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a:focus,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav .open>a,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav .open>a:hover,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav .open>a:focus,
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>.active>a {
  background: rgba(0, 0, 0, 0.08);
  color: rgba(0, 0, 0, 0.90) !important;
}

body:not(.dark-mode) .skin-custom .main-header .navbar .sidebar-toggle:hover,
body:not(.dark-mode) .skin-custom .main-header .navbar .navbar-toggle:hover {
  background: rgba(0, 0, 0, 0.08);
  color: rgba(0, 0, 0, 0.90) !important;
}

/* Label/badge counts should stay white for legibility on coloured chips */
body:not(.dark-mode) .skin-custom .main-header .navbar .nav>li>a>.label {
  color: #fff !important;
}

.skin-custom .main-header .navbar .nav>li>a {
  color: #ffffff;
}

.skin-custom .main-header .navbar .nav>li>a:hover,
.skin-custom .main-header .navbar .nav>li>a:active,
.skin-custom .main-header .navbar .nav>li>a:focus,
.skin-custom .main-header .navbar .nav .open>a,
.skin-custom .main-header .navbar .nav .open>a:hover,
.skin-custom .main-header .navbar .nav .open>a:focus,
.skin-custom .main-header .navbar .nav>.active>a {
  background: rgba(0, 0, 0, 0.1);
  color: #f6f6f6;
}

.skin-custom .main-header .navbar .sidebar-toggle {
  color: #ffffff;
}

.skin-custom .main-header .navbar .sidebar-toggle:hover {
  color: #f6f6f6;
  background: rgba(0, 0, 0, 0.1);
}

.skin-custom .main-header .navbar .sidebar-toggle {
  color: #fff;
}

.skin-custom .main-header .navbar .sidebar-toggle:hover {
  background-color: var(--submenu-bg-3);
}

@media (max-width: 767px) {
  .skin-custom .main-header .navbar .dropdown-menu li.divider {
    background-color: rgba(255, 255, 255, 0.1);
  }

  .skin-custom .main-header .navbar .dropdown-menu li a {
    color: #fff;
  }

  .skin-custom .main-header .navbar .dropdown-menu li a:hover {
    background: var(--submenu-bg-3);
  }
}

.skin-custom .main-header .logo {
  background-color: #fff;
  color: #ffffff;
  border-bottom: 0 solid transparent;
}

.skin-custom .main-header .logo:hover {
  background-color: var(--theme-color-1);
}

.skin-custom .main-header li.user-header {
  background-color: var(--bg-color);
}

.skin-custom .content-header {
  background: transparent;
}

.skin-custom .wrapper,
.skin-custom .main-sidebar,
.skin-custom .left-side {
  background-color: rgba(var(--brand-rgb), 0.4) !important;

  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.skin-custom .user-panel>.info,
.skin-custom .user-panel>.info>a {
  color: #fff;
}

.skin-custom .sidebar-menu>li.header {
  color: #4b646f;
  background-color: var(--submenu-bg-3);
}

.skin-custom .sidebar-menu>li>a {
  border-left: 3px solid transparent;
}

.skin-custom .sidebar-menu>li:hover>a,
.skin-custom .sidebar-menu>li.active>a,
.skin-custom .sidebar-menu>li.menu-open>a {
  color: #ffffff;
  background-color: var(--submenu-bg-2);
}

.skin-custom .sidebar-menu>li.active>a {
  border-left-color: var(--bg-color);
}

.skin-custom .sidebar-menu>li>.treeview-menu {
  margin: 0 1px;
  background-color: var(--submenu-bg-1);
}

.skin-custom .sidebar a {
  color: var(--menu-color);
}

.skin-custom .sidebar a:hover {
  text-decoration: none;
}

.skin-custom .sidebar-menu .treeview-menu>li>a {
  color: var(--menu-color);
}

.skin-custom .sidebar-menu .treeview-menu>li.active>a,
.skin-custom .sidebar-menu .treeview-menu>li>a:hover {
  color: var(--menu-hover-color);
  background-color: var(--submenu-hover-bg);
}

.skin-custom .sidebar-form {
  border-radius: 3px;
  border: 1px solid #374850;
  margin: 10px 10px;
}

.skin-custom .sidebar-form input[type="text"],
.skin-custom .sidebar-form .btn {
  box-shadow: none;
  background-color: #374850;
  border: 1px solid transparent;
  height: 35px;
}

.skin-custom .sidebar-form input[type="text"] {
  color: #666;
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
}

.skin-custom .sidebar-form input[type="text"]:focus,
.skin-custom .sidebar-form input[type="text"]:focus+.input-group-btn .btn {
  background-color: #fff;
  color: #666;
}

.skin-custom .sidebar-form input[type="text"]:focus+.input-group-btn .btn {
  border-left-color: #fff;
}

.skin-custom .sidebar-form .btn {
  color: #999;
  border-top-left-radius: 0;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 0;
}



.content-wrapper {
  min-height: 100%;
  background-color: var(--content-wrapper-bg);
  position: relative;

}

.swMain {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: 0px solid #CCC;
  overflow: visible;
  float: left;
  width: 980px;
}

.swMain .stepContainer {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0px solid #CCC;
  overflow: auto;
  clear: both;
  min-height: 350px;
  height: auto;
}

.swMain .stepContainer div.content {
  display: block;
  position: absolute;
  float: left;
  margin: 0;
  padding: 5px;
  border: 1px solid var(--border-color);
  font: normal 12px Verdana, Arial, Helvetica, sans-serif;
  color: var(--theme-color-2);
  background-color: #F8F8F8;
  min-height: 450px;
  height: auto;
  text-align: left;
  overflow: auto;
  z-index: 88;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  width: 968px;
  clear: both;
}

.swMain div.actionBar {
  display: block;
  position: relative;
  clear: both;
  margin: 3px 0 0 0;
  border: 1px solid var(--border-color);
  padding: 0;
  color: var(--theme-color-2);
  background-color: #F8F8F8;
  height: 40px;
  text-align: left;
  overflow: auto;
  z-index: 88;

  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  left: 0;
}

.swMain .stepContainer .StepTitle {
  display: block;
  position: relative;
  margin: 0;
  border: 1px solid #E0E0E0;
  padding: 5px;
  font: bold 16px Verdana, Arial, Helvetica, sans-serif;
  color: var(--theme-color-2);
  background-color: #E0E0E0;
  clear: both;
  text-align: left;
  z-index: 88;

  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}

.swMain ul.anchor {
  position: relative;
  display: block;
  float: left;
  list-style: none;
  padding: 0px;
  margin: 10px 0;
  clear: both;
  border: 0px solid #CCCCCC;
  background: transparent;
  /*#EEEEEE */
}

.swMain ul.anchor li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  padding-left: 3px;
  padding-right: 3px;
  border: 0px solid #E0E0E0;
  float: left;
}

/* Anchor Element Style */
.swMain ul.anchor li a {
  display: block;
  position: relative;
  float: left;
  margin: 0;
  padding: 3px;
  height: 60px;
  width: 230px;
  text-decoration: none;
  outline-style: none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  z-index: 99;
}

.swMain ul.anchor li a .stepNumber {
  position: relative;
  float: left;
  width: 30px;
  text-align: center;
  padding: 5px;
  padding-top: 0;
  font: bold 45px Verdana, Arial, Helvetica, sans-serif;
}

.swMain ul.anchor li a .stepDesc {
  position: relative;
  display: block;
  float: left;
  text-align: left;
  padding: 5px;

  font: bold 20px Verdana, Arial, Helvetica, sans-serif;
}

.swMain ul.anchor li a .stepDesc small {
  font: normal 12px Verdana, Arial, Helvetica, sans-serif;
}

.swMain ul.anchor li a.selected {
  color: #F8F8F8;
  background: var(--bg-color);
  /* EA8511 */
  border: 1px solid var(--bg-color);
  cursor: text;
  -moz-box-shadow: 5px 5px 8px #888;
  -webkit-box-shadow: 5px 5px 8px #888;
  box-shadow: 5px 5px 8px #888;
}

.swMain ul.anchor li a.selected:hover {
  color: #F8F8F8;
  background: var(--logo-hover);
}

.swMain ul.anchor li a.done {
  position: relative;
  color: #FFF;
  background: var(--theme-color-2);
  border: 1px solid #8CC63F;
  z-index: 99;
}

.swMain ul.anchor li a.done:hover {
  color: var(--theme-color-2);
  background: var(--logo-hover);
  border: 1px solid var(--theme-color-2);
}

.swMain ul.anchor li a.disabled {
  color: #CCCCCC;
  background: #F8F8F8;
  border: 1px solid #CCC;
  cursor: text;
}

.swMain ul.anchor li a.disabled:hover {
  color: #CCCCCC;
  background: #F8F8F8;
}

.swMain ul.anchor li a.error {
  color: #6c6c6c !important;
  background: #f08f75 !important;
  border: 1px solid #fb3500 !important;
}

.swMain ul.anchor li a.error:hover {
  color: #000 !important;
}

.swMain .buttonNext {
  display: block;
  float: right;
  margin: 5px 3px 0 3px;
  padding: 5px;
  text-decoration: none;
  text-align: center;
  font: bold 13px Verdana, Arial, Helvetica, sans-serif;
  width: 100px;
  color: #FFF;
  outline-style: none;
  background-color: var(--theme-color-2);
  border: 1px solid var(--theme-color-2);
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.swMain .buttonDisabled {
  color: #F8F8F8 !important;
  background-color: #CCCCCC !important;
  border: 1px solid #CCCCCC !important;
  cursor: text;
}

.swMain .buttonPrevious {
  display: block;
  float: right;
  margin: 5px 3px 0 3px;
  padding: 5px;
  text-decoration: none;
  text-align: center;
  font: bold 13px Verdana, Arial, Helvetica, sans-serif;
  width: 100px;
  color: #FFF;
  outline-style: none;
  background-color: var(--theme-color-2);
  border: 1px solid var(--theme-color-2);
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.swMain .buttonFinish {
  display: block;
  float: right;
  margin: 5px 10px 0 3px;
  padding: 5px;
  text-decoration: none;
  text-align: center;
  font: bold 13px Verdana, Arial, Helvetica, sans-serif;
  width: 100px;
  color: #FFF;
  outline-style: none;
  background-color: var(--theme-color-2);
  border: 1px solid var(--theme-color-2);
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

/* Form Styles */

.txtBox {
  border: 1px solid var(--border-color);
  color: var(--theme-color-2);
  font: 13px Verdana, Arial, Helvetica, sans-serif;
  padding: 2px;
  width: 430px;
}

.txtBox:focus {
  border: 1px solid var(--bg-color);
}

.swMain .loader {
  position: relative;
  display: none;
  float: left;
  margin: 2px 0 0 2px;
  padding: 8px 10px 8px 40px;
  border: 1px solid #FFD700;
  font: bold 13px Verdana, Arial, Helvetica, sans-serif;
  color: var(--theme-color-2);
  background: #FFF url(../images/loader.gif) no-repeat 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  z-index: 998;
}

.swMain .msgBox {
  position: relative;
  display: none;
  float: left;
  margin: 4px 0 0 5px;
  padding: 5px;
  border: 1px solid #FFD700;
  background-color: #FFFFDD;
  font: normal 12px Verdana, Arial, Helvetica, sans-serif;
  color: var(--theme-color-2);
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  z-index: 999;
  min-width: 200px;
}

.swMain .msgBox .content {
  font: normal 12px Verdana, Arial, Helvetica, sans-serif;
  padding: 0px;
  float: left;
}

.swMain .msgBox .close {
  border: 1px solid #CCC;
  border-radius: 3px;
  color: #CCC;
  display: block;
  float: right;
  margin: 0 0 0 5px;
  outline-style: none;
  padding: 0 2px 0 2px;
  position: relative;
  text-align: center;
  text-decoration: none;
}

.swMain .msgBox .close:hover {
  color: var(--bg-color);
  border: 1px solid var(--bg-color);
}

.content {
  min-height: 250px;

  margin-right: auto;
  margin-left: auto;

  position: relative;



}




.content2 {
  position: relative;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  padding: 10px;
  border-radius: 15px;

  /* Realistic Glassmorphism Accents */
  border: 1px solid var(--glass-border);
  border-top: 1px solid rgba(255, 255, 255, 0.7);
  border-left: 1px solid rgba(255, 255, 255, 0.7);

  /* Depth and Blur */
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  min-height: 98vh;
}



.main-footer {
  -webkit-transition: -webkit-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  -moz-transition: -moz-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  -o-transition: -o-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, margin 0.3s ease-in-out;

  position: relative;
  background: var(--footer-bg);
  padding: 6px;
  color: var(--footer-text);
  border-top: 2px solid #d2d6de;
}

a {
  color: var(--link-color);
  text-decoration: none;
  transition: color 0.2s;
}

a:hover {
  color: var(--link-hover-color);
  text-decoration: underline;
}

body.dark-mode table a {
  color: var(--link-color) !important;
  font-weight: 600;
}

.login-box-body .register-box-body {
  border-radius: 20px;
}

.rcorners1 {
  transition: all .3s ease;
  border-radius: 24px;
  background: var(--glass-bg);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid var(--glass-border);
  padding: 15px;
  margin-bottom: 25px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}

.rcorners1:hover {
  box-shadow: 0 15px 45px rgba(var(--brand-rgb), 0.12);
  transform: translateY(-2px);
}

.elite-page-container {
  max-width: 850px;
  margin: 40px auto;
  padding: 0 20px;
}

.elite-branding-header {
  text-align: center;
  margin-bottom: 40px;
}

.elite-branding-header img {
  max-width: 280px;
  height: auto;
  margin-bottom: 25px;
  filter: drop-shadow(0 8px 25px rgba(0, 0, 0, 0.15));
}

.elite-form-section-title {
  font-weight: 800;
  margin-bottom: 30px;
  border-bottom: 2px solid var(--glass-border);
  padding-bottom: 15px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-size: 13px;
  opacity: 0.8;
}

.elite-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
  border-radius: 16px;
  border: 1px solid var(--glass-border);
}

.elite-table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
}

.elite-table th {
  background: rgba(var(--brand-rgb), 0.05);
  color: var(--primary-color);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 10px;
  padding: 15px;
  border-bottom: 2px solid var(--glass-border);
  text-align: left;
}

.elite-table td {
  padding: 15px;
  border-bottom: 1px solid var(--glass-border);
  font-size: 13px;
  color: var(--text-color);
}

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

.elite-table tr:hover td {
  background: rgba(var(--brand-rgb), 0.02);
}

@media (max-width: 767px) {
  .rcorners1 {
    padding: 20px;
    border-radius: 18px;
    margin-bottom: 20px;
  }

  .elite-page-container {
    margin: 20px auto;
    padding: 0 15px;
  }

  .elite-branding-header {
    margin-bottom: 30px;
  }

  .elite-branding-header img {
    max-width: 200px;
  }
}

/* Appointment & Form Compact Styles */
.elite-compact-input {
  background: rgba(var(--brand-rgb), 0.05) !important;
  border-radius: 10px !important;
  height: 48px !important;
  font-size: 14px !important;
  border: 1px solid rgba(var(--brand-rgb), 0.1) !important;
  color: var(--text-color) !important;
  transition: all 0.3s ease !important;
}

.elite-compact-input:focus {
  background: rgba(var(--brand-rgb), 0.08) !important;
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.1) !important;
}

.modal-sub-label {
  font-size: 11px;
  opacity: 0.6;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.8px;
  margin-bottom: 10px;
  display: block;
  color: var(--text-color);
}

.modal-divider {
  border-top: 1px solid var(--glass-border);
  margin: 30px 0;
  opacity: 0.5;
}

/* XML syntax highlighting (MediKredit Hub) */
.xml-tag {
  color: #e06c75;
  font-weight: 700;
}

.xml-attr {
  color: #d19a66;
}

.xml-val {
  color: #98c379;
}

.nav-tabs-custom>.tab-content {
  background-color: var(--card-bg);
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 6px;
  color: var(--text-primary);
}

.nav-tabs-custom {
  background: var(--shop-bg);
  border-radius: 20px;
}

.jconfirm .jconfirm-box {
  border-radius: 20px;
  border-top: var(--theme-color-1);
}

body.dark-mode .jconfirm .jconfirm-box {
  background-color: #64748b !important;
  /* Mid-tone Slate for high logo visibility */
  color: #ffffff !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .jconfirm .jconfirm-title-c {
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding-bottom: 15px !important;
  margin-bottom: 15px !important;
}

body.dark-mode .jconfirm .jconfirm-content {
  color: var(--text-secondary) !important;
}


@media only screen and (max-width: 800px) {

  /* Force table to not be like tables anymore */
  #no-more-tables table,
  #no-more-tables thead,
  #no-more-tables tbody,
  #no-more-tables th,
  #no-more-tables td,
  #no-more-tables tr {
    display: block;
    border: none !important;
  }

  /* Hide table headers (but not display: none;, for accessibility) */
  #no-more-tables thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  #no-more-tables tr {
    background: var(--card-bg);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid var(--border-color) !important;
    border-radius: 15px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 5px;
    position: relative;
    overflow: hidden;
  }

  /* Branded accent for each card */
  #no-more-tables tr::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--theme-color-1, #00abff);
  }

  #no-more-tables td {
    border: none;
    position: relative;
    padding-left: 120px;
    white-space: normal;
    text-align: left;
    min-height: 40px;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    font-size: 14px;
  }

  #no-more-tables td:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
    width: 100px;
    padding-right: 10px;
    white-space: nowrap;
    text-align: left;
    font-weight: 700;
    color: var(--theme-color-1, #00abff);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    content: attr(data-title);
  }

  /* Action column specific styling for mobile buttons */
  #no-more-tables td[data-title='Action'] {
    padding-left: 15px;
    justify-content: center;
    border-top: 1px solid var(--border-color);
    margin-top: 10px;
    padding-top: 15px;
    flex-direction: column;
  }

  #no-more-tables td[data-title='Action']:before {
    display: none;
  }
}

.vertical-center {
  margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.app {
  display: grid;
  grid-gap: 15px;
  overflow: hidden;
  /*   grid-template-columns: repeat(auto-fill, 200px); */
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  /*   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr) 150px); */
  grid-auto-flow: dense;
}


/* SECTION FROM CUSTOM */

#sketchpad canvas {
  border: .2rem solid #000;
  cursor: crosshair;
  display: block;
}

.modal-lg {
  width: 95%;
}


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


.no-margin {
  margin: 0;
}

@media (min-width: 550px) {
  section:first-child {
    margin-top: 10px;
  }
}


.docs-section {
  border-top: 1px solid #eee;
  padding: 4rem 0;
  margin-top: 4rem;
}


/* CUSTOM  END*/
.img-thumbnail1 {

  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;


}

body {
  font-size: 18px;

}


.progress {
  display: -ms-flexbox;
  display: flex;
  height: 20px;
  overflow: hidden;
  font-size: .75rem;
  background-color: #e9ecef;
  border-radius: .25rem;
  margin-top: 10px;
}

.progress-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #28a745;
  transition: width .6s ease;
  font-size: 16px;
  text-align: center;
}

#uploadStatus {
  padding: 10px 20px;
  margin-top: 10px;
  font-size: 18px;
  text-align: center;
}

.main-header .logo {
  height: 56px;
}


.table-striped>tbody>tr:nth-of-type(odd) {
  background-color: var(--table-row-odd);
}

.dataTables_wrapper .dataTables_filter input {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.dataTables_wrapper .dataTables_length select {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img {
  object-fit: cover;
  object-position: center;
}

.password-input-container {

  position: relative;
}

.password-input {
  padding-right: 32px;
}

.toggle-password {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  z-index: 9999;
}

.chart {
  width: 100%;
  min-height: 350px;
}

/* ============================================================
   PERSONALIZED BRANDING POWER OVERRIDE
   This block ensures the background image prevails over local 
   page styles and legacy overrides.
   ============================================================ */

.content-wrapper,
.pre-login,
.content2,
.login-page,
.register-page {
  position: relative !important;
}

.content-wrapper::before,
.pre-login::before,
.content2::before,
.login-page::before,
.register-page::before {
  content: "" !important;
  background-image: url('') !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  position: fixed !important;
  /* Fixed ensures viewport coverage on entry screens */
  top: 0px !important;
  right: 0px !important;
  bottom: 0px !important;
  left: 0px !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: -1 !important;
  border-radius: inherit !important;
}

/* DECISIVE MOBILE BACKGROUND FIX: Pin to Viewport */
@media (max-width: 768px) {

  .content-wrapper::before,
  .pre-login::before,
  .content2::before,
  .login-page::before,
  .register-page::before {
    height: 100vh !important;
    height: -webkit-fill-available !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    background-attachment: scroll !important;
  }
}

.content2::before {
  content: "" !important;
  background-image: url('') !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  position: fixed !important;
  top: 0px !important;
  right: 0px !important;
  bottom: 0px !important;
  left: 0px !important;
  opacity: 0.05 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  /* Lowered z-index to stay behind content */
  border-radius: inherit !important;
}


/* Dark Mode Background Polish */
body.dark-mode .content-wrapper::before,
body.dark-mode .pre-login::before,
body.dark-mode .content2::before,
body.dark-mode .login-page::before,
body.dark-mode .register-page::before {
  opacity: 0.3 !important;
  z-index: 0 !important;
}

body.dark-mode .content2::before {
  opacity: 0.1 !important;
  z-index: 0 !important;
}



/* Premium Branded Modal Overlays (Enhanced Glassmorphism) */
.jconfirm-bg,
.modal-backdrop {
  backdrop-filter: blur(4px) saturate(100%);
  -webkit-backdrop-filter: blur(4px) saturate(100%);
  background-color: rgba(0, 0, 0, 0.4) !important;
  opacity: 1 !important;
}

/* Specific Dark Mode Optimization: Branded Dark Glass */
body.dark-mode .jconfirm-bg,
body.dark-mode .modal-backdrop {
  background-color: rgba(0, 0, 0, 0.7) !important;
  backdrop-filter: blur(8px) saturate(120%);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
}


/* Branded Glass Container for Public Forms */
.glass-container {
  background: #ffffff80;
  backdrop-filter: blur(4px) saturate(160%);
  -webkit-backdrop-filter: blur(4px) saturate(200%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 15px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
  padding: 30px;
  color: inherit;
}

body.dark-mode .glass-container {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
}

/* Modern Branded Buttons */
.myButton {
  background: linear-gradient(135deg, var(--theme-color-1), var(--theme-color-grad));
  color: #fff !important;
  border: none;
  border-radius: 8px;
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  display: inline-block;
  text-align: center;
}

.myButton:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  filter: brightness(1.1);
}

.myButton:active {
  transform: translateY(0);
}

/* Branded Table Styling */
.tftable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  margin: 20px 0;
}

.tftable th {
  background-color: var(--theme-color-1);
  color: #fff;
  padding: 12px;
  text-align: left;
}

.tftable td {
  padding: 12px;
  background-color: var(--card-bg);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

body.dark-mode .tftable td {
  background-color: var(--theme-color-4);
  border-bottom: 1px solid var(--border-color);
}

/* Dark Mode Optimization for Content2 Glass Accents */
body.dark-mode .content2 {
  border: 1px solid var(--glass-border);
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  border-left: 1px solid rgba(255, 255, 255, 0.4);
  background: var(--glass-bg);
}

/* Elite Compact Appointment Card Grid */
.appt-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  width: 100%;
  margin-top: 20px;
  padding: 10px 0;
}

/* Permanent 2-Row Micro-Card System */
.glass-strip-container {
  width: 100%;
  max-width: 100%;
  margin: 10px 0;
  position: relative;
  z-index: 10;
  overflow-x: auto;
  overflow-y: hidden;
}

.section-title {
  color: var(--text-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  margin-bottom: 5px;
  opacity: 0.6;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
}

.glass-lean-table {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.glass-tr {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 5px 12px;
  transition: all 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}

body.dark-mode .glass-tr {
  background: rgba(0, 0, 0, 0.35);
}

.glass-inner-row {
  display: contents;
}

.glass-td {
  display: flex;
  align-items: center;
  padding-right: 10px;
}

.col-identity {
  flex: 1.5;
  min-width: 130px;
}

.col-timing {
  flex: 1;
  min-width: 130px;
  justify-content: flex-end;
}

.col-contact {
  flex: 2;
  min-width: 200px;
  gap: 12px;
}

.col-actions {
  flex: 1;
  min-width: 150px;
  justify-content: flex-end;
  padding-right: 0;
  gap: 6px;
}

.patient-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
}

.urgent-dot {
  width: 5px;
  height: 5px;
  background: #ff4d4d;
  border-radius: 50%;
  margin-left: 6px;
}

.time-meta {
  font-size: 12px;
  font-weight: 700;
  color: var(--theme-color-1);
}

.info-item {
  font-size: 11px;
  color: var(--text-primary);
  opacity: 0.8;
  display: flex;
  align-items: center;
  gap: 4px;
}

.info-item i {
  color: var(--theme-color-1);
  font-size: 10px;
}

/* GHOST BUTTON POLISH */
.glass-btn {
  background: transparent;
  color: var(--theme-color-1);
  border: 1px solid var(--theme-color-1);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
}

.glass-btn:hover {
  background: var(--theme-color-1);
  color: white;
}

.glass-btn.btn-danger {
  color: #ff4d4d;
  border-color: #ff4d4d;
}

.glass-btn.btn-danger:hover {
  background: #ff4d4d;
  color: white;
}

/* Native PWA Mobile Overhaul */

/* 1. Header Purge for Mobile */
@media (max-width: 767px) {
  .main-header .logo {
    display: none !important;
  }

  .main-header .navbar {
    margin-left: 0 !important;
    background: var(--theme-color-1) !important;
  }

  .welcome-title {
    font-size: 16px !important;
    margin: 2px 0 !important;
    font-weight: 800 !important;
  }

  .welcome-subtitle {
    font-size: 12px !important;
    opacity: 0.6;
    margin-bottom: 2px !important;
  }

  .dashboard-greeting {
    padding: 2px 0;
  }

  .storage-usage {
    font-size: 10px;
    margin-top: 5px;
    opacity: 0.7;
  }

  /* KPI Info-Box Minification & Zero-Overlap Grid */
  .kpi-dashboard-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 !important;
  }

  .kpi-dashboard-row>div {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding: 4px !important;
    float: none !important;
  }

  .info-box {
    min-height: 55px !important;
    margin-bottom: 8px;
  }

  .info-box-icon {
    height: 55px !important;
    width: 42px !important;
    /* Slimmer Icon */
    flex: 0 0 42px !important;
    font-size: 18px !important;
  }

  .info-box-content {
    padding: 4px 8px;
    overflow: hidden;
  }

  .info-box-text,
  .info-box-number {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    text-align: left !important;
    /* Force Left Align */
  }

  .info-box-text {
    font-size: 10px !important;
    /* Slightly larger labels for legibility */
    line-height: 1.1;
    letter-spacing: -0.2px;
  }

  .info-box-number {
    font-size: 13px !important;
    /* Slightly larger numbers */
    margin-top: 1px;
  }

  .info-box-lean {
    width: 95% !important;
    /* Widen to save more text */
    margin: 0 auto !important;
    display: flex !important;
  }
}

/* 2. Unified Shortcut Grid: Ultra-Lean Landscape Pills */
.shortcut-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
  padding: 12px;
  max-width: 1400px;
  margin: 0 auto;
}

.shortcut-item {
  text-decoration: none !important;
}

.shortcut-box {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  /* Pill Shape */
  padding: 6px 15px;
  display: flex;
  flex-direction: row;
  /* Horizontal Pill */
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 42px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

body.dark-mode .shortcut-box {
  background: rgba(0, 0, 0, 0.3);
}

.shortcut-box img {
  height: 22px;
  width: auto;
  object-fit: contain;
}

.shortcut-box span {
  font-size: 15px;
  font-weight: 800;
  color: var(--text-primary);
  text-align: left;
  white-space: nowrap;
  line-height: 1;
}

.shortcut-box:hover {
  transform: scale(1.02);
  border-color: var(--theme-color-1);
  background: rgba(var(--primary-color-rgb, 0, 171, 255), 0.1);
}

@media (max-width: 1200px) {
  .shortcut-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 767px) {
  .shortcut-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2 Columns of pills on mobile */
    gap: 8px;
    padding: 5px 10px;
  }

  .shortcut-box {
    padding: 5px 12px;
    min-height: 40px;
  }

  .shortcut-box span {
    font-size: 18px;
  }
}

/* 3. Sticky Bottom Navigation */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 55px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  z-index: 9999;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

body.dark-mode .mobile-bottom-nav {
  background: rgba(20, 20, 20, 0.95);
}

.mobile-bottom-nav .nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--text-primary);
  text-decoration: none;
  font-size: 9px;
  font-weight: 700;
  gap: 1px;
}

.mobile-bottom-nav .nav-item i {
  font-size: 18px;
}

@media (max-width: 767px) {
  .mobile-bottom-nav {
    display: flex;
  }

  body {
    padding-bottom: 60px;
  }
}

/* 4. PERMANENT MOBILE MICRO-FIX */
@media (max-width: 900px) {
  .glass-lean-table {
    padding: 0 4px;
    /* Safety margin from edge */
  }

  .glass-tr {
    flex-direction: column;
    padding: 6px 10px;
    gap: 4px;
    align-items: stretch;
    max-width: 100%;
    box-sizing: border-box;
  }

  .glass-inner-row {
    display: flex !important;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    overflow: hidden;
  }

  .primary-info {
    padding-bottom: 2px;
  }

  .glass-td {
    padding: 0 !important;
    flex: 1 1 0% !important;
    /* Allow shrinking */
    min-width: 0 !important;
    /* Required for ellipsis */
    overflow: hidden;
  }

  .col-timing {
    flex: 0 0 auto !important;
    /* Don't shrink the time too much */
  }

  .col-contact {
    gap: 8px;
  }

  .patient-name,
  .info-item,
  .time-meta {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }

  .col-actions {
    flex: 0 0 auto !important;
    justify-content: flex-end;
  }

  .info-item {
    font-size: 10px;
  }

  .time-meta {
    font-size: 11px;
  }

  .patient-name {
    font-size: 13px;
  }

  .glass-btn {
    padding: 3px 6px;
    font-size: 9px;
  }
}

.info-box-content {
  margin-left: 0px;
}

/* ==========================================================================
   5. ELITE PWA NAV TABS (Standardized Horizon System)
   ========================================================================== */
.pwa-tabs-container {
  position: relative !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin-bottom: 20px !important;
  overflow: visible;
}

/* Edge Fades */
.pwa-tabs-container::before,
.pwa-tabs-container::after {
  content: "";
  position: absolute;
  top: 5px;
  bottom: 5px;
  width: 60px;
  z-index: 5;
  pointer-events: none;
  transition: opacity 0.3s ease;
  border-radius: 20px;
}

.pwa-tabs-container::before {
  left: 0;
  background: linear-gradient(to right, rgba(235, 235, 240, 1) 15%, rgba(235, 235, 240, 0));
}

.pwa-tabs-container::after {
  right: 0;
  background: linear-gradient(to left, rgba(235, 235, 240, 1) 15%, rgba(235, 235, 240, 0));
}

.dark-mode .pwa-tabs-container::before {
  background: linear-gradient(to right, rgba(30, 30, 35, 1) 15%, rgba(30, 30, 35, 0));
}

.dark-mode .pwa-tabs-container::after {
  background: linear-gradient(to left, rgba(30, 30, 35, 1) 15%, rgba(30, 30, 35, 0));
}

.pwa-tabs-scroller {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0 15px 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  z-index: 4;
}

.pwa-tabs-scroller::-webkit-scrollbar {
  display: block !important;
  height: 3px !important;
}

.pwa-tabs-scroller::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03) !important;
  border-radius: 10px !important;
  margin: 0 50px !important;
}

.pwa-tabs-scroller::-webkit-scrollbar-thumb {
  background: rgba(var(--brand-rgb), 0.2) !important;
  border-radius: 10px !important;
}

.dark-mode .pwa-tabs-scroller::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05) !important;
}

.dark-mode .pwa-tabs-scroller::-webkit-scrollbar-thumb {
  background: rgba(var(--brand-rgb), 0.4) !important;
}

.pwa-tabs-scroller .nav-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  border-bottom: none !important;
  gap: 8px;
  background: transparent !important;
  padding: 0 45px;
}

.pwa-tabs-scroller .nav-tabs>li {
  float: none !important;
  display: inline-block !important;
}

.pwa-tabs-scroller .nav-tabs>li>a {
  background: rgba(255, 255, 255, 0.45) !important;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  color: #444 !important;
  border-radius: 22px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center;
  gap: 8px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark-mode .pwa-tabs-scroller .nav-tabs>li>a {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #eee !important;
}

.pwa-tabs-scroller .nav-tabs>li.active>a,
.dark-mode .pwa-tabs-scroller .nav-tabs>li.active>a {
  background: var(--theme-color-1) !important;
  color: #fff !important;
  border-color: var(--theme-color-1) !important;
  box-shadow: 0 4px 14px rgba(var(--primary-color-rgb, 0, 171, 255), 0.4);
  transform: translateY(-1px);
}

.tab-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
}

.tab-nav-arrow.visible {
  opacity: 1;
  visibility: visible;
}

.dark-mode .tab-nav-arrow {
  background: rgba(60, 60, 70, 0.95);
  border-color: rgba(255, 255, 255, 0.15);
  color: #fff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
}

.tab-nav-arrow.left {
  left: 8px;
}

.tab-nav-arrow.right {
  right: 8px;
}

.tab-nav-arrow:hover {
  background: var(--theme-color-1);
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}

@media (max-width: 767px) {
  .pwa-tabs-scroller .nav-tabs>li>a {
    padding: 7px 14px !important;
    font-size: 12px !important;
  }
}

/* ==========================================================================
   6. LIVE DICTATION (Voice-to-Text) UI
   ========================================================================== */
.dictate-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: var(--theme-color-1) !important;
  width: 32px;
  height: 32px;
  border-radius: 50% !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-left: 8px;
  padding: 0 !important;
  vertical-align: middle;
}

.dictate-btn:hover {
  background: rgba(255, 255, 255, 0.3) !important;
  transform: scale(1.1);
}

.dictate-btn.recording {
  background: #ff4b2b !important;
  color: #fff !important;
  border-color: #ff4b2b !important;
  animation: dictate-glow 1.5s infinite;
}

@keyframes dictate-glow {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 75, 43, 0.4);
  }

  70% {
    box-shadow: 0 0 0 12px rgba(255, 75, 43, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 75, 43, 0);
  }
}

.dictate-caret {
  display: inline-block;
  width: 2px;
  height: 1.2em;
  background-color: #00d2ff;
  color: #00d2ff;
  margin-left: 2px;
  animation: dictate-blink 1s infinite;
  font-weight: bold;
  vertical-align: middle;
}

@keyframes dictate-blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.dark-mode .dictate-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Voice Memo Button & Aura */
.memo-btn {
  cursor: pointer;
  font-size: 1.2em;
  vertical-align: middle;
  margin-left: 10px;
  transition: all 0.3s ease;
  color: rgba(255, 0, 0, 0.8);
  position: relative;
  padding: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.memo-btn:hover {
  color: #00d2ff;
  background: rgba(0, 210, 255, 0.1);
}

.memo-btn.recording {
  color: #00d2ff !important;
  text-shadow: 0 0 15px rgba(0, 210, 255, 0.8), 0 0 30px rgba(0, 210, 255, 0.4);
  animation: aura-memo 1.5s infinite ease-in-out;
  transform: scale(1.15);
  background: rgba(0, 210, 255, 0.15) !important;
  border-color: rgba(0, 210, 255, 0.4) !important;
}

@keyframes aura-memo {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 210, 255, 0.4);
  }

  70% {
    box-shadow: 0 0 0 15px rgba(0, 210, 255, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0, 210, 255, 0);
  }
}

/* Ghost Spectrum Oscilloscope */
.memo-visualizer-container {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 250px;
  height: 60px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(15px);
  border-radius: 40px;
  border: 1px solid rgba(0, 210, 255, 0.3);
  z-index: 10000;
  display: none;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
}

.memo-visualizer-container canvas {
  width: 100%;
  height: 100%;
}

.memo-status {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #00d2ff;
  font-size: 0.7em;
  font-weight: bold;
  text-transform: uppercase;
  pointer-events: none;
  letter-spacing: 2px;
  opacity: 0.8;
}

/* === Clinical Encounter Dashboard: Vitals Horizon === */
.vitals-horizon {
  display: flex;
  overflow-x: auto;
  gap: 15px;
  padding: 15px 5px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
  justify-content: flex-start;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 210, 255, 0.3) transparent;
  width: 100%;
}

.vitals-horizon::-webkit-scrollbar {
  height: 4px;
}

.vitals-horizon::-webkit-scrollbar-thumb {
  background: rgba(0, 210, 255, 0.3);
  border-radius: 10px;
}

.metric-card {
  flex: 0 0 auto;
  width: 180px;
  background: linear-gradient(135deg, var(--glass-bg), rgba(255, 255, 255, 0.05));
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  padding: 15px;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  text-align: center;
  box-shadow:
    0 4px 6px rgba(0, 0, 0, 0.02),
    0 10px 20px rgba(0, 0, 0, 0.05),
    inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}

.metric-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--primary-color), transparent);
  opacity: 0.4;
  transition: opacity 0.3s ease;
}

.metric-card:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), var(--glass-bg));
  border-color: rgba(var(--brand-rgb), 0.3);
  transform: translateY(-4px);
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.1),
    0 5px 15px rgba(var(--brand-rgb), 0.05);
}

.metric-card:hover::before {
  opacity: 1;
}

.metric-card h3 {
  font-size: 0.7em;
  color: var(--text-primary);
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-top: 0;
  margin-bottom: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-weight: 800;
}

.metric-card h3 i {
  font-size: 1.2em;
  color: var(--primary-color);
}

.metric-card input {
  background: rgba(var(--brand-rgb), 0.03) !important;
  border: 1px solid rgba(var(--brand-rgb), 0.08) !important;
  border-radius: 8px;
  text-align: center;
  font-size: 1.3em;
  color: var(--primary-color) !important;
  padding: 8px 5px;
  width: 100%;
  font-weight: 700;
  transition: all 0.3s ease;
  font-family: 'Inter', sans-serif;
  letter-spacing: -0.5px;
}

.metric-card input:focus {
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 15px rgba(var(--brand-rgb), 0.1) !important;
  outline: none !important;
  background: rgba(var(--brand-rgb), 0.05) !important;
  transform: scale(1.02);
}

/* Dark Mode Override for Metric Cards */
body.dark-mode .metric-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.2));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

body.dark-mode .metric-card h3 {
  color: #fff;
  opacity: 0.9;
}

body.dark-mode .metric-card input {
  background: rgba(0, 0, 0, 0.2) !important;
  color: #00d2ff !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .metric-card input:focus {
  background: rgba(var(--brand-rgb), 0.15) !important;
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 20px rgba(var(--brand-rgb), 0.2) !important;
}

.metric-card input::placeholder {
  color: var(--text-secondary) !important;
  opacity: 0.4;
}

.clinical-assessment-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  padding: 10px;
  width: 100%;
}

.clinical-assessment-grid .assessment-col {
  flex: 1 1 300px;
  min-width: 280px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 15px;
  padding: 15px;
}

/* Dark Mode Nav & Sidebar Glassmorphism */
body.dark-mode .skin-custom .wrapper,
body.dark-mode .skin-custom .main-sidebar,
body.dark-mode .skin-custom .left-side,
body.dark-mode .skin-custom .main-header .navbar {
  background-color: rgba(var(--brand-rgb), 0.80) !important;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

/* ========================================================================= */
/* ULTRA ELITE HIGH-TECH FUTURISTIC THEME ENGINE OVERRIDE                    */
/* ========================================================================= */

:root {
  /* Glowing Neon Constants based on Brand Color */
  --neon-glow: rgba(var(--brand-rgb), 0.8);
  --neon-glow-intense: rgba(var(--brand-rgb), 1);
  --cyber-grid-color: rgba(var(--brand-rgb), 0.07);
  --cyber-glass-bg: rgba(var(--brand-rgb), 0.03);
  --cyber-glass-border: rgba(var(--brand-rgb), 0.2);
  --cyber-text-glow: 0 0 10px rgba(var(--brand-rgb), 0.5), 0 0 20px rgba(var(--brand-rgb), 0.3);
  --glass-blur: blur(25px);
}

/* Base Body & High-Tech Background */
body {
  background-color: #f8fafc;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(var(--brand-rgb), 0.15), transparent 40%),
    radial-gradient(circle at 90% 80%, rgba(var(--brand-rgb), 0.15), transparent 40%),
    linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 40px 40px, 40px 40px;
  background-attachment: scroll;
  transition: background-color 0.5s ease;
}

body.dark-mode {
  background-color: #030305 !important;
  background-image:
    linear-gradient(rgba(var(--brand-rgb), 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--brand-rgb), 0.05) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(var(--brand-rgb), 0.08) 0%, transparent 60%) !important;
  background-size: 50px 50px, 50px 50px, 100% 100%;
}

/* Holographic Content Wrapper */
.content-wrapper {
  background: transparent !important;
  position: relative;
  z-index: 1;
}

.content-wrapper::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at top left, rgba(var(--brand-rgb), 0.08), transparent 40%),
    radial-gradient(circle at bottom right, rgba(var(--brand-rgb), 0.08), transparent 40%);
  pointer-events: none;
  z-index: -1;
}

/* Extreme Glassmorphism Boxes */
.box,
.glass-strip-container,
.info-box,
.small-box,
.media-pwa-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.9) 100%) !important;
  backdrop-filter: blur(40px) saturate(250%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(250%) !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  border-radius: 20px !important;
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.1),
    0 0 20px rgba(var(--brand-rgb), 0.1),
    inset 0 2px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(0, 0, 0, 0.05) !important;
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  color: #0a0a0a !important;
}

/* Ensure text inside elements with bg-* classes is visible in Light Mode */
.info-box-text,
.info-box-number,
.small-box h3,
.small-box p {
  color: #0a0a0a !important;
}

body.dark-mode .box,
body.dark-mode .glass-strip-container,
body.dark-mode .info-box,
body.dark-mode .small-box,
body.dark-mode .media-pwa-card {
  background: rgba(8, 8, 12, 0.6) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-right: 1px solid rgba(var(--brand-rgb), 0.15) !important;
  border-bottom: 1px solid rgba(var(--brand-rgb), 0.15) !important;
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.5),
    0 0 15px rgba(var(--brand-rgb), 0.05),
    inset 0 0 30px rgba(var(--brand-rgb), 0.05) !important;
  color: #f8fafc !important;
}

body.dark-mode .info-box-text,
body.dark-mode .info-box-number,
body.dark-mode .small-box h3,
body.dark-mode .small-box p {
  color: #f8fafc !important;
}

/* Premium Glossy Glass & Pattern Overlay - High Contrast Light Mode Branding */
.rcorners1,
.dataTables_wrapper {
  background:
    /* Top gloss layer with branding tint */
    linear-gradient(165deg, rgba(var(--brand-rgb), 0.25) 0%, rgba(255, 255, 255, 0.98) 70%, rgba(255, 255, 255, 0.9) 87%),
    /* Branding pattern overlay */
    repeating-linear-gradient(135deg, rgba(var(--brand-rgb), 0.15) 0px, rgba(var(--brand-rgb), 0.04) 1px, transparent 1px, transparent 18px),
    /* High-opacity base to pop against any background */
    rgba(255, 255, 255, 0.98) !important;

  backdrop-filter: blur(35px) saturate(250%) !important;
  -webkit-backdrop-filter: blur(35px) saturate(250%) !important;

  /* High contrast weighted border using the branding color */
  border: 2px solid rgba(var(--brand-rgb), 0.45) !important;
  border-radius: 32px !important;

  box-shadow:
    0 35px 70px rgba(0, 0, 0, 0.15),
    0 0 45px rgba(var(--brand-rgb), 0.15),
    /* Internal depth and gloss reflections */
    inset 0 0 0 2px rgba(255, 255, 255, 1),
    inset 0 0 60px rgba(var(--brand-rgb), 0.06) !important;

  position: relative;
  overflow: visible;
  will-change: transform, backdrop-filter;
  transform: translateZ(0);
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  color: #000 !important;
}

body.dark-mode .rcorners1,
body.dark-mode .dataTables_wrapper {
  background:
    linear-gradient(135deg, rgba(var(--brand-rgb), 0.4) 0%, rgba(15, 15, 20, 0.9) 100%, rgba(5, 5, 8, 0.98) 100%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 15px),
    rgba(10, 10, 15, 0.85) !important;
  backdrop-filter: blur(30px) saturate(220%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(220%) !important;

  /* Neon glow border for dark mode */
  border: 1px solid rgba(var(--brand-rgb), 1) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;

  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.8),
    0 0 30px rgba(var(--brand-rgb), 0.2),
    inset 0 1px 1px rgba(255, 255, 255, 0.12),
    inset 0 0 50px rgba(0, 0, 0, 0.4) !important;
  color: #f8fafc !important;
}

.rcorners1:hover,
.dataTables_wrapper:hover {
  transform: translateY(-5px);
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.15),
    inset 0 2px 5px rgba(255, 255, 255, 1),
    0 0 25px rgba(var(--brand-rgb), 0.2) !important;
  border-color: rgba(var(--brand-rgb), 0.5) !important;
}

body.dark-mode .rcorners1:hover,
body.dark-mode .dataTables_wrapper:hover {
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.8),
    inset 0 2px 5px rgba(255, 255, 255, 0.3),
    0 0 30px rgba(var(--brand-rgb), 0.3) !important;
  border-top-color: rgba(var(--brand-rgb), 0.6) !important;
}

/* Ensure Datatables let the pattern shine through */
.dataTables_wrapper {
  padding: 20px !important;
}

table.dataTable,
table.dataTable tbody tr,
table.dataTable tbody td,
table.dataTable thead th {
  background: transparent !important;
  border-bottom: 1px solid rgba(128, 128, 128, 0.1) !important;
}

body.dark-mode table.dataTable,
body.dark-mode table.dataTable tbody tr,
body.dark-mode table.dataTable tbody td,
body.dark-mode table.dataTable thead th {
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

table.dataTable tbody tr:hover {
  background: rgba(var(--brand-rgb), 0.1) !important;
  transform: scale(1.01);
  transition: all 0.2s ease;
}

.elite-modal-content {
  background: rgba(255, 255, 255, 0.98) !important;
  color: #0a0a0a !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

body.dark-mode .elite-modal-content {
  background: rgba(30, 30, 45, 0.98) !important;
  color: #f8fafc !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

.elite-modal-content input,
.elite-modal-content select {
  background: rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #0a0a0a !important;
}

body.dark-mode .elite-modal-content input,
body.dark-mode .elite-modal-content select {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #f8fafc !important;
}

/* Glowing Edges Hover Effect */
.box:hover,
.glass-strip-container:hover,
.media-pwa-card:hover,
.info-box:hover,
.small-box:hover {
  transform: translateY(-5px);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.1),
    0 0 20px rgba(var(--brand-rgb), 0.15),
    inset 0 0 30px rgba(var(--brand-rgb), 0.05) !important;
  border-color: rgba(var(--brand-rgb), 0.4) !important;
}

body.dark-mode .box:hover,
body.dark-mode .glass-strip-container:hover,
body.dark-mode .media-pwa-card:hover {
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.6),
    0 0 20px rgba(var(--brand-rgb), 0.3),
    inset 0 0 30px rgba(var(--brand-rgb), 0.1) !important;
  border-color: rgba(var(--brand-rgb), 0.6) !important;
}

/* ═══════════════════════════════════════════════════════
   HPSUITE TYPOGRAPHY SYSTEM
   Warm · Capable · Trusted · Clinical
   Font: Plus Jakarta Sans — rounded precision, human warmth
   ═══════════════════════════════════════════════════════ */

/* Global font base */
body,
p,
td,
li,
label,
input,
select,
textarea,
.form-control {
  font-family: 'Plus Jakarta Sans', 'Source Sans Pro', sans-serif !important;
}

/* ── Page-level headings (h1, h2) ──
   Brand colour — solid, confident. The brand IS the voice here.
   Weight 700 gives authority without shouting. */
h1,
.welcome-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.8em !important;
  letter-spacing: -0.4px !important;
  line-height: 1.25 !important;
  color: var(--primary-color) !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

h2 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.4em !important;
  letter-spacing: -0.3px !important;
  line-height: 1.3 !important;
  color: var(--primary-color) !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

/* ── Section headings (h3, h4) ──
   Deep slate #2d3748 — warm and dependable, not cold corporate grey */
h3,
.section-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.15em !important;
  letter-spacing: -0.1px !important;
  line-height: 1.35 !important;
  color: #2d3748 !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.05em !important;
  letter-spacing: 0px !important;
  color: #374151 !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

/* ── Utility headings (h5, h6) ──
   Muted label style — readable, structural, not decorative */
h5 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.8em !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

h6 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.75em !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #9ca3af !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

/* ── Box / Panel Titles ──
   Compact, readable, with a warm brand accent pulse */
.box-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0px !important;
  color: #2d3748 !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Warm brand accent bar */
.box-title::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 1em;
  border-radius: 3px;
  background: var(--primary-color);
  opacity: 0.75;
  flex-shrink: 0;
}

/* ── Subtitle helper ── */
.welcome-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.95em !important;
  letter-spacing: 0.1px !important;
  color: #6b7280 !important;
  opacity: 1 !important;
}

/* ══════════════════════
   DARK MODE OVERRIDES
   Warm, not stark — soft off-white with brand warmth
   ══════════════════════ */
body.dark-mode h1,
body.dark-mode .welcome-title {
  color: #f0f4ff !important;
  -webkit-text-fill-color: #f0f4ff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-shadow: none !important;
}

body.dark-mode h2 {
  color: rgba(var(--brand-rgb), 0.90) !important;
  -webkit-text-fill-color: rgba(var(--brand-rgb), 0.90) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

body.dark-mode h3,
body.dark-mode .section-title {
  color: #e2e8f0 !important;
  -webkit-text-fill-color: #e2e8f0 !important;
}

body.dark-mode h4 {
  color: #cbd5e1 !important;
  -webkit-text-fill-color: #cbd5e1 !important;
}

body.dark-mode h5 {
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
}

body.dark-mode h6 {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
}

body.dark-mode .box-title {
  color: #e2e8f0 !important;
  -webkit-text-fill-color: #e2e8f0 !important;
}

body.dark-mode .welcome-subtitle {
  color: #94a3b8 !important;
}

/* Futuristic Buttons */
.btn,
.glass-btn,
.media-pwa-action-btn,
.myButton {
  background: rgba(var(--brand-rgb), 0.08) !important;
  border: 1px solid rgba(var(--brand-rgb), 0.3) !important;
  color: var(--primary-color) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
  border-radius: 12px !important;
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  position: relative;
  overflow: hidden;
}

body.dark-mode .btn,
body.dark-mode .glass-btn,
body.dark-mode .media-pwa-action-btn,
body.dark-mode .myButton {
  color: #fff !important;
  background: rgba(var(--brand-rgb), 0.15) !important;
  border-color: rgba(var(--brand-rgb), 0.5) !important;
  text-shadow: 0 0 5px rgba(var(--brand-rgb), 0.8);
  box-shadow: 0 0 10px rgba(var(--brand-rgb), 0.2);
}

.btn:hover,
.glass-btn:hover,
.media-pwa-action-btn:hover,
.myButton:hover {
  background: var(--primary-color) !important;
  color: #fff !important;
  box-shadow: 0 5px 20px rgba(var(--brand-rgb), 0.5), inset 0 0 10px rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-3px) scale(1.02);
  border-color: transparent !important;
}


/* Tables & Rows */
.glass-lean-table .glass-tr {
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  margin-bottom: 10px;
  transition: all 0.3s ease;
}

body.dark-mode .glass-lean-table .glass-tr {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.05);
}

.glass-lean-table .glass-tr:hover {
  background: rgba(var(--brand-rgb), 0.1);
  border-color: rgba(var(--brand-rgb), 0.3);
  box-shadow: 0 5px 15px rgba(var(--brand-rgb), 0.15);
  transform: scale(1.01) translateX(5px);
}

/* Advanced Main Header & Sidebar */
.main-header .navbar,
.main-sidebar {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.92) 0%,
      rgba(var(--brand-rgb), 0.18) 100%) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10) !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10) !important;
}

/* Light Mode: force dark icons/text so they show on the light gradient */
body:not(.dark-mode) .main-header .navbar .nav>li>a,
body:not(.dark-mode) .main-header .navbar .nav>li>a i,
body:not(.dark-mode) .main-header .navbar .nav>li>a .fa,
body:not(.dark-mode) .main-header .navbar .nav>li>a .ion,
body:not(.dark-mode) .main-header .navbar .nav>li>a .glyphicon,
body:not(.dark-mode) .main-header .navbar .sidebar-toggle,
body:not(.dark-mode) .main-header .navbar .navbar-toggle {
  color: rgba(0, 0, 0, 0.75) !important;
}

body:not(.dark-mode) .main-header .navbar .nav>li>a:hover,
body:not(.dark-mode) .main-header .navbar .nav>li>a:focus,
body:not(.dark-mode) .main-header .navbar .nav .open>a {
  background: rgba(0, 0, 0, 0.06);
  color: rgba(0, 0, 0, 0.90) !important;
}

body:not(.dark-mode) .main-header .navbar .sidebar-toggle:hover,
body:not(.dark-mode) .main-header .navbar .navbar-toggle:hover {
  background: rgba(0, 0, 0, 0.06);
  color: rgba(0, 0, 0, 0.90) !important;
}

/* Keep badge/label text white on coloured chips */
body:not(.dark-mode) .main-header .navbar .nav>li>a>.label {
  color: #fff !important;
}

/* Light Mode sidebar text */
body:not(.dark-mode) .main-sidebar {
  border-right: 1px solid rgba(var(--brand-rgb), 0.15) !important;
}

body.dark-mode .main-header .navbar,
body.dark-mode .main-sidebar {
  background: rgba(5, 5, 8, 0.75) !important;
  border-right: 1px solid rgba(var(--brand-rgb), 0.15);
  border-bottom: 1px solid rgba(var(--brand-rgb), 0.15);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
}

/* Cyber Inputs */
.form-control,
.dataTables_filter input {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  border-radius: 10px !important;
  color: #333 !important;
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
}

body.dark-mode .form-control,
body.dark-mode .dataTables_filter input {
  background: rgba(0, 0, 0, 0.4) !important;
  border-color: rgba(var(--brand-rgb), 0.3) !important;
  color: #fff !important;
}

.form-control:focus,
.dataTables_filter input:focus {
  background: rgba(255, 255, 255, 0.9) !important;
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 15px rgba(var(--brand-rgb), 0.3) !important;
  transform: translateY(-1px);
}

body.dark-mode .form-control:focus,
body.dark-mode .dataTables_filter input:focus {
  background: rgba(var(--brand-rgb), 0.1) !important;
}

/* Custom Webkit Scrollbar Futuristic */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(var(--brand-rgb), 0.05);
}

body.dark-mode ::-webkit-scrollbar-track {
  background: #020204;
}

::-webkit-scrollbar-thumb {
  background: rgba(var(--brand-rgb), 0.4);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--primary-color);
  box-shadow: 0 0 10px var(--primary-color);
}

/* ========================================================================= */
/* MOBILE BOTTOM NAV ELITE OVERRIDE                                          */
/* ========================================================================= */
@media (max-width: 767px) {
  body {
    padding-bottom: 120px !important;
    /* increased to clear the floating pill */
  }

  .mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: calc(20px + env(safe-area-inset-bottom)) !important;
    left: 5% !important;
    width: 90% !important;
    height: 70px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(30px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 25px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15), 0 5px 15px rgba(0, 0, 0, 0.05) !important;
    z-index: 10000000 !important;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    padding: 0 10px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  }

  body.dark-mode .mobile-bottom-nav {
    background: rgba(15, 15, 20, 0.8) !important;
    border: 1px solid rgba(var(--brand-rgb), 0.3) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 20px rgba(var(--brand-rgb), 0.1) !important;
  }

  .mobile-bottom-nav .nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease !important;
  }

  .mobile-bottom-nav .nav-item i {
    font-size: 24px !important;
    margin-bottom: 4px;
    color: var(--primary-color);
    transition: all 0.3s ease !important;
  }

  .mobile-bottom-nav .nav-item:active {
    transform: scale(0.9);
    opacity: 0.7;
  }

  body.dark-mode .mobile-bottom-nav .nav-item {
    color: #eee !important;
  }
}

/* Final Heading & Input Visibility Fix for Dark Mode */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .box-title,
body.dark-mode .content-header h1,
body.dark-mode .content-header>h1,
body.dark-mode label,
body.dark-mode p,
body.dark-mode span:not(.label) {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
  background: rgba(0, 0, 0, 0.4) !important;
  color: #fff !important;
  border-color: rgba(var(--brand-rgb), 0.3) !important;
}

body.dark-mode input::placeholder {
  color: #94a3b8 !important;
  opacity: 0.8;
}


/* --- HPSUITE+ ELITE BSMSELECT OVERHAUL --- */
.bsmContainer {
  margin-top: 10px;
}

.bsmList {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px !important;
}

.bsmListItem {
  background: rgba(var(--primary-color-rgb, 0, 171, 255), 0.1) !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(var(--primary-color-rgb, 0, 171, 255), 0.2) !important;
  border-radius: 8px !important;
  color: var(--primary-color) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding-right: 35px !important;
  transition: all 0.2s ease;
  margin: 0 !important;
  overflow: hidden;
}

.bsmListItem:hover {
  background: rgba(var(--primary-color-rgb, 0, 171, 255), 0.15) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.bsmListItemLabel {
  padding: 8px 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.bsmListItemRemove {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545 !important;
  width: 30px;
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 16px !important;
  border-left: 1px solid rgba(220, 53, 69, 0.2);
  text-decoration: none !important;
}

/* --- HPSUITE PROFILE & IDENTITY ENHANCEMENTS --- */
.profile-container {
  padding: 15px;
}

.profile-header-card {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
  padding: 10px;
}

.profile-main-avatar {
  width: 80px;
  height: 80px;
  border-radius: 24px;
  border: 3px solid var(--primary-color);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  background: rgba(var(--brand-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  color: var(--primary-color);
  flex-shrink: 0;
}

.stat-row {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid rgba(var(--brand-rgb), 0.1);
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.stat-label {
  font-size: 10px;
  opacity: 0.6;
  text-transform: uppercase;
  font-weight: 800;
  flex: 1;
  min-width: 120px;
}

.stat-value {
  font-weight: 700;
  font-size: 13px;
  text-align: right;
}

/* --- MOBILE RESPONSIVE NOTIFICATION CARDS --- */
@media (max-width: 767px) {
  .profile-header-card {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }

  .profile-main-avatar {
    width: 100px;
    height: 100px;
  }

  .stat-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .stat-value {
    text-align: left;
    width: 100%;
  }

  .notification-table thead {
    display: none;
  }

  .notification-table tr.notif-row {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 15px !important;
    padding: 20px !important;
    background: rgba(var(--brand-rgb), 0.05) !important;
    border: 1px solid rgba(var(--brand-rgb), 0.1) !important;
    border-radius: 16px !important;
  }

  .notification-table td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(var(--brand-rgb), 0.05) !important;
    background: transparent !important;
  }

  .notification-table td:first-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    border-bottom: 2px solid rgba(var(--brand-rgb), 0.1) !important;
    padding-bottom: 15px !important;
    margin-bottom: 10px !important;
  }

  .notification-table td:last-child {
    border-bottom: none !important;
  }

  /* Dynamic Labels for Mobile Notification Settings */
  .notification-table td:nth-child(2):before {
    content: 'Email Alerts';
    font-size: 11px;
    font-weight: 800;
    opacity: 0.6;
    text-transform: uppercase;
  }

  .notification-table td:nth-child(3):before {
    content: 'Push Notifications';
    font-size: 11px;
    font-weight: 800;
    opacity: 0.6;
    text-transform: uppercase;
  }

  .notification-table td:nth-child(4):before {
    content: 'SMS Reminders';
    font-size: 11px;
    font-weight: 800;
    opacity: 0.6;
    text-transform: uppercase;
  }

  .notification-table td div {
    width: 100%;
  }
}

/* --- ENHANCED PWA TABS (Global Standard) --- */
.pwa-tabs-container {
  margin-bottom: 25px;
  border: none !important;
  background: transparent !important;
}

.pwa-tabs-scroller .nav-tabs {
  border: none !important;
  display: flex !important;
  gap: 8px;
  flex-wrap: nowrap !important;
}

.pwa-tabs-scroller .nav-tabs li {
  margin: 0 !important;
}

.pwa-tabs-scroller .nav-tabs li a {
  padding: 10px 18px !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
  color: var(--text-color) !important;
  opacity: 0.7 !important;
  background: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(var(--brand-rgb), 0.15) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
}

body.dark-mode .pwa-tabs-scroller .nav-tabs li a {
  background: rgba(255, 255, 255, 0.05) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  opacity: 0.6 !important;
}

.pwa-tabs-scroller .nav-tabs li.active a {
  background: var(--primary-color) !important;
  color: #fff !important;
  opacity: 1 !important;
  box-shadow: 0 8px 20px rgba(var(--primary-color-rgb), 0.3) !important;
  border-color: transparent !important;
}

/* --- HPSUITE+ PREMIUM SWITCH STYLES --- */
.notif-row {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  transition: all 0.3s ease;
}

body.dark-mode .notif-row {
  background: rgba(255, 255, 255, 0.05);
}

.notif-row:hover {
  background: rgba(255, 255, 255, 0.08);
}

.hps-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 26px;
  vertical-align: middle;
}

.hps-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.hps-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.1);
  transition: .4s;
  border-radius: 26px;
  border: 1px solid var(--glass-border);
}

.hps-slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

/* Status Indicators */
.hps-slider:after {
  content: 'OFF';
  color: #999;
  font-size: 8px;
  font-weight: 900;
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  transition: .4s;
}

input:checked+.hps-slider:after {
  content: 'ON';
  color: #fff;
  right: auto;
  left: 8px;
}

input:checked+.hps-slider {
  background-color: #2ecc71;
  border-color: #27ae60;
}

input:focus+.hps-slider {
  box-shadow: 0 0 1px #2ecc71;
}

input:checked+.hps-slider:before {
  transform: translateX(24px);
}

body.dark-mode .hps-slider {
  background-color: rgba(255, 255, 255, 0.05);
}

.signature-preview-col {
  border-right: 1px solid var(--glass-border);
  padding-right: 30px;
}

.signature-capture-col {
  padding-left: 30px;
}

@media (max-width: 991px) {
  .signature-preview-col {
    border-right: none !important;
    padding-right: 15px !important;
    margin-bottom: 30px;
  }

  .signature-capture-col {
    padding-left: 15px !important;
  }
}

.bsmListItemRemove:hover {
  background: #dc3545;
  color: #fff !important;
}

/* Hide the original select even if JS fails to do so effectively */
select[multiple].form-control {
  display: none !important;
}

/* User Account Menu Dark Mode Fixes */
body.dark-mode .navbar-nav>.user-menu>.dropdown-menu {
  background: #1e1e1e !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-header {
  background: #252525 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer {
  background: #1e1e1e !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .myButton {
  background: var(--primary-color) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-header p {
  color: #fff !important;
}

body.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-header p small {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Notifications & Tasks Dark Mode */
body.dark-mode .notifications-menu .dropdown-menu,
body.dark-mode .tasks-menu .dropdown-menu {
  background: #1a1a1c !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.6) !important;
}

body.dark-mode .notifications-menu .dropdown-menu li.header,
body.dark-mode .tasks-menu .dropdown-menu li.header {
  background: #232326 !important;
  color: #fff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  font-weight: 700 !important;
}

body.dark-mode .notifications-menu .dropdown-menu li.footer a,
body.dark-mode .tasks-menu .dropdown-menu li.footer a {
  background: #1a1a1c !important;
  color: var(--primary-color) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  font-weight: 700 !important;
}

body.dark-mode .notifications-menu .dropdown-menu .menu>li>a,
body.dark-mode .tasks-menu .dropdown-menu .menu>li>a {
  color: #e0e0e0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  background: transparent !important;
}

body.dark-mode .notifications-menu .dropdown-menu .menu>li>a:hover,
body.dark-mode .tasks-menu .dropdown-menu .menu>li>a:hover {
  background: rgba(var(--brand-rgb), 0.15) !important;
}

body.dark-mode .notifications-menu .dropdown-menu .menu>li>a .small,
body.dark-mode .tasks-menu .dropdown-menu .menu>li>a .small {
  color: #a0a0a0 !important;
}