/* ─────────────────────────────────────────────────────────────
   ClaudioBot v2 — estilos para Paquetes A · B · C + tema claro
   ───────────────────────────────────────────────────────────── */

/* ════════════════════════════════════════════════════════════
   THEME — Light mode
   ════════════════════════════════════════════════════════════ */
:root[data-theme="light"] {
  --cb-bg:        #F7F8FA;
  --cb-bg-2:      #FFFFFF;
  --cb-surf:      #FFFFFF;
  --cb-surf-2:    #FAFBFC;
  --cb-line:      #E5E7EB;
  --cb-line-strong: #D1D5DB;

  --cb-text:      #0F1419;
  --cb-text-2:    #4B5563;
  --cb-text-3:    #6B7280;
  --cb-text-4:    #9CA3AF;

  --cb-accent-ink: #0A0C10;

  --cb-good:      #15A36A;
  --cb-warn:      #D97706;
  --cb-danger:    #DC2626;
  --cb-info:      #2563EB;
  --cb-muted:     #9CA3AF;

  --cb-shadow:    0 1px 0 rgba(15,20,25,0.04), 0 6px 18px rgba(15,20,25,0.08);
  --cb-shadow-lg: 0 1px 0 rgba(15,20,25,0.06), 0 18px 50px rgba(15,20,25,0.18);
}
:root[data-theme="light"] body { background: var(--cb-bg); }
:root[data-theme="light"] ::-webkit-scrollbar-thumb { background: #d1d5db; }
:root[data-theme="light"] .cb-app {
  background:
    radial-gradient(1200px 600px at -10% -10%, color-mix(in oklch, var(--cb-accent) 12%, transparent), transparent 60%),
    radial-gradient(900px 500px at 110% -20%, color-mix(in oklch, var(--cb-info) 6%, transparent), transparent 60%),
    var(--cb-bg);
}
:root[data-theme="light"] .cb-wa { background: #ECEFF3; }
:root[data-theme="light"] .cb-wa__msg--bot .cb-wa__bubble { background: #FFFFFF; border: 1px solid var(--cb-line); }
:root[data-theme="light"] .cb-wa__msg--me .cb-wa__bubble { background: #D9F5E3; color: var(--cb-text); }
:root[data-theme="light"] .cb-top { background: color-mix(in oklch, white 88%, transparent); }
:root[data-theme="light"] .cb-kbd { background: white; }

/* ════════════════════════════════════════════════════════════
   TOPBAR · Empresa picker
   ════════════════════════════════════════════════════════════ */
.cb-empresa { position: relative; }
.cb-empresa__btn {
  display: inline-flex; align-items: center; gap: 8px;
  height: 32px; padding: 0 10px 0 8px;
  background: var(--cb-surf);
  border: 1px solid var(--cb-line);
  border-radius: 8px;
  color: var(--cb-text);
  font-size: 12px; font-weight: 500;
  transition: border-color .12s, background .12s;
}
.cb-empresa__btn:hover { border-color: var(--cb-line-strong); background: var(--cb-surf-2); }
.cb-empresa__chip { width: 8px; height: 8px; border-radius: 2px; flex-shrink: 0; }
.cb-empresa__name { white-space: nowrap; max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
.cb-empresa__menu {
  position: absolute; top: 38px; left: 0;
  width: 320px;
  background: var(--cb-surf-2);
  border: 1px solid var(--cb-line-strong);
  border-radius: 12px;
  box-shadow: var(--cb-shadow-lg);
  z-index: 60;
  padding: 8px;
}
.cb-empresa__hint { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cb-text-3); padding: 4px 8px 6px; }
.cb-empresa__row {
  width: 100%;
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--cb-text);
  text-align: left;
}
.cb-empresa__row:hover { background: var(--cb-bg-2); }
.cb-empresa__row.is-active { background: color-mix(in oklch, var(--cb-accent) 10%, var(--cb-bg-2)); }
.cb-empresa__rowtxt { flex: 1; }
.cb-empresa__rowname { font-size: 12.5px; font-weight: 500; }
.cb-empresa__rowmeta { font-size: 10.5px; color: var(--cb-text-3); font-family: var(--cb-font-mono); }
.cb-empresa__foot {
  display: flex; align-items: flex-start; gap: 6px;
  padding: 8px 10px; margin-top: 6px;
  border-top: 1px dashed var(--cb-line);
  font-size: 10.5px; color: var(--cb-text-3); line-height: 1.4;
}
.cb-empresa__foot svg { color: var(--cb-accent); margin-top: 2px; }

/* ════════════════════════════════════════════════════════════
   DRAWER · Bandeja
   ════════════════════════════════════════════════════════════ */
.cb-drawer__wrap {
  position: fixed; inset: 0; z-index: 90;
  background: rgba(5, 6, 10, 0.55);
  backdrop-filter: blur(4px);
  display: flex; justify-content: flex-end;
}
.cb-drawer {
  width: 460px; max-width: 92vw;
  height: 100%;
  background: var(--cb-bg-2);
  border-left: 1px solid var(--cb-line-strong);
  display: flex; flex-direction: column;
  box-shadow: -20px 0 60px rgba(0,0,0,0.5);
  animation: cb-slidein 0.22s ease;
}
@keyframes cb-slidein { from { transform: translateX(20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
.cb-drawer__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--cb-line);
}
.cb-drawer__kicker { font-size: 10.5px; color: var(--cb-text-3); text-transform: uppercase; letter-spacing: 0.08em; }
.cb-drawer__title { font-size: 16px; font-weight: 600; margin-top: 2px; }
.cb-drawer__tabs { padding: 8px 14px; border-bottom: 1px solid var(--cb-line); display: flex; gap: 4px; overflow-x: auto; flex-wrap: nowrap; }
.cb-drawer__list { flex: 1; overflow-y: auto; padding: 8px 12px; display: flex; flex-direction: column; gap: 8px; }
.cb-drawer__foot { display: flex; justify-content: space-between; padding: 12px 14px; border-top: 1px solid var(--cb-line); }

.cb-notif {
  display: flex; gap: 12px;
  padding: 12px 14px;
  background: var(--cb-surf);
  border: 1px solid var(--cb-line);
  border-left: 3px solid var(--cb-line-strong);
  border-radius: 8px;
}
.cb-notif--alta { border-left-color: var(--cb-danger); }
.cb-notif--media { border-left-color: var(--cb-warn); }
.cb-notif--baja { border-left-color: var(--cb-info); }
.cb-notif__ico {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  background: var(--cb-bg-2);
  border: 1px solid var(--cb-line);
  border-radius: 8px;
  color: var(--cb-text-2);
  flex-shrink: 0;
}
.cb-notif--alta .cb-notif__ico { color: var(--cb-danger); border-color: color-mix(in oklch, var(--cb-danger) 30%, transparent); }
.cb-notif--media .cb-notif__ico { color: var(--cb-warn); }
.cb-notif__body { flex: 1; min-width: 0; }
.cb-notif__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cb-notif__cat { font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--cb-text-3); }
.cb-notif__t { font-size: 10.5px; color: var(--cb-text-3); font-family: var(--cb-font-mono); }
.cb-notif__title { font-size: 13px; font-weight: 500; margin: 4px 0 2px; }
.cb-notif__det { font-size: 11.5px; color: var(--cb-text-2); line-height: 1.45; }
.cb-notif__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; }
.cb-notif__obra { font-size: 10.5px; color: var(--cb-text-3); }
.cb-notif__cta {
  display: inline-flex; align-items: center; gap: 4px;
  background: transparent; border: none;
  font-size: 11px; color: var(--cb-accent);
  font-weight: 600;
}
.cb-empty { padding: 40px 20px; text-align: center; color: var(--cb-text-3); font-size: 12.5px; }

/* ════════════════════════════════════════════════════════════
   CMD-PAL · enhanced
   ════════════════════════════════════════════════════════════ */
.cb-cmdpal__item { gap: 10px; }
.cb-cmdpal__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cb-cmdpal__sub { font-size: 10.5px; color: var(--cb-text-3); font-family: var(--cb-font-mono); }

/* ════════════════════════════════════════════════════════════
   OWNER HOME · Vista del Dueño
   ════════════════════════════════════════════════════════════ */
.cb-owner-banner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px;
  margin-bottom: var(--cb-space-4);
  background: linear-gradient(90deg, color-mix(in oklch, var(--cb-accent) 14%, var(--cb-surf)) 0%, var(--cb-surf) 100%);
  border: 1px solid color-mix(in oklch, var(--cb-accent) 25%, var(--cb-line));
  border-radius: 10px;
  font-size: 12px;
}
.cb-owner-banner__l { display: flex; align-items: center; gap: 8px; color: var(--cb-text); font-weight: 500; }
.cb-owner-banner__l svg { color: var(--cb-accent); }
.cb-owner-banner__r { font-size: 11px; color: var(--cb-text-3); font-family: var(--cb-font-mono); }

.cb-decis { display: flex; flex-direction: column; gap: 6px; }
.cb-decis__row {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--cb-bg-2);
  border: 1px solid var(--cb-line);
  border-radius: 8px;
}
.cb-decis__row--alta { border-color: color-mix(in oklch, var(--cb-danger) 25%, var(--cb-line)); background: color-mix(in oklch, var(--cb-danger) 4%, var(--cb-bg-2)); }
.cb-decis__row--media { background: color-mix(in oklch, var(--cb-warn) 3%, var(--cb-bg-2)); }
.cb-decis__row--small { padding: 8px 0; background: transparent; border: none; border-bottom: 1px dashed var(--cb-line); border-radius: 0; }
.cb-decis__row--small:last-child { border-bottom: none; }
.cb-decis__body { flex: 1; min-width: 0; }
.cb-decis__t { font-size: 13px; font-weight: 500; }
.cb-decis__m { font-size: 11.5px; color: var(--cb-text-3); display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.cb-decis__cta { display: flex; gap: 6px; flex-shrink: 0; }

.cb-grid--cash { grid-template-columns: 1fr 1.4fr; }
@media (max-width: 1180px) { .cb-grid--cash { grid-template-columns: 1fr; } }

.cb-cash { display: flex; flex-direction: column; gap: 6px; }
.cb-cash__row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; font-size: 13px; border-bottom: 1px dashed var(--cb-line); }
.cb-cash__row:last-child { border-bottom: none; }
.cb-cash__row span { color: var(--cb-text-2); }
.cb-cash__sep { height: 1px; background: var(--cb-line); margin: 6px 0; }
.cb-cash__row.is-big { margin-top: 8px; padding: 12px 14px; background: color-mix(in oklch, var(--cb-accent) 14%, var(--cb-bg-2)); border: 1px solid color-mix(in oklch, var(--cb-accent) 30%, transparent); border-radius: 8px; font-size: 15px; }
.cb-cash__row.is-big span { font-weight: 600; color: var(--cb-text); }
.cb-cash__v--good { color: var(--cb-good); }
.cb-cash__v--bad  { color: var(--cb-danger); }
.cb-cash__v--info { color: var(--cb-info); }
.cb-cash__v--neutral { color: var(--cb-text); }

