@charset "UTF-8";.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--ui-primary-50: #eef2ff;--ui-primary-100: #e0e7ff;--ui-primary-300: #a5b4fc;--ui-primary-400: #818cf8;--ui-primary-500: #6366f1;--ui-primary-600: #4f46e5;--ui-primary-700: #4338ca;--ui-neutral-0: #ffffff;--ui-neutral-50: #f8fafc;--ui-neutral-100: #f1f5f9;--ui-neutral-200: #e2e8f0;--ui-neutral-300: #cbd5e1;--ui-neutral-400: #94a3b8;--ui-neutral-500: #64748b;--ui-neutral-700: #334155;--ui-neutral-750: #253347;--ui-neutral-800: #1e293b;--ui-neutral-850: #162032;--ui-neutral-900: #0f172a;--ui-danger-100: #fee2e2;--ui-danger-400: #f87171;--ui-danger-500: #ef4444;--ui-danger-600: #dc2626;--ui-danger-700: #b91c1c;--ui-danger-800: #991b1b;--ui-success-100: #dcfce7;--ui-success-400: #4ade80;--ui-success-500: #22c55e;--ui-success-600: #16a34a;--ui-success-700: #15803d;--ui-success-800: #166534;--ui-warning-100: #fef3c7;--ui-warning-400: #fbbf24;--ui-warning-500: #f59e0b;--ui-warning-700: #b45309;--ui-warning-800: #92400e;--ui-info-100: #dbeafe;--ui-info-400: #60a5fa;--ui-info-500: #3b82f6;--ui-info-700: #1d4ed8;--ui-accent-100: #ede9fe;--ui-accent-200: #ddd6fe;--ui-accent-300: #c4b5fd;--ui-accent-500: #8b5cf6;--ui-accent-600: #7c3aed;--ui-accent-700: #6d28d9;--ui-bg-page: var(--ui-neutral-100);--ui-bg-card: var(--ui-neutral-0);--ui-bg-hover: var(--ui-neutral-50);--ui-bg-subtle: var(--ui-neutral-100);--ui-bg-input: var(--ui-neutral-0);--ui-surface-bg: var(--ui-neutral-100);--ui-text-heading: var(--ui-neutral-800);--ui-text-primary: var(--ui-neutral-700);--ui-text-muted: var(--ui-neutral-500);--ui-text-faint: var(--ui-neutral-400);--ui-text-on-primary: var(--ui-neutral-0);--ui-border: var(--ui-neutral-200);--ui-border-subtle: var(--ui-neutral-100);--ui-action-bg: var(--ui-primary-600);--ui-action-bg-hover: var(--ui-primary-700);--ui-focus-ring-color: var(--ui-primary-500);--ui-focus-ring: 0 0 0 3px color-mix(in srgb, var(--ui-primary-500) 12%, transparent);--ui-danger-ring: 0 0 0 3px color-mix(in srgb, var(--ui-danger-500) 10%, transparent);--ui-disabled-opacity: .6;--ui-badge-info-bg: #e0f2fe;--ui-badge-info-bg-hover: #bae6fd;--ui-badge-info-text: #0369a1;--ui-badge-accent-bg: var(--ui-accent-100);--ui-badge-accent-bg-hover: var(--ui-accent-200);--ui-badge-accent-text: var(--ui-accent-700);--ui-badge-success-bg: var(--ui-success-100);--ui-badge-success-text: var(--ui-success-800);--ui-badge-danger-bg: var(--ui-danger-100);--ui-badge-danger-text: var(--ui-danger-800);--ui-badge-warning-bg: #fef9c3;--ui-badge-warning-text: #854d0e;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 24px;--ui-space-6: 32px;--ui-radius-xs: 4px;--ui-radius-sm: 6px;--ui-radius-md: 8px;--ui-radius-lg: 12px;--ui-radius-pill: 999px;--ui-radius-circle: 50%;--ui-font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ui-font-size-xs: .75rem;--ui-font-size-sm: .8125rem;--ui-font-size-md: .875rem;--ui-font-size-lg: .9375rem;--ui-font-size-xl: 1.125rem;--ui-font-weight-medium: 500;--ui-font-weight-semibold: 600;--ui-font-weight-bold: 700;--ui-shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--ui-shadow-md: 0 4px 20px rgba(0, 0, 0, .25);--ui-shadow-lg: 0 20px 60px rgba(0, 0, 0, .25);--ui-z-overlay: 2000;--ui-z-dialog: 2500;--ui-z-toast: 9999;--ui-transition-fast: .12s;--ui-transition-base: .2s;color-scheme:light}[data-theme=light]{color-scheme:light}[data-theme=dark]{--ui-bg-page: var(--ui-neutral-900);--ui-bg-card: var(--ui-neutral-800);--ui-bg-hover: var(--ui-neutral-750);--ui-bg-subtle: var(--ui-neutral-850);--ui-bg-input: var(--ui-neutral-750);--ui-surface-bg: var(--ui-neutral-850);--ui-text-heading: var(--ui-neutral-100);--ui-text-primary: var(--ui-neutral-300);--ui-text-muted: var(--ui-neutral-400);--ui-text-faint: var(--ui-neutral-500);--ui-border: var(--ui-neutral-700);--ui-border-subtle: var(--ui-neutral-750);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:var(--ui-radius-pill)}*::-webkit-scrollbar-thumb:hover{background:var(--ui-text-faint)}html,body{height:100%;margin:0;font-family:var(--ui-font-family);font-size:16px;-webkit-font-smoothing:antialiased}body{color:var(--ui-text-heading);background:var(--ui-bg-page)}.ui-theme-animate,.ui-theme-animate *{transition:background-color .3s ease,color .3s ease,border-color .3s ease!important}.btn-primary,.btn-secondary,.btn-danger{padding:.5rem 1rem;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-lg);font-family:inherit;cursor:pointer;text-decoration:none}.btn-secondary{display:inline-flex;align-items:center;gap:.4rem}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-icon:disabled{opacity:var(--ui-disabled-opacity);cursor:not-allowed}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-icon:focus-visible{outline:2px solid var(--ui-focus-ring-color);outline-offset:2px}.btn-primary{background:var(--ui-action-bg);color:var(--ui-text-on-primary);border:none;font-weight:var(--ui-font-weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--ui-action-bg-hover)}.btn-primary:active:not(:disabled){background:var(--ui-primary-700)}.btn-secondary{background:var(--ui-bg-subtle);color:var(--ui-text-primary);border:1px solid var(--ui-border)}.btn-secondary:hover:not(:disabled){background:var(--ui-bg-hover)}.btn-secondary:active:not(:disabled){background:var(--ui-border-subtle)}.btn-danger{background:var(--ui-danger-600);color:var(--ui-text-on-primary);border:none;font-weight:var(--ui-font-weight-semibold)}.btn-danger:hover:not(:disabled){background:var(--ui-danger-700)}.btn-danger:focus-visible{outline-color:var(--ui-danger-500)}.btn-sm{padding:.35rem .75rem;font-size:var(--ui-font-size-sm);border-radius:var(--ui-radius-sm)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--ui-radius-sm);border:none;background:transparent;color:var(--ui-text-muted);cursor:pointer;flex-shrink:0;transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.btn-icon>svg{display:block}.btn-icon:hover:not(:disabled){background:var(--ui-bg-subtle);color:var(--ui-text-primary)}.btn-icon.btn-danger{background:transparent;color:var(--ui-text-muted)}.btn-icon.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--ui-danger-500) 8%,transparent);color:var(--ui-danger-500)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;inset:0;margin:auto;width:14px;height:14px;border:2px solid currentcolor;border-top-color:transparent;border-radius:var(--ui-radius-circle);animation:ui-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-danger.btn-loading:after{border-color:var(--ui-text-on-primary);border-top-color:transparent}.btn-secondary.btn-loading:after,.btn-icon.btn-loading:after{border-color:var(--ui-text-muted);border-top-color:transparent}@keyframes ui-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.btn-loading:after{animation-duration:2s}}.badges{display:flex;flex-wrap:wrap;gap:.3rem}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--ui-radius-pill);font-size:.8rem;font-weight:var(--ui-font-weight-medium)}.badge.badge-info,.badge.badge-role{background:var(--ui-badge-info-bg);color:var(--ui-badge-info-text)}.badge.badge-accent,.badge.badge-perm{background:var(--ui-badge-accent-bg);color:var(--ui-badge-accent-text)}.badge.badge-success,.badge.badge-active{background:var(--ui-badge-success-bg);color:var(--ui-badge-success-text)}.badge.badge-danger,.badge.badge-inactive{background:var(--ui-badge-danger-bg);color:var(--ui-badge-danger-text)}.badge.badge-warning,.badge.badge-warn{background:var(--ui-badge-warning-bg);color:var(--ui-badge-warning-text)}.badge.removable{cursor:pointer;gap:.3rem}.badge.removable.badge-info:hover,.badge.removable.badge-role:hover{background:var(--ui-badge-info-bg-hover)}.badge.removable.badge-accent:hover,.badge.removable.badge-perm:hover{background:var(--ui-badge-accent-bg-hover)}.table-card{background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);overflow-x:auto;overflow-y:hidden;box-shadow:0 1px 4px #0000000d}.table-card table{width:100%;border-collapse:collapse}.table-card caption{text-align:left;padding:.875rem 1rem 0;font-size:var(--ui-font-size-md);color:var(--ui-text-muted)}.table-card thead th{padding:.65rem 1rem;text-align:left;font-size:.72rem;font-weight:var(--ui-font-weight-semibold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--ui-bg-subtle);border-bottom:1px solid var(--ui-border)}.table-card thead th.th-actions{text-align:right}.table-card tbody td{padding:.875rem 1rem;border-bottom:1px solid var(--ui-border-subtle);font-size:var(--ui-font-size-lg);color:var(--ui-text-primary);vertical-align:middle}.table-card tbody td.td-actions{text-align:right;white-space:nowrap}.table-card tbody tr:last-child td{border-bottom:none}.table-card tbody tr:hover:not(.skeleton-row){background:var(--ui-bg-hover);cursor:default}.table-card tbody tr.clickable-row:hover{cursor:pointer}.th-sort{display:inline-flex;align-items:center;gap:.35rem;padding:0;background:none;border:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort:hover{color:var(--ui-text-primary)}.th-sort:focus-visible{outline:2px solid var(--ui-focus-ring-color);outline-offset:2px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border-bottom:1px solid var(--ui-border);flex-wrap:wrap}.toolbar-right{display:flex;align-items:center;gap:.5rem}.table-count{font-size:var(--ui-font-size-md);color:var(--ui-text-muted);font-weight:var(--ui-font-weight-medium)}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap svg{position:absolute;left:.625rem;color:var(--ui-text-faint);pointer-events:none}.table-search,.table-filter{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-md);background:var(--ui-bg-input);color:var(--ui-text-primary);transition:border-color .15s,box-shadow .15s}.table-search{width:210px;padding:.45rem .75rem .45rem 2rem}.table-filter{padding:.45rem .65rem;cursor:pointer}.table-search:focus,.table-filter:focus{outline:none;border-color:var(--ui-focus-ring-color);box-shadow:var(--ui-focus-ring)}.table-search::placeholder{color:var(--ui-text-faint);opacity:.6}@keyframes ui-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skel{position:relative;display:block;height:13px;border-radius:var(--ui-radius-sm);background:var(--ui-border-subtle);overflow:hidden}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--ui-bg-hover),transparent);animation:ui-shimmer 1.4s ease-in-out infinite}.skel-avatar{width:32px;height:32px;border-radius:var(--ui-radius-circle);flex-shrink:0}@media(prefers-reduced-motion:reduce){.skel:after{animation:none}}.empty-state{text-align:center;padding:3.5rem 1rem!important;color:var(--ui-text-muted)}.empty-state svg{display:block;margin-inline:auto;margin-bottom:.875rem;color:var(--ui-text-faint)}.empty-state p{margin:0 0 1.25rem;font-size:var(--ui-font-size-lg);color:var(--ui-text-muted)}.empty{text-align:center;color:var(--ui-text-faint);padding:2rem!important}body[data-theme]{--bg-page: var(--ui-bg-page);--bg-card: var(--ui-bg-card);--bg-hover: var(--ui-bg-hover);--bg-subtle: var(--ui-bg-subtle);--bg-input: var(--ui-bg-input);--surface-bg: var(--ui-surface-bg);--text-heading: var(--ui-text-heading);--text-primary: var(--ui-text-primary);--text-muted: var(--ui-text-muted);--text-faint: var(--ui-text-faint);--border: var(--ui-border);--border-subtle: var(--ui-border-subtle)}body[data-theme=light]{--bg-detail-a: #f0f9ff;--bg-detail-b: #f5f3ff;--border-detail-a: #bae6fd;--border-detail-b: #e0e7ff;--panel-bg: #f9f8fd;--sidebar-bg: #ffffff;--sidebar-text: #334155;--sidebar-hover: rgba(0, 0, 0, .05);--sidebar-active: rgba(99, 102, 241, .09);--sidebar-border: #e2e8f0;color:#1e293b;--nub-azure: #0369a1;--nub-pink: #be185d;--nub-line: #d6ebfb;--nub-azure-solid: #0369a1;--nub-pink-solid: #be185d}body[data-theme=dark]{--bg-detail-a: #0c1f35;--bg-detail-b: #18123a;--border-detail-a: #1e3a5f;--border-detail-b: #2d1f5e;--panel-bg: #263450;--sidebar-bg: #0f172a;--sidebar-text: #f1f5f9;--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-active: rgba(255, 255, 255, .12);--sidebar-border: #1e293b;color:#f1f5f9;--nub-azure: #38bdf8;--nub-pink: #f472b6;--nub-line: #1e3a5f;--nub-azure-solid: #0369a1;--nub-pink-solid: #be185d}a,a:where(:visited){color:#6366f1;text-decoration:none}input,textarea,select{background:var(--bg-input);color:var(--text-primary);border-color:var(--border);font-family:inherit}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-primary);opacity:.35}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset;transition:background-color 9999s ease-in-out 0s}body.theme-animate,body.theme-animate *{transition:background-color .3s ease,color .3s ease,border-color .3s ease!important}.page{width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.page h1{margin:0;font-size:1.5rem;color:var(--text-heading)}.page h2{margin:0 0 1rem;font-size:1.125rem;color:var(--text-heading)}.error-banner{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9375rem}.loading{color:var(--text-muted)}.muted{color:var(--text-faint)}.form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.75rem 2rem;box-shadow:0 1px 4px #0000000a}.form-card+.form-card{margin-top:1.25rem}.badge.badge-pending{background:#eab3081a;color:#b45309}.badge.badge-paid{background:#22c55e1a;color:#15803d}.badge.badge-overdue{background:#ef44441f;color:#b91c1c}.badge.badge-open{background:#6366f11a;color:#6366f1}.badge.badge-closed{background:var(--ui-bg-subtle);color:var(--ui-text-muted)}.badge.badge-in-progress{background:#8b5cf61a;color:#7c3aed}body[data-theme=dark]{--ui-badge-success-bg: rgba(34, 197, 94, .16);--ui-badge-success-text: #4ade80;--ui-badge-danger-bg: rgba(239, 68, 68, .16);--ui-badge-danger-text: #f87171;--ui-badge-warning-bg: rgba(234, 179, 8, .16);--ui-badge-warning-text: #fbbf24;--ui-badge-info-bg: rgba(59, 130, 246, .16);--ui-badge-info-text: #60a5fa}body[data-theme=dark] .badge.badge-paid{background:#22c55e29;color:#4ade80}body[data-theme=dark] .badge.badge-overdue{background:#ef444429;color:#f87171}body[data-theme=dark] .badge.badge-pending{background:#eab30829;color:#fbbf24}body[data-theme=dark] .badge.badge-open{background:#6366f12e;color:#a5b4fc}body[data-theme=dark] .badge.badge-in-progress{background:#8b5cf62e;color:#c4b5fd}.page-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:var(--text-muted);text-decoration:none;margin-bottom:1.25rem;cursor:pointer;background:none;border:none;padding:0}.page-back:hover{color:var(--text-primary)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem}.detail-field{display:flex;flex-direction:column;gap:.25rem}.field-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.field-value{font-size:.9375rem;color:var(--text-primary);word-break:break-word}.detail-tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.detail-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.detail-tab:hover{color:var(--text-primary)}.detail-tab.active{color:var(--ui-primary-500);border-bottom-color:var(--ui-primary-500);font-weight:600}.row-identity{display:flex;align-items:center;gap:.65rem}.row-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.no-data{color:var(--text-faint);font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--ui-primary-500);border-radius:50%;animation:spin .6s linear infinite}.is-loading{gap:0}.is-loading:before{content:"";display:inline-block;width:.85em;height:.85em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;margin-right:.4rem;vertical-align:-.1em;flex-shrink:0}.is-loading>svg{display:none}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{padding:.75rem 1.25rem;border-bottom:1px solid var(--border-subtle);font-size:.9375rem;vertical-align:middle}.info-table th{width:40%;text-align:left;font-weight:500;color:var(--text-muted);white-space:nowrap}.info-table td{color:var(--text-primary);text-align:right;word-break:break-word}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none}.info-table .valor-fuerte{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-heading)}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;border:1px solid rgba(239,68,68,.35);border-radius:12px;padding:1.25rem 1.5rem;background:#ef44440a}.danger-zone .dz-text{flex:1;min-width:220px}.danger-zone h4{margin:0 0 .35rem;font-size:.95rem;color:var(--text-primary)}.danger-zone p{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.5}.modal-backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{padding:0;border:none;background:transparent;width:100%;max-width:min(440px,100% - 2rem);max-height:calc(100dvh - 2rem);color:inherit}.modal-dialog::backdrop{background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .15s ease}.modal-dialog.modal-dialog--wide{max-width:min(620px,100% - 2rem)}.modal-dialog.modal-dialog--wide .modal-box{max-width:620px}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:440px;max-height:inherit;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;overflow:hidden;animation:slideUp .18s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:1.125rem 1.25rem .875rem;border-bottom:1px solid var(--border-subtle)}.modal-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-heading)}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;padding:4px 8px;border-radius:4px}.modal-close-btn:hover{background:var(--bg-subtle)}.modal-body{padding:1.125rem 1.25rem;flex:1;min-height:0;overflow-y:auto}.modal-body p{margin:0 0 .75rem;font-size:.9rem;color:var(--text-primary);line-height:1.55}.modal-footer{display:flex;flex-shrink:0;justify-content:flex-end;gap:.625rem;padding:.875rem 1.25rem;border-top:1px solid var(--border-subtle);background:var(--bg-subtle)}.detail-aside-layout{display:flex;gap:1.5rem;align-items:flex-start;margin-top:1.25rem}.detail-aside-nav{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.5rem;position:sticky;top:1rem}.aside-nav-btn{display:flex;align-items:center;gap:8px;background:none;border:none;border-radius:7px;padding:.55rem .75rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-muted);width:100%;text-align:left;transition:background .12s,color .12s}.aside-nav-btn:hover{background:var(--bg-subtle);color:var(--text-heading)}.aside-nav-btn.active{background:#6366f11a;color:#6366f1;font-weight:600}.aside-nav-btn svg{flex-shrink:0}.aside-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:18px;height:18px;background:#6366f11f;color:#818cf8;border-radius:9px;font-size:.7rem;font-weight:700;line-height:1;padding:0 5px}.tab-badge--alert{background:#ef444426;color:#ef4444}.detail-aside-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.25rem}.detail-aside-content>*{animation:tabIn .22s ease}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.detail-aside-content>*{animation:none}}@media(max-width:768px){.detail-aside-layout{flex-direction:column}.detail-aside-nav{width:100%;flex-direction:row;flex-wrap:wrap;position:static}.aside-nav-btn{width:auto}}.content>:not(router-outlet){animation:route-enter .2s ease-out both}@keyframes route-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.content>:not(router-outlet){animation:none}}.cdk-overlay-container{z-index:1100}
