.toast-container.toast-top-right{
	width: unset !important;
	margin-bottom: unset !important;
}

.toast{
	margin-bottom: 5px !important;
}

.card {
    margin-bottom: 10px;
}

.table-responsive {
    overflow-x: auto !important;
}

/*
.select2-dropdown--below {
    z-index: 99929;
}
.select2-close-mask{
    z-index: 2099;
}
.select2-dropdown{
    z-index: 3051;
}
*/

.pagination_container .dataTables_paginate .paginate_button {
    padding: 6px 12px;
    border: 1px solid #dfe5ef
}

.pagination_container .dataTables_paginate .paginate_button .previous {
    border-radius: 7px 0 0 7px;
    background-color: #eaeff4
}

.pagination_container .dataTables_paginate .paginate_button.current {
    color: #fff;
    background-color: #5d87ff;
    border-color: #5d87ff
}

:root {
  scroll-behavior: auto !important;
}

.input-group-right-radius{
	border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

/* .dataTables_scrollBody{ height:500px !important;} */


.swal-loader-conatiner{
  width: 400px;
}

table td{
    word-wrap: break-word;
	white-space: normal;
}

td:has(.dropdown.dropstart){
	
	max-width: 30px !important;
	min-width: 30px !important;
	width: 30px !important;
	padding-left: 0px !important;
	padding-right: 0px !important;
	text-align: center!important;
	/* background-color: red; */
}

td:has(.n-chk){
	max-width: 30px !important;
	min-width: 30px !important;
	/* padding-left: 0px !important; */
	padding-right: 0px !important;
	/* background-color: red; */
}
.multiselect_column{
	max-width: 30px !important;
	min-width: 30px !important;
	/* padding-left: 0px !important; */
	padding-right: 0px !important;
}

/* Experemental */
.table-responsive .dropdown {
        position: static !important;
    }

@media (min-width: 768px) {
    .table-responsive {
        overflow-x: visible;
    }
}

/* ================================ */
/* Global Design System - Inter / iOS-like Glass */
/* ================================ */

:root {
  --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  --color-primary: #4839EB;
  --color-primary-600: #3E31D3;
  --color-primary-700: #352BB7;

  --bg-body: #f6f7fb;
  --bg-elevated: #ffffff;
  --text-color: #1f2328;
  --text-muted: #6b7280;

  --glass-bg: rgba(255,255,255,0.65);
  --glass-border: 1px solid rgba(72,57,235,0.08);
  --glass-shadow: 0 8px 24px rgba(72,57,235,0.08);
  --glass-blur: 10px;
}

/* Dark theme overrides */
html[data-theme="dark"],
body[data-theme="dark"] {
  --bg-body:
    radial-gradient(1200px 680px at 20% 10%, rgba(99,102,241,.22), transparent 55%),
    radial-gradient(980px 520px at 80% 35%, rgba(34,211,238,.16), transparent 60%),
    radial-gradient(900px 580px at 55% 92%, rgba(168,85,247,.14), transparent 60%),
    linear-gradient(180deg, rgba(7,12,25,.96), rgba(7,12,25,.96));
  --bg-elevated: rgba(22,26,33,0.70);
  --text-color: #e5e7eb;
  --text-muted: #9aa3af;

  --glass-bg: rgba(22,26,33,0.52);
  --glass-border: 1px solid rgba(255,255,255,0.08);
  --glass-shadow: 0 10px 28px rgba(0,0,0,0.40);
  color-scheme: dark;
}

/* Base typography and background */
html, body {
  font-family: var(--font-sans);
  background: var(--bg-body);
  color: var(--text-color);
}

/* Compact density */
.card .card-body { padding: 14px 16px; }
.btn { padding: 8px 12px; border-radius: var(--radius-sm); }
.form-control, .form-select { padding: 8px 10px; border-radius: var(--radius-sm); }
table td, table th { padding: 8px 10px; }

/* Buttons - primary emphasis */
.btn-primary, .btn.btn-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.btn-primary:hover, .btn.btn-primary:hover { background: var(--color-primary-600); border-color: var(--color-primary-600); }
.btn-primary:active { background: var(--color-primary-700) !important; border-color: var(--color-primary-700) !important; }

/* Glassmorphism containers */
.card, .dropdown-menu {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: var(--glass-border);
  border-radius: var(--radius-md);
  box-shadow: var(--glass-shadow);
}

/* Dropdown menus (row actions / "3 pontinhos"): use solid background for readability */
.dropdown-menu:not(.content-dd) {
  background: #ffffff !important;
  opacity: 1 !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.22) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="dark"] .dropdown-menu:not(.content-dd),
body[data-theme="dark"] .dropdown-menu:not(.content-dd) {
  background: #101628 !important;
  opacity: 1 !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.62) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="dark"] .dropdown-menu:not(.content-dd) .dropdown-item,