.cb-portfolio { display: flex; flex-direction: column; gap: 10px; }
.cb-portfolio__row { display: grid; grid-template-columns: 60px 1fr 70px; align-items: center; gap: 10px; font-size: 12px; }
.cb-portfolio__bars { position: relative; height: 18px; }
.cb-portfolio__fact, .cb-portfolio__costo { position: absolute; left: 0; height: 8px; border-radius: 3px; transition: width .3s; }
.cb-portfolio__fact { top: 0; background: var(--cb-accent); display: flex; align-items: center; padding-right: 6px; justify-content: flex-end; }
.cb-portfolio__fact span { font-size: 9.5px; color: var(--cb-accent-ink); font-weight: 600; font-family: var(--cb-font-mono); }
.cb-portfolio__costo { top: 10px; background: var(--cb-text-4); }
.cb-portfolio__legend { display: flex; gap: 16px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--cb-line); font-size: 11px; color: var(--cb-text-3); }
.cb-portfolio__legend span { display: flex; align-items: center; gap: 5px; }
.cb-portfolio__sw { width: 10px; height: 6px; border-radius: 2px; }
.cb-portfolio__sw--fact { background: var(--cb-accent); }
.cb-portfolio__sw--costo { background: var(--cb-text-4); }

/* ════════════════════════════════════════════════════════════
   MODAL genérico
   ════════════════════════════════════════════════════════════ */
