/* Nebula · componentes.
 * Clases reutilizables: bloque nb-<nombre>, partes nb-<nombre>__<parte>, variantes nb-<nombre>--<variante>, estado con :hover, :active, :focus-visible, [disabled] y .is-<estado>.
 * Todo valor sale de tokens.css: la densidad (móvil, web, escritorio) cambia con <html data-platform="web|desktop"> y el tema con data-theme="dark".
 * El tamaño de un componente lo da su contenido y su contenedor, no un ancho fijo. */

/* Atajos de tipografía: una sola variable por rol, armada con los tokens de tokens.css. */
:root{--nb-font-body-lg:var(--typography-body-lg-font-weight) var(--typography-body-lg-font-size)/var(--typography-body-lg-line-height) var(--typography-body-lg-font-family);--nb-font-body-md:var(--typography-body-md-font-weight) var(--typography-body-md-font-size)/var(--typography-body-md-line-height) var(--typography-body-md-font-family);--nb-font-body-sm:var(--typography-body-sm-font-weight) var(--typography-body-sm-font-size)/var(--typography-body-sm-line-height) var(--typography-body-sm-font-family);--nb-font-label-md:var(--typography-label-md-font-weight) var(--typography-label-md-font-size)/var(--typography-label-md-line-height) var(--typography-label-md-font-family);--nb-font-label-sm:var(--typography-label-sm-font-weight) var(--typography-label-sm-font-size)/var(--typography-label-sm-line-height) var(--typography-label-sm-font-family);--nb-font-label-xs:var(--typography-label-xs-font-weight) var(--typography-label-xs-font-size)/var(--typography-label-xs-line-height) var(--typography-label-xs-font-family);--nb-font-title-lg:var(--typography-title-lg-font-weight) var(--typography-title-lg-font-size)/var(--typography-title-lg-line-height) var(--typography-title-lg-font-family);--nb-font-title-md:var(--typography-title-md-font-weight) var(--typography-title-md-font-size)/var(--typography-title-md-line-height) var(--typography-title-md-font-family);--nb-font-title-sm:var(--typography-title-sm-font-weight) var(--typography-title-sm-font-size)/var(--typography-title-sm-line-height) var(--typography-title-sm-font-family);}
[class*="nb-"]{box-sizing:border-box}
.nb-icon{display:block;flex:none;width:24px;height:24px;color:var(--color-icon-primary)}
.nb-icon--secondary{color:var(--color-icon-secondary)}.nb-icon--tertiary{color:var(--color-icon-tertiary)}.nb-icon--brand{color:var(--color-icon-brand)}.nb-icon--error{color:var(--color-icon-error)}.nb-icon--success{color:var(--color-icon-success)}.nb-icon--info{color:var(--color-icon-info)}.nb-icon--accent{color:var(--color-icon-accent)}.nb-icon--on-brand{color:var(--color-icon-on-brand)}
.nb-icon--giro{transform:rotate(180deg)}.nb-icon--derecha{transform:rotate(270deg)}

/* ---------- acciones ---------- */
.nb-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--size-control-md);padding:0 var(--space-5);border:0;border-radius:var(--radius-md);background:var(--color-accent-solid);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-accent-mark);color:var(--color-accent-on);font:var(--nb-font-title-sm);white-space:nowrap;text-decoration:none;cursor:pointer}
.nb-button:hover{background-image:linear-gradient(var(--color-bg-hover),var(--color-bg-hover))}
.nb-button:active{background-image:linear-gradient(var(--color-bg-pressed),var(--color-bg-pressed))}
.nb-button--primary{background:var(--color-brand-solid);box-shadow:none;color:var(--color-brand-on)}
.nb-button--primary:hover{background:var(--color-brand-hover)}
.nb-button--primary:active,.nb-button--primary:focus-visible{background:var(--color-brand-pressed)}
.nb-button--secondary{background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong);color:var(--color-text-secondary);font:var(--nb-font-label-md)}
.nb-button--secondary:hover,.nb-button--secondary:active{background:var(--color-bg-surface);color:var(--color-text-primary)}
.nb-button--secondary:focus-visible{box-shadow:inset 0 0 0 1px var(--color-brand-border);color:var(--color-brand-ink)}
.nb-button--ghost{background:transparent;box-shadow:none;color:var(--color-brand-ink);font:var(--nb-font-label-md)}
.nb-button--ghost:hover{background-color:transparent;color:var(--color-text-primary)}
.nb-button--ghost:focus-visible{background:var(--color-brand-soft)}
.nb-button--danger{background:var(--color-error-solid);box-shadow:none;color:var(--color-error-on)}
.nb-button--danger:hover{background:var(--color-error-hover)}
.nb-button--danger:active,.nb-button--danger:focus-visible{background:var(--color-error-pressed)}
.nb-button--sm{min-height:var(--size-control-sm);padding:0 var(--space-4);font:var(--nb-font-label-sm)}
.nb-button:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:2px}
.nb-button[disabled],.nb-button.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}
.nb-button.is-loading{pointer-events:none}

.nb-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--size-control-md);height:var(--size-control-md);padding:0;border:0;border-radius:var(--radius-md);background:var(--color-brand-solid);color:var(--color-icon-on-brand);cursor:pointer}
.nb-icon-button:hover{background:var(--color-brand-hover)}
.nb-icon-button:active,.nb-icon-button:focus-visible{background:var(--color-brand-pressed)}
.nb-icon-button--secondary{background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong);color:var(--color-icon-primary)}
.nb-icon-button--secondary:hover,.nb-icon-button--secondary:active{background:var(--color-bg-surface)}
.nb-icon-button--secondary:focus-visible{background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-brand-border)}
.nb-icon-button--ghost{background:transparent;color:var(--color-icon-primary)}
.nb-icon-button--ghost:hover{background:var(--color-bg-hover)}
.nb-icon-button--ghost:active{background:var(--color-bg-pressed)}
.nb-icon-button--ghost:focus-visible{background:var(--color-brand-soft)}
.nb-icon-button--danger{background:transparent;box-shadow:inset 0 0 0 var(--border-width-default) var(--color-error-border);color:var(--color-icon-error)}
.nb-icon-button--danger:hover{background:var(--color-error-soft)}
.nb-icon-button--lg{width:var(--size-control-lg);height:var(--size-control-lg)}
.nb-icon-button:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:2px}
.nb-icon-button[disabled]{opacity:var(--opacity-disabled);pointer-events:none}

.nb-link{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-link);font:var(--nb-font-body-md);text-decoration:none;cursor:pointer}
.nb-link:hover,.nb-link:active{color:var(--color-brand-ink)}
.nb-link:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-ink);outline:0;box-shadow:inset 0 0 0 1px var(--color-brand-border)}
.nb-link--subtle{color:var(--color-text-secondary)}.nb-link--subtle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}
.nb-link[disabled],.nb-link.is-disabled{color:var(--color-text-disabled);pointer-events:none}

.nb-segmented{display:inline-flex;min-height:var(--size-target);padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-bg-raised)}
.nb-segmented--repartido{display:flex}.nb-segmented--repartido .nb-segmented__segmento{flex:1 1 0;min-width:0}
.nb-segmented__segmento{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font:var(--nb-font-label-md);cursor:pointer}
.nb-segmented__segmento:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}
.nb-segmented__segmento:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-ink);outline:0}
.nb-segmented__segmento.is-selected,.nb-segmented__segmento[aria-pressed="true"]{background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default);color:var(--color-text-primary);font:var(--nb-font-title-sm)}

/* ---------- formularios ---------- */
.nb-text-field,.nb-textarea,.nb-select{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.nb-text-field__rotulo{display:flex;align-items:center;gap:var(--space-1)}
.nb-text-field__etiqueta,.nb-textarea__etiqueta,.nb-select__etiqueta{color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-textarea__etiqueta,.nb-select__etiqueta{color:var(--color-text-tertiary)}
.nb-text-field__requerido{color:var(--color-accent-ink);font:var(--nb-font-body-sm)}
.nb-text-field__caja{display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-field-md);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-page);box-shadow:inset 0 0 0 1px var(--color-border-default)}
.nb-text-field__valor{flex:1 1 0;min-width:0;padding:0;border:0;outline:0;background:none;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-text-field__valor::placeholder,.nb-textarea__campo::placeholder{color:var(--color-text-tertiary)}
.nb-text-field__caja:focus-within{box-shadow:inset 0 0 0 1px var(--color-focus-ring)}
.nb-text-field__ayuda{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-text-field__error{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error-ink);font:var(--nb-font-body-sm)}
.nb-text-field__error::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--color-error-mark)}
.nb-text-field.is-error .nb-text-field__caja{box-shadow:inset 0 0 0 1px var(--color-error-mark)}
.nb-text-field.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}
.nb-textarea__campo{min-height:96px;padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-md);outline:0;background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default);color:var(--color-text-primary);font:var(--nb-font-body-md);resize:vertical}
.nb-textarea__campo:focus{box-shadow:inset 0 0 0 1px var(--color-focus-ring)}
.nb-textarea__pie{display:flex;justify-content:space-between;gap:var(--space-4);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-textarea__error{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error-ink);font:var(--nb-font-body-sm)}
.nb-textarea__error::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--color-error-mark)}
.nb-textarea.is-error .nb-textarea__campo{box-shadow:inset 0 0 0 1px var(--color-error-mark)}
.nb-select{position:relative}
.nb-select__disparador{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--size-field-md);padding:0 var(--space-4);border:0;border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong);color:var(--color-text-primary);font:var(--nb-font-body-md);text-align:left;cursor:pointer}
.nb-select__disparador:focus-visible,.nb-select.is-open .nb-select__disparador{outline:0;box-shadow:inset 0 0 0 1px var(--color-focus-ring)}
.nb-select__valor{flex:1 1 0;min-width:0}
.nb-select__panel{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-sheet)}
.nb-select__opcion{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--size-target);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font:var(--nb-font-body-md);text-align:left;cursor:pointer}
.nb-select__opcion:hover{background:var(--color-bg-hover)}
.nb-select__opcion.is-selected{background:var(--color-bg-selected);color:var(--color-text-primary);font:var(--nb-font-label-md)}

.nb-search-field{display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-field-md);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-page);box-shadow:inset 0 0 0 1px var(--color-border-default)}
.nb-search-field:focus-within{box-shadow:inset 0 0 0 1px var(--color-focus-ring)}
.nb-search-field__lupa{position:relative;flex:none;width:24px;height:24px;color:var(--color-icon-tertiary)}
.nb-search-field__lupa::before{content:"";position:absolute;left:3.75px;top:3.75px;width:12.5px;height:12.5px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor}
.nb-search-field__lupa::after{content:"";position:absolute;left:15px;top:15px;width:5px;height:1.5px;border-radius:1px;background:currentColor;transform-origin:left center;transform:rotate(45deg)}
.nb-search-field__campo{flex:1 1 0;min-width:0;padding:0;border:0;outline:0;background:none;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-search-field__campo::placeholder{color:var(--color-text-tertiary)}

.nb-checkbox,.nb-radio{appearance:none;display:grid;place-content:center;flex:none;width:18px;height:18px;margin:0;background:none;box-shadow:inset 0 0 0 1.5px var(--color-border-strong);cursor:pointer}
.nb-checkbox{border-radius:var(--radius-sm)}.nb-radio{border-radius:var(--radius-full)}
.nb-checkbox:checked,.nb-radio:checked{background:var(--color-brand-solid);box-shadow:inset 0 0 0 1.5px var(--color-brand-solid)}
.nb-checkbox:checked::after{content:"";width:5px;height:9px;margin-top:-2px;border:solid var(--color-brand-on);border-width:0 2px 2px 0;transform:rotate(45deg)}
.nb-radio:checked::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-brand-on)}
.nb-checkbox:focus-visible,.nb-radio:focus-visible{outline:0;background:var(--color-brand-soft);box-shadow:inset 0 0 0 1.5px var(--color-focus-ring)}
.nb-checkbox:checked:focus-visible,.nb-radio:checked:focus-visible{background:var(--color-brand-pressed);box-shadow:inset 0 0 0 1.5px var(--color-brand-pressed)}
.nb-checkbox:disabled,.nb-radio:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}