body[data-theme="dark"] .dropdown-menu:not(.content-dd) .dropdown-item {
  color: rgba(255,255,255,0.92) !important;
}

html[data-theme="dark"] .dropdown-menu:not(.content-dd) .dropdown-item:hover,
html[data-theme="dark"] .dropdown-menu:not(.content-dd) .dropdown-item:focus,
body[data-theme="dark"] .dropdown-menu:not(.content-dd) .dropdown-item:hover,
body[data-theme="dark"] .dropdown-menu:not(.content-dd) .dropdown-item:focus {
  background: rgba(255,255,255,0.10) !important;
  color: rgba(255,255,255,0.98) !important;
}

.dropdown-menu.content-dd,
.navbar-nav .dropdown-menu.content-dd {
  background: #ffffff !important;
  opacity: 1 !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.22) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.dropdown-menu.content-dd .text-dark,
.dropdown-menu.content-dd .dropdown-item,
.dropdown-menu.content-dd h5,
.dropdown-menu.content-dd h6,
.dropdown-menu.content-dd p,
.dropdown-menu.content-dd span {
  color: rgba(17,24,39,0.92) !important;
}

html[data-theme="dark"] .dropdown-menu.content-dd,
body[data-theme="dark"] .dropdown-menu.content-dd,
html[data-theme="dark"] .navbar-nav .dropdown-menu.content-dd,
body[data-theme="dark"] .navbar-nav .dropdown-menu.content-dd {
  background: #101628 !important;
  opacity: 1 !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.62) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="dark"] .dropdown-menu.content-dd .text-dark,
body[data-theme="dark"] .dropdown-menu.content-dd .text-dark,
html[data-theme="dark"] .dropdown-menu.content-dd .dropdown-item,
body[data-theme="dark"] .dropdown-menu.content-dd .dropdown-item,
html[data-theme="dark"] .dropdown-menu.content-dd h5,
body[data-theme="dark"] .dropdown-menu.content-dd h5,
html[data-theme="dark"] .dropdown-menu.content-dd h6,
body[data-theme="dark"] .dropdown-menu.content-dd h6,
html[data-theme="dark"] .dropdown-menu.content-dd p,
body[data-theme="dark"] .dropdown-menu.content-dd p,
html[data-theme="dark"] .dropdown-menu.content-dd span,
body[data-theme="dark"] .dropdown-menu.content-dd span {
  color: rgba(255,255,255,0.90) !important;
}

html[data-theme="dark"] .dropdown-menu.content-dd .border-bottom,
body[data-theme="dark"] .dropdown-menu.content-dd .border-bottom {
  border-bottom-color: rgba(255,255,255,0.10) !important;
}

/* Sidebar link styling refinement to align with glass tokens */
.left-sidebar .sidebar-nav {
  background: linear-gradient(165deg, var(--bg-elevated), var(--bg-elevated));
  padding: 8px;
  border-right: 1px solid rgba(0,0,0,0.04);
}
.left-sidebar .sidebar-nav #sidebarnav li a {
  background: var(--glass-bg);
  border: var(--glass-border);
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  height: 40px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.left-sidebar .sidebar-nav #sidebarnav li a i { color: var(--color-primary); }
.left-sidebar .sidebar-nav #sidebarnav li.active > a {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-600));
  color: #fff;
  border-color: transparent;
}

/* Icon chip inside links */
.left-sidebar .sidebar-nav #sidebarnav li a .round-16 {
  width: 28px; height: 28px; min-width: 28px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, rgba(72,57,235,0.10), rgba(72,57,235,0.04));
}
.left-sidebar .sidebar-nav #sidebarnav li.active > a .round-16 {
  background: rgba(255,255,255,0.20);
}
.left-sidebar .sidebar-nav #sidebarnav li.active > a i { color: #fff; }

/* Hover treatment */
.left-sidebar .sidebar-nav #sidebarnav li a:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.10);
  border-color: rgba(72,57,235,0.12);
}

/* Caret for has-arrow links */
.left-sidebar .sidebar-nav #sidebarnav li > a.has-arrow {
  position: relative;
  padding-right: 28px;
}
.left-sidebar .sidebar-nav #sidebarnav li > a.has-arrow::after {
  content: '';
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%) rotate(0deg);
  width: 8px; height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: .65;
  border-radius: 1px;
  transform-origin: 50% 50%;
  transition: transform .2s ease, opacity .2s ease;
}
.left-sidebar .sidebar-nav #sidebarnav li > a.has-arrow.active::after {
  transform: translateY(-50%) rotate(45deg);
  opacity: 1;
}

/* Section headers */
.left-sidebar .sidebar-nav .nav-small-cap,
.left-sidebar .sidebar-nav .sidebar-item-title {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 10px 12px 6px 12px;
  opacity: .85;
}

