/* =============================================================================
   HelpDesk Pro — Sistema de diseño corporativo premium
   Paleta: Índigo profundo + grafito + acentos esmeralda/ámbar/rojo para estados
   ========================================================================== */

:root {
  --ink-950: #0b0f19;
  --ink-900: #0f1420;
  --ink-800: #151b2c;
  --ink-700: #1c2436;
  --ink-600: #262f45;
  --ink-500: #384259;
  --ink-400: #5a6478;
  --ink-300: #8891a3;
  --ink-200: #c1c7d3;
  --ink-100: #e7e9ee;
  --ink-50:  #f5f6f9;

  --brand-700: #3730a3;
  --brand-600: #4338ca;
  --brand-500: #4f46e5;
  --brand-400: #6366f1;
  --brand-300: #818cf8;
  --brand-100: #e0e1ff;
  --brand-50:  #f2f2ff;

  --success-500: #10b981;
  --success-100: #d1fae5;
  --warning-500: #f59e0b;
  --warning-100: #fef3c7;
  --danger-500: #ef4444;
  --danger-100: #fee2e2;
  --info-500: #0ea5e9;
  --info-100: #e0f2fe;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;

  --shadow-xs: 0 1px 2px rgba(15, 20, 32, 0.06);
  --shadow-sm: 0 2px 8px rgba(15, 20, 32, 0.08);
  --shadow-md: 0 8px 24px rgba(15, 20, 32, 0.10);
  --shadow-lg: 0 16px 48px rgba(15, 20, 32, 0.16);
  --shadow-glow: 0 0 0 4px rgba(79, 70, 229, 0.12);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 150ms;
  --dur-base: 250ms;
  --dur-slow: 400ms;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--ink-50);
  color: var(--ink-800);
  -webkit-font-smoothing: antialiased;
  font-size: 14.5px;
  line-height: 1.5;
}

a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--brand-100); }

/* Scrollbar elegante */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--ink-200); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--ink-300); }

/* =============================================================================
   Loader inicial
   ========================================================================== */
.pageloader {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--ink-950);
  display: flex; align-items: center; justify-content: center;
  transition: opacity var(--dur-slow) var(--ease-out), visibility var(--dur-slow);
}
.pageloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.pageloader__ring {
  width: 52px; height: 52px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.12);
  border-top-color: var(--brand-400);
  animation: spin 0.85s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* =============================================================================
   Layout: shell con sidebar + topbar
   ========================================================================== */
.app-shell { display: flex; min-height: 100vh; }

.sidebar {
  width: 264px; flex-shrink: 0;
  background: linear-gradient(185deg, var(--ink-950) 0%, var(--ink-900) 100%);
  color: var(--ink-100);
  display: flex; flex-direction: column;
  position: fixed; top: 0; left: 0; bottom: 0; z-index: 40;
  transition: transform var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out);
}
.sidebar.is-collapsed { width: 76px; }
.sidebar.is-collapsed .brand__text,
.sidebar.is-collapsed .nav-link__label,
.sidebar.is-collapsed .nav-section__title,
.sidebar.is-collapsed .sidebar-tenant__meta,.sidebar.is-collapsed .sidebar-identity__content,.sidebar.is-collapsed .sidebar-identity__badge { display: none; }
.sidebar.is-collapsed .nav-link { justify-content: center; }

.brand {
  display: flex; align-items: center; gap: 12px;
  padding: 22px 20px; border-bottom: 1px solid rgba(255,255,255,0.06);
}
.brand__mark {
  width: 38px; height: 38px; border-radius: 11px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--brand-400), var(--brand-600));
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 18px; box-shadow: var(--shadow-md);
}
.brand__text { font-weight: 700; font-size: 16.5px; letter-spacing: -0.02em; white-space: nowrap; }
.brand__text small { display: block; font-weight: 400; font-size: 11px; color: var(--ink-300); margin-top: 1px; }

