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

:root{
  /* ---------- Paleta (clonada de Ambora AI) ----------
     Base casi monocromática: blanco, negro/gris oscuro para texto,
     un único acento navy oscuro, verde solo para "vivo"/éxito. */
  --canvas:#ffffff;         /* fondo de página — blanco puro, como Ambora */
  --bg:#ffffff;             /* alias retrocompatible */
  --sidebar-bg:#fafafa;     /* sidebar apenas distinta del contenido */
  --surface:#ffffff;        /* tarjeta estándar — blanca con borde, no relleno gris */
  --surface-2:#ffffff;
  --surface-3:#fafafa;      /* superficie anidada sutil (inputs, filas internas) */
  --ink:#0a0a0a;            /* negro casi puro — botones primarios, texto fuerte */
  --text:#18181b;
  --muted:#71717a;
  --muted-2:#a1a1aa;
  --line:#e4e4e7;           /* borde fino, omnipresente — reemplaza sombras */
  --navy:#111a33;           /* acento único de marca (equivalente al "Get Pro" de Ambora) */
  --navy-2:#1b2747;
  --lime:#c7f33c;           /* queda solo como detalle puntual de marca (logo, chart) */
  --lime-dark:#a3d61f;

  /* ---------- Escala tipográfica ---------- */
  --text-xs:11.5px;
  --text-sm:12.5px;
  --text-base:14px;
  --text-md:15px;
  --text-lg:18px;
  --text-xl:22px;
  --text-2xl:28px;
  --text-3xl:38px;

  /* ---------- Escala de espaciado (base 4px) ---------- */
  --space-1:4px;  --space-2:8px;  --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-7:32px; --space-8:40px;

  /* ---------- Radios contenidos (nada de píldoras grandes) ---------- */
  --radius-2xl:16px;
  --radius-xl:12px;    /* tarjetas estándar */
  --radius-lg:10px;    /* filas, tarjetas anidadas */
  --radius-md:8px;     /* botones, inputs, controles */
  --radius-sm:6px;     /* chips chicos */
  --pill:999px;        /* solo para elementos realmente circulares/pill (avatares, dots) */

  /* ---------- Sombra: casi nula; el borde hace el trabajo ---------- */
  --shadow-sm:0 1px 2px rgba(15,15,12,.04);
  --shadow-md:0 6px 20px rgba(15,15,12,.08);
  --shadow-lg:0 16px 40px rgba(15,15,12,.12);
  --focus-ring:0 0 0 3px rgba(17,26,51,.15);

  --sidebar-w:248px;
  --danger:#dc2626;
  --danger-pale:#fef2f2;
  --warn:#b45309;
  --warn-pale:#fffbeb;
  --ok:#16a34a;
  --ok-pale:#f0fdf4;
  --info:#2563eb;
  --info-pale:#eff6ff;

  /* Acentos pastel — solo para detalles decorativos (borde de tarjetas),
     no para texto ni badges (ahí sigue el semántico de arriba, más legible). */
  --pastel-green:#a7e3c4;
  --pastel-amber:#f5cf8a;
  --pastel-red:#f3b4b8;
  --pastel-blue:#a9cdf5;
  --pastel-purple:#c9b8f0;
  --pastel-gray:#d4d4d8;
}