.cb-modal__wrap {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(5, 6, 10, 0.65);
  backdrop-filter: blur(6px);
  display: grid; place-items: center;
  padding: 24px;
}
.cb-modal {
  width: 100%;
  max-height: 92vh;
  background: var(--cb-surf);
  border: 1px solid var(--cb-line-strong);
  border-radius: 14px;
  box-shadow: var(--cb-shadow-lg);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.cb-modal__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--cb-line);
  gap: 16px;
}
.cb-modal__kicker { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cb-text-3); }
.cb-modal__title { font-size: 18px; font-weight: 600; letter-spacing: -0.02em; margin: 4px 0 0; line-height: 1.3; }
.cb-modal__actions { display: flex; gap: 6px; align-items: center; flex-shrink: 0; }
.cb-modal__body { padding: 20px 22px; overflow-y: auto; flex: 1; }

/* ════════════════════════════════════════════════════════════
   LEGAJO empleado
   ════════════════════════════════════════════════════════════ */
.cb-cellpers--btn { background: transparent; border: none; padding: 0; text-align: left; cursor: pointer; width: 100%; }
.cb-cellpers--btn:hover .cb-cellmain { color: var(--cb-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.cb-legajo__hero { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--cb-line); }
.cb-legajo__hero > div:last-child { flex: 1; }
.cb-legajo__rol { font-size: 13px; color: var(--cb-text-3); }
.cb-legajo__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; font-size: 12px; }
.cb-legajo__meta span { color: var(--cb-text-3); }
.cb-legajo__meta strong { color: var(--cb-text); font-weight: 500; }

