html{--mat-sys-background: #fff8f5;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #fbeee6;--mat-sys-inverse-primary: #ffb870;--mat-sys-inverse-surface: #362f29;--mat-sys-on-background: #201a15;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #693c00;--mat-sys-on-primary-fixed: #2c1600;--mat-sys-on-primary-fixed-variant: #693c00;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #5c4127;--mat-sys-on-secondary-fixed: #2b1702;--mat-sys-on-secondary-fixed-variant: #5c4127;--mat-sys-on-surface: #201a15;--mat-sys-on-surface-variant: #514439;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #693c00;--mat-sys-on-tertiary-fixed: #2c1600;--mat-sys-on-tertiary-fixed-variant: #693c00;--mat-sys-outline: #847467;--mat-sys-outline-variant: #d6c3b4;--mat-sys-primary: #875211;--mat-sys-primary-container: #ffdcbe;--mat-sys-primary-fixed: #ffdcbe;--mat-sys-primary-fixed-dim: #ffb870;--mat-sys-scrim: #000000;--mat-sys-secondary: #76593c;--mat-sys-secondary-container: #ffdcbe;--mat-sys-secondary-fixed: #ffdcbe;--mat-sys-secondary-fixed-dim: #e6bf9c;--mat-sys-shadow: #000000;--mat-sys-surface: #fff8f5;--mat-sys-surface-bright: #fff8f5;--mat-sys-surface-container: #f8ece3;--mat-sys-surface-container-high: #f2e6dd;--mat-sys-surface-container-highest: #ede0d8;--mat-sys-surface-container-low: #fef1e8;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #e4d8cf;--mat-sys-surface-tint: #875211;--mat-sys-surface-variant: #f3dfcf;--mat-sys-tertiary: #875211;--mat-sys-tertiary-container: #ffdcbe;--mat-sys-tertiary-fixed: #ffdcbe;--mat-sys-tertiary-fixed-dim: #ffb870;--mat-sys-neutral-variant20: #3a2e23;--mat-sys-neutral10: #201a15}html{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-sys-body-large: 400 1rem / 1.5rem Arial, Helvetica, sans-serif;--mat-sys-body-large-font: Arial, Helvetica, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Arial, Helvetica, sans-serif;--mat-sys-body-medium-font: Arial, Helvetica, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Arial, Helvetica, sans-serif;--mat-sys-body-small-font: Arial, Helvetica, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Arial, Helvetica, sans-serif;--mat-sys-display-large-font: Arial, Helvetica, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Arial, Helvetica, sans-serif;--mat-sys-display-medium-font: Arial, Helvetica, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Arial, Helvetica, sans-serif;--mat-sys-display-small-font: Arial, Helvetica, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Arial, Helvetica, sans-serif;--mat-sys-headline-large-font: Arial, Helvetica, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Arial, Helvetica, sans-serif;--mat-sys-headline-medium-font: Arial, Helvetica, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Arial, Helvetica, sans-serif;--mat-sys-headline-small-font: Arial, Helvetica, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Arial, Helvetica, sans-serif;--mat-sys-label-large-font: Arial, Helvetica, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Arial, Helvetica, sans-serif;--mat-sys-label-medium-font: Arial, Helvetica, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Arial, Helvetica, sans-serif;--mat-sys-label-small-font: Arial, Helvetica, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Arial, Helvetica, sans-serif;--mat-sys-title-large-font: Arial, Helvetica, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Arial, Helvetica, sans-serif;--mat-sys-title-medium-font: Arial, Helvetica, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Arial, Helvetica, sans-serif;--mat-sys-title-small-font: Arial, Helvetica, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500}html{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html{--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--color-primary: #eaa55e;--color-primary-hover: #d6914b;--color-primary-soft: rgba(234, 165, 94, .14);--color-secondary: #4d4d4d;--color-border: #343434;--color-selected: var(--color-primary);--color-selected-bg: var(--color-primary-soft);--color-selected-border: var(--color-primary);--gray-50: #fafafa;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--color-success: #4caf50;--color-danger: #f44336;--color-info: #2196f3;--color-warning: #f9a825;--color-text: #333;--color-text-muted: #666;--color-text-light: #888;--color-bg-light: #f5f5f5;--color-bg-hover: var(--color-primary-soft);--color-border-light: #e0e0e0;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--border-radius: var(--radius-lg);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-xs: 11px;--font-sm: 12px;--font-md: 13px;--font-base: 14px;--font-lg: 16px;--font-xl: 20px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--box-shadow: var(--shadow-md);--border-primary: 1px solid var(--color-primary);--border-default: 1px solid var(--color-border);--info-panel-width: 400px}body{font-family:Arial,Helvetica,sans-serif;margin:0}.card,.window{background:#fff;border:var(--border-default);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:2rem}.btn-primary{width:100%;padding:.75rem;background-color:var(--color-primary);color:#000;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .2s ease}.btn-primary:hover{color:var(--color-primary);background-color:var(--color-secondary)}.btn-primary:active{filter:brightness(.95)}input[type=text],input[type=password],input[type=email],input[type=number],textarea{width:100%;padding:.5rem;border:1px solid #bbbbbb;border-radius:var(--border-radius);box-sizing:border-box;font-size:1rem;transition:border-color .2s ease}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,textarea:focus{outline:none;border-color:var(--color-primary)}.panel{display:flex;flex-direction:column;height:100%;width:100%;background:#fff;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(to bottom,#fff,#fafafa);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.panel-header h3{margin:0;font-size:14px;font-weight:700;color:var(--color-text);letter-spacing:-.2px}.header-actions{display:flex;gap:6px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;background:#fafafa;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;background:var(--color-primary);color:#fff;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s ease;white-space:nowrap}.action-btn:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 2px 8px #00000026}.action-btn:active:not(:disabled){transform:scale(.98)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary{background:var(--color-primary)}.action-btn.secondary{background:#fff;color:var(--color-text-muted);border:1px solid var(--color-border-light)}.action-btn.secondary:hover:not(:disabled){background:var(--color-bg-light);border-color:#ccc}.action-btn.success{background:var(--color-success)}.action-btn.danger{background:var(--color-danger)}.action-btn.info{background:var(--color-info)}.action-btn.small{padding:6px 10px;font-size:11px}.action-btn mat-icon{font-size:16px;width:16px;height:16px;line-height:1}.action-btn.small mat-icon{font-size:14px;width:14px;height:14px}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--color-border-light);border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s ease;color:var(--color-text-muted)}.icon-btn mat-icon{font-size:16px;width:16px;height:16px;line-height:1}.icon-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.danger:hover:not(:disabled){background:#f4433614;border-color:var(--color-danger);color:var(--color-danger)}.icon-btn.small{width:28px;height:28px;font-size:12px}.icon-btn.small mat-icon{font-size:16px;width:16px;height:16px}.ghost-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);cursor:pointer;margin-left:auto;padding:6px 12px;border-radius:6px;background:#fff;border:1px solid var(--color-border-light);transition:all .15s ease}.ghost-toggle:hover{background:var(--color-bg-light);border-color:#ccc}.ghost-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:var(--color-text-muted);font-size:13px}.spinner{box-sizing:border-box;flex-shrink:0;width:20px;height:20px;border:2px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinning{animation:spin .8s linear infinite}.test-progress{margin:12px 16px;padding:14px 16px;background:var(--color-bg-light);border-radius:10px;border:1px solid var(--color-border-light);flex-shrink:0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.progress-text{font-size:13px;font-weight:600;color:var(--color-text)}.progress-percent{font-size:13px;font-weight:700;color:var(--color-primary)}.progress-bar-container{height:6px;background:var(--color-border-light);border-radius:3px;overflow:hidden;margin-bottom:10px}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease}.progress-spec{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-muted)}.progress-bar-fill.indeterminate{width:40%;border-radius:3px;animation:indeterminate-slide 1.1s ease-in-out infinite}@keyframes indeterminate-slide{0%{transform:translate(-110%)}to{transform:translate(280%)}}.bundle-checklist{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.bundle-step{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-light);transition:color .2s ease}.bundle-step.done{color:var(--color-success)}.bundle-step.active{color:var(--color-primary);font-weight:600}.bundle-step-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.bundle-step-icon mat-icon{font-size:16px;width:16px;height:16px;line-height:16px}.bundle-step.done .bundle-step-icon mat-icon{color:var(--color-success)}.bundle-step-icon .spinner{width:14px;height:14px;border-width:2px}.bundle-step-detail{color:var(--color-text-muted);font-weight:400}.cache-chip{display:flex;align-items:center;gap:8px;margin:8px 16px 0;padding:8px 12px;background:#fff;border:1px solid var(--color-border-light);border-radius:8px;font-size:12px;color:var(--color-text-muted);flex-shrink:0}.cache-chip .spinner{width:14px;height:14px;border-width:2px}.cache-chip-text{line-height:1.4}.progress-spec i{color:var(--color-text-muted)}.spec-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:10px}.spec-item{background:#fff;border:1px solid #e8e8e8;border-radius:12px;transition:all .15s ease;box-shadow:0 1px 3px #0000000a}.spec-item:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #0000000f}.spec-item.selected{border-color:var(--color-selected-border);background:var(--color-selected-bg);box-shadow:0 2px 8px #eaa55e2e}.spec-header{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.spec-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);border-radius:var(--radius-lg);color:#fff;font-size:15px;flex-shrink:0;box-shadow:0 2px 6px #eaa55e4d}.spec-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.spec-name{font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spec-description{font-size:11px;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spec-versions{font-size:10px;color:#aaa}.result-badge{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;background:var(--color-primary);color:#fff;font-size:12px;font-weight:700;flex-shrink:0;box-shadow:0 1px 3px #eaa55e4d}.result-badge.muted{background:var(--color-bg-light);color:#9e9e9e;box-shadow:none}.spec-details{padding:0 16px 16px;background:linear-gradient(to bottom,#4a90e205,#fff);border-top:1px solid #f0f0f0}.spec-actions{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0;border-bottom:1px solid #eee}.im-values,.ids-values{display:grid;gap:6px;max-height:280px;overflow-y:auto;padding:2px}.im-value-item,.ids-value-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #eee;border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left}.im-value-item:hover,.ids-value-item:hover{border-color:var(--color-info);background:#2196f308;box-shadow:0 2px 6px #2196f31a}.im-value-item.is-selected,.ids-value-item.is-selected{border-color:var(--color-selected-border);background:var(--color-selected-bg);box-shadow:0 0 0 2px #eaa55e38}.im-dot,.ids-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0;box-shadow:0 1px 2px #0000001a}.im-value-main,.ids-value-main{flex:1;min-width:0}.im-value-title,.ids-value-title{font-size:13px;font-weight:600;color:var(--color-text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.im-value-sub,.ids-value-sub{font-size:11px;color:var(--color-text-light)}.im-value-right,.ids-value-right{color:#ccc;font-size:16px;width:16px;height:16px;line-height:1;transition:color .15s ease}.im-value-item:hover .im-value-right,.ids-value-item:hover .ids-value-right{color:var(--color-info)}.ids-value-verdict{font-size:15px;width:15px;height:15px;line-height:1;flex-shrink:0}.ids-value-verdict.pass{color:#4caf50}.ids-value-verdict.fail{color:#f44336}.im-empty-values,.ids-empty-values{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px;margin:12px 0;background:linear-gradient(135deg,#f8f9fa,#f0f2f5);border:1px dashed #d0d5dd;border-radius:10px;text-align:center}.im-empty-values mat-icon,.ids-empty-values mat-icon{font-size:24px;width:24px;height:24px;color:#98a2b3;margin-bottom:4px}.im-empty-values span,.ids-empty-values span{font-size:13px;font-weight:600;color:#475467}.im-empty-values small,.ids-empty-values small{font-size:12px;color:#98a2b3;line-height:1.4}.im-empty-values b{color:var(--color-primary);font-weight:600}.im-summary{padding:14px 0}.im-summary-title{font-size:13px;font-weight:700;color:var(--color-text)}.im-summary-sub{font-size:12px;color:var(--color-text-muted);margin-top:4px}.ids-values-section{margin-top:14px;padding-top:14px;border-top:1px solid #eee}.ids-values-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ids-values-title{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.ids-values-count{font-size:11px;color:var(--color-text-light);background:var(--color-bg-light);padding:3px 10px;border-radius:12px}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#999;text-align:center}.no-results-icon{margin-bottom:16px;opacity:.4;color:var(--color-text-light);display:flex;align-items:center;justify-content:center}.no-results-icon mat-icon{font-size:40px;width:40px;height:40px}.no-results-title{font-size:15px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px}.no-results-text{font-size:13px;line-height:1.6;color:var(--color-text-light)}.cdk-overlay-container{z-index:10001}.dialog-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;backdrop-filter:blur(2px);z-index:10000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog{background:#fff;border-radius:16px;width:90vw;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000040,0 8px 24px #00000026;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-wide{max-width:640px}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #eee;flex-shrink:0;background:#fafafa}.dialog-header h4{margin:0;font-size:17px;font-weight:700;color:var(--color-text)}.dialog-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #eee;background:#fafafa;flex-shrink:0}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:13px;transition:all .15s ease;box-sizing:border-box;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #eaa55e26}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-hint{font-size:11px;color:#999;margin-top:5px;line-height:1.4}.divider{border:none;border-top:1px solid #eee;margin:20px 0}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#555;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}h5{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;display:flex;align-items:center;gap:8px}.selected-count{font-weight:500;text-transform:none;color:var(--color-info)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid #ddd;border-radius:16px;background:#fff;font-size:11px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.value-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.value-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:12px;font-weight:500}.remove-value{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#0000001a;color:inherit;cursor:pointer;transition:background .15s ease}.remove-value mat-icon{font-size:14px;width:14px;height:14px;line-height:14px;overflow:hidden}.remove-value:hover{background:#0003}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.badge.success{background:#e8f5e9;color:#2e7d32}.badge.danger{background:#ffebee;color:#c62828}.badge.warning{background:#fff3e0;color:#ef6c00}.badge.info{background:#e3f2fd;color:#1565c0}.badge.muted{background:var(--color-bg-light);color:#9e9e9e}.spec-list::-webkit-scrollbar,.im-values::-webkit-scrollbar,.ids-values::-webkit-scrollbar,.dialog-body::-webkit-scrollbar{width:6px}.spec-list::-webkit-scrollbar-track,.im-values::-webkit-scrollbar-track,.ids-values::-webkit-scrollbar-track,.dialog-body::-webkit-scrollbar-track{background:transparent}.spec-list::-webkit-scrollbar-thumb,.im-values::-webkit-scrollbar-thumb,.ids-values::-webkit-scrollbar-thumb,.dialog-body::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.spec-list::-webkit-scrollbar-thumb:hover,.im-values::-webkit-scrollbar-thumb:hover,.ids-values::-webkit-scrollbar-thumb:hover,.dialog-body::-webkit-scrollbar-thumb:hover{background:#aaa}.accordion{border:1px solid #c1c1c1;border-radius:6px;overflow:hidden;background:#fff}.accordion+.accordion{margin-top:8px}.acc-item+.acc-item{border-top:1px solid #eaeaea}.acc-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#f3f3f3;color:#5b5b5b;font-weight:600;font-size:14px;border:0;text-align:left}.acc-header .acc-chevron{margin-right:8px;font-size:18px;width:18px;height:18px;line-height:1;transition:transform .15s ease-in-out,opacity .15s ease-in-out;opacity:.8}.acc-header[aria-expanded=true] .acc-chevron{opacity:1}button.acc-header{cursor:pointer}button.acc-header:hover{background:#eaeaea}.acc-title{flex:1;margin-left:8px}.acc-badge{font-size:12px;color:#5b5b5b;background:#e8e8e8;border:1px solid #d5d5d5;padding:2px 6px;border-radius:10px;line-height:1}.acc-body{background:#fff;border-top:1px solid #eaeaea}.muted{opacity:.7;font-style:italic}.text-center{text-align:center}.flex-1{flex:1}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.help-dialog-panel .mat-mdc-dialog-surface{padding:0!important;border-radius:8px!important;overflow:hidden}.help-dialog-panel .mat-mdc-dialog-container{padding:0!important}.confirm-dialog-panel .mat-mdc-dialog-surface{padding:0!important;border-radius:16px!important;overflow:hidden;box-shadow:0 24px 80px #00000040,0 8px 24px #00000026!important}.confirm-dialog-panel .mat-mdc-dialog-container{padding:0!important}.ids-editor-dialog-panel.mat-mdc-dialog-panel,.ids-editor-dialog-panel{max-width:100vw!important;max-height:100vh!important;width:100vw!important;height:100vh!important}.ids-editor-dialog-panel .mat-mdc-dialog-container{padding:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important}.ids-editor-dialog-panel .mat-mdc-dialog-surface{padding:0!important;border-radius:0!important;overflow:hidden!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;display:flex;flex-direction:column}.ids-editor-dialog-panel .mat-mdc-dialog-content{padding:0!important;margin:0!important;max-height:none!important;flex:1;min-height:0;display:flex}.notification-error .mdc-snackbar__surface{background:#d32f2f!important}.notification-error .mdc-snackbar__label{color:#fff!important;font-weight:500;font-size:13px}.notification-error .mdc-snackbar__dismiss{color:#fffc!important}.notification-warn .mdc-snackbar__surface{background:#e65100!important}.notification-warn .mdc-snackbar__label{color:#fff!important;font-weight:500;font-size:13px}.notification-warn .mdc-snackbar__dismiss{color:#fffc!important}.notification-success .mdc-snackbar__surface{background:#2e7d32!important}.notification-success .mdc-snackbar__label{color:#fff!important;font-weight:500;font-size:13px}.notification-success .mdc-snackbar__dismiss{color:#fffc!important}