/* ---------- Tema oscuro ---------- */
html[data-theme="dark"]{
  --canvas:#0b0b0c;
  --bg:#0b0b0c;
  --sidebar-bg:#111113;
  --surface:#141416;
  --surface-2:#18181b;
  --surface-3:#1c1c1f;
  --text:#f4f4f5;
  --muted:#a1a1aa;
  --muted-2:#52525b;
  --line:#27272a;
  --navy:#e4e9f7;
  --navy-2:#c9d3ec;
  --danger-pale:rgba(220,38,38,.14);
  --warn-pale:rgba(180,83,9,.16);
  --ok-pale:rgba(22,163,74,.14);
  --info-pale:rgba(37,99,235,.16);
}
html[data-theme="dark"] .btn-dark,
html[data-theme="dark"] .btn-navy,
html[data-theme="dark"] .side-item.active,
html[data-theme="dark"] .toast{ background:#f4f4f5; color:#0b0b0c; }
html[data-theme="dark"] .brand-mark{ color:#f4f4f5; }
html[data-theme="dark"] .brand-mark g circle{ fill:#0b0b0c; }

*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:
    radial-gradient(ellipse 640px 420px at 8% 0%, rgba(199,168,255,.10), transparent 60%),
    radial-gradient(ellipse 560px 420px at 92% 18%, rgba(255,196,196,.10), transparent 60%),
    radial-gradient(ellipse 620px 460px at 50% 100%, rgba(168,214,255,.09), transparent 60%),
    var(--canvas);
  background-attachment:fixed;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-size:var(--text-base);
  line-height:1.5;
}
h1,h2,h3,h4,p{margin:0}
button{font-family:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
input,select,textarea{font-family:inherit;font-size:var(--text-md)}
ul{list-style:none;margin:0;padding:0}
svg{display:block}
::selection{background:var(--navy);color:#fff}

:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}

.tabular,.stat-big,.crm-table td b,.totals-row span:last-child{font-variant-numeric:tabular-nums}

.icon{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-sm{width:14px;height:14px}
.icon-lg{width:22px;height:22px}

@keyframes ug-rise{ from{opacity:0} to{opacity:1} }
.content{animation:ug-rise .2s ease both}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ---------- Layout general: sidebar fija + columna principal ---------- */
.app{min-height:100vh}
.layout{display:flex;min-height:100vh}
.main-col{flex:1;min-width:0;display:flex;flex-direction:column}

/* ---------- Sidebar (navegación principal, estilo Ambora) ---------- */
.sidebar{
  width:var(--sidebar-w);flex:0 0 auto;
  background:var(--sidebar-bg);border-right:1px solid var(--line);
  display:flex;flex-direction:column;
  padding:var(--space-5) var(--space-3);
  height:100vh;position:sticky;top:0;overflow-y:auto;
}
.brand{display:flex;align-items:center;gap:9px;padding:0 var(--space-2);margin-bottom:var(--space-5);flex:0 0 auto}
.brand-mark{width:26px;height:26px;flex:0 0 auto;color:var(--ink);display:block}
.brand-logo-img{height:28px;width:auto;max-width:160px;display:block;object-fit:contain}
.topbar-brand{display:none;align-items:center;flex:0 0 auto}
.topbar-logo-img{height:22px;width:auto;max-width:140px;display:block;object-fit:contain}
@media (max-width: 880px){
  .topbar-brand{display:flex}
}
html[data-theme="dark"] .brand-logo-img,
html[data-theme="dark"] .topbar-logo-img{ filter:brightness(0) invert(1); }
.logo-mark-svg{width:100%;height:100%;display:block}
.brand-name{font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;white-space:nowrap}

.side-switcher{
  display:flex;align-items:center;gap:9px;width:100%;
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:8px 10px;margin-bottom:var(--space-5);font-size:var(--text-sm);font-weight:500;
}
.side-switcher .sw-dot{width:20px;height:20px;border-radius:50%;flex:0 0 auto}
.side-switcher .sw-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.side-nav{display:flex;flex-direction:column;gap:2px}
.side-nav + .side-nav{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line)}
.side-item{
  display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-md);
  color:var(--muted);font-size:var(--text-base);font-weight:500;
}
.side-item .icon{width:17px;height:17px;flex:0 0 auto}
.side-item:hover{background:var(--surface-2);color:var(--text)}
.side-item.active{background:var(--surface-2);color:var(--text);font-weight:600;border:1px solid var(--line)}
.side-item.active .icon{color:var(--ink)}

.sidebar .spacer{flex:1}

.side-status{
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-3);
  font-size:var(--text-xs);
}
.side-status .row{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--text);margin-bottom:2px}
.side-status .row .dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}
.side-status p{color:var(--muted);line-height:1.4}

.side-footer{
  display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--line);
}
.side-footer .txt{flex:1;min-width:0}
.side-footer b{display:block;font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-footer span{display:block;font-size:11px;color:var(--muted)}

/* ---------- Hamburguesa (mobile) ---------- */
.hamburger{
  display:none;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--line);
  background:var(--surface-2);flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;
}
.hamburger span{display:block;width:16px;height:1.6px;background:var(--text);border-radius:2px}

/* ---------- Topbar: franja utilitaria angosta, sin fondo propio ---------- */
.content{flex:1;min-width:0;padding:0 var(--space-7) 60px}
.topbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-5) var(--space-7) var(--space-4);flex-wrap:wrap}
.topbar-left{display:flex;align-items:center;gap:var(--space-3)}
.topbar-right{display:flex;align-items:center;gap:8px}