.cb-legajo__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 760px) { .cb-legajo__grid { grid-template-columns: 1fr; } }
.cb-legajo__vrow { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 12px; border-bottom: 1px dashed var(--cb-line); }
.cb-legajo__vrow:last-child { border-bottom: none; }
.cb-legajo__vrow > span:first-child { color: var(--cb-text-3); flex: 1; }

.cb-legajo__cap { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; padding: 6px 0; font-size: 12px; border-bottom: 1px dashed var(--cb-line); }
.cb-legajo__cap:last-child { border-bottom: none; }
.cb-legajo__capfecha { font-size: 11px; color: var(--cb-text-3); }

.cb-legajo__epp { display: grid; grid-template-columns: 14px 1fr auto auto; align-items: center; gap: 8px; padding: 6px 0; font-size: 12px; border-bottom: 1px dashed var(--cb-line); }
.cb-legajo__epp:last-child { border-bottom: none; }
.cb-legajo__epp svg.is-good { color: var(--cb-good); }
.cb-legajo__epp svg.is-warn { color: var(--cb-warn); }
.cb-legajo__eppfecha { font-size: 11px; color: var(--cb-text-3); }
.cb-legajo__alerts { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }

/* ════════════════════════════════════════════════════════════
   FICHA equipo
   ════════════════════════════════════════════════════════════ */
