:root{--color-bg: #10161d;--color-bg-gradient-start: #1a232c;--color-bg-gradient-middle: #10161d;--color-bg-gradient-end: #0a0f14;--color-bg-input: #223040;--color-heading: #f2f6f9;--color-text: #e8edf2;--color-text-muted: #9dabb9;--color-primary: #4cc2a4;--color-primary-hover: #3aa88c;--color-on-primary: #0c1218;--color-accent: #4cc2a4;--color-accent-hover: #3aa88c;--color-brass: #d9a04f;--color-border: #2e3d4c;--color-border-ghost: rgba(157, 171, 185, .4);--color-info-bg: #223040;--color-info-text: #8fb0cd;--color-danger: #e2685c;--color-danger-hover: #cf5347;--color-danger-muted: rgba(226, 104, 92, .12)}:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem}:root{--pedigree-card-height: 120px;--pedigree-leaf-gap: 4px}:root{--font-family-base: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-family-display: "Fraunces", Georgia, "Times New Roman", serif}[data-theme=app]{--color-bg: #f4f6f8;--color-bg-gradient-start: #eef1f4;--color-bg-gradient-middle: #f4f6f8;--color-bg-gradient-end: #ffffff;--color-bg-input: #eef1f4;--color-bg-disabled: #dde3e9;--color-heading: #1c2733;--color-text: #1c2733;--color-text-muted: #5c6b7a;--color-border: #d5dde4;--color-border-ghost: rgba(92, 107, 122, .35);--color-primary: #3a5169;--color-primary-hover: #2e4257;--color-on-primary: #ffffff;--color-accent: #1d7a66;--color-accent-hover: #16614f;--color-brass: #a66b1f;--color-nav-active-bg: #e3eaf0;--color-nav-active-text: #2e4257;--color-info-bg: #e3eaf0;--color-info-text: #2e4257;--color-pedigree-father: #3a5169;--color-pedigree-mother: #a34e68;--color-surface: #ffffff;--color-surface-raised: #eef1f4;--sidebar-width-expanded: 260px;--sidebar-width-compact: 64px;--color-warning-bg: #f7ecd8;--color-warning-text: #8a5a17;--color-state-error: #b3362b;--color-state-error-bg: #f9e9e7;--color-state-error-border: #cf6157;--color-state-error-dark: #8f2b22;--color-state-success: #1d7a66;--color-state-success-light: rgba(29, 122, 102, .1);--color-primary-alpha: rgba(58, 81, 105, .1);--color-error-alpha: rgba(179, 54, 43, .1);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--pg-body: #3a5169;--pg-shield: #eef1f4;--pg-bar: #1c2733;--pg-ink: #1c2733;--pg-accent: #1d7a66}[data-theme=app-dark]{--color-bg: #10161d;--color-bg-gradient-start: #1a232c;--color-bg-gradient-middle: #10161d;--color-bg-gradient-end: #0a0f14;--color-bg-input: #223040;--color-bg-disabled: #2e3d4c;--color-heading: #f2f6f9;--color-text: #e8edf2;--color-text-muted: #9dabb9;--color-border: #2e3d4c;--color-border-ghost: rgba(157, 171, 185, .4);--color-primary: #4cc2a4;--color-primary-hover: #3aa88c;--color-on-primary: #0c1218;--color-accent: #4cc2a4;--color-accent-hover: #3aa88c;--color-brass: #d9a04f;--color-nav-active-bg: #223040;--color-nav-active-text: #8fb0cd;--color-info-bg: #223040;--color-info-text: #8fb0cd;--color-pedigree-father: #8fb0cd;--color-pedigree-mother: #d087a0;--color-surface: #1a232c;--color-surface-raised: #223040;--sidebar-width-expanded: 260px;--sidebar-width-compact: 64px;--color-warning-bg: rgba(217, 160, 79, .15);--color-warning-text: #d9a04f;--color-state-error: #e2685c;--color-state-error-bg: rgba(226, 104, 92, .12);--color-state-error-border: #e2685c;--color-state-error-dark: #f0958c;--color-state-success: #4cc2a4;--color-state-success-light: rgba(76, 194, 164, .12);--color-primary-alpha: rgba(76, 194, 164, .12);--color-error-alpha: rgba(226, 104, 92, .12);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--pg-body: #6b869f;--pg-shield: #d9e2ea;--pg-bar: #10161d;--pg-ink: #0a0f14;--pg-accent: #4cc2a4}[data-theme=public]{--color-bg: #10161d;--color-bg-gradient-start: #1a232c;--color-bg-gradient-middle: #10161d;--color-bg-gradient-end: #0a0f14;--color-bg-input: #223040;--color-bg-disabled: #2e3d4c;--color-heading: #f2f6f9;--color-text: #e8edf2;--color-text-muted: #9dabb9;--color-border: #2e3d4c;--color-border-ghost: rgba(157, 171, 185, .4);--color-primary: #4cc2a4;--color-primary-hover: #3aa88c;--color-on-primary: #0c1218;--color-accent: #4cc2a4;--color-accent-hover: #3aa88c;--color-brass: #d9a04f;--color-nav-active-bg: #223040;--color-nav-active-text: #8fb0cd;--color-info-bg: #223040;--color-info-text: #8fb0cd;--color-pedigree-father: #8fb0cd;--color-pedigree-mother: #d98aa4;--color-surface: #1a232c;--color-surface-raised: #223040;--color-state-error: #e2685c;--color-state-error-bg: rgba(226, 104, 92, .12);--color-state-error-border: #e2685c;--color-state-error-dark: #f0a49c;--color-state-success: #4cc2a4;--color-state-success-light: rgba(76, 194, 164, .12);--color-primary-alpha: rgba(76, 194, 164, .12);--color-error-alpha: rgba(226, 104, 92, .1);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--pg-body: #6b869f;--pg-shield: #d9e2ea;--pg-bar: #10161d;--pg-ink: #0a0f14;--pg-accent: #4cc2a4}html,body,div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,button,form,input,label,select,textarea,table,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0}ul,ol{list-style:none;padding:0;margin:0}button{font-family:inherit;background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}table{border-collapse:collapse;border-spacing:0}img{display:block;max-width:100%;height:auto}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover);text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-heading)}h1{font-family:var(--font-family-display);font-weight:600;letter-spacing:.01em}p{margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-ghost);border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--color-border-ghost) var(--color-bg)}*::-webkit-scrollbar{scrollbar-color:var(--color-border-ghost) var(--color-bg)}.pm-btn{border-radius:6px;padding:var(--space-sm) var(--space-md);font-size:.85rem;border:1px solid transparent;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:var(--space-xs);white-space:nowrap}.pm-btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-ghost)}.pm-btn-ghost:hover{border-color:var(--color-text);background:#0f172ab3}.pm-btn-primary{background:var(--color-primary);color:var(--color-on-primary, #ffffff);font-weight:600;border-color:var(--color-primary)}.pm-btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.pm-icon-btn{background:none;border:none;cursor:pointer;padding:var(--space-xs);border-radius:4px;color:var(--color-text)}.pm-icon-btn:hover{background:var(--color-bg-input)}.pm-btn-danger{background:var(--color-danger);color:#fff;font-weight:600;border-color:var(--color-danger)}.pm-btn-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.pm-btn-danger:disabled{opacity:.6;cursor:not-allowed}.pm-btn-ghost-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.pm-btn-ghost-danger:hover:not(:disabled){background:var(--color-danger-muted)}.pm-btn-ghost-danger:disabled{opacity:.6;cursor:not-allowed}.pm-icon-btn-danger{color:var(--color-danger)}.pm-icon-btn-danger:hover{background:var(--color-danger-muted)}.pm-icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pm-btn-loading{display:inline-flex;align-items:center;gap:var(--space-xs)}.pm-btn-spinner{font-size:1rem;animation:pm-spin 1.2s linear infinite}@keyframes pm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pm-btn-spinner{animation:none}}.pm-hero{max-width:1120px;margin:0 auto;padding:var(--space-2xl) var(--space-lg) var(--space-2xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xl)}.pm-hero-content{max-width:540px}.pm-hero-content h1{font-size:2.6rem;line-height:1.1;margin-bottom:var(--space-lg);color:var(--color-heading)}.pm-hero-content p{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.pm-hero-actions{display:flex;gap:var(--space-md)}.pm-hero-visual{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.pm-hero-visual svg{filter:drop-shadow(0 12px 32px rgba(0,0,0,.35))}@media(max-width:900px){.pm-hero-visual{display:none}}@media(max-width:768px){.pm-hero{padding-top:3rem}.pm-hero-content h1{font-size:2rem}}.pm-features{max-width:1120px;margin:0 auto;padding:0 var(--space-lg) var(--space-2xl)}.pm-features-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.pm-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.pm-feature-card mat-icon{color:var(--color-primary);margin-bottom:var(--space-sm)}.pm-feature-card h2{font-size:1.1rem;margin-bottom:var(--space-sm);color:var(--color-heading)}.pm-feature-card p{font-size:.95rem;color:var(--color-text-muted);margin:0}@media(max-width:768px){.pm-features-inner{grid-template-columns:1fr}}.pm-table{width:100%;border-collapse:collapse;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.pm-table th{text-align:left;padding:var(--space-md);background:var(--color-bg-input);border-bottom:1px solid var(--color-border);font-weight:600;color:var(--color-heading)}.pm-table td{padding:var(--space-md);border-bottom:1px solid var(--color-border);color:var(--color-text)}.pm-table tr:hover td{background:var(--color-bg-input)}.pm-table th.col-num,.pm-table td.col-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pm-skeleton-table{display:flex;flex-direction:column;gap:var(--space-sm)}.pm-skeleton-row{height:40px;background:var(--color-bg-input);border-radius:4px;animation:pm-skeleton 1.4s infinite ease-in-out}@keyframes pm-skeleton{0%{background:var(--color-bg-input)}50%{background:var(--color-bg)}to{background:var(--color-bg-input)}}.pm-badge{padding:var(--space-xs) var(--space-sm);border-radius:12px;font-size:.75rem;background:var(--color-bg-input);color:var(--color-text-muted)}.pm-badge--active{background:var(--color-info-bg);color:var(--color-info-text)}.pm-badge--inactive{background:var(--color-bg-input);color:var(--color-text-muted)}.pm-badge--retired{background:var(--color-warning-bg);color:var(--color-warning-text)}.pm-badge--hidden{background:var(--color-bg-disabled);color:var(--color-text-muted);margin-left:var(--space-xs)}.pm-badge--own{background:var(--color-success-bg, #e8f5e9);color:var(--color-success-text, #2e7d32)}.pm-badge--external{background:var(--color-warning-bg);color:var(--color-warning-text);margin-left:var(--space-xs)}.pm-badge--accent{background:var(--color-state-success-light);color:var(--color-accent, var(--color-state-success));font-weight:600}a.pm-badge-link{color:var(--color-primary);background:var(--color-primary-alpha);text-decoration:none}a.pm-badge-link:hover{text-decoration:underline}.pm-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-raised);font-size:.875rem;color:var(--color-text)}.pm-chip mat-icon{font-size:18px;line-height:18px;width:18px;height:18px;color:var(--color-primary)}.pm-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.pm-view-toggle{display:inline-flex;align-self:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.pm-view-toggle__btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--color-surface);border:none;color:var(--color-text);font:inherit;cursor:pointer}.pm-view-toggle__btn mat-icon{font-size:18px;width:18px;height:18px}.pm-view-toggle__btn:hover{background:var(--color-surface-raised)}.pm-view-toggle__btn+.pm-view-toggle__btn{border-left:1px solid var(--color-border)}.pm-view-toggle__btn--active,.pm-view-toggle__btn--active:hover{background:var(--color-primary);color:var(--color-on-primary, #fff)}input,textarea,select,.pm-input{width:100%;padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-size:.9rem;color:var(--color-text, #24292f);background-color:var(--color-bg-input, #f6f8fa);border:1px solid var(--color-border-ghost, #d0d7de);border-radius:6px;box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus,.pm-input:focus{outline:none;border-color:var(--color-primary, #0969da);box-shadow:0 0 0 3px #0969da1a}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled),.pm-input:hover:not(:disabled){border-color:var(--color-border, #d0d7de)}input:disabled,textarea:disabled,select:disabled,.pm-input:disabled{background-color:var(--color-bg-disabled, #e1e4e8);color:var(--color-text-disabled, #8b949e);cursor:not-allowed;opacity:.6}textarea{resize:vertical;min-height:100px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .7em center;background-size:1em;padding-right:2em}input::placeholder,textarea::placeholder,.pm-input::placeholder{color:var(--color-text-muted, #656d76)}input:invalid:not(:focus),textarea:invalid:not(:focus),select:invalid:not(:focus){border-color:var(--color-state-error)}input:invalid:not(:focus):hover,textarea:invalid:not(:focus):hover,select:invalid:not(:focus):hover{border-color:var(--color-state-error)}input.success,textarea.success,.pm-input.success{border-color:var(--color-state-success)}input.success:focus,textarea.success:focus,.pm-input.success:focus{border-color:var(--color-state-success);box-shadow:0 0 0 3px var(--color-state-success-light)}.pm-search-wrapper{background-color:var(--color-bg-input);border:1px solid var(--color-border-ghost);border-radius:6px;padding:0 var(--space-sm);min-height:40px}.pm-search-wrapper.focused{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.pm-search-icon{color:var(--color-text-muted)}.pm-search-input{font-size:.9rem;color:var(--color-text)}.pm-search-input::placeholder{color:var(--color-text-muted)}.pm-search-input:disabled{color:var(--color-text-muted);cursor:not-allowed}.pm-search-clear{color:var(--color-text-muted)}.pm-search-clear:hover:not(:disabled){color:var(--color-text)}.pm-search-clear:disabled{cursor:not-allowed;opacity:.5}.pm-select-wrapper.open .pm-select-button{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.pm-select-button{background-color:var(--color-bg-input);border:1px solid var(--color-border-ghost);padding:0 var(--space-md, 1rem);min-height:40px;font-size:.9rem;color:var(--color-text)}.pm-select-button:hover:not(:disabled){border-color:var(--color-border)}.pm-select-button:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-muted);cursor:not-allowed}.pm-select-arrow{color:var(--color-text-muted)}.pm-select-options{background:var(--color-bg);border:1px solid var(--color-border);box-shadow:0 4px 6px #0000001a}.pm-select-option{color:var(--color-text)}.pm-select-option:hover:not(.disabled){background-color:var(--color-bg-input)}.pm-select-option.highlighted:not(.disabled){background-color:var(--color-primary);color:#fff}.pm-select-option.selected{font-weight:600;background-color:#0969da1a;color:var(--color-primary)}.pm-select-option.disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.pm-card{border:1px solid var(--color-border);border-radius:6px;padding:var(--space-lg);background:var(--color-surface)}.pm-card--placeholder{background:var(--color-surface-raised);border-style:dashed;border-color:var(--color-border-ghost)}.pm-filters{width:100%;padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;margin-bottom:var(--space-lg)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-start}.filter-item{display:flex;flex-direction:column;gap:var(--space-xs);min-width:200px;flex:1 1 auto}.filter-item label{font-size:.785rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-item-control{display:flex;gap:var(--space-xs);align-items:center}pm-search{width:100%}pm-select{width:100%}.filter-actions{display:flex;flex-direction:column;gap:var(--space-xs);flex-wrap:wrap}.filter-btn{padding:var(--space-sm) var(--space-md);font-size:.85rem;border:1px solid var(--color-border-ghost);border-radius:6px;background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:40px;display:flex;align-items:center;gap:var(--space-xs)}.filter-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-input)}.filter-btn:disabled{opacity:.5;cursor:not-allowed}.filter-btn-reset{color:var(--color-text-muted)}.filter-btn-reset:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.filter-btn-show-hidden{color:var(--color-text-muted)}.filter-btn-show-hidden:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.filter-btn-show-hidden.active{background:#0969da14;border-color:var(--color-primary);color:var(--color-primary)}.filter-toggle{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px}.filter-toggle-switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.filter-toggle-switch input{position:absolute;opacity:0;width:0;height:0}.filter-toggle-track{display:block;width:40px;height:22px;border-radius:11px;background:var(--color-border);transition:background .15s ease;position:relative}.filter-toggle-switch.active .filter-toggle-track{background:var(--color-primary)}.filter-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.filter-toggle-switch.active .filter-toggle-knob{transform:translate(18px)}.filter-toggle-switch input:focus-visible+.filter-toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.filter-toggle-label{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap}.pm-table-row--hidden td:not(:last-child){opacity:.6}.filter-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#0969da1a;border:1px solid var(--color-primary);border-radius:12px;font-size:.8rem;color:var(--color-primary);font-weight:500}.filter-badge button{background:none;border:none;padding:0;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;width:16px;height:16px}.filter-badge button:hover{opacity:.8}.filter-summary{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border-radius:4px;font-size:.85rem;color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-xs)}.filter-summary-count{display:inline-flex;padding:2px var(--space-sm);border-radius:12px;font-size:.75rem;font-weight:600;background:var(--color-primary-alpha);color:var(--color-primary)}.filter-advanced-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);padding:0;background:none;border:none;font-size:.85rem;color:var(--color-primary);cursor:pointer;text-decoration:none;transition:-webkit-text-decoration .15s ease;transition:text-decoration .15s ease;transition:text-decoration .15s ease,-webkit-text-decoration .15s ease}.filter-advanced-toggle:hover{text-decoration:underline}.filter-advanced-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-xs);border-radius:10px;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;line-height:1}.filter-bar-advanced{margin-top:var(--space-sm)}@media(max-width:1024px){.filter-bar{gap:var(--space-sm)}.filter-item{min-width:150px;flex:1 1 calc(50% - var(--space-sm))}pm-search{min-width:150px;flex:1 1 100%}}@media(max-width:640px){.pm-filters{padding:var(--space-sm)}.filter-bar{flex-direction:column;gap:var(--space-sm)}.filter-item,pm-search,pm-select{width:100%;min-width:unset;flex:1 1 100%}.filter-actions{width:100%;justify-content:stretch}.filter-actions .filter-btn{flex:1}}@media(prefers-reduced-motion:reduce){.filter-btn,.filter-badge button,.filter-toggle-track,.filter-toggle-knob{transition:none}}[data-theme=public] .pm-filters{background:var(--color-bg-input)}[data-theme=public] .filter-summary{background:#94a3b81a}.step-content{display:flex;flex-direction:column;gap:var(--space-lg)}.step-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-sm)}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-input)}.btn-sm{padding:2px var(--space-sm);font-size:.75rem}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:rr-spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}@keyframes rr-spin{to{transform:rotate(360deg)}}.upload-zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-3xl) var(--space-lg);border:2px dashed var(--color-border);border-radius:8px;text-align:center}.upload-zone mat-icon.upload-icon{font-size:48px;line-height:48px;width:48px;height:48px;color:var(--color-text-muted)}.upload-zone .upload-text{font-size:1.125rem;color:var(--color-text);margin:0}.upload-zone .upload-hint{font-size:.875rem;color:var(--color-text-muted);margin:0}.file-input-row{display:flex;align-items:center;gap:var(--space-md)}.file-input{display:none}.file-label{cursor:pointer}.file-button{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);background:var(--color-bg);cursor:pointer;transition:background .15s}.file-button:hover{background:var(--color-bg-input)}.file-name{font-size:.875rem;color:var(--color-text-muted)}.upload-btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.uploading-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-3xl);color:var(--color-text-muted)}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-3xl);text-align:center}.error-state mat-icon.error-icon{font-size:48px;line-height:48px;width:48px;height:48px;color:var(--color-danger)}.error-state .error-text{color:var(--color-danger);font-size:1rem;margin:0}.error-state-inline{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:6px;background:#ef444414;color:var(--color-danger);font-size:.875rem}.overwrite-warning{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:6px;background:#eab30814;color:#eab308;font-size:.875rem}.duplicate-banner{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-left:4px solid var(--color-danger);border-radius:6px;background:#ef444414;color:var(--color-text);font-size:.875rem}.duplicate-banner__title{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-danger);font-weight:600}.duplicate-banner__body{margin:0}.duplicate-banner__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.info-notice,.pm-info-callout{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:6px;background:var(--color-info-bg);color:var(--color-info-text);font-size:.875rem}.ad-mismatch-warning{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:#eab30814;color:#eab308;font-size:.875rem;border-bottom:1px solid var(--color-border)}.metadata-card{border:1px solid var(--color-border);border-radius:6px;padding:var(--space-lg);background:var(--color-bg)}.metadata-card h2{font-size:1rem;font-weight:600;margin:0 0 var(--space-md) 0;color:var(--color-heading)}.section-subtitle{margin:0 0 var(--space-sm);font-size:.875rem;font-weight:600;color:var(--color-heading)}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.metadata-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-md) 0}.metadata-item{display:flex;flex-direction:column;gap:var(--space-xs)}.metadata-item--full-width{grid-column:1 / -1}.metadata-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.section-description{margin:var(--space-sm) 0 0 0;font-size:.75rem;color:var(--color-text-muted);text-align:left!important;word-break:break-word}.metadata-value{font-size:.875rem;color:var(--color-text)}.metadata-value--multiline{white-space:pre-wrap;overflow-wrap:anywhere}.metadata-input{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);background:var(--color-bg-input);width:100%;box-sizing:border-box;min-height:2.25rem}.metadata-item app-entity-selector-shell .entity-selector__trigger{border:1px solid var(--color-border);border-radius:6px;padding:var(--space-xs) var(--space-sm);min-height:2.25rem;background:var(--color-bg-input);color:var(--color-text)}.metadata-item app-entity-selector-shell .entity-selector__trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #22c55e26}.metadata-item app-entity-selector-shell .entity-selector__dropdown{border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg)}.metadata-item app-entity-selector-shell .entity-selector__search-input{background:var(--color-bg-input);color:var(--color-text)}.metadata-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #22c55e26}.metadata-input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg)}.entries-section{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.entries-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-md);border-bottom:1px solid var(--color-border)}.entries-header h2{font-size:1rem;font-weight:600;margin:0;color:var(--color-heading)}.entries-header-left{display:flex;align-items:center;gap:var(--space-sm)}.category-badge,.total-pigeons-badge{display:inline-flex;align-items:center;font-size:.75rem;padding:2px var(--space-sm);border-radius:12px;background:#22c55e1a;color:var(--color-primary);font-weight:500}.sign-id-input{width:80px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);background:var(--color-bg-input);box-sizing:border-box;-moz-appearance:textfield}.sign-id-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #22c55e26}.sign-id-input::-webkit-inner-spin-button,.sign-id-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.results-table{width:100%;border-collapse:collapse}.results-table th{padding:var(--space-sm) var(--space-md);text-align:left;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.results-table td{padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);border-bottom:1px solid var(--color-border)}.comment-input{width:100%;min-height:2rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-input);color:var(--color-text);box-sizing:border-box}.comment-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #22c55e26}.editable-cell{min-width:7rem}.cell-edit-trigger{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-xs);background:transparent;border:1px solid transparent;border-radius:6px;color:var(--color-text);padding:var(--space-xs) var(--space-sm);cursor:pointer}.cell-edit-trigger:hover{background:var(--color-bg-input)}.cell-edit-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #22c55e26}.cell-edit-trigger mat-icon,.cell-edit-trigger .mat-icon{font-size:1rem;width:1rem;height:1rem;color:var(--color-text-muted)}.results-table tr.unmatched td{color:var(--color-text-muted)}.results-table tr.manually-added td{background:#22c55e0d}.status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.75rem;padding:2px var(--space-sm);border-radius:12px}.status-matched{color:var(--color-primary);background:#22c55e1a}.status-manual{color:var(--color-info-text);background:var(--color-info-bg)}.results-table th.col-num,.results-table td.col-num{text-align:right;font-variant-numeric:tabular-nums}.pm-dialog{position:fixed!important;top:0!important;right:0!important;left:auto!important;z-index:1000!important}.cdk-overlay-container,.cdk-overlay-pane{z-index:1000!important}.pm-dialog .mat-mdc-dialog-container{overflow:visible!important;position:relative!important;height:100vh!important;max-height:none!important;width:600px!important;max-width:600px!important;margin:0!important;padding:0!important;background-color:var(--color-bg);color:var(--color-text);border-radius:0;box-shadow:-2px 4px 12px #00000026}.pm-dialog .mat-mdc-dialog-container .mat-mdc-dialog-surface,.pm-dialog .mat-mdc-dialog-container .mdc-dialog__surface{overflow:visible!important;display:flex;flex-direction:column;height:100%}.pm-dialog .dialog-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.pm-dialog .dialog-title{font-size:1.25rem;font-weight:600;color:var(--color-heading)}.pm-dialog .dialog-close{padding:var(--space-xs);color:var(--color-text-muted);border-radius:4px}.pm-dialog .dialog-close:hover{background-color:var(--color-bg-input);color:var(--color-text)}.pm-dialog .dialog-content{padding:var(--space-lg)}.pm-dialog .pigeon-form{gap:var(--space-lg)}.pm-dialog .form-group{gap:var(--space-sm)}.pm-dialog .form-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.pm-dialog .form-input{padding:var(--space-sm) var(--space-md);font-size:.9rem;color:var(--color-text);background-color:var(--color-bg-input);border:1px solid var(--color-border-ghost);border-radius:6px}.pm-dialog .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.pm-dialog .form-input:hover:not(:disabled):not(.is-invalid){border-color:var(--color-border)}.pm-dialog .form-input:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.pm-dialog .form-input.is-invalid{border-color:var(--color-state-error)}.pm-dialog .form-input.is-invalid:focus{box-shadow:0 0 0 3px var(--color-error-alpha)}.pm-dialog .form-error{font-size:.8rem;color:var(--color-state-error)}.pm-dialog .dialog-error{padding:var(--space-md);background-color:var(--color-state-error-bg);border:1px solid var(--color-state-error-border);border-radius:6px;color:var(--color-state-error-dark)}.pm-dialog .dialog-error mat-icon{color:var(--color-state-error-dark)}.pm-dialog .dialog-error p{font-size:.9rem}.pm-dialog .pm-select-wrapper{position:relative;width:100%;overflow:visible;z-index:auto}.pm-dialog .form-group pm-select{width:100%}.pm-dialog .pm-select-options{z-index:9999!important;position:absolute!important;max-height:none!important;overflow-y:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}.pm-dialog .form-group{overflow:visible}.pm-dialog .ring-number-display{padding:var(--space-md);background-color:var(--color-bg-input);border-radius:6px;border:1px solid var(--color-border-ghost)}.pm-dialog .ring-number-display mat-icon{color:var(--color-primary)}.pm-dialog .ring-label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.pm-dialog .ring-value{font-size:1rem;font-weight:600;color:var(--color-text);font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.pm-dialog .dialog-footer{padding:var(--space-lg);border-top:1px solid var(--color-border)}.pm-dialog.pm-dialog-narrow .mat-mdc-dialog-container{width:480px!important;max-width:480px!important}.pm-dialog-panel{display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:visible}.pm-dialog-panel .dialog-content{flex:1;overflow:visible}.pm-dialog-sm-panel{display:flex;flex-direction:column}@media(max-width:768px){.pm-dialog{left:0!important}.pm-dialog .mat-mdc-dialog-container{width:100%!important;max-width:100%!important;border-radius:8px 8px 0 0}}.pm-dialog-sm .mat-mdc-dialog-container{border-radius:8px;max-width:440px;width:440px;background-color:var(--color-bg);color:var(--color-text)}.pm-dialog-sm .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.pm-dialog-sm .dialog-title{font-size:1.1rem;font-weight:600;color:var(--color-heading);margin:0}.pm-dialog-sm .dialog-content{padding:var(--space-lg)}.pm-dialog-sm .dialog-error{margin-top:var(--space-sm);color:var(--color-danger);font-size:.85rem}.pm-dialog-sm .dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-lg);border-top:1px solid var(--color-border)}.pm-breadcrumb ol{font-size:.875rem;color:var(--color-text-muted)}.pm-breadcrumb li:not(:last-child):after{color:var(--color-text-muted)}.pm-breadcrumb a{color:var(--color-primary);transition:color .2s ease}.pm-breadcrumb a:hover{color:var(--color-primary-hover);text-decoration:underline}.pm-page-header h1{font-size:1.6rem;font-weight:600;color:var(--color-heading)}.pm-table-container{overflow-x:auto;border-radius:6px}.pm-table-container .pm-table{box-shadow:0 1px 3px #0000001a}.pm-section-label{font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-sm)}.pm-error{padding:var(--space-md);background:var(--color-state-error-bg);color:var(--color-state-error-dark);border:1px solid var(--color-state-error-border);font-size:.9rem}.pm-success{padding:var(--space-md);background:var(--color-state-success-light);color:var(--color-state-success);border:1px solid var(--color-state-success);font-size:.9rem}.pm-empty{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl) var(--space-lg);text-align:center;color:var(--color-text-muted)}mat-icon.pm-empty-icon{font-size:48px;line-height:48px;width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--space-md)}.pm-empty-title{font-weight:600;margin:0 0 var(--space-xs);color:var(--color-text)}.pm-empty-description{color:var(--color-text-muted);margin:0}[data-theme=public] .pm-error{background:var(--color-state-error-bg);color:var(--color-state-error-dark);border-color:var(--color-state-error-border)}@media(prefers-reduced-motion:reduce){.pm-breadcrumb a{transition:none}}@media(max-width:768px){.pm-page-header h1{font-size:1.4rem}}.pm-language-menu-panel{--mdc-menu-container-color: var(--color-bg);--mat-menu-container-color: var(--color-bg);background-color:var(--color-bg);border:1px solid var(--color-border)}.pm-language-menu-panel .mat-mdc-menu-content{background-color:var(--color-bg)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"OPSZ" 24}