.nb-switch{position:relative;flex:none;width:40px;height:22px;padding:0;border:0;border-radius:var(--radius-sm);background:var(--color-border-strong);cursor:pointer}
.nb-switch::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--radius-sm);background:var(--color-text-secondary);transition:left var(--motion-duration-fast) ease-out}
.nb-switch[aria-checked="true"]{background:var(--color-brand-solid)}
.nb-switch[aria-checked="true"]::after{left:20px;background:var(--color-brand-on)}
.nb-switch:focus-visible{outline:0;background:var(--color-brand-border)}.nb-switch:focus-visible::after{background:var(--color-brand-ink)}
.nb-switch[aria-checked="true"]:focus-visible{background:var(--color-brand-pressed)}.nb-switch[aria-checked="true"]:focus-visible::after{background:var(--color-brand-on)}
.nb-switch[disabled]{opacity:var(--opacity-disabled);pointer-events:none}

.nb-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--size-control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-border-default);color:var(--color-text-secondary);font:var(--nb-font-label-sm);cursor:pointer}
.nb-chip:hover{background:var(--color-bg-hover)}
.nb-chip.is-selected,.nb-chip[aria-pressed="true"]{background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand-border);color:var(--color-brand-ink)}

/* ---------- feedback ---------- */
.nb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-error-solid);color:var(--color-error-on);font:var(--typography-label-xs-font-weight) var(--typography-label-xs-font-size)/1 var(--typography-label-xs-font-family)}
.nb-badge--marca{background:var(--color-brand-soft);color:var(--color-brand-ink)}.nb-badge--acento{background:var(--color-accent-solid);color:var(--color-accent-on)}.nb-badge--neutro{background:var(--color-bg-raised);color:var(--color-text-secondary)}

.nb-status{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-status__punto{flex:none;width:7px;height:7px;border-radius:50%;background:var(--color-accent-mark)}
.nb-status--neutral .nb-status__punto{background:var(--color-text-tertiary)}.nb-status--success .nb-status__punto{background:var(--color-success-mark)}.nb-status--error .nb-status__punto{background:var(--color-error-mark)}.nb-status--info .nb-status__punto{background:var(--color-info-mark)}

.nb-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-accent-mark)}
.nb-banner--error{box-shadow:inset 0 0 0 1px var(--color-error-mark)}.nb-banner--info{box-shadow:inset 0 0 0 1px var(--color-info-mark)}
.nb-banner__contenido{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}
.nb-banner__titulo{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-banner__texto{color:var(--color-text-secondary);font:var(--nb-font-body-md)}

.nb-toast{display:flex;align-items:center;gap:var(--space-3);max-width:var(--layout-overlay-narrow);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-sheet)}
.nb-toast__texto{flex:1 1 0;min-width:0;color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-toast__accion{padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-link);font:var(--nb-font-body-md);cursor:pointer}

.nb-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);text-align:center}
.nb-empty-state__textos{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.nb-empty-state__titulo{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-empty-state__bajada{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}

.nb-progress-bar{position:relative;height:4px;border-radius:var(--radius-full);background:var(--color-brand-border);overflow:hidden}
.nb-progress-bar__avance{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-full);background:var(--color-brand-solid)}

.nb-spinner{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--color-border-default);border-top-color:var(--color-icon-brand);animation:nb-giro 800ms linear infinite}
.nb-spinner--md{width:24px;height:24px}
@keyframes nb-giro{to{transform:rotate(360deg)}}
.nb-skeleton{display:flex;flex-direction:column;gap:var(--space-2)}
.nb-skeleton__linea{height:12px;border-radius:var(--radius-sm);background:var(--color-bg-raised);animation:nb-pulso 1.4s ease-in-out infinite}
.nb-skeleton__linea--corta{width:120px}.nb-skeleton__linea--burbuja{height:40px;border-radius:var(--radius-lg)}
@keyframes nb-pulso{50%{opacity:.55}}
/* ---------- acceso y resultado ---------- */
.nb-auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);min-height:100vh;padding:var(--space-6) var(--space-4)}
.nb-auth-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.nb-auth-brand__marca{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-primary)}
.nb-auth-brand__icono{color:var(--color-icon-brand)}
.nb-auth-brand__lema{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-auth-card{display:flex;flex-direction:column;gap:var(--space-5);width:min(var(--layout-overlay-narrow),calc(100vw - 2 * var(--space-4)));padding:var(--space-8);border:var(--border-width-default) solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface)}
.nb-auth-card>.nb-link{align-self:flex-start}
.nb-auth-card__encabezado{display:flex;flex-direction:column;gap:var(--space-1)}
.nb-auth-card__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-md);letter-spacing:var(--typography-title-md-letter-spacing);text-transform:var(--typography-title-md-text-transform)}
.nb-auth-card__tenant{display:flex;flex-wrap:wrap;align-items:center;margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-auth-card__explicacion{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-auth-card__mensaje:empty{display:none}
.nb-auth-card__acciones,.nb-auth-card__proveedores{display:flex;flex-direction:column;gap:var(--space-3)}
.nb-auth-card__separador{display:flex;align-items:center;gap:var(--space-3);margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-auth-card__separador::before,.nb-auth-card__separador::after{content:"";flex:1;height:var(--border-width-default);background:var(--color-border-subtle)}
.nb-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}
.nb-otp-field{display:flex;flex-direction:column;gap:var(--space-2)}
.nb-otp-field__etiqueta{color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-otp-field__celdas{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.nb-otp-field__celda{width:44px;height:52px;margin:0;padding:0;border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-page);color:var(--color-text-primary);font:var(--typography-title-md-font-weight) var(--typography-title-md-font-size)/1 var(--typography-title-md-font-family);text-align:center;font-variant-numeric:tabular-nums}
.nb-otp-field__celda:focus{outline:0;border-color:var(--color-focus-ring)}
.nb-otp-field.is-error .nb-otp-field__celda{border-color:var(--color-error-mark)}

/* ---------- bloques de contenido ---------- */
.nb-section{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.nb-section--amplia{gap:var(--space-6)}
.nb-section__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-section__descripcion{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-section__texto{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-section__barra{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.nb-section__acciones{display:flex;flex:none;flex-wrap:wrap;gap:var(--space-3)}
.nb-card--peligro{box-shadow:inset 0 0 0 1px var(--color-error-border)}
.nb-static-field{display:flex;flex-direction:column;gap:var(--space-2)}
.nb-static-field__rotulo{color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-static-field__valor{color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-static-field__ayuda{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-code{font:var(--typography-code-md-font-weight) var(--typography-code-md-font-size)/var(--typography-code-md-line-height) var(--typography-code-md-font-family);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.nb-tag{display:inline-flex;align-items:center;padding:0 var(--space-2);border:var(--border-width-default) solid var(--color-info-border);border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info-ink);font:var(--nb-font-body-sm);white-space:nowrap}
.nb-tag--neutral{border-color:var(--color-border-default);background:var(--color-bg-raised);color:var(--color-text-secondary)}.nb-tag--acento{border-color:var(--color-accent-mark);background:transparent;color:var(--color-accent-ink)}
.nb-field-row{display:flex;align-items:flex-end;gap:var(--space-3)}.nb-field-row>.nb-text-field{flex:1 1 auto;min-width:0}
.nb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6);row-gap:var(--space-5);align-items:start}
.nb-form-grid__columna{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}
.nb-check-field{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-text-primary);font:var(--nb-font-body-md);cursor:pointer}
.nb-check-field__texto{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}
.nb-check-field__ayuda{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-switch-field{display:flex;align-items:center;gap:var(--space-4);min-width:0}
.nb-switch-field__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}
.nb-switch-field__nombre{color:var(--color-text-primary);font:var(--nb-font-label-md)}.nb-switch-field__ayuda{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-secret__codigos{display:flex;gap:var(--space-12);padding:var(--space-4) var(--space-5);border:var(--border-width-default) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-page)}
.nb-secret__columna{display:flex;flex-direction:column;gap:var(--space-2)}
.nb-qr{display:grid;place-content:center;width:196px;height:196px;overflow:hidden;border-radius:var(--radius-md);background:var(--color-palette-paper);color:var(--color-palette-sky)}
.nb-image{margin:0}.nb-image__img{display:block;max-width:100%;border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md)}
.nb-image__pie{margin-top:var(--space-2);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}

/* ---------- ayuda ---------- */
.nb-help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}
.nb-help-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;min-height:var(--size-target);padding:calc(var(--space-5) - var(--border-width-default));border:var(--border-width-default) solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:inherit;text-decoration:none}
.nb-help-card:hover{border-color:var(--color-border-strong);background:linear-gradient(var(--color-bg-hover),var(--color-bg-hover)),var(--color-bg-surface)}
.nb-help-card__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-sm);overflow-wrap:anywhere}
.nb-help-card__resumen{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md);overflow-wrap:anywhere}
.nb-help-card__marca{margin-block-start:auto;padding-block-start:var(--space-2)}
.nb-guide{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}
.nb-guide__intro,.nb-guide__texto,.nb-guide__esperado{max-width:880px}
.nb-guide__intro{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-guide__pasos{margin:0;padding-inline-start:var(--space-6)}
.nb-guide__paso{min-width:0}.nb-guide__paso+.nb-guide__paso{margin-block-start:var(--space-6)}
.nb-guide__paso::marker{color:var(--color-brand-ink);font:var(--nb-font-label-md)}
.nb-guide__titulo{margin:0 0 var(--space-2);color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-guide__texto{margin:0 0 var(--space-3);color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-guide__esperado{padding:var(--space-3) var(--space-4);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface)}
.nb-guide__esperado-rotulo{margin:0 0 var(--space-1);color:var(--color-text-primary);font:var(--nb-font-label-sm)}
.nb-guide__esperado-texto{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-guide code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-bg-raised);color:var(--color-text-primary);font-weight:var(--typography-fontweight-medium);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* ---------- permisos y cambios ---------- */
.nb-matrix{display:flex;flex-direction:column;gap:var(--space-6)}
.nb-matrix__intro{display:flex;flex-direction:column;gap:var(--space-1)}
.nb-matrix__titulo-fila,.nb-matrix__cabecera{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}
.nb-matrix__total,.nb-matrix__cuenta{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-matrix__grupo{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;margin:0;padding:0;border:0}
.nb-matrix__nombre{color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-matrix__todos{display:flex;margin-inline-start:auto}
.nb-matrix__cuadricula{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}
.nb-permission{display:flex;flex-direction:column;min-width:0}
.nb-permission__rotulo{color:var(--color-text-primary);font:var(--nb-font-body-md)}.nb-permission__clave{color:var(--color-text-tertiary);font:var(--nb-font-body-sm);overflow-wrap:anywhere}
.nb-diff{display:flex;flex-direction:column;gap:var(--space-3)}
.nb-diff__linea{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:var(--space-4)}
.nb-diff__columnas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.nb-diff__columna{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.nb-diff__lista{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}
.nb-diff__item{color:var(--color-text-secondary);font:var(--nb-font-body-md)}.nb-diff__item--cambiado{color:var(--color-text-primary)}
@media (max-width:640px){.nb-matrix__cuadricula,.nb-form-grid,.nb-diff__columnas{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.nb-spinner,.nb-skeleton__linea{animation:none}.nb-switch::after{transition:none}}

/* ---------- layout ---------- */
.nb-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-border-subtle);color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-divider{height:1px;margin:0;border:0;background:var(--color-border-subtle)}
.nb-list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer}
.nb-list-item:hover{background:var(--color-bg-hover)}.nb-list-item.is-selected{background:var(--color-bg-selected)}
.nb-list-item__cuerpo{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.nb-list-item__nombre{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-list-item__sub{color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-list-item__sub--linea{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nb-list-item__final{display:flex;align-items:center;gap:var(--space-2)}
.nb-list-item__meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-list-item__sin-leer{flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-accent-mark)}
.nb-key-value-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-2) 0}
.nb-key-value-row__campo{flex:none;width:96px;color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-key-value-row__valor{min-width:0;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-setting-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}
.nb-setting-row__rotulo{flex:1 1 0;min-width:0;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-setting-row__valor{color:var(--color-text-tertiary);font:var(--nb-font-body-md)}

.nb-table{overflow:auto;border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default)}
.nb-table__tabla{width:100%;border-collapse:collapse}
.nb-table__th{height:var(--size-control-md);padding:var(--space-3) var(--space-4);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border-default);color:var(--color-text-secondary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:var(--typography-label-xs-text-transform);text-align:left;white-space:nowrap}
.nb-table__fila{height:48px;border-bottom:1px solid var(--color-border-subtle)}
.nb-table__fila:last-child{border-bottom:0}
.nb-table__fila--enlace{cursor:pointer}.nb-table__fila--enlace:hover,.nb-table__fila:hover{background:var(--color-bg-hover)}
.nb-table__fila.is-selected{background:var(--color-bg-selected)}
.nb-table__td{padding:0 var(--space-4);color:var(--color-text-primary);font:var(--nb-font-body-md);vertical-align:middle}
.nb-table__td--num{text-align:right;font-variant-numeric:tabular-nums}
.nb-table__secundario{display:block;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-table--compacta .nb-table__th,.nb-table--compacta .nb-table__td{padding-left:var(--space-3);padding-right:var(--space-3)}.nb-table--compacta .nb-table__fila{height:40px}
.nb-table__pie{display:flex;justify-content:flex-end;border-top:1px solid var(--color-border-subtle)}
.nb-table__th--estrecha,.nb-table__td--estrecha{width:48px;text-align:center}

/* ---------- navegación ---------- */
.nb-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}
.nb-page-header__titulos{flex:1 1 16rem;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}
.nb-page-header__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-lg);letter-spacing:var(--typography-title-lg-letter-spacing);text-transform:var(--typography-title-lg-text-transform)}
.nb-page-header__sub{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-page-header__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}

.nb-sidebar{display:flex;flex-direction:column;width:248px;min-height:100%;padding:var(--space-3);background:var(--color-bg-chrome);border-right:1px solid var(--color-border-subtle)}
.nb-sidebar__cabecera{padding:var(--space-2) 0 var(--space-4)}
.nb-sidebar__lista{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:var(--space-1)}
.nb-sidebar__seccion{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--color-text-tertiary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:var(--typography-label-xs-text-transform)}
.nb-sidebar__pie{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}
.nb-sidebar__preferencias{display:flex;align-items:center;justify-content:space-between}
.nb-sidebar--riel{width:64px;padding:var(--space-3) var(--space-2)}
.nb-sidebar--riel .nb-sidebar-header{padding:0}
.nb-sidebar--riel .nb-sidebar-header__nombre{font-size:0;text-align:center}
.nb-sidebar--riel .nb-sidebar-header__nombre::first-letter{font-size:var(--typography-fontsize-lg)}
.nb-sidebar--riel .nb-sidebar-header__firma,.nb-sidebar--riel .nb-sidebar__seccion,.nb-sidebar--riel .nb-nav-item__rotulo,.nb-sidebar--riel .nb-nav-item__contador,.nb-sidebar--riel .nb-user-menu__identidad,.nb-sidebar--riel .nb-user-menu>.nb-icon{display:none}
.nb-sidebar--riel .nb-nav-item,.nb-sidebar--riel .nb-user-menu{justify-content:center;padding-left:0;padding-right:0}
.nb-sidebar--riel .nb-nav-item__marca{position:absolute;top:var(--space-2);right:var(--space-2)}
.nb-sidebar--riel .nb-sidebar__preferencias{flex-direction:column;align-items:center;gap:var(--space-1)}
.nb-sidebar-header{padding:0 var(--space-3)}
.nb-sidebar-header__nombre{color:var(--color-text-primary);font:var(--typography-fontweight-bold) var(--typography-fontsize-lg)/1.2 var(--typography-fontfamily-display)}
.nb-sidebar-header__firma{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-sidebar-header__empresa{font:var(--typography-fontweight-semibold) var(--typography-fontsize-xs)/1.2 var(--typography-fontfamily-display)}
.nb-nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:var(--size-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font:var(--nb-font-label-md);text-decoration:none;cursor:pointer}
.nb-nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}
.nb-nav-item.is-active,.nb-nav-item[aria-current="page"]{background:var(--color-bg-chrome-selected);color:var(--color-text-primary)}
.nb-nav-item__rotulo{flex:1 1 0;min-width:0}
.nb-nav-item__contador{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-brand-soft);color:var(--color-brand-ink);font:var(--nb-font-label-sm)}
.nb-nav-item__marca{flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-accent-mark)}
.nb-nav-item--anidado{padding-left:var(--space-8)}
.nb-user-menu{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:none;text-align:left;cursor:pointer}
.nb-user-menu:hover{background:var(--color-bg-hover)}
.nb-user-menu__identidad{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.nb-user-menu__nombre{color:var(--color-text-primary);font:var(--nb-font-label-md)}.nb-user-menu__rol{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}

.nb-breadcrumb{display:flex;align-items:center;gap:var(--space-2)}
.nb-breadcrumb__nivel{display:inline-flex;align-items:center;min-height:var(--size-target);padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--color-text-secondary);font:var(--nb-font-body-sm);text-decoration:none}
.nb-breadcrumb__nivel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}
.nb-breadcrumb__actual{color:var(--color-text-primary);font:var(--nb-font-label-sm)}

.nb-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}
.nb-tabs__solapa{margin-bottom:-1px;padding:var(--space-2) var(--space-3);border:0;border-bottom:2px solid transparent;background:none;color:var(--color-text-secondary);font:var(--nb-font-label-md);cursor:pointer}
.nb-tabs__solapa:hover{color:var(--color-text-primary)}
.nb-tabs__solapa.is-active,.nb-tabs__solapa[aria-selected="true"]{border-bottom-color:var(--color-brand-solid);color:var(--color-brand-ink)}
.nb-tabs__solapa[disabled]{color:var(--color-text-disabled);pointer-events:none}

.nb-pagination{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}
.nb-pagination__rango{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-pagination__controles{display:flex;align-items:center;gap:var(--space-1)}
.nb-pagination__pagina{display:inline-flex;align-items:center;justify-content:center;min-width:var(--size-control-md);height:var(--size-control-md);padding:0;border:0;border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font:var(--nb-font-label-md);cursor:pointer}
.nb-pagination__pagina:hover{background:var(--color-bg-hover)}
.nb-pagination__pagina.is-actual{background:var(--color-bg-selected);color:var(--color-brand-ink);font:var(--nb-font-title-sm)}
.nb-pagination__elipsis{color:var(--color-text-tertiary);pointer-events:none}
.nb-top-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4)}
.nb-top-bar__titulo{flex:1 1 0;min-width:0;margin:0;color:var(--color-text-primary);font:var(--nb-font-title-md);letter-spacing:var(--typography-title-md-letter-spacing);text-transform:var(--typography-title-md-text-transform)}

