/* iSmart sidebar only. Routes, permissions, badges and Alpine state remain native. */
:root {
    --sidebar-bg: #082b66;
    --sidebar-bg-mid: #0b3a8f;
    --sidebar-bg-dark: #06224f;
    --sidebar-active: #2563eb;
    --sidebar-active-end: #3b82f6;
    --sidebar-text: #fff;
    --sidebar-muted: #bfdbfe;
    --sidebar-section: #60a5fa;
    --sidebar-hover: rgba(255,255,255,.08);
    --sidebar-line: rgba(191,219,254,.12);
    --sidebar-icon: #93c5fd;
    --sidebar-icon-bg: rgba(96,165,250,.12);
    --sidebar-purple: #c4b5fd;
    --sidebar-green: #6ee7b7;
    --sidebar-orange: #fdba74;
    --sidebar-pink: #f9a8d4;
    --sidebar-yellow: #fde68a;
    --sidebar-teal: #67e8f9;
}
.fi-sidebar, .dark .fi-sidebar {
    height: 100vh;
    height: 100dvh;
    isolation: isolate;
    flex-shrink: 0;
    overflow: hidden;
    background: linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-mid) 55%,var(--sidebar-bg-dark)) !important;
    border-inline-end: 1px solid var(--sidebar-line) !important;
    box-shadow: 8px 0 24px rgba(6,34,79,.09) !important;
}
.fi-sidebar::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse at 130% 18%,rgba(59,130,246,.22),transparent 43%),
                radial-gradient(ellipse at -50% 72%,rgba(37,99,235,.17),transparent 50%);
}
.fi-sidebar > .overflow-x-clip { flex: 0 0 auto; }
.fi-sidebar .fi-sidebar-header, .dark .fi-sidebar .fi-sidebar-header {
    height: 82px;
    padding-inline: 18px;
    background: transparent !important;
    border-bottom: 1px solid var(--sidebar-line) !important;
    box-shadow: none !important;
    --tw-ring-color: transparent;
}
.fi-sidebar .ismart-brand { gap: 10px; }
.fi-sidebar .ismart-brand img { width: 40px; height: 40px; border-radius: 12px; }
.fi-sidebar .ismart-brand strong, .dark .fi-sidebar .ismart-brand strong { color: var(--sidebar-text) !important; font-size: 22px; letter-spacing: -.03em; }
.fi-sidebar .ismart-brand span, .dark .fi-sidebar .ismart-brand span { color: var(--sidebar-muted) !important; font-size: 11px; }
.fi-sidebar .fi-sidebar-header .fi-icon-btn { color: var(--sidebar-muted) !important; border-radius: 9px; }
.fi-sidebar .fi-sidebar-header .fi-icon-btn:hover { background: var(--sidebar-hover); }
.fi-sidebar .fi-sidebar-header .fi-icon-btn-icon { color: inherit !important; }
.fi-sidebar .fi-sidebar-nav {
    flex: 1 1 0%;
    min-height: 0;
    padding: 14px 16px;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(191,219,254,.22) transparent;
    scrollbar-gutter: auto !important;
}
.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar { width: 4px; }
.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-thumb { background: rgba(191,219,254,.22); border-radius: 8px; }
.fi-sidebar .fi-sidebar-nav-groups { gap: 18px; }
.fi-sidebar .fi-sidebar-group { gap: 4px; }
.fi-sidebar .fi-sidebar-group-button { padding: 4px 9px; gap: 6px; }
.fi-sidebar .fi-sidebar-group-label, .dark .fi-sidebar .fi-sidebar-group-label {
    font-size: 11px;
    font-weight: 650;
    line-height: 22px;
    letter-spacing: .045em;
    color: var(--sidebar-section) !important;
    text-transform: uppercase;
}
.fi-sidebar .fi-sidebar-group-collapse-button { color: var(--sidebar-section); width: 24px; height: 24px; }
.fi-sidebar .fi-sidebar-group-collapse-button .fi-icon-btn-icon { color: inherit !important; width: 15px; height: 15px; }
.fi-sidebar .fi-sidebar-group-items { gap: 3px; }
.fi-sidebar .fi-sidebar-item, .fi-sidebar .fi-sidebar-item-active { border: 0 !important; background: transparent !important; }
.fi-sidebar .fi-sidebar-item-button {
    min-height: 44px;
    padding: 5px 9px;
    gap: 10px;
    border-radius: 10px;
    transition: background .16s ease,box-shadow .16s ease;
}
.fi-sidebar .fi-sidebar-item-button:hover, .dark .fi-sidebar .fi-sidebar-item-button:hover { background: var(--sidebar-hover) !important; }
.fi-sidebar .fi-sidebar-item-label, .dark .fi-sidebar .fi-sidebar-item-label { color: var(--sidebar-muted) !important; font-size: 14px; font-weight: 500; line-height: 20px; }
.fi-sidebar .fi-sidebar-item-icon, .dark .fi-sidebar .fi-sidebar-item-icon {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 6px;
    box-sizing: border-box;
    border-radius: 9px;
    color: var(--item-icon,var(--sidebar-icon)) !important;
    background: var(--item-icon-bg,var(--sidebar-icon-bg));
    transition: background .16s ease,color .16s ease;
}
.fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-icon { background: rgba(255,255,255,.15); }
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button, .dark .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button {
    background: linear-gradient(90deg,var(--sidebar-active),var(--sidebar-active-end)) !important;
    box-shadow: inset 3px 0 0 var(--sidebar-section),0 4px 12px rgba(4,19,48,.12);
}
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-icon,
.dark .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-label,
.dark .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-icon { color: var(--sidebar-text) !important; }
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-icon { background: rgba(255,255,255,.15); }
.fi-sidebar .fi-sidebar-group[data-group-label=''] { padding-bottom: 10px; border-bottom: 1px solid var(--sidebar-line); }
.fi-sidebar .fi-sidebar-group[data-group-label=''] .fi-sidebar-item-label { color: var(--sidebar-text) !important; }
/* Colour is decoration of existing links and groups; it never creates a menu item. */
.fi-sidebar .fi-sidebar-group[data-group-label='Propuestas'] { --item-icon: var(--sidebar-purple); --item-icon-bg: rgba(167,139,250,.15); }
.fi-sidebar .fi-sidebar-group[data-group-label='Producción'] { --item-icon: var(--sidebar-green); --item-icon-bg: rgba(52,211,153,.14); }
.fi-sidebar .fi-sidebar-group[data-group-label='Inventario'] { --item-icon: var(--sidebar-orange); --item-icon-bg: rgba(251,146,60,.14); }
.fi-sidebar a[href*='/tmk-visits'], .fi-sidebar a[href*='/tmk-schedules'], .fi-sidebar a[href*='/attendances'] { --item-icon: var(--sidebar-green); --item-icon-bg: rgba(52,211,153,.14); }
.fi-sidebar a[href*='/campaign-materials'] { --item-icon: var(--sidebar-orange); --item-icon-bg: rgba(251,146,60,.14); }
.fi-sidebar a[href*='/campaign-daily-reports'], .fi-sidebar a[href*='/project-gallery'] { --item-icon: var(--sidebar-pink); --item-icon-bg: rgba(244,114,182,.14); }
.fi-sidebar a[href*='/brands'] { --item-icon: var(--sidebar-yellow); --item-icon-bg: rgba(250,204,21,.13); }
.fi-sidebar a[href*='/canals'] { --item-icon: var(--sidebar-orange); --item-icon-bg: rgba(251,146,60,.14); }
.fi-sidebar a[href*='/clients'] { --item-icon: var(--sidebar-teal); --item-icon-bg: rgba(34,211,238,.14); }
.fi-sidebar a[href*='/zones'] { --item-icon: var(--sidebar-purple); --item-icon-bg: rgba(167,139,250,.15); }
.fi-sidebar a[href*='/automatic-campaign-reports'] { --item-icon: var(--sidebar-pink); --item-icon-bg: rgba(244,114,182,.14); }
.fi-sidebar .fi-badge { min-width: 22px; justify-content: center; border-radius: 999px; font-size: 11px; line-height: 16px; padding: 2px 6px; }
.fi-sidebar .fi-color-danger.fi-badge { background: #ef4444; color: #fff; box-shadow: none; }
.fi-sidebar .ismart-sidebar-user, .dark .fi-sidebar .ismart-sidebar-user {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 6px 12px 12px;
    padding: 12px 10px;
    gap: 9px;
    border: 1px solid var(--sidebar-line);
    border-radius: 12px;
    background: rgba(255,255,255,.045) !important;
}
.fi-sidebar .ismart-sidebar-user__avatar { display: grid; place-items: center; flex-shrink: 0; border-radius: 50%; color: var(--sidebar-text); width: 36px; height: 36px; background: linear-gradient(135deg,#3b82f6,#2563eb); font-size: 13px; }
.fi-sidebar .ismart-sidebar-user__details { min-width: 0; flex: 1; }
.fi-sidebar .ismart-sidebar-user__details strong, .dark .fi-sidebar .ismart-sidebar-user__details strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--sidebar-text) !important; font-size: 13px; font-weight: 650; }
.fi-sidebar .ismart-sidebar-user__details small, .dark .fi-sidebar .ismart-sidebar-user__details small { display: block; color: var(--sidebar-muted) !important; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fi-sidebar .ismart-sidebar-user .ismart-sidebar-user__logout { display: grid; place-items: center; border: 0; border-radius: 8px; padding: 6px; color: var(--sidebar-muted); background: transparent !important; box-shadow: none !important; transform: none !important; }
.fi-sidebar .ismart-sidebar-user .ismart-sidebar-user__logout:hover { color: var(--sidebar-text); background: var(--sidebar-hover) !important; }
.fi-sidebar .ismart-sidebar-user__logout svg { width: 18px; height: 18px; }
.fi-sidebar a:focus-visible, .fi-sidebar button:focus-visible { outline: 2px solid var(--sidebar-section) !important; outline-offset: 2px; }
@media (min-width:1024px) {
    .fi-sidebar:not(.fi-sidebar-open) { width: var(--collapsed-sidebar-width) !important; min-width: var(--collapsed-sidebar-width); }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header { padding-inline: 8px; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-nav { padding-inline: 14px; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-nav-groups { gap: 14px; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item-button { padding: 7px 5px; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item-icon { width: 34px; height: 34px; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header button[x-on\:click='$store.sidebar.open()'] { position: relative; width: 48px; height: 48px; background: url('../../../images/ismart-logo.png') center / 40px 40px no-repeat; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header button[x-on\:click='$store.sidebar.open()'] svg { width: 13px; height: 13px; position: absolute; inset-inline-end: 0; bottom: 0; padding: 1px; border-radius: 4px; background: var(--sidebar-bg); }
    .fi-sidebar:not(.fi-sidebar-open) .ismart-sidebar-user { flex-direction: column; margin: 6px 8px 10px; padding: 10px 5px; gap: 6px; }
    /* Filament keeps real badges in the DOM; keep them visible beside collapsed icons. */
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item-button > span:has(> .fi-badge) { display: block !important; position: absolute; top: -2px; inset-inline-end: -2px; }
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item-button > span > .fi-badge { min-width: 17px; font-size: 9px; line-height: 12px; padding: 1px 4px; }
}
@media (max-width:1023px) {
    .fi-sidebar .fi-sidebar-header { height: 76px; }
    .fi-sidebar .ismart-sidebar-user { margin-bottom: max(12px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) { .fi-sidebar .fi-sidebar-item-button, .fi-sidebar .fi-sidebar-item-icon { transition: none; } }

.fi-sidebar .ismart-sidebar-user__avatar--image { overflow: hidden; background: #eef4fb; }
.fi-sidebar .ismart-sidebar-user__avatar--image img { display: block; width: 100%; height: 100%; object-fit: contain; }