/* Smoothen collapses spacing */
.left-sidebar .sidebar-nav #sidebarnav li ul.collapse {
  padding-left: 42px;
}

/* Disable any infinite hover animation from defaults */
#sidebarnav li a:hover { animation: none; }

/* Header/navbar glass */
.page-wrapper .body-wrapper .app-header, .page-wrapper .left-sidebar, .navbar, .brand-logo {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border-bottom: var(--glass-border);
}

/* Inputs */
.form-control, .form-select {
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(0,0,0,0.08);
}
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .form-select {
  background: rgba(22,26,33,0.65);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--text-color);
}

/* Tables */
.table thead th { background: rgba(0,0,0,0.02); }
html[data-theme="dark"] .table thead th,
body[data-theme="dark"] .table thead th { background: rgba(255,255,255,0.04); }

/* ===================================== */
/* Sidebar refinements to match dashboard */
/* ===================================== */
:root { --primary-gradient: linear-gradient(135deg, #6C4DFF, #00D1FF); }

.left-sidebar { border-right: var(--glass-border); box-shadow: var(--glass-shadow); width: 270px; }
.left-sidebar .brand-logo { border-bottom: var(--glass-border); padding: 16px 20px; margin-bottom: 8px; background: var(--glass-bg); backdrop-filter: blur(var(--glass-blur)); }

/* Base link look already glassy; refine colors and transitions */
.left-sidebar .sidebar-nav { padding: 8px; overflow-y: auto; max-height: calc(100vh - 72px); }
.left-sidebar .sidebar-nav #sidebarnav { padding: 8px; padding-bottom: 96px; margin: 0; list-style: none; }
.left-sidebar .sidebar-nav #sidebarnav > li { list-style: none; }
.left-sidebar .sidebar-nav #sidebarnav li { list-style: none; }
.left-sidebar .sidebar-nav #sidebarnav li { margin-bottom: 8px; transition: all .3s ease; }
.left-sidebar .sidebar-nav #sidebarnav li a,
.left-sidebar .sidebar-nav a,
.left-sidebar .sidebar-nav .sidebar-link {
  color: var(--text-color) !important;
  background: var(--glass-bg) !important;
  border: var(--glass-border) !important;
  font-size: .85rem !important;
  padding: 12px 16px !important;
  border-radius: var(--radius-md) !important;
  position: relative;
  display: flex; align-items: center; gap: 10px; width: 100%; text-decoration: none !important;
  font-weight: 500 !important;
}
.left-sidebar .sidebar-nav #sidebarnav li a:hover,
.left-sidebar .sidebar-nav a:hover,
.left-sidebar .sidebar-nav .sidebar-link:hover {
  background: rgba(255,255,255,0.9) !important;
}
html[data-theme="dark"] .left-sidebar .sidebar-nav #sidebarnav li a:hover,
body[data-theme="dark"] .left-sidebar .sidebar-nav #sidebarnav li a:hover {
  background: rgba(22,26,33,0.75);
}

/* Active state uses dashboard gradient */
.left-sidebar .sidebar-nav #sidebarnav li.active > a,
.left-sidebar .sidebar-nav .sidebar-item.active > .sidebar-link,
.left-sidebar .sidebar-nav .sidebar-item > .sidebar-link.active {
  background: var(--primary-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(108,77,255,0.25) !important;
  transform: translateY(-2px);
}
.left-sidebar .sidebar-nav #sidebarnav li.active > a i,
.left-sidebar .sidebar-nav #sidebarnav li.active > a img { color: #fff; filter: brightness(100%); }

/* Left accent bar aligned with gradient */
.left-sidebar .sidebar-nav #sidebarnav li a::before,
.left-sidebar .sidebar-nav .sidebar-link::before {
  background: var(--primary-gradient);
}

/* Submenu styling for harmony */
.left-sidebar .sidebar-nav #sidebarnav li ul.collapse,
.left-sidebar .sidebar-nav #sidebarnav li ul {
  padding-left: 42px;
}
.left-sidebar .sidebar-nav #sidebarnav li ul li a,
.left-sidebar .sidebar-nav .first-level .sidebar-link,
.left-sidebar .sidebar-nav .collapse .sidebar-link {
  background: linear-gradient(145deg, rgba(255,255,255,0.55), rgba(255,255,255,0.45)) !important;
  border: 1px solid rgba(0,0,0,0.04) !important;
}
html[data-theme="dark"] .left-sidebar .sidebar-nav #sidebarnav li ul li a,
html[data-theme="dark"] .left-sidebar .sidebar-nav .first-level .sidebar-link,
html[data-theme="dark"] .left-sidebar .sidebar-nav .collapse .sidebar-link,
body[data-theme="dark"] .left-sidebar .sidebar-nav #sidebarnav li ul li a,
body[data-theme="dark"] .left-sidebar .sidebar-nav .first-level .sidebar-link,
body[data-theme="dark"] .left-sidebar .sidebar-nav .collapse .sidebar-link {
  background: linear-gradient(145deg, rgba(22,26,33,0.6), rgba(22,26,33,0.5)) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

/* Icon and image inside links */
.left-sidebar .sidebar-nav #sidebarnav li a i,
.left-sidebar .sidebar-nav .sidebar-link i { color: var(--color-primary) !important; font-size: 1.1rem; width: 20px; text-align: center; }
.left-sidebar .sidebar-nav #sidebarnav li a img,
.left-sidebar .sidebar-nav .sidebar-link img { margin-right: .75rem; opacity: .9; }

/* Scrollbar subtle styling for sidebar only */
.left-sidebar .sidebar-nav::-webkit-scrollbar { width: 6px; }
.left-sidebar .sidebar-nav::-webkit-scrollbar-thumb { background: rgba(72,57,235,0.15); border-radius: 8px; }
.left-sidebar .sidebar-nav::-webkit-scrollbar-thumb:hover { background: rgba(72,57,235,0.25); }

@media (max-width: 1169.98px) {
  .left-sidebar .sidebar-nav #sidebarnav li.active > a,
  .left-sidebar .sidebar-nav .sidebar-item.active > .sidebar-link,
  .left-sidebar .sidebar-nav .sidebar-item > .sidebar-link.active {
    transform: none !important;
  }

  .left-sidebar .sidebar-nav #sidebarnav li a,
  .left-sidebar .sidebar-nav a,
  .left-sidebar .sidebar-nav .sidebar-link {
    transform: none !important;
  }

  .nav-attention,
  .nav-recarga {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
}

/* === Legacy working sidebar styles (verbatim) === */
.sidebar-nav {
    background: linear-gradient(165deg, #ffffff, #f8f9fe);
    border-right: 1px solid rgba(72, 57, 235, 0.08);
    box-shadow: 4px 0 25px rgba(72, 57, 235, 0.08);
    padding: 0.5rem;
}

.brand-logo {
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(72, 57, 235, 0.08);
    margin-bottom: 0.5rem;
}

html[data-theme="dark"] .sidebar-nav,
body[data-theme="dark"] .sidebar-nav {
    background: linear-gradient(165deg, rgba(22,26,33,0.62), rgba(22,26,33,0.48));
    border-right: 1px solid rgba(255,255,255,0.08);
    box-shadow: 4px 0 28px rgba(0, 0, 0, 0.40);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}

html[data-theme="dark"] .brand-logo,
body[data-theme="dark"] .brand-logo {
    background: rgba(22,26,33,0.52);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}

html[data-theme="dark"] .page-wrapper .left-sidebar,
body[data-theme="dark"] .page-wrapper .left-sidebar {
  position: relative;
  background:
    radial-gradient(520px 320px at 18% 8%, rgba(99,102,241,.28), transparent 62%),
    radial-gradient(460px 320px at 88% 18%, rgba(34,211,238,.22), transparent 64%),
    radial-gradient(620px 420px at 55% 92%, rgba(168,85,247,.18), transparent 68%),
    linear-gradient(165deg, rgba(22,26,33,0.38), rgba(22,26,33,0.26)) !important;
}
html[data-theme="dark"] .page-wrapper .left-sidebar:before,
body[data-theme="dark"] .page-wrapper .left-sidebar:before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(520px 320px at 20% 10%, rgba(99,102,241,.20), transparent 62%),
    radial-gradient(460px 320px at 80% 25%, rgba(34,211,238,.16), transparent 64%),
    radial-gradient(620px 420px at 55% 92%, rgba(168,85,247,.14), transparent 68%);
  opacity: .85;
}

html[data-theme="dark"] .page-wrapper .left-sidebar .sidebar-nav,
body[data-theme="dark"] .page-wrapper .left-sidebar .sidebar-nav {
  position: relative;
  background: transparent !important;
}

html[data-theme="dark"] .left-sidebar .scroll-sidebar,
body[data-theme="dark"] .left-sidebar .scroll-sidebar,
html[data-theme="dark"] .left-sidebar .sidebar-nav,
body[data-theme="dark"] .left-sidebar .sidebar-nav {
  background: transparent !important;
}

html[data-theme="dark"] .app-header .navbar,
body[data-theme="dark"] .app-header .navbar {
  background: transparent !important;
}

html[data-theme="dark"] .page-wrapper .body-wrapper .app-header,
body[data-theme="dark"] .page-wrapper .body-wrapper .app-header,
html[data-theme="dark"] .navbar,
body[data-theme="dark"] .navbar {
  background:
    radial-gradient(700px 240px at 20% 0%, rgba(99,102,241,.18), transparent 60%),
    radial-gradient(640px 220px at 80% 10%, rgba(34,211,238,.14), transparent 62%),
    linear-gradient(180deg, rgba(22,26,33,0.44), rgba(22,26,33,0.30)) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

html[data-theme="dark"] .left-sidebar,
body[data-theme="dark"] .left-sidebar {
  background:
    radial-gradient(520px 320px at 18% 8%, rgba(99,102,241,.28), transparent 62%),
    radial-gradient(460px 320px at 88% 18%, rgba(34,211,238,.22), transparent 64%),
    radial-gradient(620px 420px at 55% 92%, rgba(168,85,247,.18), transparent 68%),
    linear-gradient(165deg, rgba(22,26,33,0.38), rgba(22,26,33,0.26)) !important;
}

html[data-theme="dark"] .app-header,
body[data-theme="dark"] .app-header {
  background:
    radial-gradient(700px 240px at 20% 0%, rgba(99,102,241,.18), transparent 60%),
    radial-gradient(640px 220px at 80% 10%, rgba(34,211,238,.14), transparent 62%),
    linear-gradient(180deg, rgba(22,26,33,0.44), rgba(22,26,33,0.30)) !important;
}

#sidebarnav {
    padding: 0.5rem;
    padding-bottom: 96px;
}

#sidebarnav li {
    margin-bottom: 0.5rem;
    transition: all 0.3s ease;
}

#sidebarnav li a {
    color: #2c3038;
    font-size: 0.85rem;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    display: flex;
    align-items: center;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(7px);
    border: 1px solid rgba(72, 57, 235, 0.05);
    box-shadow: 0 2px 6px rgba(72, 57, 235, 0.04);
    text-decoration: none;
}

#sidebarnav li a:hover {
    transform: translateY(-2px);
    background: #ffffff;
    box-shadow: 0 6px 15px rgba(72, 57, 235, 0.1);
    border-color: rgba(72, 57, 235, 0.08);
}

