:root{--font-display:"Sora",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--font-tracking-tight:-0.025em;--font-tracking-normal:0;--font-tracking-label:+0.06em;--font-tracking-eyebrow:+0.12em;--text-2xs:10px;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:30px;--text-3xl:38px;--text-4xl:48px;--weight-body:400;--weight-body-md:500;--weight-body-lg:600;--weight-display-sm:600;--weight-display-md:700;--weight-display-lg:800;--rbs-teal:#009CCC;--rbs-teal-dark:#007aaa;--rbs-teal-light:#e0f5fb;--rbs-red:#E8302A;--rbs-red-dark:#c0201a;--rbs-red-light:#fde8e8;--rbs-orange:#F97316;--rbs-orange-dark:#EA580C;--rbs-orange-light:#FFEDE0;--rbs-pink:#EC4899;--rbs-pink-dark:#DB2777;--rbs-pink-light:#FCE7F3;--rbs-carbon:#1A1A1A;--rbs-gray-900:#111827;--rbs-gray-700:#374151;--rbs-gray-500:#6B7280;--rbs-gray-400:#9CA3AF;--rbs-gray-300:#D1D5DB;--rbs-gray-200:#E5E7EB;--rbs-gray-100:#F3F4F6;--rbs-ivory:#F0F0EB;--rbs-border:#E0DDD6;--rbs-white:#FFFFFF;--rbs-success:#16A34A;--rbs-success-dark:#15803D;--rbs-success-light:#DCFCE7;--rbs-warning:#F59E0B;--rbs-warning-dark:#B45309;--rbs-warning-light:#FEF3C7;--rbs-error:var(--rbs-red);--rbs-info:var(--rbs-teal);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 10px 15px rgba(0,0,0,.08),0 4px 6px rgba(0,0,0,.03);--shadow-xl:0 20px 40px rgba(0,0,0,.12);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--plat-accent:var(--rbs-teal);--plat-accent-dark:var(--rbs-teal-dark);--plat-accent-light:var(--rbs-teal-light);--plat-bg:var(--rbs-carbon);--plat-accent-neon:var(--plat-accent);--plat-accent-focus:rgba(0,156,204,.15);--owl-body:var(--plat-accent);--owl-beak:var(--rbs-red)}.theme-inventory,[data-theme=inventory]{--plat-name:"Inventory · RBSoftware";--plat-accent:#7C3AED;--plat-accent-dark:#6D28D9;--plat-accent-light:#f3e8ff;--plat-accent-focus:rgba(124,58,237,.15);--plat-bg:#1a0e2e;--plat-sidebar:#251544;--owl-body:#7C3AED;--owl-beak:#FF2D55}.theme-academy,[data-theme=academy]{--plat-name:"Academy · RSAL";--plat-accent:#10B981;--plat-accent-dark:#059669;--plat-accent-light:#d1fae5;--plat-accent-focus:rgba(16,185,129,.15);--plat-bg:#061a14;--plat-sidebar:#0a2517;--owl-body:#10B981;--owl-beak:#E8302A}.theme-lms,[data-theme=lms]{--plat-name:"LMS · Aprendizaje";--plat-accent:#2563EB;--plat-accent-dark:#1D4ED8;--plat-accent-light:#dbeafe;--plat-accent-neon:#00E5FF;--plat-accent-focus:rgba(37,99,235,.15);--plat-bg:#060c1a;--plat-sidebar:#0d1626;--owl-body:#2563EB;--owl-beak:#00E5FF}.theme-digital,[data-theme=digital]{--plat-name:"ROBOTSchool Digital";--plat-accent:#1A2AFF;--plat-accent-dark:#1e3a8a;--plat-accent-light:#dbeafe;--plat-bg:#06091f;--plat-sidebar:#0e1117;--owl-body:#ffffff;--owl-beak:#00E5FF}.theme-tienda,[data-theme=tienda]{--plat-name:"Tienda · RobotSchool";--plat-accent:#009CCC;--plat-accent-dark:#007aaa;--plat-accent-light:#e0f7ff;--plat-accent-focus:rgba(0,156,204,.15);--plat-bg:#08101a;--plat-sidebar:#111d2a;--owl-body:#009CCC;--owl-beak:#E8302A}.theme-sige,[data-theme=sige]{--plat-name:"SIGE · Gestión Empresarial (plataforma insignia)";--plat-accent:var(--rbs-teal);--plat-accent-dark:var(--rbs-teal-dark);--plat-accent-light:var(--rbs-teal-light);--plat-accent-focus:rgba(0,156,204,.15);--plat-accent-secondary:var(--rbs-pink);--plat-accent-secondary-dark:var(--rbs-pink-dark);--plat-accent-secondary-light:var(--rbs-pink-light);--plat-bg:#0d2530;--plat-sidebar:#FFFFFF;--owl-body:var(--rbs-teal);--owl-beak:var(--rbs-red);--sige-module-personas:var(--rbs-teal);--sige-module-procesos:var(--rbs-red);--sige-module-documentos:var(--rbs-orange);--sige-module-indicadores:#3B82F6;--sige-module-activos:#3B82F6;--sige-module-carnets:var(--rbs-teal);--sige-module-cumplimiento:#0F9B7A}.font-display{font-family:var(--font-display);letter-spacing:var(--font-tracking-tight)}.font-body{font-family:var(--font-body)}.owl-body{fill:var(--owl-body)}.owl-beak{fill:var(--owl-beak)}.neon-glow{filter:drop-shadow(0 0 6px var(--plat-accent-neon,var(--plat-accent)))}.neon-text{color:var(--plat-accent-neon,var(--plat-accent));text-shadow:0 0 4px var(--plat-accent-neon,transparent)}svg.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.rbs-stripes{background-image:repeating-linear-gradient(-45deg,var(--rbs-teal) 0,var(--rbs-teal) 28px,var(--rbs-white) 28px,var(--rbs-white) 33px,var(--rbs-pink) 33px,var(--rbs-pink) 56px,var(--rbs-white) 56px,var(--rbs-white) 61px)}.rbs-stripes--band{height:64px}.rbs-stripes--corner{-webkit-mask-image:linear-gradient(-45deg,transparent 40%,black 55%);mask-image:linear-gradient(-45deg,transparent 40%,black 55%)}.rbs-stripes--mountains{clip-path:polygon(0 100%,0 55%,15% 30%,30% 60%,48% 15%,65% 55%,80% 35%,100% 60%,100% 100%)}.rbs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:-.01em;height:44px;padding:0 20px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:background var(--transition-fast),transform .1s ease,border-color var(--transition-fast),color var(--transition-fast);text-decoration:none;white-space:nowrap}.rbs-btn:active{transform:scale(.99)}.rbs-btn--primary{background:var(--plat-accent);color:var(--rbs-white)}.rbs-btn--primary:hover{background:var(--plat-accent-dark)}.rbs-btn--secondary{background:var(--rbs-white);color:var(--plat-accent);border:1.5px solid var(--plat-accent)}.rbs-btn--secondary:hover{background:var(--plat-accent-light)}.rbs-btn--ghost{background:transparent;color:var(--rbs-gray-500);border:1px solid var(--rbs-gray-200)}.rbs-btn--ghost:hover{background:var(--rbs-gray-100)}.rbs-btn--danger{background:var(--rbs-red);color:var(--rbs-white)}.rbs-btn--danger:hover{background:var(--rbs-red-dark)}.rbs-btn--accent-secondary{background:var(--plat-accent-secondary);color:var(--rbs-white)}.rbs-btn--accent-secondary:hover{background:var(--plat-accent-secondary-dark)}.rbs-btn--full{width:100%}.rbs-btn--sm{height:36px;padding:0 14px;font-size:12px;border-radius:var(--radius-sm)}.rbs-btn--icon-only{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.rbs-btn--icon-only.rbs-btn--sm{width:36px;height:36px}.rbs-btn[disabled]{opacity:.45;cursor:not-allowed}.rbs-btn--module{background:var(--module-color);color:var(--rbs-white)}.rbs-btn--module:hover{filter:brightness(.9)}.rbs-btn--module-outline{background:var(--rbs-white);color:var(--module-color);border:1.5px solid var(--module-color)}.rbs-btn--module-outline:hover{background:color-mix(in srgb,var(--module-color) 8%,white)}.rbs-card{background:var(--rbs-white);border:1px solid var(--rbs-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs)}.rbs-card--flush{padding:0;overflow:hidden}.rbs-card--stub{border-style:dashed;box-shadow:none}.rbs-stat-card{display:flex;flex-direction:column;gap:var(--space-3)}.rbs-stat-card__top{display:flex;align-items:center;gap:var(--space-3)}.rbs-stat-card__icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.rbs-stat-card__label{font-size:var(--text-xs);color:var(--rbs-gray-500);font-weight:var(--weight-body-md)}.rbs-stat-card__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-display-lg);color:var(--rbs-carbon);letter-spacing:var(--font-tracking-tight)}.rbs-stat-card__value-sub{font-size:var(--text-xs);color:var(--rbs-gray-500);font-weight:var(--weight-body);margin-left:4px}.rbs-stat-card__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.rbs-stat-card__delta{font-size:var(--text-xs);font-weight:var(--weight-body-lg);display:flex;align-items:center;gap:3px}.rbs-stat-card__delta.is-up{color:var(--rbs-success-dark)}.rbs-stat-card__delta.is-down{color:var(--rbs-red-dark)}.rbs-stat-card__delta-note{display:block;font-weight:var(--weight-body);margin-top:2px}.rbs-stat-card__delta-note,.rbs-stat-card__footnote{font-size:var(--text-2xs);color:var(--rbs-gray-500)}.rbs-sparkline{display:block}.rbs-stat-card--personas .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-personas) 15%,white);color:var(--sige-module-personas)}.rbs-stat-card--procesos .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-procesos) 15%,white);color:var(--sige-module-procesos)}.rbs-stat-card--documentos .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-documentos) 15%,white);color:var(--sige-module-documentos)}.rbs-stat-card--indicadores .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-indicadores) 15%,white);color:var(--sige-module-indicadores)}.rbs-stat-card--activos .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-activos) 15%,white);color:var(--sige-module-activos)}.rbs-stat-card--carnets .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-carnets) 15%,white);color:var(--sige-module-carnets)}.rbs-stat-card--cumplimiento .rbs-stat-card__icon{background:color-mix(in srgb,var(--sige-module-cumplimiento) 15%,white);color:var(--sige-module-cumplimiento)}.rbs-stat-card--stub .rbs-stat-card__icon{background:var(--rbs-gray-100);color:var(--rbs-gray-400)}.rbs-stat-card__stub-value{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-gray-500)}.rbs-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-body-lg);white-space:nowrap;line-height:1.6}.rbs-badge--success{background:var(--rbs-success-light);color:var(--rbs-success-dark)}.rbs-badge--warning{background:var(--rbs-warning-light);color:var(--rbs-warning-dark)}.rbs-badge--error{background:var(--rbs-red-light);color:var(--rbs-red-dark)}.rbs-badge--info{background:var(--rbs-teal-light);color:var(--rbs-teal-dark)}.rbs-badge--neutral{background:var(--rbs-gray-100);color:var(--rbs-gray-500)}.rbs-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--weight-body-lg);color:var(--rbs-success-dark)}.rbs-status-pill--inactive{color:var(--rbs-gray-500)}.rbs-status-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--rbs-success);display:inline-block}.rbs-status-dot--inactive{background:var(--rbs-gray-400)}.rbs-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--rbs-border);padding:0 var(--space-2);overflow-x:auto}.rbs-tab{display:inline-flex;align-items:center;gap:6px;padding:var(--space-3) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-body-md);color:var(--rbs-gray-500);cursor:pointer;white-space:nowrap;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast);background:none;border:none;border-bottom:2px solid transparent;font-family:inherit}.rbs-tab:hover{color:var(--rbs-carbon)}.rbs-tab.is-active{color:var(--plat-accent);border-bottom-color:var(--plat-accent);font-weight:var(--weight-body-lg)}.rbs-tab:disabled{opacity:.45;cursor:not-allowed}.rbs-avatar{width:36px;height:36px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;background:var(--plat-accent-light);color:var(--plat-accent-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--weight-display-md);font-size:var(--text-sm);flex-shrink:0}.rbs-avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.rbs-avatar--lg{width:96px;height:96px;font-size:var(--text-xl);border:3px solid var(--rbs-white);box-shadow:var(--shadow-sm)}.rbs-toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.rbs-toggle input{opacity:0;width:0;height:0;position:absolute}.rbs-toggle__track{position:absolute;inset:0;background:var(--rbs-gray-300);border-radius:var(--radius-full);transition:background var(--transition-fast);cursor:pointer}.rbs-toggle__track:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;background:var(--rbs-white);border-radius:50%;transition:transform var(--transition-fast);box-shadow:var(--shadow-xs)}.rbs-toggle input:checked+.rbs-toggle__track{background:var(--plat-accent)}.rbs-toggle input:checked+.rbs-toggle__track:before{transform:translateX(18px)}.rbs-toggle input:disabled+.rbs-toggle__track{opacity:.4;cursor:not-allowed}.rbs-toggle input:focus-visible+.rbs-toggle__track{outline:2px solid var(--plat-accent);outline-offset:2px}.rbs-alert{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid transparent}.rbs-alert__title{font-size:var(--text-sm);font-weight:var(--weight-body-lg);display:flex;align-items:center;gap:6px}.rbs-alert__body{font-size:var(--text-xs);opacity:.85;line-height:1.5}.rbs-alert__actions{margin-top:4px;display:flex;gap:var(--space-2)}.rbs-alert--error{background:var(--rbs-red-light);border-color:color-mix(in srgb,var(--rbs-red) 30%,transparent)}.rbs-alert--error .rbs-alert__body,.rbs-alert--error .rbs-alert__title{color:var(--rbs-red-dark)}.rbs-alert--warning{background:var(--rbs-warning-light);border-color:color-mix(in srgb,var(--rbs-warning) 30%,transparent)}.rbs-alert--warning .rbs-alert__body,.rbs-alert--warning .rbs-alert__title{color:var(--rbs-warning-dark)}.rbs-alert--success{background:var(--rbs-success-light);border-color:color-mix(in srgb,var(--rbs-success) 30%,transparent)}.rbs-alert--success .rbs-alert__body,.rbs-alert--success .rbs-alert__title{color:var(--rbs-success-dark)}.rbs-alert--info{background:var(--rbs-teal-light);border-color:color-mix(in srgb,var(--rbs-teal) 30%,transparent)}.rbs-alert--info .rbs-alert__body,.rbs-alert--info .rbs-alert__title{color:var(--rbs-teal-dark)}.rbs-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--rbs-gray-400)}.rbs-empty-state svg.icon{width:28px;height:28px;color:var(--rbs-gray-300)}.rbs-empty-state__title{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-gray-500)}.rbs-empty-state__sub{font-size:var(--text-xs);color:var(--rbs-gray-500);max-width:280px}.rbs-empty-state__actions{margin-top:var(--space-2)}.rbs-skeleton{background:linear-gradient(90deg,var(--rbs-gray-100) 25%,var(--rbs-gray-200) 37%,var(--rbs-gray-100) 63%);background-size:400% 100%;animation:rbs-skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes rbs-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.rbs-skeleton{animation:none}}.rbs-field{display:flex;flex-direction:column;gap:6px}.rbs-field__label{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon)}.rbs-field__hint{font-size:var(--text-xs);color:var(--rbs-gray-500)}.rbs-field__error{font-size:var(--text-xs);color:var(--rbs-red-dark)}.rbs-input-wrap{display:flex;align-items:center;gap:var(--space-2);background:var(--rbs-gray-100);border:1.5px solid transparent;border-radius:var(--radius-md);padding:0 var(--space-3);height:44px;color:var(--rbs-gray-500);transition:border-color var(--transition-fast),background var(--transition-fast)}.rbs-input-wrap:focus-within{border-color:var(--plat-accent);background:var(--rbs-white);box-shadow:0 0 0 3px var(--plat-accent-focus)}.rbs-input-wrap--invalid{border-color:var(--rbs-red);background:var(--rbs-white)}.rbs-input-wrap--invalid:focus-within{border-color:var(--rbs-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--rbs-red) 15%,transparent)}.rbs-input-wrap--disabled{opacity:.6;cursor:not-allowed}.rbs-input-wrap svg.icon{color:var(--rbs-gray-400)}.rbs-input{border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:var(--text-sm);color:var(--rbs-carbon);flex:1;min-width:0;height:100%}.rbs-input::-moz-placeholder{color:var(--rbs-gray-400)}.rbs-input::placeholder{color:var(--rbs-gray-400)}.rbs-input:disabled{cursor:not-allowed}.rbs-table-wrap{background:var(--rbs-white);border:1px solid var(--rbs-border);border-radius:var(--radius-lg);overflow:hidden}.rbs-table-scroll{overflow-x:auto}.rbs-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.rbs-table thead th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-body-lg);color:var(--rbs-gray-500);text-transform:uppercase;letter-spacing:var(--font-tracking-label);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rbs-border);white-space:nowrap}.rbs-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rbs-gray-100);color:var(--rbs-carbon);vertical-align:middle}.rbs-table tbody tr:last-child td{border-bottom:none}.rbs-table tbody tr.is-clickable{cursor:pointer;transition:background var(--transition-fast)}.rbs-table tbody tr.is-clickable:hover{background:var(--rbs-gray-100)}.rbs-table__empty-cell{padding:0}.rbs-modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--rbs-carbon) 55%,transparent);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:100}.rbs-modal{background:var(--rbs-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:calc(100vh - var(--space-8));display:flex;flex-direction:column;overflow:hidden}.rbs-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--rbs-gray-100)}.rbs-modal__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-display-md);color:var(--rbs-carbon)}.rbs-modal__body{padding:var(--space-5);overflow-y:auto;font-size:var(--text-sm);color:var(--rbs-gray-700)}.rbs-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--rbs-gray-100)}.rbs-pagination{display:flex;align-items:center;gap:4px}.rbs-pagination__btn{min-width:36px;height:36px;padding:0 var(--space-2);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:var(--rbs-gray-500);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-body-md);transition:background var(--transition-fast),color var(--transition-fast)}.rbs-pagination__btn:hover:not(:disabled){background:var(--rbs-gray-100);color:var(--rbs-carbon)}.rbs-pagination__btn.is-active{background:var(--plat-accent-light);color:var(--plat-accent-dark);font-weight:var(--weight-body-lg)}.rbs-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.rbs-pagination__ellipsis{color:var(--rbs-gray-400);font-size:var(--text-sm);padding:0 4px}.rbs-uploader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);border-radius:var(--radius-md);border:2px dashed var(--rbs-border);background:var(--rbs-gray-100);text-align:center;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.rbs-uploader--dragover,.rbs-uploader:hover{border-color:var(--plat-accent);background:var(--plat-accent-light)}.rbs-uploader--disabled{opacity:.6;cursor:not-allowed}.rbs-uploader__icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--rbs-white);color:var(--rbs-gray-700);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs)}.rbs-uploader__title{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon)}.rbs-uploader__sub{font-size:var(--text-xs);color:var(--rbs-gray-500)}.rbs-uploader input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.rbs-uploader-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.rbs-uploader-file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--rbs-gray-100)}.rbs-uploader-file__icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--rbs-white);color:var(--rbs-gray-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}.rbs-uploader-file__body{flex:1;min-width:0}.rbs-uploader-file__name{font-size:var(--text-sm);color:var(--rbs-carbon);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbs-uploader-file__meta{font-size:var(--text-2xs);color:var(--rbs-gray-500)}.rbs-uploader-file__meta.is-error{color:var(--rbs-red-dark)}.rbs-uploader-file__progress{height:4px;border-radius:var(--radius-full);background:var(--rbs-gray-200);overflow:hidden;margin-top:4px}.rbs-uploader-file__progress-bar{height:100%;background:var(--plat-accent);transition:width var(--transition-base)}.rbs-uploader-file__remove{background:none;border:none;color:var(--rbs-gray-500);cursor:pointer;display:flex;padding:4px;border-radius:4px;flex-shrink:0}.rbs-uploader-file__remove:hover{color:var(--rbs-red);background:var(--rbs-white)}.rbs-timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.rbs-timeline-item{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-5)}.rbs-timeline-item:last-child{padding-bottom:0}.rbs-timeline-item__rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.rbs-timeline-item__dot{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.rbs-timeline-item__dot.is-success{background:var(--rbs-success-light);color:var(--rbs-success-dark)}.rbs-timeline-item__dot.is-info{background:var(--plat-accent-light);color:var(--plat-accent-dark)}.rbs-timeline-item__dot.is-warning{background:var(--rbs-warning-light);color:var(--rbs-warning-dark)}.rbs-timeline-item__dot.is-error{background:var(--rbs-red-light);color:var(--rbs-red-dark)}.rbs-timeline-item__dot.is-neutral{background:var(--rbs-gray-100);color:var(--rbs-gray-500)}.rbs-timeline-item__line{flex:1;width:2px;background:var(--rbs-gray-200);margin-top:2px;min-height:8px}.rbs-timeline-item__body{flex:1;min-width:0;padding-top:2px}.rbs-timeline-item__title{font-size:var(--text-sm);color:var(--rbs-carbon);line-height:1.4;font-weight:var(--weight-body-md)}.rbs-timeline-item__meta{font-size:var(--text-xs);color:var(--rbs-gray-500);margin-top:2px}.rbs-timeline-item__time{font-size:var(--text-2xs);color:var(--rbs-gray-500);margin-top:2px}.rbs-shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh;background:var(--rbs-ivory);font-family:var(--font-body)}.rbs-shell__column{min-width:0}.rbs-shell__column,.rbs-sidebar{display:flex;flex-direction:column}.rbs-sidebar{background:var(--plat-sidebar);border-right:1px solid var(--rbs-border);padding:var(--space-5) var(--space-4)}.rbs-sidebar__logo{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-6);text-decoration:none}.rbs-sidebar__logo-icon{width:34px;height:auto;flex-shrink:0}.rbs-sidebar__logo-text{font-family:var(--font-display);font-weight:var(--weight-display-lg);font-size:var(--text-md);letter-spacing:var(--font-tracking-tight);color:var(--rbs-carbon)}.rbs-sidebar__logo-text b{color:var(--rbs-teal)}.rbs-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.rbs-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-body-md);color:var(--rbs-gray-700);text-decoration:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);min-height:40px;border:none;background:none;width:100%;text-align:left}.rbs-nav-item svg.icon{color:var(--rbs-gray-400);transition:color var(--transition-fast)}.rbs-nav-item:hover{background:var(--rbs-gray-100);color:var(--rbs-carbon)}.rbs-nav-item:hover svg.icon{color:var(--rbs-gray-700)}.rbs-nav-item.is-active{background:var(--plat-accent-light);font-weight:var(--weight-body-lg);box-shadow:inset 3px 0 0 0 var(--plat-accent-secondary)}.rbs-nav-item.is-active,.rbs-nav-item.is-active svg.icon{color:var(--plat-accent-dark)}.rbs-sidebar__help{margin-top:var(--space-4);background:var(--rbs-gray-100);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.rbs-sidebar__help-title{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon);display:flex;align-items:center;gap:var(--space-2)}.rbs-sidebar__help-body{font-size:var(--text-xs);color:var(--rbs-gray-500);line-height:1.5}.rbs-topbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--rbs-white);border-bottom:1px solid var(--rbs-border)}.rbs-topbar__menu-btn{display:none}.rbs-search{flex:1;max-width:420px;display:flex;align-items:center;gap:var(--space-2);background:var(--rbs-gray-100);border:1.5px solid transparent;border-radius:var(--radius-md);padding:0 var(--space-3);height:40px;color:var(--rbs-gray-500);transition:border-color var(--transition-fast),background var(--transition-fast)}.rbs-search:focus-within{border-color:var(--plat-accent);background:var(--rbs-white);box-shadow:0 0 0 3px var(--plat-accent-focus)}.rbs-search input{border:none;outline:none;background:transparent;font-size:var(--text-sm);color:var(--rbs-carbon);flex:1;min-width:0}.rbs-search input::-moz-placeholder{color:var(--rbs-gray-400)}.rbs-search input::placeholder{color:var(--rbs-gray-400)}.rbs-search kbd{font-family:var(--font-body);font-size:var(--text-2xs);color:var(--rbs-gray-400);background:var(--rbs-white);border:1px solid var(--rbs-gray-200);border-radius:4px;padding:1px 6px;flex-shrink:0}.rbs-topbar__spacer{flex:1}.rbs-topbar__actions{display:flex;align-items:center;gap:var(--space-2)}.rbs-icon-btn{position:relative;width:40px;height:40px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--rbs-gray-500);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.rbs-icon-btn:hover{background:var(--rbs-gray-100);color:var(--rbs-carbon)}.rbs-badge-count{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 3px;border-radius:var(--radius-full);background:var(--rbs-red);color:var(--rbs-white);font-size:9px;font-weight:var(--weight-body-lg);display:flex;align-items:center;justify-content:center;border:1.5px solid var(--rbs-white)}.rbs-user-chip{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:4px 6px 4px 4px;border-radius:var(--radius-md);transition:background var(--transition-fast);border:none;background:none;text-align:left}.rbs-user-chip.is-open,.rbs-user-chip:hover{background:var(--rbs-gray-100)}.rbs-user-chip__name{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon);line-height:1.2}.rbs-user-chip__role{font-size:var(--text-2xs);color:var(--rbs-gray-500);line-height:1.2}.rbs-user-menu{position:relative}.rbs-user-menu__dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:200px;background:var(--rbs-white);border:1px solid var(--rbs-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);z-index:30;display:flex;flex-direction:column;gap:2px}.rbs-user-menu__info{padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--rbs-border);margin-bottom:var(--space-1)}.rbs-user-menu__info-name{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon)}.rbs-user-menu__info-email{font-size:var(--text-xs);color:var(--rbs-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbs-user-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:8px var(--space-3);border-radius:var(--radius-sm);border:none;background:none;font-size:var(--text-sm);color:var(--rbs-carbon);cursor:pointer;text-decoration:none;transition:background var(--transition-fast)}.rbs-user-menu__item:hover{background:var(--rbs-gray-100)}.rbs-user-menu__item--danger{color:var(--rbs-red-dark)}.rbs-user-menu__item--danger:hover{background:var(--rbs-red-light)}.rbs-main{padding:var(--space-6);flex:1;min-width:0}.rbs-sidebar-overlay{display:none}@media (max-width:1024px){.rbs-shell{grid-template-columns:1fr}.rbs-topbar__menu-btn{display:inline-flex}.rbs-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;width:260px;max-width:85vw;transform:translateX(-100%);transition:transform var(--transition-base);box-shadow:var(--shadow-xl)}.rbs-sidebar.is-open{transform:translateX(0)}.rbs-sidebar-overlay{display:block;position:fixed;inset:0;z-index:35;background:rgba(13,37,48,.45);opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.rbs-sidebar-overlay.is-open{opacity:1;pointer-events:auto}}@media (max-width:640px){.rbs-topbar{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.rbs-search{max-width:none}.rbs-search kbd{display:none}.rbs-main{padding:var(--space-4)}.rbs-user-chip__name,.rbs-user-chip__role{display:none}}.dash-greeting{margin-bottom:var(--space-8)}.dash-greeting__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-display-lg);letter-spacing:var(--font-tracking-tight);color:var(--rbs-carbon);line-height:1.15;margin:0}.dash-greeting__sub{font-size:var(--text-base);color:var(--rbs-gray-500);margin-top:var(--space-2);line-height:1.5}.dash-greeting__skel-name{width:260px;height:34px}.dash-greeting__skel-sub{width:340px;height:15px;margin-top:10px}.dash-section{margin-bottom:var(--space-8)}.dash-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.dash-section__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-display-md);color:var(--rbs-carbon);margin:0}.dash-section__hint{font-size:var(--text-xs);color:var(--rbs-gray-500);white-space:nowrap}.dash-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@media (max-width:900px){.dash-stat-grid{grid-template-columns:repeat(2,1fr)}}.dash-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.dash-quick-action{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--rbs-border);background:var(--rbs-white);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .1s ease;cursor:pointer}.dash-quick-action:hover{border-color:var(--plat-accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dash-quick-action:focus-visible{outline:2px solid var(--plat-accent);outline-offset:2px}.dash-quick-action__icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--plat-accent-light);color:var(--plat-accent-dark)}.dash-quick-action__label{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon)}.dash-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-6);align-items:start}@media (max-width:1100px){.dash-layout{grid-template-columns:1fr}}.dash-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (max-width:640px){.dash-module-grid{grid-template-columns:1fr}}.dash-module-card{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--rbs-border);background:var(--rbs-white);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.dash-module-card:hover{border-color:var(--plat-accent);box-shadow:var(--shadow-xs)}.dash-module-card:focus-visible{outline:2px solid var(--plat-accent);outline-offset:2px}.dash-module-card__icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--rbs-gray-100);color:var(--rbs-gray-500)}.dash-module-card--available .dash-module-card__icon{background:var(--plat-accent-light);color:var(--plat-accent-dark)}.dash-module-card__body{min-width:0;flex:1}.dash-module-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dash-module-card__title{font-size:var(--text-sm);font-weight:var(--weight-body-lg);color:var(--rbs-carbon)}.dash-module-card__desc{font-size:var(--text-xs);color:var(--rbs-gray-500);margin-top:2px;line-height:1.5}.dash-panel{margin-bottom:var(--space-5)}.dash-panel:last-child{margin-bottom:0}.dash-panel__title{font-size:var(--text-base)}.dash-notif-list{display:flex;flex-direction:column;gap:2px}.dash-notif-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast);position:relative}.dash-notif-item:hover{background:var(--rbs-gray-100)}.dash-notif-item__icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-notif-item__icon.is-info{background:var(--plat-accent-light);color:var(--plat-accent-dark)}.dash-notif-item__icon.is-success{background:var(--rbs-success-light);color:var(--rbs-success-dark)}.dash-notif-item__icon.is-neutral{background:var(--rbs-gray-100);color:var(--rbs-gray-500)}.dash-notif-item__body{min-width:0;flex:1}.dash-notif-item__title{font-size:var(--text-sm);color:var(--rbs-carbon);line-height:1.4}.dash-notif-item__title.is-unread{font-weight:var(--weight-body-lg)}.dash-notif-item__time{font-size:var(--text-2xs);color:var(--rbs-gray-500);margin-top:2px}.dash-notif-item__dot{position:absolute;left:4px;top:20px;width:6px;height:6px;border-radius:50%;background:var(--plat-accent-secondary)}.rbs-modal.rf-panel{max-width:780px;border-radius:var(--radius-xl)}.rf-panel .rbs-modal__body{padding:0;font-size:var(--text-base);color:var(--rbs-carbon);overflow-y:auto}.rf{container-type:inline-size;width:100%}.rf *,.rf :after,.rf :before{box-sizing:border-box}.rf h3,.rf p{margin:0}.rf button{font:inherit;color:inherit}.rf-modal{background:var(--rbs-white);color:var(--rbs-carbon);font-family:var(--font-body);line-height:1.55}.rf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6) 0}.rf-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2;letter-spacing:var(--font-tracking-tight);font-weight:var(--weight-display-md)}.rf-sub{margin-top:var(--space-1);color:var(--rbs-gray-700);font-size:var(--text-sm);line-height:1.5;max-width:52ch}.rf-icon-btn{flex:none;width:44px;height:44px;display:inline-grid;place-items:center;border:0;border-radius:var(--radius-full);background:transparent;color:var(--rbs-gray-700);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.rf-head .rf-icon-btn{margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0}.rf-icon-btn:hover:not(:disabled){background:var(--rbs-gray-100);color:var(--rbs-carbon)}.rf-icon-btn:focus-visible{outline:2px solid var(--plat-accent-dark);outline-offset:2px}.rf-icon-btn:disabled{opacity:.4;cursor:not-allowed}.rf-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding:var(--space-5) var(--space-6) var(--space-6)}@container (min-width: 640px){.rf-body{grid-template-columns:minmax(0,1fr) 248px;gap:var(--space-8)}}.rf-edit{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.rf-stage{position:relative;width:100%;aspect-ratio:1;background:var(--rbs-carbon);border-radius:var(--radius-md);overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:grab}.rf-stage.is-dragging{cursor:grabbing}.rf-stage:focus-visible{outline:3px solid var(--plat-accent-dark);outline-offset:3px}.rf-stage img.rf-photo{left:0;top:0;max-width:none;transform-origin:0 0;-webkit-user-drag:none}.rf-ring,.rf-stage img.rf-photo{position:absolute;pointer-events:none}.rf-ring{left:10%;top:10%;width:80%;height:80%;border-radius:50%;border:2px solid var(--rbs-white);box-shadow:0 0 0 999px color-mix(in srgb,var(--rbs-carbon) 62%,transparent)}.rf-ring:after,.rf-ring:before{content:"";position:absolute;background:color-mix(in srgb,var(--rbs-white) 55%,transparent);opacity:0;transition:opacity var(--transition-fast)}.rf-ring:before{left:50%;top:0;bottom:0;width:1px}.rf-ring:after{top:50%;left:0;right:0;height:1px}.rf-stage.is-dragging .rf-ring:after,.rf-stage.is-dragging .rf-ring:before{opacity:1}.rf-hint{position:absolute;left:50%;bottom:var(--space-3);transform:translateX(-50%);max-width:calc(100% - var(--space-6));display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:color-mix(in srgb,var(--rbs-carbon) 78%,transparent);color:var(--rbs-white);font-size:var(--text-sm);line-height:1.3;text-align:center;pointer-events:none;transition:opacity var(--transition-base)}.rf-hint.is-gone{opacity:0}.rf-stage.is-disabled{cursor:progress}.rf-stage.is-disabled .rf-hint{display:none}.rf-stage.is-disabled img.rf-photo{opacity:.8}.rf-stage--loading{display:grid;place-items:center;cursor:progress}.rf-stage--loading .rf-ring{border-style:dashed;border-color:color-mix(in srgb,var(--rbs-white) 50%,transparent);animation:rf-pulse 1.2s ease-in-out infinite}.rf-stage-msg{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--rbs-white);font-size:var(--text-sm)}.rf-drop{display:grid;place-content:center;justify-items:center;gap:var(--space-2);text-align:center;aspect-ratio:1;width:100%;padding:var(--space-6);border:2px dashed var(--rbs-gray-300);border-radius:var(--radius-md);background:var(--rbs-gray-100);transition:border-color var(--transition-fast),background var(--transition-fast)}.rf-drop.is-over,.rf-drop:hover{border-color:var(--plat-accent-dark);background:var(--plat-accent-light)}.rf-drop-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--radius-full);background:var(--rbs-white);color:var(--plat-accent-dark);box-shadow:var(--shadow-sm)}.rf-drop strong{font-family:var(--font-display);font-weight:var(--weight-display-sm);font-size:var(--text-base)}.rf-drop-meta{color:var(--rbs-gray-700);font-size:var(--text-sm)}.rf-drop .rf-btn{margin-top:var(--space-2)}.rf-zoom{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 52px;align-items:center;-moz-column-gap:var(--space-1);column-gap:var(--space-1)}.rf-zoom-label{grid-column:1/-1;display:flex;justify-content:space-between;font-weight:var(--weight-body-lg);text-transform:uppercase;letter-spacing:var(--font-tracking-label)}.rf-zoom-label,.rf-zoom-val{font-size:var(--text-sm);color:var(--rbs-gray-700)}.rf-zoom-val{text-align:right;font-variant-numeric:tabular-nums}.rf-zoom-note{font-size:var(--text-sm);color:var(--rbs-gray-700);margin-top:calc(var(--space-2) * -1)}.rf-zoom.is-disabled{opacity:.5}.rf-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;--p:0%}.rf-range:disabled{cursor:not-allowed}.rf-range::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--plat-accent-dark) var(--p),var(--rbs-gray-200) var(--p))}.rf-range::-moz-range-track{height:6px;border-radius:var(--radius-full);background:var(--rbs-gray-200)}.rf-range::-moz-range-progress{height:6px;border-radius:var(--radius-full);background:var(--plat-accent-dark)}.rf-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--rbs-white);border:2px solid var(--plat-accent-dark);box-shadow:var(--shadow-sm);-webkit-transition:box-shadow var(--transition-fast);transition:box-shadow var(--transition-fast)}.rf-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--rbs-white);border:2px solid var(--plat-accent-dark);box-shadow:var(--shadow-sm)}.rf-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--plat-accent-focus)}.rf-range:focus-visible{outline:none}.rf-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--plat-accent-focus),0 0 0 6px var(--plat-accent-dark)}.rf-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--plat-accent-focus),0 0 0 6px var(--plat-accent-dark)}.rf-preview{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.rf-eyebrow{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--font-tracking-eyebrow);font-weight:var(--weight-body-lg);color:var(--rbs-gray-700)}.rf-prev-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);background:var(--plat-bg);color:var(--rbs-white);text-align:center}.rf-prev-card .rf-nm{font-family:var(--font-display);font-weight:var(--weight-display-sm);font-size:var(--text-base);line-height:1.2}.rf-prev-card .rf-rl{font-size:var(--text-sm);color:color-mix(in srgb,var(--rbs-white) 72%,transparent)}.rf-prev-cap{font-size:var(--text-sm);color:color-mix(in srgb,var(--rbs-white) 62%,transparent)}.rf-thumb{position:relative;flex:none;width:var(--d);height:var(--d);border-radius:50%;overflow:hidden;background:var(--rbs-gray-200)}.rf-thumb img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}.rf-thumb--carnet{box-shadow:0 0 0 3px var(--plat-bg),0 0 0 5px var(--plat-accent),0 0 0 8px var(--plat-bg),0 0 0 10px var(--plat-accent-secondary);margin:var(--space-2) 0}.rf-thumb--ph{display:grid;place-items:center;background:var(--plat-accent-light);color:var(--plat-accent-dark);font-family:var(--font-display);font-weight:var(--weight-display-md);font-size:var(--text-sm)}.rf-thumb--carnet.rf-thumb--ph{font-size:var(--text-lg)}.rf-thumb.is-sk{animation:rf-pulse 1.2s ease-in-out infinite}.rf-dir-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--rbs-border);border-radius:var(--radius-md);background:var(--rbs-white)}.rf-dir-row .rf-nm{font-size:var(--text-base);font-weight:var(--weight-body-lg);line-height:1.25}.rf-dir-row .rf-rl{font-size:var(--text-sm);color:var(--rbs-gray-700)}.rf-dir-row .rf-tx{min-width:0}.rf-dir-cap{font-size:var(--text-sm);color:var(--rbs-gray-700);margin-top:var(--space-2)}.rf-quality{flex-direction:column}.rf-q-row,.rf-quality{display:flex;gap:var(--space-2)}.rf-q-row{flex-wrap:wrap;align-items:center}.rf-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-body-lg);transition:background var(--transition-base),color var(--transition-base)}.rf-chip[data-level=ok]{background:var(--rbs-success-light);color:var(--rbs-success-dark)}.rf-chip[data-level=low]{background:var(--rbs-warning-light);color:var(--rbs-warning-dark)}.rf-chip[data-level=idle]{background:var(--rbs-gray-100);color:var(--rbs-gray-700)}.rf-q-px{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.rf-q-msg,.rf-q-px{color:var(--rbs-gray-700)}.rf-q-msg{font-size:var(--text-sm);line-height:1.5}.rf-sk-line{height:12px;border-radius:var(--radius-sm);background:var(--rbs-gray-200);animation:rf-pulse 1.2s ease-in-out infinite}.rf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-base);font-weight:var(--weight-body-lg);line-height:1;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.rf-btn:focus-visible{outline:2px solid var(--plat-accent-dark);outline-offset:2px}.rf-btn-primary{background:var(--plat-accent-dark);color:var(--rbs-white)}.rf-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--plat-accent-dark) 82%,var(--rbs-carbon))}.rf-btn-ghost{background:var(--rbs-white);border-color:var(--rbs-border);color:var(--rbs-gray-700)}.rf-btn-ghost:hover:not(:disabled){background:var(--rbs-gray-100);border-color:var(--rbs-gray-300)}.rf-btn:disabled{background:var(--rbs-gray-200);border-color:transparent;color:var(--rbs-gray-500);cursor:not-allowed}.rf-btn-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0;border:0;background:none;color:var(--plat-accent-dark);font-size:var(--text-sm);font-weight:var(--weight-body-lg);cursor:pointer;text-align:left}.rf-btn-link:hover{text-decoration:underline}.rf-btn-link:focus-visible{outline:2px solid var(--plat-accent-dark);outline-offset:2px;border-radius:var(--radius-sm)}.rf-foot{gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--rbs-border);background:var(--rbs-gray-100)}.rf-actions,.rf-foot{display:flex;flex-direction:column-reverse}.rf-actions{gap:var(--space-2)}.rf-actions .rf-btn{width:100%}.rf-foot-note{font-size:var(--text-sm);color:var(--rbs-gray-700);text-align:center}@container (min-width: 640px){.rf-foot{align-items:center;justify-content:space-between}.rf-actions,.rf-foot{flex-direction:row}.rf-actions .rf-btn{width:auto;min-width:128px}.rf-foot-note{text-align:left}}.rf-banner{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.rf-banner strong{display:block;font-weight:var(--weight-body-lg)}.rf-banner svg{flex:none;margin-top:2px}.rf-banner--error{background:var(--rbs-red-light);color:var(--rbs-red-dark);border:1px solid color-mix(in srgb,var(--rbs-red) 35%,transparent)}.rf-banner--bar{margin:0 var(--space-6) var(--space-4)}.rf-spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentcolor;animation:rf-spin .7s linear infinite}@keyframes rf-spin{to{transform:rotate(1turn)}}@keyframes rf-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.rf-spinner{animation-duration:2s}.rf-sk-line,.rf-stage--loading .rf-ring,.rf-thumb.is-sk{animation:none}.rf *{transition-duration:.01ms!important}}.ec-aviso{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--rbs-red);background:var(--rbs-red-light);color:var(--rbs-red-dark);font-size:var(--text-sm);font-weight:600}.ec-aviso--suave{border-color:var(--rbs-orange);background:var(--rbs-orange-light);color:var(--rbs-orange-dark);font-weight:500}.ec-panel{background:var(--rbs-white);border:1px solid var(--rbs-gray-200);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-3)}.ec-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.ec-lista{list-style:none;margin:0;padding:0;display:grid}.ec-fila{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-top:1px solid var(--rbs-gray-100);cursor:pointer;font-size:var(--text-sm);color:var(--rbs-carbon)}.ec-fila input{width:18px;height:18px;accent-color:var(--plat-accent);flex:none}.ec-fila__nombre{font-weight:600;flex:1;min-width:0}.ec-fila__meta{color:var(--rbs-gray-500);font-size:var(--text-xs)}.ec-impresion{display:none}@page exportar{size:A4;margin:10mm}@media print{body:has(.ec-impresion){background:var(--rbs-white)!important}body:has(.ec-impresion) .rbs-sidebar,body:has(.ec-impresion) .rbs-sidebar-overlay,body:has(.ec-impresion) .rbs-topbar{display:none!important}.ec-pantalla{display:none!important}body:has(.ec-impresion) .rbs-shell{display:block!important;min-height:0;background:var(--rbs-white)}body:has(.ec-impresion) .rbs-shell__column{display:block}body:has(.ec-impresion) .rbs-main{padding:0!important}.ec-impresion,.ec-impresion *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ec-impresion{display:block;page:exportar;font-family:var(--font-body);color:var(--rbs-carbon)}.ec-pagina{-moz-column-break-after:page;break-after:page;page-break-after:always}.ec-pagina,.ec-persona{-moz-column-break-inside:avoid;break-inside:avoid}.ec-pagina>.ec-persona+.ec-persona{margin-top:8mm}.ec-pagina:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}.ec-confidencial{margin:0 0 6mm;padding:1.5mm 0;border-bottom:.3mm solid var(--rbs-gray-300);text-align:center;font-size:8pt;letter-spacing:.12em;color:var(--rbs-gray-500)}.ec-persona{display:flex;align-items:flex-start;gap:10mm;height:406px}.ec-carnet{width:256px;height:406px;flex:none;overflow:hidden}.ec-carnet__escala{width:320px;transform:scale(.8);transform-origin:top left}.ec-carnet__escala>*{box-shadow:none!important}.ec-datos{margin:0;flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:3.5mm 6mm;align-content:center}.ec-datos__fila{border-bottom:.2mm solid var(--rbs-gray-200);padding-bottom:1.4mm;min-width:0}.ec-datos__fila:nth-child(-n+2),.ec-datos__fila:nth-child(n+7){grid-column:1/-1}.ec-datos dt{font-size:7.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--rbs-gray-500)}.ec-datos dd{margin:.6mm 0 0;font-size:11pt;color:var(--rbs-carbon);overflow-wrap:anywhere}.ec-datos dd.ec-datos__vacio{color:var(--rbs-gray-400);font-style:italic}}.ec-imprenta-panel{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--rbs-gray-200);border-radius:var(--radius-md);background:var(--rbs-gray-100)}.ec-item{display:flex;align-items:center;gap:var(--space-2);border-top:1px solid var(--rbs-gray-100)}.ec-item .ec-fila{flex:1;min-width:0;border-top:0}.ec-estado,.ec-item__btn{flex:none;font-size:var(--text-xs)}.ec-estado{font-weight:600;max-width:40%}.ec-estado--ok{color:var(--rbs-carbon)}.ec-estado--pendiente{color:var(--rbs-gray-500)}.ec-estado--error{color:var(--rbs-red-dark)}.ec-raster{position:fixed;left:-10000px;top:0;width:384px;height:502px;pointer-events:none}.ec-imprenta{display:none}@page imprenta{size:65mm 85mm;margin:0}@media print{body:has(.ec-imprenta){background:var(--rbs-white)!important;margin:0}body:has(.ec-imprenta) .rbs-sidebar,body:has(.ec-imprenta) .rbs-sidebar-overlay,body:has(.ec-imprenta) .rbs-topbar{display:none!important}body:has(.ec-imprenta) .rbs-shell{display:block!important;min-height:0;background:var(--rbs-white)}body:has(.ec-imprenta) .rbs-shell__column{display:block}body:has(.ec-imprenta) .rbs-main{padding:0!important}.ec-imprenta,.ec-imprenta *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ec-imprenta{display:block}.ec-imprenta__cara{page:imprenta;width:65mm;height:85mm;overflow:hidden;position:relative;-moz-column-break-after:page;break-after:page;page-break-after:always;-moz-column-break-inside:avoid;break-inside:avoid;background:var(--rbs-carbon)}.ec-imprenta__cara:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}.ec-imprenta__escala{width:384px;height:502px;transform:scale(.6398);transform-origin:top left}}