/* ---------- superposiciones ---------- */
.nb-scrim{position:fixed;inset:0;background:var(--color-bg-overlay)}
.nb-menu{display:flex;flex-direction:column;gap:var(--space-1);min-width:240px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-sheet)}
.nb-menu__grupo{padding:var(--space-2);color:var(--color-text-secondary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:var(--typography-label-xs-text-transform)}
.nb-menu__separador{height:1px;margin:var(--space-1) 0;border:0;background:var(--color-border-subtle)}
.nb-menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--size-target);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text-primary);font:var(--nb-font-label-md);text-align:left;cursor:pointer}
.nb-menu-item:hover{background:var(--color-bg-hover)}.nb-menu-item.is-marcado{background:var(--color-bg-selected)}
.nb-menu-item--destructivo{color:var(--color-error-ink)}
.nb-menu-item__rotulo{flex:1 1 0;min-width:0}
.nb-modal{display:flex;flex-direction:column;width:min(var(--layout-overlay-narrow),100%);max-height:calc(100dvh - var(--space-8));border-radius:var(--radius-xl);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-overlay)}
.nb-modal__cabecera{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4)}
.nb-modal__titulo{flex:1 1 0;min-width:0;margin:0;color:var(--color-text-primary);font:var(--nb-font-title-md);letter-spacing:var(--typography-title-md-letter-spacing);text-transform:var(--typography-title-md-text-transform)}
.nb-modal__cuerpo{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) var(--space-5);overflow:auto;color:var(--color-text-secondary);font:var(--nb-font-body-lg)}
.nb-modal__cuerpo>*,.nb-drawer__cuerpo>*{flex:none}
.nb-modal__pie{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5)}
.nb-modal--ancho{width:min(var(--layout-overlay-wide),100%)}
.nb-drawer{display:flex;flex-direction:column;width:min(var(--layout-overlay-narrow),100%);height:100%;border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:var(--color-bg-float);box-shadow:var(--shadow-elevation-overlay)}
.nb-drawer--ancho{width:min(var(--layout-overlay-wide),100%)}
.nb-drawer__cabecera{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}
.nb-drawer__titulos{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}
.nb-drawer__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-md);letter-spacing:var(--typography-title-md-letter-spacing);text-transform:var(--typography-title-md-text-transform)}.nb-drawer__sub{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-drawer__cuerpo{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0;overflow:auto}
.nb-drawer__pie{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5)}
.nb-tooltip{max-width:var(--layout-tooltip-max);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-sheet);color:var(--color-text-primary);font:var(--nb-font-body-sm)}

/* ---------- capas, avisos y marcos compartidos ---------- */
.nb-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:50}
.nb-overlay--drawer{justify-content:flex-end;align-items:stretch;padding:0}
.nb-overlay>form{display:contents}
.nb-overlay .nb-scrim{opacity:0;transition:opacity var(--motion-duration-base) ease-out}
.nb-overlay .nb-modal,.nb-overlay .nb-drawer{position:relative;opacity:0;transition:opacity var(--motion-duration-base) ease-out,transform var(--motion-duration-base) ease-out}
.nb-overlay .nb-modal{transform:translateY(8px)}
.nb-overlay--drawer .nb-drawer{max-height:none;transform:translateX(100%)}
.nb-overlay.is-open .nb-scrim{opacity:1}
.nb-overlay.is-open .nb-modal,.nb-overlay.is-open .nb-drawer{opacity:1;transform:none}
.nb-menu--flotante{position:fixed;z-index:60}
.nb-toast--flotante{position:fixed;left:50%;bottom:var(--space-6);z-index:70;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity var(--motion-duration-base) ease-out,transform var(--motion-duration-base) ease-out}
.nb-toast--flotante.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.nb-toast--error .nb-toast__texto{color:var(--color-error-ink)}
.nb-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}
.nb-repeater{display:flex;flex-direction:column;gap:var(--space-3)}
.nb-repeater__fila{display:flex;align-items:flex-start;gap:var(--space-4)}
.nb-repeater__fila>.nb-text-field{flex:1 1 0;min-width:0}
.nb-repeater__quitar{flex:none;padding-top:var(--space-6)}
.nb-public-page{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-page)}
.nb-public-page__cabecera{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:var(--border-width-default) solid var(--color-border-subtle);background:var(--color-bg-surface)}
.nb-public-page__contenido{display:flex;flex-direction:column;gap:var(--space-6);min-width:0;padding:var(--space-6)}
@media (prefers-reduced-motion:reduce){.nb-overlay .nb-scrim,.nb-overlay .nb-modal,.nb-overlay .nb-drawer,.nb-toast--flotante{transition:none}}

/* ---------- media y datos ---------- */
.nb-avatar{display:inline-grid;place-content:center;flex:none;width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-brand-soft);color:var(--color-brand-ink);font:var(--typography-fontweight-semibold) var(--typography-fontsize-xs)/1.2 var(--typography-fontfamily-body)}
.nb-avatar--md{width:44px;height:44px}.nb-avatar--lg{width:72px;height:72px;font-size:var(--typography-fontsize-2xl)}
.nb-avatar--empresa{width:44px;height:44px;border-radius:var(--radius-lg)}
.nb-metric-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-border-subtle)}
.nb-metric-card__rotulo{color:var(--color-text-tertiary);font:var(--typography-fontweight-semibold) var(--typography-fontsize-2xs)/1.2 var(--typography-fontfamily-body)}
.nb-metric-card__valor{color:var(--color-text-primary);font:var(--typography-fontweight-semibold) var(--typography-fontsize-2xl)/1.2 var(--typography-fontfamily-body);font-variant-numeric:tabular-nums}
.nb-metric-card__etiqueta{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font:var(--nb-font-body-md)}