#sidebarnav li a i {
    font-size: 1.1rem;
    margin-right: 0.75rem;
    color: #4839EB;
    opacity: 0.85;
    width: 20px;
    text-align: center;
    transition: all 0.3s ease;
}

#sidebarnav li a img {
    margin-right: 0.75rem;
    opacity: 0.85;
    transition: all 0.3s ease;
}

#sidebarnav li.active > a {
    background: linear-gradient(135deg, #4839EB, #6151FF);
    color: #fff;
    box-shadow: 0 6px 20px rgba(72, 57, 235, 0.25);
    border-color: transparent;
    transform: translateY(-2px);
}

#sidebarnav li.active > a i,
#sidebarnav li.active > a img {
    color: #fff;
    opacity: 1;
}

/* Submenu */
#sidebarnav li ul {
    padding: 0.5rem 0 0.25rem 2.75rem;
    margin-top: 0.25rem;
}

#sidebarnav li ul li {
    margin-bottom: 0.35rem;
}

#sidebarnav li ul li a {
    font-size: 0.8rem;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(72, 57, 235, 0.03);
}

#sidebarnav li ul li a i {
    font-size: 0.9rem;
}

/* Efeitos de Hover e Animações */
#sidebarnav li a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(to bottom, #4839EB, #6151FF);
    border-radius: 0 4px 4px 0;
    transform: scaleY(0);
    transition: transform 0.2s ease;
}

