/*! RTLabs Design System v2.2.0 — bundle del núcleo (rtlabs + accessible).
 * GENERADO por scripts/build.mjs. No editar: los cambios van en src/.
 * Fuera del bundle, a propósito: base/background.css (decoración),
 * brand/rtlabs.css (marca RTLabs) y los skins de showcase.
 */:root{--ds-version: "2.2.0";--font-size-xs: .72rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-xxl: 1.75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-loose: 1.8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--control-height-sm: 1.75rem;--control-height-md: 2rem;--control-height-lg: 2.5rem;--control-height-touch: 2.75rem;--shadow-sm: 0 1px 3px var(--shadow-elevation), 0 1px 2px var(--shadow-elevation);--shadow-md: 0 4px 6px var(--shadow-elevation), 0 1px 3px var(--shadow-elevation);--shadow-lg: 0 10px 20px var(--shadow-elevation), 0 6px 6px var(--shadow-elevation);--shadow-glow-accent: 0 0 15px color-mix(in srgb, var(--accent) 35%, transparent);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}:root,:root[data-skin=rtlabs]{--font-display: "Outfit", "IBM Plex Sans", system-ui, sans-serif;--font-title: "IBM Plex Sans", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-code: "IBM Plex Mono", ui-monospace, monospace;--font-control: var(--font-body);--radius-control: var(--radius-md);--radius-surface: var(--radius-lg);--radius-chip: var(--radius-sm);--radius-full: 9999px;--border-width: 1px;--border-width-accent: 3px;--clip-surface: none;--clip-control: none;--shadow-surface: var(--shadow-sm);--shadow-overlay: var(--shadow-sm);--focus-ring: 0 0 0 3px var(--accent-dim);--glass-blur: blur(8px);--texture-image: radial-gradient(var(--accent-dim) 1px, transparent 1px), linear-gradient(to bottom, var(--bg) 0%, transparent 40%, var(--bg) 100%);--texture-size: 32px 32px, 100% 100%;--decor-1: radial-gradient(circle, var(--accent-dim) 0%, transparent 70%);--decor-2: radial-gradient(circle, var(--success-dim) 0%, transparent 70%);--overlay-image: none;--overlay-size: auto;--overlay-opacity: 0}:root,:root[data-skin=rtlabs][data-theme=dark]{--bg: #0e1116;--surface-1: #161b22;--surface-2: #1b222c;--surface-glass: rgba(22, 27, 34, .85);--border: #232c39;--border-strong: #3b4b61;--border-hover: #3b4b61;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-on-accent: #0d1117;--accent: #58a6ff;--accent-2: #5ed39e;--accent-dim: #1f3a5f;--accent-hover: #79b8ff;--success: #5ed39e;--success-dim: rgba(94, 211, 158, .15);--warning: #f5b14c;--warning-dim: rgba(245, 177, 76, .15);--error: #f0795b;--error-dim: rgba(240, 121, 91, .15);--shadow-elevation: rgba(0, 0, 0, .45)}:root[data-skin=rtlabs][data-theme=light]{--bg: #f6f8fa;--surface-1: #ffffff;--surface-2: #f6f8fa;--surface-glass: rgba(255, 255, 255, .85);--border: #d0d7de;--border-strong: #b4bfc9;--border-hover: #b4bfc9;--text-primary: #24292f;--text-secondary: #57606a;--text-on-accent: #ffffff;--accent: #0969da;--accent-2: #1a7f37;--accent-dim: #a9d1f5;--accent-hover: #0349b4;--success: #1a7f37;--success-dim: rgba(26, 127, 55, .15);--warning: #9a6700;--warning-dim: rgba(154, 103, 0, .15);--error: #cf222e;--error-dim: rgba(207, 34, 46, .15);--shadow-elevation: rgba(0, 0, 0, .08);--glass-blur: blur(6px)}:root[data-skin=rtlabs][data-theme=violet]{--bg: #12101a;--surface-1: #1b1826;--surface-2: #22202f;--surface-glass: rgba(27, 24, 38, .85);--border: #302c40;--border-strong: #4a4460;--border-hover: #4a4460;--text-primary: #f1eef9;--text-secondary: #9d97b3;--text-on-accent: #12101a;--accent: #b389f9;--accent-2: #6fd6a8;--accent-dim: #3a2e5c;--accent-hover: #c7a6ff;--success: #6fd6a8;--success-dim: rgba(111, 214, 168, .15);--warning: #f0c168;--warning-dim: rgba(240, 193, 104, .15);--error: #ef7d8a;--error-dim: rgba(239, 125, 138, .15);--shadow-elevation: rgba(0, 0, 0, .5);--glass-blur: blur(4px)}:root[data-skin=accessible]{--font-display: "Atkinson Hyperlegible", system-ui, sans-serif;--font-title: "Atkinson Hyperlegible", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-code: "IBM Plex Mono", ui-monospace, monospace;--font-control: var(--font-body);--radius-control: var(--radius-md);--radius-surface: 10px;--radius-chip: var(--radius-sm);--radius-full: 9999px;--border-width: 3px;--border-width-accent: 6px;--clip-surface: none;--clip-control: none;--shadow-surface: none;--shadow-overlay: none;--focus-ring: 0 0 0 3px var(--bg), 0 0 0 7px var(--accent);--glass-blur: blur(0px);--texture-image: none;--texture-size: auto;--decor-1: none;--decor-2: none;--overlay-image: none;--overlay-size: auto;--overlay-opacity: 0;--font-size-xs: .8125rem;--font-size-sm: .9375rem;--font-size-md: 1rem;--control-height-sm: 2rem;--control-height-md: 2.5rem;--line-height-base: 1.6}:root[data-skin=accessible][data-theme=dark]{--bg: #000000;--surface-1: #0a0e13;--surface-2: #161b22;--surface-glass: rgba(10, 14, 19, .98);--border: #a9b6c4;--border-strong: #ffffff;--border-hover: #ffffff;--text-primary: #ffffff;--text-secondary: #d6dee7;--text-on-accent: #000000;--accent: #ffd400;--accent-2: #6ee7ff;--accent-dim: #4a3d00;--accent-hover: #ffe44d;--success: #55f08a;--success-dim: rgba(85, 240, 138, .2);--warning: #ffd400;--warning-dim: rgba(255, 212, 0, .2);--error: #ff8a80;--error-dim: rgba(255, 138, 128, .2);--shadow-elevation: rgba(0, 0, 0, 0)}:root[data-skin=accessible][data-theme=light]{--bg: #ffffff;--surface-1: #ffffff;--surface-2: #f0f0f0;--surface-glass: rgba(255, 255, 255, .98);--border: #4a4a4a;--border-strong: #000000;--border-hover: #000000;--text-primary: #000000;--text-secondary: #333333;--text-on-accent: #ffffff;--accent: #0b4fa8;--accent-2: #7a1fa2;--accent-dim: #cfe0f5;--accent-hover: #073a7d;--success: #005c2e;--success-dim: rgba(0, 92, 46, .15);--warning: #6b4600;--warning-dim: rgba(107, 70, 0, .15);--error: #a10014;--error-dim: rgba(161, 0, 20, .15);--shadow-elevation: rgba(0, 0, 0, 0)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-height-base);min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal)}img,svg{display:block;max-width:100%}.hide{display:none!important}.skin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background-image:var(--overlay-image);background-size:var(--overlay-size);opacity:var(--overlay-opacity);transition:opacity var(--transition-normal)}.alert{padding:var(--space-3);border-radius:var(--radius-surface);margin-bottom:var(--space-3);border:var(--border-width) solid var(--border);display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--font-size-sm);background:var(--surface-2)}.alert-info{border-left:var(--border-width-accent) solid var(--accent)}.alert-success{border-left:var(--border-width-accent) solid var(--success)}.alert-warning{border-left:var(--border-width-accent) solid var(--warning)}.alert-error{border-left:var(--border-width-accent) solid var(--error)}.alert-icon{font-size:1.2rem;line-height:1}.alert p{margin-top:var(--space-1);color:var(--text-secondary)}.fade-in-up{opacity:0;transform:translateY(16px);animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.badge{font-family:var(--font-code);font-size:var(--font-size-xs);color:var(--accent);background:var(--accent-dim);border:var(--border-width) solid var(--accent);padding:3px var(--space-2);border-radius:var(--radius-chip);letter-spacing:.04em;display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-3);border-radius:var(--radius-control);clip-path:var(--clip-control);font-family:var(--font-control);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);border:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border:var(--border-width) solid var(--border)}.btn-ghost:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-fill{flex:1}.btn-row{display:flex;gap:var(--space-3);margin-top:var(--space-2)}@media (max-width: 767px),(pointer: coarse){.btn{height:var(--control-height-touch);padding-inline:var(--space-4)}}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3);margin-bottom:var(--space-8)}.color-swatch{display:flex;flex-direction:column;border-radius:var(--radius-surface);overflow:hidden;border:var(--border-width) solid var(--border);background:var(--surface-2);cursor:pointer;transition:border-color var(--transition-fast)}.color-swatch:hover{border-color:var(--accent)}.swatch-fill{height:56px;width:100%}.swatch-info{padding:var(--space-2) var(--space-3)}.swatch-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.swatch-var{font-family:var(--font-code);font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px}@media (min-width: 480px){.color-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.swatch-fill{height:64px}}@media (min-width: 1024px){.color-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-5)}.swatch-fill{height:72px}}.console{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);padding:var(--space-2) var(--space-3);font-family:var(--font-code);font-size:var(--font-size-xs);color:var(--text-secondary);max-height:260px;overflow:auto;white-space:pre-wrap}.table-scroll{overflow:auto;border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);max-height:360px}table.data-table{border-collapse:collapse;width:100%;font-family:var(--font-code);font-size:var(--font-size-xs);white-space:nowrap}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left}.data-table th{color:var(--accent);background:var(--surface-2);position:sticky;top:0;z-index:1;font-weight:600}.data-table td{color:var(--text-secondary)}.data-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tr.selected td{background:var(--accent-dim);color:var(--text-primary)}.dropzone-demo{border:calc(var(--border-width) * 2) dashed var(--border);border-radius:var(--radius-surface);clip-path:var(--clip-surface);padding:var(--space-6) var(--space-4);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast);background:var(--surface-1);cursor:pointer}.dropzone-demo:hover,.dropzone-demo.hover{border-color:var(--accent);background:var(--surface-2)}.dropzone-demo .icon{color:var(--accent);margin-bottom:var(--space-2);display:flex;justify-content:center;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.dropzone-demo .icon svg{width:32px;height:32px}.dropzone-demo:hover .icon{transform:translateY(-4px)}.dropzone-demo .dz-title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--space-1)}.dropzone-demo .dz-sub{color:var(--text-secondary);font-size:var(--font-size-sm)}.dropzone-status-row{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm)}.input-demo,select.input-demo{background:var(--bg);border:var(--border-width) solid var(--border);color:var(--text-primary);height:var(--control-height-md);padding-inline:var(--space-3);border-radius:var(--radius-control);clip-path:var(--clip-control);font-family:var(--font-code);font-size:var(--font-size-sm);width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}select.input-demo{cursor:pointer}.input-demo:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.input-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.input-narrow{width:4.5rem;flex:none}.input-inline-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-code)}details.disclosure summary{cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm)}details.disclosure[open] summary{color:var(--text-primary);margin-bottom:var(--space-2)}@media (max-width: 767px),(pointer: coarse){.input-demo,select.input-demo{height:var(--control-height-touch);padding-inline:var(--space-4)}}.panel{background:var(--surface-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);clip-path:var(--clip-surface);padding:var(--space-4);box-shadow:var(--shadow-surface);transition:border-color var(--transition-normal),transform var(--transition-normal);position:relative}.panel:hover{transform:translateY(-1px);border-color:var(--border-hover)}.panel.glow-on-hover:hover{box-shadow:var(--shadow-md),var(--shadow-glow-accent)}.panel h2,.panel h3{font-family:var(--font-code);text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-4)}.panel-desc{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}@media (max-width: 767px){.panel{padding:var(--space-3)}}.pill{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);border:var(--border-width) solid var(--border);color:var(--text-secondary)}.pill-success{color:var(--success);border-color:var(--success)}.pill-warning{color:var(--warning);border-color:var(--warning)}.pill-error{color:var(--error);border-color:var(--error)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--text-secondary)}.status-dot-success{background:var(--success)}.status-dot-warning{background:var(--warning)}.status-dot-error{background:var(--error)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-chip)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:16px;margin-bottom:var(--space-2)}.skeleton-line--80{width:80%}.skeleton-line--60{width:60%}.skeleton-line--40{width:40%}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-6);overflow-x:auto}.tab{background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;padding:var(--space-2) var(--space-3);font-family:var(--font-control);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast)}.tab:hover:not(.active){color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width: 767px),(pointer: coarse){.tab{padding:var(--space-3) var(--space-3)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);line-height:var(--line-height-tight)}h2.section-title{font-family:var(--font-display);font-size:var(--font-size-xxl);font-weight:700;margin-bottom:var(--space-2);letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-desc{color:var(--text-secondary);font-size:var(--font-size-md);margin-bottom:var(--space-8);max-width:620px}code.inline{font-family:var(--font-code);background:var(--surface-2);padding:2px 6px;border-radius:var(--radius-chip);color:var(--accent);font-size:.9em}.section-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.subsection-title{font-family:var(--font-title);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-6)}.group-label{font-family:var(--font-title);font-size:var(--font-size-md);font-weight:600;color:var(--text-secondary);margin:var(--space-8) 0 var(--space-4)}.section-header-title{font-size:var(--font-size-xl);font-weight:600}.stack{display:flex;flex-direction:column;gap:var(--space-4)}@media (max-width: 767px){h2.section-title{font-size:var(--font-size-xl)}}:root{--p001-max-width: 1180px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--surface-1);border-bottom:var(--border-width) solid var(--border);padding:var(--space-3) var(--space-5)}.topbar-inner{max-width:var(--p001-max-width);margin:0 auto;display:flex;align-items:center;gap:var(--space-4)}.brand{display:flex;flex-direction:column;gap:1px;margin-right:auto}.brand-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.brand-org{font-size:var(--font-size-xs);color:var(--text-secondary)}.main{flex:1;max-width:var(--p001-max-width);width:100%;margin:0 auto;padding:var(--space-6)}.section-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.section-head h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.section-head .spacer{margin-left:auto}.tabs{margin-bottom:var(--space-6)}.center-screen{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}.card{background:var(--surface-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);box-shadow:var(--shadow-surface);padding:var(--space-8);width:100%;max-width:420px}.card h1{margin:0 0 var(--space-2);font-size:var(--font-size-xl)}.card p{margin:0 0 var(--space-6);color:var(--text-secondary);font-size:var(--font-size-sm)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.card-head h1{margin-bottom:var(--space-1)}.card-head p{margin-bottom:0}.card-head+.alert,.card-head+.btn,.card-head+p{margin-top:var(--space-6)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:lowercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:var(--border-width) solid var(--border)}.theme-switcher{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.theme-switcher-label{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.theme-switcher-select{width:auto;min-width:7.5rem;font-family:var(--font-body);font-size:var(--font-size-xs);height:var(--control-height-sm);padding:0 var(--space-2)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field .hint{font-size:var(--font-size-xs);color:var(--text-secondary)}input,select,textarea{font-family:var(--font-code);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-control);padding:0 var(--space-3);height:var(--control-height-md);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}textarea{resize:vertical;min-height:68px;height:auto;padding:var(--space-2) var(--space-3)}@media (max-width: 767px),(pointer: coarse){input,select,textarea{font-size:16px;height:var(--control-height-touch)}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-4)}@media (max-width: 640px){.grid-2{grid-template-columns:1fr}}.filters{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.filters input,.filters select{width:auto;min-width:150px}.btn-sm{height:var(--control-height-sm);padding:0 var(--space-2);font-size:var(--font-size-xs)}.table-scroll{background:var(--surface-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface)}.code{font-family:var(--font-code);font-size:var(--font-size-xs)}.muted{color:var(--text-secondary)}.nowrap{white-space:nowrap}.empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-secondary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 75%,transparent);display:grid;place-items:center;padding:var(--space-4);z-index:50}.modal{background:var(--surface-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);box-shadow:var(--shadow-overlay);width:100%;max-width:620px;max-height:90vh;overflow-y:auto;padding:var(--space-6)}.modal h3{margin:0 0 var(--space-6);font-size:var(--font-size-lg)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-6)}