/* ---------- conversación ---------- */
/* Micro-etiqueta en mayúsculas, extensiones de tamaño y ancho completo. */
.nb-label{display:block;margin:0;color:var(--color-text-tertiary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:var(--typography-label-xs-text-transform)}
.nb-label--acento{color:var(--color-accent-mark)}.nb-label--sobre-marca{color:var(--color-brand-on);opacity:.7}
.nb-icon--xs{width:14px;height:14px}.nb-icon--sm{width:16px;height:16px}.nb-icon--md{width:20px;height:20px}.nb-icon--xl{width:36px;height:36px}
.nb-button--bloque{display:flex;width:100%}
.nb-avatar--con-foto{position:relative;overflow:hidden}
.nb-avatar__imagen{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nb-progress-bar--sobre-marca{background:color-mix(in srgb,var(--color-brand-on) 30%,transparent)}.nb-progress-bar--sobre-marca .nb-progress-bar__avance{background:var(--color-brand-on)}
.nb-progress-bar--indeterminada .nb-progress-bar__avance{inset:0 auto 0 0;width:40%;animation:nb-indeterminada 1.2s ease-in-out infinite}
@keyframes nb-indeterminada{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.nb-skeleton__linea--campo{height:var(--space-8);border-radius:var(--radius-md);background:var(--color-bg-surface)}

/* Cabecera de la conversación: avatar, nombre, canal y estado. */
.nb-chat-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-chrome)}
.nb-chat-header__cuerpo{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.nb-chat-header__nombre{overflow:hidden;color:var(--color-text-primary);font:var(--nb-font-title-sm);text-overflow:ellipsis;white-space:nowrap}
.nb-chat-header__canal{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-header__estado{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-header .nb-status{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-header__info{display:inline-flex;flex:none;padding:0;border:0;background:none;color:var(--color-icon-tertiary);cursor:pointer}
.nb-chat-header__info:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}
.nb-chat-header--atenuada{opacity:var(--opacity-disabled)}

/* Hilo: columna de filas alineadas según quién habla. */
.nb-chat-thread{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;padding:var(--space-4);overflow:auto;background:var(--color-bg-page)}
.nb-chat-thread>*{flex:none}
.nb-chat-thread__fila{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}
.nb-chat-thread__fila--propia{align-items:flex-end}
.nb-chat-system-line{margin:0;padding:var(--space-2) 0 var(--space-3);color:var(--color-text-tertiary);font:var(--nb-font-body-sm);text-align:center}
.nb-chat-typing{display:flex;gap:var(--space-1);padding-bottom:var(--space-3)}
.nb-chat-typing__punto{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-tertiary)}

/* Burbuja: la del otro lado en superficie con borde; la propia en violeta. Sin pico. */
.nb-chat-bubble{position:relative;display:flex;flex-direction:column;max-width:80%;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary)}
.nb-chat-bubble::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-subtle);pointer-events:none}
.nb-chat-bubble__medio{display:block;margin:0}
.nb-chat-bubble__cuerpo{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}
.nb-chat-bubble__encabezado{margin:0;font:var(--nb-font-title-sm)}
.nb-chat-bubble__texto{margin:0;font:var(--nb-font-body-lg);overflow-wrap:anywhere;white-space:pre-wrap}
.nb-chat-bubble__pie{margin:0;font:var(--nb-font-body-sm);opacity:.7}
.nb-chat-bubble__acciones{display:flex;flex-direction:column}
.nb-chat-bubble--propia{background:var(--color-brand-solid);color:var(--color-brand-on)}
.nb-chat-bubble--propia::after{display:none}
.nb-chat-bubble--en-cola{opacity:.6}
.nb-chat-bubble--sin-caja{overflow:visible;background:none}
.nb-chat-bubble--sin-caja::after{display:none}
.nb-chat-bubble--medio{width:80%}
.nb-chat-meta{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-meta--propia{justify-content:flex-end}
.nb-chat-meta__falla{color:var(--color-error-ink)}
.nb-chat-meta__reintentar{padding:0;border:0;background:none;color:var(--color-brand-ink);font:var(--nb-font-label-md);cursor:pointer}
.nb-chat-action{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:var(--size-target);padding:var(--space-3);border:0;border-top:var(--border-width-default) solid var(--color-border-subtle);background:var(--color-bg-page);color:var(--color-brand-ink);font:var(--nb-font-title-sm);text-align:center;cursor:pointer}
.nb-chat-action:hover{background:var(--color-bg-hover)}
.nb-chat-action:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:calc(-1 * var(--border-width-focus))}
.nb-chat-action--propia{border-top-color:color-mix(in srgb,var(--color-brand-on) 30%,transparent);background:none;color:var(--color-brand-on)}
.nb-chat-action--propia:hover{background:color-mix(in srgb,var(--color-brand-on) 12%,transparent)}

/* Contenido de un mensaje: sangra a los bordes de la burbuja o va en su cuerpo. */
.nb-message-image__imagen{display:block;width:100%;max-height:320px;object-fit:cover}
.nb-message-image__cargando{display:grid;place-items:center;aspect-ratio:4/3;background:var(--color-bg-selected)}
.nb-message-image__error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3)}
.nb-message-video{position:relative;display:grid;place-items:center;height:130px;overflow:hidden;background:var(--color-bg-raised)}
.nb-message-video--de-template{height:110px}
.nb-message-video__cuadro{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nb-message-video__disco{position:relative;display:grid;place-items:center;width:var(--size-target);height:var(--size-target);padding:0;border:0;border-radius:var(--radius-md);background:var(--color-bg-float);color:var(--color-icon-primary);cursor:pointer}
.nb-message-video__duracion{position:absolute;left:var(--space-2);bottom:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-media-fill);color:var(--color-media-on);font:var(--nb-font-label-sm);font-variant-numeric:tabular-nums}
.nb-message-audio{display:flex;align-items:center;gap:var(--space-3)}
.nb-message-audio__disco{display:grid;place-items:center;flex:none;width:var(--size-control-md);height:var(--size-control-md);padding:0;border:0;border-radius:var(--radius-full);background:var(--color-brand-soft);color:var(--color-brand-ink);cursor:pointer}
.nb-message-audio__onda{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:space-between;height:28px}
.nb-message-audio__barra{flex:none;width:3px;height:60%;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-brand-ink) 35%,transparent)}
.nb-message-audio__barra.is-oida{background:var(--color-brand-ink)}
.nb-message-audio__tiempo{color:var(--color-text-secondary);font:var(--nb-font-body-sm);font-variant-numeric:tabular-nums}
.nb-message-audio--propio .nb-message-audio__disco{background:color-mix(in srgb,var(--color-brand-on) 20%,transparent);color:var(--color-brand-on)}
.nb-message-audio--propio .nb-message-audio__barra{background:color-mix(in srgb,var(--color-brand-on) 35%,transparent)}.nb-message-audio--propio .nb-message-audio__barra.is-oida{background:var(--color-brand-on)}
.nb-message-audio--propio .nb-message-audio__tiempo{color:var(--color-brand-on)}
.nb-message-file{display:flex;align-items:center;gap:var(--space-2);min-width:0}
.nb-message-file__datos{min-width:0;display:flex;flex-direction:column}
.nb-message-file__nombre{overflow:hidden;font:var(--nb-font-label-md);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.nb-message-file__peso{font:var(--nb-font-body-sm);opacity:.7}
.nb-message-location{display:flex;flex-direction:column}
.nb-message-location__mapa{display:grid;place-items:center;height:96px;background:var(--color-bg-raised)}
.nb-message-location__pin{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-brand-solid);color:var(--color-icon-on-brand)}
.nb-message-location__datos{display:flex;flex-direction:column;padding:var(--space-3)}
.nb-message-location__nombre{font:var(--nb-font-label-md)}.nb-message-location__direccion{font:var(--nb-font-body-sm);opacity:.7}
.nb-message-sticker{display:block;width:100%}
.nb-message-sticker__imagen{display:block;width:100%;height:auto;object-fit:cover}

/* Subida en curso: vista previa con velo y cancelar, o fila de archivo, y la barra de avance. */
.nb-chat-upload{display:flex;flex-direction:column}
.nb-chat-upload__vista{position:relative;display:grid;place-items:center;max-height:320px;overflow:hidden}
.nb-chat-upload__vista>img{display:block;width:100%;max-height:320px;object-fit:cover}
.nb-chat-upload__velo{position:absolute;inset:0;background:var(--color-media-fill)}
.nb-chat-upload__cancelar{position:absolute;display:grid;place-items:center;width:var(--size-target);height:var(--size-target);padding:0;border:0;border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-icon-primary);cursor:pointer}
.nb-chat-upload__fila{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}
.nb-chat-upload__nombre{flex:1 1 0;min-width:0;overflow:hidden;font:var(--nb-font-body-md);text-overflow:ellipsis;white-space:nowrap}
.nb-chat-upload__fila .nb-chat-upload__cancelar{position:static;flex:none;background:none;color:inherit}
.nb-chat-upload__barra{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-brand-solid);color:var(--color-brand-on);font:var(--nb-font-body-md)}
.nb-chat-upload__barra .nb-progress-bar{flex:1 1 0}

/* Compositor: filo, fila con adjuntar, campo y enviar; segundo plano cuando hay una acción pendiente. */
.nb-chat-composer{display:flex;flex-direction:column;background:var(--color-bg-chrome);box-shadow:inset 0 var(--border-width-default) 0 var(--color-border-subtle)}
.nb-chat-composer__aviso{padding:var(--space-3) var(--space-3) 0}
.nb-chat-composer__fila{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-3)}
.nb-chat-composer__campo{flex:1 1 0;min-width:0;min-height:var(--size-control-md);max-height:calc(var(--size-control-md) * 3);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);outline:0;background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default);color:var(--color-text-primary);font:var(--nb-font-body-md);resize:none}
.nb-chat-composer__campo::placeholder{color:var(--color-text-tertiary)}
.nb-chat-composer__campo:focus-visible{box-shadow:inset 0 0 0 var(--border-width-focus) var(--color-focus-ring)}
.nb-chat-composer--segundo-plano .nb-chat-composer__campo{background:var(--color-bg-page);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-subtle)}
.nb-chat-composer--segundo-plano .nb-chat-composer__adjuntar{color:var(--color-icon-disabled)}
.nb-chat-composer--segundo-plano .nb-chat-composer__enviar{background:var(--color-bg-selected);color:var(--color-icon-disabled)}