.cb-ficha__hero { display: flex; align-items: center; gap: 16px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--cb-line); }
.cb-ficha__icon { width: 60px; height: 60px; display: grid; place-items: center; background: var(--cb-bg-2); border: 1px solid var(--cb-line-strong); border-radius: 12px; color: var(--cb-accent); }
.cb-ficha__hero > div:nth-child(2) { flex: 1; }
.cb-ficha__type { font-size: 13px; color: var(--cb-text-3); }
.cb-ficha__meta { display: flex; gap: 14px; font-size: 12px; margin-top: 6px; flex-wrap: wrap; }
.cb-ficha__meta span { color: var(--cb-text-3); }
.cb-ficha__meta strong { color: var(--cb-text); font-weight: 500; margin-left: 4px; }
.cb-ficha__next {
  padding: 10px 14px;
  background: color-mix(in oklch, var(--cb-accent) 10%, var(--cb-bg-2));
  border: 1px solid color-mix(in oklch, var(--cb-accent) 25%, transparent);
  border-radius: 10px;
  text-align: right;
}
.cb-ficha__nextlbl { font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--cb-text-3); }
.cb-ficha__nextv { font-size: 14px; font-weight: 600; color: var(--cb-accent); }
.cb-ficha__nexts { font-size: 11px; color: var(--cb-text-2); }
.cb-ficha__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 12px; }
.cb-ficha__grid > .cb-card:first-child { grid-row: 1 / span 2; }
@media (max-width: 800px) { .cb-ficha__grid { grid-template-columns: 1fr; } .cb-ficha__grid > .cb-card:first-child { grid-row: auto; } }
.cb-ficha__ops { display: flex; flex-direction: column; gap: 6px; }
.cb-ficha__op { display: flex; align-items: center; gap: 8px; font-size: 12.5px; padding: 6px 0; border-bottom: 1px dashed var(--cb-line); }
.cb-ficha__op:last-child { border-bottom: none; }
.cb-ficha__op > span { flex: 1; }

/* ════════════════════════════════════════════════════════════
   PEDIDO flow modal
   ════════════════════════════════════════════════════════════ */