#sidebarnav li a::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    padding: 1px;
    background: linear-gradient(135deg, #4839EB22, #6151FF22);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#sidebarnav li a:hover::after {
    opacity: 1;
}

/* Categorias */
.nav-small-cap {
    font-size: 0.75rem;
    color: #6c757d;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.75rem 1rem 0.5rem;
    opacity: 0.8;
}

/* Responsivo */
@media (max-width: 768px) {
    .sidebar-nav { padding: 0.35rem; }
    #sidebarnav { padding: 0.35rem; }
    #sidebarnav li { margin-bottom: 0.35rem; }
    #sidebarnav li a { padding: 0.6rem 0.85rem; font-size: 0.8rem; }
    #sidebarnav li a i { font-size: 1rem; margin-right: 0.6rem; }
    #sidebarnav li ul { padding-left: 2.25rem; }
    #sidebarnav li a::after { display: none; }
    #sidebarnav li.active > a { transform: none !important; }
}

/* Scrollbar personalizada */
.sidebar-nav::-webkit-scrollbar { width: 5px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(72, 57, 235, 0.15); border-radius: 10px; }
.sidebar-nav::-webkit-scrollbar-thumb:hover { background: rgba(72, 57, 235, 0.25); }

/* Animação de entrada */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-5px); }
    100% { transform: translateY(0px); }
}

#sidebarnav li a:hover { animation: float 4s ease-in-out infinite; }