/* Hoja inferior: manija, rótulo y cuerpo. La opacidad del velo la decide la pantalla. */
.nb-bottom-sheet{display:flex;flex-direction:column;gap:var(--space-4);min-height:0;padding:var(--space-3) var(--space-4) var(--space-4);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-bg-float);box-shadow:inset 0 var(--border-width-default) 0 var(--color-border-default),var(--shadow-elevation-sheet)}
.nb-bottom-sheet--sin-sombra{box-shadow:inset 0 var(--border-width-default) 0 var(--color-border-default)}
.nb-bottom-sheet__manija{align-self:center;flex:none;width:36px;height:4px;border-radius:var(--radius-full);background:var(--color-border-strong)}
.nb-bottom-sheet--sin-manija .nb-bottom-sheet__manija{display:none}
.nb-bottom-sheet__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-md);letter-spacing:var(--typography-title-md-letter-spacing);text-transform:var(--typography-title-md-text-transform)}
.nb-bottom-sheet__cuerpo{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow:auto;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-bottom-sheet__cuerpo>*{flex:none}
.nb-overlay--hoja{align-items:flex-end;padding:0}
.nb-overlay--hoja .nb-bottom-sheet{position:relative;width:min(100%,var(--layout-overlay-narrow));max-height:90dvh;transform:translateY(100%);transition:transform var(--motion-duration-base) ease-out}
.nb-overlay--hoja.is-open .nb-bottom-sheet{transform:none}
.nb-scrim--tenue{opacity:.455}.nb-overlay.is-open .nb-scrim.nb-scrim--tenue{opacity:.455}

/* Piezas del flow: pie, texto, resumen enviado y componente desconocido. */
.nb-flow-footer__motivo{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm);text-align:center}
.nb-flow-text__titulo{margin:0;color:var(--color-text-primary);font:var(--typography-display-md-font-weight) var(--typography-display-md-font-size)/var(--typography-display-md-line-height) var(--typography-display-md-font-family);letter-spacing:var(--typography-display-md-letter-spacing)}
.nb-flow-text__subtitulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-flow-text__cuerpo{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-lg)}
.nb-flow-text__epigrafe{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-flow-text__enriquecido{display:flex;flex-direction:column;color:var(--color-text-secondary);font:var(--nb-font-body-lg)}
.nb-flow-text__linea{margin:0}.nb-flow-text__linea--titulo{margin-top:var(--space-2);color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-flow-text__vineta{margin:0;padding-left:var(--space-3)}
.nb-flow-summary{display:flex;flex-direction:column;gap:var(--space-3)}
.nb-flow-summary__titulo{display:flex;align-items:center;gap:var(--space-2);margin:0;font:var(--nb-font-title-sm)}
.nb-flow-summary__campo{display:flex;flex-direction:column}
.nb-flow-summary__valor{margin:0;font:var(--nb-font-body-lg)}
.nb-flow-unknown{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default);color:var(--color-text-secondary);font:var(--nb-font-body-md)}
@media (prefers-reduced-motion:reduce){.nb-progress-bar--indeterminada .nb-progress-bar__avance{animation:none}.nb-overlay--hoja .nb-bottom-sheet{transition:none}}

/* ---------- navegación móvil, filas, datos e identidad ---------- */
/* Barra inferior: pestañas iguales con ícono, rótulo y guía ámbar opcional. */
.nb-navigation-bar{display:flex;flex-direction:column;background:var(--color-bg-chrome);box-shadow:inset 0 var(--border-width-default) 0 var(--color-border-subtle)}
.nb-navigation-bar__pestanas{display:flex;gap:var(--space-1);padding:var(--space-1) var(--space-2)}
.nb-navigation-bar__pestana{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--layout-touch-comfort);padding:var(--space-2) 0;border:0;border-radius:var(--radius-md);background:none;color:var(--color-text-tertiary);font:var(--nb-font-label-sm);cursor:pointer}
.nb-navigation-bar__pestana:hover{background:var(--color-bg-hover)}
.nb-navigation-bar__pestana:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:calc(-1 * var(--border-width-focus))}
.nb-navigation-bar__pestana.is-active,.nb-navigation-bar__pestana[aria-current="page"]{color:var(--color-text-primary)}
.nb-navigation-bar__icono{position:relative;display:inline-flex}
.nb-navigation-bar__guia{position:absolute;top:0;right:0;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-accent-mark)}
.nb-navigation-bar__rotulo{white-space:nowrap}
.nb-tabs--sin-base{border-bottom:0}
.nb-tabs--sin-base .nb-tabs__solapa{margin-bottom:0;min-height:var(--layout-touch-min)}
.nb-tabs--compacta{gap:0}.nb-tabs--compacta .nb-tabs__solapa{padding-inline:var(--space-2)}
.nb-period-strip{display:flex;gap:var(--space-1)}
.nb-period-strip__celda{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;border:0;border-radius:var(--radius-md);background:none;color:var(--color-text-primary);cursor:pointer}
.nb-period-strip__celda:hover{background:var(--color-bg-hover)}
.nb-period-strip__rotulo{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-period-strip__valor{font:var(--nb-font-title-sm);font-variant-numeric:tabular-nums}
.nb-period-strip__celda.is-current .nb-period-strip__valor,.nb-period-strip__celda.is-current .nb-period-strip__rotulo{color:var(--color-accent-ink)}
.nb-calendar{display:flex;flex-direction:column;gap:var(--space-2);width:100%}
.nb-calendar__encabezado{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.nb-calendar__mes{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-calendar__semana,.nb-calendar__cuadricula{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}
.nb-calendar__rotulo{padding:var(--space-1) 0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm);text-align:center}
.nb-calendar__dia{position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--layout-touch-min);padding:0;border:0;border-radius:var(--radius-md);background:none;color:var(--color-text-primary);font:var(--nb-font-body-md);font-variant-numeric:tabular-nums;cursor:pointer}
.nb-calendar__dia:hover{background:var(--color-bg-hover)}
.nb-calendar__dia.is-fuera{color:var(--color-text-tertiary)}
.nb-calendar__dia.is-hoy{color:var(--color-accent-ink);font:var(--nb-font-title-sm)}
.nb-calendar__dia.is-con-actividad::after{content:"";position:absolute;bottom:var(--space-1);left:50%;width:var(--space-1);height:var(--space-1);margin-left:calc(var(--space-1) / -2);border-radius:50%;background:var(--color-accent-mark)}
.nb-calendar__dia.is-selected,.nb-calendar__dia.is-selected:hover{background:var(--color-brand-solid);color:var(--color-brand-on);font:var(--nb-font-title-sm)}
.nb-calendar__dia.is-selected.is-con-actividad::after{background:var(--color-brand-on)}
.nb-calendar__dia[disabled]{color:var(--color-text-disabled);pointer-events:none}

/* Filas: actividad, oportunidad, acceso, catálogo, duplicado y opción elegible. */
.nb-activity-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--layout-touch-comfort);padding:var(--space-2) var(--space-4)}
.nb-activity-row__cuerpo{flex:1 1 0;min-width:0;display:flex;flex-direction:column;cursor:pointer}
.nb-activity-row__titulo{color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-activity-row__cuando{color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-activity-row--vencida .nb-activity-row__cuando{color:var(--color-accent-ink)}
.nb-activity-row--vencida>.nb-icon{color:var(--color-accent-mark)}
.nb-activity-row__casilla{flex:none;display:grid;place-items:center;width:var(--layout-touch-min);height:var(--layout-touch-min);padding:0;border:0;background:none;cursor:pointer}
.nb-activity-row__circulo{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-full);box-shadow:inset 0 0 0 1.5px var(--color-border-strong);color:var(--color-success-mark)}
.nb-activity-row__circulo>.nb-icon{width:16px;height:16px;opacity:0}
.nb-activity-row__casilla.is-hecha .nb-activity-row__circulo{box-shadow:inset 0 0 0 1.5px var(--color-success-mark)}
.nb-activity-row__casilla.is-hecha .nb-activity-row__circulo>.nb-icon{opacity:1}
.nb-opportunity-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--layout-touch-comfort);padding:var(--space-3) var(--space-4);cursor:pointer}
.nb-opportunity-row__cuerpo{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}
.nb-opportunity-row__titulo{color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-opportunity-row .nb-status{color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-opportunity-row__monto{flex:none;color:var(--color-text-primary);font:var(--nb-font-title-sm);font-variant-numeric:tabular-nums}
.nb-shortcut-row{display:flex;align-items:center;gap:var(--space-3);min-height:calc(var(--layout-touch-comfort) + var(--space-2));padding:var(--space-3) var(--space-4);cursor:pointer}
.nb-shortcut-row__cifra{min-width:var(--space-10);color:var(--color-text-primary);font:var(--nb-font-title-md);font-variant-numeric:tabular-nums;text-align:right}
.nb-shortcut-row__rotulo{flex:1 1 0;min-width:0;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-catalog-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--layout-touch-comfort);padding:var(--space-3) var(--space-4);cursor:pointer}
.nb-catalog-item__cuerpo{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}
.nb-catalog-item__nombre{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-catalog-item__extracto{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-catalog-item__datos{flex:none;color:var(--color-accent-ink);font:var(--nb-font-label-sm)}
.nb-duplicate-suggestion{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default)}
.nb-duplicate-suggestion__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-duplicate-suggestion__motivo{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-duplicate-suggestion__lado{display:flex;align-items:center;gap:var(--space-3)}
.nb-duplicate-suggestion__datos{min-width:0;display:flex;flex-direction:column}
.nb-duplicate-suggestion__nombre{color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-duplicate-suggestion__detalle{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-duplicate-suggestion__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.nb-duplicate-suggestion.is-uniendo{opacity:var(--opacity-disabled);pointer-events:none}
.nb-selectable-option{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--layout-touch-comfort);padding:0 var(--space-4);border:0;background:none;color:var(--color-text-secondary);font:var(--nb-font-body-md);text-align:left;cursor:pointer}
.nb-selectable-option:hover{background:var(--color-bg-hover)}
.nb-selectable-option__rotulo{flex:1 1 0;min-width:0}
.nb-selectable-option>.nb-icon{width:20px;height:20px;color:var(--color-brand-ink);opacity:0}
.nb-selectable-option.is-selected{color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-selectable-option.is-selected>.nb-icon{opacity:1}
.nb-description-list{display:flex;flex-wrap:wrap;margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-description-list__valor:not(:last-child)::after{content:"\00b7";margin:0 var(--space-2)}
.nb-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.nb-section-heading__accion{padding:0;border:0;background:none;color:var(--color-brand-ink);font:var(--nb-font-label-md);cursor:pointer}
.nb-skeleton-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}
.nb-skeleton-row__avatar{flex:none;width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-bg-raised);animation:nb-pulso 1.4s ease-in-out infinite}
.nb-skeleton-row__lineas{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}
.nb-skeleton__tarjeta{display:block;height:calc(var(--space-16) * 2);border-radius:var(--radius-lg);background:var(--color-bg-raised);animation:nb-pulso 1.4s ease-in-out infinite}
.nb-skeleton__tarjeta--baja{height:calc(var(--space-16) * 1.5)}
.nb-action-footer,.nb-flow-footer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-chrome);box-shadow:inset 0 var(--border-width-default) 0 var(--color-border-subtle)}
.nb-action-footer__motivo{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm);text-align:center}
.nb-action-footer--doble{flex-direction:row}.nb-action-footer--doble>*{flex:1 1 0}

/* Datos: tarjeta de métrica completa, cifra con unidad, mini-curva y riel de estados. */
.nb-metric-card__encabezado{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-metric-card__encabezado .nb-metric-card__chevron{margin-left:auto}
.nb-metric-card__linea{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}
.nb-metric-card__unidad{color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-metric-card__hilo{height:1px;margin:var(--space-2) 0;border:0;background:var(--color-border-subtle)}
.nb-metric-card__hechos{display:flex;flex-wrap:wrap;gap:var(--space-6)}
.nb-metric-card__hecho{display:flex;flex-direction:column;gap:var(--space-1)}
.nb-metric-card__hecho-rotulo{color:var(--color-text-tertiary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:var(--typography-label-xs-text-transform)}
.nb-metric-card__hecho-valor{color:var(--color-text-primary);font:var(--nb-font-label-md);font-variant-numeric:tabular-nums}
.nb-metric-card__hecho-valor--aviso{color:var(--color-accent-ink)}
.nb-metric-card__delta{margin-left:auto;color:var(--color-success-ink);font:var(--nb-font-label-md)}
.nb-metric-card__curva{margin-top:var(--space-2)}
.nb-metric-card--espera{box-shadow:inset 0 0 0 var(--border-width-default) var(--color-accent-mark)}
.nb-metric-card--espera .nb-metric-card__valor{color:var(--color-accent-ink)}
.nb-metric{display:inline-flex;align-items:baseline;gap:var(--space-2)}
.nb-metric__cifra{color:var(--color-text-primary);font:var(--typography-fontweight-semibold) var(--typography-fontsize-2xl)/1.2 var(--typography-fontfamily-body);font-variant-numeric:tabular-nums}
.nb-metric__unidad{color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-sparkline{display:block;width:100%;height:var(--space-8);overflow:visible}
.nb-sparkline__area{fill:var(--color-brand-soft);stroke:none}
.nb-sparkline__linea{fill:none;stroke:var(--color-brand-solid);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.nb-sparkline__punto{fill:var(--color-brand-solid)}
.nb-timeline{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.nb-timeline__paso{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:var(--layout-touch-comfort);color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-timeline__paso::before{content:"";position:absolute;left:4px;top:50%;height:100%;width:1px;background:var(--color-border-default)}
.nb-timeline__paso:last-child::before{display:none}
.nb-timeline__punto{position:relative;flex:none;width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-text-tertiary)}
.nb-timeline__paso.is-alcanzado .nb-timeline__punto,.nb-timeline__paso.is-actual .nb-timeline__punto{background:var(--color-brand-solid)}
.nb-timeline__paso.is-actual{color:var(--color-text-primary);font:var(--nb-font-label-md)}

/* Identidad y medios: avatares grandes, identidad, canal e isotipo. */
.nb-avatar--perfil{width:64px;height:64px;font-size:var(--typography-fontsize-xl)}
.nb-avatar--xl{width:96px;height:96px;font-size:var(--typography-fontsize-2xl)}
.nb-avatar-con-canal{position:relative;display:inline-flex;flex:none}
.nb-channel-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:18px;height:18px;color:var(--color-icon-primary)}
.nb-channel-badge>.nb-icon{width:18px;height:18px;color:inherit}
.nb-channel-badge--whatsapp{color:var(--color-canal-whatsapp)}.nb-channel-badge--messenger{color:var(--color-canal-messenger)}.nb-channel-badge--instagram{color:var(--color-canal-instagram)}.nb-channel-badge--nebula{color:var(--color-canal-nebula)}
.nb-identity{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}
.nb-identity__nombre{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-lg)}
.nb-identity__dato{margin:0;color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-logo{display:block;width:24px;height:24px}
.nb-logo__estrella{fill:var(--color-text-tertiary);transition:fill var(--motion-duration-base) ease-out}
.nb-logo.is-encendida .nb-logo__estrella--a,.nb-logo.is-encendida .nb-logo__estrella--b{fill:var(--color-text-primary)}
.nb-logo.is-encendida .nb-logo__estrella--c{fill:var(--color-accent-mark)}

/* Conversación: separador de día, cita, reacción, acuse, tramo de bot o IA y comentario de publicación. */
.nb-chat-bubble--esquina-mordida{border-bottom-left-radius:var(--radius-sm)}
.nb-chat-bubble--propia.nb-chat-bubble--esquina-mordida{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-sm)}
.nb-chat-meta__acuse{width:14px;height:14px;color:var(--color-icon-tertiary)}
.nb-chat-bookend{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-bookend::before,.nb-chat-bookend::after{content:"";flex:1 1 0;height:1px;background:var(--color-border-subtle)}
.nb-chat-quote{display:flex;flex-direction:column;padding-left:var(--space-3);box-shadow:inset 2px 0 0 var(--color-border-strong)}
.nb-chat-quote__autor{font:var(--nb-font-label-sm);opacity:.8}
.nb-chat-quote__texto{font:var(--nb-font-body-sm);opacity:.8}
.nb-message-reaction{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default);color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-chat-event{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0}
.nb-chat-event__cabecera{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-chat-event__hora{margin-left:auto;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-event__resumen{display:flex;flex-direction:column;gap:var(--space-1)}
.nb-chat-event__dato{display:flex;justify-content:space-between;gap:var(--space-4);font:var(--nb-font-body-md)}
.nb-chat-event__etiqueta{color:var(--color-text-tertiary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:var(--typography-label-xs-text-transform)}
.nb-chat-event__valor{color:var(--color-text-primary);text-align:right}
.nb-chat-event__alternar{align-self:flex-start;padding:0;border:0;background:none;color:var(--color-brand-ink);font:var(--nb-font-label-md);cursor:pointer}
.nb-chat-event__transcripcion{display:flex;flex-direction:column;gap:var(--space-3);margin-left:var(--space-1);padding-left:var(--space-3);box-shadow:inset 1px 0 0 var(--color-border-default)}
.nb-chat-event__mensaje{display:flex;flex-direction:column;gap:var(--space-1)}
.nb-chat-event__linea{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-chat-event__texto{margin:0;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-post-comment{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default)}
.nb-post-comment__post{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-md);background:var(--color-bg-raised)}
.nb-post-comment__medio{display:block;width:100%;max-height:160px;object-fit:cover}
.nb-post-comment__metricas{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-post-comment__comentario{margin:0;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-post-comment__acciones{display:flex;flex-wrap:wrap;gap:var(--space-3)}
@media (prefers-reduced-motion:reduce){.nb-skeleton-row__avatar,.nb-skeleton__tarjeta{animation:none}.nb-logo__estrella{transition:none}}

/* ---------- lote C: piezas que pidió Orion AI Studio (solo se agrega; nada de lo anterior cambia) ---------- */

/* accesibilidad: texto solo para lectores de pantalla */
.nb-solo-lectores{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* acciones: botón grande, botón cargando, grupo unido, texto de apoyo */
.nb-button--lg{min-height:var(--size-control-lg);padding:0 var(--space-6)}
.nb-icon-button--sm{width:var(--size-control-sm);height:var(--size-control-sm)}.nb-icon-button--sm>.nb-icon{width:18px;height:18px}
.nb-button .nb-spinner,.nb-icon-button .nb-spinner{border-color:color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor}
.nb-icon-button.is-loading{pointer-events:none}
.nb-button-group{display:inline-flex;align-items:stretch}
.nb-button-group>*{border-radius:0}
.nb-button-group>*+*{margin-left:-1px}
.nb-button-group>:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}
.nb-button-group>:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}
.nb-button-group>:only-child{border-radius:var(--radius-md)}
.nb-button-group>:hover,.nb-button-group>:focus-visible{position:relative;z-index:1}
.nb-caption{margin:0;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}

/* avisos: éxito, acciones y cierre */
.nb-banner--success{box-shadow:inset 0 0 0 1px var(--color-success-mark)}
.nb-banner__acciones{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.nb-banner__cerrar{flex:none;margin:calc(var(--space-1) * -1) calc(var(--space-1) * -1) calc(var(--space-1) * -1) auto}
.nb-toast--success .nb-toast__icono{color:var(--color-icon-success)}.nb-toast--info .nb-toast__icono{color:var(--color-icon-info)}.nb-toast--error .nb-toast__icono{color:var(--color-icon-error)}
.nb-toast__icono{flex:none}
.nb-toast__contenido{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px}
.nb-toast__titulo{color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-toast__descripcion{color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-toast__acciones{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}
.nb-toast__cerrar{flex:none;align-self:flex-start;margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0}

/* estado: más tonos */
.nb-status--brand .nb-status__punto{background:var(--color-brand-solid)}
.nb-status--warning .nb-status__punto{background:var(--color-accent-mark)}
.nb-status .nb-spinner{width:12px;height:12px}

/* identidad: avatares chicos y grupo apilado */
.nb-avatar--xs{width:24px;height:24px;font-size:var(--typography-fontsize-2xs)}
.nb-avatar--sm{width:32px;height:32px;font-size:var(--typography-fontsize-2xs)}
.nb-avatar-group{display:inline-flex;align-items:center}
.nb-avatar-group>.nb-avatar{box-shadow:0 0 0 2px var(--color-bg-surface)}
.nb-avatar-group>.nb-avatar+.nb-avatar,.nb-avatar-group>.nb-avatar+.nb-avatar-group__mas{margin-left:calc(var(--space-2) * -1)}
.nb-avatar-group__mas{display:inline-grid;place-content:center;min-width:32px;height:32px;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--color-bg-raised);box-shadow:0 0 0 2px var(--color-bg-surface);color:var(--color-text-secondary);font:var(--nb-font-label-xs)}

/* navegación: migas, pestañas con contador, línea divisoria con rótulo */
.nb-breadcrumb__separador{display:inline-flex;align-items:center;color:var(--color-icon-tertiary)}
.nb-breadcrumb__separador .nb-icon{width:16px;height:16px}
.nb-breadcrumb__elipsis{border:0;background:none;cursor:pointer;font:var(--nb-font-body-sm)}
.nb-tabs__solapa:has(>.nb-tabs__contador,>.nb-icon){display:inline-flex;align-items:center;gap:var(--space-2)}
.nb-tabs__solapa>.nb-icon{width:16px;height:16px}
.nb-tabs__contador{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-bg-raised);color:var(--color-text-secondary);font:var(--nb-font-label-xs)}
.nb-tabs__solapa.is-active .nb-tabs__contador,.nb-tabs__solapa[aria-selected="true"] .nb-tabs__contador{background:var(--color-brand-soft);color:var(--color-brand-ink)}
.nb-divider--rotulo{display:flex;align-items:center;gap:var(--space-3);height:auto;background:none;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-divider--rotulo::before,.nb-divider--rotulo::after{content:"";flex:1 1 0;height:1px;background:var(--color-border-subtle)}

/* formularios: tamaños, casilla indeterminada, limpiar búsqueda, campo numérico, etiquetas, control deslizante */
.nb-text-field--sm .nb-text-field__caja,.nb-select--sm .nb-select__disparador,.nb-search-field--sm{min-height:var(--size-control-sm);padding-inline:var(--space-3)}
.nb-text-field--lg .nb-text-field__caja,.nb-select--lg .nb-select__disparador,.nb-search-field--lg{min-height:var(--size-control-lg)}
.nb-checkbox:indeterminate,.nb-checkbox.is-indeterminate{background:var(--color-brand-solid);box-shadow:inset 0 0 0 1.5px var(--color-brand-solid)}
.nb-checkbox:indeterminate::after,.nb-checkbox.is-indeterminate::after{content:"";width:9px;height:2px;margin:0;border:0;border-radius:1px;background:var(--color-brand-on);transform:none}
.nb-search-field__limpiar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--color-icon-tertiary);cursor:pointer}
.nb-search-field__limpiar:hover{background:var(--color-bg-hover);color:var(--color-icon-primary)}
.nb-search-field__limpiar .nb-icon{width:16px;height:16px}
.nb-number-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.nb-number-field__etiqueta{color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-number-field__caja{display:flex;align-items:center;min-height:var(--size-field-md);border-radius:var(--radius-md);background:var(--color-bg-page);box-shadow:inset 0 0 0 1px var(--color-border-default)}
.nb-number-field__caja:focus-within{box-shadow:inset 0 0 0 1px var(--color-focus-ring)}
.nb-number-field__paso{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--size-target);align-self:stretch;padding:0;border:0;background:none;color:var(--color-icon-secondary);cursor:pointer}
.nb-number-field__paso:hover{background:var(--color-bg-hover);color:var(--color-icon-primary)}
.nb-number-field__paso[disabled]{opacity:var(--opacity-disabled);pointer-events:none}
.nb-number-field__paso:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.nb-number-field__paso:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}
.nb-number-field__valor{flex:1 1 0;min-width:0;padding:0;border:0;outline:0;background:none;color:var(--color-text-primary);font:var(--nb-font-body-md);font-variant-numeric:tabular-nums;text-align:center}
.nb-number-field__unidad{padding-right:var(--space-3);color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-number-field.is-error .nb-number-field__caja{box-shadow:inset 0 0 0 1px var(--color-error-mark)}
.nb-tag-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.nb-tag-field__etiqueta{color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-tag-field__caja{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-height:var(--size-field-md);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-bg-page);box-shadow:inset 0 0 0 1px var(--color-border-default)}
.nb-tag-field__caja:focus-within,.nb-tag-field.is-open .nb-tag-field__caja{box-shadow:inset 0 0 0 1px var(--color-focus-ring)}
.nb-tag-field__valor{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--size-control-sm);padding:0 var(--space-1) 0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-raised);color:var(--color-text-primary);font:var(--nb-font-label-sm)}
.nb-tag-field__quitar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--color-icon-tertiary);cursor:pointer}
.nb-tag-field__quitar:hover{background:var(--color-bg-hover);color:var(--color-icon-primary)}
.nb-tag-field__quitar .nb-icon{width:14px;height:14px}
.nb-tag-field__entrada{flex:1 1 96px;min-width:96px;padding:0 var(--space-1);border:0;outline:0;background:none;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-tag-field__entrada::placeholder{color:var(--color-text-tertiary)}
.nb-tag-field__ayuda{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-slider-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.nb-slider-field__cabecera{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}
.nb-slider-field__etiqueta{color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-slider-field__valor{color:var(--color-text-primary);font:var(--nb-font-title-sm);font-variant-numeric:tabular-nums}
.nb-slider-field__marcas{display:flex;justify-content:space-between;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-slider{-webkit-appearance:none;appearance:none;display:block;width:100%;height:24px;margin:0;background:transparent;cursor:pointer}
.nb-slider::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--color-brand-solid) var(--nb-slider-valor,0%),var(--color-brand-border) var(--nb-slider-valor,0%))}
.nb-slider::-moz-range-track{height:4px;border-radius:var(--radius-full);background:var(--color-brand-border)}
.nb-slider::-moz-range-progress{height:4px;border-radius:var(--radius-full);background:var(--color-brand-solid)}
.nb-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-7px;border:0;border-radius:var(--radius-full);background:var(--color-brand-solid);box-shadow:0 0 0 3px var(--color-bg-surface)}
.nb-slider::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:var(--radius-full);background:var(--color-brand-solid);box-shadow:0 0 0 3px var(--color-bg-surface)}
.nb-slider:focus-visible{outline:0}
.nb-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--color-bg-surface),0 0 0 5px var(--color-focus-ring)}
.nb-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--color-bg-surface),0 0 0 5px var(--color-focus-ring)}
.nb-slider[disabled]{opacity:var(--opacity-disabled);cursor:not-allowed}
.nb-value-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}
.nb-value-list__fila{display:flex;align-items:center;gap:var(--space-3);min-height:var(--size-target);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-border-subtle)}
.nb-value-list__marca{flex:none;width:24px;height:24px;color:var(--color-icon-secondary)}
.nb-value-list__rotulo{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-value-list__detalle{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}

/* menú: icono, atajo, marca, submenú y encabezado de identidad */
.nb-menu__encabezado{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-1)}
.nb-menu__titulo{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-menu__sub{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-menu-item__icono{flex:none;width:20px;height:20px;color:var(--color-icon-secondary)}
.nb-menu-item__atajo{flex:none;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-menu-item__marca{flex:none;width:20px;height:20px;color:var(--color-icon-brand)}
.nb-menu-item__submenu{flex:none;width:16px;height:16px;color:var(--color-icon-tertiary)}
.nb-menu-item[disabled],.nb-menu-item[aria-disabled="true"]{opacity:var(--opacity-disabled);pointer-events:none}
.nb-menu-item--destructivo .nb-menu-item__icono{color:var(--color-icon-error)}

/* superposiciones: popover y ayuda contextual */
.nb-popover{display:flex;flex-direction:column;gap:var(--space-3);width:max-content;max-width:var(--layout-overlay-narrow);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-overlay);color:var(--color-text-primary);font:var(--nb-font-body-md)}
.nb-popover--ancho{max-width:var(--layout-overlay-wide)}
.nb-popover--flotante{position:fixed;z-index:60}
.nb-popover__titulo{margin:0;color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-popover__cuerpo{display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-text-secondary)}
.nb-popover__pie{display:flex;justify-content:flex-end;gap:var(--space-2)}
.nb-help-tip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-full);background:none;color:var(--color-icon-tertiary);cursor:pointer}
.nb-help-tip:hover{color:var(--color-icon-primary)}
.nb-help-tip:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:1px}
.nb-help-tip .nb-icon{width:16px;height:16px}