.cb-pflow__head { margin-bottom: 16px; }
.cb-pflow__meta { display: flex; gap: 16px; font-size: 12px; align-items: center; flex-wrap: wrap; }
.cb-pflow__meta span { color: var(--cb-text-3); }
.cb-pflow__meta strong { color: var(--cb-text); font-weight: 500; margin-left: 4px; }
.cb-pflow__steps { display: flex; flex-direction: column; position: relative; }
.cb-pflow__step { display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; position: relative; }
.cb-pflow__bullet {
  width: 28px; height: 28px;
  display: grid; place-items: center;
  background: var(--cb-bg-2);
  border: 2px solid var(--cb-line-strong);
  border-radius: 50%;
  color: var(--cb-text-3);
  font-size: 11.5px; font-weight: 600;
  flex-shrink: 0;
  position: relative; z-index: 2;
}
.cb-pflow__step.is-done .cb-pflow__bullet { background: var(--cb-good); border-color: var(--cb-good); color: white; }
.cb-pflow__step.is-current .cb-pflow__bullet { border-color: var(--cb-accent); color: var(--cb-accent); background: color-mix(in oklch, var(--cb-accent) 12%, var(--cb-bg-2)); }
.cb-pflow__step.is-current .cb-pflow__bullet::after {
  content: ""; position: absolute; inset: -4px; border-radius: 50%;
  border: 2px solid color-mix(in oklch, var(--cb-accent) 35%, transparent);
}
.cb-pflow__body { flex: 1; }
.cb-pflow__etapa { font-size: 13px; font-weight: 600; }
.cb-pflow__det { font-size: 12px; color: var(--cb-text-2); margin: 3px 0 5px; line-height: 1.5; }
.cb-pflow__por { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--cb-text-3); }
.cb-pflow__pend { color: var(--cb-warn); font-style: italic; }
.cb-pflow__line {
  position: absolute; left: 13px; top: 38px; bottom: -2px;
  width: 2px; background: var(--cb-line);
}
.cb-pflow__line.is-done { background: var(--cb-good); }
.cb-pflow__hint {
  margin-top: 14px;
  padding: 10px 14px;
  background: color-mix(in oklch, var(--cb-accent) 8%, var(--cb-bg-2));
  border: 1px solid color-mix(in oklch, var(--cb-accent) 20%, var(--cb-line));
  border-radius: 8px;
  font-size: 12px;
  display: flex; align-items: center; gap: 8px;
}
.cb-pflow__hint svg { color: var(--cb-accent); flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════
   DRIVE explorer
   ════════════════════════════════════════════════════════════ */
.cb-driveexp__crumbs { display: flex; align-items: center; gap: 6px; padding-bottom: 12px; margin-bottom: 8px; border-bottom: 1px solid var(--cb-line); font-size: 12px; }
.cb-driveexp__crumb { background: transparent; border: none; color: var(--cb-text-2); padding: 4px 8px; border-radius: 6px; }
.cb-driveexp__crumb:hover { background: var(--cb-bg-2); color: var(--cb-text); }
.cb-driveexp__crumb:last-of-type { color: var(--cb-text); font-weight: 500; }
.cb-driveexp__nrow { display: flex; align-items: center; gap: 8px; }
.cb-driveexp__nrow svg.is-good { color: var(--cb-accent); }
.cb-driveexp__link { background: transparent; border: none; color: var(--cb-text); padding: 0; font-size: 12.5px; cursor: pointer; }
.cb-driveexp__link:hover { color: var(--cb-accent); text-decoration: underline; text-underline-offset: 3px; }
.cb-driveexp__hint {
  margin-top: 12px;
  padding: 8px 12px;
  background: var(--cb-bg-2);
  border-radius: 6px;
  font-size: 11px; color: var(--cb-text-3);
  display: flex; align-items: center; gap: 6px;
}
.cb-driveexp__hint svg { color: var(--cb-accent); flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════
   CALENDARIO
   ════════════════════════════════════════════════════════════ */
.cb-cal__filters { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cb-cal__nav { display: flex; align-items: center; gap: 10px; }
.cb-cal__title { font-size: 16px; font-weight: 600; margin: 0; min-width: 130px; text-align: center; }

.cb-cal { background: var(--cb-surf); border: 1px solid var(--cb-line); border-radius: 12px; padding: 16px; margin-top: var(--cb-space-4); overflow: hidden; }
.cb-cal__dow { display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: 10px; }
.cb-cal__dowcell { font-size: 11px; font-weight: 600; color: var(--cb-text-3); text-align: center; padding: 6px 0; text-transform: uppercase; letter-spacing: 0.08em; }
.cb-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.cb-cal__cell {
  min-height: 92px;
  background: var(--cb-bg-2);
  border: 1px solid var(--cb-line);
  border-radius: 8px;
  padding: 6px;
  display: flex; flex-direction: column; gap: 4px;
  overflow: hidden;
}
.cb-cal__cell.is-empty { background: transparent; border: 1px dashed var(--cb-line); }
.cb-cal__cell.is-today { border-color: var(--cb-accent); background: color-mix(in oklch, var(--cb-accent) 6%, var(--cb-bg-2)); }
.cb-cal__day { font-family: var(--cb-font-mono); font-size: 11px; color: var(--cb-text-3); font-weight: 600; }
.cb-cal__cell.is-today .cb-cal__day { color: var(--cb-accent); }
.cb-cal__events { display: flex; flex-direction: column; gap: 2px; }
.cb-cal__ev {
  padding: 3px 5px;
  border-radius: 4px;
  font-size: 9.5px;
  line-height: 1.3;
  display: flex; flex-direction: column;
  overflow: hidden;
}
.cb-cal__ev--alta  { background: color-mix(in oklch, var(--cb-danger) 18%, transparent); color: var(--cb-danger); border-left: 2px solid var(--cb-danger); }
.cb-cal__ev--media { background: color-mix(in oklch, var(--cb-warn)   18%, transparent); color: var(--cb-warn);   border-left: 2px solid var(--cb-warn); }
.cb-cal__ev--baja  { background: color-mix(in oklch, var(--cb-info)   16%, transparent); color: var(--cb-info);    border-left: 2px solid var(--cb-info); }
.cb-cal__evcat { font-size: 8.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.8; }
.cb-cal__evt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.cb-cal__more { font-size: 9.5px; color: var(--cb-text-3); padding: 0 5px; }
.cb-cal__legend { display: flex; justify-content: flex-end; gap: 16px; margin-top: 12px; font-size: 11px; color: var(--cb-text-3); }
.cb-cal__legend span { display: flex; align-items: center; gap: 5px; }
.cb-cal__lg { width: 12px; height: 6px; border-radius: 2px; }
.cb-cal__lg--alta { background: var(--cb-danger); }
.cb-cal__lg--media { background: var(--cb-warn); }
.cb-cal__lg--baja { background: var(--cb-info); }

/* ════════════════════════════════════════════════════════════
   VIANDA modal
   ════════════════════════════════════════════════════════════ */
.cb-vianda__head { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 18px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--cb-line); align-items: flex-end; }
.cb-vianda__lbl { font-size: 10.5px; color: var(--cb-text-3); text-transform: uppercase; letter-spacing: 0.06em; }
.cb-vianda__prov { font-size: 15px; font-weight: 600; margin-top: 2px; }
.cb-vianda__cuit { font-size: 11px; color: var(--cb-text-3); margin-top: 2px; }
.cb-vianda__sem { font-size: 13px; font-weight: 500; margin-top: 2px; }
.cb-vianda__total { text-align: right; }
.cb-vianda__totalv { font-size: 22px; font-weight: 600; color: var(--cb-accent); }
.cb-vianda__hint {
  margin-top: 14px;
  padding: 10px 14px;
  background: color-mix(in oklch, var(--cb-accent) 8%, var(--cb-bg-2));
  border: 1px solid color-mix(in oklch, var(--cb-accent) 20%, var(--cb-line));
  border-radius: 8px;
  font-size: 12.5px; line-height: 1.5;
  display: flex; align-items: flex-start; gap: 8px;
}
.cb-vianda__hint svg { color: var(--cb-accent); flex-shrink: 0; margin-top: 2px; }
.cb-vianda__hint strong { color: var(--cb-accent); font-weight: 600; }

/* ════════════════════════════════════════════════════════════
   ONBOARDING wizard
   ════════════════════════════════════════════════════════════ */
.cb-onb { display: flex; flex-direction: column; gap: 18px; }
.cb-onb__stepbar { display: flex; gap: 0; padding-bottom: 18px; border-bottom: 1px solid var(--cb-line); }
.cb-onb__stepb { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--cb-text-3); flex: 1; }
.cb-onb__stepb.is-active { color: var(--cb-text); font-weight: 600; }
.cb-onb__stepb.is-done { color: var(--cb-good); }
.cb-onb__bullet { width: 22px; height: 22px; display: grid; place-items: center; background: var(--cb-bg-2); border: 1.5px solid var(--cb-line-strong); border-radius: 50%; font-size: 10px; font-weight: 600; flex-shrink: 0; }
.cb-onb__stepb.is-active .cb-onb__bullet { border-color: var(--cb-accent); color: var(--cb-accent); background: color-mix(in oklch, var(--cb-accent) 12%, var(--cb-bg-2)); }
.cb-onb__stepb.is-done .cb-onb__bullet { background: var(--cb-good); border-color: var(--cb-good); color: white; }
.cb-onb__line { flex: 1; height: 1.5px; background: var(--cb-line); }
.cb-onb__stepb.is-done .cb-onb__line { background: var(--cb-good); }

.cb-onb__body { min-height: 280px; }
.cb-onb__form { display: flex; flex-direction: column; gap: 14px; }
.cb-onb__hint { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--cb-bg-2); border-radius: 8px; font-size: 12px; color: var(--cb-text-2); }
.cb-onb__hint--lg { font-size: 13px; padding: 12px 14px; background: color-mix(in oklch, var(--cb-accent) 8%, var(--cb-bg-2)); border: 1px solid color-mix(in oklch, var(--cb-accent) 20%, var(--cb-line)); line-height: 1.5; }
.cb-onb__hint svg { color: var(--cb-accent); flex-shrink: 0; }
.cb-onb__hint strong { color: var(--cb-accent); font-weight: 600; }

