@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/MontserratVariable.woff2) format("woff2")}:root{color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-heading: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display: var(--font-heading);--font-family-heading: var(--font-heading);--font-family-body: var(--font-body);--font-family-action: var(--font-body);--font-family-overline: var(--font-heading);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--font-size-h1: 1.75rem;--line-height-h1: 1.2;--font-size-h2: 1.5rem;--line-height-h2: 1.25;--font-size-h3: 1.25rem;--line-height-h3: 1.3;--font-size-modal-title: 1.25rem;--line-height-modal-title: 1.3;--font-size-section-title: 1rem;--line-height-section-title: 1.4;--font-size-label: .8125rem;--line-height-label: 1.35;--font-size-input: .875rem;--line-height-input: 1.45;--font-size-table-header: .75rem;--line-height-table-header: 1.3;--font-size-table-body: .8125rem;--line-height-table-body: 1.45;--font-size-helper: .75rem;--line-height-helper: 1.35;--font-size-kpi: 1.875rem;--line-height-kpi: 1.1;--font-size-body-l: 1.125rem;--line-height-body-l: 1.5;--N25: #fcfcfd;--N50: #f9fafb;--N100: #f8f7fa;--N200: #e5e7eb;--N300: #d1d5db;--N400: #9ca3af;--N500: #6b7280;--N600: #4b5563;--N700: #374151;--N800: #1f2937;--N900: #111827;--N950: #030712;--M25: #f4f6f9;--M50: #e6eaf0;--M100: #c9d2de;--M200: #a5b7c8;--M300: #748aa8;--M400: #4b668c;--M500: #1b2b63;--M600: #16203f;--M700: #111827;--M800: #0b1220;--M900: #060a13;--M950: #030712;--C25: #f0f9ff;--C50: #e0f7ff;--C100: #bae6fd;--C200: #7dd3fc;--C300: #38bdf8;--C400: #22b8e6;--C500: #00B2E5;--C600: #0284c7;--C700: #0369a1;--C800: #075985;--C900: #0c4a6e;--C950: #082f49;--V25: #f5f3ff;--V50: #ede9fe;--V100: #ddd6fe;--V200: #c4b5fd;--V300: #a78bfa;--V400: #8b5cf6;--V500: #7c3aed;--V600: #6d28d9;--V700: #5b21b6;--V800: #4c1d95;--V900: #311465;--V950: #1e0c3e;--A25: #fff9ec;--A50: #fff2cc;--A100: #ffefa3;--A200: #ffd978;--A300: #ffc95c;--A400: #ffbc42;--A500: #e6a932;--A600: #cc9628;--A700: #a87920;--A800: #7d5d18;--A900: #594010;--A950: #3a2908;--CL25: #fff4f1;--CL50: #ffe4dd;--CL100: #ffcfc2;--CL200: #ffb29f;--CL300: #ff967c;--CL400: #ff7f5c;--CL500: #ff6b35;--CL600: #e85a2b;--CL700: #c94a22;--CL800: #a73b1a;--CL900: #7f2c13;--CL950: #571c0c;--AL25: #fffdf5;--AL50: #fff8e1;--AL100: #fff0c3;--AL200: #ffe082;--AL300: #ffd54f;--AL400: #ffbf24;--AL500: #ffc107;--AL600: #e6a800;--AL700: #d97706;--AL800: #b45309;--AL900: #8a4b00;--AL950: #4d2a00;--ER25: #fff1f2;--ER50: #ffe4e6;--ER100: #fecdd3;--ER200: #fda4af;--ER300: #fb7185;--ER400: #f87171;--ER500: #dc3545;--ER600: #dc2626;--ER700: #b91c1c;--ER800: #991b1b;--ER900: #7f1d1d;--ER950: #450a0a;--E25: #f2fbf8;--E50: #e6f6ec;--E100: #c1eacd;--E200: #91d9a8;--E300: #60c681;--E400: #34d399;--E500: #28a745;--E600: #1e8c35;--E700: #0f7b2b;--E800: #0b5f22;--E900: #065f46;--E950: #022c22;--I25: #f0f9ff;--I50: #e0f2fe;--I100: #bae6fd;--I200: #7dd3fc;--I300: #38bdf8;--I400: #33c1ea;--I500: #0099c7;--I600: #0284c7;--I700: #03598a;--I800: #075985;--I900: #0c4a6e;--I950: #082f49;--color-text-heading: var(--M700);--color-text-body: var(--N800);--color-text-secondary: var(--N600);--color-text-auxiliary: var(--N500);--color-text-disabled: var(--N400);--color-text-inverse: var(--N25);--color-text-primary: var(--color-text-body);--color-text-tertiary: var(--N700);--color-text-muted: var(--color-text-secondary);--color-text-muted-soft: var(--color-text-auxiliary);--color-focus-ring: var(--M400);--color-focus-ring-muted: color-mix(in srgb, var(--M400) 22%, transparent);--color-bg-page: var(--N50);--color-bg-canvas: var(--N25);--color-bg-surface: var(--N25);--color-bg-surface-alt: var(--N100);--color-bg-subtle: var(--N200);--color-bg-elevated: var(--N25);--color-bg-contrast: var(--M800);--color-border: var(--N200);--color-border-default: var(--N200);--color-border-strong: var(--N300);--color-border-emphasis: var(--M300);--color-border-inverse: var(--M600);--color-brand-primary: var(--C800);--color-brand-primary-hover: var(--C900);--color-brand-primary-active: var(--C950);--color-brand-primary-subtle: var(--C25);--color-on-brand-primary: var(--N25);--color-brand-secondary: var(--M700);--color-brand-secondary-hover: var(--M800);--color-brand-secondary-active: var(--M900);--color-brand-secondary-subtle: var(--M25);--color-on-brand-secondary: var(--N25);--color-accent-violet: var(--V700);--color-accent-violet-subtle: var(--V25);--color-on-accent-violet: var(--N25);--color-accent-amber: var(--A800);--color-accent-amber-subtle: var(--A25);--color-on-accent-amber: var(--N25);--color-accent-coral: var(--CL800);--color-accent-coral-subtle: var(--CL25);--color-on-accent-coral: var(--N25);--color-success: var(--E800);--color-success-hover: var(--E900);--color-success-active: var(--E950);--color-success-subtle: var(--E25);--color-on-success: var(--N25);--color-warning: var(--AL800);--color-warning-hover: var(--AL900);--color-warning-active: var(--AL950);--color-warning-subtle: var(--AL25);--color-on-warning: var(--N25);--color-error: var(--ER800);--color-error-hover: var(--ER900);--color-error-active: var(--ER950);--color-error-subtle: var(--ER25);--color-on-error: var(--N25);--color-info: var(--I800);--color-info-hover: var(--I900);--color-info-active: var(--I950);--color-info-subtle: var(--I25);--color-on-info: var(--N25);--color-header-bg: var(--N25);--color-header-border: var(--N200);--color-sidebar-bg: var(--M950);--color-sidebar-border: var(--N600);--color-sidebar-text: var(--N200);--color-sidebar-text-muted: var(--N400);--color-sidebar-text-hover: var(--N200);--color-sidebar-text-active: var(--N50);--color-sidebar-icon-default: var(--N400);--color-sidebar-icon-hover: var(--C500);--color-sidebar-icon-active: var(--N300);--color-sidebar-bg-hover: rgba(0, 178, 229, .08);--color-sidebar-bg-active: var(--M700);--color-sidebar-active-indicator: var(--C500);--color-button-primary-bg: var(--C800);--color-button-primary-bg-hover: var(--C900);--color-button-primary-bg-active: var(--C950);--color-button-primary-text: var(--N25);--color-button-primary-border: var(--C800);--color-button-secondary-bg: var(--N25);--color-button-secondary-bg-hover: var(--N100);--color-button-secondary-bg-active: var(--N200);--color-button-secondary-text: var(--M800);--color-button-secondary-border: var(--N300);--color-button-ghost-bg: var(--N25);--color-button-ghost-bg-hover: var(--N100);--color-button-ghost-bg-active: var(--N200);--color-button-ghost-text: var(--M800);--color-button-ghost-border: var(--N25);--color-button-danger-bg: var(--ER800);--color-button-danger-bg-hover: var(--ER900);--color-button-danger-bg-active: var(--ER950);--color-button-danger-text: var(--N25);--color-button-danger-border: var(--ER800);--color-input-bg: var(--N25);--color-input-text: var(--N800);--color-input-placeholder: var(--N500);--color-input-border: var(--N200);--color-input-border-hover: var(--N300);--color-input-border-focus: var(--M400);--color-input-focus-surface: var(--M25);--color-input-disabled-bg: var(--N100);--color-input-disabled-text: var(--N500);--color-table-header-bg: var(--N100);--color-table-row-bg: var(--N25);--color-table-row-bg-hover: var(--N50);--color-table-border: var(--N200);--color-table-text: var(--N800);--color-table-text-muted: var(--N600);--color-table-header-text: var(--N600);--color-badge-neutral-bg: var(--N100);--color-badge-neutral-text: var(--M800);--color-badge-success-bg: var(--E25);--color-badge-success-text: var(--E900);--color-badge-warning-bg: var(--AL25);--color-badge-warning-text: var(--AL950);--color-badge-error-bg: var(--ER25);--color-badge-error-text: var(--ER900);--color-badge-info-bg: var(--I25);--color-badge-info-text: var(--I950);--tag-status-pending-bg: var(--A50);--tag-status-pending-text: var(--A700);--tag-status-in-progress-bg: var(--I25);--tag-status-in-progress-text: var(--I700);--tag-status-paused-bg: var(--ER25);--tag-status-paused-text: var(--ER700);--tag-status-completed-bg: var(--E25);--tag-status-completed-text: var(--E900);--tag-status-cancelled-bg: var(--N200);--tag-status-cancelled-text: var(--M500);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--spacing-2xl: var(--space-10);--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-pill: 999px;--border-width-0: 0;--border-width-1: 1px;--border-width-2: 2px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--container-max-width: 1440px;--header-height: 72px;--sidebar-width-expanded: 280px;--sidebar-width-collapsed: 80px;--sidebar-min-height-desktop: 1024px;--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-drawer-backdrop: 1035;--z-modal-backdrop: 1040;--z-modal: 1050;--z-toast: 1060;--z-tooltip: 1070;--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bp-wide: 1440px}:root{--color-muted: var(--color-text-muted);--color-surface-2: var(--color-bg-secondary);--color-bg-muted: var(--color-bg-secondary);--color-bg-card: var(--color-bg-surface);--font-size-xs: var(--font-size-helper);--font-size-sm: var(--font-size-input);--font-size-base: var(--font-size-section-title);--font-size-lg: var(--font-size-body-l);--font-size-xl: var(--font-size-h3);--font-size-2xl: var(--font-size-h2);--font-size-3xl: var(--font-size-h1)}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-button,::-webkit-scrollbar-button:single-button,::-webkit-scrollbar-button:vertical,::-webkit-scrollbar-button:horizontal,::-webkit-scrollbar-button:start,::-webkit-scrollbar-button:end,::-webkit-scrollbar-button:decrement,::-webkit-scrollbar-button:increment{display:none;width:0;height:0;background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--N600);border-radius:var(--radius-pill);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--N500)}::-webkit-scrollbar-corner{background:transparent}html,body,.app-layout,.app-layout-frame,.app-layout-main,.app-sidebar,.app-sidebar-nav,.modal-content,.modal-form-main-scroll,.modal-form-aside-scroll,.modal-layout--form .modal-body,.modal-admin-table-wrap,.sa-table-wrap,.view-socios-table-wrap,.view-planes-table-wrap,.view-usuarios-table-wrap,.view-buscar-membresias-table-wrap,.ds-table-wrap{scrollbar-width:thin;scrollbar-color:var(--N600) transparent}:root{font-family:var(--font-body);line-height:1.5;font-weight:var(--font-weight-regular);--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1e293b;--color-neutral-900: #0f172a;--color-neutral-950: #020617;--color-secondary: #0f172a;--color-secondary-hover: #020617;--color-primary: #06b6d4;--color-primary-hover: #0891b2;--color-primary-active: #0e7490;--color-primary-muted: rgba(6, 182, 212, .15);--color-success: #16a34a;--color-success-muted: rgba(22, 163, 74, .12);--color-error: #dc2626;--color-danger: #dc2626;--color-danger-subtle: #e57373;--color-error-muted: rgba(220, 38, 38, .1);--color-warning: #f59e0b;--color-warning-muted: rgba(245, 158, 11, .12);--color-info: #2563eb;--color-info-muted: rgba(37, 99, 235, .1);--color-text: var(--color-text-body);--color-text-muted: var(--color-text-secondary);--color-text-muted-soft: var(--color-text-auxiliary);--color-border: var(--color-border-default);--color-bg: #f1f5f9;--color-bg-secondary: #f8fafc;--color-bg-surface: #ffffff;--color-bg-header: #ffffff;--color-bg-sidebar: #0f172a;--color-sidebar-text: rgba(255, 255, 255, .65);--color-sidebar-text-hover: rgba(255, 255, 255, .92);--color-sidebar-text-active: #06b6d4;--color-sidebar-bg-hover: rgba(255, 255, 255, .06);--color-sidebar-bg-active: rgba(6, 182, 212, .12);--color-sidebar-border: rgba(255, 255, 255, .08);color:var(--color-text);background-color:var(--color-bg)}a{font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-body)}h1{font-family:var(--font-heading);font-size:var(--font-size-h1);line-height:var(--line-height-h1);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}h2{font-family:var(--font-heading);font-size:var(--font-size-h2);line-height:var(--line-height-h2);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}h3{font-family:var(--font-heading);font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}button{border-radius:var(--radius-md, 8px);border:1px solid transparent;padding:.6em 1.2em;font-size:var(--font-size-input);font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-bg-surface);cursor:pointer;transition:border-color .2s,background-color .2s}button:hover{border-color:var(--color-primary)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-family:var(--font-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-input);border-radius:var(--radius-md);border:var(--border-width-1) solid transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);box-sizing:border-box}.ds-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.ds-btn:disabled{opacity:.55;cursor:not-allowed}.ds-btn--md{padding:.5rem 1rem;font-size:var(--font-size-input)}.ds-btn--sm{padding:.35rem .65rem;font-size:var(--font-size-label);line-height:var(--line-height-label)}.ds-btn--primary{background:var(--C500);color:var(--color-on-brand-primary);border-color:var(--C500)}.ds-btn--primary:hover:not(:disabled){background:var(--C800, #00627f);color:var(--color-on-brand-primary, #ffffff);border-color:var(--C800, #00627f)}.ds-btn--primary:active:not(:disabled){background:var(--C900, #004f66);color:var(--color-on-brand-primary, #ffffff);border-color:var(--C900, #004f66)}.ds-btn--secondary{background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text);border-color:var(--color-button-secondary-border)}.ds-btn--secondary:hover:not(:disabled){background:var(--color-button-secondary-bg-hover);border-color:var(--color-button-secondary-border)}.ds-btn--secondary:active:not(:disabled){background:var(--color-button-secondary-bg-active)}.ds-btn--ghost{background:var(--color-button-ghost-bg);color:var(--color-button-ghost-text);border-color:var(--color-button-ghost-border);padding-left:.15rem;padding-right:.15rem;font-weight:var(--font-weight-medium);text-decoration:none}.ds-btn--ghost:hover:not(:disabled){text-decoration:underline;background:var(--color-button-ghost-bg-hover)}.ds-btn--ghost:active:not(:disabled){background:var(--color-button-ghost-bg-active)}.ds-btn--danger{background:var(--color-button-danger-bg);color:var(--color-button-danger-text);border-color:var(--color-button-danger-border)}.ds-btn--danger:hover:not(:disabled){background:var(--color-button-danger-bg-hover);border-color:var(--color-button-danger-bg-hover)}.ds-btn--danger:active:not(:disabled){background:var(--color-button-danger-bg-active);border-color:var(--color-button-danger-bg-active)}.ds-btn--link{background:transparent;color:var(--color-button-primary-bg);border-color:transparent;font-weight:var(--font-weight-medium);text-decoration:underline;padding-left:.15rem;padding-right:.15rem}.ds-btn--link:hover:not(:disabled){color:var(--color-button-primary-bg-hover);background:transparent}.ds-input-wrap{display:flex;flex-direction:column;gap:.25rem;width:100%;min-width:0}.ds-input{width:100%;padding:.5rem .75rem;font-size:var(--font-size-input);line-height:var(--line-height-input);font-family:var(--font-body);border:var(--border-width-1) solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box}.ds-input[type=date],.ds-input[type=datetime-local],.ds-input[type=month],.ds-input[type=time]{min-height:2.5rem;padding-right:.65rem;color-scheme:light}.ds-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;margin-inline-start:.35rem}.ds-input:disabled::-webkit-calendar-picker-indicator{cursor:not-allowed}.ds-input::placeholder{color:var(--color-input-placeholder)}.ds-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.ds-input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 2px var(--color-focus-ring-muted)}.ds-input:is([type=date],[type=datetime-local],[type=month],[type=time]):focus{box-shadow:none}.ds-input:disabled{opacity:.65;cursor:not-allowed;background:var(--color-input-disabled-bg);color:var(--color-input-disabled-text)}.ds-input--error{border-color:var(--color-error)}.ds-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-subtle)}.ds-textarea{width:100%;min-height:2.2rem;padding:.5rem .75rem;font-size:var(--font-size-input);line-height:var(--line-height-input);font-family:var(--font-body);border:var(--border-width-1) solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box;resize:vertical}.ds-textarea::placeholder{color:var(--color-input-placeholder)}.ds-textarea:hover:not(:disabled){border-color:var(--color-input-border-hover)}.ds-textarea:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 2px var(--color-focus-ring-muted)}.ds-textarea:disabled{opacity:.65;cursor:not-allowed;background:var(--color-input-disabled-bg);color:var(--color-input-disabled-text)}.ds-textarea--error{border-color:var(--color-error)}.ds-textarea--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-subtle)}.ds-select{width:100%;min-height:2.5rem;padding:.5rem .75rem;font-size:var(--font-size-input);line-height:var(--line-height-input);font-family:var(--font-body);border:var(--border-width-1) solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box;cursor:pointer}.ds-select[data-placeholder=true]{color:var(--color-input-placeholder)}.ds-select option{color:var(--color-input-text)}.ds-select option[value=""]{color:var(--color-input-placeholder)}.ds-select:hover:not(:disabled){border-color:var(--color-input-border-hover)}.ds-select:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 2px var(--color-focus-ring-muted)}.ds-select:disabled{opacity:.65;cursor:not-allowed;background:var(--color-input-disabled-bg);color:var(--color-input-disabled-text)}.ds-select--error{border-color:var(--color-error)}.ds-select--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-subtle)}[data-agro-dropdown-portal],[data-agro-dropdown-portal] *{scrollbar-width:thin;scrollbar-color:var(--N600) transparent}.ds-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.ds-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:var(--font-size-table-body);line-height:var(--line-height-table-body);color:var(--color-table-text);min-width:600px}.ds-thead .ds-th{padding:.65rem 1rem;text-align:left;border-bottom:var(--border-width-1) solid var(--color-table-border);background:var(--color-table-header-bg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-table-header);line-height:var(--line-height-table-header);text-transform:uppercase;letter-spacing:.04em;color:var(--color-table-header-text)}.ds-tbody .ds-td{padding:.65rem 1rem;text-align:left;border-bottom:var(--border-width-1) solid var(--color-table-border);background:var(--color-table-row-bg)}.ds-tbody .ds-tr:last-child .ds-td{border-bottom:none}.ds-tbody .ds-tr:hover,.ds-tbody .ds-tr:hover .ds-td{background:var(--color-table-row-bg-hover)}.ds-table:has(.table-row-actions-menu) .ds-thead .ds-th:last-child,.ds-table:has(.table-row-actions-menu) .ds-tbody .ds-td:last-child{width:60px!important;min-width:60px!important;max-width:60px!important;box-sizing:border-box}.ds-table:has(.table-row-actions-menu) .ds-thead .ds-th:last-child{padding-inline:.25rem!important;text-align:center!important;color:transparent!important;font-size:0!important;letter-spacing:0!important;white-space:nowrap}.ds-table:has(.table-row-actions-menu) .ds-tbody .ds-td:last-child{padding-inline:.25rem!important;text-align:center!important;vertical-align:middle}.ds-table:has(.table-row-actions-menu) .ds-tbody .ds-td:last-child .table-row-actions-menu{margin-inline:auto}.ds-table-empty{padding:2rem;text-align:center;color:var(--color-table-text-muted);margin:0}.ds-card{background:var(--color-bg-surface);border:var(--border-width-1) solid var(--color-border-default);border-radius:var(--radius-md);padding:1rem;box-sizing:border-box}.ds-badge{display:inline-block;padding:.2em .55em;font-family:var(--font-body);font-size:var(--font-size-helper);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-helper)}.ds-badge--success{background:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.ds-badge--warning{background:var(--color-badge-warning-bg);color:var(--color-badge-warning-text)}.ds-badge--info{background:var(--color-badge-info-bg);color:var(--color-badge-info-text)}.ds-badge--muted,.ds-badge--neutral{background:var(--color-badge-neutral-bg);color:var(--color-badge-neutral-text)}.ds-badge--danger{background:var(--color-badge-error-bg);color:var(--color-badge-error-text)}.ds-field-hint{display:block;margin-top:.25rem;font-size:.78rem;color:var(--color-text-muted-soft, var(--color-text-muted))}.ds-field-error{margin-top:var(--spacing-xs, .25rem);font-size:var(--font-size-xs, .75rem);color:var(--color-error)}.ds-toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:var(--z-toast, 1060);display:flex;flex-direction:column;gap:.5rem;max-width:360px}.ds-toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md, 8px);box-shadow:0 4px 16px #0000001a;cursor:pointer;animation:ds-toast-in .25s ease-out}@keyframes ds-toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.ds-toast--success{background:var(--color-success-muted);border:1px solid rgba(22,163,74,.3);color:#15803d}.ds-toast--error{background:var(--color-error-muted);border:1px solid rgba(220,38,38,.3);color:#b91c1c}.ds-toast--warning{background:var(--color-warning-muted);border:1px solid rgba(245,158,11,.3);color:#b45309}.ds-toast--info{background:var(--color-info-muted);border:1px solid rgba(37,99,235,.3);color:#1d4ed8}.ds-toast-icon{font-size:1.1rem;flex-shrink:0}.ds-toast-message{flex:1;font-size:.875rem}.ds-toast-close{background:none;border:none;font-size:1.1rem;cursor:pointer;opacity:.6;padding:0 .25rem;line-height:1;color:inherit}.ds-toast-close:hover{opacity:1}.ds-status-tag{height:20px;width:fit-content;padding-inline:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--font-size-helper);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;vertical-align:middle}.ds-status-tag--pending{background:var(--tag-status-pending-bg);color:var(--tag-status-pending-text)}.ds-status-tag--in-progress{background:var(--tag-status-in-progress-bg);color:var(--tag-status-in-progress-text)}.ds-status-tag--paused{background:var(--tag-status-paused-bg);color:var(--tag-status-paused-text)}.ds-status-tag--completed{background:var(--tag-status-completed-bg);color:var(--tag-status-completed-text)}.ds-status-tag--cancelled{background:var(--tag-status-cancelled-bg);color:var(--tag-status-cancelled-text)}.modal-overlay{background:color-mix(in srgb,var(--M800) 72%,transparent);padding:var(--spacing-md);animation:modal-overlay-in var(--transition-normal) ease-out}.modal-content{background:var(--color-bg-surface);border:var(--border-width-1) solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:0 8px 40px color-mix(in srgb,var(--N950) 15%,transparent);color:var(--color-text-body)}.modal-header{padding:var(--spacing-md) var(--space-5);border-bottom:var(--border-width-1) solid var(--color-border-default)}.modal-close,.drawer-close{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.modal-close:hover,.drawer-close:hover{color:var(--color-text-body);background:var(--color-bg-surface-alt)}.modal-close:focus-visible,.drawer-close:focus-visible,.drawer-resize-handle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.modal-body{padding:var(--space-5);color:var(--color-text-body)}.drawer-overlay{background:color-mix(in srgb,var(--M800) 72%,transparent);animation:modal-overlay-in var(--transition-normal) ease-out}.drawer-panel{background:var(--color-bg-surface);border-left:var(--border-width-1) solid var(--color-border-default);box-shadow:-8px 0 40px color-mix(in srgb,var(--N950) 12%,transparent);color:var(--color-text-body)}.drawer-resize-handle:after{transition:background var(--transition-fast)}.drawer-header{gap:var(--space-3);padding:var(--spacing-md) var(--space-5);border-bottom:var(--border-width-1) solid var(--color-border-default);background:var(--color-bg-surface)}.drawer-title-wrap{font-family:var(--font-heading);font-size:var(--font-size-modal-title);line-height:var(--line-height-modal-title);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.drawer-body{padding:var(--spacing-md) var(--space-5) var(--space-5);color:var(--color-text-body)}.drawer-footer{padding:var(--spacing-sm) var(--space-5);border-top:var(--border-width-1) solid var(--color-border-default);background:var(--color-bg-surface)}.pagination-wrap{color:var(--color-text-body)}.pagination-btn{font-family:var(--font-body);font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-medium);color:var(--color-button-secondary-text);background:var(--color-button-secondary-bg);border:var(--border-width-1) solid var(--color-button-secondary-border);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.pagination-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.table-skeleton{font-size:var(--font-size-table-body);line-height:var(--line-height-table-body);color:var(--color-table-text)}.table-skeleton th,.table-skeleton td{border-bottom:var(--border-width-1) solid var(--color-table-border)}.modal-content--sm{width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.modal-content--form-md{width:min(500px,calc(100vw - 48px));max-width:calc(100vw - 48px)}.modal-content--lg{width:min(760px,calc(100vw - 48px));max-width:calc(100vw - 48px)}.modal-content--xl{width:min(960px,calc(100vw - 64px));max-width:calc(100vw - 64px)}.modal-content--full{width:min(1200px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.modal-content.modal-layout--form{display:flex;flex-direction:column;max-height:min(90vh,820px);overflow-y:hidden;overflow-x:hidden;min-width:0;box-sizing:border-box}.modal-layout--form .modal-body{flex:1;min-height:0;padding:var(--space-6) var(--space-6) var(--space-6);overflow-y:auto;overflow-x:hidden}.modal-layout--form .modal-form-grid,.modal-layout--form .modal-form-grid--two-columns{grid-template-columns:minmax(0,1fr)}.modal-content.modal-layout--split{display:flex;flex-direction:column;width:min(1040px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(90vh,820px);overflow-y:hidden;overflow-x:hidden;min-width:0;box-sizing:border-box}.modal-layout--split .modal-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;padding:var(--spacing-md) var(--space-5) var(--space-5)}.modal-layout--wide .modal-body{padding:var(--spacing-md) var(--space-5) var(--space-5)}.modal-form-shell{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden;container-type:inline-size}.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md);width:100%;max-width:100%;min-width:0;box-sizing:border-box}.modal-form-grid--two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-form-layout--split{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:0;flex:1;min-height:0;width:100%;max-width:100%;min-width:0;overflow:hidden;align-items:stretch}.modal-form-main{display:flex;flex-direction:column;min-height:0;min-width:0;padding-right:var(--space-5);border-right:var(--border-width-1) solid var(--color-border-default)}.modal-form-main-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.modal-form-main-footer{flex-shrink:0;margin-top:auto;padding-top:var(--space-5);border-top:var(--border-width-1) solid var(--color-border-default);display:flex;justify-content:flex-end;gap:var(--spacing-sm);flex-wrap:wrap;min-width:0}.modal-form-main-footer--flow{display:none}.modal-form-aside{display:flex;flex-direction:column;min-height:0;min-width:0;padding-left:var(--space-5);overflow:hidden}.modal-form-aside-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.modal-form-grid>*{min-width:0;max-width:100%;box-sizing:border-box}.modal-form-full{grid-column:1 / -1;min-width:0;max-width:100%;box-sizing:border-box}.modal-form-actions{display:flex;justify-content:stretch;gap:var(--space-3);flex-wrap:nowrap;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-top:var(--spacing-sm);padding-top:var(--space-5);border-top:var(--border-width-1) solid var(--color-border-default)}.modal-form-actions>button,.modal-form-actions>.ds-btn{flex:1 1 0;width:100%;min-width:0;min-height:40px;max-height:40px;font-size:var(--font-size-input);line-height:var(--line-height-input)}.modal-form-section{padding:var(--space-3);border:var(--border-width-1) solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface-alt);font-size:var(--font-size-table-body);line-height:var(--line-height-table-body)}.modal-form-section+.modal-form-section{margin-top:var(--space-2)}.modal-form-section-title{margin:0 0 var(--space-3);font-family:var(--font-heading);font-size:var(--font-size-section-title);line-height:var(--line-height-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.modal-form-shell label:not(.modal-form-checkbox):not(.form-checkbox-label){display:block!important;margin-bottom:.375rem!important;font-family:var(--font-body)!important;font-size:var(--font-size-label)!important;line-height:var(--line-height-label)!important;font-weight:var(--font-weight-medium)!important;color:var(--color-text-secondary)!important}.modal-form-checkbox{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:var(--spacing-sm)!important;width:auto!important;min-height:2rem;margin:0;font-family:var(--font-body);font-size:var(--font-size-label)!important;line-height:var(--line-height-label);font-weight:var(--font-weight-medium);color:var(--color-text-body);cursor:pointer}.modal-form-checkbox input[type=checkbox],.modal-form-checkbox input[type=radio],.modal-form-shell input[type=checkbox],.modal-form-shell input[type=radio]{flex:0 0 auto;width:1rem!important;height:1rem;min-width:1rem;margin:0;accent-color:var(--color-focus-ring)}.modal-form-shell input,.modal-form-shell select,.modal-form-shell textarea,.modal-form-shell button,.modal-form-shell .ds-input,.modal-form-shell .ds-select,.modal-form-shell .ds-textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.modal-form-shell input:is([type=date],[type=datetime-local],[type=month],[type=time]){min-height:2.5rem;font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);color:var(--color-input-text);background:var(--color-input-bg);border:var(--border-width-1) solid var(--color-input-border);border-radius:var(--radius-sm);color-scheme:light}.modal-form-shell input:is([type=date],[type=datetime-local],[type=month],[type=time]):hover:not(:disabled){border-color:var(--color-input-border-hover)}.modal-form-shell input:is([type=date],[type=datetime-local],[type=month],[type=time]):focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:none}.modal-form-shell input:is([type=date],[type=datetime-local],[type=month],[type=time])::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;margin-inline-start:.35rem}@container (max-width: 720px){.modal-form-grid,.modal-form-grid--two-columns{grid-template-columns:minmax(0,1fr)!important}.modal-form-layout--split{display:flex;flex-direction:column;overflow:visible;flex:none;min-height:auto;height:auto}.modal-form-main{padding-right:0;border-right:none;border-bottom:none;padding-bottom:0;margin-bottom:var(--spacing-md);flex:none;min-height:auto;height:auto}.modal-form-main-footer--desktop{display:none}.modal-form-main-footer--flow{display:flex;width:100%;margin-top:var(--spacing-md)}.modal-form-aside{padding-left:0;flex:none;min-height:auto;height:auto}.modal-layout--split .modal-body{overflow-y:auto;overflow-x:hidden}.modal-form-main-scroll,.modal-form-aside-scroll{overflow-y:visible;flex:none}}@media(max-width:768px){.modal-content--form-md,.modal-content.modal-layout--form.modal-content--form-md{width:90vw;max-width:90vw}.modal-content--sm,.modal-content--lg,.modal-content--xl,.modal-content--full,.modal-content.modal-layout--split{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.modal-content.modal-layout--split{max-height:90vh}.modal-form-layout--split{display:flex;flex-direction:column;overflow:visible;flex:none;min-height:auto;height:auto}.modal-form-main{padding-right:0;border-right:none;border-bottom:none;padding-bottom:0;margin-bottom:var(--spacing-md);flex:none;min-height:auto;height:auto}.modal-form-main-footer--desktop{display:none}.modal-form-main-footer--flow{display:flex;width:100%;margin-top:var(--spacing-md)}.modal-form-aside{padding-left:0;flex:none;min-height:auto;height:auto}.modal-layout--split .modal-body{overflow-y:auto;overflow-x:hidden}.modal-form-main-scroll,.modal-form-aside-scroll{overflow-y:visible;flex:none}.modal-form-shell{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden}.modal-form-grid,.modal-form-grid--two-columns{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;min-width:0}.modal-form-actions{justify-content:stretch;flex-wrap:nowrap}.modal-form-actions>*{flex:1 1 0;min-width:0}}#root{min-height:100vh}.login-page{display:flex;min-height:100vh}.login-panel-brand{display:none;flex:1;overflow:hidden;position:relative}@media(min-width:900px){.login-panel-brand{display:block}}.login-panel-cover{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.login-panel-brand-tagline{text-align:center}.login-panel-brand-tagline h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#fff}.login-panel-brand-tagline p{margin:0;font-size:.95rem;color:#ffffff8c;line-height:1.6}.login-panel-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;background:var(--color-bg-surface);flex:1;min-width:0}@media(min-width:900px){.login-panel-form{max-width:480px;padding:3rem}}.login-card{width:100%;max-width:380px}.login-brand{display:flex;justify-content:center;margin-bottom:2rem}.login-brand img{max-width:100%;height:auto}.login-card h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:var(--color-text)}.login-subtitle{margin:0 0 1.75rem;font-size:.9rem;color:var(--color-text-muted)}.login-form .form-group{margin-bottom:1rem}.login-form .form-group:last-of-type{margin-bottom:1.5rem}.login-success{margin-bottom:1rem;padding:.6rem 1rem;background:var(--color-success-muted);color:var(--color-success);border-radius:var(--radius-sm);font-size:.9rem}.login-error{margin-bottom:1rem;padding:.6rem 1rem;background:var(--color-error-muted);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-size-sm)}.login-form .btn-primary{width:100%;padding:.65rem 1rem;font-size:.95rem}.login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--color-bg);gap:var(--spacing-xl)}.app-layout{display:flex;flex-direction:row;height:100vh;overflow:hidden}.app-layout-frame{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.app-layout-body{display:flex;flex:1;min-height:0;overflow:hidden}.app-layout-main{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0;padding:var(--space-7, 1.75rem) var(--space-8);background:var(--color-bg-page);min-height:0}.auth-loading.guard-loading-shell{flex-direction:column;align-items:center;gap:var(--space-3)}.modal-form-novedad-actions{margin-top:var(--spacing-md);display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}table:has(.table-row-actions-menu) thead th:last-child,table:has(.table-row-actions-menu) tbody td:last-child{width:60px!important;min-width:60px!important;max-width:60px!important;box-sizing:border-box}table:has(.table-row-actions-menu) thead th:last-child{padding-inline:.25rem!important;text-align:center!important;color:transparent!important;font-size:0!important;letter-spacing:0!important;white-space:nowrap}table:has(.table-row-actions-menu) tbody td:last-child{padding-inline:.25rem!important;text-align:center!important;vertical-align:middle}table:has(.table-row-actions-menu) tbody td:last-child .table-row-actions-menu{margin-inline:auto}.owner-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2xl);padding:.45rem var(--spacing-md);font-size:var(--font-size-helper);line-height:var(--line-height-helper);background:var(--M700, #111827);border:var(--border-width-1) solid color-mix(in srgb,var(--M300, #748aa8) 22%,transparent);border-radius:var(--radius-md);color:var(--N50, #f9fafb);flex-wrap:nowrap;min-width:0;height:35px!important}.owner-mode-banner strong{color:var(--M300, #748aa8)}.app-header--light .owner-mode-banner{background:var(--N200, #e5e7eb);border-color:color-mix(in srgb,var(--M800, #0b1220) 16%,transparent);color:var(--N800, #1f2937)}.app-header--light .owner-mode-banner strong,.app-header--light .owner-mode-banner-btn{color:var(--M800, #0b1220)}.app-header--light .owner-mode-banner-btn:hover{background:var(--M100, #c9d2de);border-color:color-mix(in srgb,var(--M800, #0b1220) 20%,transparent);color:var(--M800, #0b1220)}.owner-mode-banner-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-mode-banner-btn{background:transparent;color:var(--N50, #f9fafb);border-radius:var(--radius-sm);padding:.3rem .65rem;font-family:var(--font-body);font-size:var(--font-size-helper);line-height:var(--line-height-helper);cursor:pointer;font-weight:var(--font-weight-regular);flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.owner-mode-banner-btn:hover{background:color-mix(in srgb,var(--M300, #748aa8) 14%,transparent);border-color:color-mix(in srgb,var(--M300, #748aa8) 68%,transparent);color:var(--N50, #f9fafb)}.owner-mode-banner-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-header-shell{position:relative;flex-shrink:0;min-width:0;z-index:10}.app-header{display:flex;position:relative;align-items:center;justify-content:space-between;gap:var(--space-5);padding:0 var(--space-5);min-height:70px;background:var(--N950, #030712);border-bottom:var(--border-width-1) solid color-mix(in srgb,var(--N400, #9ca3af) 18%,transparent);color:var(--N200, #e5e7eb);flex-shrink:0;z-index:10;min-width:0}.app-header--dark{background:var(--N950, #030712);color:var(--N200, #e5e7eb)}.app-header--light{background:var(--N100, #f5f7fa);border-bottom-color:color-mix(in srgb,var(--N500, #6b7280) 20%,transparent);color:var(--M800, #0b1220)}.app-header-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex-shrink:0}.app-header-title{margin:0;font-family:var(--font-heading);font-size:var(--font-size-section-title);line-height:var(--line-height-section-title);font-weight:var(--font-weight-bold);color:var(--N200, #e5e7eb);min-width:0}.app-header-title-short{display:none}.app-header-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:nowrap;min-width:0;margin-left:auto}.app-header-user{display:flex;align-items:center;gap:1.2rem;min-width:0}.app-header-user-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem;min-width:150px}.app-header-name{font-size:.875rem;line-height:1.15;font-weight:var(--font-weight-regular);color:var(--N200, #e5e7eb);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header--light .app-header-name{color:var(--M800, #0b1220)}.app-header-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--N400, #9ca3af);color:var(--N50, #f9fafb);flex-shrink:0;position:relative;overflow:hidden}.app-header-avatar:before,.app-header-avatar:after{content:"";position:absolute;left:50%;background:var(--N50, #f9fafb);transform:translate(-50%)}.app-header-avatar:before{top:7px;width:12px;height:12px;border-radius:var(--radius-pill)}.app-header-avatar:after{bottom:-4px;width:28px;height:20px;border-radius:999px 999px 0 0}.app-header-role-badge{font-size:.6875rem;line-height:1.1;padding:.2rem .8rem;background:color-mix(in srgb,var(--M400) 30%,transparent);border-radius:var(--radius-sm);color:var(--N400, #9ca3af);font-weight:var(--font-weight-medium);letter-spacing:.02em;white-space:nowrap;margin-top:3px}.app-header--light .app-header-role-badge{background:var(--N200, #e5e7eb);color:var(--N600, #4b5563)}.app-header-mode-area{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.app-header-mode{max-width:min(580px,100%);min-width:0;border-radius:var(--radius-md);border:var(--border-width-1) solid transparent;box-shadow:none}.app-header-mode-copy{display:flex;flex-direction:row;align-items:center;gap:.25rem;min-width:0}.app-header-mode-copy strong,.app-header-mode-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-mode-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:32px}@media(max-width:1180px)and (min-width:769px){.app-header-mode-area{flex:0 1 auto}.app-header-mode{width:245px;max-width:245px;min-width:245px;flex:0 0 auto;gap:var(--spacing-xs);justify-content:center;box-sizing:border-box}.owner-mode-banner,.super-admin-support-banner{min-width:245px}.app-header-mode-copy{display:none}.app-header-mode-btn{width:auto;min-width:max-content;padding:.3rem .75rem}.app-header-mode-btn-text{display:inline}}.app-header .ds-btn{min-height:40px}.app-header .ds-btn--secondary{background:transparent;color:var(--N400, #9ca3af);border-color:color-mix(in srgb,var(--N400, #9ca3af) 28%,transparent)}.app-header .ds-btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--N400, #9ca3af) 14%,transparent);color:var(--N200, #e5e7eb);border-color:color-mix(in srgb,var(--N400, #9ca3af) 42%,transparent)}.app-header--light .ds-btn--secondary{color:var(--N500, #6b7280);border-color:color-mix(in srgb,var(--N500, #6b7280) 28%,transparent)}.app-header--light .ds-btn--secondary:hover:not(:disabled){background:var(--N200, #e5e7eb);color:var(--M800, #0b1220);border-color:color-mix(in srgb,var(--N500, #6b7280) 38%,transparent)}.notifications-bell-wrap .ds-btn{width:40px;height:40px;padding:0!important;background:transparent;border-color:transparent;color:var(--N400, #9ca3af);border-radius:var(--radius-md)}.notifications-bell-wrap .ds-btn svg,.header-btn-novedades svg{width:24px;height:24px;color:var(--N400, #9ca3af);stroke:currentColor}.app-header--light .notifications-bell-wrap .ds-btn,.app-header--light .header-btn-novedades{color:var(--N500, #6b7280)!important}.app-header--light .notifications-bell-wrap .ds-btn svg,.app-header--light .header-btn-novedades svg{color:var(--N500, #6b7280)}.notifications-bell-wrap .ds-btn:hover:not(:disabled),.header-btn-novedades:hover:not(:disabled){background:var(--color-sidebar-bg-hover);border-color:transparent;color:var(--color-sidebar-icon-hover)}.notifications-bell-wrap .ds-btn:hover:not(:disabled) svg,.header-btn-novedades:hover:not(:disabled) svg{color:var(--color-sidebar-icon-hover)}.header-btn-novedades{width:40px;height:40px;padding:0!important;background:transparent!important;border-color:transparent!important;color:var(--N400, #9ca3af)!important}.header-btn-novedades-text{display:none}.header-hamburger svg{width:24px;height:24px}.app-header-controls{position:absolute;right:16px;bottom:0;transform:translateY(100%);display:inline-flex;align-items:center;gap:4px;padding:3px;background:color-mix(in srgb,var(--N950, #030712) 92%,transparent);border:var(--border-width-1) solid color-mix(in srgb,var(--N400, #9ca3af) 24%,transparent);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 8px 18px color-mix(in srgb,var(--N950) 18%,transparent);z-index:12}.app-header-control-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--N400, #9ca3af);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.app-header-control-button:hover{background:color-mix(in srgb,var(--N400, #9ca3af) 16%,transparent);color:var(--N50, #f9fafb)}.app-header-control-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-header--light .app-header-controls,.app-header-shell--light .app-header-controls{background:var(--N100, #f5f7fa);border-color:color-mix(in srgb,var(--N500, #6b7280) 24%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--N800) 12%,transparent)}.app-header--light .app-header-control-button,.app-header-shell--light .app-header-control-button{color:var(--N500, #6b7280)}.app-header--light .app-header-control-button:hover,.app-header-shell--light .app-header-control-button:hover{background:var(--N200, #e5e7eb);color:var(--M800, #0b1220)}.app-header--collapsed{height:0;min-height:0;padding-top:0;padding-bottom:0;border-bottom:none;overflow:visible}.app-header--collapsed>:not(.app-header-controls){display:none}.app-header-btn-logout{padding:.4em .9em;font-size:var(--font-size-label);line-height:var(--line-height-label);background:transparent;border:var(--border-width-1) solid var(--color-border-default);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.app-header-btn-logout:hover{background:var(--color-bg-surface-alt);color:var(--color-text-body);border-color:var(--color-border-strong)}.app-sidebar{width:270px;flex-shrink:0;height:100vh;max-height:100vh;background:var(--color-sidebar-bg);display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;transition:width var(--transition-fast)}.app-sidebar-brand{padding:var(--space-5) var(--spacing-md) var(--spacing-md);border-bottom:var(--border-width-1) solid var(--color-sidebar-border);display:flex;justify-content:left;margin-left:14px}.app-sidebar-brand .brand-logo-wrap img,.app-sidebar-brand .brand-logo{max-width:100%;max-height:52px;object-fit:contain}.app-sidebar-nav{display:flex;flex-direction:column;padding:.625rem var(--spacing-md);gap:.625rem;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.app-sidebar-link{display:flex;align-items:center;gap:10px;width:238px;height:35px;padding:10px 12px;border-radius:var(--radius-md);color:var(--color-sidebar-text);text-decoration:none;font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);font-weight:var(--font-weight-regular);background:transparent;transition:background var(--transition-fast),color var(--transition-fast);position:relative;flex-shrink:0;box-sizing:border-box}button.app-sidebar-link{border:none;cursor:pointer;text-align:left;font:inherit}.app-sidebar-link:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text-hover)}.app-sidebar-link:hover .app-sidebar-icon{color:var(--color-sidebar-icon-hover)}.app-sidebar-link.active{background:var(--color-sidebar-bg-active);color:var(--color-sidebar-text-active)}.app-sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:70%;background:var(--color-sidebar-active-indicator);border-radius:var(--radius-pill)}.app-sidebar-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--color-sidebar-icon-default);transition:color var(--transition-fast)}.app-sidebar-link.active .app-sidebar-icon{color:var(--color-sidebar-icon-active)}.app-sidebar-link--panel-return,.app-sidebar-link--panel-return:hover,.app-sidebar-link--panel-return.active,.app-sidebar-link--panel-return .app-sidebar-icon,.app-sidebar-link--panel-return:hover .app-sidebar-icon,.app-sidebar-link--panel-return.active .app-sidebar-icon{color:var(--color-warning, #f59e0b)}.app-sidebar-submenu-link{padding-left:35px;width:100%;max-width:238px;box-sizing:border-box}.app-sidebar-section{display:flex;flex-direction:column;gap:0}.app-sidebar-section+.app-sidebar-section{margin-top:.625rem}.app-sidebar-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:238px;height:35px;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);font-weight:var(--font-weight-regular);color:inherit;transition:background var(--transition-fast),color var(--transition-fast);box-sizing:border-box}.app-sidebar-section-toggle:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text-hover)}.app-sidebar-section.is-expanded .app-sidebar-section-toggle{background:transparent;color:var(--color-sidebar-active-indicator)}.app-sidebar-section-title{font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-semibold);letter-spacing:0;text-transform:none;color:var(--color-sidebar-text-muted);opacity:.9;flex:1}.app-sidebar-section.is-expanded .app-sidebar-section-title{color:var(--color-sidebar-active-indicator);opacity:1}.app-sidebar-section-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--color-sidebar-icon-default);opacity:.7}.app-sidebar-section.is-expanded .app-sidebar-section-icon{color:var(--color-sidebar-active-indicator);opacity:1}.app-sidebar-section-chevron{flex-shrink:0;color:var(--color-sidebar-icon-default);opacity:.65;transition:transform var(--transition-normal),color var(--transition-normal),opacity var(--transition-normal)}.app-sidebar-section.is-expanded .app-sidebar-section-chevron{transform:rotate(180deg);color:var(--color-sidebar-active-indicator);opacity:1}.app-sidebar-section-body{display:none;flex-direction:column;gap:2px;padding-top:.15rem;padding-bottom:.15rem}.app-sidebar-section.is-expanded .app-sidebar-section-body{display:flex}.app-sidebar-link--disabled,.app-sidebar-link--disabled:hover{opacity:.42;cursor:not-allowed;pointer-events:none;background:transparent;color:var(--color-sidebar-text)}.brand-logo-wrap{display:inline-block}.brand-logo-wrap .brand-logo-dark{display:none}.app-footer{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-header);border-top:var(--border-width-1) solid var(--color-header-border);font-size:var(--font-size-helper);color:var(--color-text-auxiliary)}.app-footer-text{font-weight:var(--font-weight-medium)}.super-admin-layout{flex-direction:row}.super-admin-main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;min-width:0;padding:1.75rem 2rem;background:var(--color-bg)}.super-admin-support-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.45rem var(--spacing-md);background:#2b2d33;border:var(--border-width-1) solid color-mix(in srgb,var(--color-warning, #f59e0b) 28%,transparent);border-radius:var(--radius-md);font-size:var(--font-size-label);line-height:var(--line-height-label);color:var(--N50, #f9fafb);flex-wrap:nowrap;min-width:420px;height:25px}.super-admin-support-banner strong{color:var(--color-warning, #f59e0b)}.app-header--light .super-admin-support-banner{background:var(--A25, #fff9ec);border-color:color-mix(in srgb,var(--color-warning, #f59e0b) 30%,transparent);color:var(--M800, #0b1220)}.app-header--light .super-admin-support-banner strong,.app-header--light .super-admin-btn-volver{color:var(--color-warning, #f59e0b)}.app-header--light .super-admin-btn-volver:hover{background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,transparent);border-color:var(--color-warning, #f59e0b);color:var(--color-warning, #f59e0b)}.super-admin-btn-volver{padding:.3rem .75rem;font-family:var(--font-body);font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-medium);background:transparent;color:var(--color-warning, #f59e0b);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.super-admin-btn-volver:hover{background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,transparent);border-color:var(--color-warning, #f59e0b);color:var(--color-warning, #f59e0b)}@media(max-width:1180px)and (min-width:769px){.app-header .owner-mode-banner,.app-header .super-admin-support-banner{width:160px;min-width:160px;max-width:160px;box-sizing:border-box}}.super-admin-btn-volver:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.super-admin-header-nav{display:flex;gap:.25rem;margin-left:1.5rem}.super-admin-nav-link{padding:.4rem .75rem;color:var(--color-text-muted);text-decoration:none;border-radius:6px;font-size:.875rem;transition:background var(--transition-fast),color var(--transition-fast)}.super-admin-nav-link:hover{color:var(--color-text);background:var(--color-bg)}.super-admin-nav-link.active{color:var(--color-primary-active);background:var(--color-primary-muted);font-weight:600}.super-admin-dashboard{max-width:1200px}.super-admin-header{margin-bottom:1.5rem}.super-admin-header h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:var(--color-text)}.super-admin-subtitle{margin:0;color:var(--color-text-muted);font-size:.95rem}.super-admin-header-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.super-admin-btn-super-admin{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.super-admin-btn-super-admin:hover{background:var(--color-primary-hover)}.form-super-admin-hint{margin:0 0 1rem;font-size:.9rem;color:var(--color-text-muted)}.super-admin-stats{margin-bottom:2rem}.super-admin-stats h2,.super-admin-tenants h2{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.super-admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.super-admin-stat-card{padding:1.25rem 1rem;background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:0 1px 3px #0000000a}.super-admin-stat-value{display:block;font-size:1.875rem;font-weight:700;color:var(--color-primary-active);line-height:1;margin-bottom:.375rem}.super-admin-stat-label{font-size:.8rem;color:var(--color-text-muted)}.super-admin-tenants{margin-bottom:2rem}.super-admin-hint{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted)}.super-admin-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-surface);box-shadow:0 1px 3px #0000000a;-webkit-overflow-scrolling:touch}.super-admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.super-admin-table th,.super-admin-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.super-admin-table th{background:var(--color-bg);font-weight:600;font-size:.775rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.super-admin-table tbody tr:last-child td{border-bottom:none}.super-admin-table tbody tr:hover{background:#00000005}.super-admin-slug{font-size:.775rem;color:var(--color-text-muted-soft)}.super-admin-badge{display:inline-block;padding:.2em .55em;border-radius:4px;font-size:.75rem;font-weight:600}.super-admin-badge-active{background:var(--color-success-muted);color:var(--color-success)}.super-admin-badge-expired,.super-admin-badge-suspended{background:var(--color-error-muted);color:var(--color-error)}.super-admin-badge-none{color:var(--color-text-muted-soft)}.super-admin-btn-entrar{padding:.35em .8em;font-size:.825rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.super-admin-btn-entrar:hover{background:var(--color-primary-hover)}.super-admin-empty{color:var(--color-text-muted);padding:1.5rem;text-align:center}.super-admin-tenants-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.super-admin-tenants-header h2{margin:0}.super-admin-btn-nuevo{padding:.45em 1em;font-size:.875rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.super-admin-btn-nuevo:hover{background:var(--color-primary-hover)}.super-admin-empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem;color:var(--color-text-muted)}.super-admin-license-cell{display:flex;flex-direction:column;gap:.15rem}.super-admin-license-date{font-size:.8rem;color:var(--color-text-muted)}.super-admin-license-days{font-size:.775rem;color:var(--color-success);font-weight:500}.super-admin-license-days-warn{color:var(--color-warning)}.super-admin-btn-editar-fecha{margin-top:.25rem;padding:.2em .4em;font-size:.75rem;background:transparent;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline}.super-admin-btn-editar-fecha:hover{color:var(--color-primary-hover)}.super-admin-inactivity-cell{display:flex;flex-direction:column;gap:.2rem}.super-admin-badge-inactive-1{background:var(--color-warning-muted);color:#92400e}.super-admin-badge-inactive-3{background:var(--color-error-muted);color:var(--color-error)}.super-admin-btn-export{padding:.3em .65em;font-size:.775rem;background:var(--color-info-muted);color:var(--color-info);border:1px solid rgba(37,99,235,.25);border-radius:4px;cursor:pointer}.super-admin-btn-export:hover{background:#2563eb26}.super-admin-btn-delete-tenant{padding:.3em .65em;font-size:.775rem;background:var(--color-error-muted);color:var(--color-error);border:1px solid rgba(220,38,38,.25);border-radius:4px;cursor:pointer}.super-admin-btn-delete-tenant:hover{background:#dc262626}.super-admin-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.super-admin-btn-toggle,.super-admin-btn-admin{padding:.3em .65em;font-size:.775rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:4px;cursor:pointer}.super-admin-btn-toggle:hover,.super-admin-btn-admin:hover{background:var(--color-bg);color:var(--color-text)}.super-admin-btn-export:disabled,.super-admin-btn-delete-tenant:disabled{opacity:.5;cursor:not-allowed}.form-super-admin .form-group,.form-super-admin .form-group-checkbox{margin-bottom:1rem}.modal-admin-content{display:flex;flex-direction:column;gap:1.5rem}.modal-admin-resumen{margin-top:.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.modal-admin-resumen-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.modal-admin-resumen-loading,.modal-admin-resumen-empty{margin:0;font-size:.9rem;color:var(--color-text-muted)}.modal-admin-table-wrap{overflow-x:auto;max-height:200px;overflow-y:auto;border-radius:6px;border:1px solid var(--color-border)}.modal-admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.modal-admin-table th,.modal-admin-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.modal-admin-table th{background:var(--color-bg);font-weight:600;color:var(--color-text-muted)}.modal-admin-table tbody tr:last-child td{border-bottom:none}.modal-admin-row-actions{display:flex;gap:.75rem}.super-admin-plans{max-width:1000px}.super-admin-plans-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.super-admin-plans-header h1{margin:.5rem 0 .25rem;font-size:1.5rem}.super-admin-back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-primary);text-decoration:none;font-size:.875rem;margin-bottom:.25rem}.super-admin-back-link:hover{text-decoration:underline}.super-admin-views-summary{display:block;color:var(--color-text-muted);font-size:.85rem;margin-top:.25rem}.super-admin-btn-change-plan{padding:.35rem .75rem;font-size:.85rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.super-admin-btn-change-plan:hover{background:var(--color-primary-hover)}.update-prompt{position:fixed;bottom:0;left:0;right:0;z-index:calc(var(--z-toast, 1060) - 1);display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:var(--color-primary);color:#fff;box-shadow:0 -2px 12px #00000026;animation:update-prompt-in .3s ease-out}@keyframes update-prompt-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.update-prompt-message{font-size:.9rem}.update-prompt-actions{display:flex;gap:.5rem}.update-prompt-btn{padding:.4rem .9rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;border:none;transition:opacity .15s}.update-prompt-btn:hover{opacity:.9}.update-prompt-btn-primary{background:#fff;color:var(--color-primary)}.update-prompt-btn-secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5)}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:var(--z-tooltip, 1070);display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-subtle);color:var(--color-error);border-bottom:var(--border-width-1) solid var(--color-error);font-size:var(--font-size-input);line-height:var(--line-height-input);box-shadow:0 2px 8px color-mix(in srgb,var(--N950) 8%,transparent)}.connection-banner-message{font-weight:var(--font-weight-medium)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop, 1040);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--M800) 72%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--spacing-md);animation:modal-overlay-in var(--transition-normal) ease-out}.modal-box{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:540px;width:90vw;max-height:88vh;overflow-y:auto;overflow-x:hidden;padding:var(--space-6);box-shadow:0 16px 56px color-mix(in srgb,var(--N950) 25%,transparent);border:var(--border-width-1) solid var(--color-border-default);animation:modal-content-in var(--transition-normal) ease-out}.modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);width:90vw;max-height:88vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 16px 56px color-mix(in srgb,var(--N950) 25%,transparent);border:var(--border-width-1) solid var(--color-border-default);animation:modal-content-in var(--transition-normal) ease-out}.modal-footer{padding:var(--space-5) 0 0!important;border-top:var(--border-width-1) solid var(--color-border-default)!important;display:flex!important;justify-content:stretch!important;gap:var(--space-3)!important;flex-wrap:nowrap!important;width:100%;box-sizing:border-box}.modal-footer>button,.modal-footer>.ds-btn{flex:1 1 0;width:100%;min-width:0;min-height:40px;max-height:40px;font-size:var(--font-size-input);line-height:var(--line-height-input)}.modal-confirm{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:400px;width:90vw;padding:var(--space-6);box-shadow:0 16px 56px color-mix(in srgb,var(--N950) 25%,transparent);border:var(--border-width-1) solid var(--color-border-default);animation:modal-content-in var(--transition-normal) ease-out}.modal-confirm-msg{margin:0 0 1.25rem;font-size:var(--font-size-input);color:var(--color-text-body);line-height:var(--line-height-input)}.modal-subtitle{margin:-.25rem 0 1rem;font-size:var(--font-size-helper);line-height:var(--line-height-helper);color:var(--color-text-secondary)}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;min-width:0;overflow:auto;overflow-x:hidden;box-sizing:border-box;box-shadow:0 8px 40px color-mix(in srgb,var(--N950) 15%,transparent);animation:modal-content-in var(--transition-normal) ease-out;border:var(--border-width-1) solid var(--color-border-default)}@keyframes modal-content-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--space-5);border-bottom:var(--border-width-1) solid var(--color-border-default)}.modal-title{margin:0;font-family:var(--font-heading);font-size:var(--font-size-modal-title);line-height:var(--line-height-modal-title);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.5;padding:.25rem;line-height:1;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:opacity var(--transition-fast),background var(--transition-fast)}.modal-close:hover{opacity:1;background:var(--color-bg-surface-alt);color:var(--color-text-body)}.modal-body{padding:var(--space-5)}@media(max-width:768px){.modal-content{width:90vw;max-width:90vw;min-width:0;overflow-x:hidden;box-sizing:border-box}.modal-body{width:100%;min-width:0;max-width:100%;overflow-x:hidden;box-sizing:border-box}}.modal-content--wide{width:min(720px,92vw);min-width:min(560px,92vw)}.modal-content--wide .modal-body{padding:var(--spacing-md) var(--space-5) var(--space-5)}.modal-form-responsive{min-width:0;width:100%;max-width:360px;box-sizing:border-box}.drawer-overlay{position:fixed;inset:0;z-index:var(--z-drawer-backdrop, 1035);display:flex;align-items:stretch;justify-content:flex-end;background:color-mix(in srgb,var(--M800) 72%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:0;animation:modal-overlay-in var(--transition-normal) ease-out}.drawer-panel{position:relative;display:flex;flex-direction:column;flex-shrink:0;height:100%;max-height:100vh;background:var(--color-bg-surface);border-left:var(--border-width-1) solid var(--color-border-default);box-shadow:-8px 0 40px color-mix(in srgb,var(--N950) 12%,transparent);animation:drawer-slide-in var(--transition-normal) ease-out}.drawer-panel--sized{max-width:80vw}.drawer-panel--resizing{animation:none;transition:none}.drawer-resize-handle{position:absolute;top:0;bottom:0;left:0;width:10px;transform:translate(-50%);z-index:6;cursor:ew-resize;touch-action:none}.drawer-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;border-radius:var(--radius-sm);background:transparent;transition:background var(--transition-fast)}.drawer-resize-handle:hover:after,.drawer-panel--resizing .drawer-resize-handle:after{background:var(--color-border-strong)}body.drawer-resizing{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.drawer-panel--md{width:min(480px,100vw)}.drawer-panel--lg{width:min(640px,100vw)}.drawer-panel--full{width:100vw}.drawer-panel--xl{width:min(760px,100vw)}@keyframes drawer-slide-in{0%{opacity:.85;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--spacing-md) var(--space-5);border-bottom:var(--border-width-1) solid var(--color-border-default);flex-shrink:0;background:var(--color-bg-surface);z-index:2}.drawer-title-wrap{flex:1;min-width:0;font-family:var(--font-heading);font-size:var(--font-size-modal-title);line-height:var(--line-height-modal-title);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.drawer-title-spacer{flex:1;min-width:0}.drawer-close{flex-shrink:0;background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.55;padding:.25rem .35rem;line-height:1;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:opacity var(--transition-fast),background var(--transition-fast)}.drawer-close:hover{opacity:1;background:var(--color-bg-surface-alt);color:var(--color-text-body)}.drawer-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-md) var(--space-5) var(--space-5)}.drawer-footer{flex-shrink:0;padding:var(--spacing-sm) var(--space-5);border-top:var(--border-width-1) solid var(--color-border-default);background:var(--color-bg-surface)}@media(max-width:520px){.drawer-panel--md,.drawer-panel--lg,.drawer-panel--xl{width:100vw!important;max-width:100vw}.drawer-resize-handle{display:none}}.pagination{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.pagination-btn{padding:.45em 1em;font-family:var(--font-body);font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-medium);background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text);border:var(--border-width-1) solid var(--color-button-secondary-border);border-radius:var(--radius-md);cursor:pointer}.pagination-btn:hover:not(:disabled){background:var(--color-button-secondary-bg-hover)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-info{font-size:var(--font-size-label);line-height:var(--line-height-label);color:var(--color-text-secondary)}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-loading p{color:var(--color-text-secondary)}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-inner{width:100%;height:100%;border:var(--border-width-2) solid var(--color-border-default);border-top-color:var(--color-focus-ring);border-radius:50%;animation:spinner-rotate .7s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.table-skeleton-wrap{overflow-x:auto;border-radius:var(--radius-md);border:var(--border-width-1) solid var(--color-table-border);background:var(--color-bg-surface)}.table-skeleton{width:100%;border-collapse:collapse;font-size:var(--font-size-table-body);line-height:var(--line-height-table-body);color:var(--color-table-text)}.table-skeleton th,.table-skeleton td{padding:.6rem 1rem;text-align:left;border-bottom:var(--border-width-1) solid var(--color-table-border)}.table-skeleton th{background:var(--color-table-header-bg)}.skeleton-line{display:inline-block;height:.875rem;background:linear-gradient(90deg,var(--N200) 25%,var(--N100) 50%,var(--N200) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-header{width:80%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--color-text-muted)}.loading-state-inline{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);color:var(--color-text-muted)}.license-expired{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-bg)}.license-expired-card{max-width:420px;padding:2rem;background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);text-align:center;box-shadow:0 4px 24px #0000000f}.license-expired-brand{margin-bottom:1rem}.license-expired-icon{font-size:2.5rem;margin-bottom:1rem}.license-expired h1{font-size:1.375rem;margin:0 0 .75rem;color:var(--color-text)}.license-expired-message{color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem}.license-expired-details{text-align:left;background:var(--color-bg);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.license-expired-details p{margin:.25rem 0;color:var(--color-text);font-size:.9rem}.license-expired-user{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem}.license-expired-btn{padding:.6em 1.5em;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem}.license-expired-btn:hover{background:var(--color-primary-hover)}.form-group label{display:block;margin-bottom:.35rem;font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem .75rem;font-size:var(--font-size-input);line-height:var(--line-height-input);border:var(--border-width-1) solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box;font-family:var(--font-body);transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring-muted)}.form-group input:is([type=date],[type=datetime-local],[type=month],[type=time]),input.form-input:is([type=date],[type=datetime-local],[type=month],[type=time]),.input-filter:is([type=date],[type=datetime-local],[type=month],[type=time]){min-height:2.5rem;font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);color:var(--color-input-text);background:var(--color-input-bg);border-color:var(--color-input-border);border-radius:var(--radius-sm);color-scheme:light}.form-group input:is([type=date],[type=datetime-local],[type=month],[type=time]):focus,input.form-input:is([type=date],[type=datetime-local],[type=month],[type=time]):focus,.input-filter:is([type=date],[type=datetime-local],[type=month],[type=time]):focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:none}.form-group input:is([type=date],[type=datetime-local],[type=month],[type=time])::-webkit-calendar-picker-indicator,input.form-input:is([type=date],[type=datetime-local],[type=month],[type=time])::-webkit-calendar-picker-indicator,.input-filter:is([type=date],[type=datetime-local],[type=month],[type=time])::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;margin-inline-start:.35rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-input-placeholder)}.form-group input.input-readonly,.form-group input:disabled{background:var(--color-input-disabled-bg);color:var(--color-input-disabled-text);cursor:not-allowed}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--color-error)}.form-error{margin-top:var(--spacing-xs);font-size:var(--font-size-helper);line-height:var(--line-height-helper);color:var(--color-error)}.form-hint{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-helper);line-height:var(--line-height-helper);color:var(--color-text-auxiliary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group-checkbox label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-group-checkbox input[type=checkbox]{width:auto}.form-checkboxes{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6)}.form-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-input);line-height:var(--line-height-input)}.form-checkbox-label input[type=checkbox]{width:auto}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--spacing-md);border-top:var(--border-width-1) solid var(--color-border-default);flex-wrap:wrap}.btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--C700, #007da3);color:var(--color-on-brand-primary, #ffffff);border:var(--border-width-1) solid var(--C700, #007da3);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--C800, #00627f);color:var(--color-on-brand-primary, #ffffff);border-color:var(--C800, #00627f)}.btn-primary:active:not(:disabled){background:var(--C900, #004f66);color:var(--color-on-brand-primary, #ffffff);border-color:var(--C900, #004f66);transform:scale(.98)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-button-danger-bg);color:var(--color-button-danger-text);border:var(--border-width-1) solid var(--color-button-danger-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-danger.btn-danger-subtle{background:var(--color-error-subtle);color:var(--color-error);border-color:var(--color-error)}.btn-danger.btn-danger-subtle:hover:not(:disabled){background:var(--color-error);color:var(--color-on-error)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text);border:var(--border-width-1) solid var(--color-button-secondary-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--font-size-input);line-height:var(--line-height-input);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-secondary:hover{background:var(--color-button-secondary-bg-hover);border-color:var(--color-button-secondary-border)}.btn-link{background:none;border:none;color:var(--color-button-primary-bg);cursor:pointer;font-size:var(--font-size-input);line-height:var(--line-height-input);padding:0;text-decoration:underline}.btn-link:hover{color:var(--color-button-primary-bg-hover)}.btn-link-danger{color:var(--color-error)}.btn-link-danger:hover{color:var(--color-error-hover)}.btn-link-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.35rem .75rem;font-size:var(--font-size-label);line-height:var(--line-height-label)}.btn-excedente{background:var(--color-info-subtle);color:var(--color-info);border:var(--border-width-1) solid var(--color-info);border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:var(--font-size-label);line-height:var(--line-height-label);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn-excedente:hover:not(:disabled){background:var(--color-info);border-color:var(--color-info-hover);color:var(--color-on-info);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-info) 25%,transparent)}.btn-excedente:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-block;padding:.2em .55em;font-family:var(--font-body);font-size:var(--font-size-helper);line-height:var(--line-height-helper);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold)}.badge-active{background:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.badge-inactive{background:var(--color-badge-error-bg);color:var(--color-badge-error-text)}.badge-estado-activa{background:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.badge-estado-vencida{background:var(--color-badge-error-bg);color:var(--color-badge-error-text)}.badge-estado-congelada{background:var(--color-badge-warning-bg);color:var(--color-badge-warning-text)}.badge-estado-cancelada{background:var(--color-badge-neutral-bg);color:var(--color-badge-neutral-text)}.view-socios,.view-planes,.view-buscar-membresias,.view-usuarios{max-width:1200px}.view-socios-header,.view-planes-header,.view-usuarios-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.view-socios-header h2,.view-planes-header h2,.view-usuarios-header h2{margin:0;font-size:1.375rem;font-weight:700}.view-socios-toolbar,.view-planes-toolbar,.view-usuarios-toolbar{margin-bottom:1rem}.view-socios-filter,.view-planes-filter,.view-usuarios-filter{max-width:320px}.view-socios-filter .input-filter,.view-planes-filter .input-filter,.view-usuarios-filter .input-filter,.view-buscar-membresias-filter .input-filter{width:100%;padding:.5rem .75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);color:var(--color-text);box-sizing:border-box}.view-usuarios-filter label,.view-buscar-membresias-filter label{display:block;margin-bottom:.25rem;font-size:.8125rem;color:var(--color-text-muted)}.view-socios-table-wrap,.view-planes-table-wrap,.view-usuarios-table-wrap,.view-buscar-membresias-table-wrap{overflow-x:auto;margin-bottom:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-surface);box-shadow:0 1px 3px #0000000a;-webkit-overflow-scrolling:touch}@media(max-width:768px){.view-socios-table-wrap:before,.view-planes-table-wrap:before,.view-usuarios-table-wrap:before,.view-buscar-membresias-table-wrap:before{content:"Desliza la tabla → para ver más columnas";display:block;padding:.4rem .75rem;font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.table-scroll-hint{display:block;margin:0 0 .5rem;font-size:.75rem;color:var(--color-text-muted)}}.table-scroll-hint{display:none}.view-socios-table,.view-planes-table,.view-usuarios-table,.view-buscar-membresias-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:600px}.view-socios-table th,.view-socios-table td,.view-planes-table th,.view-planes-table td,.view-usuarios-table th,.view-usuarios-table td,.view-buscar-membresias-table th,.view-buscar-membresias-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.view-socios-table th,.view-planes-table th,.view-usuarios-table th,.view-buscar-membresias-table th{background:var(--color-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.view-socios-table tbody tr:last-child td,.view-planes-table tbody tr:last-child td,.view-usuarios-table tbody tr:last-child td,.view-buscar-membresias-table tbody tr:last-child td{border-bottom:none}.view-socios-table tbody tr:hover,.view-planes-table tbody tr:hover,.view-usuarios-table tbody tr:hover,.view-buscar-membresias-table tbody tr:hover{background:#00000005}.view-socios-loading,.view-socios-empty,.view-planes-loading,.view-planes-empty,.view-usuarios-loading,.view-usuarios-empty,.view-buscar-membresias-loading,.view-buscar-membresias-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.view-buscar-membresias-header{margin-bottom:1.5rem}.view-buscar-membresias-header h2{margin:0;font-size:1.375rem;font-weight:700}.view-buscar-membresias-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.5rem}.view-buscar-membresias-filter{min-width:140px}.view-buscar-membresias-actions{display:flex;gap:.5rem}.view-usuarios-sep{margin:0 .35rem;color:var(--color-text-muted);font-weight:400}.form-socio,.form-plan,.form-usuario{min-width:400px}.form-usuario select{width:100%;padding:.5rem .75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text)}.form-usuario select:focus{outline:none;border-color:var(--color-primary)}.view-nueva-membresia{max-width:560px}.view-nueva-membresia-header{margin-bottom:1.5rem}.view-nueva-membresia-header h2{margin:0;font-size:1.375rem;font-weight:700}.form-nueva-membresia .form-row-socio{display:flex;gap:.75rem;align-items:flex-start}.form-nueva-membresia .form-row-socio input{flex:1}.form-nueva-membresia select{width:100%;padding:.5rem .75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text)}.form-nueva-membresia select:focus{outline:none;border-color:var(--color-primary)}.form-group-dias .dias-info{font-size:.875rem;color:var(--color-text-muted)}.form-group-dias .dias-warning{color:var(--color-warning)}.form-nueva-membresia .form-row-precio{display:flex;gap:.75rem;align-items:flex-start}.form-nueva-membresia .form-row-precio input{flex:1}.btn-calculadora{white-space:nowrap}.modal-buscar-socio{min-width:480px}.modal-buscar-socio-filter{margin-bottom:1rem}.modal-buscar-socio-filter .input-filter{width:100%;padding:.5rem .75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);color:var(--color-text);box-sizing:border-box}.modal-buscar-socio-table-wrap{overflow-x:auto;margin-bottom:1rem;max-height:320px;overflow-y:auto;border-radius:8px;border:1px solid var(--color-border)}.modal-buscar-socio-table{width:100%;border-collapse:collapse;font-size:.875rem}.modal-buscar-socio-table th,.modal-buscar-socio-table td{padding:.6rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.modal-buscar-socio-table th{background:var(--color-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.modal-buscar-socio-table tbody tr:hover{background:#00000005}.modal-buscar-socio-loading,.modal-buscar-socio-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.modal-calculadora{min-width:260px}.modal-calculadora-display{font-size:1.75rem;font-weight:600;text-align:right;padding:.75rem 1rem;margin-bottom:1rem;background:var(--color-bg);border-radius:8px;font-variant-numeric:tabular-nums}.modal-calculadora-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.modal-calculadora-btn{padding:.75rem;font-size:1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast)}.modal-calculadora-btn:hover{background:var(--color-bg)}.modal-calculadora-btn-op{background:var(--color-primary-muted);color:var(--color-primary-active);border-color:#06b6d433}.modal-calculadora-btn-op:hover{background:#06b6d433}.modal-calculadora-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-detalle-membresia{min-width:360px}.modal-detalle-membresia-dl{display:grid;gap:.75rem 1.5rem;margin:0 0 1.5rem}.modal-detalle-membresia-dl>div{display:grid;grid-template-columns:140px 1fr;gap:.5rem;align-items:baseline}.modal-detalle-membresia-dl dt{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.modal-detalle-membresia-dl dd{margin:0;font-size:.9375rem}.modal-detalle-membresia-loading,.modal-detalle-membresia-empty{padding:1.5rem;text-align:center;color:var(--color-text-muted)}.modal-detalle-membresia-actions{display:flex;justify-content:flex-end}.view-placeholder{max-width:600px}.view-placeholder h2{margin:0 0 .5rem;font-size:1.375rem;color:var(--color-text)}.view-placeholder p{color:var(--color-text-muted);margin:0}.home-container h2{margin:0 0 .75rem;font-size:1.375rem;color:var(--color-text)}.home-container p{margin:.25rem 0;color:var(--color-text-muted)}@media(max-width:768px){.app-layout-main,.super-admin-main{padding:var(--spacing-md)}.view-socios-header,.view-planes-header,.view-usuarios-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.view-socios-header h2,.view-planes-header h2,.view-usuarios-header h2{font-size:var(--font-size-xl)}.form-row{grid-template-columns:1fr}.view-buscar-membresias-toolbar{flex-direction:column;align-items:stretch}.view-buscar-membresias-filter{min-width:100%}.modal-content{max-width:95vw;margin:var(--spacing-sm)}.modal-buscar-socio{min-width:auto;width:100%}.form-socio,.form-plan,.form-usuario{min-width:auto}.modal-body{padding:.875rem 1rem}.form-actions{gap:.5rem}.form-actions .btn-primary,.form-actions .btn-secondary{min-width:0;min-height:44px;padding:.6rem 1rem}.form-socio input[type=file],.form-plan input[type=file],.form-group input[type=file]{min-height:44px;padding:.5rem}.pagination{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.pagination-btn{flex:1}}@media(max-width:768px){.app-header{height:auto;min-height:58px;flex-wrap:nowrap;gap:.5rem;padding:0 20px 0 12px}.app-header-brand{min-width:0;flex:0 1 auto}.app-header-mode-area{flex:0 0 auto;min-width:0}.app-header-mode{width:245px;min-width:245px;max-width:245px;justify-content:center;padding:.35rem var(--spacing-xs);box-sizing:border-box}.owner-mode-banner,.super-admin-support-banner{width:245px;min-width:245px;max-width:245px;box-sizing:border-box}.app-header-mode-copy{display:none}.app-header-mode-btn{width:auto;min-width:max-content;padding:.3rem .75rem;white-space:nowrap}.app-header-mode-btn-text{display:inline}.app-header-title-full{display:none}.app-header-title-short{display:inline}.app-header-actions{margin-left:auto;flex-wrap:nowrap;gap:.8rem;flex-shrink:0}.app-header-user{display:flex}.app-header-user-meta{min-width:120px}.header-btn-novedades-text{display:none}.header-btn-novedades{padding:.4rem!important;width:40px;height:40px}}@media(max-width:520px){.app-header-title{display:none}.app-header-mode{font-size:var(--font-size-helper);width:70px;min-width:70px;max-width:70px;justify-content:center;gap:0;padding:.35rem 0}.app-header-mode-copy{display:none}.owner-mode-banner,.super-admin-support-banner{width:70px;min-width:70px;max-width:70px}.app-header-mode-btn{width:32px;min-width:32px;min-height:32px;padding:0}.app-header-mode-btn-text,.app-header-user-meta{display:none}}@media(max-width:480px){.view-socios-table-wrap,.view-planes-table-wrap,.view-buscar-membresias-table-wrap,.view-usuarios-table-wrap{margin-left:-.5rem;margin-right:-.5rem;border-radius:0}.super-admin-stats-grid{grid-template-columns:1fr 1fr}.super-admin-actions{flex-direction:column}}.icon-btn{position:relative;background:none;border:none;padding:.375rem;border-radius:6px;cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.icon-btn:hover{background:var(--color-neutral-100);color:var(--color-text)}.icon-btn.icon-btn-danger:hover{background:var(--color-error-muted);color:var(--color-error)}.icon-btn.icon-btn-success:hover{background:var(--color-success-muted);color:var(--color-success)}.icon-btn[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--color-secondary);color:#fff;font-size:.7rem;font-weight:500;padding:.2rem .45rem;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:200}.icon-btn[data-tip]:hover:after{opacity:1}.icon-btn-group{display:inline-flex;align-items:center;gap:.125rem}.sa-page{padding:0}.sa-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.sa-page-title{margin:0 0 .25rem;font-size:1.375rem;font-weight:700;color:var(--color-text)}.sa-page-subtitle{margin:0;font-size:.875rem;color:var(--color-text-muted)}.sa-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.sa-kpi-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000a}.sa-kpi-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.375rem}.sa-kpi-value{font-size:1.75rem;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.sa-kpi-sub{font-size:.8rem;color:var(--color-text-muted-soft);margin-top:.125rem}.sa-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000a}.sa-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sa-section-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.sa-chart{display:flex;flex-direction:column;gap:.625rem;max-width:100%;min-width:0}.sa-chart-row{display:grid;grid-template-columns:130px 1fr 60px;align-items:center;gap:.75rem;font-size:.82rem;min-width:0}.sa-chart-label{color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.sa-chart-bar-bg{height:8px;background:var(--color-neutral-100);border-radius:99px;overflow:hidden}.sa-chart-bar-fill{height:100%;background:var(--color-primary);border-radius:99px;transition:width .4s ease}.sa-chart-bar-fill.bar-success{background:var(--color-success)}.sa-chart-bar-fill.bar-warning{background:var(--color-warning)}.sa-chart-bar-fill.bar-neutral{background:var(--color-neutral-300)}.sa-chart-value{font-size:.8rem;font-weight:600;color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums}.sa-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-surface);box-shadow:0 1px 3px #0000000a}.sa-table{width:100%;border-collapse:collapse;font-size:.875rem}.sa-table th{padding:.65rem 1rem;text-align:left;background:var(--color-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.sa-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.sa-table tbody tr:last-child td{border-bottom:none}.sa-table tbody tr:hover{background:#00000005}.sa-name-cell{font-weight:600;color:var(--color-text)}.sa-name-cell small{display:block;font-weight:400;font-size:.78rem;color:var(--color-text-muted);margin-top:.1rem}.sa-license-cell{font-size:.82rem}.sa-license-cell .license-date{font-weight:600;color:var(--color-text)}.sa-license-cell .license-days{font-size:.75rem;color:var(--color-text-muted-soft)}.sa-inactivity-cell{font-size:.82rem;color:var(--color-text-muted)}.sa-novedades-header h2{margin:0 0 .25rem;font-size:1.375rem}.sa-novedades-desc{margin:0 0 1rem;font-size:.9rem;color:var(--color-text-muted)}.sa-novedades-toolbar{margin-bottom:1rem}.sa-novedades-toolbar .form-group{margin:0}.sa-novedades-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.sa-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem 1.25rem;margin-bottom:.875rem;box-shadow:0 1px 3px #0000000a}.sa-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.sa-card-key{font-size:.82rem;color:var(--color-text-muted)}.sa-metrics-grid{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:.5rem}.sa-metric{display:flex;flex-direction:column;gap:.1rem}.sa-metric-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted-soft)}.sa-metric-value{font-size:.9rem;font-weight:600;color:var(--color-text)}.sa-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.badge-warning{background:var(--color-badge-warning-bg);color:var(--color-badge-warning-text)}.badge-info{background:var(--color-badge-info-bg);color:var(--color-badge-info-text)}.badge-success{background:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.badge-error{background:var(--color-badge-error-bg);color:var(--color-badge-error-text)}.badge-neutral{background:var(--color-badge-neutral-bg);color:var(--color-badge-neutral-text)}.badge-primary{background:var(--color-badge-info-bg);color:var(--color-badge-info-text)}.badge-sin-registros{background:transparent;color:var(--color-text-body)}.tier-pills{display:flex;flex-wrap:wrap;gap:.25rem}.tier-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:var(--font-size-helper);line-height:var(--line-height-helper);font-weight:var(--font-weight-semibold);border:var(--border-width-1) solid transparent;background:var(--color-badge-neutral-bg);color:var(--color-badge-neutral-text)}.tier-pill-active{background:var(--color-badge-info-bg);color:var(--color-badge-info-text);border-color:color-mix(in srgb,var(--color-info) 20%,transparent)}.tier-pill-pending{background:var(--color-badge-warning-bg);color:var(--color-badge-warning-text)}.tier-pill-inactive{background:var(--color-badge-neutral-bg);color:var(--color-text-auxiliary)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.form-input{width:100%;padding:.5rem .75rem;font-size:var(--font-size-input);line-height:var(--line-height-input);border:var(--border-width-1) solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box;font-family:var(--font-body);transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring-muted)}.form-input::placeholder{color:var(--color-input-placeholder)}textarea.form-input{resize:vertical;min-height:72px}.modal-actions{display:flex;gap:var(--space-3);justify-content:stretch;margin-top:var(--space-5);flex-wrap:nowrap}.modal-actions>button,.modal-actions>.ds-btn{flex:1 1 0;width:100%;min-width:0;min-height:40px;max-height:40px;font-size:var(--font-size-input);line-height:var(--line-height-input)}.modal>.modal-actions{margin-top:0;padding:var(--space-5) var(--space-5) var(--spacing-md);border-top:var(--border-width-1) solid var(--color-border-default)}.sa-loading,.sa-empty,.sa-error,.sa-audit-text{font-size:var(--font-size-input);line-height:var(--line-height-input);color:var(--color-text-secondary)}.sa-error{color:var(--color-error)}.sa-audit-text{font-size:.78rem;color:var(--color-text-muted-soft);white-space:nowrap}.super-admin-page{padding:0}.super-admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.super-admin-page-title{margin:0 0 .25rem;font-size:1.375rem;font-weight:700}.super-admin-page-subtitle{margin:0;font-size:.875rem;color:var(--color-text-muted)}.pricing-config-group{border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);padding:1rem 1.25rem .75rem;background:var(--color-bg-surface, #fff)}.pricing-config-group-title{font-size:.8125rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.pricing-config-hint{font-size:.8rem;color:var(--color-text-muted);margin:0 0 .85rem;line-height:1.5}.billing-breakdown{border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);padding:.85rem 1rem;background:var(--color-bg-muted, #f8f9fa);font-size:.85rem}.billing-breakdown-row{display:flex;justify-content:space-between;padding:.2rem 0;color:var(--color-text)}.billing-breakdown-row.muted{color:var(--color-text-muted);font-size:.8rem}.billing-breakdown-row.separator{border-top:1px solid var(--color-border);margin-top:.25rem;padding-top:.4rem}.billing-breakdown-row.total{border-top:2px solid var(--color-border);margin-top:.25rem;padding-top:.5rem;font-weight:700;font-size:.95rem;color:var(--color-primary, #06b6d4)}.billing-breakdown-row.discount{color:var(--color-success, #059669)}@media(max-width:768px){.billing-breakdown{max-width:100%;min-width:0}}@media(max-width:1100px){.sa-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sa-kpi-grid{grid-template-columns:1fr 1fr}.sa-dashboard-grid{grid-template-columns:1fr}}@media(max-width:480px){.sa-kpi-grid{grid-template-columns:1fr}}.app-sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:.875rem .75rem .75rem;border-bottom:1px solid var(--color-sidebar-border);gap:.5rem;flex-shrink:0}.app-sidebar-top .app-sidebar-brand{padding:0;border-bottom:none;flex:1;min-width:0;display:flex;align-items:center}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-sidebar-text);padding:.4rem;border-radius:6px;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-toggle-btn:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text-hover)}.sidebar-link-label{overflow:hidden;white-space:nowrap;transition:opacity .15s,max-width .2s}.app-sidebar-footer{padding:.5rem .5rem .875rem;border-top:1px solid var(--color-sidebar-border);margin-top:auto;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.app-sidebar-branding{display:flex;align-items:center;justify-content:left;margin-left:14px;gap:.4rem;padding:.55rem .5rem .15rem;margin-top:.15rem;font-family:var(--font-family-body);font-size:.75rem;font-weight:400;color:var(--color-sidebar-text);opacity:.85;flex-shrink:0}.app-sidebar-branding-icon{flex-shrink:0}.app-sidebar-branding-text{font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar-logout{color:var(--color-sidebar-text)!important;justify-content:left;margin-left:14px}.sidebar-logout:hover{background:var(--ER950)!important;color:var(--ER400)!important}.sidebar-logout .app-sidebar-icon{opacity:.8}.sidebar-logout:hover .app-sidebar-icon,.sidebar-logout:hover .app-sidebar-icon svg,.sidebar-logout:hover svg{color:var(--ER400);stroke:var(--ER400);opacity:1}.sidebar-logout:hover .sidebar-link-label{color:var(--N25)}.sidebar-install-btn{color:var(--color-sidebar-text)!important}@media(min-width:769px){.app-sidebar.collapsed{width:56px}.app-sidebar.collapsed:not(.hover-expanded) .sidebar-link-label{display:none}.app-sidebar.collapsed:not(.hover-expanded) .sidebar-toggle-btn{display:none}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-branding-text{display:none}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-branding{justify-content:center;margin-left:0;padding:.35rem 0 .15rem}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-toggle{display:flex;width:40px;height:40px;justify-content:center;align-items:center;padding:.5rem;box-sizing:border-box}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-body{display:none}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-title{display:none}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section+.app-sidebar-section{margin-top:0}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-chevron{display:none}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-top{justify-content:center;padding:.875rem .5rem .75rem}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-top .app-sidebar-brand{flex:0 0 auto;justify-content:center;margin-left:0}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-brand .brand-logo{margin-left:0}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-nav{padding:.5rem .25rem;align-items:center}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-link{width:40px;height:40px;justify-content:center;padding:.5rem}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-link.active:before{left:0;width:4px;height:60%}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-footer{display:flex;flex-direction:column;align-items:center;padding:.5rem .375rem .875rem}.app-sidebar.collapsed:not(.hover-expanded) .sidebar-logout{justify-content:center;margin-left:0}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-link.active .app-sidebar-icon{color:var(--N25)}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-toggle.active{background:var(--color-sidebar-bg-active);position:relative}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-toggle.active .app-sidebar-section-icon,.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-toggle.active .app-sidebar-section-icon svg{color:var(--N25)}.app-sidebar.collapsed:not(.hover-expanded) .app-sidebar-section-toggle.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:var(--C500);border-radius:var(--radius-pill)}}.app-sidebar.collapsed.hover-expanded{position:fixed;left:0;top:0;width:280px;z-index:1025;box-shadow:4px 0 16px #00000040}.app-sidebar.collapsed.hover-expanded .sidebar-toggle-btn{display:flex}@media(max-width:768px){.app-sidebar{position:fixed;top:0;left:0;height:100%;z-index:300;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);width:240px!important;overflow-y:auto;overflow-x:hidden}.app-sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 20px #00000059}.app-sidebar.collapsed{width:240px!important}.app-sidebar.collapsed .sidebar-link-label{display:inline!important}.app-sidebar.collapsed .app-sidebar-top{justify-content:center;padding:.875rem .75rem .75rem}.app-sidebar.collapsed .app-sidebar-top .app-sidebar-brand{flex:1}.app-sidebar.collapsed .app-sidebar-nav{padding:.75rem .5rem}.app-sidebar.collapsed .app-sidebar-link{justify-content:flex-start;padding:.6rem .875rem}.app-sidebar.collapsed .app-sidebar-footer{padding:.5rem .5rem .875rem;align-items:stretch}.app-sidebar .app-sidebar-link,.app-sidebar .app-sidebar-section-toggle{width:100%;max-width:100%}.app-sidebar .app-sidebar-submenu-link{max-width:100%}.app-sidebar .app-sidebar-top{justify-content:center}.app-sidebar .app-sidebar-top .app-sidebar-brand{margin-left:0;width:100%;justify-content:center}.sidebar-toggle-btn{display:none}}.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000073;z-index:299;cursor:pointer}}.header-hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--N400, #9ca3af);padding:.4rem;border-radius:var(--radius-sm);flex-shrink:0;transition:background var(--transition-fast)}.header-hamburger:hover{background:color-mix(in srgb,var(--N400, #9ca3af) 14%,transparent);color:var(--N200, #e5e7eb)}.app-header--light .header-hamburger{color:var(--N500, #6b7280)}.app-header--light .header-hamburger:hover{background:var(--N200, #e5e7eb);color:var(--M800, #0b1220)}@media(max-width:768px){.header-hamburger{display:flex}}.login-cover-mobile{display:block;width:100%;max-height:220px;overflow:hidden;margin-bottom:1.5rem;border-radius:var(--radius-md)}.login-cover-mobile img{width:100%;height:220px;object-fit:cover;object-position:center top;display:block}@media(min-width:900px){.login-cover-mobile{display:none}}@media(max-width:480px){.sa-kpi-card{padding:.75rem 1rem}.sa-kpi-value{font-size:1.4rem}.sa-kpi-label{font-size:.7rem}}@media(max-width:768px){.sa-table-wrap,.super-admin-table-wrap{margin-left:-.5rem;margin-right:-.5rem;border-radius:0}.sa-table-wrap:before,.super-admin-table-wrap:before{content:"Desliza la tabla → para ver más columnas";display:block;padding:.4rem .75rem;font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.sa-table th,.sa-table td{white-space:nowrap;font-size:.8rem;padding:.5rem .625rem}.sa-chart-row{grid-template-columns:90px 1fr 50px;font-size:.75rem}.sa-chart-value{font-size:.7rem}.sa-page-header{flex-direction:column;align-items:flex-start;gap:1rem}.sa-page-header>div:last-child{width:100%;max-width:100%}}.btn-refresh-storage-label-short{display:none}@media(max-width:480px){.btn-refresh-storage .btn-refresh-storage-label{display:none}.btn-refresh-storage .btn-refresh-storage-label-short{display:inline}}@media(max-width:480px){.sa-chart-row{grid-template-columns:70px 1fr 42px;gap:.5rem;font-size:.7rem}.sa-chart-value{font-size:.65rem}}
