:root{--ui-text: ;--ui-text-muted: ;--ui-text-inverse: }:root{--ui-surface: ;--ui-surface-raised: ;--ui-surface-overlay: ;--ui-surface-page: }:root{--ui-border: ;--ui-border-strong: }:root{--ui-ring: ;--ui-ring-offset: }:root{--ui-primary: ;--ui-primary-hover: ;--ui-primary-text: ;--ui-primary-muted: ;--ui-success: ;--ui-success-hover: ;--ui-success-text: ;--ui-success-muted: ;--ui-info: ;--ui-info-hover: ;--ui-info-text: ;--ui-info-muted: ;--ui-warning: ;--ui-warning-hover: ;--ui-warning-text: ;--ui-warning-muted: ;--ui-danger: ;--ui-danger-hover: ;--ui-danger-text: ;--ui-danger-muted: }:root{--ui-neutral: ;--ui-neutral-hover: ;--ui-neutral-text: }:root{--asset-login-bg: ;--asset-logo: }:root{--login-overlay-bg: }:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px}:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}:root{--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}:root{--shell-topbar-height: 64px;--shell-sidebar-width: 220px}:root{--res-teal: ;--res-teal-muted: ;--res-teal-text: ;--res-block-1-bg: ;--res-block-1-border: ;--res-block-1-text: ;--res-block-2-bg: ;--res-block-2-border: ;--res-block-2-text: ;--res-block-3-bg: ;--res-block-3-border: ;--res-block-3-text: ;--res-block-4-bg: ;--res-block-4-border: ;--res-block-4-text: ;--res-block-5-bg: ;--res-block-5-border: ;--res-block-5-text: ;--res-block-6-bg: ;--res-block-6-border: ;--res-block-6-text: }:root{--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s ease}:root{--density-text-scale: 1;--density-space-scale: 1;--density-row-height: 2.5rem}html[data-mode=light]{--ui-text: #111111;--ui-text-muted: #6b7280;--ui-text-inverse: #f0f0f0;--ui-surface-page: #f3f4f6;--ui-surface: #ffffff;--ui-surface-raised: #f9fafb;--ui-surface-overlay: rgba(0, 0, 0, .4);--ui-border: rgba(0, 0, 0, .1);--ui-border-strong: rgba(0, 0, 0, .2);--ui-ring: rgba(50, 50, 50, .5);--ui-ring-offset: #f3f4f6;--ui-neutral: #e5e7eb;--ui-neutral-hover: #d1d5db;--ui-neutral-text: #111111;--ui-primary: #0cb5c5;--ui-primary-hover: #0a9dac;--ui-primary-shine: #3dcbda;--ui-primary-text: #05252a;--ui-primary-muted: rgba(12, 181, 197, .12);--ui-success: #16a34a;--ui-success-hover: #15803d;--ui-success-text: #ffffff;--ui-success-muted: rgba(22, 163, 74, .12);--ui-info: #0891b2;--ui-info-hover: #0e7490;--ui-info-text: #04252d;--ui-info-muted: rgba(8, 145, 178, .12);--ui-warning: #d97706;--ui-warning-hover: #b45309;--ui-warning-text: #ffffff;--ui-warning-muted: rgba(217, 119, 6, .12);--ui-danger: #dc2626;--ui-danger-hover: #b91c1c;--ui-danger-text: #ffffff;--ui-danger-muted: rgba(220, 38, 38, .12);--res-teal: #0d9488;--res-teal-muted: rgba(13, 148, 136, .12);--res-teal-text: #ffffff;--res-block-1-bg: rgba(8, 145, 178, .1);--res-block-1-border: #0891b2;--res-block-1-text: #0c4a6e;--res-block-2-bg: rgba(22, 163, 74, .1);--res-block-2-border: #16a34a;--res-block-2-text: #14532d;--res-block-3-bg: rgba(249, 115, 22, .1);--res-block-3-border: #f97316;--res-block-3-text: #7c2d12;--res-block-4-bg: rgba(15, 118, 110, .1);--res-block-4-border: #0f766e;--res-block-4-text: #134e4a;--res-block-5-bg: rgba(147, 51, 234, .1);--res-block-5-border: #9333ea;--res-block-5-text: #4a044e;--res-block-6-bg: rgba(217, 119, 6, .1);--res-block-6-border: #d97706;--res-block-6-text: #78350f}html[data-mode=light][data-display=far]{--density-text-scale: 1.2;--density-space-scale: 1.35;--density-row-height: 3.5rem}html[data-mode=light][data-display=near]{--density-text-scale: 1;--density-space-scale: 1;--density-row-height: 2.5rem}html[data-mode=dark]{--ui-text: #f0f0f0;--ui-text-muted: #9ca3af;--ui-text-inverse: #111111;--ui-surface-page: #0f1117;--ui-surface: #1a1d27;--ui-surface-raised: #22263a;--ui-surface-overlay: rgba(0, 0, 0, .7);--ui-border: rgba(255, 255, 255, .1);--ui-border-strong: rgba(255, 255, 255, .2);--ui-ring: rgba(220, 220, 220, .6);--ui-ring-offset: #0f1117;--ui-neutral: #2d3147;--ui-neutral-hover: #373c58;--ui-neutral-text: #f0f0f0;--ui-primary: #00e0d5;--ui-primary-hover: #33e7de;--ui-primary-shine: #66ede8;--ui-primary-text: #001e1c;--ui-primary-muted: rgba(0, 224, 213, .15);--ui-success: #22c55e;--ui-success-hover: #4ade80;--ui-success-text: #ffffff;--ui-success-muted: rgba(34, 197, 94, .15);--ui-info: #06b6d4;--ui-info-hover: #22d3ee;--ui-info-text: #041b22;--ui-info-muted: rgba(6, 182, 212, .15);--ui-warning: #f59e0b;--ui-warning-hover: #fbbf24;--ui-warning-text: #111111;--ui-warning-muted: rgba(245, 158, 11, .15);--ui-danger: #ef4444;--ui-danger-hover: #f87171;--ui-danger-text: #ffffff;--ui-danger-muted: rgba(239, 68, 68, .15);--res-teal: #14b8a6;--res-teal-muted: rgba(20, 184, 166, .15);--res-teal-text: #ffffff;--res-block-1-bg: rgba(8, 145, 178, .2);--res-block-1-border: rgba(8, 145, 178, .6);--res-block-1-text: #a5f3fc;--res-block-2-bg: rgba(22, 163, 74, .2);--res-block-2-border: rgba(22, 163, 74, .6);--res-block-2-text: #bbf7d0;--res-block-3-bg: rgba(249, 115, 22, .2);--res-block-3-border: rgba(249, 115, 22, .6);--res-block-3-text: #fed7aa;--res-block-4-bg: rgba(15, 118, 110, .2);--res-block-4-border: rgba(15, 118, 110, .6);--res-block-4-text: #99f6e4;--res-block-5-bg: rgba(147, 51, 234, .2);--res-block-5-border: rgba(147, 51, 234, .6);--res-block-5-text: #e9d5ff;--res-block-6-bg: rgba(217, 119, 6, .2);--res-block-6-border: rgba(217, 119, 6, .6);--res-block-6-text: #fde68a}html[data-mode=dark][data-display=far]{--density-text-scale: 1.2;--density-space-scale: 1.35;--density-row-height: 3.5rem}html[data-mode=dark][data-display=near]{--density-text-scale: 1;--density-space-scale: 1;--density-row-height: 2.5rem}html[data-mode=dark]{--asset-login-bg: url(/assets/login/bg-dark.png);--asset-logo: url(/assets/brand/logo-dark.svg.svg);--login-overlay-bg: rgba(0, 0, 0, .62);--login-panel-text: rgba(255, 255, 255, .95);--login-panel-text-muted: rgba(255, 255, 255, .7);--login-card-bg: var(--ui-surface);--login-card-text: var(--ui-text);--login-card-text-muted: var(--ui-text-muted);--login-card-label: rgba(255, 255, 255, .4);--login-card-input-bg: var(--ui-surface-raised);--login-card-input-border: var(--ui-border);--login-card-input-border-focus: #0cb5c5;--login-card-link: #0cb5c5}html[data-mode=light]{--asset-login-bg: url(/assets/login/bg-light.png);--asset-logo: url(/assets/brand/logo-light.svg);--login-overlay-bg: rgba(0, 0, 0, .52);--login-panel-text: rgba(255, 255, 255, .95);--login-panel-text-muted: rgba(255, 255, 255, .7);--login-card-bg: #ffffff;--login-card-text: #0f172a;--login-card-text-muted: #64748b;--login-card-label: #94a3b8;--login-card-input-bg: #f8fafc;--login-card-input-border: #e2e8f0;--login-card-input-border-focus: #0cb5c5;--login-card-link: #0cb5c5}ui-page{display:block}.ui-page{display:grid;min-height:100dvh;background-color:var(--ui-surface-page);color:var(--ui-text);overflow-x:hidden}.ui-page--center{place-items:center}.ui-page--scroll-hidden{overflow:hidden}.ui-page--pad-none{padding:0}.ui-page--pad-sm{padding:var(--space-2)}.ui-page--pad-md{padding:var(--space-4)}.ui-page--pad-lg{padding:var(--space-6)}ui-container{display:block;width:100%;margin-inline:auto}.ui-container{width:100%;margin-inline:auto}.ui-container--sm{max-width:640px}.ui-container--md{max-width:768px}.ui-container--lg{max-width:1024px}.ui-container--xl{max-width:1280px}.ui-container--auth{max-width:1120px}.ui-container--full{max-width:none}.ui-container--gutter-none{padding-inline:0}.ui-container--gutter-sm{padding-inline:var(--space-3)}.ui-container--gutter-md{padding-inline:var(--space-4)}.ui-container--gutter-lg{padding-inline:var(--space-6)}.ui-container--gutter-md,.ui-container--gutter-lg{padding-inline:var(--space-4)}@media(min-width:768px){.ui-container--gutter-md{padding-inline:var(--space-5)}.ui-container--gutter-lg{padding-inline:var(--space-6)}}@media(min-width:1024px){.ui-container--gutter-lg{padding-inline:var(--space-7)}}ui-stack{display:flex}.ui-stack{display:flex}.ui-stack--col{flex-direction:column}.ui-stack--row{flex-direction:row}.ui-stack--wrap{flex-wrap:wrap}.ui-stack--align-stretch{align-items:stretch}.ui-stack--align-start{align-items:flex-start}.ui-stack--align-center{align-items:center}.ui-stack--align-end{align-items:flex-end}.ui-stack--justify-start{justify-content:flex-start}.ui-stack--justify-center{justify-content:center}.ui-stack--justify-end{justify-content:flex-end}.ui-stack--justify-between{justify-content:space-between}.ui-stack--gap-1{gap:var(--space-1)}.ui-stack--gap-2{gap:var(--space-2)}.ui-stack--gap-3{gap:var(--space-3)}.ui-stack--gap-4{gap:var(--space-4)}.ui-stack--gap-5{gap:var(--space-5)}.ui-stack--gap-6{gap:var(--space-6)}.ui-stack--gap-8{gap:var(--space-8)}ui-split{display:block}.ui-split{display:grid;width:100%;grid-template-columns:1fr}@media(min-width:1024px){.ui-split--collapse-lg{grid-template-columns:var(--split-left, 1fr) var(--split-right, 1fr)}}@media(min-width:768px){.ui-split--collapse-md{grid-template-columns:var(--split-left, 1fr) var(--split-right, 1fr)}}@media(min-width:1280px){.ui-split--collapse-xl{grid-template-columns:var(--split-left, 1fr) var(--split-right, 1fr)}}.ui-split__left,.ui-split__right{min-width:0}ui-scrollable{display:block;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.ui-scrollable{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.ui-scrollable--x{overflow-x:auto;overflow-y:hidden}.ui-scrollable--y{overflow-y:auto;overflow-x:hidden}.ui-scrollable--both{overflow:auto}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-full);font-weight:var(--font-semibold);cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);outline:none;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;background-color:var(--ui-neutral);color:var(--ui-neutral-text)}.ui-btn--sm{height:2rem;padding-inline:var(--space-3);font-size:var(--text-sm)}.ui-btn--md{height:2.5rem;padding-inline:var(--space-4);font-size:var(--text-base)}.ui-btn--lg{height:3rem;padding-inline:var(--space-6);font-size:var(--text-lg)}.ui-btn--rectangle{border-radius:var(--radius-md)}.ui-btn--rounded{border-radius:var(--radius-full)}.ui-btn:hover:not(:disabled):not(.ui-btn--loading){background-color:var(--ui-neutral-hover)}.ui-btn:focus-visible{box-shadow:0 0 0 2px var(--ui-ring-offset),0 0 0 4px var(--ui-ring)}.ui-btn:focus-visible:hover{box-shadow:0 0 0 2px var(--ui-ring-offset),0 0 0 4px var(--ui-ring)}.ui-btn:disabled,.ui-btn--loading{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-btn--primary{background-color:var(--ui-primary);color:var(--ui-primary-text);border-color:color-mix(in srgb,var(--ui-primary-text) 12%,var(--ui-primary) 88%)}.ui-btn--primary:hover:not(:disabled):not(.ui-btn--loading){background-color:var(--ui-primary-hover)}.ui-btn--success{background-color:var(--ui-success);color:var(--ui-success-text)}.ui-btn--success:hover:not(:disabled):not(.ui-btn--loading){background-color:var(--ui-success-hover)}.ui-btn--info{background-color:var(--ui-info);color:var(--ui-info-text);border-color:color-mix(in srgb,var(--ui-info-text) 12%,var(--ui-info) 88%)}.ui-btn--info:hover:not(:disabled):not(.ui-btn--loading){background-color:var(--ui-info-hover)}.ui-btn--warning{background-color:var(--ui-warning);color:var(--ui-warning-text)}.ui-btn--warning:hover:not(:disabled):not(.ui-btn--loading){background-color:var(--ui-warning-hover)}.ui-btn--danger{background-color:var(--ui-danger);color:var(--ui-danger-text)}.ui-btn--danger:hover:not(:disabled):not(.ui-btn--loading){background-color:var(--ui-danger-hover)}.ui-btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite;flex-shrink:0}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-input-wrapper{position:relative;display:flex;align-items:center;width:100%;background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.ui-input-wrapper--rectangle{border-radius:var(--radius-md)}.ui-input-wrapper--rounded{border-radius:var(--radius-full)}.ui-input-wrapper:hover:not(.ui-input-wrapper--disabled){border-color:var(--ui-border-strong)}.ui-input-wrapper:focus-within{border-color:transparent;box-shadow:0 0 0 2px var(--ui-ring-offset),0 0 0 4px var(--ui-ring)}.ui-input-wrapper--disabled{opacity:.5;cursor:not-allowed}.ui-input-wrapper--invalid{border-color:var(--ui-danger)}.ui-input-wrapper--invalid:focus-within{box-shadow:0 0 0 2px var(--ui-ring-offset),0 0 0 4px var(--ui-danger)}.ui-input__icon{display:flex;align-items:center;justify-content:center;color:var(--ui-text-muted);flex-shrink:0;padding-inline:var(--space-3)}.ui-input__field{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--ui-text);font-size:var(--text-base);padding-block:var(--space-2);padding-inline:var(--space-3);caret-color:var(--ui-text)}.ui-input-wrapper--icon-left .ui-input__field{padding-left:0}.ui-input-wrapper--icon-right .ui-input__field{padding-right:0}.ui-input__field::placeholder{color:var(--ui-text-muted)}.ui-input__field:disabled{cursor:not-allowed}.ui-select__label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text);margin-bottom:var(--space-1)}.ui-select__label--sm{font-size:var(--text-xs);margin-bottom:2px}.ui-select__required{color:var(--ui-danger);margin-left:2px}.ui-select__wrapper{position:relative;display:flex;align-items:center;width:100%;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast, .15s ease),box-shadow var(--transition-fast, .15s ease);overflow:hidden}.ui-select__wrapper--sm{border-radius:var(--radius-full)}.ui-select__wrapper:hover:not(.ui-select__wrapper--disabled){border-color:var(--ui-border-strong)}.ui-select__wrapper:focus-within{border-color:transparent;box-shadow:0 0 0 2px var(--ui-ring-offset),0 0 0 4px var(--ui-ring)}.ui-select__wrapper--disabled{opacity:.5;cursor:not-allowed}.ui-select__wrapper--invalid{border-color:var(--ui-danger)}.ui-select__wrapper--invalid:focus-within{box-shadow:0 0 0 2px var(--ui-ring-offset),0 0 0 4px var(--ui-danger)}.ui-select__native{flex:1;min-width:0;width:100%;appearance:none;-webkit-appearance:none;background:transparent;border:none;outline:none;color:var(--ui-text);font-size:var(--text-base);font-family:inherit;padding-block:var(--space-2);padding-inline:var(--space-3);padding-right:calc(var(--space-3) + 20px);cursor:pointer}.ui-select__native--sm{font-size:var(--text-sm);padding-block:var(--space-1);padding-inline:var(--space-3);padding-right:calc(var(--space-3) + 18px)}.ui-select__native:disabled{cursor:not-allowed}.ui-select__native option{background:var(--ui-surface);color:var(--ui-text)}.ui-select__native option[value=""]{color:var(--ui-text-muted)}.ui-select__arrow{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none;color:var(--ui-text-muted);transition:color var(--transition-fast, .15s ease)}.ui-select__wrapper:focus-within .ui-select__arrow{color:var(--ui-ring, var(--ui-primary))}.ui-select__error{font-size:var(--text-xs);color:var(--ui-danger);margin-top:var(--space-1);min-height:1rem}.ui-card{background-color:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text)}.ui-card--rectangle{border-radius:var(--radius-md)}.ui-card--rounded{border-radius:var(--radius-lg)}.ui-card--pad-sm{padding:var(--space-3)}.ui-card--pad-md{padding:var(--space-4)}.ui-card--pad-lg{padding:var(--space-6)}.ui-confirm-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#0000007a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:uicd-fade-in .14s ease}@keyframes uicd-fade-in{0%{opacity:0}to{opacity:1}}.ui-confirm-dialog{background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:420px;box-shadow:0 8px 32px #0000002e;animation:uicd-slide-in .16s cubic-bezier(.34,1.4,.64,1)}@keyframes uicd-slide-in{0%{opacity:0;transform:scale(.95) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.ui-confirm-dialog[data-variant=danger]{border-top:3px solid var(--ui-danger)}.ui-confirm-dialog[data-variant=warning]{border-top:3px solid var(--ui-warning)}.ui-confirm-dialog[data-variant=primary]{border-top:3px solid var(--ui-primary)}.ui-confirm-dialog__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--ui-text);margin:0 0 var(--space-2)}.ui-confirm-dialog__message{font-size:var(--text-sm);color:var(--ui-text-muted);margin:0 0 var(--space-5);line-height:1.5}.ui-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.ui-confirm-dialog__cancel{height:34px;padding-inline:var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:transparent;color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;font-family:inherit;transition:border-color .12s,color .12s}.ui-confirm-dialog__cancel:hover{border-color:var(--ui-border-strong);color:var(--ui-text)}.ui-confirm-dialog__confirm{height:34px;padding-inline:var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:var(--ui-primary);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;font-family:inherit;transition:opacity .12s}.ui-confirm-dialog__confirm[data-variant=danger]{background:var(--ui-danger)}.ui-confirm-dialog__confirm[data-variant=warning]{background:var(--ui-warning)}.ui-confirm-dialog__confirm:hover{opacity:.88}.ui-toast-stack{position:fixed;right:var(--space-5, 1.25rem);bottom:var(--space-5, 1.25rem);z-index:9000;display:flex;flex-direction:column-reverse;gap:var(--space-3, .75rem);align-items:flex-end;pointer-events:none}.ui-toast{position:relative;display:flex;align-items:center;gap:var(--space-3, .75rem);padding:var(--space-3, .75rem) var(--space-4, 1rem);border-radius:var(--radius-lg);border:1px solid transparent;border-left-width:4px;min-width:260px;max-width:420px;pointer-events:auto;font-size:.875rem;font-weight:500;line-height:1.4;box-shadow:var(--shadow-lg);animation:toast-in .22s cubic-bezier(.22,1,.36,1) both}@keyframes toast-in{0%{opacity:0;transform:translate(calc(100% + var(--sp-5, 1.25rem)))}to{opacity:1;transform:translate(0)}}.ui-toast--success{background:color-mix(in srgb,var(--ui-surface) 84%,var(--ui-success) 16%);border-color:color-mix(in srgb,var(--ui-success) 32%,var(--ui-border) 68%);color:var(--ui-success-text)}.ui-toast--warning{background:color-mix(in srgb,var(--ui-surface) 84%,var(--ui-warning) 16%);border-color:color-mix(in srgb,var(--ui-warning) 32%,var(--ui-border) 68%);color:var(--ui-warning-text)}.ui-toast--danger{background:color-mix(in srgb,var(--ui-surface) 84%,var(--ui-danger) 16%);border-color:color-mix(in srgb,var(--ui-danger) 32%,var(--ui-border) 68%);color:var(--ui-danger-text)}.ui-toast--base{background:var(--ui-surface);border-color:var(--ui-border-strong);color:var(--ui-text)}.ui-toast__icon{flex-shrink:0;display:flex;align-items:center}.ui-toast__message{flex:1;min-width:0}.ui-toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.6;border-radius:4px;padding:0;transition:opacity .15s ease}.ui-toast__close:hover{opacity:1}.ui-form-field{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.ui-form-field__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text)}.ui-form-field__hint{font-size:var(--text-xs);color:var(--ui-text-muted)}.ui-form-field__error{font-size:var(--text-xs);color:var(--ui-danger);min-height:1rem}.app-loading-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.app-loading-screen--exiting{animation:ls-exit .42s ease-out forwards;pointer-events:none}@keyframes ls-exit{0%{opacity:1}to{opacity:0}}.loader-backdrop{position:absolute;inset:0;animation:ls-backdrop-breathe 4s ease-in-out infinite}html[data-mode=dark] .loader-backdrop{background:radial-gradient(ellipse 60% 42% at 50% 52%,rgba(0,224,213,.09) 0%,transparent 68%),#050710f7}html[data-mode=light] .loader-backdrop{background:radial-gradient(ellipse 60% 42% at 50% 52%,rgba(12,181,197,.1) 0%,transparent 68%),#f3f4fbfa}@keyframes ls-backdrop-breathe{0%,to{opacity:.94}50%{opacity:1}}.app-loading-screen__stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);width:min(320px,72vw)}.loader-ecg{width:100%;position:relative}.loader-ecg__svg{width:100%;height:auto;display:block;overflow:visible}.ecg-path--ghost{stroke:var(--ui-primary);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.13}.ecg-path--comet-tail{stroke:var(--ui-primary);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:65 9999;opacity:.22;animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 65;--flat-end: -600}.ecg-path--comet-mid{stroke:var(--ui-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:32 9999;opacity:.58;filter:drop-shadow(0 0 3px var(--ui-primary));animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 32;--flat-end: -633}.ecg-path--comet-core{stroke:var(--ui-primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 9999;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px var(--ui-primary)) drop-shadow(0 0 14px var(--ui-primary));animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 12;--flat-end: -653}.ecg-path--ecg-dot{stroke:var(--ui-primary);stroke-width:8;stroke-linecap:round;stroke-dasharray:.01 9999;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--ui-primary)) drop-shadow(0 0 18px var(--ui-primary));animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 0;--flat-end: -665}.loader-ecg__svg--wave-out{animation:ecg-wave-out .42s cubic-bezier(.4,0,1,1) forwards;transform-origin:50% 50%;pointer-events:none}@keyframes ecg-wave-out{0%{opacity:1;transform:scaleY(1)}60%{opacity:.4;transform:scaleY(.25)}to{opacity:0;transform:scaleY(0)}}.loader-ecg__svg--flatline{animation:ecg-flatline-in .6s cubic-bezier(0,0,.2,1) both;transform-origin:50% 50%}@keyframes ecg-flatline-in{0%{opacity:0;transform:scaleY(.3)}to{opacity:1;transform:scaleY(1)}}.ecg-path--flat-ghost{stroke:var(--ui-primary);stroke-width:1;stroke-linecap:round;opacity:.08}.ecg-path--flat-tail{stroke:var(--ui-primary);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:65 9999;opacity:.22;animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 65;--flat-end: -205}.ecg-path--flat-mid{stroke:var(--ui-primary);stroke-width:2;stroke-linecap:round;stroke-dasharray:32 9999;opacity:.58;filter:drop-shadow(0 0 3px var(--ui-primary));animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 32;--flat-end: -238}.ecg-path--flat-core{stroke:var(--ui-primary);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:12 9999;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px var(--ui-primary)) drop-shadow(0 0 14px var(--ui-primary));animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 12;--flat-end: -258}.ecg-path--flat-dot{stroke:var(--ui-primary);stroke-width:8;stroke-linecap:round;stroke-dasharray:.01 9999;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--ui-primary)) drop-shadow(0 0 18px var(--ui-primary));animation:ecg-comet-layer 1.6s linear infinite;--flat-start: 0;--flat-end: -270}@keyframes ecg-comet-layer{0%{stroke-dashoffset:var(--flat-start, 65)}75%{stroke-dashoffset:var(--flat-end, -205);animation-timing-function:steps(1,end)}to{stroke-dashoffset:var(--flat-start, 65)}}.loader-ecg__svg--flatline-error .ecg-path--flat-ghost,.loader-ecg__svg--flatline-error .ecg-path--flat-tail{stroke:var(--ui-danger)}.loader-ecg__svg--flatline-error .ecg-path--flat-mid{stroke:var(--ui-danger);filter:drop-shadow(0 0 3px var(--ui-danger))}.loader-ecg__svg--flatline-error .ecg-path--flat-core{stroke:var(--ui-danger);filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px var(--ui-danger)) drop-shadow(0 0 14px var(--ui-danger))}.loader-ecg__svg--flatline-error .ecg-path--flat-dot{stroke:var(--ui-danger);filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--ui-danger)) drop-shadow(0 0 18px var(--ui-danger))}.loader-message{font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:.18em;text-transform:uppercase;color:var(--ui-primary);opacity:.72;display:flex;align-items:center;gap:var(--space-2);animation:ls-msg-in .5s ease-out both,ls-msg-pulse 1.5s ease-in-out .6s infinite}.loader-message.loader-message--error{color:var(--ui-danger);opacity:1;animation:ls-msg-in .4s ease-out both}.loader-message.loader-message--leaving{animation:ls-msg-out .26s ease-in forwards}.loader-message--timeout{color:var(--ui-text-muted);opacity:.55}.loader-message__badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:var(--font-bold);line-height:1}.loader-message__badge--error{background:var(--ui-danger-muted);color:var(--ui-danger)}@keyframes ls-msg-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ls-msg-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@keyframes ls-msg-pulse{0%,to{opacity:.55;letter-spacing:.18em}45%{opacity:.95;letter-spacing:.22em}}.loader-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.loader-particle{position:absolute;width:var(--ps, 2px);height:var(--ps, 2px);left:var(--px, 50%);bottom:18%;background:var(--ui-primary);border-radius:50%;opacity:0;animation:particle-rise var(--dur, 5s) ease-in-out infinite var(--pd, 0s)}@keyframes particle-rise{0%{transform:translateY(0) scale(1);opacity:0}18%{opacity:.3}65%{opacity:.1}to{transform:translateY(-130px) scale(.4);opacity:0}}@media(prefers-reduced-motion:reduce){.ecg-path--ghost{opacity:.3}.ecg-path--comet-tail,.ecg-path--comet-mid,.ecg-path--comet-core{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.ecg-path--ecg-dot{display:none}.ecg-path--flat-tail,.ecg-path--flat-mid,.ecg-path--flat-core{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.ecg-path--flat-dot{display:none}.loader-ecg__svg--flatline{animation:none}.loader-particle{display:none}.loader-backdrop{animation:none}.app-loading-screen--exiting{animation:none;opacity:0}.loader-message{animation:none;opacity:.72}}@media(max-width:480px){.app-loading-screen__stage{gap:var(--space-4)}}@media(min-width:1440px){.app-loading-screen__stage{width:min(380px,60vw)}}app-shell-sidebar{display:block;overflow:hidden;width:0;transition:none;flex-shrink:0}app-shell-topbar{display:block}.shell{display:grid;grid-template-columns:0 minmax(0,1fr);height:100dvh;overflow:hidden;background-color:var(--ui-surface-page)}.shell.shell--sidebar-open{grid-template-columns:var(--shell-sidebar-width) minmax(0,1fr)}@media(min-width:1024px){app-shell-sidebar{transition:none}.shell.shell--sidebar-open app-shell-sidebar{width:var(--shell-sidebar-width)}}.shell-body{display:grid;grid-template-rows:var(--shell-topbar-height) 1fr;overflow:hidden;min-height:0;min-width:0;position:relative}.shell-main{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-height:0;min-width:0;scrollbar-gutter:stable both-edges;position:relative}.shell-main-loader{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:color-mix(in srgb,var(--ui-surface-page) 58%,transparent);cursor:progress}.shell-main-loader__dot{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid color-mix(in srgb,var(--ui-primary) 26%,transparent);border-top-color:var(--ui-primary);animation:shell-main-loader-spin .7s linear infinite}@keyframes shell-main-loader-spin{to{transform:rotate(360deg)}}html[data-display=far] .shell-main{font-size:calc(var(--text-base) * var(--density-text-scale))}html[data-display=far] tr{height:var(--density-row-height)}.shell-overlay{display:none;position:fixed;inset:0;background-color:var(--ui-surface-overlay);z-index:299}.shell-contact-modal{position:fixed;top:calc(var(--shell-topbar-height) + var(--space-4));right:var(--space-4);z-index:500;width:min(calc(100vw - 2 * var(--space-4)),440px);pointer-events:none}.shell-contact-modal__card{position:relative;width:100%;padding:var(--space-6);display:grid;gap:var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface);box-shadow:var(--shadow-lg);pointer-events:auto}.shell-contact-modal__title{margin:0;font-size:var(--text-xl);color:var(--ui-text)}.shell-contact-modal__text,.shell-contact-modal__helper{margin:0;font-size:var(--text-sm);color:var(--ui-text-muted)}.shell-contact-modal__label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em}.shell-contact-modal__input{width:100%;min-height:44px;padding:0 var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);text-align:center;outline:none}.shell-contact-modal__input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 18%,transparent)}.shell-contact-modal__input--invalid{border-color:var(--ui-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-danger) 14%,transparent)}.shell-contact-modal__error{margin:0;font-size:var(--text-sm);color:var(--ui-danger);text-align:center}.shell-contact-modal__action{min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-md);background:var(--ui-primary);color:var(--ui-btn-primary-text);font-weight:var(--font-semibold);cursor:pointer}.shell-contact-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.shell-contact-modal__action--ghost{border:1px solid var(--ui-border);background:var(--ui-surface-raised);color:var(--ui-text)}.shell-contact-modal__action:disabled{cursor:default;opacity:.7}@media(max-width:1023px){.shell-contact-modal{top:auto;right:var(--space-3);left:var(--space-3);bottom:var(--space-3);width:auto}}@media(max-width:1023px){.shell{grid-template-columns:1fr}app-shell-sidebar{width:auto!important;transition:none!important}.shell-overlay{display:block}}.shell-sidebar{display:flex;flex-direction:column;height:100dvh;background-color:var(--ui-surface);border-right:1px solid var(--ui-border);overflow:hidden}@media(max-width:1023px){app-shell-sidebar{position:fixed;left:0;top:0;z-index:300;width:var(--shell-sidebar-width);height:100dvh}.shell-sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.shell-sidebar--open{transform:translate(0)}}.shell-sidebar__logo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);text-decoration:none;flex-shrink:0;min-height:var(--shell-topbar-height)}.shell-sidebar__logo:hover{text-decoration:none}.shell-sidebar__logo-icon{width:38px;height:38px;border-radius:var(--radius-md);background-color:var(--ui-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.shell-sidebar__logo-text{display:flex;flex-direction:column;line-height:1;gap:2px}.shell-sidebar__logo-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ui-text);letter-spacing:.02em}.shell-sidebar__logo-sub{font-size:10px;font-weight:var(--font-bold);color:var(--ui-primary);letter-spacing:.15em;text-transform:uppercase}.shell-sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.shell-sidebar__group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.shell-sidebar__group-label{font-size:11px;font-weight:var(--font-bold);color:var(--ui-text-muted);letter-spacing:.03em;padding:var(--space-1) var(--space-2) var(--space-2)}.shell-sidebar__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text-muted);text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;background:transparent;width:100%;text-align:left}a.shell-sidebar__item:hover{background-color:var(--ui-surface-raised);color:var(--ui-text);text-decoration:none}.shell-sidebar__item--active{background-color:var(--ui-primary)!important;color:var(--ui-primary-text)!important;font-weight:var(--font-semibold)}.shell-sidebar__item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.shell-sidebar__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px}.shell-sidebar__parent{display:flex;align-items:center;border-radius:var(--radius-md);overflow:hidden;transition:background-color var(--transition-fast)}.shell-sidebar__parent:hover{background-color:var(--ui-surface-raised)}.shell-sidebar__parent-link{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text-muted);text-decoration:none;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none}.shell-sidebar__parent-link:hover{color:var(--ui-text);text-decoration:none}.shell-sidebar__parent-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:100%;min-height:34px;padding:0;border:none;background:transparent;color:var(--ui-text-muted);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast)}.shell-sidebar__parent-toggle:hover{color:var(--ui-text)}.shell-sidebar__parent-chevron{transition:transform var(--transition-fast),color var(--transition-fast)}.shell-sidebar__parent-chevron--open{transform:rotate(90deg)}.shell-sidebar__parent--overview{background-color:color-mix(in srgb,var(--ui-primary) 14%,transparent)}.shell-sidebar__parent--overview:hover{background-color:color-mix(in srgb,var(--ui-primary) 20%,transparent)}.shell-sidebar__parent--overview .shell-sidebar__parent-link{color:var(--ui-primary);font-weight:var(--font-semibold)}.shell-sidebar__parent--overview .shell-sidebar__parent-toggle{color:var(--ui-primary)}.shell-sidebar__parent--open{background-color:color-mix(in srgb,var(--ui-primary) 8%,transparent)}.shell-sidebar__parent--open:hover{background-color:color-mix(in srgb,var(--ui-primary) 14%,transparent)}.shell-sidebar__parent--open .shell-sidebar__parent-link{color:var(--ui-text)}.shell-sidebar__children{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-1)}.shell-sidebar__item--child{padding-left:calc(var(--space-3) + 18px + var(--space-3));font-size:var(--text-xs);color:var(--ui-text-muted)}a.shell-sidebar__item--child:hover{background-color:var(--ui-surface-raised);color:var(--ui-text)}.shell-sidebar__item--child.shell-sidebar__item--active{background-color:var(--ui-primary)!important;color:var(--ui-primary-text)!important;font-weight:var(--font-semibold)}.shell-sidebar__footer{padding:var(--space-3);border-top:1px solid var(--ui-border);flex-shrink:0}.shell-topbar{display:flex;align-items:center;height:var(--shell-topbar-height);padding-inline:var(--space-4);gap:var(--space-3);background-color:var(--ui-surface);border-bottom:1px solid var(--ui-border);position:sticky;top:0;z-index:100}html[data-display=far] .shell-topbar{height:calc(var(--shell-topbar-height) * var(--density-space-scale))}.shell-topbar__menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--ui-text-muted);cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.shell-topbar__menu-btn:hover{background-color:var(--ui-surface-raised);color:var(--ui-text)}.shell-topbar__breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.shell-topbar__breadcrumb-link{color:var(--ui-text-muted);text-decoration:none;transition:color var(--transition-fast)}.shell-topbar__breadcrumb-link:hover{color:var(--ui-text);text-decoration:none}.shell-topbar__breadcrumb-sep{color:var(--ui-text-muted);font-size:var(--text-xs)}.shell-topbar__breadcrumb-current{color:var(--ui-text);font-weight:var(--font-medium)}.shell-topbar__spacer{flex:1}.shell-topbar__actions{display:flex;align-items:center;gap:var(--space-2)}.shell-topbar__icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-full);color:var(--ui-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.shell-topbar__icon-btn:hover{color:var(--ui-text);border-color:var(--ui-border-strong)}.shell-topbar__user{position:relative}.shell-topbar__user-btn{display:flex;align-items:center;gap:var(--space-2);height:40px;padding-inline:var(--space-3);background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.shell-topbar__user-btn:hover{border-color:var(--ui-border-strong);background-color:var(--ui-surface-raised)}.shell-topbar__user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:2px}@media(max-width:767px){.shell-topbar__user-info{display:none}}.shell-topbar__user-name{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text);white-space:nowrap}.shell-topbar__user-role{font-size:10px;font-weight:var(--font-medium);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.shell-topbar__avatar{width:28px;height:28px;border-radius:var(--radius-full);background-color:var(--ui-primary);color:var(--ui-primary-text);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.shell-topbar__chevron{color:var(--ui-text-muted);flex-shrink:0}.shell-topbar__dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:180px;background-color:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0003;overflow:hidden;z-index:200}.shell-topbar__dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;font-size:var(--text-sm);color:var(--ui-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:left}.shell-topbar__dropdown-item:hover{background-color:var(--ui-surface);color:var(--ui-text)}.shell-topbar__dropdown-item--danger{color:var(--ui-danger)}.shell-topbar__dropdown-item--danger:hover{background-color:var(--ui-surface);color:var(--ui-danger)}.shell-topbar__ctx-slot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}.shell-topbar__ctx-field{display:flex;flex-direction:column;min-width:220px;flex-shrink:0}.shell-topbar__ctx-field ui-select{display:block;width:100%}@media(max-width:1023px){.shell-topbar__ctx-slot{position:static;transform:none;margin-inline:auto}.shell-topbar__ctx-field{min-width:172px}}@media(max-width:767px){.shell-topbar__ctx-field{min-width:156px}}.sc-system-logo{--sc-logo-name-color: var(--ui-text);--sc-logo-sub-color: var(--ui-primary);--sc-logo-icon-size: 48px;--sc-logo-name-size: var(--text-xl);--sc-logo-sub-size: var(--text-xs);display:inline-flex;align-items:center;gap:var(--space-3)}.sc-system-logo--lg{--sc-logo-icon-size: 56px;--sc-logo-name-size: var(--text-2xl)}.sc-system-logo__icon{width:var(--sc-logo-icon-size);height:var(--sc-logo-icon-size);border-radius:var(--radius-lg);background-color:var(--ui-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 10px 24px color-mix(in srgb,var(--ui-primary) 22%,transparent)}.sc-system-logo__brand{display:flex;flex-direction:column;gap:2px;line-height:1}.sc-system-logo__name{font-size:var(--sc-logo-name-size);font-weight:var(--font-bold);color:var(--sc-logo-name-color);letter-spacing:.01em}.sc-system-logo__sub{font-size:var(--sc-logo-sub-size);font-weight:var(--font-bold);color:var(--sc-logo-sub-color);letter-spacing:.15em;text-transform:uppercase}ui-page-header{display:block}.ui-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-block:var(--space-3) var(--space-2)}.ui-page-header__text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.ui-page-header__title{font-size:clamp(var(--text-xl),2vw,var(--text-2xl));font-weight:var(--font-bold);color:var(--ui-text);line-height:1.1}.ui-page-header__subtitle{font-size:var(--text-sm);color:var(--ui-text-muted);line-height:1.5}.ui-page-header__actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.spaces-filter-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);flex-wrap:wrap;margin-bottom:var(--space-5)}.spaces-filter-bar__search{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:200px}.spaces-filter-bar__search-icon{color:var(--ui-text-muted);flex-shrink:0}.spaces-filter-bar__search-input{flex:1;background:transparent;border:none;outline:none;font-size:var(--text-sm);color:var(--ui-text);font-family:inherit}.spaces-filter-bar__search-input::placeholder{color:var(--ui-text-muted)}.spaces-filter-bar__status{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.spaces-filter-bar__label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.spaces-filter-bar__pills{display:flex;align-items:center;gap:var(--space-1)}.spaces-filter-bar__pill{height:28px;padding-inline:var(--space-3);background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--ui-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.spaces-filter-bar__pill:hover{color:var(--ui-text);border-color:var(--ui-border-strong)}.spaces-filter-bar__pill--active{background-color:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-primary-text);font-weight:var(--font-semibold)}.spaces-filter-bar__pill--active:hover{background-color:var(--ui-primary-hover);border-color:var(--ui-primary-hover);color:var(--ui-primary-text)}.spaces-filter-bar__view{display:flex;align-items:center;gap:2px;flex-shrink:0;border:1px solid var(--ui-border);border-radius:var(--radius-md);overflow:hidden}.spaces-filter-bar__view-btn{display:flex;align-items:center;justify-content:center;width:32px;height:30px;background:transparent;border:none;color:var(--ui-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.spaces-filter-bar__view-btn:hover{background-color:var(--ui-surface-raised);color:var(--ui-text)}.spaces-filter-bar__view-btn--active{background-color:var(--ui-surface-raised);color:var(--ui-primary)}.spaces-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);padding-bottom:var(--space-6)}.space-card{background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.space-card:hover{border-color:var(--ui-border-strong);box-shadow:0 4px 16px #00000026}.space-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.space-card__status{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding-inline:var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;text-transform:uppercase}.space-card__status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.space-card__status--disponible{background-color:#22c55e26;color:var(--ui-success)}.space-card__status--disponible .space-card__status-dot{background-color:var(--ui-success)}.space-card__status--en_uso{background-color:#06b6d426;color:var(--ui-info)}.space-card__status--en_uso .space-card__status-dot{background-color:var(--ui-info)}.space-card__status--mantenimiento{background-color:#f59e0b26;color:var(--ui-warning)}.space-card__status--mantenimiento .space-card__status-dot{background-color:var(--ui-warning)}html[data-mode=light] .space-card__status--disponible{background-color:#16a34a1f;color:var(--ui-success)}html[data-mode=light] .space-card__status--en_uso{background-color:#0891b21f;color:var(--ui-info)}html[data-mode=light] .space-card__status--mantenimiento{background-color:#d977061f;color:var(--ui-warning)}.space-card__type-badge{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--ui-text-muted);background-color:var(--ui-surface-raised);border:1px solid var(--ui-border);padding-inline:var(--space-2);height:22px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.space-card__icon-area{display:flex;align-items:center;justify-content:center;height:80px;color:var(--ui-border-strong)}.space-card__info{display:flex;flex-direction:column;gap:var(--space-1)}.space-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--ui-text);line-height:1.3}.space-card__capacity{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--ui-text-muted)}.space-card__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--ui-border)}.space-card__details-btn{background:transparent;border:none;font-size:var(--text-xs);color:var(--ui-text-muted);cursor:pointer;text-decoration:underline;transition:color var(--transition-fast);padding:0}.space-card__details-btn:hover{color:var(--ui-text)}.spaces-table-wrap{background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-6)}.spaces-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.spaces-table__th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em;background-color:var(--ui-surface-raised);border-bottom:1px solid var(--ui-border);white-space:nowrap}.spaces-table__th--actions{text-align:right}.spaces-table__td{padding:var(--space-3) var(--space-4);color:var(--ui-text);border-bottom:1px solid var(--ui-border);vertical-align:middle}.spaces-table__td--name{font-weight:var(--font-medium)}.spaces-table__td--code{font-family:monospace;font-size:var(--text-xs);color:var(--ui-text-muted)}.spaces-table__td--actions{text-align:right}.spaces-table__row:last-child .spaces-table__td{border-bottom:none}.spaces-table__row:hover .spaces-table__td{background-color:var(--ui-surface-raised)}.spaces-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.spaces-table__icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.spaces-table__icon-btn:hover{color:var(--ui-text);border-color:var(--ui-border-strong)}.spaces-table__empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--ui-text-muted);font-size:var(--text-sm)}.spaces-table__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--ui-border);background-color:var(--ui-surface-raised)}.spaces-table__count{font-size:var(--text-xs);color:var(--ui-text-muted)}.spaces-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--ui-text-muted);font-size:var(--text-sm)}.equipment-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.equipment-kpi-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-2);min-height:124px;padding:var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:radial-gradient(circle at top right,color-mix(in srgb,var(--ui-primary) 12%,transparent),transparent 48%),linear-gradient(180deg,color-mix(in srgb,var(--ui-surface-raised) 88%,transparent),var(--ui-surface));box-shadow:0 14px 34px color-mix(in srgb,#020617 12%,transparent)}.equipment-kpi-card:after{content:"";position:absolute;inset:auto 0 0;height:3px;opacity:.9}.equipment-kpi-card__label{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.equipment-kpi-card__value{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1;color:var(--ui-text)}.equipment-kpi-card--available:after{background:var(--ui-success)}.equipment-kpi-card--in-use:after{background:var(--ui-info)}.equipment-kpi-card--maintenance:after{background:var(--ui-warning)}.equipment-kpi-card--retired:after{background:var(--ui-danger)}.equipment-table-panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-xl);background:var(--ui-surface);box-shadow:0 18px 40px color-mix(in srgb,#020617 10%,transparent)}.equipment-table-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.equipment-table-panel__eyebrow{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.equipment-table-panel__title{margin:0;font-size:var(--text-xl);color:var(--ui-text)}.equipment-table-panel__count{display:inline-flex;align-items:center;height:32px;padding-inline:var(--space-3);border-radius:var(--radius-full);background:var(--ui-surface-raised);border:1px solid var(--ui-border);color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;white-space:nowrap}.equipment-table-wrap{width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface-raised)}.equipment-table{width:100%;border-collapse:collapse;min-width:760px}.equipment-table__th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface) 92%,transparent);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.equipment-table__th--actions{text-align:right}.equipment-table__td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--ui-border);color:var(--ui-text);vertical-align:middle}.equipment-table__row:last-child .equipment-table__td{border-bottom:none}.equipment-table__row:hover .equipment-table__td{background:color-mix(in srgb,var(--ui-primary) 4%,var(--ui-surface-raised))}.equipment-table__td--code{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.06em;color:var(--ui-text-muted)}.equipment-table__td--name{min-width:240px;font-weight:var(--font-semibold)}.equipment-table__td--actions{text-align:right}.equipment-table__actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.equipment-status{display:inline-flex;align-items:center;justify-content:center;min-width:118px;height:28px;padding-inline:var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em}.equipment-status--available{background:color-mix(in srgb,var(--ui-success) 14%,transparent);color:var(--ui-success)}.equipment-status--in-use{background:color-mix(in srgb,var(--ui-info) 14%,transparent);color:var(--ui-info)}.equipment-status--maintenance{background:color-mix(in srgb,var(--ui-warning) 16%,transparent);color:var(--ui-warning)}.equipment-status--retired{background:color-mix(in srgb,var(--ui-danger) 14%,transparent);color:var(--ui-danger)}@media(max-width:980px){.equipment-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.equipment-dashboard{grid-template-columns:1fr}.equipment-table{min-width:0}.equipment-table thead{display:none}.equipment-table,.equipment-table tbody,.equipment-table__row,.equipment-table__td{display:block;width:100%}.equipment-table__row{padding:var(--space-2) 0}.equipment-table__td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)}.equipment-table__td:before{content:attr(data-label);flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-muted)}.equipment-table__td--actions{text-align:left}.equipment-table__actions{width:100%;justify-content:flex-start}}.forbidden-page{min-height:100dvh;display:grid;place-items:center;background-color:var(--ui-surface-page);padding:var(--space-5)}.forbidden-page__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-7);max-width:420px;width:100%}.forbidden-page__icon{color:var(--ui-text-muted);opacity:.6}.forbidden-page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ui-text)}.forbidden-page__message{font-size:var(--text-sm);color:var(--ui-text-muted);line-height:1.6}.forbidden-page__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-2);width:100%}.forbidden-page__btn{height:42px;width:100%;padding-inline:var(--space-6);background-color:var(--ui-primary);color:var(--ui-primary-text);border:none;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background-color var(--transition-fast)}.forbidden-page__btn:hover{background-color:var(--ui-primary-hover)}.forbidden-page__btn--ghost{background-color:transparent;color:var(--ui-text-muted);border:1px solid var(--ui-border)}.forbidden-page__btn--ghost:hover{background-color:var(--ui-surface-hover);color:var(--ui-text)}app-login-page{display:block;min-height:100dvh;background-image:var(--asset-login-bg);background-size:cover;background-position:center;background-repeat:no-repeat}@media(max-width:480px){.login-panel{padding:var(--space-4)}.login-card{padding:var(--space-5);border-radius:var(--radius-lg)}.login-heading__title{font-size:var(--text-3xl)}}.login-split{min-height:100dvh}.login-panel{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-6)}.login-panel--left{background-color:var(--login-overlay-bg)}.login-panel--right{background-color:transparent}@media(max-width:1023px){.login-panel--left{display:none}.login-split{display:flex;align-items:center;justify-content:center}}.login-brand__title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--login-panel-text);line-height:1.1;text-align:center}.login-brand__sub{font-size:var(--text-lg);color:var(--login-panel-text-muted);text-align:center;max-width:300px}.login-card{background-color:var(--login-card-bg);color:var(--login-card-text);border-radius:var(--radius-xl);padding:var(--space-8);width:min(480px,100%);display:flex;flex-direction:column;gap:var(--space-6);box-shadow:0 8px 32px #00000040;border:1px solid var(--ui-border)}.login-logo{display:flex;align-items:center;gap:var(--space-3)}.login-logo__icon{width:48px;height:48px;border-radius:var(--radius-lg);background-color:var(--ui-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-logo__brand{display:flex;flex-direction:column;gap:2px}.login-logo__name{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--login-card-text);line-height:1}.login-logo__sub{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ui-primary);letter-spacing:.15em}.login-heading{display:flex;flex-direction:column;gap:var(--space-2)}.login-heading__title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--login-card-text);line-height:1.1}.login-heading__sub{font-size:var(--text-base);color:var(--login-card-text-muted);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-field{display:flex;flex-direction:column;gap:var(--space-2)}.login-field__label-row{display:flex;align-items:center;justify-content:space-between}.login-field__label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--login-card-label);text-transform:uppercase;letter-spacing:.08em}.login-field__error{font-size:var(--text-xs);color:var(--ui-danger)}.login-input-wrap{display:flex;align-items:center;background-color:var(--login-card-input-bg);border:1.5px solid var(--login-card-input-border);border-radius:var(--radius-lg);height:54px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.login-input-wrap:focus-within{border-color:var(--login-card-input-border-focus);box-shadow:0 0 0 3px #0cb5c52e}.login-input-wrap--invalid{border-color:var(--ui-danger)}.login-input-wrap--invalid:focus-within{box-shadow:0 0 0 3px #ef444426}.login-input__icon{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;color:var(--login-card-label)}.login-input__field{flex:1;min-width:0;background:transparent;border:none;outline:none;font-size:var(--text-base);color:var(--login-card-text);padding-right:var(--space-4);height:100%}.login-input__field::placeholder{color:var(--login-card-label)}.login-input__eye{display:flex;align-items:center;justify-content:center;width:44px;height:100%;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:var(--login-card-label);transition:color var(--transition-fast);padding:0;font-family:inherit}.login-input__eye:hover{color:var(--login-card-text)}.login-input__eye:focus-visible{outline:2px solid var(--login-card-input-border-focus);outline-offset:-2px;border-radius:var(--radius-sm)}.login-api-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--ui-danger-muted);border:1px solid var(--ui-danger);color:var(--ui-danger);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:54px;margin-top:var(--space-2);background:linear-gradient(160deg,var(--ui-primary-shine) 0%,var(--ui-primary) 55%,var(--ui-primary-hover) 100%);color:var(--ui-primary-text);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.1em;cursor:pointer;box-shadow:0 2px 14px #0cb5c54d,inset 0 1px #ffffff2e;transition:box-shadow var(--transition-fast),filter var(--transition-fast);font-family:inherit}.login-btn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 20px #0cb5c573,inset 0 1px #ffffff38}.login-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0cb5c561}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-btn__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite;flex-shrink:0}@keyframes login-spin{to{transform:rotate(360deg)}}app-teacher-schedule-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-inline:var(--space-4)}@media(min-width:768px){app-teacher-schedule-page{padding-inline:var(--space-5)}}.res-nav-bar{display:flex;align-items:center;padding-bottom:var(--space-3);flex-shrink:0}.res-nav-bar__controls{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.res-week-nav__btn{display:flex;align-items:center;justify-content:center;height:32px;padding-inline:var(--space-3);background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.res-week-nav__btn:hover:not(:disabled){color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-surface-raised)}.res-week-nav__btn--today{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-primary-text)}.res-week-nav__btn--today:hover:not(:disabled){background:var(--ui-primary-hover);border-color:var(--ui-primary-hover)}.res-week-nav__arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);color:var(--ui-text);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.res-week-nav__arrow:hover:not(:disabled){border-color:var(--ui-primary);color:var(--ui-primary)}.res-week-nav__arrow:disabled{opacity:.4;cursor:not-allowed}.res-week-label{flex:1;text-align:center;white-space:nowrap;padding-inline:var(--space-4);height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--ui-text);background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);margin-left:var(--space-4)}.res-success-bar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--ui-success);border-radius:var(--radius-md);background:var(--ui-success-muted);color:var(--ui-success);font-size:var(--text-sm);font-weight:var(--font-medium)}.rfp-proc-input--invalid{border-color:var(--ui-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-danger) 16%,transparent)}.rfp-field-error{margin-top:3px;color:var(--ui-danger);font-size:var(--text-xs);font-weight:var(--font-medium)}.rfp-note-field{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.rfp-note-field--detached{margin-top:var(--space-4);padding-inline:var(--space-1)}.rfp-note-field__label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text-muted);letter-spacing:.08em;text-transform:uppercase}.rfp-note-field__textarea{width:100%;min-height:104px;padding:var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-lg);color:var(--ui-text);font-size:var(--text-sm);font-family:inherit;line-height:1.55;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.rfp-note-field__textarea:focus{outline:none;border-color:var(--ui-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 14%,transparent)}.rfp-note-field__textarea::placeholder{color:var(--ui-text-muted)}.rfp-note-field__hint{margin:0;font-size:var(--text-xs);color:var(--ui-text-muted)}.rfp-note-field__text{margin:0;padding:var(--space-3);min-height:64px;background:color-mix(in srgb,var(--ui-surface-raised) 72%,transparent);border:1px dashed var(--ui-border);border-radius:var(--radius-lg);color:var(--ui-text);font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap}.rfp-note-field__text--empty{color:var(--ui-text-muted);font-style:italic}.res-page-body{flex:1;display:flex;overflow:hidden;min-height:0}app-schedule-panel{display:flex;flex-shrink:0}.res-panel{display:flex;flex-direction:row;overflow:hidden;width:44px;flex-shrink:0;transition:width var(--transition-base);border-left:1px solid var(--ui-border);background-color:var(--ui-surface)}.res-panel--open{width:244px}.res-panel__rail{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);flex-shrink:0;width:44px}.res-panel__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text-muted);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.res-panel__toggle:hover{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-surface-raised)}.res-panel__toggle--active{color:var(--res-teal);border-color:var(--res-teal);background:var(--res-teal-muted)}.res-panel__rail-label{font-size:10px;font-weight:var(--font-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em;writing-mode:vertical-lr;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.res-panel__content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:var(--space-4) var(--space-3) var(--space-3);min-width:0;opacity:0;transition:opacity var(--transition-fast);pointer-events:none}.res-panel--open .res-panel__content{opacity:1;pointer-events:auto}.res-panel__section{margin-bottom:var(--space-4)}.res-panel__section--selectors{padding:var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--ui-surface-raised) 82%,transparent)}.res-panel__section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.res-panel__selector-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.res-panel__selector-head .res-panel__section-title{margin-bottom:0}.res-panel__selector-slot{display:inline-flex;align-items:center;min-height:20px;padding-inline:var(--space-2);border-radius:var(--radius-full);background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text-muted);font-size:10px;font-weight:var(--font-semibold);white-space:nowrap}.res-panel__selectors{display:flex;flex-direction:column;gap:var(--space-3)}.res-panel__placeholder{background:var(--ui-surface-raised);border:1px dashed var(--ui-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);color:var(--ui-text-muted);font-size:var(--text-xs);text-align:center;line-height:1.5}.res-panel__pin-btn{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding:var(--space-2) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ui-text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.res-panel__pin-btn:hover{color:var(--ui-text);background:var(--ui-surface-raised)}.res-panel__pin-btn--active{color:var(--res-teal)}.res-mini-cal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.res-mini-cal__month-label{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ui-text);text-align:center}.res-mini-cal__nav-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ui-text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.res-mini-cal__nav-btn:hover{color:var(--ui-text);background:var(--ui-surface-raised)}.res-mini-cal__weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.res-mini-cal__weekday{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-bold);color:var(--ui-text-muted);text-transform:uppercase;height:20px}.res-mini-cal__week{display:grid;grid-template-columns:repeat(7,1fr)}.res-mini-cal__day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;border-radius:var(--radius-full);background:transparent;font-size:10px;font-weight:var(--font-medium);color:var(--ui-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.res-mini-cal__day:hover{background:var(--ui-surface-raised);color:var(--ui-text)}.res-mini-cal__day--other-month{opacity:.35}.res-mini-cal__day--in-week{background:var(--res-teal-muted);color:var(--res-teal);font-weight:var(--font-semibold)}.res-mini-cal__day--today{background:var(--res-teal);color:var(--res-teal-text);font-weight:var(--font-bold)}.res-mini-cal__day--today:hover{background:var(--res-teal);opacity:.88}.res-course-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none}.res-course-item{display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;column-gap:var(--space-2);row-gap:3px;font-size:var(--text-xs)}.res-course-item__dot{width:10px;height:10px;border-radius:var(--radius-full);grid-column:1;grid-row:1 / 3;margin-top:3px;background:var(--res-block-1-border)}.res-course-item__dot[data-color="1"]{background:var(--res-block-1-border)}.res-course-item__dot[data-color="2"]{background:var(--res-block-2-border)}.res-course-item__dot[data-color="3"]{background:var(--res-block-3-border)}.res-course-item__dot[data-color="4"]{background:var(--res-block-4-border)}.res-course-item__dot[data-color="5"]{background:var(--res-block-5-border)}.res-course-item__dot[data-color="6"]{background:var(--res-block-6-border)}.res-course-item__name{grid-column:2;grid-row:1;color:var(--ui-text);font-weight:var(--font-medium);line-height:1.3;min-width:0;word-break:break-word}.res-course-item__groups{grid-column:2;grid-row:2;display:flex;gap:4px;flex-wrap:wrap}.res-course-item__group{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:16px;padding-inline:4px;border-radius:var(--radius-full);background:var(--ui-surface-raised);border:1px solid var(--ui-border);color:var(--ui-text-muted);font-size:10px;font-weight:var(--font-bold)}app-schedule-grid{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.res-grid-wrapper{flex:1;overflow:auto;position:relative}.res-grid{display:grid;grid-template-columns:72px repeat(14,minmax(96px,1fr));grid-template-rows:auto auto repeat(7,minmax(80px,auto));min-width:1416px;--_row1-h: 34px}.res-grid__corner{position:sticky;left:0;top:0;z-index:4;background-color:var(--ui-surface-page);border-bottom:1px solid var(--ui-border);border-right:1px solid var(--ui-border-strong)}.res-grid__corner--slot-row{top:var(--_row1-h);z-index:4}.res-grid__period{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--ui-border);border-right:1px solid var(--ui-border)}.res-grid__period--morning{grid-column:span 6;color:var(--ui-info);background:color-mix(in srgb,var(--ui-info) 8%,var(--ui-surface-page))}.res-grid__period--afternoon{grid-column:span 6;color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 8%,var(--ui-surface-page))}.res-grid__period--night{grid-column:span 2;color:var(--ui-text-muted);background:color-mix(in srgb,var(--ui-text-muted) 8%,var(--ui-surface-page))}.res-grid__slot-header{position:sticky;top:var(--_row1-h);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2) var(--space-1);gap:2px;border-bottom:2px solid var(--ui-border-strong);border-right:1px solid var(--ui-border);background-color:var(--ui-surface)}.res-grid__slot-key{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ui-text)}.res-grid__slot-time{font-size:9px;color:var(--ui-text-muted);white-space:nowrap}.res-grid__day-label{position:sticky;left:0;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--space-3);gap:2px;border-bottom:1px solid var(--ui-border);border-right:2px solid var(--ui-border-strong);background-color:var(--ui-surface)}.res-grid__day-abbr{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--ui-text);text-transform:uppercase}.res-grid__day-date{font-size:var(--text-xs);color:var(--ui-text-muted)}.res-grid__day-label--today .res-grid__day-abbr,.res-grid__day-label--today .res-grid__day-date{color:var(--ui-primary)}.res-grid__cell{border-bottom:1px solid var(--ui-border);border-right:1px solid var(--ui-border);padding:4px;display:flex;flex-direction:column;transition:background-color var(--transition-fast)}@media(min-width:1280px){.res-grid{grid-template-columns:80px repeat(14,minmax(112px,1fr));min-width:1648px}}@media(min-width:1600px){.res-grid{grid-template-columns:88px repeat(14,minmax(132px,1fr));min-width:1936px}}.res-grid__cell--morning{background-color:var(--ui-surface)}.res-grid__cell--afternoon{background-color:var(--ui-surface-raised)}.res-grid__cell--night{background-color:var(--ui-surface-page)}.res-grid__cell:not(.res-grid__cell--has-block):hover{background-color:var(--res-teal-muted)}.res-grid__cell--active{background-color:var(--res-teal-muted)!important}.res-block{--_bg: var(--res-block-1-bg);--_border: var(--res-block-1-border);--_text: var(--res-block-1-text);position:relative;flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-md);border-left:3px solid var(--_border);background:var(--_bg);color:var(--_text);cursor:pointer;-webkit-user-select:none;user-select:none;outline:2px solid transparent;outline-offset:2px;overflow:hidden;isolation:isolate;transition:box-shadow var(--transition-fast),outline-color var(--transition-fast),transform var(--transition-fast)}.res-block[data-color="1"]{--_bg: var(--res-block-1-bg);--_border: var(--res-block-1-border);--_text: var(--res-block-1-text)}.res-block[data-color="2"]{--_bg: var(--res-block-2-bg);--_border: var(--res-block-2-border);--_text: var(--res-block-2-text)}.res-block[data-color="3"]{--_bg: var(--res-block-3-bg);--_border: var(--res-block-3-border);--_text: var(--res-block-3-text)}.res-block[data-color="4"]{--_bg: var(--res-block-4-bg);--_border: var(--res-block-4-border);--_text: var(--res-block-4-text)}.res-block[data-color="5"]{--_bg: var(--res-block-5-bg);--_border: var(--res-block-5-border);--_text: var(--res-block-5-text)}.res-block[data-color="6"]{--_bg: var(--res-block-6-bg);--_border: var(--res-block-6-border);--_text: var(--res-block-6-text)}.res-block--past{opacity:.52}.res-block:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.res-block:focus-visible{outline-color:var(--res-teal)}.res-block--selected{outline-color:var(--res-teal);box-shadow:0 0 0 2px var(--res-teal),0 4px 16px #0003;transform:translateY(-1px);border-left-color:var(--res-teal);border-left-width:4px;z-index:1}.res-block__meta{display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.res-block__ciclo-grupo{font-size:10px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.1em;opacity:.75}.res-block__course{font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.3;flex:1;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;position:relative;z-index:1}.res-block__teacher-chip{align-self:center;max-width:100%;padding:2px 8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--ui-surface-raised) 84%,transparent);border:1px solid color-mix(in srgb,currentColor 18%,transparent);color:inherit;font-size:10px;font-weight:var(--font-medium);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.res-block__space-stamp{position:absolute;right:4px;bottom:-6px;height:85%;display:inline-flex;align-items:flex-end;justify-content:flex-end;max-width:calc(100% - var(--space-4));font-size:clamp(28px,4.8vw,54px);font-weight:800;line-height:.84;letter-spacing:-.04em;color:color-mix(in srgb,currentColor 18%,transparent);opacity:.52;pointer-events:none;white-space:nowrap;text-align:right;z-index:0}.res-block__footer{display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.res-block__cta{display:flex;gap:var(--space-1);flex-wrap:nowrap;margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--ui-border);position:relative;z-index:1}.res-block__cta-btn{flex:1;min-width:0;height:26px;padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-semibold);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast);border:1px solid var(--_border);background:transparent;color:var(--_text)}.res-block__cta-btn:hover,.res-block__cta-btn--primary{background:var(--_border);color:#fff}.res-block__cta-btn--primary:hover{opacity:.85}.res-block__cta-btn--secondary{border-style:dashed}.res-block__cta-btn--danger{flex:none;width:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--ui-danger);border-color:var(--ui-danger);background:transparent}.res-block__cta-btn--danger:hover:not(:disabled){background:var(--ui-danger);color:#fff;border-color:var(--ui-danger)}.res-modal-overlay{position:fixed;inset:0;z-index:400;background-color:var(--ui-surface-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:res-fade-in var(--transition-fast) ease both}@keyframes res-fade-in{0%{opacity:0}to{opacity:1}}.res-modal-card{background-color:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-xl);box-shadow:0 24px 48px #00000059;width:100%;max-width:440px;display:flex;flex-direction:column;animation:res-slide-up var(--transition-base) ease both;overflow:hidden}@keyframes res-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.res-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--ui-border);flex-shrink:0}.res-modal__title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ui-text)}.res-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--ui-text-muted);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast),background-color var(--transition-fast)}.res-modal__close:hover{color:var(--ui-text);background:var(--ui-surface-raised)}.res-modal__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);overflow-y:auto}.res-modal__row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.res-modal__field{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.res-modal__field--col{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.res-modal__field-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.res-modal__field-value{font-size:var(--text-sm);color:var(--ui-text);text-align:right}.res-modal__field-value--bold{font-weight:var(--font-semibold)}.res-modal__field-value--muted{color:var(--ui-text-muted);font-style:italic}.res-modal__group-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding-inline:var(--space-2);border-radius:var(--radius-full);background:var(--res-teal);color:var(--res-teal-text);font-size:var(--text-xs);font-weight:var(--font-bold)}.res-modal__divider{border:none;border-top:1px solid var(--ui-border);margin:0}.res-modal__actividad{font-size:var(--text-sm);color:var(--ui-text);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.res-modal__textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text);font-size:var(--text-sm);font-family:inherit;line-height:1.5;resize:none;transition:border-color var(--transition-fast)}.res-modal__textarea:focus{outline:none;border-color:var(--res-teal)}.res-modal__textarea::placeholder{color:var(--ui-text-muted)}.res-modal__footer{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--ui-border);flex-shrink:0}.res-modal__btn{display:flex;align-items:center;height:36px;padding-inline:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);border:1px solid var(--ui-border);background:transparent;color:var(--ui-text-muted)}.res-modal__btn:hover{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-surface-raised)}.res-modal__btn--primary{background:var(--res-teal);border-color:var(--res-teal);color:var(--res-teal-text)}.res-modal__btn--primary:hover{opacity:.88;color:var(--res-teal-text)}.res-modal__btn--ghost{background:transparent;border-color:var(--ui-border);color:var(--ui-text-muted)}.res-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.res-status-pill--sin-solicitud{background:var(--ui-surface-raised);color:var(--ui-text-muted)}.res-status-pill--draft{background:#fff;color:#000;border:1px solid var(--ui-border)}.res-status-pill--primary{background:var(--ui-primary-muted);color:var(--ui-primary)}.res-status-pill--pending{background:var(--ui-warning-muted);color:var(--ui-warning)}.res-status-pill--approved{background:var(--ui-success-muted);color:var(--ui-success)}.res-status-pill--assigned{background:var(--ui-info-muted);color:var(--ui-info)}.res-status-pill--rejected{background:var(--ui-danger-muted);color:var(--ui-danger)}.res-status-pill--cancelled{background:var(--ui-surface-raised);color:var(--ui-text-muted);text-decoration:line-through}.res-error-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--ui-danger-muted);color:var(--ui-danger);font-size:var(--text-sm);font-weight:var(--font-medium);flex-shrink:0}.res-error-bar__retry{background:transparent;border:1px solid var(--ui-danger);border-radius:var(--radius-md);color:var(--ui-danger);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px var(--space-3);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast)}.res-error-bar__retry:hover{background:var(--ui-danger-muted)}.res-page-body--loading{opacity:.5;pointer-events:none;transition:opacity var(--transition-base)}.res-form-page{display:flex;flex-direction:column;gap:var(--space-4);padding-inline:var(--space-4);padding-block:var(--space-2) var(--space-8);max-width:1200px;margin-inline:auto;width:100%}.res-form-stepper{display:flex;align-items:center;width:100%;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);overflow:hidden}.res-form-step{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border:none;background:transparent;color:var(--ui-text-muted);cursor:pointer;text-align:left;transition:background .15s,color .15s;border-bottom:3px solid transparent}.res-form-step:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.res-form-step--active{color:var(--ui-text);border-bottom-color:var(--ui-primary)}.res-form-step--done{color:var(--ui-text-muted)}.res-form-step__num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ui-surface-hover);border:2px solid var(--ui-border);font-size:var(--text-sm);font-weight:700;flex-shrink:0;color:var(--ui-text-muted);transition:background .15s,border-color .15s,color .15s}.res-form-step--active .res-form-step__num{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.res-form-step--done .res-form-step__num{background:var(--ui-success-muted);border-color:var(--ui-success);color:var(--ui-success)}.res-form-step__text{display:flex;flex-direction:column;gap:1px}.res-form-step__title{font-size:var(--text-sm);font-weight:600;line-height:1.2}.res-form-step__sub{font-size:var(--text-xs);color:var(--ui-text-muted);line-height:1.2}.res-form-step__connector{color:var(--ui-text-muted);flex-shrink:0;display:flex;align-items:center;opacity:.5}.res-form-body{flex:1}.res-form-section{display:flex;flex-direction:column;gap:var(--space-4)}.res-form-section--split{flex-direction:row;align-items:flex-start;gap:var(--space-6)}.res-form-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.res-form-card--full{flex:1}.res-form-card__header{margin:calc(-1 * var(--space-5));margin-bottom:0;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--ui-border);background:var(--ui-surface-hover);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.res-form-card__title{font-size:var(--text-xs);font-weight:700;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.07em;margin:0}.res-form-card__hint{font-size:var(--text-sm);color:var(--ui-text-muted);margin:0}.res-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-5);margin:0}.res-info-grid--4col{grid-template-columns:repeat(4,1fr)}.res-info-row--span2{grid-column:span 2}.res-info-row{display:flex;flex-direction:column;gap:var(--space-1)}.res-info-label{font-size:var(--text-xs);font-weight:600;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em}.res-info-value{font-size:var(--text-sm);color:var(--ui-text);margin:0}.res-info-value--bold{font-weight:600}.res-info-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--ui-surface-hover);border:1px solid var(--ui-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--ui-text);font-family:monospace}.res-info-badge--sm{font-size:10px;padding:2px var(--space-1)}.res-confirmed-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--ui-success-muted);color:var(--ui-success);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.res-schedule-box{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--ui-surface-hover);border:1px solid var(--ui-border);border-radius:var(--radius-md);border-left:3px solid var(--ui-primary)}.res-schedule-box__icon{color:var(--ui-primary);flex-shrink:0;opacity:.85}.res-schedule-box__content{flex:1;display:flex;flex-direction:column;gap:2px}.res-schedule-box__day{font-size:var(--text-sm);font-weight:700;color:var(--ui-text);margin:0}.res-schedule-box__hours{font-size:var(--text-sm);color:var(--ui-text-muted);margin:0}.res-schedule-box__sala{font-size:var(--text-xs);color:var(--ui-text-muted);margin:0}.res-same-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.res-same-day-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--ui-surface-hover);border-radius:var(--radius-md);font-size:var(--text-sm)}.res-same-day-item__slot{font-weight:700;color:var(--ui-primary);font-family:monospace;min-width:28px}.res-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.res-form-label{font-size:var(--text-sm);font-weight:600;color:var(--ui-text)}.res-form-select{padding:var(--space-2) var(--space-3);background:var(--ui-surface-input);border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text);font-size:var(--text-sm);cursor:pointer;width:100%;max-width:480px}.res-form-select:focus{outline:2px solid var(--ui-primary);outline-offset:1px}.res-workmode-toggle{display:flex;gap:0;width:fit-content;border:1px solid var(--ui-border);border-radius:var(--radius-md);overflow:hidden}.res-workmode-btn{padding:var(--space-2) var(--space-5);border:none;background:var(--ui-surface);color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.res-workmode-btn+.res-workmode-btn{border-left:1px solid var(--ui-border)}.res-workmode-btn--active{background:var(--ui-primary);color:#fff}.res-groups-count{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.res-groups-count__control{display:flex;align-items:center;gap:var(--space-3);width:fit-content}.res-groups-count__btn{width:32px;height:32px;border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface);color:var(--ui-text);font-size:var(--text-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.res-groups-count__btn:disabled{opacity:.4;cursor:not-allowed}.res-groups-count__value{font-size:var(--text-lg);font-weight:700;min-width:2ch;text-align:center;color:var(--ui-text)}.res-insumos-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.res-insumos-table__th{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-xs);font-weight:700;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--ui-border)}.res-insumos-table__th--num,.res-insumos-table__td--num{text-align:center;width:100px}.res-insumos-table__td--unit{color:var(--ui-text-muted);font-size:var(--text-xs);width:80px}.res-insumos-table__th--action,.res-insumos-table__td--action{width:40px;text-align:center;padding:var(--space-1) var(--space-2)}.res-insumo-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ui-text-muted);cursor:pointer;transition:background .15s,color .15s}.res-insumo-remove-btn:hover{background:var(--ui-danger-muted);color:var(--ui-danger)}.res-insumos-table__row{border-bottom:1px solid var(--ui-border)}.res-insumos-table__row:last-child{border-bottom:none}.res-insumos-table__td{padding:var(--space-2) var(--space-3);color:var(--ui-text)}.res-insumos-input{width:64px;padding:var(--space-1) var(--space-2);border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-input);color:var(--ui-text);text-align:center;font-size:var(--text-sm)}.res-insumos-input:focus{outline:2px solid var(--ui-primary);outline-offset:1px}.res-form-btn-link{display:inline-flex;align-items:center;gap:var(--space-1);border:none;background:transparent;color:var(--ui-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0}.res-form-btn-link:hover{text-decoration:underline}.res-equipment-area{flex:1;min-width:0}.res-equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.res-equipment-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--ui-surface-hover);border:2px solid var(--ui-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s,background .15s;position:relative;text-align:center}.res-equipment-card:hover{border-color:var(--ui-primary);background:var(--ui-surface)}.res-equipment-card--selected{border-color:var(--ui-primary);background:var(--ui-primary-muted)}.res-equipment-card__icon{color:var(--ui-text-muted)}.res-equipment-card--selected .res-equipment-card__icon{color:var(--ui-primary)}.res-equipment-card__code{font-size:var(--text-xs);font-weight:700;color:var(--ui-text-muted);font-family:monospace;letter-spacing:.04em}.res-equipment-card__name{font-size:var(--text-xs);font-weight:600;color:var(--ui-text);line-height:1.3;text-align:center}.res-equipment-card__check{position:absolute;top:var(--space-2);right:var(--space-2);width:20px;height:20px;background:var(--ui-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.res-form-summary{width:300px;flex-shrink:0;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);position:sticky;top:var(--space-4)}.res-form-summary__title{font-size:var(--text-sm);font-weight:700;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0}.res-form-summary__section{display:flex;flex-direction:column;gap:2px}.res-form-summary__label{font-size:var(--text-xs);color:var(--ui-text-muted);margin:0}.res-form-summary__value{font-size:var(--text-sm);color:var(--ui-text);margin:0}.res-form-summary__value--bold{font-weight:600}.res-form-summary__value--muted{color:var(--ui-text-muted);font-style:italic}.res-form-summary__meta{margin:0}.res-form-summary__divider{height:1px;background:var(--ui-border);margin-block:var(--space-1)}.res-form-summary__equip-list{list-style:none;margin:0;padding:0;font-size:var(--text-sm);color:var(--ui-text);display:flex;flex-direction:column;gap:var(--space-1)}.res-form-summary__equip-list li:before{content:"\2022  ";color:var(--ui-primary)}.res-form-summary__actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.res-form-footer{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--ui-border);margin-top:var(--space-2)}.res-form-footer__actions{display:flex;justify-content:space-between;align-items:center}.res-form-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.res-form-btn--primary{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.res-form-btn--primary:hover:not(:disabled){filter:brightness(1.1)}.res-form-btn--primary:disabled{opacity:.5;cursor:not-allowed}.res-form-btn--ghost{background:transparent;color:var(--ui-text-muted);border-color:var(--ui-border)}.res-form-btn--ghost:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.res-form-btn--sm{padding:var(--space-1) var(--space-3)}.res-form-btn--full{width:100%;justify-content:center}.res-form-empty{font-size:var(--text-sm);color:var(--ui-text-muted);font-style:italic;margin:0}.res-insumo-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;background:var(--ui-surface-hover);color:var(--ui-text-muted)}.res-insumo-tag--opt{background:var(--ui-warning-muted);color:var(--ui-warning)}.res-form-summary__error{font-size:var(--text-xs);color:var(--ui-danger);margin:0;padding:var(--space-2) var(--space-3);background:var(--ui-danger-muted);border-radius:var(--radius-sm)}@media(max-width:768px){.res-form-section--split{flex-direction:column}.res-form-summary{width:100%;position:static}.res-form-step__sub,.res-form-step__connector{display:none}.res-form-step{padding:var(--space-3);justify-content:center}.res-info-grid--4col{grid-template-columns:1fr 1fr}.res-info-row--span2{grid-column:span 2}.res-info-grid{grid-template-columns:1fr}}.res-info-dl{display:flex;flex-direction:column;gap:0;margin:0}.res-info-dl__row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--ui-border)}.res-info-dl__row:last-child{border-bottom:none}.res-info-dl__label{font-size:var(--text-xs);font-weight:600;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em}.res-info-dl__value{font-size:var(--text-sm);color:var(--ui-text);margin:0}.res-info-dl__value--bold{font-weight:600}.res-form-field-divider{height:1px;background:var(--ui-border);margin:0 calc(-1 * var(--space-5))}.res-form-submit-error{font-size:var(--text-xs);color:var(--ui-danger);margin:0;flex:1 1 100%;padding:var(--space-2) var(--space-3);background:var(--ui-danger-muted);border-radius:var(--radius-sm)}.res-proc-select{position:relative;width:100%;max-width:560px}.res-proc-select__trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--ui-surface-input);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;min-height:40px;transition:border-color .15s,box-shadow .15s}.res-proc-select--invalid .res-proc-select__trigger{border-color:var(--ui-danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-danger) 14%,transparent)}.res-proc-select--open .res-proc-select__trigger{border-color:var(--ui-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-primary) 20%,transparent);border-radius:var(--radius-md) var(--radius-md) 0 0}.res-proc-select--disabled .res-proc-select__trigger{opacity:.5;cursor:not-allowed}.res-proc-select__input{flex:1;border:none;background:transparent;color:var(--ui-text);font-size:var(--text-sm);outline:none;min-width:0}.res-proc-select__input::placeholder{color:var(--ui-text-muted)}.res-proc-select__value{flex:1;font-size:var(--text-sm);color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-proc-select__value--placeholder{color:var(--ui-text-muted)}.res-proc-select__chevron{color:var(--ui-text-muted);flex-shrink:0;transition:transform .2s;display:flex;align-items:center}.res-proc-select__state-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);flex-shrink:0}.res-proc-select__state-badge--danger{color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 12%,transparent)}.res-proc-select__chevron--open{transform:rotate(180deg)}.res-proc-select__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--ui-surface);border:1px solid var(--ui-primary);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 8px 24px color-mix(in srgb,var(--ui-text) 12%,transparent);max-height:260px;overflow-y:auto;display:flex;flex-direction:column}.res-proc-select__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--ui-text);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background .1s}.res-proc-select__option-main{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.res-proc-select__option:hover{background:var(--ui-surface-hover)}.res-proc-select__option--selected{color:var(--ui-primary);font-weight:600}.res-proc-select__option--warning{background:color-mix(in srgb,var(--ui-warning) 10%,var(--ui-surface))}.res-proc-select__option--danger{background:color-mix(in srgb,var(--ui-danger) 10%,var(--ui-surface))}.res-proc-select__option-state{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-full);flex-shrink:0}.res-proc-select__option-state--danger{color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 12%,transparent)}.res-proc-select__no-results{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--ui-text-muted);font-style:italic}.rfp-equip-header{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;padding:var(--space-3) var(--space-5)!important;gap:var(--space-3)}.rfp-equip-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.rfp-inline-search-shell{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.rfp-inline-search-trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:auto;max-width:132px;height:34px;padding-inline:var(--space-2) var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-full);background:var(--ui-surface);color:var(--ui-text-muted);white-space:nowrap;overflow:hidden;cursor:pointer;transition:max-width var(--transition-base),opacity var(--transition-fast),padding-inline var(--transition-base),border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.rfp-inline-search-trigger:hover{border-color:var(--ui-primary);color:var(--ui-primary);background:var(--ui-surface-raised)}.rfp-inline-search-trigger__label{font-size:var(--text-sm);font-weight:var(--font-semibold)}.rfp-inline-search-shell--open .rfp-inline-search-trigger{max-width:0;opacity:0;padding-inline:0;border-color:transparent;pointer-events:none}.rfp-inline-search-shell .rfp-insumo-search{display:flex;align-items:center;gap:var(--space-1);max-width:0;opacity:0;overflow:visible;visibility:hidden;transform:translate(-4px);pointer-events:none;transition:max-width var(--transition-base),opacity var(--transition-fast),transform var(--transition-base),visibility 0s linear var(--transition-base)}.rfp-inline-search-shell--open .rfp-insumo-search{max-width:520px;opacity:1;visibility:visible;transform:translate(0);pointer-events:auto;transition:max-width var(--transition-base),opacity var(--transition-fast),transform var(--transition-base)}.rfp-inline-search-shell .rfp-insumo-search__input-wrap{min-width:0;width:min(100%,360px)}.rfp-insumos--equip{padding-top:var(--space-3)}.rfp-insumos--equip-selected{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0 var(--space-2)}.rfp-equip-hint{font-style:italic}.res-equip-grid--selected{grid-template-columns:repeat(auto-fill,minmax(150px,200px))}.res-equip-card__icon-area{position:relative}.res-equip-card__thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;border-radius:inherit;pointer-events:none}.res-equip-card--selected .res-equip-card__thumb{opacity:.28}.res-equip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:var(--space-2)}.res-equip-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:var(--space-2) var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface);overflow:hidden;transition:border-color .15s,box-shadow .15s;min-height:148px}.res-equip-card--manual{border-style:dashed}.res-equip-card:hover{border-color:var(--ui-primary);box-shadow:0 4px 20px color-mix(in srgb,var(--ui-primary) 12%,transparent)}.res-equip-card__top-right{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.res-equip-card__category{font-size:9px;font-weight:700;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;line-height:1}.res-equip-card__category--manual{color:var(--ui-primary)}.res-equip-card__remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ui-text-muted);cursor:pointer;transition:background .15s,color .15s}.res-equip-card__remove:hover{background:color-mix(in srgb,#ef4444 15%,transparent);color:#ef4444}.res-equip-card__icon-wrap{width:32px;height:32px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface-raised));display:flex;align-items:center;justify-content:center;color:var(--ui-primary);flex-shrink:0;overflow:hidden}.res-equip-card__thumb-img{width:100%;height:100%;object-fit:cover}.res-equip-card__name{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--ui-text);line-height:1.25;margin:2px 0 0}.res-equip-card__name-wrap{display:flex;flex-direction:column;gap:2px;min-height:38px}.res-equip-card__name-input{width:100%;min-height:30px;padding:0 var(--space-2);border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface);color:var(--ui-text);font-size:var(--text-sm);font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.res-equip-card__name-input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 14%,transparent)}.res-equip-card__name-input::placeholder{color:var(--ui-text-dim)}.res-equip-card__error{min-height:14px;font-size:var(--text-2xs, 11px);line-height:1.2;color:var(--ui-danger)}.res-equip-card__desc{font-size:var(--text-xs);color:var(--ui-text-muted);line-height:1.3;flex:1;margin:0}.res-equip-card__icon-wrap--has-img{background-color:transparent;background-size:cover;background-position:center}.res-equip-card__icon-wrap--has-img svg{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}.res-equip-card__footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-1);margin-top:auto;padding-top:2px}.res-equip-card__avail{font-size:var(--text-xs);color:var(--ui-primary);font-style:italic;line-height:1.2}@media(max-width:768px){.res-info-dl__row{grid-template-columns:130px 1fr}.res-equip-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.res-proc-select{max-width:100%}}app-admin-reservation-list-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:var(--space-4) var(--space-5)}app-admin-reservation-detail-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:var(--space-4) var(--space-5)}.rad-header{flex-shrink:0;display:flex;flex-direction:column;border-bottom:1px solid var(--ui-border);position:relative}.rad-header__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);min-width:0}.rad-header__divider{width:1px;height:14px;background:var(--ui-border);flex-shrink:0}.rad-header__code{font-size:10px;font-weight:var(--font-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text-muted);white-space:nowrap;flex-shrink:0}.rad-header__title{flex:1;min-width:0;margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rad-header__actions{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto}.rad-header__icon-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface);color:var(--ui-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.rad-header__icon-btn:hover{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-surface-raised)}.rad-header__icon-btn--active{color:var(--ui-primary);border-color:color-mix(in srgb,var(--ui-primary) 45%,var(--ui-border));background:color-mix(in srgb,var(--ui-primary) 10%,var(--ui-surface))}.rfp-ctx.rfp-ctx--flat{border:none;border-radius:0;padding:var(--space-2) var(--space-4);background:transparent;gap:0;max-height:220px;opacity:1;transform:translateY(0);overflow:hidden;transition:max-height var(--transition-base),opacity var(--transition-fast),transform var(--transition-fast),padding var(--transition-base)}.rfp-ctx.rfp-ctx--flat.rad-academic-collapsed{max-height:0;opacity:0;transform:translateY(-4px);padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.rfp-ctx.rfp-ctx--flat .rfp-ctx__chip,.rfp-ctx.rfp-ctx--flat .rfp-ctx__badge{border-radius:var(--radius-sm)}.rad-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:clip;border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface-page)}.rad-nav{flex-shrink:0;display:flex;align-items:center;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}.rad-back-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ui-text-muted);background:none;border:none;cursor:pointer;padding:var(--space-1) 0;transition:color var(--transition-fast)}.rad-back-btn:hover{color:var(--ui-text)}.rad-shell{display:flex;flex:1;min-height:0;gap:var(--space-4);overflow:hidden;align-items:stretch}.rad-shell.rad-shell--rail-collapsed{gap:0}.rad-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;width:100%;transition:width var(--transition-base),max-width var(--transition-base)}.rad-meta-strip{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--ui-surface-raised);border-bottom:1px solid var(--ui-border);flex-shrink:0}.rad-meta-strip__item{display:inline-flex;align-items:center;gap:var(--space-1)}.rad-meta-strip__label{font-size:10px;font-weight:var(--font-bold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.07em}.rad-meta-strip__value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text)}.rad-meta-strip__sep{width:1px;height:14px;background:var(--ui-border);flex-shrink:0}.ra-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--ui-border)}.ra-header{flex-shrink:0;padding:var(--space-4) var(--space-5);background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.ra-header__meta{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3)}.ra-header__title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ui-text);margin:0}.ra-header__subtitle{font-size:var(--text-sm);color:var(--ui-text-muted);margin:var(--space-1) 0 0}.ra-header__refresh{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text-muted);cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.ra-header__refresh:hover{color:var(--ui-text);border-color:var(--ui-border-strong)}.ra-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.ra-kpi{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-left-width:3px}.ra-kpi--pending{border-left-color:#f59e0b}.ra-kpi--review{border-left-color:#3b82f6}.ra-kpi--approved{border-left-color:#10b981}.ra-kpi--rejected{border-left-color:#ef4444}.ra-kpi__num{font-size:28px;font-weight:800;line-height:1;flex-shrink:0}.ra-kpi--pending .ra-kpi__num{color:#f59e0b}.ra-kpi--review .ra-kpi__num{color:#3b82f6}.ra-kpi--approved .ra-kpi__num{color:#10b981}.ra-kpi--rejected .ra-kpi__num{color:#ef4444}.ra-kpi__info{display:flex;flex-direction:column;gap:2px}.ra-kpi__label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.ra-kpi__sub{font-size:var(--text-xs);color:var(--ui-text-muted);opacity:.7}.ra-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.ra-toolbar__left{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.ra-toolbar__right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.ra-toolbar__period{width:164px;flex-shrink:0}.ra-search{position:relative;display:flex;align-items:center;flex-shrink:0}.ra-search__icon{position:absolute;left:var(--space-3);color:var(--ui-text-muted);pointer-events:none}.ra-search__input{height:34px;padding:0 var(--space-3) 0 var(--space-8);width:260px;border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.ra-search__input::placeholder{color:var(--ui-text-muted)}.ra-search__input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-primary) 20%,transparent)}.ra-chips{display:flex;gap:var(--space-1);flex-wrap:wrap}.ra-chip{height:28px;padding:0 var(--space-3);border:1px solid var(--ui-border);border-radius:99px;background:transparent;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.ra-chip:hover{background:var(--ui-surface-raised);color:var(--ui-text)}.ra-chip--active{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.ra-chip--active:hover{filter:brightness(1.05)}.ra-toolbar-btn{display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.ra-toolbar-btn:hover{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border-strong)}.ra-toolbar-btn--primary{background:color-mix(in srgb,var(--ui-primary) 16%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 34%,transparent);color:var(--ui-primary);font-weight:600}.ra-toolbar-btn--primary:hover{background:color-mix(in srgb,var(--ui-primary) 22%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 44%,transparent);color:var(--ui-primary)}.ra-toolbar-btn--ghost{background:var(--ui-surface);color:var(--ui-text)}.ra-toolbar-btn--warning{background:color-mix(in srgb,var(--ui-warning) 20%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-warning) 44%,transparent);color:var(--ui-warning);font-weight:600}.ra-toolbar-btn--warning:hover{background:color-mix(in srgb,var(--ui-warning) 28%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-warning) 56%,transparent);color:var(--ui-warning)}.ra-toolbar-btn--sm{height:28px;padding-inline:var(--space-2);font-size:var(--text-xs)}.ra-table-wrap{display:flex;flex-direction:column;flex:1;overflow:auto;min-width:0;background:var(--ui-surface)}.ra-table-wrap--narrowed{flex:0 0 62%}.ra-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ra-th{padding:var(--space-3) var(--space-4);text-align:left;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ui-text-muted);background:var(--ui-surface);border-bottom:2px solid var(--ui-border);white-space:nowrap;position:sticky;top:0;z-index:1}.ra-th--status{width:84px}.ra-th--proc{min-width:150px}.ra-th--fecha-clase{width:112px;text-align:center}.ra-th--solicitud{min-width:130px}.ra-th--ciclo{width:108px;text-align:center}.ra-th--modalidad{width:84px}.ra-th--grupos{width:64px;text-align:center}.ra-th--enviada{width:100px;text-align:center}.ra-th--action{width:80px;text-align:right}.ra-th--session{width:165px}.ra-th--ambiente{width:155px}.ra-th:first-child,.ra-td:first-child{padding-left:var(--space-6)}.ra-th:last-child,.ra-td:last-child{padding-right:var(--space-6)}.ra-tr{border-bottom:1px solid var(--ui-border);transition:background .1s}.ra-tr:hover{background:color-mix(in srgb,var(--ui-surface-raised) 60%,transparent)}.ra-tr--active{background:color-mix(in srgb,var(--ui-primary) 8%,transparent)!important}.ra-td{padding:var(--space-3) var(--space-4);vertical-align:middle}.ra-td--fecha-clase,.ra-td--ciclo{text-align:center}.ra-td--grupos{text-align:center;color:var(--ui-text-muted);font-size:var(--text-sm)}.ra-td--enviada{text-align:center}.ra-td--action{text-align:right}.ra-sol__teacher{display:block;font-weight:600;color:var(--ui-text);margin-bottom:2px}.ra-sol__course{display:block;font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-sol__proc{display:block;font-size:var(--text-xs);color:var(--ui-text-muted);margin-top:2px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.ra-proc__title{display:block;font-weight:500;color:color-mix(in srgb,var(--ui-warning) 56%,var(--ui-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ra-proc__title--empty{color:var(--ui-text-muted);font-style:italic}.ra-proc__sub{display:block;font-size:var(--text-xs);color:var(--ui-text-muted);margin-top:2px}.ra-date-cell{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.ra-date-cell__day{font-size:var(--text-xs);color:var(--ui-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.ra-date-cell__date{font-size:var(--text-sm);color:var(--ui-text);font-weight:500;white-space:nowrap}.ra-date-cell__range{font-size:var(--text-xs);color:var(--ui-primary);font-weight:600;letter-spacing:.02em;background:color-mix(in srgb,var(--ui-primary) 10%,transparent);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap}.ra-ciclo__cycle{display:block;font-size:var(--text-sm);color:var(--ui-text);font-weight:500}.ra-ciclo__section{display:block;font-size:var(--text-xs);color:var(--ui-text-muted);margin-top:2px}.ra-modal-badge{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.ra-modal-badge--group{background:color-mix(in srgb,#8b5cf6 15%,transparent);color:#8b5cf6}.ra-modal-badge--individual{background:color-mix(in srgb,var(--ui-info) 15%,transparent);color:var(--ui-info)}.ra-ses__date{display:block;color:var(--ui-text);font-weight:500}.ra-ses__time{display:block;font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-ses__more{display:block;font-size:10px;color:var(--ui-primary)}.ra-amb__name{display:block;font-weight:500;color:var(--ui-text)}.ra-amb__code{display:block;font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-amb--none{font-size:var(--text-xs);color:var(--ui-text-muted);font-style:italic}.ra-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.ra-badge--pending{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#f59e0b}.ra-badge--review{background:color-mix(in srgb,#3b82f6 18%,transparent);color:#3b82f6}.ra-badge--primary{background:var(--ui-primary-muted);color:var(--ui-primary)}.ra-badge--assigned{background:color-mix(in srgb,var(--ui-info) 18%,transparent);color:var(--ui-info)}.ra-badge--approved{background:color-mix(in srgb,#10b981 18%,transparent);color:#10b981}.ra-badge--rejected{background:color-mix(in srgb,#ef4444 18%,transparent);color:#ef4444}.ra-badge--draft{background:#fff;color:#000;border:1px solid var(--ui-border)}.ra-badge--cancelled{background:color-mix(in srgb,var(--ui-text-muted) 15%,transparent);color:var(--ui-text-muted);text-decoration:line-through}.ra-badge--lg{font-size:var(--text-xs);padding:4px 12px}.ra-badge--xl{font-size:var(--text-sm);padding:6px 16px;font-weight:800;letter-spacing:.08em}.ra-action-btn{display:inline-flex;align-items:center;height:28px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap;border:1px solid transparent;transition:filter .15s,opacity .15s}.ra-action-btn--primary{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.ra-action-btn--primary:hover{filter:brightness(1.1)}.ra-action-btn--review{background:color-mix(in srgb,#3b82f6 18%,transparent);color:#3b82f6;border-color:color-mix(in srgb,#3b82f6 35%,transparent)}.ra-action-btn--review:hover{background:color-mix(in srgb,#3b82f6 28%,transparent)}.ra-action-btn--view{background:transparent;color:var(--ui-text-muted);border-color:var(--ui-border)}.ra-action-btn--view:hover{color:var(--ui-text);border-color:var(--ui-border-strong)}.ra-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-16) var(--space-6);color:var(--ui-text-muted);text-align:center;flex:1}.ra-state p{margin:0;font-size:var(--text-sm)}.ra-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--ui-border);background:var(--ui-surface);flex-shrink:0;margin-top:auto}.ra-pagination__info{font-size:var(--text-xs);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.05em}.ra-pagination__nav{display:flex;gap:var(--space-1)}.ra-pagination__btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-raised);color:var(--ui-text-muted);cursor:pointer;transition:background .15s,color .15s}.ra-pagination__btn:hover:not(:disabled){color:var(--ui-text);background:var(--ui-surface)}.ra-pagination__btn:disabled{opacity:.35;cursor:not-allowed}.ra-detail{min-width:0;display:flex;flex-direction:column;background:var(--ui-surface-page)}.ra-detail__empty,.ra-detail__loading{flex:1;display:flex;align-items:stretch;justify-content:stretch;min-height:0}.ra-detail__empty-card{margin:var(--space-5);padding:var(--space-6);border:1px dashed var(--ui-border-strong);border-radius:var(--radius-xl);background:var(--ui-surface);display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);color:var(--ui-text-muted)}.ra-detail__empty-eyebrow,.ra-detail-card__eyebrow,.ra-rail-card__eyebrow,.ra-detail-fact__label{font-size:10px;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.ra-detail__empty-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ui-text)}.ra-detail__empty-copy{margin:0;max-width:52ch;font-size:var(--text-sm);line-height:1.6}.ra-detail__viewport{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ra-detail-hero{padding:var(--space-5);border-bottom:1px solid var(--ui-border);background:var(--ui-surface);display:flex;flex-direction:column;gap:var(--space-4)}.ra-detail-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.ra-detail-hero__intro{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.ra-detail-hero__eyebrow{font-size:10px;font-weight:var(--font-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--ui-warning)}.ra-detail-hero__title{margin:0;font-size:clamp(1.15rem,1.4vw,1.55rem);font-weight:var(--font-bold);color:var(--ui-text)}.ra-detail-hero__subtitle{margin:0;font-size:var(--text-sm);color:var(--ui-text-muted)}.ra-detail-hero__aside{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.ra-detail-hero__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.ra-detail-fact{display:flex;flex-direction:column;gap:3px;padding:var(--space-3) var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface-raised);min-width:0}.ra-detail-fact__value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ui-text);line-height:1.4}.ra-detail-fact__sub{font-size:var(--text-xs);color:var(--ui-primary);font-weight:var(--font-semibold)}.ra-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0 0;background:transparent;border-bottom:none;overflow:hidden;position:relative;isolation:isolate}.ra-tabs:before{content:"";position:absolute;inset:0 0 -1px;background:var(--ui-surface-page);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);z-index:-1}.ra-tab{display:flex;flex:1 1 0;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface);color:var(--ui-text-muted);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ra-tab:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-raised);transform:translateY(-1px)}.ra-tab--active{border-color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 10%,var(--ui-surface));color:var(--ui-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-primary) 18%,transparent)}.ra-tab__index{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase;min-width:0}.ra-tab__meta{font-size:var(--text-xs);color:var(--ui-text-muted);white-space:nowrap;flex-shrink:0}.ra-detail-shell{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5);overflow:auto}.ra-detail-main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-4);min-width:0;width:100%;margin-top:-1px;background:var(--ui-surface-page);scrollbar-gutter:auto}.ra-tab-action-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5) var(--space-4);background:var(--ui-surface-page);border-bottom:1px solid var(--ui-border)}.ra-tab-action-bar__meta{margin:0;color:var(--ui-text-muted);font-size:var(--text-xs)}.ra-detail-rail{display:flex;flex-direction:column;gap:var(--space-2);width:276px;min-width:276px;flex:0 0 276px;overflow-y:auto;max-height:100%;scrollbar-gutter:stable both-edges;transition:width var(--transition-base),min-width var(--transition-base),flex-basis var(--transition-base),opacity var(--transition-fast),transform var(--transition-base);transform:translate(0);opacity:1}.ra-detail-rail.ra-detail-rail--collapsed{width:0;min-width:0;flex-basis:0;opacity:0;transform:translate(10px);pointer-events:none;overflow:hidden}.ra-detail-stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;min-height:0}.ra-detail-stack--fill{flex:1;min-height:0}.ra-detail-stack--fill>.ra-detail-card{flex:1;min-height:0}.ra-detail-card,.ra-rail-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-xl);background:var(--ui-surface);min-width:0}.ra-detail-main>.ra-detail-card{flex:1;min-height:0;width:100%;max-width:none;border-top-left-radius:0;border-top-right-radius:0;border-top-color:transparent}.ra-detail-main>.ra-detail-stack{flex:1;min-height:0}.ra-detail-card--fill{flex:1;min-height:0;overflow:hidden;width:100%;padding:0;gap:0}.ra-detail-card--fill>.ra-detail-card__header{padding:var(--space-2) var(--space-3) var(--space-2);position:sticky;top:0;z-index:8;background:var(--ui-surface)}.ra-detail-card--environment{overflow:visible}.ra-detail-card__body-scroll{flex:1;min-height:0;overflow:auto}.ra-detail-card__body-scroll--table{overflow:auto;width:100%;min-height:0;max-height:100%;scrollbar-gutter:auto;overscroll-behavior:contain;contain:content;border-top:1px solid var(--ui-border);position:relative;z-index:1}.ra-detail-card__body-scroll--empty{display:flex;align-items:center;justify-content:center;padding:var(--space-3)}.ra-detail-card__body-scroll--actions{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-3) var(--space-3)}.ra-detail-card__body-scroll--environment{overflow:visible}.ra-detail-card__body-scroll--environment-inner{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-3);scrollbar-gutter:auto}.ra-detail-card__header,.ra-rail-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ra-detail-card__header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.ra-detail-card__title{margin:0;font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ui-text)}.ra-rail-card__title{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ui-text)}.ra-detail-card__count,.ra-rail-card__count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding-inline:var(--space-1);border-radius:99px;background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold)}.ra-detail-card__empty{margin:0;padding:var(--space-4);border:1px dashed var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:var(--text-sm)}.ra-main-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ra-main-table th,.ra-main-table td{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--ui-border)}.ra-main-table th{font-size:10px;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted);text-align:left}.ra-main-table tr:last-child td{border-bottom:none}.ra-main-table__qty{width:72px;text-align:center}.ra-main-table__type{width:110px;text-align:right}.ra-mini-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:99px;background:var(--ui-primary-muted);color:var(--ui-primary);font-size:10px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.04em}.ra-mini-chip--optional{background:var(--ui-warning-muted);color:var(--ui-warning)}.ra-mini-chip--reference{background:var(--ui-primary-muted);color:var(--ui-primary)}.ra-ops-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);table-layout:fixed}.ra-ops-table th,.ra-ops-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--ui-border);vertical-align:middle}.ra-ops-table tbody tr{height:58px}.ra-ops-table tr:last-child td{border-bottom:none}.ra-ops-table th{font-size:10px;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted);text-align:left;white-space:nowrap}.ra-ops-th--center{text-align:center}.ra-ops-th--qty{width:88px;text-align:center}.ra-ops-th--unit{width:120px}.ra-ops-th--translation{width:280px}.ra-ops-th--status{width:150px}.ra-ops-th--action{width:156px}.ra-ops-th--checkbox{width:56px;text-align:center}.ra-ops-th--eq-state{width:148px}.ra-ops-th--key{color:var(--ui-primary);border-top:2px solid var(--ui-primary);padding-top:calc(var(--space-2) - 2px)}.ra-ops-tr--optional{background:color-mix(in srgb,var(--ui-text-muted) 6%,var(--ui-surface))}.ra-ops-tr--resolved{background:color-mix(in srgb,var(--ui-primary) 4%,transparent)}.ra-ops-tr--moved{background:color-mix(in srgb,var(--ui-warning) 14%,var(--ui-surface))}.ra-ops-tr--moved:hover{background:color-mix(in srgb,var(--ui-warning) 20%,var(--ui-surface))}.ra-ops-tr--moved .ra-ops-td--eq-state{position:relative}.ra-ops-tr--moved .ra-ops-status-icons{position:relative;z-index:1}.ra-ops-table tbody tr:focus-within{position:relative;z-index:1000}.ra-ops-td{color:var(--ui-text)}.ra-ops-td--qty{text-align:center;font-variant-numeric:tabular-nums;color:var(--ui-text-muted)}.ra-ops-td--unit{color:var(--ui-text-muted);font-size:var(--text-xs)}.ra-ops-td--action{white-space:nowrap}.ra-ops-td--checkbox{text-align:center;width:48px}.ra-ops-td--eq-state{width:148px;white-space:nowrap}.ra-ops-td--key-col{background:color-mix(in srgb,var(--ui-primary) 4%,var(--ui-surface))}.ra-ops-td--qty-eq{padding-top:var(--space-1);padding-bottom:var(--space-1);overflow:visible}.ra-ops-qty-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.ra-ops-td--supply,.ra-ops-td--translation,.ra-ops-td--status,.ra-ops-td--action,.ra-ops-td--checkbox,.ra-ops-td--eq-state,.ra-ops-td--qty{vertical-align:middle}.ra-ops-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--ui-primary);flex-shrink:0}.ra-ops-checkbox:disabled{cursor:not-allowed;opacity:.5}.ra-ops-eq-state{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;min-height:30px}.ra-ops-eq-state--resolved{color:var(--ui-primary)}.ra-ops-eq-state--pending{color:var(--ui-text-muted)}.ra-ops-eq-state--saving{color:var(--ui-text-muted);cursor:default}.ra-ops-eq-state--partial{color:var(--ui-warning)}.ra-ops-eq-state--unavailable{color:var(--ui-text-muted);text-decoration:line-through;opacity:.8}.ra-ops-status-icons{display:flex;align-items:center;gap:var(--space-2)}.ra-ops-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--ui-border);background:transparent;color:var(--ui-border);cursor:pointer;padding:0;flex-shrink:0;transition:border-color .15s,color .15s,background .15s}.ra-ops-icon-btn:disabled{cursor:not-allowed;opacity:.45}.ra-ops-icon-btn--resolved:hover:not(:disabled){border-color:var(--ui-success);color:var(--ui-success);background:var(--ui-success-muted)}.ra-ops-icon-btn--resolved.is-active{border-color:var(--ui-success);color:var(--ui-success-text);background:var(--ui-success)}.ra-ops-icon-btn--unavailable:hover:not(:disabled){border-color:var(--ui-danger);color:var(--ui-danger);background:var(--ui-danger-muted)}.ra-ops-icon-btn--unavailable.is-active{border-color:var(--ui-danger);color:var(--ui-danger-text);background:var(--ui-danger)}.ra-ops-status-label{font-size:var(--text-xs);color:var(--ui-text-muted);white-space:nowrap}.ra-ops-resolved-text{font-size:var(--text-xs);color:var(--ui-text-muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ra-ops-reference{display:flex;align-items:center;gap:var(--space-2);min-height:34px}.ra-ops-resolved-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:34px}.ra-ops-edit-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0;border:none;background:transparent;color:var(--ui-primary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;min-height:30px}.ra-ops-edit-btn:hover{color:var(--ui-primary-hover)}.ra-ops-resolved-qty{font-size:var(--text-sm);font-weight:var(--font-medium);font-variant-numeric:tabular-nums;color:var(--ui-text)}.ra-ops-status-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid currentColor;font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;color:var(--ui-text-muted)}.ra-ops-status-badge--RESERVED{color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 8%,var(--ui-surface))}.ra-ops-status-badge--PARTIALLY_DELIVERED{color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 8%,var(--ui-surface))}.ra-ops-status-badge--DELIVERED{color:var(--ui-success);background:color-mix(in srgb,var(--ui-success) 8%,var(--ui-surface))}.ra-ops-status-badge--RELEASED,.ra-ops-status-badge--CANCELLED{color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 8%,var(--ui-surface))}.ra-ops-status-badge--PENDING{color:var(--ui-text-muted);border-color:var(--ui-border)}.ra-ops-supply{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:34px}.ra-ops-supply__name{font-weight:var(--font-medium);color:var(--ui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ra-ops-supply__unit{font-size:var(--text-xs);color:var(--ui-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ra-ops-supply__tags{display:flex;gap:var(--space-1);flex-wrap:nowrap;overflow:hidden;min-height:18px}.ra-ops-input{width:100%;padding:3px var(--space-2);min-height:30px;border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-xs);font-family:inherit;outline:none;transition:border-color var(--transition-fast)}.ra-ops-input::placeholder{color:var(--ui-text-muted);opacity:.6}.ra-ops-input:focus{border-color:var(--ui-primary)}.ra-ops-input--qty{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.ra-ops-input--qty::-webkit-outer-spin-button,.ra-ops-input--qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ra-ops-select{width:100%;padding:3px var(--space-2);min-height:30px;border:1px solid var(--ui-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:inherit;cursor:pointer;outline:none;background:var(--ui-surface-raised);color:var(--ui-text-muted);transition:border-color var(--transition-fast),color var(--transition-fast)}.ra-ops-select--RESERVED{border-color:var(--ui-primary);color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 8%,var(--ui-surface))}.ra-ops-select--PARTIALLY_DELIVERED{border-color:var(--ui-warning);color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 8%,var(--ui-surface))}.ra-ops-select--DELIVERED{border-color:var(--ui-success);color:var(--ui-success);background:color-mix(in srgb,var(--ui-success) 8%,var(--ui-surface))}.ra-ops-select--RELEASED,.ra-ops-select--CANCELLED{border-color:var(--ui-danger);color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 8%,var(--ui-surface))}.ra-ops-search{position:relative;isolation:isolate;overflow:visible;z-index:1}.ra-ops-field{position:relative;display:flex;align-items:center;justify-content:center;min-height:36px;padding-bottom:12px;width:100%}.ra-ops-search.ra-ops-field{align-items:stretch;padding-bottom:0;overflow:visible}.ra-ops-td--translation .ra-ops-field{max-width:420px;margin-inline:auto;position:relative;overflow:visible}.ra-ops-td--translation{position:relative;overflow:visible}.ra-ops-search:focus-within{z-index:10000}.ra-ops-search__spinner{position:absolute;top:50%;right:var(--space-2);width:12px;height:12px;margin-top:-6px;border:2px solid color-mix(in srgb,var(--ui-primary) 22%,transparent);border-top-color:var(--ui-primary);border-radius:50%;animation:spin .8s linear infinite}.ra-ops-search__dropdown{position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:10001;display:flex;flex-direction:column;max-height:224px;overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:#1f2937;box-shadow:0 18px 42px #0f172a61;pointer-events:auto;-webkit-backdrop-filter:none;backdrop-filter:none}.ra-ops-search__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid rgba(255,255,255,.09);background:#1f2937;color:#f9fafb;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.ra-ops-search__option:last-child{border-bottom:none}.ra-ops-search__option:hover{background:#374151}.ra-ops-search__option:focus-visible{outline:2px solid rgba(255,255,255,.42);outline-offset:-2px;background:#374151}.ra-ops-search__label{font-size:var(--text-xs);font-weight:var(--font-medium);color:#fff}.ra-ops-search__stock{font-size:var(--text-2xs);color:#d1d5db;white-space:nowrap}.ra-ops-error{position:absolute;left:0;top:100%;font-size:9px;color:var(--ui-danger);line-height:1.1}.ra-ops-error--inline{position:absolute;left:0;right:0;top:calc(100% + 1px);font-size:9px;color:var(--ui-danger);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:1}.ra-ops-meta{display:block;margin-top:var(--space-1);font-size:var(--text-2xs);color:var(--ui-text-muted)}.ra-ops-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--ui-border);border-top-color:var(--ui-primary);border-radius:50%;animation:ra-spin .7s linear infinite;vertical-align:middle}@keyframes ra-spin{to{transform:rotate(360deg)}}.ra-equipment-list,.ra-occ-list{display:flex;flex-direction:column;gap:var(--space-2)}.ra-assignment-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ra-assignment-head__label{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-muted)}.ra-assignment-head__edit{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--ui-border);border-radius:var(--radius-full);background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:var(--text-base);line-height:1;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.ra-assignment-head__edit:hover{border-color:var(--ui-primary);color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 10%,var(--ui-surface))}.ra-assignment-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.ra-equipment-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface-raised)}.ra-equipment-item__body{display:flex;flex-direction:column;gap:2px;min-width:0}.ra-equipment-item__name{color:var(--ui-text);font-size:var(--text-sm);font-weight:var(--font-semibold)}.ra-equipment-item__meta,.ra-note-card__meta,.ra-rail-card__copy{margin:0;color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1.6}.ra-equipment-item__qty{color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold)}.ra-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.ra-stage-list{display:flex;flex-direction:column;gap:0}.ra-stage-list--bars{flex-direction:row;align-items:stretch;gap:var(--space-2)}.ra-stage{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;color:var(--ui-text-muted);font-size:var(--text-sm)}.ra-stage__dot{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;flex-shrink:0}.ra-stage--bar{flex:1 1 0;min-width:0;min-height:20px;padding:0;border-radius:var(--radius-md);border:1px solid var(--ui-border);background:var(--ui-surface-raised)}.ra-stage--done{color:var(--ui-success)}.ra-stage--active{color:var(--ui-primary)}.ra-stage--pending{color:var(--ui-text-muted)}.ra-stage--bar.ra-stage--done{border-color:color-mix(in srgb,var(--ui-primary) 46%,transparent);background:color-mix(in srgb,var(--ui-primary) 20%,var(--ui-surface))}.ra-stage--bar.ra-stage--active{border-color:color-mix(in srgb,var(--ui-primary) 48%,transparent);background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface))}.ra-stage--bar.ra-stage--pending{border-color:var(--ui-border);background:var(--ui-surface-raised)}.ra-rail-card--progress{background:color-mix(in srgb,var(--ui-primary) 5%,var(--ui-surface))}.ra-rail-card--critical{border-color:color-mix(in srgb,var(--ui-danger) 28%,transparent);background:color-mix(in srgb,var(--ui-danger) 8%,var(--ui-surface))}.ra-rail-card--warning{border-color:color-mix(in srgb,var(--ui-warning) 28%,transparent);background:color-mix(in srgb,var(--ui-warning) 8%,var(--ui-surface))}.ra-rail-card--neutral{background:var(--ui-surface)}.ra-note-card__body{margin:0;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-sm);line-height:1.5;white-space:pre-wrap}.ra-note-card__error{margin:0;color:var(--ui-danger);font-size:var(--text-xs);line-height:1.4}.ra-admin-notes-input{width:100%;box-sizing:border-box;padding:var(--space-2) var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-sm);line-height:1.5;font-family:inherit;resize:vertical;min-height:56px;transition:border-color var(--transition-fast)}.ra-admin-notes-input:focus{outline:none;border-color:var(--ui-primary)}.ra-admin-notes-input::placeholder{color:var(--ui-text-muted)}.ra-rail-card__actions{display:flex;flex-direction:column;gap:var(--space-2)}.ra-toolbar-btn--wide{width:100%;justify-content:center}.ra-toolbar-btn--danger{background:color-mix(in srgb,var(--ui-danger) 10%,transparent);border-color:color-mix(in srgb,var(--ui-danger) 36%,transparent);color:var(--ui-danger)}.ra-toolbar-btn--danger:hover{background:color-mix(in srgb,var(--ui-danger) 18%,transparent);border-color:var(--ui-danger);color:var(--ui-danger)}.ra-drawer{flex:0 0 38%;min-width:300px;display:flex;flex-direction:column;border-left:1px solid var(--ui-border);background:var(--ui-surface);overflow:hidden}.ra-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--ui-border);flex-shrink:0}.ra-drawer__title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ui-text);margin:0}.ra-drawer__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ui-text-muted);cursor:pointer;transition:background .15s,color .15s}.ra-drawer__close:hover{background:var(--ui-surface-raised);color:var(--ui-text)}.ra-drawer__body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.ra-drawer__section{display:flex;flex-direction:column;gap:var(--space-2)}.ra-drawer__section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-text-muted);margin:0}.ra-dl{display:flex;flex-direction:column}.ra-dl__row{display:grid;grid-template-columns:100px 1fr;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--ui-border);font-size:var(--text-sm)}.ra-dl__row:last-child{border-bottom:none}.ra-dl__row dt{color:var(--ui-text-muted);font-weight:500}.ra-dl__row dd{color:var(--ui-text);margin:0}.ra-occ-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ui-text);padding:var(--space-1) 0}.ra-occ-row__time{margin-left:auto;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:500}.ra-mini-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.ra-mini-table th{text-align:left;padding:var(--space-1) var(--space-2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ui-text-muted);border-bottom:1px solid var(--ui-border)}.ra-mini-table td{padding:var(--space-2);border-bottom:1px solid var(--ui-border);color:var(--ui-text)}.ra-mini-table tr:last-child td{border-bottom:none}.ra-mini-table__num{text-align:center;width:50px}.ra-mini-table__muted{color:var(--ui-text-muted)}.ra-equip-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.ra-equip-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--ui-surface-raised);border-radius:var(--radius-sm);font-size:var(--text-xs)}.ra-equip-item__code{font-weight:700;color:var(--ui-text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;min-width:52px}.ra-equip-item__name{flex:1;color:var(--ui-text)}.ra-equip-item__qty{color:var(--ui-text-muted);font-weight:600}.ra-space-select{width:100%;height:36px;padding:0 var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-sm);outline:none;cursor:pointer;transition:border-color .15s}.ra-space-select:focus{border-color:var(--ui-primary)}.ra-space-badge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--ui-success) 12%,transparent);border:1px solid color-mix(in srgb,var(--ui-success) 30%,transparent);border-radius:var(--radius-md);color:var(--ui-success);min-width:240px;flex:1 1 240px}.ra-space-badge div{display:flex;flex-direction:column;gap:2px}.ra-space-badge strong{font-size:var(--text-sm);color:var(--ui-text)}.ra-space-badge span{font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-action-error{font-size:var(--text-xs);color:#ef4444;margin:0;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,#ef4444 10%,transparent);border-radius:var(--radius-sm)}.ra-action-btns{display:flex;gap:var(--space-2)}.ra-action-btns__approve{flex:1;justify-content:center}.ra-action-btns__reject{height:34px;padding:0 var(--space-3);border:1px solid color-mix(in srgb,#ef4444 40%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,#ef4444 10%,transparent);color:#ef4444;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.ra-action-btns__reject:hover{background:color-mix(in srgb,#ef4444 20%,transparent)}.ra-action-btns__reject:disabled{opacity:.4;cursor:not-allowed}.ra-notes{font-size:var(--text-sm);color:var(--ui-text-muted);line-height:1.5;margin:0;padding:var(--space-2) var(--space-3);background:var(--ui-surface-raised);border-radius:var(--radius-sm);border-left:2px solid var(--ui-border-strong)}.ra-space-schedule{margin-top:var(--space-3);padding:var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md)}.ra-environment-select{display:flex;align-items:center;gap:var(--space-3)}.ra-environment-select app-procedure-select{flex:1 1 auto;min-width:0}.ra-environment-select__status{flex:0 0 auto;min-width:96px;text-align:right;font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap}.ra-environment-select__status--danger{color:var(--ui-danger)}.ra-environment-select__status--info{color:var(--ui-primary)}.ra-environment-select__cancel{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ui-border);border-radius:var(--radius-full);background:var(--ui-surface);color:var(--ui-text-muted);font-size:16px;line-height:1;cursor:pointer;flex:0 0 auto;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.ra-environment-select__cancel:hover{border-color:var(--ui-border-strong);color:var(--ui-text);background:var(--ui-surface-raised)}.ra-space-schedule__title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-text-muted);margin:0 0 var(--space-2)}.ra-space-schedule__loading,.ra-space-schedule__empty{font-size:var(--text-xs);color:var(--ui-text-muted);font-style:italic;margin:0;padding:var(--space-2) 0}.ra-space-schedule__days{display:flex;flex-direction:column;gap:var(--space-2)}.ra-space-schedule__day{display:grid;grid-template-columns:52px 1fr;gap:var(--space-2);align-items:start}.ra-space-schedule__day-label{font-size:var(--text-xs);font-weight:600;color:var(--ui-text-muted);padding-top:2px}.ra-space-schedule__slots{display:flex;flex-direction:column;gap:2px}.ra-space-card{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--ui-success) 30%,transparent);background:color-mix(in srgb,var(--ui-success) 10%,transparent);min-height:108px;width:min(100%,760px);margin-inline:auto}.ra-space-card__body{display:flex;flex-direction:column;justify-content:center;gap:var(--space-2);min-width:0}.ra-space-card__segment{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-1) 0}.ra-space-card__eyebrow{font-size:10px;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-success)}.ra-space-card__date-group{display:flex;align-items:stretch;gap:var(--space-4)}.ra-space-card__date-column{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:104px}.ra-space-card__day{font-size:10px;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-success)}.ra-space-card__date{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ui-text)}.ra-space-card__segments{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 auto;min-width:0}.ra-space-card__time{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ui-text);min-width:138px}.ra-space-card__meta{font-size:var(--text-xs);color:var(--ui-text-muted);margin-left:auto}.ra-space-card__stamp{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;min-width:132px;padding-left:var(--space-4);border-left:1px solid color-mix(in srgb,var(--ui-success) 22%,transparent);text-align:right}.ra-space-card__code{font-size:28px;line-height:1;font-weight:var(--font-bold);color:var(--ui-success);letter-spacing:.02em}.ra-space-card__name{font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-space-slot{display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--ui-text-muted) 10%,transparent);border-radius:var(--radius-sm);border-left:2px solid var(--ui-border-strong);min-height:76px}.ra-space-slot--occupied{background:color-mix(in srgb,var(--ui-text-muted) 10%,transparent);border-left-color:var(--ui-border-strong)}.ra-space-slot--tentative{background:color-mix(in srgb,var(--ui-warning) 14%,transparent);border-left-color:var(--ui-warning)}.ra-space-slot--conflict{background:color-mix(in srgb,var(--ui-danger) 10%,transparent);border-left-color:var(--ui-danger)}.ra-space-slot--current{background:color-mix(in srgb,var(--ui-primary) 10%,transparent);border-left-color:var(--ui-primary)}.ra-space-slot__head{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.ra-space-slot__time{font-size:10px;font-weight:600;color:var(--ui-text);white-space:nowrap;min-width:80px;line-height:1.35}.ra-space-slot--tentative .ra-space-slot__time{color:var(--ui-warning)}.ra-space-slot--conflict .ra-space-slot__time{color:var(--ui-danger)}.ra-space-slot--current .ra-space-slot__time{color:var(--ui-primary)}.ra-space-slot__course{font-size:var(--text-xs);color:var(--ui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ra-space-slot__warning{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--ui-danger)}.ra-space-slot__warning--tentative{color:var(--ui-warning)}.ra-space-slot__warning--current{color:var(--ui-primary)}.ra-space-slot__flag{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:var(--font-bold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.ra-space-slot__flag--tentative{background:color-mix(in srgb,var(--ui-warning) 14%,transparent);color:var(--ui-warning)}.ra-space-slot__flag--conflict{background:color-mix(in srgb,var(--ui-danger) 10%,transparent);color:var(--ui-danger)}.ra-space-slot__flag--current{background:color-mix(in srgb,var(--ui-primary) 12%,transparent);color:var(--ui-primary)}@media(max-width:1024px){.ra-kpis{grid-template-columns:repeat(2,1fr)}.ra-body{grid-template-columns:1fr}.ra-table-wrap{border-right:none;border-bottom:1px solid var(--ui-border)}.ra-detail-shell{grid-template-columns:1fr}.rad-shell{flex-wrap:wrap}.ra-detail-rail{width:100%}.ra-summary-grid,.ra-detail-hero__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ra-tab{flex-basis:calc(50% - (var(--space-3) / 2));flex-direction:column;align-items:flex-start}}@media(max-width:768px){.ra-toolbar{flex-direction:column;align-items:stretch}.ra-toolbar__left{flex-wrap:wrap}.ra-search__input{width:100%}.ra-summary-grid,.ra-detail-hero__facts{grid-template-columns:1fr}.ra-tab{flex-basis:100%;flex-direction:column;align-items:flex-start}.ra-detail-shell,.ra-detail-hero,.ra-tabs{padding-left:var(--space-4);padding-right:var(--space-4)}.ra-detail-shell{padding-bottom:var(--space-4)}}app-reservation-form-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.rfp{display:flex;flex-direction:column;height:100%;min-height:0;width:100%}.rfp__top{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2);padding-inline:var(--space-5);padding-top:var(--space-4);padding-bottom:var(--space-2)}.rfp__heading{display:flex;flex-direction:column;gap:var(--space-1)}.rfp__title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.rfp__review-alert{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);max-width:min(560px,100%);min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--ui-danger) 44%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ui-danger) 12%,transparent);color:var(--ui-danger)}.rfp__space-badge{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--ui-primary) 30%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ui-primary) 10%,transparent);color:var(--ui-primary)}.rfp__space-label{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase}.rfp__space-name{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1.4}.rfp__review-alert-label{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.06em}.rfp__review-alert-text{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1.4}.rfp__title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ui-text);margin:0;line-height:1.1}.rfp__subtitle{font-size:var(--text-sm);color:var(--ui-text-muted);margin:0}.rfp-ctx{display:flex;flex-direction:column;align-items:stretch;padding:var(--space-2) var(--space-3);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);gap:var(--space-2)}.rfp-ctx--loading{justify-content:center}.rfp-ctx__items{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;width:100%}.rfp-ctx__items--4cols{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.rfp-ctx__item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);min-width:0}.rfp-ctx__meta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:0;flex-wrap:wrap}.rfp-ctx__label{font-size:10px;font-weight:var(--font-bold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em}.rfp-ctx__value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ui-text);white-space:nowrap}.rfp-ctx__badge{display:inline-flex;align-items:center;padding:2px var(--space-2);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ui-text);font-family:monospace;letter-spacing:.04em;white-space:nowrap}.rfp-ctx__sub{font-size:var(--text-xs);color:var(--ui-text-muted);white-space:nowrap}.rfp-ctx__chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--ui-text);white-space:nowrap}.rfp-ctx__space-badge{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--ui-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--ui-primary) 30%,transparent);border-radius:var(--radius-full, 9999px);color:var(--ui-primary);font-size:var(--text-xs)}.rfp-ctx__space-label{font-weight:700;letter-spacing:.06em;opacity:.7}.rfp-ctx__space-name{font-weight:var(--font-semibold)}.rfp-ctx__chip--date{border-color:var(--ui-primary);color:var(--ui-primary);background:var(--ui-primary-muted)}.rfp-ctx__chips{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2)}.rfp-ctx__sep{width:1px;height:24px;background:var(--ui-border);justify-self:center}.rfp-ctx__edit-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:transparent;color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.rfp-ctx__edit-btn:hover{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-surface-raised)}.rfp-stepper{display:flex;align-items:center;gap:0;width:100%}.rfp-step{display:flex;align-items:center;justify-content:center;cursor:pointer;gap:var(--space-2);min-width:160px;padding:0 var(--space-3)}.rfp-step__num{display:flex;align-items:center;justify-content:center;min-width:44px;height:24px;padding-inline:var(--space-2);border-radius:var(--radius-md);border:2px solid var(--ui-border);background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.rfp-step--active .rfp-step__num{background:var(--ui-primary-muted);border-color:color-mix(in srgb,var(--ui-primary) 42%,var(--ui-border));color:var(--ui-primary)}.rfp-step--done .rfp-step__num{background:var(--ui-success-muted);border-color:var(--ui-success);color:var(--ui-success)}.rfp-step__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-text-muted);white-space:nowrap;line-height:1.1}.rfp-step--active .rfp-step__label{font-weight:var(--font-bold);color:var(--ui-text)}.rfp-step__line{flex:1;height:2px;background:var(--ui-border);margin-inline:var(--space-2)}.rfp__scroll{flex:1;min-height:0;overflow-y:auto;padding-inline:var(--space-5);padding-block:var(--space-3)}.rfp-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-top:1px solid var(--ui-border);border-left:1px solid var(--ui-border);border-right:1px solid var(--ui-border);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--ui-surface);gap:var(--space-3)}.rfp-footer__cancel{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast)}.rfp-footer__cancel:hover{color:var(--ui-text);background:var(--ui-surface-raised)}.rfp-footer__actions{display:flex;align-items:center;gap:var(--space-3)}.rfp-footer__error{font-size:var(--text-xs);color:var(--ui-danger);margin:0}.rfp-footer__draft{display:inline-flex;align-items:center;height:34px;padding-inline:var(--space-4);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:transparent;color:var(--ui-text);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background .15s,border-color .15s}.rfp-footer__draft:hover:not(:disabled){background:var(--ui-surface-raised);border-color:var(--ui-border-strong)}.rfp-footer__draft:disabled{opacity:.5;cursor:not-allowed}.rfp-footer__next,.rfp-footer__submit{display:inline-flex;align-items:center;gap:var(--space-2);height:34px;padding-inline:var(--space-4);border:1px solid color-mix(in srgb,var(--ui-primary) 32%,var(--ui-border));border-radius:var(--radius-md);background:var(--ui-primary-muted);color:var(--ui-primary);font-size:var(--text-sm);font-weight:var(--font-bold);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.rfp-footer__next:hover,.rfp-footer__submit:hover:not(:disabled){background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 44%,var(--ui-border))}.rfp-footer__submit:disabled{opacity:.5;cursor:not-allowed}.rfp-step1,.rfp-step2{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-xl);overflow:visible}.rfp-proc-top{display:grid;grid-template-columns:1fr auto auto;align-items:start;gap:var(--space-4);padding:var(--space-3) var(--space-5)}.rfp-proc-top--header-only{grid-template-columns:1fr}.rfp-proc-col{display:flex;flex-direction:column;gap:var(--space-2)}.rfp-proc-col--mode,.rfp-proc-col--groups{min-width:140px}.rfp-proc-col__label{font-size:10px;font-weight:var(--font-bold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em}.rfp-proc-input{width:100%;height:36px;padding:0 var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.rfp-proc-input::placeholder{color:var(--ui-text-muted)}.rfp-proc-input:hover:not(:disabled){border-color:var(--ui-border-strong)}.rfp-proc-input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-primary) 20%,transparent)}.rfp-proc-input:disabled{opacity:.6;cursor:not-allowed}.rfp-workmode{display:flex;border:1px solid var(--ui-border);border-radius:var(--radius-md);overflow:hidden;width:fit-content}.rfp-workmode__btn{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:108px;padding:var(--space-1) var(--space-3);border:none;background:var(--ui-surface);color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background .15s,color .15s;text-align:center}.rfp-workmode__btn+.rfp-workmode__btn{border-left:1px solid var(--ui-border)}.rfp-workmode__btn--active{background:var(--ui-primary-muted);color:var(--ui-primary);font-weight:var(--font-semibold)}.rfp-groups-ctrl{display:flex;align-items:center;gap:var(--space-2)}.rfp-groups-ctrl__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background .15s,border-color .15s}.rfp-groups-ctrl__btn:disabled{opacity:.4;cursor:not-allowed}.rfp-groups-ctrl__btn--inc{background:var(--ui-primary-muted);border-color:color-mix(in srgb,var(--ui-primary) 32%,var(--ui-border));color:var(--ui-primary)}.rfp-groups-ctrl__btn--inc:hover{background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 44%,var(--ui-border))}.rfp-groups-ctrl__btn:not(.rfp-groups-ctrl__btn--inc):hover:not(:disabled){background:var(--ui-surface);border-color:var(--ui-border-strong)}.rfp-groups-ctrl__input{width:52px;height:32px;text-align:center;padding:0 var(--space-1);border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-sm);font-weight:var(--font-bold);outline:none;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.rfp-groups-ctrl__input::-webkit-inner-spin-button,.rfp-groups-ctrl__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rfp-groups-ctrl__input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-primary) 20%,transparent)}.rfp-groups-ctrl__input:disabled{opacity:.4;cursor:not-allowed}.rfp-divider{height:1px;background:var(--ui-border);margin:0}.rfp-insumos{padding:var(--space-3) var(--space-5) var(--space-4)}.rfp-insumos__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.rfp-insumos__title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ui-text);margin:0}.rfp-insumos__add-btn{display:inline-flex;align-items:center;gap:var(--space-1);height:30px;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--ui-primary) 28%,var(--ui-border));border-radius:var(--radius-full);background:var(--ui-primary-muted);color:var(--ui-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.rfp-insumos__add-btn:hover{background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 42%,var(--ui-border))}.rfp-insumos__add-btn--ghost{border-color:var(--ui-border);background:var(--ui-surface-raised);color:var(--ui-text)}.rfp-insumo-search{display:flex;align-items:center;gap:var(--space-1)}.rfp-insumo-search__input-wrap{position:relative;flex:1;min-width:420px}.rfp-insumo-search__input{width:100%;height:36px;padding-inline:var(--space-3);padding-right:var(--space-8);background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ui-text);outline:none;transition:border-color var(--transition-fast)}.rfp-insumo-search__input:focus{border-color:var(--ui-primary)}.rfp-insumo-search__input::placeholder{color:var(--ui-text-muted)}.rfp-insumo-search__spinner{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--ui-border-strong);border-top-color:var(--ui-primary);border-radius:50%;pointer-events:none;animation:rfp-spin .7s linear infinite}@keyframes rfp-spin{to{transform:rotate(360deg)}}.rfp-insumo-search__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.rfp-insumo-search__close:hover{color:#fff;border-color:var(--ui-danger);background:var(--ui-danger)}.rfp-insumo-search__dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;background:color-mix(in srgb,var(--ui-surface-raised) 96%,black 4%);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);box-shadow:0 8px 24px color-mix(in srgb,var(--ui-text) 10%,transparent);max-height:220px;overflow-y:auto;z-index:2200;opacity:1;isolation:isolate;display:flex;flex-direction:column}.rfp-insumo-search__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--ui-surface-raised) 96%,black 4%);border:none;text-align:left;font-size:var(--text-sm);color:var(--ui-text);cursor:pointer;border-bottom:1px solid var(--ui-border);transition:background-color var(--transition-fast)}.rfp-insumo-search__option:last-child{border-bottom:none}.rfp-insumo-search__option:hover{background:color-mix(in srgb,var(--ui-primary) 8%,var(--ui-surface-raised))}.rfp-insumo-search__unit{font-size:var(--text-xs);color:var(--ui-text-muted);flex-shrink:0}.rfp-insumos__empty{font-size:var(--text-sm);color:var(--ui-text-muted);font-style:italic;padding:var(--space-3) 0;margin:0}.rfp-insumos__table{width:100%;border-collapse:separate;border-spacing:0}.rfp-insumos__table thead tr{background:var(--ui-surface-raised)}.rfp-insumos__table thead th:first-child{border-radius:var(--radius-md) 0 0 0}.rfp-insumos__table thead th:last-child{border-radius:0 var(--radius-md) 0 0}.rfp-insumos__th{padding:var(--space-1) var(--space-3);text-align:left;font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--ui-border-strong);white-space:nowrap}.rfp-insumos__th--center{text-align:center}.rfp-insumos__th--right{text-align:right}.rfp-insumos__th--action{width:36px;padding:0;text-align:center}.rfp-insumos__td--action{width:36px;padding:0 var(--space-2) 0 0;text-align:center}.rfp-insumos__remove-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ui-text-muted);cursor:pointer;opacity:.45;transition:opacity var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.rfp-insumos__row:hover .rfp-insumos__remove-btn{opacity:1}.rfp-insumos__remove-btn:hover{opacity:1;color:var(--ui-danger);border-color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 10%,transparent)}.rfp-insumos__row{transition:background-color .12s}.rfp-insumos__row:hover{background:var(--ui-surface-hover)}.rfp-insumos__td{padding:var(--space-1) var(--space-3);vertical-align:middle;border-bottom:1px solid var(--ui-border)}.rfp-insumos__row:last-child .rfp-insumos__td{border-bottom:none}.rfp-insumos__td--name{min-width:200px}.rfp-insumos__td--center{text-align:center;color:var(--ui-text-muted);font-size:var(--text-sm)}.rfp-insumos__td--qty{text-align:center;white-space:nowrap}.rfp-insumos__name{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ui-text)}.rfp-insumos__id{display:block;font-size:var(--text-xs);color:var(--ui-text-muted);margin-top:1px}.rfp-insumo-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.04em;text-transform:uppercase}.rfp-insumo-badge--req{background:var(--ui-info-muted);color:var(--ui-info)}.rfp-insumo-badge--opt{background:var(--ui-success-muted);color:var(--ui-success)}.rfp-qty-ctrl{display:inline-flex;align-items:center;gap:var(--space-2)}.rfp-qty-ctrl__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-base);line-height:1;cursor:pointer;transition:background .15s,border-color .15s}.rfp-qty-ctrl__btn:disabled{opacity:.4;cursor:not-allowed}.rfp-qty-ctrl__btn--inc{background:var(--ui-primary-muted);border-color:color-mix(in srgb,var(--ui-primary) 32%,var(--ui-border));color:var(--ui-primary)}.rfp-qty-ctrl__btn--inc:hover{background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 44%,var(--ui-border))}.rfp-qty-ctrl__btn:not(.rfp-qty-ctrl__btn--inc):hover:not(:disabled){background:var(--ui-surface);border-color:var(--ui-border-strong)}.rfp-qty-ctrl__value{min-width:3ch;text-align:center;font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ui-text)}.rfp-qty-ctrl__input{width:52px;height:28px;padding:0 var(--space-1);border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--text-base);font-weight:var(--font-bold);text-align:center;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}.rfp-qty-ctrl__input::-webkit-outer-spin-button,.rfp-qty-ctrl__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rfp-qty-ctrl__input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-primary) 20%,transparent)}.rfp-proc-col--locked{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .2s,filter .2s}.rfp-proc-col--blurred{filter:blur(2px)}@media(max-width:768px){.rfp__top,.rfp__scroll,.rfp-footer{padding-inline:var(--space-4)}.rfp-proc-top{grid-template-columns:1fr;padding:var(--space-4)}.rfp-ctx__items{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.rfp-ctx__items>:nth-child(1){grid-column:1;grid-row:1}.rfp-ctx__items>:nth-child(2){display:none}.rfp-ctx__items>:nth-child(3){grid-column:2;grid-row:1}.rfp-ctx__items>:nth-child(4){display:none}.rfp-ctx__items>:nth-child(5){grid-column:1 / -1;grid-row:2}.rfp-ctx__sep{display:none}.rfp-step__label{font-size:var(--text-xs)}.rfp-footer{flex-wrap:wrap;gap:var(--space-2)}.rfp-footer__actions{flex:1;justify-content:flex-end}}.rfp-insumos__empty-row td{padding:var(--space-5) var(--space-4);color:var(--ui-text-muted);font-size:var(--text-sm);font-style:italic;text-align:center}.rfp-insumos__add-row-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-inline:auto;border:1px solid color-mix(in srgb,var(--ui-primary) 32%,var(--ui-border));border-radius:var(--radius-sm);background:var(--ui-primary-muted);color:var(--ui-primary);cursor:pointer;font-family:inherit;font-size:16px;font-weight:var(--font-bold);line-height:1;text-align:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.rfp-insumos__add-row-btn:hover{border-color:color-mix(in srgb,var(--ui-primary) 44%,var(--ui-border));background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface))}.rfp-groups-ctrl__btn--inc,.rfp-qty-ctrl__btn--inc,.rfp-insumos__add-row-btn{background:var(--ui-primary-muted);border-color:color-mix(in srgb,var(--ui-primary) 32%,var(--ui-border));color:var(--ui-primary)}.rfp-groups-ctrl__btn--inc:hover:not(:disabled),.rfp-qty-ctrl__btn--inc:hover:not(:disabled),.rfp-insumos__add-row-btn:hover{background:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-primary) 44%,var(--ui-border))}.rfp-manual-input,.rfp-manual-select{width:100%;height:28px;padding:0 var(--space-2);border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface);color:var(--ui-text);font-size:var(--text-sm);font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.rfp-manual-input:focus,.rfp-manual-select:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 14%,transparent)}.rfp-manual-input::placeholder{color:var(--ui-text-dim)}.ra-tab-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--ui-border);flex-shrink:0;min-height:40px;position:relative;z-index:6;background:var(--ui-surface)}.ra-tab-footer .ra-tab-action-bar__meta{margin-right:auto;font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-tab-action-bar__meta-wrap{margin-right:auto;display:flex;flex-direction:column;gap:2px}.ra-tab-action-bar__hint{font-size:var(--text-xs);color:var(--ui-warning)}.ra-moved-strip{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-warning) 8%,var(--ui-surface))}.ra-moved-strip__title{margin:0;font-size:var(--text-xs);color:var(--ui-text-muted)}.ra-moved-strip__list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ra-moved-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--ui-warning) 16%,var(--ui-surface));color:var(--ui-text);font-size:var(--text-xs)}.ra-tab-footer__closed{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%}.ra-tab-closed-indicator{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ui-success)}.ra-tab-close-error{margin:0;font-size:var(--text-sm);color:var(--ui-danger)}.ra-tab-reopen-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.ra-finalize-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:2px solid var(--ui-border);background:var(--ui-surface-raised);flex-shrink:0}.ra-finalize-bar__hint{font-size:var(--text-sm);color:var(--ui-text-muted);flex:1}.res-status-pill--locked{background:var(--ui-warning-subtle, color-mix(in srgb, var(--ui-warning) 12%, transparent));color:var(--ui-warning);border:1px solid color-mix(in srgb,var(--ui-warning) 30%,transparent)}.res-block__locked-msg{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:1.45;color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--ui-warning) 20%,transparent);border-radius:var(--radius-sm);text-align:center}app-week-lock-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.rwl-page{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);overflow-y:auto;max-width:680px}.rwl-header{display:flex;flex-direction:column;gap:var(--space-1)}.rwl-header__title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ui-text);margin:0}.rwl-header__desc{font-size:var(--text-sm);color:var(--ui-text-muted);margin:0;line-height:1.5}.rwl-loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;color:var(--ui-text-muted);font-size:var(--text-sm)}.rwl-loading__spinner{width:16px;height:16px;border:2px solid var(--ui-border);border-top-color:var(--ui-primary);border-radius:50%;animation:rwl-spin .75s linear infinite;flex-shrink:0}@keyframes rwl-spin{to{transform:rotate(360deg)}}.rwl-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--ui-danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--ui-danger) 25%,transparent);border-radius:var(--radius-md);color:var(--ui-danger);font-size:var(--text-sm)}.rwl-error__icon{flex-shrink:0;display:flex;align-items:center}.rwl-error__retry{margin-left:auto;padding:var(--space-1) var(--space-3);border:1px solid color-mix(in srgb,var(--ui-danger) 40%,transparent);border-radius:var(--radius-sm);background:transparent;color:var(--ui-danger);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.rwl-error__retry:hover{background:color-mix(in srgb,var(--ui-danger) 12%,transparent)}.rwl-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--ui-border);background:var(--ui-surface-raised)}.rwl-card--locked{border-color:color-mix(in srgb,var(--ui-warning) 35%,transparent);background:color-mix(in srgb,var(--ui-warning) 4%,var(--ui-surface-raised))}.rwl-card--released{border-color:color-mix(in srgb,var(--ui-success) 35%,transparent);background:color-mix(in srgb,var(--ui-success) 4%,var(--ui-surface-raised))}.rwl-card--none{align-items:center;text-align:center;padding:var(--space-6) var(--space-5)}.rwl-card__head{display:flex;align-items:center}.rwl-card__icon--none{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text-muted);margin-bottom:var(--space-2)}.rwl-card__status{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--ui-text);margin:0}.rwl-card__hint{font-size:var(--text-sm);color:var(--ui-text-muted);margin:0;line-height:1.5}.rwl-status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em}.rwl-status-badge--locked{background:color-mix(in srgb,var(--ui-warning) 14%,transparent);color:var(--ui-warning);border:1px solid color-mix(in srgb,var(--ui-warning) 30%,transparent)}.rwl-status-badge--released{background:color-mix(in srgb,var(--ui-success) 14%,transparent);color:var(--ui-success);border:1px solid color-mix(in srgb,var(--ui-success) 30%,transparent)}.rwl-week-range{display:flex;flex-direction:column;gap:var(--space-1)}.rwl-week-range__label{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.07em;color:var(--ui-text-muted)}.rwl-week-range__value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--ui-text)}.rwl-release-detail{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--ui-surface);border-radius:var(--radius-md);border:1px solid var(--ui-border);margin:0}.rwl-release-detail__row{display:flex;align-items:baseline;gap:var(--space-2)}.rwl-release-detail__label{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.07em;color:var(--ui-text-muted);min-width:80px;flex-shrink:0}.rwl-release-detail__value{font-size:var(--text-sm);color:var(--ui-text)}.rwl-release-btn{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;padding:var(--space-2) var(--space-4);border:1px solid color-mix(in srgb,var(--ui-warning) 50%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ui-warning) 10%,transparent);color:var(--ui-warning);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.rwl-release-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ui-warning) 18%,transparent);border-color:color-mix(in srgb,var(--ui-warning) 65%,transparent)}.rwl-release-btn:disabled{opacity:.55;cursor:not-allowed}.rwl-btn-spinner{width:13px;height:13px;border:2px solid color-mix(in srgb,var(--ui-warning) 30%,transparent);border-top-color:var(--ui-warning);border-radius:50%;animation:rwl-spin .75s linear infinite;flex-shrink:0}.tv-page,.tv-setup{--tv-bg: var(--ui-surface-page);--tv-surface: var(--ui-surface);--tv-surface-2: var(--ui-surface-raised);--tv-border: var(--ui-border);--tv-text: var(--ui-text);--tv-text-muted: var(--ui-text-muted);--tv-text-dim: color-mix(in srgb, var(--ui-text-muted) 58%, transparent);--tv-primary: var(--ui-primary);--tv-primary-bg: var(--ui-primary-muted);--tv-info: var(--ui-info);--tv-success: color-mix(in srgb, var(--ui-success) 58%, var(--ui-info));--tv-success-bg: color-mix(in srgb, var(--ui-success-muted) 58%, var(--ui-info-muted));--tv-warning: var(--ui-warning);--tv-warning-bg: var(--ui-warning-muted);--tv-danger: var(--ui-danger);--tv-danger-bg: var(--ui-danger-muted)}.tv-page{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:100dvh;overflow:hidden;position:relative;background:radial-gradient(circle at top left,color-mix(in srgb,var(--tv-primary) 14%,transparent),transparent 28%),radial-gradient(circle at bottom right,color-mix(in srgb,var(--tv-info) 10%,transparent),transparent 24%),var(--tv-bg);color:var(--tv-text)}.tv-header{display:flex;align-items:center;justify-content:space-between;padding:clamp(6px,.9vh,10px) clamp(14px,1.8vw,24px);min-height:clamp(52px,6.8vh,64px);background:color-mix(in srgb,var(--tv-surface) 92%,transparent);border-bottom:1px solid var(--tv-border);position:relative}.tv-header__brand{display:flex;align-items:center;flex:1}.tv-header .sc-system-logo{--sc-logo-name-color: var(--tv-text);--sc-logo-sub-color: color-mix(in srgb, var(--tv-primary) 88%, var(--tv-text));--sc-logo-icon-size: clamp(30px, 3.4vh, 36px)}.tv-header__center{position:absolute;left:50%;transform:translate(-50%)}.tv-header__title{margin:0;font-size:clamp(13px,1.7vh,16px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--tv-text)}.tv-header__right{display:flex;align-items:center;justify-content:flex-end;gap:clamp(8px,1.2vw,14px);flex:1}.tv-header__clock{font-size:clamp(16px,2.3vh,20px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em}.tv-header__active-badge{padding:clamp(3px,.45vh,4px) clamp(8px,.9vw,12px);border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--tv-primary) 26%,var(--tv-border));background:var(--tv-primary-bg);color:var(--tv-primary);font-size:clamp(9px,1.1vh,10px);font-weight:700;letter-spacing:.12em;white-space:nowrap}.tv-monitor-error{margin:10px 28px 0;padding:10px 14px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--tv-danger) 24%,var(--tv-border));background:color-mix(in srgb,var(--tv-danger) 12%,transparent);color:var(--tv-danger);font-size:13px;font-weight:600}.tv-debugbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:absolute;top:clamp(58px,7.6vh,72px);right:20px;z-index:18;margin:0;padding:clamp(6px,.8vh,8px) clamp(8px,.9vw,12px);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--tv-primary) 20%,var(--tv-border));background:color-mix(in srgb,var(--tv-bg) 84%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 24px color-mix(in srgb,black 22%,transparent);max-width:min(calc(100vw - 40px),980px)}.tv-debugbar__info,.tv-debugbar__actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.tv-debugbar__info{font-size:clamp(10px,1.2vh,12px);letter-spacing:.04em}.tv-debugbar__label{color:var(--tv-primary);font-weight:800;text-transform:uppercase}.tv-debugbar__btn{padding:clamp(4px,.7vh,6px) clamp(8px,.7vw,10px);white-space:nowrap;border:1px solid var(--tv-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--tv-text) 5%,transparent);color:var(--tv-text);font-size:clamp(10px,1.05vh,11px);font-weight:700;letter-spacing:.04em;cursor:pointer}.tv-debugbar__btn--ghost{color:var(--tv-text-muted)}.tv-debugbar__btn--active{border-color:color-mix(in srgb,var(--tv-primary) 36%,var(--tv-border));background:color-mix(in srgb,var(--tv-primary) 16%,transparent);color:var(--tv-primary)}.tv-main{display:flex;flex-direction:column;height:100%;flex:1 1 auto;min-height:0;padding:clamp(8px,1.4vh,16px) clamp(12px,1.4vw,20px) clamp(8px,1vh,12px);overflow:hidden}.tv-main--split{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);gap:clamp(10px,1.4vh,16px);height:100%;min-height:0;align-items:stretch;align-content:stretch}.tv-zone{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;border:1px solid var(--tv-border);border-radius:clamp(12px,1.8vh,18px);overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--tv-text) 4%,transparent),color-mix(in srgb,var(--tv-text) 2%,transparent)),var(--tv-surface);box-shadow:0 18px 40px color-mix(in srgb,var(--tv-bg) 72%,transparent)}.tv-zone__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:clamp(7px,1vh,10px) clamp(10px,1.2vw,16px) clamp(6px,.8vh,8px);border-bottom:1px solid color-mix(in srgb,var(--tv-text) 6%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--tv-primary) 14%,transparent),transparent 45%),color-mix(in srgb,var(--tv-text) 2%,transparent)}.tv-zone__eyebrow{margin:0 0 2px;color:var(--tv-text);font-size:clamp(9px,1vh,10px);font-weight:800;letter-spacing:.18em;text-transform:uppercase}.tv-zone__title{margin:0;color:var(--tv-primary);font-size:clamp(14px,2vh,18px);font-weight:700;line-height:1.1}.tv-zone__meta{color:var(--tv-text-muted);font-size:clamp(9px,1vh,10px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.tv-zone__body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:clamp(10px,1.5vh,16px)}.tv-zone__body app-tv-rooms-grid{display:block;height:100%}.tv-side-column{display:grid;grid-template-rows:minmax(0,7fr) minmax(0,3fr);gap:clamp(10px,1.4vh,16px);height:100%;min-height:0}.tv-zone__body--stack{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(8px,1.1vh,12px);min-height:0}.tv-zone__body--stack-lab{grid-template-rows:repeat(2,minmax(0,1fr))}.tv-support__slot,.tv-zone__body--stack app-tv-room-card,.tv-zone--lab app-tv-room-card{display:block;height:100%}.tv-grid{display:grid;grid-template-columns:repeat(var(--tv-cols, 3),1fr);grid-auto-rows:minmax(0,1fr);gap:clamp(8px,1.1vh,14px);width:100%;height:100%;min-height:0}.tv-card{--_accent: var(--tv-primary);position:relative;display:grid;grid-template-rows:minmax(0,11fr) minmax(0,9fr);height:100%;min-height:0;overflow:hidden;border-radius:clamp(12px,1.6vh,16px);border:1px solid var(--tv-border);background:radial-gradient(circle at top right,color-mix(in srgb,var(--tv-text) 8%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in srgb,var(--tv-text) 5%,transparent),color-mix(in srgb,var(--tv-text) 2%,transparent)),var(--tv-surface)}.tv-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--_accent)}.tv-card[data-tone=success]{--_accent: var(--tv-success);border-color:color-mix(in srgb,var(--tv-success) 20%,var(--tv-border))}.tv-card[data-tone=primary]{--_accent: var(--tv-primary);border-color:color-mix(in srgb,var(--tv-primary) 20%,var(--tv-border))}.tv-card[data-tone=warning]{--_accent: var(--tv-warning);border-color:color-mix(in srgb,var(--tv-warning) 20%,var(--tv-border))}.tv-card[data-tone=danger]{--_accent: var(--tv-danger);border-color:color-mix(in srgb,var(--tv-danger) 22%,var(--tv-border))}.tv-card[data-tone=muted]{--_accent: color-mix(in srgb, var(--tv-text) 18%, transparent)}.tv-card[data-tone=neutral]{--_accent: color-mix(in srgb, var(--tv-text) 92%, var(--tv-surface));border-color:color-mix(in srgb,var(--tv-text) 14%,var(--tv-border))}.tv-card[data-tone=ended]{--_accent: color-mix(in srgb, black 88%, var(--tv-text));border-color:color-mix(in srgb,black 28%,var(--tv-border))}.tv-card[data-available=true]{background:linear-gradient(180deg,color-mix(in srgb,var(--tv-text) 2%,transparent),color-mix(in srgb,var(--tv-text) 1%,transparent)),color-mix(in srgb,var(--tv-bg) 76%,var(--tv-surface))}.tv-card[data-unavailable=true]{background:radial-gradient(circle at top right,color-mix(in srgb,var(--tv-danger) 18%,transparent),transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--tv-danger) 10%,transparent),color-mix(in srgb,var(--tv-danger) 5%,transparent)),var(--tv-surface)}.tv-card__hero{display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(5px,.9vh,8px);padding:clamp(8px,1.2vh,12px) clamp(12px,1.2vw,18px) clamp(7px,1vh,10px);min-height:0}.tv-card__chrome{display:flex;align-items:center;justify-content:space-between;gap:10px}.tv-card__badge{position:relative;z-index:3;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--_accent) 32%,transparent);background:color-mix(in srgb,var(--_accent) 16%,transparent);color:var(--_accent);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.tv-card__badge[data-badge-tone=success]{border-color:color-mix(in srgb,var(--tv-success) 35%,transparent);background:color-mix(in srgb,var(--tv-success) 16%,transparent);color:var(--tv-success)}.tv-card__badge[data-badge-tone=warning]{border-color:color-mix(in srgb,var(--tv-warning) 38%,transparent);background:color-mix(in srgb,var(--tv-warning) 16%,transparent);color:var(--tv-warning)}.tv-card__badge[data-badge-tone=neutral]{border-color:color-mix(in srgb,var(--tv-text) 18%,transparent);background:color-mix(in srgb,var(--tv-surface-2) 90%,transparent);color:var(--tv-text)}.tv-card__badge[data-badge-tone=ended]{border-color:color-mix(in srgb,black 50%,transparent);background:color-mix(in srgb,black 88%,transparent);color:#fff}.tv-card__badge[data-badge-tone=danger]{border-color:color-mix(in srgb,var(--tv-danger) 38%,transparent);background:color-mix(in srgb,var(--tv-danger) 16%,transparent);color:var(--tv-danger)}.tv-card__code{color:var(--_accent);font-size:clamp(1.55rem,1.6vw,1.9rem);font-weight:800;line-height:1}.tv-card__hero-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:0;text-align:center}.tv-card__zone{margin:0;color:var(--tv-text-dim);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tv-card__hero-title{margin:0;color:var(--tv-text-muted);font-size:clamp(1.08rem,1.45vw,1.56rem);font-weight:800;line-height:1.15;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tv-card__hero-subtitle{margin:0;color:var(--tv-text);font-size:clamp(.74rem,.88vw,.92rem);font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.tv-card[data-unavailable=true] .tv-card__hero-subtitle{color:color-mix(in srgb,var(--tv-danger) 78%,var(--tv-text))}.tv-card__details{position:relative;min-height:0;overflow:hidden;padding:clamp(8px,1.1vh,12px) clamp(12px,1.2vw,18px) clamp(10px,1.4vh,16px);border-top:1px solid color-mix(in srgb,var(--tv-text) 6%,transparent);background:color-mix(in srgb,var(--tv-text) 3%,transparent)}.tv-card__watermark{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:color-mix(in srgb,var(--tv-text) 8%,transparent);font-size:clamp(3.2rem,5.1vh,5.8rem);font-weight:800;line-height:.8;-webkit-user-select:none;user-select:none;pointer-events:none;letter-spacing:-.04em}.tv-card[data-zone=simulacion] .tv-card__watermark{left:14px;right:auto;font-size:clamp(4.9rem,7.8vh,8.8rem)}.tv-card[data-zone=simulacion][data-code-length="2"] .tv-card__watermark{font-size:clamp(5.1rem,8.1vh,9.4rem)}.tv-card[data-zone=simulacion][data-code-length="3"] .tv-card__watermark{font-size:clamp(4.7rem,7.3vh,8.2rem)}.tv-card[data-zone=entrenamiento] .tv-card__watermark,.tv-card[data-zone=laboratorio] .tv-card__watermark,.tv-card[data-zone=general] .tv-card__watermark{right:14px;left:auto}.tv-card[data-zone=entrenamiento][data-code-length="2"] .tv-card__watermark{font-size:clamp(5.2rem,7.8vh,8rem)}.tv-card[data-zone=laboratorio][data-code-length="5"] .tv-card__watermark,.tv-card[data-zone=laboratorio][data-code-length="6"] .tv-card__watermark,.tv-card[data-zone=general][data-code-length="5"] .tv-card__watermark,.tv-card[data-zone=general][data-code-length="6"] .tv-card__watermark{font-size:clamp(3.6rem,5.4vh,5.1rem);letter-spacing:-.06em}.tv-card__details-content,.tv-card__details-empty{position:relative;z-index:1;min-height:100%}.tv-card__details-content{display:flex;flex-direction:column;gap:10px}.tv-card__detail-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;min-height:100%}.tv-card__detail-summary{display:flex;flex-direction:column;gap:8px;min-width:0}.tv-card__detail-aside{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:4px;min-width:0;text-align:right}.tv-card__detail-title{margin:0;color:var(--tv-text);font-size:clamp(.95rem,1.2vw,1.1rem);font-weight:700;line-height:1.2}.tv-card__detail-course{margin:0;color:var(--tv-text-muted);font-size:clamp(.82rem,.95vw,.94rem);font-weight:700;line-height:1.15}.tv-card__detail-course--teacher{font-size:clamp(1.12rem,1.3vw,1.48rem);line-height:1.08;color:var(--tv-text)}.tv-card[data-zone=simulacion] .tv-card__detail-course--teacher{color:color-mix(in srgb,var(--tv-text) 78%,transparent);font-weight:600}.tv-card__detail-item{display:flex;flex-direction:column;gap:3px;overflow:hidden}.tv-card__detail-item--summary{gap:2px}.tv-card__detail-item--full{grid-column:1 / -1}.tv-card__detail-label{color:var(--tv-text-dim);font-size:clamp(9px,.95vh,10px);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tv-card__detail-value{color:var(--tv-text-muted);font-size:clamp(12px,1.35vh,15px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tv-card__detail-value--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-card__detail-value--group{font-size:clamp(1rem,1.18vw,1.34rem);font-weight:500;color:var(--tv-text)}.tv-card__detail-value--countdown{white-space:nowrap;font-size:clamp(1.02rem,1.18vw,1.32rem)}.tv-card__detail-value--strong{color:var(--_accent);font-weight:700}.tv-card__detail-countdown{display:inline-flex;align-items:center;gap:8px}.tv-card__detail-countdown-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;color:currentColor;flex:0 0 auto}.tv-card__detail-value--countdown[data-countdown-state=primary]{color:var(--tv-primary)}.tv-card__detail-value--countdown[data-countdown-state=warning]{color:var(--tv-warning)}.tv-card__detail-value--countdown[data-countdown-state=danger]{color:var(--tv-danger)}.tv-card__detail-countdown[data-countdown-state=primary]{color:var(--tv-primary)}.tv-card__detail-countdown[data-countdown-state=warning]{color:var(--tv-warning)}.tv-card__detail-countdown[data-countdown-state=danger]{color:var(--tv-danger)}.tv-card__loader{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--tv-primary) 24%,var(--tv-border));background:color-mix(in srgb,var(--tv-bg) 76%,transparent);color:var(--tv-text);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tv-card__loader-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--tv-primary);box-shadow:0 0 10px color-mix(in srgb,var(--tv-primary) 50%,transparent);animation:tv-card-loader-pulse 1.1s ease-in-out infinite}.tv-card[data-compact=true] .tv-card__hero{gap:6px;padding:10px 16px 8px}.tv-card[data-compact=true] .tv-card__details{padding:10px 16px 14px}.tv-card[data-compact=true] .tv-card__hero-title{font-size:1.22rem}.tv-card[data-compact=true] .tv-card__hero-subtitle,.tv-card[data-compact=true] .tv-card__detail-course{font-size:.9rem}.tv-card[data-compact=true] .tv-card__detail-course--teacher{font-size:clamp(1rem,1.12vw,1.28rem)}.tv-card[data-compact=true] .tv-card__detail-value{font-size:13px}.tv-card[data-compact=true] .tv-card__detail-value--group{font-size:clamp(.92rem,1vw,1.16rem)}.tv-card[data-compact=true] .tv-card__detail-value--countdown{font-size:clamp(.86rem,.96vw,1.04rem)}.tv-card[data-compact=true] .tv-card__watermark{font-size:clamp(3.8rem,5.8vh,5.8rem)}.tv-card[data-compact=true][data-zone=entrenamiento][data-code-length="2"] .tv-card__watermark{font-size:clamp(4.5rem,6.9vh,6.8rem)}.tv-card[data-compact=true][data-zone=laboratorio][data-code-length="5"] .tv-card__watermark,.tv-card[data-compact=true][data-zone=laboratorio][data-code-length="6"] .tv-card__watermark{font-size:clamp(3.1rem,4.8vh,4.6rem)}.tv-zone--training .tv-zone__body{padding:clamp(8px,1vh,12px)}.tv-zone--training .tv-zone__body--stack{gap:clamp(6px,.9vh,10px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__hero{padding:clamp(7px,.9vh,10px) clamp(10px,1vw,14px) clamp(6px,.8vh,8px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__details{padding:clamp(7px,.9vh,10px) clamp(10px,1vw,14px) clamp(8px,1vh,12px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__hero-title{font-size:clamp(1rem,1.15vw,1.22rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__hero-subtitle,.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-course{font-size:clamp(.76rem,.8vw,.88rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-value{font-size:clamp(11px,1.1vh,13px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-value--group{font-size:clamp(.84rem,.92vw,1.06rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__hero-body,.tv-zone--lab .tv-card[data-compact=true] .tv-card__hero-body{align-items:center;justify-content:center;text-align:center;gap:clamp(3px,.5vh,6px)}.tv-zone--training .tv-card[data-compact=true],.tv-zone--lab .tv-card[data-compact=true]{grid-template-rows:minmax(0,12fr) minmax(0,8fr)}.tv-zone--training .tv-card[data-compact=true] .tv-card__zone,.tv-zone--lab .tv-card[data-compact=true] .tv-card__zone{font-size:clamp(.5rem,.6vw,.58rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__hero-title,.tv-zone--lab .tv-card[data-compact=true] .tv-card__hero-title{width:100%;-webkit-line-clamp:2;font-size:clamp(.72rem,.8vw,.9rem);line-height:1.06;overflow-wrap:anywhere}.tv-zone--training .tv-card[data-compact=true] .tv-card__hero-subtitle,.tv-zone--lab .tv-card[data-compact=true] .tv-card__hero-subtitle{width:100%;font-size:clamp(.58rem,.66vw,.72rem);white-space:normal;overflow:hidden;text-overflow:unset;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;overflow-wrap:anywhere}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-course--teacher,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-course--teacher{font-size:clamp(.72rem,.78vw,.9rem);line-height:1.05;font-weight:600}.tv-zone--training .tv-card[data-compact=true] .tv-card__badge,.tv-zone--lab .tv-card[data-compact=true] .tv-card__badge{padding:2px 7px;font-size:clamp(7px,.74vh,8px);letter-spacing:.09em}.tv-zone--training .tv-card[data-compact=true] .tv-card__chrome,.tv-zone--lab .tv-card[data-compact=true] .tv-card__chrome{position:relative}.tv-zone--training .tv-card[data-compact=true] .tv-card__chrome .tv-card__zone,.tv-zone--lab .tv-card[data-compact=true] .tv-card__chrome .tv-card__zone{position:absolute;left:50%;transform:translate(-50%);margin:0;text-align:center;pointer-events:none}.tv-zone--training .tv-card[data-compact=true] .tv-card__code,.tv-zone--lab .tv-card[data-compact=true] .tv-card__code{font-size:clamp(.9rem,.96vw,1.04rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-label,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-label{font-size:clamp(8px,.78vh,9px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-value,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-value{font-size:clamp(10px,1vh,12px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-value--group,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-value--group{font-size:clamp(.74rem,.82vw,.96rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-value--countdown,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-value--countdown{font-size:clamp(.72rem,.8vw,.92rem)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-main,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-main{grid-template-columns:minmax(0,1fr);gap:clamp(6px,.8vh,8px);align-items:start}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-summary,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-summary{gap:clamp(4px,.6vh,6px)}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-aside,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-aside{align-items:flex-start;text-align:left;gap:2px}.tv-zone--training .tv-card[data-compact=true] .tv-card__detail-countdown,.tv-zone--lab .tv-card[data-compact=true] .tv-card__detail-countdown{gap:6px}@keyframes tv-card-loader-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.tv-secondary{padding:0 clamp(12px,1.4vw,20px) clamp(8px,1vh,12px)}.tv-strip{display:flex;align-items:center;gap:clamp(10px,1.1vw,16px);padding:clamp(5px,.7vh,7px) clamp(10px,1vw,16px);border-radius:var(--radius-md);border:1px solid var(--tv-border);background:color-mix(in srgb,var(--tv-text) 3%,transparent)}.tv-strip__label{flex-shrink:0;color:var(--tv-text-dim);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tv-strip__items{display:flex;align-items:center;gap:8px;overflow:hidden;flex-wrap:nowrap}.tv-strip__item{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:clamp(11px,1.25vh,13px)}.tv-strip__code{color:var(--tv-text-muted);font-weight:700}.tv-strip__status{color:var(--tv-danger);font-size:10px;font-weight:700;letter-spacing:.08em}.tv-strip__reason,.tv-strip__sep{color:var(--tv-text-dim)}.tv-setup{display:flex;align-items:center;justify-content:center;height:100dvh;background:radial-gradient(circle at top left,color-mix(in srgb,var(--tv-primary) 14%,transparent),transparent 30%),var(--tv-bg)}.tv-setup__card{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;padding:48px 56px;border:1px solid var(--tv-border);border-radius:var(--radius-xl);background:var(--tv-surface);text-align:center;--ui-surface: var(--tv-surface-2);--ui-border: color-mix(in srgb, var(--tv-text) 10%, transparent);--ui-border-strong: color-mix(in srgb, var(--tv-text) 20%, transparent);--ui-text: var(--tv-text);--ui-text-muted: color-mix(in srgb, var(--tv-text) 46%, transparent);--ui-ring: color-mix(in srgb, var(--tv-primary) 55%, transparent);--ui-ring-offset: var(--tv-surface);--ui-danger: var(--tv-danger)}.tv-setup__logo{display:flex;align-items:center;justify-content:center}.tv-setup__title{margin:0;color:var(--tv-text);font-size:26px;font-weight:700}.tv-setup__sub{margin:0;max-width:320px;color:color-mix(in srgb,var(--tv-text) 52%,transparent);font-size:14px;line-height:1.5}.tv-setup__btn{padding:12px 36px;border:none;border-radius:var(--radius-md);background:linear-gradient(160deg,var(--ui-primary-shine) 0%,var(--ui-primary) 55%,var(--ui-primary-hover) 100%);color:var(--ui-primary-text);font-size:15px;font-weight:700;letter-spacing:.06em;cursor:pointer}.tv-setup__btn:hover:not(:disabled){filter:brightness(1.1)}.tv-setup__btn:disabled{opacity:.45;cursor:not-allowed}.tv-setup__error{margin:0;color:var(--tv-danger);font-size:13px}.tv-main--maintenance{display:flex;align-items:stretch}.tv-maintenance{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center;color:color-mix(in srgb,var(--tv-text) 40%,transparent)}.tv-maintenance svg{color:color-mix(in srgb,var(--tv-warning) 50%,transparent)}.tv-maintenance__title{margin:0;color:color-mix(in srgb,var(--tv-text) 62%,transparent);font-size:32px;font-weight:800;letter-spacing:.16em}.tv-maintenance__sub{margin:0;color:color-mix(in srgb,var(--tv-text) 34%,transparent);font-size:16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-base);line-height:1.5;color:var(--ui-text);background-color:var(--ui-surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-display=far] body{font-size:calc(var(--text-base) * var(--density-text-scale))}a{color:var(--ui-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit}img,video{max-width:100%;display:block}:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:var(--ui-border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ui-border-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--ui-text-muted)}::-webkit-scrollbar-corner{background:transparent}