.cb-form__row { display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: 16px; }
.cb-form__label { display: flex; flex-direction: column; gap: 2px; }
.cb-form__label > span:first-child { font-size: 12.5px; color: var(--cb-text); font-weight: 500; }
.cb-form__hint { font-size: 10.5px; color: var(--cb-text-3); }
.cb-form__input { width: 100%; }
.cb-form__input .cb-input { height: 34px; }

.cb-radiogrp { display: flex; gap: 4px; flex-wrap: wrap; }
.cb-radio {
  padding: 6px 12px;
  background: var(--cb-bg-2);
  border: 1px solid var(--cb-line);
  border-radius: 8px;
  color: var(--cb-text-2);
  font-size: 12px;
}
.cb-radio:hover { border-color: var(--cb-line-strong); color: var(--cb-text); }
.cb-radio.is-active { background: color-mix(in oklch, var(--cb-accent) 14%, var(--cb-bg-2)); border-color: var(--cb-accent); color: var(--cb-text); }

.cb-onb__plantillas { display: flex; flex-direction: column; gap: 6px; }
.cb-onb__plant { display: flex; align-items: center; gap: 14px; padding: 12px 14px; background: var(--cb-bg-2); border: 1px solid var(--cb-line); border-radius: 10px; color: var(--cb-text); text-align: left; }
.cb-onb__plant:hover { border-color: var(--cb-accent); }
.cb-onb__plant > div:nth-child(2) { flex: 1; }
.cb-onb__plantmatch {
  width: 48px; height: 48px;
  display: grid; place-items: center;
  background: color-mix(in oklch, var(--cb-accent) 12%, var(--cb-bg-2));
  border: 1px solid color-mix(in oklch, var(--cb-accent) 30%, transparent);
  border-radius: 10px;
  color: var(--cb-accent);
  font-size: 13px; font-weight: 600;
  font-family: var(--cb-font-mono);
}
.cb-onb__plantn { font-size: 13px; font-weight: 500; }
.cb-onb__plantm { font-size: 11px; color: var(--cb-text-3); margin-top: 2px; }

