@charset "UTF-8";@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/material-symbols-rounded.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga","rlig"}:root{color-scheme:light dark;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.65;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-contrast: #ffffff;--color-primary-soft-bg: #eff6ff;--color-primary-soft-border: #bfdbfe;--color-primary-soft-text: #1e40af;--color-focus-ring: rgba(37, 99, 235, .35);--gradient-brand: linear-gradient(135deg, #1e3a8a 0%, #2563eb 55%, #0ea5e9 100%);--color-success: #16a34a;--color-success-hover: #15803d;--color-success-contrast: #ffffff;--color-success-soft-bg: #f0fdf4;--color-success-soft-border: #bbf7d0;--color-success-soft-text: #166534;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-contrast: #ffffff;--color-danger-soft-bg: #fef2f2;--color-danger-soft-border: #fecaca;--color-danger-soft-text: #991b1b;--color-warning: #d97706;--color-warning-hover: #b45309;--color-warning-contrast: #ffffff;--color-warning-soft-bg: #fffbeb;--color-warning-soft-border: #fde68a;--color-warning-soft-text: #92400e;--color-info: #0891b2;--color-info-hover: #0e7490;--color-info-contrast: #ffffff;--color-info-soft-bg: #ecfeff;--color-info-soft-border: #a5f3fc;--color-info-soft-text: #155e75;--color-neutral-soft-bg: #f1f5f9;--color-neutral-soft-border: #e2e8f0;--color-neutral-soft-text: #475569;--color-bg-app: #f1f5f9;--color-surface: #ffffff;--color-surface-soft: #f8fafc;--color-surface-muted: #f1f5f9;--color-surface-overlay: rgba(15, 23, 42, .45);--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text-strong: #0f172a;--color-text-default: #1e293b;--color-text-muted: #475569;--color-text-subtle: #64748b;--color-text-faint: #94a3b8;--color-text-on-brand: #ffffff;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 20px -4px rgba(15, 23, 42, .12), 0 4px 8px -4px rgba(15, 23, 42, .06);--shadow-dialog: 0 24px 60px rgba(15, 23, 42, .24), 0 6px 16px rgba(15, 23, 42, .1);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--layout-header-height: 64px;--layout-max-width: 1440px;--layout-gutter: var(--space-6);--z-header: 100;--z-dropdown: 500;--z-dialog: 1000;--z-toast: 1100}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-active: #bfdbfe;--color-primary-contrast: #0b1220;--color-primary-soft-bg: rgba(96, 165, 250, .14);--color-primary-soft-border: rgba(96, 165, 250, .38);--color-primary-soft-text: #bfdbfe;--color-focus-ring: rgba(96, 165, 250, .45);--gradient-brand: linear-gradient(135deg, #0b1220 0%, #1e3a8a 55%, #0369a1 100%);--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-contrast: #052e1b;--color-success-soft-bg: rgba(52, 211, 153, .14);--color-success-soft-border: rgba(52, 211, 153, .38);--color-success-soft-text: #a7f3d0;--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-danger-contrast: #3f0a0a;--color-danger-soft-bg: rgba(248, 113, 113, .14);--color-danger-soft-border: rgba(248, 113, 113, .38);--color-danger-soft-text: #fecaca;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-contrast: #3b2404;--color-warning-soft-bg: rgba(251, 191, 36, .14);--color-warning-soft-border: rgba(251, 191, 36, .38);--color-warning-soft-text: #fde68a;--color-info: #22d3ee;--color-info-hover: #67e8f9;--color-info-contrast: #062b32;--color-info-soft-bg: rgba(34, 211, 238, .14);--color-info-soft-border: rgba(34, 211, 238, .38);--color-info-soft-text: #a5f3fc;--color-neutral-soft-bg: rgba(148, 163, 184, .14);--color-neutral-soft-border: rgba(148, 163, 184, .3);--color-neutral-soft-text: #cbd5e1;--color-bg-app: #0b1220;--color-surface: #111c2e;--color-surface-soft: #16233a;--color-surface-muted: #1c2b45;--color-surface-overlay: rgba(2, 6, 15, .7);--color-border: #263449;--color-border-strong: #3a4b64;--color-text-strong: #f8fafc;--color-text-default: #e2e8f0;--color-text-muted: #cbd5e1;--color-text-subtle: #94a3b8;--color-text-faint: #64748b;--color-text-on-brand: #f8fafc;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 20px -4px rgba(0, 0, 0, .55), 0 4px 8px -4px rgba(0, 0, 0, .4);--shadow-dialog: 0 24px 60px rgba(0, 0, 0, .65), 0 6px 16px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-active: #bfdbfe;--color-primary-contrast: #0b1220;--color-primary-soft-bg: rgba(96, 165, 250, .14);--color-primary-soft-border: rgba(96, 165, 250, .38);--color-primary-soft-text: #bfdbfe;--color-focus-ring: rgba(96, 165, 250, .45);--gradient-brand: linear-gradient(135deg, #0b1220 0%, #1e3a8a 55%, #0369a1 100%);--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-contrast: #052e1b;--color-success-soft-bg: rgba(52, 211, 153, .14);--color-success-soft-border: rgba(52, 211, 153, .38);--color-success-soft-text: #a7f3d0;--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-danger-contrast: #3f0a0a;--color-danger-soft-bg: rgba(248, 113, 113, .14);--color-danger-soft-border: rgba(248, 113, 113, .38);--color-danger-soft-text: #fecaca;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-contrast: #3b2404;--color-warning-soft-bg: rgba(251, 191, 36, .14);--color-warning-soft-border: rgba(251, 191, 36, .38);--color-warning-soft-text: #fde68a;--color-info: #22d3ee;--color-info-hover: #67e8f9;--color-info-contrast: #062b32;--color-info-soft-bg: rgba(34, 211, 238, .14);--color-info-soft-border: rgba(34, 211, 238, .38);--color-info-soft-text: #a5f3fc;--color-neutral-soft-bg: rgba(148, 163, 184, .14);--color-neutral-soft-border: rgba(148, 163, 184, .3);--color-neutral-soft-text: #cbd5e1;--color-bg-app: #0b1220;--color-surface: #111c2e;--color-surface-soft: #16233a;--color-surface-muted: #1c2b45;--color-surface-overlay: rgba(2, 6, 15, .7);--color-border: #263449;--color-border-strong: #3a4b64;--color-text-strong: #f8fafc;--color-text-default: #e2e8f0;--color-text-muted: #cbd5e1;--color-text-subtle: #94a3b8;--color-text-faint: #64748b;--color-text-on-brand: #f8fafc;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 20px -4px rgba(0, 0, 0, .55), 0 4px 8px -4px rgba(0, 0, 0, .4);--shadow-dialog: 0 24px 60px rgba(0, 0, 0, .65), 0 6px 16px rgba(0, 0, 0, .45)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{height:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-default);background-color:var(--color-bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{color:var(--color-text-strong);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}code,kbd,pre,samp{font-family:var(--font-family-mono);font-size:.9em}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:calc(var(--z-header) + 1);padding:var(--space-2) var(--space-4);background-color:var(--color-surface);color:var(--color-text-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4)}.material-symbols-rounded{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24;vertical-align:middle;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.material-symbols-rounded.icon-outline{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),color var(--transition-normal),transform .1s ease}.btn .material-symbols-rounded{font-size:18px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.btn.btn-sm .material-symbols-rounded{font-size:16px}.btn.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--font-size-md)}.btn.btn-lg .material-symbols-rounded{font-size:20px}.btn.btn-block{width:100%}.btn.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-default);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-muted);border-color:var(--color-text-faint)}.btn-success{background-color:var(--color-success);color:var(--color-success-contrast);box-shadow:var(--shadow-xs)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);box-shadow:var(--shadow-sm)}.btn-danger{background-color:var(--color-danger);color:var(--color-danger-contrast);box-shadow:var(--shadow-xs)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);box-shadow:var(--shadow-sm)}.btn-warning{background-color:var(--color-warning);color:var(--color-warning-contrast);box-shadow:var(--shadow-xs)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-hover);box-shadow:var(--shadow-sm)}.btn-ghost{background-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-muted);color:var(--color-text-strong)}.btn-link{height:auto;padding:0;background:none;color:var(--color-primary);font-weight:var(--font-weight-medium)}.btn-link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.action-btn{display:inline-flex;align-items:center;gap:var(--space-1);height:30px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background-color:transparent;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform .1s ease}.action-btn .material-symbols-rounded{font-size:15px}.action-btn:active:not(:disabled){transform:scale(.96)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.action-btn-ver,.action-btn.action-btn-editar{color:var(--color-primary-soft-text);background-color:var(--color-primary-soft-bg);border-color:var(--color-primary-soft-border)}.action-btn.action-btn-ver:hover:not(:disabled),.action-btn.action-btn-editar:hover:not(:disabled){border-color:var(--color-primary)}.action-btn.action-btn-inactivar{color:var(--color-danger-soft-text);background-color:var(--color-danger-soft-bg);border-color:var(--color-danger-soft-border)}.action-btn.action-btn-inactivar:hover:not(:disabled){border-color:var(--color-danger)}.action-btn.action-btn-activar{color:var(--color-success-soft-text);background-color:var(--color-success-soft-bg);border-color:var(--color-success-soft-border)}.action-btn.action-btn-activar:hover:not(:disabled){border-color:var(--color-success)}.alert{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.alert .material-symbols-rounded{font-size:18px;margin-top:1px}.alert .alert-close{margin-left:auto;color:inherit;opacity:.7}.alert .alert-close:hover{opacity:1}.alert-success{background-color:var(--color-success-soft-bg);border-color:var(--color-success-soft-border);color:var(--color-success-soft-text)}.alert-error{background-color:var(--color-danger-soft-bg);border-color:var(--color-danger-soft-border);color:var(--color-danger-soft-text)}.alert-warning{background-color:var(--color-warning-soft-bg);border-color:var(--color-warning-soft-border);color:var(--color-warning-soft-text)}.alert-info{background-color:var(--color-info-soft-bg);border-color:var(--color-info-soft-border);color:var(--color-info-soft-text)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.6;white-space:nowrap}.badge .material-symbols-rounded{font-size:13px}.badge-success{background-color:var(--color-success-soft-bg);border-color:var(--color-success-soft-border);color:var(--color-success-soft-text)}.badge-danger{background-color:var(--color-danger-soft-bg);border-color:var(--color-danger-soft-border);color:var(--color-danger-soft-text)}.badge-warning{background-color:var(--color-warning-soft-bg);border-color:var(--color-warning-soft-border);color:var(--color-warning-soft-text)}.badge-info{background-color:var(--color-info-soft-bg);border-color:var(--color-info-soft-border);color:var(--color-info-soft-text)}.badge-primary{background-color:var(--color-primary-soft-bg);border-color:var(--color-primary-soft-border);color:var(--color-primary-soft-text)}.badge-neutral{background-color:var(--color-neutral-soft-bg);border-color:var(--color-neutral-soft-border);color:var(--color-neutral-soft-text)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.card-header .card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.card-header .card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-subtle)}.card-body{padding:var(--space-5)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-12) var(--space-5);text-align:center;color:var(--color-text-subtle)}.empty-state .material-symbols-rounded{font-size:44px;color:var(--color-text-faint)}.empty-state .empty-state-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.form-label.is-required:after{content:" *";color:var(--color-danger)}.form-control{width:100%;height:40px;padding:0 var(--space-3);background-color:var(--color-surface);color:var(--color-text-default);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-control::placeholder{color:var(--color-text-faint)}.form-control:hover:not(:disabled):not(:read-only){border-color:var(--color-text-faint)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-control:disabled,.form-control[readonly]{background-color:var(--color-surface-muted);color:var(--color-text-subtle);cursor:not-allowed}.form-control.is-invalid{border-color:var(--color-danger)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px var(--color-danger-soft-bg)}textarea.form-control{height:auto;min-height:96px;padding:var(--space-3);line-height:var(--line-height-base);resize:vertical}select.form-control{appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px 16px}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.form-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-danger)}.form-error .material-symbols-rounded{font-size:14px}.form-check{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-check input[type=checkbox],.form-check input[type=radio]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.search-box{position:relative;display:flex;align-items:center;flex:1 1 260px}.search-box .material-symbols-rounded{position:absolute;left:var(--space-3);font-size:18px;color:var(--color-text-faint);pointer-events:none}.search-box .form-control{padding-left:var(--space-10)}.table-container{width:100%;overflow-x:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.table thead th{position:sticky;top:0;z-index:1;padding:var(--space-3) var(--space-4);background-color:var(--color-surface-soft);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-default);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background-color:var(--color-surface-soft)}.table .table-actions{display:flex;gap:var(--space-2);white-space:nowrap}.table .table-numeric{text-align:right;font-variant-numeric:tabular-nums}.table-sort{display:inline-flex;align-items:center;gap:var(--space-1);color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit}.table-sort .material-symbols-rounded{font-size:15px;opacity:.55}.table-sort:hover{color:var(--color-primary)}.table-sort[aria-sort=ascending] .material-symbols-rounded,.table-sort[aria-sort=descending] .material-symbols-rounded{opacity:1;color:var(--color-primary)}.table-striped tbody tr:nth-child(2n) td{background-color:var(--color-surface-soft)}.dialog-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:var(--color-surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:dialogFadeIn var(--transition-fast)}.dialog-card{display:flex;flex-direction:column;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;padding:var(--space-8) var(--space-6) var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog);animation:dialogSlideUp var(--transition-normal)}.dialog-card.dialog-lg{max-width:720px}.dialog-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto var(--space-4);border:2px solid transparent;border-radius:50%}.dialog-icon .material-symbols-rounded{font-size:30px}.dialog-icon.icon-danger{background-color:var(--color-danger-soft-bg);border-color:var(--color-danger-soft-border);color:var(--color-danger)}.dialog-icon.icon-success{background-color:var(--color-success-soft-bg);border-color:var(--color-success-soft-border);color:var(--color-success)}.dialog-icon.icon-warning{background-color:var(--color-warning-soft-bg);border-color:var(--color-warning-soft-border);color:var(--color-warning)}.dialog-icon.icon-info{background-color:var(--color-primary-soft-bg);border-color:var(--color-primary-soft-border);color:var(--color-primary)}.dialog-title{margin-bottom:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-strong);text-align:center}.dialog-message{margin-bottom:var(--space-6);color:var(--color-text-subtle);line-height:var(--line-height-relaxed);text-align:center}.dialog-message strong{color:var(--color-text-default);font-weight:var(--font-weight-semibold)}.dialog-actions{display:flex;gap:var(--space-3)}.dialog-actions .btn{flex:1}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-stack{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(380px,100vw - var(--space-8));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastSlideIn var(--transition-normal)}.toast .toast-content{flex:1;min-width:0}.toast .toast-title{font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.toast .toast-message{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.toast .material-symbols-rounded{font-size:20px}.toast.toast-exito{border-left-color:var(--color-success)}.toast.toast-exito .toast-icon{color:var(--color-success)}.toast.toast-error{border-left-color:var(--color-danger)}.toast.toast-error .toast-icon{color:var(--color-danger)}.toast.toast-advertencia{border-left-color:var(--color-warning)}.toast.toast-advertencia .toast-icon{color:var(--color-warning)}.toast.toast-info{border-left-color:var(--color-info)}.toast.toast-info .toast-icon{color:var(--color-info)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.loading-bar{position:fixed;top:0;left:0;right:0;z-index:var(--z-toast);height:3px;overflow:hidden;background-color:var(--color-primary-soft-bg)}.loading-bar:after{content:"";position:absolute;inset:0;width:40%;background-color:var(--color-primary);animation:loadingBarSlide 1.1s ease-in-out infinite}@keyframes loadingBarSlide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.spinner{width:22px;height:22px;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.spinner.spinner-lg{width:40px;height:40px;border-width:3.5px}.spinner-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12) 0;color:var(--color-text-subtle)}@keyframes spin{to{transform:rotate(360deg)}}.page-container{width:100%;max-width:var(--layout-max-width);margin:0 auto;padding:var(--layout-gutter)}.stack-2{display:flex;flex-direction:column;gap:var(--space-2)}.stack-4{display:flex;flex-direction:column;gap:var(--space-4)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.text-muted{color:var(--color-text-subtle)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-mono{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}@media(max-width:900px){:root{--layout-gutter: var(--space-4)}.form-actions,.dialog-actions{flex-direction:column-reverse}.form-actions .btn,.dialog-actions .btn{width:100%}}@media(max-width:600px){:root{--layout-gutter: var(--space-3)}.toast-stack{top:auto;bottom:var(--space-3);left:var(--space-3);right:var(--space-3);width:auto}}.filtros{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.filtro-campo{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 200px;min-width:0}.filtro-campo>.search-box{flex:0 0 auto}.filtro-campo.es-ancho{flex:2 1 280px}.filtro-campo.es-estrecho{flex:0 1 160px}.filtro-campo>label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.filtros-acciones{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.datos-lista{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:var(--space-2) var(--space-4);align-items:baseline}.datos-lista dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.03em}.datos-lista dd{color:var(--color-text-default);overflow-wrap:anywhere}.datos-seccion{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.datos-seccion:first-child{margin-top:0;padding-top:0;border-top:none}.datos-seccion-titulo{margin-bottom:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.bloque-codigo{max-height:320px;overflow:auto;padding:var(--space-3);background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-base);color:var(--color-text-default);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}@media(max-width:600px){.datos-lista{grid-template-columns:1fr;gap:var(--space-1)}.datos-lista dd{margin-bottom:var(--space-3)}.filtros-acciones{margin-left:0;width:100%}.filtros-acciones .btn{flex:1;justify-content:center}}