/* feedback: progreso con tonos y circular, línea de tiempo de eventos */
.nb-progress-bar--md{height:8px}
.nb-progress-bar--success{background:var(--color-success-border)}.nb-progress-bar--success .nb-progress-bar__avance{background:var(--color-success-mark)}
.nb-progress-bar--error{background:var(--color-error-border)}.nb-progress-bar--error .nb-progress-bar__avance{background:var(--color-error-mark)}
.nb-progress-bar--info{background:var(--color-info-border)}.nb-progress-bar--info .nb-progress-bar__avance{background:var(--color-info-mark)}
.nb-progress-bar--warning{background:var(--color-bg-raised)}.nb-progress-bar--warning .nb-progress-bar__avance{background:var(--color-accent-mark)}
.nb-progress-circle{position:relative;display:inline-grid;place-content:center;width:40px;height:40px;flex:none}
.nb-progress-circle__trazado{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.nb-progress-circle__pista{fill:none;stroke:var(--color-brand-border);stroke-width:3}
.nb-progress-circle__avance{fill:none;stroke:var(--color-brand-solid);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset var(--motion-duration-base) ease-out}
.nb-progress-circle__valor{position:relative;color:var(--color-text-primary);font:var(--nb-font-label-xs);font-variant-numeric:tabular-nums}
.nb-timeline--eventos .nb-timeline__paso{align-items:flex-start;min-height:0;padding-bottom:var(--space-4)}
.nb-timeline--eventos .nb-timeline__paso::before{top:var(--space-4);left:4px}
.nb-timeline--eventos .nb-timeline__punto{margin-top:var(--space-1)}
.nb-timeline__contenido{display:flex;flex-direction:column;gap:2px;min-width:0}
.nb-timeline__titulo{color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-timeline__descripcion{color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-timeline__hora{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-timeline__paso .nb-timeline__punto--exito{background:var(--color-success-mark)}.nb-timeline__paso .nb-timeline__punto--error{background:var(--color-error-mark)}.nb-timeline__paso .nb-timeline__punto--acento{background:var(--color-accent-mark)}.nb-timeline__paso .nb-timeline__punto--info{background:var(--color-info-mark)}

/* tabla: orden, encabezado fijo, primera columna fija, fila expandible */
.nb-table__ordenar{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.nb-table__ordenar:hover{color:var(--color-text-primary)}
.nb-table__ordenar .nb-icon{width:16px;height:16px;color:var(--color-icon-tertiary)}
.nb-table__th[aria-sort="ascending"] .nb-table__ordenar,.nb-table__th[aria-sort="descending"] .nb-table__ordenar{color:var(--color-text-primary)}
.nb-table__th[aria-sort] .nb-table__ordenar .nb-icon{color:var(--color-icon-brand)}
.nb-table--fija{max-height:var(--nb-tabla-alto,420px)}
.nb-table--fija .nb-table__th{position:sticky;top:0;z-index:2}
.nb-table__th--fija,.nb-table__td--fija{position:sticky;left:0;z-index:1;background:var(--color-bg-surface)}
.nb-table__th--fija{z-index:3;background:var(--color-bg-raised)}
.nb-table__expandir{display:inline-flex;align-items:center;justify-content:center;width:var(--size-control-sm);height:var(--size-control-sm);padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--color-icon-secondary);cursor:pointer}
.nb-table__expandir:hover{background:var(--color-bg-hover)}
.nb-table__expandir .nb-icon{width:16px;height:16px;transition:transform var(--motion-duration-fast) ease-out}
.nb-table__fila.is-abierta .nb-table__expandir .nb-icon{transform:rotate(90deg)}
.nb-table__detalle{padding:var(--space-4);background:var(--color-bg-raised);color:var(--color-text-secondary);font:var(--nb-font-body-md)}

/* carga de archivos */
.nb-file-upload{display:flex;flex-direction:column;gap:var(--space-3)}
.nb-file-upload__zona{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);border:var(--border-width-strong) dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-page);color:var(--color-text-secondary);text-align:center;cursor:pointer}
.nb-file-upload__zona:hover{background:var(--color-bg-hover)}
.nb-file-upload__zona.is-arrastrando,.nb-file-upload__zona:focus-visible{outline:0;border-color:var(--color-brand-solid);background:var(--color-brand-soft)}
.nb-file-upload__zona[aria-disabled="true"]{opacity:var(--opacity-disabled);pointer-events:none}
.nb-file-upload__icono{width:32px;height:32px;color:var(--color-icon-brand)}
.nb-file-upload__titulo{color:var(--color-text-primary);font:var(--nb-font-title-sm)}
.nb-file-upload__ayuda{color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-file-upload__lista{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}
.nb-file-upload__archivo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-border-subtle)}
.nb-file-upload__archivo.is-error{box-shadow:inset 0 0 0 1px var(--color-error-mark)}
.nb-file-upload__nombre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font:var(--nb-font-label-md)}
.nb-file-upload__meta{grid-column:2;color:var(--color-text-tertiary);font:var(--nb-font-body-sm)}
.nb-file-upload__archivo.is-error .nb-file-upload__meta{color:var(--color-error-ink)}
.nb-file-upload__progreso{grid-column:2 / -1}

