/*
 * Diseño de Estudio Dante (30 oct 2026): superficies blancas sobre un fondo muy claro, esquinas muy
 * redondeadas, píldoras y degradados suaves. Azul #101332 para lo activo; #6DCBE8 como acento;
 * #FEAA01 solo para el Sobre Dorado; Dante Obsidian usa el azul y el cian de la intranet; rojo solo para atrasos, urgente y errores.
 * Se carga después de los demás estilos en TODAS las páginas: aquí se decide el aspecto.
 */
:root {
  --ed-bg: #F4F6FB; --ed-r-sm: 10px; --ed-r: 14px; --ed-r-lg: 20px; --ed-r-xl: 26px;
  --ed-shadow-1: 0 1px 2px rgba(16, 19, 50, .03), 0 10px 30px rgba(16, 19, 50, .05);
  --ed-shadow-2: 0 2px 6px rgba(16, 19, 50, .05), 0 18px 44px rgba(16, 19, 50, .12);
  --ed-shadow-3: 0 4px 10px rgba(16, 19, 50, .06), 0 30px 70px rgba(16, 19, 50, .18);
  --ed-line: #E9EBF2;
  --dante-navy: linear-gradient(135deg, #1C2054 0%, #101332 72%);
  --dante-cyan: linear-gradient(135deg, #E7F7FC 0%, #BDE8F5 100%);
  --dante-amber: linear-gradient(135deg, #FFF6E0 0%, #FFE2A6 100%);
  --dante-soft: linear-gradient(135deg, #FFFFFF 0%, #F1F4FB 100%);
  --dante-red: linear-gradient(135deg, #E5112B 0%, #B80017 100%);
}

/* ── Desplazadores: finos, sin riel, y solo se notan al usarlos ── */
* { scrollbar-width: thin; scrollbar-color: rgba(16, 19, 50, .18) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(16, 19, 50, .18); border-radius: 999px; border: 3px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(16, 19, 50, .34); border: 3px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-corner { background: transparent; }

/* ── Fondo ── */
body { background: radial-gradient(1100px 620px at 88% -8%, #DDF3FA 0%, rgba(221, 243, 250, 0) 62%), radial-gradient(900px 520px at -6% 104%, #E9ECF9 0%, rgba(233, 236, 249, 0) 60%), #F4F6FB !important; background-attachment: fixed !important; }
.ed-main, .ed-main.bg-gray-50, #app.bg-gray-50, .bg-gray-50.min-h-screen { background: transparent !important; }

/* ── Estructura: menú y barra en azul Dante, como cristal oscuro ──
   El desenfoque va en ::before: en el elemento mismo lo volvería el marco de sus ventanas fijas
   (campana, Mis horas) y las recortaría. Material pesado para la estructura; el contenido, claro. */
.ed-sidebar, .edc-sidebar, .edc-header { color: #fff; background: linear-gradient(180deg, rgba(22, 26, 68, .97) 0%, rgba(16, 19, 50, .99) 55%); border-color: rgba(255, 255, 255, .07); }
.ed-sidebar::before, .edc-sidebar::before, .edc-header::before { content: ""; position: absolute; inset: 0; z-index: -1; -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), inset -1px 0 0 rgba(255, 255, 255, .05); pointer-events: none; }
.edc-header { background: linear-gradient(90deg, rgba(16, 19, 50, .96), rgba(22, 26, 68, .92)); }
.edc-tagline { color: #fff; border-left-color: rgba(255, 255, 255, .18); font-weight: 600; font-size: 15px; }
.edc-hbtn { color: #E4E6EE; border-radius: 999px; }
.edc-hbtn:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.edc-hbtn.edc-logout:hover { color: #FFB4BC; background: rgba(255, 90, 107, .16); }
.edc-header [class*="text-gray"] { color: #C9CCDA !important; }

.ed-sidebar-group-label { color: #A9AEC6; }
.ed-sidebar .sidebar-link, .edc-nav-link { color: #C9CCDA !important; border-radius: 999px; }
.ed-sidebar .sidebar-link:hover, .edc-nav-link:hover { background: rgba(255, 255, 255, .09) !important; color: #fff !important; }
.ed-sidebar .sidebar-link.active, .edc-nav-link.active { background: rgba(255, 255, 255, .15) !important; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 6px 18px rgba(3, 6, 25, .35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-weight: 600; }
.ed-sidebar .sidebar-link.active svg, .edc-nav-link.active svg { color: #6DCBE8; }
.edc-nav-badge { background: rgba(255, 255, 255, .14); color: #fff; }
.edc-nav-link.active .edc-nav-badge { background: #6DCBE8; color: #101332; }
.ed-nav-count { background: #D6001B; }
.sidebar-link.active .ed-nav-count { background: #D6001B; }
.edc-user-name { color: #fff; }
.edc-user-role { color: #A9E0F1; }
.edc-user-link:hover, .edc-user-link.active { background: rgba(255, 255, 255, .09); }
.edc-user-link svg { color: #C9CCDA !important; }
.edc-bell-side .edc-hbtn { width: 40px; height: 40px; }
.ed-sidebar .ed-dlv-bell { color: #E4E6EE; }
.ed-sidebar .ed-dlv-bell:hover, .ed-sidebar .ed-dlv-bell[aria-expanded="true"] { background: rgba(255, 255, 255, .12); color: #fff; }
.ed-dlv-badge { background: #6DCBE8; color: #101332; }

/* El Super Admin ve todo su menú sin desplazarse: filas más justas y la cuenta en una sola línea */
.ed-sidebar-brand { height: 56px; }
.ed-sidebar-nav { padding: 2px 10px 6px; overflow-y: auto; scrollbar-width: none; }
.ed-sidebar-nav::-webkit-scrollbar { display: none; }
.ed-sidebar .sidebar-link { min-height: 36px; padding-top: 6px; padding-bottom: 6px; font-size: 14px; }
.ed-sidebar-group + .ed-sidebar-group { margin-top: 8px; }
.ed-sidebar-group-label { margin-bottom: 2px; font-size: 11px; line-height: 1.5; }
.ed-sidebar-group ul { gap: 1px; }
.ed-sidebar-account { display: flex; align-items: center; gap: 4px; padding: 8px 10px 10px; border-top-color: rgba(255, 255, 255, .08); }
.ed-sidebar-profile { flex: 1; min-width: 0; border-radius: 16px; color: #fff; }
.ed-sidebar-profile:hover, .ed-sidebar-profile.active { background: rgba(255, 255, 255, .09) !important; }
.ed-sidebar-profile [style*="C9CCDA"] { color: #C9CCDA !important; }
.ed-sidebar .ed-sidebar-logout { flex: none; width: 40px; min-height: 40px; padding: 0 !important; justify-content: center; overflow: hidden; }
.ed-sidebar .ed-sidebar-logout span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ed-sidebar .ed-sidebar-logout:hover { color: #FFB4BC !important; background: rgba(255, 90, 107, .16) !important; }
@media (max-height: 760px) {
  .ed-sidebar .sidebar-link { min-height: 31px; padding-top: 3px; padding-bottom: 3px; font-size: 13.5px; }
  .ed-sidebar-brand { height: 48px; }
  .ed-sidebar-group + .ed-sidebar-group { margin-top: 5px; }
}
@media (max-height: 650px) {
  .ed-sidebar-group-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ed-sidebar .sidebar-link { min-height: 29px; padding-top: 2px; padding-bottom: 2px; }
}

/* Mis horas: en el menú, un botón; el detalle se abre aparte */
.edc-hours-launch { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 60px; padding: 10px 14px; border-radius: 22px; background: rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16); color: #fff; text-align: left; transition: transform 100ms ease-out, box-shadow var(--ed-dur-fast); }
.edc-hours-launch:hover { background: rgba(255, 255, 255, .16); }
.edc-hours-launch:active { transform: scale(.98); }
.edc-hours-launch svg { flex: none; width: 20px; height: 20px; }
.edc-hours-launch svg { color: #6DCBE8; }
.edc-hours-launch small { display: block; font: 500 12px/1.2 var(--ed-font); color: #C9CCDA; }
.edc-hours-launch strong { display: block; font: 700 18px/1.25 var(--ed-font); font-variant-numeric: tabular-nums; }
@media (min-width: 768px) {
  #myHoursDock #myHoursWidget { display: none; }
  #myHoursDock.is-open #myHoursWidget { display: block; position: fixed; left: 244px; bottom: 16px; z-index: 70; width: 340px; max-height: calc(100vh - 96px); overflow-y: auto; box-shadow: var(--ed-shadow-3); }
}
@media (max-width: 767px) { .edc-hours-launch { display: none; } }
#myHoursWidget { border-radius: 26px !important; border: 0 !important; }
#myHoursWidget > div:first-child { background: var(--dante-navy) !important; }
#myHoursWidget .bg-gray-800 { background: rgba(255, 255, 255, .12) !important; border-radius: 999px; }
#myHoursWidget .bg-gray-800 button { border-radius: 999px; }
#myHoursWidget #myHoursDatePicker input { border-radius: 999px; background: rgba(255, 255, 255, .12) !important; border-color: rgba(255, 255, 255, .16) !important; color: #fff !important; color-scheme: dark; }
#myHoursWidget .bg-amber-50, #myHoursWidget .bg-green-50, #myHoursWidget .bg-green-100 { background: var(--dante-cyan) !important; border-color: transparent !important; }
#myHoursWidget .bg-blue-50, #myHoursWidget .bg-red-50 { background: #F1F3FA !important; border-color: transparent !important; }
#myHoursWidget [class*="text-amber-"], #myHoursWidget [class*="text-blue-"], #myHoursWidget [class*="text-green-"], #myHoursWidget [class*="text-red-"] { color: #101332 !important; }
#myHoursWidget .text-transparent { color: transparent !important; }
#myHoursWidget .bg-green-500 { background: linear-gradient(180deg, #A9E0F1, #6DCBE8) !important; }
#myHoursWidget .bg-amber-400 { background: var(--dante-navy) !important; }
#myHoursWidget #myHoursChart .rounded-t-md, #myHoursWidget #myHoursChart .rounded-t-sm { border-radius: 8px 8px 3px 3px; }
#myHoursWidget #myHoursBreakdown svg { color: #5B6079 !important; }

/* ── Tarjetas ── */
.ed-card, .ed-metric, .edc-card, .ed-dash-card, .ed-filterbar { border-color: transparent; border-radius: var(--ed-r-xl); box-shadow: var(--ed-shadow-1); }
.edc-card { border-radius: 28px; }
.ed-view .rounded-lg, .ed-content .rounded-lg { border-radius: 12px; }
.ed-view .rounded-xl, .ed-content .rounded-xl { border-radius: 18px; }
.ed-view .rounded-2xl, .ed-content .rounded-2xl { border-radius: 26px; }
.ed-view .elevate, .ed-content .elevate { box-shadow: var(--ed-shadow-1); border-color: transparent !important; }
.ed-metric-value { font-weight: 700; }
.ed-dash-kpis .ed-metric:nth-child(1) { background: var(--dante-cyan); }
.ed-dash-kpis .ed-metric:nth-child(2) { background: var(--dante-soft); }
.ed-dash-kpis .ed-metric:nth-child(3) { background: var(--dante-soft); }
.ed-dash-kpis .ed-metric:nth-child(4) { background: var(--dante-soft); }
.ed-dash-kpis .ed-metric-hint, .ed-dash-kpis .ed-metric-label { color: #3A4262; }
.ed-dash-hero { position: relative; overflow: hidden; border-radius: 28px; background: var(--dante-navy); box-shadow: 0 16px 40px rgba(16, 19, 50, .28); }
.ed-dash-hero::after { content: ""; position: absolute; right: -60px; top: -70px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(109, 203, 232, .55) 0%, rgba(109, 203, 232, 0) 70%); pointer-events: none; }
.ed-dash-seg, .ed-dash-segs { border-radius: 999px; }
.ed-dash-seg-progreso { background: var(--dante-navy); }
.ed-dash-seg-revision { background: linear-gradient(90deg, #BDE8F5, #6DCBE8); }
.ed-dash-seg-ajuste { background: var(--dante-red); }
.ed-dash-bar-fill { border-radius: 999px; background: linear-gradient(180deg, #A9E0F1, #6DCBE8); }
.ed-dash-bar.is-today .ed-dash-bar-fill { background: var(--dante-navy); }

/* ── Controles ── */
.ed-btn { border-radius: 999px; }
.ed-btn-primary { background: var(--dante-navy); box-shadow: 0 6px 16px rgba(16, 19, 50, .2); }
.ed-btn-primary:not(:disabled):hover { background: linear-gradient(135deg, #232866 0%, #171B45 72%); }
.ed-btn-secondary { background: #fff; border-color: #E2E4EE; }
.ed-icon-btn { border-radius: 999px; }
.ed-input, .ed-select, .edc-select, .edc-type { border-radius: 14px; border-color: #E2E4EE; background-color: #fff; }
.edc-pick { border-radius: 14px; }
.ed-tabs, .edc-tabs, .edc-vs { border-radius: 999px; background: #EDEFF6; padding: 4px; }
.ed-tab, .edc-vs-btn { border-radius: 999px; }
.ed-tab[aria-selected="true"], .edc-vs-btn[aria-selected="true"], .edc-vs-btn[aria-checked="true"] { background: var(--dante-navy); color: #fff; box-shadow: 0 6px 14px rgba(16, 19, 50, .2); }
.edc-vs-btn[aria-selected="true"] svg { color: #6DCBE8; }
.edc-filters { border: 0; background: transparent; padding: 0; }
.edc-input-icon input { border-radius: 999px; }
.edc-filter-btn { border-radius: 999px; }
.edc-split, .edc-split button { border-radius: 999px; }
.edc-split { background: var(--dante-navy); }
.edc-cat { border-radius: 22px; border-color: transparent; background: #fff !important; box-shadow: var(--ed-shadow-1); }
.edc-cat[aria-pressed="true"] { background: var(--dante-cyan) !important; box-shadow: inset 0 0 0 2px #6DCBE8; }
.ed-dialog { border-radius: 28px; }
.ed-menu { border-radius: 18px; }
.ed-toast { border-radius: 20px; background-color: #101332 !important; background-image: var(--dante-navy) !important; }
.edc-pop, .ed-dlv-pop { border: 0; border-radius: 26px; }
.edc-table thead th { background: transparent; }
.edc-table tbody tr { border-radius: 18px; }

/* ── Mis tareas ── */
.edc-tv-group { border: 0; border-radius: 26px; box-shadow: var(--ed-shadow-1); }
.edc-tv-row { border-top-color: #F0F1F6; }
.edc-tv-count { background: #EDEFF6; }
.edc-col { border-radius: 26px; background: rgba(237, 239, 246, .6); }
.edc-col.is-over { background: var(--dante-cyan); box-shadow: none; }
.edc-card-task { border: 0; border-radius: 20px; }
.edc-tv-prio { padding: 4px 9px; border-radius: 999px; }
.edc-tv-prio-urgente { background: #FDECEE; }
.edc-tv-prio-alta { background: #E8F6FB; }

/* ── Dante Obsidian ── */
.ed-obsidian { border-radius: 26px; }
.ed-obsidian-input { border-radius: 18px; }
.ed-obsidian-btn { border-radius: 999px; background: linear-gradient(135deg, #A9E0F1 0%, #6DCBE8 100%); }
.ed-obsidian-compact { border-radius: 24px; }

/* ── Chat de WhatsApp ── */
.ed-wa { border: 0; border-radius: 28px; box-shadow: var(--ed-shadow-1); }
.ed-wa-list { border-right-color: #F0F1F6; }
.ed-wa-convs { overflow-x: hidden; padding: 6px; }
.ed-wa-conv { border: 0; border-radius: 18px; min-width: 0; }
.ed-wa-conv.is-on { background: var(--dante-cyan); }
.ed-wa-conv.is-on .ed-wa-tag { color: #A60015; }
.ed-wa-conv.is-on .ed-wa-last, .ed-wa-conv.is-on time { color: #3E4259; }
.ed-wa-msgs { background: linear-gradient(180deg, #F6F8FC, #EEF2F9); }
.ed-wa-msg { border-radius: 20px 20px 20px 6px; }
.ed-wa-msg.is-out { border-radius: 20px 20px 6px 20px; background: var(--dante-navy); }

/* ── Portal ── */
html .edp-tabs { border-radius: 999px; }
html .edp-tab, html .edp-out, html .edp-team { border-radius: 999px; }
html .edp-tab[aria-current="page"] { background: var(--dante-navy); color: #fff; }
html .edp-team[aria-current="page"] { background: var(--dante-navy); }
.hp-card { border-radius: 28px !important; border-color: transparent !important; box-shadow: var(--ed-shadow-1); }
.hp-btn { border-radius: 999px !important; }
.hp-btn-warn { background: var(--dante-navy) !important; }

@media (min-width: 768px) { .edc-sidebar, .edc-sidebar:has(#notifPanel[hidden]) { overflow: visible; } }
@media (prefers-reduced-transparency: reduce) { .ed-sidebar::before, .edc-sidebar::before, .edc-header::before { -webkit-backdrop-filter: none; backdrop-filter: none; } .ed-sidebar, .edc-sidebar, .edc-header { background: #101332; } #assistantPanel { -webkit-backdrop-filter: none; backdrop-filter: none; } }

/* ── Cronograma ── */
.edc-tl-nav { margin-bottom: 14px; }
.edc-gantt { position: relative; display: grid; grid-template-columns: 232px max-content; max-height: 70vh; overflow: auto; border-radius: 28px; background: #fff; box-shadow: var(--ed-shadow-1); }
.edc-tl-corner { position: sticky; left: 0; top: 0; z-index: 6; background: #fff; }
.edc-gantt .edc-tl-head { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: repeat(var(--tl-days), var(--tl-w)); background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.edc-gantt .edc-tl-day { padding: 10px 0; }
.edc-gantt .edc-tl-day.is-weekend { background: transparent; color: #A4A8BC; }
.edc-gantt .edc-tl-day.is-today strong { background: var(--dante-navy); }
.edc-tl-group { grid-column: 1 / -1; position: sticky; left: 0; padding: 12px 16px 4px; }
.edc-tl-group-name { position: sticky; left: 16px; display: inline-flex; align-items: center; gap: 8px; font: 600 14px/1.2 var(--ed-font); color: #101332; }
.edc-tl-group-name svg { width: 16px; height: 16px; color: #5B6079; }
.edc-tl-side { position: sticky; left: 0; z-index: 4; padding: 5px 10px 5px 14px; background: #fff; }
.edc-tl-card { display: grid; gap: 4px; min-height: 58px; padding: 8px 12px; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(16, 19, 50, .04), 0 6px 16px rgba(16, 19, 50, .07); }
.edc-tl-card p { margin: 0; font: 600 13px/1.25 var(--ed-font); color: #101332; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.edc-tl-card .edc-tv-meta { font-size: 12px; }
.edc-tl-track { display: grid; grid-template-columns: repeat(var(--tl-days), var(--tl-w)); align-items: center; min-height: 68px; background-image: linear-gradient(to right, #F2F3F8 1px, transparent 1px); background-size: var(--tl-w) 100%; }
.edc-bar { height: 40px; margin: 0 3px; padding: 0 14px; border-radius: 999px; font-weight: 600; font-size: 13px; }
.edc-bar-hacer { background: linear-gradient(135deg, #F3F4F9, #E3E6F0); box-shadow: none; }
.edc-bar-progreso { background: linear-gradient(135deg, #BDE8F5, #6DCBE8); color: #101332; }
.edc-bar-revision { background: var(--dante-navy); color: #fff; }
.edc-bar-ajuste { background: var(--dante-red); color: #fff; }
.edc-bar.cut-start { border-radius: 0 999px 999px 0; margin-left: 0; }
.edc-bar.cut-end { border-radius: 999px 0 0 999px; margin-right: 0; }
.edc-tl-nowlayer { position: absolute; top: 0; bottom: 0; left: 232px; width: 0; pointer-events: none; z-index: 3; }
.edc-tl-now { position: absolute; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: linear-gradient(180deg, #6DCBE8, rgba(109, 203, 232, .35)); }
.edc-tl-now em { position: absolute; top: 58px; left: 50%; transform: translateX(-50%); padding: 3px 9px; border-radius: 999px; background: #fff; box-shadow: var(--ed-shadow-2); font: 600 11px/1.2 var(--ed-font); font-style: normal; color: #101332; }

/* ── Agenda ── */
.edc-ag { display: grid; grid-template-columns: 64px minmax(calc(var(--ag-days) * 96px), 1fr); max-height: 72vh; overflow: auto; border-radius: 28px; background: #fff; box-shadow: var(--ed-shadow-1); }
.edc-ag-corner { position: sticky; top: 0; left: 0; z-index: 6; background: #fff; }
.edc-ag-head { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: repeat(var(--ag-days), minmax(96px, 1fr)); background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid #EEF0F5; }
.edc-ag-dayname { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 4px; font: 500 13px/1.2 var(--ed-font); color: #5B6079; }
.edc-ag-dayname strong { display: grid; place-items: center; min-width: 26px; height: 26px; border-radius: 999px; font-weight: 600; color: #101332; }
.edc-ag-dayname.is-today strong { background: var(--dante-navy); color: #fff; }
.edc-ag-all-label { position: sticky; left: 0; z-index: 3; padding: 10px 8px; background: #fff; font: 500 11px/1.2 var(--ed-font); color: #5B6079; text-align: right; border-bottom: 1px solid #EEF0F5; }
.edc-ag-all { display: grid; grid-template-columns: repeat(var(--ag-days), 1fr); grid-auto-rows: 32px; gap: 3px 0; padding: 6px 0; border-bottom: 1px solid #EEF0F5; }
.edc-ag-pill { height: 28px; grid-row: auto; font-size: 12px; }
.edc-ag-hours { position: sticky; left: 0; z-index: 3; background: #fff; }
.edc-ag-hours > div { height: 60px; padding: 4px 8px 0 0; font: 500 11px/1 var(--ed-font); color: #8A8FA6; text-align: right; }
.edc-ag-grid { position: relative; background-image: linear-gradient(to bottom, #F0F1F6 1px, transparent 1px); background-size: 100% 60px; }
.edc-ag-col { position: absolute; top: 0; bottom: 0; border-left: 1px solid #F0F1F6; }
.edc-ag-ev { position: absolute; z-index: 2; display: grid; align-content: start; gap: 2px; padding: 6px 10px; overflow: hidden; border-radius: 14px; border-top: 3px solid; text-align: left; font: 500 12px/1.25 var(--ed-font); color: #101332; cursor: pointer; transition: box-shadow var(--ed-dur-fast), transform 100ms ease-out; }
.edc-ag-ev:hover { box-shadow: 0 8px 20px rgba(16, 19, 50, .14); }
.edc-ag-ev:active { transform: scale(.98); }
.edc-ag-ev em { font-style: normal; font-size: 11px; color: #3A4262; }
.edc-ag-ev strong { font-weight: 600; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.edc-ag-ev-reunion { background: linear-gradient(180deg, #E7F7FC, #D3F0F8); border-top-color: #6DCBE8; }
.edc-ag-ev-grabacion { background: linear-gradient(180deg, #FFF6E0, #FFECC2); border-top-color: #FEAA01; }
.edc-ag-ev-tarea, .edc-ag-ev-diseno, .edc-ag-ev-contenido, .edc-ag-ev-nota { background: linear-gradient(180deg, #F3F4FA, #E8EAF4); border-top-color: #101332; }
.edc-ag-ev-ajuste { background: linear-gradient(180deg, #FDECEE, #FBDADF); border-top-color: #D6001B; }
.edc-ag-now { position: absolute; z-index: 3; height: 2px; background: #D6001B; pointer-events: none; }
.edc-ag-now::before { content: ""; position: absolute; left: -4px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: #D6001B; }
.edc-mcal { border: 0; border-radius: 28px; box-shadow: var(--ed-shadow-1); }
.edc-mcal-week { border-top-color: #F0F1F6; }
.edc-mcal-day + .edc-mcal-day { border-left-color: #F0F1F6; }
.edc-mcal-day.is-out { background: #FAFBFD; }
.edc-mcal-day.is-today span { background: var(--dante-navy); }
.edc-mcal-bars .edc-bar { height: 26px; font-size: 12px; padding: 0 10px; }
/* Calendario del menú lateral */
.edc-cal-day { border-radius: 14px; }
.edc-cal-day.is-today { box-shadow: inset 0 0 0 2px #6DCBE8; }
.edc-cal-wrap { border: 0; border-radius: 24px; }

/* Tipos de tarea con la paleta de la marca (antes morado, verde, rosa y naranja) */
.edc-t-todas     { --edc-c-bg: #EAF7FB; --edc-c-line: #D3EEF6; --edc-c-ic: #CDEBF5; --edc-c-fg: #00708F; }
.edc-t-reunion   { --edc-c-bg: #E7F7FC; --edc-c-line: #CDEBF5; --edc-c-ic: #BDE8F5; --edc-c-fg: #005A73; }
.edc-t-tarea     { --edc-c-bg: #EEF0F8; --edc-c-line: #DFE2EF; --edc-c-ic: #DFE2EF; --edc-c-fg: #101332; }
.edc-t-diseno    { --edc-c-bg: #F0F2FA; --edc-c-line: #DEE1F1; --edc-c-ic: #DEE1F1; --edc-c-fg: #3D4A8A; }
.edc-t-contenido { --edc-c-bg: #F3F7FB; --edc-c-line: #DFE8F2; --edc-c-ic: #DFE8F2; --edc-c-fg: #27416B; }
.edc-t-ajuste    { --edc-c-bg: #FDECEE; --edc-c-line: #FAD5DA; --edc-c-ic: #FAD5DA; --edc-c-fg: #B80017; }
.edc-t-grabacion { --edc-c-bg: #F3F4FA; --edc-c-line: #E2E4EE; --edc-c-ic: #E2E4EE; --edc-c-fg: #27314F; }
.edc-t-nota      { --edc-c-bg: #F4F6FA; --edc-c-line: #E2E7EF; --edc-c-ic: #DFE5EE; --edc-c-fg: #44546A; }
.edc-metric { border-radius: 20px; border: 0; }
.ed-sidebar-profile [style*="C9CCDA"] { color: #5B6079 !important; }

/* ── Colores: lo que queda de Tailwind pasa a la paleta (azul, cian, grises con azul) ── */
.bg-white .text-dante-blue, .ed-card .text-dante-blue, .edc-card .text-dante-blue, .ed-dialog .text-dante-blue, .text-dante-blue.bg-white { color: #00708F !important; }
html .bg-white .bg-dante-dark.text-dante-blue, html .bg-white .bg-dante-dark .text-dante-blue, html .bg-dante-dark.text-dante-blue, html .bg-dante-dark .text-dante-blue, html .bg-dante-darker .text-dante-blue, html .bg-white .border-dante-dark.text-dante-blue { color: #6DCBE8 !important; }
[class*="text-purple-"], [class*="text-violet-"], [class*="text-indigo-"] { color: #3D4A8A !important; }
.bg-purple-50, .bg-violet-50, .bg-indigo-50, .bg-purple-100, .bg-violet-100, .bg-indigo-100 { background-color: #EEF0F8 !important; }
.border-purple-200, .border-purple-300, .border-purple-400, .border-indigo-200, .border-indigo-500 { border-color: #D6DAEC !important; }
.bg-blue-50 { background-color: #E7F5FA !important; }
.bg-blue-100 { background-color: #D8F0F8 !important; }
.text-blue-500, .text-blue-600, .text-blue-700 { color: #00708F !important; }
.border-blue-100, .border-blue-200 { border-color: #CDEBF5 !important; }
.bg-orange-50, .bg-orange-100 { background-color: #F1F3FA !important; }
.text-orange-500, .text-orange-600, .text-orange-700 { color: #27314F !important; }
.bg-amber-100.text-amber-700 { background-color: #E7F5FA !important; color: #005A73 !important; }
.bg-red-600, .bg-red-500 { background-color: #D6001B !important; }
.bg-green-50 { background-color: #EEF7F2 !important; }

/* ── Dante Obsidian: el asistente es de su marca, oscuro y de cristal ── */
#assistantPanel { color: #fff; background: radial-gradient(120% 90% at 0% 0%, rgba(32, 40, 92, .96) 0%, rgba(10, 13, 42, .98) 52%, rgba(16, 19, 50, .99) 100%) !important; -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%); border: 1px solid rgba(255, 255, 255, .12) !important; border-radius: 28px !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 30px 70px rgba(3, 6, 25, .5) !important; }
#assistantPanel::after { content: ""; position: absolute; right: -80px; top: -80px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, rgba(109, 203, 232, .16), rgba(109, 203, 232, 0) 70%); pointer-events: none; }
#assistantPanel > * { position: relative; z-index: 1; }
#assistantPanel [class*="border-gray"], #assistantPanel .border-b, #assistantPanel .border-t { border-color: rgba(255, 255, 255, .1) !important; }
#assistantPanel .bg-white, #assistantPanel .bg-gray-50, #assistantPanel [class*="hover:bg-gray"]:hover, #assistantPanel .bg-gray-100 { background-color: rgba(255, 255, 255, .07) !important; }
#assistantPanel .text-dante-dark, #assistantPanel h2, #assistantPanel h3, #assistantPanel strong, #assistantPanel [class*="text-gray-8"], #assistantPanel [class*="text-gray-9"], #assistantPanel [class*="text-gray-7"] { color: #fff !important; }
#assistantPanel [class*="text-gray-4"], #assistantPanel [class*="text-gray-5"], #assistantPanel [class*="text-gray-6"], #assistantPanel [class*="text-gray-3"] { color: #C9CCDA !important; }
#assistantPanel .text-dante-blue { color: #6DCBE8 !important; }
#assistantPanel input { color: #fff !important; background: rgba(255, 255, 255, .07) !important; border: 1px solid rgba(255, 255, 255, .16) !important; border-radius: 999px !important; box-shadow: none !important; }
#assistantPanel input::placeholder, #assistantPanel textarea::placeholder { color: #A9AEC6; }
#assistantPanel input:focus { border-color: #6DCBE8 !important; box-shadow: 0 0 0 3px rgba(109, 203, 232, .28) !important; outline: none; }
#assistantPanel button:focus-visible { outline: 2px solid #6DCBE8; outline-offset: 2px; }
#assistantPanel [id="assistantClientResults"] button, #assistantPanel #assistantMessagesBox li > button { border-radius: 18px !important; border-color: transparent !important; }
#assistantPanel #assistantClientResults button:hover { background: rgba(255, 255, 255, .1) !important; }
#assistantPanel .shadow-sm, #assistantPanel [class*="shadow-["] { box-shadow: none !important; }
#assistantPanel a { color: #A9E0F1; }
.ed-obsidian-compact { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
#assistantFabBtn { background: radial-gradient(circle at 30% 25%, #1C2054, #101332) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 12px 28px rgba(3, 6, 25, .4) !important; }

#myHoursWidget > div:first-child svg { color: #6DCBE8 !important; }
html [style*="101332"] .text-dante-blue, html #st_tagline_preview { color: #6DCBE8 !important; }

/* ══ Tamaños de pantalla (se diseña desde el celular) ══
   Celular < 768: barra superior + barra inferior flotante · Tablet 768–1179: riel de íconos ·
   Portátil 1180–1599: menú completo · PC ≥ 1600: menú completo y contenido centrado. */

/* Celular: barra inferior flotante de cristal, al alcance del pulgar */
.ed-tabbar { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 40; border-radius: 26px; background: linear-gradient(135deg, rgba(32, 38, 96, .94), rgba(16, 19, 50, .96)); -webkit-backdrop-filter: blur(20px) saturate(170%); backdrop-filter: blur(20px) saturate(170%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 14px 34px rgba(3, 6, 25, .35); }
.ed-tabbar ul { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2px; margin: 0; padding: 6px; list-style: none; }
.ed-tab-link { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: 100%; min-height: 52px; padding: 6px 2px; border-radius: 20px; color: #C9CCDA; font: 500 11px/1.1 var(--ed-font); text-decoration: none; transition: transform 100ms ease-out, background-color var(--ed-dur-fast); }
.ed-tab-link svg { width: 20px; height: 20px; flex: none; }
.ed-tab-link > span:not(.ed-nav-count) { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed-tab-link:active { transform: scale(.94); }
.ed-tab-link.active { background: rgba(255, 255, 255, .16); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2); }
.ed-tab-link.active svg { color: #6DCBE8; }
.ed-tab-link:focus-visible { outline: 2px solid #6DCBE8; outline-offset: 1px; }
.ed-tab-link .ed-nav-count { position: absolute; top: 3px; right: 50%; margin: 0 -22px 0 0; min-width: 18px; height: 18px; padding: 0 5px; font-size: 11px; line-height: 18px; }
@media (max-width: 767px) {
  .ed-main, .edc-body { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important; }
  body:has(.ed-tabbar) .ed-toast-region { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  #assistantFabBtn { bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; }
  .edc-header { height: 56px; }
  .edc-tl-nav { flex-wrap: wrap; }
  .edc-vs { display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; align-self: stretch; }
  .edc-vs::-webkit-scrollbar { display: none; }
  .edc-vs-btn { flex: none; }
  .ed-card-pad { padding: 16px; }
  .edc-card, .edc-card-lg { border-radius: 24px; }
  .edc-board { grid-template-columns: repeat(4, 84vw); }
  .edc-gantt { grid-template-columns: 148px max-content; }
  .edc-tl-nowlayer { left: 148px; }
  .edc-ag { grid-template-columns: 48px minmax(calc(var(--ag-days) * 88px), 1fr); }
  .edc-ag-head { grid-template-columns: repeat(var(--ag-days), minmax(88px, 1fr)); }
  .ed-dialog { border-radius: 28px 28px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .ed-tab-link:active { transform: none; } }

/* Hoja "Más" */
.ed-sheet-wrap { position: fixed; inset: 0; z-index: 90; }
.ed-sheet-scrim { position: absolute; inset: 0; background: rgba(3, 6, 25, .45); }
.ed-sheet { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; max-height: 86dvh; border-radius: 30px 30px 0 0; color: #fff; background: linear-gradient(180deg, rgba(26, 31, 80, .98), rgba(16, 19, 50, .99)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 -20px 60px rgba(3, 6, 25, .4); will-change: transform; touch-action: none; }
.ed-sheet-grip { flex: none; display: grid; place-items: center; height: 26px; cursor: grab; }
.ed-sheet-grip span { width: 40px; height: 5px; border-radius: 999px; background: rgba(255, 255, 255, .3); }
.ed-sheet-body { overflow-y: auto; overscroll-behavior: contain; padding: 0 12px calc(16px + env(safe-area-inset-bottom, 0px)); touch-action: pan-y; }
.ed-sheet-group { margin: 12px 8px 4px; font: 600 12px/1.4 var(--ed-font); color: #A9AEC6; }
.ed-sheet-body ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; list-style: none; margin: 0; padding: 0; }
.ed-sheet-link { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 12px; border-radius: 16px; color: #E4E6EE; font: 500 14px/1.2 var(--ed-font); text-decoration: none; }
.ed-sheet-link svg { flex: none; width: 20px; height: 20px; color: #A9E0F1; }
.ed-sheet-link:active, .ed-sheet-link:hover { background: rgba(255, 255, 255, .09); }
.ed-sheet-link.active { background: rgba(255, 255, 255, .16); color: #fff; }
.ed-sheet-link:focus-visible { outline: 2px solid #6DCBE8; outline-offset: -2px; }
.ed-sheet-foot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .1); }

/* Tablet: riel de íconos; el contenido gana el ancho */
@media (min-width: 768px) and (max-width: 1179px) {
  .ed-sidebar { width: 76px; }
  .ed-main { margin-left: 76px; }
  .ed-sidebar-brand { justify-content: center; padding: 0; flex-direction: column; height: auto; gap: 8px; padding: 12px 0 6px; }
  .ed-sidebar-brand img { width: 29px; height: 28px; object-fit: cover; object-position: left; }
  .ed-sidebar-nav { padding: 4px 8px; }
  .ed-sidebar-group-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ed-sidebar-group + .ed-sidebar-group { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .08); }
  .ed-sidebar .sidebar-link { justify-content: center; gap: 0; min-height: 44px; padding: 0 !important; border-radius: 16px; }
  .ed-sidebar .sidebar-link > span:not(.ed-nav-count) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ed-sidebar .sidebar-link { position: relative; }
  .ed-sidebar .sidebar-link .ed-nav-count { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; font-size: 10px; line-height: 16px; margin: 0; }
  .ed-sidebar-account { flex-direction: column; padding: 6px 8px 10px; }
  .ed-sidebar-profile { padding: 4px; flex: none; }
  .ed-sidebar-profile > span { display: none; }

  .edc-sidebar { width: 76px; padding: 12px 8px; gap: 10px; align-items: stretch; }
  .edc-user { justify-items: center; padding: 0; gap: 6px; }
  .edc-user-link { display: none; }
  .edc-avatar { width: 44px; height: 44px; }
  .edc-avatar img { width: 44px; height: 44px; }
  .edc-bell-side { position: static; order: 2; }
  .edc-nav-link { justify-content: center; gap: 0; padding: 0; min-height: 44px; border-radius: 16px; position: relative; font-size: 0; }
  .edc-nav-badge { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; font-size: 10px; line-height: 18px; margin: 0; }
  .edc-hours-launch { justify-content: center; padding: 0; min-height: 44px; border-radius: 16px; }
  .edc-hours-launch > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #myHoursDock.is-open #myHoursWidget { left: 88px; }
  .edc-bell .edc-pop { left: 88px; }
  .edc-body { padding: 16px; gap: 16px; }
  .edc-ag { grid-template-columns: 56px minmax(calc(var(--ag-days) * 78px), 1fr); }
  .edc-ag-head { grid-template-columns: repeat(var(--ag-days), minmax(78px, 1fr)); }
  .edc-gantt { grid-template-columns: 176px max-content; }
  .edc-tl-nowlayer { left: 176px; }
}

/* PC: el contenido no se estira hasta volverse ilegible */
@media (min-width: 1600px) {
  .ed-view { max-width: 1520px; margin-inline: auto; width: 100%; }
  .edc-body { max-width: 1680px; }
}

/* ── Aprobar: verde de la paleta Dante, frío para convivir con el azul y el cian ── */
.ed-approve, .ed-btn.ed-approve { color: #fff !important; background: linear-gradient(135deg, #0C7F63 0%, #0A6650 100%) !important; border: 0 !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 8px 20px rgba(10, 102, 80, .26); transition: transform 100ms ease-out, box-shadow var(--ed-dur-fast, 160ms); }
.ed-approve:not(:disabled):hover { background: linear-gradient(135deg, #0D7B60 0%, #085845 100%) !important; }
.ed-approve:not(:disabled):active { transform: scale(.98); }
.ed-approve svg { color: #fff !important; }
.ed-approve:focus-visible { outline: 2px solid #0A6650; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .ed-approve:not(:disabled):active { transform: none; } }

/* ── Puntos sobre un video: cada uno aparece en su segundo; abajo, la línea de tiempo ── */
[data-embed-container]:has(video) > [data-pin-time]:not(.is-now),
[data-pin-box]:has(video) > [data-pin-time]:not(.is-now),
.edc-adj-media:has(video) > [data-pin-time]:not(.is-now) { opacity: 0 !important; visibility: hidden; pointer-events: none !important; }
[data-pin-time] { transition: opacity 180ms ease, visibility 180ms; }
.ed-pin-track { --ed-pin-now: 0%; position: relative; height: 40px; margin: 0 16px; }
.ed-pin-track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 999px; background: linear-gradient(90deg, #6DCBE8 var(--ed-pin-now), rgba(16, 19, 50, .14) var(--ed-pin-now)); }
.ed-pin-mark { position: absolute; top: 50%; width: 26px; height: 26px; padding: 0; transform: translate(-50%, -50%); border: 2px solid #fff; border-radius: 50%; background: #101332; color: #6DCBE8; font: 700 11px/1 var(--ed-font, inherit); cursor: pointer; box-shadow: 0 2px 8px rgba(16, 19, 50, .3); }
.ed-pin-mark:hover { background: #1C2054; }
.ed-pin-mark:active { transform: translate(-50%, -50%) scale(.94); }
.ed-pin-mark:focus-visible, .ed-pin-seek:focus-visible { outline: 2px solid #00708F; outline-offset: 2px; }
.ed-pin-seek { display: inline-flex; align-items: center; min-height: 22px; padding: 1px 8px; border: 0; border-radius: 999px; background: #101332; color: #fff; font-size: 11px; font-weight: 700; cursor: pointer; }
.ed-pin-seek:hover { background: #1C2054; }
@media (pointer: coarse) { .ed-pin-mark { width: 32px; height: 32px; } .ed-pin-track { height: 48px; } }

/* ── Cristal líquido: solo en lo que flota sobre el contenido (barras, pestañas, menús, ventanas, avisos).
   Un material = translucidez + desenfoque + borde que atrapa la luz arriba. Las tarjetas y las tablas
   siguen sólidas: nunca cristal claro sobre cristal claro, y el texto largo siempre sobre fondo firme.
   Donde el elemento puede tener ventanas fijas dentro, el desenfoque va en ::before. */
:root {
  --ed-glass-blur: blur(26px) saturate(190%);
  --ed-glass-rim: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 0 0 1px rgba(255, 255, 255, .38), inset 0 -1px 0 rgba(255, 255, 255, .22);
  --ed-glass-rim-dark: inset 0 1px 0 rgba(255, 255, 255, .24), inset 0 0 0 1px rgba(255, 255, 255, .08), inset 0 -1px 0 rgba(255, 255, 255, .05);
}
.ed-tabs, .edc-tabs, .edc-vs { background: linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(232, 236, 248, .5)) !important; -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); box-shadow: var(--ed-glass-rim), 0 6px 18px rgba(16, 19, 50, .07); }
/* En el celular las pestañas del portal son la barra inferior oscura, con texto claro: el cristal claro las dejaba ilegibles. */
@media (min-width: 768px) { html .edp-tabs { background: linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(232, 236, 248, .5)) !important; -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); box-shadow: var(--ed-glass-rim), 0 6px 18px rgba(16, 19, 50, .07); } }
.ed-tab[aria-selected="true"], .edc-vs-btn[aria-selected="true"], .edc-vs-btn[aria-checked="true"] { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 6px 14px rgba(16, 19, 50, .22); }
.ed-menu { background: rgba(255, 255, 255, .78) !important; -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); box-shadow: var(--ed-glass-rim), var(--ed-shadow-2); }
.ed-dialog { position: relative; isolation: isolate; background: rgba(255, 255, 255, .84) !important; box-shadow: var(--ed-glass-rim), var(--ed-shadow-3); }
.ed-dialog::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); pointer-events: none; }
.ed-dialog-backdrop { -webkit-backdrop-filter: blur(6px) saturate(130%); backdrop-filter: blur(6px) saturate(130%); }
.ed-toast { background-color: rgba(16, 19, 50, .82) !important; background-image: linear-gradient(135deg, rgba(28, 32, 84, .78), rgba(16, 19, 50, .88)) !important; -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); box-shadow: var(--ed-glass-rim-dark), var(--ed-shadow-2); }
.ed-tabbar { background: linear-gradient(135deg, rgba(28, 32, 84, .74), rgba(16, 19, 50, .82)); -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); box-shadow: var(--ed-glass-rim-dark), 0 14px 34px rgba(16, 19, 50, .35); }
.ed-sheet { background: linear-gradient(180deg, rgba(38, 44, 104, .86), rgba(16, 19, 50, .94)); -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); box-shadow: var(--ed-glass-rim-dark), 0 -20px 60px rgba(16, 19, 50, .4); }
.ed-sidebar::before, .edc-sidebar::before, .edc-header::before { box-shadow: var(--ed-glass-rim-dark); }
.ed-sidebar .sidebar-link.active, .edc-nav-link.active, .ed-tab-link.active { box-shadow: var(--ed-glass-rim-dark), 0 6px 18px rgba(16, 19, 50, .35); }
.edp-bar { background: rgba(255, 255, 255, .62) !important; box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .5), 0 8px 24px rgba(16, 19, 50, .06); }
.ed-btn-primary { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 6px 16px rgba(16, 19, 50, .18); }
#assistantPanel { box-shadow: var(--ed-glass-rim-dark), var(--ed-shadow-3); }
.rh { background: linear-gradient(120deg, rgba(28, 32, 84, .84), rgba(16, 19, 50, .9)) !important; box-shadow: var(--ed-glass-rim-dark), 0 10px 26px rgba(16, 19, 50, .18); }
/* En ::before: con el filtro en .rh, el calendario "Personalizado" (fijo en el celular) quedaba atado a la barra. */
.rh::before { content: ""; position: absolute; inset: 0; z-index: -1; -webkit-backdrop-filter: var(--ed-glass-blur); backdrop-filter: var(--ed-glass-blur); pointer-events: none; }
@media (max-width: 720px) { html.edp-on .rh::before { display: none; } html .cp { position: fixed; left: 12px; right: 12px; top: calc(var(--edp-h, 0px) + 96px); width: auto; max-height: calc(100dvh - var(--edp-h, 0px) - 120px); overflow-y: auto; } }
@media (prefers-reduced-transparency: reduce) {
  .ed-tabs, .edc-tabs, .edc-vs { background: #EDEFF6 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  html .edp-tabs { background: #101332 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ed-menu, .ed-dialog, .edp-bar { background: #fff !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ed-dialog::before, .ed-dialog-backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ed-toast, .ed-tabbar, .ed-sheet, .rh { background: #101332 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .rh::before { -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .ed-tabs, .edc-tabs, .edc-vs { background: #EDEFF6 !important; -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid #101332; }
  html .edp-tabs { background: #101332 !important; -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid #fff; }
  .ed-menu, .ed-dialog, .edp-bar { background: #fff !important; -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid #101332; }
  .ed-dialog::before, .ed-dialog-backdrop, .edp-bar::before, .rh::before { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ed-tabbar, .ed-sheet, .ed-toast, .rh, #assistantPanel { background: #101332 !important; -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid #fff; }
  .ed-sidebar::before, .edc-sidebar::before, .edc-header::before { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ed-sidebar, .edc-sidebar, .edc-header { background: #101332; }
}
@media (min-width: 768px) and (prefers-reduced-transparency: reduce) { html .edp-tabs { background: #EDEFF6 !important; } }
@media (min-width: 768px) and (prefers-contrast: more) { html .edp-tabs { background: #EDEFF6 !important; border-color: #101332; } }

/* Lo que se apoya en texto gris claro del ingreso y la portada del portal: 4,5:1 sobre blanco */
html .lp-footer { color: #5B6079; }

/* Un nombre o un enlace largo sin espacios no se sale de su caja (solo parte la palabra si no cabe). */
.ed-view, .ed-dlv-pop, .ed-dialog { overflow-wrap: break-word; }
/* Ventana solo con descripción: el texto no queda pegado a la línea de los botones. */
.ed-dialog-desc:has(+ .ed-dialog-footer), .ed-dialog-desc:has(+ .ed-dialog-body:empty) { margin-bottom: 14px; }
.ed-dialog-desc + .ed-dialog-body:empty { padding: 0; }

/* ═══ Color armónico y cristal líquido (30 oct 2026) ═══
   Base de Estudio Dante: azul #101332, cian #6DCBE8, ámbar #FEAA01 y rojo #FE0020. Se suman tres vecinos en el
   círculo cromático, con la misma luminosidad suave: violeta (junto al azul), menta (junto al cian) y coral
   (el rojo aclarado). Cada color tiene un fondo claro y un texto oscuro con contraste de 4,5:1 o más.
   El fondo de toda la aplicación es una malla de esos colores: sobre ella, las tarjetas son cristal translúcido.
   Como la malla es suave, las tarjetas no necesitan desenfoque real (no recorta ventanas fijas ni pesa al
   desplazar); el desenfoque de verdad queda para lo que flota sobre contenido. */
:root {
  --c-violet: #7C6CF0; --c-violet-soft: #ECE9FF; --c-violet-tile: #D9D2FF; --c-violet-ink: #3F30B0;
  --c-mint: #2FBF97; --c-mint-soft: #DFF7EE; --c-mint-tile: #BCEBD8; --c-mint-ink: #0A6650;
  --c-coral: #FF7B8E; --c-coral-soft: #FFE9EC; --c-coral-tile: #FFD0D7; --c-coral-ink: #A8122A;
  --c-cyan: #6DCBE8; --c-cyan-soft: #E3F6FC; --c-cyan-tile: #BDE8F5; --c-cyan-ink: #005A73;
  --c-amber: #FEAA01; --c-amber-soft: #FFF4D8; --c-amber-tile: #FFE2A6; --c-amber-ink: #7A4F00;
  --c-orchid: #C86DD7; --c-orchid-soft: #F9E9FC; --c-orchid-tile: #F0CFF6; --c-orchid-ink: #7D2590;
  --dante-navy: linear-gradient(135deg, #1C2054 0%, #101332 70%);
  --lg-sheen: radial-gradient(130% 90% at 8% 0%, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 58%);
  --lg-rim: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 0 0 1px rgba(255, 255, 255, .55), inset 0 -8px 16px rgba(255, 255, 255, .22);
  --lg-drop: 0 1px 2px rgba(16, 19, 50, .04), 0 14px 36px rgba(16, 19, 50, .08);
  --lg-card: var(--lg-sheen), linear-gradient(145deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .6));
}
html body, html body.bg-gray-50.min-h-screen { background:
    radial-gradient(760px 520px at 92% -6%, rgba(109, 203, 232, .42), transparent 68%),
    radial-gradient(720px 560px at 28% -12%, rgba(124, 108, 240, .2), transparent 70%),
    radial-gradient(760px 620px at 104% 62%, rgba(255, 123, 142, .15), transparent 70%),
    radial-gradient(820px 640px at 18% 108%, rgba(47, 191, 151, .17), transparent 70%),
    radial-gradient(620px 460px at 66% 104%, rgba(254, 170, 1, .1), transparent 70%),
    #F2F4FB !important; background-attachment: fixed !important; }

/* Tarjetas de cristal */
.ed-card, .edc-card, .ed-dash-card, .ed-filterbar, .edc-tv-group, .ed-inbox-cc, .ed-inbox-group, .ed-table-wrap, .edc-table-wrap, .ed-view > .bg-white, .ed-content .bg-white.rounded-2xl {
  background: var(--lg-card) !important; border-color: transparent !important; box-shadow: var(--lg-rim), var(--lg-drop) !important; }
.edc-col { background: linear-gradient(160deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .28)); box-shadow: var(--lg-rim); }

/* Azul sin viso morado: sólido aunque haya colores detrás */
.rh { background: linear-gradient(120deg, #181C4A, #101332) !important; }
.ed-tabbar { background: linear-gradient(135deg, rgba(28, 32, 84, .9), rgba(16, 19, 50, .94)); }
.ed-sheet { background: linear-gradient(180deg, rgba(24, 28, 74, .95), rgba(16, 19, 50, .98)); }
.ed-toast { background-color: rgba(16, 19, 50, .9) !important; background-image: linear-gradient(135deg, rgba(28, 32, 84, .88), rgba(16, 19, 50, .94)) !important; }

/* Contadores dentro de una pestaña activa: mismo peso que su etiqueta */
.ed-tab-count { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; background: rgba(16, 19, 50, .08); color: #101332; font-weight: 700; }
.ed-tab[aria-selected="true"] .ed-tab-count, .edc-vs-btn[aria-selected="true"] .ed-tab-count { background: rgba(255, 255, 255, .22); color: #fff; }
.ed-tab[aria-selected="true"], .edc-vs-btn[aria-selected="true"], .edc-vs-btn[aria-checked="true"] { background: linear-gradient(135deg, #1C2054, #101332); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(16, 19, 50, .26); }

/* Mosaicos con color: pendientes, métricas y tipos de tarea */
.ed-inbox-stat, .ed-metric, .edc-cat, .edc-metric { --tile-a: rgba(255, 255, 255, .8); --tile-b: rgba(255, 255, 255, .55); --tile-ink: #101332; --tile-ic: #101332;
  background: var(--lg-sheen), linear-gradient(145deg, var(--tile-a), var(--tile-b)) !important; border: 0 !important; box-shadow: var(--lg-rim), var(--lg-drop) !important; transition: transform 100ms ease-out, box-shadow 160ms; }
.ed-inbox-stat:hover, .edc-cat:hover { box-shadow: var(--lg-rim), 0 18px 40px rgba(16, 19, 50, .13) !important; }
.ed-inbox-stat:active, .edc-cat:active { transform: scale(.98); }
.t-violet, .ed-inbox-stat:nth-child(5n+1), .ed-metric:nth-child(5n+1) { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); --tile-ic: var(--c-violet-ink); }
.t-cyan, .ed-inbox-stat:nth-child(5n+2), .ed-metric:nth-child(5n+2) { --tile-a: var(--c-cyan-soft); --tile-b: var(--c-cyan-tile); --tile-ic: var(--c-cyan-ink); }
.t-amber, .ed-inbox-stat:nth-child(5n+3), .ed-metric:nth-child(5n+3) { --tile-a: var(--c-amber-soft); --tile-b: var(--c-amber-tile); --tile-ic: var(--c-amber-ink); }
.t-mint, .ed-inbox-stat:nth-child(5n+4), .ed-metric:nth-child(5n+4) { --tile-a: var(--c-mint-soft); --tile-b: var(--c-mint-tile); --tile-ic: var(--c-mint-ink); }
.t-coral, .ed-metric:nth-child(5n) { --tile-a: var(--c-coral-soft); --tile-b: var(--c-coral-tile); --tile-ic: var(--c-coral-ink); }
.ed-dash-kpis .ed-metric:nth-child(n) { background: var(--lg-sheen), linear-gradient(145deg, var(--tile-a), var(--tile-b)) !important; }
.edc-t-todas { --tile-a: var(--c-cyan-soft); --tile-b: var(--c-cyan-tile); --tile-ic: var(--c-cyan-ink); }
.edc-t-reunion { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); --tile-ic: var(--c-violet-ink); }
.edc-t-tarea { --tile-a: #E8EBFA; --tile-b: #CFD5F2; --tile-ic: #1C2054; }
.edc-t-diseno { --tile-a: var(--c-orchid-soft); --tile-b: var(--c-orchid-tile); --tile-ic: var(--c-orchid-ink); }
.edc-t-contenido { --tile-a: var(--c-mint-soft); --tile-b: var(--c-mint-tile); --tile-ic: var(--c-mint-ink); }
.edc-t-ajuste { --tile-a: var(--c-coral-soft); --tile-b: var(--c-coral-tile); --tile-ic: var(--c-coral-ink); }
.edc-t-grabacion, .edc-t-nota { --tile-a: var(--c-amber-soft); --tile-b: var(--c-amber-tile); --tile-ic: var(--c-amber-ink); }
.ed-inbox-stat-icon, .edc-cat .edc-cat-ic, .edc-metric .edc-cat-ic { background: rgba(255, 255, 255, .72) !important; color: var(--tile-ic) !important; box-shadow: inset 0 1px 0 #fff, 0 4px 10px rgba(16, 19, 50, .08); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ed-inbox-stat-icon svg, .edc-cat-ic svg { color: inherit !important; }
.ed-inbox-stat-label, .ed-inbox-stat-value, .ed-inbox-stat-unit, .ed-metric-label, .ed-metric-value, .ed-metric-unit, .edc-cat-label, .edc-cat-num { color: #101332 !important; }
.ed-inbox-stat-hint, .ed-metric-hint, .ed-inbox-stat-chev { color: #34395C !important; }
.ed-inbox-stat[aria-pressed="true"], .edc-cat[aria-pressed="true"] { box-shadow: var(--lg-rim), 0 0 0 2.5px #101332, 0 14px 30px rgba(16, 19, 50, .16) !important; padding: 10px; }
.ed-inbox-stat[aria-pressed="true"] { padding: revert-layer; }

/* Filas de Mis tareas: se distinguen de un vistazo */
.edc-table tbody tr[class*="bg-purple-50"] { background: linear-gradient(90deg, var(--c-violet-tile), var(--c-violet-soft) 40%) !important; box-shadow: inset 4px 0 0 var(--c-violet); }
.edc-table tbody tr[class*="bg-blue-50"] { background: linear-gradient(90deg, var(--c-cyan-tile), var(--c-cyan-soft) 40%) !important; box-shadow: inset 4px 0 0 var(--c-cyan); }
.edc-table tbody tr[class*="bg-indigo-50"] { background: linear-gradient(90deg, var(--c-mint-tile), var(--c-mint-soft) 40%) !important; box-shadow: inset 4px 0 0 var(--c-mint); }
.edc-table tbody tr[class*="bg-red-50"] { background: linear-gradient(90deg, var(--c-coral-tile), var(--c-coral-soft) 40%) !important; box-shadow: inset 4px 0 0 #E8455F; }
.edc-table tbody tr[class*="bg-amber-50"], .edc-table tbody tr[class*="bg-yellow-50"] { background: linear-gradient(90deg, var(--c-amber-tile), var(--c-amber-soft) 40%) !important; box-shadow: inset 4px 0 0 var(--c-amber); }
.edc-table tbody tr { border-left: 0 !important; }
.edc-table tbody tr td:first-child { border-radius: 18px 0 0 18px; }
.edc-table tbody tr td:last-child { border-radius: 0 18px 18px 0; }

/* Etiquetas */
.ed-badge { border-radius: 999px; font-weight: 600; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }
.ed-badge-neutral { background: #E9EBF6; color: #2A2E52; }
.ed-badge-info { background: linear-gradient(135deg, var(--c-cyan-soft), var(--c-cyan-tile)); color: var(--c-cyan-ink); }
.ed-badge-success { background: linear-gradient(135deg, var(--c-mint-soft), var(--c-mint-tile)); color: var(--c-mint-ink); }
.ed-badge-warning { background: linear-gradient(135deg, var(--c-amber-soft), var(--c-amber-tile)); color: var(--c-amber-ink); }
.ed-badge-danger { background: linear-gradient(135deg, var(--c-coral-soft), var(--c-coral-tile)); color: var(--c-coral-ink); }
.edc-tv-prio-urgente { background: linear-gradient(135deg, var(--c-coral-soft), var(--c-coral-tile)); color: var(--c-coral-ink); }
.edc-tv-prio-alta { background: linear-gradient(135deg, var(--c-amber-soft), var(--c-amber-tile)); color: var(--c-amber-ink); }

/* Pendientes por cliente: cada tarjeta con su color */
.ed-inbox-cc { border-radius: 28px !important; border-left: 0 !important; }
.ed-inbox-cc.has-high { box-shadow: var(--lg-rim), var(--lg-drop) !important; }
.ed-inbox-cc-avatar { color: var(--tile-ic, #101332) !important; background: linear-gradient(145deg, var(--tile-a, #fff), var(--tile-b, #eee)) !important; box-shadow: inset 0 1px 0 #fff, 0 4px 10px rgba(16, 19, 50, .1); }
.ed-inbox-cc:nth-child(6n+1) { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); --tile-ic: var(--c-violet-ink); }
.ed-inbox-cc:nth-child(6n+2) { --tile-a: var(--c-cyan-soft); --tile-b: var(--c-cyan-tile); --tile-ic: var(--c-cyan-ink); }
.ed-inbox-cc:nth-child(6n+3) { --tile-a: var(--c-mint-soft); --tile-b: var(--c-mint-tile); --tile-ic: var(--c-mint-ink); }
.ed-inbox-cc:nth-child(6n+4) { --tile-a: var(--c-amber-soft); --tile-b: var(--c-amber-tile); --tile-ic: var(--c-amber-ink); }
.ed-inbox-cc:nth-child(6n+5) { --tile-a: var(--c-orchid-soft); --tile-b: var(--c-orchid-tile); --tile-ic: var(--c-orchid-ink); }
.ed-inbox-cc:nth-child(6n) { --tile-a: var(--c-coral-soft); --tile-b: var(--c-coral-tile); --tile-ic: var(--c-coral-ink); }
.ed-inbox-cc-high { background: linear-gradient(135deg, var(--c-coral-soft), var(--c-coral-tile)) !important; color: var(--c-coral-ink) !important; }

/* Lo que flota: cristal real, con desenfoque */
.ed-inbox-aside > * { background: var(--lg-sheen), linear-gradient(155deg, rgba(236, 233, 255, .85), rgba(255, 233, 236, .75)) !important; border: 0 !important; border-radius: 28px !important; box-shadow: var(--lg-rim), var(--lg-drop) !important; }
.ed-inbox-aside > * + * { background: var(--lg-sheen), linear-gradient(155deg, rgba(227, 246, 252, .85), rgba(223, 247, 238, .75)) !important; }
.edc-gantt .edc-tl-head, .edc-ag-head { -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%); }
.ed-input, .ed-select, .edc-select, .edc-type, .edc-input-icon input { background-color: rgba(255, 255, 255, .78); box-shadow: inset 0 1px 0 #fff; }

@media (prefers-reduced-transparency: reduce) {
  html body, html body.bg-gray-50.min-h-screen { background: #F2F4FB !important; }
  .ed-card, .edc-card, .ed-dash-card, .ed-filterbar, .edc-tv-group, .ed-inbox-cc, .ed-inbox-group { background: #fff !important; }
  .ed-inbox-stat-icon, .edc-cat .edc-cat-ic { -webkit-backdrop-filter: none; backdrop-filter: none; background: #fff !important; }
}
@media (prefers-contrast: more) {
  .ed-card, .edc-card, .ed-dash-card, .ed-filterbar, .edc-tv-group, .ed-inbox-cc, .ed-inbox-stat, .ed-metric, .edc-cat { background: #fff !important; box-shadow: inset 0 0 0 1px #101332 !important; }
}
@media (prefers-reduced-motion: reduce) { .ed-inbox-stat:active, .edc-cat:active { transform: none; } }

/* Estructura en azul Dante puro: sin saturar el fondo que tiene detrás */
.ed-sidebar, .edc-sidebar { background: linear-gradient(180deg, #151842 0%, #101332 60%) !important; }
.ed-sidebar::before, .edc-sidebar::before, .edc-header::before { -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
.ed-seg-btn[aria-pressed="true"] { background: linear-gradient(135deg, #1C2054, #101332) !important; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(16, 19, 50, .24); }
.ed-seg-btn[aria-pressed="true"] svg { color: #6DCBE8; }
.ed-seg-btn { background: rgba(255, 255, 255, .62); box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(16, 19, 50, .06); }
.ed-dash-seg-progreso { background: linear-gradient(90deg, #1C2054, #101332); }
.ed-dash-seg-revision { background: linear-gradient(90deg, #9C8FF5, var(--c-violet)); }
.ed-dash-seg-ajuste { background: linear-gradient(90deg, #FF97A6, #E8455F); }
.ed-dash-bar:nth-child(5n+1) .ed-dash-bar-fill { background: linear-gradient(180deg, #C3BAFA, var(--c-violet)); }
.ed-dash-bar:nth-child(5n+2) .ed-dash-bar-fill { background: linear-gradient(180deg, #A9E0F1, var(--c-cyan)); }
.ed-dash-bar:nth-child(5n+3) .ed-dash-bar-fill { background: linear-gradient(180deg, #A3E6D0, var(--c-mint)); }
.ed-dash-bar:nth-child(5n+4) .ed-dash-bar-fill { background: linear-gradient(180deg, #FFD479, var(--c-amber)); }
.ed-dash-bar:nth-child(5n) .ed-dash-bar-fill { background: linear-gradient(180deg, #FFB6C1, var(--c-coral)); }
.ed-dash-bar.is-today .ed-dash-bar-fill { background: var(--dante-navy); }

/* Vistas de tareas: cada columna y cada barra con su color */
.edc-col:nth-child(1), .edc-tv-group:nth-of-type(1) > :first-child { --col: var(--c-cyan-soft); }
.edc-col:nth-child(1) { background: linear-gradient(170deg, rgba(227, 246, 252, .9), rgba(227, 246, 252, .25)); }
.edc-col:nth-child(2) { background: linear-gradient(170deg, rgba(255, 244, 216, .9), rgba(255, 244, 216, .25)); }
.edc-col:nth-child(3) { background: linear-gradient(170deg, rgba(236, 233, 255, .95), rgba(236, 233, 255, .25)); }
.edc-col:nth-child(4) { background: linear-gradient(170deg, rgba(255, 233, 236, .95), rgba(255, 233, 236, .25)); }
.edc-col.is-over { background: var(--c-cyan-tile); }
.edc-card-task { background: var(--lg-card); box-shadow: var(--lg-rim), 0 8px 20px rgba(16, 19, 50, .08); }
.edc-tv-row.is-reunion, .edc-card-task.is-reunion { background: linear-gradient(90deg, var(--c-violet-tile), var(--c-violet-soft) 45%); box-shadow: inset 4px 0 0 var(--c-violet); }
.edc-tv-row.is-ciclica, .edc-card-task.is-ciclica { background: linear-gradient(90deg, var(--c-mint-tile), var(--c-mint-soft) 45%); box-shadow: inset 4px 0 0 var(--c-mint); }
.edc-tv-row.is-reunion.is-ciclica, .edc-card-task.is-reunion.is-ciclica { background: linear-gradient(90deg, var(--c-violet-tile), var(--c-violet-soft) 45%); box-shadow: inset 4px 0 0 var(--c-violet); }
.edc-tv-row.is-urgente, .edc-card-task.is-urgente { background: linear-gradient(90deg, var(--c-coral-tile), var(--c-coral-soft) 45%); box-shadow: inset 4px 0 0 #E8455F; }
.edc-bar-hacer { background: linear-gradient(135deg, var(--c-cyan-soft), var(--c-cyan-tile)); color: var(--c-cyan-ink); }
.edc-bar-progreso { background: linear-gradient(135deg, var(--c-amber-soft), var(--c-amber-tile)); color: var(--c-amber-ink); }
.edc-bar-revision { background: linear-gradient(135deg, var(--c-violet-soft), var(--c-violet-tile)); color: var(--c-violet-ink); }
.edc-bar-ajuste { background: linear-gradient(135deg, var(--c-coral-soft), var(--c-coral-tile)); color: var(--c-coral-ink); }
.edc-ag-ev-reunion { background: linear-gradient(180deg, var(--c-violet-soft), var(--c-violet-tile)); border-top-color: var(--c-violet); }
.edc-ag-ev-tarea, .edc-ag-ev-nota { background: linear-gradient(180deg, var(--c-cyan-soft), var(--c-cyan-tile)); border-top-color: var(--c-cyan); }
.edc-ag-ev-diseno { background: linear-gradient(180deg, var(--c-orchid-soft), var(--c-orchid-tile)); border-top-color: var(--c-orchid); }
.edc-ag-ev-contenido { background: linear-gradient(180deg, var(--c-mint-soft), var(--c-mint-tile)); border-top-color: var(--c-mint); }
.edc-ag-ev-grabacion { background: linear-gradient(180deg, var(--c-amber-soft), var(--c-amber-tile)); border-top-color: var(--c-amber); }
.edc-ag-ev-ajuste { background: linear-gradient(180deg, var(--c-coral-soft), var(--c-coral-tile)); border-top-color: #E8455F; }
.edc-ag-ev em { color: #2A2E52; }

/* Portal e informe: las mismas tarjetas de cristal */
.pc, .chart-card, .hp-card, .bg-white.rounded-2xl.border { background: var(--lg-card); border-color: transparent; box-shadow: var(--lg-rim), var(--lg-drop); }
.pv-tag-ok { background: linear-gradient(135deg, var(--c-mint-soft), var(--c-mint-tile)); color: var(--c-mint-ink); }

/* Barra del informe: el filtro del ::before quedaba encima del fondo y saturaba el azul hasta volverlo morado */
.rh::before { display: none !important; }
.rh { background: linear-gradient(120deg, #161A46, #101332) !important; }
.rnav { background: var(--lg-card); box-shadow: var(--lg-rim); border-right: 0; border-radius: 0 24px 24px 0; }
.hp-btn-rep { background: linear-gradient(135deg, #A9E0F1, #6DCBE8) !important; color: #101332 !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6); }
.hp-btn-grid, .hp-btn-warn { background: linear-gradient(135deg, #1C2054, #101332) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22); }

/* ═══ Informe del cliente: los mismos mosaicos y tarjetas de cristal que el resto de la aplicación ═══
   Los mosaicos son color sólido suave sobre la tarjeta: nunca cristal claro sobre cristal claro. */
.mc, .mc-hero { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); background: var(--lg-sheen), linear-gradient(145deg, var(--tile-a), var(--tile-b)) !important; border: 0 !important; box-shadow: var(--lg-rim), 0 8px 22px rgba(16, 19, 50, .07); }
.mc { border-radius: 22px; padding: 16px 18px; }
.mc-hero { border-radius: 26px; padding: 22px; }
.mgrid { gap: 12px; }
.mgrid > .mc:nth-child(6n+1), .hero-grid > .mc-hero:nth-child(3n+1) { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); }
.mgrid > .mc:nth-child(6n+2), .hero-grid > .mc-hero:nth-child(3n+2) { --tile-a: var(--c-cyan-soft); --tile-b: var(--c-cyan-tile); }
.mgrid > .mc:nth-child(6n+3), .hero-grid > .mc-hero:nth-child(3n) { --tile-a: var(--c-amber-soft); --tile-b: var(--c-amber-tile); }
.mgrid > .mc:nth-child(6n+4) { --tile-a: var(--c-mint-soft); --tile-b: var(--c-mint-tile); }
.mgrid > .mc:nth-child(6n+5) { --tile-a: var(--c-coral-soft); --tile-b: var(--c-coral-tile); }
.mgrid > .mc:nth-child(6n) { --tile-a: var(--c-orchid-soft); --tile-b: var(--c-orchid-tile); }
.mc-lbl, .mc-hero .m-label { color: #101332 !important; font-size: 12px; font-weight: 600; }
.mc-hero .m-sub { color: #34395C; }
.mc-val { font-size: 24px; letter-spacing: -.02em; }
.mc-hero .m-value { letter-spacing: -.03em; }
.mc-del.pos, .mc-hero .pos { color: #0A6650; }
.mc-del.neg, .mc-hero .neg { color: #A8122A; }
.mc-del.neu, .mc-del-warn { color: #34395C; }
.mc-del-btn:hover { background: rgba(255, 255, 255, .6); }

.pc { border-radius: 28px; }
.pc-head { border-bottom: 0; padding: 20px 24px 6px; }
.pc-title { font-size: 17px; letter-spacing: -.01em; }
.pc-body { padding: 18px 24px 24px; }
.pc-period { background: rgba(255, 255, 255, .8); border-color: transparent; color: #34395C; box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(16, 19, 50, .06); }
.chart-box { padding: 20px; border-radius: 24px; background: rgba(255, 255, 255, .72); box-shadow: var(--lg-rim), 0 8px 22px rgba(16, 19, 50, .05); }
.chart-ttl { font-size: 15px; font-weight: 700; color: #101332; letter-spacing: -.01em; }
.chart-sub { font-size: 12px; color: #4A4F6E; }
.rperiod, .rquality { border: 0 !important; background: var(--lg-card) !important; border-radius: 24px; box-shadow: var(--lg-rim), var(--lg-drop); }
.rperiod-done { background: linear-gradient(135deg, var(--c-mint-soft), var(--c-mint-tile)); color: var(--c-mint-ink); }
.rperiod-live { background: linear-gradient(135deg, var(--c-amber-soft), var(--c-amber-tile)); color: var(--c-amber-ink); }

.htable th, .mtable th { background: transparent; color: #34395C; font-size: 12px; font-weight: 600; border-bottom: 1px solid rgba(16, 19, 50, .1); }
.htable td, .mtable td { border-bottom-color: rgba(16, 19, 50, .05); color: #2A2E52; }
.htable tr:hover > td, .mtable tr:hover td { background: rgba(236, 233, 255, .5); }
.mtable tr.total td { background: linear-gradient(90deg, var(--c-cyan-soft), var(--c-cyan-tile)); color: var(--c-cyan-ink); }
@media (max-width: 640px) { .pc-head { padding: 16px 16px 4px; } .pc-body { padding: 14px 14px 18px; } .chart-box { padding: 14px; } .mc { padding: 14px; } }
@media (prefers-contrast: more) { .mc, .mc-hero, .chart-box { background: #fff !important; box-shadow: inset 0 0 0 1px #101332; } }

/* Anuncios del informe */
.ac { border: 0; border-radius: 26px; background: rgba(255, 255, 255, .78); box-shadow: var(--lg-rim), 0 10px 26px rgba(16, 19, 50, .07); }
.ac-head { border-bottom: 0; padding: 16px 18px 4px; }
.ac-head-name { font-size: 14px; font-weight: 700; }
.ac-head-meta { color: #4A4F6E; }
.ac-body { padding: 12px 18px 18px; }
.ac-thumb { border-radius: 18px; }
.ac-metrics { gap: 10px; }
.am { --tile-a: var(--c-amber-soft); --tile-b: var(--c-amber-tile); background: var(--lg-sheen), linear-gradient(145deg, var(--tile-a), var(--tile-b)) !important; border: 0 !important; border-radius: 18px; box-shadow: var(--lg-rim); }
.am.am-inv { --tile-a: var(--c-mint-soft); --tile-b: var(--c-mint-tile); }
.am.am-conv { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); }
.am.am-blue { --tile-a: var(--c-cyan-soft); --tile-b: var(--c-cyan-tile); }
.ac-metrics > .am:nth-child(5n) { --tile-a: var(--c-coral-soft); --tile-b: var(--c-coral-tile); }
.am .lbl, .am.am-inv .lbl, .am.am-conv .lbl { color: #101332; font-size: 12px; font-weight: 600; }
.am .val, .am.am-inv .val, .am.am-conv .val { color: #101332; font-size: 22px; letter-spacing: -.02em; }
.am .sub { color: #34395C; font-size: 11px; }

/* "Ver análisis" abajo a la derecha, como el asistente del admin: arriba tapaba los filtros y otros botones */
#rpt-fab { top: auto !important; bottom: 24px; right: 24px !important; }
@media (max-width: 767px) { #rpt-fab { bottom: calc(92px + env(safe-area-inset-bottom, 0px)); right: 12px !important; } }
.ob-reopen { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 14px 30px rgba(16, 19, 50, .35); }

/* Informe: lo activo en azul Dante, con el mismo material que el menú */
.rnav-item.active { background: linear-gradient(135deg, #1C2054, #101332) !important; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 8px 18px rgba(16, 19, 50, .22); }
.ac-thumb-ph, .ac-thumb-ph span { color: #4A4F6E; }
.mc-hero:nth-child(3n+1) { --tile-a: var(--c-violet-soft); --tile-b: var(--c-violet-tile); }
.mc-hero:nth-child(3n+2) { --tile-a: var(--c-cyan-soft); --tile-b: var(--c-cyan-tile); }
.mc-hero:nth-child(3n) { --tile-a: var(--c-amber-soft); --tile-b: var(--c-amber-tile); }
.hs-btn.active { background: linear-gradient(135deg, #1C2054, #101332) !important; border-color: transparent !important; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 6px 14px rgba(16, 19, 50, .2); }

/* Línea de cada gráfica pequeña: el mismo tono de su mosaico, más oscuro. Nunca dos colores que peleen. */
.mc, .mc-hero { --tile-line: #6A58E8; }
.mgrid > .mc:nth-child(6n+1), .mc-hero:nth-child(3n+1) { --tile-line: #6A58E8; }
.mgrid > .mc:nth-child(6n+2), .mc-hero:nth-child(3n+2) { --tile-line: #1787B0; }
.mgrid > .mc:nth-child(6n+3), .mc-hero:nth-child(3n) { --tile-line: #C27C00; }
.mgrid > .mc:nth-child(6n+4) { --tile-line: #0C8F6F; }
.mgrid > .mc:nth-child(6n+5) { --tile-line: #E0405A; }
.mgrid > .mc:nth-child(6n) { --tile-line: #A93FBE; }
.mc-spark, .mc-hero .mc-spark { margin-top: 6px; }

/* Ingreso: campos de cristal claro sobre el azul Dante, sin el gris antiguo */
.input-dante { background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .18) !important; border-radius: 14px; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); }
.input-dante::placeholder { color: #C9CCDA; }
.input-dante:focus { outline: none; border-color: #6DCBE8 !important; background: rgba(255, 255, 255, .12) !important; box-shadow: 0 0 0 3px rgba(109, 203, 232, .3); }
.input-dante:-webkit-autofill, .input-dante:-webkit-autofill:focus { -webkit-text-fill-color: #fff; caret-color: #fff; -webkit-box-shadow: inset 0 0 0 100px #23264E; }
.btn-dante { border-radius: 14px; }
@media (prefers-contrast: more) { .input-dante { background: #101332 !important; border-color: #fff !important; } }

/* ═══ Chat de WhatsApp en el celular: lista y conversación son dos pantallas ═══ */
.ed-wa-back { display: none; }
@media (max-width: 800px) {
  .ed-wa { display: block; height: auto; overflow: visible; }
  .ed-wa-list { max-height: none; border: 0; }
  .ed-wa-convs { overflow: visible; }
  .ed-wa-conv { min-height: 64px; }
  .ed-wa-thread { display: none; }
  .ed-wa.is-open .ed-wa-thread { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 60; display: flex; height: auto; background: #F2F4FB; animation: edWaIn 280ms cubic-bezier(.32, .72, 0, 1) both; }
  html.ed-wa-full, html.ed-wa-full body { overflow: hidden; }
  html.ed-wa-full .ed-tabbar, html.ed-wa-full #assistantFabBtn, html.ed-wa-full #assistantPanel { display: none !important; }
  .ed-wa-back { display: inline-flex; flex: none; align-items: center; gap: 2px; min-height: 44px; margin-left: -8px; padding: 0 10px 0 2px; border: 0; border-radius: 999px; background: transparent; color: #00607A; font: 600 16px/1 var(--ed-font); cursor: pointer; }
  .ed-wa-back svg { width: 26px; height: 26px; }
  .ed-wa-back:active { background: rgba(16, 19, 50, .08); }
  .ed-wa-back:focus-visible { outline: 2px solid #00708F; outline-offset: 1px; }
  .ed-wa-thread .ed-wa-head { flex: none; justify-content: flex-start; padding: calc(6px + env(safe-area-inset-top, 0px)) 12px 6px; background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(16, 19, 50, .08); }
  .ed-wa-thread .ed-wa-head > div { flex: 1; }
  .ed-wa-thread .ed-section-title { font-size: 16px; }
  .ed-wa-thread .ed-section-sub { font-size: 12px; margin: 0; }
  .ed-wa-msgs { max-height: none; padding: 12px; overscroll-behavior: contain; }
  .ed-wa-msg { max-width: 84%; }
  .ed-wa-compose { flex: none; grid-template-columns: auto minmax(0, 1fr) auto; padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .92); }
  .ed-wa-compose .ed-wa-attach { order: -1; width: 44px; min-height: 44px; padding: 0; justify-content: center; }
  .ed-wa-compose textarea { min-height: 44px; max-height: 120px; padding: 10px 14px; border-radius: 22px; font-size: 16px; resize: none; }
  .ed-wa-compose #waSendBtn { width: 44px; min-height: 44px; padding: 0; justify-content: center; }
  .ed-wa-compose #waSendBtn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ed-wa-closed { flex: none; padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)); background: #fff; }
  .ed-wa-suggest { flex: none; }
  @keyframes edWaIn { from { transform: translateX(100%); } to { transform: none; } }
}
@media (max-width: 800px) and (prefers-reduced-motion: reduce) { .ed-wa.is-open .ed-wa-thread { animation: none; } }

/* Botones de un solo ícono: en pantallas táctiles crecen a 44 px y el ícono quedaba corrido a un lado */
button:has(> svg:only-child), a:has(> svg:only-child) { justify-content: center; }
button.p-1\.5:has(> svg:only-child), button.p-2:has(> svg:only-child) { display: inline-flex; align-items: center; justify-content: center; }
.ed-icon-btn-secondary { color: #101332; border-color: rgba(16, 19, 50, .14); background: rgba(255, 255, 255, .8); box-shadow: inset 0 1px 0 #fff; }

/* Obsidian al pasar el mouse: del degradado a un color plano, el navegador animaba desde transparente y parpadeaba */
.ed-obsidian-btn { background-color: #6DCBE8; transition: filter 120ms ease-out, transform 100ms ease-out; }
.ed-obsidian-btn:not(:disabled):hover { background: linear-gradient(135deg, #A9E0F1 0%, #6DCBE8 100%); background-color: #6DCBE8; filter: brightness(1.05); }

/* Comunicaciones: la barra del correo subía sobre las pestañas Correos y WhatsApp. Ahora va debajo, como tarjeta de cristal fija */
.ed-comms-tabs-host { position: relative; z-index: 26; margin-bottom: 14px; }
.ed-comms-bar { isolation: isolate; margin: 0 0 18px !important; padding: 12px 20px 14px !important; border-radius: 24px; background: rgba(255, 255, 255, .82) !important; border: 0 !important; box-shadow: var(--lg-rim), var(--lg-drop); }
.ed-comms-bar::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); pointer-events: none; }
@media (min-width: 768px) { .ed-comms-bar { top: 8px; } }
@media (prefers-reduced-transparency: reduce) { .ed-comms-bar { background: #fff !important; } .ed-comms-bar::before { display: none; } }
.lp-btn { background: linear-gradient(135deg, #1C2054, #101332) !important; color: #fff !important; }