.cb-onb__carpetas { display: flex; flex-direction: column; gap: 4px; }
.cb-onb__cli { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--cb-bg-2); border-radius: 6px; font-size: 12.5px; }
.cb-onb__cli svg { color: var(--cb-accent); }
.cb-onb__cli > span { flex: 1; }

.cb-onb__permgrid { display: flex; flex-direction: column; gap: 6px; }
.cb-onb__permrow { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--cb-line); }
.cb-onb__permrow:last-child { border-bottom: none; }
.cb-onb__permbody { flex: 1; }
.cb-onb__permn { font-size: 12.5px; }
.cb-onb__permr { font-size: 11px; color: var(--cb-text-3); }
.cb-onb__sel { width: auto; padding: 6px 10px; }

.cb-onb__foot { display: flex; flex-direction: column; gap: 12px; padding-top: 14px; border-top: 1px solid var(--cb-line); }
.cb-onb__progress { height: 3px; background: var(--cb-line); border-radius: 4px; overflow: hidden; }
.cb-onb__progress > span { display: block; height: 100%; background: var(--cb-accent); transition: width .3s; }
.cb-onb__nav { display: flex; justify-content: space-between; }

/* Mobile */
@media (max-width: 760px) {
  .cb-drawer { width: 100%; max-width: 100%; }
  .cb-cal__grid { gap: 2px; }
  .cb-cal__cell { min-height: 64px; padding: 3px; }
  .cb-cal__ev { font-size: 9px; }
  .cb-vianda__head { grid-template-columns: 1fr; }
  .cb-form__row { grid-template-columns: 1fr; }
  .cb-onb__stepbar { display: none; }
}