/* bloque de código y prosa */
.nb-code-block{overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg-raised);box-shadow:inset 0 0 0 1px var(--color-border-subtle)}
.nb-code-block__encabezado{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);font:var(--nb-font-label-sm)}
.nb-code-block__cuerpo{margin:0;padding:var(--space-4);overflow:auto;color:var(--color-text-primary)}
.nb-code-block__cuerpo code{font:var(--typography-code-md-font-weight) var(--typography-code-md-font-size)/var(--typography-code-md-line-height) var(--typography-code-md-font-family);white-space:pre}
.nb-prose{max-width:68ch;color:var(--color-text-primary);font:var(--nb-font-body-lg)}
.nb-prose>*:first-child{margin-top:0}.nb-prose>*:last-child{margin-bottom:0}
.nb-prose h1,.nb-prose h2,.nb-prose h3,.nb-prose h4{margin:var(--space-6) 0 var(--space-2);color:var(--color-text-primary);font:var(--nb-font-title-md)}
.nb-prose h1{font:var(--nb-font-title-lg)}
.nb-prose p,.nb-prose ul,.nb-prose ol,.nb-prose blockquote,.nb-prose pre,.nb-prose table{margin:0 0 var(--space-3)}
.nb-prose ul,.nb-prose ol{padding-left:var(--space-6)}.nb-prose li+li{margin-top:var(--space-1)}
.nb-prose a{color:var(--color-text-link);text-decoration:underline;text-underline-offset:2px}
.nb-prose code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-bg-raised);font:var(--typography-code-md-font-weight) var(--typography-code-md-font-size)/var(--typography-code-md-line-height) var(--typography-code-md-font-family)}
.nb-prose pre{padding:var(--space-4);overflow:auto;border-radius:var(--radius-lg);background:var(--color-bg-raised)}
.nb-prose pre code{padding:0;background:none}
.nb-prose blockquote{padding:var(--space-1) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-raised);color:var(--color-text-secondary)}
.nb-prose hr{height:1px;margin:var(--space-6) 0;border:0;background:var(--color-border-subtle)}
.nb-prose table{width:100%;border-collapse:collapse}
.nb-prose th,.nb-prose td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);text-align:left}
.nb-prose th{color:var(--color-text-secondary);font:var(--nb-font-label-md)}

/* pasos y acordeón */
.nb-stepper{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;padding:0;list-style:none}
.nb-stepper__paso{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:var(--space-2);min-width:0;text-align:center}
.nb-stepper__paso+.nb-stepper__paso::before{content:"";position:absolute;top:14px;right:calc(50% + 18px);left:calc(-50% + 18px);height:1px;background:var(--color-border-default)}
.nb-stepper__paso.is-hecho+.nb-stepper__paso::before,.nb-stepper__paso.is-actual::before{background:var(--color-brand-solid)}
.nb-stepper__marca{display:grid;place-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-bg-raised);box-shadow:inset 0 0 0 1px var(--color-border-default);color:var(--color-text-secondary);font:var(--nb-font-label-sm)}
.nb-stepper__marca .nb-icon{width:16px;height:16px;color:var(--color-icon-on-brand)}
.nb-stepper__paso.is-hecho .nb-stepper__marca{background:var(--color-brand-solid);box-shadow:none;color:var(--color-brand-on)}
.nb-stepper__paso.is-actual .nb-stepper__marca{background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand-solid);color:var(--color-brand-ink)}
.nb-stepper__rotulo{max-width:100%;color:var(--color-text-tertiary);font:var(--nb-font-body-sm);overflow-wrap:anywhere}
.nb-stepper__paso.is-actual .nb-stepper__rotulo{color:var(--color-text-primary);font:var(--nb-font-label-sm)}
.nb-stepper__paso.is-hecho .nb-stepper__rotulo{color:var(--color-text-secondary)}
.nb-stepper__paso[disabled],button.nb-stepper__paso{border:0;background:none;padding:0;cursor:pointer}
.nb-accordion{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px var(--color-border-default);overflow:hidden}
.nb-accordion__item+.nb-accordion__item{border-top:1px solid var(--color-border-subtle)}
.nb-accordion__cabecera{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--size-control-lg);padding:0 var(--space-4);border:0;background:none;color:var(--color-text-primary);font:var(--nb-font-label-md);text-align:left;cursor:pointer}
.nb-accordion__cabecera:hover{background:var(--color-bg-hover)}
.nb-accordion__cabecera:focus-visible{outline:var(--border-width-focus) solid var(--color-focus-ring);outline-offset:-3px}
.nb-accordion__titulo{flex:1 1 0;min-width:0}
.nb-accordion__icono{flex:none;width:20px;height:20px;color:var(--color-icon-secondary);transition:transform var(--motion-duration-fast) ease-out}
.nb-accordion__item.is-open .nb-accordion__icono{transform:rotate(180deg)}
.nb-accordion__panel{padding:var(--space-1) var(--space-4) var(--space-4);color:var(--color-text-secondary);font:var(--nb-font-body-md)}
.nb-accordion__item:not(.is-open) .nb-accordion__panel{display:none}

