/* TestEdge AI - tokens propuestos; validar antes de congelar diseño. */
:root {
  --te-color-brand-navy: #0B2454;
  --te-color-brand-deep: #071A36;
  --te-color-brand-blue: #0877CE;
  --te-color-brand-cyan: #13B5DC;
  --te-color-brand-sky: #DFF4FB;
  --te-color-surface-canvas: #F5F8FC;
  --te-color-surface-primary: #FFFFFF;
  --te-color-surface-secondary: #F1F6FB;
  --te-color-surface-inverse: #0C1F43;
  --te-color-text-primary: #142642;
  --te-color-text-secondary: #5B6F89;
  --te-color-text-muted: #647080;
  --te-color-text-inverse: #FFFFFF;
  /* text and links in the brand's blue (ax106): the brand blue itself is 4,34:1 on the canvas and 4,24:1 on a grid's alternate row; this one is >= 4,78:1 on every light surface */
  --te-color-text-link: #0868B8;
  --te-color-border-default: #DBE5F0;
  --te-color-border-strong: #A8BFD7;
  /* the line that alone tells where a control or a panel ends (WCAG 1.4.11): >= 3:1 on the canvas (3,10), on white (3,31) and on surface-secondary (3,04).
     The other two are dividers, not edges: 1,20 and 1,78 on the canvas. A tab's panel, a secondary button, a segmented control (components.md) */
  --te-color-border-control: #7C8FA8;
  --te-color-border-focus: #0877CE;
  --te-color-semantic-success: #147C58;
  --te-color-semantic-successBg: #E7F6EE;
  --te-color-semantic-warning: #9D6011;
  --te-color-semantic-warningBg: #FFF3DA;
  --te-color-semantic-danger: #B83943;
  --te-color-semantic-dangerBg: #FCEBEE;
  --te-color-semantic-info: #0969AC;
  --te-color-semantic-infoBg: #E6F4FE;
  /* «nothing yet»: «Sin ejecutar», «Borrador», «No hace falta». ADR-171 */
  --te-color-semantic-neutral: #55677F;
  --te-color-semantic-neutralBg: #EEF2F7;
  /* a grid's alternate row, which came from DevExtreme (#F5F5F5). ADR-171 */
  --te-color-row-alt: #F8FAFD;
  /* the frame (ADR-171): navy and still; foundations.md asks for it and these colours were declared and unused. The logo stays on the white bar */
  --te-nav-bg: #0C1F43;
  --te-nav-text: #E7EEF7;
  --te-nav-muted: #A8BFD7;
  --te-nav-hover: #16305E;
  --te-nav-active: #0B2454;
  --te-nav-marker: #13B5DC;
  --te-space-0: 0px;
  --te-space-1: 4px;
  --te-space-2: 8px;
  --te-space-3: 12px;
  --te-space-4: 16px;
  --te-space-5: 20px;
  --te-space-6: 24px;
  --te-space-8: 32px;
  --te-space-10: 40px;
  --te-space-12: 48px;
  --te-radius-xs: 4px;
  /* ADR-171: two radii and each has one use: a control and a panel. sm and md are their old names, with their values */
  --te-radius-control: 6px;
  --te-radius-panel: 8px;
  --te-radius-sm: 6px;
  --te-radius-md: 8px;
  --te-radius-pill: 999px;
  --te-shadow-card: 0 3px 18px rgba(15,37,79,0.06);
  --te-shadow-popover: 0 14px 38px rgba(11,35,75,0.16);
  --te-font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --te-font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --te-font-size-xs: 12px;
  --te-font-size-sm: 13px;
  --te-font-size-md: 14px;
  --te-font-size-lg: 16px;
  --te-font-size-xl: 20px;
  --te-font-size-2xl: 26px;
  --te-font-size-3xl: 32px;
  /* ADR-171: what a text reads at; 75 % of the portal's texts had the browser's «normal» */
  --te-line-body: 1.5;
  --te-line-tight: 1.25;
  /* ADR-171: a control's height, and what a finger needs on a phone */
  --te-control-h: 36px;
  --te-touch-min: 44px;
  --te-layout-sidebar: 244px;
  --te-layout-sidebarRail: 64px;
  --te-layout-header: 64px;
  --te-layout-inspector: 302px;
  --te-layout-bottomDock: 190px;
  --te-layout-canvasGrid: 20px;
  --te-layout-contentMax: 1560px;
  --te-motion-fast: 120ms;
  --te-motion-normal: 200ms;
  --te-motion-slow: 320ms;
  --te-zIndex-header: 20;
  --te-zIndex-popover: 30;
  --te-zIndex-modal: 50;
  --te-zIndex-toast: 60;
  color-scheme: light;
}

:focus-visible { outline: 2px solid var(--te-color-border-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after {scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important;} }