/* Efeito de Glassmorphism */
.sidebar-nav { position: relative; overflow-y: auto; max-height: calc(100vh - 72px); }
.sidebar-nav::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(45deg, rgba(72, 57, 235, 0.03), rgba(97, 81, 255, 0.03));
    z-index: -1;
}

/* Efeito de Destaque */
#sidebarnav li a:active { transform: translateY(1px); transition: transform 0.1s; }

/* Attention style for 'Gerar Link' */
.nav-attention {
    background: linear-gradient(135deg, #dc3545, #ff4d5e) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 22px rgba(220, 53, 69, 0.4) !important;
    animation: pulse-red 1.6s infinite ease-in-out;
}
.nav-attention i,
.nav-attention img { color: #fff !important; filter: brightness(100%); }
@keyframes pulse-red {
    0% { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(220, 53, 69, 0.25); }
    50% { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(220, 53, 69, 0.45); }
    100% { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(220, 53, 69, 0.25); }
}

/* ===================================== */
/* Tools/SMS page visual refinements     */
/* ===================================== */
/* Scope to the generated Cake form id to avoid affecting other pages */
#SmsSmsForm .form-control,
#SmsSmsForm select,
#SmsSmsForm textarea {
  background: var(--glass-bg, rgba(255,255,255,0.9));
  border: var(--glass-border, 1px solid rgba(0,0,0,0.08));
  border-radius: var(--radius-md, 12px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

#SmsSmsForm .form-control:focus,
#SmsSmsForm select:focus,
#SmsSmsForm textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(108,77,255,0.15), 0 10px 24px rgba(0,0,0,0.08);
  border-color: rgba(108,77,255,0.35);
}

/* Phone input group + check network */
#SmsSmsForm .check_network {
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
#SmsSmsForm .check_network:hover { transform: translateY(-1px); }

/* Textarea message height and look */
#SmsMessage { min-height: 160px; resize: vertical; }

/* Select2 polish inside SMS form */
#SmsSmsForm .select2-container { min-width: 320px; }
#SmsSmsForm .select2-container .select2-selection--single {
  height: 44px;
  border-radius: 12px;
  display: flex; align-items: center;
  border: var(--glass-border, 1px solid rgba(0,0,0,0.08));
  background: var(--glass-bg, rgba(255,255,255,0.95));
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
#SmsSmsForm .select2-selection__arrow { height: 44px; }
#SmsSmsForm .select2-dropdown { border-radius: 12px; box-shadow: 0 14px 30px rgba(0,0,0,0.12); }

/* Shorteners status chip */
#div_clean_red { 
  margin-top: 6px; 
  font-size: 0.875rem; 
  background: rgba(108,77,255,0.06); 
  border: 1px solid rgba(108,77,255,0.15); 
  border-radius: 10px; 
  padding: 6px 10px;
  display: inline-flex; gap: 8px; align-items: center;
}
#subtipo_check.badge { padding: 4px 8px; border-radius: 10px; }

/* Primary & success actions */
#SmsSmsForm .btn.btn-success { 
  box-shadow: 0 8px 22px rgba(108,77,255,0.28);
  background: var(--primary-gradient, linear-gradient(135deg, #6C4DFF, #00D1FF)) !important;
  border: 0 !important;
  color: #fff !important;
}
#SmsSmsForm .btn.btn-warning { 
  box-shadow: 0 8px 22px rgba(255,84,84,0.28);
  background: linear-gradient(135deg, #ff7a18, #ff3d3d) !important;
  border: 0 !important;
  color: #fff !important;
}
#SmsSmsForm .btn { transition: transform .2s ease, box-shadow .2s ease; }
#SmsSmsForm .btn:hover { transform: translateY(-1px); filter: brightness(1.03); }

/* Dark theme tweaks */
body[data-theme="dark"] #SmsSmsForm .form-control,
body[data-theme="dark"] #SmsSmsForm select,
body[data-theme="dark"] #SmsSmsForm textarea {
  background: rgba(22,26,33,0.6);
  border: 1px solid rgba(255,255,255,0.08);
}
body[data-theme="dark"] #SmsSmsForm .select2-container .select2-selection--single {
  background: rgba(22,26,33,0.6);
  border-color: rgba(255,255,255,0.08);
}

