@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600;700;800&display=swap');

/*
 * ECLIPSE AI — Sistema visual compartido
 * Versión 1 · Agosto 2026
 *
 * Este archivo concentra la identidad común de la plataforma.
 * Los estilos exclusivos de cada módulo permanecen en su pantalla
 * hasta completar la migración progresiva.
 */

:root {
  --eai-white: #fff;
  --eai-bg: #f7f8fa;
  --eai-bg-soft: #f0f1f5;
  --eai-border: #e8eaee;
  --eai-text: #111827;
  --eai-text-secondary: #5f6878;
  --eai-text-muted: #8b95a5;

  --eai-brand: #ff6b2b;
  --eai-brand-dark: #e05520;
  --eai-brand-soft: #fff3ee;
  --eai-brand-border: #ffd4bf;

  --eai-ai: #7c3aed;
  --eai-ai-soft: #f3eeff;
  --eai-ai-border: #ddd0ff;

  --eai-urgent: #ef4444;
  --eai-urgent-soft: #fff1f2;
  --eai-active: #ff6b2b;
  --eai-recurrent: #0891b2;
  --eai-recurrent-soft: #ecfeff;
  --eai-recurrent-border: #a5f3fc;
  --eai-success: #16a34a;
  --eai-success-soft: #ecfdf3;
  --eai-blue: #2563eb;
  --eai-blue-soft: #eff6ff;
  --eai-content: #0f766e;
  --eai-content-soft: #f0fdfa;

  --eai-shadow-sm: 0 1px 3px rgba(17, 24, 39, .07);
  --eai-shadow-card: 0 8px 22px rgba(17, 24, 39, .07);
  --eai-shadow-lg: 0 12px 32px rgba(17, 24, 39, .12);
  --eai-radius: 12px;
  --eai-radius-sm: 8px;
}

body {
  font-family: 'DM Sans', sans-serif;
  color: var(--eai-text);
  font-size: 15px;
  line-height: 1.55;
}

button,input,select,textarea{font-family:'DM Sans',sans-serif}

/* Componentes compartidos */
.card {
  border-radius: var(--eai-radius);
  box-shadow: var(--eai-shadow-sm);
}

.btn-p,
.btn-g,
.btn-ico,
.finp,
.fsel,
.assign-box {
  border-radius: var(--eai-radius-sm);
}

.btn-p {
  background: var(--eai-brand);
}

.btn-p:hover {
  background: var(--eai-brand-dark);
}

.topbar h1 {
  font-size: 24px;
  letter-spacing: -.35px;
}

.ct {
  font-size: 16px;
}

/* Iconos de encabezados */
.ct > svg {
  width: 16px;
  height: 16px;
  padding: 7px;
  box-sizing: content-box;
  border-radius: 9px;
  background: var(--eai-brand-soft);
  color: var(--eai-brand);
  opacity: 1;
}

.ct.hours-title > svg {
  background: var(--eai-success-soft);
  color: var(--eai-success);
}

.ct.clients-title > svg {
  background: var(--eai-blue-soft);
  color: var(--eai-blue);
}