.icon-circle{
  width:36px;height:36px;border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  background:var(--surface-2);border:1px solid var(--line);flex:0 0 auto;position:relative;color:var(--text);
}
.icon-circle:hover{background:var(--surface-3)}
.icon-circle .dot{
  position:absolute;top:6px;right:7px;width:6px;height:6px;border-radius:50%;
  background:var(--danger);border:2px solid var(--surface-2);
}
.user-chip{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  font-weight:600;font-size:12px;color:#fff;border:1px solid var(--line);
}
.user-chip img{width:100%;height:100%;object-fit:cover}
.avatar-stack{display:none} /* el stack de avatares de equipo vive ahora en el panel de cuenta */

/* ---------- Botones (rect. contenido, no píldora) ---------- */
.btn{
  border:1px solid var(--line);border-radius:var(--radius-md);padding:8px 14px;font-weight:500;font-size:var(--text-sm);
  display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);color:var(--text);
  transition:background .12s ease,border-color .12s ease;
}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-lime{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.btn:hover{background:var(--surface-3)}
.btn-dark:hover{background:#242424;border-color:#242424}
.btn-navy:hover{background:#1c2847;border-color:#1c2847}
.btn-ghost{background:transparent;border:1px solid var(--line)}
.btn-danger{background:var(--danger-pale);color:var(--danger);border-color:var(--danger-pale)}
.btn-sm{padding:6px 11px;font-size:var(--text-xs)}
.btn-icon-only{width:36px;height:36px;padding:0;border-radius:var(--radius-md);justify-content:center}
.btn:active{transform:scale(.98)}

/* ---------- Page header ---------- */
.crumbs{display:none}
.page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);
  flex-wrap:wrap;margin-bottom:var(--space-6);
}
.page-head-left{display:flex;align-items:center;gap:var(--space-4)}
.back-btn{
  width:36px;height:36px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--text);flex:0 0 auto;
}
.page-title{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}
.page-sub{color:var(--muted);font-size:var(--text-sm);margin-top:3px}

.toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.date-chip{
  background:var(--surface-2);border:1px solid var(--line);padding:8px 14px;border-radius:var(--radius-md);
  font-size:var(--text-sm);color:var(--muted);display:flex;align-items:center;gap:8px;font-weight:500;
}

/* ---------- Cards ---------- */
.card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:var(--space-5);
  position:relative;
}
.card-white{background:var(--surface-2)}
.card-title{font-size:var(--text-md);font-weight:600;letter-spacing:-.005em}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:var(--space-4)}
.card-actions{display:flex;align-items:center;gap:8px}
.mini-icon-btn{
  width:30px;height:30px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--text);flex:0 0 auto;
}
.card-white .mini-icon-btn{background:var(--surface-3)}
.mini-icon-btn:hover{background:var(--surface-3)}
.mini-icon-btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Badges / tags ---------- */
.badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 9px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;
  letter-spacing:.01em;
}
.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-new{background:var(--info-pale);color:var(--info)}
.badge-progress{background:var(--warn-pale);color:var(--warn)}
.badge-done{background:var(--ok-pale);color:var(--ok)}
.badge-lost{background:var(--danger-pale);color:var(--danger)}
.badge-lime{background:var(--surface-3);color:var(--text);border:1px solid var(--line)}
.badge-neutral{background:var(--surface-3);color:var(--muted)}
.card-white .badge-neutral{background:var(--surface-3)}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--muted-2);border-radius:8px}

.flex{display:flex}
.between{justify-content:space-between}
.center{align-items:center}
.gap-8{gap:8px}
.gap-12{gap:12px}
.muted{color:var(--muted)}
.grow{flex:1}
.hide{display:none!important}
.stat-big{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}
.stat-label{font-size:var(--text-sm);color:var(--muted)}
.eyebrow{font-size:var(--text-xs);color:var(--muted);font-weight:600}

@media (max-width:900px){
  .sidebar{position:fixed;left:-100%;top:0;z-index:150;transition:left .2s ease;width:270px;box-shadow:var(--shadow-lg);height:100dvh}
  .sidebar.open{left:0}
  .hamburger{display:flex}
  .topbar{padding:var(--space-4)}
  .content{padding:0 var(--space-4) 40px}
  .page-title{font-size:22px}
}
