.brand-logo{height:2.5rem;width:auto;max-width:100%;object-fit:contain;display:block}.brand-text-fallback{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);white-space:nowrap}@media (max-width: 768px){.brand-logo{height:2rem}.brand-text-fallback{font-size:var(--font-size-xl)}}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-normal),opacity var(--transition-normal),transform var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit}.btn:focus-visible{outline:2px solid var(--border-medium);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:6px;font-size:var(--font-size-sm)}.btn-medium{padding:8px 16px;font-size:var(--font-size-base)}.btn-large{padding:12px 24px;font-size:var(--font-size-md)}.btn-full-width{width:100%}.btn-primary{background-color:var(--bg-button);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--bg-button-hover)}.btn-primary:active:not(:disabled){background-color:var(--bg-button-hover)}.btn-secondary{background-color:var(--bg-button-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary)}.btn-secondary:active:not(:disabled){background-color:var(--bg-secondary)}.btn-danger{background-color:var(--bg-button-danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--bg-button-danger);opacity:var(--opacity-hover)}.btn-danger:active:not(:disabled){background-color:var(--bg-button-danger);opacity:.8}.btn-danger.btn-small{background-color:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-light);padding:4px 6px;min-width:22px;border-radius:3px}.btn-danger.btn-small:hover:not(:disabled){background-color:var(--bg-error-light);color:var(--text-error);border-color:var(--text-error);opacity:1}.btn-danger.btn-small:active:not(:disabled){background-color:var(--bg-error-light);opacity:.8}.btn-success{background-color:var(--bg-button-success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--bg-button-success-hover)}.btn-success:active:not(:disabled){background-color:var(--bg-button-success-hover);opacity:.8}.btn-action{background-color:var(--accent-action);color:var(--accent-action-text)}.btn-action:hover:not(:disabled){background-color:var(--accent-action-hover)}.btn-action:active:not(:disabled){background-color:var(--accent-action-hover);opacity:.8}.btn-ghost{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-dark)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-input);border-color:var(--border-medium)}.btn-ghost:active:not(:disabled){background-color:var(--bg-button-secondary)}.btn-primary.has-changes{background-color:var(--bg-button-success)!important}.btn-primary.has-changes:hover:not(:disabled){background-color:var(--bg-button-success-hover)!important}.btn-primary.has-changes:active:not(:disabled){background-color:var(--bg-button-success-hover)!important;opacity:.9}.btn-toolbar{background-color:var(--bg-button);color:var(--text-inverse);border:none;padding:.5rem 1rem;height:36px;font-size:var(--font-size-base);white-space:nowrap;line-height:var(--line-height-none);overflow:visible;flex-direction:row;gap:0}.btn-toolbar:hover:not(:disabled){background-color:var(--bg-button-hover)}.btn-toolbar:active:not(:disabled){background-color:var(--bg-button-hover);opacity:.8}.tree-controls .btn-toolbar{width:36px;padding:.5rem;position:relative;flex-shrink:0}.tree-controls .btn-toolbar .btn-label{position:absolute;right:100%;top:50%;transform:translateY(-50%);background-color:var(--bg-button);padding:6px 12px;border-radius:4px;margin-right:8px;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .2s ease;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.tree-controls .btn-toolbar:hover .btn-label{opacity:1}.btn-icon{background-color:transparent;border:2px solid rgba(255,255,255,.3);border-radius:50%;color:var(--text-inverse);width:36px;height:36px;padding:0;font-size:var(--font-size-lg)}.btn-icon svg{display:block;color:inherit;stroke:currentColor;fill:none}.btn-icon:hover:not(:disabled){background-color:#ffffff1a;border-color:#fff9;transform:scale(1.05)}.btn-icon:active:not(:disabled){transform:scale(1)}.btn-ghost-gray{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-dark)}.btn-ghost-gray:hover:not(:disabled){background-color:var(--bg-button-secondary)}.btn-ghost-gray:focus-visible{outline:2px solid var(--border-medium);outline-offset:2px}.btn-ghost-gray:active:not(:disabled){background-color:var(--border-dark)}.btn-toolbar-primary{background-color:var(--bg-button);color:var(--text-inverse);border:none;font-weight:var(--font-weight-medium)}.btn-toolbar-primary:hover:not(:disabled){background-color:var(--bg-button-hover)}.btn-toolbar-primary:active:not(:disabled){background-color:var(--bg-button-hover);opacity:.8}.btn-destructive-subtle{background-color:var(--bg-input);color:var(--text-muted);border:none;border-left:1px solid var(--border-medium);opacity:.5;transition:all var(--transition-normal)}.btn-destructive-subtle:hover:not(:disabled){background-color:var(--bg-error-light);color:var(--text-error);opacity:1}.btn-destructive-subtle:active:not(:disabled){background-color:var(--bg-error-light);opacity:.8}.fan-icon{font-size:1.2em;display:inline-block;filter:hue-rotate(270deg) brightness(1.4) saturate(1.3)}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-overlay);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.confirm-dialog-content{background:var(--bg-modal);border-radius:8px;width:100%;max-width:500px;box-shadow:var(--shadow-md);display:flex;flex-direction:column}.confirm-dialog-header{padding:1.5rem 1.5rem 1rem;border-bottom:none}.confirm-dialog-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.confirm-dialog-body{padding:0 1.5rem 1.5rem;color:var(--text-secondary);line-height:var(--line-height-relaxed)}.confirm-dialog-body p{margin:0;white-space:pre-wrap}.confirm-dialog-footer{padding:1rem 1.5rem 1.5rem;border-top:none;display:flex;justify-content:flex-end;gap:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-overlay);display:flex;justify-content:center;align-items:center;z-index:10001;padding:20px}.modal-content{background:var(--bg-primary);border-radius:8px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:0;position:relative}.modal-content:focus{outline:none}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:1400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:none;background-color:var(--bg-modal-header)}.modal-header h2{margin:0;font-size:var(--font-size-2xl);color:var(--text-inverse)!important}.modal-close-btn{background:none;border:none;font-size:var(--font-size-3xl);color:var(--text-inverse);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.modal-close-btn:hover{background-color:#ffffff1a;color:var(--text-inverse)}.modal-close-btn:focus-visible{outline:2px solid var(--border-medium);outline-offset:2px}.modal-body{padding:var(--spacing-2xl);flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;display:flex;flex-direction:column;background-color:var(--bg-primary)}.modal-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border-light);background-color:var(--bg-modal);flex-shrink:0;border-radius:0 0 8px 8px;box-shadow:var(--shadow-md)}.modal-body input[type=text],.modal-body input[type=url],.modal-body input[type=email],.modal-body input[type=number],.modal-body input[type=date],.modal-body input[type=password],.modal-body textarea{padding:var(--spacing-sm);border:1px solid var(--border-light);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;transition:border-color .2s}.modal-body input:focus,.modal-body textarea:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input);box-shadow:none;transition:none}.modal-body textarea{resize:vertical}.select-custom-input-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.select-custom-input{width:100%;padding:var(--spacing-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.select-custom-input:focus{outline:none;border-color:var(--border-focus)}.select-custom-input:disabled{background:var(--bg-disabled);cursor:not-allowed;opacity:.6}.select-back-to-options{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:none;color:var(--text-link);cursor:pointer;font-size:var(--font-size-sm);transition:color var(--transition-fast);align-self:flex-start}.select-back-to-options:hover{color:var(--text-link-hover);text-decoration:underline}.select-back-to-options:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.select-back-to-options:disabled:hover{text-decoration:none}.select-container{width:100%}.select-conditional-input-wrapper{animation:slideDown .2s ease-out}.select-conditional-input{transition:border-color var(--transition-fast),background-color var(--transition-fast)}.select-conditional-input:focus{outline:none;border-color:var(--border-focus)}.select-conditional-input:disabled{background:var(--bg-disabled);cursor:not-allowed;opacity:.6}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-field{margin-bottom:16px}.form-field label{display:flex;flex-direction:column;gap:6px;font-weight:var(--font-weight-medium) color: var(--text-primary);font-size:var(--font-size-base)}.form-field .label-text{display:flex;align-items:center;gap:4px}.form-field .required-mark{color:var(--text-error);font-weight:var(--font-weight-bold)}.form-field input[type=text],.form-field input[type=date],.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=url],.form-field select,.form-field textarea{padding:8px 12px;border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);font-family:inherit;background-color:var(--bg-input);color:var(--text-primary)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input);box-shadow:none;transition:none}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{background-color:var(--bg-input);cursor:not-allowed;opacity:var(--opacity-disabled)}.form-field textarea{resize:vertical;min-height:80px}.form-field-hint{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:4px;display:block}.form-field-error-message{font-size:var(--font-size-base);color:var(--text-error);margin-top:4px;display:block}.form-field input.form-field-error,.form-field select.form-field-error,.form-field textarea.form-field-error{border-color:var(--text-error)}.form-field-checkbox{margin-bottom:12px}.form-field-checkbox label{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.form-field-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.form-field-checkbox input[type=checkbox]:focus{outline:2px solid var(--border-medium);outline-offset:2px}.form-field-checkbox .label-text{font-weight:var(--font-weight-normal)}.help-tooltip-container{display:inline-block;position:relative;vertical-align:middle;margin-left:.25rem}.help-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;font-size:.75rem;font-weight:700;cursor:help;transition:all .2s ease;padding:0;line-height:1}.help-tooltip-trigger:hover{background:var(--color-primary-dark);transform:scale(1.1)}.help-tooltip-trigger:focus{outline:2px solid var(--color-primary);outline-offset:2px}.help-tooltip-content{position:fixed;z-index:99999;background:var(--bg-modal);border:1px solid var(--border-medium);border-radius:6px;padding:.75rem;box-shadow:var(--shadow-lg);font-size:.875rem;line-height:1.5;color:var(--text-primary);white-space:normal;text-align:left;pointer-events:auto}.help-tooltip-content:before{content:"";position:absolute;width:0;height:0;border-style:solid}.help-tooltip-top{transform:translate(-50%)}.help-tooltip-top:before{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--border-medium) transparent transparent transparent}.help-tooltip-bottom{transform:translate(-50%)}.help-tooltip-bottom:before{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent var(--border-medium) transparent}.help-tooltip-left{transform:translateY(-50%)}.help-tooltip-left:before{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--border-medium)}.help-tooltip-right{transform:translateY(-50%)}.help-tooltip-right:before{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--border-medium) transparent transparent}.help-tooltip-title{font-weight:600;font-size:.9375rem;margin-bottom:.5rem;color:var(--text-primary);border-bottom:1px solid var(--border-light);padding-bottom:.25rem}.help-tooltip-body{color:var(--text-secondary)}.help-tooltip-body strong{color:var(--text-primary);font-weight:600}.help-tooltip-body a{color:var(--color-primary);text-decoration:none}.help-tooltip-body a:hover{text-decoration:underline}.help-tooltip-body ul,.help-tooltip-body ol{margin:.5rem 0;padding-left:1.25rem}.help-tooltip-body li{margin:.25rem 0}.help-tooltip-body p{margin:.5rem 0}.help-tooltip-body p:first-child{margin-top:0}.help-tooltip-body p:last-child{margin-bottom:0}.help-tooltip-body code{background:var(--bg-secondary);padding:.125rem .25rem;border-radius:3px;font-family:monospace;font-size:.85em}.date-input-container{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.date-input-label{display:flex;align-items:center;gap:6px;font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-base)}.date-input-label .required-mark{color:var(--text-error);font-weight:var(--font-weight-bold);margin-left:2px}.date-input-help-icon{display:inline-flex;align-items:center;margin-left:4px}.date-input-field{width:100%;padding:8px 12px;border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);font-family:inherit;background-color:var(--bg-input);color:var(--text-primary);box-sizing:border-box}.date-input-field:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input);box-shadow:none;transition:none}.date-input-field:disabled{background-color:var(--bg-input);cursor:not-allowed;opacity:var(--opacity-disabled)}.date-input-field::placeholder{color:var(--text-tertiary);opacity:.7}.date-input-field.date-input-error{border-color:var(--text-error)}.date-input-error-message{font-size:var(--font-size-sm);color:var(--text-error);margin-top:2px;display:block}.date-input-help{font-size:var(--font-size-sm);line-height:1.5}.date-input-help p{margin:0 0 8px}.date-input-help p:last-child{margin-bottom:0}.date-input-help ul{margin:8px 0;padding-left:20px;list-style-type:disc}.date-input-help li{margin-bottom:4px}.date-input-help strong{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.error-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background-color:var(--bg-error-light);border:1px solid var(--border-error);border-radius:4px;color:var(--text-error);margin-bottom:16px}.error-alert-content{display:flex;align-items:center;gap:10px;flex:1}.error-alert-icon{font-size:var(--font-size-xl);line-height:var(--line-height-none)}.error-alert-message{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.error-alert-dismiss{background:none;border:none;font-size:var(--font-size-2xl);color:var(--text-error);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color var(--transition-normal);flex-shrink:0}.error-alert-dismiss:hover{background-color:#ffffff1a}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:4px;background-color:var(--bg-primary);transition:background-color .2s,border-color .2s}.list-item:hover{background-color:var(--bg-secondary);border-color:var(--border-medium)}.list-item-editing{border-color:var(--border-focus);background-color:var(--bg-secondary)}.list-item-content{flex:1;min-width:0}.list-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.dropdown-menu{position:absolute;top:calc(100% + .5rem);min-width:220px;background:var(--bg-modal);border:1px solid var(--border-medium);border-radius:8px;box-shadow:var(--shadow-lg);z-index:10001;animation:slideDown .2s ease;overflow:hidden}.dropdown-menu-right{right:0}.dropdown-menu-left{left:0}.dropdown-menu-side-left{right:calc(100% + .5rem);top:0;animation:slideLeft .2s ease}.dropdown-menu-fixed{position:fixed;top:0;left:0;animation:contextMenuFadeIn .15s ease-out}@keyframes slideLeft{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dropdown-menu-header{padding:var(--spacing-lg)}.dropdown-menu-divider{height:1px;background:var(--border-medium);margin:4px 0;width:100%}.dropdown-menu-section-header{padding:.5rem 1rem .25rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);pointer-events:none!important;-webkit-user-select:none;user-select:none;background:transparent!important;cursor:default!important;border:none!important;transition:none!important}.dropdown-menu-section-header:hover{background:transparent!important;color:var(--text-secondary)!important}.dropdown-menu-items{padding:0}.dropdown-menu-items>div{background:transparent}.dropdown-menu-items>div:hover{background:transparent}.dropdown-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:.75rem 1rem;background:transparent;border:none;border-radius:0!important;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease;font-size:var(--font-size-base);text-align:left;font-family:inherit}.dropdown-menu-item:hover:not(:disabled){background:var(--bg-secondary)}.dropdown-menu-item:focus{outline:none;background:var(--bg-secondary)}.dropdown-menu-item:disabled,.dropdown-menu-item-disabled{opacity:.5;cursor:not-allowed}.dropdown-menu-item-icon{font-size:var(--font-size-lg);flex-shrink:0;width:20px;text-align:center;line-height:var(--line-height-none)}.dropdown-menu-item-label{flex:1;line-height:var(--line-height-tight)}.dropdown-menu-item-shortcut{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-input);padding:2px 6px;border-radius:3px;border:1px solid var(--border-light);font-family:monospace;margin-left:auto}.dropdown-menu-item-danger{color:var(--text-error)}.dropdown-menu-item-danger:hover:not(:disabled){background:#ff3b301a}.dropdown-menu-item-active{background:var(--bg-secondary);font-weight:var(--font-weight-semibold);position:relative}.dropdown-menu-item-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-focus)}@media (max-width: 768px){.dropdown-menu{min-width:180px}.dropdown-menu-item{padding:.625rem .875rem;font-size:var(--font-size-base)}}.count-badge{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);background-color:var(--bg-input);padding:2px 8px;border-radius:4px;border:1px solid var(--border-medium);margin-left:var(--spacing-xs);min-width:24px;text-align:center;display:inline-block}.count-badge--default{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium)}.count-badge--primary{background-color:var(--border-focus);color:var(--text-inverse);border-color:var(--border-focus)}.count-badge--danger{background-color:var(--bg-danger);color:var(--text-inverse);border-color:var(--bg-danger)}.collapsible-section{margin-bottom:var(--spacing-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;padding-bottom:var(--spacing-xs);font-size:var(--font-size-md);color:var(--text-primary);font-weight:var(--font-weight-semibold);gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.section-header-left{display:flex;justify-content:space-between;align-items:center;flex:1;cursor:pointer}.section-title{display:flex;align-items:center;gap:var(--spacing-sm)}.section-header-action{display:flex;align-items:center;flex-shrink:0}.count-badge{font-size:var(--font-size-base);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.collapse-toggle{color:var(--text-secondary);font-size:var(--font-size-base);transition:color .2s;margin-left:var(--spacing-md)}.section-content{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.collapsible-list-wrapper{background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:8px}.collapsible-list-container{display:flex;flex-direction:column;gap:0}.collapsible-list-item{padding:12px;border:1px solid var(--border-light);border-radius:8px;background-color:var(--bg-input);margin-bottom:8px;transition:all var(--transition-normal)}.collapsible-list-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.collapsible-list-item:last-child{margin-bottom:0}.show-more-container{display:flex;justify-content:center;margin-top:8px}.tabs-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.tab-list{display:flex;gap:4px;padding:8px 8px 0;background-color:var(--bg-secondary);border-bottom:2px solid var(--border-medium);flex-shrink:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.tab{position:relative;padding:10px 16px;background-color:transparent;border:none;border-radius:6px 6px 0 0;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;transition:all var(--transition-normal);white-space:nowrap;display:flex;align-items:center;gap:6px}.tab:hover{background-color:var(--bg-input);color:var(--text-primary)}.tab.active{background-color:var(--bg-primary);color:var(--text-primary);border-bottom:2px solid var(--bg-button);margin-bottom:-2px;font-weight:var(--font-weight-semibold)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:var(--bg-button);color:var(--text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold) border-radius: 10px;transition:all var(--transition-normal)}.tab-panel{flex:1;overflow-y:auto;padding:20px;background-color:var(--bg-primary);animation:fadeIn .2s ease-in;min-height:500px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tab{font-size:var(--font-size-base);padding:8px 12px}.tab-panel{padding:16px}}.spinner{border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:24px;height:24px;border:3px solid var(--border-light);border-top:3px solid var(--text-link)}.spinner-medium{width:50px;height:50px;border:4px solid var(--border-light);border-top:4px solid var(--text-link)}.spinner-large{width:80px;height:80px;border:5px solid var(--border-light);border-top:5px solid var(--text-link)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xl);padding:var(--spacing-3xl);text-align:center}.loading-message{margin:0;color:var(--text-secondary);font-size:var(--font-size-md)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.badge-label{line-height:1.5}.badge-forensic{background-color:var(--color-primary);color:var(--text-inverse);border-radius:999px;padding:.25rem .75rem}.badge-info{background-color:var(--bg-info);color:var(--text-info)}.badge-success{background-color:var(--bg-success);color:var(--text-success)}.badge-warning{background-color:var(--bg-warning);color:var(--text-warning)}.badge-danger{background-color:var(--bg-danger);color:var(--text-danger)}.floating-report-button{position:fixed;bottom:20px;left:20px;z-index:20000;width:56px;height:56px;border-radius:50%;background-color:var(--color-error);color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.floating-report-button:hover{background-color:color-mix(in srgb,var(--color-error) 85%,black);box-shadow:0 8px 16px #0000004d;transform:scale(1.05)}.floating-report-button:active{transform:scale(.95)}.floating-report-button:focus{outline:2px solid var(--border-focus);outline-offset:2px}@media (prefers-contrast: high){.floating-report-button{border:2px solid white}}@media (max-width: 768px){.floating-report-button{width:48px;height:48px}}.tooltip{position:fixed;background:var(--bg-tooltip);border:1px solid var(--border-medium);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-lg);z-index:10000;pointer-events:none;max-width:300px;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-primary);opacity:0;animation:tooltipFadeIn .2s ease-out forwards}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.shortcut-key-badge{font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-secondary);font-weight:var(--font-weight-semibold);background-color:var(--bg-input);padding:4px 8px;border-radius:4px;border:1px solid var(--border-medium);margin-left:8px;min-width:24px;text-align:center;display:inline-block;font-style:normal;line-height:1.2;box-shadow:0 1px 2px #0000001a}.empty-state{color:var(--text-muted);font-style:italic;font-size:var(--font-size-base);text-align:center}.sidebar{height:100%;background-color:var(--bg-sidebar);border-left:1px solid var(--border-medium);display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.sidebar-header{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--bg-header);color:var(--text-inverse);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sidebar-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.sidebar-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.sidebar-header .close-btn{background:none;border:none;color:var(--text-inverse);font-size:var(--font-size-3xl);line-height:var(--line-height-none);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;transition:background-color var(--transition-fast)}.sidebar-header .close-btn:hover{background-color:#ffffff1a}.sidebar-name-header{padding:var(--spacing-md) var(--spacing-xl) 0;background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-light);flex-shrink:0}.sidebar-name-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md)}.sidebar-name{font-size:var(--font-size-2xl);color:var(--text-primary);margin:0;font-weight:var(--font-weight-bold);display:flex;align-items:center;gap:var(--spacing-xs)}.sidebar-name-badge{display:inline-flex;align-items:center;margin-left:var(--spacing-xs)}.sidebar-name-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.sidebar-icon-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xl);border-bottom:1px solid var(--border-light);background-color:var(--bg-sidebar);flex-shrink:0;min-height:52px}.icon-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:6px;cursor:pointer;transition:all var(--transition-normal);color:var(--text-secondary)}.icon-action-btn:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--border-focus);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.icon-action-btn:active:not(:disabled){transform:translateY(0)}.icon-action-btn:disabled{opacity:.4;cursor:not-allowed}.icon-action-btn.danger:hover:not(:disabled){background-color:var(--bg-error-light);border-color:var(--text-error);color:var(--text-error)}.icon-action-btn.is-home-person{background-color:#ffa726;border-color:#ffa726;opacity:1}.icon-action-btn.is-home-person:hover{background-color:#fb8c00;border-color:#fb8c00;transform:none;box-shadow:none}.sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-xl) var(--spacing-md)}.sidebar .detail-section{margin-bottom:var(--spacing-sm)}.sidebar .detail-section h3{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.sidebar .detail-section h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);padding:.375rem var(--spacing-md);background-color:var(--bg-primary);border-radius:0;margin-left:calc(-1 * var(--spacing-xl));margin-right:calc(-1 * var(--spacing-xl));padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.sidebar-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--border-medium);background-color:var(--bg-sidebar);flex-shrink:0}.sidebar-section{margin-bottom:var(--spacing-sm)}.sidebar .sidebar-section h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);padding:.375rem var(--spacing-md);background-color:var(--bg-primary);border-radius:0;margin-left:calc(-1 * var(--spacing-xl));margin-right:calc(-1 * var(--spacing-xl));padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.duplicate-warning-banner{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--bg-warning);border-bottom:2px solid var(--duplicate-border);z-index:15;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center}.duplicate-warning-content{position:relative;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:1200px}.duplicate-warning-text{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.duplicate-warning-button{padding:.5rem 1rem;background-color:var(--bg-warning-button);color:var(--text-warning-button);border:1px solid var(--border-warning-button);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .2s;white-space:nowrap}.duplicate-warning-button:hover{background-color:var(--bg-warning-button-hover);border-color:var(--border-warning-button-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-warning-button)}.duplicate-warning-button:active{transform:scale(.98)}.duplicate-warning-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-primary);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem .5rem;opacity:.7;transition:opacity .2s}.duplicate-warning-close:hover{opacity:1}.duplicate-warning-close:active{transform:translateY(-50%) scale(.95)}.search-overlay-modal .modal-content{max-height:80vh;display:flex;flex-direction:column}.search-overlay-container{display:flex;flex-direction:column}.search-input-container{padding:12px;border-bottom:1px solid var(--border-medium)}.search-input{width:100%;padding:8px 12px;border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);outline:none;background-color:var(--bg-input);color:var(--text-primary)}.search-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.search-results-info{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-sm)}.results-count{color:var(--text-secondary);font-weight:500}.navigation-controls{display:flex;align-items:center;gap:var(--spacing-3)}.current-position{color:var(--text-primary);font-weight:500}.navigation-buttons{display:flex;gap:var(--spacing-1)}.navigation-buttons button{padding:var(--spacing-1);min-width:auto;height:auto}.search-results-list{max-height:300px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary)}.search-result-item{display:flex;align-items:flex-start;gap:var(--spacing-2);padding:10px 16px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-light)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--bg-hover)}.search-result-item.highlighted{background-color:var(--bg-input);border-left:3px solid var(--border-focus);padding-left:calc(var(--spacing-3) - 3px)}.person-icon{color:var(--text-secondary);flex-shrink:0;align-self:flex-start;margin-top:2px}.fzf-highlight{background-color:#ffd54f4d;color:inherit;padding:0 1px;font-weight:var(--font-weight-medium, 500);border-radius:1px}.person-info-multi{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.person-name{font-weight:var(--font-weight-medium, 500);color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-tight, 1.2)}.person-detail{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-tight, 1.2);display:flex;gap:4px;flex-wrap:wrap}.detail-label{font-weight:var(--font-weight-medium, 500);color:var(--text-tertiary);flex-shrink:0}.tags-list{display:flex;flex-wrap:wrap;gap:2px}.tag-item{display:inline}.notes-preview{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-style:italic}.no-results{text-align:center;padding:var(--spacing-6);color:var(--text-secondary);font-size:var(--font-sm)}.search-shortcuts{display:flex;gap:var(--spacing-4);padding:var(--spacing-2) 0;border-top:1px solid var(--border-light);margin-top:var(--spacing-2)}.shortcut{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-xs);color:var(--text-secondary)}.shortcut kbd{padding:2px 6px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-xs);color:var(--text-primary)}.search-results-list::-webkit-scrollbar{width:8px}.search-results-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}.search-results-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-sm)}.search-results-list::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.color-picker{display:flex;align-items:center;gap:12px}.color-preview{width:32px;height:32px;border-radius:6px;border:2px solid var(--border-light);flex-shrink:0}.color-grid{display:grid;grid-template-columns:repeat(6,32px);gap:6px}.color-option{width:32px;height:32px;border:2px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all var(--transition-normal);padding:0}.color-option:hover{transform:scale(1.1);border-color:var(--border-dark)}.color-option-selected{border-color:var(--border-dark);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--border-focus);transform:scale(1.05)}.color-custom{display:flex;align-items:center}.color-custom-toggle{padding:4px 10px;font-size:var(--font-size-sm);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:background .2s;white-space:nowrap}.color-custom-toggle:hover{background:var(--bg-primary)}.color-custom-input{width:60px;height:32px;border:2px solid var(--border-light);border-radius:4px;cursor:pointer}.color-custom-input-hidden{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;visibility:hidden;pointer-events:none}.direct-line-color-modal{display:flex;flex-direction:column;gap:24px;padding:4px}.direct-line-section-title{font-size:16px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.direct-line-list{display:flex;flex-direction:column;gap:8px}.direct-line-entry{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px}.direct-line-color-swatch{width:32px;height:32px;border-radius:6px;border:2px solid var(--border-medium);flex-shrink:0}.direct-line-entry-info{flex:1;min-width:0}.direct-line-entry-name{font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direct-line-entry-details{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.direct-line-override-badge{display:inline-block;padding:2px 8px;background:var(--color-warning);color:var(--text-inverse);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.direct-line-entry-actions{display:flex;gap:4px;flex-shrink:0}.direct-line-form{display:flex;flex-direction:column;gap:16px}.direct-line-form-section{display:flex;flex-direction:column;gap:8px}.direct-line-form-label{font-weight:600;color:var(--text-primary);font-size:14px}.direct-line-mode-options{display:flex;gap:8px}.direct-line-form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.direct-line-form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.direct-line-note{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.direct-line-info{font-size:14px;color:var(--text-secondary);margin:0;padding:12px;background:var(--bg-secondary);border-left:3px solid var(--color-primary);border-radius:4px}.direct-line-error{font-size:14px;color:var(--color-error);margin:0;padding:12px;background:var(--bg-secondary);border-left:3px solid var(--color-error);border-radius:4px}.direct-line-form-actions{display:flex;gap:8px;justify-content:flex-end}.tree-tooltip{position:absolute;background:var(--bg-tooltip);border:1px solid var(--border-medium);border-radius:8px;padding:12px;box-shadow:var(--shadow-md);z-index:1000;pointer-events:none;max-width:350px;font-size:var(--font-size-base);line-height:var(--line-height-normal);opacity:1;transition:opacity .2s}.tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.tooltip-gender{font-size:var(--font-size-md)}.tooltip-row{margin-bottom:6px;color:var(--text-primary)}.tooltip-row strong{color:var(--text-secondary);margin-right:4px}.living-badge{display:inline-block;padding:2px 8px;background:var(--tree-node-living);color:var(--text-inverse);border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.tooltip-notes{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--font-size-sm)}.tooltip-note-item{margin:6px 0;padding-left:8px;border-left:2px solid var(--text-warning)}.tooltip-note-item strong{color:var(--text-warning-dark)}.tooltip-note-more{margin-top:6px;font-style:italic;color:var(--text-tertiary)}.partnership-menu{position:absolute;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:8px;padding:0;box-shadow:0 4px 12px #0003;z-index:1000;min-width:200px}.partnership-menu-header{padding:8px 12px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary);border-radius:8px 8px 0 0;font-weight:var(--font-weight-semibold) font-size: var(--font-size-base);color:var(--text-primary)}.partnership-menu-bulk-actions{padding:8px 12px;display:flex;gap:8px;border-bottom:1px solid var(--border-light)}.partnership-menu-items{max-height:300px;overflow-y:auto}.partnership-menu-item{padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;border-bottom:1px solid var(--border-light)}.partnership-menu-item:hover{background:var(--bg-secondary)}.partnership-menu-item:last-child{border-bottom:none}.partnership-checkbox{font-size:var(--font-size-md);width:20px;color:var(--text-success)}.partnership-menu-item.hidden .partnership-checkbox{color:var(--text-muted)}.partnership-name{font-size:var(--font-size-base);color:var(--text-primary)}.partnership-menu-item.hidden .partnership-name{color:var(--text-muted);text-decoration:line-through}.partnership-menu-footer{padding:8px 12px;border-top:1px solid var(--border-light);background:var(--bg-secondary);border-radius:0 0 8px 8px;display:flex;justify-content:center}.tree-controls-hint{position:absolute;bottom:20px;left:20px;background:#000c;color:#fff;padding:36px 40px 16px 16px;border-radius:8px;font-size:var(--font-size-base);pointer-events:auto;z-index:10;box-shadow:0 2px 8px #0000004d;display:flex;gap:20px;max-width:calc(100vw - 40px);width:fit-content}.tree-controls-hint.collapsed{padding:0;width:40px;height:40px;bottom:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal)}.tree-controls-hint.collapsed:hover{background:#000000e6;transform:scale(1.1)}.hint-icon-collapsed{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold) color: var(--text-inverse)}.hint-collapse-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;color:#fff9;font-size:var(--font-size-md);cursor:pointer;padding:4px 6px;line-height:var(--line-height-none);transition:color .2s ease;z-index:1}.hint-collapse-btn:hover{color:var(--text-inverse)}.hint-section{display:flex;flex-direction:column;gap:4px}.hint-section-title{font-weight:var(--font-weight-semibold) font-size: var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-tertiary);margin-bottom:4px}.hint-item{display:flex;align-items:center;gap:8px;white-space:nowrap;line-height:var(--line-height-relaxed)}.hint-icon{width:18px;text-align:center;font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center}.hint-key{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold) font-family: monospace;color:var(--text-inverse)}.hint-item.hint-highlight{animation:pulse 2s ease-in-out infinite}.hint-item.hint-highlight .hint-key{background:#4caf504d;border-color:var(--text-success);color:var(--text-success)}.hint-item.hint-highlight span:not(.hint-key){color:var(--text-success);font-weight:var(--font-weight-semibold)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.node-name,.timeline-bar-text{fill:var(--viz-card-text-name);font-weight:var(--font-weight-bold);pointer-events:none;-webkit-user-select:none;user-select:none}.node-dates{fill:var(--viz-card-text-dates);font-size:var(--font-size-xs);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.95}.node-place{fill:var(--viz-card-text-place);font-size:var(--font-size-xs);pointer-events:none;-webkit-user-select:none;user-select:none;font-style:italic;opacity:.9}.family-tree-view{width:100%;height:100%;position:relative}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 12px rgba(155,89,182,.7)) drop-shadow(0 0 24px rgba(155,89,182,.5)) drop-shadow(0px 4px 12px rgba(0,0,0,.2))}50%{filter:drop-shadow(0 0 18px rgba(155,89,182,.9)) drop-shadow(0 0 36px rgba(155,89,182,.7)) drop-shadow(0px 6px 16px rgba(0,0,0,.25))}}.tree-stats{position:absolute;top:10px;right:10px;background:var(--bg-tooltip);color:var(--text-primary);border:1px solid var(--border-medium);padding:8px 16px;border-radius:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-md);z-index:100;pointer-events:none}.tree-controls{position:absolute;top:10px;right:2rem;display:flex;flex-direction:column;gap:8px;z-index:1001;transition:top .2s}.tree-controls.with-one-banner{top:70px}.tree-controls.with-two-banners{top:120px}.tree-controls.with-three-banners{top:170px}.tree-controls .controls-divider{width:36px;height:2px;background:var(--border-dark);box-shadow:0 1px 2px #0000001a}.fit-to-view-btn,.toggle-partnership-btn{background:var(--bg-button);color:var(--text-inverse);border:none;padding:8px 16px;border-radius:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color .2s,transform .1s}.fit-to-view-btn:hover,.toggle-partnership-btn:hover{background:var(--bg-button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.fit-to-view-btn:active,.toggle-partnership-btn:active{transform:translateY(0)}.tree-svg{width:100%;height:100%}.tree-loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-size-xl);color:var(--text-tertiary)}.tree-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);font-size:var(--font-size-xl);color:var(--text-primary);z-index:1000}.node{cursor:pointer;will-change:transform}.node-rect{transition:filter .3s ease-out,stroke-width .2s ease-out,transform .3s ease-out;will-change:filter,transform;filter:drop-shadow(0px 2px 4px rgba(0,0,0,.12)) drop-shadow(0px 4px 8px rgba(0,0,0,.08)) drop-shadow(0px 8px 16px rgba(0,0,0,.06))}.node-rect:hover{filter:brightness(1.08) drop-shadow(0px 4px 8px rgba(0,0,0,.16)) drop-shadow(0px 8px 16px rgba(0,0,0,.12)) drop-shadow(0px 16px 32px rgba(0,0,0,.08));stroke-width:3;transform:translateY(-3px)}.icon-interaction-zone{pointer-events:all}.icon-interaction-zone:hover{fill:#ffffff0d}.node-photo{pointer-events:none}.living-indicator{pointer-events:none;filter:brightness(1.5) drop-shadow(0 0 4px rgba(76,175,80,.8)) drop-shadow(0 1px 2px rgba(0,0,0,.3));transition:filter .3s ease-out}.node:hover .living-indicator{filter:brightness(1.7) drop-shadow(0 0 6px rgba(76,175,80,1)) drop-shadow(0 1px 3px rgba(0,0,0,.4))}.gender-icon{pointer-events:none;-webkit-user-select:none;user-select:none;filter:brightness(1.5) drop-shadow(0 1px 2px rgba(0,0,0,.3));opacity:.9;transition:opacity .3s ease-out,filter .3s ease-out}.node:hover .gender-icon{opacity:1;filter:brightness(1.6) drop-shadow(0 1px 3px rgba(0,0,0,.4))}.note-icon{pointer-events:none;-webkit-user-select:none;user-select:none;filter:brightness(1.5) drop-shadow(0 0 3px rgba(255,167,38,.6)) drop-shadow(0 1px 2px rgba(0,0,0,.3));transition:filter .3s ease-out}.node:hover .note-icon{filter:brightness(1.7) drop-shadow(0 0 5px rgba(255,167,38,.9)) drop-shadow(0 1px 3px rgba(0,0,0,.4))}.tree-tooltip{background:var(--bg-tooltip);border:2px solid var(--border-dark);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-lg);pointer-events:none;z-index:10000;max-width:350px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.tooltip-header{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--border-dark);display:flex;align-items:center;justify-content:space-between;color:var(--text-primary)}.tooltip-gender{font-size:var(--font-size-2xl);opacity:1}.tooltip-row{margin:6px 0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.tooltip-row strong{color:var(--text-primary);margin-right:4px}.tooltip-notes{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-dark);font-size:var(--font-size-sm);color:var(--text-tertiary);line-height:var(--line-height-relaxed);max-height:120px;overflow-y:auto}.tooltip-notes strong{color:var(--text-primary);display:block;margin-bottom:4px}.tooltip-note-item{margin:4px 0;padding:4px 0;border-bottom:1px solid var(--border-medium);font-size:var(--font-size-xs)}.tooltip-note-item:last-child{border-bottom:none}.tooltip-note-item strong{display:inline;color:var(--text-warning);font-size:var(--font-size-xs)}.tooltip-note-more{margin-top:8px;font-style:italic;color:var(--text-tertiary);font-size:var(--font-size-xs)}.living-badge{display:inline-block;padding:3px 10px;background:var(--tree-node-living);color:var(--text-inverse);border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.link{fill:none;stroke:#666;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:1;transition:opacity .3s ease-out,stroke .3s ease-out;filter:drop-shadow(0px 1px 2px rgba(0,0,0,.1))}.node:hover~.link,.link:has(~.node:hover){opacity:1;stroke:#888}.partnership-link{stroke:#e8a0b8;stroke-width:4;opacity:1;transition:opacity .3s ease-out,stroke .3s ease-out;filter:drop-shadow(0px 1px 2px rgba(0,0,0,.08))}.partnership-link-current{stroke-dasharray:none}.partnership-link-ended{stroke-dasharray:8,4;opacity:.7}.partnership-badge:hover~.partnership-link,.node:hover~.partnership-link{opacity:1;stroke:#f5c0d4}.partnership-badge{cursor:pointer;transition:opacity .3s ease-out,filter .3s ease-out;opacity:.85}.partnership-badge:hover{opacity:1;filter:drop-shadow(0px 2px 4px rgba(0,0,0,.3))}.partnership-badge circle{transition:fill .3s ease-out,transform .3s cubic-bezier(.34,1.56,.64,1);will-change:transform}.partnership-badge:hover circle{filter:brightness(1.15);transform:scale(1.15)}.partnership-badge:active circle{transform:scale(.95);transition:transform .1s ease-out}.partnership-menu{background:var(--bg-modal);border:1px solid var(--border-dark);border-radius:4px;padding:8px;box-shadow:var(--shadow-md);color:var(--text-primary)}.partnership-menu div{padding:4px 8px;cursor:pointer;border-radius:2px}.partnership-menu div:hover{background-color:var(--bg-secondary)}.toggle-button{transition:opacity .3s ease-out,filter .3s ease-out;opacity:.75;cursor:pointer}.toggle-button:hover{opacity:1;filter:drop-shadow(0px 2px 4px rgba(0,0,0,.3))}.toggle-button circle{transition:fill .3s ease-out,stroke .3s ease-out,transform .3s cubic-bezier(.34,1.56,.64,1);will-change:transform,fill}.toggle-button:hover circle{fill:var(--border-dark);stroke:var(--text-inverse);stroke-width:2.5;transform:scale(1.2)}.toggle-button:active circle{transform:scale(.95);transition:transform .1s ease-out}.toggle-button text{pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .3s ease-out}.toggle-button:hover text{opacity:1}.box-zoom-selection{fill:#0078ff1a;stroke:#0078ff;stroke-width:2;stroke-dasharray:5,5;pointer-events:none;z-index:9999}.tree-svg.right-click-dragging .node,.tree-svg.right-click-dragging .partnership-badge{pointer-events:none}.filter-banner{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--color-primary-alpha-10);border-bottom:2px solid var(--color-primary);z-index:15;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center}.filter-banner-content{display:flex;align-items:center;gap:1rem}.filter-banner-text{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);white-space:nowrap}.filter-banner-clear{padding:.5rem 1rem;background-color:var(--bg-button-secondary);color:var(--text-button-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;white-space:nowrap}.toast-container{position:fixed;bottom:20px;right:20px;z-index:99999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{min-width:300px;max-width:500px;padding:16px 20px;background:var(--toast-bg);border-radius:8px;box-shadow:var(--shadow-lg);cursor:pointer;animation:slideIn .3s ease-out;border-left:4px solid;pointer-events:auto}.toast-success{border-left-color:var(--toast-border-success)}.toast-error{border-left-color:var(--toast-border-error)}.toast-info{border-left-color:var(--toast-border-info)}.toast-content{display:flex;align-items:center;gap:12px}.toast-icon{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold) flex-shrink: 0}.toast-success .toast-icon{color:var(--toast-border-success)}.toast-error .toast-icon{color:var(--toast-border-error)}.toast-info .toast-icon{color:var(--toast-border-info)}.toast-message{font-size:var(--font-size-base);color:var(--text-primary);line-height:var(--line-height-tight)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast:hover{box-shadow:0 6px 16px #0003}.fan-chart-view{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg-secondary)}.fan-chart-svg{display:block;background:var(--bg-secondary)}.fan-chart-container{transition:transform .1s ease-out}.fan-chart-node{transition:all .2s ease-out}.fan-chart-node:hover{filter:brightness(1.1)}.fan-chart-node.root-node circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.fan-chart-node path{transition:stroke-width .2s ease-out,stroke .2s ease-out}.fan-chart-line{pointer-events:none}.fan-chart-text{-webkit-user-select:none;user-select:none}.fan-chart-tooltip{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:4px;padding:8px 12px;box-shadow:0 2px 8px #00000026;z-index:1000;max-width:250px}.fan-chart-tooltip .tooltip-name{font-weight:var(--font-weight-semibold) font-size: var(--font-size-base);color:var(--text-primary);margin-bottom:4px}.fan-chart-tooltip .tooltip-dates{font-size:var(--font-size-sm);color:var(--text-secondary)}.fan-chart-view .loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-primary);font-size:var(--font-size-xl)}.fan-chart-svg.right-click-dragging .fan-chart-node{pointer-events:none}.timeline-view{width:100%;height:100%;position:relative;background-color:var(--tree-bg);overflow-y:auto;overflow-x:hidden}.timeline-svg{width:100%;min-height:100%;background-color:var(--tree-bg);display:block}.timeline-view .loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-primary);font-size:var(--font-size-xl)}.timeline-error,.timeline-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-size-xl);color:var(--text-tertiary)}.timeline-error{color:var(--text-error)}.grid-line{stroke:var(--border-light);stroke-width:1;stroke-dasharray:2,4;opacity:.3}.axis-label{fill:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none}.generation-label{fill:var(--text-secondary);font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none}.timeline-year-labels-sticky{position:sticky;top:0;left:0;width:100%;height:50px;background:var(--tree-bg);opacity:.95;z-index:10;pointer-events:none;border-bottom:1px solid var(--border-light)}.timeline-year-label-item{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;display:flex;align-items:center;height:100%;z-index:2}.timeline-tick{width:1px;background-color:var(--border-light);pointer-events:none;opacity:.4}.timeline-tick-minor{height:5px;opacity:.5}.timeline-tick-mid{height:10px;opacity:.5}.timeline-tick-major{height:20px;opacity:.7;background-color:var(--text-secondary)}.track-separator{pointer-events:none;opacity:.5}.lifespan-bar{transition:opacity .2s,stroke-width .2s}.lifespan-bar:hover{opacity:1!important;stroke:#fff!important;stroke-width:3!important}.name-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none}.timeline-tooltip{background:var(--bg-tooltip);border:2px solid var(--border-dark);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-lg);z-index:10000;max-width:350px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.timeline-tooltip .tooltip-header{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--border-dark);display:flex;align-items:center;justify-content:space-between;color:var(--text-primary)}.timeline-tooltip .tooltip-gender{font-size:var(--font-size-2xl);opacity:1}.timeline-tooltip .tooltip-row{margin:6px 0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.timeline-tooltip .tooltip-row strong{color:var(--text-primary);margin-right:4px}.timeline-tooltip .living-badge{display:inline-block;padding:3px 10px;background:var(--tree-node-living);color:var(--text-inverse);border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.box-zoom-selection{fill:#0078ff1a;stroke:#0078ff;stroke-width:2;stroke-dasharray:5,5;pointer-events:none}.filter-banner{position:sticky;top:0;left:0;width:100%;background-color:var(--color-primary-alpha-10);border-bottom:2px solid var(--color-primary);z-index:15;padding:.75rem 1rem}.pedigree-view{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg-secondary)}.pedigree-svg{display:block;background:var(--bg-secondary)}.pedigree-chart-container{transition:transform .1s ease-out}.pedigree-node{transition:all .2s ease-out}.pedigree-node.person-node:hover{filter:brightness(1.1)}.pedigree-node rect{transition:stroke-width .2s ease-out,stroke .2s ease-out}.pedigree-line{pointer-events:none}.pedigree-text{-webkit-user-select:none;user-select:none}.pedigree-node.placeholder-node{opacity:.6}.pedigree-node.placeholder-node rect{stroke-dasharray:5,5}.pedigree-node.clickable-placeholder{opacity:.85;cursor:pointer!important}.pedigree-node.clickable-placeholder rect{transition:all .2s ease-out;stroke-width:2.5!important;opacity:.8}.pedigree-node.clickable-placeholder:hover{opacity:1;filter:brightness(1.2)}.pedigree-node.clickable-placeholder:hover rect{fill:var(--bg-button-hover);stroke-width:3.5!important;opacity:1}.generation-label{-webkit-user-select:none;user-select:none}.pedigree-view .loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-primary);font-size:var(--font-size-xl)}.pedigree-svg.right-click-dragging .pedigree-node{pointer-events:none}.box-zoom-selection{fill:#6495ed33;stroke:#6495ed99;stroke-width:2;stroke-dasharray:5,5;pointer-events:none}.pedigree-icon-button{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-button);color:var(--text-primary);border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-sm)}.pedigree-icon-button:hover:not(:disabled){background:var(--bg-button-hover);box-shadow:var(--shadow-md)}.pedigree-icon-button:active:not(:disabled){transform:scale(.95)}.pedigree-icon-button:disabled{opacity:.5;cursor:not-allowed}.pedigree-icon-button .btn-label{position:absolute;right:100%;top:50%;transform:translateY(-50%);background-color:var(--bg-button);padding:6px 12px;border-radius:4px;margin-right:8px;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .2s ease;font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal)}.pedigree-icon-button:hover .btn-label{opacity:1}.filter-banner{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--color-primary-alpha-10);border-bottom:2px solid var(--color-primary);z-index:15;padding:.75rem 1rem}.filter-banner-content{display:flex;align-items:center;justify-content:space-between;max-width:100%}.filter-banner-text{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.filter-banner-clear{padding:.5rem 1rem;background-color:var(--bg-button-secondary);color:var(--text-button-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s}.filter-banner-clear:hover{background-color:var(--bg-button-secondary-hover);border-color:var(--border-dark)}.filter-banner-clear:active{transform:scale(.98)}.all-people-view{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-page);overflow:hidden}.all-people-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-secondary)}.all-people-filter-banner{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:var(--color-primary-alpha-10);border-bottom:2px solid var(--color-primary);z-index:10}.all-people-filter-text{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.all-people-filter-clear{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-button-secondary);color:var(--text-button-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s}.all-people-filter-clear:hover{background:var(--bg-button-secondary-hover);border-color:var(--border-dark)}.all-people-header{padding:1.5rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-light)}.all-people-title-section{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.all-people-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.all-people-count{padding:.25rem .75rem;background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.all-people-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;max-width:600px}.all-people-stat-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all .2s}.all-people-stat-card:hover{border-color:var(--border-medium);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.all-people-stat-content{display:flex;flex-direction:column;gap:.125rem}.all-people-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.all-people-stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.all-people-controls{display:flex;gap:1rem;padding:1rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-light)}.all-people-search{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md);transition:all .2s}.all-people-search:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--border-focus-shadow)}.all-people-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-base)}.all-people-search-input::placeholder{color:var(--text-tertiary)}.all-people-search-clear{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s}.all-people-search-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.all-people-sort{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md)}.all-people-sort-select{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;padding-right:.5rem;min-width:150px}.all-people-sort-direction{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .2s}.all-people-sort-direction:hover{background:var(--bg-button-hover);border-color:var(--border-dark)}.all-people-list-container{flex:1;overflow-y:auto;padding:1rem 2rem 2rem}.all-people-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--text-secondary)}.all-people-empty-hint{color:var(--text-tertiary);font-size:var(--font-size-sm)}.all-people-table{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.all-people-table-header{display:grid;grid-template-columns:3fr 2fr 2fr 1fr 1.5fr 1.5fr;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-medium);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.all-people-table-header>div{cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.all-people-table-header>div:hover{color:var(--text-primary)}.all-people-table-body{display:flex;flex-direction:column}.all-people-row{display:grid;grid-template-columns:3fr 2fr 2fr 1fr 1.5fr 1.5fr;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:all .2s}.all-people-row:hover{background:var(--bg-secondary)}.all-people-row:last-child{border-bottom:none}.all-people-row-selected{background:var(--color-primary-alpha-10);border-left:4px solid var(--color-primary)}.all-people-row-selected:hover{background:var(--color-primary-alpha-20)}.all-people-col-name,.all-people-col-dates,.all-people-col-status,.all-people-col-complete,.all-people-col-modified{display:flex;align-items:center}.all-people-name-section{display:flex;align-items:center;gap:.75rem}.all-people-avatar,.all-people-avatar-placeholder{width:2.5rem;height:2.5rem;border-radius:50%;flex-shrink:0}.all-people-avatar{object-fit:cover;border:2px solid var(--border-medium)}.all-people-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px solid var(--border-medium);color:var(--text-tertiary)}.all-people-name-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.all-people-person-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.all-people-verified{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-left:.375rem;background:var(--text-success);color:var(--text-inverse);border-radius:50%;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.all-people-duplicate{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-left:.375rem;background:var(--text-warning);color:var(--text-inverse);border-radius:50%;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.all-people-gender{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:capitalize}.all-people-date-info{display:flex;flex-direction:column;gap:.25rem}.all-people-date-info>span:first-child{font-size:var(--font-size-sm);color:var(--text-primary)}.all-people-place{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.all-people-status-badge{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.all-people-status-badge.living{background:var(--tree-node-living);color:var(--text-inverse)}.all-people-status-badge.deceased{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-medium)}.all-people-completeness{display:flex;align-items:center;gap:.5rem}.all-people-completeness-bar{flex:1;height:.5rem;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.all-people-completeness-fill{height:100%;border-radius:var(--radius-full);transition:width .3s}.all-people-completeness-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);min-width:2.5rem;text-align:right}.all-people-modified-info{display:flex;align-items:center;gap:.375rem;font-size:var(--font-size-xs);color:var(--text-secondary)}@media (max-width: 1024px){.all-people-header{padding:1rem}.all-people-controls{padding:.75rem 1rem;flex-direction:column}.all-people-list-container{padding:1rem}.all-people-table-header,.all-people-row{grid-template-columns:1fr;gap:.5rem}.all-people-table-header>div{display:none}.all-people-col-name{grid-column:1}.all-people-col-dates,.all-people-col-status,.all-people-col-complete,.all-people-col-modified{font-size:var(--font-size-xs)}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-container{position:relative;width:100%;height:100%;background-color:var(--bg-primary)}.leaflet-map{border-radius:8px}.map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary)}.map-empty p{margin:.5rem 0}.map-empty-hint{font-size:var(--font-size-base);color:var(--text-tertiary);line-height:var(--line-height-normal)}.map-legend{position:absolute;bottom:1rem;right:1rem;background-color:var(--bg-modal);padding:.5rem 1rem;border-radius:4px;border:1px solid var(--border-medium);box-shadow:var(--shadow-md);z-index:1000;pointer-events:none}.map-count{margin:0;font-size:var(--font-size-base);color:var(--text-secondary)}.map-popup{font-family:inherit}.map-popup h4{margin:0 0 .5rem;color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.map-popup p{margin:.25rem 0;font-size:var(--font-size-base);color:var(--text-secondary)}.popup-person{font-weight:var(--font-weight-medium) color: var(--text-primary)!important}.popup-date,.popup-place{color:var(--text-secondary)!important}.popup-description{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-light);color:var(--text-primary)!important}.leaflet-popup-content-wrapper{background-color:var(--bg-modal);color:var(--text-primary);border-radius:8px;box-shadow:var(--shadow-lg)}.leaflet-popup-tip{background-color:var(--bg-modal)}.leaflet-container a.leaflet-popup-close-button{color:var(--text-secondary);font-size:var(--font-size-lg)}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--text-primary)}[data-theme=dark] .leaflet-tile{filter:brightness(.7) contrast(1.2) saturate(.8)}@media (max-width: 768px){.map-legend{bottom:.5rem;right:.5rem;padding:.4rem .8rem}.map-count{font-size:var(--font-size-sm)}}.map-modal-content{min-height:500px;max-height:70vh;height:600px;overflow:hidden;padding:0}.map-loading{display:flex;align-items:center;justify-content:center;min-height:500px;color:var(--text-secondary)}@media (max-width: 768px){.map-modal-content{height:400px;max-height:60vh}}.person-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background-color:var(--bg-input);border-radius:10px;border:1px solid var(--border-medium);font-size:var(--font-size-xs);transition:all .2s ease;position:relative;margin-left:var(--spacing-xs);max-width:fit-content}.person-pill:hover{border-color:var(--border-focus);background-color:var(--bg-secondary);padding-right:70px}.person-pill-male{border-color:var(--icon-male);background-color:color-mix(in srgb,var(--icon-male) 10%,var(--bg-input))}.person-pill-male:hover{border-color:var(--icon-male);background-color:color-mix(in srgb,var(--icon-male) 15%,var(--bg-secondary))}.person-pill-female{border-color:var(--icon-female);background-color:color-mix(in srgb,var(--icon-female) 10%,var(--bg-input))}.person-pill-female:hover{border-color:var(--icon-female);background-color:color-mix(in srgb,var(--icon-female) 15%,var(--bg-secondary))}.person-pill-name{color:var(--text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.person-pill-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--transition-fast);position:absolute;right:8px;pointer-events:none}.person-pill:hover .person-pill-actions{opacity:1;pointer-events:auto}.person-pill-action-icon{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--transition-fast)}.person-pill-action-icon:hover{background-color:var(--bg-input);color:var(--text-link)}.person-pill-action-icon:active{transform:scale(.95)}.person-pill-duplicate-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:var(--text-warning);color:var(--text-black);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;margin-left:4px}.section-item{padding:12px;border:1px solid var(--border-light);border-radius:8px;background-color:var(--bg-primary);margin-bottom:8px;transition:all var(--transition-normal)}.section-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.section-item:last-child{margin-bottom:0}.section-item.compact{padding:var(--spacing-sm);border:1px solid var(--border-medium);border-radius:4px;background-color:var(--bg-input);margin-bottom:var(--spacing-sm)}.section-item.compact:hover{border-color:var(--border-medium);box-shadow:none}.section-item.compact:last-child{margin-bottom:0}.section-item p{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--text-primary)}.section-item p:last-child{margin-bottom:0}.section-item strong{color:var(--text-secondary);margin-right:var(--spacing-xs)}.partnership-item .partnership-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.partnership-item .partnership-info{flex:1;min-width:0}.partnership-item .partnership-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.partnership-field{margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-base)}.partnership-field strong{flex-shrink:0}.partnership-item.compact .partnership-field{font-size:var(--font-size-sm)}.partnership-notes{font-style:italic;color:var(--text-muted);margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-secondary);border-left:2px solid var(--border-medium);border-radius:4px}.partnership-list{display:flex;flex-direction:column;gap:8px}.event-header.hidden-event{opacity:.6}.event-header.hidden-event~*{opacity:.6}.life-event-item.compact{padding:var(--spacing-sm);border:1px solid var(--border-medium);border-radius:4px;background-color:var(--bg-input);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:8px;font-size:var(--font-size-base)}.life-event-item.compact .event-icon{font-size:var(--font-size-lg)}.life-event-item.compact .event-date{font-weight:var(--font-weight-medium);color:var(--text-primary);min-width:80px}.life-event-item.compact .event-type{color:var(--text-secondary)}.life-event-item.compact .event-place{color:var(--text-tertiary);font-size:var(--font-size-base)}.life-event-item.compact .visibility-badge{margin-left:auto;font-size:var(--font-size-sm);padding:2px 6px;background-color:var(--bg-button-secondary);border-radius:4px;color:var(--text-muted)}.event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.event-icon-wrapper{display:flex;align-items:flex-start;gap:12px;flex:1}.event-icon{font-size:var(--font-size-2xl);line-height:var(--line-height-none);flex-shrink:0}.event-basic-info{flex:1;min-width:0}.event-type-date{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:4px}.event-type-date strong{color:var(--text-primary);font-size:var(--font-size-md)}.event-date{color:var(--text-secondary);font-size:var(--font-size-base)}.event-place{color:var(--text-tertiary);font-size:var(--font-size-base);margin-top:2px}.event-actions{display:flex;gap:4px;flex-shrink:0}.event-description{margin-top:8px;padding:8px;background-color:var(--bg-secondary);border-radius:4px;color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.event-notes{margin-top:8px;padding:8px;background-color:var(--bg-input);border-left:3px solid var(--border-focus);border-radius:4px;font-size:var(--font-size-base);color:var(--text-secondary)}.event-notes strong{color:var(--text-primary);margin-right:4px}.event-source{margin-top:8px;font-size:var(--font-size-base);color:var(--text-tertiary);font-style:italic}.event-source strong{color:var(--text-secondary);margin-right:4px;font-style:normal}.visibility-notice{margin-top:8px;padding:6px 8px;background-color:var(--bg-button-secondary);border-radius:4px;font-size:var(--font-size-sm);color:var(--text-muted);text-align:center}.life-event-list{display:flex;flex-direction:column;gap:12px}.event-filter{display:flex;gap:8px;margin-bottom:8px;padding:4px;background-color:var(--bg-secondary);border-radius:8px;overflow-x:auto}.filter-btn{padding:6px 12px;border:none;background-color:transparent;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium) border-radius: 6px;cursor:pointer;white-space:nowrap;transition:all var(--transition-normal)}.filter-btn:hover{background-color:var(--bg-primary);color:var(--text-primary)}.filter-btn.active{background-color:var(--bg-button);color:var(--text-inverse)}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);background:var(--bg-secondary);border:1px solid var(--border-light);transition:var(--transition-fast);white-space:nowrap}.source-badge:hover{opacity:var(--opacity-hover)}.source-badge-gedmatch{color:var(--source-gedmatch);border-color:var(--source-gedmatch)}.source-badge-dnajustice{color:var(--source-dnajustice);border-color:var(--source-dnajustice)}.source-badge-ftdna{color:var(--source-ftdna);border-color:var(--source-ftdna)}.source-badge-23andme{color:var(--source-23andme);border-color:var(--source-23andme)}.source-badge-myheritage{color:var(--source-myheritage);border-color:var(--source-myheritage)}.source-badge-custom{color:var(--source-custom);border-color:var(--source-custom)}.relationship-calculator{display:flex;flex-direction:column;gap:1.5rem}.calculator-input{display:flex;flex-direction:column;gap:.5rem}.calculator-input label{font-weight:500;color:var(--text-primary);font-size:.9375rem}.calculation-results{display:flex;flex-direction:column}.relationships-list{display:flex;flex-direction:column;gap:1rem}.relationship-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px;border-left:3px solid var(--color-primary)}.relationship-header{display:flex;justify-content:space-between;align-items:center}.relationship-name{font-weight:500;color:var(--text-primary);font-size:.9375rem}.relationship-probability{font-weight:600;color:var(--color-primary);font-size:1rem}.probability-bar{width:100%;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.probability-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);transition:width .3s ease}.relationship-description{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.icon-picker-popup{position:absolute;top:calc(100% + 8px);left:0;z-index:1001;background:var(--bg-modal);border:1px solid var(--border-medium);border-radius:8px;box-shadow:var(--shadow-lg);width:400px;max-height:450px;display:flex;flex-direction:column;overflow:hidden}.icon-picker-header{padding:12px;border-bottom:1px solid var(--border-light);background:var(--bg-primary)}.icon-picker-search{width:100%;padding:8px 12px;background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:var(--font-size-base);outline:none}.icon-picker-search::placeholder{color:var(--text-secondary)}.icon-picker-colors{padding:12px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.color-picker-label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.color-palette{display:flex;gap:8px;flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.color-option-selected{transform:scale(1.15);box-shadow:0 0 0 3px var(--bg-modal),0 0 0 5px var(--border-focus)}.color-checkmark{color:#fff;font-size:16px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.icon-picker-grid{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;overflow-y:auto;max-height:380px}.icon-option{display:flex;align-items:center;justify-content:center;padding:12px;background:var(--bg-input);border:2px solid var(--border-light);border-radius:6px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);min-height:48px}.icon-option:hover{background:var(--bg-secondary);border-color:var(--border-focus);transform:scale(1.05)}.icon-option-selected{background:var(--bg-secondary);border-color:var(--border-focus);box-shadow:0 0 0 2px #4299e133}.icon-picker-empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--text-secondary);font-style:italic}.icon-picker-grid::-webkit-scrollbar{width:8px}.icon-picker-grid::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.icon-picker-grid::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.icon-picker-grid::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.tag-badge{display:inline-flex;align-items:center;gap:4px;border-radius:12px;font-weight:var(--font-weight-medium) transition: all var(--transition-normal);cursor:default;-webkit-user-select:none;user-select:none}.tag-badge-small{padding:2px 8px;font-size:var(--font-size-sm);border-radius:10px}.tag-badge-medium{padding:4px 12px;font-size:var(--font-size-base)}.tag-badge-large{padding:6px 14px;font-size:var(--font-size-base)}.tag-global{background-color:var(--tag-color);color:#fff;border:1px solid var(--tag-color)}.tag-personal{background-color:transparent;color:var(--tag-color);border:1px solid var(--tag-color)}.tag-icon{font-size:1.1em}.tag-count{opacity:.8;font-size:.9em}.tag-remove{margin-left:4px;padding:0;width:16px;height:16px;border:none;border-radius:50%;background:#ffffff4d;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-base);line-height:var(--line-height-none)}.tag-remove:hover{background:#ffffff80}.tag-personal .tag-remove{background:#0000001a}.tag-personal .tag-remove:hover{background:#0003}.duplicate-warning{background-color:var(--warning-background);border:1px solid var(--warning-border);border-radius:6px;padding:1rem;margin-bottom:1rem}.duplicate-warning-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.warning-icon{color:var(--warning-text);flex-shrink:0}.warning-title{font-weight:600;color:var(--warning-text);flex:1}.warning-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.warning-close:hover{background-color:#0000001a}.warning-message{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem}.duplicate-matches{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.duplicate-match{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.match-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.match-name{font-weight:600;color:var(--text-primary)}.match-info{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.match-info span{display:flex;align-items:center}.no-dates{font-style:italic;opacity:.7}.match-similarity{font-size:.75rem;color:var(--text-secondary);background-color:var(--bg-secondary);padding:.25rem .5rem;border-radius:12px;align-self:flex-start}.btn-view-person{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);border-radius:4px;padding:.5rem 1rem;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-view-person:hover{background-color:var(--bg-hover);border-color:var(--border-medium)}.more-matches{text-align:center;font-size:.85rem;color:var(--text-secondary);font-style:italic;padding:.5rem}.warning-footer{margin:0;font-size:.85rem;color:var(--text-secondary);font-style:italic}.edit-basic-details-content,.profile-image-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-image-upload{display:flex;align-items:center;gap:var(--spacing-md)}.profile-image-preview{position:relative;width:120px;height:120px}.profile-image-preview img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius-md);border:2px solid var(--border-light)}.remove-image-btn{position:absolute;top:-8px;right:-8px;background:var(--bg-danger);color:var(--text-inverse);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.remove-image-btn:hover{background:var(--bg-danger-hover);transform:scale(1.1)}.upload-image-input{display:none}.upload-image-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-button-secondary);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.upload-image-label:hover{background:var(--bg-button-secondary-hover);border-color:var(--border-focus)}.upload-image-label:active{transform:translateY(1px)}.image-requirements{font-size:var(--font-size-xs);color:var(--text-secondary);font-style:italic}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group.compact{max-width:200px}.form-row-compact{display:flex;gap:var(--spacing-md);align-items:flex-end}.form-row-compact .form-group{flex:0 0 auto}.form-row-title-name{display:flex;gap:var(--spacing-md);align-items:flex-end}.form-row-title-name .form-group.compact{flex:0 0 auto}.form-row-title-name .form-group:not(.compact){flex:1}.form-row-date-place{display:flex;gap:var(--spacing-md);align-items:flex-start}.form-row-date-place .form-group.compact{flex:0 0 auto}.form-row-date-place .form-group:not(.compact){flex:1}.form-group input[type=date]{max-width:200px}@media (max-width: 768px){.form-row-2col{grid-template-columns:1fr}.form-row-compact,.form-row-title-name,.form-row-date-place{flex-direction:column}.form-group.compact,.form-group input[type=date]{max-width:100%}}.tag-form{display:flex;flex-direction:column;gap:20px;padding:var(--spacing-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tag-permissions{padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light)}.tag-permissions h4{margin:0 0 16px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold) color: var(--text-primary)}.icon-placeholder{color:var(--text-secondary);font-style:italic;font-size:var(--font-size-sm)}.tag-picker{display:flex;flex-direction:column;gap:12px}.tag-picker-select{width:100%}.tag-picker-badges{display:flex;flex-wrap:wrap;gap:6px}.tag-select__menu{z-index:9999}.tag-picker-empty-state{padding:var(--spacing-xl);text-align:center;background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary)}.tag-picker-empty-state p{margin:0;line-height:var(--line-height-normal)}.tag-picker-empty-state p:first-child{font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.tag-picker-empty-hint{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-md)}.tag-picker-empty-actions{display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-md)}.tag-create-inline{background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:4px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.tag-create-inline-header h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.tag-create-inline-fields{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.tag-create-input{flex:1;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-modal);color:var(--text-primary);font-size:var(--font-size-base)}.tag-create-input:focus{outline:none;border-color:var(--border-focus)}.tag-create-input.tag-create-icon{max-width:60px;text-align:center}.tag-create-color{width:60px;height:36px;border:1px solid var(--border-input);border-radius:4px;cursor:pointer}.tag-create-inline-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.tag-create-toggle{margin-bottom:var(--spacing-sm);width:auto;align-self:flex-start}.edit-tags-content{min-height:400px}.tab-description{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 var(--spacing-md) 0}.edit-partnerships-content{padding:var(--spacing-xl)}.partnerships-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:start}.partnerships-left-col,.partnerships-right-col{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (max-width: 1024px){.partnerships-2col{grid-template-columns:1fr}}.add-partnership-form{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.partnerships-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:50vh;overflow-y:auto}.no-partnerships{text-align:center;color:var(--text-tertiary);font-style:italic;padding:var(--spacing-xl) 0}.partnership-item{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md)}.partnership-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.partnership-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.partnership-partner{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.partnership-detail{font-size:var(--font-size-sm);color:var(--text-secondary)}.partnership-notes{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-light)}.partnership-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.partnership-select,.partnership-input,.partnership-textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit}.partnership-select:focus,.partnership-input:focus,.partnership-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.partnership-textarea{resize:vertical;min-height:60px;font-family:inherit}.edit-partnership-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.partnership-partner-name{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.add-partner-mode-toggle{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.partners-queue{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:var(--spacing-sm);margin-top:var(--spacing-sm)}.edit-life-events-content{padding:var(--spacing-xl)}.life-events-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:start}.life-events-left-col,.life-events-right-col{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (max-width: 1024px){.life-events-2col{grid-template-columns:1fr}}.add-life-event-form{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.life-events-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:50vh;overflow-y:auto}.no-life-events{text-align:center;color:var(--text-tertiary);font-style:italic;padding:var(--spacing-xl) 0}.life-event-item{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md)}.life-event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.life-event-type{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary);text-transform:capitalize}.life-event-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.life-event-details{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.life-event-description{color:var(--text-primary);margin-top:var(--spacing-xs)}.life-event-notes{font-style:italic;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-light)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.field-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic;margin-top:var(--spacing-xs)}.edit-children-content{min-height:400px}.children-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:start;overflow:visible}.children-left-col,.children-right-col{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (max-width: 1024px){.children-2col{grid-template-columns:1fr}}.add-child-form{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.children-list{display:flex;flex-direction:column;gap:var(--spacing-md);padding-right:var(--spacing-md)}.no-children{text-align:center;color:var(--text-tertiary);font-style:italic;padding:var(--spacing-xl) 0}.child-item{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%;margin-bottom:var(--spacing-sm)}.child-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.child-name{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.child-relationship{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic}.child-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.add-child-mode-toggle{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.child-select,.child-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit}.child-select:focus,.child-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.form-actions{display:flex;gap:var(--spacing-sm)}.selection-count{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-xs)}.children-queue{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:var(--spacing-sm);margin-top:var(--spacing-sm)}.queue-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.queue-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.queue-item{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:4px;padding:var(--spacing-xs) var(--spacing-sm);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.queue-item-name{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.person-search-selector-content{display:flex;flex-direction:column;gap:0;padding:var(--spacing-xl);min-height:400px;max-height:60vh;overflow:hidden}.person-search-selector-search{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-medium);margin-bottom:var(--spacing-md)}.person-search-selector-search input{width:100%;padding:var(--spacing-md);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-md);outline:none;background-color:var(--bg-input);color:var(--text-primary)}.person-search-selector-search input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #3498db1a}.person-search-selector-actions{padding:var(--spacing-md) 0;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-medium);border-radius:6px;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.selection-info{font-size:var(--font-size-base);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.bulk-actions{display:flex;gap:var(--spacing-sm)}.person-search-selector-list{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.person-search-selector-list::-webkit-scrollbar{width:8px}.person-search-selector-list::-webkit-scrollbar-track{background:var(--bg-input);border-radius:4px}.person-search-selector-list::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.person-search-selector-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.no-results{text-align:center;color:var(--text-tertiary);font-style:italic;padding:var(--spacing-2xl)}.person-item{display:flex;align-items:center;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--bg-modal);border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;transition:all var(--transition-normal)}.person-item:hover{background-color:var(--bg-secondary);border-color:var(--border-focus)}.person-item.selected{background-color:var(--bg-input);border-color:var(--border-focus)}.person-item input[type=checkbox]{margin-right:1rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.person-info{flex:1;min-width:0}.person-name{font-weight:var(--font-weight-semibold);font-size:.875rem!important;color:var(--text-primary);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-details{font-size:.75rem!important;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.person-details .detail{white-space:nowrap}.edit-sources-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.sources-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:stretch;flex:1;min-height:0;overflow:hidden}.sources-left-col,.sources-right-col{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%;overflow:hidden}@media (max-width: 1024px){.sources-2col{grid-template-columns:1fr}}.form-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.add-citation-form{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.citations-scroll-container{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;overflow-y:auto;min-height:0}.no-citations{text-align:center;color:var(--text-tertiary);font-style:italic;padding:var(--spacing-xl) 0}.citation-item{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.citation-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.citation-title{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.citation-detail{font-size:var(--font-size-sm);color:var(--text-secondary)}.citation-detail strong{font-weight:var(--font-weight-medium);color:var(--text-primary)}.citation-note{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-xs);padding:var(--spacing-xs);background-color:var(--bg-secondary);border-radius:4px}.citation-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.add-citation-mode-toggle{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.mode-toggle-btn{flex:1;padding:var(--spacing-sm);background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.mode-toggle-btn.active{background-color:var(--border-focus);border-color:var(--border-focus);color:var(--text-inverse);font-weight:var(--font-weight-medium)}.mode-toggle-btn:hover:not(.active){background-color:var(--bg-input);border-color:var(--border-medium)}.source-input,.source-textarea{width:100%}.source-textarea{min-height:60px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.citation-details-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.subsection-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.person-selection-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.selected-people-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.selected-person-tag{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--border-focus);color:var(--text-inverse);border-radius:4px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.notes-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:start}.notes-left-col,.notes-right-col{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (max-width: 1024px){.notes-2col{grid-template-columns:1fr}}.add-note-form{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.note-title-input,.note-text-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit}.note-title-input:focus,.note-text-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.note-text-input{resize:vertical;min-height:80px;font-family:inherit}.field-hint{font-size:var(--font-size-sm);color:var(--text-tertiary);font-style:italic}.notes-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:50vh;overflow-y:auto}.no-notes{text-align:center;color:var(--text-tertiary);font-style:italic;padding:var(--spacing-xl) 0}.note-item{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md)}.note-item:has(.edit-note-form){background-color:var(--bg-primary);border-color:var(--border-medium)}.note-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.note-title{font-weight:var(--font-weight-semibold);font-size:.875rem!important;color:var(--text-primary);margin:0;flex:1}.note-text{color:var(--text-primary);font-size:.875rem!important;line-height:var(--line-height-relaxed);white-space:pre-wrap;margin:0 0 var(--spacing-sm) 0}.note-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.edit-note-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.edit-note-form .note-actions{padding-top:var(--spacing-sm);margin-top:var(--spacing-sm);border-top:1px solid var(--border-medium)}.note-attachments{border-top:1px solid var(--border-light);padding-top:var(--spacing-sm);margin-top:var(--spacing-sm)}.attachments-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.attached-persons{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin:var(--spacing-xs) 0}.attached-person{display:inline-block;background-color:var(--bg-secondary);color:var(--text-primary);padding:2px 8px;border-radius:12px;font-size:var(--font-size-sm);border:1px solid var(--border-light)}.more-attachments{display:inline-block;color:var(--text-secondary);font-size:var(--font-size-sm);padding:2px 8px;font-style:italic}.manage-attachments-btn{margin-top:var(--spacing-xs)}.note-date{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--spacing-sm)}.edit-cluster-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.edit-cluster-description{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.edit-cluster-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.edit-cluster-field label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.edit-cluster-field input[type=text]{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--border-radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base)}.edit-cluster-field input[type=text]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-transparent)}.color-picker{display:flex;flex-direction:column;gap:var(--spacing-sm)}.color-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--spacing-xs)}.color-swatch{width:28px;height:28px;border-radius:var(--border-radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.custom-color{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.custom-color label{font-size:var(--font-size-sm);color:var(--text-secondary)}.custom-color input[type=color]{width:32px;height:32px;border:1px solid var(--border-light);border-radius:var(--border-radius-sm);cursor:pointer;padding:2px}.custom-color .color-value{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-secondary)}.edit-cluster-preview{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--border-radius-md)}.preview-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.cluster-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:500}.person-sidebar{width:437px}.person-status-badges{display:flex;gap:var(--spacing-sm);align-items:center}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none}.person-sidebar .detail-item,.unified-person-sidebar .detail-item{display:flex!important;flex-direction:row!important;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);color:var(--text-secondary);line-height:var(--line-height-normal);flex-wrap:nowrap!important;text-align:left!important;justify-content:flex-start!important}.person-sidebar .detail-item strong,.unified-person-sidebar .detail-item strong{color:var(--text-primary);flex-shrink:0;margin-right:var(--spacing-xs);display:inline!important}.person-sidebar .detail-item>*:not(strong):not(.person-pill),.unified-person-sidebar .detail-item>*:not(strong):not(.person-pill){display:inline!important}.partnership-item{background-color:var(--bg-input);padding:var(--spacing-sm);border-radius:4px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-medium)}.partnership-item:last-child{margin-bottom:0}.partnership-header p{margin:0;flex:1}.delete-partnership-btn{background-color:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-light);border-radius:3px;padding:4px 6px;font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}.partnership-item p{margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-size:var(--font-size-base)}.partnership-notes{font-style:italic;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-medium)}.notes-text{color:var(--text-secondary);line-height:var(--line-height-relaxed);white-space:pre-wrap}.note-item{background-color:var(--bg-input);padding:var(--spacing-sm);border-radius:4px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-medium)}.note-item:last-child{margin-bottom:0}.note-title{color:var(--text-primary);font-weight:var(--font-weight-semibold) font-size: var(--font-size-base);margin-bottom:var(--spacing-sm)}.note-text{color:var(--text-secondary);line-height:var(--line-height-relaxed);white-space:pre-wrap;margin-bottom:var(--spacing-sm)}.note-timestamps{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-sm);border-top:1px solid var(--border-medium)}.note-timestamp{color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic}.person-sidebar .section-content .empty-state{padding:var(--spacing-md) 0;margin:0;font-size:var(--font-size-base);color:var(--text-muted)}.children-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.child-item-sidebar{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-input);border-radius:16px;border:1px solid var(--border-medium);font-size:var(--font-size-sm);transition:all .2s ease}.child-item-sidebar:hover{border-color:var(--border-focus);background-color:var(--bg-button-hover)}.child-name-sidebar{color:var(--text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:flex;align-items:center;gap:4px}.child-pill-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;transition:all .2s ease;line-height:1}.child-pill-remove-btn:hover:not(:disabled){color:var(--text-error);background-color:var(--bg-error-subtle)}.child-pill-remove-btn:disabled{opacity:.5;cursor:not-allowed}.remove-child-btn{background-color:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-light);border-radius:3px;padding:4px 6px;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal);min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}.remove-child-btn:hover:not(:disabled){background-color:var(--bg-error-light);color:var(--text-error);border-color:var(--text-error)}.remove-child-btn:disabled{opacity:.3;cursor:not-allowed}.add-child-sidebar,.add-partnership-sidebar{margin-top:var(--spacing-sm)}.add-child-toggle-btn{width:100%;padding:var(--spacing-sm);background-color:var(--bg-button);color:#fff;border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;transition:background-color var(--transition-normal)}.add-child-toggle-btn:hover:not(:disabled){background-color:var(--bg-button-hover)}.add-child-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.add-child-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.add-child-form select{width:100%;padding:var(--spacing-sm);background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base)}.add-child-form select:focus{outline:none;border-color:var(--border-focus)}.add-child-form select:disabled{opacity:.5;cursor:not-allowed}.add-child-form .react-select-container{width:100%}.add-child-form .react-select__control{background-color:var(--bg-input)!important;border:1px solid var(--border-input)!important;border-radius:4px!important;min-height:38px!important;box-shadow:none!important;cursor:pointer!important;font-size:var(--font-size-base)!important}.add-child-form .react-select__control:hover{border-color:var(--border-focus)!important}.add-child-form .react-select__control--is-focused{border-color:var(--border-focus)!important;box-shadow:var(--shadow-focus)!important}.add-child-form .react-select__menu{background-color:var(--bg-modal)!important;z-index:9999!important;border:1px solid var(--border-medium)!important;box-shadow:var(--shadow-lg)!important;border-radius:8px!important;min-width:250px!important;font-size:var(--font-size-base)!important}.add-child-form .react-select__menu-list{padding:0!important}.add-child-form .react-select__option{background-color:var(--bg-modal)!important;color:var(--text-primary)!important;cursor:pointer!important;padding:12px 16px!important;transition:background-color .15s!important}.add-child-form .react-select__option:hover{background-color:var(--bg-secondary)!important}.add-child-form .react-select__option--is-focused{background-color:var(--bg-input)!important}.add-child-form .react-select__option--is-selected{background-color:var(--border-focus)!important;color:var(--text-inverse)!important}.add-child-form .react-select__placeholder{color:var(--text-muted)!important;font-size:var(--font-size-base)!important}.add-child-form .react-select__single-value,.add-child-form .react-select__input-container,.add-child-form .react-select__input{color:var(--text-primary)!important}.add-child-form .react-select__indicator-separator{background-color:var(--border-medium)!important}.add-child-form .react-select__dropdown-indicator{color:var(--text-secondary)!important}.add-child-form .react-select__dropdown-indicator:hover{color:var(--text-primary)!important}.add-child-form .react-select__clear-indicator{color:var(--text-secondary)!important}.add-child-form .react-select__clear-indicator:hover{color:var(--text-error)!important}.add-child-form input[type=text]{width:100%;padding:var(--spacing-sm);background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base)}.add-child-form input[type=text]:disabled{opacity:.5;cursor:not-allowed}.create-new-person-btn{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-sm);background-color:var(--bg-button-success);color:#fff;border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;transition:background-color var(--transition-normal)}.create-new-person-btn:hover:not(:disabled){background-color:var(--bg-button-success-hover)}.create-new-person-btn:disabled{opacity:.5;cursor:not-allowed}.add-child-actions{display:flex;gap:var(--spacing-sm)}.confirm-add-btn,.cancel-add-btn{flex:1;padding:var(--spacing-sm);border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;transition:background-color var(--transition-normal)}.confirm-add-btn{background-color:var(--bg-button-success);color:#fff}.confirm-add-btn:hover:not(:disabled){background-color:var(--bg-button-success-hover)}.confirm-add-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-add-btn{background-color:var(--bg-button-secondary);color:var(--text-primary)}.cancel-add-btn:hover:not(:disabled){background-color:var(--text-muted);color:var(--text-inverse)}.cancel-add-btn:disabled{opacity:.5;cursor:not-allowed}.duplicates-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.duplicate-item{padding:var(--spacing-sm);background-color:var(--bg-input);border-radius:4px;border:1px solid var(--duplicate-border);border-left:4px solid var(--duplicate-border)}.duplicate-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.duplicate-info strong{color:var(--duplicate-text);font-size:var(--font-size-base)}.duplicate-detail{color:var(--text-tertiary);font-size:var(--font-size-base);font-style:italic}.duplicate-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border-radius:50%;background-color:var(--text-warning);color:var(--text-black);font-size:var(--font-size-base);font-weight:var(--font-weight-bold) font-style: normal;vertical-align:middle;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0000004d;transition:all var(--transition-normal)}.duplicate-badge.clickable{cursor:pointer}.duplicate-badge.clickable:hover{transform:scale(1.15);box-shadow:0 2px 6px #0006;filter:brightness(1.1)}.duplicate-summary-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 1.5rem;background-color:#ff9f5a26;border-bottom:2px solid var(--text-warning);gap:12px}.duplicate-summary-text{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.duplicate-badge-small{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:var(--text-warning);color:var(--text-black);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold) flex-shrink: 0}.visualization-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.visualization-buttons button{flex:1}.vital-info-grid{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.sources-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.source-citation-item{background-color:var(--bg-input);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--border-medium);transition:border-color .2s}.source-citation-item:hover{border-color:var(--border-focus)}.citation-header{margin-bottom:var(--spacing-sm)}.source-title{color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.citation-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.citation-detail{color:var(--text-secondary);font-size:var(--font-size-sm)}.citation-detail strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.citation-text{color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-light)}.citation-notes{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.citation-notes strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.source-url{color:var(--border-focus);text-decoration:none;word-break:break-all;transition:color .2s}.person-form-modal>.modal-content>.modal-body{padding:0;overflow-y:auto;display:flex;flex-direction:column}.view-person-content{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-2xl)}.view-person-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-xl);align-items:start}.view-person-left-col,.view-person-middle-col,.view-person-right-col{display:flex;flex-direction:column;gap:var(--spacing-xl)}@media (max-width: 1400px){.view-person-3col{grid-template-columns:1fr 1fr}.view-person-right-col{grid-column:1 / -1}}@media (max-width: 1024px){.view-person-3col{grid-template-columns:1fr}.view-person-right-col{grid-column:auto}}.person-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-content-wrapper{background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:8px}.person-section .section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-medium)}.person-section .section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-xs)}.person-section .section-header .count{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);background-color:var(--bg-input);padding:2px 8px;border-radius:4px;border:1px solid var(--border-medium);margin-left:var(--spacing-xs);min-width:24px;text-align:center;display:inline-block}.basic-info-display{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-item{display:flex!important;flex-direction:row!important;align-items:baseline;gap:var(--spacing-xs);font-size:var(--font-size-base);color:var(--text-primary);margin:0;margin-bottom:var(--spacing-xs);line-height:var(--line-height-relaxed);flex-wrap:nowrap!important;text-align:left!important;justify-content:flex-start!important}.detail-item strong{color:var(--text-secondary);font-weight:var(--font-weight-semibold);flex-shrink:0;margin-right:var(--spacing-xs);display:inline!important}.detail-item>*:not(strong):not(.person-pill){display:inline!important}.person-link{background:none;border:none;color:var(--text-link);font-size:inherit;font-family:inherit;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:underline;text-decoration-color:transparent;transition:all var(--transition-fast)}.person-link:hover{text-decoration-color:var(--text-link);color:var(--text-link-hover)}.person-link:active{transform:translateY(1px)}.no-data{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-lg);background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:4px}.view-person-content .empty-state{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-lg);background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:4px;font-size:var(--font-size-lg)}.color-picker-field{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.color-picker-field label{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.title-field{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.title-field label{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.basic-info-display .profile-image-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.basic-info-display .profile-image-section>label{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.basic-info-display .profile-image-upload{display:flex;justify-content:flex-start}.basic-info-display .profile-image-preview{position:relative;width:150px;height:150px;border-radius:8px;overflow:hidden;border:2px solid var(--border-dark)}.basic-info-display .profile-image-preview img{width:100%;height:100%;object-fit:cover}.basic-info-display .profile-image-placeholder{width:150px;height:150px;border:2px dashed var(--border-dark);border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-input);transition:all var(--transition-normal);cursor:pointer}.basic-info-display .profile-image-placeholder:hover{border-color:var(--border-focus);background-color:var(--bg-secondary)}.basic-info-display .upload-label{cursor:pointer;color:var(--text-link);font-weight:var(--font-weight-medium);padding:.75rem 1.5rem;text-align:center}.basic-info-display .remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background-color:var(--bg-button-danger);color:var(--text-inverse);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-normal)}.basic-info-display .remove-image-btn:hover{opacity:.8}.person-form{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--bg-primary);overflow:hidden;flex:1}.person-form .tabs-container{flex:1;min-height:0}.person-form>.error-alert{flex-shrink:0;margin:1rem 1.5rem 0}.person-form-content{flex:1;overflow-y:auto;padding:0 1.5rem 1.5rem;min-height:0;background-color:var(--bg-primary)}.person-form-content::-webkit-scrollbar{width:8px}.person-form-content::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.person-form-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.person-form-content::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.form-group{margin-bottom:var(--spacing-lg);flex:1}.tab-description{margin-bottom:var(--spacing-lg);color:var(--text-secondary);line-height:var(--line-height-normal)}.modal-title-with-profile{display:flex;align-items:flex-end;gap:var(--spacing-md);width:100%}.modal-title-name-display{flex:1;display:flex;align-items:center;gap:var(--spacing-md)}.person-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--text-inverse)}.edit-name-btn{padding:.25rem .75rem;font-size:var(--font-size-sm);background-color:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:var(--text-inverse);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.edit-name-btn:hover{background-color:#fff3;border-color:#ffffff80}.profile-image-field-title{display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.profile-image-field-title .profile-image-upload{width:80px;height:80px}.profile-image-field-title .profile-image-preview{width:80px;height:80px;position:relative}.profile-image-field-title .profile-image-preview img{width:80px;height:80px;object-fit:cover;border-radius:4px;border:2px solid rgba(255,255,255,.2)}.profile-image-field-title .profile-image-placeholder{width:80px;height:80px;border:2px dashed rgba(255,255,255,.3);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:#ffffff0d;transition:all var(--transition-normal)}.profile-image-field-title .profile-image-placeholder:hover{border-color:#ffffff80;background-color:#ffffff1a}.profile-image-field-title .upload-label{font-size:var(--font-size-xs);color:#ffffffb3;cursor:pointer;text-align:center;padding:.5rem;white-space:pre-line;line-height:var(--line-height-tight)}.profile-image-field-title .remove-image-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background-color:var(--bg-button-danger);color:#fff;border:2px solid var(--bg-header);cursor:pointer;font-size:var(--font-size-base);line-height:var(--line-height-none);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.profile-image-field-title .remove-image-btn:hover{transform:scale(1.1)}.profile-image-field-title .field-error{font-size:var(--font-size-sm);color:var(--text-error);text-align:center;margin-top:.25rem}.title-select-compact{min-width:100px;max-width:120px;font-size:var(--font-size-base)}.verified-field-title{display:flex;align-items:center}.verified-field-title label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#ffffffe6;display:flex;align-items:center;gap:.4rem;cursor:pointer;margin:0;white-space:nowrap}.verified-field-title input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0;margin-right:.4rem}.checkbox-field{margin-bottom:var(--spacing-lg);overflow:visible}.checkbox-field label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex;align-items:center;gap:.4rem;cursor:pointer;margin:0;min-height:24px}.checkbox-field input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0;margin-right:.4rem}.badge-indicator{display:inline-flex;align-items:center;margin-left:.5rem;padding:2px 0;line-height:0}.badge-indicator svg{display:block;overflow:visible}.status-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none}.status-badge-living{background-color:var(--icon-living);color:#fff;border:1px solid var(--icon-living)}.status-badge-verified{background-color:#3b82f6;color:#fff;border:1px solid #3b82f6}.status-badges-inline{display:inline-flex;gap:var(--spacing-xs);margin-left:var(--spacing-xs)}.form-section{padding-bottom:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);border-bottom:1px solid var(--border-medium)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold) color: var(--text-primary);margin:0 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-dark)}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group select:-webkit-autofill,.form-group select:-webkit-autofill:hover,.form-group 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 5000s ease-in-out 0s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.7}.react-select-container{flex:1}.form-row{display:flex;gap:var(--spacing-lg)}.select-with-action{display:flex;gap:var(--spacing-sm);align-items:center}.select-with-action select{flex:1}.view-person-btn{flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--border-dark);border-radius:4px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.view-person-btn:hover{background:var(--bg-button-secondary);border-color:var(--border-focus)}.has-changes{background-color:var(--bg-button-success)!important}.has-changes:hover:not(:disabled){background-color:var(--bg-button-success-hover)!important}.children-list{background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:4px;padding:var(--spacing-md);margin-bottom:var(--spacing-md);min-height:60px}.no-children{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--spacing-sm)}.child-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:var(--bg-modal);border:1px solid var(--border-dark);border-radius:4px;margin-bottom:var(--spacing-sm);transition:all var(--transition-normal)}.child-item:last-child{margin-bottom:0}.child-item.new{border-color:var(--border-focus);background-color:var(--bg-secondary)}.child-item.removing{opacity:.5;text-decoration:line-through;background-color:var(--bg-input);border-color:var(--border-medium)}.child-name{font-weight:var(--font-weight-normal)!important;font-size:var(--font-size-base);color:var(--text-primary);flex:1}.new-badge{display:inline-block;background-color:var(--bg-button);color:var(--text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold) padding: 2px 6px;border-radius:3px;margin-left:8px;text-transform:uppercase}.child-action-btn{padding:1px 4px;border:none;border-radius:2px;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal);font-weight:var(--font-weight-normal)}.remove-btn{background-color:transparent;color:var(--text-muted)}.remove-btn:hover{background-color:var(--bg-error-light);color:var(--text-error)}.undo-btn{background-color:var(--text-warning);color:var(--text-inverse)}.undo-btn:hover{background-color:var(--text-warning-dark)}.add-child-section{margin-bottom:var(--spacing-md)}.add-child-section label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium) color: var(--text-primary);font-size:var(--font-size-base)}.add-child-select{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);background-color:var(--bg-input);color:var(--text-primary)}.add-child-select:focus{outline:none;border-color:var(--border-focus)}.profile-image-section{border-top:2px solid var(--border-medium);padding-top:var(--spacing-lg)}.profile-image-upload{display:flex;justify-content:center;margin-bottom:var(--spacing-sm)}.profile-image-preview{position:relative;width:150px;height:150px;border-radius:8px;overflow:hidden;border:2px solid var(--border-dark)}.profile-image-preview img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background-color:var(--bg-button-danger);color:var(--text-inverse);border:none;font-size:var(--font-size-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-normal)}.remove-image-btn:hover{background-color:var(--bg-button-danger);opacity:var(--opacity-hover)}.profile-image-placeholder{width:150px;height:150px;border:2px dashed var(--border-dark);border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);transition:all var(--transition-normal)}.profile-image-placeholder:hover{border-color:var(--border-focus);background-color:var(--bg-secondary)}.upload-label{cursor:pointer;color:var(--text-link);font-weight:var(--font-weight-medium) padding: .75rem 1.5rem;border-radius:4px;transition:all var(--transition-normal)}.upload-label:hover{color:var(--bg-button-hover)}.field-error{color:var(--text-error);font-size:var(--font-size-base);margin-top:var(--spacing-xs)}.field-hint{color:var(--text-muted);font-size:var(--font-size-base);margin-top:var(--spacing-xs)}.profile-image-url-upload{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-medium)}.profile-image-url-upload label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium) color: var(--text-primary);font-size:var(--font-size-base)}.url-upload-controls{display:flex;gap:var(--spacing-sm);align-items:center}.url-upload-controls input[type=url]{flex:1;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);background-color:var(--bg-input);color:var(--text-primary)}.url-upload-controls input[type=url]:disabled{opacity:.6;cursor:not-allowed}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;cursor:pointer;margin:0;padding:0}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer;margin:0 .75rem 0 0;flex-shrink:0}.checkbox-group span{font-weight:var(--font-weight-medium) color: var(--text-primary);margin:0;padding:0}.add-note-form{background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:4px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.note-title-input,.note-text-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);margin-bottom:var(--spacing-md);background-color:var(--bg-input);color:var(--text-primary)}.note-title-input{font-weight:var(--font-weight-medium)}.note-text-input{resize:vertical;font-family:inherit}.add-note-btn{padding:.5rem 1rem;background-color:var(--bg-button);color:var(--text-inverse);border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;transition:background-color var(--transition-normal)}.add-note-btn:hover:not(:disabled){background-color:var(--bg-button-hover)}.add-note-btn:disabled{opacity:.5;cursor:not-allowed}.note-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.note-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold) color: var(--text-primary);margin:0;flex:1}.note-text{color:var(--text-secondary);margin:0 0 .5rem;line-height:var(--line-height-normal);white-space:pre-wrap}.note-date{color:var(--text-muted);font-size:var(--font-size-sm)}.note-actions{display:flex;gap:var(--spacing-sm)}.edit-note-btn,.delete-note-btn{padding:4px 8px;border:none;border-radius:3px;cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-base);background-color:transparent}.edit-note-btn{color:var(--text-link)}.edit-note-btn:hover{background-color:var(--bg-secondary)}.delete-note-btn{color:var(--text-error)}.delete-note-btn:hover{background-color:var(--bg-secondary)}.edit-note-form{display:flex;flex-direction:column}.save-note-btn,.cancel-edit-btn{padding:.5rem 1rem;border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;transition:background-color var(--transition-normal)}.save-note-btn{background-color:var(--bg-button-success);color:var(--text-inverse)}.save-note-btn:hover{background-color:var(--bg-button-success-hover)}.cancel-edit-btn{background-color:var(--text-muted);color:var(--text-inverse)}.cancel-edit-btn:hover{background-color:var(--text-muted)}.note-attachments{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-medium)}.note-attachments-section{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:6px}.attachments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.attachments-label{font-size:var(--font-size-base);color:var(--text-tertiary);font-weight:var(--font-weight-semibold) margin-right: .5rem}.attached-persons{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:var(--spacing-sm)}.attached-person{display:inline-block;background-color:var(--bg-secondary);color:var(--text-primary);padding:.2rem .6rem;border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium) border: 1px solid var(--border-medium)}.more-attachments{color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic}.manage-attachments-btn{margin-top:var(--spacing-sm);font-size:var(--font-size-base);padding:.4rem .8rem;background-color:var(--bg-primary);border:1px solid var(--border-dark);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal)}.manage-attachments-btn:hover{background-color:var(--bg-secondary);border-color:var(--border-focus)}.partnerships-section label{display:block;margin-bottom:var(--spacing-md);font-weight:var(--font-weight-semibold) color: var(--text-primary)}.partnerships-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.partnership-item{background-color:var(--bg-input);padding:var(--spacing-md);border-radius:4px;border:1px solid var(--border-medium)}.partnership-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.partner-name{font-weight:var(--font-weight-medium) color: var(--text-primary);font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--spacing-sm)}.partner-name .duplicate-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:var(--text-warning);color:var(--text-black);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold) flex-shrink: 0}.delete-partnership-btn{background-color:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-light);border-radius:3px;padding:4px 8px;font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-normal);min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.delete-partnership-btn:hover:not(:disabled){background-color:var(--bg-error-light);color:var(--text-error);border-color:var(--text-error)}.delete-partnership-btn:disabled{opacity:.3;cursor:not-allowed}.partnership-details{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.partnership-details div{margin-bottom:var(--spacing-xs)}.partnership-notes{font-size:var(--font-size-base);color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-light)}.basic-details-readonly{display:flex;flex-direction:column;gap:var(--spacing-md)}.readonly-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.readonly-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.readonly-value{font-size:var(--font-size-base);color:var(--text-primary);padding:var(--spacing-sm);background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:4px;min-height:38px;display:flex;align-items:center}.custom-modal-title{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.title-image-color-container{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.title-person-name{flex:1;font-size:1.75rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:center}.title-profile-image{flex-shrink:0}.title-profile-image .profile-image-preview{width:48px;height:48px;border-radius:6px;overflow:hidden;border:2px solid var(--border-dark);position:relative;transition:all var(--transition-normal);cursor:pointer}.title-profile-image .profile-image-preview:hover{border-color:var(--border-focus);transform:scale(1.05);box-shadow:var(--shadow-md)}.title-profile-image .profile-image-preview img{width:100%;height:100%;object-fit:cover}.title-profile-image .profile-image-placeholder{width:48px;height:48px;border:2px dashed var(--border-dark);border-radius:6px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-input);transition:all var(--transition-normal);cursor:pointer;position:relative}.title-profile-image .profile-image-placeholder:hover{border-color:var(--border-focus);background-color:var(--bg-secondary)}.title-profile-image .upload-label{cursor:pointer;color:var(--text-link);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);text-align:center;line-height:1}.title-profile-image .remove-image-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background-color:var(--bg-button-danger);color:var(--text-inverse);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-normal)}.title-profile-image .remove-image-btn:hover{opacity:.8}.title-color-picker{position:relative;flex-shrink:0}.title-color-picker .color-swatch{width:36px;height:36px;border-radius:6px;border:2px solid var(--border-dark);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.title-color-picker .color-swatch:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:scale(1.05)}.title-color-picker .color-picker-dropdown{position:absolute;top:48px;right:0;z-index:1000;background-color:var(--bg-modal);border:1px solid var(--border-dark);border-radius:6px;padding:var(--spacing-md);box-shadow:var(--shadow-lg)}.tags-section{display:flex!important;flex-direction:row!important;align-items:baseline;gap:var(--spacing-sm);flex-wrap:nowrap!important;padding:0;margin:var(--spacing-md) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);text-align:left!important;justify-content:flex-start!important}.tags-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;padding:0;flex-shrink:0;display:inline!important}.tags-section .tag-picker-badges{display:inline-flex!important;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.tags-section .add-tags-btn{display:inline-block!important;padding:.4rem .8rem;font-size:var(--font-size-sm);background-color:var(--bg-button-secondary);border:1px solid var(--border-dark);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);font-weight:var(--font-weight-medium);flex-shrink:0}.tags-section .add-tags-btn:hover{background-color:var(--bg-button-secondary-hover);border-color:var(--border-focus)}.children-display{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.child-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background-color:var(--bg-input);border-radius:16px;border:1px solid var(--border-medium);font-size:var(--font-size-base);transition:all .2s ease;position:relative}.child-pill:hover{border-color:var(--border-focus);background-color:var(--bg-secondary);padding-right:60px}.child-pill-male{border-color:var(--icon-male);background-color:color-mix(in srgb,var(--icon-male) 10%,var(--bg-input))}.child-pill-male:hover{border-color:var(--icon-male);background-color:color-mix(in srgb,var(--icon-male) 15%,var(--bg-secondary))}.child-pill-female{border-color:var(--icon-female);background-color:color-mix(in srgb,var(--icon-female) 10%,var(--bg-input))}.child-pill-female:hover{border-color:var(--icon-female);background-color:color-mix(in srgb,var(--icon-female) 15%,var(--bg-secondary))}.child-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--transition-fast);position:absolute;right:8px;pointer-events:none}.child-pill:hover .child-actions{opacity:1;pointer-events:auto}.child-action-icon{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--transition-fast)}.child-action-icon:hover{background-color:var(--bg-input);color:var(--text-link)}.child-action-icon:active{transform:scale(.95)}.child-name{color:var(--text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);display:flex;align-items:center;gap:4px}.child-dates{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);white-space:nowrap}.citation-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.citation-source-title{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0}.citation-text{font-style:italic;color:var(--text-secondary);margin:var(--spacing-sm) 0;font-size:var(--font-size-sm)}.citation-detail{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0}.citation-notes{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-sm) 0 0 0;padding-top:var(--spacing-sm);border-top:1px solid var(--border-light)}.tree-form{padding:32px;width:100%}.tree-form .form-group{margin-bottom:20px}.icon-input-wrapper{position:relative;display:flex;gap:8px;align-items:center}.icon-picker-button{padding:10px 16px;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-input);cursor:pointer;transition:all var(--transition-normal);min-width:56px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.icon-picker-button:hover{background:var(--bg-secondary);border-color:var(--text-link)}.icon-picker-button:focus{outline:none;border-color:var(--text-link);box-shadow:0 0 0 3px #0066cc1a}.empty-tree-state{display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:40px;background:var(--tree-bg)}.empty-tree-content{text-align:center;max-width:500px;padding:60px 40px;background:var(--bg-modal);border-radius:16px;box-shadow:var(--shadow-lg)}.tree-icon{font-size:var(--font-size-6xl);margin-bottom:20px;animation:sway 3s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.empty-tree-content h2{font-size:var(--font-size-3xl);color:var(--text-primary);margin:0 0 12px;font-weight:var(--font-weight-semibold)}.welcome-message{font-size:var(--font-size-lg);color:var(--text-muted);margin:0 0 32px}.helper-tip{display:flex;align-items:center;gap:8px;margin-top:32px;font-size:var(--font-size-base);color:var(--text-muted);line-height:var(--line-height-relaxed);padding:16px;background:var(--bg-input);border-radius:8px}.helper-tip svg{flex-shrink:0;z-index:1}.tree-selector{position:relative;display:inline-block}.tree-selector-button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:6px;cursor:pointer;font-size:var(--font-size-md);transition:all var(--transition-normal);height:44px;box-sizing:border-box;overflow:visible;min-width:250px;color:var(--text-primary)}.tree-selector-button:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.tree-name{font-weight:var(--font-weight-semibold) flex: 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--font-size-md);display:flex;align-items:center;gap:4px}.tree-emoji{font-size:var(--font-size-md);line-height:var(--line-height-none);display:inline-flex;align-items:center;justify-content:center}.dropdown-arrow{font-size:var(--font-size-xs);color:var(--text-secondary);flex-shrink:0;margin-left:auto}.tree-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.tree-selector-dropdown{position:absolute;top:calc(100% + 8px);left:50%;margin-left:-175px;min-width:350px;background:var(--bg-modal);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;display:flex;flex-direction:column;max-height:500px;animation:slideDown .2s ease}.tree-selector-search{padding:12px;border-bottom:1px solid var(--border-light)}.tree-selector-search input{width:100%;padding:8px 12px;background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:4px;font-size:var(--font-size-base);outline:none}.tree-selector-search input:focus{border-color:var(--text-link);box-shadow:0 0 0 2px #3498db1a}.tree-list{flex:1;overflow-y:auto;max-height:380px;padding-right:8px}.no-trees{padding:32px;text-align:center;color:var(--text-muted);font-style:italic}.tree-item-wrapper{position:relative;display:flex;align-items:stretch;border-bottom:1px solid var(--bg-input)}.tree-item-wrapper>button:not(.tree-item){background-color:var(--bg-modal);border:none;border-radius:0}.tree-item-wrapper>button:not(.tree-item):hover{background-color:var(--bg-secondary)}.tree-action-edit svg,.tree-action-copy svg,.tree-action-delete svg{stroke:var(--text-muted)}.tree-item-wrapper:hover .tree-action-edit svg{stroke:#ffca28}.tree-item-wrapper:hover .tree-action-copy svg{stroke:#66bb6a}.tree-item-wrapper:hover .tree-action-delete svg{stroke:#ef5350}.tree-item{flex:1;display:block;padding:12px 16px;text-align:left;background:var(--bg-modal);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.tree-item:hover{background-color:var(--bg-secondary)}.tree-item.highlighted{background-color:var(--bg-secondary);border-left:3px solid var(--text-link);padding-left:13px}.tree-item.active{font-weight:var(--font-weight-semibold)}.tree-item-content{display:flex;flex-direction:column}.tree-item-delete{padding:0 12px;background:var(--bg-modal);border:none;border-left:1px solid var(--border-light);cursor:pointer;font-size:var(--font-size-md);color:var(--text-muted);transition:all var(--transition-normal);opacity:.5}.tree-item-wrapper:hover .tree-item-delete{opacity:1}.tree-item-delete:hover{background:var(--bg-error-light)!important;color:var(--text-error)!important}.tree-item-name{display:flex;align-items:center;gap:4px;font-weight:var(--font-weight-medium) color: var(--text-primary);margin-bottom:4px;font-size:var(--font-size-base)}.tree-item-count{font-weight:var(--font-weight-normal) color: var(--text-muted);font-size:var(--font-size-base)}.tree-item-description{display:block;font-size:var(--font-size-sm);color:var(--text-muted)}.tree-selector-footer{padding:1rem 1.5rem;background:var(--bg-modal);border-top:1px solid var(--border-light);border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:var(--shadow-md)}.create-tree-button{width:100%;padding:10px;background:var(--bg-button);color:var(--text-inverse);border:none;border-radius:6px;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) transition: background .2s}.create-tree-button:hover{background:var(--bg-button-hover)}.tree-list::-webkit-scrollbar{width:6px}.tree-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.tree-list::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.tree-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.people-finder{position:relative}.people-finder-toggle{background-color:var(--bg-button);color:var(--text-inverse);border:none;padding:.5rem 1rem;border-radius:4px;font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-sm);height:36px}.people-finder-toggle:hover{background-color:var(--bg-button-hover)}.people-finder-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:350px;background:var(--bg-modal);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1002;display:flex;flex-direction:column;max-height:500px;animation:slideDown .2s ease}.people-finder-header{padding:12px 16px;background-color:var(--bg-header);border-bottom:1px solid var(--border-medium);font-size:var(--font-size-base);color:var(--text-secondary);border-top-left-radius:8px;border-top-right-radius:8px}.people-finder-header strong{color:var(--text-primary)}.people-finder-search{padding:12px;border-bottom:1px solid var(--border-medium)}.people-finder-search input{width:100%;padding:8px 12px;border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-base);outline:none;background-color:var(--bg-input);color:var(--text-primary)}.people-finder-search input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.people-finder-list{flex:1;overflow-y:auto;max-height:380px}.person-item{margin:0;padding:6px 16px;cursor:pointer;border-bottom:1px solid var(--border-medium);transition:background-color var(--transition-fast);display:flex;align-items:center;justify-content:space-between;gap:8px}.person-item-name{font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:0;font-size:var(--font-size-base);line-height:var(--line-height-tight)}.fzf-highlight{background-color:#ffd54f4d;color:inherit;padding:0 1px;font-weight:var(--font-weight-medium);border-radius:1px}.person-item-info{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-tight)}.person-item-duplicate-badge{flex-shrink:0;width:20px;height:20px;border-radius:50%;background-color:var(--text-warning);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold) border: 2px solid var(--bg-modal);box-shadow:var(--shadow-sm)}.people-finder-footer{padding:8px 16px;background-color:var(--bg-header);border-top:1px solid var(--border-medium);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.people-finder-list::-webkit-scrollbar{width:6px}.people-finder-list::-webkit-scrollbar-track{background:var(--bg-input)}.people-finder-list::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.people-finder-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 768px){.people-finder-dropdown{width:300px;max-height:400px}.people-finder-list{max-height:280px}}.hamburger-menu{position:relative;display:inline-block}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-sm);padding:.5rem .75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-inverse);cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-base);min-height:36px}.user-menu-trigger:hover{background:#ffffff26;border-color:#ffffff4d}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--icon-male);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.user-name{font-weight:var(--font-weight-medium);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-arrow{font-size:var(--font-size-sm);transition:transform .2s ease;opacity:.7}.user-menu-arrow.open{transform:rotate(180deg)}.user-menu-header-content{display:flex;align-items:center;gap:var(--spacing-md)}.user-menu-avatar-large{width:40px;height:40px;border-radius:50%;background:var(--icon-male);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl);flex-shrink:0}.user-menu-info{flex:1;min-width:0}.user-menu-username{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-role{display:flex;align-items:center;gap:.35rem;font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.user-menu-role-icon{font-size:var(--font-size-base)}.context-indicator{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-inverse);white-space:nowrap;overflow:hidden;padding:.5rem 1rem;background:#ffffff1a;border-radius:6px;margin-left:1rem}.context-prefix{color:#ffffffb3;font-weight:var(--font-weight-normal)}.context-label,.context-name{color:var(--text-inverse);font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}.context-status-badge{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}@media (max-width: 768px){.context-indicator{font-size:.8125rem;gap:.375rem}.context-status-badge{width:6px;height:6px}}@media (max-width: 480px){.context-indicator{max-width:120px}}.gedcom-export{padding:20px}.gedcom-export-form,.gedcom-form-content{display:flex;flex-direction:column;gap:20px}.gedcom-export h2{margin:0 0 10px;color:var(--text-primary);font-size:var(--font-size-2xl)}.export-description{margin:0 0 20px;color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;transition:all var(--transition-normal)}.radio-label:hover{background:var(--bg-secondary);border-color:var(--border-focus)}.radio-label:has(input[type=radio]:checked){background:var(--bg-input);border:2px solid var(--border-focus);box-shadow:0 0 0 1px #3498db1a}.radio-label input[type=radio]{cursor:pointer}.radio-label span{flex:1;color:var(--text-primary);font-size:var(--font-size-base)}.form-group select{padding:10px;border:1px solid var(--border-input);border-radius:4px;background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base)}.form-group select:focus{outline:none;border-color:var(--border-focus)}.gedcom-export-complete{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--bg-button-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold) margin-bottom: 20px}.gedcom-export-complete h2{margin:0 0 20px;color:var(--text-primary)}.export-stats{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:20px;margin-bottom:20px;width:100%}.export-stats p{margin:8px 0;color:var(--text-primary);font-size:var(--font-size-base)}.export-stats strong{color:var(--text-link);font-size:var(--font-size-lg)}.filename{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.filename code{background:var(--bg-primary);padding:4px 8px;border-radius:3px;font-family:monospace;font-size:var(--font-size-base);color:var(--text-link)}.success-message{color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:400px}.person-selector{position:relative}.person-selector-input{width:100%;padding:10px;border:1px solid var(--border-input);border-radius:4px;background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base)}.person-selector-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #3498db1a}.person-selector-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-2xl);line-height:var(--line-height-none);cursor:pointer;padding:0 5px;transition:color .2s}.person-selector-clear:hover{color:var(--text-primary)}.person-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-modal);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;display:flex;flex-direction:column;max-height:400px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.person-selector-list{flex:1;overflow-y:auto;max-height:350px}.person-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-medium);transition:background-color var(--transition-fast);display:flex;align-items:center;justify-content:space-between;gap:8px}.person-item:hover{background-color:var(--bg-secondary)}.person-item.highlighted{background-color:var(--bg-input);border-left:3px solid var(--border-focus);padding-left:13px}.person-item:last-child{border-bottom:none}.person-item-content{flex:1;min-width:0}.person-item-name{font-weight:var(--font-weight-medium) color: var(--text-primary);margin-bottom:4px;font-size:var(--font-size-base)}.person-item-info{font-size:var(--font-size-sm);color:var(--text-secondary)}.person-item-info .no-dates{font-style:italic;color:var(--text-tertiary)}.no-results{padding:32px;text-align:center;color:var(--text-tertiary);font-style:italic}.person-selector-footer{padding:8px 16px;background-color:var(--bg-header);border-top:1px solid var(--border-medium);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.person-selector-list::-webkit-scrollbar{width:6px}.person-selector-list::-webkit-scrollbar-track{background:var(--bg-input)}.person-selector-list::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.person-selector-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.legend-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.legend-section{margin-bottom:8px}.legend-section h4{margin:0 0 4px;color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.legend-section-subtitle{margin:8px 0 3px;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.legend-item{display:flex;align-items:flex-start;margin-bottom:4px;gap:8px}.legend-icon{flex-shrink:0;width:50px;display:flex;align-items:center;justify-content:center;padding:2px 0}.legend-description{flex:1}.legend-description strong{display:block;color:var(--text-primary);margin-bottom:2px;font-size:var(--font-size-base)}.legend-description p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.3}.checkmark{display:inline-block;width:30px;height:30px;background:var(--text-success);color:var(--text-inverse);border-radius:50%;text-align:center;line-height:30px;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.person-card-example{padding:4px 12px;border-radius:4px;font-size:var(--font-size-sm);text-align:center;border:2px solid}.person-card-example.living{background:var(--tree-node-living);border-color:var(--text-success);color:var(--text-inverse)}.person-card-example.deceased{background:var(--bg-input);border-color:var(--border-medium);color:var(--text-secondary)}.badge-example{display:inline-block;background:var(--text-link);color:var(--text-inverse);padding:4px 10px;border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold) min-width: 24px;text-align:center}.badge-example.red{background:var(--text-error)}.badge-example.orange{background:var(--text-warning)}kbd{display:inline-block;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:4px;font-family:monospace;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);box-shadow:0 2px 2px #0000001a}.shortcuts-table{width:auto;border-collapse:collapse}.shortcuts-table td{padding:3px 6px;font-size:var(--font-size-sm);color:var(--text-primary);vertical-align:middle}.shortcuts-table td:nth-child(odd){text-align:right;padding-right:8px;white-space:nowrap}.shortcuts-table td:nth-child(2n){text-align:left;padding-right:12px}@media (max-width: 1024px){.legend-grid{grid-template-columns:1fr;gap:20px}}.screenshot-preview{margin-bottom:20px;border:2px solid var(--border-medium);border-radius:8px;overflow:hidden;background:var(--bg-input)}.screenshot-preview img{width:100%;height:auto;display:block}.feedback-section{margin-bottom:20px}.feedback-section label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:var(--font-weight-medium) font-size: var(--font-size-base)}.feedback-section textarea{width:100%;padding:12px;border:2px solid var(--border-medium);border-radius:6px;font-family:inherit;font-size:var(--font-size-base);resize:vertical;transition:border-color .2s ease}.feedback-section textarea:focus{outline:none;border-color:var(--text-link)}.capture-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.capture-info{background:var(--bg-input);border-left:4px solid var(--text-link);padding:16px;border-radius:4px}.capture-info p{margin:0 0 8px;color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.capture-info p:last-child{margin-bottom:0}.capture-info strong{color:var(--text-primary)}@media (max-width: 768px){.capture-actions{flex-direction:column}}.orphaned-people{display:flex;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-lg);max-height:70vh;overflow-y:auto}.orphaned-people-header h2{margin:0 0 .5rem;color:var(--text-primary);font-size:var(--font-size-2xl)}.orphaned-people-description{margin:0;color:var(--text-secondary);line-height:var(--line-height-normal)}.connection-instructions{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:8px}.connection-instructions strong{color:var(--text-primary)}.connection-instructions ul{margin:.5rem 0 0;padding-left:1.5rem}.connection-instructions li{margin:.5rem 0;color:var(--text-secondary);line-height:var(--line-height-normal)}.loading-message{text-align:center;color:var(--text-muted);padding:var(--spacing-2xl);font-style:italic}.no-orphans{text-align:center;padding:var(--spacing-2xl);background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:8px}.no-orphans p{margin:0 0 .5rem;color:var(--text-primary)}.no-orphans .hint{color:var(--text-muted);font-size:var(--font-size-base)}.orphans-count{margin:0 0 1rem;color:var(--text-secondary);font-weight:var(--font-weight-medium) font-size: var(--font-size-base)}.orphans-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.orphan-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:8px;transition:all var(--transition-normal)}.orphan-item:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm)}.orphan-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.orphan-name{font-weight:var(--font-weight-semibold) font-size: var(--font-size-md);color:var(--text-primary)}.orphan-details{font-size:var(--font-size-base);color:var(--text-secondary)}.orphan-details span{display:inline}.advanced-filter-content{display:flex;flex-direction:column;height:100%;min-height:0}.filter-header{padding:0 1.5rem 1rem;border-bottom:1px solid var(--border-light);background-color:var(--bg-primary)}.filter-description{margin:0 0 .5rem;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.active-filters-count{margin:0;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.filter-section{padding:1.5rem}.filter-section h3{margin:0 0 .5rem;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.filter-section h3:not(:first-child){margin-top:2rem}.field-hint{margin:0 0 1rem;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.date-range-inputs,.age-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.filter-section .form-group{margin-bottom:var(--spacing-lg)}.filter-section .form-group:last-child{margin-bottom:0}.filter-section label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.filter-section input[type=text],.filter-section input[type=number]{width:100%;padding:.5rem .75rem;background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s}.filter-section input[type=text]:disabled,.filter-section input[type=number]:disabled{background-color:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.filter-section input[type=text]::placeholder,.filter-section input[type=number]::placeholder{color:var(--text-secondary)}.filter-section input[type=number]::-webkit-inner-spin-button,.filter-section input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.filter-section input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.checkbox-label span{color:var(--text-primary);font-size:var(--font-size-base)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:1rem 1.5rem;border-top:1px solid var(--border-light);background-color:var(--bg-primary)}.filter-section::-webkit-scrollbar{width:8px}.filter-section::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.filter-section::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.filter-section::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}@media (max-width: 768px){.date-range-inputs,.age-range-inputs{grid-template-columns:1fr}.filter-header{padding:0 1rem 1rem}.filter-section{padding:1rem}.modal-footer{padding:1rem;flex-wrap:wrap}.modal-footer button{flex:1 1 auto;min-width:120px}}.login-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-md);animation:fadeIn .2s ease-in}.login-container{position:relative;display:grid;grid-template-columns:45% 55%;width:100%;max-width:1000px;height:auto;max-height:90vh;background-color:var(--bg-modal);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.login-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:8px;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.login-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.login-branding{background:var(--bg-secondary);padding:var(--spacing-3xl);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-right:1px solid var(--border-light)}.login-branding-content{position:relative;z-index:1;text-align:center}.login-brand-title{font-size:2.5rem;font-weight:var(--font-weight-bold);margin:var(--spacing-lg) 0;color:var(--text-primary);line-height:1.2}.login-brand-tagline{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.6;max-width:320px;margin:0 auto}.login-form-section{padding:var(--spacing-3xl);display:flex;align-items:center;justify-content:center;overflow-y:auto}.login-form-content{width:100%;max-width:400px}.login-form-title{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.login-form-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-2xl)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.login-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:.025em}.login-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);background-color:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-input);border-radius:8px;transition:all var(--transition-normal);outline:none}.login-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-input::placeholder{color:var(--text-muted)}.password-input-wrapper .login-input{padding-right:48px}.login-submit-btn{margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:8px;height:48px}.demo-credentials{padding:var(--spacing-md);background-color:var(--bg-secondary);border-left:3px solid #2196f3;border-radius:6px;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.demo-credentials strong{color:var(--text-primary);display:inline-block;margin-right:var(--spacing-xs)}.demo-credentials code{background-color:var(--bg-primary);padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-sm);color:#2196f3;font-weight:var(--font-weight-semibold)}.login-footer{text-align:center;color:var(--text-secondary);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.login-link-button{background:none;border:none;color:var(--text-link);cursor:pointer;font-size:inherit;font-weight:var(--font-weight-semibold);padding:0;text-decoration:none;transition:color var(--transition-normal)}.login-link-button:hover{color:var(--text-primary);text-decoration:underline}.login-link-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 900px){.login-container{grid-template-columns:1fr;max-width:500px}.login-branding{display:none}.login-form-section{padding:var(--spacing-2xl) var(--spacing-xl)}}@media (max-width: 600px){.login-overlay{padding:0}.login-container{max-width:100%;max-height:100vh;border-radius:0}.login-form-section{padding:var(--spacing-xl) var(--spacing-lg)}.login-form-title{font-size:1.75rem}.login-close-btn{top:var(--spacing-sm);right:var(--spacing-sm)}}.password-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.forgot-password-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:var(--color-primary-hover);text-decoration:underline}.forgot-password-link:disabled{opacity:.5;cursor:not-allowed}.register-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-md);animation:fadeIn .2s ease-in}.register-container{position:relative;display:grid;grid-template-columns:45% 55%;width:100%;max-width:1000px;height:auto;max-height:90vh;background-color:var(--bg-modal);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.register-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:8px;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.register-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.register-branding{background:var(--bg-secondary);padding:var(--spacing-3xl);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-right:1px solid var(--border-light)}.register-branding-content{position:relative;z-index:1;text-align:center}.register-brand-title{font-size:2.5rem;font-weight:var(--font-weight-bold);margin:var(--spacing-lg) 0;color:var(--text-primary);line-height:1.2}.brand-red{color:var(--text-error)}.register-brand-tagline{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.6;max-width:320px;margin:0 auto}.register-form-section{padding:var(--spacing-3xl);display:flex;align-items:center;justify-content:center;overflow-y:auto}.register-form-content{width:100%;max-width:400px}.register-form-title{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.register-form-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-2xl)}.register-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.register-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.register-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:.025em}.register-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);background-color:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-input);border-radius:8px;transition:all var(--transition-normal);outline:none}.register-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #1976d21a}.register-input:disabled{opacity:.6;cursor:not-allowed}.register-input::placeholder{color:var(--text-muted)}.password-input-wrapper .register-input{padding-right:48px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--transition-normal)}.password-toggle-btn:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.password-toggle-btn:focus{outline:2px solid var(--border-focus);outline-offset:2px}.form-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:-4px}.register-submit-btn{margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:8px;height:48px}.register-footer{text-align:center;color:var(--text-secondary);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.register-link-button{background:none;border:none;color:var(--text-link);cursor:pointer;font-size:inherit;font-weight:var(--font-weight-semibold);padding:0;text-decoration:none;transition:color var(--transition-normal)}.register-link-button:hover{color:var(--text-primary);text-decoration:underline}.register-link-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 900px){.register-container{grid-template-columns:1fr;max-width:500px}.register-branding{display:none}.register-form-section{padding:var(--spacing-2xl) var(--spacing-xl)}}@media (max-width: 600px){.register-overlay{padding:0}.register-container{max-width:100%;max-height:100vh;border-radius:0}.register-form-section{padding:var(--spacing-xl) var(--spacing-lg)}.register-form-title{font-size:1.75rem}.register-close-btn{top:var(--spacing-sm);right:var(--spacing-sm)}}.forgot-password-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-md);animation:fadeIn .2s ease-in}.forgot-password-container{position:relative;display:grid;grid-template-columns:45% 55%;width:100%;max-width:1000px;height:auto;max-height:90vh;background-color:var(--bg-modal);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.forgot-password-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:8px;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.forgot-password-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.forgot-password-branding{background:var(--bg-secondary);padding:var(--spacing-3xl);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-right:1px solid var(--border-light)}.forgot-password-branding-content{position:relative;z-index:1;text-align:center}.forgot-password-brand-title{font-size:2.5rem;font-weight:var(--font-weight-bold);margin:var(--spacing-lg) 0;color:var(--text-primary);line-height:1.2}.forgot-password-brand-tagline{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.6;max-width:320px;margin:0 auto}.forgot-password-form-section{padding:var(--spacing-3xl);display:flex;align-items:center;justify-content:center;overflow-y:auto}.forgot-password-form-content{width:100%;max-width:400px}.forgot-password-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.forgot-password-form-title{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs);text-align:center}.forgot-password-form-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-2xl);text-align:center;line-height:1.6}.forgot-password-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forgot-password-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.forgot-password-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:.025em}.forgot-password-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);background-color:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-input);border-radius:8px;transition:all var(--transition-normal);outline:none}.forgot-password-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.forgot-password-input:disabled{opacity:.6;cursor:not-allowed}.forgot-password-input::placeholder{color:var(--text-muted)}.forgot-password-submit-btn{margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:8px;height:48px}.forgot-password-footer{text-align:center;color:var(--text-secondary);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.forgot-password-link-button{background:none;border:none;color:var(--text-link);cursor:pointer;font-size:inherit;font-weight:var(--font-weight-semibold);padding:0;text-decoration:none;transition:color var(--transition-normal)}.forgot-password-link-button:hover{color:var(--text-primary);text-decoration:underline}.forgot-password-link-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-success{text-align:center;display:flex;flex-direction:column;gap:var(--spacing-lg)}.forgot-password-success .success-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.forgot-password-success-message{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.6;margin-bottom:var(--spacing-md)}.forgot-password-success-note{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}@media (max-width: 900px){.forgot-password-container{grid-template-columns:1fr;max-width:500px}.forgot-password-branding{display:none}.forgot-password-form-section{padding:var(--spacing-2xl) var(--spacing-xl)}}@media (max-width: 600px){.forgot-password-overlay{padding:0}.forgot-password-container{max-width:100%;max-height:100vh;border-radius:0}.forgot-password-form-section{padding:var(--spacing-xl) var(--spacing-lg)}.forgot-password-form-title{font-size:1.75rem}.forgot-password-close-btn{top:var(--spacing-sm);right:var(--spacing-sm)}}.tree-members{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-xl)}.tree-members-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.tree-members-tree-name{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold) color: var(--text-primary)}.tree-members-tree-icon{font-size:var(--font-size-xl)}.tree-members-add-form{padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light)}.tree-members-add-form-fields{display:flex;gap:var(--spacing-sm);align-items:center}.tree-members-input{flex:1;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-size:var(--font-size-base)}.tree-members-input:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input)}.tree-members-input:-webkit-autofill,.tree-members-input:-webkit-autofill:hover,.tree-members-input:-webkit-autofill:focus,.tree-members-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;transition:background-color 5000s ease-in-out 0s}.tree-members-select{padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer}.tree-members-select:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input)}.tree-members-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.tree-members-loading,.tree-members-empty{padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary)}.tree-member-card{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;transition:border-color .2s ease}.tree-member-card:hover{border-color:var(--border-medium)}.tree-member-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-button);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold) font-size: var(--font-size-lg);flex-shrink:0}.tree-member-info{flex:1;min-width:0}.tree-member-name{font-weight:var(--font-weight-semibold) color: var(--text-primary);font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--spacing-sm)}.tree-member-badge{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium) color: var(--text-secondary)}.tree-member-email{font-size:var(--font-size-base);color:var(--text-secondary);margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-member-role{flex-shrink:0}.tree-member-role-select{padding:.4rem .6rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;min-width:120px}.tree-member-role-select:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input)}.tree-member-role-select:disabled{opacity:.5;cursor:not-allowed}.tree-member-role-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium) color: var(--text-primary)}.tree-member-role-icon{font-size:var(--font-size-md);display:inline-flex;align-items:center}.tree-member-role-badge:has(.tree-member-role-icon svg){display:inline-flex;align-items:center;gap:.5rem}.tree-member-card .tree-member-role-icon svg,.tree-invitation-card .tree-invitation-role-icon svg{color:var(--role-owner)}.tree-members-add-section{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.tree-members-add-tabs{display:flex;border-bottom:1px solid var(--border-light)}.tree-members-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-primary);border:none;border-right:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.tree-members-tab:last-child{border-right:none}.tree-members-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.tree-members-tab.active{background:var(--bg-secondary);color:var(--text-primary);font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--text-link)}.tree-members-add-form{padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:0;border:none}.tree-members-invitations{padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px}.tree-members-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.tree-members-invitation-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tree-invitation-card{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;transition:border-color .2s ease}.tree-invitation-card:hover{border-color:var(--border-medium)}.tree-invitation-info{flex:1;min-width:0}.tree-invitation-email{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-invitation-details{display:flex;align-items:center;gap:var(--spacing-md);margin-top:.25rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.tree-invitation-role{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .5rem;background:var(--bg-secondary);border-radius:4px;font-weight:var(--font-weight-medium)}.tree-invitation-role-icon{display:inline-flex;align-items:center}.tree-invitation-expires{color:var(--text-muted)}.tree-members-search-filter{display:flex;gap:var(--spacing-md);align-items:center}.tree-members-search{flex:1}.tree-members-search-wrapper{position:relative;display:flex;align-items:center;gap:var(--spacing-sm);padding:.5rem .75rem;background:transparent;border:none;border-radius:0}.tree-members-search-icon{color:var(--text-secondary);flex-shrink:0}.tree-members-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-base)}.tree-members-search-input::placeholder{color:var(--text-muted)}.tree-members-search-clear{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.tree-members-search-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.tree-members-filter{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px 12px;background:var(--bg-secondary);border-radius:6px;flex-shrink:0}.tree-members-filter-select{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;min-width:100px}.tree-members-count{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-radius:6px;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);text-align:center}.account-settings{display:flex;flex-direction:column;height:100%}.account-settings-tabs{display:flex;gap:var(--spacing-sm);border-bottom:2px solid var(--border-light);margin:-1.5rem -1.5rem 1.5rem;padding:0 1.5rem;flex-shrink:0}.account-settings-tab{padding:.75rem 1.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium) cursor: pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-normal)}.account-settings-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.account-settings-tab.active{color:var(--text-primary);border-bottom-color:var(--bg-button)}.account-settings-content{flex:1}.account-settings-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold) color: var(--text-primary);margin:0 0 1.5rem}.account-settings-info{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:var(--spacing-2xl)}.account-settings-info-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.account-settings-info-item label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold) color: var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.account-settings-value{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-size:var(--font-size-base)}.account-settings-coming-soon{padding:var(--spacing-2xl);text-align:center;background:var(--bg-secondary);border:1px dashed var(--border-medium);border-radius:8px}.account-settings-coming-soon p{margin:0;color:var(--text-primary);font-size:var(--font-size-md)}.account-settings-coming-soon-detail{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-base)}.preferences-group{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.geocoding-provider-selector{display:flex;flex-direction:column;gap:var(--spacing-md)}.geocoding-provider-selector label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium) color: var(--text-primary)}.geocoding-provider-selector select{padding:.6rem;background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input);border-radius:6px;font-size:var(--font-size-base);cursor:pointer;transition:border-color .2s ease}.geocoding-provider-selector select:focus{outline:none;border-color:var(--border-focus)}.geocoding-provider-status{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px}.provider-status-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);line-height:var(--line-height-tight)}.status-indicator{font-size:var(--font-size-sm);line-height:var(--line-height-none)}.status-indicator.available{opacity:1}.status-indicator.unavailable{opacity:.7}.provider-name{font-weight:var(--font-weight-semibold) color: var(--text-primary);min-width:80px}.provider-description{color:var(--text-secondary);flex:1}.provider-error{color:var(--text-error);font-style:italic}.field-hint{font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-tight)}.landing-page{display:flex;flex-direction:column;align-items:center;padding:20px 24px;width:100%;max-width:100%;margin:0 auto;height:100%;overflow-y:auto}.landing-hero{text-align:center;margin-bottom:20px;max-width:600px}.landing-hero-icon{margin-bottom:8px;color:#66bb6a;display:flex;justify-content:center}.landing-hero h1{margin:0 0 4px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.landing-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.landing-getting-started{width:100%;max-width:1200px;margin-bottom:16px}.landing-getting-started h2{text-align:center;margin:0 0 4px;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.landing-getting-started-subtitle{text-align:center;margin:0 0 12px;font-size:var(--font-size-xs);color:var(--text-secondary)}.landing-action-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-action-card{padding:16px;background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease}.landing-action-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.landing-action-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:8px;margin-bottom:8px;color:#66bb6a}.landing-action-card h3{margin:0 0 6px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.landing-action-card p{margin:0 0 12px;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal);flex:1}.landing-help-section{width:100%;max-width:1200px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:10px;display:flex;gap:10px}.landing-help-icon{flex-shrink:0;color:#64b5f6}.landing-help-content h3{margin:0 0 6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.landing-help-content ul{margin:0;padding-left:18px;list-style-type:disc}.landing-help-content li{margin-bottom:4px;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal)}.landing-help-content li:last-child{margin-bottom:0}.landing-help-content strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.landing-features{width:100%}.landing-features h2{text-align:center;margin:0 0 48px;font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%}@media (max-width: 1024px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}}.landing-feature{padding:24px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;transition:box-shadow .2s,border-color .2s}.landing-feature:hover{box-shadow:var(--shadow-md);border-color:var(--border-medium)}.landing-feature-icon{margin-bottom:16px;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--bg-primary);border-radius:12px}.landing-feature:nth-child(1) .landing-feature-icon{color:#4caf50}.landing-feature:nth-child(2) .landing-feature-icon{color:#ff9800}.landing-feature:nth-child(3) .landing-feature-icon{color:#e91e63}.landing-feature:nth-child(4) .landing-feature-icon{color:#9c27b0}.landing-feature:nth-child(5) .landing-feature-icon{color:#2196f3}.landing-feature:nth-child(6) .landing-feature-icon{color:#00bcd4}.landing-feature:nth-child(7) .landing-feature-icon{color:#ffc107}.landing-feature:nth-child(8) .landing-feature-icon{color:#9c27b0}.landing-feature:nth-child(9) .landing-feature-icon{color:#607d8b}.landing-feature h3{margin:0 0 12px;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.landing-feature p{margin:0;font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-relaxed)}@media (max-width: 1024px){.landing-action-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.landing-page{padding:16px}.landing-hero{margin-bottom:16px}.landing-hero h1{font-size:var(--font-size-xl)}.landing-subtitle{font-size:var(--font-size-xs)}.landing-getting-started h2{font-size:var(--font-size-base)}.landing-action-cards{grid-template-columns:1fr;gap:12px}.landing-action-card{padding:14px}.landing-help-section{flex-direction:column;padding:12px}.landing-features h2{font-size:var(--font-size-lg);margin-bottom:20px}.landing-features-grid{grid-template-columns:1fr;gap:16px}}.dashboard{display:flex;flex-direction:column;gap:32px}.dashboard-header{text-align:center;margin-bottom:16px}.dashboard-header h1{margin:0 0 8px;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.dashboard-subtitle{margin:0;font-size:var(--font-size-base);color:var(--text-secondary)}.dashboard-loading{padding:0}.dashboard-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px}.loading-skeleton{display:flex;flex-direction:column;gap:32px}.skeleton-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.skeleton-stat-card{height:100px;background:var(--bg-secondary);border-radius:12px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-section{display:flex;flex-direction:column;gap:16px}.skeleton-header{height:32px;width:200px;background:var(--bg-secondary);border-radius:6px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-content{height:300px;background:var(--bg-secondary);border-radius:12px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-activity{display:flex;flex-direction:column;gap:0;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.skeleton-activity-item{height:32px;border-bottom:1px solid var(--border-light);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-activity-item:last-child{border-bottom:none}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{padding:24px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light);text-align:center}.stat-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold) color: var(--text-primary);margin-bottom:8px}.stat-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium) color: var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.dashboard-section{display:flex;flex-direction:column;gap:16px}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.dashboard-section h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold) color: var(--text-primary)}.dashboard-empty{padding:48px;text-align:center;background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-medium)}.dashboard-empty p{margin:0 0 24px;color:var(--text-secondary);font-size:var(--font-size-md)}.trees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.tree-card{padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light);cursor:pointer;transition:box-shadow .2s,border-color .2s,background-color .2s}.tree-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-medium);background-color:var(--bg-primary)}body:has(.modal-overlay) .tree-card{pointer-events:none!important}body:has(.modal-overlay) .tree-card *{pointer-events:none!important}body:has(.modal-overlay) .tree-stats{visibility:visible!important;opacity:1!important;position:static!important}.tree-stats-floating,.tree-card-tooltip,.stats-tooltip{display:none!important}body:has(.modal-overlay) [style*="position: fixed"],body:has(.modal-overlay) [style*="position: absolute"]{visibility:hidden!important}.tree-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tree-emoji{font-size:var(--font-size-3xl);line-height:var(--line-height-none)}.tree-card-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold) color: var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);flex-shrink:0}.tree-description{margin:0 0 16px;font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-normal);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tree-stats{display:flex;gap:16px;margin-top:8px;font-size:var(--font-size-sm);color:var(--text-tertiary)}.tree-stat{display:flex;align-items:baseline;gap:4px}.tree-stat-value{color:var(--text-secondary)}.tree-stat-label{text-transform:lowercase}.tree-footer{margin-top:8px}.tree-last-modified{font-size:var(--font-size-xs);color:var(--text-tertiary)}.tree-completeness{display:flex;align-items:center;gap:6px;margin-top:12px;padding:6px 0;font-size:var(--font-size-sm);color:var(--text-secondary);border-top:1px solid var(--border-light)}.tree-completeness svg{color:#4caf50}.tree-recent-activity{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.tree-recent-activity-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:8px}.tree-recent-activity-item{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:var(--font-size-xs)}.tree-recent-activity-item .activity-action{font-weight:var(--font-weight-semibold);text-transform:capitalize}.tree-recent-activity-item .activity-entity-type{color:var(--text-tertiary);text-transform:capitalize}.tree-recent-activity-item .activity-entity-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.activity-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.activity-filter-select{min-width:140px}.activity-filter-select .select__control{background:var(--bg-input)!important;border-color:var(--border-input)!important;font-size:var(--font-size-sm)!important;min-height:auto!important;cursor:pointer!important;box-shadow:none!important}.activity-filter-select .select__control--is-focused{border-color:var(--border-focus)!important;outline:none!important}.activity-filter-select .select__value-container{padding:6px 12px!important}.activity-filter-select .select__single-value{font-size:var(--font-size-sm)!important;color:var(--text-primary)!important}.activity-filter-select .select__input-container{font-size:var(--font-size-sm)!important}.activity-filter-select .select__menu{background:var(--bg-input)!important;border-color:var(--border-medium)!important}.activity-filter-select .select__menu-list{background:var(--bg-input)!important}.activity-filter-select .select__option{font-size:var(--font-size-sm)!important;background:var(--bg-input)!important}.activity-filter-select .select__option--is-focused{background:var(--bg-hover)!important}.activity-filter-select .select__option--is-selected{background:var(--bg-button)!important;color:var(--text-inverse)!important}.activity-table-container{display:flex;flex-direction:column;gap:0}.activity-table-header{display:grid;grid-template-columns:80px 100px 120px 200px 1fr 120px;gap:12px;padding:8px 12px;background:var(--bg-header);border:1px solid var(--border-light);border-bottom:none;border-radius:8px 8px 0 0;font-family:var(--font-family-monospace);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-inverse);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:0}.activity-header-time,.activity-header-action,.activity-header-type,.activity-header-tree,.activity-header-description,.activity-header-user{text-align:left}.activity-list{display:flex;flex-direction:column;gap:0;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:0 0 8px 8px;border-top:none;overflow:hidden;font-family:var(--font-family-monospace);margin-top:0}.activity-item{display:grid;grid-template-columns:80px 100px 120px 200px 1fr 120px;gap:12px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--border-light);transition:background .15s;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.activity-item:last-child{border-bottom:none}.activity-item-clickable{cursor:pointer}.activity-item-clickable:hover{background:var(--bg-primary)}.activity-timestamp{color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.activity-action{display:flex;align-items:center;gap:6px;font-weight:var(--font-weight-semibold);text-transform:capitalize}.activity-icon{display:flex;align-items:center;opacity:.7}.activity-entity-type{display:flex;align-items:center;gap:6px;color:var(--text-secondary);text-transform:capitalize}.activity-entity-icon{display:flex;align-items:center;opacity:.7}.activity-tree{color:var(--text-secondary);font-weight:var(--font-weight-medium);padding:2px 8px;background:var(--bg-primary);border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.activity-tree-emoji{font-size:var(--font-size-md);line-height:var(--line-height-none)}.activity-description{margin:0;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-action-create{color:#4caf50}.activity-action-edit{color:#2196f3}.activity-action-delete{color:#f44336}.activity-action-merge{color:#9c27b0}.activity-action-import,.activity-action-export{color:#ff9800}.activity-metadata{color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.activity-user{color:var(--text-secondary);font-style:normal;font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-load-more{margin-top:16px;text-align:center}.activity-empty{padding:48px;text-align:center;background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--border-medium)}.activity-empty p{margin:0 0 8px;color:var(--text-secondary);font-size:var(--font-size-md)}.activity-empty-hint{color:var(--text-tertiary);font-size:var(--font-size-sm)}@media (max-width: 768px){.dashboard{gap:24px}.dashboard-stats,.trees-grid{grid-template-columns:1fr}.tree-stats{gap:16px}}.dashboard-page{min-height:100vh;height:100%;background:var(--bg-page);padding:var(--spacing-lg) var(--spacing-xl);margin:0 auto;overflow-y:auto;overflow-x:hidden}.dashboard-page-header{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}.dashboard-page-header h1{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold) color: var(--text-primary)}.dashboard-page-subtitle{margin:0;font-size:var(--font-size-md);color:var(--text-secondary)}@media (max-width: 768px){.dashboard-page{padding:var(--spacing-lg)}.dashboard-page-header h1{font-size:var(--font-size-2xl)}}.source-detail-modal{display:flex;flex-direction:column;gap:var(--spacing-lg)}.source-detail-content{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:60vh;overflow-y:auto}.source-detail-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.source-detail-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.source-detail-value{font-size:var(--font-size-base);color:var(--text-primary);padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:4px;min-height:36px;display:flex;align-items:center}.source-detail-value.source-detail-text{white-space:pre-wrap;align-items:flex-start;min-height:unset;padding:var(--spacing-md)}.source-detail-link{font-size:var(--font-size-base);color:var(--border-focus);padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:4px;text-decoration:none;transition:color .2s;word-break:break-all}.source-detail-link:hover{color:var(--text-primary);text-decoration:underline}.citations-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:4px;max-height:300px;overflow-y:auto}.citation-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;transition:border-color .2s}.citation-item:hover{border-color:var(--border-focus)}.citation-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.citation-page{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic}.citation-text{font-size:var(--font-size-sm);color:var(--text-primary);white-space:pre-wrap;padding:var(--spacing-xs);background-color:var(--bg-secondary);border-radius:4px}@media (max-width: 768px){.source-detail-content{max-height:50vh}.citations-list{max-height:200px}}.source-library-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.source-card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);cursor:pointer;transition:all .2s;outline:none}.source-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.source-card:focus-visible{outline:2px solid var(--border-medium);outline-offset:2px}.source-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.source-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.source-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1}.source-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.source-card-body{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);min-height:80px}.source-detail{font-size:var(--font-size-sm);color:var(--text-secondary)}.source-detail strong{font-weight:var(--font-weight-medium);color:var(--text-primary)}.source-url{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--text-link);text-decoration:none;transition:color .2s}.source-url:hover{color:var(--text-primary);text-decoration:underline}.source-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-sm);border-top:1px solid var(--border-light)}.citation-count{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}@media (max-width: 768px){.source-library-page{padding:var(--spacing-md)}.sources-grid{grid-template-columns:1fr}}.command-palette-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.command-palette-container{background:var(--bg-modal);border:1px solid var(--border-medium);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:640px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideDown .2s ease-out;margin:20px}.command-palette-command{display:flex;flex-direction:column;height:100%}@keyframes slideDown{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.command-palette-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-light);background:var(--bg-primary)}.command-palette-input{flex:1;border:none;background:transparent;outline:none;font-size:16px;color:var(--text-primary);font-family:inherit}.command-palette-input::placeholder{color:var(--text-tertiary)}.command-palette-back{padding:4px 12px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.command-palette-back:hover{background:var(--bg-hover);border-color:var(--border-medium)}.command-palette-list{overflow-y:auto;max-height:calc(80vh - 80px);padding:8px}.command-palette-container [cmdk-group]{margin-bottom:12px}.command-palette-container [cmdk-group]:last-child{margin-bottom:0}.command-palette-container [cmdk-group-heading]{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-radius:6px;margin-bottom:4px}.command-palette-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .15s;color:var(--text-primary);font-size:14px}.command-palette-item:hover{background:var(--bg-hover)}.command-palette-item[aria-selected=true],.command-palette-item[data-selected=true]{background:#3b82f626;border-left:3px solid var(--color-primary);padding-left:9px}.command-palette-item-active{background:#22c55e14;font-weight:500}.command-palette-item-active .command-hint{color:#22c55ee6;font-weight:600}.command-icon{font-size:18px;flex-shrink:0}.command-hint{margin-left:auto;font-size:12px;color:var(--text-tertiary)}.command-submenu-chevron{margin-left:8px;margin-right:4px;font-size:18px;font-weight:700;color:var(--text-secondary);opacity:.8}.command-value-badge{padding:3px 10px;background:linear-gradient(135deg,#3b82f61f,#8b5cf61f);border:1px solid rgba(139,92,246,.3);border-radius:6px;font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;margin-left:8px}.command-shortcut{margin-left:auto;padding:2px 6px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;font-size:11px;font-weight:600;color:var(--text-secondary);font-family:monospace}.command-palette-empty{padding:32px 16px;text-align:center;color:var(--text-tertiary);font-size:14px}.command-palette-hint-item{opacity:.7;font-style:italic;cursor:default!important;pointer-events:none}.command-palette-hint-item:hover{background:transparent!important}.command-palette-hint-item[aria-selected=true],.command-palette-hint-item[data-selected=true]{background:transparent!important;border-left:none!important;padding-left:12px!important}.command-palette-list::-webkit-scrollbar{width:8px}.command-palette-list::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.command-palette-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.command-palette-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app{height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--bg-header);color:var(--text-inverse);padding:1rem 2rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;box-shadow:var(--shadow-sm);gap:var(--spacing-lg);position:sticky;top:0;z-index:1002}.app-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.header-center{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.tree-stats-header{display:flex;align-items:center;background:var(--bg-secondary);color:var(--text-primary);padding:6px 12px;border-radius:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;border:1px solid var(--border-medium)}.header-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.header-actions button{background-color:var(--bg-button);color:var(--text-inverse);border:none;padding:.5rem 1rem;border-radius:4px;font-size:var(--font-size-base);transition:background-color var(--transition-normal);height:36px;display:flex;align-items:center;justify-content:center}.header-actions button:hover{background-color:var(--bg-button-hover)}.header-actions .icon-button{background-color:transparent;border:2px solid rgba(255,255,255,.3);border-radius:50%;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);transition:all var(--transition-normal)}.header-actions .icon-button:hover{background-color:#ffffff1a;border-color:#fff9;transform:scale(1.05)}.app-content{flex:1;display:flex;overflow:hidden}.tree-container{flex:1;overflow:hidden;background-color:var(--tree-bg);position:relative}.add-person-fab{position:absolute;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background-color:var(--bg-button);color:var(--text-inverse);border:none;font-size:var(--font-size-3xl);font-weight:var(--font-weight-light);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);z-index:10;pointer-events:auto;display:flex;align-items:center;justify-content:center}.add-person-fab:hover{background-color:var(--bg-button-hover);transform:scale(1.1);box-shadow:0 6px 24px #00000080}.add-person-fab:active{transform:scale(1.05)}.loading,.error,.no-data{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-size-xl);color:var(--text-tertiary)}.error{color:var(--text-error)}.login-required{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:0;background:linear-gradient(135deg,var(--bg-page) 0%,var(--bg-primary) 100%);position:relative;overflow-y:auto}.welcome-container{max-width:1200px;width:100%;padding:1.5rem 2rem 2rem;text-align:center;animation:fadeInUp .6s ease-out;position:relative;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-title{display:flex;justify-content:center;align-items:center;margin:0 0 .75rem}.welcome-title .brand-logo{max-width:360px;height:auto}.welcome-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.welcome-features{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-lg);margin-bottom:1.5rem;max-width:1000px;margin-left:auto;margin-right:auto}.welcome-feature-card{perspective:1000px;height:140px;cursor:pointer}.welcome-feature-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.welcome-feature-card.flipped .welcome-feature-card-inner{transform:rotateY(180deg)}.welcome-feature-card-front,.welcome-feature-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;transition:box-shadow .3s ease,border-color .3s ease}.welcome-feature-card:hover .welcome-feature-card-front,.welcome-feature-card:hover .welcome-feature-card-back{box-shadow:var(--shadow-md);border-color:var(--border-medium)}.welcome-feature-card-back{transform:rotateY(180deg);padding:var(--spacing-md)}.welcome-feature-card-back p{margin:0;text-align:center;color:var(--text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.welcome-feature-icon{font-size:var(--font-size-3xl);transition:transform .3s ease;display:inline-block}.welcome-feature-card:not(.flipped):hover .welcome-feature-icon{transform:rotate(15deg)}.welcome-feature-card:nth-child(1) .welcome-feature-icon{color:var(--icon-people)}.welcome-feature-card:nth-child(2) .welcome-feature-icon{color:var(--icon-heart)}.welcome-feature-card:nth-child(3) .welcome-feature-icon{color:var(--icon-upload)}.welcome-feature-card:nth-child(4) .welcome-feature-icon{color:var(--icon-merge)}.welcome-feature-card:nth-child(5) .welcome-feature-icon{color:var(--icon-shield)}.welcome-feature-card:nth-child(6) .welcome-feature-icon{color:var(--icon-tag)}.welcome-feature-card:nth-child(7) .welcome-feature-icon{color:var(--icon-map)}.welcome-feature-card:nth-child(8) .welcome-feature-icon{color:var(--icon-branch)}.welcome-feature-card:nth-child(9) .welcome-feature-icon{color:var(--icon-document)}.welcome-feature-card:nth-child(10) .welcome-feature-icon{color:var(--icon-dna)}.feature-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:center;line-height:1.3}.welcome-actions{display:flex;gap:var(--spacing-xl);justify-content:center;margin-bottom:1.75rem;flex-wrap:wrap}.welcome-actions .button{min-width:160px;height:48px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);box-shadow:0 4px 16px #00000026;transition:all .3s ease;border-radius:8px}.welcome-actions .button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0003}.welcome-actions .button:active{transform:translateY(0)}.welcome-demo{padding:1.25rem 1.5rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);max-width:900px;margin:0 auto;box-shadow:var(--shadow-sm)}.demo-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.demo-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.demo-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);width:100%;margin-top:var(--spacing-sm)}.demo-role-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:10px;transition:all .3s ease}.demo-role-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-medium)}.demo-role-icon{margin-bottom:var(--spacing-xs)}.demo-role-card:nth-child(1) .demo-role-icon{color:var(--icon-shield)}.demo-role-card:nth-child(2) .demo-role-icon{color:var(--icon-tag)}.demo-role-card:nth-child(3) .demo-role-icon{color:var(--icon-upload)}.demo-role-card:nth-child(4) .demo-role-icon{color:var(--icon-document)}.demo-role-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center}.demo-role-permissions{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;line-height:1.4;min-height:2.5rem;margin-bottom:var(--spacing-sm)}@media (max-width: 900px){.welcome-features{grid-template-columns:repeat(5,1fr);gap:var(--spacing-md)}.demo-roles{grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}}@media (max-width: 768px){.welcome-title .brand-logo{max-width:280px}.welcome-subtitle{font-size:var(--font-size-base)}.welcome-features{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.welcome-feature-card{height:120px}.demo-roles{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.welcome-demo{padding:1rem}}@media (max-width: 480px){.welcome-container{padding:1rem 1rem 1.5rem}.welcome-title .brand-logo{max-width:240px}.welcome-features,.demo-roles{grid-template-columns:1fr}.welcome-feature-card{height:110px}.welcome-actions{flex-direction:column;gap:var(--spacing-md)}.welcome-actions .button{width:100%;max-width:280px;height:44px}}.user-display{color:var(--text-inverse);font-weight:var(--font-weight-medium);padding:0 .5rem}.invitation-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page);padding:var(--spacing-xl)}.invitation-container{width:100%;max-width:600px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.invitation-header{text-align:center;margin-bottom:var(--spacing-2xl)}.invitation-header h1{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-top:var(--spacing-lg);margin-bottom:0}.invitation-card{background:var(--bg-modal);border:1px solid var(--border-light);border-radius:12px;padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.invitation-tree-info{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-xl)}.invitation-tree-details h2{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.invitation-tree-description{font-size:var(--font-size-base);color:var(--text-secondary);margin:0;line-height:1.5}.invitation-details{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.invitation-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:8px}.invitation-detail-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.invitation-detail-value{font-size:var(--font-size-base);color:var(--text-primary)}.invitation-role-badge{padding:.25rem .75rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;font-weight:var(--font-weight-medium);color:var(--text-link)}.invitation-expired{color:var(--text-error);font-weight:var(--font-weight-semibold)}.invitation-login-notice,.invitation-expired-notice{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-secondary);border-left:3px solid var(--text-link);border-radius:6px;margin-bottom:var(--spacing-lg)}.invitation-expired-notice{border-left-color:var(--text-error)}.invitation-login-notice p,.invitation-expired-notice p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.invitation-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.invitation-footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-light)}.invitation-footer p{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.invitation-link{color:var(--text-link);text-decoration:none;font-weight:var(--font-weight-semibold);transition:color var(--transition-normal)}.invitation-link:hover{color:var(--text-primary);text-decoration:underline}.invitation-loading{text-align:center;padding:var(--spacing-3xl)}.invitation-loading p{margin-top:var(--spacing-lg);font-size:var(--font-size-lg);color:var(--text-secondary)}.invitation-error-state{text-align:center;padding:var(--spacing-3xl);background:var(--bg-modal);border:1px solid var(--border-light);border-radius:12px}.invitation-error-state h1{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:var(--spacing-lg) 0 var(--spacing-sm) 0}.invitation-error-state p{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.invitation-success-state{text-align:center;padding:var(--spacing-3xl);background:var(--bg-modal);border:1px solid var(--border-light);border-radius:12px}.invitation-success-state h1{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-success);margin:var(--spacing-lg) 0 var(--spacing-sm) 0}.invitation-success-state p{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}@media (max-width: 600px){.invitation-page{padding:var(--spacing-lg)}.invitation-card{padding:var(--spacing-xl)}.invitation-header h1{font-size:1.5rem}.invitation-tree-details h2{font-size:1.25rem}.invitation-actions{flex-direction:column}}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-page) 0%,var(--bg-primary) 100%);padding:20px}.reset-password-container{background-color:var(--bg-modal);border-radius:12px;box-shadow:var(--shadow-lg);max-width:480px;width:100%;overflow:hidden}.reset-password-header{text-align:center;padding:40px 30px 30px;background:var(--bg-secondary)}.reset-password-title{margin:15px 0 0;font-size:28px;font-weight:600;color:var(--text-primary)}.brand-red{color:var(--color-error)}.reset-password-form-container{padding:40px 30px}.reset-password-icon{display:flex;justify-content:center;margin-bottom:20px}.reset-password-form-title{text-align:center;font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.reset-password-form-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:30px;font-size:14px}.reset-password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:var(--text-primary);font-size:14px}.password-input-wrapper{position:relative;display:flex;align-items:center}.reset-password-input{width:100%;padding:12px 45px 12px 15px;border:1px solid var(--border-light);border-radius:6px;font-size:15px;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.reset-password-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.reset-password-input:disabled{background-color:var(--bg-disabled);cursor:not-allowed;opacity:.6}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:5px;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle-btn:hover:not(:disabled){color:var(--text-primary)}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.4}.password-requirements{margin-top:5px}.password-requirements small{color:var(--text-secondary);font-size:13px;line-height:1.4}.reset-password-submit-btn{margin-top:10px}.reset-password-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-light)}.reset-password-link-button{background:none;border:none;color:var(--color-primary);font-size:14px;cursor:pointer;padding:8px 12px;transition:opacity .2s;font-weight:500}.reset-password-link-button:hover:not(:disabled){opacity:.8;text-decoration:underline}.reset-password-link-button:disabled{cursor:not-allowed;opacity:.5}.reset-password-success{text-align:center;padding:40px 30px}.success-icon{display:flex;justify-content:center;margin-bottom:20px;animation:successPulse .6s ease-out}@keyframes successPulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.reset-password-success-title{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:15px}.reset-password-success-message{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:20px}.reset-password-redirect-message{color:var(--color-primary);font-size:14px;font-weight:500;animation:fade 1.5s ease-in-out infinite}@keyframes fade{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 600px){.reset-password-page{padding:10px}.reset-password-container{border-radius:8px}.reset-password-header{padding:30px 20px 20px}.reset-password-title{font-size:24px}.reset-password-form-container{padding:30px 20px}.reset-password-form-title{font-size:20px}.reset-password-success{padding:30px 20px}.reset-password-success-title{font-size:20px}}.dna-privacy-education{padding:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.education-progress{background:var(--bg-primary);margin:-1.5rem -1.5rem 0;padding:1.5rem;border-bottom:1px solid var(--border-light);flex-shrink:0}.education-content{flex:1;overflow-y:auto;padding:0 1.5rem;margin:0 -1.5rem}.progress-steps{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;position:relative}.progress-steps:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:var(--border-light);z-index:0}.progress-step{position:relative;z-index:1}.step-number{width:32px;height:32px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);color:var(--text-secondary);font-size:var(--font-size-sm)}.progress-step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.progress-step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.progress-label{text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:.5rem}.education-step{min-height:300px;padding:1.5rem 0}.education-step h2{margin-top:0;margin-bottom:1rem;color:var(--text-primary);font-size:var(--font-size-xl)}.step-content{color:var(--text-primary);line-height:1.6}.step-content p{margin-bottom:.75rem}.feature-list{margin:1rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;align-items:start}.feature-item{display:flex;gap:.5rem;padding:.4rem .5rem;background:var(--bg-secondary);border-radius:6px;align-items:flex-start;cursor:default;height:fit-content}.feature-icon{font-size:16px;flex-shrink:0}.feature-item strong{display:block;margin-bottom:.1rem;color:var(--text-primary);font-size:.85rem;line-height:1.2}.feature-item p{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.2}.important-note{padding:1rem;background:var(--bg-warning-subtle);border-left:3px solid var(--color-warning);border-radius:4px;margin-top:1.5rem}.data-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}.data-column{padding:1.5rem;border-radius:8px}.data-column h3{margin-top:0;margin-bottom:1rem;font-size:var(--font-size-lg)}.data-column ul{margin:0;padding-left:1.5rem}.data-column li{margin-bottom:.5rem}.data-yes{background:var(--bg-success-subtle);border:1px solid var(--color-success)}.data-yes h3{color:var(--color-success)}.data-no{background:var(--bg-error-subtle);border:1px solid var(--color-error)}.data-no h3{color:var(--color-error)}.rights-list{margin:1rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;align-items:start}.right-item{display:flex;gap:.5rem;padding:.4rem .5rem;background:var(--bg-secondary);border-radius:6px;align-items:flex-start;cursor:default;height:fit-content}.right-icon{font-size:18px;flex-shrink:0}.right-item strong{display:block;margin-bottom:.1rem;color:var(--text-primary);font-size:.85rem;line-height:1.2}.right-item p{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.2}.security-list{margin:1rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;align-items:start}.security-item{display:flex;gap:.5rem;padding:.4rem .5rem;background:var(--bg-secondary);border-radius:6px;align-items:flex-start;cursor:default;height:fit-content}.security-icon{font-size:18px;flex-shrink:0}.security-item strong{display:block;margin-bottom:.1rem;color:var(--text-primary);font-size:.85rem;line-height:1.2}.security-item p{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.2}.reminder-section{margin-bottom:2rem}.reminder-section h3{margin-bottom:.75rem;color:var(--text-primary);font-size:var(--font-size-lg)}.reminder-section ul{margin:.5rem 0;padding-left:1.5rem}.reminder-section li{margin-bottom:.5rem}.help-link{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic}.consent-section{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-medium)}.consent-section h3{margin-top:0;margin-bottom:1rem;color:var(--text-primary);font-size:var(--font-size-lg)}.consent-section>p{margin-bottom:1rem;color:var(--text-secondary)}.consent-checkboxes{display:flex;flex-direction:column;gap:.5rem}.consent-checkbox{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.5rem .75rem;border-radius:4px;transition:background-color .2s}.consent-checkbox:hover{background:var(--bg-hover)}.consent-checkbox input[type=checkbox]{margin-top:.25rem;cursor:pointer;width:18px;height:18px;flex-shrink:0}.consent-checkbox span{flex:1;line-height:1.5;color:var(--text-primary)}.education-footer{display:flex;justify-content:space-between;align-items:center;width:100%}.footer-right{display:flex;gap:.75rem}@media (max-width: 768px){.feature-list,.data-comparison,.rights-list,.security-list{grid-template-columns:1fr}}.dna-import-modal{display:flex;flex-direction:column;gap:1.5rem}.import-section{display:flex;flex-direction:column;gap:.5rem}.import-label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.import-hint{font-size:.85rem;color:var(--text-secondary);margin:0}.file-upload-area{border:2px dashed var(--border-medium);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-secondary)}.file-upload-area:hover{border-color:var(--color-primary);background:var(--bg-hover)}.file-upload-area.drag-active{border-color:var(--color-primary);background:#6566e30d}.file-upload-area.has-file{padding:1rem;border-style:solid}.file-prompt{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:3rem;margin-bottom:.5rem}.upload-text{font-size:.95rem;color:var(--text-primary);margin:0}.upload-text strong{color:var(--color-primary)}.upload-subtext{font-size:.85rem;color:var(--text-secondary);margin:0}.file-staging-area{margin-top:1rem;border:1px solid var(--border-light);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.staging-header{padding:.75rem 1rem;background:var(--bg-primary);border-bottom:1px solid var(--border-light)}.staging-count{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.staged-files-list{max-height:240px;overflow-y:auto}.staged-file-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-bottom:1px solid var(--border-light);transition:background-color .15s}.staged-file-item:last-child{border-bottom:none}.staged-file-item:hover{background:var(--bg-hover)}.file-icon{font-size:1.75rem;flex-shrink:0}.file-info{flex:1;text-align:left;min-width:0}.file-name{font-weight:500;font-size:.9rem;color:var(--text-primary);word-break:break-word;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.file-remove{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-danger);color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.file-remove:hover:not(:disabled){opacity:.85;transform:scale(1.05)}.file-remove:disabled{opacity:.4;cursor:not-allowed}.import-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:var(--text-primary)}.import-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.import-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.import-results{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.results-icon{font-size:4rem}.results-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.results-stats{display:flex;gap:2rem;justify-content:center;width:100%;padding:1rem;background:var(--bg-secondary);border-radius:8px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-item.error{color:var(--color-error)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary)}.stat-item.error .stat-value{color:var(--color-error)}.stat-label{font-size:.85rem;color:var(--text-secondary);text-align:center}.error-list{width:100%;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;padding:1rem}.error-list h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--color-error)}.error-list ul{margin:0;padding-left:1.5rem;list-style-type:disc}.error-list li{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.error-list li:last-child{margin-bottom:0}.error-more{font-style:italic;color:var(--text-tertiary)}.dna-match-sidebar{width:437px}.star-button{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);transition:color .2s;padding:0;line-height:1}.star-button:hover,.star-button.starred{color:var(--color-warning)}.match-info-section{margin-bottom:var(--spacing-md)}.match-info-section h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.match-details-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.match-details-grid .detail-item{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-light)}.match-details-grid .detail-item:last-child{border-bottom:none}.match-details-grid .detail-item label{font-size:.85rem;color:var(--text-secondary);font-weight:500;flex-shrink:0}.detail-value{font-size:1rem;color:var(--text-primary);text-align:right}.tags-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.tags-section h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2rem;margin-bottom:var(--spacing-sm)}.tag-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--color-primary);color:#fff;border-radius:16px;font-size:.875rem}.tag-remove{background:none;border:none;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;padding:0;opacity:.8;transition:opacity .2s}.tag-remove:hover{opacity:1}.tag-input-container{display:flex;gap:.5rem}.tag-input{flex:1;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;color:var(--text-primary);font-size:.9375rem}.tag-input:focus{outline:none;border-color:var(--border-focus)}.cluster-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.cluster-section h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.cluster-display{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-light);margin-bottom:var(--spacing-sm)}.cluster-color-indicator{width:24px;height:24px;border-radius:4px;border:2px solid var(--border-medium)}.cluster-name{font-size:1rem;font-weight:500;color:var(--text-primary)}.cluster-input-container{display:flex;flex-direction:column;gap:.5rem}.cluster-input-row{display:flex;gap:.5rem;align-items:center}.cluster-name-input{flex:1;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;color:var(--text-primary);font-size:.9375rem}.cluster-name-input:focus{outline:none;border-color:var(--border-focus)}.cluster-name-input::placeholder{color:var(--text-secondary)}.cluster-color-input{width:60px;height:38px;padding:2px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;cursor:pointer}.cluster-color-input:hover{border-color:var(--border-focus)}.notes-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.notes-section h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.notes-textarea{width:100%;padding:.75rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.9375rem;line-height:1.5;resize:vertical}.notes-textarea:focus{outline:none;border-color:var(--border-focus)}.notes-textarea::placeholder{color:var(--text-secondary)}.delete-section{padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--border-light)}.delete-button{background:none;border:none;color:var(--color-error);font-size:.9375rem;cursor:pointer;padding:0;text-decoration:underline;transition:opacity .2s}.delete-button:hover{opacity:.8}.delete-button:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-section{padding:1rem;background:var(--bg-secondary);border-radius:4px;border-left:3px solid var(--color-error);margin-top:var(--spacing-md)}.delete-warning{margin:0 0 1rem;color:var(--text-primary);font-weight:500}.delete-confirm-buttons{display:flex;gap:.75rem}.dna-segments-section{display:flex;flex-direction:column;gap:.75rem}.segment-status{display:flex;flex-direction:column;gap:.25rem}.segment-count{font-size:1rem;color:var(--text-primary);font-weight:500}.longest-segment{font-size:.875rem;color:var(--text-secondary)}.no-segments{font-size:.9375rem;color:var(--text-secondary);font-style:italic}.clustering-wizard{padding:1rem 0}.wizard-progress{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem}.step-indicator{flex:1;text-align:center;padding:.75rem 0;color:var(--text-secondary);border-bottom:3px solid var(--border-light);font-size:.9rem;font-weight:500;transition:all .3s ease}.step-indicator.active{color:var(--text-primary);border-bottom-color:var(--color-primary);font-weight:600}.wizard-step{padding:1.5rem;min-height:300px}.wizard-step h3{margin:0 0 .5rem;color:var(--text-primary)}.step-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.file-upload-section{margin:2rem 0}.file-input{display:block;width:100%;padding:.75rem;border:2px dashed var(--border-medium);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .3s ease}.file-input:hover{border-color:var(--color-primary);background:var(--bg-hover)}.file-input::file-selector-button{padding:.5rem 1rem;margin-right:1rem;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-button);color:var(--text-primary);cursor:pointer;font-family:var(--font-family-primary);font-size:.9rem;transition:all .2s ease}.file-input::file-selector-button:hover{background:var(--bg-button-hover);border-color:var(--border-focus)}.upload-success{margin-top:1rem;padding:.75rem;background:var(--bg-success);color:var(--text-success);border-radius:6px;font-weight:500}.wizard-buttons{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.clustering-config{margin:2rem 0}.clustering-config label{display:block;margin-bottom:1rem;color:var(--text-primary);font-weight:500}.number-input{display:block;width:100px;margin-top:.5rem;padding:.5rem;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem}.number-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring)}.placeholder-message{padding:3rem 2rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;font-style:italic}.seed-match-section{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:2rem 0}.grandparent-line-section{background:var(--bg-secondary);padding:1rem;border-radius:8px;border:1px solid var(--border-light)}.grandparent-line-section h4{margin:0 0 .75rem;color:var(--text-primary);font-size:.95rem;font-weight:600}.match-selector{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;min-height:120px}.match-selector:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring)}.match-selector option{padding:.25rem}.selected-count{margin-top:.5rem;font-size:.85rem;color:var(--text-secondary);font-weight:500}.cluster-view{padding:0}.cluster-empty{display:flex;flex-direction:column;align-items:center;padding:3rem 2rem;text-align:center;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light);max-width:600px;margin:0 auto}.cluster-empty .empty-icon{margin-bottom:1rem}.cluster-empty h4{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.cluster-empty p{margin:0 0 1rem;color:var(--text-secondary);max-width:400px}.cluster-empty .hint{font-style:italic;font-size:.9rem;color:var(--text-muted)}.cluster-group{margin-bottom:1.5rem;border:1px solid var(--border-light);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.cluster-header{padding:1rem 1.25rem;background:var(--bg-primary);border-left:4px solid var(--border-medium);border-bottom:1px solid var(--border-light)}.cluster-header.unclustered{border-left-color:var(--border-medium)}.cluster-info{display:flex;align-items:center;gap:.75rem}.cluster-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.cluster-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.cluster-stats{margin-left:auto;font-size:.9rem;color:var(--text-secondary)}.cluster-matches{padding:0}.cluster-match-item{display:flex;align-items:center;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background-color .2s ease}.cluster-match-item:last-child{border-bottom:none}.cluster-match-item:hover{background:var(--bg-hover)}.match-name{flex:1;font-weight:500;color:var(--text-primary)}.match-cm{margin-left:1rem;font-size:.95rem;color:var(--text-secondary);font-weight:500}.match-relationship{margin-left:1rem;padding:.25rem .5rem;font-size:.85rem;color:var(--text-secondary);background:var(--bg-primary);border-radius:4px}.case-detail-modal{display:flex;flex-direction:column;gap:.75rem}.form-section{display:flex;flex-direction:column;gap:.5rem;border:none;border-bottom:none;border-top:none;margin:0;padding:0}.form-section+.form-section{border-top:none;padding-top:0}.form-label{font-weight:600;font-size:.9rem;color:var(--text-primary);margin:0;padding:0}.required{color:var(--color-error)}.form-input,.form-textarea,.form-select{padding:6px 12px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-primary);transition:border-color .2s;margin:0}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{opacity:.5;cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:.85rem;color:var(--text-secondary);margin:0;padding:0;line-height:1.3}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem}.footer-left,.footer-right{display:flex;gap:.75rem}.column-selector{position:relative;display:inline-block}.column-selector-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;max-width:400px;background:var(--bg-modal);border:1px solid var(--border-medium);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.column-selector-header{padding:1rem 1rem .75rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.column-selector-title{font-weight:600;color:var(--text-primary);font-size:.95rem}.column-selector-actions{display:flex;gap:.5rem}.column-action-btn{padding:.25rem .5rem;font-size:.8rem;color:var(--color-primary);background:transparent;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;transition:all .2s ease}.column-action-btn:hover{background:var(--bg-hover);border-color:var(--color-primary)}.column-selector-list{max-height:400px;overflow-y:auto;padding:.5rem 0}.column-selector-item{display:flex;align-items:flex-start;padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;gap:.75rem}.column-selector-item:hover{background:var(--bg-hover)}.column-selector-item.disabled{opacity:.5;cursor:not-allowed}.column-selector-item input[type=checkbox]{margin-top:.15rem;cursor:pointer;width:16px;height:16px;flex-shrink:0}.column-selector-item.disabled input[type=checkbox]{cursor:not-allowed}.column-selector-item>div{flex:1;display:flex;flex-direction:column;gap:.25rem}.column-label{color:var(--text-primary);font-weight:500;font-size:.9rem}.column-description{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.column-selector-footer{padding:.75rem 1rem;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.column-count{font-size:.85rem;color:var(--text-secondary);font-weight:500}.column-selector-list::-webkit-scrollbar{width:8px}.column-selector-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.column-selector-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.column-selector-list::-webkit-scrollbar-thumb:hover{background:var(--border-focus)}.column-selector-raw-data{padding:.75rem 1rem;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.raw-data-toggle{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.raw-data-toggle input[type=checkbox]{margin-top:.15rem;cursor:pointer;width:16px;height:16px;flex-shrink:0}.raw-data-label{flex:1;display:flex;flex-direction:column;gap:.25rem;color:var(--text-primary);font-weight:500;font-size:.9rem}.raw-data-description{color:var(--text-secondary);font-size:.8rem;font-weight:400;line-height:1.4}.case-team-members{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.case-team-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.case-team-case-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary)}.case-team-case-icon{display:flex;align-items:center;color:var(--icon-dna)}.add-member-form{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light)}.add-member-form h3{margin:0 0 1rem;font-size:.95rem;color:var(--text-primary)}.add-member-form .form-row{display:flex;gap:.75rem;align-items:center}.add-member-form .username-input{flex:1;padding:.5rem;border:1px solid var(--border-light);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.add-member-form .role-select{min-width:140px}.case-team-search-filter{display:flex;gap:.75rem;align-items:center}.case-team-search{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px}.case-team-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;outline:none}.case-team-search .clear-search{display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0;color:var(--text-secondary)}.case-team-search .clear-search:hover{color:var(--text-primary)}.case-team-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px}.case-team-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding:.5rem 0}.team-member-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;transition:background .2s}.team-member-item:hover{background:var(--bg-hover)}.member-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.member-details{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.member-name-row{display:flex;align-items:center;gap:.5rem}.member-name{font-weight:500;color:var(--text-primary);font-size:.95rem}.you-badge{display:inline-block;padding:.125rem .5rem;background:var(--color-primary);color:#fff;font-size:.75rem;border-radius:12px;font-weight:500}.member-email{color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:16px;font-size:.85rem;font-weight:500;white-space:nowrap}.no-members{padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.no-members p{margin:0}.case-team-footer{padding-top:1rem;border-top:1px solid var(--border-light);display:flex;justify-content:center}.member-count{color:var(--text-secondary);font-size:.9rem}.group-matches-modal{display:flex;flex-direction:column;gap:20px}.group-info{background-color:var(--bg-secondary);padding:12px;border-radius:4px;border-left:3px solid var(--border-focus)}.group-info p{margin:0;color:var(--text-primary);font-size:var(--font-size-base)}.matches-list{background-color:var(--bg-secondary);padding:12px;border-radius:4px}.matches-list h4{margin:0 0 12px;font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.matches-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.matches-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:4px;transition:all .2s ease}.matches-list li.primary{border-color:var(--border-focus);background-color:#4299e11a}.matches-list li strong{color:var(--text-primary)}.match-details{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--font-size-sm)}.primary-badge{background-color:var(--color-primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.chromosome-browser{display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow:hidden}.browser-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border-light);flex-shrink:0;background:var(--bg-primary)}.browser-tabs{display:flex;gap:.5rem;background-color:var(--bg-secondary);padding:.25rem;border-radius:6px}.tab-button{padding:.5rem 1rem;background:transparent;border:none;border-radius:4px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-button:hover{background-color:var(--bg-primary);color:var(--text-primary)}.tab-button.active{background-color:var(--primary-color);color:#fff}.browser-stats{display:flex;gap:1.5rem;align-items:center}.stat-item{font-size:var(--font-size-sm);color:var(--text-secondary)}.stat-item strong{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.browser-filters{display:flex;gap:1rem;align-items:center}.filter-label{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-primary)}.filter-control{display:flex;flex-direction:column;gap:.25rem}.adjust-buttons{display:flex;gap:.25rem;margin-left:55px}.adjust-button{width:24px;height:20px;padding:0;border:1px solid var(--border-light);border-radius:3px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:var(--font-weight-bold);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;line-height:1}.adjust-button:hover{background-color:var(--bg-primary);border-color:var(--primary-color);color:var(--primary-color)}.adjust-button:active{transform:scale(.95)}.filter-input{width:70px;padding:.375rem .5rem;border:1px solid var(--border-light);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm)}.filter-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.filter-slider{width:120px;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px;outline:none;cursor:pointer;padding:0;margin:0}.filter-slider::-webkit-slider-runnable-track{width:100%;height:8px;background:transparent;border-radius:4px}.filter-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;cursor:pointer;transition:all .15s;box-shadow:0 2px 4px #0000004d;margin-top:-5px;border:3px solid var(--primary-color)}.filter-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 6px #0006}.filter-slider::-moz-range-track{width:100%;height:8px;background:transparent;border-radius:4px}.filter-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;cursor:pointer;border:3px solid var(--primary-color);transition:all .15s;box-shadow:0 2px 4px #0000004d}.filter-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 6px #0006}.filter-slider::-moz-range-progress{height:8px;background:var(--primary-color);border-radius:4px 0 0 4px}.filter-value{display:inline-block;min-width:30px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.zoom-display{min-width:45px;display:inline-block;text-align:center;font-weight:var(--font-weight-medium);color:var(--text-primary)}.zoom-button{padding:.25rem .5rem;margin:0 .125rem;border:1px solid var(--border-light);border-radius:3px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s}.zoom-button:hover{background-color:var(--bg-primary);border-color:var(--primary-color)}.zoom-button:active{transform:scale(.95)}.segments-tab{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0}.segments-table-container{flex:1;overflow-y:auto;min-height:0}.segments-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);table-layout:fixed}.segments-table th:nth-child(1),.segments-table td:nth-child(1){width:30%}.segments-table th:nth-child(2),.segments-table td:nth-child(2){width:10%}.segments-table th:nth-child(3),.segments-table td:nth-child(3){width:15%}.segments-table th:nth-child(4),.segments-table td:nth-child(4){width:15%}.segments-table th:nth-child(5),.segments-table td:nth-child(5){width:15%}.segments-table th:nth-child(6),.segments-table td:nth-child(6){width:15%}.segments-table thead{background-color:var(--bg-primary);position:sticky;top:0;z-index:10}.segments-table th{padding:.5rem .75rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segments-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .15s}.segments-table tbody tr:hover{background-color:var(--bg-primary)}.segments-table tbody tr.hidden-row{opacity:.4}.segments-table td{padding:.5rem .75rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segment-color-indicator{width:16px;height:16px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.people-legend{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:6px;max-height:300px;overflow-y:auto}.legend-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:4px;transition:background-color .2s}.legend-item:hover{background-color:var(--bg-primary)}.legend-item.hidden{opacity:.5}.legend-color{width:20px;height:20px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.legend-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);flex:1}.legend-stats{font-size:var(--font-size-sm);color:var(--text-secondary)}.chromosomes-container{flex:1;overflow-x:auto;overflow-y:auto;min-height:0;padding:.5rem 0;position:relative;cursor:crosshair}.chromosomes-inner{display:flex;flex-direction:column;gap:.25rem;min-width:100%;transition:width .1s ease-out;position:relative}.chromosome-row-wrapper{display:flex;flex-direction:column;flex-shrink:0}.chromosome-row{display:flex;align-items:center;gap:.5rem;flex-shrink:0;min-height:40px;height:40px;position:relative}.chromosome-label{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;min-width:200px;width:200px;gap:.5rem;padding:.5rem .75rem .5rem .5rem;position:sticky;left:0;background-color:var(--bg-primary);border-right:2px solid var(--border-light);z-index:10;flex-shrink:0}.expand-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;font-size:1.1rem;line-height:1;transition:color .2s;min-width:28px;text-align:center}.expand-button:hover{color:var(--text-primary);background-color:var(--bg-secondary);border-radius:4px}.chr-number{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);min-width:60px;text-align:right;letter-spacing:.025em}.chr-length{font-size:var(--font-size-xs);color:var(--text-muted);min-width:40px;text-align:left}.chromosome-track-container{flex:1;display:flex;align-items:center;height:100%;min-width:0}.chromosome-track{position:relative;height:100%;flex-shrink:0}.chromosome-scale{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;z-index:0}.scale-marker{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.scale-tick{width:1px;height:4px;background-color:var(--border-medium);margin-bottom:2px}.scale-label{font-size:9px;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.chromosome-bar{position:absolute;top:50%;left:0;right:0;height:8px;transform:translateY(-50%);background:linear-gradient(to right,var(--bg-secondary) 0%,var(--border-medium) 50%,var(--bg-secondary) 100%);border:1px solid var(--border-light);border-radius:4px;z-index:1}.segments-layer{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;z-index:2}.segment{position:absolute;height:22px;border-radius:3px;cursor:pointer;transition:all .2s;border:1px solid rgba(0,0,0,.3);box-shadow:0 1px 3px #00000026}.segment:hover{transform:scaleY(1.2);box-shadow:0 2px 8px #0003;z-index:10;border-color:#0006}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state p{margin:.5rem 0;font-size:var(--font-size-base)}.empty-state-hint{font-size:var(--font-size-sm);color:var(--text-muted)}.segment-tooltip{position:fixed;background-color:var(--bg-modal);border:1px solid var(--border-light);border-radius:8px;padding:.375rem .75rem;box-shadow:var(--shadow-lg);min-width:240px;z-index:1000;pointer-events:none}.tooltip-header{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:.25rem;padding-bottom:.125rem;border-bottom:1px solid var(--border-light)}.tooltip-content{display:flex;flex-direction:column;gap:.125rem}.tooltip-row{display:flex;justify-content:space-between;font-size:var(--font-size-base)}.tooltip-row span{color:var(--text-secondary)}.tooltip-row strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.people-legend::-webkit-scrollbar,.chromosomes-container::-webkit-scrollbar,.segments-table-container::-webkit-scrollbar{width:8px}.people-legend::-webkit-scrollbar-track,.chromosomes-container::-webkit-scrollbar-track,.segments-table-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.people-legend::-webkit-scrollbar-thumb,.chromosomes-container::-webkit-scrollbar-thumb,.segments-table-container::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.people-legend::-webkit-scrollbar-thumb:hover,.chromosomes-container::-webkit-scrollbar-thumb:hover,.segments-table-container::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media (max-width: 768px){.browser-header{flex-direction:column;align-items:flex-start}.chromosome-label{min-width:60px;font-size:var(--font-size-xs)}.chr-number{font-size:var(--font-size-xs)}.chr-length{font-size:10px}.segment-tooltip{left:1rem;right:1rem;bottom:1rem}.chromosome-track{min-height:30px}.segment{height:18px}}.expanded-segments{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;background-color:var(--bg-secondary)}.expanded-segment-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer;transition:background-color .15s;position:relative}.expanded-segment-row:hover{background-color:var(--bg-primary)}.segment-row-left{display:flex;align-items:center;gap:.5rem;min-width:200px;width:200px;flex-shrink:0;padding-right:.5rem;position:sticky;left:0;background-color:var(--bg-secondary);z-index:5}.segment-row-right{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.segment-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.2)}.segment-person-name{font-size:.9rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.segment-bar-container{position:relative;height:16px;background-color:var(--bg-tertiary);border-radius:3px;border:1px solid var(--border-light);flex-shrink:0;box-sizing:border-box}.segment-bar{position:absolute;top:0;bottom:0;border-radius:2px;transition:opacity .2s;display:flex;align-items:center;justify-content:center;overflow:hidden}.segment-bar-label{font-size:10px;font-weight:var(--font-weight-semibold);color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;padding:0 4px}.expanded-segment-row:hover .segment-bar{opacity:.8}.segment-details{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs);color:var(--text-primary);font-weight:var(--font-weight-semibold);white-space:nowrap;min-width:200px}.segment-position{color:var(--text-secondary);font-weight:var(--font-weight-normal);font-size:var(--font-size-xs)}.segment-snps{color:var(--text-muted);font-weight:var(--font-weight-normal);font-size:var(--font-size-xs)}@media print{.browser-filters,.segment-tooltip{display:none}.chromosome-browser{background-color:#fff}.segment{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.segment-upload{display:flex;flex-direction:column;gap:1.5rem}.segment-upload-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:0}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-input,.form-select{padding:.625rem .75rem;border:1px solid var(--border-light);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-select:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.form-select{cursor:pointer}.file-drop-zone{border:2px dashed var(--border-light);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background-color:var(--bg-secondary);min-height:200px;display:flex;align-items:center;justify-content:center}.file-drop-zone:hover{border-color:var(--primary-color);background-color:var(--bg-primary)}.file-drop-zone.drag-active{border-color:var(--primary-color);background-color:#3b82f60d;border-style:solid}.file-drop-zone.has-file{border-color:var(--success-color);background-color:#22c55e0d}.file-drop-prompt{display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-icon{font-size:3rem;opacity:.5}.primary-text{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);margin:0}.secondary-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.hint-text{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.file-selected{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--bg-primary);border-radius:6px}.file-icon{font-size:2rem}.file-info{display:flex;flex-direction:column;gap:.25rem;flex:1;text-align:left}.file-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);word-break:break-word}.file-size{font-size:var(--font-size-sm);color:var(--text-secondary)}.warnings-box{background-color:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:6px;padding:1rem}.warnings-box h4{margin:0 0 .75rem;font-size:var(--font-size-base);color:var(--warning-color);font-weight:var(--font-weight-medium)}.warnings-box ul{margin:0;padding-left:1.5rem;list-style:disc}.warnings-box li{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.25rem}.warnings-box li:last-child{margin-bottom:0}.privacy-notice{background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;padding:.875rem 1rem;font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5}.privacy-notice strong{color:var(--primary-color);font-weight:var(--font-weight-semibold)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--border-light);margin-top:1rem}@media (max-width: 768px){.file-drop-zone{min-height:150px;padding:1.5rem}.upload-icon{font-size:2.5rem}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.segment-import-mode-select{display:flex;flex-direction:column;gap:1.5rem}.import-description{color:var(--text-secondary);font-size:.95rem;margin:0 0 .5rem}.import-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.import-option-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem;background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.import-option-card:hover{border-color:var(--primary);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.import-option-card:active{transform:translateY(0)}.option-icon{font-size:2.5rem;margin-bottom:.75rem}.import-option-card h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.import-option-card p{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.5;flex:1}.option-format{font-size:.85rem;color:var(--text-secondary);padding:.5rem .75rem;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-light);width:100%}.option-format strong{color:var(--text-primary)}.import-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-light)}.case-dashboard{padding:1.5rem;box-sizing:border-box;width:100%}.case-dashboard-loading,.case-dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.case-dashboard-error h2{color:var(--color-error);margin:0}.dashboard-header{margin-bottom:1.5rem}.back-button{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.header-title h1{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary);cursor:pointer;transition:color .2s}.header-title h1:hover{color:var(--color-primary)}.header-subtitle{display:flex;align-items:center;gap:1rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:capitalize}.status-active{background:var(--bg-success-subtle);color:var(--color-success);border:1px solid var(--color-success)}.status-on_hold{background:var(--bg-warning-subtle);color:var(--color-warning);border:1px solid var(--color-warning)}.status-solved{background:var(--bg-info-subtle);color:var(--color-info);border:1px solid var(--color-info)}.status-closed{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-medium)}.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:all .2s;min-height:2.5rem;display:flex;align-items:center}.info-value:hover{background:var(--bg-hover);border-color:var(--border-focus)}.info-value:empty:before{content:"Click to set...";color:var(--text-tertiary);font-style:italic}.inline-edit-input,.inline-edit-select,.inline-edit-textarea{padding:.75rem;background:var(--bg-input);border:2px solid var(--border-focus);border-radius:6px;color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family-primary);width:100%;transition:border-color .2s}.inline-edit-input:focus,.inline-edit-select:focus,.inline-edit-textarea:focus{outline:none;border-color:var(--color-primary)}.inline-edit-textarea{resize:vertical;min-height:100px;font-family:var(--font-family-primary)}.description-goals-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.description-section,.goals-section{background:var(--bg-secondary);padding:1rem;border-radius:8px;border:1px solid var(--border-light)}.description-section h3,.goals-section h3{margin:0 0 .75rem;font-size:var(--font-size-base);color:var(--text-primary)}.description-content,.goals-content{padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;min-height:80px;cursor:pointer;transition:all .2s;white-space:pre-wrap;line-height:1.6}.description-content:hover,.goals-content:hover{background:var(--bg-hover);border-color:var(--border-focus)}.description-content:empty:before,.goals-content:empty:before{content:"Click to add...";color:var(--text-tertiary);font-style:italic}.progress-section{margin-bottom:1.5rem;background:var(--bg-secondary);padding:1rem;border-radius:8px;border:1px solid var(--border-light)}.progress-section h3{margin:0 0 .75rem;font-size:var(--font-size-base);color:var(--text-primary)}.progress-bar{height:6px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-success));transition:width .3s ease}.progress-stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.stage-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:all .2s}.stage-item:hover{background:var(--bg-hover);border-color:var(--border-medium)}.stage-item.completed{background:var(--bg-success-subtle);border-color:var(--color-success)}.stage-icon{flex-shrink:0;color:var(--text-secondary)}.stage-icon.completed{color:var(--color-success)}.stage-label{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.stage-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.assets-section{margin-bottom:1.5rem}.assets-section h3{margin:0 0 .75rem;font-size:var(--font-size-base);color:var(--text-primary)}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.asset-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;transition:all .2s}.asset-card:hover{background:var(--bg-hover);border-color:var(--border-medium);transform:translateY(-2px);box-shadow:var(--shadow-md)}.asset-icon{font-size:2rem}.asset-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);text-align:center;word-break:break-word}.asset-link{font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:none;padding:.25rem .75rem;border-radius:4px;transition:background .2s}.asset-link:hover{background:var(--bg-primary)}.no-assets{grid-column:1 / -1;padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic;background:var(--bg-secondary);border:1px dashed var(--border-medium);border-radius:8px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-secondary);padding:1rem;border-radius:8px;border:1px solid var(--border-light);text-align:center}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-primary)}.timeline-section{background:var(--bg-secondary);padding:1rem;border-radius:8px;border:1px solid var(--border-light)}.timeline-section h3{margin:0 0 .75rem;font-size:var(--font-size-base);color:var(--text-primary)}.timeline-entries{display:flex;flex-direction:column;gap:.75rem}.timeline-entry{display:flex;gap:.75rem;padding:.75rem;background:var(--bg-primary);border-left:3px solid var(--color-primary);border-radius:4px}.timeline-date{flex-shrink:0;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);min-width:100px}.timeline-content{flex:1;color:var(--text-primary);line-height:1.6}@media (max-width: 1024px){.info-row,.description-goals-row,.stats-row,.progress-stages{grid-template-columns:1fr}.assets-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width: 768px){.case-dashboard{padding:1rem}.header-title h1{font-size:1.5rem}.assets-grid{grid-template-columns:repeat(2,1fr)}}.case-landing-layout{height:100vh;display:flex;flex-direction:column;background-color:var(--bg-page)}.case-landing-content{flex:1;overflow-y:auto;overflow-x:hidden}.case-landing-page{padding:2rem;max-width:1400px;margin:0 auto;min-height:100%}.case-landing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.case-landing-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0}.case-landing-controls{margin-bottom:1.5rem;display:flex;flex-direction:row;gap:1rem;align-items:center;flex-wrap:wrap}.search-bar{flex:1;min-width:300px}.search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border-light);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--border-focus)}.filter-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.filter-controls .select-container{width:auto;min-width:180px}.filter-select{padding:.5rem 1rem;font-size:.9rem;border:1px solid var(--border-light);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:var(--border-focus)}.view-mode-toggle{display:flex;gap:.25rem;border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.view-mode-btn{padding:.5rem .75rem;background-color:var(--bg-primary);color:var(--text-secondary);border:none;cursor:pointer;font-size:1.2rem;transition:all .2s}.view-mode-btn:hover{background-color:var(--bg-hover)}.view-mode-btn.active{background-color:var(--bg-button);color:var(--text-inverse)}.case-count{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.cases-container.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.cases-container.list-view{display:flex;flex-direction:column;gap:1rem}.case-card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s}.case-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-2px)}.case-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.case-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1;word-break:break-word}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;white-space:nowrap}.status-badge-active{background-color:color-mix(in srgb,var(--color-success) 20%,transparent);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 40%,transparent)}.status-badge-on-hold{background-color:#f57c0033;color:#ffb74d;border:1px solid rgba(245,124,0,.4)}.status-badge-solved{background-color:#388e3c33;color:#81c784;border:1px solid rgba(56,142,60,.4)}.status-badge-closed{background-color:#61616133;color:var(--text-tertiary);border:1px solid var(--border-light)}.case-description{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.case-card-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.case-type,.case-agency{text-transform:capitalize}.case-card-stats{display:flex;gap:1rem;margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.stat{font-size:.85rem;color:var(--text-secondary)}.case-card-footer{display:flex;justify-content:space-between;align-items:center}.last-activity{font-size:.8rem;color:var(--text-tertiary)}.cases-table-container{width:100%;overflow-x:auto;background-color:var(--bg-primary);border-radius:8px}.cases-table{width:100%;border-collapse:collapse;font-size:.9rem}.cases-table thead{background-color:var(--bg-secondary);border-bottom:2px solid var(--border-medium);position:sticky;top:0;z-index:1}.cases-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap}.cases-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .2s;cursor:pointer}.cases-table tbody tr:hover{background-color:var(--bg-hover)}.cases-table td{padding:1rem;color:var(--text-primary);vertical-align:top}.case-name-cell{min-width:200px;max-width:300px}.case-name-cell strong{display:block;margin-bottom:.25rem;color:var(--text-primary)}.case-description-preview{font-size:.85rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.last-activity-cell{white-space:nowrap;color:var(--text-tertiary);font-size:.85rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.empty-state p{font-size:1rem;margin-bottom:2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-container p{font-size:1rem;color:var(--text-secondary)}@media (max-width: 768px){.case-landing-page{padding:1rem}.case-landing-header{flex-direction:column;align-items:flex-start;gap:1rem}.cases-container.grid-view{grid-template-columns:1fr}}.case-assets-modal{display:flex;flex-direction:column;gap:12px;min-height:300px}.assets-search{position:relative;margin-bottom:8px}.assets-search .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.assets-search .search-input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--border-light);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm)}.assets-search .search-input:focus{outline:none;border-color:var(--border-focus)}.assets-search .search-input::placeholder{color:var(--text-tertiary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state p{margin:8px 0}.empty-hint{font-size:var(--font-size-sm);color:var(--text-tertiary)}.assets-table-container{overflow-x:auto}.assets-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);table-layout:fixed}.assets-table th,.assets-table td{text-align:left;padding:10px 12px;vertical-align:middle}.assets-table th{color:var(--text-secondary);font-weight:500;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light)}.assets-table td{border-bottom:1px solid var(--border-light)}.assets-table th:nth-child(1),.assets-table td:nth-child(1){width:110px}.assets-table th:nth-child(2),.assets-table td:nth-child(2){width:auto}.assets-table th:nth-child(3),.assets-table td:nth-child(3){width:100px}.assets-table th:nth-child(4),.assets-table td:nth-child(4){width:50px;text-align:center}.assets-table th:nth-child(5),.assets-table td:nth-child(5){width:70px;text-align:right}.assets-table tbody tr:hover{background-color:var(--bg-hover)}.assets-table tbody tr:last-child td{border-bottom:none}.asset-type-badge{display:inline-block;background-color:var(--bg-button);color:var(--text-secondary);padding:3px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.asset-username-cell{color:var(--text-secondary)}.asset-link{color:var(--color-link);display:inline-flex;align-items:center;justify-content:center}.asset-link:hover{color:var(--color-link-hover)}.asset-actions-cell{display:flex;gap:4px;justify-content:flex-end;align-items:center}.asset-actions-cell .btn-icon{width:28px;height:28px;min-width:28px;min-height:28px;flex-shrink:0}.asset-actions-cell .btn-icon:first-child{border-color:var(--color-primary);color:var(--color-primary)}.asset-actions-cell .btn-icon:first-child:hover:not(:disabled){background-color:var(--color-primary);color:var(--text-inverse)}.asset-actions-cell .btn-icon:last-child{border-color:var(--color-error);color:var(--color-error)}.asset-actions-cell .btn-icon:last-child:hover:not(:disabled){background-color:var(--color-error);color:var(--text-inverse)}.asset-form{display:flex;flex-direction:column;gap:16px}.asset-form>*:not(:last-child){border-bottom:none!important}.asset-form>*{border-top:none!important}.asset-form .form-section{display:flex;flex-direction:column;gap:2px;border:none;border-top:none;border-bottom:none;padding-bottom:0;margin-bottom:0}.form-input,.form-select,.form-textarea{width:100%;padding:6px 10px;border:1px solid var(--border-light);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);background-color:var(--bg-primary);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:60px;line-height:1.4}.form-hint{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0;line-height:1.4}.form-hint strong{color:var(--text-secondary)}.form-select{border:none!important;margin:0!important;padding:0!important;width:100%!important}.form-select .select__control{background:var(--bg-secondary)!important;border-color:var(--border-light)!important;border-width:1px!important;border-radius:4px!important;padding:0!important;min-height:auto!important;box-shadow:none!important;transition:all .2s ease!important}.form-select .select__control:hover{border-color:var(--border-medium)!important}.form-select .select__control--is-focused{border-color:var(--color-primary)!important;background:var(--bg-primary)!important;box-shadow:0 0 0 3px #3b82f61a!important}.form-select .select__control--is-disabled{opacity:.5!important;cursor:not-allowed!important;background-color:var(--bg-button)!important}.form-select .select__value-container{padding:6px 10px!important}.form-select .select__single-value{color:var(--text-primary)!important;font-size:var(--font-size-base)!important}.form-select .select__placeholder{color:var(--text-tertiary)!important;font-size:var(--font-size-base)!important}.form-select .select__menu{background:var(--bg-secondary)!important;border:1px solid var(--border-medium)!important}.form-select .select__menu-list{background:var(--bg-secondary)!important}.form-select .select__option{background:var(--bg-secondary)!important;font-size:var(--font-size-base)!important}.form-select .select__option--is-focused{background:var(--bg-hover)!important}.form-select .select__option--is-selected{background:var(--bg-button)!important;color:var(--text-inverse)!important}.case-assets-page{padding:2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.asset-form-container{max-width:600px;margin:0 auto;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light);overflow:hidden}.asset-form-header{padding:16px 20px;border-bottom:1px solid var(--border-light);background-color:var(--bg-tertiary)}.asset-form-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.asset-form{padding:20px;display:flex;flex-direction:column;gap:20px}.form-section{display:flex;flex-direction:column;gap:6px}.form-label{font-weight:600;color:var(--text-primary);font-size:var(--font-size-base);display:flex;align-items:center;gap:4px}.required{color:var(--color-error);font-size:var(--font-size-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-light);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;transition:all .2s ease}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-medium)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-button)}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--border-light);margin-top:8px}.case-navigation-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-page);position:sticky;top:70px;z-index:90}.case-nav-left{display:flex;align-items:center;gap:1rem}.case-nav-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.case-nav-right{display:flex;gap:.75rem;align-items:center}.case-layout{height:100vh;display:flex;flex-direction:column;overflow:hidden}.case-layout-content{flex:1;overflow:auto}.case-layout-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:1rem;color:var(--text-secondary)}.problem-reporter{display:flex;flex-direction:column;gap:20px}.problem-reporter-specificity-callout{background:linear-gradient(135deg,var(--bg-warning),var(--bg-secondary));border-left:4px solid var(--color-warning);padding:16px;border-radius:4px;margin-bottom:8px}.problem-reporter-specificity-callout strong{display:block;font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:8px;font-weight:var(--font-weight-semibold)}.problem-reporter-specificity-callout p{margin:0 0 8px;font-size:var(--font-size-base);color:var(--text-primary)}.problem-reporter-specificity-callout ul{margin:0;padding-left:20px;color:var(--text-secondary);font-size:var(--font-size-sm)}.problem-reporter-specificity-callout li{margin-bottom:6px}.problem-reporter-specificity-callout li:last-child{margin-bottom:0}.problem-reporter-specificity-callout li strong{display:inline;font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:0}.problem-reporter .form-field{display:flex;flex-direction:column;gap:8px}.problem-reporter .form-field label{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-base)}.required-indicator{color:var(--color-error);font-weight:var(--font-weight-bold);margin-left:2px}.problem-reporter .form-field textarea{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input);border-radius:4px;padding:12px;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);resize:vertical;min-height:120px}.problem-reporter .form-field textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #4299e133}.problem-reporter .form-field textarea:disabled{opacity:.6;cursor:not-allowed}.problem-reporter .form-field-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:-4px}.problem-reporter-status{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:12px;text-align:center;color:var(--text-primary);font-size:var(--font-size-base);margin-top:8px}.problem-reporter-disclaimer{padding:12px;background-color:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-light);margin-top:4px}.problem-reporter-disclaimer p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.problem-reporter-disclaimer strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.impact-options{display:flex;flex-direction:column;gap:6px}.form-field .impact-option,.impact-option{display:flex!important;flex-direction:row;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:var(--bg-input)}.impact-option:hover{border-color:var(--border-medium);background-color:var(--bg-secondary)}.impact-option:has(input:checked){border-color:var(--border-focus);background-color:var(--bg-secondary);box-shadow:0 0 0 2px #4299e11a}.impact-option:has(input:disabled){opacity:.6;cursor:not-allowed}.impact-option input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.impact-emoji{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.impact-text{flex:1;color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.impact-text strong{font-weight:var(--font-weight-medium)}.production-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f2147,#1a3a6b,#0d1b3a);position:relative;overflow:hidden}.production-gate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px;opacity:.5;pointer-events:none}.production-gate:after{content:"";position:absolute;top:-50%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(56,139,253,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.production-gate-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f2147,#1a3a6b,#0d1b3a)}.production-gate-content{width:100%;max-width:420px;padding:56px 48px;background:linear-gradient(135deg,rgba(0,120,212,.02) 0%,transparent 50%),linear-gradient(to bottom,#fff,#fafbfc);box-shadow:0 20px 60px #0000004d,0 0 0 1px #0f214714,inset 0 1px #fffc;position:relative;z-index:1;border-left:4px solid #0078d4}.production-gate-content:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle at top right,rgba(0,120,212,.04) 0%,transparent 60%);pointer-events:none}.production-gate-content:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#0078d4 0%,transparent 100%);opacity:.3}.production-gate-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(15,33,71,.08)}.production-gate-icon{display:flex;justify-content:center;margin-bottom:1.25rem}.production-gate-icon svg{filter:drop-shadow(0 2px 8px rgba(0,120,212,.2))}.production-gate-header h1{font-size:1.75rem;font-weight:600;color:#0f2147;margin:0 0 .5rem;letter-spacing:-.02em}.production-gate-header p{font-size:.9375rem;color:#5a6c84;margin:0;font-weight:400}.production-gate-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.production-gate-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.production-gate-field label{font-size:.875rem;font-weight:600;color:#0f2147;margin-bottom:.5rem}.production-gate-field input{padding:.875rem 1rem;background:#fff;border:2px solid #d1d9e6;border-radius:4px;color:#0f2147;font-size:1rem;transition:all .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.production-gate-field input::placeholder{color:#a8b4c8}.production-gate-field input:hover{border-color:#b8c5d6}.production-gate-field input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 1px #0078d4;background:#fff}.production-gate-field input:disabled{opacity:.6;cursor:not-allowed;background:#f3f5f7}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-page);color:var(--text-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;font-family:inherit}button:focus-visible{outline:2px solid var(--border-medium);outline-offset:2px}input,textarea,select{font-family:inherit}.filter-select{border:none;background:transparent;color:var(--text-primary);font-size:.9rem;cursor:pointer;outline:none}.filter-select option{background:var(--bg-modal);color:var(--text-primary)}:root,[data-theme=light]{--bg-page: #faf8f5;--bg-primary: white;--bg-secondary: #fcfbf9;--bg-header: #2c3e50;--bg-modal-header: #242424;--bg-sidebar: #f8f8f8;--bg-modal: white;--bg-input: white;--bg-button: #3498db;--bg-button-hover: #2980b9;--bg-button-secondary: #ecf0f1;--bg-button-danger: #e74c3c;--bg-button-success: #27ae60;--bg-button-success-hover: #229954;--bg-overlay: rgba(0, 0, 0, .5);--bg-error-light: #ffcdd2;--bg-tooltip: rgba(255, 255, 255, .95);--text-primary: #2c3e50;--text-secondary: #666;--text-tertiary: #999;--text-inverse: white;--text-muted: #95a5a6;--text-error: #e74c3c;--text-success: #27ae60;--text-link: #3498db;--text-warning: #f39c12;--text-warning-dark: #e67e22;--border-light: #e0e0e0;--border-medium: #ddd;--border-dark: #bdc3c7;--border-input: #ccc;--border-focus: #3498db;--border-error: #dc2626;--tree-bg: white;--tree-link: #999;--tree-node-bg: white;--tree-node-border: #3498db;--tree-node-selected: #60a5fa;--tree-node-living: #4caf50;--tree-node-verified: #4caf50;--icon-male: #64b5f6;--icon-female: #f06292;--icon-neutral: #bdbdbd;--icon-verified: #4caf50;--icon-partnership: #e91e63;--icon-duplicate: #ff9800;--icon-tag: #9c27b0;--color-primary: #3498db;--color-success: #27ae60;--color-error: #e74c3c;--color-warning: #f39c12;--accent-action: #10b981;--accent-action-hover: #059669;--accent-action-text: white;--role-owner: #ffd43b;--role-admin: #b794f6;--role-editor: #64b5f6;--role-viewer: #9e9e9e;--viz-root-node: #e74c3c;--viz-selected-node: #b794f6;--viz-default-node: #F4F2ED;--viz-parent-child-link: #6b7280;--viz-partnership-link: #e74c3c;--viz-partnership-badge-active: #3498db;--viz-partnership-badge-hidden: #e74c3c;--viz-duplicate-badge: #ff9800;--viz-toggle-button: #607d8b;--viz-more-tags-badge: #6b7280;--viz-text-primary: white;--viz-badge-stroke: white;--viz-border-fallback: #000;--viz-card-text-name: white;--viz-card-text-dates: white;--viz-card-text-place: white;--icon-menu-blue: #64b5f6;--icon-menu-green: #66bb6a;--icon-menu-red: #ef5350;--icon-menu-orange: #ff9800;--icon-menu-purple: #b794f6;--icon-menu-amber: #ffd43b;--viz-maternal-line: #c17a8e;--viz-paternal-line: #6b8fb5;--viz-neutral-fallback: #6b8199;--viz-placeholder-fill: #3a3a3a;--viz-placeholder-border: #555555;--viz-connection-line: #666666;--person-adult: #2980b9;--person-child: #8e44ad;--person-deceased: #95a5a6;--toast-bg: white;--toast-border-info: #3498db;--toast-border-success: #27ae60;--toast-border-error: #e74c3c;--toast-border-warning: #f39c12;--icon-dna: #ba68c8;--icon-people: #64b5f6;--icon-tree: #66bb6a;--icon-heart: #ef5350;--icon-upload: #64b5f6;--icon-merge: #ff9800;--icon-shield: #ffd43b;--icon-tag: #b794f6;--icon-map: #ef5350;--icon-branch: #26a69a;--icon-document: #607d8b;--icon-book: #64b5f6;--icon-search: #64b5f6;--icon-camera: #64b5f6;--icon-bug: #ef5350;--icon-filter: #64b5f6;--icon-command: #64b5f6;--icon-activity: #7e57c2;--icon-layers: #5c6bc0;--icon-menu-gray: #9e9e9e;--icon-menu-cyan: #26c6da;--icon-menu-teal: #26a69a;--icon-star: #fbbf24;--icon-living: #4caf50;--icon-neutral: #9e9e9e;--icon-note: #ffa726;--dna-segment-1: #3b82f6;--dna-segment-2: #10b981;--dna-segment-3: #f59e0b;--dna-segment-4: #ef4444;--dna-segment-5: #8b5cf6;--dna-segment-6: #ec4899;--dna-segment-7: #14b8a6;--dna-segment-8: #f97316;--source-gedmatch: var(--icon-people);--source-dnajustice: var(--icon-tree);--source-ftdna: var(--icon-menu-orange);--source-23andme: var(--icon-tag);--source-myheritage: var(--icon-branch);--source-custom: var(--icon-menu-gray);--data-imported-bg: rgba(100, 181, 246, .06);--data-imported-bg-active: rgba(100, 181, 246, .1);--data-computed-icon: var(--icon-activity);--data-user-icon: var(--icon-note);--gradient-purple: #764ba2;--gradient-golden-dark-1: #3a3520;--gradient-golden-dark-2: #3a3010;--duplicate-border: #ff9800;--duplicate-text: #ff9f5a;--bg-warning: rgba(255, 167, 38, .15);--bg-warning-button: #ffa726;--text-warning-button: #1a1a1a;--border-warning-button: #ff9800;--bg-warning-button-hover: #ff9800;--border-warning-button-hover: #f57c00;--shadow-warning-button: rgba(255, 152, 0, .2);--text-black: #000;--bg-merge-selected: #c8e6c9;--bg-merge-selected-hover: #b2dfb4;--border-merge-selected: #4caf50;--border-merge-selected-hover: #388e3c;--bg-merge-different: #fff3cd;--bg-merge-different-hover: #ffe8a1;--border-merge-different: #f39c12;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .2);--shadow-focus: 0 0 0 2px rgba(52, 152, 219, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-monospace: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--font-size-xs: .625rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-size-6xl: 4rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--letter-spacing-tight: -.5px;--letter-spacing-normal: 0;--letter-spacing-wide: .5px;--letter-spacing-wider: .05em;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-duration-fast: .15s;--transition-duration-normal: .2s;--transition-duration-slow: .3s;--bg-hover: rgba(100, 181, 246, .08);--bg-selected: rgba(100, 181, 246, .15);--opacity-disabled: .6;--opacity-hover: .8}[data-theme=dark]{--bg-page: #1f1e1c;--bg-primary: #1b1a18;--bg-secondary: #252422;--bg-header: #0d0d0d;--bg-modal-header: #303030;--bg-sidebar: #242424;--bg-modal: #2a2a2a;--bg-input: #2a2a2a;--bg-button: #3a3a3a;--bg-button-hover: #4a4a4a;--bg-button-secondary: #2a2a2a;--bg-button-danger: #e74c3c;--bg-button-success: #27ae60;--bg-button-success-hover: #229954;--bg-overlay: rgba(0, 0, 0, .7);--bg-error-light: #5a3a3a;--bg-tooltip: rgba(42, 42, 42, .95);--text-primary: #e4e4e4;--text-secondary: #b0b0b0;--text-tertiary: #a8a8a8;--text-inverse: white;--text-muted: #95a5a6;--text-error: #ff6b6b;--text-success: #51cf66;--text-link: #4dabf7;--text-warning: #ffd43b;--text-warning-dark: #ffa502;--border-light: #2a2a2a;--border-medium: #3a3a3a;--border-dark: #4a4a4a;--border-input: #3a3a3a;--border-focus: #4dabf7;--border-error: #ff6b6b;--tree-bg: #1a1a1a;--tree-link: #6b7280;--tree-node-bg: #2a2a2a;--tree-node-border: #4a4a4a;--tree-node-selected: #60a5fa;--tree-node-living: #4caf50;--tree-node-verified: #4caf50;--icon-male: #64b5f6;--icon-female: #f06292;--icon-neutral: #bdbdbd;--icon-verified: #4caf50;--icon-partnership: #e91e63;--icon-duplicate: #ff9800;--icon-tag: #9c27b0;--color-primary: #3498db;--color-success: #27ae60;--color-error: #e74c3c;--color-warning: #f39c12;--accent-action: #10b981;--accent-action-hover: #059669;--accent-action-text: white;--role-owner: #ffd43b;--role-admin: #b794f6;--role-editor: #64b5f6;--role-viewer: #9e9e9e;--viz-root-node: #e74c3c;--viz-selected-node: #b794f6;--viz-default-node: #F4F2ED;--viz-parent-child-link: #6b7280;--viz-partnership-link: #e74c3c;--viz-partnership-badge-active: #3498db;--viz-partnership-badge-hidden: #e74c3c;--viz-duplicate-badge: #ff9800;--viz-toggle-button: #607d8b;--viz-more-tags-badge: #6b7280;--viz-text-primary: white;--viz-badge-stroke: white;--viz-border-fallback: #000;--viz-card-text-name: #1a1a1a;--viz-card-text-dates: #2a2a2a;--viz-card-text-place: #3a3a3a;--icon-menu-blue: #64b5f6;--icon-menu-green: #66bb6a;--icon-menu-red: #ef5350;--icon-menu-orange: #ff9800;--icon-menu-purple: #b794f6;--icon-menu-amber: #ffd43b;--viz-maternal-line: #c17a8e;--viz-paternal-line: #6b8fb5;--viz-neutral-fallback: #6b8199;--viz-placeholder-fill: #3a3a3a;--viz-placeholder-border: #555555;--viz-connection-line: #666666;--person-adult: #3498db;--person-child: #9b59b6;--person-deceased: #7f8c8d;--toast-bg: #2a2a2a;--toast-border-info: #4dabf7;--toast-border-success: #51cf66;--toast-border-error: #ff6b6b;--toast-border-warning: #ffd43b;--icon-dna: #ba68c8;--icon-people: #64b5f6;--icon-tree: #66bb6a;--icon-heart: #ef5350;--icon-upload: #64b5f6;--icon-merge: #ff9800;--icon-shield: #ffd43b;--icon-tag: #b794f6;--icon-map: #ef5350;--icon-branch: #26a69a;--icon-document: #607d8b;--icon-book: #64b5f6;--icon-search: #64b5f6;--icon-camera: #64b5f6;--icon-bug: #ef5350;--icon-filter: #64b5f6;--icon-command: #64b5f6;--icon-activity: #7e57c2;--icon-layers: #5c6bc0;--icon-menu-gray: #9e9e9e;--icon-menu-cyan: #26c6da;--icon-menu-teal: #26a69a;--icon-star: #fbbf24;--icon-living: #4caf50;--icon-neutral: #9e9e9e;--icon-note: #ffa726;--dna-segment-1: #3b82f6;--dna-segment-2: #10b981;--dna-segment-3: #f59e0b;--dna-segment-4: #ef4444;--dna-segment-5: #8b5cf6;--dna-segment-6: #ec4899;--dna-segment-7: #14b8a6;--dna-segment-8: #f97316;--source-gedmatch: var(--icon-people);--source-dnajustice: var(--icon-tree);--source-ftdna: var(--icon-menu-orange);--source-23andme: var(--icon-tag);--source-myheritage: var(--icon-branch);--source-custom: var(--icon-menu-gray);--data-imported-bg: rgba(100, 181, 246, .06);--data-imported-bg-active: rgba(100, 181, 246, .1);--data-computed-icon: var(--icon-activity);--data-user-icon: var(--icon-note);--bg-merge-selected: rgba(40, 167, 69, .3);--bg-merge-selected-hover: rgba(40, 167, 69, .4);--border-merge-selected: #66bb6a;--border-merge-selected-hover: #66bb6a;--bg-merge-different: rgba(255, 159, 90, .25);--bg-merge-different-hover: rgba(255, 159, 90, .35);--border-merge-different: #ffd43b;--duplicate-border: #ff9800;--duplicate-text: #ff9f5a;--bg-warning: rgba(255, 167, 38, .2);--bg-warning-button: #ffa726;--text-warning-button: #1a1a1a;--border-warning-button: #ff9800;--bg-warning-button-hover: #ff9800;--border-warning-button-hover: #f57c00;--shadow-warning-button: rgba(255, 152, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 2px rgba(77, 171, 247, .2);--bg-hover: rgba(100, 181, 246, .12);--bg-selected: rgba(100, 181, 246, .2);--opacity-disabled: .5;--opacity-hover: .9}*{transition:background-color var(--transition-slow),color var(--transition-slow),border-color var(--transition-slow)}.tree-svg *,button,button *,svg,svg *,input,textarea,select{transition:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}input[type=checkbox]:focus,input[type=date]:focus-visible{outline:2px solid var(--border-medium);outline-offset:2px}input[type=date]{accent-color:var(--border-medium)}input[type=date]::-webkit-datetime-edit-month-field:focus,input[type=date]::-webkit-datetime-edit-day-field:focus,input[type=date]::-webkit-datetime-edit-year-field:focus{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;outline:none!important}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:var(--bg-secondary);border-radius:4px}.form-container{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-row:has(.form-field:nth-child(2)){grid-template-columns:1fr 1fr}.form-row:has(.form-field:only-child){grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-base)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--border-input);border-radius:4px;font-size:var(--font-size-md);background-color:var(--bg-input);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input);box-shadow:none;transition:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-secondary)}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=checkbox]:focus{outline:2px solid var(--border-medium);outline-offset:2px}.form-group input[type=date]:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.form-field label{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-base);display:inline-block}.form-field .required{color:var(--text-error);display:inline;margin-left:2px}.form-field input[type=text],.form-field input[type=date],.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=url],.form-field textarea,.form-field select{width:100%;padding:8px 12px;border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;box-sizing:border-box}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid var(--border-medium);outline-offset:2px;border-color:var(--border-input);box-shadow:none;transition:none}.form-field input:disabled,.form-field textarea:disabled,.form-field select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-secondary)}.form-field textarea{resize:vertical;min-height:60px;width:100%;max-width:100%}.form-field select{cursor:pointer}.checkbox-field{display:flex;align-items:center;gap:var(--spacing-sm)}.checkbox-field label{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-weight:var(--font-weight-normal);margin:0}.checkbox-field input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--bg-button);margin:0;vertical-align:middle;flex-shrink:0}.checkbox-field input[type=checkbox]:focus{outline:2px solid var(--border-medium);outline-offset:2px}.checkbox-field label span{flex:1;line-height:1.2;align-self:center}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:var(--font-weight-normal)!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0 10px 0 0;flex-shrink:0}.checkbox-label span{font-size:var(--font-size-base);color:var(--text-primary)}.field-hint,.form-hint{display:block;font-size:var(--font-size-sm);color:var(--text-tertiary);font-style:italic;margin-top:var(--spacing-xs);font-weight:var(--font-weight-normal)}.form-input,.form-textarea,.form-select{padding:8px 12px;font-size:var(--font-size-base);border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--border-focus)}.form-textarea{resize:vertical;min-height:80px}