/* calendario en rango */
.nb-calendar__dia.is-en-rango{border-radius:0;background:var(--color-bg-selected);color:var(--color-text-primary)}
.nb-calendar__dia.is-inicio,.nb-calendar__dia.is-inicio:hover,.nb-calendar__dia.is-fin,.nb-calendar__dia.is-fin:hover{background:var(--color-brand-solid);color:var(--color-brand-on);font:var(--nb-font-title-sm)}
.nb-calendar__dia.is-inicio{border-radius:var(--radius-md) 0 0 var(--radius-md)}.nb-calendar__dia.is-fin{border-radius:0 var(--radius-md) var(--radius-md) 0}
.nb-calendar__dia.is-inicio.is-fin{border-radius:var(--radius-md)}

/* gráficos: marco, ejes, series, leyenda y tooltip (solo estilo; la geometría la calcula la app) */
.nb-chart-marco{position:relative;min-width:0}
.nb-chart{display:block;width:100%;height:auto;overflow:visible;font:var(--nb-font-label-xs)}
.nb-chart__serie--1{--serie:var(--color-tone-violet)}.nb-chart__serie--2{--serie:var(--color-tone-celeste)}.nb-chart__serie--3{--serie:var(--color-tone-green)}.nb-chart__serie--4{--serie:var(--color-tone-magenta)}.nb-chart__serie--5{--serie:var(--color-tone-teal)}.nb-chart__serie--6{--serie:var(--color-tone-neutral)}
.nb-chart__grilla{fill:none;stroke:var(--color-border-subtle);stroke-width:1}
.nb-chart__base{fill:none;stroke:var(--color-border-default);stroke-width:1}
.nb-chart__etiqueta{fill:var(--color-text-tertiary);font:var(--nb-font-label-xs);font-variant-numeric:tabular-nums}
.nb-chart__etiqueta--fin{text-anchor:end}.nb-chart__etiqueta--medio{text-anchor:middle}
.nb-chart__barra{fill:var(--serie,var(--color-tone-violet))}
.nb-chart__barra.is-atenuada{opacity:.35}
.nb-chart__linea{fill:none;stroke:var(--serie,var(--color-tone-violet));stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nb-chart__area{fill:var(--serie,var(--color-tone-violet));fill-opacity:.12;stroke:none}
.nb-chart__punto{fill:var(--color-bg-surface);stroke:var(--serie,var(--color-tone-violet));stroke-width:2}
.nb-chart__meta{fill:none;stroke:var(--color-accent-mark);stroke-width:1.5;stroke-dasharray:4 4}
.nb-chart__banda{fill:var(--color-bg-hover);opacity:0}
.nb-chart__banda.is-activa{opacity:1}
.nb-chart__guia{stroke:var(--color-border-strong);stroke-width:1;opacity:0}.nb-chart__guia.is-activa{opacity:1}
.nb-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none}
.nb-chart-legend__item{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-chart-legend__marca{flex:none;width:10px;height:10px;background:var(--serie,var(--color-tone-violet))}
.nb-chart-tooltip{position:absolute;z-index:5;min-width:160px;max-width:260px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-float);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-strong),var(--shadow-elevation-overlay);pointer-events:none}
.nb-chart-tooltip__titulo{margin-bottom:var(--space-1);color:var(--color-text-tertiary);font:var(--nb-font-label-xs)}
.nb-chart-tooltip__fila{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font:var(--nb-font-body-sm)}
.nb-chart-tooltip__marca{flex:none;width:8px;height:8px;background:var(--serie,var(--color-tone-violet))}
.nb-chart-tooltip__valor{margin-left:auto;color:var(--color-text-primary);font:var(--nb-font-label-sm);font-variant-numeric:tabular-nums}

/* marca de canal Telegram y el isotipo de Orion */
.nb-channel-badge--telegram{color:var(--color-canal-telegram)}
.nb-isotipo{display:block;width:24px;height:24px;flex:none}
.nb-isotipo__aro{fill:none;stroke:var(--color-brand-solid)}.nb-isotipo__nucleo{fill:var(--color-accent-mark)}
:root[data-theme="dark"] .nb-isotipo__aro{stroke:var(--color-accent-solid)}:root[data-theme="dark"] .nb-isotipo__nucleo{fill:var(--color-brand-solid)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nb-isotipo__aro{stroke:var(--color-accent-solid)}:root:not([data-theme="light"]) .nb-isotipo__nucleo{fill:var(--color-brand-solid)}}
@media (prefers-reduced-motion:reduce){.nb-progress-circle__avance,.nb-accordion__icono,.nb-table__expandir .nb-icon{transition:none}}
/* Perfil puntero (data-platform="web"; "desktop" es alias obsoleto): medidas de Orion. Escala 11/13/15/16/18/28 en tokens.css; aquí solo lo que no sigue la escala por token. */
:root[data-platform="web"] .nb-button,:root[data-platform="desktop"] .nb-button{padding:0 var(--space-4);font-size:16px;font-weight:500}
:root[data-platform="web"] .nb-button--sm,:root[data-platform="desktop"] .nb-button--sm{padding:0 var(--space-3);font-size:15px}
:root[data-platform="web"] .nb-button--lg,:root[data-platform="desktop"] .nb-button--lg{padding:0 var(--space-5)}
:root[data-platform="web"] .nb-text-field__caja,:root[data-platform="desktop"] .nb-text-field__caja,:root[data-platform="web"] .nb-select__disparador,:root[data-platform="desktop"] .nb-select__disparador{padding-inline:var(--space-3)}
:root[data-platform="web"] .nb-textarea__campo,:root[data-platform="desktop"] .nb-textarea__campo{min-height:76px;padding:var(--space-2) var(--space-3)}
:root[data-platform="web"] .nb-text-field__valor,:root[data-platform="desktop"] .nb-text-field__valor,:root[data-platform="web"] .nb-textarea__campo,:root[data-platform="desktop"] .nb-textarea__campo,:root[data-platform="web"] .nb-select__disparador,:root[data-platform="desktop"] .nb-select__disparador,:root[data-platform="web"] .nb-search-field__campo,:root[data-platform="desktop"] .nb-search-field__campo,:root[data-platform="web"] .nb-tag-field__entrada,:root[data-platform="desktop"] .nb-tag-field__entrada{font-size:16px}
:root[data-platform="web"] .nb-text-field__ayuda,:root[data-platform="desktop"] .nb-text-field__ayuda,:root[data-platform="web"] .nb-text-field__error,:root[data-platform="desktop"] .nb-text-field__error,:root[data-platform="web"] .nb-textarea__error,:root[data-platform="desktop"] .nb-textarea__error,:root[data-platform="web"] .nb-page-header__sub,:root[data-platform="desktop"] .nb-page-header__sub{font-size:15px}
:root[data-platform="web"] .nb-section__titulo,:root[data-platform="desktop"] .nb-section__titulo{font:var(--nb-font-title-md)}
:root[data-platform="web"] .nb-avatar,:root[data-platform="desktop"] .nb-avatar{width:40px;height:40px}
:root[data-platform="web"] .nb-avatar--sm,:root[data-platform="desktop"] .nb-avatar--sm{width:32px;height:32px}
:root[data-platform="web"] .nb-avatar--md,:root[data-platform="desktop"] .nb-avatar--md{width:40px;height:40px}
:root[data-platform="web"] .nb-avatar--lg,:root[data-platform="desktop"] .nb-avatar--lg{width:48px;height:48px;font-size:16px}
:root[data-platform="web"] .nb-avatar--xl,:root[data-platform="desktop"] .nb-avatar--xl{width:64px;height:64px;font-size:18px}
:root[data-platform="web"] .nb-sidebar__lista,:root[data-platform="desktop"] .nb-sidebar__lista{gap:2px}
:root[data-platform="web"] .nb-tabs__solapa,:root[data-platform="desktop"] .nb-tabs__solapa{line-height:1.6;padding-block:9px}
:root[data-platform="web"] .nb-page-header,:root[data-platform="desktop"] .nb-page-header{gap:var(--space-3);padding:0 0 var(--space-6)}
:root[data-platform="web"] .nb-page-header__acciones,:root[data-platform="desktop"] .nb-page-header__acciones{gap:var(--space-2)}
:root[data-platform="web"] .nb-button-group>.nb-icon-button>.nb-icon,:root[data-platform="desktop"] .nb-button-group>.nb-icon-button>.nb-icon{width:18px;height:18px}
/* Tabla en tarjetas: cada fila pasa a ser una tarjeta; la celda `--principal` es el título y las demás llevan su rótulo en `data-etiqueta`. */
.nb-table--tarjetas{overflow:visible;border-radius:0;background:none;box-shadow:none}
.nb-table--tarjetas .nb-table__tabla,.nb-table--tarjetas tbody{display:block}
.nb-table.nb-table--tarjetas>table.nb-table__tabla{width:100%;min-width:0;table-layout:auto}
.nb-table.nb-table--tarjetas .nb-table__td{width:auto;min-width:0;max-width:none;padding:var(--space-1) 0}
.nb-table--tarjetas thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nb-table--tarjetas .nb-table__fila{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);height:auto;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-default) var(--color-border-default)}
.nb-table--tarjetas .nb-table__fila.is-abierta{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
.nb-table--tarjetas .nb-table__td{display:block;flex:1 1 100%;order:1;min-width:0;padding:0;text-align:left}
.nb-table--tarjetas .nb-table__td[data-etiqueta]::before{content:attr(data-etiqueta);display:block;margin-bottom:2px;color:var(--color-text-tertiary);font:var(--nb-font-label-xs);letter-spacing:var(--typography-label-xs-letter-spacing);text-transform:uppercase}
.nb-table--tarjetas .nb-table__td--principal{flex:1 1 0;order:0;font:var(--nb-font-title-sm)}
.nb-table--tarjetas .nb-table__td--estrecha{flex:none;order:-1;width:auto}
.nb-table--tarjetas .nb-table__td--principal~.nb-table__td--estrecha{order:0;margin-left:auto}
.nb-table--tarjetas .nb-table__td--fija{position:static;background:none}
.nb-table--tarjetas tr:has(>.nb-table__detalle){display:block;margin-bottom:var(--space-3)}
.nb-table--tarjetas .nb-table__detalle{display:block;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
/* Ventana compacta (≤640 px), perfil puntero: el área táctil del interruptor y de la ayuda llega a 44 px sin cambiar su dibujo. */
@media (max-width:640px){
:root[data-platform="web"] .nb-help-tip,:root[data-platform="desktop"] .nb-help-tip{position:relative}
:root[data-platform="web"] .nb-switch::before,:root[data-platform="desktop"] .nb-switch::before{content:"";position:absolute;inset:calc((22px - var(--size-target)) / 2) -4px}
:root[data-platform="web"] .nb-help-tip::before,:root[data-platform="desktop"] .nb-help-tip::before{content:"";position:absolute;inset:calc((20px - var(--size-target)) / 2)}
}