/* Métricas principales */
.sg .sc {
  position: relative;
  overflow: hidden;
  border-width: 1px;
  border-top-width: 4px;
  box-shadow: var(--eai-shadow-card);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sg .sc::after {
  content: '';
  position: absolute;
  right: -24px;
  bottom: -34px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: currentColor;
  opacity: .045;
  pointer-events: none;
}

.sg .sc:hover {
  transform: translateY(-3px);
}

.sg .sc:nth-child(1) {
  background: linear-gradient(145deg, #fff 10%, var(--eai-urgent-soft) 100%);
  border-color: #fecdd3;
  color: var(--eai-urgent);
  box-shadow: 0 9px 24px rgba(239, 68, 68, .11);
}

.sg .sc:nth-child(2) {
  background: linear-gradient(145deg, #fff 10%, var(--eai-brand-soft) 100%);
  border-color: var(--eai-brand-border);
  color: var(--eai-brand);
  box-shadow: 0 9px 24px rgba(255, 107, 43, .12);
}

.sg .sc:nth-child(3) {
  background: linear-gradient(145deg, #fff 10%, var(--eai-recurrent-soft) 100%);
  border-color: var(--eai-recurrent-border);
  color: var(--eai-recurrent);
  box-shadow: 0 9px 24px rgba(8, 145, 178, .10);
}

.sg .sc:nth-child(4) {
  background: linear-gradient(145deg, #fff 10%, var(--eai-success-soft) 100%);
  border-color: #bbf7d0;
  color: var(--eai-success);
  box-shadow: 0 9px 24px rgba(22, 163, 74, .10);
}

.sg .sc:nth-child(5) {
  background: linear-gradient(145deg, #fff 10%, var(--eai-blue-soft) 100%);
  border-color: #bfdbfe;
  color: var(--eai-blue);
  box-shadow: 0 9px 24px rgba(37, 99, 235, .10);
}

.sg .sc .sl {
  color: currentColor;
  opacity: .88;
}

.sg .sc .ss {
  color: var(--eai-text-secondary);
}

.sg .sc .sicon {
  color: #fff;
  box-shadow: 0 7px 16px rgba(17, 24, 39, .12);
}

.sg .sc .sicon.urgent { background: var(--eai-urgent); }
.sg .sc .sicon.active { background: var(--eai-active); }
.sg .sc .sicon.recur { background: var(--eai-recurrent); }
.sg .sc .sicon.hours { background: var(--eai-success); }
.sg .sc .sicon.done { background: var(--eai-blue); }

/* Panel lateral del dashboard */
.meeting-card {
  background: linear-gradient(145deg, #fff 12%, var(--eai-brand-soft) 100%);
  border-color: var(--eai-brand-border);
  box-shadow: 0 10px 26px rgba(255, 107, 43, .11);
}

.meeting-card .mtit-icon {
  background: var(--eai-brand);
  color: #fff;
  box-shadow: 0 6px 14px rgba(255, 107, 43, .22);
}

.hours-card {
  background: linear-gradient(145deg, #fff 15%, #effcf3 100%);
  border-color: #c8efd5;
  box-shadow: 0 8px 22px rgba(22, 163, 74, .08);
}

.clients-card {
  background: linear-gradient(145deg, #fff 15%, #f1f6ff 100%);
  border-color: #cbdcff;
  box-shadow: 0 8px 22px rgba(37, 99, 235, .08);
}

/* El violeta se reserva para IA, MAIA y sugerencias automáticas. */
.eai-ai,
.p-ac {
  background: var(--eai-ai-soft);
  color: var(--eai-ai);
}

.eai-ai-card {
  background: linear-gradient(145deg, #fff 12%, var(--eai-ai-soft) 100%);
  border-color: var(--eai-ai-border);
  box-shadow: 0 10px 26px rgba(124, 58, 237, .11);
}
/* ═══════════════════════════════════════════════════════════
   MIS TAREAS — adaptación al sistema visual compartido
   ═══════════════════════════════════════════════════════════ */
.page-mis-tareas{font-size:15px;line-height:1.55}
.page-mis-tareas .sidebar{width:240px}
.page-mis-tareas .main{margin-left:240px;padding:28px 32px 64px}
.page-mis-tareas .logo-area{padding:22px 20px 18px}
.page-mis-tareas .logo-text{font-size:20px}
.page-mis-tareas .logo-sub{font-size:11px;line-height:1.4;margin-top:3px}
.page-mis-tareas .nb{padding:15px 12px 5px}
.page-mis-tareas .nl{font-size:11px;margin-bottom:6px}
.page-mis-tareas .ni{gap:10px;padding:9px 10px;font-size:14px;margin-bottom:2px}
.page-mis-tareas .ni svg{width:17px;height:17px}
.page-mis-tareas .npill{font-size:11px;padding:2px 8px}
.page-mis-tareas .p-maia{background:var(--eai-ai-soft);color:var(--eai-ai)}
.page-mis-tareas .p-co{background:var(--eai-content-soft);color:var(--eai-content)}
.page-mis-tareas .tm{gap:10px;padding:7px 10px}
.page-mis-tareas .av{width:32px;height:32px;font-size:11px}
.page-mis-tareas .mn{font-size:13px}
.page-mis-tareas .mr{font-size:11px}
.page-mis-tareas .mt2{font-size:12px}
.page-mis-tareas .topbar{margin-bottom:26px}
.page-mis-tareas .topbar h1{font-size:24px;letter-spacing:-.35px}
.page-mis-tareas .topbar p{font-size:14px;margin-top:3px}
.page-mis-tareas .btn-p{padding:10px 17px;font-size:13px}
.page-mis-tareas .btn-g{padding:9px 14px;font-size:13px}
.page-mis-tareas .uchip{padding:6px 12px 6px 6px}
.page-mis-tareas .uav{width:26px;height:26px;font-size:10px}
.page-mis-tareas .uchip>span{font-size:13px}
.page-mis-tareas .card,.page-mis-tareas .idcard{padding:22px 24px;border-color:var(--eai-border);box-shadow:var(--eai-shadow-sm)}
.page-mis-tareas .idcard{gap:20px;margin-bottom:22px;background:linear-gradient(145deg,#fff 20%,var(--eai-brand-soft) 100%);border-color:var(--eai-brand-border);box-shadow:0 9px 24px rgba(255,107,43,.08)}
.page-mis-tareas .id-av{width:58px;height:58px;font-size:19px}
.page-mis-tareas .id-name{font-size:18px}
.page-mis-tareas .id-role{font-size:13px}
.page-mis-tareas .id-snum{font-size:27px}
.page-mis-tareas .id-slbl{font-size:11px}
.page-mis-tareas .pgrid{grid-template-columns:minmax(0,1fr) 320px;gap:18px}
.page-mis-tareas .ch{margin-bottom:17px}
.page-mis-tareas .ct{font-size:16px}
.page-mis-tareas .profile-panel{min-width:260px;padding:15px}
.page-mis-tareas .pp-name{font-size:15px}
.page-mis-tareas .pp-email{font-size:12.5px}
.page-mis-tareas .pp-role{font-size:11.5px}
.page-mis-tareas .pp-section{font-size:11px}
.page-mis-tareas .pp-perm,.page-mis-tareas .pp-admin-link a,.page-mis-tareas .pp-signout{font-size:13px}
@media(max-width:1100px){.page-mis-tareas .main{padding:24px 22px 56px}.page-mis-tareas .pgrid{grid-template-columns:minmax(0,1fr) 290px}}

/* ═══════════════════════════════════════════════════════════
   DASHBOARD — estructura y componentes específicos
   Migrado desde eclipse-dashboard.html · Agosto 2026
   ═══════════════════════════════════════════════════════════ */
:root {
  --white:#fff;--bg:#f7f8fa;--bg2:#f0f1f5;--border:#e8eaee;--border2:#f0f1f5;
  --text:#111827;--text2:#6b7280;--text3:#9ca3af;
  --shadow:0 1px 3px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.12);
  --c-web:#FF6B2B;--c-web-l:#fff3ee;--c-web-m:#ffe0d0;--c-web-d:#e05520;
  --c-ads:#2563EB;--c-ads-l:#eff6ff;--c-ads-m:#bfdbfe;
  --c-content:#0F766E;--c-content-l:#F0FDFA;--c-content-m:#99F6E4;
  --c-seo:#DB2777;--c-seo-l:#fdf2f8;
  --c-hosting:#9F1239;--c-hosting-l:#fff1f2;
  --c-bill:#16a34a;--c-bill-l:#dcfce7;--c-bill-m:#bbf7d0;
  --c-accent:#7C3AED;--c-accent-l:#f3eeff; /* reservado para IA / MAIA */
  --c-recur:#0891B2;--c-recur-l:#ECFEFF;--c-recur-m:#A5F3FC;
  --c-meeting:#FF6B2B;--c-meeting-l:#FFF3EE;--c-meeting-m:#FFD4BF;
  --c-orange:#FF6B2B;--c-orange-dark:#e05520;
  --p-urgent:#ef4444;--p-urgent-l:#fef2f2;
  --p-high:#f97316;--p-high-l:#fff7ed;
  --p-mid:#f59e0b;--p-mid-l:#fef3c7;
  --p-low:#10b981;--p-low-l:#ecfdf5;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}

/* Selectores visuales con iconografía lineal */
.eai-type-select{position:relative;min-width:148px;width:100%}
.eai-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.eai-type-trigger{width:100%;height:38px;display:flex;align-items:center;gap:9px;padding:5px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font:600 12.5px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:border-color .15s,box-shadow .15s}
.eai-type-trigger:hover,.eai-type-select.open .eai-type-trigger{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.eai-type-chevron{width:14px;height:14px;margin-left:auto;color:#94a3b8;transition:transform .15s}
.eai-type-select.open .eai-type-chevron{transform:rotate(180deg)}
.eai-type-menu{display:none;position:absolute;z-index:1200;top:calc(100% + 6px);left:0;min-width:100%;width:210px;padding:6px;border:1px solid #e2e8f0;border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 14px 35px rgba(15,23,42,.15);backdrop-filter:blur(12px)}
.eai-type-select.open .eai-type-menu{display:block;animation:eaiMenuIn .14s ease-out}
@keyframes eaiMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.eai-type-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:var(--text);font:600 12.5px 'DM Sans',sans-serif;text-align:left;cursor:pointer;transition:background .12s}
.eai-type-menu button:hover{background:#f8fafc}.eai-type-menu button.selected{background:#f1f5f9}
.eai-type-check{width:14px;height:14px;margin-left:auto;color:#0f766e;opacity:0}.eai-type-menu button.selected .eai-type-check{opacity:1}
.eai-type-icon{width:27px;height:27px;flex:0 0 27px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;vertical-align:middle}
.eai-type-icon svg{width:15px;height:15px}.eai-type-icon.neutral{color:#64748b;background:#f1f5f9}.eai-type-icon.sky{color:#0284c7;background:#e0f2fe}.eai-type-icon.rose{color:#e11d48;background:#ffe4e6}.eai-type-icon.amber{color:#b45309;background:#fef3c7}.eai-type-icon.orange{color:#ea580c;background:#ffedd5}.eai-type-icon.teal{color:#0f766e;background:#ccfbf1}.eai-type-icon.indigo{color:#4f46e5;background:#e0e7ff}.eai-type-icon.slate{color:#475569;background:#e2e8f0}
.tbadge,.lt-cell{align-items:center}.tbadge .eai-type-icon,.lt-cell .eai-type-icon{width:22px;height:22px;flex-basis:22px;border-radius:6px;margin-right:5px}.tbadge .eai-type-icon svg,.lt-cell .eai-type-icon svg{width:13px;height:13px}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:224px;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100}
.logo-area{padding:20px 18px 16px;border-bottom:1px solid var(--border2)}
.logo-text{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.4px}
.logo-text span{color:var(--c-orange)}
.logo-sub{font-size:10px;color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}
.snav{flex:1;overflow-y:auto;min-height:0}
.snav::-webkit-scrollbar{width:3px}
.snav::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
.nb{padding:12px 10px 4px}
.nl{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:1.4px;text-transform:uppercase;padding:0 8px;margin-bottom:4px}
.ni{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text2);margin-bottom:1px;transition:all .12s;text-decoration:none}
.ni:hover{background:var(--bg);color:var(--text)}
.ni.active{background:var(--c-web-l);color:var(--c-orange);font-weight:600}
.ni svg{width:15px;height:15px;flex-shrink:0;opacity:.55}
.ni.active svg{opacity:1}
.npill{margin-left:auto;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px}
.p-or{background:var(--c-web-l);color:var(--c-orange)}
.p-ac{background:var(--c-accent-l);color:var(--c-accent)}
.p-meeting{background:var(--c-meeting-l);color:var(--c-meeting)}
.adot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.tm{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;cursor:pointer;transition:background .12s}
.tm:hover{background:var(--bg)}
.av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;overflow:hidden}
.mi{flex:1;min-width:0}
.mn{font-size:11.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mr{font-size:9.5px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt{font-size:10.5px;font-weight:700;color:var(--text3);flex-shrink:0}
.main{margin-left:224px;padding:22px 26px 60px;min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.topbar h1{font-size:19px;font-weight:700}
.topbar p{font-size:12px;color:var(--text3);margin-top:2px}
.tbr{display:flex;align-items:center;gap:9px}
.rpill{display:flex;align-items:center;gap:6px;background:var(--c-meeting-l);color:var(--c-meeting);font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;cursor:pointer}
.pulse{width:5px;height:5px;border-radius:50%;background:var(--c-meeting);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.uchip{position:relative;background:var(--white);border:1px solid var(--border);border-radius:8px;padding:4px 11px 4px 5px;display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:var(--shadow)}
.profile-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:230px;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg, 0 8px 32px rgba(0,0,0,.12));padding:12px;z-index:200;cursor:default}
.profile-panel.show{display:block}
.pp-name{font-size:13.5px;font-weight:700;color:var(--text)}
.pp-email{font-size:11.5px;color:var(--text3);margin-top:1px;margin-bottom:8px}
.pp-role{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;margin-bottom:10px}
.pp-role.admin{background:#dcfce7;color:#16a34a}
.pp-role.team{background:var(--bg2,#f0f1f5);color:var(--text2)}
.pp-section{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin:8px 0 4px}
.pp-perm{font-size:12px;color:var(--text3);padding:2px 0;display:flex;align-items:center;gap:6px}
.pp-perm.ok{color:var(--text)}
.pp-admin-link{margin-top:10px;padding-top:10px;border-top:1px solid var(--border2,var(--border))}
.pp-admin-link a{font-size:12px;font-weight:600;color:var(--c-orange,#FF6B2B);text-decoration:none}
.pp-signout{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border2,var(--border));font-size:12px;font-weight:600;color:var(--text3);cursor:pointer}
.pp-signout:hover{color:#ef4444}
.pp-signout svg{width:13px;height:13px}
.uav{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff}
.uchip span{font-size:12px;font-weight:500;color:var(--text2)}
.btn-p{background:var(--c-orange);border:none;border-radius:8px;padding:8px 15px;font-family:inherit;font-size:12px;font-weight:600;color:#fff;cursor:pointer;display:flex;align-items:center;gap:5px;box-shadow:0 2px 8px rgba(255,107,43,.3);transition:background .12s}
.btn-p:hover{background:var(--c-orange-dark)}
.btn-g{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:7px 13px;font-family:inherit;font-size:12px;font-weight:500;color:var(--text2);cursor:pointer;display:flex;align-items:center;gap:5px;box-shadow:var(--shadow);transition:all .12s}
.btn-g:hover{border-color:var(--c-orange);color:var(--c-orange)}
.btn-ico{width:30px;height:30px;background:var(--white);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s;box-shadow:var(--shadow)}
.btn-ico:hover{border-color:var(--c-orange);color:var(--c-orange)}
.btn-ico svg{width:13px;height:13px}
.card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ct{font-size:13.5px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}
.ct svg{width:14px;height:14px;opacity:.55}
.sg{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-bottom:18px}
.sc{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:15px 17px;box-shadow:var(--shadow);border-top:3px solid transparent;transition:box-shadow .15s}
.sc:hover{box-shadow:var(--shadow-md)}
.sn{font-size:27px;font-weight:800;line-height:1;margin:7px 0 3px}
.sl{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px}
.ss{font-size:11px;color:var(--text3)}.ss b{font-weight:700}
.layout{display:grid;grid-template-columns:1fr 292px;gap:14px;align-items:start}
.sp{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;display:inline-flex;align-items:center;white-space:nowrap}
.sp-gr{background:var(--bg2);color:var(--text3)}.sp-bl{background:var(--c-ads-l);color:var(--c-ads)}
.sp-gn{background:var(--c-bill-l);color:var(--c-bill)}.sp-rd{background:var(--p-urgent-l);color:var(--p-urgent)}
.person-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border2);overflow-x:auto;flex-shrink:0}
.person-bar::-webkit-scrollbar{height:3px}
.pav-btn{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex-shrink:0;padding:4px 5px;border-radius:9px;transition:background .12s;position:relative}
.pav-btn:hover{background:var(--bg2)}
.pav-btn.selected{background:var(--bg2)}
.pav-btn.selected::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:16px;height:2px;border-radius:1px;background:var(--c-orange)}
.pav-ring{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;border:2px solid transparent;transition:border-color .12s;overflow:hidden;position:relative}
.pav-btn.selected .pav-ring{border-color:var(--c-orange)}
.pav-name{font-size:9.5px;font-weight:600;color:var(--text3);white-space:nowrap}
.pav-btn.selected .pav-name{color:var(--c-orange)}
.pav-count{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:var(--c-orange);color:#fff;font-size:8px;font-weight:800;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--white)}
.pav-all{width:34px;height:34px;border-radius:50%;background:var(--bg2);border:2px solid transparent;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:var(--text3)}
.pav-btn.selected .pav-all{background:var(--c-web-l);border-color:var(--c-orange);color:var(--c-orange)}
.person-banner{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--c-web-l);border-bottom:1px solid var(--c-web-m);font-size:12px;font-weight:600;color:var(--c-orange)}
.person-banner svg{width:13px;height:13px}
.banner-clear{margin-left:auto;font-size:11px;font-weight:700;cursor:pointer;text-decoration:underline;color:var(--c-orange);opacity:.7}
.banner-clear:hover{opacity:1}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}
.tab{padding:8px 13px;font-family:inherit;font-size:12px;font-weight:500;color:var(--text3);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .12s;margin-bottom:-1px;display:flex;align-items:center;gap:4px}
.tab:hover{color:var(--text2)}
.tab.active{color:var(--c-orange);border-bottom-color:var(--c-orange);font-weight:600}
.tab svg{width:11px;height:11px}
.pbar{width:3px;border-radius:2px;flex-shrink:0;align-self:stretch;margin:2px 0}
.pu{background:var(--p-urgent)}.ph{background:var(--p-high)}.pm{background:var(--p-mid)}.pl{background:var(--p-low)}
.pb{font-size:9px;font-weight:800;padding:1px 6px;border-radius:4px;text-transform:uppercase}
.pbu{background:var(--p-urgent-l);color:var(--p-urgent)}.pbh{background:var(--p-high-l);color:var(--p-high)}
.pbm{background:var(--p-mid-l);color:var(--p-mid)}.pbl{background:var(--p-low-l);color:var(--p-low)}
.phead{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;padding:10px 10px 4px;display:flex;align-items:center;gap:8px}
.phead::after{content:'';flex:1;height:1px;background:var(--border2)}
.hchip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:6px;background:var(--bg2);color:var(--text2);cursor:pointer;transition:all .13s;border:1px solid transparent;user-select:none}
.hchip.bill{background:var(--c-bill-l);color:var(--c-bill);border-color:var(--c-bill-m)}
.hchip svg{width:9px;height:9px}
.rbadge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--c-recur-l);color:var(--c-recur);display:inline-flex;align-items:center;gap:3px}
.rbadge svg{width:9px;height:9px}
.atag{font-size:10px;font-weight:700;padding:1px 7px;border-radius:6px}
.tsec{margin-bottom:3px}
.trow{display:flex;align-items:flex-start;padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .1s;gap:7px}
.trow:hover{background:var(--bg)}
.tx{width:15px;height:15px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;cursor:pointer;color:var(--text3);transition:transform .15s}
.tx.open{transform:rotate(90deg)}.tx svg{width:11px;height:11px}
.tck{width:15px;height:15px;border:1.5px solid var(--border);border-radius:4px;flex-shrink:0;margin-top:2px;cursor:pointer;transition:all .13s;display:flex;align-items:center;justify-content:center}
.tck:hover{border-color:var(--c-orange)}
.tck.done{background:var(--c-orange);border-color:var(--c-orange)}
.tck.done::after{content:'';display:block;width:7px;height:4.5px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.tbody{flex:1;min-width:0}
.tn{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.35}
.tn.done{text-decoration:line-through;color:var(--text3)}
.tmeta{display:flex;align-items:center;gap:5px;margin-top:4px;flex-wrap:wrap}
.clitag{font-size:11px;color:var(--text3);font-weight:500}
.tright{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;min-width:80px}
.aav{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;overflow:hidden;flex-shrink:0}
.slist{margin-left:24px;border-left:2px solid var(--border2);overflow:hidden;max-height:0;transition:max-height .25s ease}
.slist.open{max-height:600px}
.srow{display:flex;align-items:center;gap:7px;padding:6px 9px 6px 12px;border-radius:0 7px 7px 0;transition:background .1s}
.srow:hover{background:var(--bg)}
.dlck{width:13px;height:13px;flex-shrink:0;color:var(--text3);opacity:.4}.dlck svg{width:13px;height:13px}
.sck{width:13px;height:13px;border:1.5px solid var(--border);border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}
.sck:hover:not(.locked){border-color:var(--c-orange)}
.sck.done{background:var(--c-orange);border-color:var(--c-orange)}
.sck.done::after{content:'';display:block;width:6px;height:3.5px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.sck.locked{border-color:var(--border2);cursor:not-allowed;background:var(--bg2)}
.sn2{font-size:12px;font-weight:500;color:var(--text2);flex:1}
.sn2.done{text-decoration:line-through;color:var(--text3)}
.sn2.locked{color:var(--text3);font-style:italic}
.dbadge{font-size:9.5px;font-weight:600;color:var(--text3);background:var(--bg2);padding:1px 5px;border-radius:4px;white-space:nowrap}
.mcard{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:17px 19px;box-shadow:var(--shadow);margin-bottom:12px;border-left:3px solid var(--c-meeting);cursor:pointer;transition:box-shadow .15s}
.mcard:hover{box-shadow:var(--shadow-md)}
.mtit{font-size:13px;font-weight:700;color:var(--text)}
.mdate{font-size:11px;color:var(--text3);margin-top:2px;margin-bottom:12px}
.ait{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--border2);font-size:12px;color:var(--text2);font-weight:500}
.ait:last-child{border-bottom:none}
.an{font-size:9.5px;font-weight:700;color:var(--c-meeting);background:var(--c-meeting-l);padding:1px 5px;border-radius:4px;min-width:20px;text-align:center;flex-shrink:0}
.hrow{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--border2);cursor:pointer}
.hrow:last-child{border-bottom:none}
.hav{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:700;flex-shrink:0;overflow:hidden}
.hname{font-size:11.5px;font-weight:600;color:var(--text);flex:1}
.hbw{flex:2;height:3px;background:var(--border2);border-radius:3px;overflow:hidden}
.hb{height:100%;border-radius:3px}
.hnum{font-size:10.5px;font-weight:700;color:var(--text3);min-width:44px;text-align:right}
.hbill{font-size:9.5px;font-weight:700;color:var(--c-bill)}
.crow{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--border2)}
.crow:last-child{border-bottom:none}
.cdot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cname{font-size:12.5px;font-weight:600;color:var(--text);flex:1}
.cpills{display:flex;gap:5px}
.cpill{font-size:10px;font-weight:600;padding:2px 7px;border-radius:8px}
.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:10px;color:var(--text3);font-size:12px}
.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--c-orange);animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.overlay{position:fixed;inset:0;background:rgba(17,24,39,.28);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s}
.overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--white);border-radius:14px;padding:24px;width:540px;max-width:95vw;box-shadow:var(--shadow-lg);transform:translateY(10px);transition:transform .18s;max-height:90vh;overflow-y:auto}
.overlay.open .modal{transform:translateY(0)}
.mtitle{font-size:15px;font-weight:700;color:var(--text);margin-bottom:16px}
.msec{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;margin:14px 0 8px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.fg-grp{}.fg-grp.full{grid-column:1/-1}
.flbl{display:block;font-size:11px;font-weight:600;color:var(--text2);margin-bottom:4px}
.finp,.fsel{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:12.5px;color:var(--text);background:var(--white);outline:none;transition:border-color .12s}
.assign-box{border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--white);min-height:38px;cursor:pointer;transition:border-color .12s;position:relative}
.assign-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}
.assign-chip{display:flex;align-items:center;gap:4px;background:var(--bg2);border-radius:6px;padding:2px 6px 2px 4px;font-size:11px;font-weight:600}
.assign-chip-x{cursor:pointer;color:var(--text3);line-height:1;font-size:14px}
.assign-chip-x:hover{color:#ef4444}
.assign-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:50;max-height:200px;overflow-y:auto;margin-top:3px;display:none}
.assign-dropdown.open{display:block}
.assign-opt{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;font-size:12.5px;transition:background .1s}
.assign-opt:hover{background:var(--bg)}
.assign-opt.selected{background:#fff3ee;color:var(--c-orange);font-weight:600}
.assign-placeholder{font-size:12.5px;color:var(--text3);padding:2px 2px}
.finp:focus,.fsel:focus{border-color:var(--c-orange)}
textarea.finp{resize:vertical;min-height:56px}
.ckrow{display:flex;align-items:center;gap:8px;padding:8px 0 2px}
.ckrow input[type=checkbox]{width:14px;height:14px;accent-color:var(--c-orange);cursor:pointer}
.ckrow label{font-size:12px;font-weight:500;color:var(--text2);cursor:pointer}
.mact{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--border2)}
.stb{border:1px solid var(--border);border-radius:8px;overflow:hidden}
.stbrow{display:flex;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid var(--border2);font-size:12px}
.stbrow:last-child{border-bottom:none}
.stbnum{width:17px;height:17px;border-radius:4px;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--text3);flex-shrink:0}
.addstb{display:flex;align-items:center;gap:5px;padding:7px 9px;font-size:12px;font-weight:500;color:var(--c-orange);cursor:pointer;transition:background .1s;border-top:1px solid var(--border2)}
.addstb:hover{background:var(--c-web-l)}.addstb svg{width:12px;height:12px}
.rprev{font-size:11px;color:var(--c-recur);font-weight:600;padding:5px 0 1px;display:none;align-items:center;gap:4px}.rprev svg{width:11px;height:11px}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.anim{animation:fadeUp .3s ease both}
.sg .sc{animation:fadeUp .3s ease both}
.sg .sc:nth-child(1){animation-delay:.04s}.sg .sc:nth-child(2){animation-delay:.08s}
.sg .sc:nth-child(3){animation-delay:.12s}.sg .sc:nth-child(4){animation-delay:.16s}
.sg .sc:nth-child(5){animation-delay:.2s}
[data-tip]{position:relative}
[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:var(--text);color:#fff;font-size:10.5px;font-weight:500;padding:3px 8px;border-radius:5px;white-space:nowrap;z-index:99;pointer-events:none}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

/* ── Legibilidad dashboard · Agosto 2026 ── */
body{font-size:15px;line-height:1.55}
.sidebar{width:240px}
.main{margin-left:240px;padding:28px 32px 64px}
.logo-area{padding:22px 20px 18px}
.logo-text{font-size:20px}
.logo-sub{font-size:11px;line-height:1.4;margin-top:3px}
.nb{padding:15px 12px 5px}
.nl{font-size:11px;margin-bottom:6px}
.ni{gap:10px;padding:9px 10px;font-size:14px;margin-bottom:2px}
.ni svg{width:17px;height:17px}
.npill{font-size:11px;padding:2px 8px}
.tm{gap:10px;padding:7px 10px}
.av{width:32px;height:32px;font-size:11px}
.mn{font-size:13px}
.mr{font-size:11px}
.mt{font-size:12px}
.topbar{margin-bottom:26px}
.topbar h1{font-size:24px;letter-spacing:-.35px}
.topbar p{font-size:14px;margin-top:3px}
.rpill{font-size:12px;padding:7px 13px}
.uchip{padding:6px 12px 6px 6px}
.uav{width:26px;height:26px;font-size:10px}
.uchip span{font-size:13px}
.btn-p{padding:10px 17px;font-size:13px}
.btn-g{padding:9px 14px;font-size:13px}
.btn-ico{width:36px;height:36px}
.btn-ico svg{width:15px;height:15px}
.card{padding:22px 24px}
.ch{margin-bottom:17px}
.ct{font-size:16px}
.ct>svg{width:16px;height:16px;padding:7px;box-sizing:content-box;border-radius:9px;background:var(--c-web-l);color:var(--c-orange);opacity:1}
.ct.hours-title>svg{background:var(--c-bill-l);color:var(--c-bill)}
.ct.clients-title>svg{background:var(--c-ads-l);color:var(--c-ads)}
.sg{gap:14px;margin-bottom:22px}
.sc{padding:18px 20px}
.sc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sicon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sicon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sicon.urgent{background:var(--p-urgent-l);color:var(--p-urgent)}
.sicon.active{background:var(--c-web-l);color:var(--c-orange)}
.sicon.recur{background:var(--c-recur-l);color:var(--c-recur)}
.sicon.hours{background:var(--c-bill-l);color:var(--c-bill)}
.sicon.done{background:var(--c-ads-l);color:var(--c-ads)}
.sg .sc{position:relative;overflow:hidden;border-width:1px;border-top-width:4px;box-shadow:0 8px 22px rgba(17,24,39,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.sg .sc::after{content:'';position:absolute;right:-24px;bottom:-34px;width:110px;height:110px;border-radius:50%;background:currentColor;opacity:.045;pointer-events:none}
.sg .sc:hover{transform:translateY(-3px)}
.sg .sc:nth-child(1){background:linear-gradient(145deg,#fff 10%,#fff1f2 100%);border-color:#fecdd3;color:var(--p-urgent);box-shadow:0 9px 24px rgba(239,68,68,.11)}
.sg .sc:nth-child(2){background:linear-gradient(145deg,#fff 10%,#fff3e8 100%);border-color:#ffd4bf;color:var(--c-orange);box-shadow:0 9px 24px rgba(255,107,43,.12)}
.sg .sc:nth-child(3){background:linear-gradient(145deg,#fff 10%,var(--c-recur-l) 100%);border-color:var(--c-recur-m);color:var(--c-recur);box-shadow:0 9px 24px rgba(8,145,178,.10)}
.sg .sc:nth-child(4){background:linear-gradient(145deg,#fff 10%,#ecfdf3 100%);border-color:#bbf7d0;color:var(--c-bill);box-shadow:0 9px 24px rgba(22,163,74,.10)}
.sg .sc:nth-child(5){background:linear-gradient(145deg,#fff 10%,#eff6ff 100%);border-color:#bfdbfe;color:var(--c-ads);box-shadow:0 9px 24px rgba(37,99,235,.10)}
.sg .sc .sn{color:var(--text)}
.sg .sc:nth-child(1) .sn{color:var(--p-urgent)}
.sg .sc:nth-child(3) .sn{color:var(--c-recur)}
.sg .sc:nth-child(5) .sn{color:var(--c-ads)}
.sg .sc .sl{color:currentColor;opacity:.88}
.sg .sc .ss{color:var(--text2)}
.sg .sc .sicon{color:#fff;box-shadow:0 7px 16px rgba(17,24,39,.12)}
.sg .sc .sicon.urgent{background:var(--p-urgent)}
.sg .sc .sicon.active{background:var(--c-orange)}
.sg .sc .sicon.recur{background:var(--c-recur)}
.sg .sc .sicon.hours{background:var(--c-bill)}
.sg .sc .sicon.done{background:var(--c-ads)}
.sn{font-size:32px;margin:9px 0 5px}
.sl{font-size:11px}
.ss{font-size:12px}
.layout{grid-template-columns:minmax(0,1fr) 320px;gap:18px}
.sp{font-size:11px;padding:3px 9px}
.person-bar{gap:9px;padding:13px 17px}
.pav-btn{gap:5px;padding:5px 7px}
.pav-ring,.pav-all{width:38px;height:38px;font-size:12px}
.pav-name{font-size:11px}
.pav-count{width:18px;height:18px;font-size:9px}
.person-banner{padding:11px 16px;font-size:13px}
.banner-clear{font-size:12px}
.tabs{gap:4px}
.tab{padding:11px 15px;font-size:13px;gap:6px}
.tab svg{width:13px;height:13px}
.phead{font-size:11px;padding:13px 12px 6px}
.tsec{margin-bottom:5px}
.trow{padding:13px 12px;gap:9px}
.tx,.tck{width:18px;height:18px;margin-top:2px}
.tx svg{width:13px;height:13px}
.tn{font-size:14px;line-height:1.45}
.tmeta{gap:7px;margin-top:6px}
.pb{font-size:10px;padding:2px 7px}
.hchip{font-size:12px;padding:3px 8px}
.rbadge{font-size:10px;padding:2px 7px}
.atag{font-size:11px;padding:2px 8px}
.clitag{font-size:12px}
.aav{width:24px;height:24px;font-size:9px}
.slist{margin-left:29px}
.srow{gap:9px;padding:9px 11px 9px 14px}
.sck,.dlck{width:16px;height:16px}
.sn2{font-size:13px}
.dbadge{font-size:10.5px;padding:2px 6px}
.mcard{padding:20px 21px;margin-bottom:15px}
.mtit{font-size:15px}
.mtit-row{display:flex;align-items:center;gap:10px}
.mtit-icon{width:34px;height:34px;border-radius:10px;background:var(--c-meeting-l);color:var(--c-meeting);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mtit-icon svg{width:17px;height:17px}
.meeting-card{background:linear-gradient(145deg,#fff 12%,var(--c-meeting-l) 100%);border-color:var(--c-meeting-m);box-shadow:0 10px 26px rgba(255,107,43,.11)}
.meeting-card .mtit-icon{background:var(--c-meeting);color:#fff;box-shadow:0 6px 14px rgba(255,107,43,.22)}
.hours-card{background:linear-gradient(145deg,#fff 15%,#effcf3 100%);border-color:#c8efd5;box-shadow:0 8px 22px rgba(22,163,74,.08)}
.clients-card{background:linear-gradient(145deg,#fff 15%,#f1f6ff 100%);border-color:#cbdcff;box-shadow:0 8px 22px rgba(37,99,235,.08)}
.hours-card,.clients-card{transition:transform .18s ease,box-shadow .18s ease}
.hours-card:hover,.clients-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.mdate{font-size:12px;margin-top:3px;margin-bottom:14px}
.ait{padding:8px 0;font-size:13px}
.an{font-size:10.5px;padding:2px 6px}
.hrow{gap:10px;padding:10px 0}
.hav{width:26px;height:26px;font-size:9.5px}
.hname{font-size:13px}
.hnum{font-size:12px}
.hbill{font-size:10.5px}
.crow{padding:12px 0}
.cname{font-size:14px}
.cpill{font-size:11px;padding:3px 8px}
.loading-state{font-size:13px}
.profile-panel{min-width:260px;padding:15px}
.pp-name{font-size:15px}
.pp-email{font-size:12.5px}
.pp-role{font-size:11.5px}
.pp-section{font-size:11px}
.pp-perm,.pp-admin-link a,.pp-signout{font-size:13px}
.modal{width:580px;padding:28px}
.mtitle{font-size:18px;margin-bottom:20px}
.msec{font-size:11px}
.flbl{font-size:12.5px;margin-bottom:6px}
.finp,.fsel{padding:10px 12px;font-size:14px}
.assign-box{min-height:42px;padding:8px 10px}
.assign-chip,.assign-opt,.assign-placeholder{font-size:13px}
.ckrow label,.stbrow,.addstb{font-size:13px}
.rprev{font-size:12px}

@media (max-width:1100px){
  .layout{grid-template-columns:minmax(0,1fr) 290px}
  .main{padding:24px 22px 56px}
  .sg{grid-template-columns:repeat(3,1fr)}
}

/* ═══════════════════════════════════════════════════════════
   APLICACIÓN INTERNA — reglas comunes para todos los módulos
   ═══════════════════════════════════════════════════════════ */
.eai-app{font-size:15px;line-height:1.55}
.eai-app .sidebar{width:240px}
.eai-app .main{margin-left:240px;padding:28px 32px 64px}
.eai-app .logo-area{padding:22px 20px 18px}
.eai-app .logo-text{font-size:20px}
.eai-app .logo-sub{font-size:11px;line-height:1.4;margin-top:3px}
.eai-app .nb{padding:15px 12px 5px}
.eai-app .nl{font-size:11px;margin-bottom:6px}
.eai-app .ni{gap:10px;padding:9px 10px;font-size:14px;margin-bottom:2px}
.eai-app .ni svg{width:17px;height:17px}
.eai-app .npill{font-size:11px;padding:2px 8px}
.eai-app .p-maia{background:var(--eai-ai-soft);color:var(--eai-ai)}
.eai-app .p-co{background:var(--eai-content-soft);color:var(--eai-content)}
.admin-nav{margin:3px 0}
.admin-nav-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text2);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;text-align:left}
.admin-nav-toggle:hover,.admin-nav.open .admin-nav-toggle{background:var(--bg);color:var(--text)}
.admin-nav-toggle svg{width:17px;height:17px;flex-shrink:0;opacity:.6}
.admin-nav-chevron{margin-left:auto!important;width:13px!important;height:13px!important;transition:transform .18s ease}
.admin-nav.open .admin-nav-chevron{transform:rotate(180deg)}
.admin-subnav{display:none;margin:2px 0 5px 17px;padding-left:12px;border-left:1px solid var(--border)}
.admin-nav.open .admin-subnav{display:block}
.admin-subnav a{display:block;padding:7px 9px;border-radius:7px;color:var(--text3);font-size:12px;font-weight:600;text-decoration:none;margin-bottom:1px}
.admin-subnav a:hover{background:var(--bg);color:var(--c-orange)}
.admin-subnav a.active{background:var(--c-web-l);color:var(--c-orange)}
.eai-app .tm{gap:10px;padding:7px 10px}
.eai-app .av{width:32px;height:32px;font-size:11px}
.eai-app .mn{font-size:13px}
.eai-app .mr{font-size:11px}
.eai-app .topbar{margin-bottom:26px}
.eai-app .topbar h1{font-size:24px;letter-spacing:-.35px}
.eai-app .topbar p{font-size:14px;margin-top:3px}
.eai-app .btn-p,.eai-app .btn-maia{padding:10px 17px;font-size:13px}
.eai-app .btn-g{padding:9px 14px;font-size:13px}
.eai-app .btn-ico,.eai-app .ico-btn{width:36px;height:36px}
.eai-app .uchip{padding:6px 12px 6px 6px}
.eai-app .uav,.eai-app .uav-chip{width:26px;height:26px;font-size:10px}
.eai-app .uchip>span{font-size:13px}
.eai-app .card{padding:22px 24px;border-color:var(--eai-border);box-shadow:var(--eai-shadow-sm)}
.eai-app .ch{margin-bottom:17px}
.eai-app .ct{font-size:16px}
.eai-app .modal{padding:28px}
.eai-app .mtitle{font-size:18px}
.eai-app .flbl{font-size:12.5px;margin-bottom:6px}
.eai-app .finp,.eai-app .fsel,.eai-app .fsel-m,.eai-app .fsearch{padding:10px 12px;font-size:14px}
.eai-app .profile-panel{min-width:260px;padding:15px}
.eai-app .pp-name{font-size:15px}
.eai-app .pp-email{font-size:12.5px}
.eai-app .pp-role{font-size:11.5px}
.eai-app .pp-section{font-size:11px}
.eai-app .pp-perm,.eai-app .pp-admin-link a,.eai-app .pp-signout{font-size:13px}

/* MAIA es la única superficie operativa violeta. */
.page-maia .btn-maia{background:var(--eai-ai);box-shadow:0 4px 14px rgba(124,58,237,.22)}
.page-maia .btn-maia:hover{background:#6d28d9}
.page-maia .maia-badge,.page-maia .historial-toggle{border-color:var(--eai-ai-border)}
.page-maia .maia-badge{background:var(--eai-ai-soft);color:var(--eai-ai)}

/* ═══════════════════════════════════════════════════════════
   ACCESO Y FORMULARIOS PÚBLICOS
   ═══════════════════════════════════════════════════════════ */
.eai-public{font-size:15px;line-height:1.55;color:var(--eai-text)}
.eai-public .card{border-color:var(--eai-border);border-radius:16px;box-shadow:0 16px 42px rgba(17,24,39,.10)}
.eai-public .logo-text{font-size:22px}
.eai-public .logo-sub{font-size:11px}
.eai-public .card-title{font-size:22px;letter-spacing:-.3px}
.eai-public .card-sub,.eai-public .footer-note{font-size:13px;color:var(--eai-text-muted)}
.eai-public .form-label,.eai-public .flbl{font-size:13px;margin-bottom:6px}
.eai-public .form-input,.eai-public .finp{font-size:14px;padding:11px 13px;border-radius:9px}
.eai-public .btn-login,.eai-public .btn-submit{font-size:14px;padding:12px 18px;border-radius:9px;background:var(--eai-brand)}
.eai-public .btn-login:hover,.eai-public .btn-submit:hover{background:var(--eai-brand-dark)}
.page-alta .sec-title{font-size:17px}
.page-alta .sec-sub{font-size:13px}
.page-alta .svc-block{border-radius:12px}

/* ═══════════════════════════════════════════════════════════
   PORTAL DE CLIENTE
   ═══════════════════════════════════════════════════════════ */
.eai-portal{font-size:15px;line-height:1.55;color:var(--eai-text)}
.eai-portal .topbar{padding-top:18px;padding-bottom:18px}
.eai-portal .logo-text{font-size:21px}
.eai-portal .hero{padding:24px;border-radius:16px;background:linear-gradient(145deg,#fff 25%,var(--eai-brand-soft) 100%);border:1px solid var(--eai-brand-border);box-shadow:0 9px 24px rgba(255,107,43,.08)}
.eai-portal .hero-av{width:58px;height:58px;font-size:18px}
.eai-portal .hero-name{font-size:21px}
.eai-portal .hero-sector{font-size:13px}
.eai-portal .card{padding:24px;border-color:var(--eai-border);box-shadow:var(--eai-shadow-sm)}
.eai-portal .ct{font-size:17px}
.eai-portal .cs{font-size:13px}
.eai-portal .tab-btn{font-size:14px;padding:11px 16px}
.eai-portal .finp{font-size:14px;padding:10px 12px}
.eai-portal .report-card{border-radius:12px}
.eai-portal .soon-badge{background:var(--eai-blue-soft);color:var(--eai-blue)}

@media(max-width:1100px){
  .eai-app .main{padding:24px 22px 56px}
}

/* ═══════════════════════════════════════════════════════════
   CENTRO DE ATENCIÓN
   ═══════════════════════════════════════════════════════════ */
.page-atencion .attention-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;padding:26px 28px;border:1px solid var(--eai-brand-border);border-radius:16px;background:linear-gradient(135deg,#fff 25%,var(--eai-brand-soft) 100%);box-shadow:0 10px 28px rgba(255,107,43,.09)}
.page-atencion .attention-kicker{font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--eai-brand);margin-bottom:7px}
.page-atencion .attention-title{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.2}
.page-atencion .attention-sub{font-size:14px;color:var(--eai-text-secondary);margin-top:7px;max-width:720px}
.page-atencion .attention-live{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:20px;background:#fff;border:1px solid var(--eai-brand-border);font-size:12px;font-weight:700;color:var(--eai-brand);white-space:nowrap}
.page-atencion .attention-live-dot{width:7px;height:7px;border-radius:50%;background:var(--eai-brand);box-shadow:0 0 0 5px rgba(255,107,43,.10)}
.page-atencion .attention-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.page-atencion .attention-stat{padding:18px 20px;border-radius:13px;border:1px solid var(--eai-border);background:#fff;box-shadow:var(--eai-shadow-sm)}
.page-atencion .attention-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.page-atencion .attention-stat-label{font-size:11px;font-weight:800;letter-spacing:.65px;text-transform:uppercase;color:var(--eai-text-muted)}
.page-atencion .attention-stat-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.page-atencion .attention-stat-icon svg{width:17px;height:17px}
.page-atencion .attention-stat-num{font-size:30px;font-weight:800;line-height:1;margin-top:10px}
.page-atencion .attention-stat.critical{background:linear-gradient(145deg,#fff,var(--eai-urgent-soft));border-color:#fecdd3}.page-atencion .attention-stat.critical .attention-stat-icon{background:var(--eai-urgent);color:#fff}.page-atencion .attention-stat.critical .attention-stat-num{color:var(--eai-urgent)}
.page-atencion .attention-stat.today{background:linear-gradient(145deg,#fff,var(--eai-brand-soft));border-color:var(--eai-brand-border)}.page-atencion .attention-stat.today .attention-stat-icon{background:var(--eai-brand);color:#fff}.page-atencion .attention-stat.today .attention-stat-num{color:var(--eai-brand)}
.page-atencion .attention-stat.ai{background:linear-gradient(145deg,#fff,var(--eai-ai-soft));border-color:var(--eai-ai-border)}.page-atencion .attention-stat.ai .attention-stat-icon{background:var(--eai-ai);color:#fff}.page-atencion .attention-stat.ai .attention-stat-num{color:var(--eai-ai)}
.page-atencion .attention-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.page-atencion .attention-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.page-atencion .attention-filter{border:1px solid var(--eai-border);background:#fff;color:var(--eai-text-secondary);padding:8px 12px;border-radius:9px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}
.page-atencion .attention-filter:hover{border-color:var(--eai-brand);color:var(--eai-brand)}
.page-atencion .attention-filter.active{background:var(--eai-brand);border-color:var(--eai-brand);color:#fff;box-shadow:0 5px 13px rgba(255,107,43,.20)}
.page-atencion .attention-filter.ai.active{background:var(--eai-ai);border-color:var(--eai-ai);box-shadow:0 5px 13px rgba(124,58,237,.20)}
.page-atencion .attention-list{display:flex;flex-direction:column;gap:11px}
.page-atencion .attention-item{display:grid;grid-template-columns:5px 42px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 18px;border:1px solid var(--eai-border);border-radius:13px;background:#fff;box-shadow:var(--eai-shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.page-atencion .attention-item:hover{transform:translateY(-2px);box-shadow:var(--eai-shadow-card)}
.page-atencion .attention-severity{width:5px;align-self:stretch;border-radius:5px;background:var(--eai-brand)}
.page-atencion .attention-item.critical{border-color:#fecdd3}.page-atencion .attention-item.critical .attention-severity{background:var(--eai-urgent)}
.page-atencion .attention-item.ai{border-color:var(--eai-ai-border);background:linear-gradient(145deg,#fff 45%,var(--eai-ai-soft) 100%)}.page-atencion .attention-item.ai .attention-severity{background:var(--eai-ai)}
.page-atencion .attention-item-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--eai-brand-soft);color:var(--eai-brand)}
.page-atencion .attention-item-icon svg{width:20px;height:20px}
.page-atencion .attention-item.critical .attention-item-icon{background:var(--eai-urgent-soft);color:var(--eai-urgent)}
.page-atencion .attention-item.ai .attention-item-icon{background:var(--eai-ai);color:#fff;box-shadow:0 6px 14px rgba(124,58,237,.20)}
.page-atencion .attention-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.page-atencion .attention-source{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;color:var(--eai-text-muted)}
.page-atencion .attention-client{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:7px;background:var(--eai-bg-soft);color:var(--eai-text-secondary)}
.page-atencion .attention-item-title{font-size:14px;font-weight:750;color:var(--eai-text);line-height:1.4}
.page-atencion .attention-reason{font-size:12.5px;color:var(--eai-text-secondary);margin-top:4px;line-height:1.5}
.page-atencion .attention-actions{display:flex;align-items:center;gap:7px;align-self:center}
.page-atencion .attention-open{border:1px solid var(--eai-border);background:#fff;color:var(--eai-text-secondary);padding:8px 11px;border-radius:8px;font-family:inherit;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.page-atencion .attention-open:hover{border-color:var(--eai-brand);color:var(--eai-brand)}
.page-atencion .attention-item.ai .attention-open{border-color:var(--eai-ai-border);color:var(--eai-ai)}
.page-atencion .attention-empty{text-align:center;padding:54px 24px;border:1px dashed var(--eai-border);border-radius:14px;background:#fff;color:var(--eai-text-muted)}
.page-atencion .attention-empty-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:15px;background:var(--eai-success-soft);color:var(--eai-success);display:flex;align-items:center;justify-content:center}
.page-atencion .attention-empty-icon svg{width:25px;height:25px}
.page-atencion .attention-loading{padding:50px;text-align:center;color:var(--eai-text-muted);font-size:13px}
@media(max-width:1000px){.page-atencion .attention-stats{grid-template-columns:repeat(2,1fr)}.page-atencion .attention-item{grid-template-columns:5px 42px minmax(0,1fr)}.page-atencion .attention-actions{grid-column:2/4;justify-content:flex-start}}

/* ═══════════════════════════════════════════════════════════
   RENTABILIDAD Y CUENTA CORRIENTE
   ═══════════════════════════════════════════════════════════ */
.page-rentabilidad .finance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;scroll-margin-top:22px}
.page-rentabilidad .finance-title{font-size:26px;font-weight:800;letter-spacing:-.5px}.page-rentabilidad .finance-sub{font-size:13.5px;color:var(--eai-text-secondary);margin-top:5px}
.page-rentabilidad .month-control{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--eai-border);padding:5px;border-radius:11px;box-shadow:var(--eai-shadow-sm)}
.page-rentabilidad .month-control button{width:34px;height:34px;border:0;border-radius:8px;background:var(--eai-bg-soft);font-size:18px;cursor:pointer;color:var(--eai-text-secondary)}
.page-rentabilidad .month-label{min-width:150px;text-align:center;font-size:12.5px;font-weight:750;text-transform:capitalize}
.page-rentabilidad .finance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.page-rentabilidad .finance-stat{padding:19px 20px;border-radius:14px;border:1px solid var(--eai-border);background:#fff;box-shadow:var(--eai-shadow-sm)}
.page-rentabilidad .finance-stat-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.65px;color:var(--eai-text-muted)}
.page-rentabilidad .finance-stat-value{font-size:28px;font-weight:800;line-height:1.1;margin-top:10px}.page-rentabilidad .finance-stat-note{font-size:11.5px;color:var(--eai-text-muted);margin-top:5px}
.page-rentabilidad .finance-stat.revenue{background:linear-gradient(145deg,#fff,var(--eai-success-soft));border-color:#bbf7d0}.page-rentabilidad .finance-stat.revenue .finance-stat-value{color:var(--eai-success)}
.page-rentabilidad .finance-stat.extra{background:linear-gradient(145deg,#fff,var(--eai-brand-soft));border-color:var(--eai-brand-border)}.page-rentabilidad .finance-stat.extra .finance-stat-value{color:var(--eai-brand)}
.page-rentabilidad .finance-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.page-rentabilidad .finance-card{background:#fff;border:1px solid var(--eai-border);border-radius:14px;box-shadow:var(--eai-shadow-sm);overflow:hidden}
.page-rentabilidad .finance-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px;border-bottom:1px solid var(--eai-border)}
.page-rentabilidad .finance-card-title{font-size:15px;font-weight:800}.page-rentabilidad .finance-card-sub{font-size:11.5px;color:var(--eai-text-muted);margin-top:2px}
.page-rentabilidad .finance-table{width:100%;border-collapse:collapse}.page-rentabilidad .finance-table th{padding:10px 13px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.55px;color:var(--eai-text-muted);background:var(--eai-bg);border-bottom:1px solid var(--eai-border)}
.page-rentabilidad .finance-table td{padding:13px;border-bottom:1px solid var(--eai-border);font-size:12.5px;color:var(--eai-text-secondary)}.page-rentabilidad .finance-table tr:last-child td{border-bottom:0}.page-rentabilidad .finance-table tbody tr{cursor:pointer}.page-rentabilidad .finance-table tbody tr:hover{background:#fafbfc}
.page-rentabilidad .client-finance{display:flex;align-items:center;gap:9px}.page-rentabilidad .client-finance-dot{width:9px;height:9px;border-radius:50%}.page-rentabilidad .client-finance-name{font-weight:750;color:var(--eai-text)}
.page-rentabilidad .money{font-weight:800;color:var(--eai-text);white-space:nowrap}.page-rentabilidad .money.positive{color:var(--eai-success)}
.page-rentabilidad .finance-badge{display:inline-flex;padding:3px 7px;border-radius:7px;font-size:10px;font-weight:750}.page-rentabilidad .finance-badge.pending{background:var(--eai-brand-soft);color:var(--eai-brand)}.page-rentabilidad .finance-badge.billed{background:var(--eai-success-soft);color:var(--eai-success)}
.page-rentabilidad .side-metric{padding:15px 0;border-bottom:1px solid var(--eai-border)}.page-rentabilidad .side-metric:last-child{border-bottom:0}.page-rentabilidad .side-metric-label{font-size:11px;color:var(--eai-text-muted)}.page-rentabilidad .side-metric-value{font-size:19px;font-weight:800;margin-top:3px}
.page-rentabilidad .finance-warning{padding:14px;border-radius:11px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:11.5px;line-height:1.5;margin-top:14px}
.page-rentabilidad .finance-empty{padding:38px;text-align:center;color:var(--eai-text-muted);font-size:12.5px}
@media(max-width:1050px){.page-rentabilidad .finance-stats{grid-template-columns:repeat(2,1fr)}.page-rentabilidad .finance-layout{grid-template-columns:1fr}}
.page-rentabilidad .subscription-section{margin-top:20px;scroll-margin-top:22px}
.page-rentabilidad .subscription-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid #bfdbfe;border-radius:14px;background:linear-gradient(145deg,#fff,var(--eai-blue-soft));margin-bottom:14px}
.page-rentabilidad .subscription-banner-title{font-size:17px;font-weight:800}.page-rentabilidad .subscription-banner-sub{font-size:12.5px;color:var(--eai-text-secondary);margin-top:4px;max-width:700px}
.page-rentabilidad .projection-total{text-align:right;white-space:nowrap}.page-rentabilidad .projection-total-label{font-size:10.5px;text-transform:uppercase;font-weight:800;color:var(--eai-text-muted)}.page-rentabilidad .projection-total-value{font-size:24px;font-weight:800;color:var(--eai-blue);margin-top:3px}
.page-rentabilidad .projection-table th,.page-rentabilidad .projection-table td{text-align:right}.page-rentabilidad .projection-table th:first-child,.page-rentabilidad .projection-table td:first-child{text-align:left;position:sticky;left:0;background:inherit}.page-rentabilidad .projection-table td{white-space:nowrap}
.page-rentabilidad .service-count{font-size:10.5px;color:var(--eai-text-muted);margin-top:2px}
.page-rentabilidad .account-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:750;padding:3px 7px;border-radius:7px;background:#fffbeb;color:#92400e}

/* ── Prueba aesthetic: Dashboard ───────────────────────────── */
.page-dashboard{
  --dash-ink:#172033;
  --dash-muted:#748096;
  --dash-line:#e7eaf0;
  --dash-surface:rgba(255,255,255,.9);
  font-family:'DM Sans',sans-serif;
  color:var(--dash-ink);
  background:
    radial-gradient(circle at 76% 4%,rgba(255,219,199,.42),transparent 25%),
    radial-gradient(circle at 32% 82%,rgba(207,238,236,.32),transparent 24%),
    #f8f9fc;
}
.page-dashboard .sidebar{background:rgba(255,255,255,.92);border-color:var(--dash-line);box-shadow:8px 0 32px rgba(42,49,67,.035);backdrop-filter:blur(18px)}
.page-dashboard .logo-text,.page-dashboard .topbar h1,.page-dashboard .sn,.page-dashboard .ct,.page-dashboard .mtit,.page-dashboard .mdate{font-family:'DM Sans',sans-serif}
.page-dashboard .logo-text{font-size:24px;font-weight:800;letter-spacing:-1px}.page-dashboard .logo-sub{font-size:10px;letter-spacing:1.5px;color:#9aa3b4}
.page-dashboard .ni{min-height:40px;margin:2px 8px;padding:8px 11px;border-radius:11px;font-size:13px;font-weight:550;color:#657085;transition:background .16s,color .16s,transform .16s}
.page-dashboard .ni:hover{background:#f6f7fa;color:var(--dash-ink);transform:translateX(2px)}
.page-dashboard .ni.active{background:linear-gradient(135deg,#fff0e8,#fff8f4);color:#d95119;box-shadow:inset 0 0 0 1px #ffdac6,0 5px 14px rgba(255,107,43,.08)}
.page-dashboard .ni svg{width:17px;height:17px}.page-dashboard .nl{font-size:9.5px;letter-spacing:1.35px;color:#a0a8b6;margin:21px 18px 7px}
.page-dashboard .main{padding:34px 38px 72px}.page-dashboard .topbar{margin-bottom:30px}
.page-dashboard .topbar h1{font-size:30px;font-weight:800;letter-spacing:-1.05px;line-height:1.15}.page-dashboard .topbar p{font-size:13px;color:var(--dash-muted);margin-top:6px}
.page-dashboard .btn-g{min-height:36px;border-color:#e3e6ec;background:rgba(255,255,255,.86);font-size:12.5px;box-shadow:0 3px 10px rgba(30,38,56,.045)}
.page-dashboard .btn-g:hover{border-color:#ccd2dc;background:#fff;transform:translateY(-1px)}
.page-dashboard .rpill{border-radius:999px;padding:8px 13px;background:#fff8f4;border:1px solid #ffdac6;color:#b94718;box-shadow:none}
.page-dashboard .uchip{padding:5px 9px 5px 5px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid #e3e6ec;box-shadow:0 4px 14px rgba(30,38,56,.04)}
.page-dashboard .sg{gap:15px;margin-bottom:25px}
.page-dashboard .sg .sc{min-height:138px;padding:18px 19px;border:1px solid rgba(222,226,234,.9)!important;border-top:1px solid rgba(222,226,234,.9)!important;border-radius:18px;background:var(--dash-surface);box-shadow:0 10px 30px rgba(42,49,67,.065);backdrop-filter:blur(12px)}
.page-dashboard .sg .sc:nth-child(1){background:linear-gradient(145deg,#fff 30%,#fff0f2)}.page-dashboard .sg .sc:nth-child(2){background:linear-gradient(145deg,#fff 30%,#fff2e9)}.page-dashboard .sg .sc:nth-child(3){background:linear-gradient(145deg,#fff 30%,#eafafb)}.page-dashboard .sg .sc:nth-child(4){background:linear-gradient(145deg,#fff 30%,#edf9f1)}.page-dashboard .sg .sc:nth-child(5){background:linear-gradient(145deg,#fff 30%,#eef4ff)}
.page-dashboard .sg .sc::after{width:92px;height:92px;right:-27px;bottom:-31px;opacity:.055}.page-dashboard .sg .sc:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(42,49,67,.09)}
.page-dashboard .sl{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;line-height:1.25;letter-spacing:-.1px;color:#4f5a6e;text-transform:none}.page-dashboard .sn{font-size:32px;font-weight:800;letter-spacing:-1.2px;margin-top:12px}.page-dashboard .ss{font-size:11.5px;color:#8b94a5;margin-top:5px}
.page-dashboard .sicon{width:36px;height:36px;border-radius:11px;box-shadow:0 6px 15px rgba(42,49,67,.08)}.page-dashboard .sicon svg{width:18px;height:18px}
.page-dashboard .layout{gap:18px}.page-dashboard .card,.page-dashboard .mcard{border:1px solid rgba(225,228,235,.92);border-radius:18px;background:var(--dash-surface);box-shadow:0 12px 34px rgba(42,49,67,.065);backdrop-filter:blur(12px)}
.page-dashboard .card{padding:24px 25px}.page-dashboard .card[style*="padding:0"]{border-radius:18px!important}
.page-dashboard .ct{font-size:18px;font-weight:800;letter-spacing:-.45px}.page-dashboard .ct>svg{border-radius:10px}
.page-dashboard .tabs{gap:4px}.page-dashboard .tab{padding:9px 11px;border-radius:8px 8px 0 0;font-size:11.5px}.page-dashboard .tab.active{color:#d95119;background:#fff7f2;border-bottom-color:#ff6b2b}
.page-dashboard .tr{margin:4px 2px;border-radius:12px;border-color:#edf0f4;transition:transform .15s,box-shadow .15s,border-color .15s}.page-dashboard .tr:hover{transform:translateY(-1px);border-color:#dfe3ea;box-shadow:0 7px 18px rgba(42,49,67,.055)}
.page-dashboard .mcard{padding:21px}.page-dashboard .meeting-card{background:linear-gradient(145deg,#fff 25%,#fff1e8);border-color:#ffdac6}.page-dashboard .hours-card{background:linear-gradient(145deg,#fff 25%,#edf9f1)}.page-dashboard .clients-card{background:linear-gradient(145deg,#fff 25%,#eef4ff)}
.page-dashboard .mtit{font-size:17px;font-weight:800;letter-spacing:-.35px}.page-dashboard .mdate{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:-.1px;color:#8a5a44;margin-top:8px}
.page-dashboard .modal{border:1px solid rgba(255,255,255,.85);border-radius:20px;box-shadow:0 24px 70px rgba(23,32,51,.2)}.page-dashboard .mtitle{font-family:'DM Sans',sans-serif;font-size:19px;font-weight:800;letter-spacing:-.4px}
.page-dashboard button,.page-dashboard input,.page-dashboard select,.page-dashboard textarea{font-family:'DM Sans',sans-serif}
.page-dashboard .finp,.page-dashboard .fsel,.page-dashboard .assign-box{min-height:40px;border-color:#dfe3ea;background:#fbfcfe;font-family:'DM Sans',sans-serif}.page-dashboard .finp:focus,.page-dashboard .fsel:focus{background:#fff;border-color:#ff9b70;box-shadow:0 0 0 3px rgba(255,107,43,.1)}
@media(max-width:1100px){.page-dashboard .main{padding:28px 24px 60px}.page-dashboard .sg{grid-template-columns:repeat(3,1fr)}}
.page-rentabilidad .account-note{margin:14px 18px 18px;padding:13px 14px;border:1px solid #bfdbfe;border-radius:10px;background:var(--eai-blue-soft);color:#1d4ed8;font-size:11.5px;line-height:1.5}

/* ── Aesthetic compartido: todas las pantallas ─────────────── */
.eai-app:not(.page-dashboard){
  font-family:'DM Sans',sans-serif;
  color:#172033;
  background:radial-gradient(circle at 82% 2%,rgba(255,219,199,.30),transparent 24%),#f8f9fc;
}
.eai-app:not(.page-dashboard) .sidebar{background:rgba(255,255,255,.94);border-color:#e7eaf0;box-shadow:8px 0 30px rgba(42,49,67,.035);backdrop-filter:blur(16px)}
.eai-app:not(.page-dashboard) .logo-text,.eai-app:not(.page-dashboard) .topbar h1,.eai-app:not(.page-dashboard) .ct,.eai-app:not(.page-dashboard) .mtitle{font-family:'DM Sans',sans-serif;letter-spacing:-.45px}
.eai-app:not(.page-dashboard) .topbar h1{font-size:28px;font-weight:800}.eai-app:not(.page-dashboard) .topbar p{font-size:13px;color:#748096;margin-top:5px}
.eai-app:not(.page-dashboard) .ni{margin:2px 8px;min-height:39px;padding:8px 11px;border-radius:11px;font-size:13px;color:#657085;transition:background .16s,color .16s,transform .16s}
.eai-app:not(.page-dashboard) .ni:hover{background:#f6f7fa;color:#172033;transform:translateX(2px)}
.eai-app:not(.page-dashboard) .ni.active{background:linear-gradient(135deg,#fff0e8,#fff8f4);color:#d95119;box-shadow:inset 0 0 0 1px #ffdac6,0 5px 14px rgba(255,107,43,.07)}
.eai-app:not(.page-dashboard) .ni[href*="maia"].active{background:linear-gradient(135deg,#f3eeff,#faf8ff);color:var(--eai-ai);box-shadow:inset 0 0 0 1px var(--eai-ai-border),0 5px 14px rgba(124,58,237,.08)}
.eai-app:not(.page-dashboard) .card,.eai-app:not(.page-dashboard) .mcard,.eai-app:not(.page-dashboard) .panel{border-color:#e4e7ed;border-radius:17px;box-shadow:0 10px 30px rgba(42,49,67,.06)}
.eai-app:not(.page-dashboard) .btn-g{border-color:#e1e5eb;background:rgba(255,255,255,.9);box-shadow:0 3px 10px rgba(30,38,56,.04)}
.eai-app:not(.page-dashboard) .finp,.eai-app:not(.page-dashboard) .fsel,.eai-app:not(.page-dashboard) .fsel-m,.eai-app:not(.page-dashboard) input,.eai-app:not(.page-dashboard) select,.eai-app:not(.page-dashboard) textarea{font-family:'DM Sans',sans-serif}
.eai-app:not(.page-dashboard) .modal{border-radius:20px;box-shadow:0 24px 70px rgba(23,32,51,.2)}
.eai-public,.eai-portal{font-family:'DM Sans',sans-serif;background:radial-gradient(circle at 80% 5%,rgba(255,219,199,.32),transparent 28%),#f8f9fc}
.eai-public h1,.eai-public h2,.eai-portal h1,.eai-portal h2,.eai-portal .hero-name{font-family:'DM Sans',sans-serif;letter-spacing:-.5px}