/* ===================================== */
/* Login page aggressive modern styling  */
/* ===================================== */
.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: radial-gradient(1000px 600px at 10% 10%, rgba(108,77,255,0.20), transparent 60%),
              radial-gradient(1000px 600px at 90% 20%, rgba(0,209,255,0.20), transparent 60%),
              linear-gradient(135deg, #0f1221, #101423 60%, #121a2b);
}
body[data-theme="light"] .login-screen {
  background: radial-gradient(1000px 600px at 10% 10%, rgba(108,77,255,0.20), transparent 60%),
              radial-gradient(1000px 600px at 90% 20%, rgba(0,209,255,0.20), transparent 60%),
              linear-gradient(135deg, #f6f7ff, #eef5ff 60%, #eaf6ff);
}

.login-screen .card {
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(108,77,255,0.15);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(16,23,40,0.25), inset 0 1px 0 rgba(255,255,255,0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body[data-theme="dark"] .login-screen .card {
  background: rgba(22,26,33,0.65);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

.login-screen .card .card-body h5,
.login-screen .card .card-title {
  background: var(--primary-gradient, linear-gradient(135deg, #6C4DFF, #00D1FF));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.login-screen .form-control {
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.95);
  box-shadow: 0 6px 16px rgba(0,0,0,0.06);
}
.login-screen .form-control:focus {
  outline: none;
  border-color: rgba(108,77,255,0.45);
  box-shadow: 0 0 0 4px rgba(108,77,255,0.15), 0 10px 26px rgba(0,0,0,0.12);
}
body[data-theme="dark"] .login-screen .form-control {
  background: rgba(22,26,33,0.7);
  border: 1px solid rgba(255,255,255,0.08);
}

.login-screen .btn.btn-primary {
  background: var(--primary-gradient, linear-gradient(135deg, #6C4DFF, #00D1FF)) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(108,77,255,0.35);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.login-screen .btn.btn-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 18px 44px rgba(108,77,255,0.45);
}

.login-screen .card .card-subtitle,
.login-screen .breadcrumb { opacity: .8; }

/* ===================================== */
/* Login split-screen (hero + form)      */
/* ===================================== */
.login-split {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 520px !important;
  gap: 0;
  width: 100vw;
}
@media (max-width: 992px) {
  .login-split { grid-template-columns: 1fr; }
}

.login-hero {
  position: relative;
  padding: clamp(24px, 6vw, 64px);
  color: #fff;
  background:
    radial-gradient(1200px 700px at 15% 15%, rgba(108,77,255,0.28), transparent 55%),
    radial-gradient(1000px 600px at 85% 20%, rgba(0,209,255,0.24), transparent 60%),
    linear-gradient(135deg, #0e1022 0%, #11162a 55%, #0a1227 100%);
  overflow: hidden;
  min-height: 100vh;
}
.login-hero::after{
  content: '';
  position: absolute; inset: -10% -10% -10% -10%;
  background: radial-gradient(400px 200px at 80% 85%, rgba(255,255,255,0.06), transparent 70%);
  pointer-events: none;
}
.login-hero .brand{ display:flex; align-items:center; gap:14px; margin-bottom: 20px; }
.login-hero .logo-wrap{ width:56px; height:56px; border-radius:14px; background: rgba(255,255,255,0.12); display:grid; place-items:center; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18); }
.login-hero .brand-title{ font-weight: 800; font-size: clamp(28px, 4vw, 42px); letter-spacing: .5px; }
.login-hero .brand-title span{ color:#00D1FF; }
.login-hero .hero-title{ font-weight:800; font-size: clamp(28px, 4vw, 44px); line-height:1.1; margin: 10px 0 8px; }
.login-hero .hero-sub{ opacity:.92; max-width: 560px; }
.login-hero .hero-bullets{ margin-top: 18px; padding:0; list-style:none; display:grid; gap:10px; }
.login-hero .hero-bullets li{ display:flex; align-items:center; gap:10px; opacity:.95; }
.login-hero .hero-bullets i{ color:#00D1FF; filter: drop-shadow(0 6px 14px rgba(0,209,255,0.28)); }

.login-panel{
  display:grid; place-items:center;
  padding: clamp(20px, 4vw, 48px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.02)),
    linear-gradient(135deg, #0f1221, #101423 60%, #121a2b);
  min-height: 100vh;
}
body[data-theme="light"] .login-panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.25), rgba(255,255,255,0.25)),
    linear-gradient(135deg, #f6f7ff, #eef5ff 60%, #eaf6ff);
}
.panel-card{
  width: min(520px, 92vw);
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(108,77,255,0.12);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(16,23,40,0.28), inset 0 1px 0 rgba(255,255,255,0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: clamp(20px, 3vw, 32px);
}
body[data-theme="dark"] .panel-card{
  background: rgba(22,26,33,0.65);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 60px rgba(0,0,0,0.36);
}
.panel-head{ margin-bottom: 12px; }
.panel-title{
  margin:0; font-weight:800; letter-spacing:.2px;
  background: var(--primary-gradient, linear-gradient(135deg, #6C4DFF, #00D1FF));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.panel-sub{ margin:2px 0 0; opacity:.8; }

.panel-form .form-label{ font-weight:600; }
.panel-form .input-wrapper{ position:relative; }
.panel-form .input-wrapper i{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#6C4DFF; opacity:.9; }
.panel-form .form-control{ padding-left:38px; height:46px; border-radius:12px; border:1px solid rgba(0,0,0,0.08); background: rgba(255,255,255,0.96); box-shadow: 0 6px 16px rgba(0,0,0,0.06); }
.panel-form .form-control:focus{ outline:none; border-color: rgba(108,77,255,0.45); box-shadow: 0 0 0 4px rgba(108,77,255,0.15), 0 10px 26px rgba(0,0,0,0.12); }
body[data-theme="dark"] .panel-form .form-control{ background: rgba(22,26,33,0.72); border:1px solid rgba(255,255,255,0.08); }

.login-panel .btn.btn-primary{
  background: #5d87ff !important; /* dashboard blue */
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(93,135,255,0.35);
}
.login-panel .btn.btn-primary:hover{
  transform: translateY(-1px);
  background: #4b73f8 !important; /* slightly darker on hover */
  box-shadow: 0 16px 36px rgba(93,135,255,0.45);
}
.login-panel .btn.btn-primary:active{
  background: #4167ee !important; /* active press */
}
.login-panel .link-help{ color:#00D1FF; text-decoration:none; }
.login-panel .link-help:hover{ text-decoration:underline; }

/* ===================================== */
/* Sidebar: force dashboard blue states  */
/* ===================================== */
/* Hover background on links */
.left-sidebar .sidebar-nav #sidebarnav li a:hover,
.left-sidebar .sidebar-nav a:hover,
.left-sidebar .sidebar-nav .sidebar-link:hover {
  background: #eef2ff !important;
  border-color: rgba(93,135,255,0.25) !important;
}

/* Active state solid blue */
.left-sidebar .sidebar-nav #sidebarnav li.active > a,
.left-sidebar .sidebar-nav .sidebar-item.active > .sidebar-link,
.left-sidebar .sidebar-nav .sidebar-item > .sidebar-link.active {
  background: #5d87ff !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(93,135,255,0.30) !important;
  transform: translateY(-2px);
}

/* Accent bar and icon color when active */
.left-sidebar .sidebar-nav #sidebarnav li a::before,
.left-sidebar .sidebar-nav .sidebar-link::before { background: #5d87ff !important; }
.left-sidebar .sidebar-nav #sidebarnav li.active > a i,
.left-sidebar .sidebar-nav #sidebarnav li.active > a img {
  color: #fff !important; filter: brightness(100%);
}

/* Submenu items hover/active harmonized */
.left-sidebar .sidebar-nav #sidebarnav li ul li a:hover,
.left-sidebar .sidebar-nav .first-level .sidebar-link:hover,
.left-sidebar .sidebar-nav .collapse .sidebar-link:hover {
  background: #f3f6ff !important;
  border-color: rgba(93,135,255,0.20) !important;
}

/* Keep 'Gerar Link' in RED in all states */
.left-sidebar .sidebar-nav #sidebarnav li > a.nav-attention,
.left-sidebar .sidebar-nav .sidebar-item > a.nav-attention {
  background: linear-gradient(135deg, #dc3545, #ff4d5e) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(220, 53, 69, 0.35) !important;
}
.left-sidebar .sidebar-nav #sidebarnav li > a.nav-attention:hover,
.left-sidebar .sidebar-nav .sidebar-item > a.nav-attention:hover,
.left-sidebar .sidebar-nav #sidebarnav li.active > a.nav-attention,
.left-sidebar .sidebar-nav .sidebar-item.active > a.nav-attention,
.left-sidebar .sidebar-nav .sidebar-item > a.nav-attention.active {
  background: linear-gradient(135deg, #dc3545, #ff4d5e) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(220, 53, 69, 0.45) !important;
}
.left-sidebar .sidebar-nav #sidebarnav li > a.nav-attention::before,
.left-sidebar .sidebar-nav .sidebar-item > a.nav-attention::before { background: linear-gradient(135deg, #dc3545, #ff4d5e) !important; }
.left-sidebar .sidebar-nav #sidebarnav li > a.nav-attention i,
.left-sidebar .sidebar-nav #sidebarnav li > a.nav-attention img { color:#fff !important; filter: brightness(100%); }

/* ===================================== */
/* Sidebar header (brand) visibility fix */
/* ===================================== */
.left-sidebar .brand-logo {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--glass-bg, rgba(255,255,255,0.9));
  backdrop-filter: blur(var(--glass-blur, 8px));
  border-bottom: var(--glass-border, 1px solid rgba(0,0,0,0.06));
}
.left-sidebar .brand-logo .close-btn { position: relative; z-index: 6; }

/* Ensure the scroll area starts below the header and stays within viewport */
.left-sidebar .sidebar-nav {
  max-height: calc(100vh - 64px);
  overflow-y: auto;
}