.sidebar-tenant {
  margin: 14px 16px; padding: 12px 14px; border-radius: var(--radius-md);
  background: rgba(255,255,255,0.04); display: flex; align-items: center; gap: 10px;
  border: 1px solid rgba(255,255,255,0.06);
}
.sidebar-tenant__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--success-500); box-shadow: 0 0 0 3px rgba(16,185,129,0.2); flex-shrink:0; }
.sidebar-tenant__meta { overflow: hidden; }
.sidebar-tenant__name { font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-tenant__plan { font-size: 10.5px; color: var(--ink-300); text-transform: uppercase; letter-spacing: 0.04em; }

.nav-scroll { flex: 1; overflow: hidden; padding: 6px 12px 10px; display:flex; flex-direction:column; gap:4px; min-height:0; }
.nav-section { margin-top: 0; }
.nav-section__title {
  width:100%; border:0; background:transparent; display:flex; align-items:center; justify-content:space-between;
  font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--ink-400); padding: 7px 10px; border-radius:9px; transition:all var(--dur-fast) var(--ease-out);
}
.nav-section__title:hover { color:#fff; background:rgba(255,255,255,.045); transform:translateX(2px); }
.nav-section__caret { font-size:11px; transition:transform var(--dur-base) var(--ease-spring); }
.nav-section.is-open .nav-section__caret { transform:rotate(180deg); }
.nav-section__items { max-height:0; opacity:0; overflow:hidden; transform:translateY(-4px); transition:max-height .28s var(--ease-out), opacity .18s ease, transform .28s var(--ease-out); }
.nav-section.is-open .nav-section__items { max-height:320px; opacity:1; transform:none; }
.nav-link {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 10px; margin-bottom: 2px; border-radius: 9px;
  color: var(--ink-200); font-size: 13.5px; font-weight: 500;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast), border-color var(--dur-fast);
  position: relative;
}
.nav-link i { font-size: 17px; width: 20px; text-align: center; flex-shrink: 0; transition: transform var(--dur-fast) var(--ease-spring); }
.nav-link:hover { background: linear-gradient(90deg,rgba(99,102,241,.18),rgba(255,255,255,.05)); color: #fff; transform:translateX(4px); box-shadow:inset 0 0 0 1px rgba(129,140,248,.12); }
.nav-link:hover i { transform: scale(1.12); }
.nav-link.is-active { background: linear-gradient(135deg, var(--brand-500), var(--brand-600)); color: #fff; box-shadow: var(--shadow-md); }
.nav-link.is-active::before {
  content: ''; position: absolute; left: -12px; top: 50%; transform: translateY(-50%);
  width: 4px; height: 18px; border-radius: 4px; background: var(--brand-300);
}
.nav-link__badge {
  margin-left: auto; font-size: 10.5px; font-weight: 700; padding: 2px 7px; border-radius: 20px;
  background: var(--danger-500); color: #fff; line-height: 1.4;
}

.sidebar-toggle {
  margin: 10px 16px 16px; padding: 9px; border-radius: var(--radius-sm);
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  color: var(--ink-300); display: flex; align-items: center; justify-content: center;
  transition: background var(--dur-fast);
}
.sidebar-toggle:hover { background: rgba(255,255,255,0.08); color: #fff; }

/* Main area */
.main-area { flex: 1; margin-left: 264px; display: flex; flex-direction: column; min-height: 100vh; transition: margin-left var(--dur-base) var(--ease-out); }
.main-area.is-expanded { margin-left: 76px; }

.topbar {
  height: 68px; flex-shrink: 0; background: #fff; border-bottom: 1px solid var(--ink-100);
  display: flex; align-items: center; justify-content: space-between; padding: 0 28px;
  position: sticky; top: 0; z-index: 30; backdrop-filter: blur(8px);
}
.topbar__search {
  display: flex; align-items: center; gap: 10px; background: var(--ink-50);
  border: 1px solid var(--ink-100); border-radius: 12px; padding: 9px 14px; width: 320px;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.topbar__search:focus-within { border-color: var(--brand-400); box-shadow: var(--shadow-glow); }
.topbar__search input { border: none; background: transparent; outline: none; font-size: 13.5px; width: 100%; color: var(--ink-800); }
.topbar__search i { color: var(--ink-400); font-size: 15px; }

.topbar__actions { display: flex; align-items: center; gap: 14px; }
.icon-btn {
  width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--ink-100);
  display: flex; align-items: center; justify-content: center; background: #fff;
  color: var(--ink-500); position: relative; transition: all var(--dur-fast) var(--ease-out);
}
.icon-btn:hover { background: var(--brand-50); color: var(--brand-600); border-color: var(--brand-100); transform: translateY(-1px); }
.icon-btn .dot { position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger-500); border: 2px solid #fff; }

.user-chip { display: flex; align-items: center; gap: 10px; padding: 6px 10px 6px 6px; border-radius: 14px; transition: background var(--dur-fast); }
.user-chip:hover { background: var(--ink-50); }
.avatar { width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, var(--brand-400), var(--brand-600)); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; flex-shrink: 0; overflow: hidden; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-chip__meta { line-height: 1.25; }
.user-chip__name { font-size: 13px; font-weight: 600; color: var(--ink-800); }
.user-chip__role { font-size: 11px; color: var(--ink-400); text-transform: capitalize; }

.content { padding: 26px 28px 60px; animation: fadeUp var(--dur-slow) var(--ease-out); }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.page-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 22px; flex-wrap: wrap; gap: 14px; }
.page-header h1 { font-size: 21px; font-weight: 700; margin: 0 0 4px; letter-spacing: -0.02em; color: var(--ink-900); }
.page-header p { margin: 0; color: var(--ink-400); font-size: 13.5px; }
.breadcrumb { font-size: 12.5px; color: var(--ink-400); margin-bottom: 6px; display:flex; gap:6px; align-items:center; }
.breadcrumb i { font-size: 10px; }

/* =============================================================================
   Botones
   ========================================================================== */
.btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px;
  border-radius: var(--radius-md); font-size: 13.5px; font-weight: 600; border: none;
  transition: all var(--dur-fast) var(--ease-out); white-space: nowrap;
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: linear-gradient(135deg, var(--brand-500), var(--brand-600)); color: #fff; box-shadow: 0 4px 14px rgba(79,70,229,0.32); }
.btn-primary:hover { box-shadow: 0 6px 20px rgba(79,70,229,0.44); transform: translateY(-1px); }
.btn-ghost { background: #fff; color: var(--ink-600); border: 1px solid var(--ink-100); }
.btn-ghost:hover { background: var(--ink-50); border-color: var(--ink-200); }
.btn-danger { background: var(--danger-500); color: #fff; box-shadow: 0 4px 14px rgba(239,68,68,0.28); }
.btn-danger:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(239,68,68,0.4); }
.btn-sm { padding: 7px 13px; font-size: 12.5px; }
.btn-icon { width: 38px; height: 38px; padding: 0; justify-content: center; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none !important; }

/* =============================================================================
   Cards / KPI
   ========================================================================== */
.card {
  background: #fff; border-radius: var(--radius-lg); border: 1px solid var(--ink-100);
  box-shadow: var(--shadow-xs); transition: box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.card-hover:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 24px; }
@media (max-width: 1100px) { .kpi-grid { grid-template-columns: repeat(2, 1fr); } }
.kpi-card {
  padding: 20px 22px; position: relative; overflow: hidden;
}
.kpi-card__icon {
  width: 44px; height: 44px; border-radius: 13px; display: flex; align-items: center; justify-content: center;
  font-size: 20px; margin-bottom: 14px;
}
.kpi-card__value { font-size: 26px; font-weight: 800; color: var(--ink-900); letter-spacing: -0.02em; }
.kpi-card__label { font-size: 12.5px; color: var(--ink-400); margin-top: 2px; font-weight: 500; }
.kpi-card__delta { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700; margin-top: 10px; padding: 3px 8px; border-radius: 8px; }
.delta-up { color: var(--success-500); background: var(--success-100); }
.delta-down { color: var(--danger-500); background: var(--danger-100); }

.bg-indigo { background: var(--brand-100); color: var(--brand-600); }
.bg-emerald { background: var(--success-100); color: var(--success-500); }

/* =============================================================================
   Settings tabs (Configuración)
   ========================================================================== */
.settings-tabs { display: flex; gap: 6px; margin-bottom: 20px; border-bottom: 1px solid var(--ink-100); flex-wrap: wrap; }
.settings-tab {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border: none; background: none; cursor: pointer;
  font-size: 13.5px; font-weight: 600; color: var(--ink-400); border-bottom: 2px solid transparent; transition: all var(--dur-base) var(--ease-out);
}
.settings-tab:hover { color: var(--ink-700); }
.settings-tab.is-active { color: var(--brand-600); border-bottom-color: var(--brand-600); }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(245,158,11,.25); } 50% { box-shadow: 0 0 0 6px rgba(245,158,11,.08); } }
.bg-amber { background: var(--warning-100); color: var(--warning-500); }
.bg-rose { background: var(--danger-100); color: var(--danger-500); }
.bg-sky { background: var(--info-100); color: var(--info-500); }

/* =============================================================================
   Catálogo jerárquico (sistemas / módulos / transacciones)
   ========================================================================== */
.catalog-node { display: flex; align-items: center; gap: 10px; padding: 11px 16px; border-bottom: 1px solid var(--ink-50); font-size: 13.5px; }
.catalog-node:hover { background: var(--ink-50); }
.catalog-node--system { background: #fbfbfe; font-weight: 700; }
.catalog-node--module { padding-left: 40px; }
.catalog-node--tx { padding-left: 68px; color: var(--ink-500); font-size: 12.5px; }
.catalog-node .row-actions { margin-left: auto; }

/* =============================================================================
   Anuncios (popup / banner)
   ========================================================================== */
.announcement-banner {
  display: flex; align-items: center; gap: 14px; padding: 14px 20px; border-radius: 14px; margin-bottom: 18px;
  background: linear-gradient(135deg, var(--brand-50), #eef2ff); border: 1px solid var(--brand-100); animation: fadeUp var(--dur-slow) var(--ease-out);
}
.announcement-banner__icon { width: 38px; height: 38px; border-radius: 12px; background: var(--brand-100); color: var(--brand-600); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.announcement-banner__body { flex: 1; }
.announcement-banner__title { font-weight: 700; font-size: 13.5px; color: var(--ink-900); }
.announcement-banner__text { font-size: 12.5px; color: var(--ink-500); margin-top: 2px; }
.announcement-banner .icon-btn { flex-shrink: 0; }
.announcement-banner.level-warning { background: linear-gradient(135deg, var(--warning-100), #fff8e6); border-color: var(--warning-100); }
.announcement-banner.level-warning .announcement-banner__icon { background: var(--warning-100); color: var(--warning-500); }
.announcement-banner.level-danger { background: linear-gradient(135deg, var(--danger-100), #fff0f0); border-color: var(--danger-100); }
.announcement-banner.level-danger .announcement-banner__icon { background: var(--danger-100); color: var(--danger-500); }

.announcement-popup-overlay { position: fixed; inset: 0; background: rgba(15,17,26,0.55); display: flex; align-items: center; justify-content: center; z-index: 900; opacity: 0; visibility:hidden; pointer-events:none; transition: opacity .25s ease, visibility .25s ease; }
.announcement-popup-overlay.is-open { opacity: 1; visibility:visible; pointer-events:auto; }
.announcement-popup { background: #fff; border-radius: 20px; max-width: 440px; width: 92%; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.25); transform: translateY(12px) scale(.98); transition: transform .25s ease; }
.announcement-popup-overlay.is-open .announcement-popup { transform: translateY(0) scale(1); }
.announcement-popup__header { background: linear-gradient(135deg, var(--brand-500), #312e81); color: #fff; padding: 22px 24px; }
.announcement-popup__header img { width: 100%; border-radius: 10px; margin-top: 12px; }
.announcement-popup__body { padding: 20px 24px 24px; font-size: 13.5px; color: var(--ink-700); line-height: 1.6; max-height: 50vh; overflow-y: auto; }
.announcement-popup__footer { padding: 0 24px 22px; display: flex; justify-content: flex-end; gap: 10px; }

/* =============================================================================
   Planificación semanal — tablero por día
   ========================================================================== */
.week-nav { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.week-nav__label { font-weight: 700; font-size: 15px; color: var(--ink-900); flex: 1; text-align: center; }
.week-board { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; }
@media (max-width: 1200px) { .week-board { grid-template-columns: repeat(2, 1fr); } }
.week-day { background: #fff; border: 1px solid var(--ink-100); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; min-height: 180px; }
.week-day__head { padding: 10px 12px; background: var(--ink-50); font-weight: 700; font-size: 12.5px; color: var(--ink-700); display: flex; justify-content: space-between; align-items: center; }
.week-day__head.is-today { background: var(--brand-100); color: var(--brand-700); }
.week-day__body { flex: 1; padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.week-item { background: var(--ink-50); border-radius: 10px; padding: 8px 10px; font-size: 12px; cursor: pointer; border-left: 3px solid var(--brand-400); transition: background .15s; }
.week-item:hover { background: var(--brand-50); }
.week-item.shift-pm { border-left-color: var(--warning-500); }
.week-item.status-done { opacity: .65; text-decoration: line-through; }
.week-item__title { font-weight: 600; color: var(--ink-800); }
.week-item__meta { color: var(--ink-400); font-size: 10.5px; margin-top: 2px; }
.week-day__add { padding: 8px; text-align: center; color: var(--ink-300); font-size: 11px; cursor: pointer; border-top: 1px dashed var(--ink-100); }
.week-day__add:hover { color: var(--brand-500); background: var(--brand-50); }

/* =============================================================================
   Condonaciones — timeline de aprobación
   ========================================================================== */
.approval-steps { display: flex; align-items: center; gap: 4px; margin: 4px 0 16px; }
.approval-step { display: flex; align-items: center; gap: 8px; flex: 1; }
.approval-step__dot { width: 26px; height: 26px; border-radius: 50%; background: var(--ink-100); color: var(--ink-400); display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; font-weight: 700; }
.approval-step.is-done .approval-step__dot { background: var(--success-500); color: #fff; }
.approval-step.is-current .approval-step__dot { background: var(--brand-500); color: #fff; box-shadow: 0 0 0 4px var(--brand-100); }
.approval-step.is-rejected .approval-step__dot { background: var(--danger-500); color: #fff; }
.approval-step__line { flex: 1; height: 2px; background: var(--ink-100); }
.approval-step.is-done + .approval-step .approval-step__line { background: var(--success-500); }
.approval-step__label { font-size: 11px; color: var(--ink-500); font-weight: 600; white-space: nowrap; }

/* =============================================================================
   Base de conocimiento
   ========================================================================== */
.kb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 1100px) { .kb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .kb-grid { grid-template-columns: 1fr; } }
.kb-card { background: #fff; border: 1px solid var(--ink-100); border-radius: 14px; padding: 18px; transition: all .2s; cursor: pointer; }
.kb-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--brand-200); }
.kb-card__icon { width: 40px; height: 40px; border-radius: 12px; background: var(--brand-100); color: var(--brand-600); display: flex; align-items: center; justify-content: center; font-size: 18px; margin-bottom: 12px; }
.kb-card__title { font-weight: 700; font-size: 14px; color: var(--ink-900); margin-bottom: 6px; line-height: 1.4; }
.kb-card__excerpt { font-size: 12px; color: var(--ink-400); line-height: 1.5; max-height: 54px; overflow: hidden; }
.kb-card__foot { margin-top: 12px; display: flex; justify-content: space-between; align-items: center; }
.kb-article-body { font-size: 14px; line-height: 1.75; color: var(--ink-700); }
.kb-article-body img { max-width: 100%; border-radius: 10px; }
.kb-article-body h1, .kb-article-body h2 { color: var(--ink-900); }
.kb-article-body ol, .kb-article-body ul { padding-left: 22px; }

/* =============================================================================
   Tabla de datos
   ========================================================================== */
.data-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; flex-wrap: wrap; }
.filters-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

.field {
  display: flex; flex-direction: column; gap: 6px;
}
.field label { font-size: 12px; font-weight: 600; color: var(--ink-500); }
.field-inline { flex-direction: row; align-items: center; }

.input, select.input, textarea.input {
  border: 1px solid var(--ink-100); border-radius: var(--radius-sm); padding: 9px 12px;
  font-size: 13.5px; background: #fff; color: var(--ink-800); outline: none; width: 100%;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
  font-family: inherit;
}
.input:focus, select.input:focus, textarea.input:focus { border-color: var(--brand-400); box-shadow: var(--shadow-glow); }
textarea.input { resize: vertical; min-height: 90px; }
.input-sm { padding: 7px 10px; font-size: 12.5px; }

.table-wrap { border-radius: var(--radius-lg); overflow: hidden; background: #fff; border: 1px solid var(--ink-100); }
table.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table thead th {
  text-align: left; padding: 13px 16px; background: var(--ink-50); color: var(--ink-500);
  font-weight: 700; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em;
  border-bottom: 1px solid var(--ink-100); white-space: nowrap;
}
.data-table tbody td { padding: 13px 16px; border-bottom: 1px solid var(--ink-50); color: var(--ink-700); vertical-align: middle; }
.data-table tbody tr { transition: background var(--dur-fast); }
.data-table tbody tr:hover { background: var(--brand-50); }
.data-table tbody tr:last-child td { border-bottom: none; }
.cell-strong { font-weight: 600; color: var(--ink-900); }
.cell-muted { color: var(--ink-400); font-size: 12px; }
.row-actions { display: flex; gap: 6px; justify-content: flex-end; }

.badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.badge-success { background: var(--success-100); color: #067a56; }
.badge-warning { background: var(--warning-100); color: #92620a; }
.badge-info { background: var(--info-100); color: #0369a1; }
.badge-danger { background: var(--danger-100); color: #b91c1c; }
.badge-neutral { background: var(--ink-100); color: var(--ink-500); }
.badge-brand { background: var(--brand-100); color: var(--brand-700); }

.chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 8px; background: var(--ink-50); font-size: 11.5px; color: var(--ink-600); font-weight: 500; border: 1px solid var(--ink-100); }

.pagination { display: flex; align-items: center; justify-content: space-between; padding: 14px 4px 4px; font-size: 12.5px; color: var(--ink-400); }
.pagination__controls { display: flex; gap: 6px; }
.page-btn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--ink-100); background: #fff; display: flex; align-items: center; justify-content: center; font-size: 12.5px; color: var(--ink-600); transition: all var(--dur-fast); }
.page-btn:hover { background: var(--brand-50); border-color: var(--brand-100); color: var(--brand-600); }
.page-btn.is-active { background: var(--brand-600); color: #fff; border-color: var(--brand-600); }
.page-btn:disabled { opacity: 0.4; }

.empty-state { text-align: center; padding: 60px 20px; color: var(--ink-400); }
.empty-state i { font-size: 46px; margin-bottom: 14px; display: block; color: var(--ink-200); }
.empty-state h3 { color: var(--ink-600); margin: 0 0 6px; font-size: 15px; }

/* Skeleton loading */
.skeleton { background: linear-gradient(90deg, var(--ink-50) 25%, var(--ink-100) 37%, var(--ink-50) 63%); background-size: 400% 100%; animation: shimmer 1.4s ease infinite; border-radius: 6px; }
@keyframes shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

/* =============================================================================
   Modal
   ========================================================================== */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(11, 15, 25, 0.55); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; z-index: 200; padding: 20px;
  opacity: 0; visibility: hidden; transition: opacity var(--dur-base) var(--ease-out), visibility var(--dur-base);
}
.modal-overlay.is-open { opacity: 1; visibility: visible; }
.modal-box {
  background: #fff; border-radius: var(--radius-lg); width: 100%; max-width: 640px;
  max-height: 90vh; overflow-y: auto; box-shadow: var(--shadow-lg);
  transform: translateY(16px) scale(0.98); opacity: 0; transition: all var(--dur-base) var(--ease-spring);
}
.modal-overlay.is-open .modal-box { transform: translateY(0) scale(1); opacity: 1; }
.modal-box.modal-lg { max-width: 860px; }
.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--ink-100); position: sticky; top: 0; background: #fff; z-index: 5; }
.modal-header h3 { margin: 0; font-size: 16.5px; font-weight: 700; color: var(--ink-900); }
.modal-close { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--ink-400); background: var(--ink-50); transition: all var(--dur-fast); }
.modal-close:hover { background: var(--danger-100); color: var(--danger-500); }
.modal-body { padding: 24px; }
.modal-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 24px; border-top: 1px solid var(--ink-100); }

.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.form-grid .field-full { grid-column: 1 / -1; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }

/* =============================================================================
   Toasts
   ========================================================================== */
.toast-stack { position: fixed; bottom: 24px; right: 24px; z-index: 400; display: flex; flex-direction: column; gap: 10px; }
.toast {
  display: flex; align-items: center; gap: 12px; background: var(--ink-900); color: #fff;
  padding: 13px 18px; border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  min-width: 280px; transform: translateX(20px); opacity: 0; transition: all var(--dur-base) var(--ease-spring);
  font-size: 13px; font-weight: 500;
}
.toast.is-visible { transform: translateX(0); opacity: 1; }
.toast i { font-size: 18px; flex-shrink: 0; }
.toast-success i { color: var(--success-500); }
.toast-error i { color: var(--danger-500); }
.toast-info i { color: var(--info-500); }

/* =============================================================================
   Login
   ========================================================================== */
.login-shell { min-height: 100vh; display: flex; }
.login-visual {
  flex: 1.15; background: linear-gradient(160deg, var(--ink-950) 0%, var(--brand-700) 130%);
  display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;
  color: #fff; padding: 60px;
}
.login-visual::before, .login-visual::after {
  content: ''; position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.35;
}
.login-visual::before { width: 380px; height: 380px; background: var(--brand-400); top: -120px; right: -100px; animation: floatSlow 9s ease-in-out infinite; }
.login-visual::after { width: 300px; height: 300px; background: #22d3ee; bottom: -80px; left: -60px; animation: floatSlow 11s ease-in-out infinite reverse; }
@keyframes floatSlow { 0%,100% { transform: translate(0,0); } 50% { transform: translate(20px,-24px); } }
.login-visual__inner { position: relative; z-index: 2; max-width: 460px; }
.login-visual__badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.16); padding: 7px 14px; border-radius: 30px; font-size: 12px; font-weight: 600; margin-bottom: 28px; }
.login-visual h2 { font-size: 32px; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; margin: 0 0 16px; }
.login-visual p { color: rgba(255,255,255,0.72); font-size: 14.5px; line-height: 1.7; }
.login-visual__stats { display: flex; gap: 28px; margin-top: 40px; }
.login-visual__stats div b { display: block; font-size: 24px; font-weight: 800; }
.login-visual__stats div span { font-size: 11.5px; color: rgba(255,255,255,0.6); }

.login-panel { flex: 1; display: flex; align-items: center; justify-content: center; background: #fff; padding: 40px; }
.login-form { width: 100%; max-width: 380px; animation: fadeUp var(--dur-slow) var(--ease-out); }
.login-form__logo { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; }
.login-form h1 { font-size: 23px; font-weight: 800; margin: 0 0 6px; color: var(--ink-900); }
.login-form > p { color: var(--ink-400); font-size: 13.5px; margin: 0 0 28px; }
.login-alert { background: var(--danger-100); color: #b91c1c; padding: 11px 14px; border-radius: 10px; font-size: 13px; margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.login-field { margin-bottom: 16px; }
.login-field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink-600); margin-bottom: 6px; }
.input-group { position: relative; }
.input-group i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--ink-300); font-size: 15px; }
.input-group .input { padding-left: 40px; }
.login-submit { width: 100%; justify-content: center; padding: 12px; font-size: 14px; margin-top: 8px; }
.login-foot { text-align: center; margin-top: 24px; font-size: 12px; color: var(--ink-300); }

/* Responsive sidebar mobile */
@media (max-width: 960px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.is-mobile-open { transform: translateX(0); box-shadow: var(--shadow-lg); }
  .main-area { margin-left: 0 !important; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .login-visual { display: none; }
  .topbar__search { display: none; }
}

.mobile-menu-btn { display: none; }
@media (max-width: 960px) { .mobile-menu-btn { display: flex; } }

/* Utilidades */
.flex { display: flex; }
.items-center { align-items: center; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.text-muted { color: var(--ink-400); }
.mt-0 { margin-top: 0; }
.divider { height: 1px; background: var(--ink-100); margin: 20px 0; }
.tag-list { display: flex; gap: 6px; flex-wrap: wrap; }

/* Progress ring for shift/status counts */
.progress-track { height: 8px; border-radius: 10px; background: var(--ink-100); overflow: hidden; }
.progress-fill { height: 100%; border-radius: 10px; background: linear-gradient(90deg, var(--brand-400), var(--brand-600)); transition: width var(--dur-slow) var(--ease-out); }

/* File dropzone */
.dropzone {
  border: 2px dashed var(--ink-200); border-radius: var(--radius-md); padding: 24px; text-align: center;
  color: var(--ink-400); transition: all var(--dur-fast); cursor: pointer;
}
.dropzone:hover, .dropzone.is-dragover { border-color: var(--brand-400); background: var(--brand-50); color: var(--brand-600); }
.dropzone i { font-size: 30px; margin-bottom: 8px; display: block; }
.file-chip { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: var(--ink-50); border-radius: 8px; font-size: 12.5px; margin-top: 8px; }
.file-chip i { color: var(--brand-500); }
.file-chip .remove { margin-left: auto; color: var(--ink-300); cursor: pointer; }
.file-chip .remove:hover { color: var(--danger-500); }

/* =============================================================================
   Dashboard ejecutivo + módulos extendidos
   ========================================================================== */
.dashboard-header { align-items:center; }
.dashboard-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.segmented { display:inline-flex; padding:3px; background:#fff; border:1px solid var(--ink-100); border-radius:11px; box-shadow:var(--shadow-xs); }
.segmented__btn { border:0; background:transparent; color:var(--ink-400); font-size:12px; font-weight:700; padding:7px 10px; border-radius:8px; }
.segmented__btn:hover { color:var(--brand-600); }
.segmented__btn.is-active { background:var(--brand-50); color:var(--brand-700); box-shadow:inset 0 0 0 1px var(--brand-100); }
.kpi-grid--6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.kpi-card__sub { margin-top:5px; font-size:10.5px; color:var(--ink-300); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bg-violet { background:#ede9fe; color:#7c3aed; }
.bg-rose { background:#ffe4e6; color:#e11d48; }
.dashboard-grid { display:grid; gap:18px; margin-bottom:18px; }
.dashboard-grid--main { grid-template-columns:minmax(0,2fr) minmax(300px,.9fr); }
.dashboard-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dashboard-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dashboard-panel { padding:20px; min-width:0; }
.dashboard-panel__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.dashboard-panel__head h3 { margin:0 0 3px; font-size:14px; color:var(--ink-900); }
.dashboard-panel__head p { margin:0; color:var(--ink-400); font-size:11.5px; }
.chart-box { height:280px; position:relative; }
.chart-box--donut { height:280px; }
.chart-box--small { height:230px; }
.mini-link { color:var(--brand-600); font-size:11.5px; font-weight:700; display:flex; align-items:center; gap:4px; white-space:nowrap; }
.tech-row__meta { font-size:10px; color:var(--ink-300); margin-top:5px; }
.dashboard-list { min-height:120px; }
.recent-row { display:flex; gap:11px; align-items:center; padding:11px 0; border-bottom:1px solid var(--ink-50); transition:background var(--dur-fast); border-radius:8px; }
.recent-row:last-child { border-bottom:0; }
.recent-row:hover { background:var(--brand-50); padding-left:8px; padding-right:8px; }
.recent-row__icon { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; color:var(--brand-600); background:var(--brand-50); }
.recent-row__icon--ticket { color:#0369a1; background:var(--info-100); }
.recent-row__body { min-width:0; flex:1; }
.recent-row__title { font-size:12px; font-weight:700; color:var(--ink-800); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.recent-row__meta { font-size:10.5px; color:var(--ink-400); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin-top:2px; }
.recent-row__side { text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:2px; color:var(--ink-400); font-size:10px; flex:0 0 auto; }
.recent-row__side b { color:var(--ink-600); font-size:10.5px; }
.module-health__row { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--ink-50); }
.module-health__row:last-child { border-bottom:0; }
.module-health__icon { width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; }
.module-health__icon.is-ok { background:var(--success-100); color:#047857; }
.module-health__icon.is-off { background:var(--ink-100); color:var(--ink-400); }
.module-health__row b { display:block; font-size:11.5px; color:var(--ink-700); }
.module-health__row span:not(.badge) { display:block; font-size:9.5px; color:var(--ink-300); }
.empty-state--compact { padding:28px 10px; }
.empty-state--compact i { font-size:30px; margin-bottom:8px; }
.empty-state--compact h3 { font-size:12px; }
.dash-error { grid-column:1/-1; display:flex; align-items:center; gap:12px; padding:18px; border-color:var(--danger-100); }
.dash-error>i { font-size:24px; color:var(--danger-500); }
.dash-error div { flex:1; }
.dash-error b,.dash-error span { display:block; }
.dash-error span { color:var(--ink-400); font-size:11.5px; }

/* Paneles CRUD reutilizables */
.module-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.module-toolbar__filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.module-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.module-stat { padding:16px; }
.module-stat__top { display:flex; align-items:center; justify-content:space-between; }
.module-stat__icon { width:36px; height:36px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:var(--brand-50); color:var(--brand-600); font-size:18px; }
.module-stat__value { font-size:23px; font-weight:800; color:var(--ink-900); margin-top:9px; }
.module-stat__label { font-size:11px; color:var(--ink-400); }
.module-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.module-card { padding:16px; position:relative; overflow:hidden; }
.module-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.module-card__title { font-weight:700; color:var(--ink-900); font-size:13px; }
.module-card__meta { color:var(--ink-400); font-size:10.5px; margin-top:2px; }
.module-card__body { color:var(--ink-500); font-size:11.5px; margin-top:12px; }
.module-card__foot { display:flex; gap:6px; align-items:center; justify-content:flex-end; margin-top:14px; }
.two-column-page { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:18px; }
.sticky-card { position:sticky; top:88px; }
.code-chip { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10.5px; padding:3px 7px; border-radius:7px; background:var(--ink-50); border:1px solid var(--ink-100); color:var(--ink-500); }
.status-dot { width:8px; height:8px; border-radius:50%; display:inline-block; margin-right:5px; }
.status-dot--on { background:var(--success-500); box-shadow:0 0 0 3px rgba(16,185,129,.13); }
.status-dot--off { background:var(--ink-300); }

@media (max-width:1400px) { .kpi-grid--6 { grid-template-columns:repeat(3,1fr); } .dashboard-grid--three{grid-template-columns:repeat(2,1fr)} .dashboard-grid--three>section:first-child{grid-column:1/-1} }
@media (max-width:1100px) { .dashboard-grid--main,.dashboard-grid--two,.two-column-page{grid-template-columns:1fr}.module-card-grid{grid-template-columns:repeat(2,1fr)}.sticky-card{position:static} }
@media (max-width:760px) { .kpi-grid--6,.module-stat-grid{grid-template-columns:repeat(2,1fr)} .dashboard-grid--three,.module-card-grid{grid-template-columns:1fr}.dashboard-grid--three>section:first-child{grid-column:auto}.dashboard-panel{padding:16px}.chart-box{height:240px}.dashboard-actions{width:100%}.segmented{order:3;width:100%;}.segmented__btn{flex:1}.recent-row__side{display:none} }
@media (max-width:480px) { .kpi-grid--6,.module-stat-grid{grid-template-columns:1fr} }
.check-row { display:flex; align-items:center; gap:7px; font-size:11.5px; color:var(--ink-500); cursor:pointer; margin:5px 0; }
.check-row input { accent-color:var(--brand-600); }
.field-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.question-builder-row { border:1px solid var(--ink-100); background:var(--ink-50); border-radius:12px; padding:12px; margin-bottom:9px; }
.question-builder-row__top { display:flex; gap:8px; align-items:center; }
.question-builder-row__top .q-text { flex:1; }
.question-builder-row__controls { display:grid; grid-template-columns:180px 1fr auto; gap:8px; align-items:center; margin-top:8px; }
.survey-card-metrics { display:flex; gap:16px; margin-top:13px; padding-top:11px; border-top:1px solid var(--ink-50); color:var(--ink-400); font-size:10.5px; }
.survey-card-metrics b { color:var(--ink-700); font-size:13px; }
@media(max-width:640px){.question-builder-row__controls{grid-template-columns:1fr}.question-builder-row__controls .check-row{padding:4px 0}}
.sla-row { display:grid; grid-template-columns:1fr 120px 38px; gap:8px; align-items:center; padding:10px 0; border-bottom:1px solid var(--ink-50); }
.sla-row b,.sla-row span { display:block; }
.sla-row b { font-size:11.5px; color:var(--ink-700); }
.sla-row>div>span { font-size:9.5px; color:var(--ink-300); text-transform:uppercase; }
.sla-row__time { display:flex; align-items:center; gap:5px; }
.sla-row__time .input { width:78px; text-align:right; }
.sla-row__time span { font-size:10px; color:var(--ink-400); }
.callout { display:flex; gap:9px; align-items:flex-start; padding:11px; border-radius:10px; background:var(--info-100); color:#075985; font-size:10.5px; margin-top:16px; }
.callout i { font-size:16px; margin-top:1px; }
.agent-picks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:220px; overflow:auto; }
.agent-pick { display:grid; grid-template-columns:auto 1fr; column-gap:8px; padding:9px 10px; border:1px solid var(--ink-100); border-radius:10px; cursor:pointer; align-items:center; }
.agent-pick input { grid-row:1/3; accent-color:var(--brand-600); }
.agent-pick span { font-size:11.5px; font-weight:600; color:var(--ink-700); }
.agent-pick small { font-size:9.5px; color:var(--ink-300); }
@media(max-width:640px){.agent-picks{grid-template-columns:1fr}.sla-row{grid-template-columns:1fr 105px 36px}}
.tabs-bar { display:flex; gap:2px; padding:10px 12px; border-bottom:1px solid var(--ink-100); overflow-x:auto; background:#fff; }
.tab-btn { border:0; background:transparent; color:var(--ink-400); padding:9px 12px; border-radius:9px; font-size:11.5px; font-weight:700; display:flex; align-items:center; gap:6px; white-space:nowrap; }
.tab-btn:hover { background:var(--ink-50); color:var(--ink-700); }
.tab-btn.is-active { background:var(--brand-50); color:var(--brand-700); }
.tab-pane { display:none; }
.tab-pane.is-active { display:block; }
.table-wrap--flat { box-shadow:none; border:0; border-radius:0; }
.compliance-cell { min-width:120px; }
.compliance-cell>span { font-size:10.5px; font-weight:700; color:var(--ink-600); display:block; margin-bottom:4px; }
.compliance-cell .progress-track { height:5px; }
.report-preview__hero { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px; border-radius:14px; background:linear-gradient(135deg,var(--ink-950),var(--brand-700)); color:#fff; }
.report-preview__hero span { font-size:9px; letter-spacing:.12em; opacity:.7; font-weight:700; }
.report-preview__hero h2 { margin:5px 0 4px; font-size:20px; }
.report-preview__hero p { margin:0; font-size:11.5px; opacity:.75; }
.report-score { font-size:28px; font-weight:800; text-align:right; white-space:nowrap; }
.report-score span { display:block; font-size:9px; letter-spacing:0; text-transform:none; }
.report-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0; }
.report-kpis>div { background:var(--ink-50); border:1px solid var(--ink-100); border-radius:11px; padding:11px 12px; }
.report-kpis b,.report-kpis span { display:block; }
.report-kpis b { font-size:18px; color:var(--ink-900); }
.report-kpis span { font-size:9.5px; color:var(--ink-400); }
.report-preview section { margin-top:18px; }
.report-preview section h3 { font-size:13px; margin:0 0 8px; }
.report-preview section p { color:var(--ink-500); font-size:11.5px; white-space:pre-line; }
@media(max-width:640px){.report-preview__hero{align-items:flex-start;flex-direction:column}.report-score{text-align:left}.report-kpis{grid-template-columns:repeat(2,1fr)}}
.chat-shell { display:grid; grid-template-columns:320px 1fr; min-height:650px; overflow:hidden; }
.chat-rooms { border-right:1px solid var(--ink-100); background:#fff; min-width:0; }
.chat-rooms__search { padding:14px; border-bottom:1px solid var(--ink-100); }
.room-item { width:100%; border:0; border-bottom:1px solid var(--ink-50); background:#fff; padding:12px; display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; text-align:left; }
.room-item:hover,.room-item.is-active { background:var(--brand-50); }
.room-item.is-active { box-shadow:inset 3px 0 0 var(--brand-500); }
.room-item__avatar { width:38px;height:38px;border-radius:11px;background:var(--ink-100);color:var(--ink-500);display:flex;align-items:center;justify-content:center;font-size:18px; }
.room-item.is-active .room-item__avatar { background:var(--brand-100);color:var(--brand-700); }
.room-item__body { min-width:0; }
.room-item__body>div { display:flex;justify-content:space-between;gap:6px; }
.room-item__body b { font-size:11.5px;color:var(--ink-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.room-item__body span,.room-item>small { font-size:9px;color:var(--ink-300);white-space:nowrap; }
.room-item__body p { margin:3px 0 0;font-size:10px;color:var(--ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.chat-main { min-width:0; display:flex;flex-direction:column;background:#fbfbfd; }
.chat-empty { margin:auto;text-align:center;color:var(--ink-400); }
.chat-empty i { font-size:58px;color:var(--ink-200); }
.chat-empty h3 { margin:8px 0 4px;color:var(--ink-600); }
.chat-empty p { margin:0;font-size:11.5px; }
.chat-head { min-height:70px;padding:13px 18px;background:#fff;border-bottom:1px solid var(--ink-100);display:flex;align-items:center;justify-content:space-between;gap:12px; }
.chat-head h3 { margin:0;font-size:14px; }
.chat-head p { margin:3px 0 0;font-size:10.5px;color:var(--ink-400); }
.chat-messages { flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;min-height:480px;max-height:560px; }
.chat-message { max-width:72%;align-self:flex-start; }
.chat-message.is-mine { align-self:flex-end; }
.chat-message__meta { display:flex;gap:7px;align-items:center;margin:0 6px 4px;font-size:9px;color:var(--ink-300); }
.chat-message__meta b { color:var(--ink-500); }
.chat-message.is-mine .chat-message__meta { justify-content:flex-end; }
.chat-message__bubble { background:#fff;border:1px solid var(--ink-100);box-shadow:var(--shadow-xs);border-radius:4px 14px 14px 14px;padding:9px 12px;font-size:11.5px;color:var(--ink-700);line-height:1.45; }
.chat-message.is-mine .chat-message__bubble { background:var(--brand-600);border-color:var(--brand-600);color:#fff;border-radius:14px 4px 14px 14px; }
.chat-compose { padding:12px 14px;background:#fff;border-top:1px solid var(--ink-100);display:flex;gap:9px;align-items:flex-end; }
.chat-compose textarea { resize:none;min-height:42px; }
@media(max-width:820px){.chat-shell{grid-template-columns:1fr}.chat-rooms{max-height:230px;border-right:0;border-bottom:1px solid var(--ink-100);overflow-y:auto}.chat-messages{min-height:380px}.chat-message{max-width:88%}}
.domain-pills { display:flex; gap:7px; flex-wrap:wrap; }
.domain-pill { display:flex;align-items:center;gap:6px;border:1px solid var(--ink-100);background:#fff;border-radius:9px;padding:6px 9px;color:var(--ink-500);font-size:10px; }
.domain-pill:hover { border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-700); }
.domain-pill b { font-size:12px;color:var(--ink-800); }
.db-module-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.db-module-card { padding:16px; }
.db-module-card__top { display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:start; }
.db-module-card__icon { width:40px;height:40px;border-radius:11px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;font-size:20px; }
.db-module-card h3 { margin:0;font-size:12.5px;color:var(--ink-800); }
.db-module-card code { font-size:9.5px;color:var(--ink-400); }
.db-module-card__meta { display:flex;gap:12px;flex-wrap:wrap;padding:13px 0;margin-top:10px;border-top:1px solid var(--ink-50);border-bottom:1px solid var(--ink-50);font-size:9.5px;color:var(--ink-400); }
.db-module-card__meta span { display:flex;align-items:center;gap:4px; }
.db-module-card__foot { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px; }
@media(max-width:1200px){.db-module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.db-module-grid{grid-template-columns:1fr}.db-module-card__top{grid-template-columns:40px 1fr}.db-module-card__top .badge{grid-column:2}.db-module-card__foot{flex-wrap:wrap}}
.permission-user-card { display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px;border-radius:11px;background:var(--ink-50); }
.permission-user-card b,.permission-user-card span,.permission-user-card small { display:block; }
.permission-user-card b { font-size:11.5px;color:var(--ink-800); }
.permission-user-card span { font-size:10px;color:var(--ink-400); }
.permission-user-card small { font-size:9.5px;color:var(--ink-300);margin-top:2px; }
.preset-grid { display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px; }
.permissions-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.permission-card { display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid var(--ink-100);border-radius:12px;padding:11px;background:#fff;cursor:pointer;transition:all var(--dur-fast); }
.permission-card:hover { border-color:var(--brand-200);box-shadow:var(--shadow-xs); }
.permission-card__icon { width:36px;height:36px;border-radius:10px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;font-size:17px; }
.permission-card__body { min-width:0; }
.permission-card__body b,.permission-card__body span,.permission-card__body code { display:block; }
.permission-card__body b { font-size:11.5px;color:var(--ink-800); }
.permission-card__body span { font-size:9.5px;color:var(--ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.permission-card__body code { font-size:8.5px;color:var(--ink-300);margin-top:2px; }
.switch { position:relative;width:38px;height:22px; }
.switch input { opacity:0;position:absolute; }
.switch span { position:absolute;inset:0;border-radius:20px;background:var(--ink-200);transition:.2s; }
.switch span:after { content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s; }
.switch input:checked+span { background:var(--brand-500); }
.switch input:checked+span:after { transform:translateX(16px); }
@media(max-width:760px){.permissions-grid{grid-template-columns:1fr}.preset-grid{grid-template-columns:1fr 1fr}}

/* =============================================================================
   Topbar inteligente: búsqueda, notificaciones y menú de usuario
   ========================================================================== */
.global-search-panel,.topbar-popover{display:none;background:#fff;border:1px solid var(--ink-100);border-radius:14px;box-shadow:0 18px 55px rgba(15,23,42,.17);overflow:hidden;max-height:min(560px,calc(100vh - 96px));}
.global-search-panel.is-open,.topbar-popover.is-open{display:block;animation:popoverIn .16s ease-out both;}
@keyframes popoverIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.popover-head{min-height:52px;padding:12px 14px;border-bottom:1px solid var(--ink-100);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;}
.popover-head>div strong,.popover-head>div small{display:block}.popover-head strong{font-size:12px;color:var(--ink-800)}.popover-head small,.popover-head>span{font-size:9.5px;color:var(--ink-300);margin-top:2px}.popover-head>a{font-size:10px;font-weight:700;color:var(--brand-600)}
.popover-loading{padding:24px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--ink-400);font-size:11px;}
.mini-spinner{width:16px;height:16px;border:2px solid var(--ink-100);border-top-color:var(--brand-500);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.popover-empty{padding:30px 18px;text-align:center;color:var(--ink-400)}.popover-empty>i{display:block;font-size:30px;color:var(--ink-200);margin-bottom:7px}.popover-empty strong,.popover-empty span{display:block}.popover-empty strong{font-size:11.5px;color:var(--ink-600)}.popover-empty span{font-size:9.5px;margin-top:4px}
.global-search-results{max-height:455px;overflow:auto}.global-search-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid var(--ink-50);color:inherit}.global-search-item:last-child{border-bottom:0}.global-search-item:hover{background:var(--brand-50)}.global-search-icon{width:36px;height:36px;border-radius:10px;background:var(--ink-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;font-size:16px}.global-search-copy{min-width:0}.global-search-copy strong,.global-search-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-copy strong{font-size:11.5px;color:var(--ink-800)}.global-search-copy small{font-size:9.5px;color:var(--ink-400);margin-top:2px}.global-search-item>i{font-size:12px;color:var(--ink-300)}
.notification-list{max-height:420px;overflow:auto}.notification-item{width:100%;border:0;border-bottom:1px solid var(--ink-50);background:#fff;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 13px;cursor:pointer}.notification-item:hover{background:var(--ink-50)}.notification-item.is-unread{background:var(--brand-50)}.notification-glyph{width:32px;height:32px;border-radius:9px;background:var(--ink-50);color:var(--ink-400);display:flex;align-items:center;justify-content:center}.notification-item.is-unread .notification-glyph{background:var(--brand-100);color:var(--brand-700)}.notification-copy{min-width:0}.notification-copy strong,.notification-copy small,.notification-copy em{display:block}.notification-copy strong{font-size:10.8px;color:var(--ink-800)}.notification-copy small{font-size:9.5px;color:var(--ink-400);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-copy em{font-size:8.5px;color:var(--ink-300);font-style:normal;margin-top:4px}
.user-popover-profile{padding:14px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--ink-100)}.user-popover-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}.user-popover-profile strong,.user-popover-profile small{display:block}.user-popover-profile strong{font-size:11.5px;color:var(--ink-800)}.user-popover-profile small{font-size:9.5px;color:var(--ink-400);text-transform:capitalize;margin-top:2px}.user-popover-links{padding:7px}.user-popover-links a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;color:var(--ink-600);font-size:10.5px;font-weight:600}.user-popover-links a:hover{background:var(--ink-50);color:var(--ink-900)}.user-popover-links a i{font-size:15px;color:var(--ink-400)}.user-popover-links a.danger{color:var(--danger-500);margin-top:3px;border-top:1px solid var(--ink-50);border-radius:0;padding-top:11px}.user-popover-links a.danger i{color:var(--danger-500)}
@media(max-width:700px){.global-search-panel{left:12px!important;width:calc(100vw - 24px)!important}.notification-popover{right:12px!important;left:auto!important;width:min(390px,calc(100vw - 24px))!important}.topbar__search{max-width:220px}.topbar__search input{font-size:11px}}

/* Encuesta emergente / CSAT */
.survey-widget-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(4px);z-index:1400;display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .2s ease}.survey-widget-overlay.is-open{opacity:1}.survey-widget{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 90px rgba(15,23,42,.28);transform:translateY(8px) scale(.985);transition:transform .22s ease}.survey-widget-overlay.is-open .survey-widget{transform:none}.survey-widget__hero{padding:22px 22px 18px;background:linear-gradient(135deg,var(--ink-950),var(--brand-700));color:#fff;position:relative}.survey-widget__hero .eyebrow{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;opacity:.65}.survey-widget__hero h2{font-size:18px;margin:6px 40px 4px 0}.survey-widget__hero p{font-size:10.5px;opacity:.76;margin:0;line-height:1.5}.survey-widget__close{position:absolute;right:14px;top:14px;width:32px;height:32px;border:0;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center}.survey-widget__body{padding:18px 22px}.survey-question{padding:13px 0;border-bottom:1px solid var(--ink-50)}.survey-question:last-child{border-bottom:0}.survey-question>label{display:block;font-size:11.5px;font-weight:700;color:var(--ink-700);margin-bottom:9px}.survey-question>label em{font-style:normal;color:var(--danger-500)}.survey-emoji-options,.survey-scale-options,.survey-choice-options{display:flex;gap:7px;flex-wrap:wrap}.survey-option{border:1px solid var(--ink-100);background:#fff;border-radius:10px;padding:8px 11px;min-width:42px;color:var(--ink-600);font-size:11px;cursor:pointer;transition:.15s}.survey-option:hover{border-color:var(--brand-300);background:var(--brand-50)}.survey-option.is-selected{border-color:var(--brand-500);background:var(--brand-50);box-shadow:0 0 0 2px rgba(99,102,241,.08);color:var(--brand-700);font-weight:700}.survey-emoji-options .survey-option{font-size:22px;padding:7px 12px}.survey-widget__foot{padding:13px 22px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.survey-widget__foot small{font-size:9.5px;color:var(--ink-300)}


/* =============================================================================
   V4 · Interacciones premium y sidebar sin scroll
   ========================================================================== */
.card, .kpi-card, .db-module-card, .permission-card, .week-day, .kb-card {
  will-change: transform, box-shadow;
}
.card-hover, .kpi-card, .db-module-card {
  transition: transform .24s var(--ease-out), box-shadow .24s var(--ease-out), border-color .24s ease;
}
.card-hover:hover, .kpi-card:hover, .db-module-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(15,20,32,.12);
  border-color: rgba(99,102,241,.24);
}
.btn { position:relative; overflow:hidden; isolation:isolate; transition:transform .16s var(--ease-out), box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.btn::after { content:''; position:absolute; inset:-60% -20%; z-index:-1; background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%); transform:translateX(-120%) rotate(8deg); transition:transform .55s var(--ease-out); }
.btn:hover::after { transform:translateX(120%) rotate(8deg); }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(67,56,202,.16); }
.btn:active { transform:translateY(0) scale(.985); }
.icon-btn:hover { box-shadow:0 10px 24px rgba(79,70,229,.14); }
.data-table tbody tr { transition: background .16s ease, transform .16s ease, box-shadow .16s ease; }
.data-table tbody tr:hover { position:relative; z-index:1; box-shadow:inset 3px 0 0 var(--brand-400); }
.topbar { background:rgba(255,255,255,.92); }
.sidebar::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 12% 15%,rgba(99,102,241,.10),transparent 28%),radial-gradient(circle at 85% 84%,rgba(14,165,233,.06),transparent 25%); }
.sidebar > * { position:relative; z-index:1; }
.sidebar-toggle { flex-shrink:0; }
.sidebar.is-collapsed .nav-section__title { justify-content:center; padding:7px 4px; }
.sidebar.is-collapsed .nav-section__title span,.sidebar.is-collapsed .nav-section__caret { display:none; }
.sidebar.is-collapsed .nav-section { margin-bottom:2px; }
.sidebar.is-collapsed .nav-section__items { max-height:320px; opacity:1; transform:none; overflow:visible; }
.sidebar.is-collapsed .nav-section:not(.is-open) .nav-section__items { max-height:0; opacity:0; overflow:hidden; }
@media (max-height: 760px) and (min-width: 901px) {
  .brand { padding:14px 16px; }
  .sidebar-tenant { margin:8px 12px; padding:9px 10px; }
  .nav-scroll { gap:2px; padding-top:2px; }
  .nav-section__title { padding:5px 8px; font-size:8.8px; }
  .nav-link { padding:6px 9px; font-size:12.2px; }
  .sidebar-toggle { margin:6px 12px 10px; padding:7px; }
}

/* Landing pública premium */
.public-body { margin:0; min-height:100vh; background:#f7f9ff; color:#10182d; overflow-x:hidden; }
.public-shell { min-height:100vh; position:relative; overflow:hidden; background:
  radial-gradient(circle at 15% 85%,rgba(45,212,191,.28),transparent 30%),
  radial-gradient(circle at 75% 43%,rgba(139,92,246,.20),transparent 34%),
  radial-gradient(circle at 98% 8%,rgba(59,130,246,.30),transparent 31%),
  linear-gradient(135deg,#eef6ff 0%,#fbfdff 50%,#eef4ff 100%); }
.public-grid { position:absolute; inset:0; opacity:.32; pointer-events:none; background-image:radial-gradient(rgba(67,56,202,.18) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(to bottom,#000,transparent 80%); }
.public-nav { width:min(1120px,calc(100% - 40px)); margin:0 auto; height:86px; display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; z-index:5; }
.public-brand { display:flex; align-items:center; gap:11px; font-weight:900; letter-spacing:-.03em; font-size:20px; }
.public-brand__mark { width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#1677ff,#16c4d8);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;box-shadow:0 14px 36px rgba(22,119,255,.25); }
.public-brand small { display:block; font-size:9px; letter-spacing:.22em; color:#7b879e; margin-top:1px; }
.public-nav__links { display:flex; align-items:center; gap:26px; font-size:12px; font-weight:800; color:#344158; }
.public-nav__links a { transition:color .2s,transform .2s; }
.public-nav__links a:hover { color:#2563eb; transform:translateY(-2px); }
.public-actions { display:flex; align-items:center; gap:12px; }
.public-btn { min-height:44px; padding:0 20px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:12px; font-weight:800; border:1px solid rgba(148,163,184,.28); background:rgba(255,255,255,.78); color:#26334a; backdrop-filter:blur(14px); transition:.2s var(--ease-out); box-shadow:0 8px 24px rgba(15,23,42,.05); }
.public-btn:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(15,23,42,.10); }
.public-btn--primary { border:0; color:#fff; background:linear-gradient(135deg,#2563eb,#18bfc7); box-shadow:0 14px 35px rgba(37,99,235,.24); }
.public-hero { width:min(1120px,calc(100% - 40px)); margin:54px auto 0; display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:56px; position:relative; z-index:3; }
.public-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.84); border:1px solid rgba(147,197,253,.65); box-shadow:0 10px 28px rgba(37,99,235,.08); color:#1d4ed8; font-size:11px; font-weight:900; }
.public-badge i { color:#14b8a6; font-size:10px; }
.public-hero h1 { font-size:clamp(48px,5.8vw,78px); line-height:.92; letter-spacing:-.06em; margin:24px 0 22px; font-weight:900; color:#111a2e; }
.public-hero h1 .gradient-word { background:linear-gradient(90deg,#2563eb,#14b8a6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.public-hero p { font-size:18px; line-height:1.75; color:#56657b; max-width:590px; }
.public-hero__actions { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.public-trust { display:flex; align-items:center; gap:13px; margin-top:28px; color:#67758a; font-size:12px; font-weight:700; }
.public-trust__avatars { display:flex; }
.public-trust__avatars span { width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#14b8a6);color:#fff;border:2px solid #fff;margin-left:-7px;font-weight:800; }
.public-trust__avatars span:first-child{margin-left:0}
.public-preview { position:relative; perspective:1200px; }
.preview-window { position:relative; background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.9); border-radius:26px; padding:17px; box-shadow:0 35px 90px rgba(42,65,115,.20); backdrop-filter:blur(18px); transform:rotateY(-4deg) rotateX(1deg); animation:publicFloat 7s ease-in-out infinite; }
.preview-bar { height:42px; border-radius:13px; background:#fff; display:flex; align-items:center; gap:8px; padding:0 15px; box-shadow:inset 0 0 0 1px #edf1f7; color:#a8b1c1; font-size:10px; }
.preview-dot { width:10px;height:10px;border-radius:50%; }.preview-dot:nth-child(1){background:#ff6b35}.preview-dot:nth-child(2){background:#fbbf24}.preview-dot:nth-child(3){background:#10b981}
.preview-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:16px 0; }
.preview-kpi { background:#f3f8ff; border-radius:18px; padding:22px 12px; text-align:center; }
.preview-kpi strong { display:block; font-size:29px; line-height:1; color:#172033; }.preview-kpi span{display:block;font-size:9px;color:#8c98ab;font-weight:800;letter-spacing:.08em;margin-top:8px}
.preview-list { display:grid; gap:10px; }.preview-row { background:#fff; border:1px solid #eef1f5; border-radius:16px; padding:12px 13px; display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:10px; box-shadow:0 6px 18px rgba(15,23,42,.035); transition:.2s; }.preview-row:hover{transform:translateX(5px);box-shadow:0 12px 24px rgba(15,23,42,.07)}
.preview-icon { width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;font-size:19px; }.preview-row:nth-child(2) .preview-icon{background:#effcf7;color:#10b981}.preview-row:nth-child(3) .preview-icon{background:#fff4e8;color:#f97316}
.preview-row b,.preview-row small{display:block}.preview-row b{font-size:11.5px;color:#1f2937}.preview-row small{font-size:9.5px;color:#94a3b8;margin-top:2px}.preview-status{font-size:9px;font-weight:900;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5}
.public-float-card { position:absolute; z-index:4; padding:12px 15px; border-radius:16px; background:rgba(255,255,255,.93); border:1px solid rgba(255,255,255,.95); box-shadow:0 18px 38px rgba(15,23,42,.13); backdrop-filter:blur(12px); font-size:11px; font-weight:800; animation:publicFloat 6s ease-in-out infinite reverse; }
.public-float-card i{color:#0ea5e9;margin-right:6px}.public-float-card--one{left:-24px;top:-24px}.public-float-card--two{right:-30px;top:72px;animation-delay:-2s}.public-float-card--three{left:-28px;bottom:44px;animation-delay:-4s}
.public-features { width:min(1120px,calc(100% - 40px)); margin:120px auto 90px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; position:relative; z-index:3; }
.public-feature { padding:24px; border-radius:20px; background:rgba(255,255,255,.76); border:1px solid rgba(255,255,255,.92); box-shadow:0 18px 40px rgba(15,23,42,.06); backdrop-filter:blur(12px); transition:.25s var(--ease-out); }.public-feature:hover{transform:translateY(-7px);box-shadow:0 28px 52px rgba(15,23,42,.10)}
.public-feature i{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:#4f46e5;font-size:20px}.public-feature h3{margin:15px 0 8px;font-size:15px}.public-feature p{margin:0;color:#6b778c;font-size:12px;line-height:1.6}
@keyframes publicFloat { 0%,100%{transform:translateY(0) rotateY(-4deg) rotateX(1deg)}50%{transform:translateY(-10px) rotateY(-2deg) rotateX(0)} }
@media(max-width:900px){.public-nav__links{display:none}.public-hero{grid-template-columns:1fr;margin-top:30px}.public-preview{margin-top:26px}.public-features{grid-template-columns:1fr}.public-hero h1{font-size:clamp(44px,12vw,70px)}.public-float-card{display:none}}
@media(max-width:560px){.public-nav{width:calc(100% - 24px)}.public-brand span{display:none}.public-actions .public-btn:first-child{display:none}.public-hero{width:calc(100% - 28px);gap:24px}.public-hero p{font-size:15px}.public-hero__actions .public-btn{width:100%}.preview-window{padding:11px}.preview-kpi strong{font-size:21px}.public-features{width:calc(100% - 28px);margin-top:70px}}

/* Login V4 */
.auth-v4 { min-height:100vh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(430px,.72fr); background:#f8faff; }
.auth-v4__scene { position:relative; overflow:hidden; padding:48px; background:linear-gradient(150deg,#0b1222 0%,#121b35 55%,#1e1b4b 100%); color:#fff; display:flex; align-items:center; }
.auth-v4__scene::before,.auth-v4__scene::after{content:'';position:absolute;border-radius:50%;filter:blur(4px);opacity:.75}.auth-v4__scene::before{width:520px;height:520px;background:radial-gradient(circle,rgba(45,212,191,.30),transparent 68%);left:-180px;bottom:-180px}.auth-v4__scene::after{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.42),transparent 67%);right:-180px;top:-180px}
.auth-v4__content{position:relative;z-index:2;max-width:680px}.auth-v4__eyebrow{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;color:#cdd6ff}.auth-v4__scene h2{font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.055em;margin:22px 0 18px}.auth-v4__scene p{max-width:590px;color:#b5c0d9;line-height:1.75;font-size:15px}.auth-v4__bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}.auth-v4__bullet{display:flex;align-items:center;gap:9px;padding:12px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);font-size:11px;color:#dce3f2}.auth-v4__bullet i{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(99,102,241,.18);color:#a5b4fc;font-size:15px}
.auth-v4__panel{display:flex;align-items:center;justify-content:center;padding:42px;background:rgba(255,255,255,.92)}.auth-v4__form{width:min(430px,100%)}.auth-v4__brand{display:flex;align-items:center;gap:10px;margin-bottom:38px}.auth-v4__brand .brand__mark{width:44px;height:44px}.auth-v4__brand strong{font-size:18px;color:var(--ink-900)}.auth-v4__back{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--ink-400)}.auth-v4__back:hover{color:var(--brand-600)}.auth-v4__form h1{font-size:28px;letter-spacing:-.035em;margin:0 0 6px}.auth-v4__form>p{color:var(--ink-400);font-size:12.5px;margin:0 0 26px}.auth-v4__field{margin-bottom:15px}.auth-v4__field label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;color:var(--ink-600);margin-bottom:7px}.auth-v4__input{position:relative}.auth-v4__input>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-300);z-index:2}.auth-v4__input .input{padding-left:39px;height:47px;border-radius:12px;background:#fff}.auth-v4__toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--ink-300);display:flex;align-items:center;justify-content:center}.auth-v4__toggle:hover{background:var(--ink-50);color:var(--ink-600)}.auth-v4__submit{width:100%;height:48px;justify-content:center;margin-top:5px}.auth-v4__foot{text-align:center;margin-top:18px;font-size:11px;color:var(--ink-400)}.auth-v4__foot a{color:var(--brand-600);font-weight:800}.auth-v4__secure{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--ink-300);font-size:9.5px}.auth-v4__secure i{color:var(--success-500)}
@media(max-width:920px){.auth-v4{grid-template-columns:1fr}.auth-v4__scene{display:none}.auth-v4__panel{min-height:100vh;padding:26px 20px}} 

/* V7.3.3 · planificación numerada, clara y compacta */
.week-day__head{background:linear-gradient(135deg,#f8faff,#eef2ff)!important;color:#26324a!important;border-bottom:1px solid #e4e9f4}.week-day__head small{color:#68758d!important}.week-day__head b span{color:#667085!important}.week-day__head em{background:#fff!important;color:#4f46e5!important;border:1px solid #c7d2fe!important;box-shadow:0 5px 14px rgba(79,70,229,.10)}
.week-activity-list{display:grid!important;gap:0!important;overflow:hidden;border:1px solid #e8ecf4;border-radius:14px;background:#fff}.week-list-row{position:relative;display:grid;grid-template-columns:24px 30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 9px;border-bottom:1px solid #eef1f6;background:linear-gradient(90deg,color-mix(in srgb,var(--activity-color) 7%,#fff),#fff 48%)}.week-list-row:last-child{border-bottom:0}.week-list-row::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--activity-color)}.week-list-row:hover{background:color-mix(in srgb,var(--activity-color) 10%,#fff)}.week-list-row__select input{display:none}.week-list-row__select span{display:block;width:16px;height:16px;border:1.5px solid #c7cfdd;border-radius:5px;background:#fff}.week-list-row__select input:checked+span{background:#4f46e5;border-color:#4f46e5;box-shadow:inset 0 0 0 3px #fff}.week-list-row__number{width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--activity-color);color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 12px color-mix(in srgb,var(--activity-color) 25%,transparent)}.week-list-row__copy{min-width:0}.week-list-row__copy div{display:flex;align-items:baseline;gap:7px;min-width:0}.week-list-row__copy b{font-size:11px;color:#1f2937;white-space:normal;line-height:1.4}.week-list-row__copy span,.week-list-row__copy small{font-size:9px;color:#7c8799}.week-list-row__copy small{display:block;margin-top:3px}.week-list-row__actions{display:flex;gap:2px;opacity:0;transition:.18s}.week-list-row:hover .week-list-row__actions{opacity:1}.week-list-row__actions button{width:27px;height:27px;border:0;border-radius:8px;background:#f5f7fb;color:#667085;display:flex;align-items:center;justify-content:center}.week-list-row__actions button:hover{background:#eef2ff;color:#4f46e5}.week-list-row__actions .action-delete:hover{background:#fff1f2;color:#dc2626}
.report-simple-guide{display:flex;align-items:center;gap:13px;padding:14px 16px;margin-bottom:16px;border:1px solid #dfe6f3;border-radius:16px;background:linear-gradient(135deg,#fff,#f7f9ff);box-shadow:0 8px 24px rgba(30,41,59,.04)}.report-simple-guide>i{width:38px;height:38px;border-radius:12px;background:#eef2ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:19px}.report-simple-guide div{flex:1}.report-simple-guide b,.report-simple-guide span{display:block}.report-simple-guide b{font-size:12px;color:#25304a}.report-simple-guide span{font-size:10.5px;color:#6f7c91;margin-top:3px}.planning-report-layout--simple{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}
@media(max-width:760px){.week-list-row{grid-template-columns:22px 28px minmax(0,1fr)}.week-list-row__actions{grid-column:2/-1;opacity:1}.week-list-row__copy div{display:block}.report-simple-guide{align-items:flex-start;flex-wrap:wrap}.report-simple-guide .btn{width:100%}.planning-report-layout--simple{grid-template-columns:1fr}}
.execution-drawer{position:fixed;inset:0;z-index:1300;visibility:hidden;pointer-events:none}.execution-drawer.is-open{visibility:visible;pointer-events:auto}.execution-drawer__backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.35);opacity:0;transition:.22s}.execution-drawer.is-open .execution-drawer__backdrop{opacity:1}.execution-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(670px,96vw);background:#f8fafc;box-shadow:-24px 0 70px rgba(15,23,42,.18);transform:translateX(102%);transition:.3s var(--ease-out);display:flex;flex-direction:column}.execution-drawer.is-open .execution-drawer__panel{transform:none}.execution-drawer__panel>header{padding:23px 25px;background:#fff;border-bottom:1px solid #e8edf4;display:flex;justify-content:space-between}.execution-drawer__panel>header small{font-size:9px;letter-spacing:.15em;color:#7c3aed;font-weight:900}.execution-drawer__panel>header h2{margin:5px 0 4px;font-size:22px}.execution-drawer__panel>header p{margin:0;color:#7b8798;font-size:11px}.execution-progress{margin:17px 22px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff,#f5f3ff);border:1px solid #e8e4fb;display:flex;align-items:center;gap:13px}.execution-progress__ring{--progress:0;width:58px;height:58px;border-radius:50%;background:conic-gradient(#6d5dfc calc(var(--progress)*1%),#e7e9f2 0);display:grid;place-items:center;position:relative}.execution-progress__ring::before{content:"";position:absolute;width:44px;height:44px;border-radius:50%;background:#fff}.execution-progress__ring b{position:relative;font-size:11px}.execution-progress div:last-child b,.execution-progress div:last-child span{display:block}.execution-progress div:last-child b{font-size:12px}.execution-progress div:last-child span{font-size:10px;color:#788498;margin-top:3px}.execution-lines{padding:0 22px 22px;overflow:auto;display:grid;gap:11px}.execution-line{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:16px;background:#fff;border:1px solid #e5eaf2;border-radius:16px;box-shadow:0 6px 18px rgba(15,23,42,.035)}.execution-line__number{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#6d5dfc,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.execution-line h3{font-size:12px;margin:1px 0 4px}.execution-line p{font-size:9.5px;color:#8590a2;margin:0 0 12px}.execution-line__fields{display:grid;grid-template-columns:155px 1fr;gap:10px}.execution-line__fields label{font-size:9.5px;font-weight:800;color:#667085}.execution-line__fields .input{margin-top:5px}.execution-drawer__panel>footer{margin-top:auto;padding:15px 22px;background:#fff;border-top:1px solid #e5eaf2;display:flex;justify-content:flex-end;gap:8px}@media(max-width:560px){.execution-line__fields{grid-template-columns:1fr}.execution-drawer__panel{width:100vw}}

/* Centro operativo / Asistente / Recordatorios */
.ops-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:16px}.ops-stack{display:grid;gap:16px}.ops-hero{position:relative;overflow:hidden;padding:24px;background:linear-gradient(135deg,#10172a,#3730a3);color:#fff}.ops-hero::after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;right:-90px;top:-120px;background:radial-gradient(circle,rgba(45,212,191,.28),transparent 68%)}.ops-hero>*{position:relative;z-index:1}.ops-hero h2{margin:0 0 7px;font-size:24px;letter-spacing:-.03em}.ops-hero p{margin:0;color:#c9d1e6;font-size:12px}.ops-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.ops-actions a{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);color:#fff}.ops-actions a:hover{background:rgba(255,255,255,.16)}.priority-list{display:grid;gap:8px}.priority-item{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--ink-100);border-radius:12px;background:#fff;transition:.18s}.priority-item:hover{transform:translateX(4px);border-color:var(--brand-200);box-shadow:var(--shadow-sm)}.priority-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand-600)}.priority-copy b,.priority-copy small{display:block}.priority-copy b{font-size:11.5px;color:var(--ink-800)}.priority-copy small{font-size:9.5px;color:var(--ink-400);margin-top:2px}.assistant-shell{display:grid;grid-template-columns:1fr 320px;gap:16px}.assistant-chat{min-height:640px;display:flex;flex-direction:column;overflow:hidden}.assistant-messages{flex:1;padding:18px;display:flex;flex-direction:column;gap:11px;overflow:auto;background:linear-gradient(180deg,#fbfcff,#f6f8fd)}.assistant-msg{max-width:82%;padding:11px 13px;border-radius:14px;background:#fff;border:1px solid var(--ink-100);box-shadow:var(--shadow-xs);font-size:11.5px;line-height:1.55;color:var(--ink-700)}.assistant-msg.is-user{align-self:flex-end;background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.assistant-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--ink-100);background:#fff}.assistant-side{display:grid;gap:12px;align-content:start}.assistant-suggestion{width:100%;text-align:left;border:1px solid var(--ink-100);background:#fff;border-radius:12px;padding:11px;transition:.18s;color:var(--ink-700);font-size:10.5px}.assistant-suggestion:hover{transform:translateY(-2px);border-color:var(--brand-200);box-shadow:var(--shadow-sm);color:var(--brand-700)}.reminder-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reminder-card{padding:15px;border:1px solid var(--ink-100);border-radius:14px;background:#fff;transition:.2s}.reminder-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--brand-200)}.reminder-card__head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}.reminder-card h3{font-size:12px;margin:0}.reminder-card p{font-size:10.5px;color:var(--ink-400);min-height:32px}.reminder-card__meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--ink-300);border-top:1px solid var(--ink-50);padding-top:9px;margin-top:10px}@media(max-width:980px){.ops-grid,.assistant-shell{grid-template-columns:1fr}.reminder-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.reminder-board{grid-template-columns:1fr}}

/* =========================================================
   V5 · Ticket Experience — vista individual premium
   ========================================================= */
.ticket-create-shell,.ticket-view-shell{max-width:1480px;margin:0 auto;animation:ticketPageIn .42s cubic-bezier(.2,.8,.2,1)}
@keyframes ticketPageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ticket-create-head{margin-bottom:22px}.ticket-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.ticket-form-card{padding:28px;border:1px solid rgba(99,102,241,.12);box-shadow:0 18px 50px rgba(15,23,42,.06)}
.ticket-section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.ticket-section-title h3{margin:0 0 4px;font-size:17px}.ticket-section-title p{margin:0;color:var(--ink-400);font-size:13px}.ticket-section-number{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(79,70,229,.25)}
.ticket-divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:28px 0}.input-lg{min-height:48px;font-size:15px}.ticket-description{min-height:180px;resize:vertical;line-height:1.65}.field-help{display:flex;justify-content:flex-end;color:var(--ink-300);font-size:12px;margin-top:6px}
.upload-zone{margin-top:14px;min-height:126px;border:1.5px dashed #c7d2fe;border-radius:18px;background:linear-gradient(180deg,#fafbff,#f5f7ff);display:flex;align-items:center;justify-content:center;gap:16px;padding:22px;cursor:pointer;transition:.22s ease;outline:none}.upload-zone:hover,.upload-zone:focus,.upload-zone.is-dragging{border-color:#6366f1;background:#eef2ff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(79,70,229,.10)}.upload-zone__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#fff;color:#4f46e5;font-size:25px;box-shadow:0 8px 20px rgba(79,70,229,.12)}.upload-zone strong{display:block;font-size:14px}.upload-zone span{display:block;color:var(--ink-400);font-size:12px;margin-top:5px}
.ticket-file-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.ticket-file-chip{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.ticket-file-chip>i{font-size:20px;color:#4f46e5}.ticket-file-chip div{min-width:0;flex:1}.ticket-file-chip b,.ticket-file-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-file-chip b{font-size:12px}.ticket-file-chip small{font-size:11px;color:var(--ink-300);margin-top:2px}.ticket-file-chip button{border:0;background:transparent;cursor:pointer;color:var(--ink-300)}.ticket-file-chip button:hover{color:#ef4444}.ticket-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.ticket-submit-btn{min-width:170px}
.ticket-create-aside{display:grid;gap:14px;position:sticky;top:86px}.ticket-help-card,.ticket-priority-guide{padding:20px}.ticket-help-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#fff7ed;color:#f59e0b;font-size:22px;margin-bottom:14px}.ticket-help-card h3,.ticket-priority-guide h3{font-size:15px;margin:0 0 12px}.ticket-help-card ul{padding-left:18px;margin:0;color:var(--ink-500);font-size:13px;line-height:1.8}.ticket-priority-guide>div{display:grid;grid-template-columns:12px 70px 1fr;gap:8px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}.ticket-priority-guide>div:last-child{border:0}.ticket-priority-guide b{font-size:12px}.ticket-priority-guide small{font-size:11px;color:var(--ink-400);line-height:1.4}.priority-dot{width:9px;height:9px;border-radius:50%;margin-top:4px}.priority-low{background:#94a3b8}.priority-normal{background:#38bdf8}.priority-high{background:#f59e0b}.priority-urgent{background:#ef4444}.ticket-help-card.subtle{display:flex;gap:12px;align-items:flex-start}.ticket-help-card.subtle>i{font-size:22px;color:#10b981}.ticket-help-card.subtle p{font-size:12px;color:var(--ink-400);margin:4px 0 0;line-height:1.55}

.ticket-view-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.ticket-view-breadcrumb{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-300)}.ticket-view-breadcrumb a{display:flex;align-items:center;gap:6px;color:var(--ink-600);font-weight:600}.ticket-view-actions{display:flex;gap:8px}.ticket-view-loading{padding:26px}.ticket-hero{padding:24px 26px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px;background:radial-gradient(circle at 95% 0,rgba(99,102,241,.10),transparent 34%),#fff;overflow:hidden;position:relative}.ticket-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-90px;top:-120px;background:rgba(14,165,233,.08)}.ticket-hero__eyebrow{display:flex;align-items:center;gap:8px;color:#4f46e5;font-size:12px;font-weight:800;letter-spacing:.02em}.ticket-hero h1{margin:9px 0 13px;font-size:clamp(22px,2vw,30px);line-height:1.2;max-width:900px}.ticket-hero__meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--ink-400);font-size:12px}.ticket-hero__meta span{display:flex;align-items:center;gap:6px}.ticket-hero__badges{display:flex;gap:7px;position:relative;z-index:1}
.ticket-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.ticket-view-main,.ticket-view-aside{display:grid;gap:18px}.ticket-view-aside{position:sticky;top:84px}.ticket-description-card,.ticket-conversation-card,.ticket-properties-card,.ticket-files-card,.ticket-timeline-card{padding:20px}.card-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.card-section-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:15px}.card-section-head p{font-size:12px;color:var(--ink-400);margin:4px 0 0}.ticket-description-body{font-size:14px;line-height:1.75;color:var(--ink-700);background:#fafbfc;border:1px solid var(--line);border-radius:14px;padding:18px;min-height:85px;overflow-wrap:anywhere}.ticket-description-body p:first-child{margin-top:0}.ticket-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.ticket-context-grid>div{padding:11px 12px;border-radius:12px;background:#f8fafc}.ticket-context-grid span,.ticket-context-grid b{display:block}.ticket-context-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-300);font-weight:700}.ticket-context-grid b{font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-thread{display:flex;flex-direction:column;gap:13px;max-height:620px;overflow:auto;padding:2px 5px 8px}.thread-message{display:flex;gap:10px;align-items:flex-start}.thread-message.is-mine{flex-direction:row-reverse}.thread-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-weight:800;font-size:12px;flex:0 0 34px}.thread-message.is-mine .thread-avatar{background:#e8fff6;color:#059669}.thread-bubble{max-width:min(78%,720px);padding:12px 14px;border:1px solid var(--line);border-radius:15px 15px 15px 4px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.035)}.thread-message.is-mine .thread-bubble{border-radius:15px 15px 4px 15px;background:#f5f7ff;border-color:#dfe3ff}.thread-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}.thread-meta b{font-size:12px}.thread-meta span{font-size:10px;padding:2px 6px;border-radius:999px;background:#f1f5f9;color:var(--ink-400)}.thread-meta time{font-size:10px;color:var(--ink-300);margin-left:auto}.thread-text{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.thread-text p{margin:.35em 0}.ticket-reply-box{margin-top:16px;border:1px solid #dbe0ea;border-radius:16px;overflow:hidden;transition:.2s}.ticket-reply-box:focus-within{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.08)}.reply-toolbar{display:flex;gap:5px;padding:8px 10px;background:#fafbfc;border-bottom:1px solid var(--line)}.reply-tool{border:0;background:transparent;border-radius:8px;padding:6px 8px;font-size:11px;color:var(--ink-500);cursor:pointer}.reply-tool:hover{background:#eef2ff;color:#4f46e5}.ticket-reply-box textarea{border:0!important;box-shadow:none!important;border-radius:0!important;min-height:115px;resize:vertical}.reply-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;background:#fafbfc;border-top:1px solid var(--line)}.reply-footer span{font-size:10px;color:var(--ink-300);display:flex;align-items:center;gap:5px}
.btn-block{width:100%;justify-content:center}.ticket-properties-card .field{margin-bottom:12px}.ticket-file-list{display:grid;gap:8px}.ticket-file-row{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:11px;color:inherit;transition:.18s}.ticket-file-row:hover{background:#f8faff;border-color:#cbd5ff;transform:translateX(2px)}.ticket-file-row__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef2ff;color:#4f46e5;flex:0 0 34px}.ticket-file-row>div:nth-child(2){min-width:0;flex:1}.ticket-file-row b,.ticket-file-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-file-row b{font-size:11px}.ticket-file-row small{font-size:10px;color:var(--ink-300);margin-top:3px}.ticket-file-row>i{color:var(--ink-300)}.ticket-no-files{text-align:center;padding:14px;color:var(--ink-300);font-size:11px;background:#fafbfc;border-radius:10px}.ticket-timeline{display:grid;gap:0;max-height:360px;overflow:auto;padding-right:2px}.timeline-item{position:relative;display:flex;gap:9px;padding:0 0 15px}.timeline-item:not(:last-child):after{content:"";position:absolute;left:14px;top:29px;bottom:0;width:1px;background:var(--line)}.timeline-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#f1f5f9;color:#64748b;flex:0 0 29px;z-index:1}.timeline-item.is-private .timeline-icon{background:#fff7ed;color:#f59e0b}.timeline-item b,.timeline-item span{display:block}.timeline-item b{font-size:11px;line-height:1.35}.timeline-item span{font-size:10px;color:var(--ink-300);margin-top:3px}.ticket-note-box{border-top:1px solid var(--line);padding-top:13px;margin-top:3px}.ticket-note-box textarea{min-height:70px;resize:vertical;margin-bottom:7px}.ticket-code-link{font-weight:800;color:#4f46e5}.ticket-subject-link{font-weight:600;color:var(--ink-800)}.ticket-subject-link:hover,.ticket-code-link:hover{color:#3730a3}.ticket-row-agent{display:block;color:var(--ink-300);font-size:10px;margin-top:4px}.ticket-kpi-filter{cursor:pointer}.ticket-kpi-filter:hover{border-color:#c7d2fe}.spin{animation:ticketSpin .8s linear infinite}@keyframes ticketSpin{to{transform:rotate(360deg)}}
@media(max-width:1400px){.ticket-create-layout{grid-template-columns:1fr}.ticket-create-aside{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.ticket-create-layout,.ticket-view-layout{grid-template-columns:1fr}.ticket-create-aside,.ticket-view-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-view-aside .ticket-timeline-card{grid-column:1/-1}}
@media(max-width:700px){.ticket-create-layout,.ticket-view-layout{display:block}.ticket-create-aside,.ticket-view-aside{display:grid;grid-template-columns:1fr;margin-top:14px}.ticket-form-card,.ticket-description-card,.ticket-conversation-card{padding:16px}.ticket-context-grid{grid-template-columns:1fr 1fr}.ticket-file-queue{grid-template-columns:1fr}.ticket-view-top,.ticket-hero{align-items:stretch;flex-direction:column}.ticket-view-actions{overflow:auto}.ticket-hero__badges{align-self:flex-start}.thread-bubble{max-width:88%}.reply-footer{align-items:flex-start;flex-direction:column}.reply-footer .btn{width:100%;justify-content:center}}
@media print{.sidebar,.topbar,.ticket-view-top,.ticket-properties-card,.ticket-note-box,.ticket-reply-box,#announcementBanners{display:none!important}.main-area{margin:0!important}.content{padding:0!important}.ticket-view-layout{display:block}.ticket-view-aside{position:static}.ticket-files-card,.ticket-timeline-card{break-inside:avoid}.ticket-thread{max-height:none;overflow:visible}}

/* =============================================================================
   V6 · Suite operativa completa
   ========================================================================== */
.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.premium-tabs{display:flex;align-items:center;gap:6px;padding:5px;background:#fff;border:1px solid var(--ink-100);border-radius:14px;box-shadow:var(--shadow-xs);margin-bottom:16px;overflow:auto}
.premium-tabs button{border:0;background:transparent;color:var(--ink-400);display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:all .18s ease}
.premium-tabs button:hover{background:var(--ink-50);color:var(--brand-600);transform:translateY(-1px)}
.premium-tabs button.is-active{background:linear-gradient(135deg,var(--brand-50),#f4f1ff);color:var(--brand-700);box-shadow:inset 0 0 0 1px var(--brand-100)}
.ops-panel{display:none;animation:fadeUp .22s ease}.ops-panel.is-active{display:block}.ops-card{padding:20px}.table-wrap.flat{box-shadow:none;border:1px solid var(--ink-100);border-radius:14px;overflow:auto}
.ops-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.ops-kpi{padding:14px 15px;display:flex;align-items:center;gap:11px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ops-kpi:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.07);border-color:#dfe3ff}.ops-kpi>i{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff);color:#4f46e5;font-size:18px}.ops-kpi b,.ops-kpi span{display:block}.ops-kpi b{font-size:19px;letter-spacing:-.03em;color:var(--ink-900)}.ops-kpi span{font-size:10.5px;color:var(--ink-400);margin-top:2px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.permission-grid label{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--ink-100);border-radius:11px;background:#fbfcfe;font-size:12px;font-weight:600;color:var(--ink-600);cursor:pointer}.permission-grid label:has(input:checked){border-color:#c7d2fe;background:#f6f7ff;color:#4338ca}.mini-perms{display:flex;flex-wrap:wrap;gap:5px}.mini-perms span{font-size:9.5px;font-weight:700;color:#4338ca;background:#eef2ff;padding:4px 7px;border-radius:999px}.data-table td small{display:block;color:var(--ink-300);font-size:10px;margin-top:3px}

/* Kanban de tickets */
.ticket-board-head{align-items:center}.ticket-board-toolbar{padding:12px;display:grid;grid-template-columns:minmax(260px,1fr) 170px 200px 190px auto;gap:9px;margin-bottom:13px}.board-search i{left:13px}.board-search .input{padding-left:38px}.board-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px}.board-summary>div{background:#fff;border:1px solid var(--ink-100);border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:8px}.board-summary b{font-size:17px;color:var(--ink-900)}.board-summary span{font-size:10.5px;color:var(--ink-400)}.board-summary .is-danger b{color:#dc2626}.board-summary .is-warning b{color:#d97706}.ticket-kanban{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:12px;align-items:start;overflow:auto;padding-bottom:8px}.kanban-column{background:#f8fafc;border:1px solid #e8edf4;border-radius:16px;min-width:260px;overflow:hidden}.kanban-column>header{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid #e8edf4;background:rgba(255,255,255,.75);backdrop-filter:blur(8px)}.kanban-column>header>div{display:flex;align-items:center;gap:8px}.kanban-column h3{font-size:12px;margin:0}.kanban-count{font-size:10px;font-weight:800;background:#fff;border:1px solid #e2e8f0;padding:3px 7px;border-radius:999px;color:var(--ink-500)}.kanban-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px rgba(148,163,184,.12)}.kanban-dot.is-open{background:#38bdf8}.kanban-dot.is-pending{background:#f59e0b}.kanban-dot.is-answered{background:#6366f1}.kanban-dot.is-closed{background:#10b981}.kanban-dropzone{padding:10px;display:grid;gap:9px;min-height:400px;transition:background .18s ease,outline .18s ease}.kanban-dropzone.is-over{background:#eef2ff;outline:2px dashed #818cf8;outline-offset:-5px}.kanban-ticket{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:12px;box-shadow:0 5px 18px rgba(15,23,42,.035);cursor:grab;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kanban-ticket:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(15,23,42,.08);border-color:#cbd5ff}.kanban-ticket.is-dragging{opacity:.45;transform:rotate(1deg) scale(.985)}.kanban-ticket__top,.kanban-ticket__bottom,.kanban-ticket__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-code{font-size:10.5px;font-weight:800;color:#4f46e5}.priority-pill{font-size:9px;font-weight:800;padding:3px 7px;border-radius:999px}.priority-pill.is-danger{background:#fee2e2;color:#b91c1c}.priority-pill.is-warning{background:#fef3c7;color:#b45309}.priority-pill.is-brand{background:#e0e7ff;color:#4338ca}.priority-pill.is-neutral{background:#f1f5f9;color:#64748b}.kanban-title{display:block;font-size:12.5px;font-weight:700;color:var(--ink-800);line-height:1.45;margin:9px 0 8px}.kanban-title:hover{color:#4f46e5}.kanban-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:9px}.kanban-tags span{font-size:8.5px;font-weight:700;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:3px 6px;color:#64748b}.kanban-ticket__meta{display:grid;gap:5px;border-top:1px solid #f1f5f9;padding-top:8px;margin-top:3px}.kanban-ticket__meta span{font-size:9.5px;color:var(--ink-400);display:flex;align-items:center;gap:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kanban-ticket__bottom{margin-top:9px}.kanban-sla{font-size:9px;font-weight:700;color:#64748b;display:flex;gap:4px;align-items:center}.kanban-sla.is-ok{color:#059669}.kanban-sla.is-risk{color:#d97706}.kanban-sla.is-breached{color:#dc2626}.kanban-sla.is-done{color:#059669}.kanban-agent{font-size:9px;color:#64748b;display:flex;gap:4px;align-items:center;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-ticket__foot{border-top:1px dashed #e2e8f0;margin-top:8px;padding-top:7px;color:#94a3b8;font-size:8.5px}.kanban-ticket__foot span{display:flex;align-items:center;gap:4px}.kanban-empty{min-height:330px;border:1px dashed #dce3ed;border-radius:12px;display:grid;place-items:center;align-content:center;gap:8px;color:#94a3b8;font-size:10px}.kanban-empty i{font-size:25px}.kanban-loading{display:grid;gap:9px}.kanban-loading .skeleton{height:145px;border-radius:13px}

/* Detalle de ticket V6 */
.ticket-hero__badges{flex-direction:column;align-items:flex-end}.ticket-sla-mini{min-width:155px;border:1px solid #e2e8f0;border-radius:11px;padding:8px 9px;display:grid;grid-template-columns:18px 1fr;align-items:center;column-gap:6px;background:#fff;color:#64748b;box-shadow:0 4px 12px rgba(15,23,42,.025)}.ticket-sla-mini i{grid-row:1/3;font-size:16px}.ticket-sla-mini span{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.ticket-sla-mini b{font-size:11px}.ticket-sla-mini.is-ok{border-color:#bbf7d0;color:#047857;background:#f0fdf4}.ticket-sla-mini.is-risk{border-color:#fde68a;color:#b45309;background:#fffbeb}.ticket-sla-mini.is-breached{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.ticket-view-actions #tvWatch.is-active{color:#4338ca;border-color:#c7d2fe;background:#eef2ff}.ticket-productivity-card{padding:20px}.ticket-detail-tabs{margin-bottom:14px}.ticket-detail-panel{display:none;animation:fadeUp .18s ease}.ticket-detail-panel.is-active{display:block}.ticket-checklist{display:grid;gap:7px}.checklist-item{display:grid;grid-template-columns:32px 1fr 34px;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e5eaf2;border-radius:11px;background:#fff}.checklist-item.is-done{background:#f8fafc}.checklist-item.is-done b{text-decoration:line-through;color:#94a3b8}.checklist-toggle{width:30px;height:30px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:#64748b;cursor:pointer;font-size:18px}.checklist-toggle:hover{background:#eef2ff;color:#4f46e5}.checklist-item.is-done .checklist-toggle{color:#059669}.checklist-item b,.checklist-item small{display:block}.checklist-item b{font-size:11.5px}.checklist-item small{font-size:9.5px;color:#94a3b8;margin-top:2px}.ticket-inline-create{display:flex;gap:8px;margin-top:10px}.ticket-inline-create .input{flex:1}.ticket-relations-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ticket-relation-box{border:1px solid #e5eaf2;border-radius:13px;padding:13px;background:#fbfcfe;min-width:0}.ticket-relation-box.relation-wide{grid-column:1/-1}.relation-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.relation-head h4{font-size:11.5px;margin:0;display:flex;align-items:center;gap:6px}.tag-cloud{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.ticket-tag{--tag:#4f46e5;display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--tag) 11%,white);border:1px solid color-mix(in srgb,var(--tag) 23%,white);color:color-mix(in srgb,var(--tag) 80%,black);border-radius:999px;padding:4px 7px;font-size:9.5px;font-weight:800}.ticket-tag button{border:0;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;padding:0}.relation-add{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:9px}.relation-add:has(#tvLinkTicket){grid-template-columns:minmax(0,1fr) 150px auto}.relation-add:has(#tvTagSelect){grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.relation-list{display:grid;gap:6px}.relation-row{display:grid;grid-template-columns:28px 1fr 30px;gap:8px;align-items:center;padding:7px 8px;border-radius:9px;background:#fff;border:1px solid #edf1f5}.relation-row>i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5}.relation-row b,.relation-row span{display:block}.relation-row b{font-size:10.5px}.relation-row span{font-size:9px;color:#94a3b8;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-empty{padding:12px;border:1px dashed #dbe3ed;border-radius:9px;text-align:center;color:#94a3b8;font-size:10px}.time-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.time-summary>div{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e5eaf2;border-radius:12px;padding:10px 12px}.time-summary span,.time-summary b{display:block}.time-summary span{font-size:9px;color:#94a3b8;text-transform:uppercase;font-weight:800}.time-summary b{font-size:17px;margin-top:3px}.time-entry-list{display:grid;gap:6px}.time-entry{display:grid;grid-template-columns:70px 1fr 34px;gap:9px;align-items:center;padding:8px 9px;border:1px solid #edf1f5;border-radius:10px}.time-entry__amount{font-size:11px;font-weight:800;color:#4338ca;background:#eef2ff;border-radius:8px;padding:7px;text-align:center}.time-entry b,.time-entry span,.time-entry small{display:block}.time-entry b{font-size:10.5px}.time-entry span{font-size:9.5px;color:#64748b;margin-top:2px}.time-entry small{font-size:8.5px;color:#94a3b8;margin-top:2px}.time-add{display:grid;grid-template-columns:100px 140px 1fr auto;gap:7px;margin-top:10px}.satisfaction-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.satisfaction-grid>div{border:1px solid #e5eaf2;border-radius:13px;padding:14px;background:#fbfcfe}.satisfaction-grid h4{font-size:12px;margin:0 0 9px}.star-rating{display:flex;gap:3px;margin-bottom:9px}.star-rating button{border:0;background:transparent;color:#cbd5e1;font-size:22px;padding:2px;cursor:pointer;transition:.15s}.star-rating button:hover,.star-rating button.is-active{color:#f59e0b;transform:translateY(-1px)}.satisfaction-grid textarea{min-height:80px;margin-bottom:8px}.feedback-summary{display:grid;place-items:center}.feedback-score{text-align:center}.feedback-score i{font-size:32px;color:#f59e0b}.feedback-score b,.feedback-score span{display:block}.feedback-score b{font-size:20px;margin:7px 0 2px}.feedback-score span{font-size:10px;color:#94a3b8;line-height:1.45}

/* Control de planificación */
.planning-settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.planning-config-list{display:grid;gap:8px}.planning-config-item{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e8edf4;border-radius:12px;background:#fff;transition:.18s}.planning-config-item:hover{border-color:#cbd5ff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,23,42,.05)}.planning-config-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:18px}.planning-config-main>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.planning-config-main h4{margin:0;font-size:11.5px}.planning-config-main>div>span{font-size:9px;color:#94a3b8}.planning-config-main p{margin:3px 0;font-size:10px;color:#64748b}.planning-config-main small{font-size:9px;color:#94a3b8}.planning-config-actions{display:flex;align-items:center;gap:6px}.progress-inline{width:90px;height:6px;border-radius:99px;background:#eef2f7;overflow:hidden;display:inline-block;margin-right:6px}.progress-inline span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#22c55e);border-radius:inherit}

/* Monitor de comunicaciones */
.communications-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comm-list{display:grid;gap:7px}.comm-item{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e8edf4;border-radius:11px;background:#fff}.comm-icon{width:36px;height:36px;border-radius:10px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.comm-item b,.comm-item span,.comm-item small{display:block}.comm-item b{font-size:10.5px}.comm-item span{font-size:9.5px;color:#64748b;margin-top:2px}.comm-item small{font-size:8.5px;color:#94a3b8;margin-top:2px}

@media(max-width:1350px){.ops-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-board-toolbar{grid-template-columns:1fr 150px 180px 170px auto}.ticket-kanban{grid-template-columns:repeat(4,300px)}}
@media(max-width:980px){.ticket-board-toolbar{grid-template-columns:1fr 1fr}.ticket-board-toolbar .board-search{grid-column:1/-1}.ticket-kanban{grid-template-columns:repeat(4,280px)}.planning-settings-grid,.communications-grid{grid-template-columns:1fr}.ticket-relations-grid,.satisfaction-grid{grid-template-columns:1fr}.ticket-relation-box.relation-wide{grid-column:auto}.time-add{grid-template-columns:1fr 1fr}.time-add #tvTimeNote{grid-column:1/-1}.ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ops-kpis,.board-summary{grid-template-columns:1fr 1fr}.ticket-board-toolbar{grid-template-columns:1fr}.ticket-board-toolbar>*{grid-column:auto!important}.premium-tabs{margin-left:-4px;margin-right:-4px}.permission-grid{grid-template-columns:1fr}.ticket-inline-create,.relation-add,.relation-add:has(#tvLinkTicket),.relation-add:has(#tvTagSelect),.time-add{grid-template-columns:1fr}.ticket-hero__badges{align-items:flex-start}.ticket-sla-mini{min-width:0}.ops-card,.ticket-productivity-card{padding:15px}}

/* =============================================================================
   V6 — Perfil personal y papelera segura
   ========================================================================== */
.profile-premium-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.profile-identity-card{overflow:hidden;padding:0 20px 20px;text-align:center;position:relative}.profile-cover{height:104px;margin:0 -20px 0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.5),transparent 30%),linear-gradient(135deg,#4338ca,#4f46e5 45%,#06b6d4);position:relative}.profile-cover:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(to bottom,#000,transparent)}.profile-avatar-xl{width:82px;height:82px;border-radius:24px;background:linear-gradient(145deg,#fff,#eef2ff);border:5px solid #fff;box-shadow:0 10px 28px rgba(79,70,229,.18);display:grid;place-items:center;color:#4338ca;font-size:30px;font-weight:900;margin:-40px auto 12px;position:relative}.profile-identity-card h2{margin:0;font-size:19px;color:var(--ink-900)}.profile-identity-card>p{margin:4px 0 18px;color:var(--ink-400);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.profile-meta-list{display:grid;gap:8px;text-align:left}.profile-meta-list>div{display:grid;grid-template-columns:31px 1fr;align-items:center;gap:8px;padding:8px 9px;border:1px solid #edf1f6;border-radius:10px;background:#fbfcfe;color:#64748b;font-size:10px}.profile-meta-list i{width:29px;height:29px;border-radius:8px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:15px}.profile-security-badge{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;text-align:left;margin-top:14px;padding:11px;border-radius:12px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #bbf7d0}.profile-security-badge>i{width:37px;height:37px;border-radius:10px;background:#fff;color:#059669;display:grid;place-items:center;font-size:19px}.profile-security-badge b,.profile-security-badge span{display:block}.profile-security-badge b{font-size:10.5px;color:#047857}.profile-security-badge span{font-size:8.7px;color:#6b8f7d;margin-top:2px}.profile-workspace{min-width:0}.preference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preference-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid #e5eaf2;border-radius:13px;padding:12px;background:#fff;cursor:pointer;transition:.18s}.preference-card:hover{transform:translateY(-2px);border-color:#c7d2fe;box-shadow:0 12px 26px rgba(15,23,42,.06)}.preference-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:19px}.preference-card b,.preference-card span{display:block}.preference-card b{font-size:11px;color:#1e293b}.preference-card span{font-size:9px;color:#94a3b8;line-height:1.4;margin-top:2px}.preference-card input{width:18px;height:18px;accent-color:#4f46e5}.password-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px;align-items:center}.password-strength>span{height:5px;border-radius:999px;background:#e8edf4;transition:.2s}.password-strength small{grid-column:1/-1;color:#94a3b8;font-size:9px}.password-strength[data-score="1"]>span:nth-child(-n+1),.password-strength[data-score="2"]>span:nth-child(-n+2),.password-strength[data-score="3"]>span:nth-child(-n+3),.password-strength[data-score="4"]>span:nth-child(-n+4){background:linear-gradient(90deg,#4f46e5,#06b6d4)}

/* La papelera reutiliza tablas operativas, con acento visual de recuperación */
#trashTicketRows tr{transition:.16s}#trashTicketRows tr:hover{background:#fafbff}#trashTicketRows td:first-child b{color:#312e81}#trashTicketRows td:first-child small{display:block;margin-top:3px;color:#94a3b8;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:980px){.profile-premium-grid{grid-template-columns:1fr}.profile-identity-card{max-width:none}.preference-grid{grid-template-columns:1fr}}

/* V7 · Alta de ticket empresarial */
.ticket-create-premium{max-width:1540px}.ticket-form-section{padding:5px 0 27px;margin-bottom:24px;border-bottom:1px solid #edf1f6}.ticket-form-section:last-of-type{border-bottom:0;margin-bottom:0}.ticket-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.ticket-choice{position:relative;display:grid;grid-template-columns:45px 1fr 20px;gap:11px;align-items:center;min-height:96px;padding:15px;border:1px solid #e4e9f1;border-radius:16px;background:linear-gradient(145deg,#fff,#fafbff);cursor:pointer;transition:.2s var(--ease-out)}.ticket-choice:hover{transform:translateY(-3px);border-color:#c7d2fe;box-shadow:0 13px 28px rgba(15,23,42,.07)}.ticket-choice.is-selected{border-color:#818cf8;background:linear-gradient(145deg,#f7f7ff,#eef2ff);box-shadow:0 0 0 3px rgba(99,102,241,.08)}.ticket-choice>input,.priority-pill>input{position:absolute;opacity:0;pointer-events:none}.ticket-choice>i:first-of-type{width:45px;height:45px;border-radius:13px;background:#f1f5f9;color:#64748b;display:grid;place-items:center;font-size:21px;transition:.2s}.ticket-choice.is-selected>i:first-of-type{background:#fff;color:#4f46e5;box-shadow:0 7px 17px rgba(79,70,229,.13)}.ticket-choice b,.ticket-choice small{display:block}.ticket-choice b{font-size:13px;color:#1e293b}.ticket-choice small{font-size:10.5px;line-height:1.45;color:#64748b;margin-top:4px}.choice-check{opacity:0;color:#4f46e5;font-size:19px;transition:.18s}.ticket-choice.is-selected .choice-check{opacity:1}.ticket-priority-pills{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px}.priority-pill{position:relative;cursor:pointer;border:1px solid #e5eaf1;background:#fff;border-radius:12px;padding:10px 12px;text-align:center;color:#64748b;font-size:11.5px;font-weight:800;transition:.18s}.priority-pill:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,23,42,.06)}.priority-pill--low.is-selected{background:#f8fafc;border-color:#94a3b8;color:#475569}.priority-pill--normal.is-selected{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}.priority-pill--high.is-selected{background:#fffbeb;border-color:#fbbf24;color:#b45309}.priority-pill--urgent.is-selected{background:#fef2f2;border-color:#f87171;color:#b91c1c}.priority-explanation{padding:9px 11px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:10.5px;margin-top:8px}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-feedback{font-size:9.5px;color:#94a3b8;margin-top:5px}.field-feedback.is-valid{color:#059669}.dynamic-form-panel{margin-top:14px;padding:15px;border:1px solid #dfe4ff;border-radius:15px;background:linear-gradient(135deg,#fafbff,#f5f7ff)}.dynamic-form-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dynamic-form-panel__head>div{display:flex;align-items:center;gap:7px;color:#4338ca;font-size:12px}.dynamic-form-panel__head small{font-size:9px;color:#818cf8;text-transform:uppercase;font-weight:800}.dynamic-radio-group{display:flex;flex-wrap:wrap;gap:7px}.dynamic-radio-group label,.dynamic-check{padding:8px 10px;border-radius:9px;border:1px solid #e2e8f0;background:#fff;font-size:10.5px;cursor:pointer}.ticket-editor .ql-toolbar{border-color:#dbe1ea;border-radius:12px 12px 0 0;background:#fafbfc}.ticket-editor .ql-container{border-color:#dbe1ea;border-radius:0 0 12px 12px;min-height:190px;font:13px/1.65 Inter,sans-serif;background:#fff}.ticket-editor .ql-editor{min-height:190px}.ticket-editor:focus-within .ql-toolbar,.ticket-editor:focus-within .ql-container{border-color:#818cf8}.ticket-form-actions--sticky{position:sticky;bottom:-1px;z-index:4;margin:22px -28px -28px;padding:15px 28px;border-top:1px solid #e5eaf1;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-radius:0 0 18px 18px}.smart-ticket-panel{padding:18px;border:1px solid #dfe4ff;background:radial-gradient(circle at 100% 0,rgba(99,102,241,.12),transparent 36%),#fff}.smart-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}.smart-panel-head>div{display:flex;gap:9px;align-items:center}.smart-panel-head>div>i{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:17px}.smart-panel-head b,.smart-panel-head small{display:block}.smart-panel-head b{font-size:12px}.smart-panel-head small{font-size:8.5px;color:#94a3b8;margin-top:2px}.live-badge{display:flex;align-items:center;gap:5px;font-size:8px;text-transform:uppercase;font-weight:900;color:#059669;background:#ecfdf5;border-radius:999px;padding:4px 7px}.live-badge i{width:5px;height:5px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.13);animation:livePulse 1.8s infinite}@keyframes livePulse{50%{box-shadow:0 0 0 7px rgba(16,185,129,0)}}.smart-ticket-facts{display:grid;gap:0;margin:0}.smart-ticket-facts>div{display:grid;grid-template-columns:1fr 1.2fr;gap:9px;padding:10px 0;border-top:1px solid #eef2f7;align-items:center}.smart-ticket-facts dt{font-size:9.5px;text-transform:uppercase;font-weight:800;color:#94a3b8}.smart-ticket-facts dd{margin:0;text-align:right;font-size:10.5px;font-weight:700;color:#334155}.smart-ticket-facts .badge{display:inline-flex;padding:4px 7px;border-radius:99px;color:#fff;font-size:8.5px}.smart-panel-skeleton{display:grid;gap:9px}.smart-panel-skeleton span{height:35px;border-radius:8px;background:linear-gradient(90deg,#f1f5f9,#fff,#f1f5f9);background-size:220% 100%;animation:skeletonSlide 1.2s infinite}@keyframes skeletonSlide{to{background-position:-220% 0}}.smart-ticket-facts.is-loading{opacity:.32}.ticket-file-preview{width:39px;min-width:39px!important;height:39px;border-radius:9px;background:#eef2ff;display:grid;place-items:center!important;overflow:hidden;color:#4f46e5}.ticket-file-preview img{width:100%;height:100%;object-fit:cover}.file-progress{height:3px;margin-top:5px;background:#eef2f7;border-radius:99px;overflow:hidden}.file-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#4f46e5,#06b6d4);transition:width .16s}
@media(max-width:1200px){.form-grid--three{grid-template-columns:1fr 1fr}.form-grid--three .field:last-child{grid-column:1/-1}}@media(max-width:700px){.ticket-choice-grid{grid-template-columns:1fr}.ticket-priority-pills{grid-template-columns:1fr 1fr}.form-grid--three{grid-template-columns:1fr}.form-grid--three .field:last-child{grid-column:auto}.ticket-form-actions--sticky{margin:20px -16px -16px;padding:13px 16px}.smart-ticket-facts>div{grid-template-columns:1fr 1fr}}

/* V7 · Operación empresarial recuperada */
.settings-actions,.row-actions,.calendar-nav,.calendar-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scope-switcher{display:flex;gap:4px;padding:4px;border:1px solid #e6eaf1;border-radius:12px;background:#fff}.scope-switcher button{border:0;border-radius:8px;background:transparent;padding:8px 12px;color:#64748b;font-size:10.5px;font-weight:750;cursor:pointer}.scope-switcher button.is-active{background:#eef2ff;color:#4338ca;box-shadow:0 3px 9px rgba(79,70,229,.09)}.origin-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 6px;border-radius:999px;background:#ecfeff;color:#0e7490;font-size:8px;font-weight:900;text-transform:uppercase}.action-menu{position:relative;display:inline-block}.action-menu__list{display:none;position:absolute;z-index:60;right:0;top:calc(100% + 5px);min-width:194px;padding:6px;background:#fff;border:1px solid #e4e9f1;border-radius:12px;box-shadow:0 18px 48px rgba(15,23,42,.17)}.action-menu.is-open .action-menu__list{display:grid;animation:popoverIn .14s ease-out}.action-menu__list button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:#475569;font-size:10.5px;text-align:left;cursor:pointer}.action-menu__list button:hover{background:#f5f7ff;color:#4338ca}.action-menu__list button i{font-size:15px;color:#818cf8}.activity-detail-hero{display:flex;justify-content:space-between;gap:14px;padding:18px;border-radius:15px;background:linear-gradient(135deg,#111827,#312e81);color:#fff}.activity-detail-hero span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.activity-detail-hero h2{margin:5px 0;font-size:18px}.activity-detail-hero p{margin:0;font-size:10px;opacity:.72}.activity-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.activity-detail-grid>div{padding:10px;border:1px solid #edf1f6;border-radius:10px}.activity-detail-grid span,.activity-detail-grid b{display:block}.activity-detail-grid span{font-size:8px;text-transform:uppercase;color:#94a3b8}.activity-detail-grid b{font-size:10.5px;color:#334155;margin-top:3px}.activity-detail-text{padding:14px;border-radius:12px;background:#f8fafc;color:#475569;font-size:11px;line-height:1.6}.activity-file-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.activity-file-links a{padding:7px 9px;border-radius:8px;background:#eef2ff;color:#4338ca;font-size:9.5px}

.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{position:relative;overflow:hidden;padding:0;min-height:285px;display:flex;flex-direction:column;transition:.22s}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(15,23,42,.1)}.service-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:var(--service)}.service-card__cover{height:112px;background-size:cover;background-position:center}.service-card__icon{width:48px;height:48px;margin:22px 22px 0;border-radius:14px;background:color-mix(in srgb,var(--service) 12%,#fff);color:var(--service);display:grid;place-items:center;font-size:23px}.service-card__cover+.service-card__icon{margin-top:-24px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.14)}.service-card__body{padding:14px 22px 10px;flex:1}.service-card__body>span{color:var(--service);font-size:8px;font-weight:900;letter-spacing:.12em}.service-card__body h2{margin:4px 0 7px;font-size:17px;color:#172033}.service-card__body p{margin:0;color:#64748b;font-size:10.5px;line-height:1.55}.service-card__meta{display:flex;justify-content:space-between;gap:9px;margin-top:12px;color:#94a3b8;font-size:9px}.service-card footer{display:flex;justify-content:space-between;gap:8px;padding:12px 22px 20px}.services-empty{grid-column:1/-1}

.planning-pending-alert{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:10px;padding:13px 15px;margin-bottom:13px;border-radius:13px;border:1px solid #fde68a;background:#fffbeb}.planning-pending-alert>i{font-size:25px;color:#d97706}.planning-pending-alert b,.planning-pending-alert span{display:block}.planning-pending-alert b{font-size:11px;color:#92400e}.planning-pending-alert span{font-size:9px;color:#b45309;margin-top:2px}.week-day__body{display:grid;gap:10px}.week-shift{border:1px solid #e8ecf3;border-radius:12px;padding:8px;background:#fbfcfe}.week-shift>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:#64748b;font-size:9px;font-weight:850;text-transform:uppercase}.week-shift>header small{min-width:19px;height:19px;border-radius:99px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.week-item{position:relative;padding:9px 8px 8px 30px;margin-top:6px;border:1px solid #e4e9f1;border-left:3px solid #6366f1;border-radius:9px;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.035)}.week-item.shift-pm{border-left-color:#06b6d4}.week-item__number{position:absolute;left:8px;top:9px;width:16px;height:16px;border-radius:5px;background:#eef2ff;color:#4338ca;font-size:8px;font-weight:900;display:grid;place-items:center}.week-item__title{font-size:9.5px;font-weight:800;color:#334155;line-height:1.35}.week-item__meta{font-size:8px;color:#94a3b8;margin-top:3px}.week-item__actions{display:flex;gap:3px;margin-top:6px}.week-item__actions button{width:24px;height:24px;border:0;border-radius:6px;background:#f8fafc;color:#64748b;display:grid;place-items:center;cursor:pointer}.week-item__actions button:hover{background:#eef2ff;color:#4f46e5}.week-shift-add{width:100%;margin-top:6px;padding:6px;border:1px dashed #cbd5e1;border-radius:8px;background:transparent;color:#64748b;font-size:8.5px;cursor:pointer}.week-shift-add:hover{border-color:#818cf8;background:#f5f7ff;color:#4338ca}.week-shift-empty{padding:10px;text-align:center;color:#b3bdca;font-size:8.5px}

.planning-report-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.planning-report-editor{min-width:0}.planning-report-summary{position:sticky;top:82px;padding:17px}.planning-review-list{display:grid;gap:12px}.planning-review-item{border:1px solid #e5eaf1;border-radius:15px;background:#fff;overflow:hidden}.planning-review-item>header{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:13px;background:#fafbfe;border-bottom:1px solid #eef1f5}.planning-review-date{text-align:center}.planning-review-date span,.planning-review-date b{display:block}.planning-review-date span{font-size:8px;text-transform:uppercase;color:#818cf8}.planning-review-date b{font-size:12px;color:#334155}.planning-review-item h4{margin:0;font-size:12px}.planning-review-item header p{margin:3px 0 0;font-size:9px;color:#94a3b8}.planning-done-fields,.planning-failure-fields{padding:13px}.planning-failure-fields{background:#fffafa;border-top:1px solid #fee2e2}.result-switch{display:flex;gap:5px}.result-switch label{padding:7px 9px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;font-size:9px;font-weight:750;cursor:pointer}.result-switch label:has(input:checked).is-done{background:#ecfdf5;border-color:#6ee7b7;color:#047857}.result-switch label:has(input:checked).is-bad{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.planning-narrative{display:grid;gap:12px;margin-top:14px}.planning-log-card{margin-top:14px;padding:16px}.planning-log{display:grid;grid-template-columns:29px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #f0f2f6}.planning-log:last-child{border-bottom:0}.planning-log>i{width:28px;height:28px;border-radius:8px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.planning-log b,.planning-log span{display:block}.planning-log b{font-size:10px}.planning-log span{font-size:8.5px;color:#94a3b8;margin-top:2px}.report-validation-box{padding:12px;border-radius:11px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:10px}

.analytics-filterbar{padding:12px;margin-bottom:13px}.analytics-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.analytics-grid .chart-card{min-height:300px}.chart-card{padding:15px;min-height:260px}.chart-card canvas{max-height:225px}.ops-panel{display:none}.ops-panel.is-active{display:block;animation:popoverIn .18s ease-out}.rank-list{display:grid;gap:2px}.rank-list>div{display:flex;justify-content:space-between;align-items:center;padding:9px;border-bottom:1px solid #f1f4f7;font-size:10px}.rank-list>div>span{display:flex;align-items:center;gap:8px}.rank-list>div>span>b{width:23px;height:23px;border-radius:7px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:8px}.rank-list strong small{color:#94a3b8;font-weight:500}

.bottleneck-kpis,.supervisor-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.bottleneck-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.8fr);gap:16px}.bottleneck-layout aside{display:grid;gap:12px}.bottleneck-problems{display:grid;grid-template-columns:1fr 1fr;gap:11px}.bottleneck-card{padding:16px;border-left:4px solid #f59e0b}.bottleneck-card.is-critical,.bottleneck-card.is-high{border-left-color:#ef4444}.bottleneck-card.is-medium{border-left-color:#f59e0b}.bottleneck-card.is-low{border-left-color:#10b981}.bottleneck-card header{display:flex;justify-content:space-between;color:#ef4444;font-size:8px;font-weight:900;letter-spacing:.1em}.bottleneck-card h3{font-size:12px;margin:9px 0}.bottleneck-value{font-size:24px;font-weight:900;color:#1e293b}.bottleneck-value small{font-size:9px;color:#94a3b8}.bottleneck-card dl{margin:12px 0 0}.bottleneck-card dl>div{padding:8px 0;border-top:1px solid #eef1f5}.bottleneck-card dt{font-size:8px;text-transform:uppercase;color:#94a3b8}.bottleneck-card dd{margin:3px 0 0;font-size:9.5px;color:#475569;line-height:1.45}

.supervisor-hero{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;margin-bottom:13px;border-radius:17px;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.18),transparent 25%),linear-gradient(135deg,#111827,#312e81);color:#fff;box-shadow:0 16px 38px rgba(30,27,75,.18)}.supervisor-hero span{font-size:8px;letter-spacing:.16em;font-weight:900;color:#a5b4fc}.supervisor-hero h2{margin:4px 0;font-size:19px}.supervisor-hero p{margin:0;font-size:9px;opacity:.65}.supervisor-hero .btn{color:#fff;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.1)}.supervisor-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);gap:14px}.supervisor-attention,.supervisor-quick{padding:17px}.attention-row{display:grid;grid-template-columns:38px 1fr 16px;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #f0f2f6;color:inherit}.attention-row:hover{background:#fff7ed}.attention-row>i:first-child{width:37px;height:37px;border-radius:10px;background:#fff7ed;color:#ea580c;display:grid;place-items:center;font-size:18px}.attention-row b,.attention-row small{display:block}.attention-row b{font-size:10.5px}.attention-row small{font-size:8.5px;color:#94a3b8;margin-top:2px}.supervisor-quick{display:grid;gap:5px}.supervisor-quick h3{margin:0 0 5px}.supervisor-quick>a{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:10px;border-radius:10px;color:inherit}.supervisor-quick>a:hover{background:#f5f7ff}.supervisor-quick>a>i{width:33px;height:33px;border-radius:9px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.supervisor-quick b,.supervisor-quick small{display:block}.supervisor-quick b{font-size:10px}.supervisor-quick small{font-size:8.5px;color:#94a3b8;margin-top:2px}

.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;margin-bottom:11px}.calendar-legend span{font-size:8.5px;color:#64748b}.calendar-legend span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;background:#6366f1}.calendar-legend .is-activity:before{background:#06b6d4}.calendar-legend .is-reminder:before{background:#f59e0b}.calendar-legend .is-sla:before{background:#ef4444}.operational-calendar{padding:0;overflow:hidden}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.view-week .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))}.view-day .calendar-days{grid-template-columns:1fr}.calendar-weekdays b{padding:9px;text-align:center;background:#f8fafc;border-right:1px solid #edf1f5;color:#94a3b8;font-size:8px;text-transform:uppercase}.calendar-day{min-width:0;min-height:125px;padding:8px;border-top:1px solid #edf1f5;border-right:1px solid #edf1f5;background:#fff}.view-day .calendar-day{min-height:520px}.calendar-day.is-today{background:#fafaff;box-shadow:inset 0 3px 0 #6366f1}.calendar-day>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:#94a3b8;font-size:8px;text-transform:uppercase}.calendar-day>header b{font-size:12px;color:#475569}.calendar-event{display:grid;grid-template-columns:31px 1fr;gap:5px;margin:4px 0;padding:5px;border-radius:6px;border-left:3px solid #6366f1;background:#eef2ff;color:#3730a3;font-size:8px;overflow:hidden}.calendar-event.is-activity{border-left-color:#06b6d4;background:#ecfeff;color:#0e7490}.calendar-event.is-reminder{border-left-color:#f59e0b;background:#fffbeb;color:#92400e}.calendar-event.is-sla{border-left-color:#ef4444;background:#fef2f2;color:#991b1b}.calendar-event time{font-weight:850}.calendar-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event[draggable=true]{cursor:grab}

.preflight-summary{display:flex;align-items:center;gap:15px;padding:20px;margin-bottom:14px}.preflight-orb{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:28px;background:#ecfdf5;color:#059669}.preflight-orb.is-error{background:#fef2f2;color:#dc2626}.preflight-summary span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#94a3b8}.preflight-summary h2{margin:3px 0;font-size:18px}.preflight-summary p{margin:0;font-size:9.5px;color:#64748b}.preflight-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.preflight-card{padding:17px}.preflight-card h3{margin:0 0 9px;font-size:12px}.preflight-row{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f2f5}.preflight-row:last-child{border-bottom:0}.preflight-row>i{font-size:18px;color:#10b981}.preflight-row.is-error>i{color:#ef4444}.preflight-row.is-warning>i{color:#f59e0b}.preflight-row b,.preflight-row small{display:block}.preflight-row b{font-size:10px}.preflight-row small{font-size:8.5px;color:#94a3b8;margin-top:2px}.preflight-row>span{font-size:8px;color:#d97706}

@media(max-width:1180px){.services-grid{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-grid>:first-child{grid-column:1/-1}.bottleneck-kpis,.supervisor-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.planning-report-layout,.bottleneck-layout,.supervisor-layout{grid-template-columns:1fr}.planning-report-summary{position:static}.preflight-groups{grid-template-columns:1fr}.calendar-days,.calendar-weekdays{grid-template-columns:repeat(7,minmax(115px,1fr));min-width:805px}.operational-calendar{overflow-x:auto}.planning-pending-alert{grid-template-columns:32px 1fr}.planning-pending-alert .btn{grid-column:2}}
@media(max-width:680px){.services-grid,.analytics-grid,.bottleneck-problems{grid-template-columns:1fr}.analytics-grid>:first-child{grid-column:auto}.bottleneck-kpis,.supervisor-kpis{grid-template-columns:1fr 1fr}.activity-detail-grid{grid-template-columns:1fr 1fr}.planning-review-item>header{grid-template-columns:48px 1fr}.result-switch{grid-column:1/-1}.calendar-toolbar{align-items:flex-start;flex-direction:column}.scope-switcher{width:100%;overflow-x:auto}.planning-pending-alert{grid-template-columns:1fr}.planning-pending-alert .btn{grid-column:auto}.settings-tabs{overflow-x:auto;flex-wrap:nowrap}}

/* =============================================================================
   V7.1 — planificación guiada, exportaciones y navegación compacta
   ========================================================================== */
html,body,.app-shell,.main-area,.content{max-width:100%}
body{overflow-x:hidden}
.main-area,.content{min-width:0}
.sidebar{width:248px}
.main-area{margin-left:248px}
.brand{padding:17px 18px}
.sidebar-tenant{margin:10px 13px;padding:10px 12px}
.nav-scroll{padding:3px 10px 8px;gap:2px}

/* V7.3.5: navegación adaptable sin barras visuales y estados de carga fiables */
.nav-scroll{overflow-y:auto!important;overflow-x:hidden!important;min-height:0;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:18px}
.nav-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.smart-panel-skeleton[hidden]{display:none!important}
.ticket-filter-card{padding:18px 20px;margin-bottom:16px}.ticket-filter-card .filters-row{align-items:end}.ticket-filter-field{display:grid;gap:5px;min-width:145px}.ticket-filter-field>span{font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#64748b}.ticket-action-menu{position:relative}.ticket-action-popover{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:205px;padding:6px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.16)}.ticket-action-menu.is-open .ticket-action-popover{display:grid}.ticket-action-popover a,.ticket-action-popover button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#334155;padding:9px 10px;border-radius:8px;text-align:left;font:inherit;font-size:11px;cursor:pointer;text-decoration:none}.ticket-action-popover a:hover,.ticket-action-popover button:hover{background:#f1f5f9;color:#4338ca}.ticket-action-popover .danger{color:#dc2626}.ticket-code-copy{font-size:9px;color:#64748b}
@media(max-width:900px){.ticket-filter-card .filters-row{display:grid;grid-template-columns:1fr 1fr}.ticket-filter-card .input-group,.ticket-filter-card select,.ticket-filter-field{width:100%!important;min-width:0}.table-wrap{overflow-x:auto;scrollbar-width:none}.table-wrap::-webkit-scrollbar{display:none}}
@media(max-width:560px){.ticket-filter-card .filters-row{grid-template-columns:1fr}.ticket-filter-card{padding:14px}.ticket-action-popover{position:fixed;right:14px;left:14px;top:auto;bottom:16px}}

/* Acceso institucional claro y profesional */
.auth-v4{background:linear-gradient(135deg,#f8fbff,#eef2ff 55%,#f0fdfa)}.auth-v4__scene{background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.9),transparent 30%),radial-gradient(circle at 85% 80%,rgba(45,212,191,.22),transparent 34%),linear-gradient(145deg,#eef2ff,#dbeafe 55%,#ecfeff);color:#172554;border-right:1px solid #dbeafe}.auth-v4__scene::before{background:radial-gradient(circle,rgba(59,130,246,.16),transparent 68%)}.auth-v4__scene::after{background:radial-gradient(circle,rgba(99,102,241,.19),transparent 67%)}.auth-v4__eyebrow{color:#4338ca;background:rgba(255,255,255,.72);border-color:rgba(99,102,241,.16);box-shadow:0 8px 24px rgba(79,70,229,.08)}.auth-v4__scene p{color:#475569}.auth-v4__bullet{color:#334155;background:rgba(255,255,255,.7);border-color:rgba(148,163,184,.2);box-shadow:0 10px 28px rgba(51,65,85,.05)}.auth-v4__bullet i{background:#eef2ff;color:#4f46e5}.auth-v4__panel{background:rgba(255,255,255,.86);backdrop-filter:blur(20px)}.auth-v4__form{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:24px;padding:34px;box-shadow:0 28px 80px rgba(51,65,85,.12)}
@media(max-width:920px){.auth-v4__form{padding:26px;border-radius:20px}.auth-v4__panel{background:linear-gradient(145deg,#f8fafc,#eef2ff)}}
.nav-section__title{padding:6px 9px;font-size:9px}
.nav-link{padding:7px 9px;font-size:12.7px;gap:10px}
.nav-link i{font-size:16px}
.nav-section.is-open{padding:3px;border-radius:12px;background:rgba(255,255,255,.022)}
.nav-section.is-open .nav-section__title{color:#c7d2fe}
.sidebar-toggle{margin:7px 13px 12px;padding:7px}
.planning-page-header{align-items:flex-end}
.planning-header-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.planning-header-actions #wpOwner{width:230px}
.btn-help{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}
.btn-help:hover{background:#e0e7ff}
.btn-help.needs-attention{animation:guidePulse 2s infinite;box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.btn-review{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.btn-review:hover{background:#d1fae5}
.btn-pdf{background:linear-gradient(135deg,#dc2626,#ef4444)!important;border-color:#dc2626!important;color:#fff!important}
.btn-excel{background:linear-gradient(135deg,#047857,#10b981)!important;border-color:#047857!important;color:#fff!important}
.btn-print{background:linear-gradient(135deg,#334155,#475569)!important;border-color:#334155!important;color:#fff!important}
.btn-add-row{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
@keyframes guidePulse{50%{box-shadow:0 0 0 8px rgba(99,102,241,.04)}}

.planning-guide-strip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:0 0 16px;padding:13px 16px;background:linear-gradient(120deg,#111827,#253055);border:1px solid rgba(99,102,241,.3);border-radius:16px;box-shadow:0 12px 28px rgba(15,23,42,.10);color:#fff}
.planning-guide-strip>i{color:#64748b}
.planning-guide-step{display:flex;align-items:center;gap:10px;min-width:0}
.planning-guide-step>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(255,255,255,.1);color:#cbd5e1;font-size:11px;font-weight:800}
.planning-guide-step.is-active>span{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 6px 16px rgba(99,102,241,.38)}
.planning-guide-step b,.planning-guide-step small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planning-guide-step b{font-size:11.5px}.planning-guide-step small{font-size:9.5px;color:#94a3b8;margin-top:2px}
.planning-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.planning-summary-card{position:relative;overflow:hidden;padding:15px 17px}
.planning-summary-card::after{content:'';position:absolute;right:-18px;top:-22px;width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,rgba(99,102,241,.13),rgba(14,165,233,.03))}
.planning-summary-card span,.planning-summary-card small,.planning-summary-card b{display:block;position:relative;z-index:1}
.planning-summary-card span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--ink-400)}
.planning-summary-card b{font-size:20px;color:var(--ink-900);margin:5px 0 2px}.planning-summary-card small{font-size:10px;color:var(--ink-400)}
.planning-summary-card b[data-tone=success]{color:#059669}.planning-summary-card b[data-tone=warning]{color:#d97706}.planning-summary-card b[data-tone=muted]{color:#64748b}
.planning-state-card{padding:13px 16px;align-items:center;gap:10px;margin-bottom:14px}.planning-state-card>span:nth-child(2){flex:1;font-size:12px;color:var(--ink-600)}
.week-nav{margin-bottom:14px;padding:9px 12px;box-shadow:none;display:grid;grid-template-columns:auto 1fr auto auto}
.week-nav__label{display:flex;flex-direction:column;align-items:center;line-height:1.2}
.week-nav__label small{font-size:8px;letter-spacing:.11em;color:var(--ink-400);font-weight:800}.week-nav__label b{font-size:14px;color:var(--ink-900);margin-top:3px}
.week-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;align-items:start}
.week-day{min-width:0;min-height:0;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 8px 22px rgba(15,23,42,.055);overflow:hidden;background:#fff}
.week-day.is-today{border-color:#818cf8;box-shadow:0 10px 28px rgba(79,70,229,.14)}
.week-day__head{padding:12px 14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;align-items:center;justify-content:space-between}
.week-day__head div small,.week-day__head div b{display:block}.week-day__head div small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.week-day__head div b{font-size:22px;color:#172033;margin-top:2px}.week-day__head div b span{font-size:11px;text-transform:uppercase;color:#94a3b8}
.week-day__head em{font-style:normal;font-size:8px;font-weight:800;background:#4f46e5;color:#fff;padding:4px 7px;border-radius:20px}
.week-day__hours{padding:9px 13px;border-bottom:1px solid #eef2f7;background:#fff}.week-day__hours>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:9.5px;margin-bottom:6px}.week-day__hours span{color:#64748b}.week-day__hours b{color:#475569}.week-day.is-complete .week-day__hours b{color:#059669}.week-day.is-progress .progress-fill{background:linear-gradient(90deg,#f59e0b,#f97316)}.week-day.is-complete .progress-fill{background:linear-gradient(90deg,#10b981,#34d399)}.week-day.is-rest .progress-fill{background:#cbd5e1}
.week-day__body{padding:10px;gap:10px}.week-shift{background:#f8fafc;border:1px solid #e9eef5;border-radius:12px;padding:8px}.week-shift>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.week-shift>header span{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#475569}.week-shift.shift-am>header i{color:#0284c7}.week-shift.shift-pm>header i{color:#7c3aed}.week-shift>header small{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:9px;background:#e0e7ff;color:#4f46e5}
.week-shift__items{display:flex;flex-direction:column;gap:7px}
.week-item{position:relative;overflow:hidden;padding:9px 9px 8px 12px;border:1px solid color-mix(in srgb,var(--activity-color) 22%,#e2e8f0);border-left:4px solid var(--activity-color);border-radius:10px;background:linear-gradient(110deg,color-mix(in srgb,var(--activity-color) 8%,#fff),#fff);cursor:default;transition:transform .16s ease,box-shadow .16s ease}
.week-item::after{content:'';position:absolute;right:-18px;top:-22px;width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--activity-color) 8%,transparent)}
.week-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.10);background:linear-gradient(110deg,color-mix(in srgb,var(--activity-color) 11%,#fff),#fff)}
.week-item.status-done{opacity:1;text-decoration:none}.week-item.status-done .week-item__title{text-decoration:line-through;color:#64748b}
.week-item__top{display:flex;align-items:center;gap:5px;margin-bottom:6px}.week-item__number{display:grid;place-items:center;width:19px;height:19px;border-radius:6px;background:var(--activity-color);color:#fff;font-size:8px;font-weight:800}.week-item__type{font-size:8px;font-weight:800;text-transform:uppercase;color:var(--activity-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.week-item__hours{font-size:8px;font-weight:800;color:#334155}
.week-item__title{font-size:11.3px;line-height:1.35;font-weight:700;color:#172033;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.week-item__meta{display:flex;align-items:center;gap:4px;font-size:8.8px;color:#64748b;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-item__meta i{color:var(--activity-color)}
.week-item__status{display:flex;gap:5px;align-items:center;margin-top:6px}.week-item__status span{font-size:8px;border-radius:20px;background:#eef2ff;color:#4f46e5;padding:3px 6px;font-weight:700}.week-item__status small{font-size:8px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.week-item__actions{display:flex;gap:4px;margin-top:8px;padding-top:7px;border-top:1px solid #eef2f7}.week-item__actions button{display:grid;place-items:center;width:25px;height:24px;border:0;border-radius:7px;color:#fff;cursor:pointer;transition:transform .15s ease,filter .15s ease}.week-item__actions button:hover{transform:translateY(-1px) scale(1.05);filter:brightness(1.06)}.action-edit{background:#0ea5e9}.action-copy{background:#8b5cf6}.action-done{background:#10b981}.action-delete{background:#ef4444}
.week-shift-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:43px;color:#94a3b8;font-size:9px}.week-shift-empty i{font-size:17px;color:#cbd5e1}
.week-shift-add{width:100%;margin-top:7px;padding:7px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#64748b;font-size:9px;font-weight:700;cursor:pointer}.week-shift-add:hover{transform:none;box-shadow:none}.week-shift-add.am:hover{border-color:#38bdf8;background:#f0f9ff;color:#0369a1}.week-shift-add.pm:hover{border-color:#a78bfa;background:#f5f3ff;color:#6d28d9}

.planning-entry-modal{width:min(930px,calc(100vw - 28px));max-width:930px;max-height:min(90vh,860px)}
.planning-entry-modal .modal-header{align-items:flex-start}.planning-entry-modal .modal-header h3{margin-bottom:4px}.planning-entry-modal .modal-header p{font-size:11px;color:var(--ink-400);margin:0}
.planning-entry-modal .modal-body{max-height:calc(90vh - 150px);overflow-y:auto}
.planning-context-grid{display:grid;grid-template-columns:150px 150px 1fr 180px;gap:12px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}
.anchored-field{position:relative}.anchored-field>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#4f46e5;z-index:1}.anchored-field input{padding-left:35px;padding-right:55px;background:#eef2ff!important;color:#3730a3;font-weight:700}.anchored-field>span{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:8px;background:#4f46e5;color:#fff;padding:3px 5px;border-radius:5px}
.planning-hours-live{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;margin:12px 0;padding:11px 13px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a}.planning-hours-live>div:first-child{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#92400e}.planning-hours-live>b{font-size:13px;color:#92400e}.planning-hours-live .progress-track{grid-column:1/-1}.planning-hours-live>small{grid-column:1/-1;font-size:9px;color:#a16207}.planning-hours-live.is-complete{background:#ecfdf5;border-color:#a7f3d0}.planning-hours-live.is-complete b,.planning-hours-live.is-complete>div:first-child,.planning-hours-live.is-complete small{color:#047857}.planning-hours-live.is-complete .progress-fill{background:#10b981}.planning-hours-live.is-over{background:#fef2f2;border-color:#fecaca}.planning-hours-live.is-over b,.planning-hours-live.is-over>div:first-child,.planning-hours-live.is-over small{color:#b91c1c}.planning-hours-live.is-over .progress-fill{background:#ef4444}
.planning-batch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 9px}.planning-batch-head h4{margin:0;color:#172033}.planning-batch-head p{font-size:10px;color:#64748b;margin:2px 0 0}
.planning-batch-list{display:flex;flex-direction:column;gap:10px}.planning-batch-row{padding:12px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.035)}.planning-batch-row__head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.batch-number{font-size:10px;font-weight:800;text-transform:uppercase;color:#334155;flex:1}.batch-remove{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:7px;background:#fef2f2;color:#dc2626;cursor:pointer}.color-picker{display:flex;gap:4px}.color-picker button{width:17px;height:17px;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #cbd5e1;cursor:pointer}.color-picker button.is-selected{transform:scale(1.18);box-shadow:0 0 0 2px var(--swatch)}
.week-shift__head-actions{display:flex;align-items:center;gap:5px}.week-shift__head-actions>button{width:24px;height:24px;border:0;border-radius:7px;display:grid;place-items:center;background:#ede9fe;color:#6d28d9;cursor:pointer;transition:.16s}.week-shift__head-actions>button:hover{transform:translateY(-1px);background:#8b5cf6;color:#fff;box-shadow:0 6px 13px rgba(139,92,246,.22)}
.planning-activity-grid{grid-template-columns:1.35fr 1.2fr .55fr .55fr}.planning-modal-footer{align-items:center}.planning-save-note{display:flex;align-items:center;gap:5px;margin-right:auto;font-size:9px;color:#64748b}
.planning-guide-modal{max-width:820px}.guide-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guide-cards article{position:relative;padding:18px;border:1px solid #e2e8f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fafc)}.guide-cards article>span{position:absolute;right:13px;top:11px;font-size:28px;font-weight:900;color:#e0e7ff}.guide-cards article>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef2ff;color:#4f46e5;font-size:19px}.guide-cards h4{margin:12px 0 5px}.guide-cards p{font-size:11px;line-height:1.55;color:#64748b;margin:0}

@media(max-width:1600px){.week-board{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1300px){.week-board{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-context-grid{grid-template-columns:1fr 1fr}.planning-activity-grid{grid-template-columns:1fr 1fr}.planning-activity-grid .field-full{grid-column:1/-1}}
@media(max-width:1050px){.planning-guide-strip{grid-template-columns:1fr 1fr}.planning-guide-strip>i{display:none}.planning-summary-grid{grid-template-columns:1fr 1fr}.week-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.sidebar{width:248px}.planning-page-header{align-items:flex-start}.planning-header-actions{justify-content:flex-start;width:100%}}
@media(max-width:680px){.planning-guide-strip,.planning-summary-grid,.week-board,.guide-cards{grid-template-columns:1fr}.planning-context-grid,.planning-activity-grid{grid-template-columns:1fr}.planning-activity-grid .field-full{grid-column:auto}.planning-header-actions>*{flex:1}.planning-header-actions #wpOwner{width:100%;flex-basis:100%}.week-nav{grid-template-columns:auto 1fr auto}.week-nav #wpToday{grid-column:1/-1}.planning-batch-head{align-items:flex-start;flex-direction:column}.color-picker{max-width:200px;flex-wrap:wrap}.planning-modal-footer{flex-wrap:wrap}.planning-save-note{width:100%;margin:0}.planning-entry-modal .modal-body{padding:14px}}

/* V7.3.2 · planificación tipo agenda (fecha | AM | PM) */
.week-board{display:flex;flex-direction:column;gap:14px}.week-day{display:grid;grid-template-columns:180px minmax(0,1fr);border-radius:18px;min-height:190px}.week-day__head{grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:22px;background:linear-gradient(145deg,#111827,#29324a);color:#fff}.week-day__head div small{color:#c7d2fe;font-size:11px}.week-day__head div b{color:#fff;font-size:34px}.week-day__head div b span{color:#cbd5e1}.week-day__head em{margin-top:12px;background:#fff;color:#4338ca}.week-day__hours{grid-column:2;padding:11px 18px}.week-day__body{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 18px 18px}.week-shift{min-height:120px;padding:12px;border-radius:14px}.week-shift.shift-am{background:#fffaf0;border-color:#fed7aa}.week-shift.shift-pm{background:#f4f7ff;border-color:#c7d2fe}.week-shift>header span{font-size:11px}.week-item{padding:12px 12px 12px 43px;border-left:4px solid var(--activity-color);border-radius:11px}.week-item__select{position:absolute;left:11px;top:12px}.week-item__select input{position:absolute;opacity:0}.week-item__select span{display:block;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer}.week-item__select input:checked+span{border-color:#4f46e5;background:#4f46e5;box-shadow:inset 0 0 0 4px #fff}.week-item__number{position:static;width:22px;height:22px}.week-item__top{display:flex;align-items:center;gap:7px}.week-item__type{font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase}.week-item__hours{margin-left:auto;font-size:10px;font-weight:800;color:#475569}.week-item__title{font-size:12px;margin-top:7px}.week-item__status{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:9px;color:#64748b}.week-item.status-done{opacity:.78;background:#f0fdf4}.week-item.status-done .week-item__title{text-decoration:line-through}.week-item__actions{position:absolute;right:10px;bottom:9px}.week-item__actions button{width:29px;height:29px;color:#fff}.week-item__actions .action-edit{background:#2563eb}.week-item__actions .action-copy{background:#f59e0b}.week-item__actions .action-done{background:#10b981}.week-item__actions .action-delete{background:#ef4444}.week-nav{grid-template-columns:auto 1fr auto auto auto}.planning-copy-summary{display:flex;flex-direction:column;padding:14px;margin-bottom:16px;border:1px solid #c7d2fe;background:#eef2ff;border-radius:12px}.planning-copy-summary span{font-size:11px;color:#64748b;margin-top:3px}#wpSelectedCount{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;border-radius:20px;background:rgba(255,255,255,.2)}
@media(max-width:900px){.week-day{grid-template-columns:125px minmax(0,1fr)}.week-day__body{grid-template-columns:1fr}.week-day__head div b{font-size:27px}}
@media(max-width:620px){.week-day{display:block}.week-day__head{padding:14px 18px;flex-direction:row;justify-content:space-between}.week-day__hours,.week-day__body{display:block}.week-shift+.week-shift{margin-top:12px}.week-nav{grid-template-columns:auto 1fr auto}.week-nav #wpCopySelected{grid-column:1/-1}}

/* V7.3.2 · condonaciones */
.condon-settings-card{max-width:980px;padding:24px;margin:auto}.condon-settings-hero{display:flex;gap:15px;align-items:center;padding:18px;margin-bottom:22px;border:1px solid #c7d2fe;border-radius:16px;background:linear-gradient(135deg,#eef2ff,#f8fafc)}.condon-settings-hero>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#4f46e5;color:#fff;font-size:24px}.condon-settings-hero b{color:#1e293b}.condon-settings-hero p{margin:4px 0 0;color:#64748b;font-size:12px}.secure-setting{min-height:46px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc}.secure-setting>i{font-size:22px;color:#4f46e5}.secure-setting b,.secure-setting small{display:block}.secure-setting small{font-size:9px;color:#64748b;margin-top:2px}.condon-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;padding:18px;border:2px dashed #a5b4fc;border-radius:14px;background:#f7f7ff;cursor:pointer;text-align:center}.condon-dropzone:hover{border-color:#4f46e5;background:#eef2ff}.condon-dropzone>i{font-size:31px;color:#4f46e5}.condon-dropzone b{font-size:12px;margin-top:7px}.condon-dropzone span{font-size:10px;color:#64748b;margin-top:3px}.condon-file-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.condon-file-list>span{padding:7px 9px;border-radius:8px;background:#eef2ff;color:#3730a3;font-size:10px}.condon-file-list small{color:#64748b}.condon-files-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.condon-file-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.condon-file-card:hover{border-color:#818cf8;background:#f8faff}.condon-file-card>i:first-child{font-size:25px;color:#4f46e5}.condon-file-card>span{min-width:0;flex:1}.condon-file-card b,.condon-file-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.condon-file-card b{font-size:11px;color:#334155}.condon-file-card small{font-size:9px;color:#94a3b8;margin-top:3px}.condon-section-title{font-size:13px;margin:0 0 8px}.condon-viewer-body{height:min(70vh,760px);padding:0!important;background:#111827}.condon-viewer-body iframe,.condon-viewer-body img{width:100%;height:100%;border:0;object-fit:contain}.otp-input{font-size:24px!important;font-weight:800;letter-spacing:10px;text-align:center}.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn-danger:hover{background:#b91c1c}.modal-xl{width:min(1200px,96vw)}
@media(max-width:700px){.condon-files-grid{grid-template-columns:1fr}.condon-settings-card{padding:15px}}
.week-board .week-item{padding-bottom:47px}

.report-flow-strip{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;padding:11px 15px;border-radius:14px;background:linear-gradient(120deg,#f8fafc,#eef2ff);border:1px solid #dbe3f0}
.report-flow-strip>div{display:flex;align-items:center;gap:7px;color:#64748b;font-size:10px}.report-flow-strip>div span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#e2e8f0;color:#64748b;font-weight:800}.report-flow-strip>div.is-done span{background:#10b981;color:#fff}.report-flow-strip>div.is-current span{background:#4f46e5;color:#fff;box-shadow:0 0 0 4px #e0e7ff}.report-flow-strip>div.is-current b{color:#3730a3}.report-flow-strip>i{color:#94a3b8}
.report-help-chip{display:inline-flex;align-items:center;gap:5px;max-width:280px;padding:7px 9px;border-radius:9px;background:#fffbeb;color:#92400e;font-size:9px;line-height:1.35}
.planning-review-item{overflow:hidden;border-left:4px solid #10b981;transition:border-color .2s ease,box-shadow .2s ease}.planning-review-item.is-result-bad{border-left-color:#ef4444;box-shadow:0 7px 18px rgba(239,68,68,.08)}.planning-review-item.is-result-pending{border-left-color:#f59e0b;box-shadow:0 7px 18px rgba(245,158,11,.08)}.planning-review-date.is-am{background:#e0f2fe;color:#0369a1}.planning-review-date.is-pm{background:#ede9fe;color:#6d28d9}.result-pending-note{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 7px;border-radius:7px;background:#fffbeb;color:#92400e;font-size:8.5px;font-weight:700}
.result-switch label{display:flex!important;align-items:center;gap:4px}.result-switch label i{font-size:14px}.failure-guidance{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:9px 11px;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:10px}.failure-guidance i{font-size:17px}.report-validation-box.has-errors{background:#fef2f2!important;border-color:#fecaca!important;color:#b91c1c!important}
@media(max-width:760px){.report-flow-strip{align-items:flex-start;flex-direction:column}.report-flow-strip>i{display:none}.report-flow-strip>div{width:100%}}
.activity-action i{display:grid!important;place-items:center;width:24px!important;height:24px;border-radius:7px;color:#fff!important}.activity-action--view i{background:#0ea5e9}.activity-action--edit i,.activity-action--edit_report i{background:#4f46e5}.activity-action--duplicate i{background:#8b5cf6}.activity-action--generate_report i{background:#10b981}.activity-action--print i{background:#475569}.activity-action--pdf i{background:#ef4444}.activity-action--attachments i{background:#f59e0b}.activity-action--delete i{background:#dc2626}
.kpi-card--color{border-top:3px solid var(--kpi-color)}.kpi-card--color .kpi-card__icon{background:color-mix(in srgb,var(--kpi-color) 12%,#fff);color:var(--kpi-color)}.rank-dot{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:8px;border-radius:7px;color:#fff;font-size:9px;font-weight:800}
.ops-kpi[style] i{background:color-mix(in srgb,var(--kpi-color) 12%,#fff);color:var(--kpi-color)}

.ticket-editor-actions{display:flex;gap:5px;flex-wrap:wrap;padding:7px;border:1px solid #dbe1ea;border-bottom:0;border-radius:12px 12px 0 0;background:#f8fafc}.ticket-editor-actions+.ticket-editor .ql-toolbar{border-radius:0}.ticket-editor .ql-editor table{width:100%;border-collapse:collapse}.ticket-editor .ql-editor th,.ticket-editor .ql-editor td{border:1px solid #cbd5e1;padding:6px;text-align:left}

/* V7.2 · interfaz institucional clara, accesible y adaptable */
.topbar__search{width:min(470px,42vw);border:1px solid #dfe5ef!important;background:linear-gradient(135deg,#fff,#f8faff)!important;box-shadow:0 7px 22px rgba(15,23,42,.055);transition:border-color .18s,box-shadow .18s}.topbar__search:focus-within{border-color:#a5b4fc!important;box-shadow:0 0 0 4px #eef2ff,0 10px 28px rgba(79,70,229,.10)}.topbar__search input{min-width:0}.topbar__search kbd{background:#eef2ff;color:#4f46e5;border-color:#dbe3ff}

/* La tarjeta de planificación permanece blanca; el color automático vive en las letras y el acento. */
.week-item,.week-item:hover{background:#fff!important}.week-item::after{display:none}.week-item__title{color:var(--activity-color)!important}.week-item.status-done .week-item__title{color:#64748b!important}.week-item__type,.week-item__meta i{color:var(--activity-color)}.week-item__actions{position:relative;z-index:2}.week-item__actions button{opacity:1!important;visibility:visible!important}.planning-auto-color,.automatic-color{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:8px;font-weight:800}.planning-auto-color:before,.automatic-color i{content:'';width:8px;height:8px;border-radius:50%;background:var(--activity-color,var(--auto-color,#4f46e5))}

.ticket-view-shell{max-width:1540px;margin:0 auto}.ticket-locked-banner{display:flex;align-items:center;gap:13px;padding:14px 17px;margin-bottom:15px;border-radius:15px;border:1px solid #fed7aa;background:linear-gradient(120deg,#fff7ed,#fffbeb);color:#9a3412}.ticket-locked-banner[hidden]{display:none}.ticket-locked-banner>i{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#fff;color:#ea580c;font-size:20px;box-shadow:0 5px 16px rgba(234,88,12,.12)}.ticket-locked-banner b,.ticket-locked-banner span{display:block}.ticket-locked-banner span{font-size:10px;margin-top:3px;color:#b45309}.ticket-hero{overflow:hidden;position:relative;border:1px solid #dfe5ff!important;background:radial-gradient(circle at 88% 15%,#e0f2fe 0,transparent 28%),linear-gradient(125deg,#fff,#f8faff)!important}.ticket-hero:before{content:'';position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(#4f46e5,#06b6d4)}.ticket-description-card{border-top:4px solid #0ea5e9}.ticket-productivity-card{border-top:4px solid #8b5cf6}.ticket-conversation-card{border-top:4px solid #10b981}.ticket-properties-card{border-top:4px solid #4f46e5}.ticket-files-card{border-top:4px solid #f59e0b}.ticket-timeline-card{border-top:4px solid #ec4899}.ticket-file-row{transition:transform .16s,box-shadow .16s}.ticket-file-row:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.07)}.ticket-pdf-modal{width:min(1120px,calc(100vw - 24px));max-width:1120px;height:min(90vh,900px);display:flex;flex-direction:column}.ticket-pdf-toolbar{display:flex;gap:8px;padding:9px 16px;border-bottom:1px solid #e5eaf2;background:#f8fafc}.ticket-pdf-modal iframe{width:100%;flex:1;min-height:420px;border:0;background:#eef2f7}

.report-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:18px;align-items:start}.report-editor-shell{padding:0;overflow:hidden}.report-document-head{display:flex;align-items:center;gap:14px;padding:22px 24px;background:linear-gradient(125deg,#fff,#f5f7ff);border-bottom:3px solid #e0e7ff}.report-brand-mark{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#4f46e5;color:#fff;font-size:22px;font-weight:900;box-shadow:0 9px 20px rgba(79,70,229,.19)}.report-document-head>div:last-child{min-width:0}.report-document-head span{font-size:9px;letter-spacing:.1em;color:#4f46e5;font-weight:850}.report-document-head h2{margin:4px 0 7px;font-size:20px}.report-document-head #arMeta{display:flex;flex-wrap:wrap;gap:7px 14px;color:#64748b;font-size:9px}.report-document-head #arMeta span{display:flex;gap:4px;align-items:center;color:#64748b;letter-spacing:0}.report-document-body{padding:20px}.report-section-grid{display:grid;gap:14px}.report-edit-section{border:1px solid #e4e9f1;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 6px 17px rgba(15,23,42,.035)}.report-edit-section>header{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#fafbfe;border-bottom:1px solid #edf1f6}.report-edit-section>header>span{width:31px;height:31px;border-radius:9px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:10px;font-weight:900}.report-edit-section>header>div{flex:1}.report-edit-section h3,.report-edit-section p{margin:0}.report-edit-section h3{font-size:12px}.report-edit-section p{font-size:9px;color:#94a3b8;margin-top:2px}.report-rich-editor .ql-toolbar{border:0;border-bottom:1px solid #edf1f6}.report-rich-editor .ql-container{border:0}.report-rich-editor .ql-editor{min-height:125px;font-size:12px;line-height:1.65}.report-rich-editor--tall .ql-editor{min-height:190px}.report-rich-editor .ql-editor table{width:100%;border-collapse:collapse}.report-rich-editor .ql-editor th{background:#eef2ff;color:#3730a3}.report-rich-editor .ql-editor th,.report-rich-editor .ql-editor td{border:1px solid #dbe3ef;padding:7px}.report-table-button{border:1px solid #c7d2fe;border-radius:8px;background:#fff;color:#4f46e5;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}.report-media-aside{position:sticky;top:82px;display:grid;gap:14px}.report-status-card,.report-evidence-card{padding:17px}.report-status-card h3{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px}.report-status-card p{font-size:9px;color:#64748b;line-height:1.5}.report-media-drop{display:grid;place-items:center;text-align:center;gap:4px;padding:22px 10px;border:1.5px dashed #a5b4fc;border-radius:13px;background:#f8faff;color:#4f46e5;cursor:pointer}.report-media-drop i{font-size:27px}.report-media-drop b{font-size:10px}.report-media-drop span{font-size:8.5px;color:#64748b}.report-media-list{display:grid;gap:8px;margin-top:12px}.report-media-item{display:grid;grid-template-columns:47px 1fr 27px;align-items:center;gap:8px;padding:7px;border:1px solid #e5eaf2;border-radius:10px;min-width:0}.report-media-item img,.report-media-file{width:47px;height:43px;border-radius:8px;object-fit:cover}.report-media-file{display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:20px}.report-media-item b,.report-media-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-media-item b{font-size:9px}.report-media-item span{font-size:8px;color:#94a3b8;margin-top:2px}.report-media-item button{border:0;background:#fef2f2;color:#dc2626;border-radius:7px;width:27px;height:27px;cursor:pointer}.report-media-empty{display:grid;place-items:center;gap:5px;padding:17px;color:#94a3b8;font-size:9px}.report-media-empty i{font-size:23px}

.profile-cover-action{position:absolute;z-index:2;right:10px;top:10px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.9);color:#4338ca;font-size:9px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.12)}.profile-cover[style]{background-size:cover!important}.profile-avatar-xl{overflow:visible}.profile-avatar-xl>img{width:100%;height:100%;object-fit:cover;border-radius:19px}.profile-avatar-action{position:absolute;right:-5px;bottom:-4px;width:27px;height:27px;border-radius:9px;background:#4f46e5;color:#fff;display:grid;place-items:center;font-size:13px;cursor:pointer;border:2px solid #fff}.branding-logo-control{display:grid;grid-template-columns:92px 1fr;gap:13px;align-items:center}.branding-logo-preview{width:92px;height:76px;border-radius:13px;border:1px solid #dfe5ef;background:#f8fafc;display:grid;place-items:center;color:#94a3b8;font-size:25px;overflow:hidden}.branding-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.branding-logo-control>div:last-child{display:grid;gap:7px}.branding-logo-control small{font-size:8.5px;color:#64748b}

.service-module-list{display:grid;gap:5px;margin:10px 0 0;padding:0;list-style:none}.service-module-list li{display:grid;grid-template-columns:minmax(85px,.7fr) minmax(0,1.3fr);gap:7px;align-items:center;padding:6px 7px;border-radius:8px;background:#f8fafc;border:1px solid #edf1f6}.service-module-list li>span{color:#334155;font-size:8.5px;font-weight:800}.service-module-list li>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;font-size:7.8px}.service-responsibles,.service-card__team{display:flex;align-items:center;margin-top:10px}.service-card__team>div{display:flex}.service-responsibles i,.service-responsibles span,.service-card__team .service-person{width:29px;height:29px;margin-left:-5px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#4338ca;font-style:normal;font-size:8px;font-weight:850;overflow:hidden}.service-card__team .service-person img{width:100%;height:100%;object-fit:cover}.service-responsibles i:first-child,.service-responsibles span:first-child,.service-card__team .service-person:first-child{margin-left:0}.service-responsibles small,.service-card__team>small{margin-left:7px;color:#64748b;font-size:8.5px}.service-team-picker{min-height:105px}

@media(max-width:1180px){.report-editor-layout{grid-template-columns:1fr}.report-media-aside{position:static;grid-template-columns:1fr 1fr}.ticket-view-shell{max-width:none}}
@media(max-width:760px){.topbar__search{width:min(58vw,330px)}.topbar__search kbd{display:none}.ticket-view-shell{min-width:0}.ticket-view-actions{max-width:100%;padding-bottom:3px}.ticket-view-actions .btn{white-space:nowrap}.ticket-context-grid,.ticket-relations-grid,.satisfaction-grid{grid-template-columns:1fr}.ticket-relation-box.relation-wide{grid-column:auto}.report-media-aside{grid-template-columns:1fr}.report-document-head{align-items:flex-start;padding:17px}.report-document-body{padding:12px}.activity-report-header .page-actions{overflow:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.activity-report-header .page-actions>*{white-space:nowrap}.branding-logo-control{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.content{max-width:100%;overflow-x:hidden}}
@media(max-width:520px){.topbar__search{width:48vw}.topbar__actions .icon-btn:not(#notifBtn){display:none}.ticket-context-grid{grid-template-columns:1fr}.ticket-pdf-modal{width:calc(100vw - 10px);height:94vh}.report-edit-section>header{align-items:flex-start;flex-wrap:wrap}.profile-cover{height:130px}}
@media print{.activity-report-header,.report-media-aside,.sidebar,.topbar,#announcementBanners{display:none!important}.report-editor-layout{display:block}.report-editor-shell{box-shadow:none;border:0}.report-rich-editor .ql-toolbar{display:none}.report-rich-editor .ql-container{border:0}.report-edit-section{break-inside:avoid;box-shadow:none}.main-area{margin:0!important}.content{padding:0!important}}
.report-brand-mark{overflow:hidden}.report-brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}.report-document-evidence{margin-top:16px;border:1px solid #e4e9f1;border-radius:15px;overflow:hidden}.report-document-evidence[hidden]{display:none}.report-document-evidence>header{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#fafbfe;border-bottom:1px solid #edf1f6}.report-document-evidence>header>span{width:31px;height:31px;border-radius:9px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:10px;font-weight:900}.report-document-evidence h3,.report-document-evidence p{margin:0}.report-document-evidence h3{font-size:12px}.report-document-evidence p{font-size:9px;color:#94a3b8;margin-top:2px}.report-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.report-evidence-grid figure{margin:0;border:1px solid #e5eaf2;border-radius:12px;overflow:hidden;break-inside:avoid}.report-evidence-grid figure img{display:block;width:100%;height:220px;object-fit:contain;background:#f8fafc}.report-evidence-grid figcaption{display:flex;justify-content:space-between;gap:9px;padding:8px 10px;font-size:8.5px}.report-evidence-grid figcaption span{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-annex-row{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px;padding:10px;border:1px solid #e5eaf2;border-radius:11px}.report-annex-row>i{width:35px;height:35px;border-radius:9px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.report-annex-row b,.report-annex-row span{display:block}.report-annex-row b{font-size:9px}.report-annex-row span{font-size:8px;color:#64748b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:680px){.report-evidence-grid{grid-template-columns:1fr}.report-evidence-grid figure img{height:auto;max-height:380px}}
@media print{.report-evidence-grid figure img{height:auto;max-height:320px}.report-document-evidence{break-before:auto}}

/* V7.3 · operación automática, identidad institucional e informes */
.topbar__primary{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.topbar__search{width:clamp(300px,48vw,680px);max-width:100%;margin-right:18px}.topbar__actions{flex:0 0 auto}.brand__mark{overflow:hidden}.brand__mark img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}.sidebar-tenant__avatar{overflow:hidden}.sidebar-tenant__avatar img,.user-chip .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.sidebar-tenant__plan{white-space:normal;line-height:1.3}.user-popover-profile{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;padding:15px}.user-popover-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;font-weight:850}.user-popover-avatar img{width:100%;height:100%;object-fit:cover}.user-popover-profile strong,.user-popover-profile small,.user-popover-profile em{display:block}.user-popover-profile small{font-size:9px;color:#64748b;margin-top:2px}.user-popover-profile em{font-size:8px;color:#4f46e5;font-style:normal;margin-top:4px;line-height:1.35}
.ticket-choice--incident.is-selected{border-color:#f87171;background:linear-gradient(145deg,#fff,#fef2f2);box-shadow:0 0 0 3px rgba(239,68,68,.08)}.ticket-choice--incident.is-selected>i:first-of-type,.ticket-choice--incident.is-selected .choice-check{color:#dc2626}.ticket-choice--request.is-selected{border-color:#60a5fa;background:linear-gradient(145deg,#fff,#eff6ff);box-shadow:0 0 0 3px rgba(59,130,246,.08)}.ticket-choice--request.is-selected>i:first-of-type,.ticket-choice--request.is-selected .choice-check{color:#2563eb}.ticket-choice--question.is-selected{border-color:#a78bfa;background:linear-gradient(145deg,#fff,#f5f3ff);box-shadow:0 0 0 3px rgba(139,92,246,.08)}.ticket-choice--question.is-selected>i:first-of-type,.ticket-choice--question.is-selected .choice-check{color:#7c3aed}.smart-ticket-overview{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px;padding:11px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(120deg,#eff6ff,#f5f3ff)}.smart-ticket-overview>i{display:grid;place-items:center;width:29px;height:29px;flex:0 0 auto;border-radius:9px;background:#fff;color:#4f46e5}.smart-ticket-overview b,.smart-ticket-overview span{display:block}.smart-ticket-overview b{font-size:10.5px;color:#1e293b}.smart-ticket-overview span{font-size:9px;color:#64748b;margin-top:3px;line-height:1.4}
.ticket-board-automation{display:flex;align-items:center;gap:11px;margin:0 0 13px;padding:11px 14px;border:1px solid #a7f3d0;border-radius:13px;background:linear-gradient(120deg,#ecfdf5,#f0fdfa);color:#047857}.ticket-board-automation[hidden]{display:none}.ticket-board-automation>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;font-size:18px}.ticket-board-automation b,.ticket-board-automation span{display:block}.ticket-board-automation b{font-size:10.5px}.ticket-board-automation span{font-size:8.8px;margin-top:2px}.kanban-ticket.is-automatic{cursor:default}
.automation-live{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:99px;background:#ecfdf5;color:#047857;font-size:8px;font-weight:850;text-transform:uppercase}.automation-live i{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.13)}.ticket-auto-management{display:grid;gap:8px}.ticket-auto-management>div{display:grid;grid-template-columns:35px 1fr;gap:9px;align-items:center;padding:10px;border:1px solid #e5eaf2;border-radius:11px;background:#fafbff}.ticket-auto-management>div>i{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eef2ff;color:#4f46e5;font-size:17px}.ticket-auto-management b,.ticket-auto-management small{display:block}.ticket-auto-management b{font-size:10px;color:#172033}.ticket-auto-management small{font-size:8px;color:#94a3b8;margin-top:2px}.ticket-thread-avatar img,.ticket-message-avatar img,.thread-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ticket-file-row{position:relative}.file-preview-button{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:8px;background:#eef2ff;color:#4f46e5;cursor:pointer}.ticket-file-row.is-favorite{border-color:#fbbf24;background:#fffbeb}.ticket-file-row.is-favorite:after{content:'★';position:absolute;right:-5px;top:-7px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f59e0b;color:#fff;font-size:9px;box-shadow:0 3px 8px rgba(180,83,9,.25)}.ticket-image-modal{width:min(1120px,calc(100vw - 24px));max-width:1120px;overflow:hidden;background:#0f172a}.ticket-image-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#fff}.ticket-image-head span{font-size:8px;letter-spacing:.12em;color:#4f46e5;font-weight:850}.ticket-image-head h3{margin:4px 0 0;font-size:14px}.ticket-image-stage{position:relative;display:grid;place-items:center;min-height:460px;max-height:68vh;padding:25px 72px;background:radial-gradient(circle at center,#334155,#0f172a)}.ticket-image-stage img{max-width:100%;max-height:62vh;object-fit:contain;border-radius:8px;box-shadow:0 22px 70px rgba(0,0,0,.35)}.ticket-image-nav{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:43px;height:58px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(15,23,42,.66);color:#fff;font-size:21px;cursor:pointer;backdrop-filter:blur(8px)}.ticket-image-nav:disabled{opacity:.28}.ticket-image-nav:first-of-type{left:14px}.ticket-image-nav:last-of-type{right:14px}.ticket-image-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff}.ticket-image-toolbar>span{margin-left:auto;color:#64748b;font-size:9px}.ticket-image-toolbar .is-active{background:#fffbeb;border-color:#fbbf24;color:#b45309}.ticket-forward-panel{display:grid;grid-template-columns:1fr 1.35fr auto;gap:10px;align-items:end;padding:13px 16px;border-top:1px solid #e5eaf2;background:#f8fafc}.ticket-forward-panel[hidden]{display:none}
.profile-cover-position{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:9px 12px;background:#f8fafc;border-bottom:1px solid #e5eaf2}.profile-cover-position label span{display:block;font-size:8px;color:#64748b;margin-bottom:3px}.profile-cover-position input{width:100%;accent-color:#4f46e5}.profile-cover-position button{grid-column:1/-1;justify-self:center}.profile-signature-control,.settings-signature-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-signature-control>div:first-child,.settings-signature-preview{display:grid;place-items:center;min-width:180px;height:74px;padding:6px 14px;border:1px dashed #c7d2fe;border-radius:12px;background:#fafbff;color:#94a3b8;overflow:hidden}.profile-signature-control img,.settings-signature-preview img{max-width:170px;max-height:60px;object-fit:contain}.profile-signature-control small,.settings-signature-control small{display:block;color:#64748b;font-size:8.5px;margin-top:6px}
.analytics-filterbar--complete{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr)) auto auto;gap:10px;align-items:end;padding:15px;margin-bottom:15px}.analytics-filterbar--complete .field{margin:0}.report-center-card{overflow:hidden}.report-center-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;background:linear-gradient(125deg,#fff,#eef2ff);border-bottom:1px solid #dfe5ff}.report-center-head span{font-size:8px;letter-spacing:.12em;color:#4f46e5;font-weight:850}.report-center-head h2{margin:4px 0;font-size:18px}.report-center-head p{margin:0;font-size:9px;color:#64748b}.report-center-head>i{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#4f46e5;color:#fff;font-size:24px;box-shadow:0 9px 22px rgba(79,70,229,.2)}.report-center-filters{margin:0;padding:12px 16px;border:0;border-bottom:1px solid #eef2f7;border-radius:0}.report-center-filters .module-toolbar__filters{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(125px,1fr)) auto;width:100%}.report-row-actions{display:flex;gap:5px;flex-wrap:wrap}.report-row-actions .icon-btn{width:30px;height:30px;border-radius:8px}.report-row-actions .is-pdf{color:#dc2626;background:#fef2f2}.report-row-actions .is-excel{color:#047857;background:#ecfdf5}.report-row-actions .is-danger{color:#dc2626;background:#fff1f2}
@media(max-width:1250px){.analytics-filterbar--complete{grid-template-columns:repeat(4,minmax(130px,1fr))}.report-center-filters .module-toolbar__filters{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:760px){.topbar__search{width:100%;margin-right:0}.topbar__actions{gap:7px}.user-chip__meta{display:none}.ticket-image-stage{min-height:340px;padding:18px 48px}.ticket-image-toolbar{flex-wrap:wrap}.ticket-image-toolbar>span{width:100%;margin:2px 0 0}.ticket-forward-panel,.analytics-filterbar--complete,.report-center-filters .module-toolbar__filters{grid-template-columns:1fr}.report-center-head{padding:16px}.report-center-head>i{display:none}}
.chat-head__members{display:flex;align-items:center}.chat-head__avatar,.chat-message__avatar,.agent-pick__avatar{display:grid;place-items:center;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;font-size:9px;font-weight:850}.chat-head__avatar{width:29px;height:29px;margin-left:-7px;border:2px solid #fff}.chat-head__avatar:first-child{margin-left:0}.chat-head__members .badge{margin-left:10px}.chat-head__avatar img,.chat-message__avatar img,.agent-pick__avatar img{width:100%;height:100%;object-fit:cover}.chat-message{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:end}.chat-message__avatar{width:32px;height:32px;box-shadow:0 4px 12px rgba(15,23,42,.12)}.chat-message__content{min-width:0}.chat-message.is-mine{grid-template-columns:minmax(0,1fr) 32px}.chat-message.is-mine .chat-message__avatar{grid-column:2;grid-row:1}.chat-message.is-mine .chat-message__content{grid-column:1;grid-row:1}.agent-pick--avatar{grid-template-columns:auto 34px 1fr}.agent-pick--avatar input{grid-column:1;grid-row:1/3}.agent-pick__avatar{width:30px;height:30px;grid-column:2;grid-row:1/3}.agent-pick--avatar span,.agent-pick--avatar small{grid-column:3}
.smtp-test-box{margin:18px 0 6px;padding:16px;border:1px solid #dfe6f2;border-radius:15px;background:linear-gradient(135deg,#f8fbff,#fff);display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}.smtp-test-box .field{margin:0}.smtp-test-box>#smtpTestResult{grid-column:1/-1}.smtp-test-result{display:flex;gap:7px;align-items:center;padding:10px 12px;border-radius:10px;font-size:10.5px}.smtp-test-result b,.smtp-test-result span{display:block}.smtp-test-result.is-ok{background:#ecfdf5;color:#047857}.smtp-test-result.is-error{background:#fff1f2;color:#be123c}@media(max-width:620px){.smtp-test-box{grid-template-columns:1fr}.smtp-test-box .btn{width:100%}}
.print-center-box{max-width:560px}.print-center-options{display:grid;gap:10px}.print-center-options>button{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;width:100%;padding:14px;border:1px solid #e3e8f1;border-radius:14px;background:#fff;text-align:left;color:#27324a}.print-center-options>button:hover{border-color:#c7d2fe;background:#f8faff;transform:translateY(-1px)}.print-center-options>button>i:first-child{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:19px}.print-center-options b,.print-center-options small{display:block}.print-center-options b{font-size:11.5px}.print-center-options small{font-size:9.5px;color:#7b8798;margin-top:3px}.print-generated-meta{display:none}
@media print{.sidebar,.topbar,.page-header,.page-actions,.ticket-view-top,.modal-overlay,.toast-container,.btn,button,.planning-log-card,.ticket-reply-box,.ticket-properties-card,.ticket-files-card,.ticket-timeline-card{display:none!important}.main-area,.main-content{margin:0!important;padding:0!important;width:100%!important;overflow:visible!important}.print-generated-meta{display:flex!important;justify-content:space-between;gap:20px;padding:9px 0;margin-bottom:14px;border-bottom:1px solid #d7dce5;font-size:9px;color:#475569}.print-generated-meta b,.print-generated-meta span{display:block}body[data-print-mode="conversation"] .ticket-hero,body[data-print-mode="conversation"] .ticket-description-card,body[data-print-mode="conversation"] .ticket-productivity-card{display:none!important}body[data-print-mode="planning-summary"] .planning-review-list{display:none!important}body[data-print-mode="activity-summary"] .activity-report-media{display:none!important}body[data-print-mode="report-summary"] .data-table,body[data-print-mode="report-summary"] .table-wrap{display:none!important}.ticket-view-layout,.planning-report-layout,.planning-report-layout--simple{display:block!important}.card{box-shadow:none!important;break-inside:avoid}.ticket-thread{max-height:none!important;overflow:visible!important}}

/* V7.3.4 · tablero privado por rol, perfil resiliente y fechas claras */
.ticket-board-toolbar{grid-template-columns:minmax(250px,1fr) 155px 155px 190px 180px auto}
.ticket-board-toolbar>[hidden]{display:none!important}
.ticket-board-scope{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;margin:0 0 13px;padding:11px 14px;border:1px solid #c7d2fe;border-radius:14px;background:linear-gradient(120deg,#f8faff,#eef2ff);color:#3730a3;box-shadow:0 7px 20px rgba(79,70,229,.055)}
.ticket-board-scope>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;color:#4f46e5;font-size:19px;box-shadow:0 5px 14px rgba(79,70,229,.09)}
.ticket-board-scope b,.ticket-board-scope span{display:block}.ticket-board-scope b{font-size:11px}.ticket-board-scope span{margin-top:2px;color:#64748b;font-size:9px}.ticket-board-scope small{padding:5px 8px;border-radius:999px;background:#fff;color:#64748b;font-size:8.5px;white-space:nowrap}
.ticket-board-scope[data-scope="global"]{border-color:#bae6fd;background:linear-gradient(120deg,#f8fafc,#f0f9ff)}.ticket-board-scope[data-scope="branch"]{border-color:#bbf7d0;background:linear-gradient(120deg,#f8fffc,#ecfdf5)}.ticket-board-scope[data-scope="branch"]>i{color:#059669}
.kanban-ticket__kind{display:inline-flex;align-items:center;gap:4px;margin:-2px 0 8px;padding:3px 6px;border-radius:7px;background:#f5f3ff;color:#6d28d9;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}

.profile-avatar-xl{isolation:isolate;overflow:visible;color:#4338ca}
.profile-avatar-fallback{position:absolute;inset:0;z-index:0;display:grid;place-items:center;overflow:hidden;border-radius:19px;background:linear-gradient(145deg,#eef2ff,#dbeafe);color:#4338ca;font-size:30px;font-weight:900}
.profile-avatar-xl>img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:19px;background:#eef2ff}
.profile-avatar-action{z-index:3}.profile-identity-card h2{max-width:100%;overflow-wrap:anywhere;line-height:1.2}.profile-meta-list>div{min-width:0}.profile-meta-list>div>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-cover:not(.has-custom-cover){animation:profileCoverGlow 8s ease-in-out infinite alternate;background:radial-gradient(circle at 16% 20%,rgba(255,255,255,.42),transparent 30%),radial-gradient(circle at 84% 34%,rgba(14,165,233,.58),transparent 35%),linear-gradient(135deg,#312e81,#4f46e5 48%,#0891b2)}
@keyframes profileCoverGlow{from{background-position:0 0,100% 0,0 0}to{background-position:18px 9px,calc(100% - 24px) 16px,0 0}}

.week-board .week-day{grid-template-columns:112px minmax(0,1fr);min-height:0;border-color:#e5eaf3;box-shadow:0 7px 20px rgba(15,23,42,.045)}
.week-board .week-day__head{grid-row:1/3;align-items:center;justify-content:flex-start;padding:18px 13px;background:linear-gradient(155deg,#f8fbff,#eef2ff)!important;color:#1e293b!important;border:0;border-right:1px solid #e0e7ff}
.week-board .week-day__head div{width:100%;text-align:center}.week-board .week-day__head div small{color:#64748b!important;font-size:9px!important;letter-spacing:.09em}.week-board .week-day__head div b{color:#1e293b!important;font-size:27px!important;line-height:1;margin-top:7px}.week-board .week-day__head div b span{display:block!important;margin-top:5px;color:#64748b!important;font-size:9px!important;letter-spacing:.08em}.week-board .week-day__head em{align-self:center;margin-top:10px;background:#fff!important;color:#4f46e5!important;border:1px solid #c7d2fe!important;box-shadow:none}
.week-board .week-day.is-today .week-day__head{background:linear-gradient(155deg,#eef2ff,#e0f2fe)!important}.week-board .week-day.is-today .week-day__head div b{color:#4338ca!important}
.week-board .week-day__hours{padding:9px 15px}.week-board .week-day__body{padding:11px 15px 14px;gap:11px}.week-board .week-shift{min-height:96px}
@media(max-width:1350px){.ticket-board-toolbar{grid-template-columns:minmax(230px,1fr) repeat(2,145px) repeat(2,165px) auto}}
@media(max-width:1080px){.ticket-board-toolbar{grid-template-columns:1fr 1fr 1fr}.ticket-board-toolbar .board-search{grid-column:1/-1}.ticket-board-toolbar .btn{width:100%}}
@media(max-width:900px){.week-board .week-day{grid-template-columns:96px minmax(0,1fr)}.week-board .week-day__head div b{font-size:24px!important}.week-board .week-day__body{grid-template-columns:1fr}}
@media(max-width:650px){.ticket-board-toolbar{grid-template-columns:1fr}.ticket-board-toolbar>*{grid-column:auto!important}.ticket-board-scope{grid-template-columns:36px 1fr}.ticket-board-scope small{grid-column:2;justify-self:start}.week-board .week-day{display:block}.week-board .week-day__head{display:flex;flex-direction:row;justify-content:space-between;padding:11px 14px;border-right:0;border-bottom:1px solid #e0e7ff}.week-board .week-day__head div{display:flex;align-items:center;gap:8px;width:auto;text-align:left}.week-board .week-day__head div small,.week-board .week-day__head div b,.week-board .week-day__head div b span{display:inline!important;margin:0}.week-board .week-day__head em{margin:0}.week-board .week-day__hours,.week-board .week-day__body{display:block}.week-board .week-shift+.week-shift{margin-top:10px}}

/* Ejecución semanal: flujo obligatorio, legible y adaptable. */
.planning-pending-alert{position:fixed!important;right:24px;bottom:24px;z-index:120;display:grid!important;grid-template-columns:40px minmax(210px,1fr) auto!important;align-items:center;gap:12px;width:min(590px,calc(100vw - 32px));margin:0!important;padding:14px 16px!important;border-radius:17px!important;border:1px solid #c7d2fe!important;background:rgba(255,255,255,.97)!important;box-shadow:0 22px 55px rgba(30,41,59,.2);backdrop-filter:blur(16px)}
.planning-pending-alert>i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:22px!important;color:#fff!important;background:linear-gradient(135deg,#4f46e5,#0ea5e9)}
.planning-pending-alert b{font-size:12px!important;color:#1e293b!important}.planning-pending-alert span{font-size:10px!important;color:#64748b!important;line-height:1.4}
.execution-required,.execution-locked{display:flex;gap:10px;align-items:flex-start;padding:12px;margin:12px 0;border-radius:12px}.execution-required{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.execution-locked{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.execution-required i,.execution-locked i{font-size:20px}.execution-required b,.execution-required span{display:block}.execution-required span{font-size:10px;margin-top:2px}.execution-note{display:block;margin-top:5px;color:#b45309;font-size:9px;font-style:normal}.week-list-row.execution-done{background:#f0fdf4}.week-list-row.execution-not_done{background:#fff7ed}.week-list-row.execution-not_done .week-list-row__copy>b{color:#9a3412}
@media(max-width:680px){.planning-pending-alert{right:16px;bottom:16px;grid-template-columns:38px 1fr!important}.planning-pending-alert .btn{grid-column:1/-1!important;width:100%}.planning-execution-modal .form-grid{grid-template-columns:1fr}}

.floating-work-tools{position:fixed;right:22px;bottom:22px;z-index:110;display:flex;flex-direction:column;gap:9px;align-items:flex-end}.planning-pending-alert:not([hidden])~* .floating-work-tools{bottom:112px}.floating-work-tool{position:relative;display:flex;align-items:center;gap:8px;min-height:43px;padding:0 14px;border-radius:14px;color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(15,23,42,.2);transition:transform .18s ease,box-shadow .18s ease}.floating-work-tool:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(15,23,42,.25)}.floating-work-tool.is-chat{background:linear-gradient(135deg,#2563eb,#06b6d4)}.floating-work-tool.is-assistant{background:linear-gradient(135deg,#6d28d9,#ec4899)}.floating-work-tool i{font-size:19px}.floating-work-tool b{font-size:11px}.floating-work-tool .live-pulse{width:7px;height:7px;border-radius:50%;background:#86efac;box-shadow:0 0 0 0 rgba(134,239,172,.65);animation:toolPulse 1.8s infinite}@keyframes toolPulse{70%{box-shadow:0 0 0 8px rgba(134,239,172,0)}100%{box-shadow:0 0 0 0 rgba(134,239,172,0)}}
#ticketKpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}#ticketKpis .ticket-kpi-filter{position:relative;overflow:hidden;min-height:132px;text-align:left;border:1px solid #e6eaf2;background:linear-gradient(145deg,#fff,#f8faff);box-shadow:0 10px 26px rgba(15,23,42,.055)}#ticketKpis .ticket-kpi-filter:after{content:"";position:absolute;width:90px;height:90px;right:-28px;top:-32px;border-radius:50%;background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(14,165,233,.02))}#ticketKpis .ticket-kpi-filter:hover{border-color:#c7d2fe;transform:translateY(-3px)}
@media(max-width:1100px){#ticketKpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){#ticketKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-work-tools{right:14px;bottom:14px}.floating-work-tool{width:44px;padding:0;justify-content:center}.floating-work-tool b{display:none}}@media(max-width:430px){#ticketKpis{grid-template-columns:1fr}}

.profile-cover-actions{position:absolute;right:12px;bottom:12px;display:flex;gap:7px}.profile-cover-action{position:static!important;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.65);border-radius:9px;padding:7px 10px;background:rgba(255,255,255,.92);color:#334155;font:inherit;font-size:9px;font-weight:800;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.12)}.profile-cover-position[hidden]{display:none!important}.profile-cover-position{position:absolute;z-index:5;top:150px;left:14px;right:14px;border:1px solid #dbe3ef;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 40px rgba(15,23,42,.18)}.profile-identity-card{position:relative}.profile-live-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.profile-live-grid>.card{padding:18px}.profile-live-hero{color:#fff;background:linear-gradient(135deg,#312e81,#4f46e5 55%,#0ea5e9);border:0}.profile-live-hero>span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#c7d2fe}.profile-live-hero h3{margin:7px 0 4px;font-size:20px}.profile-live-hero p{margin:0 0 14px;color:#e0e7ff;font-size:11px}.profile-live-stat{display:flex;flex-direction:column;justify-content:center}.profile-live-stat i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#4f46e5;background:#eef2ff;font-size:19px}.profile-live-stat span{margin-top:18px;font-size:10px;color:#64748b}.profile-live-stat b{margin-top:3px;font-size:24px;color:#0f172a}.profile-mini-bars{display:grid;gap:16px}.profile-mini-bars>div{display:grid;grid-template-columns:170px 1fr 45px;align-items:center;gap:12px;font-size:11px}.profile-mini-bars>div>div{height:9px;border-radius:20px;background:#eef2f7;overflow:hidden}.profile-mini-bars i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#06b6d4);transition:width .35s ease}.profile-mini-bars b{text-align:right}
@media(max-width:1150px){.profile-live-grid{grid-template-columns:1fr 1fr}.profile-live-hero{grid-column:1/-1}}@media(max-width:650px){.profile-live-grid{grid-template-columns:1fr}.profile-live-hero{grid-column:auto}.profile-mini-bars>div{grid-template-columns:1fr 42px}.profile-mini-bars>div>div{grid-column:1/-1;grid-row:2}.profile-cover-actions{right:8px;bottom:8px}.profile-cover-action{font-size:0}.profile-cover-action i{font-size:15px}}
.push-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.push-config-grid>div{padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.push-config-grid small,.push-config-grid code{display:block}.push-config-grid small{margin-bottom:7px;color:#64748b;font-weight:800}.push-config-grid code{overflow-wrap:anywhere;color:#4338ca;font-size:11px}@media(max-width:700px){.push-config-grid{grid-template-columns:1fr}}
.dashboard-live-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:20px;padding:27px;border-radius:22px;color:#fff;background:radial-gradient(circle at 85% 0,rgba(34,211,238,.38),transparent 28%),linear-gradient(125deg,#111827,#312e81 58%,#0369a1);box-shadow:0 22px 48px rgba(30,41,59,.18)}.dashboard-live-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.dashboard-live-copy,.dashboard-live-widgets{position:relative;z-index:1}.dashboard-live-copy>span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#a5f3fc}.dashboard-live-copy h2{margin:9px 0 6px;font-size:28px}.dashboard-live-copy p{max-width:570px;margin:0 0 18px;color:#cbd5e1;font-size:12px}.dashboard-live-copy>div{display:flex;gap:8px}.btn-light{background:#fff;color:#312e81}.btn-glass{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff}.dashboard-live-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dashboard-live-widgets article{display:flex;gap:10px;align-items:flex-start;min-width:0;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.09);backdrop-filter:blur(10px)}.dashboard-live-widgets article>i{font-size:20px;color:#a5f3fc}.dashboard-live-widgets small,.dashboard-live-widgets b,.dashboard-live-widgets span,.dashboard-live-widgets a{display:block}.dashboard-live-widgets small{font-size:7px;font-weight:900;letter-spacing:.09em;color:#bae6fd}.dashboard-live-widgets b{margin-top:6px;font-size:17px}.dashboard-live-widgets span,.dashboard-live-widgets a{margin-top:4px;color:#cbd5e1;font-size:9px}.dashboard-live-widgets a{text-decoration:underline}@media(max-width:1200px){.dashboard-live-hero{grid-template-columns:1fr}.dashboard-live-widgets{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.dashboard-live-hero{padding:20px}.dashboard-live-widgets{grid-template-columns:1fr}.dashboard-live-copy h2{font-size:22px}}

/* Acceso con identidad visual más viva sin sacrificar legibilidad. */
.auth-v4__scene{background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.28),transparent 26%),radial-gradient(circle at 88% 14%,rgba(34,211,238,.42),transparent 30%),radial-gradient(circle at 72% 88%,rgba(244,114,182,.27),transparent 31%),linear-gradient(140deg,#dbeafe 0%,#ede9fe 46%,#cffafe 100%)!important}.auth-v4__scene h2{background:linear-gradient(100deg,#172554,#4338ca 48%,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-v4__bullet{background:rgba(255,255,255,.82)!important;border-color:rgba(255,255,255,.95)!important}.auth-v4__panel{background:linear-gradient(160deg,#fff,#f8faff 55%,#ecfeff)!important}.auth-v4__form{box-shadow:0 32px 90px rgba(79,70,229,.16)!important;border-color:#e0e7ff!important}.auth-v4__submit{background:linear-gradient(100deg,#4f46e5,#2563eb 55%,#06b6d4);box-shadow:0 12px 26px rgba(79,70,229,.25)}
.planning-pending-alert{bottom:132px!important}@media(max-width:680px){.planning-pending-alert{bottom:78px!important}}

/* V7.3.7 · ejecución porcentual, chat profesional y panel de alta densidad */
.planning-execution-modal{width:min(900px,calc(100vw - 28px))}.execution-progress-card{display:grid;grid-template-columns:94px 1fr;gap:20px;align-items:center;padding:15px;margin-bottom:14px;border:1px solid #dbeafe;border-radius:17px;background:linear-gradient(135deg,#f8faff,#f0f9ff)}.execution-progress-ring{--progress:0deg;width:84px;height:84px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#fff 57%,transparent 59%),conic-gradient(#4f46e5 var(--progress),#e8edf5 0);box-shadow:0 8px 24px rgba(79,70,229,.12)}.execution-progress-ring b,.execution-progress-ring span{display:block}.execution-progress-ring b{font-size:20px;color:#312e81}.execution-progress-ring span{font-size:8px;color:#64748b;text-transform:uppercase}.execution-progress-card label{display:block;margin-bottom:10px;font-size:11px;font-weight:800}.execution-progress-card input[type=range]{width:100%;accent-color:#4f46e5}.execution-progress-scale{display:flex;justify-content:space-between;margin-top:5px;color:#94a3b8;font-size:8px}.execution-extras-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0 8px}.execution-extras-head b,.execution-extras-head span{display:block}.execution-extras-head span{font-size:9px;color:#64748b;margin-top:2px}.execution-extra-list{display:grid;gap:8px}.execution-extra-row{display:grid;grid-template-columns:30px 1fr 90px 34px;gap:7px;align-items:center}.execution-extra-row>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#eef2ff;color:#4338ca;font-weight:900}.execution-extra-row>button{width:34px;height:34px;border:0;border-radius:9px;background:#fff1f2;color:#e11d48;cursor:pointer}.execution-week-overview{margin-top:17px;padding:14px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.execution-week-overview header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.execution-week-overview header b,.execution-week-overview header span{display:block}.execution-week-overview header span{font-size:9px;color:#64748b}.execution-week-overview header strong{font-size:22px;color:#4338ca}.execution-week-list{max-height:116px;margin-top:9px;overflow:auto;scrollbar-width:none}.execution-week-list::-webkit-scrollbar{display:none}.execution-week-list>div{display:flex;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:8px;font-size:9px;color:#64748b}.execution-week-list>div.is-current{background:#eef2ff;color:#312e81}.activity-progress-mini{height:4px;margin-top:6px;border-radius:9px;background:#eef2f7;overflow:hidden}.activity-progress-mini i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#06b6d4)}
.chat-shell--whatsapp{height:calc(100vh - 190px);min-height:560px;overflow:hidden;border-radius:20px}.chat-shell--whatsapp .chat-rooms{width:340px;background:#fff;border-right:1px solid #e2e8f0;overflow:auto;scrollbar-width:none}.chat-shell--whatsapp .chat-rooms::-webkit-scrollbar,.chat-shell--whatsapp .chat-messages::-webkit-scrollbar{display:none}.chat-sidebar-head,.wa-head{display:flex;align-items:center;gap:11px;min-height:66px;padding:11px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.chat-sidebar-head{justify-content:space-between}.chat-sidebar-head b,.chat-sidebar-head span,.wa-head b,.wa-head span{display:block}.chat-sidebar-head span,.wa-head span{font-size:9px;color:#64748b}.chat-icon-btn{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:#eef2f7;color:#475569;cursor:pointer}.chat-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 12px 8px;padding:4px;border-radius:11px;background:#f1f5f9}.chat-tabs button{border:0;border-radius:8px;padding:7px;background:transparent;color:#64748b;font-size:9px;font-weight:800}.chat-tabs button.is-active{background:#fff;color:#4338ca;box-shadow:0 3px 9px rgba(15,23,42,.08)}.chat-contact,.room-item{width:100%;display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:10px 13px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;text-align:left;cursor:pointer}.chat-contact:hover,.room-item:hover,.room-item.is-active{background:#f0fdfa}.chat-contact__avatar,.room-item__avatar,.wa-head__avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-weight:900}.chat-contact__avatar img,.room-item__avatar img,.wa-head__avatar img{width:100%;height:100%;object-fit:cover}.chat-contact>span b,.chat-contact>span small,.room-item__body b,.room-item__body small{display:block}.chat-contact>span small{margin-top:3px;color:#94a3b8;font-size:8.5px}.chat-contact>i{color:#14b8a6;font-size:18px}.room-item__body>span{display:flex;justify-content:space-between;gap:7px}.room-item__body p{margin:4px 0 0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;font-size:9px}.chat-main{min-width:0}.wa-head__avatar{width:42px;height:42px}.wa-head>div:nth-child(2){flex:1}.wa-background{padding:24px 5%;background-color:#efeae2;background-image:radial-gradient(rgba(71,85,105,.07) 1px,transparent 1px);background-size:18px 18px}.chat-day{text-align:center;margin:10px 0}.chat-day span{display:inline-block;padding:5px 10px;border-radius:8px;background:#fff;color:#64748b;font-size:8px;box-shadow:0 2px 7px rgba(15,23,42,.08)}.wa-message{display:flex;margin:4px 0;justify-content:flex-start}.wa-message.is-mine{justify-content:flex-end}.wa-bubble{position:relative;max-width:min(70%,620px);padding:8px 11px 6px;border-radius:5px 13px 13px 13px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.13)}.wa-message.is-mine .wa-bubble{border-radius:13px 5px 13px 13px;background:#d9fdd3}.wa-bubble b{display:block;margin-bottom:3px;color:#7c3aed;font-size:9px}.wa-bubble p{margin:0;padding-right:45px;line-height:1.45;font-size:11px;color:#1f2937}.wa-bubble small{display:block;text-align:right;margin-top:2px;color:#64748b;font-size:7.5px}.wa-bubble small i{color:#0ea5e9}.wa-compose{display:grid;grid-template-columns:38px 1fr 42px;gap:8px;align-items:center;padding:10px 13px;background:#f0f2f5}.wa-compose textarea{min-height:40px;max-height:110px;border:0;border-radius:20px;resize:none;padding:11px 16px}.wa-send{width:42px;height:42px;border:0;border-radius:50%;background:#00a884;color:#fff;font-size:18px;cursor:pointer}.chat-list-empty{padding:28px 16px;text-align:center;color:#94a3b8;font-size:10px}.dashboard-owner-filter{min-width:220px;max-width:280px}.dashboard-live-hero{padding:20px!important;margin-bottom:14px!important}.dashboard-live-copy h2{font-size:23px!important}.dashboard-grid,.kpi-grid{gap:12px!important}.dashboard-panel{border:1px solid #e6ebf3;box-shadow:0 7px 18px rgba(15,23,42,.045)!important}
@media(max-width:800px){.execution-progress-card{grid-template-columns:1fr}.execution-progress-ring{margin:auto}.execution-extra-row{grid-template-columns:28px 1fr 34px}.execution-extra-row .js-extra-minutes{grid-column:2}.chat-shell--whatsapp{height:calc(100vh - 150px);min-height:500px}.chat-shell--whatsapp .chat-rooms{width:110px}.chat-sidebar-head>div,.chat-tabs,.chat-rooms__search{display:none}.chat-contact,.room-item{grid-template-columns:46px;padding:10px;justify-content:center}.chat-contact>span,.chat-contact>i,.room-item__body{display:none}.wa-bubble{max-width:86%}.dashboard-owner-filter{min-width:100%;max-width:none}}
.profile-bi-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:14px;margin:14px 0}.profile-chart-box{height:250px}.profile-bi-table>a{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 5px;border-bottom:1px solid #eef2f7;color:inherit;text-decoration:none}.profile-bi-table>a:last-child{border-bottom:0}.profile-bi-table span b,.profile-bi-table span small{display:block}.profile-bi-table span b{font-size:10px}.profile-bi-table span small{margin-top:3px;color:#64748b;font-size:8.5px}.profile-bi-table strong{color:#4338ca;font-size:9px;white-space:nowrap}@media(max-width:900px){.profile-bi-grid{grid-template-columns:1fr}}

/* V7.3.8 · jornadas 4+4, horas extra y exportación premium */
.planning-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.planning-summary-card--extra{border-top:3px solid #f59e0b!important}.planning-summary-card--extra b{color:#b45309!important}
.planning-export-suite{display:flex;align-items:center;gap:8px;min-height:48px;padding:5px 7px 5px 10px;border:1px solid #dbe3ef;border-radius:14px;background:linear-gradient(135deg,#fff,#f7f9ff);box-shadow:0 8px 22px rgba(15,23,42,.06)}.planning-export-suite__icon{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff}.planning-export-suite>div{display:flex;flex-direction:column;min-width:155px}.planning-export-suite small{font-size:7px;letter-spacing:.11em;font-weight:900;color:#64748b}.planning-export-suite select{border:0;outline:0;background:transparent;color:#172033;font-size:10px;font-weight:800;padding:1px 18px 1px 0}.planning-export-action{display:flex;align-items:center;gap:5px;height:34px;padding:0 10px;border:0;border-radius:9px;color:#fff;font-size:9px;font-weight:850;cursor:pointer;transition:.16s}.planning-export-action:hover{transform:translateY(-1px);box-shadow:0 7px 15px rgba(15,23,42,.14)}.planning-export-action.is-pdf{background:linear-gradient(135deg,#ef4444,#dc2626)}.planning-export-action.is-excel{background:linear-gradient(135deg,#10b981,#059669)}
.planning-hours-live.is-extra{background:#fff7ed;border-color:#fdba74}.planning-hours-live.is-extra b,.planning-hours-live.is-extra>div:first-child,.planning-hours-live.is-extra small{color:#9a3412}.planning-hours-live.is-extra .progress-fill{background:linear-gradient(90deg,#f59e0b,#ef4444)}
.planning-day-extra{display:flex!important;justify-content:flex-start!important;align-items:center;gap:6px;margin-top:8px;padding:7px 9px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#9a3412}.planning-day-extra b{color:#9a3412!important}.planning-day-extra span{color:#b45309!important}.planning-extra-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 6px;border-radius:7px;background:#fff7ed;color:#b45309;font-size:8px;font-style:normal;font-weight:850}.week-shift__head-actions>b{font-size:8px;color:#64748b;white-space:nowrap}
.week-list-row,.week-list-row:hover,.week-list-row.execution-done,.week-list-row.execution-not_done{background:#fff!important}.week-list-row::before{display:none}.week-list-row__number{background:transparent!important;color:var(--activity-color)!important;border:1px solid currentColor;box-shadow:none!important}.week-list-row__copy b{color:var(--activity-color)!important}.week-list-row__copy small i{color:var(--activity-color)}
.week-list-row__actions{opacity:1!important}.week-shift__head-actions>small{width:auto!important;min-width:38px;padding:0 6px;border-radius:8px!important;white-space:nowrap}
@media(max-width:1200px){.planning-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-export-suite{width:100%}.planning-export-suite>div{flex:1}}
@media(max-width:680px){.planning-summary-grid{grid-template-columns:1fr 1fr}.planning-export-suite{flex-wrap:wrap}.planning-export-suite>div{min-width:120px}.planning-export-action span{display:none}}

/* V7.3.9 · privacidad por sucursal y controles profesionales */
.dashboard-actions{padding:7px;border:1px solid #e3e8f1;border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 9px 24px rgba(15,23,42,.055)}.dashboard-owner-filter{border:0!important;background:#f4f6ff!important;font-weight:800;color:#3730a3}.dashboard-productivity-table{margin-top:15px;overflow:hidden}.dashboard-productivity-table .dashboard-panel__head{padding:17px 19px;border-bottom:1px solid #edf1f6}.dashboard-productivity-table .table-wrap{border:0;border-radius:0}.dashboard-table-progress{display:grid;grid-template-columns:minmax(110px,1fr) 38px;align-items:center;gap:9px}.dashboard-table-progress b{font-size:9px;color:#475569}
.reminder-filter-card{padding:15px 17px;margin-bottom:16px;border-top:3px solid #4f46e5!important}.reminder-filter-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.reminder-filter-title>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5}.reminder-filter-title b,.reminder-filter-title small{display:block}.reminder-filter-title small{margin-top:2px;color:#94a3b8;font-size:8.5px}.reminder-filter-card .filters-row>*{min-width:180px}.reminder-filter-card .reminder-search{flex:1;min-width:250px}.reminder-filter-card .input-group>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:1;color:#64748b}.reminder-filter-card .input-group input{padding-left:36px}.reminder-stat{border-bottom:3px solid #e0e7ff}.reminder-card{position:relative;overflow:hidden;border:1px solid #e3e8f1!important;box-shadow:0 9px 25px rgba(15,23,42,.055)!important;transition:.18s}.reminder-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#4f46e5}.reminder-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(79,70,229,.10)!important}.reminder-card.is-overdue:before{background:#ef4444}.reminder-actions{margin-top:12px;justify-content:flex-start}
.data-toolbar .filters-row{gap:9px}.data-toolbar .filters-row .input,.data-toolbar .filters-row select{min-height:40px;border-color:#dfe5ef;background:#fbfcff;box-shadow:0 3px 9px rgba(15,23,42,.025)}.data-toolbar .filters-row .input:focus,.data-toolbar .filters-row select:focus{border-color:#818cf8;box-shadow:0 0 0 3px #eef2ff;background:#fff}
@media(max-width:760px){.dashboard-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.dashboard-actions::-webkit-scrollbar{display:none}.dashboard-actions>*{white-space:nowrap}.reminder-filter-card .filters-row>*{width:100%;max-width:none}.dashboard-productivity-table{overflow-x:auto}}

/* V7.4 · flujo guiado y versionado del informe de actividad */
.dashboard-decision-center{margin:4px 0 18px;padding:18px;border:1px solid #e3e8f3;border-radius:20px;background:linear-gradient(125deg,#fff,#f7faff);box-shadow:0 12px 30px rgba(15,23,42,.045)}.dashboard-decision-center__head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:13px}.dashboard-decision-center__head span{font-size:8px;letter-spacing:.1em;color:#4f46e5;font-weight:900}.dashboard-decision-center__head h3{margin:4px 0 0}.dashboard-decision-center__head small{color:#64748b}.dashboard-alert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-alert-card{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:10px;padding:13px;border:1px solid #e7ebf4;border-radius:15px;background:#fff;color:#334155;transition:.18s}.dashboard-alert-card:hover{transform:translateY(-2px);box-shadow:0 11px 22px rgba(15,23,42,.07)}.dashboard-alert-card>i:first-child{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:19px}.dashboard-alert-card b,.dashboard-alert-card span{display:block}.dashboard-alert-card b{font-size:19px;color:#0f172a}.dashboard-alert-card span{font-size:8.5px;color:#64748b}.dashboard-alert-card>i:last-child{color:#94a3b8}.dashboard-alert-card.is-amber>i:first-child{background:#fffbeb;color:#d97706}.dashboard-alert-card.is-rose>i:first-child{background:#fff1f2;color:#e11d48}.dashboard-alert-card.is-violet>i:first-child{background:#f5f3ff;color:#7c3aed}.dashboard-alert-card.is-sky>i:first-child{background:#f0f9ff;color:#0284c7}@media(max-width:900px){.dashboard-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.dashboard-alert-grid{grid-template-columns:1fr}.dashboard-decision-center__head{align-items:start;flex-direction:column}}
.report-workflow{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;margin:0 0 16px;background:linear-gradient(120deg,#fff,#f7f9ff);overflow:auto}.report-workflow button{border:0;background:transparent;display:flex;align-items:center;gap:7px;color:#94a3b8;font-weight:800;cursor:pointer;white-space:nowrap}.report-workflow button b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;font-size:10px}.report-workflow button.is-active,.report-workflow button.is-done{color:#4338ca}.report-workflow button.is-active b{color:#fff;background:linear-gradient(135deg,#4f46e5,#0ea5e9);box-shadow:0 6px 14px rgba(79,70,229,.28)}.report-workflow button.is-done b{background:#dcfce7;color:#059669}.report-workflow>i{height:2px;min-width:34px;background:#e2e8f0;border-radius:9px}.report-progress{display:grid;gap:7px;margin-bottom:12px}.report-progress>div:first-child{display:flex;justify-content:space-between;align-items:center}.report-progress b{font-size:18px;color:#4f46e5}.report-progress span{font-size:9px;color:#64748b}.report-progress>div:last-child{height:8px;background:#e8edf6;border-radius:99px;overflow:hidden}.report-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#4f46e5,#0ea5e9,#10b981);border-radius:inherit;transition:width .3s}.report-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.report-versions-card{padding:17px}.report-version-list{display:grid;gap:7px;max-height:250px;overflow:auto;scrollbar-width:none}.report-version-list::-webkit-scrollbar{display:none}.report-version-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid #e7ebf2;border-radius:11px;padding:9px;background:#fff}.report-version-item b,.report-version-item span{display:block}.report-version-item b{font-size:9px}.report-version-item span{font-size:8px;color:#94a3b8;margin-top:2px}.report-version-item button{border:0;border-radius:8px;background:#eef2ff;color:#4338ca;padding:6px 8px;font-size:8px;font-weight:800;cursor:pointer}.report-editor-shell{border:1px solid rgba(99,102,241,.12);box-shadow:0 18px 50px rgba(15,23,42,.07)}

/* === vNext planning report workflow === */
.report-config-links{display:flex;gap:8px;flex-wrap:wrap}
.report-workflow{display:grid;grid-template-columns:auto 26px auto 26px auto 26px auto 26px auto;align-items:center;padding:16px 18px;margin-bottom:16px;gap:8px;border:1px solid #dfe6f3;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(30,41,59,.05)}
.report-workflow button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:transparent;text-align:left;color:#94a3b8}
.report-workflow button b{width:34px;height:34px;border-radius:12px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:13px;margin-bottom:3px}
.report-workflow button span{font-size:11px;font-weight:800;color:#334155}
.report-workflow button small{font-size:9px;color:#94a3b8}
.report-workflow button.is-active b{background:#4f46e5;color:#fff;box-shadow:0 10px 22px rgba(79,70,229,.22)}
.report-workflow button.is-done b{background:#10b981;color:#fff}
.report-workflow i{height:2px;background:linear-gradient(90deg,#c7d2fe,#e2e8f0);border-radius:999px}
.workflow-action-panel{display:grid;gap:14px;margin-top:14px;padding:16px}
.workflow-action-note{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:10.5px;line-height:1.55}
.action-list{display:grid;gap:10px}
.action-list .btn{justify-content:center}
.workflow-links{display:grid;gap:8px}
.status-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:800;white-space:nowrap}
.status-chip.is-sent,.status-chip.is-final{background:#ecfdf5;color:#047857}.status-chip.is-saved{background:#eff6ff;color:#0369a1}.status-chip.is-reopened{background:#fffbeb;color:#b45309}
.report-validation-box.has-errors{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.report-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.report-menu{position:relative}
.report-menu__toggle{width:32px;height:32px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#475569}
.report-menu__panel{position:absolute;right:0;top:38px;min-width:210px;z-index:35;padding:8px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 18px 38px rgba(15,23,42,.12)}
.report-menu__panel[hidden]{display:none}
.report-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:10px;border:0;background:#fff;color:#334155;text-decoration:none;font-size:12px;text-align:left}
.report-menu__item:hover{background:#f8fafc}
.report-menu__item.is-danger{color:#dc2626}
.cell-strong .starred{color:#f59e0b;margin-left:6px}
@media(max-width:900px){.report-workflow{grid-template-columns:1fr;gap:10px}.report-workflow i{display:none}.report-workflow button{padding:10px 12px;border:1px solid #eef2ff;border-radius:14px;background:#fff}.report-workflow button b{margin-bottom:0}.planning-report-summary{position:static}}

/* Herramientas rápidas V2: launcher compacto para no tapar tablas ni acciones */
.floating-work-tools{right:18px!important;bottom:18px!important;gap:8px!important;align-items:flex-end!important;pointer-events:none}.floating-work-tools .floating-tools-toggle{pointer-events:auto;width:48px;height:48px;border:0;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#4f46e5);color:#fff;font-size:21px;box-shadow:0 14px 32px rgba(15,23,42,.24);cursor:pointer;transition:.2s}.floating-work-tools .floating-tools-toggle:hover{transform:translateY(-2px)}.floating-work-tools .floating-work-tool{pointer-events:auto;min-height:42px;height:42px;min-width:42px;width:42px;padding:0!important;justify-content:center;border-radius:13px;opacity:0;transform:translateY(12px) scale(.9);visibility:hidden;transition:opacity .16s,transform .2s,visibility .2s;box-shadow:0 10px 22px rgba(15,23,42,.18)!important}.floating-work-tools.is-open .floating-work-tool{opacity:1;transform:none;visibility:visible}.floating-work-tools .floating-work-tool b{position:absolute;right:50px;white-space:nowrap;background:#111827;color:#fff;padding:7px 10px;border-radius:9px;font-size:10px;opacity:0;transform:translateX(6px);pointer-events:none;transition:.15s;box-shadow:0 8px 20px rgba(15,23,42,.18)}.floating-work-tools .floating-work-tool:hover b{opacity:1;transform:none}.floating-work-tools .floating-work-tool .live-pulse{position:absolute;right:4px;top:4px;width:6px;height:6px}.floating-work-tools.is-open .floating-tools-toggle i{transform:rotate(45deg)}.floating-work-tools .floating-tools-toggle i{transition:.2s}@media(max-width:700px){.floating-work-tools{right:12px!important;bottom:12px!important}.floating-work-tools .floating-work-tool b{display:none!important}}


/* HOTFIX: el atributo hidden debe ganar a display:grid!important del aviso antiguo.
   El informe ya guardado no genera un contenedor flotante vacío. */
.planning-pending-alert[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.planning-pending-alert:not([hidden]){position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;margin:0 0 16px!important;z-index:3!important;box-shadow:0 10px 28px rgba(30,41,59,.08)!important;background:#fff!important;backdrop-filter:none!important}
@media(max-width:680px){.planning-pending-alert:not([hidden]){grid-template-columns:40px 1fr!important}}

.wp-report-optional-note[hidden]{display:none!important}
.wp-report-optional-note{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:13px 17px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:13px;font-size:12px}
.wp-report-optional-note>i{font-size:19px}.wp-report-optional-note b{white-space:nowrap}.wp-report-optional-note span{font-size:11px;color:#526a96}
@media(max-width:680px){.wp-report-optional-note{flex-wrap:wrap}}

/* === Toasts premium: siempre por encima de modales === */
.toast-stack{z-index:65000!important;bottom:22px!important;right:22px!important;gap:10px!important;pointer-events:none!important;isolation:isolate}
.toast{pointer-events:auto!important;position:relative!important;min-width:310px!important;max-width:min(470px,calc(100vw - 32px))!important;padding:14px 16px!important;border:1px solid #e2e8f0!important;border-left:4px solid #64748b!important;border-radius:16px!important;background:#fff!important;color:#172033!important;box-shadow:0 24px 65px rgba(15,23,42,.25),0 6px 18px rgba(15,23,42,.08)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;font-size:12.5px!important;font-weight:650!important;line-height:1.45!important}
.toast span{color:#172033!important;-webkit-text-fill-color:#172033!important}.toast i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#f8fafc;font-size:18px!important}
.toast-success{border-left-color:#10b981!important}.toast-success i{background:#ecfdf5!important;color:#059669!important}.toast-error{border-left-color:#ef4444!important}.toast-error i{background:#fef2f2!important;color:#dc2626!important}.toast-warning{border-left-color:#f59e0b!important}.toast-warning i{background:#fffbeb!important;color:#d97706!important}.toast-info{border-left-color:#4f46e5!important}.toast-info i{background:#eef2ff!important;color:#4f46e5!important}
@media(max-width:640px){.toast-stack{left:12px!important;right:12px!important;bottom:12px!important}.toast{min-width:0!important;max-width:none!important;width:100%!important}}
